Commit Graph

619 Commits (master)

Author SHA1 Message Date
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 ✨ 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 ✨ 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 ✨ 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 ✨ 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
Inex Code 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
Inex Code 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 ✨ 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
NaiJi ✨ cb1fe6eafd fix(initializing): Make provider and server type picking work 2022-10-20 18:44:29 +04:00
NaiJi ✨ ea85ce6064 refactor: Apply formatting 2022-10-18 05:38:26 +00:00
NaiJi ✨ bb846b08c1 feat(digital-ocean): Implement system endpoints for digital ocean 2022-10-18 00:48:41 +00:00
NaiJi ✨ e4ed69d151 refactor(volume): Make volume interfaces work through volume entities, not IDs 2022-10-17 23:58:29 +00:00
NaiJi ✨ d19531232c feat(digital-ocean): Implement endpoints for server creation and deletion 2022-10-17 17:42:23 +00:00
NaiJi ✨ f5a75e6eb5 feat(initializing): Implement additional server type field for server installation 2022-10-16 01:16:47 +00:00
NaiJi ✨ 8a93af2b06 fix(region): Move region settings for provider api to factory 2022-10-16 00:51:10 +00:00
NaiJi ✨ 72760e7980 feat(initializing): Implement server type selection for initialization page 2022-10-15 21:51:37 +00:00
NaiJi ✨ fe820ef5be feat(initializing): Implement location selection step for initializing page 2022-10-15 19:49:31 +00:00
NaiJi ✨ b30e372322 feat(region): Implement endpoints for listing available types by region 2022-10-14 19:00:44 +00:00
NaiJi ✨ e032bd8a78 feat(region): Implement endpoints for listing available provider regions 2022-10-13 23:16:08 +00:00
NaiJi ✨ 2f59954641 feat(region): Remove hardcode for region of server installation 2022-10-13 21:16:21 +00:00
NaiJi ✨ f40ed08b02 feat(volume): Implement volume endpoints for Digital Ocean
volumeId type in VolumeApiProvider interfaces is now replaced with String from int to support Digital Ocean's UUID notation
2022-10-12 04:56:08 +00:00
NaiJi ✨ 79e9334aca feat(pricing): Replace raw double with simple type Price 2022-10-12 01:42:45 +00:00
NaiJi ✨ 70330c59ab feat(digital-ocean): Implement provider picker pages 2022-10-11 20:11:13 +00:00
NaiJi ✨ 465af52350 Merge branch 'master' into validations 2022-10-08 19:18:33 +00:00
NaiJi ✨ c4f3b76414 fix(validations): Make validations and errors text more specific 2022-10-08 16:41:19 +00:00
NaiJi ✨ 0b5f8b6920 fix(job): Remove unnecessary cascade validation calls 2022-10-08 16:19:53 +00:00
NaiJi ✨ 7bad11967a refactor(job): Implement polymorphic predicate for job accessibility
Now every job type can impement canAddTo function to make JobsCubit know whether it can be applied or not
2022-10-07 17:50:18 +00:00
NaiJi ✨ db2f5c1342 fix(job): Fix server settings toogles not creating upgrade server job 2022-10-07 16:36:17 +00:00
NaiJi ✨ 26466bb8d5 refactor(job): Force services to always reload after jobs execution 2022-10-06 19:45:25 +00:00
NaiJi ✨ d0be867aa6 refactor(job): Make jobs execution polymorphic instead of relied on plain switch 2022-10-06 19:16:07 +00:00
NaiJi ✨ 699e2f676f refactor(service): Get rid of legacy common enums 2022-10-05 01:41:48 +03:00
NaiJi ✨ d36c8e987d Completely refactor language asset files 2022-10-04 02:32:35 +03:00
Inex Code ad55b204cf Fix jobs screen failing to draw when no jobs 2022-09-20 12:42:20 +03:00
Inex Code 0425ea8ab8 Add a button to remove all removable server jobs 2022-09-19 03:42:00 +03:00
Inex Code 10891881ae Service migrations 2022-09-19 03:21:08 +03:00
NaiJi ✨ d6d7a0dcb6 Implement rebuild server job for settings page 2022-09-19 03:00:40 +03:00
NaiJi ✨ fe95f5e5d3 Add props into provider job state 2022-09-19 02:13:25 +03:00
Inex Code 2a4c691f1e Pre-release testing bug fixes 2022-09-19 01:11:26 +03:00
Inex Code 900e07f364 Implement user password reset 2022-09-18 23:25:26 +03:00
Inex Code e330878e6d Allow removing completed and failed server jobs 2022-09-18 23:12:09 +03:00
NaiJi ✨ 34d635c2c5 Add delay between provider and server storage resizing calls 2022-09-18 19:35:16 +03:00
Inex Code 89c907b109 Make job status an enum 2022-09-18 19:29:11 +03:00
NaiJi ✨ d9b82b1250 Implement volume extending button 2022-09-18 19:26:55 +03:00
NaiJi ✨ 159f861965 Implement initialization migration to binds error handling 2022-09-18 17:29:00 +03:00
NaiJi ✨ 39358a827f Implement migrate to binds logic 2022-09-18 17:05:41 +03:00
Inex Code c84d16d8b7 Move files related to storage 2022-09-16 16:49:53 +03:00
Inex Code ae0295d959 Add storage usage to service screen, formatting 2022-09-16 16:36:51 +03:00
Inex Code 641e329725 Move DiskStatus to the server volume cubit 2022-09-16 14:28:17 +03:00
NaiJi ✨ 11e58981b5 Implement migration process page 2022-09-16 12:08:31 +03:00
NaiJi ✨ 4a4fa35de3 Remove setTimezone from ServerDetailedInfo cubit 2022-09-16 11:11:03 +03:00
Inex Code d75c2837ca Catch error on metrics loading from Hetzner 2022-09-16 11:08:45 +03:00
NaiJi ✨ e3d7f2b3d7 Fix ServerDetailsCubit exception 2022-09-16 11:06:27 +03:00
Inex Code a7248a9b30 Remove unnecessary logging 2022-09-16 10:50:21 +03:00
Inex Code 36cbc8e89b Catch StateError on server_detailed_info_cubit.dart 2022-09-16 10:50:05 +03:00
NaiJi ✨ 8039283f37 Wrap get metrics endpoint with try-catch 2022-09-15 16:05:23 +03:00
NaiJi ✨ dc72b6d1b2 Implement server settings page functionality 2022-09-15 02:31:25 +03:00
NaiJi ✨ c5eed6ace9 Improve server settings page 2022-09-12 20:38:22 +03:00
Inex Code ef7d906504 Catch Hetzner metrics trying to emit when closed and disable logging. 2022-09-09 17:58:01 +03:00
Inex Code 11885b7ac7 Fix app connecting to 'https://api./' after access recovery
We no longer hold server domain in ServerAPI class. Instead, we get a domain from the app config every time.
2022-09-09 17:57:34 +03:00
NaiJi ✨ e4bb35d5d8 Catch cloudflare exceptions 2022-09-09 12:14:37 +03:00
NaiJi ✨ 06fbcff9a9 Fix graphql type errors 2022-09-08 22:58:45 +03:00
Inex Code 981b9865cd Fix users not changing SSH keys and remove SSH keys screen 2022-09-08 18:13:18 +03:00
Inex Code 5f13be9339 Fix Hetzner size storage 2022-09-06 14:03:21 +03:00
Inex Code 6f5ffa0f80 Make DiskSize a constant constructor and fix slider on Volume resize screen 2022-09-06 13:27:27 +03:00
NaiJi ✨ 8d2fbb5100 Implement service page enabling/disabling and service restart 2022-09-06 13:25:28 +03:00
Inex Code 58479256c5 Refactor disk_size.dart and disk_status.dart to use getters 2022-09-06 12:17:44 +03:00
Inex Code 5f58022d42 Update user list screen to properly support newer cubit logic 2022-09-05 14:51:01 +04:00
Inex Code 18b737a327 Reformatting 2022-09-05 07:34:47 +03:00
Inex Code 0879ea8e97 Refactor Users cubit to use GraphQL and unified data model 2022-09-05 07:01:36 +03:00
Inex Code c1bb617ca7 Add user type to the User model 2022-09-04 14:29:05 +03:00
Inex Code 33b8003f07 Add user-related GraphQL handlers 2022-09-04 13:45:03 +03:00
NaiJi ✨ 88a1393a1d Move disk status converting to disk status constructor 2022-09-02 09:06:10 +03:00
NaiJi ✨ a693f694ac Add endpoints for migration checking 2022-09-02 08:59:46 +03:00
NaiJi ✨ 503c8d37ea Implement server jobs cubit 2022-08-30 06:09:09 +03:00
Inex Code 7d8f8e1d38 Rewrite services cubit and add basic service screen. 2022-08-30 00:35:06 +04:00
NaiJi ✨ 62929a4839 Fix dkim runtime exception 2022-08-29 23:21:59 +03:00
NaiJi ✨ 62db476575 Fix ipv4 bug 2022-08-29 21:18:07 +03:00
NaiJi ✨ b48017508a Fix ProviderVolume cubit exception 2022-08-29 19:37:31 +03:00
Inex Code c0ce019360 Add Services type and GraphQL endpoints with parsers. 2022-08-29 04:40:35 +04:00
NaiJi ✨ d934a6a9cb Refactor graphql api, separate by logic 2022-08-26 22:28:01 +03:00
NaiJi ✨ 9526035176 Fix volume size calculation 2022-08-26 19:46:30 +03:00
NaiJi ✨ 6014e385bc Implement ServerJobCard 2022-08-26 05:34:25 +03:00
NaiJi ✨ 37d5ee9913 Implement ServerJob cubit 2022-08-25 02:45:02 +03:00
NaiJi ✨ 7bbdaf2ebe Last changes on storage pages and job backend logic 2022-08-24 08:35:49 +03:00
NaiJi ✨ d2c3d28b0f Merge from develop into graphql 2022-08-08 13:33:55 +03:00
NaiJi ✨ c230037351 Implement data_migration page and logic 2022-08-03 05:25:33 +03:00
NaiJi ✨ 96c7d7966a Update cubit for volume management and graphql 2022-08-01 02:10:37 +03:00
NaiJi ✨ c747dcd4ae Implement Server Storage card for provider menu
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-07-29 08:38:21 +03:00
NaiJi ✨ c56a0f5976 Implement getApiTokens for graphql API map 2022-07-25 19:08:46 +03:00
NaiJi ✨ 7ead9a29ea Implement basic graphql api map structure 2022-07-25 17:06:55 +03:00
NaiJi ✨ d8ea528621 Add magic sleep before deleteVolume on creation failure
It seems Hetzner fails to accept our deleteVolume request so quickly after failing. We need to wait for about 10 seconds, I guess. The same magic sleep happens on deleteServer pack of requests. Please have patience...
2022-07-25 03:03:19 +03:00
NaiJi ✨ dab2c569ec Fix installation Timer errors
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-07-22 19:22:10 +03:00
NaiJi ✨ dac310f913 Implement Dns Provider Api Abstractions 2022-07-14 16:34:08 +03:00
NaiJi ✨ 9993b09e7f Turn VolumeApiProvider into a mixin 2022-07-13 14:58:23 +03:00
NaiJi ✨ 37b7e9f839 Implement Provider Api Abstractions 2022-07-12 15:54:16 +03:00
NaiJi ✨ 5fd8a68597 Change volume size from Gb to Byte 2022-06-28 21:06:52 +03:00
NaiJi ✨ 0a919907c8 Implement hetzner volumes cubit 2022-06-27 10:07:11 +03:00
NaiJi ✨ 352351663f Implement endpoints for hetzner volumes 2022-06-24 00:34:09 +03:00
Inex Code 4afd40f5da Merge branch 'develop' into naiji-dev 2022-06-23 12:11:59 +03:00
NaiJi ✨ 7e2319bf21 Force domain to lowercase on recovery pages 2022-06-22 22:42:38 +03:00
NaiJi ✨ 0feb9bc299 Return to main page on backbutton press for some recovery pages 2022-06-15 07:58:02 +03:00
NaiJi ✨ 6a22e2db6f Fix revert routing errors 2022-06-15 06:23:54 +03:00
NaiJi ✨ 313cfc7187 Bug fix error processing for installation cubits 2022-06-15 04:55:45 +03:00
Inex Code 18d0c2c40f Bug fixes and linting 2022-06-10 00:13:06 +03:00
Inex Code 3c3cb376e2 Fix null check on DNS check 2022-06-09 19:15:53 +03:00
NaiJi ✨ 3fbdc05469 Minor flow bugfixes 2022-06-09 09:51:29 +03:00
NaiJi ✨ 80e0488700 Minor bug fixing
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-06-07 22:59:15 +03:00
NaiJi ✨ 2ac8e4366b Linting!
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-06-06 01:40:34 +03:00
Inex Code 4db0413c42 Linting 2022-06-05 22:36:32 +03:00
Inex Code e8d5ecccf6 Add devices screen 2022-05-31 17:30:44 +03:00
Inex Code 7810c2a279 Fix recovery flow 2022-05-31 17:30:35 +03:00
Inex Code 8ec3b8c3e3 Finish recovery key screen 2022-05-31 02:06:08 +03:00
NaiJi ✨ ead19d2210 Finish recovery key workflow and pages
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-30 16:55:52 +03:00
Inex Code b60fb19ecc some ui fixes 2022-05-30 16:49:42 +03:00
NaiJi ✨ 72ef16c6f6 Implement recovery key pages and device cubit
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-26 04:02:06 +03:00
NaiJi ✨ 5dcaa060a1 Linting
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-25 15:21:56 +03:00
Inex Code 14acfdec6b Linting 2022-05-24 21:55:39 +03:00
NaiJi ✨ edce25ec55 Hot bug fixing of recovery flow
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-24 20:45:13 +03:00
Inex Code a096e7e732 Add recovery_key_cubit.dart 2022-05-24 19:11:51 +03:00
NaiJi ✨ 7344858e86 Implement recovery backblaze page 2022-05-24 11:06:58 +03:00
Inex Code fa6f74e884 Finish recovery flow cubit 2022-05-23 17:21:34 +03:00
NaiJi ✨ eddeac57d6 Implement server selection pages
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-21 01:56:50 +03:00
NaiJi ✨ eaa1ba143c Implement pages for server confirmation on restoring access
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-19 20:43:25 +03:00
NaiJi ✨ 6fd7f9400d Implement recovery by old token pages with mock .md
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-19 17:26:57 +03:00
NaiJi ✨ d8568fc82f Merge branch 'flutter-3' into naiji-dev 2022-05-19 12:09:31 +03:00
Inex Code df40a09419 Add cubit methods to try recover the server 2022-05-18 14:21:11 +03:00
Inex Code d2553b0d08 Add auth functions to server_installation_repository.dart 2022-05-18 13:39:11 +03:00
NaiJi ✨ 2d96b4505e Disable unavailable functionality when server is not created
- Remove create and upgrade server jobs when server is not there
- Disable root SSH panel page when server is not there
2022-05-18 12:07:14 +03:00
Inex Code dd77b99ac8 Rename Bnames boxes names to include the Box 2022-05-18 11:27:36 +03:00
NaiJi ✨ 20f6e8156c Add recovery token pages 2022-05-18 02:18:26 +03:00
Inex Code bf79fb1adf - Refactor Hive boxes
- Delete SSH generation leftovers
- Migrate users box to an encrypted box
2022-05-17 23:08:28 +03:00
NaiJi ✨ 19bc780db1 Implement async validation of domain field on recovering access
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-17 19:06:24 +03:00
NaiJi ✨ 0d0a3a4fee Refactor App Config Cubit infrastrucute
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-17 16:31:34 +03:00
NaiJi ✨ f46ca7ad13 Merge branch 'flutter-3' into naiji-dev 2022-05-17 01:42:25 +03:00
NaiJi ✨ 10488d6832 Fix application failure on cloudflare 403 response
Check error response and show modal dialogue if domain couldn't be registered
2022-05-17 01:16:56 +03:00
Inex Code cc91b14b44 Migrate to flutter 3 2022-05-16 23:30:14 +03:00
NaiJi ✨ 129c1bb4c6 Refactor infrastructure
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-14 05:54:40 +03:00
NaiJi ✨ 4a42733d31 Refactor infrastructure: cubits and endpoints
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-13 16:57:56 +03:00
NaiJi ✨ 01b1f7462d Implement recovery domain page frontend 2022-05-11 21:37:08 +03:00
NaiJi ✨ ce3e046f5a Improve server endpoints, add recovery page
- Handle Dio error codes properly to avoid exceptions
- Improve en and ru assets
- Improve dns recordings failure handling
- Add recovery button to initializing page
- Add recovery pages group
2022-05-10 23:42:33 +03:00
NaiJi ✨ 31be961dd0 Implement server endpoints for tokens
get /auth/recovery_token
post /auth/recovery_token
post /auth/recovery_token/use
post /auth/new_device/authorize
post /auth/new_device
delete /auth/new_device
get /auth/tokens
post /auth/tokens
delete /auth/tokens
2022-05-10 02:16:36 +03:00
NaiJi ✨ 8d6cbfdfc9 Fix docstyle comments 2022-05-04 22:32:24 +03:00
NaiJi ✨ 4c7cf05578 Refactor FieldCubit creation for user forms
Move all cubit fields to a special factory which encapsulates all logic related to their default properties, which leaves possibility for future dependency inversion on that factory or future factories of other cubit fields (in case we will have to replace it with other implementations).
2022-05-04 19:58:47 +03:00
NaiJi ✨ 4c99579f13 Fix username validation and exception handling
1. Refactor string validation classes
2. Rename string validation assets for length
3. Improve exception handling when server is not able to create requested server
2022-05-02 14:56:46 +03:00
Inex Code 4ddde34b47 Fix server deletion 2022-04-29 13:53:58 +03:00
NaiJi ✨ 834cddfe13 Catch wakelock exception on desktop 2022-04-29 13:45:15 +03:00
Inex Code cca55f82cc Encode password to base64 during server creation 2022-04-06 20:15:59 +03:00
NaiJi ✨ 8d884af594 Fix users cubit, add changelog for 0.5.0 2022-04-03 22:54:18 +03:00
Inex Code 85235a2e7c Add SSH key adding and deleting 2022-03-23 17:07:52 +03:00
Inex Code d240e493b1 Add user synchronization and SSH keys screen 2022-03-03 20:38:30 +03:00
Inex Code e4bdd47848 Merge branch 'feature/service-configurations' into dkim
# Conflicts:
#	lib/logic/api_maps/hetzner.dart
#	lib/logic/api_maps/server.dart
#	lib/logic/cubit/backups/backups_cubit.dart
#	lib/logic/cubit/forms/initializing/cloudflare_form_cubit.dart
#	lib/logic/models/job.dart
#	lib/ui/pages/initializing/initializing.dart
#	lib/ui/pages/providers/providers.dart
#	pubspec.lock
#	pubspec.yaml
2022-02-18 02:37:15 +03:00
Inex Code e925a1897a Fix some typos 2022-02-16 10:28:29 +03:00
Inex Code 914d56ff87 DNS records cubit and screen 2022-02-16 10:09:53 +03:00
kherel 7eff0968d0 update 2022-02-08 22:01:08 +01:00
Inex Code d06e8976c5 Fix infect stage and DKIM 2022-02-08 09:59:35 +03:00
Inex Code a0edbd636d Refactor DNS checks 2022-02-08 09:59:19 +03:00
kherel 83ff387998 update 2022-02-07 08:53:13 +01:00
Inex Code f6508dfcad Attempts at string escaping 2022-02-02 12:53:21 +00:00
Inex Code 0bc3d9f31c Add DKIM key creation 2022-02-01 01:56:05 +00:00
Inex Code 88d5dbf010 Add more escaping to server infection 2022-02-01 01:55:09 +00:00
kherel 9566a6ad10 update 2022-01-25 18:02:32 +01:00
Inex Code 3cd187e416 Enforce alphanumeric bucket id 2022-01-25 18:02:31 +01:00
Inex Code 2dfb92f650 Fix wrong server name escaping symbol 2022-01-25 18:02:31 +01:00
Inex Code 72100e483a Replace all non-alphanumeric symbols during hetzner creation 2022-01-25 18:02:31 +01:00
Inex Code 8622ed30f1 Add more instructions to UI 2022-01-25 18:02:31 +01:00
Inex Code 5957e5720b Add user deletion (for real) 2022-01-25 18:02:31 +01:00
Inex Code e72df08453 Show that we are doing something when upgrading/restarting server 2022-01-25 18:02:31 +01:00
Inex Code 3a63e75e8e Fix nixos-infect link to use master, not rolling 2022-01-25 18:02:31 +01:00
Inex Code 893c5bb5c0 Enforce alphanumeric bucket id 2021-12-27 07:40:48 +00:00
Inex Code e7e9209cce Fix wrong server name escaping symbol 2021-12-26 21:41:53 +02:00
Inex Code 30937740b6 Replace all non-alphanumeric symbols during hetzner creation 2021-12-25 12:56:44 +00:00
Inex Code 85a27e8ee2 Add more instructions to UI 2021-12-23 13:52:12 +00:00
Inex Code 4ca873e794 Add user deletion (for real) 2021-12-20 15:25:31 +00:00
Inex Code 9b2fe905e6 Show that we are doing something when upgrading/restarting server 2021-12-20 15:03:50 +00:00
Inex Code 1b42d3a382 Fix nixos-infect link to use master, not rolling 2021-12-16 14:26:40 +03:00
Inex Code f633fecd57 Fix backup list parsing 2021-12-09 03:44:05 +00:00
Inex Code 2b8c009ef1 Add button to force refetch backups list 2021-12-09 03:35:15 +00:00
Inex Code 35c1eea7f0 Fix error when error is null 2021-12-09 06:23:27 +03:00
Inex Code b40bea63d1 Backups and server upgrade 2021-12-06 18:31:19 +00:00
Inex Code 6011d6fdce Hotfix SPCVE-0001 2021-11-18 19:10:40 +00:00
Kherel 139843dee8 fix 2021-10-13 23:49:24 +02:00
kherel 43732fa866 Merge branch 'no-hash' into fix-deleting-server 2021-10-12 00:14:31 +03:00
Kherel eac9078fad fix 2021-10-11 23:10:04 +02:00
Kherel ba8b19193d update 2021-10-07 18:52:06 +02:00
Kherel 3bc9b23e8f update 2021-10-07 18:52:06 +02:00
Kherel 2c4d0ea7d1 fix 2021-09-29 20:28:47 +02:00
kherel 3e7d003f21 service-states (#65)
Co-authored-by: Kherel <kherel@gmail.com>
Reviewed-on: kherel/selfprivacy.org.app#65
Co-authored-by: kherel <kherel@gmail.com>
Co-committed-by: kherel <kherel@gmail.com>
2021-09-29 16:08:19 +03:00
Kherel 4942f67f37 update 2021-09-15 16:37:22 +02:00
Kherel d0023e5718 update 2021-09-15 15:15:54 +02:00
Kherel 90d64d8f51 update 2021-09-02 21:32:07 +02:00
Kherel 26607251d9 update 2021-08-29 17:02:51 +02:00
Kherel 84e9259ec2 update 2021-08-29 15:54:28 +02:00
Kherel 94a0e22b15 update 2021-08-29 11:50:24 +02:00
Kherel 1a8a4e7270 update 2021-08-18 12:44:46 +02:00
Kherel 1202e4ad53 change password generator 2021-08-18 11:36:40 +02:00
Kherel 5dea5234de fix 2021-07-29 14:09:10 +02:00
Kherel 3a5353dbf4 add validation 2021-07-29 11:34:26 +02:00
Kherel 933e8ffb90 fix 2021-07-29 07:29:33 +02:00
Kherel 1c352fd771 update 2021-07-29 07:28:46 +02:00
Kherel Kechil f53ad044c1 finish 2021-07-29 07:24:42 +02:00
Kherel 21611e63c7 commit 2021-06-20 23:08:52 +02:00
Kherel 9e8fdf2965 update 2021-06-08 20:52:44 +02:00
Kherel d3f494adeb update 2021-05-25 23:53:54 +02:00
Kherel 234515477c fix 2021-05-17 14:46:48 +02:00
Kherel e5758aa2bf fix 2021-05-17 14:40:06 +02:00
Kherel d4f315214b add reverse-dns 2021-05-17 14:38:38 +02:00
Kherel 8ccb4f18f6 done 2021-04-22 20:04:24 +02:00
Kherel 5b83b493f4 fix 2021-04-20 13:44:33 +02:00
Kherel 536ef4b717 add salt to hash 2021-04-19 14:37:51 +02:00
ilchub 695c91cba7 Changed infect script source from 'preproduction' to 'master' 2021-04-16 02:22:56 +03:00
Kherel 6726c87de7 fix 2021-04-10 11:51:36 +02:00
Kherel cd49f9fb45 add charts 2021-04-10 05:04:23 +02:00
Illia Chub e4d5a4e01f Removed debug information 2021-04-01 16:03:04 +03:00
Illia Chub 10aeb6ba30 Incremented version number 2021-04-01 15:19:20 +03:00
Kherel 29b08b111a update 2021-03-31 16:33:58 +02:00
Kherel aabad65698 update 2021-03-31 13:37:39 +02:00
Kherel ae3ec309cb add volume 2021-03-30 19:38:40 +02:00
Kherel 804147b8d6 update 2021-03-26 14:38:39 +01:00
Kherel bc6c55b528 change http client 2021-03-26 00:30:34 +01:00
Kherel 20cca91e00 before change api_client 2021-03-25 21:09:56 +01:00
Kherel e4f154b4f5 fix 2021-03-25 09:46:07 +01:00
Kherel 3c683bef63 fix 2021-03-25 09:32:00 +01:00
Kherel 6a9e72dc4c fix 2021-03-23 21:00:17 +01:00
Kherel bb6de7ff67 update 2021-03-23 20:50:11 +01:00
Kherel 481a6e3d47 update 2021-03-23 20:21:42 +01:00
Kherel 10fdb019ff update 2021-03-18 13:24:30 +01:00
Kherel ab2893a075 update 2021-03-18 01:55:38 +01:00
Kherel 0ec549042c update 2021-03-15 16:39:44 +01:00
Kherel 0f35400eaa update 2021-02-17 15:30:02 +01:00
Illia Chub b469fdeda7 Added database password reference 2021-02-17 13:36:20 +02:00
Kherel 4f6137eaa1 update 2021-02-16 19:48:15 +01:00
Kherel 20166647ea update 2021-02-15 19:58:29 +01:00
Kherel a07a7247f5 update 2021-02-03 21:26:38 +01:00
Kherel 25a386d511 update 2021-02-03 20:51:07 +01:00
Kherel 3de01fe12b push 2021-02-02 19:24:56 +01:00
Kherel 9fe307b7e7 update 2021-01-27 19:33:00 +01:00
Kherel 0a99be6103 add vpn 2021-01-27 09:33:26 +01:00
Kherel 4936b157a1 update 2021-01-22 07:23:56 +01:00
Kherel 80213abf9b update 2021-01-21 22:01:42 +01:00
Kherel 7de50dd237 update 2021-01-21 08:35:38 +01:00
Kherel 6006564820 update 2021-01-19 13:12:10 +01:00
Kherel 21215685dd update 2021-01-19 13:05:40 +01:00
Kherel 4bfc3058a5 update 2021-01-19 09:38:02 +01:00
Kherel c7d45fbf76 update 2021-01-18 11:21:55 +01:00
Kherel 78e5e11f0d fix 2021-01-18 10:40:52 +01:00
Kherel a77c11f06c fix 2021-01-18 10:40:14 +01:00
Kherel 0c9dabc5cb Add response data in logger message 2021-01-18 10:38:21 +01:00
Kherel 08df778346 update 2021-01-15 13:24:09 +01:00
Kherel 5e13112486 update 2021-01-14 22:48:05 +01:00
Kherel 853e1fdbdd update 2021-01-14 19:45:10 +01:00
Kherel cf6e0b3495 add error observer 2021-01-13 17:45:46 +01:00
Kherel a8262229c0 update 2021-01-08 13:37:28 +01:00
Kherel 0ed5fbdd2e update 2021-01-06 20:25:53 +01:00
Kherel 9a749cf006 update 2021-01-06 18:35:57 +01:00
Kherel 6613949d12 update 2020-12-30 15:13:25 +01:00
Kherel 91aa2b860b update provider and bottom modal sheet 2020-12-10 21:33:19 +01:00
Kherel 9a8c16344f add dark theme 2020-12-08 20:26:51 +01:00
Kherel a112d873eb update onboarding and providers 2020-12-06 08:28:31 +01:00
Kherel 80dee9dbab add users 2020-12-03 17:52:53 +01:00
Kherel 90df52e895 add service page 2020-12-01 20:08:19 +01:00