Welcome to this week’s blog. This week was a busy one due to my college workload, but I mostly focused on enhancing the webpage. I worked on the configuration page, the manual merge dashboard, filtering, search-related improvements, and more.
-
Configuration Page:
I added a new configuration page that allows users to customize their preferences, including:-
Number of filesets per page
-
Number of logs per page
-
Column width percentages for the fileset search page
-
Column width percentages for the log page
All these preferences are stored in cookies for persistence.
User Configuration Page -
-
Manual Merge Dashboard:
I performed some refactoring of the codebase for manual merging. Additionally, I added options to:-
Show either all files or only the common ones
-
Display either all fields of the files, or just the full-size MD5 and size (or
size-rd
in the case of Mac files)
-
-
Search Functionality:
I improved the search system with the following features:-
Exact match: Values wrapped in double quotes are matched exactly
-
OR search: Multiple terms separated by spaces are treated as an OR
-
AND search: Terms separated by
+
are treated as an AND
-
-
Sorting Enhancements:
The sorting feature now includes three states for each column: ascending, descending, and default (unsorted).
Minor Fixes & Improvements
- Added favicon to display on the webpage tab
- Implemented checksum-based filtering in the fileset search page
- Included metadata information in seeding logs (unless
--skiplog
is passed)
Goals for Next Week
- Add GitHub-based authentication
- Implement a three-tier user system: admin, moderator, and read-only
- Add validation checks on user data to prevent brute force attacks
- Refactor the entire project into a Python module for better structure and cleaner imports