Edvance

Релизы

История релизов и изменений платформы Edvance.

Фронтенд

Features

  • add local /dev-login proxy for Edna QA on tenant hosts
  • add per-conversation inbox mute UI for DM and group threads
  • edna chips max 3 with role i18n rotation
  • EDV-488 Edna tours (teacher/student/admin) + assistant panel
  • expand admin tour, gate Edna on LLM, and polish product UX
  • guard AI tutor sessions against accidental navigation
  • **inbox:** make Edna a pinned first row in the Messages list, not a boxed stage
  • load Edna suggestion chips and student helpdesk paths
  • load Edna suggestion chips and student helpdesk paths
  • mailbox profile links, bilateral delete, flow date guards
  • mailbox profile links, bilateral delete, flow date guards
  • polish Edna tours voice, layout, and chat stage
  • Release 0.8.0
  • show Edna confirm progress pills and rotating busy status
  • superadmin ZIP export buttons for school, course, lesson
  • superadmin ZIP export UI (EDV-550)
  • **tour:** add a courses section, with voice (B8)
  • **tour:** add a real create-a-note beat to the student tour (S4)
  • **tour:** add interactivity to student self-study steps (S1, partial)
  • **tour:** add real calendar-view toggle to student schedule step (S3)
  • **tour:** admin tour round-3 audit fixes F1, F5-F8
  • **tour:** confirm Edna's chat really opens on student mail step (S5)
  • **tour:** explain the sidebar quick-note button before navigating to Notes (B6)
  • **tour:** F10 — requiresLlm gate matches useEdnaAvailable's finer check
  • **tour:** F3 — real guided add-holiday flow
  • **tour:** gate student keyboard step on the panel really opening (S6)
  • **tour:** make files-page search/filter interactive, with voice (B7)
  • **tour:** make school branding/landing tiles real click-throughs (B3)
  • **tour:** make student teachers-page and groups-page steps interactive (S2)
  • **tour:** rebuild mail step around its three real entry points, with voice (B5)
  • **tour:** render markdown in Edna chat bubbles
  • **tour:** role-aware prompts, template chips, dedupe confirm UI, history persistence
  • **tour:** schedule bulk/workload/holidays 2-step sequences + voice pass (B4, B0/B3)
  • **tour:** surface group creation, with voice (B9)
  • **tour:** voice/personality lift on the flattest student-tour steps (all 7 locales)

