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

PE-4823: Release ArDrive App v2.20.0 #1428

Merged
merged 127 commits into from
Oct 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
a33798f
add initial impl for lage uplaods
thiagocarvalhodev Sep 12, 2023
ff88981
Updated slider theme, volume and speed menus, added fullscreen button
kunstmusik Sep 15, 2023
0160b1e
reworked padding
kunstmusik Sep 18, 2023
fd2a4b2
Merge branch 'PE-4582-audio-preview-in-app' into PE-4583-video-previe…
kunstmusik Sep 18, 2023
3a31041
chore(payment service): updates log statements PE-4565
matibat Sep 19, 2023
7552e39
chore(payment service): split big method into smaller pieces PE-4565
matibat Sep 19, 2023
628b8c6
chore(payment form bloc): renames variable PE-4565
matibat Sep 19, 2023
f5f546e
chore(payment): DRYes repeated code; removes unused methods PE-4565
matibat Sep 19, 2023
cde0e1d
chore(topup estimation bloc): corrects log message PE-4565
matibat Sep 19, 2023
40bc7f8
chore(topup estimation bloc): removes redundant try..catch block PE-4565
matibat Sep 19, 2023
49f715f
chore(topup): track hasPromoCodeApplied in the state PE-4565
matibat Sep 19, 2023
221e5d6
chore(topup): track humanReadableDiscountPercentage in the state PE-4565
matibat Sep 19, 2023
eafaa33
chore(topup): track paymentAmount and winstonCredits in the state PE-…
matibat Sep 19, 2023
ce4440b
feat(payment service): pass missing arg PE-4565
matibat Sep 19, 2023
4bcb2c3
chore(payment service): makes the param be required PE-4565
matibat Sep 19, 2023
c78f9aa
feat(payment service): corrects unawaited futures PE-4565
matibat Sep 19, 2023
ce711a0
feat(uploader)
thiagocarvalhodev Sep 21, 2023
de64c19
integrate new libraries into the app
thiagocarvalhodev Sep 21, 2023
5a292f5
full screen video widget
kunstmusik Sep 21, 2023
2654b13
rework video controls for mobile design, added fixes for timing issue…
kunstmusik Sep 21, 2023
c49ddff
feat(large uploads)
thiagocarvalhodev Sep 22, 2023
985f6fd
keep state for video player preview when switching tabs in detail pan…
kunstmusik Sep 22, 2023
381c81d
add fetch client
thiagocarvalhodev Sep 22, 2023
65825ce
attempt to await on last play action to prevent "pause interrupting p…
kunstmusik Sep 22, 2023
6d460ef
Merge remote-tracking branch 'origin/dev' into PE-4583-video-preview-…
kunstmusik Sep 22, 2023
d30c519
set volume on fullscreen view to the same volume as on preview view
kunstmusik Sep 22, 2023
64042a4
fix interactions for auto-hiding and showing of controls for fullscre…
kunstmusik Sep 22, 2023
40983cd
WIP:
thiagocarvalhodev Sep 23, 2023
95fda21
fix lint
thiagocarvalhodev Sep 23, 2023
5fb2b33
WIP: a7a025ee sync with dev
thiagocarvalhodev Sep 23, 2023
697c84c
fix lint
thiagocarvalhodev Sep 23, 2023
d188a7c
fix imports
thiagocarvalhodev Sep 24, 2023
8eccaeb
upgrade flutter
thiagocarvalhodev Sep 24, 2023
af4795c
upgrade deps
thiagocarvalhodev Sep 24, 2023
1960e39
fix pr
thiagocarvalhodev Sep 24, 2023
91904eb
generate code on uploaders
thiagocarvalhodev Sep 24, 2023
aea64c5
generate code on uploaders
thiagocarvalhodev Sep 24, 2023
9d6e641
generate code on uploaders
thiagocarvalhodev Sep 24, 2023
30074df
generate code on uploaders
thiagocarvalhodev Sep 24, 2023
dfc77b7
generate code on uploaders
thiagocarvalhodev Sep 24, 2023
b833686
generate code on uploaders
thiagocarvalhodev Sep 24, 2023
88eeb3e
fix code generation
thiagocarvalhodev Sep 24, 2023
fba44da
fix code generation
thiagocarvalhodev Sep 24, 2023
aa1ae5a
fix code generation
thiagocarvalhodev Sep 24, 2023
22a8c99
fix code generation
thiagocarvalhodev Sep 24, 2023
607c38d
Merge branch 'PE-4661-missing-normal-playback-option' into PE-4583-vi…
kunstmusik Sep 25, 2023
251fdaa
use turbo url
thiagocarvalhodev Sep 25, 2023
3a9e14b
use synchronized to fix issue with play interrupted by pause on Chrome
kunstmusik Sep 25, 2023
de54113
feat(uploader)
thiagocarvalhodev Sep 26, 2023
a3ee28b
feat(uploader)
thiagocarvalhodev Sep 26, 2023
e76a860
feat(uploader)
thiagocarvalhodev Sep 26, 2023
4dd050e
feat(uploader)
thiagocarvalhodev Sep 26, 2023
f06f6ee
feat(uploader)
thiagocarvalhodev Sep 26, 2023
fadec09
Update upload_cubit.dart
thiagocarvalhodev Sep 26, 2023
580608e
Update data_bundler.dart
thiagocarvalhodev Sep 26, 2023
3598837
feat(uploader)
thiagocarvalhodev Sep 26, 2023
5ea2627
feat(uploader)
thiagocarvalhodev Sep 26, 2023
c055c13
feat(uploader)
thiagocarvalhodev Sep 26, 2023
f97d37a
fet(uploader)
thiagocarvalhodev Sep 26, 2023
c3b8e36
feat(uploader)
thiagocarvalhodev Sep 26, 2023
e3741c8
Update dev.json
thiagocarvalhodev Sep 27, 2023
e49ffcc
Update upload_cubit.dart
thiagocarvalhodev Sep 27, 2023
4a27335
add border
thiagocarvalhodev Sep 27, 2023
2e64c86
feat(uploader)
thiagocarvalhodev Sep 27, 2023
11ea4e7
feat(uploader): improves the upload UX
thiagocarvalhodev Sep 27, 2023
b07a224
fix lint warnign
thiagocarvalhodev Sep 27, 2023
d18a8bf
improve the upload form UX
thiagocarvalhodev Sep 27, 2023
d4b8ee9
Merge branch 'dev' into PE-3699-uploads-large-files-for-public-drives
thiagocarvalhodev Sep 27, 2023
70eab11
Update pubspec.lock
thiagocarvalhodev Sep 27, 2023
99a857e
Merge remote-tracking branch 'origin/dev' into PE-4583-video-preview-…
kunstmusik Sep 28, 2023
c8d7e75
switch to logger.e for error message logging
kunstmusik Sep 28, 2023
f29fe29
feat(uploader)
thiagocarvalhodev Sep 28, 2023
f650d92
feat(upload)
thiagocarvalhodev Oct 2, 2023
d24d9ec
feat(uploader)
thiagocarvalhodev Oct 3, 2023
dee3bc7
feat(uploader)
thiagocarvalhodev Oct 3, 2023
63913c9
chore: update pubspec
thiagocarvalhodev Oct 3, 2023
255e666
feat(uploader)
thiagocarvalhodev Oct 3, 2023
f7d1d7c
chore: fix lint rules and upgrade app deps
thiagocarvalhodev Oct 4, 2023
f3b18a1
Merge branch 'dev' into PE-3699-uploads-large-files-for-public-drives
thiagocarvalhodev Oct 4, 2023
56efa7e
add encryption when a drive key is passed
thiagocarvalhodev Oct 4, 2023
7891512
update crypto
thiagocarvalhodev Oct 4, 2023
644510c
fix content type on metadata
thiagocarvalhodev Oct 4, 2023
ce36d79
fix(private uploads)
thiagocarvalhodev Oct 4, 2023
46994f5
Update crypto.dart
thiagocarvalhodev Oct 4, 2023
ff5d268
refactor(clean up)
thiagocarvalhodev Oct 4, 2023
e8eec83
chore: fix lint warnings
thiagocarvalhodev Oct 4, 2023
a73c2da
Merge branch 'dev' into PE-3699-uploads-large-files-for-public-drives
thiagocarvalhodev Oct 4, 2023
f0d41ef
accept all video mime types and handle format errors showing appropri…
kunstmusik Oct 4, 2023
8e30ce1
upgrade flutter version
thiagocarvalhodev Oct 4, 2023
8e10c3e
chore: point to right git
thiagocarvalhodev Oct 4, 2023
dfb1cc7
chore: upgrade kotlin version
thiagocarvalhodev Oct 5, 2023
a740c04
localization
kunstmusik Oct 5, 2023
1548f09
chore: rename upload item variable
thiagocarvalhodev Oct 5, 2023
c1889a0
feat(android release notes): updates android release notes PE-4718
matibat Oct 5, 2023
f12f643
Merge pull request #1405 from ardriveapp/PE-4732-video-preview-doesnt…
kunstmusik Oct 5, 2023
42de2a4
feat(login page): wallet address in login page PoC PE-4752
matibat Oct 6, 2023
a31f8b1
feat(login page): enlages the font PE-4752
matibat Oct 6, 2023
e4809eb
feat(login page): minor fix; add localization PE-4752
matibat Oct 6, 2023
4188fb4
add downloader
thiagocarvalhodev Oct 6, 2023
bd406d6
update ardrive_io version
thiagocarvalhodev Oct 6, 2023
5a172b3
fix test
thiagocarvalhodev Oct 6, 2023
a66f527
Merge pull request #1414 from ardriveapp/PE-3697-large-downloads
thiagocarvalhodev Oct 6, 2023
ffeeea0
test(login bloc): fixes broken unit testss PE-4752
matibat Oct 6, 2023
7f29329
feat(ardrive auth): moves the getWalletAddress out of the login bloc …
matibat Oct 9, 2023
756f714
chore(user repository): adds comments PE-4752
matibat Oct 9, 2023
1f18bff
test(user repository): re-structores tests in groups; adds a unit tes…
matibat Oct 10, 2023
d3974e2
test(ardrive auth): re-structures the tests in groups PE-4752
matibat Oct 10, 2023
4474ed8
test(ardrive auth): adds unit tests for getOwnerOfDefaultProfile PE-4752
matibat Oct 10, 2023
70b20a5
add pre-initialization spinner and buffer loading secondary value to …
kunstmusik Oct 10, 2023
78f59ae
Merge pull request #1370 from ardriveapp/PE-4565
matibat Oct 10, 2023
7b8586d
Merge pull request #1416 from ardriveapp/PE-4745-video-playback-delay…
kunstmusik Oct 10, 2023
35706df
Merge remote-tracking branch 'origin' into PE-4583-video-preview-in-app
kunstmusik Oct 10, 2023
dfcde59
set speed text to show 'Normal' in video player popup menu
kunstmusik Oct 10, 2023
eac57f9
feat(login page): make wallet address be displayed when the user load…
matibat Oct 11, 2023
693ce98
Merge pull request #1417 from ardriveapp/PE-4778-missing-normal-playb…
kunstmusik Oct 11, 2023
302de7e
Merge pull request #1420 from ardriveapp/PE-4786
matibat Oct 11, 2023
e1a9e8a
Revert "Merge pull request #1414 from ardriveapp/PE-3697-large-downlo…
thiagocarvalhodev Oct 18, 2023
03f3f45
Revert "Merge pull request #1414 from ardriveapp/PE-3697-large-downlo…
thiagocarvalhodev Oct 18, 2023
4c6121a
Update drive_detail_page.dart
thiagocarvalhodev Oct 18, 2023
7ec059d
Merge branch 'PE-4823-release-ar-drive-app-v-2-20-0' into PE-4583-vid…
thiagocarvalhodev Oct 18, 2023
5f1c9d1
Merge pull request #1423 from ardriveapp/PE-4823-release-ar-drive-app…
thiagocarvalhodev Oct 18, 2023
1653a07
Merge pull request #1413 from ardriveapp/PE-4752
thiagocarvalhodev Oct 18, 2023
5db02d8
Merge pull request #1409 from ardriveapp/PE-4718_corrects_android_rel…
thiagocarvalhodev Oct 18, 2023
5199996
Merge pull request #1425 from ardriveapp/PE-4583-video-preview-minus-…
thiagocarvalhodev Oct 18, 2023
3667360
bump version and relaese notes
thiagocarvalhodev Oct 18, 2023
4d52211
update feature flag for video preview
thiagocarvalhodev Oct 18, 2023
9fcee29
Merge pull request #1427 from ardriveapp/PE-4823-release-ar-drive-app…
thiagocarvalhodev Oct 18, 2023
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
2 changes: 1 addition & 1 deletion android/fastlane/metadata/android/en-US/changelogs/68.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- Fixes the dead link for the Feedback Survey Form
- Updates user feedback survey link
2 changes: 2 additions & 0 deletions android/fastlane/metadata/android/en-US/changelogs/70.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- New Video Preview available when selecting video files
- The currently selected wallet address is now displayed on the login page
2 changes: 1 addition & 1 deletion assets/config/prod.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"allowedDataItemSizeForTurbo": 500000,
"enableQuickSyncAuthoring": true,
"enableMultipleFileDownload": true,
"enableVideoPreview": false,
"enableVideoPreview": true,
"enableAudioPreview": true,
"stripePublishableKey": "pk_live_51JUAtwC8apPOWkDLMQqNF9sPpfneNSPnwX8YZ8y1FNDl6v94hZIwzgFSYl27bWE4Oos8CLquunUswKrKcaDhDO6m002Yj9AeKj",
"enablePins": true
Expand Down
2 changes: 1 addition & 1 deletion assets/config/staging.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"allowedDataItemSizeForTurbo": 500000,
"enableQuickSyncAuthoring": true,
"enableMultipleFileDownload": true,
"enableVideoPreview": false,
"enableVideoPreview": true,
"enableAudioPreview": true,
"stripePublishableKey": "pk_live_51JUAtwC8apPOWkDLMQqNF9sPpfneNSPnwX8YZ8y1FNDl6v94hZIwzgFSYl27bWE4Oos8CLquunUswKrKcaDhDO6m002Yj9AeKj",
"enablePins": true
Expand Down
11 changes: 11 additions & 0 deletions lib/authentication/ardrive_auth.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import 'package:ardrive/utils/logger/logger.dart';
import 'package:ardrive/utils/metadata_cache.dart';
import 'package:ardrive/utils/secure_key_value_store.dart';
import 'package:arweave/arweave.dart';
import 'package:arweave/utils.dart';
import 'package:cryptography/cryptography.dart';
import 'package:flutter/foundation.dart';
import 'package:stash_shared_preferences/stash_shared_preferences.dart';
Expand All @@ -29,6 +30,7 @@ abstract class ArDriveAuth {
User get currentUser;
Stream<User?> onAuthStateChanged();
Future<bool> isBiometricsEnabled();
Future<String?> getWalletAddress();

factory ArDriveAuth({
required ArweaveService arweave,
Expand Down Expand Up @@ -326,6 +328,15 @@ class ArDriveAuthImpl implements ArDriveAuth {

return firstPrivateDriveTxId;
}

@override
Future<String?> getWalletAddress() async {
final owner = await _userRepository.getOwnerOfDefaultProfile();
if (owner == null) {
return null;
}
return ownerToAddress(owner);
}
}

class AuthenticationFailedException implements Exception {
Expand Down
2 changes: 2 additions & 0 deletions lib/authentication/login/blocs/login_bloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:ardrive/authentication/ardrive_auth.dart';
import 'package:ardrive/entities/profile_types.dart';
import 'package:ardrive/services/arconnect/arconnect.dart';
import 'package:ardrive/services/arconnect/arconnect_wallet.dart';
import 'package:ardrive/user/repositories/user_repository.dart';
import 'package:ardrive/user/user.dart';
import 'package:ardrive/utils/html/html_util.dart';
import 'package:ardrive/utils/logger/logger.dart';
Expand Down Expand Up @@ -37,6 +38,7 @@ class LoginBloc extends Bloc<LoginEvent, LoginState> {
LoginBloc({
required ArDriveAuth arDriveAuth,
required ArConnectService arConnectService,
required UserRepository userRepository,
}) : _arDriveAuth = arDriveAuth,
_arConnectService = arConnectService,
super(LoginLoading()) {
Expand Down
52 changes: 50 additions & 2 deletions lib/authentication/login/views/login_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ import 'package:ardrive/authentication/login/blocs/stub_web_wallet.dart' // stub
if (dart.library.html) 'package:ardrive/authentication/login/blocs/web_wallet.dart';
import 'package:ardrive/blocs/profile/profile_cubit.dart';
import 'package:ardrive/components/app_version_widget.dart';
import 'package:ardrive/components/truncated_address.dart';
import 'package:ardrive/misc/resources.dart';
import 'package:ardrive/pages/drive_detail/components/hover_widget.dart';
import 'package:ardrive/services/arconnect/arconnect.dart';
import 'package:ardrive/services/authentication/biometric_authentication.dart';
import 'package:ardrive/services/authentication/biometric_permission_dialog.dart';
import 'package:ardrive/services/config/config_service.dart';
import 'package:ardrive/user/repositories/user_repository.dart';
import 'package:ardrive/utils/app_localizations_wrapper.dart';
import 'package:ardrive/utils/app_platform.dart';
import 'package:ardrive/utils/io_utils.dart';
Expand Down Expand Up @@ -48,6 +50,7 @@ class _LoginPageState extends State<LoginPage> {
create: (context) => LoginBloc(
arConnectService: ArConnectService(),
arDriveAuth: context.read<ArDriveAuth>(),
userRepository: context.read<UserRepository>(),
)..add(const CheckIfUserIsLoggedIn()),
child: BlocConsumer<LoginBloc, LoginState>(
listener: (context, state) {
Expand Down Expand Up @@ -314,7 +317,9 @@ class _LoginPageScaffoldState extends State<LoginPageScaffold> {
} else if (enableSeedPhraseLogin &&
state is LoginDownloadGeneratedWallet) {
content = DownloadWalletView(
mnemonic: state.mnemonic, wallet: state.walletFile);
mnemonic: state.mnemonic,
wallet: state.walletFile,
);
} else {
content = PromptWalletView(
key: const Key('promptWalletView'),
Expand Down Expand Up @@ -684,6 +689,10 @@ class _PromptPasswordViewState extends State<PromptPasswordView> {
textAlign: TextAlign.center,
style: ArDriveTypography.headline.headline4Bold(),
),
_buildAddressPreview(
context,
maybeWallet: widget.wallet,
),
Column(
children: [
ArDriveTextField(
Expand Down Expand Up @@ -2243,7 +2252,7 @@ class CreateNewWalletViewState extends State<CreateNewWalletView> {
color: colors.themeErrorMuted,
)
.copyWith(fontSize: 14)))
]),
]),
shape: RoundedRectangleBorder(
side: BorderSide(
color: colors.themeErrorMuted, width: 1),
Expand Down Expand Up @@ -2637,3 +2646,42 @@ class _LoginCopyButtonState extends State<LoginCopyButton> {
}
}
}

Widget _buildAddressPreview(
BuildContext context, {
required Wallet? maybeWallet,
}) {
Future<String?> getWalletAddress() async {
if (maybeWallet == null) {
return context.read<ArDriveAuth>().getWalletAddress();
}
return maybeWallet.getAddress();
}

return FutureBuilder(
future: getWalletAddress(),
builder: (BuildContext context, AsyncSnapshot<String?> snapshot) {
if (snapshot.hasData) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
appLocalizationsOf(context).walletAddress,
style: ArDriveTypography.body
.captionRegular()
.copyWith(fontSize: 18),
),
const SizedBox(width: 8),
TruncatedAddress(
walletAddress: snapshot.data!,
fontSize: 18,
),
],
);
} else {
return const SizedBox.shrink();
}
},
);
}
3 changes: 1 addition & 2 deletions lib/blocs/fs_entry_preview/fs_entry_preview_cubit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -339,8 +339,7 @@ class FsEntryPreviewCubit extends Cubit<FsEntryPreviewState> {
return audioContentTypes
.any((element) => element.contains(fileExtension));
case 'video':
return videoContentTypes
.any((element) => element.contains(fileExtension));
return true;
default:
return false;
}
Expand Down
10 changes: 9 additions & 1 deletion lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -833,6 +833,10 @@
"@fileType": {
"description": "The MIME type of the file"
},
"fileTypeUnsupported": "File type unsupported by browser or operating system",
"@fileTypeUnsupported": {
"description": "Message shown when unable to load media file due to unsupported file format"
},
"fileWasCreatedWithName": "This file was created with the name {fileName}.",
"@fileWasCreatedWithName": {
"description": "File activity (journal): created",
Expand Down Expand Up @@ -1970,6 +1974,10 @@
"@waitForDownload": {
"description": "User must to wait this download"
},
"walletAddress": "Wallet address:",
"@walletAddress": {
"description": "E.g. \"The wallet address is… ABCDEFGH\""
},
"walletChangedDuringManifestCreation": "Provided wallet has unexpectedly changed during manifest creation...",
"@walletChangedDuringManifestCreation": {
"description": "The wallet has been changed while the creation of the manifest was in process"
Expand Down Expand Up @@ -2078,4 +2086,4 @@
"@zippingYourFiles": {
"description": "Download failure message when a file is too big"
}
}
}
Loading
Loading