wancat
7d25c7efaa
feat: update workflows
...
* build images with automatic tags
* separate staging and production deployment
* reuse workflows
2023-11-18 18:05:42 +08:00
wancat
81581c4635
BREAKING: change user social login schema
2023-11-18 16:29:37 +08:00
Lin, Hung-Shin
9e935b320a
Feat build quests ( #65 )
...
Feat build quests
2023-11-17 15:16:34 +08:00
Lin, Hung-Shin
6735c9e9da
Feat automation test ( #63 )
...
Add cypress automation tests
- Verify Login and Register UI
- Verify Game Starting UI
- Verify Game Play
- Add global commands: Login with Password, Prepare for Game, Type
Command, Wait until active, Check pending
- Add .sh file for entering command
- Add .env loading in config
- Removed login using Google and GitHub
2023-11-17 14:07:02 +08:00
wancat
0e3b3cca11
fix: remove tear down step
2023-11-17 13:57:56 +08:00
wancat
535fef247f
fix: fix login failure by NODE_ENV=developement
2023-11-17 13:46:42 +08:00
Lin, Hung-Shin
8827446b71
fix: add longer timeout for getting xterm
2023-11-17 11:50:04 +08:00
Lin, Hung-Shin
e6de58d2ee
fix: include quests data in cypress image
2023-11-17 11:41:38 +08:00
Lin, Hung-Shin
387f577ae1
fix: rename setupTest
2023-11-17 11:41:33 +08:00
Lin, Hung-Shin
9193b9518a
fix: handle frontend error
2023-11-17 11:41:09 +08:00
Lin, Hung-Shin
ca057a657b
feat: disable rate limits when testing
2023-11-17 11:27:48 +08:00
Lin, Hung-Shin
d0c01fffa8
fix: enhance error handling in frontend
2023-11-17 11:18:14 +08:00
Lin, Hung-Shin
1f77328362
feat: add testing setup in backend
2023-11-17 10:59:47 +08:00
Lin, Hung-Shin
cb376caff0
Merge branch 'main' into feat-automation-test
2023-11-17 09:43:26 +08:00
wancat
c438756bde
feat: update CI/CD work, compose, and README
2023-11-16 21:13:18 +08:00
wancat
cd22988a49
feat: limit networking and memory during build
2023-11-16 21:11:32 +08:00
wancat
7b1591a6e3
feat: add build qeust images script
2023-11-16 20:49:54 +08:00
wancat
8bbd5da513
feat: load create session by quest image
2023-11-16 19:48:22 +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