Skip to content

Improved Intra v4.0.0

Compare
Choose a tag to compare
@FreekBes FreekBes released this 11 Dec 18:49
· 77 commits to main since this release

One of the biggest updates to Improved Intra is finally here: version 4 completely revamps the settings page of the extension. It is now crafted in a more friendly, beautiful and convenient way. As you can see in the screenshot below, all options available now showcase what they do, which should be helpful in customizing your Intranet experience to your liking.

A preview of the new settings page

The new settings page

The new settings page is hosted at https://iintra.freekb.es/v2/options and is even available without the extension installed, so you can even make changes from home or on your phone. In addition to this new interface, it also comes with a more secure authentication system. Previously, the extension would save authentication tokens for 42's Intranet in its local storage to know who you are and to save your settings. From now on however, the extension gives out authentication tokens itself, only providing access to the Improved Intra back-end. All communication with 42's Intra API is now fully done on the server-side.

New synchronization system

With the new authentication tokens handed out by the Improved Intra back-end, your settings are now also more secure. In the future, your settings will only be available to yourself - only your profile customizations will be shared among other users of the extension. This also means more private features can be added in the future, such as friends, connections with external parties (such as CodinGame and Advent of Code) and more.

Because requests to the Improved Intra back-end now require either an active session or an authentication token, synchronization has become a lot more difficult to deal with, especially because in some campuses your local storage gets reset when switching computers. Plus, I am trying to make sure the extension continues to work in incognito mode for the sake of evaluations. This was a hell of a task, since the background scripts only have one context: the non-incognito one. While it is possible to run two contexts of the background scripts in Chrome, other browsers do not yet support this handy feature (looking at you, Firefox). For incognito mode, some requests have to be made in browser tabs instead of using fetch directly. This is a very hacky way of dealing with the restrictions set up for extensions, and is not something I am very proud of - if I see incognito mode being rarely used, I might chose to disable the feature all together in the future.

Anyways, since the synchronization system has been partially rewritten, this update could introduce some bugs here and there. If you encounter any, please report them using GitHub's issue tracker.

Over 3.000 weekly users

I would also like to thank everyone who uses the extension. When I launched the extension last year in 2021, I never imagined to reach this many students weekly - over 3.000! That is about 20% of the total active student count (according to the 42 Network). What a big number! Below you can find a graph displaying the growth of the amount of weekly users.

Weekly users growth chart (from Google)

More new features and bugfixes

  • Add form validation for all input fields on the settings page: finally it will be clear why your settings are not being saved!
  • Added a button to hide the left sidebar on any page where it's visible (except from the Holy Graph page)
  • Added the option to display a link to your personal website on your Intra profile
  • Added support for more Git platforms to display on Intra profiles: Codeberg, BitBucket, SourceHut (request #25)
  • Improved the authentication system on the back-end
  • Added a button to the popup menu that forces a synchronization of your settings with the back-end server
  • Improved loading times of profile customizations
  • Added the username of the currently logged in user to the popup menu
  • When clicking on Codam's Monitoring System widget in a profile banner, it will now open the Codam Dashboard to view your progress towards the new Monitoring System. A simple overview for on Intra is something that is on my mind, but I haven't had the time to implement this yet.
  • Fixed custom profiles trying to be loaded on the sign-in page of the Intranet