Tale v0.2.98
What's Changed
- fix(platform): keep search input bordered while autofill-suppressed by @larryro in #2325
- feat(skills): rework workflow skills, add sandbox skill guidance by @yannickmonney in #2326
- test(platform): full-coverage refresh of the manual test guides by @yannickmonney in #2333
- feat(platform,sandbox): default sandbox Claude Code to Fable 5 by @yannickmonney in #2324
- fix(platform): type-sound row clone in folder-listing test by @yannickmonney in #2365
- test(platform): record mode-B live findings in manual chat/workspace guides by @yannickmonney in #2367
- feat(platform): dedup + admin-scope audit-integrity alerts (backend) by @Israeltheminer in #2334
- feat(platform): add audit-integrity verify-now panel and deep link by @Israeltheminer in #2335
- docs(platform): add audit-log integrity runbook, fix stale claim by @Israeltheminer in #2336
- fix(platform): require STARTTLS for imap_smtp SMTP submission by @Israeltheminer in #2366
- docs: align install docs and READMEs with actual CLI behaviour by @yannickmonney in #2405
- fix(cli): fall back to the dev container in tale logs by @yannickmonney in #2403
- fix(shared): surface per-image pull milestones from compose by @yannickmonney in #2401
- fix(cli): fail installers on dead binary and unsupported arch by @yannickmonney in #2400
- fix(platform): survive special files in the config watcher by @yannickmonney in #2404
- fix(cli): keep dev readiness watch alive and trust local TLS by @yannickmonney in #2402
- ci(cli): bump Bun to 1.3.13 and verify macOS code signature by @yannickmonney in #2399
- fix(platform): say why the composer blocks a send with no provider key by @yannickmonney in #2406
- docs: add community files and point READMEs at hosted docs by @yannickmonney in #2407
- feat(cli): ship linux-arm64 and macos-x64 binaries, harden installers by @yannickmonney in #2408
- feat(cli): scaffold default/README.md and report active vs catalog by @yannickmonney in #2410
- fix(platform): polish search ring and automation template picker UX by @AdeolaAdekoya in #2411
- fix(platform): stop stranding turns on failed human-input gate calls by @larryro in #2398
- fix(platform,proxy): silence fresh-install version noise and phantom docs health checks by @yannickmonney in #2409
- fix(platform): remove dead code left by template picker rework by @larryro in #2412
- fix(platform): validate name length/format client-side in 4 forms by @Israeltheminer in #2332
- fix(platform): truncate long uploaded-by value in documents table by @Israeltheminer in #2330
- feat(platform): auto-seed a ready-to-log-in dev account on docker:dev boot by @larryro in #2413
- fix: Notifications — "Mark all as read" stays enabled while personal-stream mutation is in-flight (#2019) by @larryro in #2229
- test(platform): confirm dialog gates self-service passkey removal (#2081) by @larryro in #2306
- fix(platform): coerce governance feedback search params (#2034) by @larryro in #2215
- fix(convex): throw ConvexError codes from org/user lifecycle mutations (#2018) by @larryro in #2213
- fix(platform): surface approval rejection ConvexError codes in all approval cards (#2009) by @larryro in #2259
- fix: dialogs and command palette restore focus to trigger on close (#1988) by @larryro in #2233
- fix(platform): add apps catalog discovery, backToApp i18n key, and e2e coverage (#1979) by @larryro in #2250
- fix(platform): agents/apps low-severity correctness & UX gaps (#2087) by @larryro in #2302
- fix: gate task board/list write controls and add keyboard drag-reorder (#2069) by @larryro in #2248
- fix(platform): offset toasts below the top header band (#1986) by @larryro in #2307
- fix: settings & forms UX polish pass (#1966) by @larryro in #2261
- fix: adaptive-header a11y — single h1, breadcrumb nav, heading order (#1994) by @larryro in #2199
- fix(platform): localize governance save-failure toasts (#2062) by @larryro in #2260
- fix(convex): validate product translation language against locale whitelist (#2008) by @larryro in #2219
- fix: surface branding image upload errors via toast and ConvexError (#2059) by @larryro in #2241
- fix(convex): throw ConvexError codes from tasks queries by @Israeltheminer in #2331
- fix: validate non-empty product name server-side (#2072) by @larryro in #2167
- fix: rehydrate agent execution-timeout input from config on restore (#2065) by @larryro in #2174
- fix(platform): validate MCP server URLs as http(s) before save (#2032) by @larryro in #2191
- fix(platform): give side-nav rail links an accessible name by @Israeltheminer in #2329
- fix: move keyboard focus into main via skip-to-content link (#1995) by @larryro in #2198
- fix: conversations stale selection count + dark-mode blue chips (#2089) by @larryro in #2155
- fix: dark-mode destructive contrast, empty-table hover, notification dot by @AdeolaAdekoya in #2154
- fix(platform): degrade timed-out governance logs query to retry/skeleton (#1984) by @larryro in #2228
- fix(platform): structured secret errors, name validation, atomic basic write (#2058) by @larryro in #2224
- fix(platform): count in-flight uploads against chat attachment cap (#2026) by @larryro in #2186
- fix(platform): run total-size check before slot-overflow toast (#2029) by @larryro in #2187
- fix: confirm before overwriting an existing project secret (#1983) by @larryro in #2236
- fix(platform): use compressed image sizes in chat total-attachment-size check (#2031) by @larryro in #2188
- fix(platform): gate Secrets tab and surface structured secret errors (#2041) by @larryro in #2265
- fix: cap product string field lengths server-side (#2011) by @larryro in #2211
- fix(platform): throw ConvexError for customer and vendor duplicate-add (#1993) by @larryro in #2240
- fix: Settings low-severity gaps (custom-instructions parity, last-member refusal, Disconnect loading, dead ?section=apps, MCP name validation) (#2091) by @larryro in #2132
- fix(platform): stop false audit tamper alarm on pre-#1676 rows by @Israeltheminer in #2327
- fix(platform): repair red main — branding ConvexError test + orphan secret keys by @Israeltheminer in #2418
- fix(platform): make BulkSendDialog a real modal on ConfirmDialog by @Israeltheminer in #2328
- fix: export-chat "Deselect all" no-op and dead download-disabled state (#2080) by @larryro in #2140
- fix(platform): correct export-chat PDF button label in test by @yannickmonney in #2430
- fix: enforce org-membership check on file_metadata mutations (#2039) by @larryro in #2253
- fix(platform): unify form validation timing across all forms (#1943) by @larryro in #1970
- fix: gate MCP server actions and mutations on org membership and role (#2040) by @larryro in #2249
- fix(platform): defer chat upload success toast until indexing completes (#1457) by @larryro in #2225
- fix: seed enterprise sso form with defined defaults to avoid controlled warnings (#2095) by @larryro in #2120
- feat(platform): give toasts a concise title and description (#1944) by @larryro in #2123
- feat: one shared searchable, scrollable multi-select component (#1954) by @larryro in #2104
- fix: rename profile "Display name" to "Name" and auto-derive name from email (#1941) by @larryro in #2124
- fix(platform): require organization name (#1951) by @larryro in #2101
- fix(ui): add disabledReason tooltip explaining why a control is disabled (#1949) by @larryro in #2130
- feat(platform): track and alert on response-time SLAs (#1924) by @larryro in #1939
- fix: change-password in-form validation, reauth warning, global sign-out (#1945) by @larryro in #1969
- fix(platform): localize chat humanControl + canvas.error keys (#2356) by @yannickmonney in #2433
- fix(platform): label PII macAddress, jwt, nationalId patterns (#2351) by @yannickmonney in #2432
- refactor(platform): remove dead agent-webhook publish gate (#2359) by @yannickmonney in #2431
- fix(platform): surface agent webhook URL copy failures (#2353) by @yannickmonney in #2429
- fix(platform): name canvas file-action buttons for a11y (#2364) by @yannickmonney in #2434
- refactor(convex): extract email conversation resolution helpers by @Israeltheminer in #2437
- fix(convex): repair email conversation resolution type and lint errors by @Israeltheminer in #2446
- fix(platform): restore scrolling in the skills table by @Israeltheminer in #2436
- feat(platform): redesign catalog cards with roster states by @Israeltheminer in #2435
- feat(platform): agent-on-demand jobs replace org-chart delegation by @larryro in #2415
- fix(platform): stabilize external-agent chat threads by @larryro in #2417
- fix(platform): lengthen toast auto-dismiss to 5s for readability (#2361) by @yannickmonney in #2443
- fix(ui): render asChild button icon inside slotted child (#1976) by @yannickmonney in #2439
- fix(platform): hide picker-hidden models from agent add-model list (#2340) by @yannickmonney in #2440
- test(platform): add mock /v1/moderations gateway route (#2358) by @yannickmonney in #2441
- fix(platform): map token-source save field errors, drop raw ConvexError (#2350) by @yannickmonney in #2442
- fix(platform): widen agent webhooks tab to full content width (#2378) by @yannickmonney in #2444
- fix(platform): emit one model-fallback notice per retry (#2354) by @yannickmonney in #2445
- fix(platform): accept sub-cent model costs on edit (#2338) by @yannickmonney in #2447
- fix(platform): resolve token-source secretEnv before "configured" badge (#2319) by @yannickmonney in #2448
- fix(platform): consume Enter on empty mention picker (#2346) by @yannickmonney in #2449
- fix(platform): preload Inter to stop tab-nav FOUT (#2369) by @yannickmonney in #2450
- fix(platform): persist thinking duration for tokenless turns (#2372) by @yannickmonney in #2451
- fix(platform): reject folder-y agent names in create dialog (#2337) by @yannickmonney in #2452
- fix(platform): make crawler deregister best-effort on website delete (#2316) by @yannickmonney in #2453
- fix(platform): link automation executions to the canvas run view (#2347) by @yannickmonney in #2455
- fix(platform): record REST api-key last-used on auth (#2317) by @yannickmonney in #2456
- feat(ui): render LaTeX math in markdown (#2363) by @yannickmonney in #2457
- fix(platform): consolidate audit-log export into one dropdown (#2379) by @yannickmonney in #2458
- fix(platform): gate moderation enable on a configured endpoint (#2344) by @yannickmonney in #2459
- fix(platform): let task readers comment on the discussion thread (#2339) by @yannickmonney in #2460
- fix(platform): show generated images large with a reachable edit (#2362) by @yannickmonney in #2461
- fix(platform): show org-config capabilities in model popover (#2357) by @yannickmonney in #2462
- fix(platform): keep install wizard open from app details page (#2341) by @yannickmonney in #2463
- fix(platform): persist agent auth-mode flip in install wizard (#2342) by @yannickmonney in #2464
- fix(platform): compose doc title suffix from org name (#2373) by @yannickmonney in #2465
- fix(platform): gate agent-editor loader prefetch on auth (#1977) by @yannickmonney in #2466
- feat(platform): embed a ready-to-use key in daemon setup command (#2371) by @yannickmonney in #2468
- fix(platform): open one provider editor from row and menu (#2368) by @yannickmonney in #2469
- fix(platform): stop data notice flash during policy load (#2376) by @yannickmonney in #2470
- refactor(platform): remove unreachable validation i18n keys (#2360) by @yannickmonney in #2472
- test(docs): wire docs voice/pronoun guard on docs prose (#2438) by @yannickmonney in #2473
- feat(skills): validate SKILL.md frontmatter as strict YAML (#2391) by @yannickmonney in #2474
- fix(platform): address chat attachment/export/share gaps (#2086) by @yannickmonney in #2476
- fix(platform): a11y polish — aria-live, captions, touch targets (#1980) by @yannickmonney in #2477
- fix(platform): projects/docs/products low-severity gaps (#2088) by @yannickmonney in #2478
- fix(platform): notifications ordering, no dead rows, nav (#2377) by @yannickmonney in #2480
- fix(platform): block send on client when budget exceeded (#2345) by @yannickmonney in #2467
- fix(platform): link missing-key errors to provider settings (#2375) by @yannickmonney in #2475
- feat(platform): delete uploaded apps and badge them as private (#2355) by @yannickmonney in #2471
- fix(platform): address automations/websites low-severity gaps (#2090) by @yannickmonney in #2479
- feat(platform): add Cursor external agent runtime by @larryro in #2481
- fix(platform): display env vars/secrets and passkeys as compact headerless tables (#1950) by @larryro in #2114
- fix(platform): keep trailing dots visible between tool calls by @larryro in #2490
- feat(platform): require manual org pick for multi-org SSO sign-in by @larryro in #2489
Full Changelog: v0.2.97...v0.2.98