arcanis
e8abeeddc9
write tests to support new changes
2026-02-10 02:04:30 +02:00
arcanis
b567a3b683
store built packages in archive tree instead of repository
2026-02-10 02:00:29 +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
arcanis
dfab5f56b2
feat: use atexit instead of del for triggers
2025-08-11 14:53:10 +03:00
arcanis
10798b9ba3
fix: correctly process trigger repo specific settings in validator (see #154 )
2025-08-01 16:53:15 +03:00
arcanis
358e3dc4d2
feat: expose repository name and architecure in configuration if available
...
In some cases there are reference to current repository settings. In
order to handle it correctly two ro options have been added
Related to #154
2025-07-31 14:14:22 +03:00
arcanis
c13cd029bc
feat: fully readable configuration from environment
2025-07-23 14:49:38 +03:00
arcanis
ae32cc8fbb
type: use custom comparable for comparable functions
2025-07-15 21:20:49 +03:00
arcanis
dff5b775a9
refactor: move logs rotation to separated trigger which is enabled by default
...
Previous solution, well, worked kinda fine-ish, though we have much
better mechanisms to do so
2025-07-15 11:26:00 +03:00
arcanis
db3f20546e
fix: do not update datalist if search substring hasn't changed
2025-07-14 21:30:27 +03:00
arcanis
53368468a4
fix: block autoupdate on any modal opened
2025-07-14 21:12:33 +03:00
arcanis
228c2cce51
style: use parebtgeses-less exceptions in side effects (tests only)
2025-07-14 20:33:54 +03:00
arcanis
f5aec4e5c1
fix: fix search result sorting based if there is exact match or
...
starts with (closes #152 )
2025-07-14 01:12:27 +03:00
arcanis
9217c8c759
feat: add reload command and api endpoints
2025-07-13 15:35:49 +03:00
arcanis
6392520e06
style: reorder schemas properties to alphabet order
2025-07-13 15:34:22 +03:00
arcanis
c6306631e6
fix: careful handling of file permissions during initialization
...
It has been found that during cold start (e.g. in docker container),
some permissions are invalid. In order to handle that, some operations
are not guarded with RepositoryPaths.preserve_root guard
In addition, it has been also found that in some cases (e.g. web server
start) migrations are performed on empty repository identifier which may
lead to wrong data (see also 435375721d ),
as well as some unexpected results during database operations. In order
to handle that, now all watcher instances have their own databases (and
configurations)
2025-07-11 17:13:37 +03:00
arcanis
97b906c536
revert: type: fix broken types in dependencies
...
This reverts commit bd770aac2f .
2025-07-11 03:10:32 +03:00
arcanis
435375721d
fix: fix migrations on empty repositories
2025-07-08 16:46:34 +03:00
arcanis
4c5caba6b7
fix: trim provides/depends versions and lookup provides through pkgname
...
(#150 )
Current implementation did it in wrong way. First of all, there was a
lookup through pkgbase instead of pkgname, which lead to errors, because
aur api doesn't allow to search by pkgbase (as well as provides is
basically pkgname instead)
It also was found that dependencies resolution lookup has been performed
by using raw packages array, which can include versions, descriptions
etc
2025-07-08 16:22:41 +03:00
arcanis
b83df9d2c5
refactor: reorganize js methods
2025-07-07 20:33:01 +03:00
arcanis
f2ea76aab9
feat: add silent logs reload
2025-07-07 17:02:08 +03:00
arcanis
471b1c1331
feat: add cookies support and improve autorefresh UX
...
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
2025-07-07 12:48:00 +03:00
arcanis
bd770aac2f
type: fix broken types in dependencies
...
aiosignal 1.4.0 has been released including feature https://github.com/aio-libs/aiosignal/pull/699
However, aiohttp still uses old types which were not merged as well as
were not even implemented (the closest is
https://github.com/aio-libs/aiohttp/pull/11160 and related issue
https://github.com/aio-libs/aiohttp/issues/11036 , whoever it still
doesn't change signatures for _AppSignal)
Let's just mark those calls as ignore
2025-07-04 13:03:56 +03:00
arcanis
6abe35ef8c
fix: separate ua by spaces
2025-07-02 14:50:21 +03:00
arcanis
fdc27a9ebf
feat: filter out obvious duplicates from multisearch
2025-07-01 09:59:29 +03:00
arcanis
b729096a25
feat: block refresh upon opening dashboard or changing table position
2025-07-01 06:58:03 +03:00
arcanis
390b9da29e
feat: allow to use 0 as auto refresh interval with special meaning ( #148 )
2025-07-01 03:37:49 +03:00
arcanis and GitHub
256376df85
feat: add autorefresh button to the main page ( #149 )
...
* also add configuration options and change behaviour accordingly
2025-07-01 03:22:01 +03:00
arcanis
939a94d889
feat: add autoupdate button to package info ( #148 )
2025-06-29 22:22:54 +03:00
arcanis
2b1b17a1a3
Release 2.19.0
2025-06-29 03:00:41 +03:00
arcanis
9e6705056a
build: use archlinux images for release build
2025-06-29 02:59:28 +03:00
arcanis
b3a3a81f70
feat: add ability to refresh databases through web interface
2025-06-29 02:44:57 +03:00
arcanis
3e5dbbd6cd
feat: extend user-agent
2025-06-28 23:08:31 +03:00
arcanis and GitHub
f41e44895d
fix: support provides in aur ( #146 )
...
* support provides in aur
* process provides during tree resolution
* stylish
2025-06-28 22:39:54 +03:00
arcanis
765bbf486f
feat: port to new AUR API
2025-06-28 22:07:59 +03:00
arcanis
a3c54afb82
fix: process unicode errors in command execution
2025-06-28 20:26:47 +03:00
arcanis
7f223ecc0a
docs: extract version for the manpage
2025-06-25 02:14:57 +03:00
arcanis
7769a4a6e0
Release 2.18.3
2025-06-20 17:20:19 +03:00
arcanis
066d1b1dde
refactor: rework few tests and build system
...
This commit includes the following changes
* Bump github actions
* Update tests github action to check documentation and streamline
process
* Update test cases to use temporary directories as roots
* Simplify tox.ini
2025-06-20 17:04:57 +03:00
arcanis
1f22a27360
build: remove defaults from pylint config
2025-06-18 16:20:14 +03:00
arcanis and GitHub
75682bc7be
feat: add support of openmetrics ( #144 )
...
* feat: add openmetrics support & endpoint
* add support of named resources
* update docstrings
* generate docs
* add another test for http api
2025-06-18 14:42:09 +03:00
arcanis
e5d824b03f
build: add regress weekly pipeline
...
This commit also adds manual dispatch for tests and setup
2025-06-16 21:15:52 +03:00
arcanis
8d0d597473
Release 2.18.2
2025-06-16 19:03:05 +03:00
arcanis
995b396360
bug: fix invalid logs rotation
2025-06-16 16:36:34 +03:00
arcanis
7f813cf0c3
Release 2.18.1
2025-06-16 15:33:24 +03:00
arcanis
d4eb55ef95
bug: correctly close sqlite3 connection
...
After the last updates, tests produce warnings that the connection to
database is leaked, which appears to be correct. This commit changes
behaviour to closing connection explicitly via contextlib
2025-06-16 15:24:57 +03:00
arcanis
09350e88ab
style: fix few typos
2025-06-14 23:34:53 +03:00
arcanis
2feaa14f46
Release 2.18.0
2025-06-13 16:37:58 +03:00
arcanis
9653fc4f4a
type: support new configparser signatures
2025-05-31 02:16:07 +03:00
arcanis
bcd46c66e8
test: use new-style fixtures instead of event_loop for asyncio
2025-05-12 15:57:05 +03:00
arcanis
6ea56faede
build: fix tox environment creation with the latest updates
2025-05-09 15:00:40 +03:00
arcanis
9e346530f2
refactor: use backslashreplace error handling instead of guessing encoding
2025-05-08 14:03:47 +03:00
arcanis
d283dccc1e
type: update for new cors release
2025-03-17 13:56:59 +02:00
arcanis
8a4e900ab9
docs: update docs
...
This commit includes following changes
* add newly added option to configuration referenec
* remove few legacy options from configuration schemas used for
validation, which might lead to errors during validation.
Note, however, that settings will be still read by the service
* add link to aurcache
* hide service-setup command description under spoiler
2025-03-17 13:43:04 +02:00
arcanis
fa6cf8ce36
website: use date instead of version for listing logs
...
website: make dropdown from logs versions to add some space
2025-03-13 15:45:31 +02:00
arcanis
a706fbb751
bug: handle dependencies iteratively ( fix #141 )
...
It has been found that if there are missing dependencies than whole
process will break instead of just skipping packages. During package
addition it is fine-ish, but it will break updates run
2025-03-13 15:45:27 +02:00
arcanis
9a23f5c79d
refactor: streamline migrations
2025-03-09 23:22:24 +02:00
arcanis
aaab9069bf
docs: rebuild indices
2025-03-09 15:43:41 +02:00
arcanis
f00b575641
type: use ClassVar decorator for class attributes
2025-03-09 15:43:27 +02:00
arcanis and GitHub
6f57ed550b
feat: refine log system ( #142 )
...
* refine package logging
* add interface
* revert version selection
* replace tuple with model
* rename column in logs table, add coverters
* generate process identifier for child proocesses
2025-03-09 14:46:33 +02:00
arcanis
08640d9108
feat: add dashboard ( #139 )
2025-02-24 00:10:15 +02:00
arcanis
65324633b4
feat: add counters to repository stats overview
2025-02-24 00:10:15 +02:00
arcanis
ed67898012
fix: parse non-utf pkgbuilds as well ( #140 )
...
it has been reported that duriing reading pkgbuilds with latin-1 charset
the execption will be raised. Well, it is one more point to rewrite
parser to use own impl instead of shlex and parse raw byte array instead
2025-02-24 00:10:15 +02:00
arcanis
a1a8dd68e8
type: remove unused ignore directive
2025-02-24 00:10:15 +02:00
arcanis
a9505386c2
fix: force dry run build on task initialization for VCS packages
...
Previously if package is VCS and version in PKGBUILD doesn't match to
AUR one, then makepkg will update pkgbuild ignoring all previous pkgrel
patches
With this change during task init dry ryn process is always run for vcs
packages
2025-02-24 00:10:15 +02:00
arcanis
a07b20bf50
Release 2.17.1
2025-01-06 01:14:28 +02:00
arcanis
ed70897c39
fix: suppress traceback in shell if no ipython installed
...
Old implementation was showing import error, new implementation instead
hides it behind separated call and if-else check
2025-01-06 01:07:13 +02:00
arcanis
0423c3e67c
Release 2.17.0
2024-12-29 18:07:23 +02:00
arcanis
571f62327f
build: remove unused line from dockerfile
2024-12-24 16:49:30 +02:00
arcanis
286ff4bcef
fix: update packages properties after rebuild
...
This case leads to issue when it is impossible to update list of
implicit dependencies correctly in case of multi-packages
2024-12-24 15:13:18 +02:00
arcanis
0660c33de3
chore: copyright update
2024-12-23 16:03:26 +02:00
arcanis
c8421e97ee
fix: fix pkgbuild parsing in case if comment mark is followed by token
...
without whitespaces
In this case, the next line was ignored
2024-12-23 15:55:07 +02:00
arcanis
bc2288afc1
fix: suppress codefactor warning
2024-12-23 01:52:23 +02:00
arcanis and GitHub
503c8b0355
feat: make apispec dependency optional ( #138 )
2024-12-22 20:33:31 +02:00
arcanis
6738f9206d
type: remove unused typeguard
2024-12-21 17:02:09 +02:00
arcanis
f865e998b0
feat: add link to logo
2024-12-19 12:47:17 +02:00
arcanis
4880ca4fee
feat: use IPython shell if available
2024-12-18 15:41:36 +02:00
arcanis
56114ecc1e
Release 2.16.0
2024-12-01 21:05:56 +02:00
arcanis
57ab3ffb8f
build: fix tox release target
2024-12-01 21:04:47 +02:00
arcanis
8b08bfe3b4
ci: create regress job
2024-12-01 17:45:20 +02:00
arcanis
e34356989d
fix: invalid call in package-status-update subcommand
2024-12-01 17:37:12 +02:00
arcanis
7c7804a9f4
build: allow to execute command from container from entrypoint
2024-11-29 16:17:45 +02:00
arcanis
c4a56f1454
ci: add daily job
2024-11-26 11:55:08 +02:00
arcanis
1caed156ad
docs: add description about privileged and non--privileged container
2024-11-24 23:52:49 +02:00
arcanis
45a620c40b
fix: process list patch values in http requests
...
This commit parses values from post request as well as always serializes
values for the web interface
2024-11-22 17:22:37 +02:00
arcanis
3c1fdec0e9
fix: serialize patches inside double quotes if there are variables inside ( #137 )
...
Old behaviour leads to variable to be serialized always in single quotes
(if shlex decides to quote it). It doesn't allow to expand variables during execution,
so those values should be put inside double quotes instead. This commit
checks if there is sign char in the variable and quotes manually,
otherwise returning shlex call
2024-11-19 14:39:48 +02:00
arcanis
f5d7085325
fix: correctly serialize patches from database ( #137 )
...
If value is stored as array in database it is serialized as json, but
read as normal string, which lead to innability to use list patches
This fix also removes any postprocessing (unquoting) for functions
2024-11-19 02:42:28 +02:00