Commit Graph
976 Commits
Author SHA1 Message Date
xilesun 04d51dddf3 chore: leave the Studio half to nocobase/studio#89 2026-10-16 12:35:20 +08:00
YANG QIA 164abe70e5 chore: move NocoBase Studio back to its private repository (#10936)
* chore: move NocoBase Studio back to its private repository

Remove packages/apps/studio and packages/tools/studio-cli, which are now
maintained in nocobase/studio, together with everything in the monorepo
that only existed for them: the fixed changeset group and their pending
and prerelease changeset entries, the Studio release image workflow and
its call from the beta release, the Studio test shards of the release
workflows, the Studio OpenAPI and database-matrix targets, and the
script tests covering the image and the CLI brand.

* docs(app-installer): describe --app with a generic published application

Replace the NocoBase Studio examples in the installer's help, flag
description, usage error and README, and in the deployment Skill, with
a generic scoped package, and use a neutral fixture name in its tests.

* chore: rerun checks on the updated CI
2026-10-16 09:40:01 +08:00
nocobase-studio[bot]and吴昊 e8f52c9d98 fix(agents): keep long dialog content and actions within the viewport (#10928)
* fix(agents): keep long dialog content and actions within the viewport

* test(studio): isolate dialog and owner handoff browser state

---------

Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-16 00:44:21 +00:00
YANG QIA e7ba6071a5 docs(app-skills): add performance guidance to app development skill (#10937)
Cover frequently called endpoints, read-only transactions, list response size, client refresh, bounded concurrency, background work, leases and realistic measurement.
2026-10-16 07:44:57 +08:00
YANG QIA bc1facd3f6 perf(projects): read the issue board in fixed queries and keep it live in studio (#10932)
* perf(projects): read the issue board in a fixed number of queries

Read each column's ids in its order, then every column's rows at once; let the issue list take issueIds; and keep the
board and the trash on Studio's pages current through the app-wide refresh, reading only the rows a change names.

* docs(studio): regenerate the CLI reference for issueIds

* chore(ci): rerun checks
2026-10-16 06:22:55 +08:00
YANG QIA 0ab46b20e0 feat(studio): adopt the default template's theme (#10926)
* feat(studio): adopt the default template's theme

Bring Studio's presets, global styles, brand loading and navigation selection to the default template's current theme, keeping Studio's inbox-pending colour, sign-in page and navigation.

* fix(studio): keep badges in controls and dense rows small

Studio's badges take the template's small size, and any badge inside a select, combobox, menu, command item or table cell does too, so the global badge size no longer fills controls.

* test(studio): fit two e2e checks to the template's spacing

The issue page measures its layout's fractional width, and the description edit clicks the editor's text rather than its centre, where an image now sits.

* test(studio): let the rename toast close before the label's row action

The theme's taller rows can put the renamed label under the bottom-right toast, which a resting pointer keeps open.
2026-10-16 01:10:33 +08:00
YANG QIA 99318c0510 fix(studio): stop the split view loop on follow and stale loading children (#10931)
Leave the lists' follow state to the read after the change so a followed task's placement settles, refetch children
that failed against an older generation, and regenerate the CLI reference.
2026-10-16 00:33:27 +08:00
YANG QIA 6061d3bc7a fix(studio): settle a pull request merge only once (#10934)
* fix(studio): settle a pull request merge only once

Finishing an issue withdrew open merge cards and re-resolved merged ones that were already settled when the merge was stored.

* docs(studio): regenerate the CLI reference for the board wait command
2026-10-16 00:33:21 +08:00
YANG QIA c28f719540 fix(studio): cut request amplification and per-row queries on the task pages (#10929)
* perf(projects): read the issue hierarchy in a fixed number of queries

Tell which issues wait in two queries, match exact filters in memory, hydrate rows with the caller's readable ids,
announce project, parent and executor changes as list moves, and refresh projects only for announcements naming no
issues.

* perf(studio): assemble task groups once per request

Read the hierarchy, waits and follows once and hydrate every row in one read outside a transaction, cache the summary
per viewer for five seconds, read the children of several parents and single rows in one request each, and count
unread follow-ups with one grouped query.

* perf(studio): refresh the task lists once per burst for the whole app

One subscription gathers announcements for 1.5 seconds, reads only the named rows unless the lists' membership moved,
never cancels a read under way and reads nothing while hidden. Task group keys leave the projects plugin's prefix, the
summary and what the viewer follows refresh only for changes that can move them, and the table reads expanded
children in one request.

* perf(studio): stop rereading the issue pane on every revision

Progress, pull requests, marks and the comment-run limit are keyed by the issue alone and refreshed by their
announcements, and the issue page polls its runs quickly only after the viewer commented, handed the issue to an agent
or asked for work.

* perf(agents): list the agent queue in a fixed number of queries

Queued rows carry the claim rules' quick explanation and the exact reason is read when a row is unfolded, the newest
activity of held runs takes two reads, and the queue and issue work marks refresh from coalesced announcements with a
slower fallback poll.
2026-10-15 23:09:32 +08:00
YANG QIA e7e48db212 fix(studio): preserve confirmed pull request merges (#10910)
* fix(studio): preserve and reconfirm pull request merges

* fix(studio): limit merge protection to confirmed merges

* fix(studio): retain merged pull request closure time
2026-10-15 22:58:40 +08:00
YANG QIA f2fa59bd81 fix(agents): revoke replaced runner registrations (#10649)
* fix(agents): revoke replaced runner registrations

* docs(studio): regenerate runtime command reference

* test(studio): sync runner token list manifest snapshot

* refactor(agents): remove runner registration lock
2026-10-15 22:57:30 +08:00
e94b4707e0 fix(studio): let intake agents read images and restore requirements (#10924)
* fix(studio): prevent silent intake attachment loss

* fix(studio): hand intake images to chat and retain editable input

* test(studio): include intake image IDs in CLI manifest snapshot

* test(studio): isolate intake image account preferences

* docs(studio): remove intake image guide

---------

Co-authored-by: 邓力嘉 <denglijia@nocobase.com>
Co-authored-by: gchust <5254737+gchust@users.noreply.github.com>
2026-10-15 10:14:25 -04:00
nocobase-studio[bot]and吴昊 1cdbaf4b24 fix(studio): confirm navigation away from unsaved role edits (#10864)
* fix(studio): confirm navigation away from unsaved role edits

* Update packages/apps/studio/docs/e2e.md and 3 other files

Save work in progress when the run is interrupted or ends.

* fix(studio): isolate role navigation tests and await proposal acceptance

* fix(studio): disable isolated test accounts before database teardown

* test(studio): provide navigation guard for role duplication

---------

Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-15 14:12:24 +00:00
ZhouandZhou f963c9b225 feat(studio): unify task lists and embedded run dialogs (#10920)
* feat(studio): unify task lists and embedded run dialogs

* style(studio): format task interaction regression

* test(studio): verify embedded retry targets and return focus

* docs(projects): describe merged task navigation

* style(studio): format task group query declaration

* fix(studio): include runs in embedded task activity

* test(studio): sync merged task filter command snapshots

* fix(studio): retain selected tasks outside grouped pages

---------

Co-authored-by: Zhou <1267426+zhouyanliang@users.noreply.github.com>
2026-10-15 09:35:42 -04:00
YANG QIA b2b4cbb2aa chore: merge v3-develop into agent/PM-67 2026-10-15 21:31:06 +08:00
nocobase-studio[bot]and吴昊 a60282c5e0 fix(studio): synchronize saved role editor state (#10859)
* fix(studio): synchronize saved role editor state

* fix(studio): preserve pending role edits during refresh

* test(studio): execute reconnect events in browser context

* test(studio): isolate role save language preferences

---------

Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-15 12:54:30 +00:00
gchustandgchust d8f8edb6ef fix(studio): settle obsolete decisions on finished issues (#10919)
* fix(studio): settle obsolete decisions on finished issues

* fix(studio): renew merge decisions when pull requests are relinked

* test(studio): prepare terminal inbox flows through the project manager

* test(studio): isolate terminal inbox flows in a dedicated worker

* test(studio): verify terminal cleanup in the pending inbox view

---------

Co-authored-by: gchust <5254737+gchust@users.noreply.github.com>
2026-10-15 08:30:56 -04:00
YANG QIA 40472f7f41 chore: merge v3-develop into agent/PM-67 2026-10-15 08:05:50 -04:00
ZhouandZhou 55fcee102d feat(studio): use CLI and shared skill in agent sessions (#10925)
* feat(studio): use CLI and shared skill in agent sessions

* test(studio): use supported response assertions

---------

Co-authored-by: Zhou <1267426+zhouyanliang@users.noreply.github.com>
2026-10-15 07:56:53 -04:00
ZhouandZhou c4659bd785 fix(studio): share CLI setup across agent entry points (#10923)
* fix(studio): share CLI setup across agent entry points

* fix(agent-sessions): show reconnect steps when all computers are offline

---------

Co-authored-by: Zhou <1267426+zhouyanliang@users.noreply.github.com>
2026-10-15 07:54:51 -04:00
ZhouandZhou 02ba348304 fix(agent-sessions): keep translated controls readable on narrow screens (#10922)
* fix(agent-sessions): keep translated controls readable on narrow screens

* fix(agent-sessions): preserve short agent names in session metadata

---------

Co-authored-by: Zhou <1267426+zhouyanliang@users.noreply.github.com>
2026-10-15 07:27:53 -04:00
Katherine 571347fc4b fix(app-template-default): respect compact login control sizing (#10916)
* fix(app-template-default): respect compact login control sizing

* fix(app-template-default): refine login form density
2026-10-15 06:19:20 -04:00
nocobase-studio[bot]and吴昊 9656875434 fix(studio): keep duplicated role names within the title limit (#10860)
* fix(studio): bound duplicated role titles

* fix(agent-runner): preserve piped env values

* test(agent-runner): catch piped env input loss

* test(agent-runner): name stdin gate by reader

* test(create-app): isolate missing-template registry failure

---------

Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-15 09:52:46 +00:00
ZhouandZhou 00c59703a2 fix(agent-sessions): reduce loading waits and make explicit retries safe (#10918)
Co-authored-by: Zhou <1267426+zhouyanliang@users.noreply.github.com>
2026-10-15 05:31:56 -04:00
gchustandgchust 2972218390 fix(projects): keep intake layout and confirmation actions visible (#10913)
* fix(projects): keep intake controls aligned and confirmation actions visible

* test(studio): type the intake scroll evaluation

* test(studio): isolate intake viewport checks

---------

Co-authored-by: gchust <5254737+gchust@users.noreply.github.com>
2026-10-15 05:12:05 -04:00
YANG QIA 8b9fff1b35 perf(agents): make routine run status polls read-only (#10912)
* perf(agents): make routine run status polls read-only

* test(agents): classify status poll metadata reads

* test(agents): keep SQL recorder database-portable
2026-10-15 16:42:12 +08:00
PiEgg cb83d7a144 fix(templates): compose RouteDialog and RouteDrawer from the dialog primitives (#10914)
Route overlays hand-rolled their header, body and footer, so a route dialog had a rule under its header, a taller footer and a different close-button position from the application's other dialogs. They now compose DialogHeader, DialogTitle, DialogDescription and DialogFooter inside DialogContent's padding, and the theme's dialog close-button rule covers them.
2026-10-15 16:18:10 +08:00
nocobase-studio[bot]and吴昊 4576586cc8 fix(studio): recover from knowledge search settings read failures (#10891)
* fix(studio): recover from knowledge search settings read failures

* test(studio): verify unsaved settings survive failed refreshes

---------

Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-15 08:09:34 +00:00
chenos 0037dd2fff fix(db): use conditional optimistic updates for unique rows (#10885)
* fix(db): use conditional optimistic updates for unique rows

* fix(db): validate conditional update identity constraints

* fix(db): reject unsafe optimistic update identities

* fix(db): preserve optimistic update identity and current diagnostics

* fix(db): preserve cardinality checks for inherited tables

* fix(oracle): preserve usable partitioned unique identities

* fix(db): roll back failed writes and guard session-dependent identities

* fix(db): match constraints to their backing indexes

* fix(db): preserve every shared backing-index constraint

* ci: rerun validation with updated commercial drivers
2026-10-15 15:58:51 +08:00
gchustandgchust ab5c0fca39 fix(projects): support pasted images in issue descriptions (#10896)
* fix(projects): support pasted images in issue descriptions

* test(studio): correct issue image acceptance setup

* test(studio): enable manager workspace in image fixture

---------

Co-authored-by: gchust <5254737+gchust@users.noreply.github.com>
2026-10-15 03:28:57 -04:00
nocobase-studio[bot]and吴昊 e4ddbee1fb fix(studio): serialize knowledge search settings saves (#10894)
Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-15 05:41:18 +00:00
nocobase-studio[bot]and吴昊 93bd1bf2d7 fix(studio): show errors when git connection reads fail (#10893)
Co-authored-by: 吴昊 <yy_wuhao@163.com>
2026-10-15 05:39:37 +00:00
YANG QIA 9614664bcc fix(studio): clear comment link parameter from the address once located (#10901)
* fix(studio): clear comment link parameter from the address once located

Drop `?comment=<id>` from an issue page's address by replacing the
current history entry once the linked comment is found, instead of
leaving it there across page switches and refreshes. The highlight
now fades a few seconds after it is shown, or cancels on the next
click anywhere on the page.

* fix(studio): preserve comment lookup after cancel

* test(studio): cover comment cleanup in plan links

* fix(studio): restart comment highlight fade on repeat navigation
2026-10-15 13:38:18 +08:00
YANG QIA 56251bcd8d fix(studio): reuse claim materials within transactions (#10884)
* fix(studio): reuse claim materials within transactions

* test(studio): normalize claim query identifier quoting

* test(studio): scope claim cost reporting to PostgreSQL

* test(studio): isolate retry and consent owner accounts

* test(studio): retain consent failure decision diagnostics

* test(studio): assert isolated consent owner labels

* test(studio): provision consent requesters as administrator

* test(studio): add claim query evidence collector

* test(studio): correct claim query evidence normalization
2026-10-15 13:19:33 +08:00
YANG QIA c2132c959a fix(agents): load runner workspace diagnostics on demand (#10905)
* fix(agents): load runner workspace diagnostics on demand

* perf(agents): read runner list summaries concurrently
2026-10-15 12:48:49 +08:00
YANG QIA 7abd72b7b0 feat(agents): configure skill attachment defaults in scope section (#10887)
* feat(agents): configure skill attachment defaults in the editor

* fix(agents): honor scoped credentials in attachment names

* test(studio): include project default skill commands in manifest snapshot

* fix(agents): place skill mount switches with attachments
2026-10-15 12:48:44 +08:00
YANG QIA 644a77386c perf(agents): reuse claim reads and batch candidate loading (#10886)
* perf(agents): reuse claim reads and batch candidate loading

* test(agents): batch claim cost fixture setup

* docs(agents): align claim optimization release note

* test(agents): let repositories assign fixture run revisions

* test(agents): assert incompatible candidates precede the claimed run
2026-10-15 12:48:40 +08:00
chenos b22d999e5b perf(db): reduce query decoding and schema inspection overhead (#10908)
Prepare result mappings once per execution, optimize stored timestamp decoding, and batch PostgreSQL and SQLite schema inspection.

Preserve transaction-local schema inspection and add regression coverage and reproducible benchmark results.
2026-10-15 00:42:52 -04:00
chenos 7b1882a175 docs: focus documentation on capabilities (#10909) 2026-10-15 12:41:37 +08:00
YANG QIA e98ef09e49 chore: merge v3-develop into agent/PM-67 2026-10-15 00:08:46 -04:00
YANG QIA f1f3bd7782 fix(studio): read dashboard and usage reports with a fixed number of queries (#10904)
Split the dashboard into one route per panel and read runs, usage and issues in one narrow query each, so report time no longer grows with the number of runs.
2026-10-15 11:38:32 +08:00
chenos 25647ce149 docs: remove Sungrow case from architecture comparison (#10907) 2026-10-15 11:09:56 +08:00
Zhou de0861a8a0 feat(studio): add the task split view (#10906)
Show the issue lists as groups beside the selected task's detail: the
follow group, a waiting group naming what each task waits for, keyboard
navigation and the selection in the address. The table uses the same
groups, status icons are shared, My Agent opens a session's tasks beside
the conversation, and phones get a grouped task list with an action bar.

Move the inbox to the header, land on My tasks with its waiting count,
and restore the projects plugin's hierarchy reads and the inbox's task
decisions that the task split view reads.
2026-10-15 11:08:30 +08:00
chenos 98b386237a fix(cli): explain commercial database requirements on selection (#10899) 2026-10-15 10:32:39 +08:00
nocobase-studio[bot]andPeipei 284ba3286b fix(sidebar): isolate preferences by application (#10854)
* fix(sidebar): isolate preferences by application

* fix(templates): provide sidebar preferences in shell tests

* test(studio): use configured manager name in needs-you flow

---------

Co-authored-by: Peipei <pearlcao149@gmail.com>
2026-10-15 02:20:38 +00:00
YANG QIA f18a7bbbc5 chore: merge v3-develop into agent/PM-67 2026-10-14 22:06:56 -04:00
nocobase[bot] 75a086f77d chore: merge release 2026-10-15.1 into v3-develop [skip ci]
current app-template-default version: 1.0.0-beta.68
2026-10-15 01:57:31 +00:00
chenos 69e212ce3f refactor: move commercial database drivers to Pro (#10865)
* refactor: move commercial database drivers to Pro

* fix: preserve automatic loading of commercial database drivers

* test: align OSS fixtures with optional Pro drivers
2026-10-15 09:34:54 +08:00
chenos 6dae113eb4 fix(studio): support chat submission over HTTP with UUID v4 (#10836) 2026-10-15 09:23:43 +08:00
YANG QIA 1cd749c796 feat(studio): expose issue handoff CLI commands (#10890) 2026-10-15 09:14:01 +08:00