Zyy and Codex
187af36306
fix(accounts): preserve known peer identity after sync failures
...
Keep undiscovered upstreams displayed as ordinary API keys and retain known peer errors without revoked shared data. Reuse quota refresh for retries and reset recognition when the connection changes.
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 19:33:24 +08:00
Zyy and Codex
be35f8a6ee
fix(accounts): refine upstream quota display and layout
...
Show quota availability consistently for unlimited and stale observations, keep pool summaries at the bottom, and compact plan counts with an inline overflow popover.
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 17:48:47 +08:00
Zyy and Codex
317c05c74a
fix(accounts): show OAuth results in notifications
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 15:55:56 +08:00
Zyy and Codex
12c32fcdec
chore(release): v3.39.1
...
Co-authored-by: Codex <noreply@openai.com >
v3.39.1
2026-11-03 11:47:32 +08:00
Ke Wang and Codex
26de671226
fix(runtime): reload full snapshot on config revision races ( #584 )
...
* fix(runtime): reload raced snapshot facts before suspending publication
Co-authored-by: Codex <noreply@openai.com >
* fix(runtime): retry extension preparation when its revision becomes stale
Co-authored-by: Codex <noreply@openai.com >
---------
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 11:38:47 +08:00
Ke Wang and Codex
a92b95c48c
fix(proxies): measure latency for the selected successful address family ( #585 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 11:34:40 +08:00
Zyy and Codex
e7c24781fb
fix(openai): preserve deployment account routing policy
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 11:33:53 +08:00
Zyy and Codex
3b4b547e9c
fix(store): release proxy locks before returning delete conflicts
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 11:23:28 +08:00
Zyy and Codex
2016bda031
fix(openai): preserve client headers and send account installation id
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 11:23:16 +08:00
Zyy and Codex
790f3147e0
fix(openai): preserve verified turn state on full requests
...
Track bounded ownership proofs for upstream turn-state tokens, including failed responses, so same-turn full requests can echo them without trusting unrelated account state.
Co-authored-by: Codex <noreply@openai.com >
2026-11-03 10:19:53 +08:00
Zyy and Codex
96e8443ede
chore(release): v3.39.0
...
Co-authored-by: Codex <noreply@openai.com >
v3.39.0
2026-11-02 19:40:58 +08:00
Zyy and Codex
42badf64ca
docs(deploy): document low-memory database tuning
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 16:30:04 +08:00
35afe1123f
feat(plugins): edit sensitive configuration per field ( #582 )
...
Co-authored-by: Zyy <zyycn@users.noreply.github.com >
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 15:32:32 +08:00
Zyy and Codex
2ac4265832
feat(windows): add builds and online updates
...
Build x64 and ARM64 release archives with a static MSVC runtime.
Support executable replacement, restart handoff and rollback on Windows.
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 14:45:33 +08:00
Zyy and Codex
d22ec29824
fix(usage): show CPR badges for linked accounts
...
Use current peer summaries for request records and account diagnostics without changing historical snapshots or database schema.
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 14:39:44 +08:00
Zyy and Codex
7a32c6cec2
chore(release): v3.38.2
...
Co-authored-by: Codex <noreply@openai.com >
v3.38.2
2026-11-02 13:44:36 +08:00
0ff1a72919
fix(retry): limit upstream Retry-After waits ( #578 )
...
Co-authored-by: Zyy <zyycn@users.noreply.github.com >
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 13:07:20 +08:00
79083a5632
fix(openai): reconnect before websocket search activation ( #577 )
...
Track hosted search initialization on pooled Codex sockets and retire incompatible connections before sending. Preserve existing client full replay recovery for connection-local deltas.
Co-authored-by: Zyy <zyycn@users.noreply.github.com >
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 12:28:14 +08:00
Zyy and Codex
90f7456db8
fix(ui): align CPR badge text with its icon
...
Keep the compact line height and offset the uppercase label by one pixel to align its visible center with the brand glyph across badge sizes.
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 12:27:51 +08:00
Zyy and Codex
6f71b27c3c
fix(peer): include quota-backed plans in pool summaries
...
Reuse account plan resolution when exporting peer pool summaries. Read saved quota observations for missing plans even when quota sharing is disabled, without exposing quota data or mutating account records.
Cover unknown and missing plans, subtype preservation, plan-only limits, and quota refresh from an unknown account plan.
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 12:24:57 +08:00
Zyy and Codex
7b05b14a2b
fix(openai): narrow model rejection cooldown detection
...
Require the official model_not_found code and supported status codes for
account-model cooldowns. Treat unsupported_value as a terminal request
error and preserve account eligibility across HTTP, SSE, and WebSocket.
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 11:36:58 +08:00
f9b5b5ff77
chore(deps): bump node from 26.12.1-bookworm-slim to 26.13.0-bookworm-slim in /deploy in the minor-and-patch group across 1 directory ( #573 )
...
* chore(deps): bump node
Bumps the minor-and-patch group with 1 update in the /deploy directory: node.
Updates `node` from 26.12.1-bookworm-slim to 26.13.0-bookworm-slim
---
updated-dependencies:
- dependency-name: node
dependency-version: 26.13.0-bookworm-slim
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* docs(development): align Node.js version with Docker
Co-authored-by: Codex <noreply@openai.com >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zyy <zyycn@users.noreply.github.com >
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 10:33:44 +08:00
dependabot[bot]
4d5778a84f
chore(deps): bump rust from 48b7f43 to 9181b56 in /deploy ( #575 )
...
Bumps rust from `48b7f43` to `9181b56`.
---
updated-dependencies:
- dependency-name: rust
dependency-version: 1.99.1-bookworm
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-02 10:32:20 +08:00
dependabot[bot]
6d22d73506
chore(deps): bump debian from 7ff6ba3 to 99c0b25 in /deploy ( #574 )
...
Bumps debian from `7ff6ba3` to `99c0b25`.
---
updated-dependencies:
- dependency-name: debian
dependency-version: bookworm-slim
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-02 10:32:10 +08:00
dependabot[bot]
d8ab207282
chore(deps): bump the minor-and-patch group in /frontend with 7 updates ( #572 )
...
Bumps the minor-and-patch group in /frontend with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue ) | `1.61.0` | `1.66.0` |
| [axios](https://github.com/axios/axios ) | `1.20.0` | `1.21.0` |
| [es-toolkit](https://github.com/toss/es-toolkit ) | `1.53.0` | `1.53.1` |
| [@intlify/unplugin-vue-i18n](https://github.com/intlify/bundle-tools/tree/HEAD/packages/unplugin-vue-i18n ) | `11.2.7` | `11.2.8` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.6.5` | `26.6.6` |
| [eslint](https://github.com/eslint/eslint ) | `10.13.0` | `10.14.0` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc ) | `3.3.13` | `3.3.14` |
Updates `@lucide/vue` from 1.61.0 to 1.66.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.66.0/packages/vue )
Updates `axios` from 1.20.0 to 1.21.0
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.20.0...v1.21.0 )
Updates `es-toolkit` from 1.53.0 to 1.53.1
- [Release notes](https://github.com/toss/es-toolkit/releases )
- [Changelog](https://github.com/toss/es-toolkit/blob/main/CHANGELOG.md )
- [Commits](https://github.com/toss/es-toolkit/compare/v1.53.0...v1.53.1 )
Updates `@intlify/unplugin-vue-i18n` from 11.2.7 to 11.2.8
- [Release notes](https://github.com/intlify/bundle-tools/releases )
- [Changelog](https://github.com/intlify/bundle-tools/blob/v11.2.8/CHANGELOG.md )
- [Commits](https://github.com/intlify/bundle-tools/commits/v11.2.8/packages/unplugin-vue-i18n )
Updates `@types/node` from 26.6.5 to 26.6.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `eslint` from 10.13.0 to 10.14.0
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.13.0...v10.14.0 )
Updates `vue-tsc` from 3.3.13 to 3.3.14
- [Release notes](https://github.com/vuejs/language-tools/releases )
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.14/packages/tsc )
---
updated-dependencies:
- dependency-name: "@lucide/vue"
dependency-version: 1.66.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: axios
dependency-version: 1.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: es-toolkit
dependency-version: 1.53.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@intlify/unplugin-vue-i18n"
dependency-version: 11.2.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 26.6.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: eslint
dependency-version: 10.14.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: vue-tsc
dependency-version: 3.3.14
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-02 10:31:59 +08:00
dependabot[bot]
3816b46ba1
chore(deps): bump the minor-and-patch group in /backend with 8 updates ( #571 )
...
Bumps the minor-and-patch group in /backend with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.28.0` | `1.29.0` |
| [zip](https://github.com/zip-rs/zip2 ) | `9.0.5` | `9.1.3` |
| [jsonschema](https://github.com/Stranger6667/jsonschema ) | `0.60.0` | `0.60.2` |
| [roxmltree](https://github.com/RazrFalcon/roxmltree ) | `0.21.1` | `0.21.2` |
| [aws-sdk-s3](https://github.com/awslabs/aws-sdk-rust ) | `1.155.0` | `1.156.0` |
| [aws-smithy-runtime-api](https://github.com/smithy-lang/smithy-rs ) | `1.19.1` | `1.19.2` |
| [aws-smithy-types](https://github.com/smithy-lang/smithy-rs ) | `1.9.0` | `1.9.1` |
| [redis](https://github.com/redis-rs/redis-rs ) | `1.7.1` | `1.8.0` |
Updates `uuid` from 1.28.0 to 1.29.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.28.0...v1.29.0 )
Updates `zip` from 9.0.5 to 9.1.3
- [Release notes](https://github.com/zip-rs/zip2/releases )
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zip-rs/zip2/compare/v9.0.5...v9.1.3 )
Updates `jsonschema` from 0.60.0 to 0.60.2
- [Release notes](https://github.com/Stranger6667/jsonschema/releases )
- [Changelog](https://github.com/Stranger6667/jsonschema/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stranger6667/jsonschema/compare/ruby-v0.60.0...ruby-v0.60.2 )
Updates `roxmltree` from 0.21.1 to 0.21.2
- [Changelog](https://github.com/RazrFalcon/roxmltree/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/roxmltree/compare/v0.21.1...v0.21.2 )
Updates `aws-sdk-s3` from 1.155.0 to 1.156.0
- [Release notes](https://github.com/awslabs/aws-sdk-rust/releases )
- [Commits](https://github.com/awslabs/aws-sdk-rust/commits )
Updates `aws-smithy-runtime-api` from 1.19.1 to 1.19.2
- [Release notes](https://github.com/smithy-lang/smithy-rs/releases )
- [Changelog](https://github.com/smithy-lang/smithy-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/smithy-lang/smithy-rs/commits )
Updates `aws-smithy-types` from 1.9.0 to 1.9.1
- [Release notes](https://github.com/smithy-lang/smithy-rs/releases )
- [Changelog](https://github.com/smithy-lang/smithy-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/smithy-lang/smithy-rs/commits )
Updates `redis` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/redis-rs/redis-rs/releases )
- [Commits](https://github.com/redis-rs/redis-rs/compare/redis-1.7.1...redis-1.8.0 )
---
updated-dependencies:
- dependency-name: uuid
dependency-version: 1.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: zip
dependency-version: 9.1.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: jsonschema
dependency-version: 0.60.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: roxmltree
dependency-version: 0.21.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: aws-sdk-s3
dependency-version: 1.156.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: aws-smithy-runtime-api
dependency-version: 1.19.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: aws-smithy-types
dependency-version: 1.9.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: redis
dependency-version: 1.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-02 10:31:48 +08:00
dependabot[bot]
4a7c06f895
chore(deps): bump taiki-e/install-action ( #569 )
...
Bumps the minor-and-patch group with 1 update: [taiki-e/install-action](https://github.com/taiki-e/install-action ).
Updates `taiki-e/install-action` from 2.87.31 to 2.88.1
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/1e29709c0ec63babbe8f266397a465f29a825f91...68a389c788b2cd04016ce8c80ee23b80d2ab3d68 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.88.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-02 10:31:13 +08:00
Zyy and Codex
e0b7a841ca
chore(release): v3.38.1
...
Co-authored-by: Codex <noreply@openai.com >
v3.38.1
2026-11-02 00:08:30 +08:00
Zyy and Codex
96a292dd0f
fix(providers): align catalog-based account eligibility
...
Apply valid catalog membership alongside account model access for native OAuth, API key upstreams, and xAI. Preserve upstream validation for missing catalogs and unknown plans.
Co-authored-by: Codex <noreply@openai.com >
2026-11-02 00:02:08 +08:00
Zyy and Codex
6f138c8256
chore(release): v3.38.0
...
Co-authored-by: Codex <noreply@openai.com >
v3.38.0
2026-11-01 23:32:37 +08:00
Zyy and Codex
c8ffb1a8c8
perf(store): batch account lease runtime reads
...
Read up to 128 accounts per Redis script while preserving input order, pool isolation, shared scheduling timestamps, expiry cleanup, and error propagation. Extend real Redis coverage for mixed lease states and invalid batch data.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 23:23:49 +08:00
Zyy and Codex
79df82a4f0
fix(openai): respect model capabilities in account selection
...
Filter known OAuth models by fresh plan catalogs and retain account-scoped model rejections. Preserve credential, transport, adapter, and continuation boundaries, and combine cooldown expiry without dropping protection semantics.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 22:39:21 +08:00
Zyy and Codex
62516d9769
fix(ci): reduce Cargo cache snapshot disk usage
...
Keep Cargo snapshots compressed during transfer, extract directly into BuildKit cache mounts, and release restored runner snapshots. Export archives without an extra copy layer and use a new cache format key.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 22:05:10 +08:00
Zyy and Codex
892cba68ae
test: streamline backend tests and speed up validation
...
Remove obsolete and redundant assertions while preserving current behavior.
Optimize zlib-rs in dev/test builds and use eight concurrent CI test workers.
Use explicit time bases and synchronization for integration fixtures.
Validated 4322 tests, 72 Redis ACL tests, and ten stress iterations of 102
concurrency-related tests. Rustfmt, strict Clippy, and actionlint passed.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 21:31:07 +08:00
Zyy and Codex
fada9bc0bd
refactor: clarify module boundaries and naming
...
Organize backend modules by responsibility, simplify runtime layers, and
keep shared contracts with their owning modules. Split frontend account
APIs and separate shared types from request implementations.
Strengthen architecture checks for module dependencies and test layout.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 20:35:59 +08:00
Zyy and Codex
27b9bbe994
fix: persist peer discovery and quiet expected cookie conflicts
...
Persist unsupported CPR Link detection for each connection and skip periodic
probes across restarts. Retain manual rediscovery, connection invalidation,
retry throttling, and existing quota access protections.
Log stale response-cookie revision conflicts at debug while retaining
warnings for actual storage failures.
Validation: 29 peer-related tests, 14 cookie tests, 16 architecture checks,
strict Clippy, Rustfmt, and diff checks passed.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 20:20:45 +08:00
Zyy and Codex
db849c1251
feat(peer-link)!: simplify the CPR Link protocol
...
Make capability blocks optional and represent key budgets as named windows. Centralize validation and preserve unknown states for missing observations.
BREAKING CHANGE: CPR Link requires schema_version 2; v1 snapshots are no longer accepted.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 19:24:17 +08:00
Zyy and Codex
c57af9b0dd
fix(openai): strip sentry-trace and baggage from outbound requests
...
Remove tracing headers and their WebSocket metadata copies through the existing correlation cleanup. Cover cache identity stability and WebSocket reuse after privacy header changes.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 14:21:01 +08:00
Zyy and Codex
641f43b303
chore(release): v3.37.2
...
Co-authored-by: Codex <noreply@openai.com >
v3.37.2
2026-11-01 03:41:24 +08:00
Zyy and Codex
6ce723ce93
fix(accounts): show account names in delete confirmation
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 03:41:16 +08:00
Zyy and Codex
2ff43c73da
fix(accounts): bound discovery refreshes and align import settings
...
Share a four-request limit across CPR discovery, manual refreshes, and
periodic refreshes, and avoid loading runtime settings for initial reads.
Reuse account name and notes fields for import and editing, apply custom
names only to single-account imports, and match API usage bars to quota
progress styling.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 03:35:29 +08:00
Zyy and Codex
cb79f4d5a5
fix(accounts): start peer discovery after credential imports
...
Reuse quota routing for initial peer observation and preserve discovery state across ordinary account edits. Hide pending subscription badges and remove redundant provider quota labels without adding frontend polling.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 03:10:18 +08:00
Zyy and Codex
1e57805598
chore(release): v3.37.1
...
Co-authored-by: Codex <noreply@openai.com >
v3.37.1
2026-11-01 02:20:01 +08:00
Zyy and Codex
aca75490cb
fix(accounts): preserve migrated identities and restore cumulative usage
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 02:19:53 +08:00
Zyy and Codex
6a95869a72
docs: fix README links and add UI playground
...
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 01:59:55 +08:00
Zyy and Codex
dfc29d4709
chore(release): v3.37.0
...
Co-authored-by: Codex <noreply@openai.com >
v3.37.0
2026-11-01 01:49:30 +08:00
Zyy and Codex
3cbebb5f9b
feat(frontend): adopt UI v0.8.0 and refine form feedback
...
Unify theme namespaces and plugin theme delivery, improve validation and empty states, and pin UI v0.8.0 plus plugin workbench v0.9.0.
Co-authored-by: Codex <noreply@openai.com >
2026-11-01 01:40:09 +08:00
Zyy and Codex
fbdfe22757
feat(settings): update default concurrency policy
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-31 21:29:50 +08:00
7cf99769b1
feat(accounts): support editing optional account names ( #568 )
...
Allow local account names to be changed or cleared without replacing credentials or account settings. Show the name with notes and fall back to email when the name is empty.
Co-authored-by: Zyy <zyycn@users.noreply.github.com >
Co-authored-by: Codex <noreply@openai.com >
2026-10-31 21:19:07 +08:00
Zyy and Codex
839054cdaf
docs: refine GitHub reply tone
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-31 21:09:49 +08:00