“Naeel”
6a8c3a27e2
fix(console): v1.3.91 — deps сохраняются в аннотации и восстанавливаются при edit
...
- handleCreateFunction: deps → аннотация fission-console/deps
- handleUpdateFunctionCode: deps → аннотация fission-console/deps (или удаление если пусто)
- GET /functions/:name: возвращает deps из аннотации
- openEdit: заполняет e-deps.value = fn.deps (вместо пустого поля)
2026-05-13 10:43:59 +04:00
“Naeel”
75532d8d8e
fix(console): v1.3.90 — deps textarea compact, linter внешние импорты, python env v1.1
...
- deps textarea: rows=3, resize:none, overflow-y:auto
- aiCheck (Python): после линтера проверяет внешние импорты
если deps поле пустое — предупреждение с именами модулей
- Python env: v1.0 → v1.1 (содержит boto3+requests+psycopg2-binary)
2026-05-13 10:37:14 +04:00
“Naeel”
10b2b4a8e0
feat(console): поле зависимостей для функций из кода (deps → zip)
...
- UI: textarea 'Зависимости' в формах создания и редактирования
- плейсхолдер меняется по языку (requirements.txt / package.json / Gemfile / composer.json)
- Python: если deps заполнен → zip(main.py + requirements.txt), иначе raw bytes
- PHP: если deps → zip(main.php + composer.json)
- Ruby: если deps → zip(handler.rb + Gemfile)
- Node.js: пока без изменений (сложная структура package.json)
- runtime: BuildPythonZip, BuildScriptZipWithDeps, buildZipTwo
- model: Deps string в CreateFunctionRequest и UpdateCodeRequest
- v1.3.89
2026-05-13 10:22:45 +04:00
“Naeel”
df16b40a9d
feat: weather-demo MQ pipeline + sqs-consumer v1.2 with JWT auto-refresh
...
- sqs-consumer: new Go binary v1.2 with tokenManager (auto-login /auth/login, 5min cache, retry on 401)
- console: add MQ/KW triggers UI (mqtriggers.go, kwtriggers.go, mq.js)
- console: update python-env image to v1.1 (boto3+psycopg2+requests)
- weather-demo: fix consumer/main.py (Flask Request.get_json instead of dict access)
- weather-demo: fix fetcher/main.py (boto3 SQS publish, 5 cities)
- weather-demo: update main.tf (python-env v1.1, deploy_type=literal)
- python-env: add psycopg2-binary to Dockerfile (v1.1)
- terraform provider: client auth fix
2026-05-12 11:19:30 +04:00
“Naeel”
c9f97e2f4c
feat: v1.3.87 — Grafana Organizations per namespace (StatsProvider + public dashboards + UI button)
2026-05-10 18:47:21 +04:00
“Naeel”
1ea0c5a9de
fix: clone — poll until function visible in list, up to 5 attempts (v1.3.85)
2026-05-09 20:53:17 +04:00
“Naeel”
47caff5c7e
fix: clone — delay 800ms before reloadAll to avoid race with k8s list (v1.3.83)
2026-05-09 20:44:05 +04:00
“Naeel”
26728aadbe
fix: clone — apiFetch → requestJSON (v1.3.82)
2026-05-09 20:35:26 +04:00
“Naeel”
0a4f64143c
fix: clone — loadFunctions → reloadAll (v1.3.81)
2026-05-09 20:31:54 +04:00
“Naeel”
d8b36631ee
feat: clone function — POST /functions/:name/clone (v1.3.80)
...
- Backend: function_clone.go — copies archive from storagesvc, creates
new Package/Function/HTTPTrigger preserving all settings (env vars,
timeout, entrypoint, executor type, podspec)
- Backend: route handlers.go — /functions/:name/clone POST
- Frontend: 'Клон' button in edit modal, inline name input form
- Frontend: JS toggleCloneArea/submitClone with validation
- Pre-fills clone name as '<original>-copy', validates format
2026-05-09 20:22:51 +04:00
“Naeel”
089994256c
fix: валидация имён env vars — только [A-Za-z_][A-Za-z0-9_]*
2026-05-09 07:22:35 +04:00
“Naeel”
ee97eebbff
fix: ошибка валидации env vars — выводить внутри модалки
2026-05-09 07:06:56 +04:00
“Naeel”
c8eaef0e1a
fix: валидация дублей ключей env vars + подсветка красным
2026-05-09 07:02:10 +04:00
“Naeel”
1fa92e069f
feat: переменные окружения функций (env vars в CRD)
...
- Backend: handleGetFunctionEnvVars / handlePutFunctionEnvVars в function_crud.go
- API: GET/PUT /functions/:name/envvars
- handleGetFunction теперь возвращает env_vars в ответе
- Frontend: блок env vars в edit modal (key=value + [×] + [+ Добавить])
- TF-функции показывают env vars в режиме read-only
- Документация: doc/descriptions/function-envvars-flow.md
- Версия v1.3.72
2026-05-09 06:50:52 +04:00
“Naeel”
f6f9382887
feat: функции со статусом (Ready/Cold/Building/Error)
...
- Backend: новый файл status.go с функцией определения статуса пода и Package buildStatus
- API: GET /functions теперь возвращает функции с полем status в аннотациях
- Frontend: добавлена колонка Status в таблицу функций с цветными кругами
- Легенда статусов выше таблицы
- Версия v1.3.70
2026-05-09 06:29:46 +04:00
“Naeel”
810980cfcd
fix: v1.3.69 — Info modal curl copy: use data-attr to fix broken onclick with quotes
2026-05-08 14:09:07 +04:00
“Naeel”
c9b5867373
feat: v1.3.68 — Info modal: copy buttons only on name/pkg/route, add curl copy field
2026-05-08 14:01:55 +04:00
“Naeel”
8f4659d2ef
feat: v1.3.67 — UI table refactor: remove Env/Pkg columns, add Type icon + Info modal
2026-05-08 09:19:01 +04:00
“Naeel”
9b0089e15a
feat: logs modal + ESC close + /functions/:name/logs endpoint (v1.3.61)
2026-05-07 20:51:02 +04:00
“Naeel”
a9bd2e93c7
rules: запрет самодеятельных изменений рабочего кода — комментарии + правила
2026-05-07 20:39:24 +04:00
“Naeel”
d09348b6b9
v1.3.55: validate zip magic bytes on upload (UI + backend)
2026-05-04 10:57:32 +04:00
“Naeel”
6ded699935
v1.3.54: лintер проверяет соответствие языка файлам в архиве
...
Если выбран Node.js но в архиве .py — сразу ошибка.
Фронтенд передаёт выбранный язык (ca-lang / e-lang-hidden) в запрос лintера.
2026-05-04 09:28:21 +04:00
“Naeel”
353cc0f5b1
v1.3.53: лintер проверяет entrypoint — файл и функция должны существовать в архиве
...
Entrypoint формат module.function: лintер ищет module.py в архиве
и проверяет что def function(...) определена внутри.
Если нет — сразу ошибка, не нужно ждать таймаута вызова.
Фронтенд передаёт entrypoint из поля e-entry / ca-entry.
2026-05-04 09:21:31 +04:00
“Naeel”
bb9f158bac
v1.3.52: fix archive name display — remove package name fallback
2026-05-04 08:27:27 +04:00
“Naeel”
2fdba29f79
v1.3.50: fix archive fn — entrypoint update in edit, store/show archive filename
2026-05-04 08:14:19 +04:00
“Naeel”
f97fd8a744
v1.3.49: edit modal — remove mode toggle, show archive name, timeout-only save; add PUT /functions/:name/timeout
2026-05-04 07:03:43 +04:00
“Naeel”
6ac22d5f55
v1.3.48: remove internal invoke_url from invoke modal output
2026-05-04 06:59:25 +04:00
“Naeel”
4f6b4b87be
v1.3.47: fix InvokeStrategy in archive handler, modal error display, draggable modals
2026-05-04 06:54:18 +04:00
“Naeel”
1cceb42f83
v1.3.46: separate create modals — code (cc-) and archive (ca-) as independent modules
2026-05-04 06:46:45 +04:00
“Naeel”
d342b649a8
fix: restore NSReconciler, archive upload create/edit, fix version label both places; v1.3.45
...
- tenant.go: restore StartNSReconciler (sync FISSION_RESOURCE_NAMESPACES every 30s)
- main.go: call nsm.StartNSReconciler on startup
- handlers.go: handleCreateFunctionFromArchive (multipart), handleUpdateFunctionArchive (PUT /archive)
source-type annotation, source_type in GET response
- functions.js: submitCreate/submitEdit archive mode, openEdit uses source_type
- index.html: version label updated in BOTH places (line 103 and 403) to v1.3.45
- console.yaml: image v1.3.45
- doc: archive-and-edit-modal-flow.md
2026-05-04 06:16:11 +04:00
“Naeel”
db3815d03d
feat: explain-archive LLM endpoint + UI button v1.3.40
2026-05-03 21:33:18 +04:00
“Naeel”
b7a8074c73
feat: lint-archive endpoint, UI result inline v1.3.38
2026-05-03 21:08:32 +04:00
“Naeel”
4ecaa508ea
ui: progressive table render + load timer, v1.3.34
2026-05-03 17:34:07 +04:00
“Naeel”
e9853a4bc0
ui: archive upload mode + lint stub, fix stress warmup output, add descriptions
2026-05-03 17:14:25 +04:00
“Naeel”
dbd35e11ff
feat(auth): demo-логин ≥6 симв, MultiAuthenticator, UUID v5, v1.3.26
2026-05-02 19:45:10 +04:00
“Naeel”
8a8a2e694d
fix(ui): email без синего фона; версия v1.3.21 в подвале Help
2026-05-02 17:41:54 +04:00
“Naeel”
ef1256ca73
refactor(ui): step11 - extract app.js (reloadAll + fn table render); fix: reloadAll was accidentally deleted in step10
2026-05-02 17:36:49 +04:00
“Naeel”
a034c38a38
refactor(ui): step10 - extract init.js (pollNSStatus, initLog, formatSeconds, explainDelay, startTimedStatus, renderInitStages и др.)
2026-05-02 17:33:43 +04:00
“Naeel”
1f1afa95e1
refactor(ui): step9 - extract ai.js (llmGeneratedWarning, addLLMWarning, aiCheck, aiGenerate, aiExplain, askAssistant, toggleAssistant, showGenPrompt)
2026-05-02 17:30:33 +04:00
“Naeel”
4960bf0ee2
refactor(ui): step8 - extract functions.js (parseMethods, parseTimeout, onLangChange, openCreate/Edit/Invoke CRUD, removeFn)
2026-05-02 17:27:20 +04:00
“Naeel”
bef4a545d9
refactor(ui): step7 - extract modals.js (openHelp, closeHelp, openInvoke, closeInvoke, submitInvoke)
2026-05-02 17:24:35 +04:00
“Naeel”
ff29177aef
refactor(ui): step6 - extract triggers.js (httpTriggerByFn, timeTriggerByFn, toggleScheduleFields, schedulePayload, syncScheduleForFunction)
2026-05-02 17:22:27 +04:00
“Naeel”
d61d68f09b
refactor(ui): step5 - extract auth.js (doLogin, doLogout, checkAuth, showLoginOverlay, jwtEmail, setUserAvatar)
2026-05-02 17:20:31 +04:00
“Naeel”
38a3c36768
refactor(ui): step4 - extract ui.js (setText, showStatus, clearStatus, h, formatTimestamp, timestampCell)
2026-05-02 17:18:25 +04:00
“Naeel”
3db402925a
refactor(ui): step3 - extract api.js (authHeaders, getJSON, requestJSON)
2026-05-02 17:16:32 +04:00
“Naeel”
85ffad3772
refactor(ui): step1+2 - extract CSS to styles.css, LANG_TEMPLATES to config.js
2026-05-02 17:14:01 +04:00