Commit graph

417 commits

Author SHA1 Message Date
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
Inex Code 3f663b7900 Merge branch 'master' into fix/app-bars 2022-10-06 10:40:06 +03:00
inexcode 2fc20f43c3 fix(ui): New app bar now properly supports long titles 2022-10-06 10:38:29 +03:00
NaiJi 699e2f676f refactor(service): Get rid of legacy common enums 2022-10-05 01:41:48 +03:00
Inex Code 129eb76a04 feat: MD3 app bars
Fixed #123 spent @2h
2022-10-04 13:36:37 +03:00
Inex Code 9644ade367 fix(i18l): Use fallback English translations when localized one not available 2022-10-04 11:26:18 +03:00
Inex Code c1cba41b7b fix(i18l): Un-hardcode service status descriptions 2022-10-04 11:05:26 +03:00
NaiJi d36c8e987d Completely refactor language asset files 2022-10-04 02:32:35 +03:00
Inex Code e15026ae25 Disable block error showing snack bar 2022-09-20 12:44:05 +03:00
Inex Code ad55b204cf Fix jobs screen failing to draw when no jobs 2022-09-20 12:42:20 +03:00
NaiJi bb6d615d37 Fix 'start migration button' subtitle 2022-09-19 03:48:59 +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
Inex Code 19aab4b57f Redesign the ServerJobCard 2022-09-18 20:57:00 +03:00
Inex Code 1817031be8 Animate color of BrandLinearIndicator 2022-09-18 20:57:00 +03:00
NaiJi 34d635c2c5 Add delay between provider and server storage resizing calls 2022-09-18 19:35:16 +03:00
NaiJi 35a617065e Implement root page pushing after extending volume button 2022-09-18 19:31:22 +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
Inex Code 8017c5ab4c Show services in Server Storage screen 2022-09-18 19:06:17 +03:00
NaiJi 159f861965 Implement initialization migration to binds error handling 2022-09-18 17:29:00 +03:00
Inex Code cb660eb2bb Refactor server_settings.dart to use vanilla ListTiles 2022-09-18 17:17:13 +03:00
NaiJi 39358a827f Implement migrate to binds logic 2022-09-18 17:05:41 +03:00
Inex Code 5ca4ee27e3 Introduce ListTileOnSurfaceVariant and refactor TextDetails on server details screen. 2022-09-18 16:24:17 +03:00
Inex Code 3d34f0bb55 Fix screens when no server initialized 2022-09-16 17:14:29 +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 6f6df30767 Animate BrandLinearIndicator 2022-09-16 15:00:15 +03:00
Inex Code 641e329725 Move DiskStatus to the server volume cubit 2022-09-16 14:28:17 +03:00
Inex Code 61d049118f Add animation for graph loading 2022-09-16 13:36:26 +03:00
Inex Code 41efde80b2 Make SegmentedButtons responsive to visual density 2022-09-16 13:07:26 +03:00
Inex Code c8581e65aa Add adaptive density 2022-09-16 12:54:18 +03:00
Inex Code 5ca58a0cd3 Refactor network chart 2022-09-16 12:44:15 +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
Inex Code 3079b4bcc5 Add animations to segmented_buttons.dart 2022-09-16 01:28:10 +03:00
Inex Code 6e9bde827a Fix clipping on Cards with InkResponse 2022-09-16 01:01:41 +03:00
Inex Code 469fbde6c4 Replace brand_radio_tile.dart with segmented_buttons.dart 2022-09-16 00:59:37 +03:00
Inex Code 71a18695e4 Formatting fixes 2022-09-16 00:08:32 +03:00
Inex Code 6619e42cfa New providers page cards 2022-09-16 00:08:14 +03:00
Inex Code 0c31e7697c Refactor cards, move server details screen from modal to screen, move storage card to server screen. 2022-09-15 19:57:26 +03:00
inexcode 03c38f637f Initial charts rework 2022-09-15 18:40:02 +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
Inex Code 12d4cd23ec Binds migration screen 2022-09-14 19:46:38 +03:00
Inex Code 34837d8e29 Introducing InfoBox widget, small UI fixes 2022-09-14 19:45:50 +03:00
Inex Code 1a17f73df4 Delete unused UI components. 2022-09-14 18:14:55 +03:00
Inex Code 31624a3412 Remove BrandDivider and use vanilla instead. 2022-09-14 17:59:38 +03:00
Inex Code 7e10c1324c Remove BrandDivider and use vanilla instead. 2022-09-14 16:37:29 +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
Inex Code ae8827975a Fix server_storage_list_item.dart colors and text 2022-09-09 17:55:04 +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
inexcode da63ce45c8 Simplify root SSH keys page 2022-09-08 18:39:49 +03:00
inexcode 2826892400 Add a new filled card style and fix red texts 2022-09-08 18:14:05 +03:00
inexcode 981b9865cd Fix users not changing SSH keys and remove SSH keys screen 2022-09-08 18:13:18 +03:00
inexcode 3eda30d924 Refresh DNS screen design 2022-09-08 10:53:25 +03:00
NaiJi 580da306e1 Fix extending volume button error 2022-09-06 15:33:12 +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
inexcode 979e8ee37a New user screen UI 2022-09-05 16:12:00 +04:00
inexcode 5f58022d42 Update user list screen to properly support newer cubit logic 2022-09-05 14:51:01 +04:00
NaiJi 5ee1dec6b5 Fix Job adapter runtime error 2022-09-05 08:21:16 +03: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
inexcode 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 d168845b98 Fix storage card size view 2022-08-29 23:15:48 +03:00
NaiJi d247f41da4 Fix broken installation state check 2022-08-29 22:54:06 +03:00
inexcode 254604d584 Fix money display 2022-08-29 22:43:42 +04: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
inexcode 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 a698d3e7b2 Add padding to About page 2022-08-26 06:41:16 +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
NaiJi f370a7fc91 Fix minor recovery routing problem 2022-06-10 18:15:43 +03:00
Inex Code 18d0c2c40f Bug fixes and linting 2022-06-10 00:13:06 +03:00
Inex Code bf03f61668 Bump version 2022-06-09 19:49:57 +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 43411adf2c Bugfix About application page for desktop 2022-06-09 07:36:22 +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
NaiJi 5909b9a3e6 Minor UI fixes on recovery key pages 2022-06-01 17:29:37 +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 1db8e9556e Fix UI colors and such :)
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-30 19:55:09 +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
NaiJi ac93a384e9 Implement recovery cloudflare page 2022-05-24 10:55:51 +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
inexcode df40a09419 Add cubit methods to try recover the server 2022-05-18 14:21:11 +03:00