Bug Fixes

  • admin guided tour passable end-to-end with Edna polish
  • align Combobox re-select test with sticky selection
  • allow 5-minute proxy duration for edna api turns
  • allow local prod-like pnpm start to use /dev-login
  • apply prettier formatting for CI
  • bill self-study video-avatar sessions
  • clear eslint warnings on audio and tour audit script
  • clear frontend lint failures on edna branch
  • clear tsc errors in coverage tests and AiVideoChat timer
  • complete assistant config mocks in TourProvider tests
  • cover Edna suggestion chips branches for CI gate
  • cover tour fixture helpers and Edna avatar mock in messages tests
  • Edna tour layout, demo-row pin, and combobox stacking
  • Edna tour polish, proposals tray, locale Go chips
  • Edna tour/messages/floating surface toggles
  • export chat helpers for coverage tests and stabilize cancel confirm
  • format mute conversation UI for prettier
  • format school features page for prettier
  • harden admin tour interactions and demo-user settings flow
  • hide tour fixtures outside tour and clean Edna chat CTAs
  • **i18n:** apply B1/B2's admin-tour copy fix to all locales, not just ru.json
  • isolate session teardown resets from global vitest setup
  • keep Edna Go and navigate clarify chips on UI locale
  • keep landing settings dialog open for Edna look step
  • keep schedule bulk-cancel button visible during Edna tour
  • keep tour dim when dialogs open and stabilize storage tests
  • merge proposals tray across turns instead of hard-replacing it
  • mock Edna availability in Sidebar unit tests
  • move Edna settings into Features with three surface toggles
  • name VideoCall test stubs and warm leftover teacher copy
  • pass event_id from edna clarify chips into turn context
  • pin clock on auto-send prompt chip test
  • prettier TourOverlay and cover demo-row tour branches
  • raise edna turn/confirm axios timeout to 5 minutes
  • raise tour overlay branch coverage and stop dual vitest
  • repair tour CI type errors in tests
  • repair tour unit tests after avatar and tab advance changes
  • reset session teardown flag between vitest cases
  • resolve CI type errors in tour coverage tests
  • resolve frontend lint failures on edna branch
  • restore lesson editor mock args and stabilize edna history scroll test
  • restore tour scroll and manual bulk lesson selection
  • revert audio eslint cleanup to keep diff-coverage green
  • scroll sidebar + page for profile/support tour chips
  • scrub PascalCase exercise type ids in Edna chat copy
  • scrub uuid placeholders and exercise ids in Edna copy
  • show error when AI exercise generation returns no blocks
  • snap group notifications into view on admin tour
  • spotlight Alex row on admin students tour step
  • spotlight group unlock/schedule tour steps
  • spotlight virtual keyboard panel on admin tour look step
  • stabilize edna history pagination scroll listener
  • stop admin schedule poll in inbox
  • stop polling /api/schedule/my for admin sessions
  • teacher drag spotlight, keep student feedback closed until click
  • tour tab advance tests and diff coverage gate
  • **tour:** guard entity chips with a missing href, extend chat-panel test coverage
  • **tour:** let clicks through Radix portal content over the tour overlay (A1)
  • **tour:** make AssistantChatPanel's autoFocus actually fire
  • **tour:** narrow row clicks to navigate-only, strip super-admin steps (A2, B2)
  • **tour:** revise Edna copy for first-time framing and natural phrasing
  • **tour:** S7 — drop orphaned tour.student.settingsPage copy key
  • **tour:** S8 — correct Serbian noun-gender agreement on "ćaskanje"
  • **tour:** stop card/target overlap and add horizontal auto-scroll
  • **tour:** stop student schedule-views step from yanking off the page; role-aware Edna preview
  • **tour:** waitFor:click steps now navigate when the query string differs (A3)
  • type-check tour overlay coverage test helpers
  • type-safe download mock in export API tests
  • unblock release CI typecheck on billing and Edna tests
  • unblock schedule tour dialogs and localize Edna Go labels
  • use TourSafe in AdminTab so unit tests can mount

Бэкенд

Features

  • add per-conversation inbox mute for DM and group threads
  • AI-generated course/lesson content via create_lesson_with_content and create_course_with_lessons
  • **assistant:** add GET /sessions/{id}/messages history endpoint
  • **assistant:** i18n Edna's tool-result/clarify UI copy, fix proposal voice
  • close Edna agent working-product gaps
  • close Edna agent working-product gaps
  • edna chips max 3, locale voice, student mutate refuse
  • Edna content critique loop with progress on confirm
  • edna human exercise labels, group members, create/delete tools
  • EDV-488 guided tours demo + Internal Assistant API
  • **EDV-528:** real LLM condensation for Edna's memory summary
  • harden Edna tools, billing attribution, and history pagination
  • mailbox profile links, bilateral delete, flow date guards
  • mailbox profile links, bilateral delete, flow date guards
  • move tenant purge and rag queries to sqlc
  • move tenant purge and rag queries to sqlc
  • Release 0.8.0
  • seed two demo schedule events for admin bulk tour
  • superadmin course/lesson ZIP export (EDV-550)
  • superadmin course/lesson ZIP export with round-trip import

