Commit graph

73 commits

Author SHA1 Message Date
3a1de72efe Add temporary show=libs inspection view
Lets you browse exactly the packages that the libs section blacklist
would remove on the next import, to review them visually before
running it.
2026-08-23 11:20:36 +02:00
4c736096ae Show search source badges only with show_sources param
The badges are a debugging aid - render them only when explicitly
requested via ?show_sources=1 instead of on every search.
2026-08-23 10:49:32 +02:00
323b7004ed Expose which search strategy produced each result
query_packages now assigns @search_sources - a hash mapping package
ids to the matching strategy that put them into the results: :exact,
:name_prefix, :name_contains, :semantic or :fulltext. The grid and
list views render a small badge with a humanized label per result,
making the search tiers observable. semantic_results() was folded
into search_packages() so each branch tags its own source. Adds the
rails-controller-testing gem for assigns() in tests.
2026-08-23 10:39:50 +02:00
4d07f43a2e Show related packages based on description embeddings
Package pages get a "Related packages" section: a nearest neighbor
query against the package's own stored embedding (no external service
call), excluding the package itself. Packages without an embedding
render no section.
2026-08-22 23:47:42 +02:00
4948fe50e3 Add semantic package search via pgvector embeddings
Package text search now combines several strategies: exact name match,
name prefix promotion, compound word splitting ("sqlite browser" finds
"sqlitebrowser") and semantic nearest neighbor search over description
embeddings computed by an external embedding service (all-MiniLM-L6-v2,
384 dims) stored with the pgvector extension. Classic PostgreSQL
full-text search remains as fallback when the vector service is
unreachable. Gibberish queries without lexical overlap with the package
data return empty results instead of random matches.

Embeddings can be backfilled with bin/rails debshots:compute_vectors.

Also drops the unused lograge gem from the Gemfile.
2026-08-22 22:07:56 +02:00
237077c153 add simage_data to make test pass 2026-05-21 22:21:40 +02:00
d5e0f83c54 remove the counting of images because it counts the dummy image as well 2026-02-26 00:23:49 +01:00
f872bd011b disabled minitest/reporters so that RubyMine is happy 2026-02-26 00:23:25 +01:00
ab915419ae fix assertion 2026-02-25 00:50:02 +01:00
c0b25fee99 run upload tests on a package with no screenshots 2025-06-27 00:06:14 +02:00
2f9f22e9dc added test for /thumbnail-for-version 2025-06-26 23:36:28 +02:00
e1f42aee0c rubocop 2025-06-26 23:34:51 +02:00
25672aabb0 Update to Rails 7.2 2025-02-25 21:57:16 +01:00
55ea782b86 tests rubocopified 2024-07-15 00:05:56 +02:00
48e3a8c67f bzip2 import fixed 2024-07-14 22:42:34 +02:00
46f76c5220 APT fixtures moved and shrunk 2021-03-02 22:38:32 +01:00
6d39869eff minor addition 2021-03-02 22:33:31 +01:00
86bfff58f2 System test added to verify auto-approval of screenshots from moderators 2021-03-02 01:56:25 +01:00
47df4d8afd Fix test suite 2021-03-02 00:51:24 +01:00
eee196507b Forgot to run tests 2021-02-28 22:07:33 +01:00
7a3b65fe50 Authorisation management using CanCanCan added 2021-02-28 21:36:46 +01:00
1f9187e35c Add ActionMailer to inform admins about new screenshots
This version only informs Christoph as a test
2021-02-25 02:43:14 +01:00
b39f9f9634 Test fixed. Was using wrong string. 2021-02-07 16:50:17 +01:00
9e455f25eb Tests adapted to usage of the Shrine gem 2020-11-12 22:29:00 +01:00
29af244327 Migrating tests to system tests 2020-10-30 21:52:12 +01:00
a68c2b8422 System tests added 2020-10-30 18:28:23 +01:00
2700289ff8 Capybara test initializer removed
Apparently "system tests" are a better way to handle them.
2020-10-30 16:38:38 +01:00
Christoph Haas
4a9fe8772e Use package upstream version. Skip revision. Improve regexp parsing. 2018-08-22 13:11:28 +02:00
Christoph Haas
2746b22c18 upload screenshot anonymously, login in, get screenshots assigned 2018-08-21 18:25:18 +02:00
Christoph Haas
820ff2a30b Tests improved 2018-08-20 22:27:35 +02:00
Christoph Haas
1b299d53e6 Auto-approval and upload fixed 2018-08-20 20:07:53 +02:00
Christoph Haas
9428d8d7dd Screenshot upload process fixed and tested 2018-08-17 09:21:32 +02:00
Christoph Haas
125e9c8ee5 Images for testing added 2018-08-15 18:11:25 +02:00
Christoph Haas
836a3e7ea2 More test 2018-08-15 17:42:41 +02:00
Christoph Haas
62fe9e6955 Fixed functional tests 2018-08-15 17:04:19 +02:00
Christoph Haas
50d09e3af6 More explicit test 2018-08-14 15:00:43 +02:00
Christoph Haas
5498e9b9a4 Basic tests added 2018-08-14 14:19:07 +02:00
Christoph Haas
64bf286636 Tests run okay
…they are massively incomplete though
2018-08-13 15:02:28 +02:00
Christoph Haas
80d21a1f90 Cruft from seperate log controller removed 2018-08-13 15:02:11 +02:00
a1ba2625bf Fixed deprecation warnings 2017-04-17 00:02:23 +02:00
230f5ec213 Logs controller added 2016-08-23 19:01:01 +02:00
339bb0427f Showing reviews on package's details page from Ubuntu 2016-08-16 12:50:03 +02:00
e6504f0182 Added test file for using in tests of the Ubuntu reviews API loader 2016-08-12 17:07:14 +02:00
1ca187e0ed minitest now generally works with Devise 2016-07-22 16:03:50 +02:00
b3d0b2dc06 JSON controller added. /json/package/:name implemented 2016-06-28 11:39:31 +02:00
6002cd56e0 Authlogic cruft removed 2016-06-14 17:04:43 +02:00
a153391615 Moved moderation code to new moderate controller 2016-04-14 16:49:17 +02:00
3eeb9a63dc Using created_at instead of legacy 'uploaddatetime' field 2016-03-04 15:41:50 +01:00
45d1749f8c Colored test outputs enabled 2016-03-01 12:58:08 +01:00
c8172b51da Version comparison test fixed 2016-03-01 12:57:37 +01:00