{"id":49,"date":"2025-08-04T14:54:43","date_gmt":"2025-08-04T14:54:43","guid":{"rendered":"https:\/\/blogs.scummvm.org\/shivangnagta\/?p=49"},"modified":"2025-08-04T14:54:43","modified_gmt":"2025-08-04T14:54:43","slug":"week-9","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/shivangnagta\/2025\/08\/04\/week-9\/","title":{"rendered":"Week 9"},"content":{"rendered":"<p data-start=\"178\" data-end=\"210\">Welcome to this week&#8217;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.<\/p>\n<ul data-start=\"455\" data-end=\"1559\">\n<li data-start=\"455\" data-end=\"813\">\n<p data-start=\"457\" data-end=\"578\"><strong>Configuration Page:<\/strong><br data-start=\"480\" data-end=\"483\" \/>I added a new configuration page that allows users to customize their preferences, including:<\/p>\n<ul data-start=\"581\" data-end=\"749\">\n<li data-start=\"581\" data-end=\"612\">\n<p data-start=\"583\" data-end=\"612\">Number of filesets per page<\/p>\n<\/li>\n<li data-start=\"615\" data-end=\"642\">\n<p data-start=\"617\" data-end=\"642\">Number of logs per page<\/p>\n<\/li>\n<li data-start=\"645\" data-end=\"701\">\n<p data-start=\"647\" data-end=\"701\">Column width percentages for the fileset search page<\/p>\n<\/li>\n<li data-start=\"704\" data-end=\"749\">\n<p data-start=\"706\" data-end=\"749\">Column width percentages for the log page<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"753\" data-end=\"813\">All these preferences are stored in cookies for persistence.<\/p>\n<p><figure id=\"attachment_50\" aria-describedby=\"caption-attachment-50\" style=\"width: 580px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-50 size-large\" src=\"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-1024x567.png\" alt=\"\" width=\"580\" height=\"321\" srcset=\"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-1024x567.png 1024w, https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-300x166.png 300w, https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-768x425.png 768w, https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-1536x851.png 1536w, https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-2048x1135.png 2048w, https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-1200x665.png 1200w, https:\/\/blogs.scummvm.org\/shivangnagta\/wp-content\/uploads\/sites\/81\/2025\/08\/Screenshot-2025-08-04-at-8.01.09-PM-1980x1097.png 1980w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><figcaption id=\"caption-attachment-50\" class=\"wp-caption-text\">User Configuration Page<\/figcaption><\/figure><\/li>\n<li data-start=\"815\" data-end=\"1106\">\n<p data-start=\"817\" data-end=\"935\"><strong data-start=\"817\" data-end=\"843\">Manual Merge Dashboard<\/strong>:<br data-start=\"844\" data-end=\"847\" \/>I performed some refactoring of the codebase for manual merging. Additionally, I added options to:<\/p>\n<ul data-start=\"938\" data-end=\"1106\">\n<li data-start=\"938\" data-end=\"987\">\n<p data-start=\"940\" data-end=\"987\">Show either all files or only the common ones<\/p>\n<\/li>\n<li data-start=\"990\" data-end=\"1106\">\n<p data-start=\"992\" data-end=\"1106\">Display either all fields of the files, or just the full-size MD5 and size (or <code data-start=\"1071\" data-end=\"1080\">size-rd<\/code> in the case of Mac files)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"1108\" data-end=\"1416\">\n<p data-start=\"1110\" data-end=\"1197\"><strong data-start=\"1110\" data-end=\"1134\">Search Functionality<\/strong>:<br data-start=\"1135\" data-end=\"1138\" \/>I improved the search system with the following features:<\/p>\n<ul data-start=\"1200\" data-end=\"1416\">\n<li data-start=\"1200\" data-end=\"1272\">\n<p data-start=\"1202\" data-end=\"1272\">Exact match: Values wrapped in double quotes are matched exactly<\/p>\n<\/li>\n<li data-start=\"1275\" data-end=\"1349\">\n<p data-start=\"1277\" data-end=\"1349\">OR search: Multiple terms separated by spaces are treated as an OR<\/p>\n<\/li>\n<li data-start=\"1352\" data-end=\"1416\">\n<p data-start=\"1354\" data-end=\"1416\">AND search: Terms separated by <code data-start=\"1389\" data-end=\"1392\">+<\/code> are treated as an AND<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"1418\" data-end=\"1559\">\n<p data-start=\"1420\" data-end=\"1559\"><strong data-start=\"1420\" data-end=\"1444\">Sorting Enhancements<\/strong>:<br data-start=\"1445\" data-end=\"1448\" \/>The sorting feature now includes three states for each column: ascending, descending, and default (unsorted).<\/p>\n<\/li>\n<\/ul>\n<h6 data-start=\"1561\" data-end=\"1591\"><strong>Minor Fixes &amp; Improvements<\/strong><\/h6>\n<ul>\n<li data-start=\"1595\" data-end=\"1642\">Added favicon to display on the webpage tab<\/li>\n<li data-start=\"1645\" data-end=\"1710\">Implemented checksum-based filtering in the fileset search page<\/li>\n<li data-start=\"1713\" data-end=\"1789\">Included metadata information in seeding logs (unless <code data-start=\"1767\" data-end=\"1778\">--skiplog<\/code> is passed)<\/li>\n<\/ul>\n<h6 data-start=\"1791\" data-end=\"1814\">Goals for Next Week<\/h6>\n<ul>\n<li>Add GitHub-based authentication<\/li>\n<li>Implement a three-tier user system: admin, moderator, and read-only<\/li>\n<li>Add validation checks on user data to prevent brute force attacks<\/li>\n<li>Refactor the entire project into a Python module for better structure and cleaner imports<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to this week&#8217;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 [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/comments?post=49"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/posts\/49\/revisions"}],"predecessor-version":[{"id":51,"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/posts\/49\/revisions\/51"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/media?parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/categories?post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/shivangnagta\/wp-json\/wp\/v2\/tags?post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}