Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CherryPick from master #3162

Merged
merged 4 commits into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/release_ticket.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: release template
about: Template for release checklist
title: 'Release new version '
labels: releasing
assignees: ''

---

### DoD:
- [ ] Request translating in weblate and merge to branch
- [ ] Test in all platforms base on the check-list case: [tnr-tmail-template.ods](https://github.com/user-attachments/files/16719554/tnr-tmail-template.ods)
- Chrome
- Firefox
- Edge
- Safari
- Android
- iOS
- Opera
- [ ] Memory leak verifycation
- [ ] Tag new version
- [ ] Push new docker image
- [ ] iOS - Release app in Test Flight
- [ ] Android - Release app in Internal Test
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## [0.13.2] - 2024-09-18
### Added
- User guide
- Todo list for Release

### Fixed
- Fix identity creator view on mobile
- #3088 Ending date of date picker is not correct
Expand All @@ -16,6 +20,8 @@
- #2965 Handle error for checking OIDC failure
- #3114 Prevent buttons is covered by keyboard in identity creator view
- #2940 Add speller check for some other place: identity creator, subject email composer, vacation form
- Update README.md
- Translation vi, ru, fr,

## [0.13.1] - 2024-08-28
### Fixed
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ Here is how Twake Mail looks like on a tablet:

## Build app
1. Go to root folder of project
2. Run `prebuild.sh` script
2. Run `scripts/prebuild.sh` script
```
/bin/bash prebuild.sh
/bin/bash scripts/prebuild.sh
```
3. Build
+ iOS:
Expand Down
26 changes: 26 additions & 0 deletions docs/user-guide/antispam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Anti-Spam {#1}

This section will explain about how anti-spam works, and peak about antispam training.

### How Anti-Spam Works:

- Anti-Spam feature in Tmail is designed to classify the messages as spam or not with an configurable score threshold.
- Usually a message will only be considered as spam if it matches multiple criteria; matching just a single test will not usually be enough to reach the threshold.
- Spam is reported on a per user base.
- When a message is classified as spam, it will automatically moved to user's Spam folder

### Anti-Spam training

1. Marking Emails as Spam:

- You can manually mark emails as spam . This action provides feedback to the anti-spam system, helping it learn from user preferences.

2. Whitelisting:

- Conversely, you can mark legitimate emails as not spam or whitelist specific senders. This feedback helps the system refine its understanding of trusted sources.

3. Custom Filtering Rules:

- Tmail allows users to set up custom filtering rules. For example, you can create rules to automatically move emails containing certain keywords to the spam folder.

By actively participating in anti-spam training as above, you contribute to a more accurate and personalized spam filtering experience.
33 changes: 33 additions & 0 deletions docs/user-guide/auth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Authenticating in Twake-Mail {#auth}

Twake-mail supports both being integrated with an identity provider and basic authentication/

## Web: Login with OIDC

![image](https://github.com/user-attachments/assets/21eca674-11fe-4957-9398-d195ee96e544)


Upon being launched Twake-Mail detects that your installation supports identification through an indentity provider and redirects to its login page.

Fill in your credentials supplied by your platform administrator, and the identity provider will redirect you to the Twake-Mail Inbox page.

## Web: Login with basic authentication

If Twake-Mail finds no identity provider, Tmail will fallback to basic authentication and ask for your login and password. Fill in your credentials then click Sign in.
If the credentials are correct, you will be logged- in successfullly and go to Inbox thread-view.

![image](https://github.com/linagora/tmail-flutter/assets/68209176/7f086dd6-689e-4391-a77b-7408f4793ac2)

## Mobile

For mobile, you need to input your email address first. From this email address, TMail will auto-dectect identity server if your account are supported with identification through an indentity provider Then you need to input credentials supplied by your platform administrator to log in

![Frame 1 (6)](https://github.com/user-attachments/assets/6e0fa8b2-bb08-4fc1-8e6a-607c23a70418)


If Tmail detects that your account are not supported with identification through an indentity provider, you need to connect to your home JMAP email server. Tmail will prompt you for its URL first. Your administrator should have provided you this value.

Then Twake mail will ask you directly for your credentials to log-in

![Frame 33](https://github.com/linagora/tmail-flutter/assets/68209176/e2ecc279-95d0-4374-9d7f-7ab19ec9bac3)

5 changes: 5 additions & 0 deletions docs/user-guide/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

# sudo apt-get install pandoc texlive texlive-xetex texlive-fonts-recommended

pandoc index.md antispam.md auth.md composer.md extra-features.md install.md manage-folders.md profile.md pro-tips.md quota.md read.md search.md -o output.pdf --pdf-engine=xelatex
93 changes: 93 additions & 0 deletions docs/user-guide/composer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Composer {#composer}

This guide will walk you through the process of using our email composition tool effectively.

# Creating a New Email in web
1. Click on the "New Email" button. A new email composer will appear
2. "From": By default it will display your default identity. When you click on this field - a drop-down list of your identities will be shown and you can select one of them. The identities you can use in the `From` field can be edited on the [profile page](profile.md).
3. "To": Fill in the recipient's email address in the "To" field. You can add multiple recipients by separating their email addresses with commas.
4. Enter a subject for your email in the "Subject" field.
5. Use the "CC" (Carbon Copy) and "BCC" (Blind Carbon Copy) fields for additional recipients as needed.
- (5.1)`CC`: Carbon Copy: Anyone in this field will see the other recipients of the message.
- (5.2) `BCC`: Blind Carbon Copy: The recipients won't know that you added anyone to 'Bcc'.
6. Signature button: You can click on this button to unfold/fold your signature. The setting of identities and its signature ycan be edited on the [profile page](profile.md).

![Group 1 (1)](https://github.com/user-attachments/assets/8dcd67da-c15e-4bea-9fd8-45c4cdc5efc6)



7. Text Formatting
Use the formatting options provided to style your email's text. These include :
- (7.1) `Text size`
- (7.2) `Style`
- (7.3) `Font famlily`
- (7.4) `Text color`
- (7.5) `Text background color`
- (7.6) `Bold`
- (7.7) `Italic`
- (7.8) `Underline`
- (7.9) `Strikethrough`
- (7.10) `Paragraph`
- (7.11) `Order list`

![Group 2 (4)](https://github.com/user-attachments/assets/235b9662-5598-440d-88cc-b0b7ccc605d0)



8. Adding Attachments
To attach files, click on the `attachment icon` and select the files you want to include.
9. Insert images
To insert images to the email body as an inline image, clock on `image icon` then select images that you want to include
10. Code view
When you click on `Code view button`, the email your are writing is displayed in Code view mode. This option is helpfull for developpers who want to debug the sources of the generated email.
11. Sending Your Email
- Click the "Send" button to send your email. Once sent, it will appear in your "Sent" folder.
- You can also click button `Save to Draft` (12) then the email is moved to Draft folder, you can then open it again and continue composing it.
- If you click `Cancel button` (13), the email will be discarded

14. Managing Sent Emails

To access sent emails or track the status of your sent email, navigate to the `Sent` folder (14) within your email client. Email currently being sent are located within the `Outbox` (15) and will eventually be moved into the `Sent` folder.

16. Read receipt

This feature allows the sender of an email to know when the recipient has opened and read the email. It provides a way for the sender to confirm that the message has been received and viewed by the recipient.

Here's how read receipt work:
- Sender Requests a Read Receipt: When composing an email, the sender can enable the option to request a read receipt by click on icon (16) then to turn on Request read receipt
- When the recipient receives the email and opens it, they are typically presented with a message or notification asking if they want to send a read receipt back to the sender. The recipient can choose to either send the read receipt or decline the request.
- If the recipient chooses to send a read receipt, their email client will automatically generate and send a notification to the sender, indicating that the email has been opened and read.
- The sender receives the read receipt as a separate email or notification, confirming that the recipient has indeed read the email.

![Group 3 (1)](https://github.com/user-attachments/assets/e2a0b743-164f-4e0b-87c5-8d0617c2d3ed)


# Creating a New Email in Mobile

1. Click on the "Compose" button, the composer screen will be shown.
2. From: By default it will display your default identity. When you click on `Edit` icon (2.1)- a drop-down list of your identities will be shown and you can select one of them. The identities you can use in the `From` field can be edited on the [profile page](profile.md).
3. Fill in the recipient's email address in the "To" field.
4. Enter a subject for your email in the "Subject" field.
5. Adding Recipients
You can add multiple recipients by separating their email addresses with commas. Use the "CC" (Carbon Copy) and "BCC" (Blind Carbon Copy) fields for additional recipients as needed.
- (5.1)`CC`: Carbon Copy: Anyone in this field will see the other recipients of the message.
- (5.2) `BCC`: Blind Carbon Copy: The recipients won't know that you added anyone to 'Bcc'.

![Frame 2 (4)](https://github.com/user-attachments/assets/9c49dca6-f464-4a76-8733-a3753bae579f)

6. Text Formatting
Use the formatting options provided to style your email's text.
7. Adding Attachments
To attach files, click on the `attachment icon` and select the files you want to include
8. Insert images
To insert images to the email body as an inline image, click on `image icon` then select images that you want to include
For the first time you hit button Add attachments/Insert images, you a popup will be shown to ask permission to access Photos ans media in your mobile.
You need to click Allow then browse and select image/attachment from device.
9. Send your mail
- Click the "Send" button to send your email. Once sent, it will appear in your "Sent" folder.
When you click on 3-dot button of top right of compser, you can see 3 options: Request read receipt/Save as draft/Delete
- If you click `Request read receipt` (10, Read receipt request is enabled for this email.
- If you click `Save as draft` (11), the composer is closed and email is saved to Draft folder
- If you click `Delete` (12), the email is discarded.

![Frame 3 (5)](https://github.com/user-attachments/assets/998c4c21-dc74-4bb3-b63e-344985709052)
112 changes: 112 additions & 0 deletions docs/user-guide/extra-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Extra features {#2}

This small page will present features specific to Twake-Mail.

## I. Team-mailboxes

- "Team mailbox" typically refers to a shared mailbox or a collaborative inbox that multiple users or team members can access. A team mailbox is useful for managing emails collectively, allowing multiple team members to view, respond to, and manage emails in a shared space.

- The owner of the shared mailbox needs to grant permissions to other team members. This can usually be done through the mailbox settings by the administrator.

- Once permissions are set, team members can see the team-mailbox on foldet-tree on left panel. Each team-mailbox will contains:
- (1) Team-mailbox name
- (2) Email address of the team-maiilbox

![Group 194](https://github.com/linagora/tmail-flutter/assets/68209176/3a4c900e-0cf8-4266-a66d-e08d66317fc9)


### Read message in my team-mailbox:

- Every team-mailbox contains folders:
- Inbox
- Drafts
- Outbox
- Sent
- Trash
- You can hide and show a team-mailbox in 2 ways:
1. Click 3-dots button on the team-mailbox, then select option "Hide folder", then the team-mailbox will be hidden from th folder tree

![Group 194](https://github.com/linagora/tmail-flutter/assets/68209176/f157ca8f-6176-4447-b9ab-3d0194147dde)

2. Click avatar on top right => Manage account => Folder visibility: This screen will list all the folders, including team-mailboxes. I can easily select Hide/Show

![image](https://github.com/linagora/tmail-flutter/assets/68209176/42b85296-8461-4e4d-b115-a8e2822f3918)

- You can mark star/unstar an email in the team-mailbox as other folders, then other members having access to the team-mailbox will see the message being star/unstar as well.
- You can mark message as read/unread in the team-mailbox as other folders, then other members having access to the team-mailbox will see the message being read/unread as well.

### Team-mailbox identities

- As a team-mailbox member, you can add a team mailbox as an identity so that you can access and manage emails on behalf of that team mailbox.
- You can create a new identity for the team-mailbox, edit/delelte it in the same way [Manage sender's identities](https://github.com/linagora/tmail-flutter/blob/user-guide-skeleton/docs/user-guide/profile.md#identities)

### Send a message by team-mailbox

**1. Send a new message**

- When you click button "Compose", the he composer will be opened
- Whe nyou click to field "From", a drop-down list will be shown your list of identities
- You can select your team-mailbox identity that you created before
- Finish typing message and then choose Send.
- The recipients will see the team-mailbox address as the sender in the message.

**2. Reply/Forward to the message**

- When you open one email of a team-mailbox, and click button Reply/Forward
- The composer will be opened with the quoted message
- In "From" field, select team-mailbox identity that you created before then input the mail content and Send.

## II. Auto-complete

- This is a feature designed to make composing and addressing emails more convenient. This feature predicts and suggests email addresses as you start typing in the "To," "Cc" (carbon copy), or "Bcc" (blind carbon copy) fields and the Search bar
- When you start typing an email address, the system might suggest matches based on your contacts.
- Email Address Auto-Complete often relies on your existing contacts and address book ( mobile app).
- The existing contacts are contact from your company
- when you open TMail app for the first time, you will be asekd to allow Tmail to access to device's contacts. If you allow permisstion, then when you use auto-complete feature, it will rely on both your company's contacts and phone's contact

![image](https://github.com/linagora/tmail-flutter/assets/68209176/19038361-b6f6-413a-aac1-ad352a001074)

![Frame 30](https://github.com/linagora/tmail-flutter/assets/68209176/d9ec88cc-153b-4500-84a5-4d23a019983c)


## III. Event information display

When you receive a calendar event invitation in an email, Twake Mail will display the event details in a format that allows you to easily review and respond to the invitation.

**1. On Email listing**

On thread-view, You can see email of calendar events which having title include:

- (1) The icon indicator events in front of email title

- (2) The icon indicator .ics file which having in events email

- (3) The event name on subject

- (4) The event short description

- (5) The host name (sender) email who be created an event

- (6) The event status (New / Updated / Canceled)

**2. Calendar event on details-view**

On details-view of an email, you can see description of calendar events which having description include:

- (1) The Calendar icon indicator event date

- (2)The event name on subject

- (3) The notification with color to describe each event status

- (4) The mini tips information of event (When event will be started!? Who are invited !? Where is the event place!?)

- (5) Yes/No/Maybe/Mail to attendees buton: You can click one of these button to response to the event invitation. When you click on "Mail to attendees", a new email composer is opened, with all attendees auto-filled as recipients.

- (6) The description will be demonstrated in email body

![Group 195](https://github.com/linagora/tmail-flutter/assets/68209176/674f9118-c3d4-4834-b018-153f2b17324a)

![Group 5 (1)](https://github.com/user-attachments/assets/4e60aa71-0e1c-4c3e-9637-a31afb538117)

![Group 6 (2)](https://github.com/user-attachments/assets/3a8b3554-055d-45c8-bcad-7918429dbdad)
Binary file added docs/user-guide/images/action1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/action2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/action3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/advanced-search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/auth-mobile-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/auth-mobile-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/create-folder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/filters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/folder-actions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/folder-search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/folders.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/main-mobile-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/main-mobile.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/main.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/oidc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/open.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/quick-search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/read-receipt-open.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user-guide/images/read.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 54 additions & 0 deletions docs/user-guide/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Twake-Mail user guide

This guide intends to present features present in Team-Mail and how to use them.

It aims at helping users discover the user experience and advanced productivity features present in Team-Mail.

This guide provides information both for mobile and weg

## Features covered

- [Installing the application](#install)
- [Authentication](#auth)
- [Reading and acting on emails](#read.)
- [Writing emails](#composer)
- [Using folders to sort emails](#folder)
- [Quota](#quota)
- [Searching your emails](#search)
- [Managing your account](#profile)
- [Anti-spam](#1)
- [Extra features](#2)

We also have a page for advanced users looking for [productivity tips](#tips).

## Main

![Group 7 (1)](https://github.com/user-attachments/assets/392380b7-baaf-4e72-b175-fa98235c7b27)


Once [logged in](#auth) into Team-mail, Team-Mail redirects you to your INBOX (1). This is where you can [read your newly arrived emails](#read).

The left panel (2) allows you to switch of folder (view emails within another folder), and [manage your folders](#folder).
The left pannel also displays [quota](#quota) information might you need to.

The search bar (3) at the top allows to [easily and quickly search your mails](#search). Many criteria are also supported within the advanced search might you need to.

This button opens the [composer](#composer) (4), which allows to write new emails to your friends and colleagues.

This button opens the list of applications integrated with Team-Mail for your current setup (5).

This button allows you to open your [profile page](#profile) (6). From there you can:
- Manage your senders identities and signatures
- Set up email rules to automatically sort your mails
- Set up forwards to a third party email service
- Enable your vacation mode
- Manage folder visibility
- And change your language settings.
- This menu also enables you to log out from tmail.

The same sections are also available on mobile. The default view is your INBOX but by clicking the folder name (7),
you can open the folder tab that allows you to access other menus.

![Frame 4 (1)](https://github.com/user-attachments/assets/9f46f6ce-df19-4611-9a40-059d521bff68)


Loading
Loading