DESKTOP-RTLN3BA\$punk
89cc3b37ee
fix(db): prevent boot-time index DDL from hanging FastAPI startup
...
A single abandoned "idle in transaction" session held locks on the
documents table, which blocked the non-concurrent CREATE INDEX (hnsw)
run inside the FastAPI lifespan. Each API restart queued another
CREATE INDEX behind an advisory lock, leaving the server stuck at
"Waiting for application startup." indefinitely and freezing ingestion
writes.
Changes:
- setup_indexes(): build every index with CREATE INDEX CONCURRENTLY
(non-blocking ShareUpdateExclusiveLock) under a per-session
lock_timeout, and make each statement non-fatal so a contended/slow
build is retried next boot instead of wedging startup. Drop leftover
invalid indexes before rebuilding.
- create_db_and_tables(): apply lock_timeout to extension/create_all
DDL and gate the whole bootstrap behind DB_BOOTSTRAP_ON_STARTUP.
- engine: set idle_in_transaction_session_timeout (asyncpg) so an
abandoned transaction is reaped automatically.
- config + .env.example: DB_BOOTSTRAP_ON_STARTUP, DB_DDL_LOCK_TIMEOUT_MS,
DB_IDLE_IN_TX_TIMEOUT_MS.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 16:18:49 -07:00
Thierry CH.
284df841ef
Merge pull request #1501 from CREDO23/feat/podcast-brief-duration-seconds
...
feat(podcasts): short default brief length with seconds and unit picker
2026-06-16 15:04:07 -07:00
CREDO23
7584312712
style(podcasts): fix ruff issues in podcast spec schema
...
Remove duplicate typing import and format legacy minute coercion guard.
2026-06-16 23:57:36 +02:00
CREDO23
7a415b61ea
test: align QuotaInsufficientError fixtures with balance_micros API
...
Billable calls now raise quota errors with balance_micros instead of
used_micros/limit_micros; update mocks so CI passes on main.
2026-06-16 23:56:11 +02:00
CREDO23
fd96c930bf
test(podcasts): cover seconds duration and legacy minute specs
2026-06-16 23:38:28 +02:00
CREDO23
f997b6464e
test(podcasts): update renderer test for second-based duration
2026-06-16 23:38:28 +02:00
CREDO23
cb70b64a70
test(podcasts): update unit fixtures for second-based duration
2026-06-16 23:38:28 +02:00
CREDO23
38991c7db8
test(podcasts): update integration fixtures for second-based duration
2026-06-16 23:38:28 +02:00
CREDO23
bab3f7c0d4
feat(web): add unit dropdown for podcast brief target length
2026-06-16 23:38:28 +02:00
CREDO23
608620d649
feat(web): add seconds-based podcast duration types with legacy support
2026-06-16 23:38:28 +02:00
CREDO23
16d226e5ce
refactor(podcasts): plan transcript length from midpoint seconds
2026-06-16 23:38:28 +02:00
CREDO23
116c38feac
refactor(podcasts): build DurationTarget from brief seconds config
2026-06-16 23:38:28 +02:00
CREDO23
af08e2f033
refactor(podcasts): propose brief with min_seconds and max_seconds
2026-06-16 23:38:28 +02:00
CREDO23
d0ed5b94d9
refactor(podcasts): use shared second-based brief duration defaults
2026-06-16 23:38:28 +02:00
CREDO23
845653cbac
feat(podcasts): pass min_seconds and max_seconds when proposing brief
2026-06-16 23:38:27 +02:00
CREDO23
085442ed9a
feat(podcasts): use seconds defaults on create podcast request
2026-06-16 23:38:27 +02:00
CREDO23
32e0d21604
feat(podcasts): store brief duration in seconds with legacy load
2026-06-16 23:38:27 +02:00
CREDO23
9583e8f250
feat(podcasts): add shared duration limit constants
2026-06-16 23:38:27 +02:00
Thierry CH.
683a827300
Merge pull request #1500 from CREDO23/fix/podcast-stream-missing-audio
...
fix(podcasts): guard stream when audio missing and share object store volume
2026-06-16 11:16:27 -07:00
CREDO23
a7be41d50a
fix(docker): share persistent object_store volume in dev
2026-06-16 20:09:08 +02:00
CREDO23
fc045d200d
fix(docker): share persistent object_store volume across services
2026-06-16 20:09:08 +02:00
CREDO23
1048d0afc3
test(podcasts): cover public stream missing-object 404
2026-06-16 20:09:08 +02:00
CREDO23
810ded2dde
test(podcasts): cover in-flight 409 and missing-object 404
2026-06-16 20:09:08 +02:00
CREDO23
86a8833fb4
test(podcasts): add exists to fake storage backend
2026-06-16 20:09:08 +02:00
CREDO23
1d70af4684
fix(podcasts): guard public stream against missing audio
2026-06-16 20:09:08 +02:00
CREDO23
0c2808640a
fix(podcasts): guard stream against missing audio
2026-06-16 20:09:08 +02:00
CREDO23
d2558e546e
feat(podcasts): add audio_exists storage helper
2026-06-16 20:09:08 +02:00
Rohan Verma
3e539311a2
Merge pull request #1486 from MODSetter/dev
...
fix(auto_reload): update task to use a lambda for user_id in async call
2026-06-11 16:51:41 -07:00
DESKTOP-RTLN3BA\$punk
c855be8ccd
fix(auto_reload): update task to use a lambda for user_id in async call
2026-06-11 16:51:18 -07:00
Rohan Verma
cb7cb90732
Merge pull request #1485 from MODSetter/dev
...
feat(migration): evolve podcast lifecycle by detaching from zero_publication
2026-06-11 16:18:54 -07:00
DESKTOP-RTLN3BA\$punk
fed83269d0
Merge commit ' 6c8c559254' into dev
2026-06-11 16:18:17 -07:00
DESKTOP-RTLN3BA\$punk
cff721aa42
feat(migration): evolve podcast lifecycle by detaching from zero_publication and updating column handling
2026-06-11 16:17:14 -07:00
Rohan Verma
6c8c559254
Merge pull request #1484 from MODSetter/dev
...
feat(podcasts): rebuild podcast pipeline with lifecycle architecture, zero sync, and unified credit wallet
2026-06-11 16:07:15 -07:00
Rohan Verma
0f73db5aa1
Merge pull request #1483 from MODSetter/dev_mod
...
feat(version): bumped to 0.0.28
2026-06-11 16:00:26 -07:00
DESKTOP-RTLN3BA\$punk
f166a532bd
feat(version): bumped to 0.0.28
2026-06-11 15:59:44 -07:00
DESKTOP-RTLN3BA\$punk
05190da0a9
chore: linting
2026-06-11 15:31:43 -07:00
Rohan Verma
27218304ae
Merge pull request #1482 from CREDO23/improvement-podcast-graph
...
[Fix] Backend: anchor .gitignore data/ rule that silently excluded module code
2026-06-11 15:26:38 -07:00
CREDO23
7b30a76856
fix(gitignore): anchor data/ rule; track podcast voice catalogs
2026-06-12 00:06:37 +02:00
Rohan Verma
aee0c1a3ac
Merge pull request #1481 from AnishSarkar22/fix/chat-stream-flicker
...
fix(chat): stabilize active thread rendering and top-anchored scrolling
2026-06-11 14:47:15 -07:00
Anish Sarkar
e4803d4ed3
chore(dependencies): update @assistant-ui/react and @assistant-ui/react-markdown to latest versions, adjust peer dependencies, and modify chat viewport auto-scroll settings
2026-06-12 03:00:48 +05:30
Rohan Verma
8f80900ab0
Merge pull request #1479 from CREDO23/improvement-podcast-graph
...
[Feat] Podcast: Rework generation into a lifecycle-driven module with multi-language support
2026-06-11 14:23:38 -07:00
CREDO23
41f4a58663
Merge remote-tracking branch 'upstream/dev' into improvement-podcast-graph
...
# Conflicts:
# surfsense_backend/app/tasks/celery_tasks/podcast_tasks.py
2026-06-11 23:14:49 +02:00
Anish Sarkar
e7762cda97
feat(chat): enhance thread component with active thread handling and improve message loading logic
2026-06-12 02:42:16 +05:30
Rohan Verma
d27616ad0a
Merge pull request #1480 from MODSetter/dev_mod
...
feat: unify credits system
2026-06-11 13:32:47 -07:00
DESKTOP-RTLN3BA\$punk
c3695e7837
feat: update auto-reload settings and enhance payment session creation
...
- Added currency parameter to the Stripe checkout session for auto-reload setup.
- Integrated AutoReloadSettings component into the BuyMorePage for improved user experience.
- Removed deprecated AutoReloadSettings component from user settings directory.
- Updated import paths for AutoReloadSettings in purchases page to reflect new structure.
2026-06-11 13:29:40 -07:00
CREDO23
4dc06fa918
style(audio): breathing room between seek bar and time counters
2026-06-11 12:50:03 +02:00
CREDO23
741aa8d8f7
fix(podcasts): key transcript lines by stable turn position
2026-06-11 12:47:22 +02:00
CREDO23
ca9b157676
fix(podcasts): keep legacy episodes readable and guard regenerate
2026-06-11 12:43:07 +02:00
CREDO23
aa7f14d94f
feat(podcasts): add revert-regeneration and surface cancel on the live card
2026-06-11 12:31:42 +02:00
CREDO23
f0fc660d70
feat(podcasts): constrain monologue briefs to a single speaker
2026-06-11 11:56:57 +02:00