Commit graph

883 commits

Author SHA1 Message Date
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
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 a2ed839927 chore: Remove unused image from DNS Picket 2023-06-19 17:00:50 -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 5069563d45 chore(router): Rebuild the router with latest AutoRoute 2023-06-16 04:31:23 +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
NaiJi 875a9e2e86 chore: Replace dynamic blobs with HetznerServerInfo 2023-06-07 00:20:42 -03:00
NaiJi fa4939d7c6 chore: Implement better Price abstraction for Digital Ocean server provider 2023-06-07 00:11:36 -03:00
NaiJi 49fe40bb38 chore: Implement better Price abstraction for Hetzner server provider 2023-06-07 00:09:39 -03:00
NaiJi 2a66d246c7 chore: Replace dynamic blobs with HetznerServerType 2023-06-07 00:03:34 -03:00
NaiJi ffa13aee04 chore: Implement HetznerVolume model and use it instead dynamic json 2023-06-06 23:35:57 -03:00
NaiJi 53c56e6bd4 feat: Remove basic_utils dependency
Replace it with InternetAddress from dart:io
2023-06-05 12:14:54 -03:00
NaiJi 29cbf702e5 fix: Remove unneded DNS check depending on CLOUDFLARE 2023-06-05 11:18:41 -03:00
NaiJi a690fb5089 fix: Force JSON content-type for REST API requests 2023-06-05 09:46:42 -03:00
NaiJi 4da4ed6afd feat: Move current installation dialogue error to installation state 2023-06-02 19:04:23 -03:00
NaiJi 040fc43e1f fix: Add DNS provider type to provider classes to fix wrong domain type 2023-06-02 02:44:34 -03:00
NaiJi 3a40b5ed32 fix: Add missing DNS providers to different installation steps 2023-06-02 02:15:13 -03:00
NaiJi f81bf968fd fix: Add forced JSON content type to REST APIs 2023-06-02 01:36:33 -03:00
NaiJi 3a0221e8b1 chore: Merge master into desec 2023-06-02 00:52:32 -03:00
NaiJi f55800cd72 fix: Implement better domain id check on DNS restoration 2023-06-01 15:12:49 +03:00
Inex Code 370cbf1052 fix(ui): Button margins 2023-06-01 15:12:49 +03:00
Inex Code 4e65d5f945 refactor: Migrate to Flutter 3.10 and Dart 3.0 2023-06-01 15:12:49 +03:00
NaiJi 0c038fda43 fix: Remove price lists for DNS and move deSEC onto above Cloudflare 2023-06-01 15:12:49 +03:00
NaiJi 0e3e560485 feat: Remove certificate check during installation 2023-06-01 15:12:49 +03:00
NaiJi 25eb82c131 feat: Implement proper access recovery for DNS providers 2023-06-01 15:12:49 +03:00
NaiJi 73ec2687b2 fix: Make minor improvements for deSEC 2023-06-01 15:12:49 +03:00
NaiJi 6bee028188 feat: Implement proper DKIM creation for deSEC 2023-06-01 15:12:49 +03:00
NaiJi 32ef162f9b feat: Implement polymorphic DNS check for DNS API 2023-06-01 15:12:49 +03:00
NaiJi c67e37a40e fix: Adjust graphql schemas to new dns provider
- fix runtime bugs
2023-06-01 15:12:49 +03:00
NaiJi 01c09aaae4 feat: Implement deSEC API support 2023-06-01 15:12:49 +03:00
NaiJi b41b4159b4 feat: Implement infrastructure for new DNS provider deSEC 2023-06-01 15:12:49 +03:00
NaiJi d114d1477f fix: Adapt usage of DNS provider interface to refactoring 2023-05-30 12:48:18 -03:00
NaiJi b0769b8ed0 chore: Separate business logic from API layer for Digital Ocean DNS 2023-05-30 00:04:29 -03:00
NaiJi 8123632cc1 feat: Implement Cloudflare DNS provider layer and separate from API 2023-05-29 23:18:02 -03:00
NaiJi 7832094609 chore: Create cloudflare dns provider interface and separate it from api 2023-05-25 00:15:58 -03:00
NaiJi 509b2ac7c7 chore: Move DNS provider methods to the abstract interface 2023-05-25 00:02:10 -03:00
NaiJi 8863dc8b2c chore: Move DNS validation to provider layer for desec 2023-05-24 23:51:40 -03:00
NaiJi eebbf98349 chore: Move domain list getter to dns provider layer for desec 2023-05-24 23:47:43 -03:00
NaiJi 4bb26559aa chore: Move business logic from API for desec dns provider 2023-05-22 23:40:25 -03:00
NaiJi 0a796c9fc6 chore: Merge desec into refactoring 2023-05-18 19:12:08 -03:00
NaiJi d276a8f708 fix: Remove price lists for DNS and move deSEC onto above Cloudflare 2023-05-18 19:06:13 -03:00
NaiJi 4260152081 chore: Merge desec into refactoring 2023-05-17 13:58:15 -03:00
NaiJi 25c048044e chore: Merge master into desec 2023-05-17 10:32:34 -03:00
NaiJi 4afcedebb7 feat: Remove certificate check during installation 2023-05-16 17:02:08 -03:00
NaiJi 232699bdb1 feat: Implement proper access recovery for DNS providers 2023-05-16 15:49:03 -03:00
NaiJi ce017c6ea8 fix: Make minor improvements for deSEC 2023-05-16 15:03:31 -03:00
NaiJi 6ddc2328f0 feat: Implement proper DKIM creation for deSEC 2023-05-16 12:49:55 -03:00
NaiJi e9665ad75d feat: Implement polymorphic DNS check for DNS API 2023-05-16 11:06:01 -03:00
Inex Code 0fb404bed4 fix(ui): Privacy policy link 2023-05-15 12:22:06 +03:00
NaiJi 56dd40e90e fix: Adjust graphql schemas to new dns provider
- fix runtime bugs
2023-05-12 16:32:19 -03:00
NaiJi af90ddd78a feat: Implement deSEC API support 2023-05-12 03:07:43 -03:00
NaiJi 234064ed72 feat: Implement infrastructure for new DNS provider deSEC 2023-05-09 03:15:48 -03:00
NaiJi 72a04a54b3 refactor: Remove low level ApiController and replace Dns interfaces 2023-05-03 00:01:44 -03:00
NaiJi 5cbf399a58 fix: Remove accidental hardcode for staging options 2023-05-02 23:49:13 -03:00
NaiJi 30385c2470 refactor: Create empty DnsProvider interfaces 2023-05-02 23:42:18 -03:00
NaiJi 0d55361a9b fix: Improve installation failure dialogues 2023-05-02 17:05:55 -03:00
NaiJi da4b38b787 fix: Move DNS entries creation step to server provider layer 2023-04-28 14:19:52 -03:00
NaiJi b242838339 fix: Make launchInstall return correct object for volume 2023-04-26 14:39:33 -03:00
NaiJi 854febc5d2 fix: Replace hardcoded string from Hetzner to Cloudflare for DNS providers page 2023-04-26 14:35:57 -03:00
NaiJi 1e9f1f88a7 fix: Hetzner installation issues
- Replace serverType id with locaiton id
- Replaces id accessing in volume from .id to [id]
2023-04-25 16:44:43 -03:00
NaiJi 4c2cfca4c4 fix: Change server location type for Hetzner 2023-04-25 16:20:23 -03:00
NaiJi d282f37b71 fix: Return correct adapters for Hive and make it run 2023-04-25 16:04:19 -03:00
NaiJi 4aa13dd63a chore: resolve ui conflicts and make it build 2023-04-24 13:45:16 -03:00
NaiJi 3b49805c9c chore: Move volume api to abstract server provider interface 2023-04-24 12:09:23 -03:00
NaiJi f6591cbfc6 chore: Implement server installation for Digital Ocean 2023-04-19 10:41:30 -03:00
NaiJi 15c0586ab3 chore: Merge digital-ocean-dns into refactoring 2023-04-12 05:32:56 -03:00
NaiJi 755ac1d5c0 chore: Merge master into digital-ocean-dns 2023-04-12 02:42:33 -03:00
Inex Code 931da1443d refactor(ui): Delete BrandCards 2023-04-05 13:38:07 +03:00
Inex Code 466a221dd0 refactor(ui): More compact view of console.dart 2023-04-05 13:38:07 +03:00
Inex Code 4fde816023 refactor(ui): Remove unused components 2023-04-05 13:38:07 +03:00
Inex Code a9d7a27e9d refactor(ui): Update recovery flow to use new support drawer 2023-04-05 13:38:07 +03:00
Inex Code d242f5141e refactor(ui): Remove brand alert dialogs and bottom sheet 2023-04-05 13:38:07 +03:00
Inex Code f5313a8148 chore: New lints 2023-04-05 13:38:07 +03:00
Inex Code 805f12b9e9 docs: Document WidgetSize widget 2023-04-05 13:38:07 +03:00
Inex Code f0f1e8cacc refactor(ui): Get rid of BrandText and restructure the buttons 2023-04-05 13:38:07 +03:00
Inex Code c18191f639 feat: Add jobs button to the app bar of HeroScreen 2023-04-05 13:38:07 +03:00
Inex Code af7196d84b refactor(router): Migrate to AutoRouter v6 2023-04-05 13:38:07 +03:00
Inex Code 3366585d76 fix(router): PopUpDialogs couldn't find the context. 2023-04-05 13:38:07 +03:00
Inex Code ee9b8a4e31 refactor(router): Move more pages to new router 2023-04-05 13:38:07 +03:00
Inex Code 999c8346be style: Fix formatting 2023-04-05 13:38:07 +03:00
Inex Code 9a8965f569 fix: Fix BottomBar showing incorrect animation when navigating from sibling routes 2023-04-05 13:38:07 +03:00
Inex Code 9d6721d58b refactor: Deprecate showFab on BrandHeroScreen 2023-04-05 13:38:07 +03:00
inexcode 1f5f366bc5 refactor(server-api): GraphQL codegen removed dependency on JSON Serializable. 2023-04-05 13:38:07 +03:00
inexcode 0df9d2ac27 feat: Use Material 3 animation curves 2023-04-05 13:38:07 +03:00
inexcode 6656635785 fix: remove unnecessary logging 2023-04-05 13:38:07 +03:00
inexcode 423efeeb20 feat: Introduce new router and adaptive layouts 2023-04-05 13:38:07 +03:00
inexcode befdc0286e feat: Automatic day/night theme 2023-04-05 13:38:07 +03:00
inexcode 54513998ce fix: Devices and Recovery Key cubits couldn't initialize right after server installation 2023-04-05 13:38:07 +03:00
inexcode 0b3b46b452 feat: Breakpoints utility 2023-04-05 13:38:07 +03:00
inexcode 8fc229647f feat: Add Support drawer and basic support cubit. 2023-04-05 13:38:07 +03:00
NaiJi 7b2540640f chore: Rewrite server installation function on api level for Digital Ocean 2023-03-22 21:28:16 -03:00
NaiJi 4e4b61609f chore: Move volume functions to provider layer for Digital Ocean 2023-03-21 13:08:46 -03:00
NaiJi dde6f7e80d chore: Move volume functions to provider layer for Hetzner 2023-03-20 12:22:43 -03:00
NaiJi 7b543f9030 chore: Implement server deletion for digital ocean on provider level 2023-03-10 00:47:02 +04:00
NaiJi bc9ab447f0 chore: Implement server deletion for hetzner on provider layer 2023-03-09 13:06:15 +04:00
NaiJi 76536f8115 chore: Move basic functionality of Digital Ocean to provider layer 2023-03-03 03:01:09 +04:00
NaiJi cd59c19c9c chore: Start implementing Digital Ocean provider layer 2023-03-01 06:53:51 +04:00
NaiJi 97e9e9d9cb chore: Adapt MetricsRepository to new ProvidersControllers model 2023-02-28 07:00:52 +04:00
NaiJi 62c0030f8e chore: Implement server installation logic on cubit layer 2023-02-22 21:58:59 +04:00
NaiJi ef04b5bf57 chore: Implement server installation on businness logic layer for hetzner 2023-02-22 21:03:58 +04:00
NaiJi 8da7341ccb chore: Implement basics of hetzner installation logic 2023-02-21 13:11:04 +04:00
NaiJi 02abb3d321 chore: Merge digital-ocean-dns into refactoring 2023-02-15 11:46:15 +04:00
NaiJi ba1f9dbfc9 chore: Merge flutter-3.7 into digital-ocean-dns 2023-02-15 11:45:48 +04:00
NaiJi 5db42c37b6 chore: Merge master into flutter-3.7 2023-02-15 11:45:14 +04:00
NaiJi e99b08bcc3 fix: Improve DigitalOcean server types filtering
- Convert RAM to GB
- Don't let it droplets with RAM less than 1024 MB
2023-02-15 11:03:13 +04:00
NaiJi be25775601 chore: Merge digital-ocean-dns into refactoring 2023-02-15 10:45:14 +04:00
NaiJi bad6926567 chore: Continue refactoring
- Rename APIGenericResult to GenericResult
- Wrap all provider functions results with GenericResult
- Move basic server commands and getters to business logic layer from API on Hetzner
2023-02-13 18:13:32 +04:00
NaiJi efe4f620ee chore: Transfer some methords from api to provider 2023-02-07 20:51:15 +04:00
NaiJi c1738ec875 chore: Add build runner results 2023-02-06 13:28:30 +04:00
NaiJi 4d4a980aaf Merge branch 'digital-ocean-dns' into refactoring 2023-02-06 12:40:08 +04:00
NaiJi 2fd5c9a2cd chore: Merge flutter-3.7 into digital-ocean-dns 2023-02-06 12:39:39 +04:00
Inex Code 6b90c5aa3b refactor: Migrate to Flutter 3.7 2023-02-05 16:24:37 +03:00
Inex Code 1bde176612 feat(translations): Activate support for some languages
Languages being activated are:
- Ukrainian
- German
- French
- Spanish
- Czech
- Polish
- Thai

