Commit Graph

871 Commits (master)

Author SHA1 Message Date
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
Inex Code e26b6a23b2 fix(ui): Filled button overflow 2023-12-28 20:07:30 +03:00
def e3e5570e4e feat: Add the button to copy password on the new user creation screen (#409)
continuous-integration/drone/push Build is passing Details
#299

Co-authored-by: dettlaff <dettlaff@riseup.net>
Reviewed-on: #409
Reviewed-by: NaiJi  <naiji@noreply.git.selfprivacy.org>
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: def <dettlaff@riseup.net>
Co-committed-by: def <dettlaff@riseup.net>
2023-12-28 15:19:16 +02:00
def d7bf6a0c06 feat: Add animation to the recovery key screen (#410)
continuous-integration/drone/push Build is passing Details
#164
Co-authored-by: dettlaff <dettlaff@riseup.net>
Reviewed-on: #410
Reviewed-by: NaiJi  <naiji@noreply.git.selfprivacy.org>
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: def <dettlaff@riseup.net>
Co-committed-by: def <dettlaff@riseup.net>
2023-12-26 11:28:52 +02: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 ✨ 9ea952b46e refactor(linter): Force const constructor where needed 2023-12-20 16:58:46 +04:00
NaiJi ✨ 5c03749577 refactor(linter): Add library; to brand icons 2023-12-20 16:57:52 +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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #394
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-12-12 17:24:22 +02:00
Inex Code 4ed038d34c refactor: Tweak the design of the BrokenDomainOutlinedCard 2023-12-12 08:31:37 +03:00
NaiJi ✨ 37d2f2fe11 Merge pull request 'fix(ui): Remove listening of a server volume cubit for migration page' (#400) from migration-button-error into master
continuous-integration/drone/push Build is passing Details
Reviewed-on: #400
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-12-03 20:10:37 +02:00
NaiJi ✨ 5d92c95ce0 Merge pull request 'fix(devices): Update refreshing state for Devices page' (#398) from device-screen-updating into master
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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 ✨ ee49b634ae Merge 'master' into 'dynamic-dns' 2023-12-03 01:12:55 +04:00
NaiJi ✨ b5cfdfd68a fix(hetzner): Filter away ARM architecture from available servers
- Resolve #402
2023-12-03 01:01:46 +04:00
NaiJi ✨ faa02c54fe feat(backblaze): Include milliseconds since epoch to bucket name
- Resolve #263
2023-12-03 00:44:32 +04:00
NaiJi ✨ 4abd1e15f1 fix(ui): Remove listening of a server volume cubit for migration page 2023-11-30 12:33:54 +04:00
NaiJi ✨ 5b94cc0cc0 fix(devices): Add refresh indicator to 'Other devices' section
- Resolve #163
2023-11-30 12:15:56 +04:00
NaiJi ✨ da0b0b7670 fix(devices): Make devices state remember current device on refresh
- Resolve #258
2023-11-30 10:04:57 +04:00
NaiJi ✨ 0b4f8d66ef Merge branch 'master' into domain-ownership-setup 2023-11-30 07:50:01 +02:00
NaiJi ✨ 5a33bec6bd feat(ui): Make Snapshot List page show fab button
- Resolve #290
2023-11-29 18:38:27 +04:00
NaiJi ✨ 8037eec486 feat: Implement better domain ownership check during installation
- Produce support instructions for DNS domain recovery

- #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 #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 #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 #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 #367
2023-09-30 21:04:04 -03:00
NaiJi ✨ 172253902d feat(ssh): Add support for ECDSA SSH keys
- Resolve #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 #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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 #350
2023-09-18 12:22:37 -03:00
NaiJi ✨ 5c329d47c1 refactor(ui): Make users be ordered properly on users page
- Resolves #340
2023-09-16 02:09:40 -03:00
NaiJi ✨ 887302f936 refactor(ui): Add measure units to 'Extending volume' page
- Resolves #301
2023-09-16 01:41:02 -03:00
NaiJi ✨ d2ed9f3a75 refactor(ui): Move service descriptions above login info for service cards
- Resolves #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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)
continuous-integration/drone/push Build is passing Details
Resolves issue [320](#320).

Co-authored-by: NaiJi <naijiworld@protonmail.com>
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is failing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #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