forked from the-crypt-keeper/tldw
-
Notifications
You must be signed in to change notification settings - Fork 56
Bug-Squash/'Works-on-my-machine' - 4 PRDs in one PR :( 👎 #679
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
+64,822
−14,564
Merged
Changes from 8 commits
Commits
Show all changes
144 commits
Select commit
Hold shift + click to select a range
400e500
Update test_artifact_content_type_and_path.py
rmusser01 8e73c04
Merge branch 'dev' of https://github.com/rmusser01/tldw_server into dev
rmusser01 27f74b7
fix
rmusser01 b2800ca
fixes
rmusser01 2129647
fixes
rmusser01 ccd63bf
fixes
rmusser01 96adaac
fixes
rmusser01 bc49d4c
fixes
rmusser01 48f9795
fixes
rmusser01 8d3026d
Update tldw_Server_API/app/core/TTS/adapters/openai_adapter.py
rmusser01 4c4e8bf
Update Docs/Getting-Started-STT_and_TTS.md
rmusser01 18bea9c
Update Docs/Getting-Started-STT_and_TTS.md
rmusser01 f3f7ad6
Update tldw_Server_API/app/core/Sandbox/service.py
rmusser01 5439691
Update tldw_Server_API/tests/sandbox/test_artifact_traversal_integrat…
rmusser01 7f93757
fixes
rmusser01 90e527e
Merge branch 'dev' of https://github.com/rmusser01/tldw_server into dev
rmusser01 9763ca2
Update openai_adapter.py
rmusser01 13d1030
fix
rmusser01 ffd1c7b
fixes
rmusser01 a18f8e6
fixes
rmusser01 9063223
fix
rmusser01 f5ec492
fixes
rmusser01 a5d3ef5
webui adds
rmusser01 1c9903c
Update .github/workflows/sbom.yml
rmusser01 4a53e49
fixes
rmusser01 da7ad02
Merge branch 'dev' of https://github.com/rmusser01/tldw_server into dev
rmusser01 bfc8aae
fixes
rmusser01 1486e6d
Update main.py
rmusser01 45ebef0
fixes
rmusser01 b93b11d
fixes
rmusser01 a6afe1f
Update circuit_breaker.py
rmusser01 349db3d
Update circuit_breaker.py
rmusser01 2245814
fixes
rmusser01 00f1036
stuff
rmusser01 a9d62ce
stuff
rmusser01 066917c
fixes
rmusser01 0d66be8
fixes + rewrites
rmusser01 e6a36f6
Update test_rg_capabilities_endpoint.py
rmusser01 79f888f
idk
rmusser01 96ebea9
ugh
rmusser01 9d84bec
ugh 2
rmusser01 ee86363
Sandbox+Adapter unification still WIP
rmusser01 8f687b5
fixes according to code rabbit
rmusser01 3c4abe7
Update conftest.py
rmusser01 599c624
fixes
rmusser01 3e36a12
fixes
rmusser01 a5e8e71
Update ci.yml
rmusser01 bced400
fixes
rmusser01 9972090
Update chat_fixtures.py
rmusser01 9e1a1f4
fixes
rmusser01 89c9ca7
fixes
rmusser01 c646195
Update orgs_teams.py
rmusser01 bd9f956
Update test_session_manager_configured_key.py
rmusser01 f0a84ab
Update session_manager.py
rmusser01 e6c46b2
Update test_l2_normalization_policy.py
rmusser01 55a4e9c
fix
rmusser01 c78b84c
fixes
rmusser01 069fcee
fixes
rmusser01 24f56a0
fixes
rmusser01 4e6702c
Update test_database_backends.py
rmusser01 33f1784
Update conftest.py
rmusser01 c14a69b
Update test_streaming_unified_benchmark.py
rmusser01 ed6319a
fix
rmusser01 a78f177
fix
rmusser01 8f08b9e
Update test_request_queue_workers.py
rmusser01 c6b2457
fixes
rmusser01 ff9ff41
fixes
rmusser01 566d459
benchmarking scrips
rmusser01 aa89995
fixes
rmusser01 445c358
fixes
rmusser01 bd4cffc
fixes
rmusser01 32cd014
fixes
rmusser01 0bab803
fixes+tts
rmusser01 6029568
Update test_resource_governor_endpoint.py
rmusser01 120a414
Update test_async_adapters.py
rmusser01 131f9de
fix
rmusser01 0dd9626
fixes
rmusser01 54ecd44
fixes
rmusser01 5b571fd
fixes
rmusser01 929c5ef
fixes
rmusser01 654828b
fixes
rmusser01 c289fa5
fixes
rmusser01 52b938e
fixes
rmusser01 e66993d
Update Education.md
rmusser01 1ac6b84
Update request_queue.py
rmusser01 06f5990
fixes+1st draft new user guide
rmusser01 846fbe2
fixes
rmusser01 d5e88c9
Potential fix for code scanning alert no. 920: Full server-side reque…
rmusser01 4c974d4
fixes
rmusser01 a6d4ee7
Merge branch 'dev' of https://github.com/rmusser01/tldw_server into dev
rmusser01 63d9177
chore: make pcm stream client executable
rmusser01 04f0d25
fixes
rmusser01 65341b4
fixe
rmusser01 f15c87d
fixes
rmusser01 ce8dc64
fixes
rmusser01 8248dab
tests: standardize provider tests to mock adapter http client; add pa…
rmusser01 3fc692f
tests: mock adapter http client across providers (openrouter/mistral/…
rmusser01 71b1942
adapters: normalize SSE and finalize streams for qwen/deepseek/huggin…
rmusser01 ad82dfd
fixes
rmusser01 7383a85
adapters: unify SSE normalization and finalize_stream for mistral/goo…
rmusser01 c83067a
adapter_shims: prefer adapter when http client seam is patched for op…
rmusser01 a323328
tests: fix DeepSeek to mock legacy requests path for error mapping an…
rmusser01 acf9eac
fixes
rmusser01 b1f242e
fixes
rmusser01 d7a9510
fixes
rmusser01 de1795d
fixes
rmusser01 3e97878
fixes
rmusser01 bb7c863
webui
rmusser01 cbfbfe5
fixes
rmusser01 51d69a7
webui/tts
rmusser01 bdc05dd
tts
rmusser01 87e36bf
'fixes'
rmusser01 3f72df3
js
rmusser01 34f415f
webui
rmusser01 b3fb41d
fixes
rmusser01 048239a
fixes
rmusser01 1913084
fixes
rmusser01 5cdccf9
fix
rmusser01 b89f1c2
fixes
rmusser01 e793bf0
fixes
rmusser01 7dfd54f
fixes
rmusser01 ffb5b18
Potential fix for code scanning alert no. 904: Information exposure t…
rmusser01 e4a3046
Potential fix for code scanning alert no. 922: Full server-side reque…
rmusser01 5bde366
Potential fix for code scanning alert no. 893: Information exposure t…
rmusser01 4a0f332
Potential fix for code scanning alert no. 788: Information exposure t…
rmusser01 c74b53d
Update Helper_Scripts/voice_latency_harness/harness.py
rmusser01 cfc9b73
Potential fix for code scanning alert no. 925: Exception text reinter…
rmusser01 b311945
Potential fix for code scanning alert no. 936: DOM text reinterpreted…
rmusser01 f3cbe53
Potential fix for code scanning alert no. 933: DOM text reinterpreted…
rmusser01 8edcaf4
Update tldw_Server_API/WebUI/js/simple-mode.js
rmusser01 dd49bf4
fxies
rmusser01 6361039
Potential fix for code scanning alert no. 926: Exception text reinter…
rmusser01 ed8407d
Update tldw_Server_API/WebUI/js/legacy-helpers.js
rmusser01 8606329
fixes
rmusser01 6e27b9a
Merge branch 'dev' of https://github.com/rmusser01/tldw_server into dev
rmusser01 0fe8518
Create test_rg_metrics_denial_micro.py
rmusser01 2e63935
fixes
rmusser01 c21cd15
fixes
rmusser01 9e59bb1
fixes
rmusser01 5986489
update references to newer anthropic models
rmusser01 1b6642a
fixes
rmusser01 d607229
fixes
rmusser01 46f40d1
webui fixes
rmusser01 2be045c
fixes
rmusser01 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,19 +1,24 @@ | ||
| name: CI | ||
|
|
||
| on: | ||
| # Run on direct pushes to protected branches only | ||
| push: | ||
| branches: | ||
| - main | ||
| - dev | ||
| # Run CI for PRs targeting these branches | ||
| pull_request: | ||
| branches: | ||
| - main | ||
| - dev | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
| # Ensure push and PR for the same commit share one slot | ||
| group: ci-${{ github.event.pull_request.head.sha || github.sha }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| lint: | ||
|
|
@@ -83,6 +88,8 @@ jobs: | |
| TEST_DB_HOST: 127.0.0.1 | ||
| TEST_DB_USER: tldw | ||
| TEST_DB_PASSWORD: tldw | ||
| # Align AuthNZ_Postgres conftest default DB name with service DB | ||
| TEST_DB_NAME: tldw_content | ||
| TLDW_TEST_POSTGRES_REQUIRED: '1' | ||
| steps: | ||
| - name: Checkout | ||
|
|
@@ -115,6 +122,9 @@ jobs: | |
| run: | | ||
| echo "POSTGRES_TEST_PORT=${{ job.services.postgres.ports[5432] }}" >> "$GITHUB_ENV" | ||
| echo "TEST_DB_PORT=${{ job.services.postgres.ports[5432] }}" >> "$GITHUB_ENV" | ||
| # Provide a unified DSN so any test preferring TEST_DATABASE_URL uses the right DB | ||
| echo "TEST_DATABASE_URL=postgresql://tldw:[email protected]:${{ job.services.postgres.ports[5432] }}/tldw_content" >> "$GITHUB_ENV" | ||
| echo "DATABASE_URL=postgresql://tldw:[email protected]:${{ job.services.postgres.ports[5432] }}/tldw_content" >> "$GITHUB_ENV" | ||
|
|
||
| - name: Install additional deps for PG tests | ||
| run: | | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,96 @@ | ||
| ## Implementation Plan — Browser Extension | ||
|
|
||
| This document tracks staged implementation with concrete success criteria and test notes. | ||
|
|
||
| --- | ||
|
|
||
| ## Stage 1: Connectivity & Auth | ||
| **Goal**: Establish server connectivity and both auth modes (API Key and JWT). | ||
|
|
||
| **Success Criteria**: | ||
| - Options page captures server URL and credentials; health check returns OK. | ||
| - Background proxy injects headers; tokens never exposed to content scripts. | ||
| - 401 triggers single‑flight refresh and one retry; no duplicate requests. | ||
|
|
||
| **Tests**: | ||
| - Unit: auth storage, header injection, refresh queue. | ||
| - Integration: health endpoint, login/logout, API key validation. | ||
| - Manual: revoke permission and re‑grant host permission flow. | ||
|
|
||
| **Status**: Not Started | ||
|
|
||
| --- | ||
|
|
||
| ## Stage 2: Chat & Models | ||
| **Goal**: Streaming chat via `/api/v1/chat/completions` with model selection. | ||
|
|
||
| **Success Criteria**: | ||
| - Models/providers fetched and rendered; selection persisted per session. | ||
| - Non‑stream and SSE stream both work; cancel stops network within ~200ms. | ||
| - Exact path strings (no 307 redirects observed in logs). | ||
|
|
||
| **Tests**: | ||
| - Unit: SSE parser, backoff, abort controller. | ||
| - Integration: stream across two models; cancel and resume. | ||
| - Manual: slow network simulation; ensure UI stays responsive. | ||
|
|
||
| **Status**: Not Started | ||
|
|
||
| --- | ||
|
|
||
| ## Stage 3: RAG & Media | ||
| **Goal**: RAG search UI and URL ingest with progress notifications. | ||
|
|
||
| **Success Criteria**: | ||
| - RAG `/api/v1/rag/search` returns results; snippets insert into chat context. | ||
| - URL ingest calls `/api/v1/media/process`; user sees progress and final status. | ||
| - Errors are actionable (permission, size limits, server busy). | ||
|
|
||
| **Tests**: | ||
| - Unit: request builders, snippet insertion. | ||
| - Integration: RAG queries; media process happy path and failure modes. | ||
| - Manual: ingest current tab URL; verify server reflects new media. | ||
|
|
||
| **Status**: Not Started | ||
|
|
||
| --- | ||
|
|
||
| ## Stage 4: Notes/Prompts & STT | ||
| **Goal**: Notes/Prompts basic flows and STT upload/transcribe. | ||
|
|
||
| **Success Criteria**: | ||
| - Notes: create/search; export works; selection‑to‑note from content script. | ||
| - Prompts: browse/import/export; insert chosen prompt into chat input. | ||
| - STT: upload short clip; transcript displayed; non‑supported formats fail clearly. | ||
|
|
||
| **Tests**: | ||
| - Unit: notes/prompts stores; MIME/type validation. | ||
| - Integration: `/api/v1/notes/*`, `/api/v1/prompts/*`, `/api/v1/audio/transcriptions`. | ||
| - Manual: 20s audio clip round‑trip; error message clarity for oversized files. | ||
|
|
||
| **Status**: Not Started | ||
|
|
||
| --- | ||
|
|
||
| ## Stage 5: TTS & Polish | ||
| **Goal**: TTS synthesis/playback and UX polish. | ||
|
|
||
| **Success Criteria**: | ||
| - Voices list loads from `/api/v1/audio/voices/catalog`; selection persisted. | ||
| - `/api/v1/audio/speech` returns audio; playback controls functional. | ||
| - Accessibility audit passes key checks; performance within budgets. | ||
|
|
||
| **Tests**: | ||
| - Unit: audio player controls and error states. | ||
| - Integration: voices catalog and synthesis endpoints. | ||
| - Manual: latency spot checks; keyboard navigation. | ||
|
|
||
| **Status**: Not Started | ||
|
|
||
| --- | ||
|
|
||
| ## Notes | ||
| - Centralize route constants and validate against OpenAPI at startup (warn on mismatch). | ||
| - Keep tokens in background memory; only persist refresh tokens if strictly necessary. | ||
| - Use optional host permissions for user‑configured origins (Chrome/Edge MV3). | ||
|
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.