Translation which are not finished will fall back to English.
2023-02-01 01:57:55 +03:00
Inex Code c271331f29 refactor(ui): Remove SafeArea where they are not needed 2023-02-01 01:40:42 +03:00
Inex Code 80547785d3 refactor(ui): Change the styling of "Server is not ready" card 2023-02-01 01:29:17 +03:00
Inex Code 44553eaf85 fix(ui): Add a title to setup wizard 2023-02-01 01:13:06 +03:00
Inex Code c8bc75d422 fix(ui): Make onboarding screen more adaptive 2023-02-01 01:11:59 +03:00
Inex Code e186dac39f fix(ui): Deduplicated launch_url functions
Also fixed issue of calling URI with duplicate protocol

Closes: #184
2023-02-01 01:11:50 +03:00
NaiJi a270f3dfbb feat: Implement general server provider and its factory 2023-01-30 19:44:52 +04:00
NaiJi 818de37acd chore: Merge digital-ocean-dns into refactoring 2023-01-29 08:57:08 +04:00
NaiJi fcd1c29606 fix: Remove breaking underscore from a launchURL call
In services.dart
2023-01-29 08:56:51 +04:00
NaiJi 10593229b2 chore: Merge master into digital-ocean-dns 2023-01-29 08:54:31 +04:00
NaiJi ✨ 42b9de656c chore: Merge recovery-fix into master
Reviewed-on: https://git.selfprivacy.org/kherel/selfprivacy.org.app/pulls/190
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-01-29 06:50:31 +02:00
NaiJi 9929cdd1a3 fix: Remove double protocol on opening a service link 2023-01-29 08:41:59 +04:00
NaiJi 9cbe3b2abb fix: Improve dns checking on recovery
No special case for when a user only has one server
2023-01-29 08:31:40 +04:00
NaiJi 0ae4a40e62 chore: Rename api factories 2023-01-23 19:36:43 +04:00
NaiJi 14263083a5 feat: Implement server recovery for different dns providers 2023-01-17 18:33:25 +04:00
NaiJi 08cd59a709 feat: Implement DNS_PROVIDER_TYPE variable for infecting server 2023-01-17 17:29:15 +04:00
NaiJi 841aee73e8 feat: Implement Digital Ocean DNS email entries 2023-01-16 21:25:48 +04:00
NaiJi 3b962c5f5a feat: Adapt Desired DNS Records checking for Digital Ocean 2023-01-11 22:01:46 +04:00
NaiJi 120a8fc644 feat: Implement proper DNS entries creation for Digital Ocean 2023-01-10 21:24:26 +04:00
NaiJi 07de11c75a fix: Implement correct DNS entries creation and deletion 2023-01-06 19:28:52 +04:00
NaiJi 9184a9db5d feat: Implement DnsProvider loaging 2023-01-05 14:12:59 +04:00
NaiJi 36bc5b2554 chore: Generate build runner files 2023-01-05 13:16:30 +04:00
NaiJi 2980887333 feat: Add DNS provider selection page
Upload cloudflare svg
2023-01-04 14:42:22 +04:00
NaiJi 6767b679a0 chore: Merge master into digital-ocean-dns 2023-01-03 13:00:01 +04:00
NaiJi e0c04468bc Merge branch 'master' into release-party 2022-12-31 10:06:34 +04:00
Inex Code d1c4aa9fc6 feat(about): Add privacy policy and licenses 2022-12-31 09:04:25 +03:00
NaiJi 12de989df6 docs: Add Digital Ocean how-to markdown 2022-12-31 10:01:27 +04:00
Inex Code 53fc0d4d28 chore: Disable staging ACME 2022-12-31 08:13:28 +03:00
Inex Code bbb1d55b64 feat(services): Sort the services by their status
Done by changing the indexes of ServiceStatus enum and sorting by it.
2022-12-31 08:08:25 +03:00
Inex Code 5f311ee907 feat(logging): Add limit to log console 2022-12-31 07:58:20 +03:00
Inex Code e2a9493b61 fix(jobs): Make jobs panel take less space
Closes: #136
2022-12-31 07:51:47 +03:00
Inex Code 3feb5acf71 style: Linting 2022-12-31 07:50:43 +03:00
Inex Code 48446ab3d5 fix(charts): Temporary fix for Hetzner CPU chart 2022-12-31 07:49:19 +03:00
Inex Code b007fec75b refactor(initializing): Refresh the server istallation UI 2022-12-31 07:16:10 +03:00
Inex Code fc3d78662e refactor(theming): Remove gtk and win plugins for color extraction
Default plugin now takes care of that
2022-12-31 05:33:04 +03:00
Inex Code e342727181 refactor(services): Remove services switch on services screen cards 2022-12-31 05:31:59 +03:00
NaiJi f24137cd98 docs: Implement new basic onboading translations 2022-12-31 03:25:05 +04:00
NaiJi e560de58e7 feat: Implement DNS provider picker page 2022-12-30 07:25:18 +04:00
NaiJi d333787f37 fix: Change incorrect domain for domain lists 2022-12-28 17:23:28 +04:00
NaiJi f64f741a76 fix: Manage server deletion for Digital Ocean 2022-12-23 13:50:38 +04:00
NaiJi 41dc77103f feat: Implement error handling on server deletion
Notify users when errors occured and handle application state accordingly
2022-12-22 22:56:58 +04:00
NaiJi fc4f78162b feat: Implement domain list getter for digital ocean dns 2022-12-21 23:35:20 +04:00
NaiJi a45b93cd27 feat: Improve Dns Record structure and logic
It is to much digital ocean api. The decision with adding optional id is bad, but it will be refactored soon along with entire backend.
2022-12-21 23:31:03 +04:00
NaiJi 8922551239 Merge branch 'master' into digital-ocean-dns 2022-12-21 13:47:25 +04:00
NaiJi 8dffcab30d chore: Rename and unify GraphQL logging classes 2022-12-19 22:53:07 +04:00
NaiJi 813d275d12 feat: Implement logging for GraphQL API map
Log to application console all requests and all responses
2022-12-19 22:47:35 +04:00
NaiJi 18d3039dc4 chore: Create infrastructure for Digital Ocean DNS provider
Also rename hardcoded cloudflare names from backend
2022-12-17 14:26:19 +04:00
NaiJi 7847839ea6 feat: Enable server provider logging 2022-12-15 15:42:21 +04:00
NaiJi d7318ed2e4 fix: Make recovery by API token endpoint expect GraphQL token
We pass GraphQL token, but at the same time we did not use it and tried to authorize without token...
2022-12-13 08:15:32 +04:00
NaiJi b5133aa2a6 fix: Remove breaking installation changes 2022-12-02 23:06:57 +04:00
NaiJi e0b32404be refactor: Implement better error handling on create server stage
Replace try-catch hell with APIGenericResult chain
2022-12-02 22:40:08 +04:00
NaiJi 29b0bf2397 fix: Fix some initializing errors
Correct progress index calculation and hardcore cloudflare loading until new providers for DNS are supported
2022-11-30 19:05:21 +04:00
NaiJi 899c84c54f chore: Rename Check step to Installation
It just feels more convenient tbh...
2022-11-30 19:04:04 +04:00
NaiJi 54d8b04439 fix: Fix backblaze token validation
True if correct, false if incorrect, null if no connection
2022-11-30 19:02:30 +04:00
NaiJi 65f5d987e2 feat: Implement error handling for server installation
Now user gets notified when connection error occurs
2022-11-29 19:21:36 +04:00
NaiJi 1dfd2180d2 feat: Implement distinction for connection errors on storage page
Now user gets notified when connection error occurs
2022-11-29 15:28:09 +04:00
NaiJi e62e8bf916 feat: Implement distinction for connection errors on dns provider page
Now user gets notified when connection error occurs
2022-11-28 23:55:37 +04:00
NaiJi 1df5f6594d feat: Implement distinction for connection errors on server type page
Now user gets notified when connection error occurs
2022-11-28 23:11:08 +04:00
NaiJi bd33b8d679 feat: Implement distinction for connection errors on initialing page
Now it's 'false' when api token is invalid and null response if couldn't connect at all, to show different kinds of errors to the user
2022-11-28 22:51:37 +04:00
NaiJi 8c6b56f61d fix: Make improvements by Code Review 2022-11-23 11:55:28 +04:00
NaiJi a70e793360 chore: Merge master into digital-ocean 2022-11-22 16:10:00 +04:00
NaiJi 3ba2c6f731 feat: Add refresh indicator on Recovery Key page to support drag gestures 2022-11-21 17:17:27 +04:00
NaiJi 479efac6e9 chore: Fix an awkward commentary typo... 2022-11-20 18:35:44 +04:00
NaiJi 93b28d981e chore: Remove testing flag before merging into master 2022-11-20 18:34:20 +04:00
NaiJi 58c9e00ce0 fix(recovery): Add reverse dns validation for digital ocean
In Digital Ocean reverse dns is not domain name but just name, like mydomainname instead of mydomainname.xyz, so we need additional condition
2022-11-20 18:31:31 +04:00
NaiJi b2a5d57a1d feat(initializing): Add description and back button to server type step 2022-11-20 14:48:08 +04:00
NaiJi b53bb6d4dd refactor: Remove 'unused' warnings 2022-11-18 11:33:28 +04:00
NaiJi b26e22cd4e fix: Check on null for server type identifier
It is not needed to finish installation so it's okat if it's empty
2022-11-18 11:30:50 +04:00
NaiJi da394e22ac feat(server-api): Implement bad certificates fallback for staging environment
Without it client application won't accept staging certificates from server
2022-11-18 10:59:47 +04:00
NaiJi 0c4da8eb9f refactor: Move all API factories into encapsulated static class
Because it's very hard to track all different provider factories created in different cubits, if users reset application config the previous factories stayed unchanged which would lead to unexpected behavior
2022-11-18 09:49:04 +04:00
NaiJi 268816385f fix(recovery): Fix custom api token on recovering provider type 2022-11-18 05:19:54 +04:00
NaiJi 611fe6bf45 feat(server-api): Implement support for staging acme certificates
Related to https://letsencrypt.org/docs/staging-environment/ to not get domain banned by constant renewal
2022-11-17 11:21:49 +04:00
NaiJi 51dc4c67b2 feat(recovery): Implement access recovery routing for server providers 2022-11-17 11:14:34 +04:00
NaiJi 0234278c2c refactor: Rename server.dart to server_api.dart
Because the class is called ServerApi, not just Server, it's totally not consistent with all other apis
2022-11-16 04:24:40 +04:00
NaiJi bde364dde1 fix(digital-ocean): Adjust charts rendering for digital ocean values 2022-11-16 04:12:49 +04:00
NaiJi 2a5fceae91 fix(hetzner): Fix endpoints urls
Incorrect dereferencing in strings
2022-11-16 00:49:41 +04:00
NaiJi 92b417a103 feat(digital-ocean): Implement metrics for Digital Ocean 2022-11-15 08:00:10 +04:00
NaiJi 7fdc546714 refactor(server-api): Make appearance provider name polymorphic and required for metadata 2022-11-14 09:48:36 +04:00
NaiJi e20063a9ad chore: Remove unneeded metrics fields
PPS metrics aren't used in our charts
2022-11-12 22:44:15 +04:00
NaiJi a7cbde663e refactor(server-api): Generalize and encapsulate server metrics endpoints 2022-11-12 22:11:14 +04:00
NaiJi e66b24d869 refactor: Remove obsolete initializing steps enum type 2022-11-11 15:29:17 +04:00
NaiJi 10bdd4c800 refactor(server-api): Make general server info polymorphic
Removing Hetzner type hardcode from server page and replacing it with generic String-based metadata container
2022-11-11 07:32:01 +04:00
NaiJi b3395915da fix(digital-ocean): Add correct linuxDevice path to volume objects
linuxDevice consists of supposedly hardcoded 'scsi-0DO_Volume_' plus given volume name
2022-11-10 21:03:16 +04:00
NaiJi cdc47ecdb3 refactor(ui): Move all pop up dialogs into general utils function
To not import get_it everywhere and encapsulate all the related dirt into utils.
2022-11-09 22:43:05 +04:00
Inex Code 6eb49fa8f1 fix(digital-ocean): Change the cloud-config payload
Now the server builds!
2022-11-08 04:25:04 +03:00
NaiJi 59d186a8af fix(volume): Change raw int to DiskSize object in volume endpoints
We already have an abstraction for size, there is no need to pass size value as raw numeric variables
2022-11-04 16:19:39 +04:00
NaiJi aa1c04fdb8 fix(digital-ocean): Fix response code checking on volume actions
We can't compare with 'compelted' because Digital Ocean responses with 'in progress' right away or something, so it's better to check if it's just not 'error'
2022-11-04 16:05:40 +04:00
NaiJi edc171efd7 fix(digital-ocean): Fix emoji picking for Digital ocean locations 2022-11-04 15:59:38 +04:00
NaiJi dc4ba7bce5 fix(digital-ocean): Modify cloud-init, add write_files sections
Provide host.nix to infect with 0644 permissions
2022-11-02 18:59:41 +04:00
NaiJi 8c053f50b0 chore: Merge master into digital-ocean 2022-11-02 18:45:36 +04:00
NaiJi 86b80156fd refactor: Generalize DKIM usage into DnsRecords
- Replace raw DKIM String object with a general DnsRecord structure
- Implement network utils for common operations with networking concepts and structures
- Implement initializing page pop up to re-try server deployment in case of a random networking error
2022-10-30 18:23:47 +04:00
NaiJi 57d82d0f7a refactor(server-api): Move provider name from hardcode string to a polymorphic variable
- Rename 'digital-ocean' to 'digitalocean'
2022-10-29 12:03:43 +04:00
NaiJi 68811efc1e refactor(server-api): Generalize and unify api response objects
- Separate response success from  business logic operation success
- Remove ApiResponse, replace with GenericResult
- Make GenericMutationResult inherit GenericResult
- Add generic error message for when a response couldn't be sent or received
2022-10-28 12:20:09 +04:00
NaiJi 0dc0ba215a fix(digital-ocean): Adjust droplet data preparations according to API notation 2022-10-27 20:01:22 +04:00
NaiJi cb94248df0 fix: Generate hive build runner model for server details 2022-10-27 17:08:59 +04:00
NaiJi 4aa6caed65 chore: Merge master into digital-ocean 2022-10-27 17:05:41 +04:00
NaiJi 7c61d9a787 chore: Generate build runner models 2022-10-27 16:15:35 +04:00
NaiJi ed37775510 chore: Merge master into digital-ocean 2022-10-26 21:27:22 +04:00
inexcode 88bcdcff39 chore(server-api): Deprecate getDkim
Server API now aware of all required DNS records. More general approach to handle DNS records is required in the future.
2022-10-26 20:24:00 +03:00
inexcode 1845bea361 chore(server-api): Deprecate ApiResponse
ApiResponse is a wrapper for REST API responses, which is removed. Our code, however, depends on this interface. This dependency must be removed.
2022-10-26 19:53:25 +03:00
NaiJi 34b8bf5b07 chore: Merge master into graphql 2022-10-26 20:45:28 +04:00
NaiJi 93c58323b2 chore: Merge master into digital-ocean 2022-10-26 20:41:45 +04:00
NaiJi aa3dee585b chore(dart): Fix warnings that appeared at Dart 2.18 SDK 2022-10-26 20:26:09 +04:00
NaiJi a69b096d6f fix(digital-ocean): Change /locations to /regions and fix tokens validation 2022-10-26 20:07:35 +04:00
NaiJi 5ddbfcb342 chore: Merge master into digital-ocean 2022-10-25 12:22:34 +04:00
NaiJi c487f16194 chore: Merge master into graphql 2022-10-25 12:17:33 +04:00
NaiJi 20e4d9565b fix(assets): Fix broken strings for network domain elements 2022-10-24 16:19:39 +04:00
NaiJi 1b94e14727 feat(server-api): Migrate all server endpoints to GraphQL 2022-10-24 15:39:53 +04:00
NaiJi 19b45ac142 fix(server-api): Adapt ApiResponse structure to GraphQL format 2022-10-24 13:47:47 +04:00
NaiJi 2b419d5923 chore: Merge master into graphql 2022-10-24 09:34:55 +04:00
NaiJi daf50e8c92 refactor(server-api): Replace Rest API interface with Graphql endpoints everywhere they are used
With no implementations yet
2022-10-23 05:13:27 +04:00
NaiJi b574659dc3 fix(initializing): Implement store and load of server provider from BNames 2022-10-21 08:34:36 +04:00
NaiJi df9ec28d02 fix(initializing): Adjust server location and type list cards 2022-10-21 08:33:47 +04:00
NaiJi 0cab3e3240 chore: Merge master into assets-fix 2022-10-21 07:04:39 +04:00
NaiJi e956a2c9a1 fix(assets): Fix broken string for bytes on disk size 2022-10-21 06:54:55 +04:00
NaiJi 7223b0e614 fix(initialization): Add missing setup progress step 2022-10-21 06:38:49 +04:00
inexcode e7bb1dc16e feat(timezone): Design the search bar for 'Select Timezone' page 2022-10-20 22:33:40 +03:00
NaiJi e36a94ded5 feat(timezone): Implement search bar for 'Select Timezone' page 2022-10-20 22:29:19 +03:00
NaiJi cb1fe6eafd fix(initializing): Make provider and server type picking work 2022-10-20 18:44:29 +04:00
NaiJi eebff47d0c chore: Merge master into digital-ocean 2022-10-20 12:40:16 +04:00
NaiJi b40ab17197 fix(initializing): Move bloc provider from provider picker to initialization page 2022-10-19 18:43:01 +04:00
NaiJi 556df5aadc fix(assets): Remove string hardcode from domain setup page 2022-10-19 17:46:16 +04:00
NaiJi ea85ce6064 refactor: Apply formatting 2022-10-18 05:38:26 +00:00