“Naeel”
360e1ddf95
fix: ExpiryReaper orphan race min-age 2m + Ruby handler format (v1.3.96)
2026-05-20 07:37:04 +04:00
“Naeel”
97c11ff163
fix: nodejs wrapper передаёт require в new Function (v1.3.95)
2026-05-19 16:48:19 +04:00
“Naeel”
6bdd19bbbf
fix: nodejs entrypoint back to 'main' — node-env splits on '.' giving funcname='js'
2026-05-19 11:05:07 +04:00
“Naeel”
99ad3d2b19
fix: ExpiryReaper orphan race + nodejs ESM entrypoint (v1.3.93)
2026-05-19 10:30:28 +04:00
“Naeel”
099f57fd7d
fix(console): v1.3.92 — EnsureEnvironment обновляет образ если устарел
...
Вместо костыля (kubectl patch вручную) — системный фикс:
EnsureEnvironment теперь проверяет spec.runtime.image у существующего env
и обновляет его если отличается от LangEnvMap[lang].Image.
Это автоматически мигрирует все namespace-ы при следующем создании функции.
2026-05-13 10:55:47 +04:00
“Naeel”
ab1317db29
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”
00755e0d94
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”
2a109c0d13
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”
c5aec40ac1
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”
f95e1e9c2f
feat: v1.3.87 — Grafana Organizations per namespace (StatsProvider + public dashboards + UI button)
2026-05-10 18:47:21 +04:00
“Naeel”
423c44322d
feat: billing layer v1.3.86 — PostgreSQL statistics
...
- internal/billing: Store interface + pgStore (pgx/v5 pool) + NoopStore
- factory.go: NewStore() from BILLING_DSN env var (NoopStore fallback)
- Server.billing: injected into Config, initialized in main
- handleInvokeFunction: record invocation (TriggerConsole)
- invokeInternalFunction: record invocation (TriggerHTTP)
- handleCreateFunction: record event_type=create
- handleCloneFunction: record event_type=clone
- handleDeleteFunction: record event_type=delete
- table: invocations (namespace, function_name, trigger_type, duration_ms, status_code...)
- BILLING_DSN added to console.yaml
- pgx/v5 added to go.mod/go.sum
2026-05-10 08:26:42 +04:00
“Naeel”
086d9165aa
fix: clone — poll until function visible in list, up to 5 attempts (v1.3.85)
2026-05-09 20:53:17 +04:00
“Naeel”
a145b7eee6
feat: help + llm prompts — env vars and clone sections (v1.3.84)
2026-05-09 20:47:09 +04:00
“Naeel”
4048a6edd1
fix: clone — delay 800ms before reloadAll to avoid race with k8s list (v1.3.83)
2026-05-09 20:44:05 +04:00
“Naeel”
83949dc88a
fix: clone — apiFetch → requestJSON (v1.3.82)
2026-05-09 20:35:26 +04:00
“Naeel”
43a5041924
fix: clone — loadFunctions → reloadAll (v1.3.81)
2026-05-09 20:31:54 +04:00
“Naeel”
7cc7767418
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”
e4589762dc
fix: remove LLM topic restriction, bump v1.3.79
2026-05-09 08:58:13 +04:00
“Naeel”
efe19821eb
feat: patch Deployment env vars directly via k8s API (v1.3.78)
...
Fission newdeploy executor does NOT apply fn.Spec.PodSpec when building
Deployment spec - it only uses env.Spec.Runtime.Container and podSpecPatch.
Fix: after updating Function CRD, also directly patch the newdeploy
Deployment via Kubernetes API using StrategicMergePatch, searching by
labels functionName/functionNamespace/executorType=newdeploy.
This ensures env vars immediately appear in the container and survive
pod scaling events (scale to 0 / scale back to 1).
2026-05-09 08:38:59 +04:00
“Naeel”
f05b40c20a
fix: env vars через newdeploy+podspec — попадают в pod OS env для всех языков
2026-05-09 07:49:36 +04:00
“Naeel”
fa6f5694c2
fix: валидация имён env vars — только [A-Za-z_][A-Za-z0-9_]*
2026-05-09 07:22:35 +04:00
“Naeel”
d79bb4a0f5
fix: ошибка валидации env vars — выводить внутри модалки
2026-05-09 07:06:56 +04:00
“Naeel”
b8ba3f3d08
fix: валидация дублей ключей env vars + подсветка красным
2026-05-09 07:02:10 +04:00
“Naeel”
0b5657a6e8
fix: env vars хранятся в аннотации fission-console/env-vars (не в spec.runtime)
...
spec.runtime.container.env срезается CRD-схемой Fission.
Хранение перенесено в аннотацию fission-console/env-vars (JSON-массив).
Версия v1.3.73
2026-05-09 06:57:29 +04:00
“Naeel”
bf470a4408
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”
5976def36e
bump: версия v1.3.71 (исправлен статус Building)
2026-05-09 06:38:54 +04:00
“Naeel”
8dde74de8a
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”
43bb36bcbe
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”
69690d805a
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”
cad4e24491
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”
5c06f15b46
release: v1.3.66 — refactor deploy
2026-05-08 09:03:52 +04:00
“Naeel”
3c43e070d3
feat: полный user-friendly промпт для LLM-ассистента — UI, кнопки, таблица, cron, примеры (v1.3.65)
2026-05-07 21:33:02 +04:00
“Naeel”
f2e5e3eac9
fix: chat system prompt — user-friendly, без внутренней кухни (v1.3.64)
2026-05-07 21:26:36 +04:00
“Naeel”
190581d712
fix: logs — брать имя контейнера из pod.Spec.Containers[0] (v1.3.63)
2026-05-07 21:04:23 +04:00
“Naeel”
7e7c47022d
fix: logs — убрать хардкод user-container, взять первый контейнер пода (v1.3.62)
2026-05-07 20:58:23 +04:00
“Naeel”
1e00f93ade
feat: logs modal + ESC close + /functions/:name/logs endpoint (v1.3.61)
2026-05-07 20:51:02 +04:00
“Naeel”
6d24ff6f51
rules: запрет самодеятельных изменений рабочего кода — комментарии + правила
2026-05-07 20:39:24 +04:00
“Naeel”
03841bf304
v1.3.60: debug logging in extractPackageSourceCode, fix edit modal (no mode toggle)
2026-05-07 20:28:57 +04:00
“Naeel”
585d63e4c6
v1.3.59: restore edit modal mode toggle — code/archive buttons
2026-05-07 20:08:10 +04:00
“Naeel”
60232998f2
fix: правильный ingress /cron → metrics-collector, чистый console v1.3.58, запрет костылей
2026-05-07 12:06:27 +04:00
“Naeel”
30b0ef0133
v1.3.56: use naeel/fission-python-env:v1.0 for new Python environments
2026-05-04 11:06:33 +04:00
“Naeel”
5a8dddcd30
v1.3.55: validate zip magic bytes on upload (UI + backend)
2026-05-04 10:57:32 +04:00
“Naeel”
e5c78a59e5
v1.3.54: лintер проверяет соответствие языка файлам в архиве
...
Если выбран Node.js но в архиве .py — сразу ошибка.
Фронтенд передаёт выбранный язык (ca-lang / e-lang-hidden) в запрос лintера.
2026-05-04 09:28:21 +04:00
“Naeel”
afc4368d79
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”
05d3151ffb
v1.3.52: fix archive name display — remove package name fallback
2026-05-04 08:27:27 +04:00
“Naeel”
f8e2ec3f0e
v1.3.51: remove invoke_url from response, unlock entrypoint field in edit modal
2026-05-04 08:22:12 +04:00
“Naeel”
7cf2c82ce2
v1.3.50: fix archive fn — entrypoint update in edit, store/show archive filename
2026-05-04 08:14:19 +04:00
“Naeel”
62b25044fb
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”
113c8f0952
v1.3.48: remove internal invoke_url from invoke modal output
2026-05-04 06:59:25 +04:00
“Naeel”
cfab33a173
v1.3.47: fix InvokeStrategy in archive handler, modal error display, draggable modals
2026-05-04 06:54:18 +04:00