Graham
b37e4d0d0b
Use alternatives for most methods deprecated in Kotlin 1.5
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e0a2df889b
Add more information to the individual cache pages
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
9be1a54b76
Add estimated cache size column
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e4776f7c3c
Only call games.single() when game is accessed
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
1f735f4b99
Remove duplicate descriptions
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
b685d901aa
Mark empty master index as invalid
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
eeb82d2e47
Fix typo in master_index_stats JOIN
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
9bce5cc1b3
Replace LEFT JOIN on sources/games with a JOIN
...
Each master index now has at least one source.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
b98d045cfe
Add group source tracking
...
There are a few collisions in the production archive. I suspect these
are due to poorly modified caches, and tracking the source(s) of each
group will make it easier to determine which cache is probably
problematic.
This change also has the benefit of removing a lot of the hacky source
name/description merging logic.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
509d88b18f
Add support for storing multiple build numbers per master index
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
70644b5e06
Combine master_index_{archive,group}_stats
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f8c44f1de4
Rename master_index_valid_{indexes,groups} to resolved_{indexes,groups}
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
aa7b59e4b9
Add a page for each cache
...
These pages will list missing groups and keys in the future, which we
won't be able to fit in the table.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
5f5d1aad93
Fix divide by zero in CacheExporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
4b4b6fabc0
Add percentage of valid indexes, groups and keys to the table
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
86f100ff4f
Format CacheExporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
bce6270957
Set background colour of the indexes, groups and keys cells
...
Green indicates we've collected a full set. For indexes, red indicates
some are missing (as this is a critical problem - the client won't start
at all if an index is missing). Yellow indicates groups or keys are
missing, as this is less critical (the client will likely work in most
cases).
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
81e2dedee5
Add number of valid indexes, groups and keys to the web interface
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2aab020e67
Use int for master index ids consistently
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
5d8f89e319
Add master_index_valid_{indexes,groups} views to reduce duplication
...
The CTE is now declared as NOT MATERIALIZED to ensure Postgres is able
to push the WHERE master_index_id condition inside it.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
91d4e46c89
Rename GroupKey to Key
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
eae9a3e2f4
Remove master index digest column from the web page
...
It isn't really necessary now we have the download links.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
619424321f
Add index version consistency check
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
1c061c0f66
Store master index format in the database
...
We can't reliably infer it based on the contents of the container.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
4154e4fdb4
Store non-truncated versions in the archiving service if available
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
cbeb9a3a67
Add mapsquare key for compatibility with Polar's XTEA key files
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
412d6f4c1f
Add XTEA key export endpoint
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a19a69b21e
Add name and description to the master_indexes table
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
47127113f4
Add initial archiving service web interface
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a3593e9326
Rename master_index_entries to master_index_archives
...
This naming is a bit more consistent with the index_groups and
index_files tables.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
4ba78e26b9
Create .idx files for empty indexes
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
273f7eddf8
Use a CTE to reduce duplication in CacheExporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
9834dccfdd
Add indexes to the groups table
...
This will reduce the impact of checksum/version collisions, as a
collision would have to happen between two indexes of the same archive
rather than any two indexes.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
4e90bd76b5
Remove the cache and cache_index tables
...
These effectively duplicate the master index tables, but in a less
flexible manner - as they don't support importing a master index where
some of the indexes are missing.
This commit also combines MasterIndexImporter with CacheImporter, to
make it easier to re-use code.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
fc1af29bdf
Make BATCH_SIZE const
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
f143eef142
Move Kotlin files from src/{main,test}/java to src/{main,test}/kotlin
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
ce5b76ef0f
Rename dev.openrs2 package to org.openrs2
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
d755d486d6
Add initial cache and XTEA key archiving service
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago