* WeChat QR Sign Up, Login, and Unbind
* Add QR Refresh Icon
* refactor wechat QR login, and apply Gitea `APIContexter`
* GET /api/wechat/official-account/generate-qr-code?qrExpireSeconds=${qrExpireSeconds}&sceneStr=${sceneStr}
* [Fix] QR Expiration Mask too dark
* [Refactor] Deprecated in-memory cache, ready for Redis
* [Doc] Resolve WeChat QR config conflict in k8s mode
* [Fix] WeChat QR Login by default
* [Fix] Zombie/Defunct Processes caused by SSH Daemon
* [Fix] WeChat QR Expiration Mask with a refresh button
* [Doc] Updated API response field `publicKeySsh` of GET `/api/devstar_ssh/key_pair/new_temp`
* [Feature] Get or default DevContainer image from `.devcontainer/devcontainer.json` parser
* [Fix] Relocate User Permanent SSH Public Key queries to DevcontainerService Layer
* [Fix] Add Unix Timestamps in DB table `devstar_devcontainer`
* [Feature] Tencent NAT port forwarding
* [Doc] k8s Operator RBAC: ServiceAccount, ClusterRole, ClusterRoleBinding, etc.
* [fix] k8s Operator Reconciler error while converting YAML to JSON
* [Doc] Added DevStar API Doc
* [fix] detailed errors while listing user devcontainers
* [fix] Invalid metadata.labels: value must be no more than 63 characters
* Improvement: use commit SHA to tag artifact
* bugFix: inconsistent collation
* Added Database migration for DevStar Studio 1.0
* Updated Transaction for table `user_wechat_official_account_openid`
* WeChat Official Account binding/updating done
* WeChat Official Account QR login Success
------
Squashed commit of the following:
commit b6108854f87c72832b4ccf65f2b02cfa79818d28
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Tue Jul 30 11:43:27 2024 +0000
Wechat QR scan prototype done: frontend and backend
commit ace0cbbc75c5441c77121463a658115c59292727
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Tue Jul 30 07:53:47 2024 +0000
Updated ICP license for https://*.devstar.cn
commit eab20f110c1f89447ad7bea9dd1f325a99e1f196
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Tue Jul 30 04:14:11 2024 +0000
updated wechat callback and changed sceneStr with higher entropy
commit dd04b3b21b613d470d0ae27edbcead9aa2958861
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Mon Jul 29 14:33:04 2024 +0000
WeChat callback interfaces
commit 320ba2225a420feb58c3668d4afca96fcbfe5c79
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Mon Jul 29 13:16:16 2024 +0000
updated env settings
commit 2ed4e3e307
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 11:48:00 2024 +0000
resolved WARN NoEmptyContinuation (grammar mistakes), and removed trivial unit test for hCAPTCHA
commit 690157811b
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 10:21:39 2024 +0000
fix: checkout the corresponding branch(master or dev)
commit 046ff63e42
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 10:01:24 2024 +0000
test new CI pipeline workflow in the org repo, with a bunch of ENV vars
commit faf7f51d85
Author: 戴明辰 <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 07:59:31 2024 +0000
!1 DevStar Studio 界面原型 + CI流水线测试通过
* finalize this PoC repo, and migrate to the main repo (as a dev branch)
* bugFix: nullptr dereference @ routers/web/auth/wechat_utils.go
* bugFix: CAPTCHA needs manual reloading
* Updated UI
* Changed logo and favicon
* Made WeChat QR optional (will not cause HTTP 500 Internal Error), and …
* Added Unit Test in CI workflow, and removed redundant tests in dev container
* Compliance with open source licensing requirements
* Fix workflow: only exec 'docker rm' if there are dangling volumes
* Removed Magic values about: Docker registry(URL, username), k8s(nanesp…
* fix mistakes: git checkout branch should be master rather than the sta…
* Updated UI layouts and build scripts
* Updated copyright info and ICP License ID at page footer
* Updated ICP License ID at page footer
* Updated code ownership: web footer, logo and favicon
* Updated Internationalization(i18n): removed languages other than CN an…
commit 2ed4e3e307
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 11:48:00 2024 +0000
resolved WARN NoEmptyContinuation (grammar mistakes), and removed trivial unit test for hCAPTCHA
commit 690157811b
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 10:21:39 2024 +0000
fix: checkout the corresponding branch(master or dev)
commit 046ff63e42
Author: DAI Mingchen <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 10:01:24 2024 +0000
test new CI pipeline workflow in the org repo, with a bunch of ENV vars
commit faf7f51d85
Author: 戴明辰 <daimingchen@mail.ustc.edu.cn>
Date: Thu Jul 25 07:59:31 2024 +0000
!1 DevStar Studio 界面原型 + CI流水线测试通过
* finalize this PoC repo, and migrate to the main repo (as a dev branch)
* bugFix: nullptr dereference @ routers/web/auth/wechat_utils.go
* bugFix: CAPTCHA needs manual reloading
* Updated UI
* Changed logo and favicon
* Made WeChat QR optional (will not cause HTTP 500 Internal Error), and …
* Added Unit Test in CI workflow, and removed redundant tests in dev container
* Compliance with open source licensing requirements
* Fix workflow: only exec 'docker rm' if there are dangling volumes
* Removed Magic values about: Docker registry(URL, username), k8s(nanesp…
* fix mistakes: git checkout branch should be master rather than the sta…
* Updated UI layouts and build scripts
* Updated copyright info and ICP License ID at page footer
* Updated ICP License ID at page footer
* Updated code ownership: web footer, logo and favicon
* Updated Internationalization(i18n): removed languages other than CN an…
Fix#31361, and add tests
And this PR introduces an undocumented & debug-purpose-only config
option: `USE_SUB_URL_PATH`. It does nothing for end users, it only helps
the development of sub-path related problems.
And also fix#31366
Co-authored-by: @ExplodingDragon
Enable [unparam](https://github.com/mvdan/unparam) linter.
Often I could not tell the intention why param is unused, so I put
`//nolint` for those cases like webhook request creation functions never
using `ctx`.
---------
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
This solution implements a new config variable MAX_ROWS, which
corresponds to the “Maximum allowed rows to render CSV files. (0 for no
limit)” and rewrites the Render function for CSV files in markup module.
Now the render function only reads the file once, having MAX_FILE_SIZE+1
as a reader limit and MAX_ROWS as a row limit. When the file is larger
than MAX_FILE_SIZE or has more rows than MAX_ROWS, it only renders until
the limit, and displays a user-friendly warning informing that the
rendered data is not complete, in the user's language.
---
Previously, when a CSV file was larger than the limit, the render
function lost its function to render the code. There were also multiple
reads to the file, in order to determine its size and render or
pre-render.
The warning: 
This PR implemented object storages(LFS/Packages/Attachments and etc.)
for Azure Blob Storage. It depends on azure official golang SDK and can
support both the azure blob storage cloud service and azurite mock
server.
Replace #25458Fix#22527
- [x] CI Tests
- [x] integration test, MSSQL integration tests will now based on
azureblob
- [x] unit test
- [x] CLI Migrate Storage
- [x] Documentation for configuration added
------
TODO (other PRs):
- [ ] Improve performance of `blob download`.
---------
Co-authored-by: yp05327 <576951401@qq.com>
Add a configuration item to enable S3 virtual-hosted style (V2) to solve
the problem caused by some S3 service providers not supporting path
style (V1).
Follow #30454
And fix#24957
When using "preferred_username", if no such field,
`extractUserNameFromOAuth2` (old `getUserName`) shouldn't return an
error. All other USERNAME options do not return such error.
And fine tune some logic and error messages, make code more stable and
more friendly to end users.
Initial support for #25680
This PR only adds some simple styles from GitHub, it is big enough and
it focuses on adding the necessary framework-level supports. More styles
could be fine-tuned later.
Noteable additions:
- `redefines-builtin-id` forbid variable names that shadow go builtins
- `empty-lines` remove unnecessary empty lines that `gofumpt` does not
remove for some reason
- `superfluous-else` eliminate more superfluous `else` branches
Rules are also sorted alphabetically and I cleaned up various parts of
`.golangci.yml`.
Fix#29074 (allow to disable all builtin apps) and don't make the doctor
command remove the builtin apps.
By the way, rename refobject and joincond to camel case.
It doesn't change logic, it only does:
1. Rename the variable and function names
2. Use more consistent format when mentioning config section&key
3. Improve some messages
This allows you to hide the "Powered by" text in footer via
`SHOW_FOOTER_POWERED_BY` flag in configuration.
---------
Co-authored-by: silverwind <me@silverwind.io>
Major changes:
* Move some functions like "addReader" / "isSubDir" /
"addRecursiveExclude" to a separate package, and add tests
* Clarify the filename&dump type logic and add tests
* Clarify the logger behavior and remove FIXME comments
Co-authored-by: Giteabot <teabot@gitea.io>
## Changes
- Adds setting `EXTERNAL_USER_DISABLE_FEATURES` to disable any supported
user features when login type is not plain
- In general, this is necessary for SSO implementations to avoid
inconsistencies between the external account management and the linked
account
- Adds helper functions to encourage correct use
Previously, the default was a week.
As most instances don't set the setting, this leads to a bad user
experience by default.
## ⚠️ Breaking
If your instance requires a high level of security,
you may want to set `[security].LOGIN_REMEMBER_DAYS` so that logins are
not valid as long.
---------
Co-authored-by: Jason Song <i@wolfogre.com>