Skip to content

AI audio transcription (exp) & fixed audio playback bug#660

Merged
CalJosKos merged 11 commits into
mainfrom
dev
Jan 15, 2026
Merged

AI audio transcription (exp) & fixed audio playback bug#660
CalJosKos merged 11 commits into
mainfrom
dev

Conversation

@CalJosKos

Copy link
Copy Markdown
Collaborator

No description provided.

dadukhankevin and others added 4 commits January 8, 2026 16:37
* better transcription

* improvements

* better transcription, new transcription/translation/source

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* format fixes

* localized transcription

* style: fix prettier formatting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Initial commit of modified files from installation

Co-authored-by: caleb.koster <caleb.koster@gmail.com>

* feat: Add min_required_schema_version to get_schema_info

Co-authored-by: caleb.koster <caleb.koster@gmail.com>

* Added rpc function to handle v2.1 to v2.2

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: caleb.koster <caleb.koster@gmail.com>
Co-authored-by: CalJosKos <120157396+CalJosKos@users.noreply.github.com>
…#658)

Use the Icon component wrapper instead of raw Lucide icons to properly
support className-based theming in dark mode.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jan 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
langquest Ready Ready Preview, Comment Jan 15, 2026 3:52am

@CalJosKos CalJosKos requested a review from keeandev January 12, 2026 20:59
@supabase

supabase Bot commented Jan 12, 2026

Copy link
Copy Markdown

Updates to Preview Branch (dev) ↗︎

Deployments Status Updated
Database Thu, 29 Jan 2026 18:18:34 UTC
Services Thu, 29 Jan 2026 18:18:34 UTC
APIs Thu, 29 Jan 2026 18:18:34 UTC

Tasks are run on every commit but only new migration files are pushed.
Close and reopen this PR if you want to apply changes from existing seed or migration files.

Tasks Status Updated
Configurations ⚠️ Thu, 29 Jan 2026 18:18:34 UTC
Migrations Thu, 29 Jan 2026 18:18:35 UTC
Seeding Thu, 29 Jan 2026 18:18:35 UTC
Edge Functions Thu, 29 Jan 2026 18:18:39 UTC

⚠️ Warning — You can configure a persistent branch with config.toml:
[remotes.staging]
project_id = "yjgdgsycxmlvaiuynlbv"


View logs for this Workflow Run ↗︎.
Learn more about Supabase for Git ↗︎.

Comment thread components/TranscriptionEditModal.tsx Outdated
Comment on lines +67 to +87
const [newAsset] = await tx
.insert(resolveTable('asset'))
.values({
source_asset_id: sourceAssetId,
content_type: 'transcription',
project_id: projectId,
creator_id: currentUser.id,
download_profiles: [currentUser.id]
})
.returning();

if (!newAsset) {
throw new Error('Failed to create transcription asset');
}

await tx.insert(resolveTable('asset_content_link')).values({
asset_id: newAsset.id,
languoid_id: languoidId,
text: text.trim(),
download_profiles: [currentUser.id]
});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just want to make sure I understand correctly, should transcriptions go into the synced tables or the local tables?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think if the transcription is being submitted to a published asset, it should be in the synced table, but if it's to an unpublished asset, it should be to the local table. I didn't look into this in detail though. How is it implemented currently? @dadukhankevin

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@CalJosKos
So apparently,

  • resolveTable('asset') is called without the localOverride option

    • This defaults to LOCAL_MODE = false, so it always inserts into synced tables (asset_synced, asset_content_link_synced)
    • Same pattern is used in NextGenNewTranslationModal.tsx for translations

    What defines whether something is published? Is it at the project level?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Branch recently merged into dev to allow submitting translations and transcriptions to pre-published content @keeandev @dadukhankevin

Comment thread supabase/config.toml Outdated

[storage]
enabled = true
enabled = false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If you don't mind me asking, what’s the intention behind disabling this here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

If you don't mind me asking, what’s the intention behind disabling this here?

@dadukhankevin

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@CalJosKos @keeandev
Ok I think i did that while debugging some local storage issues for myself, would be fine to revert to true if I remember correctly.

revert to enabled=true for storage
revert last commit (didn't think it was on dev...)
tripple revert
* fix: use Icon wrapper for dark mode support in TranscriptionEditModal

Use the Icon component wrapper instead of raw Lucide icons to properly
support className-based theming in dark mode.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Translations, transcriptions can be given locally

Bug exists with giving a transcription of a translation in local only mode

* Transcriptions of translations working locally

* Translation/transcription toggle filter

* Can enter transcription or translation from asset details

* Transcription translation cleanup

Sparkle button edits
Have bug where assets sent to synced tables out of order, messing up fk constraints

* Fixed fk constraint issue

publishUtils (and publishService) was inserting assets in the wrong order (translation and transcription children before their source asset parents), thus violating fk constraints and causing upload issue upon publishing.

* Fixed file handling bugs around transcription

- Removed transcription view from non-audio source content
- Auto transcribe button works (again?) in published content asset details view
- Changed SupabaseStorageAdapter to check if file exists before attempting upload (was causing rls violation issues on storage API)

* Fix format errors
* Hide transcribe sparkle button in drawer behind toggle

* Fix formatting
@CalJosKos CalJosKos merged commit b62fc86 into main Jan 15, 2026
33 checks passed
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.

4 participants