Lin, Hung-Shin
0d886a686e
fix: remove console log in backend
2023-11-21 10:15:06 +08:00
Lin, Hung-Shin
82d1004ecf
wip: removing console log
2023-11-20 14:59:14 +08:00
Lin, Hung-Shin
515aefcadc
feat: add winston
2023-11-20 14:36:38 +08:00
Lin, Hung-Shin
9bdaa95bad
Update CI/CD workflows ( #66 )
...
**BREAKING CHANGES:**
* Schema change: put user social logins to a `socialLogins` map
* Original users would migrate to new schema without problem (because
sharing the same email)
* Docker images are moved to a new account
[linuxodyssey](https://hub.docker.com/u/linuxodyssey )
* Images are separate to different repo: frontend, backend, analytics,
quest-base
* Tags are only for versioning.
Major improvements:
* Deploy to production on releasing tags
* Deploy to staging on main branch pushes
* build docker images with versioning tags: `latest`, `main`, `v0.1.0`,
`pr-63`, etc.
* Add basic auth for admin dashboard. Specify username and password by
env.
Minor improvements:
* Upgrade code review bot to use GPT 4
* Centralize all user creation in `models/userManager.js`
* Update docker get image method, based on QUEST_PREFIX to generate the
image name
2023-11-19 15:10:23 +08:00
wancat
521cf46929
feat: add concurrency
2023-11-19 14:56:10 +08:00
wancat
2028075240
feat: setup admin env in prod compose
2023-11-19 14:51:36 +08:00
wancat
77cb555ae6
feat: add production deploy credentials
2023-11-19 14:36:56 +08:00
wancat
f9e0fade3b
fix: update quest image name
2023-11-18 22:25:05 +08:00
wancat
aed66a4fe5
fix: analytics login method
2023-11-18 22:22:51 +08:00
wancat
1ab394f187
feat: add basic auth to analytics
2023-11-18 22:22:34 +08:00
wancat
8430ce4428
feat: add error handling for oauthVerify
2023-11-18 21:46:03 +08:00
wancat
8d0ec00536
fix: checkout code on building
2023-11-18 18:43:26 +08:00
wancat
bf6aabb1c5
fix: passing docker hub secrets to build workflow
2023-11-18 18:37:29 +08:00
wancat
17277da171
fix: build cypress along with other images
2023-11-18 18:22:47 +08:00
wancat
f81c96be62
fix: fix createUser without password
2023-11-18 18:22:27 +08:00
wancat
d3945eeaa7
fix: change code review model to gpt 4
2023-11-18 18:12:03 +08:00
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