Commit Graph
100 Commits
Author SHA1 Message Date
Lin, Hung-Shin 14d6ab961b fix: move format into constructor 2023-11-15 14:46:41 +08:00
Lin, Hung-Shin e18f0db5ad feat: Add edges 2023-11-15 14:43:34 +08:00
Lin, Hung-Shin fae2d8199d feat: calculate layer 2023-11-15 14:30:37 +08:00
Lin, Hung-Shin c92a2e1d70 feat: install echarts and initialize graph chart 2023-11-15 14:02:33 +08:00
Lin, Hung-Shin 4d408333b7 Feat Multi-Quest support (#61) 2023-11-15 14:01:32 +08:00
wancat 92181d960f feat: check if a quest is unlocked before creating session 2023-11-14 10:45:24 +08:00
wancat c2dac8d385 fix: wrap all async controller with error handler
* add validations to newCommand
2023-11-14 10:45:24 +08:00
wancat 1af85651b8 fix: enhance error handling for frontend session 2023-11-14 10:45:24 +08:00
wancat d0e2a4125d feat: add vue-toastification for alerting 2023-11-14 10:45:24 +08:00
wancat 2d0fffc8f4 fix: update backend socket error handling 2023-11-14 10:44:52 +08:00
wancat 4ee88fe7ba feat: add requirements in quest list api 2023-11-14 10:44:52 +08:00
wancat f973982ec4 feat: use dynamic route to select quest (no error handling yet) 2023-11-14 10:44:52 +08:00
wancat cce6127d51 fix: allow optional value by removing noError in SessionList 2023-11-14 10:44:52 +08:00
wancat 1e728b413b fix: not reexport in default 2023-11-14 10:44:52 +08:00
wancat 5df4967a85 feat: delete "deleteSession" method, validate questId and sessionId 2023-11-14 10:44:52 +08:00
wancat a7422853fa feat: add /users/me endpoint 2023-11-14 10:44:52 +08:00
wancat ae221a696c fix: update repo url in package.json 2023-11-14 10:44:52 +08:00
wancat f49fb0e4da feat: finishSession and allow user command after finished 2023-11-14 10:44:52 +08:00
wancat 45f12acbd9 feat: add UserProfile collection, create on login
* add progress
2023-11-14 10:44:52 +08:00
Lin, Hung-Shin e981bff3bb feat: change base image to alpine 2023-11-14 10:44:52 +08:00
Lin, Hung-Shin fac91e0f10 feat: update quest and user schema
* add requirements in quest
* add progress in user
2023-11-14 10:44:52 +08:00
Lin, Hung-Shin 7d7ad154ab Fix re-login error (#60)
* refactor: put all session ref into one reactive store

* fix relogin duplicate signal

* fix: put quest data into store, fix hint reactivity

* fix: duplicate after relogin

* only register listener once
2023-11-08 14:22:08 +08:00
Lin, Hung-Shin 10e9d89349 Update deployment (#58)
* Update ci_cd.yml

Remove deployment scripts, moved to authorized_keys instead.

* Update docker-compose.prod.yml to always restart
2023-11-05 23:27:50 +08:00
Lin, Hung-Shin 4c2f3f5397 feat: put survey and bug report url to backend (#57)
* feat: put survey and bug report url to backend

* fix: centralize hardcoded url to config

* fix: validate url before redirecting
2023-11-03 21:32:12 +08:00
Lin, Hung-Shin 21f97c051c Fix: UI revise (#50)
* Change tailwind.config.js structure
* Fix line break error in QuestPart.vue
2023-11-03 15:06:56 +08:00
Lin, Hung-Shin 3664df68b6 feat: add bug report url 2023-11-03 15:01:14 +08:00
Lin, Hung-Shin c6c70a4285 Merge pull request #53 from linux-odyssey/dependabot/npm_and_yarn/postcss-8.4.31
build(deps-dev): bump postcss from 8.4.26 to 8.4.31
2023-11-02 14:19:56 +08:00
Lin, Hung-Shin 733ef50a0a Merge pull request #54 from linux-odyssey/dependabot/npm_and_yarn/babel/traverse-7.23.2
build(deps): bump @babel/traverse from 7.22.8 to 7.23.2
2023-11-02 14:19:11 +08:00
Lin, Hung-Shin b6101c3453 Update ci_cd.yml 2023-11-02 14:13:00 +08:00
Lin, Hung-Shin c4b30e3a21 Merge pull request #49 from linux-odyssey/quest
Fix: Improve quest 'helloworld'
2023-11-02 13:27:00 +08:00
Lin, Hung-Shin 3da809e107 Merge pull request #36 from linux-odyssey/security
Security
2023-11-02 13:24:57 +08:00
Lin, Hung-Shin 72aded98b1 feat: move out env from docker-compose.prod.yml 2023-11-02 12:39:25 +08:00
Lin, Hung-Shin 14043b3f12 feat: specify trust proxies 2023-11-02 12:11:15 +08:00
Lin, Hung-Shin a5896e7c15 feat: remove username length limit 2023-11-02 11:36:53 +08:00
Lin, Hung-Shin b09aa0debf feat: refactor frontend auth error handling 2023-11-02 11:36:42 +08:00
wancat bcb9f1f803 fix: update frontend error handling 2023-11-01 23:30:28 +08:00
wancat af672791a5 feat: add cypress test script 2023-11-01 23:17:48 +08:00
wancat a5526d2dcf feat: setup default secretKey for development 2023-11-01 23:14:16 +08:00
wancat c008f82cb0 fix: container removal, no secretKey panic 2023-11-01 23:09:39 +08:00
wancat d4000eb5a6 feat: add validation before creating session 2023-11-01 22:59:32 +08:00
wancat bcfdf15559 feat: add error handling for choose username 2023-11-01 22:44:32 +08:00
wancat f65b72c5b4 feat: add rate limit for authentication
* improve error handling in frontend
2023-11-01 22:11:17 +08:00
wancat 203114cd5e feat: add validation for login 2023-11-01 21:35:25 +08:00
wancat fc6ac11c60 feat: complete register validation
* add password policy in frontend
2023-11-01 21:02:01 +08:00
Lin, Hung-Shin 1c9d69a8e0 feat: add validators for username, email, password
* not passed yet
2023-11-01 15:02:30 +08:00
Lin, Hung-Shin c551f0c92b fix: remove default user 2023-11-01 14:19:45 +08:00
Lin, Hung-Shin f18ec35a9f feat: generate secure secret key and prevent default 2023-11-01 14:19:18 +08:00
wancat b9a79eb435 feat: add get ip endpoint
* rename handler
* change rate limit
2023-10-31 00:27:06 +08:00
wancat 3b9ea9ea50 feat: setup proxy and x-forwarded-for header 2023-10-31 00:15:39 +08:00
wancat c10b05c401 feat: add global and session rate limit 2023-10-30 23:46:39 +08:00
wancat 252781477a feat: socket error handling
* create a new session when failed to connect to socket
* reset termnal on connect
2023-10-30 23:31:58 +08:00
wancat 9c3c6adb16 refactor: centralize all variable to sessionManager 2023-10-30 23:12:50 +08:00
wancat 5a7c4da628 refactor: add getOrCreateSession to simplify process 2023-10-30 22:43:27 +08:00
wancat 11bc793b12 refactor: separate createSession to sessionManager 2023-10-30 22:10:25 +08:00
Lin, Hung-Shin 7843020524 feat: disable global network in player containers 2023-10-30 21:28:10 +08:00
Lin, Hung-Shin f8254b55c9 Merge pull request #45 from linux-odyssey/quest
Add new functions for quest:

* new condition logic `or` & `not`: able to create nested condition
* new condition `files`: checks if a file or folder exists in the container
  * not support globbing yet
* send "pending" status when executing story, and set it back after execution
* include completed stage id in command

Dockerfile refactor:
* use multi-staged building
* remove Dockerfile.dev

Container:

* use axios instead of `fetch`

Other improvements:

* deactivate other sessions when creating a new one
* clear terminal on reset
2023-10-30 14:42:34 +08:00
Lin, Hung-Shin 51bf06e2a7 feat: remove wait for enter in dialogue 2023-10-30 14:21:52 +08:00
Lin, Hung-Shin 8782048334 Merge remote-tracking branch 'origin/quest' into quest 2023-10-30 14:00:07 +08:00
Lin, Hung-Shin 8a0512aac8 feat: clear terminal on reset
* TODO: have some trailing
2023-10-30 13:58:33 +08:00
Lin, Hung-Shin 0392fe9a65 refactor: separate Terminal instance 2023-10-30 13:55:10 +08:00
Lin, Hung-Shin 67c420d69e Merge pull request #48 from linux-odyssey/ui-revise
Fix: Fixed error message color
2023-10-30 13:50:07 +08:00
Lin, Hung-Shin 2285192eac feat: delete previous container on session creation 2023-10-30 13:31:59 +08:00
wancat 96678a45c3 feat: remove $ from condition field name 2023-10-29 17:42:31 +08:00
wancat 917083ad30 fix: remove debugging console log 2023-10-29 17:42:31 +08:00
wancat 40b6d3cd86 feat: remove testing stages 2023-10-29 17:42:31 +08:00
wancat d724f97403 feat: add pending signal to status 2023-10-29 17:42:31 +08:00
wancat aec0cf84ad feat: include complete stage name in command 2023-10-29 17:41:38 +08:00
wancat 8f22babe7d feat: sanitize file checks 2023-10-29 17:41:38 +08:00
Lin, Hung-Shin 50b1fe5124 feat: execute files check via docker cli
WARNING: possible command injection vunerability.
2023-10-29 17:41:38 +08:00
Lin, Hung-Shin 38f3dbcd65 feat: install docker cli in backend
* change the copy order to improve performance
2023-10-29 17:41:38 +08:00
Lin, Hung-Shin 579d53a273 feat: refactor dockerfiles
* combine dev and prod into multi-stages dockerfile
* replace node with node:20-alpine to reduce image size
2023-10-29 17:41:38 +08:00
Lin, Hung-Shin 625c1a80da feat: able to test files 2023-10-29 17:41:38 +08:00
Lin, Hung-Shin af27780763 feat: buildFileCheckCmd 2023-10-29 17:41:38 +08:00
Lin, Hung-Shin b7ecfe3980 feat: implement $not and $or condition 2023-10-29 17:41:38 +08:00
Lin, Hung-Shin e52682686a fix: load .zshrc in system dir 2023-10-29 17:41:38 +08:00
Lin, Hung-Shin 2f64175df2 feat: update quest schema
* files
* boolean operator
2023-10-29 17:41:38 +08:00
Lin, Hung-Shin fd088a35d0 Merge pull request #46 from linux-odyssey/ui-revise
UI revise
2023-10-28 23:05:09 +08:00
Lin, Hung-Shin c76f877255 Update index.html 2023-10-26 13:13:04 +08:00
Lin, Hung-Shin 87f885b32a Merge pull request #44 from linux-odyssey/feat-analytics
Add analytics script
2023-10-15 07:52:59 +08:00
Lin, Hung-Shin 64596b57dc Add analytics script 2023-10-15 07:48:05 +08:00
Lin, Hung-Shin d13d330a83 Merge pull request #43 from linux-odyssey/feat-add-username-hint
Add username instruction
2023-10-15 00:32:17 +08:00
Lin, Hung-Shin 2513f41515 Merge pull request #42 from linux-odyssey/fix-complete-modal
fix: change complete modal title
2023-10-14 23:06:21 +08:00
wancat 6f8d297b04 fix: change complete modal title 2023-10-14 23:04:39 +08:00
wancat 5e1457c007 feat: show modal on quest completing
TODO: use setTimeout for now
need to change to capture user's activity in container in the future
2023-10-14 22:52:57 +08:00
wancat 4ad1b865d6 feat: add survey modal ui 2023-10-14 22:44:11 +08:00
Lin, Hung-Shin 0741d3ea53 Merge pull request #34 from linux-odyssey/feat-analytics
feat: analytics
2023-10-14 19:50:08 +08:00
wancat 20927fe8aa feat: docker setup & deployment 2023-10-14 19:43:13 +08:00
wancat ad08bde4c4 feat: link error command to session detail page 2023-10-14 19:15:24 +08:00
wancat 2257b4b809 feat: session detail page 2023-10-14 19:15:07 +08:00
wancat a4f1c9fef1 fix: remove debugging log 2023-10-14 18:50:03 +08:00
wancat 4b2f20f384 fix: handle no value cases 2023-10-14 18:43:38 +08:00
wancat 277a1aec79 fix: remove unused populate 2023-10-14 18:43:22 +08:00
wancat fe1f595f0f feat: add sessions page 2023-10-14 18:28:01 +08:00
wancat 50e53b5667 feat: add error commands page 2023-10-14 17:43:12 +08:00
wancat d249207283 feat: add nav bar 2023-10-14 17:12:42 +08:00
wancat 9e990a2fa4 feat: users list page 2023-10-14 17:10:17 +08:00
wancat c8c9a584d0 fix: add social login to exist user 2023-10-14 17:09:50 +08:00
wancat abf1ecddb4 feat: add router and css 2023-10-14 16:17:47 +08:00
wancat cc95bb195b feat: add usercount, session count and complete rate 2023-10-14 16:03:44 +08:00
wancat add6bfd100 feat: connect analytics to mongo 2023-10-14 16:03:44 +08:00