Commit 377a40e
Release 0.3.20
* refactor: Implement ContextMenu class for dynamic context menu options
- Introduced a new ContextMenu class to manage various context menu items across the application.
- Refactored existing context menu implementations in multiple components to utilize the new ContextMenu class, enhancing code consistency and maintainability.
- Added new context menu hooks for announcement area, message area, and voice mode, improving user interaction capabilities.
- Updated the ServerPageComponent and ChannelEvent components to integrate the new context menu functionality, streamlining user experience.
* refactor: Remove unnecessary comments and improve code clarity across multiple components
- Eliminated commented-out code and unnecessary comments in various components to enhance readability.
- Streamlined the structure of components by removing redundant hooks and state declarations.
- Improved the overall organization of code, ensuring a cleaner and more maintainable codebase.
* refactor: update component imports and enhance user interface consistency
- Added missing imports for `useAppSelector` in multiple components to ensure proper state management.
- Updated the `largeImageText` in various components from 'RC Voice' to 'RiceCall' for consistent branding.
- Refactored the `PopupPageComponent` to utilize a new `PopupHeader` component, improving code organization and readability.
- Streamlined header management in the popup component to enhance user experience and maintainability.
* refactor: update PopupHeader component to use consistent styles
- Renamed the imported CSS module from `headerStyles` to `styles` for clarity.
- Updated class references in the PopupHeader component to align with the new styles import, enhancing maintainability and consistency across the UI.
* refactor: file structure (#262)
* refactor: update file structure and enhance component imports
- Modified the main entry point for Electron to point to the new `electron.js` file.
- Updated various component imports to reflect the new file paths, improving clarity and maintainability.
- Added new entries to `.gitignore` for configuration files and development artifacts.
- Removed outdated `.vscode` configuration files to streamline project setup.
- Refactored context menu logic in `ContextMenu` to utilize updated permission checks for better clarity.
- Introduced new components for handling action links and announcements, enhancing UI consistency.
* feat: add global styles and enhance component structure
- Introduced a new `globals.css` file to define global CSS variables and styles for consistent theming across the application.
- Updated component imports to reflect the new file structure, improving clarity and maintainability.
- Added new styles for the `AnnouncementEditor` and `AuthHeader` components, enhancing their visual presentation and user interaction.
- Removed outdated styles from the `ActionLink` component to streamline the codebase.
- Implemented new styles for the `EmbedLinkInput` and `EmojiPicker` components, improving their layout and functionality.
* feat: add LoadingOverlay component for improved loading state management
- Introduced a new `LoadingOverlay` component to provide a consistent loading experience across the application.
- Added accompanying CSS styles for the loading overlay, enhancing visual presentation and user interaction.
- Updated the `LoadingProvider` to utilize the new `LoadingOverlay`, streamlining loading state handling and improving code clarity.
* feat: implement CategoryTab and ChannelTab components for enhanced channel management
- Added `CategoryTab` and `ChannelTab` components to improve the organization and display of channels and categories within the EditChannelOrder popup.
- Updated the CSS module to reflect new styles for the tabs, enhancing visual presentation and user interaction.
- Refactored the `EditChannelOrderPopup` to utilize the new components, streamlining the channel management process and improving code clarity.
- Enhanced event handling for tab selection and expansion, providing a more intuitive user experience.
* feat: enhance ChatHistory component with new friend group tab styles
- Updated the CSS for the ChatHistory component to improve layout and styling of the friend group tab.
- Introduced new styles for the friend group tab, including hover effects and a toggle icon for better user interaction.
- Refactored the ChatHistory component to utilize the new styles, enhancing the overall user experience and visual consistency.
* feat: refactor UserTab styles and improve file structure
- Updated the UserTab component to import styles from a new dedicated CSS module, enhancing organization and maintainability.
- Introduced a new UserTab.module.css file with styles specific to the UserTab component, improving visual presentation and user interaction.
- Adjusted imports in Home and Server pages to reflect the new file structure, ensuring consistency across the application.
* feat: enhance MicVolumeSlider and SpeakerVolumeSlider components with new styles and functionality
- Refactored MicVolumeSlider to include a mic mode dropdown menu, improving user interaction and accessibility.
- Introduced a new CSS module for MicVolumeSlider, enhancing styling and organization.
- Updated SpeakerVolumeSlider to utilize a dedicated CSS module, improving maintainability and visual consistency.
- Removed outdated styles from the Server module, streamlining the codebase and improving clarity.
* feat: implement ServerPageSidebar component for enhanced server management
- Introduced a new `ServerPageSidebar` component to replace the previous `ChannelList`, improving organization and functionality within the server page.
- Updated the `Server` page to utilize the new sidebar component, enhancing user interaction and visual consistency.
- Refactored state management and context hooks within the sidebar for better performance and maintainability.
* refactor: restructure ServerSearchBar component and related files
- Removed the old `SearchResultItem` component and created a new `ServerSearchBar` component to enhance server search functionality.
- Introduced a dedicated CSS module for the `ServerSearchBar`, improving styling and organization.
- Updated the `Home` and `Server` pages to reflect the new component structure, ensuring consistency across the application.
- Cleaned up outdated styles and imports, streamlining the codebase for better maintainability.
* feat: enhance ServerList component with new server card functionality
- Introduced `ServerCard` and `RecommendServerCard` components to display server information, improving user interaction and visual organization.
- Updated `ServerList` to handle both regular and recommended servers, enhancing flexibility in server display.
- Created a new CSS module for `ServerList`, streamlining styles and improving maintainability.
- Removed outdated styles from the `Home` module, ensuring a cleaner codebase and consistent styling across components.
* refactor: update VIP styling and component structure across user-related components
- Removed outdated VIP styling from globals.css and replaced it with new styles in dedicated CSS modules for UserTab, UserInfoCard, and FriendTab components.
- Updated component implementations to utilize the new VIP styles, enhancing visual consistency and maintainability.
- Refactored related components to improve structure and organization, ensuring a cleaner codebase.
* feat: add MicModeMenu component for enhanced microphone control
- Introduced a new `MicModeMenu` component within the `MicVolumeSlider`, allowing users to select between key and auto speaking modes.
- Implemented a voice threshold slider for adjusting microphone sensitivity, improving user interaction and accessibility.
- Updated CSS styles for the `MicVolumeSlider` to accommodate the new menu, enhancing visual organization and maintainability.
- Removed outdated mic mode styles from the `Server` module, streamlining the codebase.
* feat: introduce CategoryTab and ChannelTab components with dedicated CSS modules
- Added new `CategoryTab` and `ChannelTab` components to enhance channel organization and display.
- Created separate CSS modules for both components, improving styling and maintainability.
- Updated existing components to utilize the new styles, ensuring consistency and clarity in the codebase.
- Removed outdated styles from the `Server` module, streamlining the overall styling structure.
* feat: add setting overlay to ServerPageSidebar for new member applications
- Introduced a new `setting-overlay` style in the CSS module to visually indicate new member applications.
- Updated the `ServerPageSidebar` component to utilize the new overlay, enhancing user interaction and clarity.
- Streamlined the styling structure by replacing commented-out code with the new implementation.
* refactor: streamline Server component structure and styles
- Removed unused styles from `QueueUserTab.module.css` to enhance clarity and maintainability.
- Refactored `Server` page components, consolidating functionality into a new `ServerPageContent` component for improved organization.
- Updated CSS classes in `Server.module.css` and `ServerPageSidebar` for consistency and clarity, renaming classes to better reflect their purpose.
- Cleaned up the sidebar structure and improved the layout for better user interaction.
* refactor: rename CSS classes and restructure components for clarity
- Updated CSS class names in `ChangeServer`, `Login`, and `Register` components for improved clarity and consistency.
- Refactored component structures to align with new class names, enhancing maintainability.
- Introduced new loading text styles and adjusted layout properties for better user experience.
* refactor: rename CSS classes and introduce new Home page components
- Renamed CSS classes in `Home.module.css` for improved clarity and consistency.
- Introduced new components: `HomePageHeader`, `HomePageContent`, `HomePagePersonalExclusive`, `HomePageNotAvailable` to enhance structure and maintainability.
- Updated the `index.tsx` file to utilize the new components, streamlining the Home page layout and functionality.
- Removed unused styles and components, ensuring a cleaner codebase.
* feat: implement Friend page components and restructure styles
- Introduced new components: `FriendPageHeader`, `FriendPageSidebar`, and `FriendPageContent` to enhance the structure and functionality of the Friend page.
- Added `FriendActivity` component to display user activities, improving user engagement.
- Created a dedicated CSS module for `FriendActivity` and updated styles in `Friend.module.css` for better organization and clarity.
- Removed outdated styles and components from the Friend page, streamlining the codebase and improving maintainability.
* feat: add socket module export and refactor token retrieval
- Added export for the new socket module from `@/main/socket/web` to enhance functionality.
- Refactored token retrieval to use `store.get('token')` instead of `localStorage`, improving state management and consistency.
* fix: adjust margin for user signature in DirectMessage styles
- Updated the margin-left property of the .user-signature class from 23px to 18px for improved alignment and visual consistency in the DirectMessage component.
* refactor: enhance PopupHeader styles and structure
- Added a data attribute for draggable functionality to the PopupHeader component.
- Updated title rendering to use a dedicated CSS class for improved styling and maintainability.
- Introduced a new CSS class for title text to standardize font size and text overflow handling.
* refactor: enhance CategoryTab and ChannelTab components for improved member sorting
- Updated CategoryTab to include a new useMemo hook for sorting category members based on friendship status and permission level.
- Removed the sortChannelMembersWithRules prop from ChannelTab, simplifying the component's interface and logic.
- Adjusted sorting logic in ChannelTab to maintain clarity and consistency in member display.
- Added new CSS styles for a location icon in UserTab to enhance user interface elements.
* chore: update configuration and logging structure
- Added page extensions to the Next.js configuration for improved file handling.
- Updated TypeScript configuration to include specific Electron entry points.
- Refactored i18n initialization logic for better readability and structure.
- Removed logging handlers and related imports from the main process to streamline the codebase.
- Introduced new logging methods in the preload script for enhanced logging capabilities.
* fix: build
* refactor: restructure API data handling and authentication
- Removed the old data.ts file and replaced it with a new data.ts file under the api directory, enhancing organization and clarity.
- Introduced a new auth.ts file for handling user authentication, including registration, login, and auto-login functionalities.
- Updated import paths in various files to reflect the new structure, ensuring consistent access to API methods.
- Improved error handling and response management in the API request functions for better reliability.
* refactor: streamline environment handling and improve context menu logic
- Refactored environment loading to utilize a new Env class for better structure and clarity.
- Updated context menu components to simplify logic and improve readability by consolidating multiline expressions into single lines.
- Removed deprecated token management from the token.ts file and integrated token handling directly into the api module.
- Enhanced error handling in various modules to ensure consistent behavior across the application.
* refactor: remove RecommendServerCategory type and associated categories
- Eliminated the RecommendServerCategory type definition and all related category entries from the constants file.
- Streamlined the constants file by removing unused code, enhancing clarity and maintainability.
* refactor: replace permission utility functions with Permission enum
- Removed utility functions for permission checks and replaced them with a Permission enum for better clarity and maintainability.
- Updated various components and context menus to utilize the new Permission enum, simplifying permission level checks throughout the codebase.
- Enhanced readability by consolidating permission logic into a single source of truth, reducing potential errors and improving code consistency.
* refactor: update getPermissionText function to use Permission enum
- Modified the getPermissionText function to accept a Permission enum instead of a number, enhancing type safety and clarity.
- Updated the permission mapping to utilize the enum values, improving maintainability and reducing potential errors in permission handling.
* refactor: rename FindMe context to LocateMe and update related components
- Replaced the FindMe context with LocateMe, updating all related imports and hooks across components.
- Adjusted function names and references to align with the new context, enhancing clarity and consistency in the codebase.
- Removed the obsolete FindMe provider and introduced the LocateMe provider to encapsulate the new functionality.
* refactor: update AuthHeader and PopupHeader components for improved prop handling
- Changed optional props to required in AuthHeader and PopupHeader components, enhancing type safety.
- Simplified event handler functions in PopupHeader by directly invoking props, improving readability and consistency.
- Ensured consistent function usage across both components for minimize, maximize, restore, and close actions.
* feat: enhance ChatHistory component with pagination and message selection
- Introduced pagination functionality to the ChatHistory component, allowing users to navigate through multiple pages of messages.
- Added state management for the current page and selected message, improving user interaction and experience.
- Updated the layout and styles in ChatHistory.module.css to accommodate new pagination controls and message item selection.
- Enhanced the visual presentation of messages with hover effects and improved styling for better clarity.
* refactor: update language handling to systemSettings
- Replaced direct language handling in the IPC and provider components with a new systemSettings structure for better organization and maintainability.
- Removed obsolete language-related files and imports, streamlining the codebase.
- Updated language change logic in the ProvidersComponent and Header to utilize the new systemSettings API, enhancing clarity and consistency across the application.
* refactor: streamline disconnectSocket function in electron and web modules
- Removed unnecessary event listener cleanup code from the disconnectSocket function in both electron.ts and web.ts files, simplifying the disconnection process.
- Enhanced code clarity and maintainability by focusing on essential socket disconnection logic.
* refactor: update app icon paths for development and production environments
- Adjusted the APP_ICON and APP_TRAY_ICON paths to accommodate different directory structures in development mode, ensuring correct resource loading.
- Enhanced clarity by consolidating platform-specific icon paths within conditional statements for better maintainability.
* refactor: enhance electron module with logging and window management
- Added mainWindow, authWindow, and popups variables for better window management in the Electron application.
- Introduced configureLogger function to set up logging with file transport and remote logging capabilities, improving debugging and monitoring.
- Removed duplicate logger configuration from the previous location, streamlining the codebase.
* refactor: optimize functional components with React.memo for performance
- Wrapped multiple functional components including ImageViewer, ServerSearchBar, UnreadMessageAlert, HomePageHeader, EditSection, SendSection, and SentSection with React.memo to enhance rendering performance by preventing unnecessary re-renders.
- Updated the createPopup function to set a default value for initialData, improving flexibility in popup creation.
- Ensured consistent display names for memoized components to aid in debugging and maintainability.
* feat: add MicButton component for microphone control in server page
- Introduced a new MicButton component to manage microphone functionality, including taking and releasing the mic based on user permissions and channel state.
- Integrated context menu options for mic control in queue mode, enhancing user interaction.
- Updated ServerPageContent to include the MicButton, streamlining microphone management within the server interface.
* refactor: update IPC imports and type declarations across components
- Changed imports from default to named exports for the IPC module in multiple files, enhancing clarity and consistency in module usage.
- Updated type imports from `* as Types` to `type * as Types` to improve type safety and align with TypeScript best practices.
- Ensured consistent import patterns across various components, including action and popup files, to streamline the codebase and improve maintainability.
* refactor: streamline tray and window management in electron module
- Consolidated tray configuration and window management logic by introducing the openAppWindow function for better clarity and reusability.
- Updated setTrayDetail to directly utilize the isLogin parameter, enhancing readability and maintainability.
- Removed redundant code and improved event handling for tray interactions, ensuring a more efficient user experience.
* refactor: update tab components to use centralized store actions
- Replaced direct imports of setSelectedItemId from the UI slice with centralized store actions in CategoryTab, ChannelTab, FriendGroupTab, FriendTab, QueueUserTab, UserTab, and others for improved consistency and maintainability.
- Enhanced clarity by consolidating dispatch calls to the Store module across multiple components, streamlining state management and reducing redundancy.
- Updated related components to ensure uniformity in handling selected item states, improving overall code organization.
* fix: update server limit message key for consistency in localization
- Changed the key for the server limit message from "server-limit-reached" to "server-limit-exceeded" in the Chinese (Taiwan) localization file to enhance clarity and maintain consistency with other message keys.
* refactor: standardize formatting and improve code clarity across components
- Updated various components to ensure consistent formatting, including removing unnecessary spaces in function calls and improving readability.
- Enhanced CSS styles for better layout and alignment in the ChatHistory and other popups, ensuring a more cohesive user interface.
- Refactored logic in MessageContent and other components to streamline state management and improve performance.
- Applied React.memo to additional components to optimize rendering and prevent unnecessary re-renders.
* fix: correct padding syntax in ChatHistory CSS for consistency
- Updated padding values in ChatHistory.module.css to use the correct syntax with units (px), ensuring proper styling and layout.
- Added a newline at the end of the file to adhere to coding standards.
* refactor: update linting scripts for improved code quality
- Combined ESLint and Stylelint commands into a single "lint" script in package.json for streamlined code quality checks.
- This change enhances the development workflow by ensuring both JavaScript and CSS files are linted in one command.
* refactor: change all webp to svg
* refactor: update CSS styles and structure in Server and EditChannelOrder components
- Modified CSS for the Server component to set height and width, improving layout consistency.
- Refactored CategoryTab component to use a fragment instead of a div for better semantic structure.
- Adjusted CSS in EditChannelOrder to ensure full-width layout and removed unnecessary properties for cleaner styling.
* refactor: update image handling and CSS styles across components
- Replaced background images with <Image> component from Next.js for better performance and optimization in various components including FriendActivity, ServerList, and UserInfoCard.
- Standardized avatar dimensions in CSS for consistency across different components.
- Improved accessibility by updating alt attributes for images to provide clearer descriptions.
* refactor: update class names for improved clarity in ServerBroadcastPopup
- Changed the class name from "content" to "dialog-content" in the ServerBroadcastPopup component to enhance semantic meaning and improve code readability.
* refactor: update class name for consistency in InviteMemberPopup
- Changed the class name from "content" to "popup-content" in the InviteMemberPopup component to enhance clarity and maintain consistency with other popup components.
* refactor: update background image path in ChangeTheme module
- Changed the background image URL in ChangeTheme.module.css to reflect the new directory structure, ensuring proper loading of assets.
* refactor: update class names and styles in MessageInputBox component
- Renamed CSS classes for better clarity and consistency, changing 'textarea' to 'input-area' and 'message-input-length-text' to 'input-length-text'.
- Introduced a new 'emoji-btn' class for the emoji button, enhancing its styling and hover effects for improved user interaction.
* refactor: update class names and localization keys in Friend components
- Renamed CSS classes for improved clarity and consistency across Friend components, changing names like 'friend-page-header' to 'header' and 'friend-page-body' to 'body'.
- Updated localization key from 'friend-active' to 'friend-activity' in the app.json file to enhance clarity in the user interface.
* feat: add FavoriteServerCard, JoinedServerCard, and RecentServerCard components
- Introduced three new components: FavoriteServerCard, JoinedServerCard, and RecentServerCard for displaying user server information.
- Each card component supports double-click functionality to select the corresponding server.
- Updated UserInfoPopup to integrate the new card components and manage server views effectively.
- Refactored CSS styles for improved layout and consistency across user information components.
* refactor: remove unused emoji styles and add no-drag class
- Deleted the unused emoji icon styles from globals.css to clean up the codebase.
- Introduced a new .no-drag class to prevent drag interactions in specific areas, enhancing user experience.
* refactor: update UserInfoPopup styles and class names
- Replaced instances of the 'user-recent-visits-private' class with 'server-list-tips' for better clarity in the UserInfoPopup component.
- Introduced a new CSS class 'server-list-tips' with updated styles for displaying server-related messages, enhancing the user interface.
- Cleaned up the UserSetting.module.css by removing the old class definition to streamline the codebase.
* refactor: update sound effect styles and class names in SystemSetting component
- Removed old sound effect styles from globals.css to streamline the codebase.
- Introduced a new CSS module for SystemSetting with updated class names for sound effect previews and enable text, enhancing clarity and maintainability.
- Updated the SystemSetting component to utilize the new styles, improving the user interface for sound effect interactions.
* refactor: introduce ApplyFriend CSS module and update component styles
- Added a new CSS module for ApplyFriend to encapsulate styles for user avatars, information layout, and section separators, enhancing maintainability.
- Updated EditSection, SendSection, and SentSection components to utilize the new styles, improving the visual consistency and clarity of the friend application interface.
- Renamed event handler props for better clarity, aligning with the updated component structure.
* feat: implement ApplyMember popup with structured sections for application process
- Introduced the ApplyMember popup, featuring distinct sections: SendSection, SentSection, and EditSection, to streamline the member application workflow.
- Added a new CSS module for styling, enhancing the visual layout of server information and application notes.
- Updated the main ApplyMember component to manage state transitions between sections, improving user experience and interaction clarity.
* feat: add structured sections for InviteMember popup
- Introduced new components: EditSection, SendSection, and SentSection to enhance the InviteMember popup functionality, allowing for better user interaction during the invitation process.
- Added a CSS module for styling, improving the visual layout of member information and invitation notes.
- Updated the main InviteMember component to manage state transitions between sections, streamlining the user experience.
* feat: integrate StoreSyncer and PopupSocketManager components
- Added StoreSyncer component to synchronize application state with the store, ensuring real-time updates across the application.
- Introduced PopupSocketManager component to manage socket connections specifically for the popup, enhancing modularity and separation of concerns.
- Updated RootPageComponent and PopupPageComponent to include the new components, improving overall application architecture.
- Refactored SocketManager to streamline state management and reduce redundancy in the codebase.
* refactor: simplify userInfo function and update UserInfoPopup component
- Removed the unused friend data from the userInfo function, streamlining the data retrieval process.
- Updated UserInfoPopup to eliminate the friend prop, enhancing clarity and reducing unnecessary complexity in the component's props.
- Adjusted the logic for determining friendship status to utilize the global friends state, improving accuracy in user interactions.
* refactor: remove unused friend verification and invitation functions
- Deleted the friendVerification and memberInvitation functions from the loader, streamlining the codebase by removing unused functionality.
- Updated the serverSetting function to eliminate the userPromise, simplifying the data retrieval process while maintaining necessary functionality.
- Enhanced the ServerSettingPopup component to include memberApplications, improving the handling of member application data within the UI.
- Added socket listeners in ServerSettingPopup for real-time updates on member applications, enhancing user interaction and responsiveness.
* refactor: replace PopupSocketManager with StoreSyncer components
- Replaced the PopupSocketManager component with StoreSyncer.Master and StoreSyncer.Slave in RootPageComponent and PopupPageComponent, respectively, to enhance modularity and maintainability.
- Deleted the PopupSocketManager component, consolidating socket management functionality within the StoreSyncer component.
- Updated StoreSyncer to include both Master and Slave functionalities for improved state synchronization across the application.
* refactor: update environment configuration and remove Crowdin integration
- Updated the .env.example file to include new environment variables for static files and i18n settings, replacing the deprecated Crowdin settings.
- Modified next.config.ts and src/env.ts to reflect the removal of Crowdin integration and the addition of I18N_BASE_URL and DOCS_BASE_URL.
- Adjusted README.md to document the new environment variables for better clarity.
- Removed unused localization files and related code, streamlining the i18n implementation.
- Updated GitHub workflows to accommodate the new environment variable structure.
* refactor: update API endpoints to use environment configuration
- Modified the useCountries and useStaffList hooks to fetch data from the new environment-based API endpoints, enhancing flexibility and maintainability.
- Replaced hardcoded URLs with dynamic references to DOCS_BASE_URL, ensuring consistency across the application.
* docs: update README.md to clarify environment variable settings
- Revised the server settings section for improved clarity, removing unnecessary comments and adding descriptions for new environment variables.
- Updated the i18n settings to include the new DOCS_BASE_URL and clarified the usage of I18N_BASE_URL for static file fetching.
- Simplified the build instructions by consolidating commands for better readability.
* refactor: update environment variable settings for static files and i18n
- Revised .env.example and README.md to simplify the base URLs for static files and i18n, removing unnecessary paths.
- Updated next.config.ts and src/env.ts to ensure DOCS_BASE_URL and I18N_BASE_URL are required environment variables.
- Adjusted i18n index to remove fallback for I18N_BASE_URL, ensuring stricter type enforcement.
* refactor: streamline base URL retrieval in i18n index
- Removed the getBaseUrl function, directly accessing I18N_BASE_URL from the Env module to simplify the code.
- Ensured stricter type enforcement by eliminating unnecessary fallback logic for I18N_BASE_URL.
* fix: correct alignment property in ChatHistory CSS
- Updated the alignment property in the .message-date class from 'end' to 'flex-end' for improved layout consistency.
- Added a newline at the end of the file to adhere to coding standards.
* refactor: remove SVG conversion script and related npm script
- Deleted the webp-to-svg conversion script from the scripts directory to streamline the codebase.
- Removed the corresponding npm script for SVG conversion from package.json, simplifying build commands.
* refactor: integrate auto-updater functionality into main electron file
- Moved auto-updater logic from auto-updater.ts to electron.ts, consolidating update management within the main application file.
- Updated the checkForUpdates, startCheckForUpdates, and stopCheckForUpdates functions to maintain existing functionality.
- Adjusted import statements across various files to reflect the new structure, ensuring seamless integration of update features.
* refactor: enhance i18n integration and update dialog labels in electron and web files
- Updated import statements to include i18nReady for improved internationalization readiness.
- Modified dialog titles and messages in electron.ts to use namespaced keys for better organization.
- Adjusted the onReady function in web.ts to ensure environment loading and i18n readiness are handled asynchronously.
* fix: correct tray icon logic in electron.ts
- Updated the tray icon path assignment to use the internal _isLogin state instead of the function parameter, ensuring accurate icon display based on user login status.
* feat: implement profile-based user data path and protocol handling in electron.ts
- Added support for profile-based user data paths, allowing different configurations based on the provided profile argument.
- Enhanced protocol handling to manage deep links and local resource fetching, improving application responsiveness to external requests.
- Updated the main title and version title to reflect the active profile, ensuring clarity in the application branding.
* refactor: remove waitForPort function and streamline net import in electron.ts
- Eliminated the waitForPort function to simplify the codebase, as it was no longer necessary for port checking.
- Updated the import statement to directly use 'net' from 'electron' instead of aliasing it, enhancing clarity and consistency in the code.
* refactor: rename target to receiver in friend application popups and related functions
- Updated function parameters and variable names from 'target' to 'receiver' in friend application popups for clarity and consistency.
- Adjusted related components and functions to reflect the new naming convention, enhancing code readability and maintainability.
- Removed unused imports and streamlined the code in several sections to improve overall performance.
* style: sorting action.ts
* refactor: simplify function parameters in action.ts and related components
- Removed unnecessary parameters from several functions in action.ts, enhancing clarity and reducing complexity.
- Updated related components and hooks to align with the new function signatures, improving overall code maintainability.
- Streamlined context menu integration by removing unused user and server parameters, ensuring a cleaner implementation.
* docs: add i18n localStorage cache design spec
* docs: add i18n localStorage cache implementation plan
* feat(i18n): add localStorage cache helpers
* feat(i18n): add manifest.json version check for cache invalidation
* feat(i18n): use localStorage cache in HttpBackend
* feat(i18n): await version check before i18next init
* docs: add i18n storage abstraction spec and plan
* feat(i18n): add environment-aware storage abstraction
* feat(i18n): use storage abstraction, fix DOCS_BASE_URL bug
* refactor(i18n): streamline language handling and storage logic
- Replaced direct i18n language calls with a centralized changeLanguage function for better maintainability.
- Updated language retrieval in the registration process to use system settings instead of i18n directly.
- Introduced a NoopStorage class for scenarios where no storage is needed, enhancing the storage abstraction.
- Adjusted cache version check to use DOCS_BASE_URL instead of I18N_BASE_URL, fixing a potential bug.
* refactor: update imports and streamline context menu handling
- Changed import paths for Logger and Env to use the utils directory for better organization.
- Removed unnecessary translation function calls in several components, simplifying timestamp formatting.
- Introduced a new ContextMenu class to centralize context menu management, enhancing maintainability and readability.
- Updated various components to utilize the new context menu structure, improving code consistency.
* feat(api): implement loader functions for member and server operations
- Added new loader functions to handle member applications, friend applications, channel settings, and server settings.
- Introduced functions for managing direct messages, editing channel orders, and user information retrieval.
- Updated import paths in popup files to reference the new loader module for improved organization.
* refactor(api): remove unused authentication and data API files
- Deleted obsolete authentication functions and data retrieval methods to streamline the API structure.
- Cleaned up the loader module by removing unnecessary imports and functions, enhancing maintainability.
- Updated various components to reflect the removal of these API methods, ensuring consistency across the codebase.
* chore(deps): remove zod from dependencies in package.json and yarn.lock
- Deleted zod from both package.json and yarn.lock to clean up unused dependencies, reducing project bloat.
* refactor(env): remove I18N_BASE_URL from environment configuration
- Deleted I18N_BASE_URL from .env.example, next.config.ts, and various workflow files to streamline environment settings.
- Updated i18n handling in the codebase to use DOCS_BASE_URL instead, ensuring consistency and reducing redundancy.
* chore(deps): update package resolutions in yarn.lock
- Changed package resolutions in yarn.lock to use the Yarn registry instead of npm for several dependencies, ensuring consistency in package management.
- Updated integrity hashes for affected packages to reflect the new resolutions.
* refactor(i18n): update time difference formatting for translations
- Changed the structure of time difference intervals to use translation keys instead of direct labels, enhancing localization support.
- Updated the return format for time differences to utilize the new translation keys, improving consistency in language handling.
* refactor(i18n): enhance time difference translation handling
- Updated the time difference formatting to utilize translation parameters, improving localization support.
- Ensured consistency in language handling by adopting a parameterized approach for count values in translations.
* refactor(context-menu): simplify channel creation option handling
- Updated the context menu options for channel creation across multiple components to remove unnecessary channelId parameters, enhancing consistency in function calls.
- Modified the createChannel function to accept an optional channelId, improving flexibility in channel management.
- Cleaned up the DirectMessagePopup component by removing unused friend state and related effects, streamlining the codebase.
* refactor(direct-message): update shake window functionality and file upload handling
- Modified SHAKE_COOLDOWN to be in milliseconds for improved timing accuracy.
- Replaced cooldown state with canShakeWindow state to manage shake window interactions more effectively.
- Introduced file input handling for image uploads, including validation for file size and integration with the messaging editor.
- Cleaned up unused cooldown references and adjusted related logic for better performance and readability.
* docs: add CSS module naming convention
* refactor(css): standardize naming in components ActionLink–FriendTab
Remove component-name prefixes, pluralize corrections, and apply
full-word conventions across 9 CSS modules and their TSX consumers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(css): fix missed renames in FriendGroupTab
* refactor(css): standardize naming in components Header–UserTab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(css): rename and define missing ServerSearchBar dropdown-item-id sub-classes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(css): standardize naming in page-components
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(css): correct ChangeServer TSX class references body and footer
* refactor(css): standardize naming in popups About–EditChannelOrder
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(css): standardize naming in popups InviteFriend–UserInfo
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(css): remove unused avatar-related styles from globals.css
* refactor(css): clean up and standardize styles across various components
- Adjusted formatting in storage.ts for consistency.
- Updated CSS styles in Friend, Server, ApplyFriend, ApplyMember, EditChannelOrder, UserInfo, and region.ts for improved readability and organization.
- Ensured proper newline endings in CSS files.
* docs: add CSS Module Naming Standardization implementation plan
- Introduced a comprehensive plan for standardizing CSS module naming conventions across the project.
- Defined rules for naming, including kebab-case usage, removal of component-name prefixes, and guidelines for self-descriptive names.
- Included step-by-step instructions for executing the renaming tasks and updating TSX references accordingly.
* refactor(css): update class names and styles in FriendGroupTab for consistency
- Renamed CSS classes for friend count and content to improve clarity and adhere to naming standards.
- Added overflow handling and text styling to the label for better UI presentation.
- Ensured consistent use of class names in the FriendGroupTab component.
* refactor(SearchUserPopup): enhance error handling and update class names
- Improved error handling in the searchUser function to provide user feedback when no target is found or when an error occurs during the API call.
- Updated class names for error display to enhance clarity and maintain consistency with naming conventions.
* fix(yarn.lock): update register-scheme dependency resolution URL
- Changed the resolution URL for the register-scheme package from a GitHub link to a direct npm registry link for improved reliability and consistency in package management.
* chore(package.json): update version and add resolutions for register-scheme
- Bumped the version to 0.3.20-dev.20260512.
- Added resolutions field to specify a direct npm registry link for the register-scheme package.
* feat(i18n): implement environment-aware storage abstraction
- Created a new storage abstraction to replace hardcoded localStorage calls with an interface that adapts to the environment (renderer/web vs Electron main process).
- Introduced LocalStorageAdapter and FsAdapter to handle storage operations based on the execution context.
- Updated i18n logic to utilize the new storage abstraction, removing unnecessary isElectron checks and fixing a bug in cache version checking.
- Ensured that the i18n initialization process awaits storage loading before proceeding, enhancing reliability and performance.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 4df3585 commit 377a40e
1,716 files changed
Lines changed: 1316009 additions & 47312 deletions
File tree
- .github/workflows
- .vscode
- docs
- superpowers/plans
- public
- card
- channel
- ctrl
- default
- im
- skin
- vipemotions
- viptextbkg
- src
- api
- app
- auth
- popup
- components
- ActionLink
- AnnouncementEditor
- AuthHeader
- BadgeInfoCard
- BadgeItem
- BadgeList
- CategoryTab
- ChannelTab
- ColorPicker
- ContextMenu
- EmbedLinkInput
- EmojiPicker
- FriendActivity
- FriendGroupTab
- FriendTab
- Header
- ImageViewer
- LevelIcon
- LoadingOverlay
- LoadingSpinner
- MarkdownContent
- MaximizedPopup
- MessageContent
- MessageInputBox
- MicContextMenu
- MicVolumeSlider
- NotificationMenu
- NotificationToaster
- PopupHeader
- QueueUserTab
- ServerList
- ServerSearchBar
- ShowFrame
- SocketManager
- SpeakerVolumeSlider
- StatusDropdown
- StoreSyncer
- UnreadMessageAlert
- UserInfoCard
- UserTab
- common
- configs
- constants
- electron
- extensions
- hooks
- ContextMenus
- ctxMenus
- i18n
- locales
- en-US
- es-ES
- fa-IR
- ja-JP
- pt-BR
- ru-RU
- tr-TR
- zh-CN
- zh-TW
- ipc
- main
- accounts
- api
- app
- auth
- customThemes
- discord
- env
- error
- misc
- network
- popup
- record
- socket
- storeState
- systemSettings
- tray
- window
- page-components
- ChangeServer
- Friend
- Home
- Login
- Register
- Server
- pages
- popups
- About
- ApplyFriend
- ApplyMember
- ApproveFriend
- BlockMember
- ChangeTheme
- ChannelEvent
- ChannelPassword
- ChannelSetting
- ChatHistory
- CreateChannel
- CreateFriendGroup
- CreateServer
- Dialog
- DirectMessage
- EditChannelName
- EditChannelOrder
- EditFriendGroupName
- EditFriendNote
- EditNickname
- FriendVerification
- ImageCropper
- InviteFriend
- InviteMember
- KickMemberFromChannel
- KickMemberFromServer
- MemberApplicationSetting
- MemberInvitation
- NetworkDiagnosis
- RTCDisconnect
- SearchUser
- ServerAnnouncement
- ServerApplication
- ServerBroadcast
- ServerSetting
- SystemSetting
- UserInfo
- providers
- services
- store
- slices
- styles
- types
- utils
- web
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | | - | |
48 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
113 | | - | |
| 112 | + | |
| 113 | + | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
135 | | - | |
136 | | - | |
| 134 | + | |
137 | 135 | | |
138 | 136 | | |
139 | 137 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
0 commit comments