Activity

Matthias

Shipped this project!

Hours: 37.08
Cookies: 🍪 329
Multiplier: 13.73 cookies/hr

Since the last ship I’ve added massive UI improvements, everything now looks and feels way more organized and clean, maybe the most important thing I’ve added was the weekview feature, you can view the whole week instead of just one day.

Well, not only that, there now also is a proper home page (in the app there is a start page, no website), you can configure your favorite classes and view them with one click.

Also, heard I will get some cookies for past ships by re-shipping, looking forward to that!

Matthias

New feature: the app has a start menu now. You can search for a class or pin up to three as favorites, which then show up with a single click. That’s pretty much it.
Implementation-wise, nothing too wild… new AppState entry for the favorites, plugged into the existing cache/ layer so they survive restarts. The annoying part was the UI. Gio punishes you for taking a break from it, but I’m back in the groove now.

Anyway — hope you enjoy it. Hit me up with feedback! yay

Attachment
Attachment
Attachment
0
Matthias

Shipped this project!

Hours: 2.5
Cookies: 🍪 7
Multiplier: 2.91 cookies/hr

There are definitly still some improvements but for my first project I think it turned out okay.

Matthias

I’ve built the base of the project, the simple features work now. this is my first rust project and until now I like it.

To try it out:

  • Download the release
  • execute the .exe
  • try the app!

Tell me how you like it!

Attachment
0
Matthias

Ok, so, 4 hours of work, what did I do?
You can now enjoy a more intuitive and polished way to sign into your VPMobil Account, aiming to provide a more natural UX.
Also there now is a prototype of the Weekview available, which alows you to view the timetables of the whole week at once, as said, remains in beta.
yay-1-1-72614fb2edd2yay-2-1-3828bb11976b
yay-1-2-1e2d4f324297yay-2-2-b04378aea4ec
Added features:

  • modernized Design
  • implemented basic Weekview
Attachment
Attachment
0
Matthias

Shipped this project!

Hours: 29.15
Cookies: 🍪 662
Multiplier: 22.72 cookies/hr

Ok, so I was annoyed by some things that were just missing on github, soooo….

I built them.
This Project is a chrome extension (probably should work in gecko too, but it is battle tested in chromium), which adds some comfort features to github, which are helpful for navigation and micro-interactions. This project isn’t by any means complete, I am still actively developing it.

About the technical implementation:

  • surviving Github’s SPA nature: probably the hardest part, I needed to assure that everything works even when Github did not load any other page, but rather mutated, so I wrote my own little SPA extension framework, maybe I’m gonna release it separately
  • the injection hell: like putting the hover widgets inside the webcontents, easy, right? The thing was, for every feature, you need to find where you want to inject the widget based on classes and displayed text, inject a styled working widget and maintain it there (Github sometimes overwrites widgets with React)

Anyway, thanks for reading.

Cheers

Matthias

quick actions work now🥳

also I finished everything for shipping and made a quick banner

Attachment
0
Matthias

Progress of the last few hours:

  • imporve building slightly
  • add support for some edge cases (specific navigation)
  • implemented global (shared) react rerender detection

Also am currently adding file hover feature for repos,
this is the interesting part, it gives the user instant value, many actions with configurable favorites instantly callable on hover, check the video below for prototype version.

Cheers

0
Matthias

I added an edit with IDE popup prototype (will be improved), an little mascot next to the github icon, hope you like it, tell me what could be better.

Attachment
Attachment
0
Matthias

What happened in this hour? Much.

I’ve mainly improved build and logging, also now there is a proper build config, you can now turn off logging and all this other useless stuff (it really isn’t useless).

Anyway, not much to show for these changes (you can check the code on github soon), so attached there is a screen recording of my non minified build JS. You’re welcome :)

0
Matthias

Ooff, yeah, did not log for a long time, but hear me out, I’ve used the time to not add one feature, but multiple and I’ve almost rewrite the whole thing.

My problem was, that I couldn’t show the search expansions when the user was on a repo before, as Github is an SPA (single page app, what does that mean?), so you can’t trust chrome (nor firefox) to reliably load new content scripts if the page wasn’t reloaded.

Sooooo, I’ve written my own contentController which simply gets loaded everywhere on github.com/* and it decides for itself if any module should be loaded. It checks for URL changes via polling (running an interval) and mounts/unmounts the modules.

Also the new feature: you can now view a repo’s language stats as a pie chart.

Damn it, I need a 5$ one time payment to release it on the Google Web Store, but there is a license in the flavortown shop (🥳), I’m gonna get that one.

Attachment
Attachment
Attachment
0
Matthias

Popup itself works now, language colors are fetched from linguist and content is fetched from the github api, there are still some performance and rendering issues (I think because they use react).

That’s about it for this hour.

Attachment
0
Matthias

Added the popup and the hover logic, was trickier than you might think 🤔…

Also set up TS env, so I don’t have to code in JS 😨

Well, will be online on github soon, if you find any bugs please contact me on slack, thanks!

Attachment
Attachment
0
Matthias

Building base of this project… - so this is the first devlog🎉

Have build the github api interface in typscript and a really simple ui.

Attachment
0
Matthias

Shipped this project!

Hours: 8.08
Cookies: 🍪 140
Multiplier: 17.27 cookies/hr

Hey, in this project I’ve tried to make a well-working client for the software I need to use anyway, so that I can at least make a good UI for the data.

Anyway, I hope you like it. Give me some feedback if you’ve got some time!

I hope this project sails smoothly.

Matthias

Updates & Improvements

Hey! Over the past few days I added some key QoL and UI features:

  • Last login persistence with autofill support (see implementation details below)
  • Navigation header implementation

Implementation details

The username and school number are stored using file-based caching
(implementation here).

The password, however, is stored using go-keyring, which saves it in your OS-native keychain.


Why use the keychain?

In short: security.

Although the password is accessible to the application without manual decryption, the OS keychain itself is:

  • Encrypted at rest by default
  • Only unlocked when you’re logged into your OS
  • Protected from offline access (e.g. someone copying your hard drive)

So instead of writing the password to a plain file, the keychain ensures that someone who physically obtains your disk can’t simply read credentials, while still keeping login seamless for the user.

Attachment
Attachment
0
Matthias

Hey, not much to report, just developing small things, added an interface between the ui and the api, basically the UI gets a pointer to the object and can then load content dynamically.

I also integrated i18n for locales, so that the app works in english and german 🥳.

Attachment
Attachment
0
Matthias

Just a few small improvements and features:

  • map reload bug (when user left the map page it would unload)
  • reliable marker positioning on load
  • ui fixes
  • settings tab works
  • multiple icon libarys (material and fa6)
Attachment
0
Matthias

added missing tabs (settings and notifications)

Attachment
0
Matthias

Base log, I just implemented the core mechanics till now, but more coming soon

Attachment
0