- 11 Jul, 2026 22 commits
-
-
feitianbubu committed
-
Persist committed editor drafts to the source model during batch copy so targets never carry pricing the source would lose, surface loading/error states for the enabled-models query, and compare saved* props in the visual editor memo so rows leave the unset list reliably after save.
CaIon committed -
* feat: add unset price models tab to model pricing settings * feat: add unset price models tab translations
feitianbubu committed -
CaIon committed
-
CaIon committed
-
Parse OpenAI's native cache_write_tokens (chat prompt_tokens_details / responses input_tokens_details), bill it at the cache-creation ratio, and clamp the uncached prompt remainder at zero since cached + cache-write can exceed prompt_tokens. Propagate the field through chat/responses/claude format conversions and tiered expression billing (cc variable).
CaIon committed -
* refactor: consolidate relay protocol converters * refactor relayconvert text converters * feat: refine relay converters and advanced custom routing * refactor: enhance logging and add thought signature handling for Gemini requests * refactor: enhance channel cache and pricing endpoint handling for advanced custom models * feat: preserve billing usage semantics * feat: add protocol-aware billing usage * Delete useless files * chore: update action versions in workflow files * chore: update Docker action versions in workflow files * fix: harden billing usage settlement and hot-path route matching - estimate Gemini completion tokens locally when billable usageMetadata is prompt-only but output content was received (e.g. client aborts the stream before the final chunk), and rebuild the attached billing_usage as estimated so settlement does not bill zero output tokens - guard NewClaudeMessagesBillingUsage against all-zero ClaudeUsage, matching the OpenAI/Gemini constructors, so a zero billing_usage cannot override a non-zero top-level usage during settlement - cache compiled advanced-custom route model regexes; they run on the request hot path and were recompiled per request - move the effectiveBillingUsage remap to PostTextConsumeQuota only, and document that calculateTextQuotaSummary expects remapped usage - document the updatePricingLock -> channelSyncLock lock ordering that InitChannelCache/CacheUpdateChannel rely on, and the aux-struct pitfall in GeminiChatResponse.UnmarshalJSON
Calcium-Ion committed -
CaIon committed
-
CaIon committed
-
CaIon committed
-
CaIon committed
-
Revert the following commits: - 308e3e34 feat(web): polish themed data views and add task log details - b2a890e7 fix: Fontsource asset resolution across workspace layouts - 9d1ca545 refactor(web): refine data-table cards and pricing page layout - 0918bdb4 refactor(web): consolidate design-system primitives and responsive data views - 262ab931 style(web): unify design system across default frontend
CaIon committed -
t0ng7u committed
-
✨ t0ng7u committed -
CaIon committed
-
CaIon committed
-
CaIon committed
-
🐛 t0ng7u committed -
Seefs committed
-
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.51.0 to 0.52.0. - [Commits](https://github.com/golang/crypto/compare/v0.51.0...v0.52.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.52.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] committed -
The custom home page URL iframe only allows allow-forms/allow-popups/ allow-popups-to-escape-sandbox/allow-scripts, without allow-top-navigation*. As a result, target="_top" nav/menu links inside the (admin-configured, trusted) embedded page cannot navigate the top-level window on desktop browsers, while some mobile browsers still allow it via allow-popups — causing inconsistent behavior rather than an intended restriction. Add allow-top-navigation-by-user-activation so user-clicked top-level links work consistently across devices. This token only permits user-activated top navigation and does NOT grant same-origin access, so it avoids the security concern of allow-same-origin. Co-authored-by: 贺. <kuang@M1.local> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
乾L committed
-
- 10 Jul, 2026 12 commits
-
-
♻ Replace collapsible card details with always-visible label/value rows, add badge-list full display for cards, and polish pricing/channel toolbars and mobile cards.
t0ng7u committed -
♻ t0ng7u committed -
✨ 🔤 Typography - Fix --font-sans stack: 'Public Sans Variable' was never applied (wrong family name), add CJK fallbacks (PingFang SC / Microsoft YaHei UI / Noto Sans SC) - Sync <html lang> with i18n language for correct CJK glyph selection - Remove dead fake font system (font-provider.tsx, config/fonts.ts, --font-inter/--font-manrope) - Typography contract: 3-tier headings, arbitrary text-[10px]/[11px] → text-xs (46 files), no uppercase table headers, font-bold → font-semibold - Numbers use tabular-nums only; font-mono reserved for keys/IDs/code (29 files)🎨 Color discipline - Retire StatusBadge string-hash rainbow (autoColor → neutral); all variants resolve to 5 semantic voices - Add tintedBadgeClassMap as the single tinted-pill recipe - Replace hardcoded emerald/amber/rose/sky classes with semantic tokens across ~30 files (timing badges, progress bars, system panels, pricing, rankings, log row tints) - Drop all !important text overrides and [font-family:var(--font-body)] hacks 🧘 Motion restraint - Remove admin entrance animations: table row stagger, card hover lift/shadow, button press scale, dashboard shimmer line - Neuter page-transition stagger components into plain wrappers; page transitions reduced to pure opacity fade - Decorative motion stays landing-only📐 Shape - Single radius source: --radius 1rem → 0.625rem - Sparklines use solid chart tokens instead of decorative gradients - PanelWrapper: border-only (no shadow), align radius with Card📏 Guardrails - Add "Design System Discipline" section (3.10.1) to web/default/AGENTS.md✅ Verified: tsgo typecheck clean, rsbuild production build passest0ng7u committed -
Merge pull request #6092 from QuantumNous/perf/model-pricing-sync-table
同語 committed -
- remove built-in horizontal padding from status badges so table columns align with headers. - drop legacy negative-margin compensation from badge cells and affected table renderers. - clean touched table components to satisfy lint rules around type imports, keys, and JSX flow.
QuentinHsu committed -
- keep input focus and invalid rings inside the shared Input component to avoid clipping in constrained containers. - make the sync channel selector table use a fixed header, internal body scrolling, and fixed pagination inside the dialog. - align status cells with their header and translate channel status labels through existing i18n keys.
QuentinHsu committed -
- batch select and unselect operations into single state updates to reduce lag with large model lists. - align current price and upstream preset rows by rendering the same ordered field set. - switch the table to a fixed header, internal body scrolling, and fixed pagination layout with compact upstream header counts. - hide synthesized preset internal IDs and count only effective selectable resolutions.
QuentinHsu committed -
Merge pull request #5906 from feitianbubu/fix/pricing-sample-special-usable-group
同語 committed -
Merge pull request #6061 from feitianbubu/pr/c33b40b70
同語 committed -
Merge pull request #6044 from QuantumNous/feat/playground-parameter-panel
同語 committed -
feitianbubu committed
-
* fix: use GORM v2 row locking for subscription resets * docs: codify GORM row locking rules
Seefs committed
-
- 09 Jul, 2026 5 commits
-
-
- expose playground controls for sampling, penalty, token, and seed parameters. - reuse the existing persisted config and parameter-enabled state so requests only send enabled values. - add localized parameter copy and keep the panel scrollable on short screens.
QuentinHsu committed -
controller/task_video.go and service/pre_consume_quota.go were already removed in ba25ba88 and 116004fd (logic lives in service/task_polling.go and BillingSession now), then brought back as stale copies by a42b3976. Both have zero callers. controller/swag_video.go is a leftover swag stub: the swaggo pipeline is gone and docs/openapi/relay.json already documents these routes.
feitianbubu committed -
- constrain the desktop selector panel so long group and model lists scroll within a shared height. - make the selected model stand out with stronger row and label styling. - scroll both lists to the active selections after the popover opens.
QuentinHsu committed -
CaIon committed
-
Signed-off-by: zuiho <2324465096@qq.com>
zuiho committed
-
- 08 Jul, 2026 1 commit
-
-
* 支持渠道表格列宽拖拽 * fix(web): address column resize review feedback * feat(web): auto-fit resized table columns * fix(web): reduce column resize persistence work --------- Signed-off-by: zuiho <2324465096@qq.com>
zuiho committed
-