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
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
a305e0b53f
fix(assets): Change naming to conventional and consistent 'username'
2022-10-08 19:28:07 +00:00
NaiJi
f4e588c435
fix(user): Replace cubit context read with state variable on login page
2022-10-08 19:22:08 +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
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