Commit graph

661 commits

Author SHA1 Message Date
Inex Code 643020ebd7 fix: Detect the situation when we have faulty link-local IPv6 records 2024-03-01 11:54:27 +03:00
Inex Code c8577b3bdf fix: When using fallback upgrade, UI showed that upgrade failed 2024-02-23 20:15:39 +03:00
Inex Code a9a7b04ad5 fix: Return the binds migration interface
Turns out, there are still servers that didn't perform the binds migration. The can't perform it anymore because email changed the id. I'm getting back the option to perform the binds migration, with some fallback defaults.
2024-02-23 19:50:28 +03:00
Inex Code 275e8b1f40 chore: Fixes from review 2024-02-23 17:49:10 +03:00
Inex Code 160e6d3b35 refactor: Remove unused job 2024-02-21 05:00:45 +03:00
Inex Code 7bb96b5ed0 chore: remove prints 2024-02-21 00:45:32 +03:00
Inex Code 43a339af91 refactor: Code deduplication in server data reload 2024-02-20 23:34:45 +03:00
Inex Code caa2fd3b8e refactor: Handle situation when the job has to be removed
Closes #166
2024-02-20 23:17:36 +03:00
Inex Code 4eb8f34e37 Merge remote-tracking branch 'origin/master' into api-connection-refactor 2024-02-20 20:13:19 +03:00
Inex Code 92cf2cde6d refactor: Refactor ServerDetailsCubit to use ApiConnectionRepository 2024-02-20 20:09:14 +03:00
Inex Code 9459191c09 refactor: Remove Job dependency on ClientJobsCubit 2024-02-20 20:04:39 +03:00
Inex Code 16094a3257 refactor: Rework ClientJobs cubit so it doesn't depend on other cubits
Also implemented tracking of the jobs and rebuild status
2024-02-20 19:33:24 +03:00
Inex Code fdb40fccd7 fix: Init ApiConnectionRepository after server access recovery 2024-02-14 15:59:01 +03:00
Inex Code 9a1f47711c chore: Update GraphQL schema with experimental system rebuild tracking 2024-02-12 20:20:30 +03:00
Inex Code 455b1ed7f9 refactor: Replace UsersCubit with UsersBloc 2024-02-09 18:01:05 +03:00
Inex Code e5f00f8770 refactor: Make sure that blocs use sealed classes 2024-02-09 16:54:04 +03:00
Inex Code 710b9b53dd refactor: Replace ApiDevicesCubit with DevicesBloc 2024-02-09 14:07:03 +03:00
Inex Code 3a525f0d11 refactor: Replace RecoveryKeyCubit with RecoveryKeyBloc 2024-02-08 18:08:29 +03:00
Inex Code 1daf957245 chore: Move ConnectionStatus bloc to bloc folder 2024-02-08 16:58:45 +03:00
aliaksei tratseuski dd81053f42 refactor(UI): Rewrite onboarding page
rewrote OnboardingPage:
* decomposed into separate widgets
* now content stays centered on wide screens (set so width won't expand further than 480px)
* pageController is now properly disposed
* added some more code changes to
    * main (error widget builder)
    * brand_header (centerTitle instead of empty actions list)
    * console_page (listener callback fix, used gaps instead of SizedBox'es, added keys to list items)
    * service_page (just cleaner build method)
	* removed some dead code

Co-authored-by: Aliaksei Tratseuski <aliaksei.tratseuski@gmail.com>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/444
Co-authored-by: aliaksei tratseuski <misterfourtytwo@noreply.git.selfprivacy.org>
Co-committed-by: aliaksei tratseuski <misterfourtytwo@noreply.git.selfprivacy.org>
2024-02-08 13:59:52 +02:00
Inex Code 98228cfc05 fix(hetzner): Fix the resize volume request 2024-02-07 13:39:41 +03:00
Inex Code 6914b01d2a refactor: remove ProviderVolumes cubit 2024-02-06 18:21:21 +03:00
Inex Code 3b9d616045 refactor: Introduce VolumesBloc, remove ServerVolumeCubit 2024-02-01 18:30:06 +04:00
Inex Code 3222a9b500 refactor: Init blocs in initState and not in widget build 2024-01-31 18:06:49 +04:00
Inex Code e330f71b63 refactor: Optimistic state update when forgetting a snapshot 2024-01-31 18:06:22 +04:00
Inex Code 1ba8f324fe refactor: Use transformers for blocs 2024-01-31 16:17:27 +04:00
Inex Code 21c0e200a9 fix: Regenerate codegen for updated model name 2024-01-31 16:03:15 +04:00
Inex Code 02870c3149 style: Formatting 2024-01-31 15:05:12 +04:00
Inex Code fe6f900165 refactor: Move event handler registration to the beginning of blocs 2024-01-31 15:04:59 +04:00
Inex Code f46865ca71 style: Apply directives_ordering lint 2024-01-31 14:57:12 +04:00
Inex Code 31c6a18918 Merge remote-tracking branch 'origin/directives_ordering' into api-connection-refactor
# Conflicts:
#	lib/config/bloc_config.dart
#	lib/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart
#	lib/logic/cubit/backups/backups_cubit.dart
#	lib/logic/cubit/dns_records/dns_records_cubit.dart
#	lib/logic/cubit/providers/providers_cubit.dart
#	lib/logic/models/service.dart
#	lib/ui/pages/backups/backup_details.dart
#	lib/ui/pages/backups/change_period_modal.dart
#	lib/ui/pages/backups/change_rotation_quotas_modal.dart
#	lib/ui/pages/backups/copy_encryption_key_modal.dart
#	lib/ui/pages/more/more.dart
#	lib/ui/pages/server_storage/binds_migration/migration_process_page.dart
#	lib/ui/pages/server_storage/server_storage.dart
#	lib/ui/pages/server_storage/storage_card.dart
2024-01-31 14:50:40 +04:00
Inex Code acb5da9a92 style: Enable directives_ordering lint 2024-01-31 09:14:23 +04:00
Inex Code 149969aed8 refactor: Rename ServerVolume model to reflect that it is tied to provider 2024-01-29 20:49:20 +04:00
Inex Code 9bfaf5d381 refactor: Remove usesBinds from ApiServerVolumeCubit 2024-01-29 20:45:49 +04:00
Inex Code bdd00683cd refactor: Optimistic state update when removing all finished jobs 2024-01-29 20:14:12 +04:00
Inex Code 831a0e95eb refactor: Rewrite services cubit to bloc, using ApiRepo streams 2024-01-29 19:58:37 +04:00
Inex Code a5e7725733 refactor: Rewrite backups cubit to bloc, using ApiRepo streams 2024-01-29 17:54:09 +04:00
NaiJi 2b30136def fix(dns): Make sure that we notice domain ownership lost
- https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/390
2024-01-28 09:18:36 +04:00
Inex Code b1be3f24d6 refactor: Rewire cubit from depending on server_installation_cubit to the new connection manager 2024-01-26 18:46:09 +04:00
Inex Code 24e5c8baee refactor: Remove unused providers cubit 2024-01-26 14:49:36 +04:00
Inex Code fa21bdf034 refactor: Remove unused timer singleton 2024-01-26 14:43:44 +04:00
NaiJi 40c423437a refactor: Rename variables and add needed comments
- https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/265
2024-01-19 17:23:09 +04:00
NaiJi 2836ce4870 fix(cloudflare): Convert MX name from @ to root domain
- https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/265
2024-01-19 00:50:42 +02:00
NaiJi d841f9db44 feat: Make DNS deletion and creation dynamic
- https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/265
2024-01-19 00:50:42 +02:00
NaiJi 07058d3db5 fix(graphql): Remove and replace deprecated mutations
- https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/418
2024-01-15 13:11:09 +04:00
Inex Code b974062626 fix: Update loginInfo with new service IDs 2024-01-10 15:50:37 +02:00
NaiJi a45ac7e344 fix: Adapt domain iteration on recovery to new provider interface 2024-01-05 07:28:45 +04:00
NaiJi ff9c96a114 fix(cloudflare): Adapt Cloudflare DNS convertion 2024-01-05 07:15:27 +04:00
NaiJi ✨ 19e070133c Merge branch 'master' into dynamic-dns 2023-12-29 22:24:59 +02:00
NaiJi 1c07476764 refactor: Move DNS records validation to cubit layer 2023-12-29 23:58:58 +04:00
Inex Code 2a4614c673 feat: Allow custom SSH keys during setup and use the new NixOS infect 2023-12-28 22:35:39 +03:00
NaiJi ✨ ada5f1a66c Merge branch 'master' into dynamic-dns 2023-12-20 15:09:29 +02:00
NaiJi 371d83b4be fix(linter): Change httpClientAdapter callback creation 2023-12-20 17:04:33 +04:00
NaiJi 2ef0121321 refactor(linter): Create HTTP client from adapter 2023-12-20 16:56:31 +04:00
NaiJi 02a2097b10 refactor(linter): Change DioError to DioException 2023-12-20 16:50:43 +04:00
NaiJi f1b0b3fc9e Merge branch 'master' into dynamic-dns 2023-12-18 08:46:19 +04:00
NaiJi ✨ 2f6b4e0f9c Merge pull request 'feat: Implement better domain ownership check during installation' (#394) from domain-ownership-setup into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/394
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-12-12 17:24:22 +02:00
NaiJi ✨ 5d92c95ce0 Merge pull request 'fix(devices): Update refreshing state for Devices page' (#398) from device-screen-updating into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/398
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-12-03 20:09:18 +02:00
NaiJi ✨ 55d77b2144 Merge branch 'master' into better-bucket-name 2023-12-03 20:03:11 +02:00
NaiJi f6ded5399c refactor(backblaze): Move milliseconds since epoch to the beginning of bucket name 2023-12-03 21:58:56 +04:00
NaiJi b5cfdfd68a fix(hetzner): Filter away ARM architecture from available servers
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/402
2023-12-03 01:01:46 +04:00
NaiJi faa02c54fe feat(backblaze): Include milliseconds since epoch to bucket name
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/263
2023-12-03 00:44:32 +04:00
NaiJi da0b0b7670 fix(devices): Make devices state remember current device on refresh
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/258
2023-11-30 10:04:57 +04:00
NaiJi 8037eec486 feat: Implement better domain ownership check during installation
- Produce support instructions for DNS domain recovery

- https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/389
2023-11-27 19:00:05 +04:00
NaiJi 98f107b675 fix(cloudflare): Improve DNS records convertion to deSEC DNS 2023-11-22 15:14:02 +04:00
NaiJi e9c881c408 fix(cloudflare): Improve DNS records convertion to Cloudflare DNS 2023-11-22 12:09:19 +04:00
NaiJi cd9b47b924 Merge branch 'master' into 'dynamic-dns' 2023-11-22 09:34:31 +04:00
NaiJi e50ef9b189 fix: Revert lints of premaster flutter version back to 3.16 2023-11-20 19:38:24 +04:00
NaiJi 8dc5847c6c Merge branch 'master' into 'lints' 2023-11-20 18:33:31 +04:00
NaiJi f11a75dfb7 refactor: Remove obsolete network objects 2023-11-20 18:29:26 +04:00
NaiJi cea2f6d8a4 refactor: Correct a typo in Hetzner API 2023-11-20 18:10:19 +04:00
NaiJi f7afd6fd15 fix(hetzner): Remove optional status enum for getVolumes of Hetzner 2023-11-20 03:32:41 +04:00
NaiJi c34a5b97d6 fix: Improve DNS formatting for Cloudflare DNS 2023-11-19 23:34:58 +04:00
NaiJi cd97833025 feat: Make GetDnsRecords query return also service DNS 2023-11-18 10:22:07 +04:00
NaiJi b46ef2f7a3 Merge branch 'master' into dynamic-dns 2023-11-18 09:24:10 +04:00
NaiJi ec8d08ff07 fix(api): Force DateTime to UTC where timezone naive
- Solve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/385
2023-11-13 14:03:52 +04:00
NaiJi d45417effe feat: Implement model adapter for Digital Ocean DNS
- Adapt all external interfaces to new DNS record models
2023-11-09 18:48:49 +04:00
NaiJi 5a7ae23ec2 feat: Implement model adapter for Cloudflare DNS 2023-11-09 17:21:56 +04:00
NaiJi e9c01576b2 feat: Implement model adapters
- Move desec model conversion to adapters
2023-11-09 16:52:27 +04:00
NaiJi db1a8b6f67 refactor: Move deSEC DNS conversion into DesecDnsRecord model
- Get rid of desired dns records hardcore for deSEC
2023-11-08 18:31:28 +04:00
NaiJi c894456fe6 refactor: Fix linter warnings
- Remove unused text_extensions.dart
2023-11-06 17:15:38 +04:00
NaiJi ✨ e1aeb89991 Merge branch 'master' into cloudflare-caching 2023-10-06 01:44:20 +03:00
NaiJi c2ae962322 refactor: Remove redundant zone id cache for Cloudflare 2023-10-05 19:42:29 -03:00
NaiJi ✨ 34eda8ca2d Merge branch 'master' into ssh-edcsa 2023-10-03 20:57:35 +03:00
NaiJi 043d29538c refactor: Conventionally reduce DiskSize to only 'int gb' for resize digital ocean volume 2023-09-30 21:35:58 -03:00
NaiJi fbacb5969d fix: Force size value truncation for digital ocean, change query url
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/367
2023-09-30 21:04:04 -03:00
NaiJi 172253902d feat(ssh): Add support for ECDSA SSH keys
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/319
2023-09-26 16:18:50 -03:00
NaiJi aa4429cc79 refactor(ui): Reorganize placeholders for empty pages
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/348
- Make 'Data Center' cards unclickable when uninitialized
2023-09-23 23:03:54 -03:00
NaiJi 5c329d47c1 refactor(ui): Make users be ordered properly on users page
- Resolves https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/340
2023-09-16 02:09:40 -03:00
Inex Code 1b26f2cf29 feat(backups): Allow to change snapshot rotation settings 2023-09-09 21:13:27 +03:00
Inex Code aac4b2773b feat(backups): Show the snapshot creation reason 2023-09-09 10:22:43 +03:00
NaiJi afa83f0d29 chore: I embarrassed myself... 2023-09-08 03:08:02 -03:00
NaiJi 14dbdbbc73 feat: Implement dialogue to choose an domain from several during installation 2023-09-08 02:54:28 -03:00
NaiJi ✨ fd13828ec3 Merge pull request 'feat: Implement copying to clipboard for snapshot id of backups' (#325) from snapshot-id into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/325
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-09-07 23:58:39 +03:00
Inex Code fe93360870 refactor: Use snackbar to show snapshot id copy notification 2023-09-07 14:35:42 +03:00
NaiJi 7b8d9ddca9 fix: Change 'mailserver' string id to 'email' in loginInfo switch 2023-09-06 23:41:34 -03:00
NaiJi 8a5ee1d42e Merge 'master' into 'price-calculation' 2023-09-06 20:54:30 -03:00
NaiJi ✨ 82dfdf04f9 fix: Implement Backblaze bucket restoration on server recovery (#324)
Resolves issue [320](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/320).

Co-authored-by: NaiJi <naijiworld@protonmail.com>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/324
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-09-06 00:36:49 +03:00
NaiJi ✨ 1642cb907d Merge pull request 'refactor: Remove mentions of cloudflare from general variables' (#323) from dkim-record-naming into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/323
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-09-05 14:46:55 +03:00
NaiJi 85abd8f0fc refactor: Remove mentions of cloudflare from general variables 2023-09-05 08:45:09 -03:00