GithubHelp home page GithubHelp logo

ixhbinphoenix / bne Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 14.23 MB

Home Page: https://theschedule.de

License: GNU General Public License v3.0

JavaScript 0.25% Astro 6.56% TypeScript 36.62% CSS 0.49% Rust 43.22% SCSS 4.98% Shell 0.17% HTML 7.01% Nix 0.70%

bne's Introduction

bne's People

Contributors

if1redi avatar ixhbinphoenix avatar renkertm avatar sxyntheon avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bne's Issues

bug: Weirdly formatted LBs in LBOS plan

The Lernbuero in the second lesson on wednesday is formatted to be a single lesson with two teachers and two rooms. Either we accomodate for this type of lesson, or we talk with the Oberstufenleitung

serviceWorker not included in SSR-bundle

The .ts files including the service Worker aren´t bundled on build, because they aren´t imported anywhere, but only loaded during runtime. Therefore they don´t exist in the finished bundle.

Recreation:

Start pnpm preview with node as the serverless adapter.
Open dev tools and get the 404 error

Fixes:
Find a good way to include the files in the finished bundle.
The best approach to me currently is to change the rollup config into bundling the files seperatly

feat(timetable): select from all classes

Give users the choice to view the timetable of all different classes.
Should be pretty simple. Add the class as a query parameter to the backend and then fetch the data from untis for that class.

Vercel Internal Server Error CryptoJS

When the branch deploys to Vercel, the build is successfull, but the browser shows that it has crashed.
This seems to be caused by a wrong import of the CryptoJS module, since it is a CommonJS module which is imported via a named import. Oddly enough, I could not recreate the error on my machine, it only happens on Vercel.
The problem is that all other normal ways to import it result in the same error.

Ways to fix: Find a working way to import CryptoJS to vercel.

Lbs not counted when in triple lesson

LBs that are directoy before or after their own double-lesson are merged into triple lessons and therefore not counted as LBs.
We should change how lessons are chained, because triple lessons don't exist in Oberstufe, unless they are Sports or Exams

bug: Looking too far into the Future DOSs the API

If you look to far into the future (Summer break) you will get an Untis Error. This wouldn't be a Problem if we didn't just recently introduce re-trying if it fails, which in this case results in an infinite loop of requests until you get ratelimited

feat: Add Desktop notifications

Send Push Notifications to the client, if a lesson is cancelled.

  1. Add a Service Worker to periodically fetch data from the Server
  2. Check if there are new cancelled lessons
  3. If so, send a notification to the client

Impressum

Adress is wrong in the Impressum.
The Correct Adress is Beethovenstraße 28 not 18

Free room panic

get_free_rooms panics in line 687 because index is out of bounds.

Backend always error on valid /get_timetable in prod

When a user (that has manually changed the JSESSIONID cookie to apply to both domains) tries requesting their timetable or the lernbüros, the backend server instantly exists with Code 0 without any traces in the logs, not even the request that caused the crash is mentioned. This does not happen in debug builds, where the methods still dont work, but return a 'Untis done fucked up' error instead of instantly exiting.

I will provide logs later today

More descriptive error messages when getting rate-limited

Currently, when getting rate-limited in the Stundenplan or lernbueros, a JSON parse error (not really readable for normal people) is displayed. This tells most users nothing and should instead be replaced with an error message telling them they're going too fast. While we're at it, we should increase the rate-limit.

Upgrade Astro to v4

Somewhere along the way Astro added better support for env variables which we need for better prod deploys. I tried it, didn't fucking work, so It's @Sxyntheon 's Problem now

lernbuero api sends wrongs lessons sometime

The lernbuero API sometimes sends wrong lessons.
They all seem to be Q2 lessons and may be caused by Zusatzkursen or Abiturprüfungen.

Recreate:
Open the lernbuero page and check the data against Untis

Solve:
Find the reason for this problem and fix it :)

JSESSIONID Cookie not set correctly for both domains

Currently the JSESSIONID cookie is assigned to "theschedule.de", which excludes the api server (api.theschedule.de) from accessing it. The correct way to make it accessible to both subdomains is settings the cookie domain to ".theschedule.de", but for some reason just setting this domain in the document.cookie string doesn't work

Specific LBs not shown

Monday the N0 LB from KGÜN is in the 6th and 7th Lesson which is wrong since only the one in the 7th Lesson is a Lernbüro.

FSMI LB in the 7th Lesson on Friday isn't shown.

SGEU LB in the 3th Lesson on Thursday isn't shown.

Tuesday 3th Lesson DMÄN LB isn't shown.

The 2 LBs from JMÜL on Thursday in the 1st and 2nd Lesson aren't shown since they don't count as LBs according to Untis

Friday in the last Lesson there is a N0 LB that isn't shown by MVME

Higher visibility for cancelled lessons

Currently it's quite hard to see if a lesson is cancelled, being indicated only by struck-through room number and teacher. Instead of only showing the room and teacher struck-through we should somehow mark the whole lesson as cancelled, implementation details pending.

Caching Lernbüros

We should cache lernbüros because they are the same for everyone, but they should be updated frequently too keep up with cancelled lessons

PWA Icons corrupted on Vercel Deployment

The PWA Icons can not be loaded in vercel deployments because the files are corrupted.
Building and running local doesn´t produce this error.

My first guess would be that Vercel handles png images in a special way that breaks them in our case.

I´d like someone else take a look at this to verify if I missed something.

Don't filter cancelled lernbueros

Cancelled lernbueros should still show up in the plan so that students

  1. Know that they're still there
  2. Can write EVA or go to a parallel lernbuero

regression: Lernbueros partially 'slide'

In the Lernbuero plan, some lernbueros, or sometimes only parts of the lernbuero like the teacher label, are displayed in the wrong spots.

This was previously not the case and must have been introduced in one of the merges yesterday.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.