Merge branch 'develop' into feature/i18n-languages

This commit is contained in:
nico.benaz 2025-04-21 14:49:12 +02:00 committed by GitHub
commit b68849592e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 171 additions and 94 deletions

84
docs/contribution.md Normal file
View File

@ -0,0 +1,84 @@
# 🤝 Contributing Guide
Thank you for your interest in contributing! We follow a structured Git workflow to keep the project clean, stable, and production-ready at all times.
---
## 📦 Branch Overview
| Branch | Purpose |
|------------------|----------------------------------------------------------|
| `master` | Stable, production-ready code. All releases are tagged from here. |
| `develop` | Active development branch. All new features go here first. |
| `release/x.y.z` | Pre-release branch for staging, QA, and final polish. |
---
## 🌿 Creating a Feature or Fix
1. **Start from `develop`:**
```bash
git checkout develop
git checkout -b feature/your-feature-name
```
2. **Make your changes and commit them.**
3. **Push your branch:**
```bash
git push origin feature/your-feature-name
```
4. **Open a Pull Request into `develop`.**
---
## 🚀 Releasing Code (Maintainers Only)
A new `release/x.y.z` branch must be created for **every release**.
1. **Create a `release/` branch from `master`:**
```bash
git checkout master
git checkout -b release/1.2.0
```
2. **Merge in `develop` or selected branches if `develop` is not ready:**
```bash
git merge develop
# or
git merge feature/finished-feature
git merge feature/another-complete-feature
```
3. **Polish, test, and fix issues as needed.**
4. **Merge back into `develop`:**
```bash
git checkout develop
git merge release/1.2.0
git push origin develop
```
5. **Finalize the release:**
```bash
git checkout master
git merge release/1.2.0
git tag v1.2.0
git push origin master --tags
```
6. **Delete the release branch:**
```bash
git branch -d release/1.2.0
git push origin --delete release/1.2.0
```

View File

