[haiku-depot-web] Update; new Release 1.109

  • From: Andrew Lindesay <apl@xxxxxxxxxxxxxx>
  • To: haiku-depot-web@xxxxxxxxxxxxx
  • Date: Thu, 24 Jan 2019 22:09:00 +0100

Hello;

I've just created release 1.0.109 which contains quite a number of changes.

---
Alex;

* please checkout tag 1.0.109 before building the Docker image because then the 
versions of components will be configured correctly in the Dockerfile.
* You will need to know about or may need to perform some action post deploy 
for those items marked with "**" below.
* This deploy has some non-trivial data-migrations in it that unfortunately had 
to be split in two transactions; if you want to coordinate a time to deploy 
when I'm online then we can do that, but it should go through fine.
---

Thank you to those people helping out with the localization once again.

## Package Supplement

This is a significant change because it will hit most areas of the application. 
 It introduces new data structures that are able to provide better sharing 
between the packages in relation to icons, screenshots and localizations.  In 
the past this 'sharing' has been achieved by actually copying the data, but 
this copying process was messy in concept, code and reality.  This new change 
means that the same data is being edited from various packages rather than 
copies being taken.  Examples of packages that might have shared data in this 
way are;

* cricket
* cricket_x86
* cricket_devel
* cricket_x86_devel

This has the down-side that it is not possible to 'tweak' the data for each 
type of package, but the up-side is that the logic in HDS is more sane and 
there are no strange edge cases to deal with.

The data-model diagram in the documentation has been updated to illustrate this 
change.

## Rebuild of Authorization Logic

The authorization logic in the single-page application was not working too well 
because it was not coalescing the requests for authentication together very 
efficiently.  This lead to more calls than necessary back into the application 
server.  This should work better now.  Thanks to the introduction of an LRU 
cache library, the caching of authorization should work better as well.

## Request Permission from User to use Local Storage

This ensures that the user is informed as to what is being stored in their 
browser from the single page application.

## Built-in Scheduling **

As requested by Alex, the scheduled maintenance tasks will now be run via 
in-application-server scheduling rather than relying on external ```cron``` and 
```curl```.  The endpoints that were being hit by cron are still there, but 
will be removed in the next version.  Actions; Alex please remove the 
cron-based scheduling post-deploy.

## Repository Access Password **

As requested by Alex, the repository is now able to have a password configured. 
 If supplied, the password secures the Repository endpoints; primarily for 
triggering repository updates.  Actions; Alex, please configure as needed for 
HaikuDepot.  BeSly / FatElk / Clasqm -- can you please coordinate with Alex if 
you are externally triggering repository updates.  The API documentation has 
been updated around this.

## Documentation

Various areas of documentation have been updated.  Also the documentation links 
may have changed.  A section has been added to outline how data is used in HDS. 
 Links to this information have been added in the system.

## x86_64 Default

x86_64 is now the default architecture in the web interface.  Also the default 
is communicated from the backend to the single-page application dynamically 
rather than having a default both in the SPA and the backend.

## Frontend Logout Problem

There was a problem where during logout the single-page application may have 
experienced some instability.  This bug should be resolved now.

## Last Import for Repo

For a given Repository Source, the last import is stored and displayed to help 
with diagnostics.

## Mirror Added More Than Once

If a Repository Mirror is added more than once then the user is shown an error 
in the UI and are disallowed from doing this.

## Repository Forced Internal Base URL

Each Repository Source is able to provide a forced base URL.  This allowed for 
the situation we had previously where the internal network is not able to call 
out from HDS and back into itself to get repo data.  Alex has actually fixed 
this at the Docker network level, but this application-level fix is supposed to 
work around this.

## Ability to Remove Repository Source Mirrors

This was previously not working.

## Storage and Display of Users' Last Logged in Time

This is so that in a few years' time it will be possible to identify inactive 
users.

## Package Vanity URL

The package has a small 'link icon' on the RHS of the view package screen.  
This links to a short URL for the package that can be used from elsewhere to 
link to this package.  Note that the link is not to the version, but to the 
package.

## Schema Generation Changes

The schema-generation files used in the C++ HaikuDepot application have been 
renamed etc... to make them more logical to find.  The python scripts for 
converting the schema files to C++ are removed because that process occurs in 
the Haiku main source now.

## Data Masking Script

A data masking script has been added to support getting test data for 
development / testing / diagnostic purposes.

## Portugese localizations

Thanks Victor for adding those in.

## Bulk Download API Removed

This API was used by older versions of HaikuDepot desktop application, but was 
removed from the desktop application in early 2018.  It is now removed from the 
HDS system as well.

-- 
Andrew Lindesay

Other related posts:

  • » [haiku-depot-web] Update; new Release 1.109 - Andrew Lindesay