Commit graph

845 commits

Author SHA1 Message Date
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 a2b28e199d feat: Implement flexible precision formatting for prices 2023-11-19 23:51:36 +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 87b58ec6d8 feat: Implement confirmation modal for volume resizing
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/308
2023-10-07 18:52:36 -03: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 ✨ 6096ef2572 Merge branch 'master' into digital-ocean-volume 2023-10-02 20:10:54 +03:00
NaiJi 97a9793f9d fix(ui): Disable storage card while volume information is being fetched
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/317
2023-09-30 21:51:11 -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
Inex Code 914775ac48 chore(ui): Change icon of the Services placeholder 2023-09-26 20:20:13 +03:00
NaiJi ✨ f9c951f127 Merge branch 'master' into plug-backgrounds 2023-09-26 18:46:14 +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 c64c6e11d7 refactor(ui): Change SizedBox dimension hardcode from 10 to 8 for service cards 2023-09-18 12:42:40 -03:00
NaiJi ✨ ec36f6b764 Merge branch 'master' into service-card-naming 2023-09-18 18:39:58 +03:00
NaiJi ✨ 86f2d0c0bb Merge branch 'master' into email-copy 2023-09-18 18:34:47 +03:00
NaiJi ✨ a7e8c0aa6b Merge branch 'master' into service-card-naming 2023-09-18 18:34:16 +03:00
NaiJi ✨ 70c47c69ab Merge branch 'master' into email-copy 2023-09-18 18:30:25 +03:00
NaiJi ✨ 8901507f08 Merge branch 'master' into service-card-naming 2023-09-18 18:30:03 +03:00
NaiJi 7aa3305d23 refactor: Rename isUserPrimary to isPrimaryUser for User 2023-09-18 12:28:41 -03:00
NaiJi dae535e35a Merge branch 'master' into users-order 2023-09-18 12:26:50 -03:00
NaiJi ✨ f34c4417b6 Merge pull request 'refactor(ui): Change measure units on 'Extending volume' page' (#344) from extending-fields into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/344
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-09-18 18:23:33 +03:00
NaiJi 40568925e1 refactor(ui): Move service card name to its icon row
- Resolves https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/350
2023-09-18 12:22:37 -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
NaiJi 887302f936 refactor(ui): Add measure units to 'Extending volume' page
- Resolves https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/301
2023-09-16 01:41:02 -03:00
NaiJi d2ed9f3a75 refactor(ui): Move service descriptions above login info for service cards
- Resolves https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/341
2023-09-16 00:46:16 -03:00
Inex Code 0ffd7e61d6 feat(backups): Add note about the scope of backup rotation 2023-09-09 21:20:21 +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
Inex Code ef91ffaf2b Merge pull request 'feat: Implement dialogue to choose an domain from several during installation' (#330) from domain-selection into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/330
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-09-08 15:42:38 +03:00
Inex Code 031ad47417 refactor(ui): Domain selection refresh 2023-09-08 15:41:12 +03:00
Inex Code 062fa725c4 fix(ui): DNS API key support page was using old code 2023-09-08 09:38:08 +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 3c548e5aa9 feat: Add copy-to-clipboard for email on user page
- Implement setClipboard adapter and encapsulate platform dependency on clipboard service
2023-09-07 18:26:33 -03:00
NaiJi cd452d5f26 refactor: Change getOverrideColor lambda to simple variable in backup page 2023-09-07 18:04:26 -03:00
NaiJi a67c203266 Merge branch 'master' into gray-backups 2023-09-07 18:00:49 -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 e07394e8b1 feat: Implement visible accent when backup modal buttons are disabled 2023-09-06 23:31:47 -03:00
NaiJi ffa985aba2 feat: Implement copying to clipboard for snapshot id of backups 2023-09-06 23:03:06 -03:00
NaiJi 8a5ee1d42e Merge 'master' into 'price-calculation' 2023-09-06 20:54:30 -03:00
Inex Code 0984892a01 feat: UI tweaks for server costs 2023-09-06 20:01:56 +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
NaiJi 8f7730575e fix: Wrap DNS check in catch to avoid runtime crash 2023-09-05 08:34:01 -03:00
Inex Code d64764f4a8 Merge branch 'master' into price-calculation 2023-09-01 15:38:35 +03:00
Inex Code b01c61a47b feat(backups): Add snapshot restore modal 2023-08-14 07:10:15 +03:00
Inex Code 03f7e7d819 fix(ui): Fix encryption key modal behaviour when no key found
Closes #300
2023-08-14 07:09:06 +03:00
Inex Code 7e1620be3c fix(ui): Add loading animation for backups screen
Closes #309
2023-08-14 05:54:11 +03:00
Inex Code 4170224119 fix(ui): Add divider in backups screen 2023-08-14 05:48:15 +03:00
Inex Code 13e80a9e37 Merge branch 'master' into restore-strategy 2023-08-14 05:35:52 +03:00
Inex Code 6e241ff4d2 Merge branch 'master' into soft-reset 2023-08-14 05:34:18 +03:00
NaiJi e4c5220fb4 refactor: Rename isTherePendingChange to isVolumePicked on migration page 2023-08-11 10:21:27 -03:00
NaiJi 2279ebf47f Merge 'master' into 'service-migration' 2023-08-11 10:17:31 -03:00
NaiJi a94965ab0d feat: Add autofocus to cubit text fields for keyboard displaying 2023-08-10 23:21:45 -03:00
NaiJi 91dce222cc fix: Don't let start service migration if the same volume was picked 2023-08-10 23:07:03 -03:00
NaiJi e417088340 fix(i18l): Change broken validations string for superuser SSH 2023-08-07 10:26:52 -03:00
NaiJi 3ad6bb7bea Merge 'master' into 'soft-reset' 2023-08-07 10:15:23 -03:00
NaiJi 702a8049c5 Merge 'master' into 'restore-strategy' 2023-08-07 10:14:46 -03:00
NaiJi 316e1f5db6 Merge 'master' into 'price-calculation' 2023-08-07 10:14:08 -03:00
NaiJi ✨ 5570f16adf Merge pull request 'chore(router): Generate new build runner object for router class' (#275) from router into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/275
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-08-07 16:11:04 +03:00
NaiJi 4ef83fc6bd chore(router): Generate new build runner object for router class 2023-08-07 10:07:54 -03:00
NaiJi 80b83980ce feat(backup): Implement forget snapshot method 2023-08-07 09:44:26 -03:00
NaiJi 75b8a7b9ac feat(backups): Implement restore backup strategy 2023-08-07 09:23:48 -03:00
NaiJi dce33b2d4c fix: Remove unuzed ZoneId member 2023-08-07 08:09:24 -03:00
NaiJi 5c473d96a9 Merge 'master' into 'soft-reset' 2023-08-07 08:03:24 -03:00
NaiJi 20c3948e60 Merge 'master' into 'price-calculation' 2023-08-07 07:58:57 -03:00
NaiJi 037498070a fix: Include IPv4 cost to overall server cost 2023-08-07 07:52:26 -03:00
NaiJi ✨ a17b66c729 Merge pull request 'refactor: Implement Cloudflare-specific objects to avoid usage of global models' (#268) from dto into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/268
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-08-07 12:06:45 +03:00
NaiJi ✨ e35514b670 Merge pull request 'feat: Replace general entity naming on UI with specifics.' (#264) from hardcoded-naming into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/264
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-08-07 12:06:30 +03:00
NaiJi ✨ 1db2f53c9a Merge pull request 'fix(hetzner): Normalize CPU usage percentage by cached amount of cores' (#272) from hetzner-cpu into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/272
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-08-07 12:02:35 +03:00
NaiJi 719a5a7274 fix(hetzner): Normalize CPU usage percentage by cached amount of cores 2023-08-07 04:08:54 -03:00
NaiJi 4b1c85c4a8 chore: Add missing trailing commas to encryption key modal page 2023-08-06 20:32:05 -03:00
NaiJi 4f8f87f8a8 feat: Include volume cost to overall monthly cost per server 2023-08-06 20:28:02 -03:00
NaiJi e97d52bad5 fix: Replace runSystemRebuild with rebootSystem 2023-08-06 18:24:41 -03:00
NaiJi ffe923ef13 fix: Replace hard reset from server provider with direct server reboot 2023-08-02 18:08:23 -03:00
NaiJi bd9a383d38 chore: Remove debug prints 2023-08-02 16:08:26 -03:00
NaiJi b2c67c80bd refactor: Implement Cloudflare objects to avoid usage of dynamic blobs
- Get rid of ZoneId term outside of Cloudflare
2023-08-02 16:04:49 -03:00
NaiJi bd8faf8760 feat: Replace general entity naming on UI with specifics.
- Pass actual provider namings to .tr functions as arguments
- Remove hardcoded namings where known
- Get rid of general mentions of 'DNS Provider' or 'Server Provider' where confusing
2023-07-28 20:42:41 -03:00
NaiJi c37e56b43a Merge master into dto 2023-07-27 21:29:05 -03:00
NaiJi ccac0ff7fa refactor(digital-ocean-dns): Implement basic DTO for Digital Ocean DNS to avoid dynamic objects 2023-07-27 20:55:32 -03:00
NaiJi ✨ fd1be6358c Merge pull request 'refactor(desec): Implement basic DTO for DESEC to avoid dynamic objects' (#246) from dto into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/246
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-07-28 00:32:25 +03:00
NaiJi 146350f8f4 refactor(desec): Implement basic DTO for DESEC to avoid dynamic objects 2023-07-26 21:33:50 -03:00
NaiJi b313cd340e refactor: Remove unused id field from DnsRecords object 2023-07-26 20:27:10 -03:00
NaiJi 603946ba73 Merge master into platform-path 2023-07-26 20:20:21 -03:00
NaiJi 4dae3404fa fix(ui): Prevent service moving if volume is null for some reason 2023-07-25 18:56:47 -03:00
Inex Code 5df1d676f6 style: Remove misleading code comment 2023-07-25 22:46:12 +03:00
Inex Code bbc619deed feat(backups): Show the user that the key is copied 2023-07-25 22:43:28 +03:00
Inex Code cfcfd5d708 feat(backups): Update the UI of the encryption key modal 2023-07-25 22:25:08 +03:00
Inex Code 3b1e71d771 fix: Add a workaround for the case when we don't have sreverTypeId 2023-07-25 18:39:58 +03:00
NaiJi c3752673f7 feat(backups): Implement modal for copying backups encryption key 2023-07-25 18:15:04 +03:00
NaiJi ✨ ac6a4c192e Merge pull request 'feat(graphql): Implement Accept-Language header for GraphQL API map' (#243) from graphql-locale into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/243
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-07-25 17:38:14 +03:00
NaiJi 27aaf93838 chore: Rename '_getApiToken' to 'get _token' for GraphQL API map 2023-07-22 11:26:48 -03:00
NaiJi 08f3258615 feat(graphql): Implement Accept-Language header for GraphQL API map 2023-07-22 11:24:37 -03:00
NaiJi 69822f24ca chore: Remove unused server basic info attribute 2023-07-21 19:50:20 -03:00
NaiJi 7b02074345 fix(recovery): Replace server basic info request method with server type info request method 2023-07-21 19:48:00 -03:00
NaiJi 80f28463ec fix(recovery): Implement server type id requesting on recovery finish 2023-07-21 18:07:26 -03:00
NaiJi d8660b9f3a feat(platform): Print storage path before Hive initialization 2023-07-21 14:44:01 -03:00
NaiJi 06a857aa8c chore(platform): Fix comment typo 2023-07-20 17:19:29 -03:00
NaiJi 3b1eee5a94 fix(platform): Make platform storage path nullable for compability with previous behaviour 2023-07-20 17:14:17 -03:00
NaiJi 25d6881837 chore: Remove misleading commentary 2023-07-20 17:07:08 -03:00
NaiJi 68ed776785 feat(platform): Implement custom platform-dependent storage path definition
- Create new PlatformAdapter util and hide i/o there
- Move other usages of Platform class in PlatformAdapter
2023-07-20 17:06:17 -03:00
NaiJi 1e5b6c12e6 feat(digital-ocean): Implement uniqueness check
- Suggest to delete duplicate server
- Increase timeout by 5 iterations
2023-07-20 12:53:56 -03:00
NaiJi cbef1d578b feat(location): Make flag getter a part of server provider location object 2023-07-17 12:25:41 -03:00
NaiJi 56231a4197 feat(provider): Implement proper load functions for DNS and Server providers 2023-07-16 10:05:37 -03:00
NaiJi ✨ 0a333214d8 chore: Merge pull request 'refactor(rest-api): Move rest api methods according to their business logic files positions' (#235) from docs into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/235
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-07-16 14:00:40 +03:00
NaiJi 81aa6003be fix(installation): Add proper server type value loading 2023-07-16 07:25:14 -03:00
NaiJi 7ff1e36161 refactor(rest-api): Move rest api methods according to their business logic files positions
- Rename unmatching functions
2023-07-13 06:22:39 -03:00
NaiJi ddf2f71ac3 fix(ui): Make currency be properly shown again via shortcode 2023-07-12 13:14:46 -03:00
NaiJi bc6b08d621 fix(ui): Add background for dialogue pop ups and move them to root navigator 2023-07-10 09:39:57 -03:00
NaiJi aa5327df6e bug: Remove unused breaking isHidden field 2023-07-10 05:45:22 -03:00
NaiJi 70991e6bac chore(models): Add commentary for Hetzner Volume replicating Hetzner documentation 2023-07-10 05:44:56 -03:00
NaiJi eeb5dfc642 chore(ui): Update router.gr 2023-07-10 05:44:04 -03:00
NaiJi 91b22f531e refactor(dns-provider): Rearrange DNS Provider interface
Move all implement functions accordingly to their position in interface
2023-07-05 06:34:35 -03:00
Inex Code 7d974159a2 style(backups): Fix some UI issues of backup_details.dart 2023-07-03 23:37:23 +03:00
Inex Code a4dbba0968 feat(backups): Backups screens 2023-07-02 18:24:07 +03:00
Inex Code df214a07bc refactor: Remove unused utils, add duration formatter 2023-07-02 18:23:33 +03:00
Inex Code 2b8d3ee6d0 refactor: Getters for backup-related jobs 2023-07-02 18:23:12 +03:00
Inex Code edb02764f7 fix: GraphQL fragments deduplication 2023-07-02 18:22:07 +03:00
Inex Code a8bddaaeba style: Reformatting 2023-07-02 14:41:54 +03:00
Inex Code 62b7a0ee7e feat(backups): Add descriptions for backups 2023-07-02 14:41:31 +03:00
NaiJi b3b7c83461 chore: Implement fragments for ServerJob type on backup requests 2023-06-29 15:38:46 -03:00
Inex Code 7f5488c76b refactor(services): Remove unused state getters 2023-06-29 13:52:25 +03:00
Inex Code 90ab4244f6 feat(backups): Expose if the service can be backed up 2023-06-29 13:51:38 +03:00
Inex Code 62e906d1a4 feat(jobs): Update the model and modal sheets 2023-06-29 12:53:13 +03:00
Inex Code e1e4779c51 feat(recovery): Couldn't save the dns token 2023-06-29 12:52:37 +03:00
Inex Code d2d8add10d feat(backups): Update the models 2023-06-29 12:52:09 +03:00
NaiJi 02cb4dbf8b chore: Merge branch master into backups-rewrite 2023-06-26 15:01:57 -03:00
NaiJi a56f525060 refactor(server-provider): Rearrange Server Provider interface
- Move all implement functions accordingly to their position in interface
- Get rid of duplicate toInfect() functions, move them to ServerDomain
2023-06-26 14:15:53 -03:00