Wolvan
217c889a5e
Release v1.2.0
2022-02-02 22:26:11 +01:00
Wolvan
3f642530ad
Add special thanks section
...
Thanks dot and shy for helping me with giving the site a bit of
personality full of snowpity.
2022-02-02 22:24:07 +01:00
Wolvan
f68ff6dbd2
Implement favicon and embbed icon
...
Thanks to Shydale for lending me their OC checkbox.
She a cute.
2022-02-02 22:13:07 +01:00
Wolvan
8042cfb4ff
Release v1.1.0
2022-02-02 18:17:01 +01:00
Wolvan
8e8b263c62
Sort data in pie chart
...
Due to the nature of redrawing, the biggest piece of the pie chart will
always be the first one. Locations are not static.
2022-01-30 19:54:16 +01:00
Wolvan
a1c4d06845
Update README.md to include links to live version
2022-01-30 19:40:10 +01:00
Wolvan
a8958dc7ec
Add table prefix option to heroku start script
...
This allows decoupling multiple instances via a table prefix on heroku
2022-01-30 19:31:53 +01:00
Wolvan
59a2733df6
Use git commit hash instead of version for dev
...
This way people can go straight to the commit that has caused the dev
page to be built and it is clear what version the site is based on.
2022-01-30 19:24:54 +01:00
Wolvan
ee4e83bebc
Implement MySQL table prefix
...
The table prefix can be used to differentiate installs on the same
MySQL database. By default, no prefix is set.
2022-01-30 17:54:18 +01:00
Wolvan
59f1c7db6e
Appease crawlers and embbeders
...
`<meta>` tags have been added to relay information for websites trying
to pull information from the page (like discord) as well as web crawlers
to index the page.
2022-01-30 17:46:59 +01:00
Wolvan
afc7bbad01
Implement header based safety features
...
Using the `helmet` package, a certain set of security critical headers
are set to prevent XSS attacks and the like.
2022-01-30 16:59:11 +01:00
Wolvan
26a42333fe
Add QR Code to poll pages
...
This way, people can easily just use their QR readers to reach the
voting page. The QR is constructed via Google Charts API and the URL is
based on the HOST header of the request.
2022-01-30 16:49:05 +01:00
Wolvan
19606025e2
Release v1.0.4
2022-01-29 22:27:47 +01:00
Wolvan
2f40091c6f
Sort entries by votes
...
The entries on the result page are now ordered by the amount of
votes they got. This should make discerning a winner much easier.
2022-01-29 22:16:49 +01:00
Wolvan
6764a0af63
Release v1.0.3
2022-01-12 21:16:14 +01:00
Wolvan
74a0910d11
Fix NaN on result refresh
...
With 0 total votes, the results page would show NaN after the first
refresh. Don't divide by 0, children.
2022-01-12 21:14:44 +01:00
Wolvan
cfa150cc42
Move API and document it
...
The API has been moved to a /api path to distinguish it from the form
submission path and make it clear it is a callable API.
The API also has been rudimentarily documented.
2022-01-12 21:11:09 +01:00
Wolvan
5260cfb7da
Remove unecessary ID column
...
The strings are unique and do that job just fine.
2022-01-12 19:57:51 +01:00
Wolvan
ce2601642b
Add version of software to footer
...
The version also includes a link to the github repo tag of that
version's release build.
2022-01-12 19:53:30 +01:00
Wolvan
ab151cb732
Use CSRF token to discourage botting
...
A suggestion to avoid stupid bots to vote on polls was a token that gets
checked to a session cookie on vote submission.
2022-01-12 19:46:45 +01:00
Wolvan
6a155f2eb4
Remove vote API
...
This could easily be used to rig votes and doesn't really make sense.
2022-01-12 19:20:59 +01:00
Wolvan
9e8a93a449
Release v1.0.2
...
THIS PATCH FIXES A SECURITY VULNERABILITY
2022-01-11 22:11:42 +01:00
Wolvan
9e706fb484
Make header backlink to home
2022-01-11 22:05:37 +01:00
Wolvan
39d14aff1c
Deduplicate entries
...
Duplicate entries were deduplicated during saving but not checked for
when verifying for at least 2 options set. This lead to being able to
have polls with only a single vote.
Now deduplication is run at the start of the creation function.
2022-01-11 22:04:10 +01:00
Wolvan
cb0ec9dfa1
Add non-JS way of adding options
...
A new button has been added (which gets automatically removed by JS)
that lets a user add a new option.
Also, an XSS exploit has been fixed.
2022-01-11 21:00:44 +01:00
Wolvan
071a35814b
Release v1.0.1
2022-01-10 21:57:01 +01:00
Wolvan
059d82e2cc
Add changelog file
2022-01-10 21:55:19 +01:00
Wolvan
23445f7509
Fix options not appearing
...
The options only appeared when at least 2 letters were typed into the
input field as the event triggered before a value was set into the input
field. Using `keyup` instead of `keydown` delays the event after a
letter has been typed into it.
2022-01-10 21:47:35 +01:00
Wolvan
1ad2c8c1a0
Fix SQL connection on wakeup in heroku
...
When a heroku dyno goes into sleep mode it loses connection to the
backend database. Once it is woken back up, no more reads or
writes could be done anymore due to a dead connection. This change
reinstates a new db connection when the connection is fatally
terminated.
2022-01-10 21:46:22 +01:00
Wolvan
33c9ca168e
Release v1.0.0
2022-01-08 18:03:47 +01:00
Wolvan
361230c554
Fix fs-extra being a dev dependency
2022-01-08 18:03:47 +01:00
Wolvan
7047db51d8
Make app heroku-ready
...
Add a procfile and make the start not try to build the project.
2022-01-08 17:59:04 +01:00
Wolvan
bdf5ad1b1c
Fix number parsing from replacer vars
2022-01-08 17:44:39 +01:00
Wolvan
74729b1e9c
Add a couple more projects to the footer
...
As well as optimize the footer for small screens.
2022-01-08 16:23:27 +01:00
Wolvan
f403165f76
Prevent cross site scripting attacks
2022-01-08 16:16:40 +01:00
Wolvan
aee9ed796e
Fix results page design
...
Fix the length of the bar when it is at 100% as well as an issue where
division by NaN happens when no votes have been given yet.
2022-01-08 16:15:46 +01:00
Wolvan
7887fa360b
Fix votes from breaking server side rendering
2022-01-08 16:12:51 +01:00
Wolvan
0545d90c3f
Implement different backend types
...
Including to the previous flatfile storage, a new storage for MySQL has
been added to store polls in a database.
The amount of possible Poll Options has also been reduced to 20.
2022-01-08 16:12:04 +01:00
Wolvan
df5b3e5c10
Fix copyright
2022-01-06 21:36:48 +01:00
Wolvan
927d2666e9
Satisfy tests to npm i
doesn't fail
2022-01-06 21:28:32 +01:00
Wolvan
e9aaedb494
Implement auto update
...
Every 5 seconds the system attempts to fetch the most recent vote state
of the poll and display it to the user.
2022-01-06 20:44:29 +01:00
Wolvan
dca2cc3eeb
Create results page
...
The page displays the amount of votes, percentage and bars for quick
visual comparison, as well as a pie chart created with google charts.
2022-01-06 19:52:53 +01:00
Wolvan
2f8f36a7ca
Move closing tag into the right position
2022-01-06 19:43:29 +01:00
Wolvan
069128b2d5
Remove unecessary replacement anchor
2022-01-06 15:33:23 +01:00
Wolvan
76b8d0bbc5
Allow voting via form
2022-01-06 15:31:17 +01:00
Wolvan
3204695c90
Switch to ts-node-dev
for debugging
...
It automatically watches, recompiles and restarts the app when files
in the `./src` directory change.
2022-01-06 14:39:46 +01:00
Wolvan
edff19fb5b
Create voting page
...
This page displays all options that have been set on creation. Thanks to
`textFit` the texts in the title and options automatically get sized
correctly. The create poll button has also been renamed to submit-button
to make it more universal on other pages.
2022-01-04 22:25:05 +01:00
Wolvan
5b5dc9d922
Serverside render footer
...
This way it's easy to add new links or a changed copyright to the footer
on all pages.
2022-01-04 22:11:27 +01:00
Wolvan
3e06f08e42
Add Github Repo to Footer
2022-01-01 14:45:16 +01:00
Wolvan
c00ea29b4f
Implement Form Expansion
...
If more than 3 options are written down, additional inputs will load in
to allow more options. The maximum cap of options currently is set to
255 but can be configured in Config.ts.
Likewise, the input length can also be controlled from there.
2022-01-01 14:36:25 +01:00