Skip to content

Maintainence Update#310

Merged
n-ce merged 10 commits into
mainfrom
horizon
Jun 2, 2025
Merged

Maintainence Update#310
n-ce merged 10 commits into
mainfrom
horizon

Conversation

@n-ce
Copy link
Copy Markdown
Owner

@n-ce n-ce commented Jun 2, 2025

Summary by CodeRabbit

  • New Features

    • Added a notification to confirm successful library import.
    • Expanded informational content and donation appeal on the search page.
  • Improvements

    • Enhanced accessibility with updated aria-labels for sorting options.
    • Refined sorting options in the library and list sections, including new sort by title and author.
    • Improved localization with updated and additional English and Spanish strings.
    • Updated build metadata format for clarity.
  • Bug Fixes

    • Corrected handling of custom color themes in personalization and theming.
  • Refactor

    • Streamlined state management and simplified code for selectors and collection handling.
    • Centralized collection rendering logic for better maintainability.
    • Optimized event handling in queue and video playback components.
  • Style

    • Redesigned queue tools layout for improved usability and responsiveness.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 2, 2025

Warning

Rate limit exceeded

@n-ce has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 10 minutes and 49 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 64ed036 and 5fa0290.

📒 Files selected for processing (1)
  • src/scripts/queue.ts (3 hunks)

Walkthrough

This update refactors UI structure, accessibility, and styling in several sections, especially the search and queue tools interface. It moves and centralizes the renderCollection function, updates state management for custom color themes, and modifies localization keys. The payload structure for sharing collections is adjusted, and user feedback is enhanced for library imports.

Changes

File(s) Change Summary
index.html, src/stylesheets/upcoming.css Refactored search and upcoming sections, updated queue tools layout and styling, improved accessibility and structure.
src/components/Settings/app.ts, src/components/Settings/personalize.ts, src/components/SuperCollectionList.ts, src/scripts/theme.ts Simplified state handling and toggles for selectors and custom color themes.
src/lib/store.ts Renamed customTheme to customColor, removed superCollectionType property.
src/lib/libraryUtils.ts, src/lib/utils.ts, src/scripts/list.ts, src/modules/supermix.ts Moved and centralized renderCollection function to libraryUtils, removed from utils, updated imports accordingly.
src/components/WatchVideo.ts Added a boolean argument to all proxyHandler calls.
src/locales/en.json, src/locales/es.json Updated and expanded localization keys and labels for sorting, importing, and UI clarity.
src/modules/listUtils.ts Changed share payload from object to array of object values.
src/scripts/library.ts Replaced page reload on library import with user notification.
src/scripts/queue.ts Separated shuffle action and toggle state, refined queue item click handling.
src/modules/start.ts Removed fallback search info rendering, cleaned up imports and logic.
vite.config.ts Changed build string format to exclude the year.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant UI
  participant State
  participant LibraryUtils
  participant Notify

  User->>UI: Clicks "Import Library"
  UI->>LibraryUtils: importLibrary()
  LibraryUtils->>State: Update library data
  LibraryUtils->>Notify: notify("Library has been imported successfully")
  Notify-->>User: Show notification
Loading
sequenceDiagram
  participant User
  participant UI
  participant State

  User->>UI: Toggles custom color theme
  UI->>State: Update customColor property
  UI->>UI: Call themer() to apply new color
Loading

Possibly related PRs

Poem

A rabbit hopped through code today,
Tidying queues in a stylish array.
Colors now custom, collections more neat,
With notifications, the feedback’s sweet!
Locales refined, the search shines bright—
This patch brings joy to every byte.
🐇✨

✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@n-ce n-ce linked an issue Jun 2, 2025 that may be closed by this pull request
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (2)
vite.config.ts (1)

12-14: Consider the implications of removing year from build metadata.

Removing the year from the build string may make it difficult to distinguish between builds created on the same day/month in different years. This could impact debugging and build tracking in production environments.

Consider whether this change aligns with your build identification and debugging requirements. If year information is still needed, you might want to keep it or store it separately.

index.html (1)

198-220: Consider the prominence of donation information.

While the static informational content is well-structured and includes useful links, the donation details with specific payment information (animesh.5383@waicici) might be overly prominent for the main search page. Consider if this should be moved to a dedicated about/support page.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 188b938 and 8d905ee.

