Commit Graph

983 Commits

Author SHA1 Message Date
Kevin Chung
3d566910a8 Bump version and remove legacy code 2020-06-30 23:35:52 -04:00
Kevin Chung
69e6126c45 Update CHANGELOG 2020-06-30 23:06:18 -04:00
Kevin Chung
d22f1a1705 Properly cache User.place and User.score constants (#1525)
* Cache accesses of `User.place` and `User.score` in the user attrs wrapper via Jinja
2020-06-30 18:36:56 -04:00
Kevin Chung
f65766c5ff Bump user related cached functions to 5 mins 2020-06-30 14:46:28 -04:00
Kevin Chung
355beb1e53 Merge branch 'master' into 3.0.0-dev 2020-06-30 13:23:11 -04:00
Kevin Chung
9ca6270752 Bump codecov to 2.1.7 (#1524)
* Bump `codecov` to 2.1.7 to fix coverage reports
2020-06-30 13:20:49 -04:00
Kevin Chung
d47437bf7c Bump codecov version 2020-06-30 12:18:40 -04:00
Kevin Chung
9cfe08d1dd Add date for v3 2020-06-30 12:08:19 -04:00
Kevin Chung
a453e22b27 Update CHANGELOG 2020-06-30 12:07:16 -04:00
Kevin Chung
3716904e77 Change challenge location has to include and work off of challenge ID (#1522)
* Adds challenge ID into location hashes so that the right challenge is always loaded regardless of duplicate names
* Closes #1120
2020-06-30 03:27:47 -04:00
Kevin Chung
c9442037a8 Run prettier 2020-06-30 00:56:36 -04:00
Kevin Chung
7370cead17 Update README 2020-06-29 20:17:37 -04:00
Kevin Chung
a48ad5afa8 Document current CHANGELOG for alpha release 2020-06-29 20:16:02 -04:00
Kevin Chung
59ba2904d9 Merge remote-tracking branch 'origin/master' into 3.0.0-dev 2020-06-29 19:35:25 -04:00
Kevin Chung
cbb3f727bc Enable pool_pre_ping on SQLAlchemy connections (#1520)
* Integrates SQLAlchemy `pool_pre_ping` to check SQLAlchemy connections on checkout. 
* Closes #1509, #1438, #1395, #467
2020-06-29 19:12:22 -04:00
Kevin Chung
b8eb679c2b Rewrite config.py to also load from a config.ini file (#1521)
* Allows for configuration to be specified via `config.ini` instead of direct Python manipulation
* Adds type hints to `config.py` to make it clearer what each variable expects
2020-06-29 18:34:49 -04:00
Kevin Chung
b82681fcf2 Put up beta/alpha notice on README 2020-06-29 11:23:32 -04:00
Kevin Chung
e547e98d35 Add Hadolint to Github Lint action (#1518)
* Lint `Dockerfile` and `docker-compose.yml`
* Closes #1458
2020-06-29 01:31:34 -04:00
Kevin Chung
b247b1eb47 Deprecate Mailgun integration. Works on #1432 2020-06-28 23:59:07 -04:00
Kevin Chung
96ecdedfdf Add account searching to the user facing side (#1517)
* Add account searching to the user facing side of CTFd
* Closes #1354
2020-06-28 23:29:48 -04:00
Kevin Chung
a30a518eed Change /api/v1/config/<config_key> to return structured data (#1516)
* Change `/api/v1/config/<config_key>` to return properly structured data
* Closes #1506
2020-06-28 15:40:42 -04:00
Kevin Chung
cf699aede0 Lookup the respective country for IP addresses in the admin panel (#1512)
* Adds support for looking up countries by IP address. 
* Shows country and flag for a user/team's IP addresses in the admin panel
* Adds support for `GEOIP_DATABASE_PATH` in config.py
* Closes #1115
2020-06-28 14:09:48 -04:00
Kevin Chung
efb9831d2a Add API searching and filtering (#1515)
* Works on #1318 
* Adds searching and filtering to most of the bulk API endpoints
* Adds documentation on the GET parameters used to conduct searches
2020-06-28 14:08:54 -04:00
Kevin Chung
a769e2c91f 1318 pagination users teams submissions (#1513)
* Paginate only the `/api/v1/users`, `/api/v1/teams`, and `/api/v1/submissions` endpoints.
* Add a `PaginatedAPIListSuccessResponse` class with a customized `apidoc` method to hack in the pagination scheme
* Works on #1318
2020-06-28 01:39:45 -04:00
Kevin Chung
dea6b122b7 Add User and Team Jinja globals to access User/Team attrs (#1511)
* Adds User and Team globals to Jinja theme files. 
* Closes #1234
2020-06-25 12:00:33 -04:00
Kevin Chung
74084d7d9a Add media library button to EasyMDE (#1508)
* Adds Media Library access to EasyMDE editor
* Chooses VueJS as front end framework for #1508 
* Closes #1320
2020-06-24 18:18:11 -04:00
Kevin Chung
aa225f8e15 Lint markdown and require markdown changes to pass prettier (#1510)
* Require that markdown files are linted by prettier
2020-06-24 14:04:10 -04:00
Kevin Chung
a61ff68458 API Documentation structure (#1480)
Implement a basic working idea for how to start adding better documentation on the REST API
* Works on #821
2020-06-24 10:59:17 -04:00
Kevin Chung
412692d49a Add current attempts and max attempts to challenge view (#1507)
* Display current attempts in challenge view when max attempts is enabled
* Closes #1477
2020-06-23 12:21:18 -04:00
Frank
241467c4b3 [fix #1503] override_template cache error (#1505)
* Closes #1503 and fixes override_template
2020-06-22 14:23:02 -04:00
Kevin Chung
84c02b11af Remove the persistent green outline in the admin panel and make it smaller in general (#1497)
* Closes #1495
2020-06-18 21:59:19 -04:00
Kevin Chung
0bd3130fc2 Switch from raw textareas to easymde for challenge/hint content (#1496)
* Convert textareas for hint content and challenge content into EasyMDE editors. 
* Works on #1493
2020-06-18 18:31:20 -04:00
Kevin Chung
74ff3b57a2 Remove lint step from test workflows 2020-06-18 18:06:46 -04:00
Kevin Chung
7a09aee0fa Bump travis dist to bionic 2020-06-18 17:56:43 -04:00
Kevin Chung
0c43e2dd0a Seperate out postgres tests and clarify postgres support (#1494)
* Clarifies the position on supporting Postgres and removes Postgres from the main test suite
* Closes #973
2020-06-17 03:14:47 -04:00
Kevin Chung
717da5cecb Reorganize challenge plugins (#1492)
* Convert Challenge plugin static methods into class methods
* Copy the create, read, update, attempt, solve, fail methods into the BaseChallenge class so that they can be re-used between challenge plugins
2020-06-15 00:02:55 -04:00
Kevin Chung
94bd8baca1 Update challenge plugins and flag plugins to have exception messages (#1491)
* Update challenge plugins and flag plugins to raise and catch exceptions for flag error messages
* Closes #1425
2020-06-14 17:01:23 -04:00
Kevin Chung
1143d751c8 929 better visibility constants (#1490)
* Adds Enums for visibility configs for better reusability. Old tests will continue to use the static values but new ones should use the enum values. 
* Closes #929
2020-06-14 04:15:55 -04:00
Kevin Chung
bacb8977a4 Switch main theme graphing library to echarts (#1487)
* Switches from Plotly to echarts. Saves file space and allows for more flexibility in graphing types. 
* Changes colorHash slightly to change color output for demo data. 
* Closes #1433
2020-06-13 12:18:41 -04:00
Kevin Chung
c3897f9527 1245 eslint linting (#1486)
* Adds `yarn lint` to `make lint`
* Closes #1245
2020-06-12 03:11:45 -04:00
Kevin Chung
a30437c1fa Get basic implementation of HTML sanitization working for pages (#1462)
* Closes #1332
* Pages by default now strip script tags and other potential XSS vectors
* lxml and html5lib are now pinned dependencies
* Challenge plugins rewritten to allow for better re-useability of template content and allow more control from the theme side
2020-06-12 01:10:27 -04:00
Kevin Chung
bd5e6d4552 1329 theme settings (#1485)
* Adds `window.init.theme_settings` which is a JSON blob that's passed by CTFd and configurable from the Admin Panel
* Adds `config.html` which should be a form which can be loaded into the Admin Panel and able to emit a JSON blob which can be used as `window.init.theme_settings`.
* Closes #1329
2020-06-12 00:09:56 -04:00
Kevin Chung
3095032536 Make get_standings more flexible by allowing to specify what other attributes to add into query. Closes #1020 (#1484)
* Make `get_standings` code more flexible by allowing to specify what other attributes to add into query. 
* Closes #1020
2020-06-11 15:24:38 -04:00
Kevin Chung
051dcb9263 Merge remote-tracking branch 'origin/master' into 3.0.0-dev 2020-06-11 14:24:57 -04:00
Kevin Chung
a47cdb7ce1 WIP: Add form globals (#1469)
* Work on #1467 
* Creates the Form global which will contain all forms.
2020-06-11 02:32:20 -04:00
Kevin Chung
aad3d21568 Fix setting the CTFd theme color (#1482)
* Fix setting the CTFd theme color in the Admin Panel by properly getting the current theme header value
2020-06-08 13:55:51 -04:00
Kevin Chung
62b5d4fc4e Remove adding email to user session 2020-06-06 23:52:04 -04:00
Kevin Chung
b2bf4eb542 Change expired session token error to be 401 2020-06-06 23:50:55 -04:00
Kevin Chung
9e39d18e52 Run yarn build 2020-06-06 22:09:50 -04:00
Kevin Chung
8b6e91f76c Scoreboard optimizations (#1476)
* Add speed improvements for /api/v1/scoreboard/top/<count>

* Update CHANGELOG

* Fix typo

* Switch back to processing solves and awards seperately

* Fix typo
2.5.0
2020-06-04 16:54:45 -04:00