Please sign in to access this page

Openlink

Openlink Used AI

52 devlogs
122h 37m

Woah?! What's this? It be Openlink! A project that be a custom client built of the EdulinkOne API (the School Management Software(. This was a pain in my ass. What makes it different from the original client though? Well the less API calls because the original made unneeded API calls like for example the External Links page making an API call for each item to grab image when it was given the images in a original API call it made, the Catppuccin theme and the option to fork and build custom themes, the app form so you can open the app on desktop and be auto logged in, the more detailed pages like timetable including club timetable unlike the original client requiring you to view it in clubs tab and more!

Timeline

Ship 1

1 payout of shell 2288.0 shells

Meanie of Dead of GizzyEntity

about 1 month ago

Meanie of Dead of GizzyEntity Covers 52 devlogs and 122h 37m
Earned sticker

Woah! An actual feature! ON THE LAST DAY BEFORE SHIP DEADLINE! CRAZY I KNOW! HOLY QUACKERS QUAKC UACK QUACK
Anyway
- Notifications added for next lesson in 5m, new messages & new forms
- Fixed props.status not using the whole StatusResponse type causing type error

Update attachment
Earned sticker

I need today's sticker so I post today!
Not really much of an update today or atleast rn but refactor and a fix
- Moved the System Tray code from the frontend to backend so it doesn't try redo it on refresh
- Moved markAsRead code to onClick of messgae instead of load of openedMessage
- Make code modify store of messages to mark message as read locally appearing it as read

Update attachment
Earned sticker

Not the biggest update but i need sticker
- System Tray exists!
- Swap to props.edulink instead of each file calling useEdulink
- Updates to readme to be actually with useful stuff
- Added MIT License
- Added screenshots to the github repo

Update attachment

Another Day Another Bug Fixes. Although today is the day of ship :3
- Disabled teacher/parent buttons because that's going to take too long to implement before deadline
- Fixed waitForWheelTranstion() running forever because element didn't exist yet because of page load
- Fixed item box messed up by footer with dynamic height
- Fixed settings close button missing class cursor-pointer

Update attachment
Earned sticker

More not much updates!
- Last item in behaviour/achievement now doesnt have border-bottom
- Decreased col size for attend and centered its text
- Changed item-box height to be less close to footer
- BG Tint added to homework and due today items

Update attachment
Earned sticker

Woah an update?! Small one but one at that
- Instead of importing sessionData into children just pass it to them
- Move apiUrl into sessionData
- Gave a type to edulink and sessionData
- I actually implemeneted the remember me checkbox
- Load footer data instantly for faster view then once club data is pulled just update footer data

Update attachment
Earned sticker

Bug fixes!
- Fixed protectedRoute running dash code before redirecting to login on fail
- Fixed messages reusing msg id of previously opened msg so it wouldn't make as read

Update attachment
Earned sticker

Woah a devlog? That must mean? MORE STUFF RIGHT? No but BUGFIXES
- Instead of assuming endtime for club in timetable we get clubDetails.result.club.sessions item endtime for it if exists
- fix wait for nav wheel anim not running because it was set to true because of prev item and swap to new item
- Updater text now doesn't appear in web version, bug fix in the updater in settings to show Checking for updates text
- Fix ?page not working because I did a dumb and messed up load check so if page loaded before check ran it wouldnt work

Update attachment
Earned sticker

Woah a devlog
I need today's sticker so uhm yeah
- fixed dom color on msg pfps not changing on swapping to diff msg
- swap to crypto randomUUID than uuid npm PKG
- swapped GitHub action of tauri building to use VERSION

Update attachment

An update a gay keeps the gizzy wanting to explode
I might of forgot to implement mark as read in messages qwp
BUT ITS HERE NOW DW
Unread messages are marked with a red dot
We also fixed a bug in messages causing a overflow on y axis instead of being scrollable

Update attachment
Earned sticker

