Commit Graph

16 Commits

Author SHA1 Message Date
Amy 11c939db53 Try batches of 48
continuous-integration/drone/push Build is failing Details
2022-06-04 18:36:48 -04:00
Amy dde42f2dc0 Try batches of 64
continuous-integration/drone/push Build is failing Details
2022-06-04 18:30:17 -04:00
Amy c9a01b85ed Try batches of 32
continuous-integration/drone/push Build is passing Details
2022-06-04 18:19:13 -04:00
Amy a6bc1ec256 Try Promise.all on batches of 16
continuous-integration/drone/push Build is passing Details
2022-06-04 18:07:33 -04:00
Amy 1e49241a0d Revert "Try for loop instead of Promise.all"
This reverts commit ddc59a7103.
2022-06-04 18:02:53 -04:00
Amy ddc59a7103 Try for loop instead of Promise.all
continuous-integration/drone/push Build is passing Details
2022-06-04 17:57:43 -04:00
Amy d7e82feed6 Revert "Try 4 workers"
This reverts commit 3867be2c75.
2022-06-04 17:55:07 -04:00
Amy 3867be2c75 Try 4 workers
continuous-integration/drone/push Build is failing Details
2022-06-04 17:23:44 -04:00
Amy 49c272efa3 Fix brackets
continuous-integration/drone/push Build is failing Details
2022-06-04 16:21:33 -04:00
Amy 2a62f0b508 Add resize logging
continuous-integration/drone/push Build is failing Details
2022-06-04 15:19:27 -04:00
Amy 19c5aecb07 Resize events images and add logging
continuous-integration/drone/push Build is failing Details
2022-06-04 14:51:40 -04:00
Shahan Nedadahandeh f12ffbb925 Add endDate to events (#446)
continuous-integration/drone/push Build is passing Details
Added endDate to events.
2022-05-25 20:58:12 -04:00
Shahan Nedadahandeh bb78a3d53d Warning Header (Closes #205) (#394)
continuous-integration/drone/push Build is passing Details
Update:
In order to solve the issues discussed below, we decided to put the warnings in a json file, since they can be easily imported into a javascript file and webpack automatically bundles them with the client side app, so no static props is needed.

__________

To get the warning data, since it is something that needs to be on all pages, it makes sense for the component to go in the app.js file (similar to the nav bar). However, next.js has a cumbersome issue that it does not support getStaticProps in the app.ts file (and getStaticProps only works in page files), thus we have no way of requesting the warning data easily in the \<WarningHeader\> Component. (https://github.com/vercel/next.js/discussions/10949)

Here is my solution:
- Request the warning data on the client side through the use of an api.
    - I made a warning api (/api/currentWarning) which sends a json of the current warning
    - Advantage: warnings will always be up to date since it is recalculated on every request
    - Advantage: It can potentially incorporate with other CSC services who might need to know about the warning (eg linktree?)
    - Disadvantage: can get expensive if we have a lot of warnings, to fix this I can cache the current warning and only re-read the files every 24h if this is a problem, but if we don’t have that many warnings I think it should be fine
    - Disadvantage: listed below:

The current problem with what I implemented is that it doesn’t build in the production environment:
- The way we build the website, when we call “next export” that disables any api endpoints.
- According to this https://github.com/vercel/vercel/discussions/6551, if we want to allow api endpoints, we have to just do “next build”. This has implications that the site won’t be completely static anymore, but the other solutions also have similar problems  ( though the GitHub post says that next will still optimize for static with only next build).

Another advantage of allowing api’s is that maybe in the future we will implement other features where an api might be useful.

If you want to try it out, my branch works fine locally (when just running npm run dev or npm run build”)

Other possible solutions:
- Use getInitialProps inside _app.js, but this has the downside that it will “disable Automatic Static Optimization in pages without Static Generation.” (https://nextjs.org/docs/advanced-features/custom-app), which I believe will slow the whole site down, but, we will be able to still use the old build command I think, I am not sure of the full effect of this.
	- However, implementing this would also be relatively simple.

- Add the warning request to the getStaticProps of every single page, possibly through some wrapper component around every single page, this has the disadvantage that we need to do a lot of refactoring of all the pages of the site and cant use the intended “_app.ts” wrapper.

- Add warning header only to the homepage (or maybe one or two other important pages).

Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: #394
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
2022-02-22 23:29:53 -05:00
Amy Wang aae5c9adef Image Optimization Script (#348)
continuous-integration/drone/push Build is passing Details
A build-time script to optimize images. Note that going forward, all images should be placed in `images` instead of `public/images`.

Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #348
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
2021-10-31 16:58:14 -04:00
Aditya Thakral 47352f4e82 Change date format for events and news (#343)
continuous-integration/drone/push Build is passing Details
https://csclub.uwaterloo.ca/~a3thakra/csc/adi-event-dates

Reviewed-on: #343
Reviewed-by: b38peng <b38peng@uwaterloo.ca>
Co-authored-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-committed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
2021-10-13 21:36:08 -04:00
Aditya Thakral 34fb652fb9 Dynamically generate event calendar (#332)
continuous-integration/drone/push Build is passing Details
Closes #134

- Dynamically generates the calendar before the export step
- I tested it with google calendar, updates are propagating as expected (it takes a day for google calendar to get updated)

You can try adding this URL to your calendar to test things out: https://csclub.uwaterloo.ca/~a3thakra/csc/adi-ical/events.ics

Reviewed-on: #332
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-committed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
2021-09-27 16:20:18 -04:00