Skip to content

Commit

Permalink
Merge branch 'master' into fix/111603-158197-auto-scroll-when-click-c…
Browse files Browse the repository at this point in the history
…hild-page
  • Loading branch information
reiji-h committed Jan 9, 2025
2 parents f3b4769 + cc7a2bc commit decc14b
Show file tree
Hide file tree
Showing 17 changed files with 220 additions and 79 deletions.
1 change: 1 addition & 0 deletions .devcontainer/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ services:
- node_modules:/workspace/growi/node_modules
- buildcache_app:/workspace/growi/apps/app/.next
- ../../growi-docker-compose:/workspace/growi-docker-compose:delegated
- ../../share:/workspace/share:delegated
tty: true

mongo:
Expand Down
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
# Changelog

## [Unreleased](https://github.com/weseek/growi/compare/v7.1.5...HEAD)
## [Unreleased](https://github.com/weseek/growi/compare/v7.1.6...HEAD)

*Please do not manually update this file. We've automated the process.*

## [v7.1.6](https://github.com/weseek/growi/compare/v7.1.5...v7.1.6) - 2024-12-26

### 💎 Features

* feat(ai): Save file to VectorStore in HTML format (#9462) @miya

### 🐛 Bug Fixes

* fix: remark-lsx pagination (#9513) @miya
* fix: Spelling miss of external_link in i18n (#9456) @reiji-h
* fix: Wider copy to clipboard area (#9450) @Ryosei-Fukushima
* fix: Error when creating pages with deep hierarchy (#9487) @reiji-h

### 🧰 Maintenance

* ci(deps): bump next from 14.2.13 to 14.2.15 (#9501) @dependabot

## [v7.1.5](https://github.com/weseek/growi/compare/v7.1.4...v7.1.5) - 2024-12-13

### 🚀 Improvement
Expand Down
1 change: 1 addition & 0 deletions apps/app/bin/swagger-jsdoc/definition-apiv3.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ module.exports = {
'UserGroups',
'Users Management',
'FullTextSearch Management',
'Install',
],
},
{
Expand Down
4 changes: 2 additions & 2 deletions apps/app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@growi/app",
"version": "7.1.6-RC.0",
"version": "7.1.7-RC.0",
"license": "MIT",
"private": "true",
"scripts": {
Expand Down Expand Up @@ -157,7 +157,7 @@
"multer": "~1.4.0",
"multer-autoreap": "^1.0.3",
"mustache": "^4.2.0",
"next": "^14.2.15",
"next": "^14.2.21",
"next-dynamic-loading-props": "^0.1.1",
"next-i18next": "^15.3.1",
"next-superjson": "^0.0.4",
Expand Down
4 changes: 2 additions & 2 deletions apps/app/public/static/locales/en_US/admin.json
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,9 @@
"id_detail": "Specification of the name of attribute which can identify the user in OIDC claims",
"username_detail": "Specification of mappings for <code>username</code> when creating new users",
"name_detail": "Specification of mappings for <code>name</code> when creating new users",
"mapping_detail": "Specification of mappings for %s when creating new users",
"mapping_detail": "Specification of mappings for {{target}} when creating new users",
"register_1": "Contact to OIDC IdP Administrator",
"register_2": "Register your OIDC App with \"Authorization callback URL\" as <code>%s</code>",
"register_2": "Register your OIDC App with \"Authorization callback URL\" as <code>{{url}}</code>",
"register_3": "Copy and paste your ClientID and Client Secret above",
"updated_oidc": "Succeeded to update OpenID Connect",
"Use discovered URL if empty": "Use discovered URL from \"Issuer Host\" if empty"
Expand Down
4 changes: 2 additions & 2 deletions apps/app/public/static/locales/fr_FR/admin.json
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,9 @@
"id_detail": "Specification of the name of attribute which can identify the user in OIDC claims",
"username_detail": "Spécifications des liaisons <code>username</code> lors de la création de nouveaux utilisateurs",
"name_detail": "Spécifications des liaisons <code>name</code> lors de la création de nouveaux utilisateurs",
"mapping_detail": "Spécifications des liaisons pour %s lors de la création de nouveaux utilisateurs",
"mapping_detail": "Spécifications des liaisons pour {{target}} lors de la création de nouveaux utilisateurs",
"register_1": "Contacter votre administrateur OIDC",
"register_2": "Configurer l'application OAuth avec l'un des URL de redirection autorisés avec <code>%s</code>",
"register_2": "Configurer l'application OAuth avec l'un des URL de redirection autorisés avec <code>{{url}}</code>",
"register_3": "Copier l'ID client et Secret client ci-dessus",
"updated_oidc": "Paramètres mis à jour",
"Use discovered URL if empty": "Use discovered URL from \"Issuer Host\" if empty"
Expand Down
2 changes: 1 addition & 1 deletion apps/app/public/static/locales/ja_JP/admin.json
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@
"name_detail": "新規ユーザー名(<code>name</code>)に関連付ける属性",
"mapping_detail": "新規ユーザーの{{target}}に関連付ける属性",
"register_1": "OIDC IdP Administrator へ接続します。",
"register_2": "OIDCアプリの認証コールバックURLを<code>%s</code>として登録します。",
"register_2": "OIDCアプリの認証コールバックURLを<code>{{url}}</code>として登録します。",
"register_3": "上記のClientIDとClient Secretをコピー&ペーストしてください。",
"updated_oidc": "OpenID Connect を更新しました",
"Use discovered URL if empty": "データベース側の値が空の場合、\"Issuer Host\"から検出した値を利用します。"
Expand Down
4 changes: 2 additions & 2 deletions apps/app/public/static/locales/zh_CN/admin.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,9 +209,9 @@
"id_detail": "Specification of the name of attribute which can identify the user in OIDC claims",
"username_detail": "Specification of mappings for <code>username</code> when creating new users",
"name_detail": "Specification of mappings for <code>name</code> when creating new users",
"mapping_detail": "Specification of mappings for %s when creating new users",
"mapping_detail": "Specification of mappings for {{target}} when creating new users",
"register_1": "Contact to OIDC IdP Administrator",
"register_2": "Register your OIDC App with \"Authorization callback URL\" as <code>%s</code>",
"register_2": "Register your OIDC App with \"Authorization callback URL\" as <code>{{url}}</code>",
"register_3": "Copy and paste your ClientID and Client Secret above",
"updated_oidc": "Succeeded to update OpenID Connect",
"Use discovered URL if empty": "Use discovered URL from \"Issuer Host\" if empty"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ class OidcSecurityManagementContents extends React.Component {
<div className=" card custom-card bg-body-tertiary">
<ol id="collapseHelpForOidcOauth" className="collapse mb-0">
<li>{t('security_settings.OAuth.OIDC.register_1')}</li>
<li>{t('security_settings.OAuth.OIDC.register_2')}</li>
<li dangerouslySetInnerHTML={{ __html: t('security_settings.OAuth.OIDC.register_2', { url: oidcCallbackUrl }) }} />
<li>{t('security_settings.OAuth.OIDC.register_3')}</li>
</ol>
</div>
Expand Down
42 changes: 42 additions & 0 deletions apps/app/src/server/routes/apiv3/installer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,48 @@ module.exports = (crowi: Crowi): Router => {

const minPasswordLength = configManager.getConfig('crowi', 'app:minPasswordLength');

/**
* @swagger
*
* /installer:
* post:
* tags: [Install]
* security: []
* operationId: Install
* summary: /installer
* description: Install GROWI
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* properties:
* registerForm:
* type: object
* properties:
* name:
* type: string
* username:
* type: string
* email:
* type: string
* password:
* type: string
* app:globalLang:
* type: string
* default: en_US
* responses:
* 200:
* description: import settings params
* content:
* application/json:
* schema:
* properties:
* message:
* type: string
* example: Installation completed (Logged in as an admin user)
*/
// eslint-disable-next-line max-len
router.post('/', registerRules(minPasswordLength), registerValidation, addActivity, async(req: FormRequest, res: ApiV3Response) => {
const appService = crowi.appService;
Expand Down
42 changes: 42 additions & 0 deletions apps/app/src/server/routes/apiv3/invited.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,48 @@ module.exports = (crowi: Crowi): Router => {
const applicationInstalled = require('../../middlewares/application-installed')(crowi);
const router = express.Router();

/**
* @swagger
*
* /invited:
* post:
* tags: [Users]
* security:
* - cookieAuth: []
* operationId: activateInvitedUser
* summary: /invited
* description: Activate invited user
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* properties:
* invitedForm:
* type: object
* properties:
* username:
* type: string
* description: The username of the invited user.
* name:
* type: string
* description: The name of the invited user.
* password:
* type: string
* description: The password for the invited user.
* responses:
* 200:
* description: User activated successfully
* content:
* application/json:
* schema:
* type: object
* properties:
* redirectTo:
* type: string
* description: URL to redirect after successful activation.
*/
router.post('/', applicationInstalled, invitedRules(), invitedValidation, async(req: InvitedFormRequest, res: ApiV3Response) => {
if (!req.user) {
return res.apiv3({ redirectTo: '/login' });
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import type { IPageHasId } from '@growi/core';
import mongoose from 'mongoose';

import { type PageModel } from '~/server/models/page';

export const convertNullToEmptyGrantedArrays = async(): Promise<void> => {
const Page = mongoose.model<IPageHasId, PageModel>('Page');

const requests = [
{
updateMany: {
// Matches documents where field is null or nonexistent
// https://www.mongodb.com/docs/manual/tutorial/query-for-null-fields/#equality-filter
filter: { grantedUsers: null },
update: {
$set: { grantedUsers: [] },
},
},
},
{
updateMany: {
filter: { grantedGroups: null },
update: {
$set: { grantedGroups: [] },
},
},
},
];

await Page.bulkWrite(requests);
};
2 changes: 2 additions & 0 deletions apps/app/src/server/service/normalize-data/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { normalizeExpiredAtForThreadRelations } from '~/features/openai/server/services/normalize-data';
import loggerFactory from '~/utils/logger';

import { convertNullToEmptyGrantedArrays } from './convert-null-to-empty-granted-arrays';
import { convertRevisionPageIdToObjectId } from './convert-revision-page-id-to-objectid';
import { renameDuplicateRootPages } from './rename-duplicate-root-pages';

Expand All @@ -10,6 +11,7 @@ export const normalizeData = async(): Promise<void> => {
await renameDuplicateRootPages();
await convertRevisionPageIdToObjectId();
await normalizeExpiredAtForThreadRelations();
await convertNullToEmptyGrantedArrays();

logger.info('normalizeData has been executed');
return;
Expand Down
2 changes: 1 addition & 1 deletion apps/slackbot-proxy/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@growi/slackbot-proxy",
"version": "7.1.6-slackbot-proxy.0",
"version": "7.1.7-slackbot-proxy.0",
"license": "MIT",
"private": "true",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "growi",
"version": "7.1.6-RC.0",
"version": "7.1.7-RC.0",
"description": "Team collaboration software using markdown",
"license": "MIT",
"private": "true",
Expand Down
2 changes: 1 addition & 1 deletion packages/presentation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"@growi/core": "workspace:^"
},
"devDependencies": {
"@marp-team/marp-core": "^3.9.0",
"@marp-team/marp-core": "^3.9.1",
"@marp-team/marpit": "^2.6.1",
"@types/mdast": "^4.0.4",
"@types/reveal.js": "^4.4.1",
Expand Down
Loading

0 comments on commit decc14b

Please sign in to comment.