Bug Fixes

  • add Edna tour/messages/floating surface toggles
  • add missing set_display_preference tool label (en/ru)
  • add ru labels for create_group and delete course/lesson
  • assert await_args before reading progress_data kwargs
  • **assistant:** scope NL group/flow lookups to the requesting teacher
  • **assistant:** stop double-rendering proposals as both a plan and a card
  • **assistant:** use real DB role, not ACL-elevated role, when hydrating tool actors
  • attribute Edna proposals to the user's ask
  • bill self-study AI usage against the correct quota owner
  • bulk-cancel by event id and unblock tour demo seeds
  • cast preferred_language before TRIM in platform updates
  • clear release-branch pylint black mypy pyright for CI
  • defer course/lesson AI generation until confirm
  • disambiguate colliding flow matches by owning teacher, not id suffix
  • drop remaining EN/RU-only Edna chat chrome
  • drop unused BLE001 noqa on re-raised exception
  • drop unused BLE001 noqa on re-raising minio wipe
  • Edna course/lesson delete reliability
  • edna emotion in assistant turns and tour demo ids
  • edna emotion lint for release CI
  • edna schedule conflict SQL and ownership deny path
  • Edna tour/messages/floating surface toggles
  • **EDV-488:** exclude tour-demo courses from admin dashboard + course list
  • **EDV-488:** exclude tour-demo courses from admin's "all courses" list
  • **EDV-488:** exclude tour-demo courses/flows from admin dashboard stats
  • **EDV-488:** keep the actor's own demo course in the admin course list
  • **EDV-528:** catch _maybe_summarize's own DB errors, not just the LLM call
  • **EDV-528:** chain prior summary + fix trigger freeze past max_history
  • **EDV-528:** don't assume every_n <= max_history_messages
  • **EDV-528:** fix Edna's memory window/summarization + make it real
  • **EDV-528:** log a usable error on condensation timeout
  • **EDV-528:** stop blocking the user's turn response on summarization
  • **EDV-528:** summarize the dropped history tail, not the visible one
  • **EDV-549:** don't guess word order for sentence_order/order_sentence
  • **EDV-550:** cap tenant-wide export instead of risking an OOM/hang
  • **EDV-550:** cap tenant-wide export instead of risking an OOM/hang
  • **EDV-550:** exclude tour-demo courses from tenant-wide export
  • **EDV-550:** exclude tour-demo courses from tenant-wide export
  • find_free_slots honors each availability window's own timezone
  • give Edna characterful voice and understood-need propose copy
  • harden Edna propose/confirm for QA standards
  • harden Edna turn quality (attribution, progress claims, name search) and fix Mistral pricing parser
  • import fidelity for choose_answer, order_sentence, categorize
  • import fidelity for choose_answer, order_sentence, categorize
  • import scrub_misattributed_proposal at module top
  • invent starter lesson topics instead of Урок N
  • isolate student tour author and silence Edna lookup noise
  • localize Edna chat and harden turn quality
  • localize Edna chat chrome for all product locales
  • localize Edna group clarify and stop chip re-ask loops
  • localize remaining Edna display titles for all locales
  • migrate column encryption script to sqlc
  • mock agent_runtime get_tool in delete recovery test
  • mock cross-tenant teacher lookup in tour demo flow test
  • mock sqlc :many errors as async iterators
  • noqa remaining BLE001 in flow teacher assignment
  • normalize negative quota limits to canonical unlimited sentinel
  • ownership deny when resolving foreign schedule groups
  • parse broadcast group name from message body quotes
  • pin CI ruff version + real 500 regression from assistant_nickname field
  • pylint (line-too-long, reimported) flagged by CI on PR [#99](https://github.com/WetwareLogic/edvance-back/issues/99)
  • raise Edna assistant diff-cover for CI gate
  • refuse student mutate leaks and localize navigate labels
  • reject empty AI exercise blocks and retry once
  • resolve broadcast group/course targets with clarify chips
  • resolve inbox mute type errors for linters
  • resolve ruff G201/BLE001/SIM103 in touched flow and inbox files
  • resolve ruff SIM117 and BLE001 on sqlc purge paths
  • satisfy mypy/pyright on Edna tool await_args asserts
  • silence CI pylint/mypy on assistant course tool tests
  • silence pylint convention/refactor noise for Edna CI
  • soften Edna voice — drop forced slang, anti-quote examples
  • split edna clarify option builder to satisfy pylint
  • stop voice double-billing and thread dictionary quota owner
  • tune Edna voice and repair CI lint/tests
  • unique google_id and theme defaults on edna create user
  • update assistant tests for label and humanized titles
  • update stale generation-graph smoke test fixture to new block schema
  • update tour demo mocks for bulk schedule seed
  • use locale exercise labels in chat scrub path

Documentation

  • **EDV-550:** document EXPORT_TENANT_MAX_COURSES in .env.template