Skip to content

ECHO-564 add verify, 2fa and database migrations#355

Merged
spashii merged 26 commits intomainfrom
verify-plus
Nov 13, 2025
Merged

ECHO-564 add verify, 2fa and database migrations#355
spashii merged 26 commits intomainfrom
verify-plus

Conversation

@spashii
Copy link
Copy Markdown
Member

@spashii spashii commented Nov 10, 2025

Note

Large backend refactor: migrate to a centralized settings/LLM abstraction, remove LightRAG/Runpod audio pipeline, add chat/event services and seeding, revamp prompts/reports, and streamline infra/dependencies.

  • Server/Infra:
    • Replace dembrane.config with dembrane.settings (pydantic-settings); centralize URLs, flags, storage, embedding, transcription, and LLM configs.
    • Add AsyncioUvicornWorker and switch run scripts/prod to asyncio loop; simplify startup to seed default languages and verification topics.
    • Introduce uv.lock; update dependencies (add pydantic-settings, bump litellm; remove SQLAlchemy/Neo4j/pgvector/asyncpg, runpod tooling).
  • LLMs:
    • Add dembrane.llms with MODELS and get_completion_kwargs; migrate chat/report title/completion calls to provider-agnostic helper.
  • Features/Services:
    • Add service.chat and service.events; extend service.conversation (listing, lazy deps, event publish).
    • Tweak processing status logging (write only on duration/error).
  • Prompts/Artifacts:
    • Harden prompt loader; log language support; add prompt_templates/generate_artifact.en.jinja and revise_artifact.en.jinja.
  • Major removals:
    • Remove LightRAG/audio pipeline and Runpod paths (audio_lightrag/, rag manager, runpod/diarization/transcription, legacy DB/image utils, JSON view templates, lightrag worker).
  • Modules updated:
    • audio_utils, directus, embedding, chat_utils, report_utils, sentry, s3, scheduler, main refactored to new settings/llm APIs.
  • Tests:
    • Drop obsolete tests; update remaining tests to new settings and AssemblyAI path.

Written by Cursor Bugbot for commit 864ce1f. This will update automatically on new commits. Configure here.

spashii and others added 18 commits November 6, 2025 12:00
- Updated README to include a note about common development queries.
- Replaced deprecated VSCode extension with a new one in the devcontainer configuration.
- Added a new network configuration for Docker services in the docker-compose file.
- Implemented PostgreSQL client installation in the setup script with an option to skip it.
- Improved troubleshooting documentation for Redis/Valkey startup issues and added PostgreSQL connection instructions.
- Refactored test code for better readability and consistency.
… routes to it

- add verify feature to the participant portal
________________
Ai generated message below:
- Added new components for verification process including `Verify`, `VerifySelection`, `VerifyArtefact`, and `VerifyInstructions`.
- Introduced `VerifiedArtefactsList` and `VerifiedArtefactItem` for displaying approved artefacts.
- Integrated `ParticipantConversationAudioContent` to handle audio conversation verification.
- Updated routing in `Router.tsx` to accommodate new verification paths.
- Refactored `ParticipantLayout` to include `ParticipantHeader` for better UI structure.
- Enhanced API with mock implementation for generating verification artefacts.
- Updated project schema to include verification settings and topics.
…verify-addition' into database-migrations-knex
- show "Verified Artifacts" for individual conversations in dashbaoard
…verify-addition' into database-migrations-knex
…verify-addition' into database-migrations-knex
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Nov 10, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

193 files out of 300 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch verify-plus

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@spashii spashii changed the title add verify and database migrations add verify, 2fa and database migrations Nov 12, 2025
@spashii spashii marked this pull request as ready for review November 12, 2025 18:14
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

elif response.status_code == 400:
raise TranscriptionError(f"Transcription failed: {response.json()['error']}")
else:
raise Exception(f"Transcription failed: {response.json()['error']}")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Broken Error Handling in Transcription Service

The transcribe_audio_assemblyai function raises a generic Exception for non-200/400 status codes instead of TranscriptionError. This breaks error handling in transcribe_audio_dembrane_25_09 which specifically catches TranscriptionError to gracefully continue with an empty transcript. The generic Exception bypasses this handler, causing the error to propagate instead of being handled gracefully.

Fix in Cursor Fix in Web

@spashii spashii changed the title add verify, 2fa and database migrations ECHO-564 add verify, 2fa and database migrations Nov 13, 2025
@linear
Copy link
Copy Markdown

linear bot commented Nov 13, 2025

@spashii spashii merged commit dd32f45 into main Nov 13, 2025
11 of 12 checks passed
@spashii spashii deleted the verify-plus branch November 13, 2025 11:21
topics = await _get_verification_topics_for_project(project_id)
topic_map = {topic.key: topic for topic in topics if topic.key}

target_topic_key = body.topic_list[0]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Missing List Length Validation

Accessing body.topic_list[0] without checking if the list is empty will raise an IndexError when topic_list is an empty array. The GenerateArtifactsRequest model defines topic_list as List[str] with no minimum length validation, allowing empty lists to pass through.

Fix in Cursor Fix in Web

spashii added a commit that referenced this pull request Nov 18, 2025
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Large backend refactor: migrate to a centralized settings/LLM
abstraction, remove LightRAG/Runpod audio pipeline, add chat/event
services and seeding, revamp prompts/reports, and streamline
infra/dependencies.
> 
> - **Server/Infra**:
> - Replace `dembrane.config` with `dembrane.settings`
(pydantic-settings); centralize URLs, flags, storage, embedding,
transcription, and LLM configs.
> - Add `AsyncioUvicornWorker` and switch run scripts/prod to asyncio
loop; simplify startup to seed default languages and verification
topics.
> - Introduce `uv.lock`; update dependencies (add `pydantic-settings`,
bump `litellm`; remove SQLAlchemy/Neo4j/pgvector/asyncpg, runpod
tooling).
> - **LLMs**:
> - Add `dembrane.llms` with `MODELS` and `get_completion_kwargs`;
migrate chat/report title/completion calls to provider-agnostic helper.
> - **Features/Services**:
> - Add `service.chat` and `service.events`; extend
`service.conversation` (listing, lazy deps, event publish).
>   - Tweak processing status logging (write only on duration/error).
> - **Prompts/Artifacts**:
> - Harden prompt loader; log language support; add
`prompt_templates/generate_artifact.en.jinja` and
`revise_artifact.en.jinja`.
> - **Major removals**:
> - Remove LightRAG/audio pipeline and Runpod paths (audio_lightrag/,
rag manager, runpod/diarization/transcription, legacy DB/image utils,
JSON view templates, lightrag worker).
> - **Modules updated**:
> - `audio_utils`, `directus`, `embedding`, `chat_utils`,
`report_utils`, `sentry`, `s3`, `scheduler`, `main` refactored to new
settings/llm APIs.
> - **Tests**:
> - Drop obsolete tests; update remaining tests to new settings and
AssemblyAI path.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
864ce1f. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Usama <reach.usamazafar@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants