I Shipped...

11 May 2016 (5PRs)

loaded non-critical styles

I optimised my personal website's loading speed by deferring non-essential stylesheets. Instead of making the browser load all the CSS upfront before showing any content, less important styles now load in the background so the page appears faster.

hover styles now included

I added hover effects to links and interactive elements on an older version of my personal website, so users get visual feedback when mousing over clickable things.

fluid typography enabled

I added fluid typography to my personal website. Instead of text jumping between fixed sizes at certain screen widths, fluid typography makes the font size scale smoothly as you resize the window, so it always looks good whether you're on a phone or a big monitor.

flash fix

On an older version of my personal website, elements would briefly flash when the page loaded because they were being hidden with display: none, which causes the browser to recalculate the layout. I switched to using opacity: 0 instead, which hides things without triggering a reflow, making the page load smoother.

added noncritical CSS

I added some extra CSS styles to my personal website for things like hover effects. These styles aren't essential for the page to work, but they make it feel more polished.

14 April 2016 (1PR)

add joeinnes

Patchwork is a beginner-friendly project for learning how to use Git and GitHub. I completed the tutorial by adding my username to the project, practising the basics of forking, branching, and submitting a pull request.

13 March 2016 (1PR)

notifications

I added browser notifications to my chat app so users get alerted when new messages arrive in their channels, even if they're not actively looking at the chat window.

17 October 2015 (1PR)

fixed insert vulnerability

I fixed a security vulnerability in my personal real-time chat app built with Meteor.js, where database insert operations weren't being properly validated, potentially allowing malicious data to be submitted.

16 October 2015 (3PRs)

updating Dev

I merged several recent features into the development branch of my personal chat app, including message editing, infinite scroll for loading older messages, and the channel subscription system.

subs

I added channel subscriptions and several other features to my personal chat app, including the ability to subscribe to specific chat channels, infinite scrolling to load older messages, and improved channel permissions so people can only see the channels they have access to.

added reactive timing and subscriptions logic

I built a personal real-time chat app using Meteor.js. In this update, I added the logic for channels to update in real time when new messages arrive, so users automatically see the latest content without refreshing the page.

9 October 2015 (1PR)

channel permissions

I built a personal real-time chat app using Meteor.js. In this update, I added channel-level permissions so that only authorised users can see messages in private channels, and admins can add or remove users from those channels.

8 October 2015 (3PRs)

message permissions

I added permission controls to my chat app so that only users who have access to a channel can see its messages. I also built an admin panel for managing channels, adding and removing users, and added user avatars via Gravatar.

merge pull request #5 from joeinnes/markdown-emoticons

I merged the markdown and emoticon features from my development branch into the main branch of my chat app, making rich text formatting and emoticons available to all users.

edit messages

I built a personal real-time chat app using Meteor.js. In this update, I added the ability for users to edit their own messages after sending them.

5 October 2015 (2PRs)

markdown emoticons

I added support for markdown formatting (like bold and italic text) and emoticons to my personal chat app, so messages look richer and more expressive instead of just plain text.

dev

I built a personal real-time chat app using Meteor.js. This was an early merge bringing in several improvements, including better notification pop-ups when things go wrong, and an access control system so channels can be public or restricted to specific users.

3 October 2015 (1PR)

merging in dev

I built the first working version of a personal real-time chat application using Meteor.js, with basic visual design and the ability to create and switch between different chat channels.

25 September 2015 (1PR)

set encoding as UTF-8 in diff_match_patch.php

Codiad is a code editor that runs in a web browser. Its file-comparison feature was breaking when files contained special characters (like accented letters), because it wasn't explicitly set to handle UTF-8 encoding. I added the UTF-8 encoding declaration so that comparing files with non-English characters works correctly.

26 June 2015 (1PR)

fixes #794

Anchor CMS is a lightweight PHP blogging platform. It would crash when running on a machine without internet access because it tried to check for updates without handling the case where it couldn't connect. I added a check so it gracefully skips the update check when there's no network connection, instead of crashing.