mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-03-03 22:26:46 +00:00
Compare commits
No commits in common. "main" and "v0.0.85" have entirely different histories.
676 changed files with 19084 additions and 24575 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -1,8 +1,7 @@
|
|||
|
||||
[submodule "dependencies"]
|
||||
path = dependencies
|
||||
# url = ssh://git@git.twonly.eu:22222/twonly/twonly-app-dependencies.git
|
||||
url = https://git.twonly.eu/twonly/twonly-app-dependencies.git
|
||||
url = https://github.com/twonlyapp/twonly-app-dependencies.git
|
||||
[submodule "lib/src/localization/translations"]
|
||||
path = lib/src/localization/translations
|
||||
# url = ssh://git@git.twonly.eu:22222/twonly/twonly-translations.git
|
||||
|
|
|
|||
52
CHANGELOG.md
52
CHANGELOG.md
|
|
@ -1,57 +1,5 @@
|
|||
# Changelog
|
||||
|
||||
## 0.0.96
|
||||
|
||||
Feature: Show link in chat if the saved media file contains one
|
||||
Improve: Verification badge for groups
|
||||
Improve: Huge reduction in app size
|
||||
Fix: Crash on older devices when compressing a video
|
||||
Fix: Problem with decrypting messages fixed
|
||||
|
||||
## 0.0.93
|
||||
|
||||
- Feature: Verification checkmark for friends
|
||||
- Fix: Added contacts in contact sharing that were not clickable.
|
||||
- Fix: Open chat after the image expires in case a draft message exists
|
||||
- Fix: Restore flames as a plus user
|
||||
- Fix: Route not found when sharing image
|
||||
- Fix: Increase recent limit in emoji keyboard
|
||||
- Fix: Increase show time of the focus indication
|
||||
- Fix: Quoted text message not shown properly
|
||||
- Fix: Push notification in groups when someone saves an image
|
||||
- Fix: Dark mode in diagnostics view
|
||||
|
||||
## 0.0.92
|
||||
|
||||
- Adds the option to share contacts
|
||||
- Adds option to zoom in received images / videos
|
||||
- Fixes issue with "reuploaded requested" not working
|
||||
- Fixes race condition while writing to the log file
|
||||
|
||||
## 0.0.91
|
||||
|
||||
- Fixes link preview on iOS
|
||||
- Fixes sharing images from other apps on iOS
|
||||
|
||||
## 0.0.90
|
||||
|
||||
- Fixes issue that media files where not reuploaded
|
||||
- Fixes iOS zooming issue when switching between .5 and x1
|
||||
- Fixes biometric auth bypass when opening a twonly/reopen send image
|
||||
- Fixes that media files could not be downloaded in case the contact deleted his account
|
||||
- Fixes database issue in case twonly is opened multiple times
|
||||
- Fixes typos in translation
|
||||
|
||||
## 0.0.87
|
||||
|
||||
- Adds link preview to shared links
|
||||
- Adds option to manual focus in the camera
|
||||
- Adds support to switch between front and back cameras during video recording
|
||||
- Adds basic face filters
|
||||
- Improves image editor, like emojis or text under a drawing can be moved
|
||||
- Improves speed after taking a picture
|
||||
- Fixes issue with emojis disappearing in the image editor
|
||||
|
||||
## 0.0.86
|
||||
|
||||
- Allows to reopen send images (if send without time limit or enabled auth)
|
||||
|
|
|
|||
27
README.md
27
README.md
|
|
@ -32,24 +32,13 @@ If you decide to give twonly a try, please keep in mind that it is still in its
|
|||
- Privacy friendly - Everything is stored on the device
|
||||
- The backend is hosted exclusively in Europe
|
||||
|
||||
## Roadmap
|
||||
## Planned
|
||||
|
||||
### Currently
|
||||
|
||||
- Focus on user-friendliness so that people enjoy using the app
|
||||
- User discovery without a phone number
|
||||
- Passwordless recovery without a phone number
|
||||
- Implementation of features so that Snapchat can actually be replaced
|
||||
- E2EE cloud backup of memories
|
||||
- Importing memories from Snapchat
|
||||
|
||||
### Next on the bucket list
|
||||
|
||||
- For Android: Support for [UnifiedPush] (https://unifiedpush.org/)
|
||||
- For Android: Reproducible builds
|
||||
- Implementation of [Sealed Sender](https://signal.org/blog/sealed-sender/) (or a similar protocol) to minimize metadata
|
||||
- Switch from the Signal protocol to [MLS](https://github.com/openmls/openmls) for post-quantum crypto support
|
||||
- Decentralize the server so that anyone can run their own server
|
||||
- For Android: Optional support for [UnifiedPush](https://unifiedpush.org/)
|
||||
- For Android: Reproducible Builds
|
||||
- Implementing [Sealed Sender](https://signal.org/blog/sealed-sender/) to minimize metadata
|
||||
- Switch from the Signal-Protocol to [MLS](https://github.com/openmls/openmls) for Post-Quantum-Crypto support
|
||||
- And, of course, many more features such as dog filters, E2EE cloud backup, and more.
|
||||
|
||||
## Security Issues
|
||||
|
||||
|
|
@ -57,9 +46,9 @@ If you discover a security issue in twonly, please adhere to the coordinated vul
|
|||
us your report to security@twonly.eu. We also offer for critical security issues a small bug bounties, but we can not
|
||||
guarantee a bounty currently :/
|
||||
|
||||
<!-- ## Contribution
|
||||
## Contribution
|
||||
|
||||
If you have any questions or feature requests, feel free to start a new discussion. Issues are limited to bugs, and for maintainers only. -->
|
||||
If you have any questions or feature requests, feel free to start a new discussion. Issues are limited to bugs, and for maintainers only.
|
||||
|
||||
## Development
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ analyzer:
|
|||
avoid_positional_boolean_parameters: ignore
|
||||
inference_failure_on_collection_literal: ignore
|
||||
matching_super_parameters: ignore
|
||||
parameter_assignments: ignore
|
||||
exclude:
|
||||
- "lib/src/model/protobuf/**"
|
||||
- "lib/src/model/protobuf/api/websocket/**"
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
android:icon="@mipmap/ic_launcher">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTop"
|
||||
android:taskAffinity=""
|
||||
|
|
@ -32,20 +33,6 @@
|
|||
<data android:scheme="http" android:host="me.twonly.eu" />
|
||||
<data android:scheme="https" />
|
||||
</intent-filter>
|
||||
<!-- Allow other apps to share links -->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:scheme="http" />
|
||||
<data android:scheme="https" />
|
||||
<data android:host="*" />
|
||||
</intent-filter>
|
||||
<!-- Allow other apps to share links via plain text -->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:mimeType="text/plain" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ pluginManagement {
|
|||
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version '8.9.1' apply false
|
||||
id "com.android.application" version '8.9.0' apply false
|
||||
// START: FlutterFire Configuration
|
||||
id "com.google.gms.google-services" version "4.3.15" apply false
|
||||
// END: FlutterFire Configuration
|
||||
|
|
|
|||
1
assets/animated_icons/100.json
Normal file
1
assets/animated_icons/100.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/airplane-departure.json
Normal file
1
assets/animated_icons/airplane-departure.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/alarm-clock.json
Normal file
1
assets/animated_icons/alarm-clock.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/alien.json
Normal file
1
assets/animated_icons/alien.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/ant.json
Normal file
1
assets/animated_icons/ant.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/arm-mechanical.json
Normal file
1
assets/animated_icons/arm-mechanical.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/automobile.json
Normal file
1
assets/animated_icons/automobile.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/balloon.json
Normal file
1
assets/animated_icons/balloon.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/bandage-face.json
Normal file
1
assets/animated_icons/bandage-face.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/beating-heart.json
Normal file
1
assets/animated_icons/beating-heart.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/bee.json
Normal file
1
assets/animated_icons/bee.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/bell.json
Normal file
1
assets/animated_icons/bell.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/black-flag.json
Normal file
1
assets/animated_icons/black-flag.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/blowfish.json
Normal file
1
assets/animated_icons/blowfish.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/blue-heart.json
Normal file
1
assets/animated_icons/blue-heart.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/blush.json
Normal file
1
assets/animated_icons/blush.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/bomb.json
Normal file
1
assets/animated_icons/bomb.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/bottle-with-popping-cork.json
Normal file
1
assets/animated_icons/bottle-with-popping-cork.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/broken-heart.json
Normal file
1
assets/animated_icons/broken-heart.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/burrito.json
Normal file
1
assets/animated_icons/burrito.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/call-me-hand.json
Normal file
1
assets/animated_icons/call-me-hand.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/chequered-flag.json
Normal file
1
assets/animated_icons/chequered-flag.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/clap.json
Normal file
1
assets/animated_icons/clap.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/clinking-beer-mugs.json
Normal file
1
assets/animated_icons/clinking-beer-mugs.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/clown.json
Normal file
1
assets/animated_icons/clown.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cockroach.json
Normal file
1
assets/animated_icons/cockroach.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cold-face.json
Normal file
1
assets/animated_icons/cold-face.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/collision.json
Normal file
1
assets/animated_icons/collision.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/confetti-ball.json
Normal file
1
assets/animated_icons/confetti-ball.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cowboy.json
Normal file
1
assets/animated_icons/cowboy.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/crab.json
Normal file
1
assets/animated_icons/crab.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/crocodile.json
Normal file
1
assets/animated_icons/crocodile.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cross-mark.json
Normal file
1
assets/animated_icons/cross-mark.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/crossed-fingers.json
Normal file
1
assets/animated_icons/crossed-fingers.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cry.json
Normal file
1
assets/animated_icons/cry.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/crying-cat-face.json
Normal file
1
assets/animated_icons/crying-cat-face.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cupid.json
Normal file
1
assets/animated_icons/cupid.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/cursing.json
Normal file
1
assets/animated_icons/cursing.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/dancer-woman.json
Normal file
1
assets/animated_icons/dancer-woman.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/dinosaur.json
Normal file
1
assets/animated_icons/dinosaur.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/disguise.json
Normal file
1
assets/animated_icons/disguise.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/dog.json
Normal file
1
assets/animated_icons/dog.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/dolphin.json
Normal file
1
assets/animated_icons/dolphin.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/drool.json
Normal file
1
assets/animated_icons/drool.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/droplet.json
Normal file
1
assets/animated_icons/droplet.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/eagle.json
Normal file
1
assets/animated_icons/eagle.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
assets/animated_icons/electricity.json
Normal file
1
assets/animated_icons/electricity.json
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue