Skip to content

Commit b2ed279

Browse files
JoshHuang9508zhchentwcstrikeasia
authored
Release 0.3.10
* fix: adjust broadcast duration limit to allow custom seconds * refactor: remove sort-json script and clean up package.json - Deleted the unused sort-json.cjs script to streamline the codebase. - Updated package.json by removing the associated "sort" script while retaining the "format" script for code formatting consistency. * feat: add comprehensive localization support with new translations - Introduced new translation files for multiple languages including English, Spanish, Portuguese, Persian, Russian, Turkish, Japanese, and Chinese (Simplified and Traditional). - Added app, privacy, terms, and website localization files for each language to enhance user experience and accessibility. - Updated existing translation keys and improved consistency across language files for better localization management. * fix: direct action area (#236) Co-authored-by: Miyashooooo <cstrike.asia@gmail.com> * fix: adjustable table column (#237) * fix: member table * feat: enhance member management tables with dynamic column resizing - Introduced new constants for member management, application management, and blocked member management table fields. - Updated ChannelSetting and ServerSetting components to utilize these constants for column width management. - Implemented dynamic resizing functionality for member and block member columns, improving user experience. - Refactored related CSS styles for better table layout and interaction. * refactor: update table column styles for consistent width management - Changed column styling in ChannelSetting and ServerSetting components from flex to width for better layout control. - Enhanced readability and maintainability of table structures by standardizing column width definitions across member management tables. --------- Co-authored-by: Miyashooooo <cstrike.asia@gmail.com> * style: format * refactor: update table column widths and improve click handling in popups - Adjusted minimum widths for 'permission' and 'contribution' fields in MEMBER_MANAGEMENT_TABLE_FIELDS for better layout. - Simplified click handling by moving the onClick event directly to the <th> elements in ChannelSetting and ServerSetting components, enhancing user interaction. - Updated CSS styles to ensure consistent table layout and responsiveness. * refactor: streamline action area styles and improve animation keyframes * fix: prevent toggling mixing mode when microphone is not available * fix: permission icon (#238) Co-authored-by: Miyashooooo <cstrike.asia@gmail.com> * feat: channel event (#239) * feat: add channel event popup (UI & functionality incomplete) * feat: add channel event popup - add original channel event feature - improve UX: realtime event updates and current channel display * feat: search user * fix: correct block member context menu validation logic * fix: channel event * refactor: improve ChannelEventPopup UI and styles - Updated action content rendering to use div elements for better styling and layout. - Enhanced CSS styles for action content, including alignment and padding adjustments. - Modified user detail width for improved responsiveness. - Ensured consistent text alignment and overflow handling in action content. * style: enhance current channel styling - Adjusted padding for the current channel to improve layout. - Added alignment for better visual consistency in the channel event display. --------- Co-authored-by: zhChen <eric0406qq@gmail.com> Co-authored-by: Miyashooooo <cstrike.asia@gmail.com> * feat: add 'createdAt' field and adjust column widths in management tables * refactor: update channel event handling and improve state management * style: add minimum height to message content components for improved layout consistency * feat: implement API and authentication services - Added api.service.ts for handling API requests with GET, POST, and PATCH methods, including error handling and retry logic. - Introduced auth.service.ts for user authentication, including registration, login, and auto-login functionalities. - Created data.service.ts for managing user and server-related data retrieval. - Implemented discord.ts for Discord RPC integration, allowing presence updates. - Added env.ts for environment variable management with validation. - Integrated i18n support in main.ts for internationalization. - Updated package.json and tsconfig files for improved module resolution and paths. - Refactored existing components to utilize new services and improve code organization. * chore: remove unused Dockerfile and Crowdin configuration * style: code style * feat: add official badge icon and update CSS styles * chore: update localization * chore: update version to 0.3.10-dev.20251206 in package.json * feat: implement main application logic and services - Added main.ts as the entry point for the Electron application, integrating various services and configurations. - Introduced api.service.ts for handling API requests with error handling and retry logic. - Created auth.service.ts for user authentication, including registration and login functionalities. - Implemented data.service.ts for managing user and server-related data retrieval. - Added discord.ts for Discord RPC integration, allowing presence updates. - Integrated environment variable management in env.ts with validation. - Established internationalization support in i18n.ts for multiple languages. - Updated package.json and tsconfig.electron.json for improved module resolution and paths. - Refactored existing components to utilize new services and improve code organization. * chore: update copyright information and refactor build configuration - Changed copyright text from "Copyright © 2025 null" to "Copyright © 2025 RiceCall". - Refactored build configuration for Windows, macOS, and Linux to specify target architectures for each build type. - Simplified extraResources configuration for environment files. * chore: update localization * feat: add position localization support for multiple languages - Introduced position.json files for English, Spanish, Persian, Portuguese, Russian, Turkish, Chinese (Simplified and Traditional), and Japanese locales. - Updated i18n index to include 'position' namespace for localization. - Modified About component to utilize new position translations for staff titles. - Enhanced CSS styles for better presentation of staff information. * perf: transfer all image to webp to minimize image source size * refactor: home page UI (#240) * refactor: HomePage UI (initial design) - move recommended servers section to the bottom of HomePage - consolidate related CSS styles into home.module.css * feat: add banner viewer on home page * refactor: update HomePage layout and styles - Changed the class name for the recommended server label to 'server-list-title' for better clarity. - Removed the commented-out recommended servers section from the HomePage. - Consolidated CSS styles for the server list title to match the updated layout, ensuring consistent styling across the component. * refactor: enhance ServerList layout and improve HomePage structure - Updated ServerList component to use a fragment for cleaner JSX structure. - Wrapped server cards in a new container div for better styling and layout management. - Adjusted HomePage layout by adding a wrapper div around multiple ServerList components for improved organization and styling consistency. - Removed unnecessary commented-out code to streamline the component. * feat: add back navigation to HomePage and update localization - Introduced a new "back" button in the HomePage for improved navigation. - Updated localization file for Traditional Chinese to include the new "back" translation. - Enhanced CSS styles for the back button to include an icon for better visual representation. * feat: add recommended server categories and enhance HomePage functionality - Introduced a new constant for recommended server categories to improve organization and maintainability. - Updated HomePage to utilize the new recommended server category tabs for better user navigation. - Refactored state management for selected announcements to enhance clarity and functionality. - Improved CSS styles for the announcement detail wrapper to ensure proper layering and visibility. * style: enhance card styles on HomePage - Added border-radius and transition effects to card elements for improved aesthetics. - Implemented hover effects to scale and add shadow, enhancing user interaction feedback. * fix: improve navigation logic for announcements on HomePage - Updated the next and previous announcement navigation functions to loop around when reaching the start or end of the list. - Removed conditional rendering for navigation button visibility to ensure consistent user experience. * refactor: home page UI - style: adjust recommend server category - feat: add official server content - fix: translation content * fix: channel mic bar * feat: enhance localization support and update HomePage functionality - Added a new LANGUAGES constant to manage language options for the application. - Updated HomePage to utilize the LANGUAGES constant for improved language selection and state management. - Refactored imports to streamline code organization and enhance clarity. * style: update padding and border styles in home.module.css - Reduced padding for announcement-type and recommend-server-tab classes for a more compact design. - Increased border thickness for both classes to enhance visibility. - Added new lines for better code formatting consistency. * style: update recommend-server-tab layout in home.module.css - Added flex display and center alignment to the recommend-server-tab class for improved layout and visual consistency. - Enhanced padding and border styles for better aesthetics. * feat: add ricecall logo and enhance announcement display on HomePage - Introduced a new ricecall logo image to be displayed in the announcement section. - Refactored the announcement rendering logic to utilize a dedicated function for improved readability and maintainability. - Updated CSS styles for the banner to enhance visual presentation and alignment of text and logo. * refactor: replace ricecall logo to webp * fix: build * refactor: improve announcement navigation and display logic on HomePage - Replaced direct scroll logic with state management for selected announcement index, enhancing readability and maintainability. - Updated the announcement display to conditionally render background images based on attachment presence. - Adjusted CSS for banner background size to 'contain' for better visual presentation. --------- Co-authored-by: zhChen <eric0406qq@gmail.com> Co-authored-by: Miyashooooo <cstrike.asia@gmail.com> * chore: sort localization files * refactor: rename language state to region in HomePage * feat: enhance language management and localization support - Introduced a new getLanguage function in main.ts to determine the user's language based on the app's locale. - Updated HomePage to set the region to 'en-US' if no matching language is found. - Removed the LANGUAGES constant from i18n/index.ts to streamline language handling. - Refactored initMainI18n to accept LanguageKey type for better type safety. * chore: update version to 0.3.10-dev.20251207 in package.json * fix: channel event update online member logic * refactor: clean up ChannelMessageContent layout and enhance Server page styles - Removed unnecessary min-height div from ChannelMessageContent. - Added a min-height div to the Server page for better spacing. - Updated CSS to improve layout with flex-direction adjustments and added styles for close button interactions. * refactor: adjust layout in DirectMessage components - Removed unnecessary min-height div from DirectMessageContent for cleaner layout. - Added a min-height div in DirectMessage popup to maintain consistent spacing. - Updated CSS for message area to use flex-direction column for improved scrolling behavior. * feat: add kick member functionality and improve ChannelEvent layout - Introduced a new option to kick members from the server in the ChannelEvent popup. - Updated CSS to enhance layout, including a new space-between class for footer alignment and improved hover effects for event boxes. - Changed overflow behavior in event list from scroll to auto for better usability. * feat: add announcement slide interval constant and update HomePage logic - Introduced a new constant for the announcement slide interval set to 8000 milliseconds. - Updated HomePage to utilize the new constant for managing announcement transitions. - Refactored the announcement rendering function for cleaner JSX structure. * feat: add friends reference and friend activity structure - Introduced a new friendsRef to manage friend data within the RootPageComponent. - Added a friendActivity function in the Default utility to create friend activity objects. - Updated useEffect to synchronize friendsRef with the current friends state. - Commented out logic for handling friend activity updates for future implementation. * feat: enhance banner styles and transitions - Added relative positioning to the banner for better layout control. - Introduced a new .banner-detail class for improved banner content styling. - Updated button transitions for smoother hover effects. - Adjusted navigation button positioning and added hover effects for better user interaction. * feat: update channel settings visibility logic - Enhanced the logic for displaying channel settings based on user permissions and channel visibility. - Adjusted the conditions to show additional options for non-private and non-readonly channels. * feat: add confirmation dialog for moving users between channels - Implemented a confirmation dialog when moving users to a channel, enhancing user experience and preventing accidental actions. - Updated the movable user ID logic to exclude the current user from the list of users that can be moved. - Added a new localization string for the confirmation message in Traditional Chinese. * fix: update font weight for home module styles - Changed font weight from 'bolder' to '900' in home.module.css for improved text rendering consistency. * refactor: improve user and channel management logic in tabs - Updated user and channel management logic across CategoryTab, ChannelTab, and ChannelList components to ensure proper handling of movable user IDs. - Refactored permission checks and conditions for displaying actions based on user roles and channel visibility. - Enhanced the drag-and-drop functionality for user movement between channels, ensuring a smoother user experience. * ditto * chore: update localization * chore: update version to 0.3.10 and README badge - Updated package version in package.json from 0.3.10-dev.20251207 to 0.3.10. - Changed the latest version badge in README.md to reflect the new version 0.3.10. * style: format with prettier * feat: replace img with next/image in ImageViewer component - Updated the ImageViewer component to use the Next.js Image component for optimized image loading and performance. - Adjusted the onClick event handling to prevent propagation when an image is clicked. --------- Co-authored-by: zhChen <eric0406qq@gmail.com> Co-authored-by: Miyashooooo <cstrike.asia@gmail.com>
1 parent d4f9931 commit b2ed279

1,227 files changed

Lines changed: 12452 additions & 6699 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Dockerfile

Lines changed: 0 additions & 16 deletions
This file was deleted.

README.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div height="20px"> </div>
44
<div>
55
<a title="Crowdin" target="_blank" href="https://discord.gg/adCWzv6wwS"><img src="https://img.shields.io/badge/Join-Discord-blue?logo=discord"/></a>
6-
<a title="Crowdin" target="_blank" href="https://ricecall.com"><img src="https://img.shields.io/badge/Latest-0.3.9-green"/></a>
6+
<a title="Crowdin" target="_blank" href="https://ricecall.com"><img src="https://img.shields.io/badge/Latest-0.3.10-green"/></a>
77
<a title="Crowdin" target="_blank" href="https://crowdin.com"><img src="https://badges.crowdin.net/ricecall/localized.svg"></a>
88
</div>
99
</div>
@@ -56,38 +56,36 @@ Please read the documentation before downloading.
5656

5757
```bash
5858
RiceCall
59+
├── .github/ # CI/CD workflows and issue templates
60+
├── build/ # Electron build artifacts (local)
5961
├── build_deb/ # Linux post-install scripts
6062
├── public/ # Static assets (images, icons, fonts, etc.)
6163
├── resources/ # Electron packaging resources
6264
├── scripts/ # Development and maintenance scripts
6365
├── src/
64-
│ ├── app/ # Entry pages for the Next.js App Router
65-
│ ├── components/ # Reusable React components
66+
│ ├── app/ # Next.js App Router entry pages/layout
67+
│ ├── components/ # Reusable UI components
6668
│ ├── extensions/ # TipTap editor extensions
67-
│ ├── i18n/ # i18n initialization and translations
68-
│ ├── pages/ # Legacy pages integrated with Electron
69+
│ ├── i18n/ # Client i18n setup and translations
70+
│ ├── main/ # Electron main-process helpers/services
71+
│ ├── pages/ # Legacy renderer pages integrated with Electron
6972
│ ├── popups/ # Popup view components
7073
│ ├── providers/ # React context providers
71-
│ ├── services/ # API and IPC service layer
72-
│ ├── styles/ # CSS and styling assets
74+
│ ├── services/ # IPC bridge for renderer
75+
│ ├── styles/ # Global styles and CSS modules
7376
│ ├── types/ # Shared TypeScript types
7477
│ ├── utils/ # Utility functions
78+
│ ├── constant.ts # Shared constants
7579
│ ├── emojis.ts # Emoji definitions
7680
│ └── next-env.d.ts # Next.js environment type declarations
77-
├── crowdin.yml # Crowdin localization configuration
7881
├── dev-app-update.yml # Electron auto-update configuration
79-
├── discord.ts # Discord Rich Presence integration
80-
├── Dockerfile # Docker deployment configuration
8182
├── electron-builder.json # Electron packaging configuration
8283
├── electron-builder-dev.json # Electron packaging configuration for dev builds
83-
├── env.ts # Environment variable loader
8484
├── eslint.config.mjs # ESLint configuration
85-
├── i18n.ts # i18n bootstrap for CLI/scripts
8685
├── LICENSE # Project license
8786
├── main.ts # Electron main-process entry point
8887
├── next.config.ts # Next.js configuration
8988
├── package.json # Dependencies and npm/yarn scripts
90-
├── socket.ts # Socket bootstrap
9189
├── tsconfig.electron.json # TypeScript config for the Electron main process
9290
├── tsconfig.json # TypeScript config for the renderer
9391
└── yarn.lock # Dependency lockfile

crowdin.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

electron-builder-dev.json

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
11
{
22
"appId": "com.null.rcvoice",
33
"productName": "RiceCall",
4-
"copyright": "Copyright © 2025 null",
4+
"copyright": "Copyright © 2025 RiceCall",
55
"directories": {
66
"output": "dist"
77
},
88
"files": ["build/**/*", "out/**/*", "resources/**/*", "package.json"],
99
"asar": true,
1010
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
1111
"extraResources": [
12-
{
13-
"from": ".env",
14-
"to": "app.env"
15-
},
16-
{
17-
"from": ".env.dev",
18-
"to": "app.env.dev"
19-
}
12+
{ "from": ".env", "to": "app.env" },
13+
{ "from": ".env.dev", "to": "app.env.dev" }
2014
],
2115
"nsis": {
2216
"oneClick": false,
@@ -26,27 +20,27 @@
2620
},
2721
"win": {
2822
"icon": "./resources/icon.ico",
29-
"target": ["nsis", "portable"]
23+
"target": [
24+
{ "target": "nsis", "arch": ["x64", "ia32"] },
25+
{ "target": "portable", "arch": ["x64", "ia32"] }
26+
]
3027
},
3128
"mac": {
3229
"icon": "./resources/icon.icns",
3330
"category": "public.app-category.social-networking",
34-
"target": ["dmg", "zip"]
31+
"target": [
32+
{ "target": "dmg", "arch": ["arm64", "x64"] },
33+
{ "target": "zip", "arch": ["arm64", "x64"] }
34+
]
3535
},
3636
"linux": {
3737
"icon": "./resources/icon.png",
3838
"category": "Network",
39-
"target": ["AppImage", "rpm", "zip"]
40-
},
41-
"deb": {
42-
"desktop": {
43-
"Path": "/opt/RiceCall",
44-
"Name": "RiceCall",
45-
"Keywords": ["ricecall", "rc"],
46-
"Icon": "/usr/share/icons/hicolor/300x300/apps/ricecall.png"
47-
},
48-
"description": "Ricecall is a voice chat app that allows you to chat with your friends.",
49-
"fpm": ["--after-install=build_deb/after-install.sh"]
39+
"target": [
40+
{ "target": "AppImage", "arch": ["x64"] },
41+
{ "target": "rpm", "arch": ["x64"] },
42+
{ "target": "zip", "arch": ["x64"] }
43+
]
5044
},
5145
"publish": [
5246
{

electron-builder.json

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
11
{
22
"appId": "com.null.rcvoice",
33
"productName": "RiceCall",
4-
"copyright": "Copyright © 2025 null",
4+
"copyright": "Copyright © 2025 RiceCall",
55
"directories": {
66
"output": "dist"
77
},
88
"files": ["build/**/*", "out/**/*", "resources/**/*", "package.json"],
99
"asar": true,
1010
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
1111
"extraResources": [
12-
{
13-
"from": ".env",
14-
"to": "app.env"
15-
},
16-
{
17-
"from": ".env.dev",
18-
"to": "app.env.dev"
19-
}
12+
{ "from": ".env", "to": "app.env" },
13+
{ "from": ".env.dev", "to": "app.env.dev" }
2014
],
2115
"nsis": {
2216
"oneClick": false,
@@ -26,17 +20,27 @@
2620
},
2721
"win": {
2822
"icon": "./resources/icon.ico",
29-
"target": ["nsis", "portable"]
23+
"target": [
24+
{ "target": "nsis", "arch": ["x64", "ia32"] },
25+
{ "target": "portable", "arch": ["x64", "ia32"] }
26+
]
3027
},
3128
"mac": {
3229
"icon": "./resources/icon.icns",
3330
"category": "public.app-category.social-networking",
34-
"target": ["dmg", "zip"]
31+
"target": [
32+
{ "target": "dmg", "arch": ["arm64", "x64"] },
33+
{ "target": "zip", "arch": ["arm64", "x64"] }
34+
]
3535
},
3636
"linux": {
3737
"icon": "./resources/icon.png",
3838
"category": "Network",
39-
"target": ["AppImage", "rpm", "zip"]
39+
"target": [
40+
{ "target": "AppImage", "arch": ["x64"] },
41+
{ "target": "rpm", "arch": ["x64"] },
42+
{ "target": "zip", "arch": ["x64"] }
43+
]
4044
},
4145
"deb": {
4246
"desktop": {

i18n.ts

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)