]>
git.ipfire.org Git - pbs.git/log
Michael Tremer [Fri, 18 Jul 2025 16:59:28 +0000 (16:59 +0000)]
frontend: Implement watching/unwatching builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 16:58:46 +0000 (16:58 +0000)]
frontend: Implement a component for buttons
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 16:58:17 +0000 (16:58 +0000)]
api: Fix creating watchers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 16:57:54 +0000 (16:57 +0000)]
builds: Fix creating watchers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 15:04:48 +0000 (15:04 +0000)]
frontend: Move the watchers into the build composable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 15:00:01 +0000 (15:00 +0000)]
frontend: Show build watchers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 14:59:10 +0000 (14:59 +0000)]
frontend: Add an Avatar component
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 14:58:19 +0000 (14:58 +0000)]
users: Return the avatar URL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 14:57:52 +0000 (14:57 +0000)]
frontend: Create a dummy user view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 13:59:54 +0000 (13:59 +0000)]
frontend: Re-use the loading indicator to show suspense
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 18 Jul 2025 10:49:19 +0000 (10:49 +0000)]
frontend: Fetch bugs that belong to a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 17 Jul 2025 09:57:28 +0000 (09:57 +0000)]
frontend: Show the summary line for builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 12:29:07 +0000 (12:29 +0000)]
frontend: Add an empty page to show the builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:49:09 +0000 (11:49 +0000)]
builds: Give watchers an ID and export over the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:37:09 +0000 (11:37 +0000)]
db: Add an optimised search index for the ratelimiter
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:10:19 +0000 (11:10 +0000)]
api: Rename the events streaming function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:09:58 +0000 (11:09 +0000)]
backend: Add some basic logging for now
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:09:26 +0000 (11:09 +0000)]
api: builds: Add endpoints to fetch bugs and finish a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:05:37 +0000 (11:05 +0000)]
bugtracker: Make fetching bugs compatible with the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 15 Jul 2025 11:05:04 +0000 (11:05 +0000)]
builds: Don't export internal IDs in the API response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 12 Jul 2025 08:08:05 +0000 (08:08 +0000)]
api: builds: Add dependency function to fetch a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 11 Jul 2025 14:26:07 +0000 (14:26 +0000)]
frontend: Implement a simple package cache
This is an experiment, whether this should live in the API or the
composable part I don't know, yet.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 11 Jul 2025 14:20:51 +0000 (14:20 +0000)]
frontend: Apply syntax highlighting to the file preview
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 11 Jul 2025 07:01:41 +0000 (07:01 +0000)]
frontend: Add a view to show files in packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 15:07:01 +0000 (15:07 +0000)]
api: debuginfo: Send the same headers as for regular downloads
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 15:06:29 +0000 (15:06 +0000)]
api: packages: Prevent files from being downloaded that are not downloadable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 15:06:12 +0000 (15:06 +0000)]
packages: Drop the unused is_viewable() method
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 15:04:33 +0000 (15:04 +0000)]
api: Implement a rate limiter for some API requests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 14:53:42 +0000 (14:53 +0000)]
api: Pass the backend to the app
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 13:22:55 +0000 (13:22 +0000)]
api: Add processing time to the response headers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 10 Jul 2025 12:03:50 +0000 (12:03 +0000)]
packages: Create a convenience function to send file headers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 16:12:34 +0000 (16:12 +0000)]
frontend: Add the burger button to toggle the navbar
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 10:04:34 +0000 (10:04 +0000)]
frontend: Remove more imported basic components
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:59:17 +0000 (09:59 +0000)]
frontend: Import the maginifying glass icon for viewing files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:58:40 +0000 (09:58 +0000)]
frontend: Always load the basic UI components
This allows us to keep the views and more complex components a lot
shorter by having to write fewer import statements.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:45:19 +0000 (09:45 +0000)]
frontend: Improve visuals of the filelist table
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:45:01 +0000 (09:45 +0000)]
frontend: Add control element to view files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 8 Jul 2025 09:15:39 +0000 (09:15 +0000)]
frontend: Only offer files for download that are downloadable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:54:08 +0000 (17:54 +0000)]
API: Set Content-Type when streaming some response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:48:27 +0000 (17:48 +0000)]
api: Move the file streaming into the backend
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:44:05 +0000 (17:44 +0000)]
api: Implement downloading files from packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 17:09:29 +0000 (17:09 +0000)]
frontend: Add the filelist to the package view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:08:53 +0000 (16:08 +0000)]
packages: Export NEVRA
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:08:20 +0000 (16:08 +0000)]
frontend: Show some package information by their UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:02:45 +0000 (16:02 +0000)]
frontend: Create a separate type for the shorter package listing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 16:01:31 +0000 (16:01 +0000)]
frontend: Add some helper functions to render some basic things
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 14:50:33 +0000 (14:50 +0000)]
frontend: Correctly import the container module for the base layout
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 13:05:56 +0000 (13:05 +0000)]
api: Create an endpoint to fetch the filelist of a package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 12:59:20 +0000 (12:59 +0000)]
api: Create an endpoint to fetch a package by its UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 12:48:35 +0000 (12:48 +0000)]
builds: Fetch the source package and distribution when fetching a build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 12:48:08 +0000 (12:48 +0000)]
api: packages: Add endpoint to fetch latest package by name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:57:55 +0000 (11:57 +0000)]
frontend: Make links use the primary colour
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:55:54 +0000 (11:55 +0000)]
frontend: Fix linking to a package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:18:56 +0000 (11:18 +0000)]
frontend: Create a view to list all available packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:04:20 +0000 (11:04 +0000)]
api: pacakges: Hide a couple of fields in the response
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 11:03:41 +0000 (11:03 +0000)]
api: Add an endpoint that lists all known packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 7 Jul 2025 10:33:27 +0000 (10:33 +0000)]
frontend: Load all required components for the Login view
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 16:03:46 +0000 (16:03 +0000)]
frontend: Show an icon in the navigation if we are disconnected
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 15:54:11 +0000 (15:54 +0000)]
api: Serve debuginfo stuff
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 15:21:52 +0000 (15:21 +0000)]
frontend: Use our new icons
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 15:15:37 +0000 (15:15 +0000)]
frontend: Import FontAwesome icons
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 14:57:24 +0000 (14:57 +0000)]
frontend: Create a WebSocket which listens to events
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 14:00:16 +0000 (14:00 +0000)]
frontend: Move Builder type into the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:58:41 +0000 (13:58 +0000)]
frontend: Move user stuff into an own file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:53:37 +0000 (13:53 +0000)]
frontend: Create a store and listing component for mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:52:52 +0000 (13:52 +0000)]
frontend: Add a loading indicator component
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:48:49 +0000 (13:48 +0000)]
frontend: Notification: Support success and danger state
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 13:15:52 +0000 (13:15 +0000)]
frontend: Rebase the API calls on axios
This will transparently handle authentication.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:52:27 +0000 (12:52 +0000)]
frontend: Install axios
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:27:39 +0000 (12:27 +0000)]
frontend: Show the geo location of the mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:25:57 +0000 (12:25 +0000)]
frontend: Remove unused fields from User type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 12:00:28 +0000 (12:00 +0000)]
frontend: Show supported protocols for mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 4 Jul 2025 11:47:45 +0000 (11:47 +0000)]
frontend: Create a view if no view was found to show a better error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 15:32:16 +0000 (15:32 +0000)]
mirrors: Add the AS name if available to the export
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 15:26:30 +0000 (15:26 +0000)]
mirrors: Export whether mirrors support IPv6/IPv4
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 10:31:11 +0000 (10:31 +0000)]
frontend: Create a box component to list mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:48:14 +0000 (08:48 +0000)]
frontend: Add a simple page that lists all available mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:36:11 +0000 (08:36 +0000)]
api: Create an endpoint to create new mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:15:38 +0000 (08:15 +0000)]
database: For now, show the SQL queries again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:15:13 +0000 (08:15 +0000)]
database: Don't show the deleted timestamp in JSON exports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:13:02 +0000 (08:13 +0000)]
api: Move function to fetch the client's IP address
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 08:08:55 +0000 (08:08 +0000)]
api: Server mirror lists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 3 Jul 2025 07:52:55 +0000 (07:52 +0000)]
api: Remove a debug line from the downloads handler
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 18:33:59 +0000 (18:33 +0000)]
api: Don't show the download endpoints in the API schema
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 18:32:19 +0000 (18:32 +0000)]
api: Move over the downloads endpoints
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 18:31:03 +0000 (18:31 +0000)]
buildservice: Fix converting paths to URLs
The relpath() function only works on absolute URLs. If we did not get
one of those, we need to call path() first to make it absolute.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:36:57 +0000 (17:36 +0000)]
api: Add an endpoint to edit a mirror
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:28:51 +0000 (17:28 +0000)]
api: Add an endpoint to delete mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:24:13 +0000 (17:24 +0000)]
api: Create an endpoint to manually trigger a mirror check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:23:41 +0000 (17:23 +0000)]
api: Create a couple more helper functions to fetch the right objects
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:13:59 +0000 (17:13 +0000)]
mirrors: Add missing field that stores the last sync
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:08:58 +0000 (17:08 +0000)]
api: Add an endpoint to return all mirrors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:08:32 +0000 (17:08 +0000)]
mirrors: Don't expose unnecessary fields to the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 17:03:05 +0000 (17:03 +0000)]
api: Add endpoints to fetch a single mirror
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:55:11 +0000 (16:55 +0000)]
API: Remove debugging line from users
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:50:45 +0000 (16:50 +0000)]
api: Create API endpoints to export users
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:50:13 +0000 (16:50 +0000)]
users: Export the realname to the API
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 16:49:55 +0000 (16:49 +0000)]
users: Don't export any sensitive fields
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 15:01:43 +0000 (15:01 +0000)]
users: Automatically create the home repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 2 Jul 2025 15:01:01 +0000 (15:01 +0000)]
repos: Migrate the Repo <-> Build mapping to SQLModel
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>