This was initally generated by ai, but later has been heavily edited.
The reason why it has been implemented is that there are plans to
implement more features to ui, but it becomes hard to add new features
to plain js, so I decided to rewrite it in typescript.
Yet because it is still ai slop, it is still possible to enable old
interface via configuration, even though new interface is turned on by
default to get feedback
it has been found that on big (>100) repos it starts lagging on reload.
This commit adds guard to avoid updating rows whose package statuses
were not changed
* store built packages in archive tree instead of repository
* write tests to support new changes
* implement atomic_move method, move files only with lock
* use generic packages tree for all repos
* lookup through archive packages before build
* add archive trigger
* add archive trigger
* regenerate docs
* gpg loader fix
* support requires repostory flag
* drop excess REQUIRES_REPOSITORY
* simplify symlionk creation
* remove generators
* fix sttyle
* add separate function for symlinks creation
* fix rebase
* add note about slicing
* smol refactoring of archive_tree class
* remove duplicate code
* fix typos
* few review fixes
* monor fixes and typos
* clean empty directories
* remove side effect from getter
* drop recursive remove
* ensure_exists now accepts only argument
* add package like guard to symlinks fix
* speedup archive_lookup processing by iterrupting cycle
* remove custom filelock
* fix naming
* remove remove flag from repo
* review fixes
* restore wrapper around filelock
* extract repository explorer to separate class
* docs update
* fix ide findings
This commit also includes changing of load logic to update row by row
instead of full table toggle. It also changes behaviour on openned
dropdowns blocking refresh
It has been found that previous system didn't allow to configure
specific cases (e.g. a whitelisted directory inside /usr/lib/cmake). The
current solution replaces two options to single one, which also allows a
regular expressions
Also PackageArchive class has been moved to core package, because it is
more about service rather than model
It has been found that in some cases additional packages have been added
as dependencies, like usr/share/applications, usr/lib/cmake, etc
This commit adds an ability to blacklist specific paths from processing
Add naive implementation of user password check by calling su command.
Also change some authentication method to require username to be string
instead of optional string
In some cases (probably slow internet) in place initialization can cause
exception, because elements are not available yet. This commit moves
events initialization to $()
The feature is implemented as supplying !debug option to makepkg when
generating package list. In this case debug packages still will be
built, however, they will not be added to the repository
It is fine when application is able to log request, however, normally it
produces a lot noise, which has been handled by adding special logger.
However, nowadays it requires a lot endpoints to be filtered and doesn't
provide any choice.
Instead of it lets disable access logger by default and let users decide
do they need or not to see access log messages
Add support of changes generation. Changes will be generated (unless explicitly asked not to) automatically during check process (i.e. `repo-update --dry-run` and aliases) and uploaded to the remote server. Changes can be reviewed either by web interface or by special subcommands.
Changes will be automatically cleared during next successful build
It has been a while since all pages have moved to json instead of form
data, except for login page. This commit changes login to json data
instead of form one