@ -2235,42 +2235,40 @@ export const Group = ({
: '0px',
}}
>
{
<DesktopHeader
isPrivate={isPrivate}
selectedGroup={selectedGroup}
groupSection={groupSection}
isUnread={isUnread}
goToAnnouncements={goToAnnouncements}
isUnreadChat={isUnreadChat}
goToChat={goToChat}
goToThreads={goToThreads}
setOpenManageMembers={setOpenManageMembers}
groupChatHasUnread={groupChatHasUnread}
groupsAnnHasUnread={groupsAnnHasUnread}
directChatHasUnread={directChatHasUnread}
chatMode={chatMode}
openDrawerGroups={openDrawerGroups}
goToHome={goToHome}
setIsOpenDrawerProfile={setIsOpenDrawerProfile}
mobileViewMode={mobileViewMode}
setMobileViewMode={setMobileViewMode}
setMobileViewModeKeepOpen={setMobileViewModeKeepOpen}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
hasUnreadDirects={directChatHasUnread}
myName={userInfo?.name || null}
isHome={groupSection === 'home'}
isGroups={desktopSideView === 'groups'}
isDirects={desktopSideView === 'directs'}
setDesktopSideView={setDesktopSideView}
hasUnreadAnnouncements={isUnread}
isAnnouncement={groupSection === 'announcement'}
isChat={groupSection === 'chat'}
hasUnreadChat={isUnreadChat}
setGroupSection={setGroupSection}
isForum={groupSection === 'forum'}
/>
}
<DesktopHeader
isPrivate={isPrivate}
selectedGroup={selectedGroup}
groupSection={groupSection}
isUnread={isUnread}
goToAnnouncements={goToAnnouncements}
isUnreadChat={isUnreadChat}
goToChat={goToChat}
goToThreads={goToThreads}
setOpenManageMembers={setOpenManageMembers}
groupChatHasUnread={groupChatHasUnread}
groupsAnnHasUnread={groupsAnnHasUnread}
directChatHasUnread={directChatHasUnread}
chatMode={chatMode}
openDrawerGroups={openDrawerGroups}
goToHome={goToHome}
setIsOpenDrawerProfile={setIsOpenDrawerProfile}
mobileViewMode={mobileViewMode}
setMobileViewMode={setMobileViewMode}
setMobileViewModeKeepOpen={setMobileViewModeKeepOpen}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
hasUnreadDirects={directChatHasUnread}
myName={userInfo?.name || null}
isHome={groupSection === 'home'}
isGroups={desktopSideView === 'groups'}
isDirects={desktopSideView === 'directs'}
setDesktopSideView={setDesktopSideView}
hasUnreadAnnouncements={isUnread}
isAnnouncement={groupSection === 'announcement'}
isChat={groupSection === 'chat'}
hasUnreadChat={isUnreadChat}
setGroupSection={setGroupSection}
isForum={groupSection === 'forum'}
/>
<Box
sx={{
@ -2521,64 +2519,59 @@ export const Group = ({
</>
)}
{
<AppsDesktop
toggleSideViewGroups={toggleSideViewGroups}
toggleSideViewDirects={toggleSideViewDirects}
goToHome={goToHome}
mode={appsMode}
setMode={setAppsMode}
setDesktopSideView={setDesktopSideView}
hasUnreadDirects={directChatHasUnread}
show={desktopViewMode === 'apps'}
myName={userInfo?.name}
isGroups={isOpenSideViewGroups}
isDirects={isOpenSideViewDirects}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
setDesktopViewMode={setDesktopViewMode}
isApps={desktopViewMode === 'apps'}
desktopViewMode={desktopViewMode}
/>
}
{
<AppsDevMode
toggleSideViewGroups={toggleSideViewGroups}
toggleSideViewDirects={toggleSideViewDirects}
goToHome={goToHome}
mode={appsModeDev}
setMode={setAppsModeDev}
setDesktopSideView={setDesktopSideView}
hasUnreadDirects={directChatHasUnread}
show={desktopViewMode === 'dev'}
myName={userInfo?.name}
isGroups={isOpenSideViewGroups}
isDirects={isOpenSideViewDirects}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
setDesktopViewMode={setDesktopViewMode}
desktopViewMode={desktopViewMode}
isApps={desktopViewMode === 'apps'}
/>
}
{
<HomeDesktop
name={userInfo?.name}
refreshHomeDataFunc={refreshHomeDataFunc}
myAddress={myAddress}
isLoadingGroups={isLoadingGroups}
balance={balance}
userInfo={userInfo}
groups={groups}
setGroupSection={setGroupSection}
setSelectedGroup={setSelectedGroup}
getTimestampEnterChat={getTimestampEnterChat}
setOpenManageMembers={setOpenManageMembers}
setOpenAddGroup={setOpenAddGroup}
setMobileViewMode={setMobileViewMode}
setDesktopViewMode={setDesktopViewMode}
desktopViewMode={desktopViewMode}
/>
}
<AppsDesktop
toggleSideViewGroups={toggleSideViewGroups}
toggleSideViewDirects={toggleSideViewDirects}
goToHome={goToHome}
mode={appsMode}
setMode={setAppsMode}
setDesktopSideView={setDesktopSideView}
hasUnreadDirects={directChatHasUnread}
show={desktopViewMode === 'apps'}
myName={userInfo?.name}
isGroups={isOpenSideViewGroups}
isDirects={isOpenSideViewDirects}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
setDesktopViewMode={setDesktopViewMode}
isApps={desktopViewMode === 'apps'}
desktopViewMode={desktopViewMode}
/>
<AppsDevMode
toggleSideViewGroups={toggleSideViewGroups}
toggleSideViewDirects={toggleSideViewDirects}
goToHome={goToHome}
mode={appsModeDev}
setMode={setAppsModeDev}
setDesktopSideView={setDesktopSideView}
hasUnreadDirects={directChatHasUnread}
show={desktopViewMode === 'dev'}
myName={userInfo?.name}
isGroups={isOpenSideViewGroups}
isDirects={isOpenSideViewDirects}
hasUnreadGroups={groupChatHasUnread || groupsAnnHasUnread}
setDesktopViewMode={setDesktopViewMode}
desktopViewMode={desktopViewMode}
isApps={desktopViewMode === 'apps'}
/>
<HomeDesktop
name={userInfo?.name}
refreshHomeDataFunc={refreshHomeDataFunc}
myAddress={myAddress}
isLoadingGroups={isLoadingGroups}
balance={balance}
userInfo={userInfo}
groups={groups}
setGroupSection={setGroupSection}
setSelectedGroup={setSelectedGroup}
getTimestampEnterChat={getTimestampEnterChat}
setOpenManageMembers={setOpenManageMembers}
setOpenAddGroup={setOpenAddGroup}
setMobileViewMode={setMobileViewMode}
setDesktopViewMode={setDesktopViewMode}
desktopViewMode={desktopViewMode}
/>
</Box>
<AuthenticatedContainerInnerRight