Redditlite Changelog

Roadmap | Q3 2020 | Redditlite3 1.0

Major changes (last updated: 18th March 2020)
  • Introduction of Cache2, a major overhaul of how Reddit data is cached
  • Improved subreddits page; pagination, count visits to subreddit, remove duplicates
  • Integrated search on homepage
  • Upgrade Laravel to version 6
  • Add a 'next' button to go to the next page of results
  • Add support for changing sort type
  • Live page, detailing recent page views

Currently working on (last updated: 8th April 2020)
  • Current: Show comments from submissions
  • Add a 'last updated' tag, allow users a button to 'refresh' the content
  • 'profile' types are a thing, disable showing comments link on those submissions for now

Redditlite3 Release 1.0 | 1st May 2020 (upcoming, actual date)

Major changes
  • The JSON files are only saved if env("SAVE_JSON") is set to true, otherwise the data is fetched from Reddit and sent to the parse method for processing (March 8th 2020)
  • Undertook a major restructuing of the entire application; Moved Cache2 methods to their own namespace; Reddit\Subreddit, Reddit\Submission and Reddit\Thumbnail (March 1st - 8th 2020)
  • Finished capability to view subreddits by different sorts (March 18th 2020)
  • Added data validation to Cache2, all submissions are validated and errors are shown to the user (February 22nd - February 29th)
  • Thumbnails are now cached locally if a post has them (February 20th - February 21st)
  • If there are any JSON files contained within ./cache/json these are now parsed on page load (February 19th)
  • Redesigned the subreddit page, now uses cards for better responsiveness, added thumbnail support (January 23rd - February 12th)
  • Added a new PHP based Queue class, this handles all reddit requests and caches the data (January 5th - January 16th)
  • Began work restructuring CheckCache into a dedicated Cache class (9th December - January 5th 2020)
  • Added new RedditApi class, will deprecate the NodeJS application (9th December - 1st January 2020)
  • Major revamp of cache2: old code deleted, views updated, loading subreddits/comments now fully working (25th October)
  • Renamed "submission" to "comments" internally to better describe functionality (20th October)
  • Migrated from Redis to SQLite for data storage (30th September - 20th October)
  • Added a new internal API for the Node application to get data from the Sqlite Database (10th October)
  • Updated the subreddit mobile card view UI (7th October)
  • Updated the subreddit desktop card view UI (7th October)
  • Added new Redditlite-regular font, replaces "Product Sans Light Regular" (7th October)
Minor changes
  • Updated Bootstrap to 4.4.1 (23rd January 2020)
  • Reworked the RedditApi fetch method, now called 'get' and takes a $thing argument, deprecates getSubreddit/getSubmission (January 17th)
  • Added a new link to read the post on old Reddit (27th October)
  • Updated the Node app to write log files with the current date to prevent them getting large (9th October)
  • Added a command to generate logs of web server logs as HTML files via goaccess (23rd September)
  • Added auto-backup to github of code/log files (22nd September)
  • Removed Google Analytics tracking code (22nd September)
  • Switched from predis to phpredis (28th August)

Release 7.4 | 25th October 2019

Major changes
  • Backported 'redditlite-regular' font from Redditlite3 development version. (25th October)

Release 7.3 | 14th April 2019

Minor changes
  • Updated Fontawesome to 5.8.1 (10th)
  • Minor CSS tweaks. (10th)
  • Added 'Product Sans Light' to the font stack. (10th)

Release 7.2 | 24th March 2019

Major changes
  • Added a dark theme if JavaScript is enabled. (23rd)
Minor changes
  • Fixed trending subreddits on smaller screens. (23rd)
  • Updated Laravel to 5.8. (22nd)

Release 7.1 | 3rd March 2019

Major changes
  • Redesigned the subreddits page. (26th feb)

Release 7.0 | 17th February 2019

Major changes
  • Added trending subreddits to the homepage. (16th)
  • The Node app now returns 100 submissions per subreddit. (14th)
  • The Node app has a reworked config file. (14th)
  • Implemented smarter cache management: files are now deleted if the disk usage is above a threshold. (13th)
  • Replaced all jQuery code with vanilla JS to remove jQuery dependancy. (12th)
  • Removed jQuery.js (-67kb). (12th)
  • Removed bootstrap.js (-54kb). (12th)
  • Removed popper.js (-19kb). (12th)
Minor changes
  • A schedule is now used to return storage information and log it to the disk. (13th)
  • Update Bootstrap to 4.3. (12th)
  • Fixed an issue with quicklinks on comment pages. (12th)

Release 6.1 | 10th February 2019

Major changes
  • Added (experimental) quicklinks support to prefetch pages as the user scrolls. (9th)
  • Added a button to install Redditlite as an application on desktop/mobile devices. (7th)
  • Added an icon, included various sizes for PWA compliance. (Thanks to Sneek for help with the design) (6th)

Minor changes
  • Fixed a bug causing errors in displaying the submission error page. (10th)
  • Fixed a bug causing errors with comments not having a valid body. (10th)
  • Fixed a bug causing errors with submissions not having a valid media content property. (10th)
  • Fixed a bug with collapsed comments not hiding properly. (8th)
  • Changed the colour of navlinks to match the logo. (Thanks to Sneek again for this suggestion) (6th)
  • Fixed issues with incorrect URLs being loaded for assets. (Thanks once more to Sneek for reporting a bug) (6th)
  • Tweaked CheckCache such that it accepts a constructor($thing), method signatures no longer require a parameter. (5th)
  • Removed unneeded middleware. (5th)
  • Updated Bootstrap from 4.0 to 4.2.1. (5th)

Release 6.0 | 27th May 2018

