Commit graph

270 commits

Author SHA1 Message Date
1e33e5303a
feat: serve files from export dir 2023-03-14 15:51:46 +05:30
3d74a8ce89
feat: add public navbar 2023-03-14 15:51:28 +05:30
740b1a331e
feat: get all campaigns on an instance 2023-03-14 15:50:27 +05:30
1c1617d684
fix: sqlx offline data
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-03-13 00:34:04 +05:30
6657dba05b Merge pull request 'Periodically publish results from mCaptcha/survey.' (#15) from publish-results into master
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Reviewed-on: #15
2023-03-12 21:15:42 +05:30
a3f2c3632e
feat: publish benchmark data periodically (configurable)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
2023-03-12 20:11:06 +05:30
9411c2ba9f
feat: read publication dir config and serve it 2023-03-12 20:10:40 +05:30
d2c52cc62c
feat: cleanup archiver and include tests 2023-03-08 17:38:24 +05:30
604fca0a62
feat: archive campaign and benchmark data
DESCRIPTION
    FORMATS
	- Campaign configuration is stored in JSON format
	- Benchmark data is stored in CSV format

    DIRECTORY STRUCTURE
	Each campaign gets a separate directory. A campaign can have
	multiple archives. Archives are stored in directories whose names
	would be the same as the UNIX timestamp of when they were
	recorded.

	EXAMPLE
	    The example below shows three campaigns with one archive
	    each. Each archive is stored in a directory denoting the
	    moment in which the archive was generated. Each archive
	    includes campaign configuration and benchmark.

	    ```bash
		14:53 atm@lab archive → tree
		.
		├── 4e951e01-71ee-4a18-9b97-782965495ae3
		│   └── 1675329764
		│       ├── benchmark.csv
		│       └── challenge.json
		├── 9d16df08-dffc-484e-bbe2-10c00b431c7e
		│   └── 1675329764
		│       ├── benchmark.csv
		│       └── challenge.json
		└── fa9f7c24-afec-4505-adb9-8e0c3ce54d37
		    └── 1675329764
			├── benchmark.csv
			└── challenge.json

		7 directories, 6 files
		```
2023-03-08 17:36:45 +05:30
a44f6f1748
feat: add archive base_path in settings 2023-03-08 17:36:45 +05:30
ca0c847f04
feat: add NLnet funding details
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-03-08 17:19:47 +05:30
9e153b22ca
fix: update sqlx and fix container build
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
closes: #14
2023-02-14 17:25:27 +05:30
4f224d782a
Merge pull request #14 from mCaptcha/js-bench
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Collect JavaScript polyfill benchmark using mCaptcha/survey
2023-02-13 14:14:44 +05:30
d6a80fa1fe
fix: show next page link only when next_page is set
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2023-02-02 00:31:19 +05:30
92ab34967d
feat: display filtered (wasm, js and all) filtered benchmarks 2023-02-02 00:30:51 +05:30
9d128033ac
feat: fetch and test filtered benchmark results. 2023-02-02 00:29:52 +05:30
7a2cc1646d
chore: linting 2023-02-02 00:29:24 +05:30
1a466bbd3c
feat: display benchmark type 2023-02-01 18:19:06 +05:30
0fa21911f0
feat: submit and store benchmark type 2023-02-01 18:18:50 +05:30
49abe1eb65
fix: default campaign 2023-02-01 18:18:11 +05:30
8f0673c637
chore: ignore non-import loading 2023-02-01 18:17:34 +05:30
94eb76c188
feat: show timestamp in results page 2023-02-01 15:27:26 +05:30
21ff6741a0
feat: add timestamp to benchmark submissions 2023-02-01 15:26:58 +05:30
78daff1036
feat: benchmark using polyfil when wasm is not available 2023-01-27 00:18:26 +05:30
b41cd212b4
fix: rm winner instructions and unnecessary glue code inclusion 2023-01-26 21:09:33 +05:30
6bce9877ab
feat: link to results page from admin campaign list page 2023-01-26 20:58:53 +05:30
ab3d496bca
feat: show campaign results in web UI 2023-01-26 20:58:32 +05:30
79bd99d398
fix: page title 2023-01-26 20:58:07 +05:30
82bb2f327a
chore: get page helper method 2023-01-26 20:57:38 +05:30
c576487333
fix: store and get submission ID
DESCRIPTION
    If the same survey_user submits the survey many times, their first
    submission ID was being used to record benchmarks from their future
    submissions. Which resulted in submissions with empty benchmarks.

    This patch gets the submission ID as the record is being created and
    records benches using that. Bug fix and one less query.
2023-01-26 20:55:23 +05:30
e9709ed744
feat: formmatting is being deprecated 2023-01-26 20:55:04 +05:30
e1b8836732
feat: make workflow to sqlx offline codegen 2023-01-26 20:54:40 +05:30
0ac915b426
feat: REST API endpoint to return survey campaign results 2023-01-26 19:07:48 +05:30
aa63783794
feat: list survey responses per campaign 2023-01-26 18:25:52 +05:30
f6030577a0
fix: upload difficulty via web form 2023-01-26 18:25:22 +05:30
7b4fa1e54c
feat: rm gift 2023-01-24 23:39:01 +05:30
dfaaf291ea
chore: update deps 2023-01-24 23:33:51 +05:30
5a27b86c6f
chore: update deps 2023-01-24 23:32:12 +05:30
6b608c6677
feat: finish porting pages to tera. Fix tests 2023-01-24 23:31:04 +05:30
b874c17362
feat: port panel to tera 2023-01-24 23:29:58 +05:30
8e6a3afb4c
feat: port new campaign page to tera 2023-01-24 23:29:47 +05:30
e5bf7feebe
feat: port benchmark page to tera 2023-01-24 23:29:17 +05:30
82d293a159
feat: port delete campaign to tera 2023-01-24 23:28:57 +05:30
599777cbf3
feat: port list campaigns to tera 2023-01-24 23:28:22 +05:30
67d50a3d80
feat: rm gift and port about page to tera 2023-01-24 23:27:43 +05:30
9f0d38ab07
feat: define campaign doesnt exist error type 2023-01-24 23:00:08 +05:30
1423fa73d9
feat: port nav component to tera 2023-01-24 19:26:19 +05:30
1942d44283
feat: port footer compoenet to tera 2023-01-24 19:26:06 +05:30
d2f266c689
feat: port login page to tera 2023-01-24 19:25:56 +05:30
c645bf83a3
feat: port join page to tera 2023-01-24 19:25:23 +05:30