Dominique Merle
95c689a04f
docs
4 years ago
Dominique Merle
8bff345d16
feat: allow a space between the candidate letter and the grade
4 years ago
Dominique Merle
89a18cd0b0
feat: display a white border around the median grade.
4 years ago
Dominique Merle
2c1784d864
fix: work Adele"s magic
4 years ago
Dominique Merle
aa5bfab61b
fix: Tween is briefly not in the scene tree when we call refresh()
...
Not sure why ; happens on resume.
4 years ago
Dominique Merle
aeaf702d0c
feat: sanitize participants' names (identifiers)
...
This should be safe for CSV and others.
We probably want to do a similar thing with messages (commands).
Remember: we should not log the raw data. (security issue)
4 years ago
Dominique Merle
db81f78e12
fix(tests): restore the order of signal parameters
4 years ago
Dominique Merle
f65800f8d8
fix: polls should be safe to resume
4 years ago
Dominique Merle
458544c51e
feat: memoize half of the participants logic
...
We need a more elegant way of marking the cache as stale…
4 years ago
Dominique Merle
2cc30b1afb
feat(security): sanitize the participants' names
...
The `name` property of a participant should probably be changed to `identifier`.
We might then add a (non necessarily unique) name for diplay only.
This is bad, since the regex will obliterate any non-latin character.
Need to check if `\P{Letter}` is supported in Godot.
4 years ago
Dominique Merle
cf71ef4cce
feat: save the ongoing poll on each judgment received
...
The resumed poll may be buggy ;
something about how we handle users
4 years ago
Dominique Merle
ed39d4ce05
feat: add a Resume button to the main menu
...
It's not usable yet, but it's here…
Waiting…
…
In the shadows…
…
…
Silently.
4 years ago
Dominique Merle
4e5e7c040f
feat: provide a button to close a poll
...
That button can be hidden with F1.
4 years ago
Dominique Merle
9cc7636793
feat: allow alignment with window bottom
...
This will help on Android, where the results are hidden by SMS notifications.
4 years ago
Dominique Merle
28f8cc3355
feat: add the AndroidSmsProvider
4 years ago
Dominique Merle
ee1d95699f
feat: Add opened_at and closed_at properties to Polls
...
Those are timestamps, ie. seconds since UNIX EPOCH
UNIX EPOCH is 01-01-1970
The information era has entered its jubilee! \o/
4 years ago
Dominique Merle
281e70f14d
feat: display their letter besides each candidate on the profiles graph
...
(we also broke the API, discreetly -- it's okay ; sprint!)
4 years ago
Dominique Merle
1b0b22a579
tweak: add a small margin at the top of the results
4 years ago
Dominique Merle
65cd6895af
tweak: Make the demo a little slower.
4 years ago
Dominique Merle
29f56d88e0
feat: add more votes to the demo
4 years ago
Dominique Merle
9db0ec27ee
feat: add a Demo provider, useful for demos
4 years ago
Dominique Merle
3e4605d07c
feat: allow exiting a poll with ESCAPE
4 years ago
Dominique Merle
bf2cc8f920
tweak: stretched number opacity on the grades
4 years ago
Dominique Merle
4792f7d59a
design: add a shader to show off (and help with numbers)
...
Okay, okay, it's VERY BAD DESIGN© to use numbers as grades in MJ.
But it's internationalized, and it's quick to type.
The objective is to reduce the required effort to vote.
Ideas welcome.
4 years ago
Dominique Merle
0b877eeaff
feat: move the results graph to the top left and truncate text
4 years ago
Dominique Merle
7f136aa91d
feat: animate the order of candidates in the linear results scene
4 years ago
Dominique Merle
3248f261c2
chore: clean up
4 years ago
Dominique Merle
0712e25b10
feat: add a twitch chat provider and use it
...
I believe this commit closes the core feature loop.
Now, it's all about QoL improvements, bugfixes
and the dragon for which this project is meant to be a PoC:
DELEGATION
4 years ago
Dominique Merle
615bd2275b
chore: automatic lint
4 years ago
Dominique Merle
e5cb86068d
feat: enable the provider pattern, with a demo provider
...
So far it's working quite well,
and it is rather pleasant to code.
There are no safeguards whatsoever for now.
They will come along with their tests :3
4 years ago
Dominique Merle
205608d75f
feat: implement initial chat command processing to add judgments
...
As detailed in previous commit with the unit-test (which now pass),
the regex is as follows :
(?<candidate>[a-zA-Z]{1})(?<grade>[0-9]{1})
We have room to support more than 25 candidates or 10 grades in the future.
Right now, this is enough, let's move on !
4 years ago
Dominique Merle
d54fd091ce
chore: clean up
4 years ago
Dominique Merle
4e05835e81
feat: implement an unordered but animated version of the linear results
...
The data is a dummy, waiting to be connected to a provider like Twitch.
We also need to sort the profiles, and animate the sort ;)
The GUI elements will probably need more work as well (like clipping, etc.)
4 years ago
Dominique Merle
cf08bd1944
fix: typo in the API of TwiCil
...
Since godot's addons are made to be modded, let's abuse it.
…
Just like that.
4 years ago
Dominique Merle
100fe4ba77
deps: add TwiCil, a library to interact with Twitch chat
4 years ago
Dominique Merle
9a66f784d0
feat: add the MJ plugin metadata and some docs
...
Note that the doc was written first,
as we followed the pattern: doc, test, code
It was pretty nice, and it helped a lot.
4 years ago
Dominique Merle
2fe66eb1bb
feat: initial implementation of Majority Judgment in Gdscript
...
All these files will find their way into a plugin,
once they are stable, reviewed and documented.
4 years ago
Dominique Merle
e7270d2d68
deps: add WAT, a Gdscript library for unit testing
...
We also tried GUT in the past, so we wanted to try WAT this time.
We're not sure which would be easier to extend in order to add
a Gherkin parser and runner.
4 years ago