Skip to content

Commit

Permalink
Release v2.5.9 (#1885)
Browse files Browse the repository at this point in the history
* TW-1772: Prevent infinity contact loop

* TW-1772: Show recent contact in contact tab

* TW-1772: Showing no contact in new chat screen

* TW-1772: Showing no contact in new group chat screen

* TW-1773: review load 0 more participants

* TW-1773: listen for roomMember change in chat details

* TW-1735: search external contact widget added on search view

* TW-1735: update matrix dart sdk

* TW-1780: Open screen can connect with Twake Workplace when add another account

* TW-1780: Add `app=chat` to parameter whenever call to signup in TWP

* TW-1785: Improve logout for multiple homeserver (#1788)

* Bump version to v2.5.4

* Update privacy welcome screen

* TW-1526: Fix Cannot unmute more than 2 chats at the same time

* Bump version to v2.5.5

* TW-1781: change the ci/cd to use flutter 3.22

* TW-1781: remove warning based on new lint version

* TW-1781: remove deprecated change to have new change

* TW-1781: fix the ci issue

* TW-1781: add deprecated and TODO for background and onBackground color

* TW-1781 Fix ci failed

* Bump version to v2.5.8

* TW-1645: Add counting selected image at send icon (#1803)

* TW-1645: Add counting selected image at send icon

* TW-1645: Add style file for `media_picker_mixin`

* TW-1645: Fix size for counter icon (#1816)

* TW-1615: Support auto jump to lastest message when user send an attachments  (#1810)

* TW-1615: Support auto jump to lastest message when user send an attachment

* TW-1615: Support auto jump to lastest message when use copy/paste

* hot-fix: members list always have to reload (#1801)

* TW-1793: recent chats are not recent (#1800)

* hot-fix: fix the index.html loading failed

* TW-1356: change action for profile tap

* TW-1356: update UI for multiple accounts in setting profile

* TW-1356: fix multiple accout with same homeserver can login

* TW-1356: fix the avatar not updated when app terminated

* hot-fix: fix the problem with index.html file

* TW-1635: remove the messages contains reply from search result (#1819)

* Switched runners to macos-latest (#1820)

* Update metadata to config store kit (#1843)

* TW-1698: Add minWidth for group details (#1809)

* hot-fix: fix the error l10n not found after build runner build (#1855)

* TW-1841: Fix back screen when use go_router and navigator (#1850)

* Removed xcbeautify installation because it's preinstalled on runners (#1865)

* TW-1787: Improve when leave chat (#1842)

* TW-1787: Move UI of action items into context menu widget

* TW-1787: Update context menu for chat screen

* TW-1787: Update context menu for chat list

* TW-1787: Update context menu for pinned screen

* TW-1812 Remove X from the search bar when it's empty (#1852)

* TW-1812 Remove X from the search bar when it's empty

* fixup! TW-1812 Remove X from the search bar when it's empty

* README.md

Updated picture as management asked to do

* Update Feature Graphic for fastlane metadata

* Improve tom bootstrap dialog (#979)

* Create init client dialog on mobile

* Implement new bootstrap dialog for mobile

* Implement new on auth screen for web

* Prevent back button and back android during loading in homeserver picker

* Fix dialog overlap when resizing screen

* Fix dialog overlap when resizing screen

* Handle error for `_getRecoveryWords`

* Handle error for Twake welcome screen

* TW-1644: allow access to the gallery is not center (#1815)

* TW-1644: allow access to the gallery is not center

* TW-1644: close the bottomsheet when go to settings

* TW-1644: update style for image picker

* TW-1602: when typing shift ctrl, the cursor is dissappear (#1853)

* TW-1825: Copy/paste not work in search screen (#1874)

* TW-1825: Fix search results aren't displayed correctly when copy/paste

* TW-1825: Write unit test for this case

* TW-1791: Improve display contacts on multiple homeserver (#1857)

* TW-1791: Refresh contacts when switch another account or login new account

* TW-1791: Write unit test for this case

* TW-1791: Refresh contacts when login or logout

* TW-1791: Fix missing `setUpToMServices` when switch account

* TW-1836: Move shared media to direct chat profile (#1856)

* TW-1836: Add shared media tabs into chat profile

* TW-1836: Delete Shared media screen

* TW-1836: Update `chat_details`

* TW-1869: can not open keyboard when tap on the textfield in IOS (#1877)

* Pinned Nix version to 2.22.1 to fix broken build (#1884)

Also bumped olm to 3.2.16

* TW-1806: fix image weird display on web (#1866)

* TW-1806: add support mime files for web platform, and util method to getTwake supported mimeType

* TW-1806: make image have width and height when the error image when display

* TW-1806: update mime type when drag/drop, paste and add file

* TW-1806: fix wrong display when send HEIC file in android

* TW-1806: display avif file in web

* TW-1806: if image viewer can't be display by real image, use thumbnail

* Tw 1750/improve when upload video (#1875)

* TW-1750: add metadate when sending file event

* TW-1750: fix typo error int videoMimeTypes

* TW-1587: Fix can't open chat when click on notification (#1867)

* TW-1777: Changing greeting message: include tag in greeting message (#1881)

* Bump version to 2.5.9

---------

Co-authored-by: HuyNguyen <[email protected]>
Co-authored-by: --global <[email protected]>
Co-authored-by: Dat PHAM HOANG <[email protected]>
Co-authored-by: sherlock <[email protected]>
Co-authored-by: Nguyen Thai <[email protected]>
Co-authored-by: Bùi Trung Hiếu <[email protected]>
Co-authored-by: KhaledNjim <[email protected]>
Co-authored-by: artembru <[email protected]>
  • Loading branch information
9 people authored Jun 21, 2024
1 parent 6e86875 commit 0c2ec78
Show file tree
Hide file tree
Showing 349 changed files with 8,556 additions and 2,849 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
name: Build

env:
FLUTTER_VERSION: 3.16.5
FLUTTER_VERSION: 3.22.2
XCODE_VERSION: ^15.0.1

jobs:
Expand All @@ -19,7 +19,7 @@ jobs:
- os: android
runner: ubuntu-latest
- os: ios
runner: macos-13
runner: macos-latest
fail-fast: false
steps:
- name: Checkout repository
Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: "temurin" # See 'Supported distributions' for available options
java-version: "11"
java-version: "17"

- name: Select Xcode version
if: matrix.os == 'ios'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gh-pages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ on:
pull_request:

env:
FLUTTER_VERSION: 3.16.5
FLUTTER_VERSION: 3.22.2
LIBOLM_VERSION: 3.2.16

name: Deploying on GitHub Pages
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
- "v*.*.*"

env:
FLUTTER_VERSION: 3.16.5
FLUTTER_VERSION: 3.22.2
XCODE_VERSION: ^15.0.1

name: Release
Expand All @@ -21,7 +21,7 @@ jobs:
- os: android
runner: ubuntu-latest
- os: ios
runner: macos-13
runner: macos-latest
fail-fast: false

steps:
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: "temurin" # See 'Supported distributions' for available options
java-version: "11"
java-version: "17"

- name: Select Xcode version
if: matrix.os == 'ios'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
name: Tests

env:
FLUTTER_VERSION: 3.16.5
FLUTTER_VERSION: 3.22.2

jobs:
code_analyze:
Expand Down
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@
.history
.svn/
prime

#generated file
*.g.dart
**/*.mocks.dart

# libolm package
/assets/js/package
Expand Down Expand Up @@ -61,5 +64,4 @@ ios/Podfile.lock
/linux/out
/macos/out
.vs
olm
test/interceptor/*.mocks.dart
olm
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
variables:
FLUTTER_VERSION: 3.16.5
FLUTTER_VERSION: 3.22.2

image:
name: cirrusci/flutter:${FLUTTER_VERSION}
Expand Down
45 changes: 44 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,47 @@
## [2.5.3+2330] - 2024-05-03
## [2.5.9+2330] - 2024-06-18

### Fixed
- #1615 Not auto jump to lastest message when user send an attachment in case user seeing older message
- members list always have to reload
- #1793 Recent contacts aren't recent
- #1356 Rework account picker
- #1635 Irrelevant search results
- #1698 Group details is small in width
- #1855 hot-fix: fix the error l10n not found after build runner build
- #1841 Can't close invitation dialog in Chat
- #1787 Improve when leave group chat
- #1812 Remove X from the search bar when it's empty
- #1644 “Tap to allow access to your Gallery” button is not in center of its container
- #1602 When typing and shift + ctrl to get a line break, the internal mouse cursor disappears
- #1825 When adding members to a group chat, search results aren't displayed correctly
- #1791 Improve display contacts on multiple homeserver
- #1869 Can not open keyboard when tap on the textfield in IOS
- #1806 Images are displayed weirdly if they didn't yet load
- #1587 Can't open chat in chat list when click on notification
- #1777 Changing greeting message: include tag in greeting message

### Added
- #1645 Missing counting selected image at send icon
- Update store metadata
- update of README.md
- #979 Improve tom bootstrap dialog
- #1836 Move the Shared media part to the Profile part

## [2.5.8+2330] - 2024-05-25
- #1781 Upgrade to Flutter SDK 3.22.0

## [2.5.5+2330] - 2024-05-25

### Fixed
- #1526 cannot unmute more than 2 chats
- #1785 Improve logout for multiple accounts

### Added
- #1722 Recents contacts for contact/search/create group chat screen
- #1735 Search external contact in search screen
- #1780 add parameter `app=chat` when connect with TWP platform

## [2.5.3+2330] - 2024-05-19

### Fixed
- #1650: Memory leak problems: Web and Mobile app
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Specify versions
ARG FLUTTER_VERSION=3.16.5
ARG OLM_VERSION=3.2.15
ARG FLUTTER_VERSION=3.22.2
ARG OLM_VERSION=3.2.16
ARG NIX_VERSION=2.22.1

# Building libolm
# libolm only has amd64
FROM --platform=linux/amd64 nixos/nix AS olm-builder
FROM --platform=linux/amd64 nixos/nix:${NIX_VERSION} AS olm-builder
ARG OLM_VERSION
RUN nix build -v --extra-experimental-features flakes --extra-experimental-features nix-command gitlab:matrix-org/olm/${OLM_VERSION}?host=gitlab.matrix.org\#javascript

Expand All @@ -15,7 +16,6 @@ WORKDIR /app
RUN DEBIAN_FRONTEND=noninteractive apt update && \
apt install -y openssh-client && \
rm -rf assets/js/* && \
mkdir ~/.ssh && \
ssh-keyscan github.com >> ~/.ssh/known_hosts
COPY --from=olm-builder /result/javascript assets/js/package
RUN --mount=type=ssh,required=true ./scripts/build-web.sh
Expand Down
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Twake
# Twake Chat Client
[![Contributors](https://img.shields.io/github/contributors/linagora/twake-on-matrix?label=Contributors
)](
https://github.com/linagora/twake-on-matrix/graphs/contributors
Expand All @@ -12,14 +12,21 @@
<br />
<div align="center">
<a href="https://github.com/linagora/twake-on-matrix">
<img src="https://github.com/linagora/twake-on-matrix/assets/48354990/cda56167-f070-4064-90fb-81be7d20ab27">
<img src="https://github.com/linagora/twake-on-matrix/assets/146178981/3e395e0e-5796-4986-97ab-814ae28745b2">
</a>


<h3 align="center">twake-chat.com</h3>

<p align="center">
<a href="https://twake-chat.com">Website</a>
<a href="https://beta.twake.app/web/#/rooms">View Demo</a>
<a href="https://github.com/linagora/twake-on-matrix/issues">Report Bug</a>
<a href="https://github.com/orgs/linagora/projects/6/views/5">Roadmap</a>
<a href="https://hosted.weblate.org/projects/linagora/twake-matrix/#repository">Translate Twake</a>
</p>
</div>
Expand Down
1 change: 1 addition & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-sdk
tools:overrideLibrary="io.wazo.callkeep, net.touchcapture.qr.flutterqr, com.cloudwebrtc.webrtc, org.webrtc, com.it_nomads.fluttersecurestorage, com.pichillilorenzo.flutter_inappwebview, com.example.video_compress, com.otaliastudios.transcoder, com.otaliastudios.opengl, com.kineapps.flutter_file_dialog, com.llfbandit.record, com.pravera.flutter_foreground_task"/>
<application
Expand Down
23 changes: 19 additions & 4 deletions android/fastlane/metadata/android/en-US/full_description.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,22 @@
Twake is The Open Digital Workplace. Team channels, direct chat, task management, drive and calendar; all in one place. Quickly and effortlessly access all your content, manage your workspaces, collaborators and customers, work efficiently and gain productivity.
Twake Chat is a power tool for personal and corporate communication. We focus on your comfort and security – and we’re always here to help you.

We are GDPR compliant, GAFAM and BATX free, driven by open-source and based in Europe. All your data is securely hosted in Europe, free from the Cloud act or the Patriot Act.
CONVENIENCE
Create group chats, start themed discussions or communicate directly with your teams, colleagues, friends or community the way you want! Chat, share files and stay in touch wherever you are – with more useful features to come.

So what are you waiting for? Let's Twake together!
MATRIX PROTOCOL
We implemented Matrix, an open protocol for secure decentralized communications. Try it out!

Twake is powered by Linagora - creating digital independence.
SYNCHRONIZATION
Use Twake Chat on different devices – unlike most Matrix-based messengers, we allow you to easily access your chats both from your PC and mobile phone, regardless of the device storing the recovery key.

SECURITY
Your information is safe with Twake Chat. To get an even more secure experience, you can enable end-to-end encryption. This way, no one will be able to access your data – not even us.

FLEXIBILITY
The Matrix protocol allows you to communicate with people both inside and outside Twake infrastructure. Chat easily inside the Matrix world and involve bridges to exchange messages with users of other instant messengers.

OPEN SOURCE
Twake Chat is Open source! Retain control of your data by hosting your own server or choosing the one you trust. Need a certain modification to your app? With Open Source, anything is possible.

FEEDBACK
We appreciate any feedback you can provide. If you find a bug or think our app lacks some important functionality, please, let us know. We will do all but impossible to help you.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified android/fastlane/metadata/android/en-US/images/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
The open digital workplace
A convenient Matrix-based tool for personal and corporate communication.
2 changes: 1 addition & 1 deletion android/fastlane/metadata/android/en-US/title.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Twake
Twake Chat
13 changes: 11 additions & 2 deletions assets/l10n/intl_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -2690,7 +2690,7 @@
"@noImagesFound": {},
"captionForImagesIsNotSupportYet": "Caption for images is not support yet.",
"@captionForImagesIsNotSupportYet": {},
"tapToAllowAccessToYourGallery": "Tap to allow access to your Gallery",
"tapToAllowAccessToYourGallery": "Tap to allow gallery access",
"@tapToAllowAccessToYourGallery": {},
"tapToAllowAccessToYourCamera": "You can enable camera access in the Settings app to make video calls in",
"@tapToAllowAccessToYourCamera": {},
Expand Down Expand Up @@ -3031,6 +3031,11 @@
}
},
"downloading": "Downloading",
"settingUpYourTwake": "Setting up your Twake\nIt could take a while",
"performingAutomaticalLogin": "Performing automatical login via SSO",
"backingUpYourMessage": "Preparing server environment for backing up your messages",
"recoveringYourEncryptedChats": "Recovering your encrypted chats",
"configureDataEncryption": "Configure data encryption",
"configurationNotFound": "The configuration data not found",
"fileSavedToGallery": "File saved to Gallery",
"saveFileToGalleryError": "Failed to save file to Gallery",
Expand Down Expand Up @@ -3059,5 +3064,9 @@
"placeholders": {
"user": {}
}
}
},
"switchAccounts": "Switch accounts",
"selectAccount": "Select account",
"privacyPolicy": "Privacy Policy",
"byContinuingYourAgreeingToOur": "By continuing, you're agreeing to our"
}
2 changes: 2 additions & 0 deletions assets/twake_loading.json

Large diffs are not rendered by default.

File renamed without changes.
21 changes: 21 additions & 0 deletions docs/adr/0023-upgrade-flutter-3.22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 23. Upgrade flutter 3.22

Date: 2024-05-24

## Status

Accepted

## Context

We need to upgrade the flutter to have up-to-date performance and features

## Decision

- Add `ignore_deprecated` and `TODO` for `background` and `onBackground` color, when `surface` and `background` merge to one, we will change
- change name from `surfaceVariant` => `surfaceContainerHighest`, `MaterialStateProperty` => `WidgetStateProperty`, `MaterialState` => `WidgetState`, use `super.key` for shorter form (new lint rule)
- Migration from `RawKeyEvent` to `KeyEvent`. [Read more](https://docs.flutter.dev/release/breaking-changes/key-event-migration#deprecated-apis-that-have-an-equivalent) (in conclusion, add ignore_deprecated, because that when i test it again, the up/down not work)
- Upgrade flutter_local_notification from `requestPermission` => `requestNotificationsPermission` [Changelog](https://pub.dev/packages/flutter_local_notifications/changelog#16001), [Readmore](https://developer.android.com/develop/ui/views/notifications/notification-permission?hl=vi)
- Upgrade `url_laucher`, change from `Uri` to `WebUri`, remove `ChromeSafariBrowserSettings` in web
- Upgrade `the index.html` file in web folder
- Upgrade other packages in pubspec.yaml to resolve conflicts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
6 changes: 6 additions & 0 deletions lib/app_state/success.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:dartz/dartz.dart';
import 'package:equatable/equatable.dart';
import 'package:fluffychat/app_state/failure.dart';

abstract class Success extends Equatable {
const Success();
Expand All @@ -10,4 +11,9 @@ extension SuccessExtension on Either {
(failure) => fallbackValue,
(success) => success is T ? success : fallbackValue,
);

T? getFailureOrNull<T extends Failure>({T? fallbackValue}) => fold(
(failure) => failure is T ? failure : fallbackValue,
(success) => fallbackValue,
);
}
11 changes: 8 additions & 3 deletions lib/config/app_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,14 @@ abstract class AppConfig {
///`HOME_SERVER`: Homeserver, sample is `https://example.com`
static String homeserver = sampleValue;

static String appParameter = 'chat';

static String? platform;

static String _appPolicy = 'https://twake.app/policy';

static String appTermsOfUse = 'https://twake.app/terms';

static double toolbarHeight(BuildContext context) =>
responsive.isMobile(context) ? 48 : 56;
static const Color chatColor = primaryColor;
Expand All @@ -52,9 +58,8 @@ abstract class AppConfig {
static const Color primaryColor = Color.fromARGB(255, 135, 103, 172);
static const Color primaryColorLight = Color(0xFFCCBDEA);
static const Color secondaryColor = Color(0xFF41a2bc);
static String _privacyUrl = 'https://twake.app/en/privacy/';

static String get privacyUrl => _privacyUrl;
static String get privacyUrl => _appPolicy;
static const String enablePushTutorial =
'https://gitlab.com/famedly/fluffychat/-/wikis/Push-Notifications-without-Google-Services';
static const String encryptionTutorial =
Expand Down Expand Up @@ -208,7 +213,7 @@ abstract class AppConfig {
_webBaseUrl = json['privacy_url'];
}
if (json['web_base_url'] is String) {
_privacyUrl = json['web_base_url'];
_appPolicy = json['web_base_url'];
}
if (json['render_html'] is bool) {
renderHtml = json['render_html'];
Expand Down
2 changes: 1 addition & 1 deletion lib/config/first_column_inner_routes.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:fluffychat/pages/new_group/new_group.dart';
import 'package:fluffychat/pages/new_group/new_group_chat_info.dart';
import 'package:fluffychat/pages/new_private_chat/new_private_chat.dart';
import 'package:fluffychat/pages/search/search.dart';
import 'package:fluffychat/presentation/model/presentation_contact.dart';
import 'package:fluffychat/presentation/model/contact/presentation_contact.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:flutter/cupertino.dart';

Expand Down
Loading

0 comments on commit 0c2ec78

Please sign in to comment.