Another day another sticker i need to get
But this update comes with BUG FIXES, IMPROVEMENTS AND A FEATURE?!
- Behaviour/Achievement feels slightly faster loading
- Made the detentions page look better
- IDP Login button css fixed in the default theme
- Use ?code= to auto enter a post code

Update attachment
Earned sticker

Meow! I need a devlog for today's sticker so UPDATES
- Timetable loads data before adding club data so seems faster
- Save club data for day once loaded
- Fixed version bumping in github workflow

Update attachment
Earned sticker

Woah I need today's sticker.
So this devlog is about not that much stuff
- Fixed zoom not saving on exit because of tauri's default
- Removed useless on cleanup's from when item's used to handle progress on exit and removing the css file

Update attachment

Woah another update.
IDP LOGIN QUACK
Microsoft login should work not sure about google if your school uses that
Club data in timetable fully finished so you can see leaders of it room time
Icons for the web link now so it embeds

Update attachment
Earned sticker

I need today's sticker so uhm UPDATE
Homework page is now sorted closet to farest from due date
Auto version bump in the github action
Fix 404 on github pages because of dumb github
A fully implemeneted club timetable in timetable page
Some bug fixes
Description change in som
Change repo for it in som to github
Add the demo link

Update attachment
Earned sticker

Erm Update?!
Clean up of timetable code because it was a mess
Bug fixes to the updater
View club in footer for next/current
View clubs in timetable though not fully complete yet its just basic info
Exam item load times improved a lot by grabbing exams first then the other pages on it
More toasts for login for errors

Update attachment

Updates yum :3
Slight improvement to responsiveness in items
Ability to join/leave a CLUB now
Bug fixes to ?page= so items can load on page reload now
Swapped to package.json for versioning on releases
Clean up of sum code
A fix in the demo json file to be correct because these demo files I have access to are definitely bad even though they are offical some just link to the wrong method with wrong data qwp

Update attachment

Woo! More Updates!
Erm watteinstaller. Mmmpfgh you can now download RELEASE BUILDS FROM THE GUTHIB can't promise they wont be buggy af BUT THEY EXIST
I fixie the all clubs to allow preview because i forgor to set member to false so it only showed clubs your in
QUACK
Better page history :3 Opening items adds a query to link to that page and adds it to history allowing you to use back button to exit page or refresh to go back to the page without an issue

Update attachment

This devlog is less of a update more of a I hate github actions devlog
The 3 hours was spent fixing github actions to allow windows building to work, optimising it so its not slow. It does also come with some bug fixes made to the thing but not that much I just really hate github actions BUT PRE RELEASES.
I lied I forgot to post the devlog so im combine ANOTHER DEVLOG WITH IT
i spent 3 hours trying to get a navwheel to be 10px away from the item box 3 HOURS I HATE RESPONSIVE DESIGNS I HATE WEB DEVELOPMENT GOD WHY DOES THIS SUCK SO MY PLEASE JUST LET ME EXPLODE
Also fixed dumb type errors

Update attachment

Devlogmaxxing :3
No more default 60 interval now prefer statusinterval given by api
Speed up of clubs by pulling data at same time not at once
Improved progress bar so it updates more based on new data pulled
Removed component from items.ts as unused
Removed useless console.logs
Fixed default theme messages.module.css _time wrapping to new line when not needed
Made namespace type of achievement and ablookup
Thats about it goodbye

Update attachment

