CalDescent
f6b9ff50c3
More loading screen improvements
2021-11-23 22:21:57 +00:00
CalDescent
9ef75ebcde
Improved styling of loading panel
2021-11-23 21:15:45 +00:00
CalDescent
f76a618768
Display the latest status on the loading screen, updated via API calls on a timer
2021-11-23 20:53:09 +00:00
CalDescent
098d7baa4d
Bump version to 2.1.0-prerelease.0
2021-11-23 19:03:27 +00:00
CalDescent
59a57d3d28
Increased frequency of automatic repository maintenance attempts
...
repositoryMaintenanceMinInterval reduced from 7 to 3 days
repositoryMaintenanceMaxInterval reduced from 30 to 14 days
2021-11-23 18:47:27 +00:00
CalDescent
cce95e09de
Default min level for block submissions increased to 3
...
This doesn't affect minting rewards; it is simply a means of reducing block candidates. There should be no noticeable difference other than hopefully less re-orgs. We can ultimately do a hard fork and increase Blockchain.minAccountLevelToMint but this allows us to test the approach in a lower risk way.
2021-11-23 18:45:35 +00:00
CalDescent
ec48ebcd79
Improved resource statuses
2021-11-23 09:14:44 +00:00
CalDescent
908f80a15d
Fixed bug when checking if all files exist locally in /arbitrary/status
2021-11-22 08:43:07 +00:00
CalDescent
02eab89d82
Fixed bug when trying to delete a file instead of a directory.
2021-11-21 19:24:20 +00:00
CalDescent
c588786a06
Added /base64 variation of POST /arbitrary/* APIs
...
This can be used to upload base64 encoded file data directly from the UI. Using base64 because base58 is unusably slow
2021-11-21 19:12:01 +00:00
CalDescent
b4f3105035
Added /render/authorize/{service}/{resourceId}* APIs
...
These allow the UI to pre-authorize a resource and therefore avoid having to pass a sensitive API key to a website or app.
2021-11-21 14:57:26 +00:00
CalDescent
d018f11877
Log the initial height of the block archiver on startup
2021-11-21 09:12:32 +00:00
CalDescent
d0000c6131
If "build=true" is specified in query string of GET /resource/status/{service}/{name}, build the resource before returning the status
2021-11-20 18:52:03 +00:00
CalDescent
c05ffefd7d
Added a dynamic background to the loading screen. Still needs a lot of work.
2021-11-20 14:09:00 +00:00
CalDescent
530fc67a05
List available services in API docs when requesting arbitrary data
2021-11-20 11:46:03 +00:00
CalDescent
c79ec11b07
Fixed incorrect comment
2021-11-19 23:16:28 +00:00
CalDescent
668ef26056
Fixed major performance issue with GET /arbitrary/resources?includestatus=true
...
The missing data check was triggering decryptions, extractions, etc. Replaced with some code which checks for the presence of chunks on the local machine, without getting involved with any build process overhead.
2021-11-19 23:00:36 +00:00
CalDescent
75ec7723ef
Improved accuracy of statuses
...
- "NOT_STARTED" is now "DOWNLOADED"
- "DOWNLOADING" is now "MISSING_DATA"
- Removed "DOWNLOAD_FAILED"
Some of these could be reintroduced once the system is able to support them.
2021-11-19 21:48:41 +00:00
CalDescent
73e609fa29
Replaced all IllegalStateException with DataException in arbitrary code
...
This was necessary to ensure that all exceptions are caught intentionally, as otherwise it creates endless amounts of edge cases.
2021-11-19 21:42:03 +00:00
CalDescent
8cb06bf451
Return statuses in GET /arbitrary/resources endpoint when the "includestatus" parameter is true.
2021-11-19 20:20:45 +00:00
CalDescent
1be8a059f4
Fixed bug caused by not catching a IllegalStateException
...
I may replace all IllegalStateExceptions with DataExceptions soon so we can ensure they are always caught.
2021-11-19 20:18:56 +00:00
CalDescent
7f41c7ab0e
Added "BLACKLISTED" status for arbitrary data resources.
2021-11-19 20:18:00 +00:00
CalDescent
3860c5d8ec
Fixed some failing tests.
2021-11-19 16:12:31 +00:00
CalDescent
a061a7cc4d
Fixed various warnings raised by the IDE.
2021-11-19 16:11:37 +00:00
CalDescent
844501d6cd
Added GET /arbitrary/resource/status/* API endpoints
...
These can be used to check the current status of a resource. The different statuses are:
NOT_STARTED,
DOWNLOADING
DOWNLOADED
BUILDING
READY
DOWNLOAD_FAILED
BUILD_FAILED
UNSUPPORTED
Not all statuses are returned yet. The build process needs more functionality to be able to support DOWNLOADED and DOWNLOAD_FAILED. Also, BUILDING and BUILD_FAILED are currently unable to distinguish between different resources with the same registered name, so need some attention.
2021-11-19 15:26:52 +00:00
CalDescent
020bd00b8f
Removed incorrect @SecurityRequirement annotation
2021-11-19 13:40:02 +00:00
CalDescent
0706b0d287
Added some /site endpoints to the gateway, for backwards support of the demo sites
2021-11-19 13:26:47 +00:00
CalDescent
ce56cd2b16
Disallow local (loopback address) requests when using the gateway
...
This removes the possibility of some locally running javascript in a website or app requesting unvetted data via the local gateway.
2021-11-19 13:20:53 +00:00
CalDescent
b7a0a7eea4
Removed API authentication when using the gateway, as that would defeat the purpose of it.
2021-11-19 13:14:57 +00:00
CalDescent
824d14e793
Removed unnecessary check for isApiRestricted() when previewing.
...
The API key authentication will be enough to restrict requests.
2021-11-19 13:08:56 +00:00
CalDescent
83e0ed2b5d
Reduced log spam
2021-11-19 12:59:25 +00:00
CalDescent
c8b70b51c3
Added gateway service, to allow websites to be served directly on a domain or IP.
...
This replaces the existing GET /site/{name} API endpoints.
Example settings:
"gatewayServiceEnabled": true,
"gatewayServicePort": 80
Websites can then be served using URL:
http://localhost/RegisteredName
Or, if node is behind public DNS:
http://example.com/RegisteredName
Or, if a custom port (such as 12393) is used:
http://localhost:12393/RegisteredName
http://example.com:12393/RegisteredName
This is currently for serving websites only, but can be adapted to serve other services if needed.
2021-11-19 12:59:15 +00:00
CalDescent
c0fedaa3a4
Attempt to request files directly from a peer if it isn't returned in the general network broadcast.
2021-11-19 12:05:40 +00:00
CalDescent
e74dcff010
Wait for 3 seconds between attempts to allow time for data to arrive.
2021-11-19 11:21:40 +00:00
CalDescent
3b5b45b463
Give up after 5 attempts to request data in the GET /arbitrary APIs
2021-11-19 11:21:14 +00:00
CalDescent
fead482b0d
Fixed bugs introduced in preview functionality.
2021-11-17 19:32:35 +00:00
CalDescent
29bd8203b5
Removed service from POST /render/preview/{service} API as it isn't needed right now
2021-11-17 19:25:21 +00:00
CalDescent
08b79e45cf
/site API endpoints replaced with more generic /render APIs so that they can be used for apps, blogs, etc
...
This involves passing a service along with the name, such as `GET /render/WEBSITE/Test`
2021-11-17 19:22:25 +00:00
CalDescent
3a05a0bcaa
Added "LIST" service - to be used to optionally host an otherwise private list if the user wants to share it publicly.
2021-11-17 18:59:45 +00:00
CalDescent
d0aafaee60
Added POST /arbitrary/../string API endpoints to allow data to be passed to the core as a string.
...
This will be useful for metadata, playlists, etc, as well as some types of data published by Qortal apps.
2021-11-17 18:57:46 +00:00
CalDescent
332b874493
Removed /arbitrary PUT and PATCH API endpoints.
...
It's best to let the core decide which one to use now that it is able to.
2021-11-16 19:36:24 +00:00
CalDescent
6c995ed738
Validation removed from METADATA so that it is more generic - it's up to each application to decide how to structure its contents. Existing strict validation applied to a duplicate called QORTAL_METADATA. This will be the one used for website/app listings in the Qortal UI.
2021-11-16 19:32:14 +00:00
CalDescent
fb09d77cdc
Rework of "Service" types to allow for validation
...
Each service supports basic validation params, plus has the option for an entirely custom validation function.
Initial validation settings:
- IMAGE must be less than 10MiB
- THUMBNAIL must be less than 500KiB
- METADATA must be less than 10KiB and must contain JSON keys "title", "description", and "tags"
2021-11-16 19:28:25 +00:00
CalDescent
9c952785e6
Allow the API key to be passed as an "apiKey" parameter in the query string or POST body as an alternate option to a header.
...
This is needed to avoid triggering a CORS preflight (which occurs when using an X-API-KEY header). The core isn't currently capable of responding to a preflight and the UI therefore blocks the entire request. See: https://stackoverflow.com/a/43881141
2021-11-14 20:24:02 +00:00
CalDescent
2f51c1bf47
Added all missing SecurityRequirement annotations
2021-11-14 19:56:26 +00:00
CalDescent
276a110e90
Fixed bug in API key comparison
2021-11-14 19:55:58 +00:00
CalDescent
b761674b2c
Default temp path moved to a subfolder of the data path
...
This allows users to set only their data path, and for the temp folder to automatically follow it. The temp folder can be moved to a custom location by setting the "tempDataPath" setting.
2021-11-14 17:00:49 +00:00
CalDescent
0b20bf0145
Website serving now requires authentication for everything except the "domain map" server
2021-11-14 16:00:58 +00:00
CalDescent
1397cbeac2
General API key / security-related updates
2021-11-14 15:59:08 +00:00
CalDescent
06e122f303
Added 'localAuthBypassEnabled' setting to allow users to opt in to the old method of local authentication at their own risk.
2021-11-14 15:24:15 +00:00