Major changes
  • Added a max slots feature to limit how many requests each IP may make at one time.
  • Added a check to ensure all subreddit/submission requests are lowercase to prevent duplicate items being fetched.
  • Added support for crossposts for thumbnails.

Release 5.2 | 20th May 2018

Major changes
  • Added a feature to hide comments on mobile over a specified depth.
Minor changes
  • Fixed an issue with undefined data->posts object.
  • Fixed an issue causing an undefined property error.
  • Removed next update placeholder from subreddit style view.

Release 5.1 | 13th May 2018

Minor changes
  • Added a helper method to get the queue position based on a thing ID.
  • Added support for getting the queue position when showing the loading view.
  • Added an additional safety check to ensure an item is remolved if it's in the Redis DB but not in the queue.
  • Added a check to prevent adding to the queue if it's over the queue max length.
  • Added missing links to the submission/posts in the nav bar.
  • Changed active border CSS.
  • Removed unneeded queue master file.
  • Removed scheduled task to clean the cache directory.
  • Fixed an issue where the feedback redirect would break with JS disabled.

Release 5.0 | 6th May 2018

Minor changes
  • Added a Redis command to add the subreddit to 'subreddits' set if it is valid.
  • Added StatusCodeError handling to CheckCache.
  • Added logging to Changelog and Feedback controllers.
  • Added ServiceWorker manifest file, JS file and offline view file.
  • Added subreddit name to the thing variable.
  • Added logging to the Subreddits controller.
  • Added a feature that can automatically add subreddits to the set if they are discovered in the file.
  • Added error handling to submission-card, comments/card, submission/card and comments.single-comment.
  • Added a title to the subreddits page.
  • Added error handling of the subID can't be found in the data object.
  • Added 502 and handling of other errors in error.cache.
  • Added IP to feedback responses.
  • Improved error handling of the subreddit-style view.
  • Removed unused console kernel function.
  • Ensured the feedback return URL uses the url() helper.
  • Changed filesystems feedback config URL.
  • Changed the location of the logs route.
  • Changed the order in which items are pushed/retrieved from the queue. Now the oldest items are fetched first and items are pushed to the end of the queue.

Release 4.0-public | 1st May 2018

After 4 internal releases, Redditlite2 has now launched to the public.

Release 4.0 | 29th April 2018

Major changes
  • Added comment collapsing.
  • Added support for a subreddit list in the web routes, along with the controllers and views.
  • Added the subreddits page to the nav bar.
  • Added feedback feature, with views, controllers and nav bar item.
Minor changes
  • Added error handling if a subreddit returns no posts.
  • Added defer to the scripts.js so that it only executes after the page has loaded. This ensures the nav menu button works on tablet/mobile devices.
  • Added a new error folder to views and migrated all errors to the new format for consistency.
  • Added support for rendering a single comment, or no comments at all which would otherwise throw an error.
  • Added protection against invalid subreddits being in the subreddits list.
  • Fixed an issue where the comment icon wouldn't appear due to a typo.
  • Removed unneeded display:none from the comment collapse icon.
  • Removed the subreddit key from the thing array.
  • Removed unused routes from the web routes.
  • Removed unused items from the nav bar.
  • Removed the error view in favour of the errors folder.
  • Reordered the menu toggle code in scripts.js.
  • Set the font-size for nsfw labled submissions.
  • Set the nav anchors to black.
  • Import CSS from minicss including blockquote, pre and tables.
  • Various styling fixes.

Release 3.0 | 22nd April 2018

Major changes
  • Added new .env variables for HTML_TTL and JSON_TTL.
  • Added CheckCache::refresh which handles the TTL of the files.
  • Font Awesome is now loaded via CSS instead of JS. This increases JS disabled compatibility and results in a smaller file output.
Minor changes
  • Added a footer
  • Added APP_VERSION env variable
  • Added TRACKING_ENABLED env variable
  • Added new postType variable to check a posts type to decide whether to show a linked title and the post's content.
  • Added a scheduled command to delete old files.
  • Added a new MAX_AGE_DAYS env variable.
  • Added Piwik tracking to scripts.js
  • Removed the ability to display a subreddits custom background colour
  • Fixed an issue with the post titles not being visible on the subreddit page if they were text posts.
  • Revised footer CSS.
  • Reformatted changelog page.

Release 2.0 | 15th April 2018

Major changes
  • Removed mobile view and merged into tablet view.
  • Added a changelog page.
  • Added a thumbnail setting to env.
  • Added a check to prevent duplicate queue items.
  • Added the ability to read a posts text.
  • Improved community styling options.
  • Improved reliability of comment parsing, adding an exception handler and logging.
  • Changed styling to only show images on lg (desktop) resolutions.
  • Disabled thumbnails by default.
  • Fixed a bug causing comments to be parsed incorrectly when the next comment type was not a comment.
  • Fixed a bug causing 'go to comments' linking to the source article.
  • Fixed a bug causing the source URL to be incorrect if the post type was text.
Minor changes
  • Added mising closing anchor tag to thumbnails.
  • Added cache-thumbs to filesystems.
  • Updated names of CSS classes to make more sense.
  • Fixed a bug causing requests to 'self' and 'default' which do not exist.
  • Changed thing::tags from empty string to true in the home controller.
  • Removed unneeded replies.blade.php file.
  • Removed unneeded CSS rules.

Release 1.0 | 3rd April 2018

Major changes
  • Overhauled the entire application. Most parts have been changed in some way.
  • Design changed from Minicss to Bootstrap V4.
  • Parsing now uses the redesigned reddit API.
  • Caching has been refactored and is much simpler.
  • Comment trees are parsed recursively using a new helper method.