Commit graph

673 commits

Author SHA1 Message Date
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
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 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 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 316e1f5db6 Merge 'master' into 'price-calculation' 2023-08-07 10:14:08 -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 719a5a7274 fix(hetzner): Normalize CPU usage percentage by cached amount of cores 2023-08-07 04:08:54 -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
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 ✨ 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 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 ✨ c0d8d37989 chore: Merge backups-testing to master
- Remove unused breaking isHidden field
- Add commentary for Hetzner Volume replicating Hetzner documentation
- Update router.gr (when i ran build_runner this file changed for some reason)

Co-authored-by: NaiJi <naijiworld@protonmail.com>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/232
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-07-10 12:00:46 +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 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
NaiJi e7ec1c1b53 chore: Merge master' into backups-rewrite 2023-06-22 23:23:13 -03:00
NaiJi feca9d3b06 chore: Update scheme.graphql and its models 2023-06-22 23:22:48 -03:00
NaiJi 88d8925ff7 refactor(price): Replace String shortcode with Currency class 2023-06-22 16:02:49 -03:00
NaiJi f05bedf460 chore: Implement new backups api 2023-06-22 11:14:00 -03:00
NaiJi e70cbab618 chore: Fix a typo in GraphQL scheme 2023-06-19 18:05:57 -03:00
NaiJi f4700965c6 chore: Merge master into backups-rewrite 2023-06-19 17:56:00 -03:00
NaiJi 9552df1ec2 chore: Remove unused abstraction for ServerProvider 2023-06-19 15:17:15 -03:00
NaiJi 215ad3579d chore: Rename ApiMaps to RestApiMap and GraphQLApiMap 2023-06-19 15:15:24 -03:00
NaiJi f9da202093 chore: Remove unused abstractions 2023-06-19 15:11:55 -03:00
NaiJi 3fedb17553 chore: Remove unused function from Desec API 2023-06-19 14:59:46 -03:00
NaiJi 0d49b89e43 chore: Remove unused function for Cloudflare provider 2023-06-19 14:52:07 -03:00
NaiJi e418a58e5b chore: Remove unused ApiTokenvalidatoin 2023-06-19 14:42:48 -03:00
NaiJi 0502e68cc1 chore: Remove unused function 2023-06-19 12:12:15 -03:00
NaiJi 6337889ab7 chore: Remove unneeded files 2023-06-19 11:59:11 -03:00
NaiJi 4adcca5746 fix: Resolve timer conflicts on emultiple emits 2023-06-16 00:52:04 -03:00
Inex Code c87b834550 fix: dialogs during server setup 2023-06-16 06:00:08 +03:00
Inex Code 53e72504f7 refactor: Allow changing values for TLS settings 2023-06-16 05:59:48 +03:00
Inex Code 13af7e5e1d feat(backups): Introduce read GraphQL nodes for backups 2023-06-16 04:30:46 +03:00
Inex Code a5bb654a76 refactor(backups): Rename BackbaleCredential to BackupsCredential
Also adding provider field
2023-06-16 04:28:45 +03:00
NaiJi b46c53674b feat: Implement new dialogue stub onChange 2023-06-15 13:48:23 -03:00
NaiJi 085c71748d fix: Add currency to price tag on server info page 2023-06-14 15:11:51 -03:00
NaiJi 69707f543f fix: Properly convert Digital Ocean droplets to ServerBasicInfo 2023-06-14 14:56:07 -03:00
NaiJi 2b1f6a12ea fix: Change JSON parsing for Digital Ocean droplets 2023-06-13 23:47:06 -03:00
NaiJi 65283306a9 fix: Make dropletIds field for DigitalOceanVolume optional 2023-06-13 23:37:47 -03:00
NaiJi f6424200e2 chore: Implement basic DigitalOceanServerType model 2023-06-12 23:48:29 -03:00
NaiJi 8d8e8cf265 fix: Change spf1 record from domainName to '@' for Digital Ocean DNS 2023-06-09 07:19:24 -03:00
NaiJi bfd67bac8d fix: Change .id field to ['id'] for DnsRecord in Digital Ocean DNS 2023-06-09 06:13:16 -03:00
NaiJi 55f62f1200 fix: Change sizeByte field to size for HetznerVolume 2023-06-09 05:11:42 -03:00
NaiJi 9d62d3af8e chore: Merge master into refactoring 2023-06-09 04:10:15 -03:00
NaiJi 140acaee49 chore: Implement basic Digital Ocean server models 2023-06-07 03:22:27 -03:00
NaiJi f42e415633 chore: Replace dynamic blobs with HetznerLocation 2023-06-07 00:25:34 -03:00