merge proposal: quickfilter
(1) By Jörgen Kosche (jkosche) on 2025-05-25 14:16:52 [source]
I worked on a feature I called quickfilter. With this thread I ask if the community deems the feature fit for inclusion in trunk.
This feature is an input-field on the pages repolist and the ticket report, that you can type in a search term. As you are typing the list on the page is filtered with your search term, showing only matching items and highlighting the found text.
This is implemented with Javascript. So it only works with JS enabled (although I made the input-field invisible for non-JS users as graceful fallback). Also it makes no Ajax-calls, therefore the list can only filtered by information visible on the page.
A previous forum-thread helped me guide the development with the feedback - thank you for everyone participating. But I think it is time to ask for inclusion on trunk, and to keep the discussion focused I decided to make this new forum thread.
The feature has to be enabled. The ticket reports have a new checkbox in the forms for creating a new report or for editing one. Checking the box enables the quickfilter for that ticket report. For the repository list you need to set the environment variable, in a CGI-Script by using the line:
setenv: FOSSIL_REPOLIST_QUICKFILTER on
As a note: I decided to have an own environment variable and not add it to FOSSIL_REPOLIST_SHOW. That is because FOSSIL_REPOLIST_SHOW so far only enables columns for the list. Adding something outside columns might be confusing, especially if in the future additional columns could be added to the listing.
This feature adds some clutter for instance in options (as just pointed out for enabling it) and adds Javascript. But I think the usefulness outweighs the clutter. This is my personal opinion though, so please weigh in with your own view on it.
(2) By Jörgen Kosche (jkosche) on 2025-05-25 14:26:51 in reply to 1 [link] [source]
BTW: for quick testing on the repolist I called (repositories being the directory with my fossil repos):
FOSSIL_REPOLIST_SHOW=description FOSSIL_REPOLIST_QUICKFILTER=on fossil serve --repolist repositories
Might come in handy for others that want to test it. At least if you use Unix, this call probably is different on Windows.
(3) By Jörgen Kosche (jkosche) on 2025-05-28 18:24:17 in reply to 1 [link] [source]
Wanna bump the thread to give people a chance to voice their opinion if they want this included into trunk or not.
(4) By Florian Balmer (florian.balmer) on 2025-05-29 04:00:05 in reply to 3 [link] [source]
Usually, you'd have to wait for the project lead to merge the feature.
But you already have the okay of Richard and his deputy Stephan, so you can merge it, yourself.
(Richard doesn't like new environment variables, so maybe he will add a note
whether it's better to integrate FOSSIL_REPOLIST_QUICKFILTER into
FOSSIL_REPOLIST_SHOW, but this can still be changed later on trunk, if
necessary.)
(5) By Jörgen Kosche (jkosche) on 2025-05-29 08:27:26 in reply to 4 [link] [source]
Actually, I was told that the preference is to everyone merging themself, after they got confirmation (or at least no objections) by the community, and the project lead vetos if so inclined. But maybe I misunderstood?
A favorable mention is not in my opinion a vote for inclusion. Especially on an earlier version vs. the current state.
About the env-variable: As I wrote I thought about it, but felt that FOSSIL_REPOLIST_SHOW has a focus on columns so far. Changing it later on trunk can be problematic though, as users might already rely on the functionality (breaking compatibility with a random branch is IMHO more acceptable than the trunk which is kinda official). So using the proper env-variable name at time of inclusion in trunk might be good. Has anyone opinions on it? Maybe, to address my concern of mixing columns and other features make a variable FOSSIL_REPOLIST_FEATURES that can have a list of values including quickfilter? Or is it better to mix it all in FOSSIL_REPOLIST_SHOW?
(6) By Stephan Beal (stephan) on 2025-05-29 09:00:23 in reply to 5 [link] [source]
Actually, I was told that the preference is to everyone merging themself, after they got confirmation (or at least no objections) by the community, and the project lead vetos if so inclined.
By and large we like to see people merge their own stuff (if for no other reason that it attributes that person, instead of the merger, in certain views). This particular topic has been discussed at length in /chat and i don't recall seeing (nor have) any objections to it.
About the env-variable ... Has anyone opinions on it?
FWIW, repolist isn't something i use, so i have no preference.
(8) By DB (ACB) on 2025-07-21 04:33:34 in reply to 5 [link] [source]
I'm not sure I understand. I guess something changed since I last built/used this branch, or is it due to my not using CGI?
I can be kind of picky regarding language & phrasing, so I'm ready to help. :-)
So far, in my use, I don't keep all my repos in the same place. Some are available through one address to nginx, a bunch of others are available via another address, and still others are only available through localhost.
There was a short time when the repo's description was part of the repo list (table) and I wasn't a big fan of that; too much extraneous text on a webpage with more than a handful of repos.
But that seemed extraneous to your quickfilter functionality so I never considered them part of the same patch.
(7) By DB (ACB) on 2025-07-21 03:57:57 in reply to 1 [link] [source]
Dear Jörgen, I like your work on this client-side filtering of table rows. I have no objections to it, I'm ready for you to merge it.
I cloned the tcl & tk repos since I have an outdated version and when I build fossil it lets me know. I've yet to build it all to (try to) replace what I have, but in poking around the repos with your quickfilter branch it seemed obvious how helpful it is on a tk ticket report page. (They have lots of tickets.)
(9) By Jörgen Kosche (jkosche) on 2025-09-09 21:19:40 in reply to 7 [link] [source]
Sorry for my absence, I had other stuff to look after. And thanks for the support.
But I considered and still consider the proposal rejected. Because when I asked only florian did answer really, and he is opposed to the proposal. Now with you it is 1vs1, but still I would consider that too controversial. So quickfilter is not coming, sorry. And yeah, a lot of tickets is the use case I had in mind.
(10) By Florian Balmer (florian.balmer) on 2025-09-10 14:23:03 in reply to 9 [link] [source]
I don't have the power to block a feature! But I do have the ability to discourage people with negative feedback, and in your case, I'm afraid I was unfortunately successful, which I regret!
Remember that you still have the GO from Richard and Stephan!
(11.1) By pjm (PhilMaker) on 2025-09-13 02:30:13 edited from 11.0 in reply to 9 [link] [source]
G'day,
Apologies for a longer absence, but FWIW I think the whole quickfilter is useful and will continue using it for our project. I'll check with a few of the users and report but it has all been positive so far from the user perspective.
Ta
(12) By Jörgen Kosche (jkosche) on 2025-09-16 15:07:27 in reply to 1 [link] [source]
For clarification: drh has made a decision: "I am not convinced that quickfilter adds sufficient value (over say just pressing Ctrl-F in your browser) to justify the added complexity of maintaining it for the next 25 years. It is important to not underestimate the cost of long-term maintenance."
So quickfilter will not be added. Thanks for all the feedback, I think I learned quite a few things in while doing it.