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
inexcode
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
inexcode
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
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
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
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
inexcode
df40a09419
Add cubit methods to try recover the server
2022-05-18 14:21:11 +03:00
inexcode
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
inexcode
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
inexcode
d240e493b1
Add user synchronization and SSH keys screen
2022-03-03 20:38:30 +03:00
inexcode
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
inexcode
e925a1897a
Fix some typos
2022-02-16 10:28:29 +03:00
inexcode
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
inexcode
d06e8976c5
Fix infect stage and DKIM
2022-02-08 09:59:35 +03:00
inexcode
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