📒 Files selected for processing (19)
  • index.html (4 hunks)
  • src/components/Settings/app.ts (3 hunks)
  • src/components/Settings/personalize.ts (1 hunks)
  • src/components/SuperCollectionList.ts (2 hunks)
  • src/components/WatchVideo.ts (3 hunks)
  • src/lib/libraryUtils.ts (2 hunks)
  • src/lib/store.ts (1 hunks)
  • src/lib/utils.ts (1 hunks)
  • src/locales/en.json (3 hunks)
  • src/locales/es.json (3 hunks)
  • src/modules/listUtils.ts (1 hunks)
  • src/modules/start.ts (3 hunks)
  • src/modules/supermix.ts (1 hunks)
  • src/scripts/library.ts (2 hunks)
  • src/scripts/list.ts (1 hunks)
  • src/scripts/queue.ts (3 hunks)
  • src/scripts/theme.ts (1 hunks)
  • src/stylesheets/upcoming.css (1 hunks)
  • vite.config.ts (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (7)
src/scripts/library.ts (2)
src/lib/utils.ts (1)
  • notify (56-68)
src/scripts/i18n.ts (1)
  • i18n (44-49)
src/components/Settings/app.ts (1)
src/lib/store.ts (1)
  • state (4-46)
src/components/Settings/personalize.ts (2)
src/lib/store.ts (2)
  • state (4-46)
  • setState (56-60)
src/scripts/i18n.ts (1)
  • i18n (44-49)
src/scripts/queue.ts (3)
netlify/edge-functions/linkPreview.ts (1)
  • shuffle (64-75)
src/lib/store.ts (2)
  • setState (56-60)
  • state (4-46)
src/scripts/i18n.ts (1)
  • i18n (44-49)
src/components/WatchVideo.ts (2)
src/lib/utils.ts (1)
  • proxyHandler (33-44)
src/lib/dom.ts (1)
  • audio (19-19)
src/scripts/theme.ts (1)
src/lib/store.ts (2)
  • state (4-46)
  • store (63-155)
src/lib/libraryUtils.ts (2)
src/lib/dom.ts (1)
  • listContainer (25-25)
src/lib/utils.ts (1)
  • hostResolver (26-30)
🔇 Additional comments (30)
src/lib/store.ts (1)

15-15:

Details

✅ Verification successful

Verify consistent usage of renamed property across codebase.

The property rename from customTheme to customColor looks good and aligns with the more specific naming convention. However, ensure all references to this property have been updated consistently throughout the application.

Run the following script to verify all references have been updated:


🏁 Script executed:

#!/bin/bash
# Description: Search for any remaining references to the old property name
echo "Searching for old 'customTheme' references..."
rg -i "customtheme" --type ts --type js

echo "Verifying new 'customColor' usage..."
rg "customColor" --type ts --type js -A 2

Length of output: 1256


All references to customTheme have been replaced with customColor.

Verified consistent usage in:

  • src/lib/store.ts
  • src/scripts/theme.ts
  • src/components/Settings/personalize.ts

No remaining occurrences of the old property name were found.

src/locales/en.json (2)

44-44: Verify the key rename aligns with UI context.

The key was renamed from "search_filter_date" to "search_filter_time" but retains the value "Time". This suggests the original key name may have been incorrect. Ensure this change aligns with how this filter is used in the UI context.

Please verify that this key is used appropriately in the search filter interface and that "Time" is the correct label for this filter option.


63-63: Good additions for user feedback and sorting functionality.

The new localization keys enhance user experience:

  • library_imported: Provides clear feedback for successful library imports
  • list_sort_title and list_sort_author: Support new sorting options with clear A↔Z indicators

These additions improve the application's usability and user feedback mechanisms.

Also applies to: 76-77

src/modules/supermix.ts (1)

2-4: Good refactoring to improve code organization.

Moving the renderCollection import to ../lib/libraryUtils improves separation of concerns by centralizing collection-specific functionality in a dedicated module. The remaining general utilities (convertSStoHHMMSS, goTo) appropriately stay in the utils module.

src/scripts/list.ts (1)

5-5: LGTM! Clean import refactoring.

The import path update correctly reflects the reorganization of renderCollection from general utils to library-specific utilities.

src/components/WatchVideo.ts (1)

160-160: LGTM! Proper use of prefetch parameter.

Adding true as the second parameter correctly prevents unwanted title updates when setting video/audio sources. This improves the user experience by avoiding "inserting audio streams" messages during media initialization.

Also applies to: 176-176, 196-196

src/components/Settings/personalize.ts (1)

50-50:

Details

✅ Verification successful

LGTM! Consistent property renaming.

The renaming from customTheme to customColor is more descriptive and all usages within this file are updated consistently. Please verify that all references to the old property name have been updated throughout the codebase.

Also applies to: 54-54, 62-62


🏁 Script executed:

#!/bin/bash
# Verify no remaining references to old 'customTheme' property
echo "Searching for any remaining 'customTheme' references:"
rg -i "customtheme" --type ts --type js
echo ""
echo "Verifying 'customColor' is used consistently:"
rg "customColor" --type ts --type js -A 2 -B 2

Length of output: 1768


✅ Renaming Verified and Approved

Confirmed there are no remaining customTheme references and customColor is used consistently across the codebase. Changes are good to merge.

src/lib/utils.ts (1)

1-1:

Details

✅ Verification successful

LGTM! Clean import cleanup.

The removal of unused imports (listContainer, html, render, StreamItem) improves code maintainability and aligns with the refactoring that moved renderCollection to src/lib/libraryUtils.ts.

Let me verify that all references to the moved renderCollection function have been updated to import from the new location:


🏁 Script executed:

#!/bin/bash
# Description: Verify that all imports of renderCollection have been updated to the new location
# Expected: No imports from src/lib/utils.ts, only from src/lib/libraryUtils.ts

echo "=== Checking for old imports from src/lib/utils.ts ==="
rg "import.*renderCollection.*from.*['\"].*lib/utils" --type ts

echo "=== Checking for new imports from src/lib/libraryUtils.ts ==="
rg "import.*renderCollection.*from.*['\"].*lib/libraryUtils" --type ts

echo "=== Checking for any other renderCollection references ==="
rg "renderCollection" --type ts -A 2 -B 2

Length of output: 2910


All renderCollection imports updated successfully

Verified that there are no remaining imports from src/lib/utils.ts and all calls now import renderCollection from src/lib/libraryUtils.ts in:

  • src/modules/supermix.ts
  • src/scripts/list.ts

No further changes needed—approving these refactoring updates.

src/scripts/theme.ts (1)

112-112: LGTM! Property rename aligns with state refactoring.

The change from state.customTheme to state.customColor correctly aligns with the state property rename in src/lib/store.ts (lines 4-46) and maintains the same functionality.

src/components/Settings/app.ts (3)

64-65: LGTM! Simplified conditional assignment.

The change from complex conditional logic to a simple if (state.linkHost) check improves readability while maintaining the same functionality. The assignment correctly handles the case where state.linkHost has a value.


83-83: LGTM! Simplified direct assignment.

Direct assignment of state.dlFormat to target.value is cleaner and works correctly since state.dlFormat has a default value of 'opus' as shown in the state definition.


100-100: LGTM! Simplified direct assignment.

Direct assignment of state.shareAction to target.value is cleaner and works correctly since state.shareAction has a default value of 'play' as shown in the state definition.

src/modules/listUtils.ts (1)

70-70:

Details

✅ Verification successful

Verify backend compatibility with the new payload structure.

The change from JSON.stringify(data) to JSON.stringify(Object.values(data)) alters the payload structure from an object to an array of values. This could be a breaking change if the backend expects the original object format with keys.

Please verify that the backend endpoint /blob can handle the new array payload format:


🏁 Script executed:

#!/bin/bash
# Description: Search for backend handling of the /blob endpoint to understand expected payload format
# Expected: Backend code that processes the POST request to /blob

echo "=== Searching for /blob endpoint implementation ==="
rg "/blob" -A 10 -B 5

echo "=== Searching for blob-related handlers ==="
rg "blob.*POST\|POST.*blob" -A 10 -B 5

echo "=== Searching for any payload processing logic ==="
rg "JSON\.parse\|req\.body\|request\.body" -A 5 -B 5

Length of output: 5445


🏁 Script executed:

#!/bin/bash
# Inspect the POST handling logic in the Netlify Edge Function for /blob
echo "=== netlify/edge-functions/blobs.ts (showing full file) ==="
sed -n '1,200p' netlify/edge-functions/blobs.ts

Length of output: 1191


🏁 Script executed:

#!/bin/bash
echo "=== Searching for Collection type definitions ==="
rg "type Collection" -n
rg "interface Collection" -n

echo "=== Showing src/modules/listUtils.ts (first 200 lines) ==="
sed -n '1,200p' src/modules/listUtils.ts

Length of output: 2686


🏁 Script executed:

#!/bin/bash
# Inspect how renderCollection consumes the fetched data
echo "=== renderCollection definition in src/lib/libraryUtils.ts ==="
rg "function renderCollection" -A 20 src/lib/libraryUtils.ts

echo
echo "=== renderCollection invocation sites ==="
rg "renderCollection" -n src/lib/libraryUtils.ts

Length of output: 1019


🏁 Script executed:

#!/bin/bash
echo "=== Collection type definition ==="
rg "type Collection" -A 20 -B 2 src/index.d.ts

echo
echo "=== fetchCollection implementation ==="
rg "export async function fetchCollection" -A 50 src/lib/libraryUtils.ts

Length of output: 2545


🏁 Script executed:

#!/bin/bash
echo "=== getSharedCollection definition in src/lib/libraryUtils.ts ==="
rg "getSharedCollection" -A 20 src/lib/libraryUtils.ts

echo
echo "=== getLocalCollection definition in src/lib/libraryUtils.ts ==="
rg "getLocalCollection" -A 20 src/lib/libraryUtils.ts

Length of output: 2741


Approve: Array payload aligns with rendering logic and backend storage

The change to JSON.stringify(Object.values(data)) intentionally converts the collection into an array, which matches what renderCollection expects. The Netlify Edge Function at /blob simply stores and returns whatever JSON payload it receives, so this does not introduce a breaking change.

src/modules/start.ts (2)

12-12: Good refactoring: Cleaner destructuring pattern.

The direct destructuring of HLS from state improves code readability and aligns with the usage pattern.


77-82:

Details

✅ Verification successful

Verify the removal of fallback content rendering.

The explicit clearing of searchlist.innerHTML and the removal of the else branch that previously rendered static content aligns with the AI summary indicating this content is now static in HTML. However, ensure this doesn't break any existing functionality.


🏁 Script executed:

#!/bin/bash
# Description: Verify that searchlist fallback content is now handled statically in HTML
# Expected: Find the static content in index.html that replaces the dynamic rendering

# Search for searchlist div content in HTML files
fd -e html -x grep -l "searchlist" {} \;
fd -e html -x grep -A 10 -B 2 "searchlist" {} \;

Length of output: 1909


Static fallback content confirmed in HTML
The initial spinner and usage text are now declared statically in index.html within the <div id="searchlist"> block. Clearing searchlist.innerHTML in src/modules/start.ts will remove this placeholder as intended when a search is triggered. No further changes needed.

index.html (2)

151-151: LGTM: Simplified queue tools structure.

The removal of header wrapper around queuetools aligns with the corresponding CSS changes mentioned in the summary for a cleaner UI structure.


238-238: Good accessibility improvements.

The removal of the checked attribute aligns with state management changes, and the addition of aria-label attributes improves accessibility. The localization key change from "list_sort_artist" to "list_sort_author" suggests more consistent terminology.

Also applies to: 306-310

src/scripts/queue.ts (2)

56-62: Good separation of concerns in shuffle button handling.

The refactoring nicely separates the shuffle action (on the main button) from the toggle state management (on the inner <i> element). This provides better UX where clicking the icon toggles state while clicking elsewhere triggers the action.


198-211: Improved logic flow with extracted boolean.

The extraction of removeState and the conditional shuffle logic improvements make the code more readable and prevent unnecessary shuffling when items are deleted.

src/components/SuperCollectionList.ts (2)

31-37: Good refactoring: Eliminated intermediate variable.

The direct use of defaultSuperCollection instead of the intermediate name variable simplifies the code and maintains consistency with the destructured variable from state.


10-12:

Details

✅ Verification successful

Verify defaultSuperCollection is always defined.

The removal of the conditional fallback to 'featured' in the initial toggle assumes defaultSuperCollection is always defined. Ensure this is guaranteed by the state initialization.


🏁 Script executed:

#!/bin/bash
# Description: Check if defaultSuperCollection is always initialized in state
# Expected: Find state initialization that ensures defaultSuperCollection has a default value

# Search for defaultSuperCollection initialization or default values
rg -A 5 -B 5 "defaultSuperCollection.*=" 
rg -A 10 -B 5 "state.*=" src/lib/store.ts

Length of output: 2730


defaultSuperCollection is always initialized

The state object in src/lib/store.ts defines

defaultSuperCollection: 'featured',

and every subsequent setState call JSON-serializes the entire state, including defaultSuperCollection. On load, if localStorage has a saved store, it replaces but always contains that property. Removing the 'featured' fallback is safe.

src/lib/libraryUtils.ts (2)

1-1: LGTM: Import statements are well-organized.

The addition of hostResolver import and StreamItem component import aligns with the function's requirements and follows proper import practices.

Also applies to: 5-5


87-104: LGTM: Well-implemented centralized rendering function.

The renderCollection function is well-designed with:

  • Proper TypeScript typing with union types for data parameter
  • Sensible default values for optional parameters
  • Clean implementation using functional programming patterns
  • Proper component prop mapping from data to StreamItem

This centralization improves maintainability by consolidating rendering logic in one place.

src/stylesheets/upcoming.css (3)

7-20: LGTM: Excellent responsive grid implementation.

The grid layout with responsive design is well-implemented:

  • Two-column default layout with three-column landscape variant
  • Proper use of CSS custom properties for theming
  • Good spacing and visual hierarchy with gap, padding, and margins
  • Semantic use of list-style: none for the grid layout

34-57: LGTM: Effective color-coding system.

The nth-child color coding provides excellent visual distinction:

  • Each position (1-5) has a unique color scheme with transparent background
  • Consistent color pairing between background and foreground
  • Good accessibility with sufficient contrast

59-61: LGTM: Subtle and effective hover interaction.

The dotted underline hover effect provides good user feedback without being intrusive.

src/locales/es.json (4)

69-73: LGTM: Improved clarity for collection actions.

The addition of "colección" to action labels (delete, rename, share, radio, sort) provides better context for users and improves the overall user experience.


87-90: LGTM: Enhanced collection selector labels.

The more descriptive labels for collection actions ("Agregar a la colección", "Crear una nueva colección") improve user understanding and align with modern UI patterns.


90-90: Good catch: Spelling correction.

The correction from "Escúchalo más tarde" to "Escúchar más tarde" improves the Spanish grammar and readability.


169-169: LGTM: New functionality support.

The addition of "settings_pwa_watch": "Mirar" supports the expanded PWA functionality mentioned in the AI summary.

Comment thread src/scripts/library.ts
toCollection(collection, newDB[collection][item], oldDB)
saveDB(oldDB);
location.reload();
notify(i18n('library_imported'));
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.

💡 Verification agent

🧩 Analysis chain

Great UX improvement! Verify localization key exists.

Replacing the disruptive page reload with a notification provides much better user experience. However, please ensure the 'library_imported' localization key exists in all language files.


🏁 Script executed:

#!/bin/bash
# Verify that the 'library_imported' localization key exists in language files
echo "Checking for 'library_imported' key in localization files:"
fd -e json . src/locales/ --exec grep -l "library_imported" {}
echo ""
echo "Content of localization entries:"
fd -e json . src/locales/ --exec grep -H "library_imported" {}

Length of output: 452


🏁 Script executed:

#!/bin/bash
# List all locale files and check for the 'library_imported' key
echo "Checking 'library_imported' in each locale file:"
for file in src/locales/*.json; do
  if grep -q '"library_imported"' "$file"; then
    echo "$file: key present"
  else
    echo "$file: key missing"
  fi
done

Length of output: 2723


Add missing localization entries for library_imported

The notification key library_imported currently exists only in src/locales/en.json. To ensure consistency across all supported languages, please add this key (with appropriate translations) to each of the following locale files:

  • src/locales/ar.json
  • src/locales/bn.json
  • src/locales/de.json
  • src/locales/es.json
  • src/locales/fr.json
  • src/locales/frc.json
  • src/locales/hi.json
  • src/locales/id.json
  • src/locales/pl.json
  • src/locales/pt.json
  • src/locales/ro.json
  • src/locales/ru.json
  • src/locales/sa.json
  • src/locales/ur.json
  • src/locales/zh.json

Once added, rerun the localization check to confirm coverage.

🤖 Prompt for AI Agents
In src/scripts/library.ts at line 49, the notification uses the localization key
'library_imported' which currently exists only in src/locales/en.json. To fix
this, add the 'library_imported' key with appropriate translations to all other
locale JSON files listed (ar.json, bn.json, de.json, es.json, fr.json, frc.json,
hi.json, id.json, pl.json, pt.json, ro.json, ru.json, sa.json, ur.json,
zh.json). After adding, rerun the localization verification to ensure the key is
present in all language files.

Comment thread src/scripts/queue.ts
n-ce and others added 3 commits June 2, 2025 18:29
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@n-ce n-ce merged commit f29ecdf into main Jun 2, 2025
2 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Jun 6, 2025
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.

UX: Burger menu

1 participant