Replace pipeline modal dialogs with full detail pages
Rebuild all 6 market detail pages (Orders, Applications, Bookings, Agreements, Procurement, Service) from scratch using a shared PipelineRecordLayout component....
Adăugaţi specificaţii de design pentru reproiectare / reţea/creare pagină
Add proactive session extension to prevent timeout while user is active
The session monitor only extended the Redis session when TTL dropped to ≤5 minutes, and at that point silently auto-extended without showing the warning popup. ...
Redesign Apps & Features page with polished modern UI
Restyle the settings/account apps tab with stats banner, gradient icon containers, always-visible category filter pills, refined card hover states, animated vie...
Swap My Account and My Branch buttons and reduce NavTop gaps
Swapped positions of "My Account" and "My {branch title}" buttons in the top nav, and halved all container-level gaps for tighter spacing.
Move useUserInfo hook into OrgStep component to fix build error
getParentBranchTitleNonPlural was referenced in OrgStep but only destructured in the parent CreateNetworkPage component.
Add abstract title labels and dynamic parent branch titles
Add memberTitleAbstract and teamMemberTitleAbstract label fields with sync support. Replace hardcoded "Company" references with dynamic parentBranchTitleNonPlur...
Split ageReqType into member and team member fields
Update Organization type, PublicProvider, route schema, and BranchSetupManager with separate member/team member age requirement sections.
Rename Employee to TeamMember and wire up dynamic label overrides
Rename all Employee/Employment references to TeamMember/TeamMembership. Replace hardcoded Member/Team Member display text with dynamic label getters from useUse...
Add Child Organization Security Models mock UI to Branch Setup tab
Adds a datagrid with inline edit/add panel for managing child org security models, including org visibility toggles, age range selection, identity provider and ...
Resolve session timeout maintenance system not running
Root cause: sessionMonitor.start() called stop() after setting this.config, which nullified the config before the 3-second startup timer fired. As a result, the...
Add branch setup implementation plan
12-task sequential plan covering kamo-shared-library, SecurityService, and kamo-internal changes end-to-end.
Add branch setup design spec
Covers the full feature from kamo-shared-library schema changes through SecurityService session/endpoint changes to kamo-internal UI and API proxy.
Eliminate OTK Redis overhead and proxy log noise for message fetches
- Bypass OTK generation in the MediaService proxy route: forward the *** cookie directly instead of generating a one-time key, removing 4 Redis round-trips ...
Improve chat message loading performance
- Cache getCurrentMemberId() result in a ref to avoid repeated /api/user-info calls on every WebSocket message and typing indicator - Parallelize message hist...
Resolve horizontal overlap, follower blind spot, and timing bugs
- flyToHomeRow: compute per-follower actual dx extents to derive rightBuffer/leftBuffer independently, placing anchor correctly to prevent ring followers from...
Bake Size slider zoom into saved SVG via viewBox crop
Avatar Creator's internal scale transform zooms the avatar body within the SVG canvas, but the effect is imperceptible at small display sizes (e.g. a 140x140 Av...
Eliminați redundant CSS scala transforma din previzualizare avatar
Opțiunea de scară Avatar Creator aplică deja scala (N/100) ca grup SVG transforma pe corpul avatar. Rezervorul de previzualizare se aplica si el Transforma CSS:...
Implementează rezoluția de coliziune după dock
Înlocuiește hexheads no-op: makeRoom ascultator cu un handler real care ruleaza responsiuni dupa noua fereastra de instrumente DOM rect E stabil. Repară scurger...
Rezolvarea coliziunilor după picături și roiuri care nu au fost lansate
Picături non-snap rulați acum rezolvaCollisii înainte de a salva poziții, prevenirea stivuirii în colţul din dreapta jos. Swarm picături, de asemenea, Rulați re...
Lăţimile de sloturi conţinute de grup în flyToHomeRow
Grupuri rezervă acum sloturi orizontale proporţionale cu adeptul lor amplitudinea inelului (folosind formula axială plat-top corectă), grupul de prevenire Adepţ...
Adăugaţi soluţieColllisions useCallback
Detectează încălcări spațiale cap-la-cap și cap-la-jos și se mută capete ofensatoare la cea mai apropiată poziție curată prin Search spirală. Trebuie să fie num...
Adaugă ajutor constant și spiralat MIN GAP
Adaugă decalajul minim 5px constant invariant și o căutare spirală funcție care găsește cea mai apropiată poziție pixel fără coliziune pentru un hexhead, verifi...
Adaugă planul de implementare pentru coliziunea cu capul de hex
5-task plan de acoperire: spiralăCaută ajutor, rezolva Utilizarea ColiziiCallback, grup-conștient FlyToHomeRow, onUp cablare non-snap/caldă, și makeRoom/ Înfăşu...
Eliminați z-indexul de sortare DOM pentru a preveni scăderea evenimentelor click pe focus
Sortarea ferestrelor de zIndex în ToolDock a cauzat reordonarea nodului DOM pe fiecare eveniment focus (șoarece jos). Navigatorii picătură evenimentul clic atun...
Adăugați hexhead coliziune fix design spec
Spec acoperă trei hexhead UX bug-uri: orizontală bottom-row vertex suprapunere, jos-dreapta stivuire atunci când picătură fără fixare, și hexheads se încheie în...
Bake background color/gradient into saved Avatar Creator avatar SVG
Avatar Creator generates transparent-background SVGs by default. The background was only applied as a CSS wrapper on the preview container, so the stored MinIO ...
Dispatch member-panel-toggle via useEffect to avoid stale Framer Motion closure
onAnimationStart/Complete hold the last rendered props, so the exit animation always saw isOpen=true and windows never relayed to the right on close. Using a us...
Correct member-panel-toggle event property so tool windows respect panel offset
The event was dispatching `{ isOpen }` but ToolWindowsContext read `detail.open`, causing memberPanelOpenRef to always be falsy and the 500px panel offset to ne...
Eliminate hexhead spawn overlap by computing unique column positions
Each head now initialises its MotionValue at its own home-row column X and below the viewport (h + SIZE), then springs up to its final slot. Previously all head...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
