-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mark 3.1.0 #1634
Merged
Mark 3.1.0 #1634
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add a comments functionality for admins to discuss challenges, users, teams, pages * Adds `/api/v1/comments` * Adds a `CommentBox.vue` component for the Admin Panel * Closes #321
* Add a comments section for a user's page in the Admin Panel * Move user graphs into a modal for Admin Panel * Create a new webpack JS chunk for the admin section for the Vue components (`components.js`) - Not really sure why webpack needed this to be separated out * Closes #1052
* Add comments to Page editors
* Make scoreboard caching only cache the score table instead of the entire page * Closes #1584
* Fix MySQL and Postgres GitHub actions to properly test databases * Add migration to add `comments` table
* Add pagination to `/api/v1/comments` * Update CommentBox component to have pagination buttons * Closes #1599
* Adds the ability to add custom user fields for registration/profile settings * Admins can create fields that users can optionally edit * Works on #756
* Adds custom fields for teams * Closes #756
* Add a `listen()` method to `CTFd.utils.events.EventManager` and `CTFd.utils.events.RedisEventManager`. * This method should implement subscription for a CTFd worker to whatever underlying notification system there is. This should be implemented with gevent or a background thread. * The `subscribe()` method (which used to also implement the functionality of the new `listen()` function) now only handles passing notifications from CTFd to the browser. This should also be implemented with gevent or a background thread. * Pool PubSub connections to Redis behind gevent. This improves the notification system by not having a pubsub connection per browser but instead per CTFd worker. This should reduce the difficulty in deploying the Notification system. * Closes #1622 * Make gevent default in serve.py and add a `--disable-gevent` switch in serve.py * Revert to recommending `serve.py` first in README. `flask run` works but we don't get a lot of control. * Add `tenacity` library for retrying logic * Add `pytest-sugar` for slightly prettier pytest output
* Add rel=noopener to external links to prevent tab napping attacks
* Adds a legal section where users can add a terms of service and privacy policy * Optionally show links to the TOS and Privacy Policy on the registration page * Closes #1621
Codecov Report
@@ Coverage Diff @@
## master #1634 +/- ##
==========================================
+ Coverage 86.24% 89.67% +3.43%
==========================================
Files 115 120 +5
Lines 5516 6085 +569
==========================================
+ Hits 4757 5457 +700
+ Misses 759 628 -131
Continue to review full report at Codecov.
|
UnknownSilicon
pushed a commit
to UnknownSilicon/CTFd
that referenced
this pull request
Oct 4, 2023
# 3.1.0 / 2020-09-08 **General** - Loosen team password confirmation in team settings to also accept the team captain's password to make it easier to change the team password - Adds the ability to add custom user and team fields for registration/profile settings. - Improve Notifications pubsub events system to use a subscriber per server instead of a subscriber per browser. This should improve the reliability of CTFd at higher load and make it easier to deploy the Notifications system **Admin Panel** - Add a comments functionality for admins to discuss challenges, users, teams, pages - Adds a legal section in Configs where users can add a terms of service and privacy policy - Add a Custom Fields section in Configs where admins can add/edit custom user/team fields - Move user graphs into a modal for Admin Panel **API** - Add `/api/v1/comments` to manipulate and create comments **Themes** - Make scoreboard caching only cache the score table instead of the entire page. This is done by caching the specific template section. Refer to CTFd#1586, specifically the changes in `scoreboard.html`. - Add rel=noopener to external links to prevent tab napping attacks - Change the registration page to reference links to Terms of Service and Privacy Policy if specified in configuration **Miscellaneous** - Make team settings modal larger in the core theme - Update tests in Github Actions to properly test under MySQL and Postgres - Make gevent default in serve.py and add a `--disable-gevent` switch in serve.py - Add `tenacity` library for retrying logic - Add `pytest-sugar` for slightly prettier pytest output - Add a `listen()` method to `CTFd.utils.events.EventManager` and `CTFd.utils.events.RedisEventManager`. - This method should implement subscription for a CTFd worker to whatever underlying notification system there is. This should be implemented with gevent or a background thread. - The `subscribe()` method (which used to implement the functionality of the new `listen()` function) now only handles passing notifications from CTFd to the browser. This should also be implemented with gevent or a background thread.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
3.1.0 / 2020-09-08
General
Admin Panel
API
/api/v1/comments
to manipulate and create commentsThemes
scoreboard.html
.Miscellaneous
--disable-gevent
switch in serve.pytenacity
library for retrying logicpytest-sugar
for slightly prettier pytest outputlisten()
method toCTFd.utils.events.EventManager
andCTFd.utils.events.RedisEventManager
.subscribe()
method (which used to implement the functionality of the newlisten()
function) now only handles passing notifications from CTFd to the browser. This should also be implemented with gevent or a background thread.