Hallo :3
You no longer have access to all items :( it now uses id which is file name and props.sessionData()?.personal_menu which is an array of all items you are allowed access to
More clean ups like
- Navigation no longer using create effect instead manually setting the data when it happens
- Navigation inferring more data from isSlid instead of explicit set states like showBack, itemOpacities etc

Update attachment

Quack :3
Some bug fixes added to it like
- Fixed all items being set to back icon in some cases
- Progress not resetting to 0 if component closed before opened
Default theme shouldn't be broken anymore
Documents allow for download if blob of base64 or if a link then it just opens it in default browser

Update attachment

Do you smell that? Well I smell it. It smells like? A FULL CATPPUCCIN THEME
Mmm yes the yummy catppuccin theme is here fully implemented and I probably broke the default theme while doing it but atleast it works I can fix that later

Update attachment

MORE CATPPUCCIN YIPPE
Documents, Exams, Behaviour, Achievements and now the main dash has catppuccinified :3

Update attachment

I lied in my last devlog :SHOCKED:
I forgor to transfer login to css modules so I had to do that and I still have to do the same for the error toasts ALTHOUGH I COME WITH SOME CATPPUCCIN UPDATES
TIMETABLE - CATPPUCCIN
LOGIN - CATPPUCCIN
EVERYTHING ELSE - NOT YET

Update attachment

Hallo! Another not much of an update
The migration to CSS modules should be fully complete and now all pages should allow for theming once I finish fully adding that :3 CATPPUCCIN SOON

Update attachment

I should devlog before it gets too long.
Due to me wanting to add support for custom themes my approach to css loading sucked components css's kept inteferring with each other and the parent aka the dash's css affecting footer and header and this got worse with custom css requiring a complete rewrite of how css would be handled instead of loading it with link I am in middle of rewriting it to swap it to CSS modules which prevents css from components interfering with parent and other components and also allows for the ability to allow for custom themes. This isn't much of an update more of devlog to prevent fraud dept thinking I'm committing fraud init and to also keep it from getting to long since last devlog.

Update attachment

New Logo? And UPDATES?! YIPEE
I made a new logo instead of stealing the edulink one get it edulink one because its called Edulink One
Club specific details are viewable now although you still can't join them from this client yet
Renamed a bunch of classes in main.css as they can be affected by items causing overwritten so added a prefix to make it harder to accidentally overwrite the classes of them.

Update attachment

Update?! Yes pwease!
You now have the ability to view you're exam timetable, entries and results.
I also cleaned up the login a bit more to be less of a mess on the code side

Update attachment

Peak I can devlog now
A few things happened while som was done
View the clubs you are in and all the clubs there is (no joining clubs/viewing club specific details yet)
Modification's to login to provide better security with the autologin as we now don't store password in keyring we store an encryption key in keyring which is used to decrypt users.json to access it slight security advantage.
Some basic bug fixes to it to improve user experience

Update attachment

Hallo I come with updates
Bug fixed an issue with attendance causing it to not to grow in some cases because of forgotten flex-grow
I forgot to make missing data handling on attendance so added that so now it doesn't break design because of it
Links page is made so you can now see your school's links they have added

Update attachment

Hallo!
I come with updates
I moved the attendance charts away from chartjs to apexcharts
The lesson academic year attendance is now implemented
I gained a new hate for charts

Update attachment

Quack!
Now there is a fully working statutory month/academic year in attendance usable still missing lesson academic year and attendance today page but that's soon

Update attachment

Might as well devlog before I go bed tonight
Infinite Scrolling (kinda) on messages now so you can load in more messages as you scroll unless well you run out of messages to scroll to
Bug fixed an issue from the infinite scrolling causing grabbing color of BG to be wrong
Basic setup of Attendance Statutory page

Update attachment

Erm Messages?
You can now preview messages from people in it now :3

Update attachment

Erm? Detention update?
You can now preview detentions in the behaviour component
Fixie a bug with style loading of components because of cache i hate cache
Cleaned up behaviour component so its less of a mess but prob still can be cleaned up a bit more

Update attachment

Erm Updates? Yassss
You can now swap between past/current homework items
Slight improvement on devices with small screens
Some code cleanup of the homework page so its less of a mess
Fixed a bug in navwheel causing resize to bring navwheel back to center

Update attachment

I come with UI improvements!
The loading of items was slow from the dynamically loading as before it waited for all now it adds item when ever a item finished loading so items appear faster
On Webkit2GTK atleast the animations of the component pages loading is significantly less choppy compared to before by moving transition into components themselves which also allows items to show it when they finished loading this with adding composite made the transition smoother.
You might notice less icons in SS's now because its dynamic loaded from components compared to before where it had an static array filled with them

Update attachment

Erm wattecolors? YIpee! Collor matching. Instead of the circle logo thing in middle being white all the time it now picks out the most dominant color in the logo!
I also improved the the animations to be less choppy on Webkit2GTK and the components opening while navwheel is still in animation that with more of the code cleaning made this better! I also wanted to test if it was just webkit2gtk being choppy so a bit of code modifying so now it can run in a web browser by removing the tauri features when accessing from a browser (its still there in the app)

Update attachment

Woo 40 hours! Not much of a feature update but i might aswell devlog.
I did some ckeaning of the codebase making dash.tsx go from 600 lines of very ugly code to 125 lines by moving into seperate files instead of one huge one.
God I don't know how I allowed it to get this messy but more cleaning to do!

Update attachment

With passed page setups i got lazy but i added to it!
Timetable now has selectable weeks and days! Although you may notice if you use EduLink day names may be different because it pulls day names straight from api instead of using a set day names so on the offical it can be Mon but on this it can be MonA.
You can also logout now making my life easier from testing with demo and my own account

Update attachment

I got annoyed with having 2 seperate codebases one for demo api and one for the real code so i choose to combine them into one since this is typescript so i can use type safety for correct types for correct requests. I also did some code cleanup so there isnt a spam of createSignals in login now i prob did some more stuff 18 days ago since last devlog but i can not remember. I added new demo button to it to access the demo api for testing

Update attachment

Hallo! I did not post a devlog for 5 days because of procrastination but I do come with an update.
- Refactoring of API call endpoints in code so not one big file split into multiple smaller files
- Homework page completed
- Some bug fixes to the code

Update attachment

A new feature a day keeps the stinky's away.
I come with the account info page done you can now see the information EdulinkOne has on you. Quack

Update attachment

Hallo! I come with updates.
- I made the achievement's page
- Fixed progress bar not appearing after one item page used it
- Fixed item page appearing before it finished grabbing data it needed
- Fixed cleanup of item page CSS to now not stay when closed causing it to break other item pages

Update attachment

Quack! I worked on Behavior today which I found out has a very annoying API to use. I also did some bug fixing to timetable and documents to fix an overflow issue where it chose to overflow instead of make the box be scrollable.

Update attachment

Quack! Hallo! I come bearing more updates! I made the auto login faster though in the future I plan to add multiple account support so it won't be auto login would require user click. I also made the documents page so you can see that. I did a bit of code clean up. Quack!

Update attachment

Meow! This update took longer then expected due to school being out making it annoying! I had to create a mimic API with close to the API requests as I could get just to be able to get timetable setup. Although this mimic API will be helpful with adding more features to the client which I don't have access to on my personal account.

Update attachment

Hallo! I come barely updates!
- Implemented API for current, next, messages, name, avatar and logo
- I hate CSS more now this nav wheel is such a pain in the ass
- Bug fixes so I don't lose my mind as login.tsx css used to be kept when redirect to dash.tsx
- Some code cleanup not much though
- Nav Wheel uses tooltips instead of text next to them as that would be painful to implement

Update attachment

Hallo!
- I did some bug fixes with login
- Added Keyring to store password for auto login if remember me enabled
- Worked on main page header and footer and realised I hate CSS

Update attachment

Implemented functionality of login
Recreated Login Page of the EdulinkOne site but stripped off oauth2 login's for now and disabled reset login button
Created types for the findSchoolById, schoolLookup and login api calls

Update attachment

App in its current state is being built to follow the EdulinkOne website theme
Finished find school by id/code API call and UI
Made error handling toast for any errors in app

Update attachment