arcanis
70829619a1
build: handle posargs for tests
2026-07-20 12:48:47 +03:00
arcanis
dd659820da
build: try to handle workspace packages for tests
2026-07-19 23:58:49 +03:00
arcanis
e835668f7d
feat: add cooldown for aur packages
2026-07-18 21:55:26 +03:00
arcanis
526edfe2cd
build: update frontend dependencies
2026-07-18 20:10:32 +03:00
arcanis
a4a7c13344
fix: disable colors for importing parser calls
...
In case if parser is used to generate docs, it remains w\o colors, but
help messages are still formatted with it
2026-07-18 14:12:33 +03:00
arcanis
fd6add46f9
build: fix import paths for rtd
2026-07-17 14:57:19 +03:00
arcanis and GitHub
700893ecac
build: subpackages implementation ( #164 )
...
* migrate to hatch
* reorder tests
* generic fixtures
* straight forward conftest
* fix docs generation
* fix tox environments
* reformat tomls
* cleanup pyproject
* some play with renaming
* move root conftest into pytest plugins
* fix setup script
* move fixtures to __init__.py
* remove duplicate fixtures
* disable pylint warning
* simplify configuration fixture
* remove empty conftest
* remove crap from local pyprojects
2026-07-17 14:00:20 +03:00
arcanis
f12278a31d
build: reorganize scripts
2026-07-16 23:07:09 +03:00
arcanis
3492892cd2
build: replace deprecated ::set-output with GITHUB_OUTPUT
2026-07-08 15:01:06 +03:00
arcanis
aef7fa5f93
build: update frontend dependencies
2026-07-06 16:16:31 +03:00
arcanis
c412b08135
fix: remove staleTime defaults for query client
2026-07-06 15:33:20 +03:00
arcanis
a3b6372c11
fix: override head method for sse endpoint to make it actually working
2026-07-06 14:44:29 +03:00
arcanis
78288befb8
build: use python 3.13 lowerbound
2026-07-06 13:56:02 +03:00
arcanis
49cd3d43c8
fix: handle errors in sse stream
2026-06-09 01:01:08 +03:00
arcanis
d9b52806c0
fix: clear subscriber map on shutdown
...
Even though it is not a case in the application, the interface could be
used externally
2026-06-07 11:58:04 +03:00
arcanis
774db2d780
type: fix typing ignore with the last typing update
2026-05-31 20:04:25 +03:00
arcanis
68afda4c71
feat: allow readonly events with read permission
2026-05-26 20:51:06 +03:00
arcanis
fa9fa73078
docs: bump python version to 2.13
2026-05-08 10:25:24 +03:00
arcanis and GitHub
3e1e24cb50
feat: SSE support ( #162 )
...
* event bus implementation
* update tests
* docs update
* review fixes
* update configs
* fix typo
* frontend changes
* install missing pacakge
* queue processing simplification
2026-05-08 10:20:03 +03:00
arcanis
18fe38c30b
build: use build_date argument for docker image instead of guessing from pacman root
2026-05-05 13:45:42 +03:00
arcanis
6ee8b26bd5
feat: show aur url in interface
2026-04-22 06:56:28 +03:00
arcanis
fce49f22c9
type: fix mypy warnings in updated version
2026-04-03 13:36:41 +03:00
arcanis
af8e2c9e9b
build: update rtd.io image
2026-03-30 19:20:03 +03:00
arcanis
1c312bb528
feat: add error boundary
2026-03-24 01:17:42 +02:00
arcanis
e39194e9f6
feat: etag support
2026-03-23 23:58:56 +02:00
arcanis
21cc029c18
refactor: use usedforsecurity flag for md5 calculations
2026-03-23 23:07:31 +02:00
arcanis
40671b99d5
feat: allow to configure cors
2026-03-23 16:39:07 +02:00
arcanis
3ad2c494af
docs: update docstrings
2026-03-22 17:23:16 +02:00
arcanis
34014d1cdd
build: add more rules for typescript
2026-03-22 17:23:16 +02:00
arcanis
93ed2b864b
docs: describe rollback procedure in docs
2026-03-22 17:23:16 +02:00
arcanis
cca931ccd0
fix: handle errors on pkgbuild reading
2026-03-22 13:10:09 +02:00
arcanis
5e090cebdb
refactor: reorder arguments in web ui
2026-03-22 04:03:41 +02:00
arcanis and GitHub
d7984c12f0
feat: package rollback support ( #161 )
...
* implement support of rollback handler
* react interface for the rollback
2026-03-22 00:36:48 +02:00
arcanis
96684d7ddd
refactor: move package archive lockup to package info trait
2026-03-18 18:48:27 +02:00
arcanis
2e9837b70d
build: update frontend dependencies
2026-03-15 19:18:58 +02:00
arcanis
ac4a8fb2cd
fix: hide ignore_list because it is ambiguous now
2026-03-15 19:06:53 +02:00
arcanis
1db8eb0ac4
fix: preserve hold status on status updates
2026-03-15 19:03:05 +02:00
arcanis and GitHub
dc394f7df9
feat: dynamic package hold ( #160 )
...
* add dynamic hold implementation to backend
* update frontend to support new status
* force reporter loader
* handle missing packages explicitly
* handle missing packages explicitly
2026-03-15 18:47:02 +02:00
arcanis
058f784b05
fix: center icons on buttons
2026-03-15 17:07:39 +02:00
arcanis
f688768ca7
fix: fallback to timestamp in case if crypto context is not available
...
Previous tests have been done in either secure (HTTPS) or loopback
(localhost) environments, so I missed the case, that crypto methods
might not be available
Fixes #159
2026-03-13 17:00:06 +02:00
arcanis
a09ad7617d
feat: support archive listing
2026-03-12 22:26:35 +02:00
arcanis
81aeb56ba3
refactor: lightweight Package.from_archive method
2026-03-11 23:00:55 +02:00
arcanis
2cd4ef5e86
refactor: separate package_archives method from trigger
2026-03-11 13:36:59 +02:00
arcanis
998ed48dde
feat: add pkgbuild subscommands
2026-03-11 13:31:19 +02:00
arcanis
021d88dc4c
feat: store and show pkgbuild (implements #157 )
2026-03-11 01:05:06 +02:00
arcanis
9012ee7144
feat: add dark theme support and increase contrast
2026-03-08 22:59:31 +02:00
arcanis
945ddb2942
Release 2.20.0
2026-03-08 16:51:28 +02:00
arcanis
9cd0926588
docs: add http client description
2026-03-08 16:49:46 +02:00
arcanis
f5c12d03ec
Release 2.20.0rc7
2026-03-08 12:18:03 +02:00
arcanis
606ee2fb0e
docs: architecture spec update
2026-03-08 12:16:26 +02:00
arcanis
875e9cf58a
docs: update web preview picture
2026-03-08 03:33:49 +02:00
arcanis
a809a4b67f
feat: support request-id header
2026-03-08 02:51:30 +02:00
arcanis
437ae2c16c
style: some minor style improvements
2026-03-06 21:38:57 +02:00
arcanis
10661f3127
fix: catch some StopIteration exceptions
2026-03-06 17:04:19 +02:00
arcanis
88ac3d82a0
feat: explicitly disable archive rotation if option is set to 0
2026-03-06 12:59:48 +02:00
arcanis
386765ab4e
fix: fix dashboard visual
2026-03-06 01:48:11 +02:00
arcanis
78998182b8
Release 2.20.0rc6
2026-03-06 01:32:13 +02:00
arcanis
2563391aaf
build: correct order of building
2026-03-06 01:31:53 +02:00
arcanis
90a78e99e7
Release 2.20.0rc5
2026-03-06 01:06:15 +02:00
arcanis and GitHub
a05eab9042
feat: brand-new interface ( #158 )
...
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
2026-03-06 00:59:10 +02:00
arcanis
db46147f0d
fix: mount archive to chroot
...
while file:// repository is automatically mounted by devtools, it
doesn't mount any directory which contains source of symlinks
This commit adds implicit mount of the archive directory (ro) into
chroot
2026-03-03 15:50:21 +02:00
arcanis
49ebbc34fa
fix: do not update package status if it is unchanged
...
In order to prevent timestamp bumps, filter by status is added
2026-02-24 15:33:06 +02:00
arcanis
e376f1307f
docs: remove required flag from email.template_full option
2026-02-22 02:57:34 +02:00
arcanis
415fcf58ce
Release 2.20.0rc4
2026-02-21 12:52:51 +02:00
arcanis
17a2d6362c
style: replace """ with " for single line strings
2026-02-21 12:51:58 +02:00
arcanis
e6275de4ed
fix: handle class overrides for retry polices correctly
...
Previous implementation didn't work as intended because there was still
override in init. Current implementation instead of playing with
guessing separates default and instance setttings. Also update test
cases to handle this scenario correctly
2026-02-21 12:40:11 +02:00
arcanis
4d009cba6d
Release 2.20.0rc3
2026-02-20 20:56:05 +02:00
arcanis
f6defbf90d
fix: rollback samesite option to Lax, because of broken OAuth
2026-02-20 20:54:37 +02:00
arcanis
c4fefa6071
Release 2.20.0rc2
2026-02-20 16:30:37 +02:00
arcanis
b0f1828ae7
feat: add retry policy
2026-02-20 16:24:14 +02:00
arcanis
dec025b45a
feat: raise OptionError on missing OAuth provider class instead of generic AttributeError
2026-02-19 10:19:03 +02:00
arcanis
89008e5350
fix: use context manager for selector and smtp session
2026-02-19 10:19:03 +02:00
arcanis
422196d413
fix: force data filter for tar archive extraction
...
(python3.14 default anyway)
2026-02-19 10:19:03 +02:00
arcanis
6fe2eade26
feat: (more) secure cookies
2026-02-19 10:19:03 +02:00
arcanis
5266f54257
fix: speedup table reload by updating only changed statuses
...
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
2026-02-19 10:19:03 +02:00
arcanis
bbf9e38fda
Release 2.20.0rc1
2026-02-18 13:34:08 +02:00
arcanis
ba80a91d95
feat: implement CSRF protection
2026-02-18 13:34:08 +02:00
arcanis
536d040a6a
feat: handle only unknownpackageerror on aur load
2026-02-18 13:34:08 +02:00
arcanis
bed8752f3a
fix: filter logs by repository (twice) before rotation
2026-02-18 13:34:05 +02:00
arcanis
4093ca8986
fix: do not clear queue on queue fetch failures
2026-02-18 13:34:03 +02:00
arcanis
f027155885
docs: correct docstring for list_flatmap method
2026-02-18 13:34:03 +02:00
arcanis
443d4ae667
fix: correct vcs definition for cvs packages
2026-02-18 13:34:00 +02:00
arcanis
c8f7fa8c51
fix: load gitremote triggers configuration schema from non-standard
...
paths
2026-02-18 13:33:57 +02:00
arcanis
93c36fb429
docs: update documentation for the lasts archive feature
2026-02-16 22:07:34 +02:00
arcanis and GitHub
2d6d42f969
feat: archive package tree implementation ( #153 )
...
* 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
2026-02-16 00:12:51 +02:00
arcanis
6a2454548d
refactor: drop some methods from package class into separated wrappers
2026-02-11 03:05:49 +02:00
arcanis
389bad6725
fix: use effective uid instead of uid
2026-02-03 16:38:13 +02:00
arcanis
5738b8b911
fix: rewrite preserver_owner method complitely
...
Previous implementation was somewhat working in the most) scenarios, but
was super slow to handle permissions. However, it is actually very
limited operations in which the application can do anything, so it is
much easier to just drop privileged user to normal one
2026-02-03 15:27:19 +02:00
arcanis
5ac2e3de19
fix: handle permissionerror during walking over tree
...
Previously it tried to look into 700 directories (e.g. .gnupg) which
breaks running as non-ahriman user
2026-02-02 22:16:15 +02:00
arcanis
799dc73d8a
feat: update package status to success in case if package is up-to-date
2026-01-26 01:56:30 +02:00
arcanis
4e79cbf71a
fix: fallback to package name for missing bases in archive
...
package zoom is being generated without base, leading to None there
Closes #155
2026-01-22 16:34:19 +02:00
arcanis
4fa5d55317
type: replace generator return type with iterator
2026-01-15 15:22:03 +02:00
arcanis
a7fa3b90e4
type: fix typing in some modules
2026-01-14 14:28:31 +02:00
arcanis
ce07cda8ab
fix: pass underlying exception on extensionerror
2026-01-14 14:06:34 +02:00
arcanis
00c4f32294
fix: correct exception type on repository id comparison
2026-01-14 13:59:07 +02:00
arcanis
49cf91ea52
chore: copyright update
2026-01-08 02:50:37 +02:00
arcanis
4a8430dc67
build: allow to rebuild images manually
2026-01-08 02:45:31 +02:00
arcanis
46af782db2
build: drop shtab wrapper after their release
2025-11-18 20:47:20 +02:00
arcanis
6443e02352
type: use as keyword in case match
2025-10-26 09:36:54 +02:00
arcanis
999ad39d6f
feat: add trigger loader guard
2025-09-17 14:45:09 +03:00