Просмотр исходного кода

remove eslint-disable lines for max-len

Yuki Takei 2 месяцев назад
Родитель
Сommit
8b7ee1798b
53 измененных файлов с 417 добавлено и 507 удалено
  1. 0 2
      apps/app/src/client/components/Admin/App/MaintenanceMode.tsx
  2. 0 1
      apps/app/src/client/components/Admin/ElasticsearchManagement/StatusTable.jsx
  3. 202 206
      apps/app/src/client/components/Admin/Security/GitHubSecuritySettingContents.tsx
  4. 213 217
      apps/app/src/client/components/Admin/Security/GoogleSecuritySettingContents.tsx
  5. 0 1
      apps/app/src/client/components/Admin/Security/LocalSecuritySettingContents.tsx
  6. 0 2
      apps/app/src/client/components/Admin/Security/OidcSecuritySettingContents.tsx
  7. 0 3
      apps/app/src/client/components/Admin/Security/SamlSecuritySettingContents.tsx
  8. 0 1
      apps/app/src/client/components/Admin/SlackIntegration/CustomBotWithoutProxySecretTokenSection.jsx
  9. 0 3
      apps/app/src/client/components/Admin/SlackIntegration/CustomBotWithoutProxySettingsAccordion.jsx
  10. 0 1
      apps/app/src/client/components/Admin/SlackIntegration/ManageCommandsProcessWithoutProxy.jsx
  11. 0 1
      apps/app/src/client/components/Admin/Users/GrantAdminButton.tsx
  12. 0 1
      apps/app/src/client/components/Admin/Users/GrantReadOnlyButton.tsx
  13. 0 1
      apps/app/src/client/components/Admin/Users/RevokeAdminMenuItem.tsx
  14. 0 1
      apps/app/src/client/components/Admin/Users/RevokeReadOnlyMenuItem.tsx
  15. 0 1
      apps/app/src/client/components/Admin/Users/StatusSuspendMenuItem.tsx
  16. 0 1
      apps/app/src/client/components/Admin/Users/UserMenu.tsx
  17. 0 1
      apps/app/src/client/components/PageComment/CommentEditor.tsx
  18. 1 3
      apps/app/src/client/components/PageEditor/Cheatsheet.tsx
  19. 0 1
      apps/app/src/client/components/PageEditor/ScrollSyncHelper.tsx
  20. 0 2
      apps/app/src/client/services/side-effects/drawio-modal-launcher-for-view.ts
  21. 0 2
      apps/app/src/client/services/side-effects/handsontable-modal-launcher-for-view.ts
  22. 0 1
      apps/app/src/client/services/side-effects/page-updated.ts
  23. 0 2
      apps/app/src/components/Admin/Common/AdminNavigation.tsx
  24. 0 4
      apps/app/src/components/Common/GrowiLogo.jsx
  25. 0 1
      apps/app/src/features/growi-plugin/server/services/growi-plugin/growi-plugin.ts
  26. 0 1
      apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementModal.tsx
  27. 0 2
      apps/app/src/features/openai/client/components/AiAssistant/AiAssistantSidebar/AiAssistantSidebar.tsx
  28. 0 1
      apps/app/src/features/openai/interfaces/editor-assistant/llm-response-schemas.spec.ts
  29. 0 2
      apps/app/src/features/openai/server/routes/edit/index.ts
  30. 0 4
      apps/app/src/features/openai/server/services/assistant/editor-assistant.ts
  31. 0 2
      apps/app/src/features/opentelemetry/server/anonymization/utils/anonymize-query-params.spec.ts
  32. 0 1
      apps/app/src/features/opentelemetry/server/semconv.ts
  33. 0 1
      apps/app/src/features/search/client/components/PrivateLegacyPages.tsx
  34. 0 1
      apps/app/src/server/crowi/express-init.js
  35. 0 1
      apps/app/src/server/models/in-app-notification-settings.ts
  36. 0 1
      apps/app/src/server/routes/apiv3/app-settings/file-upload-setting.ts
  37. 0 1
      apps/app/src/server/routes/apiv3/forgot-password.js
  38. 0 1
      apps/app/src/server/routes/apiv3/installer.ts
  39. 0 4
      apps/app/src/server/routes/apiv3/notification-setting.js
  40. 0 3
      apps/app/src/server/routes/apiv3/security-settings/index.js
  41. 0 1
      apps/app/src/server/routes/apiv3/slack-integration-settings.js
  42. 0 3
      apps/app/src/server/routes/apiv3/slack-integration.js
  43. 0 1
      apps/app/src/server/routes/apiv3/users.js
  44. 0 2
      apps/app/src/server/routes/index.js
  45. 0 1
      apps/app/src/server/service/file-uploader/utils/headers.ts
  46. 0 3
      apps/app/src/server/service/g2g-transfer.ts
  47. 0 2
      apps/app/src/server/service/page/index.ts
  48. 1 2
      apps/app/src/server/service/search.ts
  49. 0 1
      apps/app/test/integration/service/v5.migration.test.js
  50. 0 1
      apps/slackbot-proxy/src/controllers/slack.ts
  51. 0 1
      apps/slackbot-proxy/src/middlewares/slack-to-growi/url-verification.ts
  52. 0 2
      apps/slackbot-proxy/src/utils/welcome-message.ts
  53. 0 1
      bin/data-migrations/src/migrations/v70x/bootstrap5.js

+ 0 - 2
apps/app/src/client/components/Admin/App/MaintenanceMode.tsx

@@ -42,7 +42,6 @@ export const MaintenanceMode: FC = () => {
       );
       );
     }
     }
 
 
-    // eslint-disable-next-line max-len
     toastSuccess(
     toastSuccess(
       isMaintenanceMode
       isMaintenanceMode
         ? t('admin:maintenance_mode.successfully_ended_maintenance_mode')
         ? t('admin:maintenance_mode.successfully_ended_maintenance_mode')
@@ -65,7 +64,6 @@ export const MaintenanceMode: FC = () => {
             ? t('admin:maintenance_mode.warning_message_to_end')
             ? t('admin:maintenance_mode.warning_message_to_end')
             : t('admin:maintenance_mode.warning_message_to_start')
             : t('admin:maintenance_mode.warning_message_to_start')
         }
         }
-        // eslint-disable-next-line max-len
         supplymentaryMessage={
         supplymentaryMessage={
           isMaintenanceMode
           isMaintenanceMode
             ? null
             ? null

+ 0 - 1
apps/app/src/client/components/Admin/ElasticsearchManagement/StatusTable.jsx

@@ -29,7 +29,6 @@ class StatusTable extends React.PureComponent {
       );
       );
     } else {
     } else {
       connectionStatusLabel = isConnected ? (
       connectionStatusLabel = isConnected ? (
-        // eslint-disable-next-line max-len
         <span
         <span
           data-testid="connection-status-badge-connected"
           data-testid="connection-status-badge-connected"
           className="badge text-bg-success"
           className="badge text-bg-success"

+ 202 - 206
apps/app/src/client/components/Admin/Security/GitHubSecuritySettingContents.tsx

@@ -1,5 +1,4 @@
-/* eslint-disable react/no-danger */
-import React, { useCallback, useEffect } from 'react';
+import { useCallback, useEffect } from 'react';
 import { pathUtils } from '@growi/core/dist/utils';
 import { pathUtils } from '@growi/core/dist/utils';
 import { useTranslation } from 'next-i18next';
 import { useTranslation } from 'next-i18next';
 import { useForm } from 'react-hook-form';
 import { useForm } from 'react-hook-form';
@@ -62,243 +61,240 @@ const GitHubSecurityManagementContents = (props: Props) => {
 
 
   return (
   return (
     <form onSubmit={handleSubmit(onClickSubmit)}>
     <form onSubmit={handleSubmit(onClickSubmit)}>
-      <React.Fragment>
-        <h2 className="alert-anchor border-bottom">
-          {t('security_settings.OAuth.GitHub.name')}
-        </h2>
+      <h2 className="alert-anchor border-bottom">
+        {t('security_settings.OAuth.GitHub.name')}
+      </h2>
 
 
-        {retrieveError != null && (
-          <div className="alert alert-danger">
-            <p>
-              {t('Error occurred')} : {retrieveError}
-            </p>
+      {retrieveError != null && (
+        <div className="alert alert-danger">
+          <p>
+            {t('Error occurred')} : {retrieveError}
+          </p>
+        </div>
+      )}
+
+      <div className="row my-4">
+        <div className="col-6 offset-3">
+          <div className="form-check form-switch form-check-success">
+            <input
+              id="isGitHubEnabled"
+              className="form-check-input"
+              type="checkbox"
+              checked={
+                adminGeneralSecurityContainer.state.isGitHubEnabled || false
+              }
+              onChange={() => {
+                adminGeneralSecurityContainer.switchIsGitHubOAuthEnabled();
+              }}
+            />
+            <label
+              className="form-label form-check-label"
+              htmlFor="isGitHubEnabled"
+            >
+              {t('security_settings.OAuth.GitHub.enable_github')}
+            </label>
           </div>
           </div>
-        )}
+          {!adminGeneralSecurityContainer.state.setupStrategies.includes(
+            'github',
+          ) &&
+            isGitHubEnabled && (
+              <div className="badge text-bg-warning">
+                {t('security_settings.setup_is_not_yet_complete')}
+              </div>
+            )}
+        </div>
+      </div>
 
 
-        <div className="row my-4">
-          <div className="col-6 offset-3">
-            <div className="form-check form-switch form-check-success">
-              <input
-                id="isGitHubEnabled"
-                className="form-check-input"
-                type="checkbox"
-                checked={
-                  adminGeneralSecurityContainer.state.isGitHubEnabled || false
-                }
-                onChange={() => {
-                  adminGeneralSecurityContainer.switchIsGitHubOAuthEnabled();
+      <div className="row mb-4">
+        <label
+          className="form-label col-12 col-md-3 text-start text-md-end py-2"
+          htmlFor="gitHubCallbackUrl"
+        >
+          {t('security_settings.callback_URL')}
+        </label>
+        <div className="col-12 col-md-6">
+          <input
+            id="gitHubCallbackUrl"
+            className="form-control"
+            type="text"
+            value={gitHubCallbackUrl}
+            readOnly
+          />
+          <p className="form-text text-muted small">
+            {t('security_settings.desc_of_callback_URL', {
+              AuthName: 'OAuth',
+            })}
+          </p>
+          {(siteUrl == null || siteUrl === '') && (
+            <div className="alert alert-danger">
+              <span className="material-symbols-outlined">error</span>
+              <span
+                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+                dangerouslySetInnerHTML={{
+                  __html: t('alert.siteUrl_is_not_set', {
+                    link: `<a href="/admin/app">${t('headers.app_settings', { ns: 'commons' })}<span class="material-symbols-outlined">login</span></a>`,
+                    ns: 'commons',
+                  }),
                 }}
                 }}
               />
               />
-              <label
-                className="form-label form-check-label"
-                htmlFor="isGitHubEnabled"
-              >
-                {t('security_settings.OAuth.GitHub.enable_github')}
-              </label>
             </div>
             </div>
-            {!adminGeneralSecurityContainer.state.setupStrategies.includes(
-              'github',
-            ) &&
-              isGitHubEnabled && (
-                <div className="badge text-bg-warning">
-                  {t('security_settings.setup_is_not_yet_complete')}
-                </div>
-              )}
-          </div>
+          )}
         </div>
         </div>
+      </div>
 
 
-        <div className="row mb-4">
-          <label
-            className="form-label col-12 col-md-3 text-start text-md-end py-2"
-            htmlFor="gitHubCallbackUrl"
-          >
-            {t('security_settings.callback_URL')}
-          </label>
-          <div className="col-12 col-md-6">
-            <input
-              id="gitHubCallbackUrl"
-              className="form-control"
-              type="text"
-              value={gitHubCallbackUrl}
-              readOnly
-            />
-            <p className="form-text text-muted small">
-              {t('security_settings.desc_of_callback_URL', {
-                AuthName: 'OAuth',
-              })}
-            </p>
-            {(siteUrl == null || siteUrl === '') && (
-              <div className="alert alert-danger">
-                <span className="material-symbols-outlined">error</span>
-                <span // eslint-disable-next-line max-len
+      {isGitHubEnabled && (
+        <>
+          <h3 className="border-bottom mb-4">
+            {t('security_settings.configuration')}
+          </h3>
+
+          <div className="row mb-4">
+            <label
+              htmlFor="githubClientId"
+              className="col-3 text-end py-2 form-label"
+            >
+              {t('security_settings.clientID')}
+            </label>
+            <div className="col-6">
+              <input
+                className="form-control"
+                type="text"
+                {...register('githubClientId')}
+              />
+              <p className="form-text text-muted">
+                <small
                   // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                   // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                   dangerouslySetInnerHTML={{
                   dangerouslySetInnerHTML={{
-                    __html: t('alert.siteUrl_is_not_set', {
-                      link: `<a href="/admin/app">${t('headers.app_settings', { ns: 'commons' })}<span class="material-symbols-outlined">login</span></a>`,
-                      ns: 'commons',
+                    __html: t('security_settings.Use env var if empty', {
+                      env: 'OAUTH_GITHUB_CLIENT_ID',
                     }),
                     }),
                   }}
                   }}
                 />
                 />
-              </div>
-            )}
+              </p>
+            </div>
           </div>
           </div>
-        </div>
 
 
-        {isGitHubEnabled && (
-          <React.Fragment>
-            <h3 className="border-bottom mb-4">
-              {t('security_settings.configuration')}
-            </h3>
-
-            <div className="row mb-4">
-              <label
-                htmlFor="githubClientId"
-                className="col-3 text-end py-2 form-label"
-              >
-                {t('security_settings.clientID')}
-              </label>
-              <div className="col-6">
-                <input
-                  className="form-control"
-                  type="text"
-                  {...register('githubClientId')}
+          <div className="row mb-3">
+            <label
+              htmlFor="githubClientSecret"
+              className="col-3 text-end py-2 form-label"
+            >
+              {t('security_settings.client_secret')}
+            </label>
+            <div className="col-6">
+              <input
+                className="form-control"
+                type="text"
+                {...register('githubClientSecret')}
+              />
+              <p className="form-text text-muted">
+                <small
+                  // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+                  dangerouslySetInnerHTML={{
+                    __html: t('security_settings.Use env var if empty', {
+                      env: 'OAUTH_GITHUB_CLIENT_SECRET',
+                    }),
+                  }}
                 />
                 />
-                <p className="form-text text-muted">
-                  <small
-                    // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                    dangerouslySetInnerHTML={{
-                      __html: t('security_settings.Use env var if empty', {
-                        env: 'OAUTH_GITHUB_CLIENT_ID',
-                      }),
-                    }}
-                  />
-                </p>
-              </div>
+              </p>
             </div>
             </div>
+          </div>
 
 
-            <div className="row mb-3">
-              <label
-                htmlFor="githubClientSecret"
-                className="col-3 text-end py-2 form-label"
-              >
-                {t('security_settings.client_secret')}
-              </label>
-              <div className="col-6">
+          <div className="row mb-3">
+            <div className="offset-3 col-6 text-start">
+              <div className="form-check form-check-success">
                 <input
                 <input
-                  className="form-control"
-                  type="text"
-                  {...register('githubClientSecret')}
+                  id="bindByUserNameGitHub"
+                  className="form-check-input"
+                  type="checkbox"
+                  checked={
+                    adminGitHubSecurityContainer.state
+                      .isSameUsernameTreatedAsIdenticalUser || false
+                  }
+                  onChange={() => {
+                    adminGitHubSecurityContainer.switchIsSameUsernameTreatedAsIdenticalUser();
+                  }}
                 />
                 />
-                <p className="form-text text-muted">
-                  <small
-                    // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                    dangerouslySetInnerHTML={{
-                      __html: t('security_settings.Use env var if empty', {
-                        env: 'OAUTH_GITHUB_CLIENT_SECRET',
-                      }),
-                    }}
-                  />
-                </p>
-              </div>
-            </div>
-
-            <div className="row mb-3">
-              <div className="offset-3 col-6 text-start">
-                <div className="form-check form-check-success">
-                  <input
-                    id="bindByUserNameGitHub"
-                    className="form-check-input"
-                    type="checkbox"
-                    checked={
-                      adminGitHubSecurityContainer.state
-                        .isSameUsernameTreatedAsIdenticalUser || false
-                    }
-                    onChange={() => {
-                      adminGitHubSecurityContainer.switchIsSameUsernameTreatedAsIdenticalUser();
-                    }}
-                  />
-                  <label
-                    className="form-check-label"
-                    htmlFor="bindByUserNameGitHub"
-                  >
-                    <span
-                      // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                      dangerouslySetInnerHTML={{
-                        __html: t(
-                          'security_settings.Treat email matching as identical',
-                        ),
-                      }}
-                    />
-                  </label>
-                </div>
-                <p className="form-text text-muted">
-                  <small
+                <label
+                  className="form-check-label"
+                  htmlFor="bindByUserNameGitHub"
+                >
+                  <span
                     // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                     // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                     dangerouslySetInnerHTML={{
                     dangerouslySetInnerHTML={{
                       __html: t(
                       __html: t(
-                        'security_settings.Treat email matching as identical_warn',
+                        'security_settings.Treat email matching as identical',
                       ),
                       ),
                     }}
                     }}
                   />
                   />
-                </p>
+                </label>
               </div>
               </div>
+              <p className="form-text text-muted">
+                <small
+                  // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+                  dangerouslySetInnerHTML={{
+                    __html: t(
+                      'security_settings.Treat email matching as identical_warn',
+                    ),
+                  }}
+                />
+              </p>
             </div>
             </div>
+          </div>
 
 
-            <div className="row mb-4">
-              <div className="offset-3 col-5">
-                <button
-                  type="submit"
-                  className="btn btn-primary"
-                  disabled={retrieveError != null}
-                >
-                  {t('Update')}
-                </button>
-              </div>
+          <div className="row mb-4">
+            <div className="offset-3 col-5">
+              <button
+                type="submit"
+                className="btn btn-primary"
+                disabled={retrieveError != null}
+              >
+                {t('Update')}
+              </button>
             </div>
             </div>
-          </React.Fragment>
-        )}
+          </div>
+        </>
+      )}
 
 
-        <hr />
+      <hr />
 
 
-        <div style={{ minHeight: '300px' }}>
-          <h4>
-            <span className="material-symbols-outlined" aria-hidden="true">
-              help
-            </span>
-            <a href="#collapseHelpForGitHubOauth" data-bs-toggle="collapse">
-              {' '}
-              {t('security_settings.OAuth.how_to.github')}
-            </a>
-          </h4>
-          <div className="card custom-card bg-body-tertiary">
-            <ol id="collapseHelpForGitHubOauth" className="collapse mb-0">
-              {/* eslint-disable-next-line max-len */}
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.GitHub.register_1', {
-                    link: '<a href="https://github.com/settings/developers" target=_blank>GitHub Developer Settings</a>',
-                  }),
-                }}
-              />
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.GitHub.register_2', {
-                    url: gitHubCallbackUrl,
-                  }),
-                }}
-              />
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.GitHub.register_3'),
-                }}
-              />
-            </ol>
-          </div>
+      <div style={{ minHeight: '300px' }}>
+        <h4>
+          <span className="material-symbols-outlined" aria-hidden="true">
+            help
+          </span>
+          <a href="#collapseHelpForGitHubOauth" data-bs-toggle="collapse">
+            {' '}
+            {t('security_settings.OAuth.how_to.github')}
+          </a>
+        </h4>
+        <div className="card custom-card bg-body-tertiary">
+          <ol id="collapseHelpForGitHubOauth" className="collapse mb-0">
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.GitHub.register_1', {
+                  link: '<a href="https://github.com/settings/developers" target=_blank>GitHub Developer Settings</a>',
+                }),
+              }}
+            />
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.GitHub.register_2', {
+                  url: gitHubCallbackUrl,
+                }),
+              }}
+            />
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.GitHub.register_3'),
+              }}
+            />
+          </ol>
         </div>
         </div>
-      </React.Fragment>
+      </div>
     </form>
     </form>
   );
   );
 };
 };

+ 213 - 217
apps/app/src/client/components/Admin/Security/GoogleSecuritySettingContents.tsx

@@ -62,256 +62,252 @@ const GoogleSecurityManagementContents = (props: Props) => {
 
 
   return (
   return (
     <form onSubmit={handleSubmit(onClickSubmit)}>
     <form onSubmit={handleSubmit(onClickSubmit)}>
-      <React.Fragment>
-        <h2 className="alert-anchor border-bottom">
-          {t('security_settings.OAuth.Google.name')}
-        </h2>
+      <h2 className="alert-anchor border-bottom">
+        {t('security_settings.OAuth.Google.name')}
+      </h2>
 
 
-        {retrieveError != null && (
-          <div className="alert alert-danger">
-            <p>
-              {t('Error occurred')} : {retrieveError}
-            </p>
+      {retrieveError != null && (
+        <div className="alert alert-danger">
+          <p>
+            {t('Error occurred')} : {retrieveError}
+          </p>
+        </div>
+      )}
+
+      <div className="row my-4">
+        <div className="col-6 offset-3">
+          <div className="form-check form-switch form-check-success">
+            <input
+              id="isGoogleEnabled"
+              className="form-check-input"
+              type="checkbox"
+              checked={
+                adminGeneralSecurityContainer.state.isGoogleEnabled || false
+              }
+              onChange={() => {
+                adminGeneralSecurityContainer.switchIsGoogleOAuthEnabled();
+              }}
+            />
+            <label
+              className="form-label form-check-label"
+              htmlFor="isGoogleEnabled"
+            >
+              {t('security_settings.OAuth.Google.enable_google')}
+            </label>
           </div>
           </div>
-        )}
+          {!adminGeneralSecurityContainer.state.setupStrategies.includes(
+            'google',
+          ) &&
+            isGoogleEnabled && (
+              <div className="badge text-bg-warning">
+                {t('security_settings.setup_is_not_yet_complete')}
+              </div>
+            )}
+        </div>
+      </div>
 
 
-        <div className="row my-4">
-          <div className="col-6 offset-3">
-            <div className="form-check form-switch form-check-success">
-              <input
-                id="isGoogleEnabled"
-                className="form-check-input"
-                type="checkbox"
-                checked={
-                  adminGeneralSecurityContainer.state.isGoogleEnabled || false
-                }
-                onChange={() => {
-                  adminGeneralSecurityContainer.switchIsGoogleOAuthEnabled();
+      <div className="row mb-5">
+        <label
+          className="form-label col-12 col-md-3 text-start text-md-end py-2"
+          htmlFor="googleCallbackUrl"
+        >
+          {t('security_settings.callback_URL')}
+        </label>
+        <div className="col-12 col-md-6">
+          <input
+            id="googleCallbackUrl"
+            className="form-control"
+            type="text"
+            value={googleCallbackUrl}
+            readOnly
+          />
+          <p className="form-text text-muted small">
+            {t('security_settings.desc_of_callback_URL', {
+              AuthName: 'OAuth',
+            })}
+          </p>
+          {(siteUrl == null || siteUrl === '') && (
+            <div className="alert alert-danger">
+              <span className="material-symbols-outlined">error</span>
+              <span
+                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+                dangerouslySetInnerHTML={{
+                  __html: t('alert.siteUrl_is_not_set', {
+                    link: `<a href="/admin/app">${t('headers.app_settings', { ns: 'commons' })}<span class="material-symbols-outlined">login</span></a>`,
+                    ns: 'commons',
+                  }),
                 }}
                 }}
               />
               />
-              <label
-                className="form-label form-check-label"
-                htmlFor="isGoogleEnabled"
-              >
-                {t('security_settings.OAuth.Google.enable_google')}
-              </label>
             </div>
             </div>
-            {!adminGeneralSecurityContainer.state.setupStrategies.includes(
-              'google',
-            ) &&
-              isGoogleEnabled && (
-                <div className="badge text-bg-warning">
-                  {t('security_settings.setup_is_not_yet_complete')}
-                </div>
-              )}
-          </div>
+          )}
         </div>
         </div>
+      </div>
 
 
-        <div className="row mb-5">
-          <label
-            className="form-label col-12 col-md-3 text-start text-md-end py-2"
-            htmlFor="googleCallbackUrl"
-          >
-            {t('security_settings.callback_URL')}
-          </label>
-          <div className="col-12 col-md-6">
-            <input
-              id="googleCallbackUrl"
-              className="form-control"
-              type="text"
-              value={googleCallbackUrl}
-              readOnly
-            />
-            <p className="form-text text-muted small">
-              {t('security_settings.desc_of_callback_URL', {
-                AuthName: 'OAuth',
-              })}
-            </p>
-            {(siteUrl == null || siteUrl === '') && (
-              <div className="alert alert-danger">
-                <span className="material-symbols-outlined">error</span>
-                <span
-                  // eslint-disable-next-line max-len
+      {isGoogleEnabled && (
+        <React.Fragment>
+          <h3 className="border-bottom mb-4">
+            {t('security_settings.configuration')}
+          </h3>
+
+          <div className="row mb-4">
+            <label
+              htmlFor="googleClientId"
+              className="col-3 text-end py-2 form-label"
+            >
+              {t('security_settings.clientID')}
+            </label>
+            <div className="col-6">
+              <input
+                className="form-control"
+                type="text"
+                {...register('googleClientId')}
+              />
+              <p className="form-text text-muted">
+                <small
                   // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                   // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                   dangerouslySetInnerHTML={{
                   dangerouslySetInnerHTML={{
-                    __html: t('alert.siteUrl_is_not_set', {
-                      link: `<a href="/admin/app">${t('headers.app_settings', { ns: 'commons' })}<span class="material-symbols-outlined">login</span></a>`,
-                      ns: 'commons',
+                    __html: t('security_settings.Use env var if empty', {
+                      env: 'OAUTH_GOOGLE_CLIENT_ID',
                     }),
                     }),
                   }}
                   }}
                 />
                 />
-              </div>
-            )}
+              </p>
+            </div>
           </div>
           </div>
-        </div>
 
 
-        {isGoogleEnabled && (
-          <React.Fragment>
-            <h3 className="border-bottom mb-4">
-              {t('security_settings.configuration')}
-            </h3>
-
-            <div className="row mb-4">
-              <label
-                htmlFor="googleClientId"
-                className="col-3 text-end py-2 form-label"
-              >
-                {t('security_settings.clientID')}
-              </label>
-              <div className="col-6">
-                <input
-                  className="form-control"
-                  type="text"
-                  {...register('googleClientId')}
+          <div className="row mb-4">
+            <label
+              htmlFor="googleClientSecret"
+              className="col-3 text-end py-2 form-label"
+            >
+              {t('security_settings.client_secret')}
+            </label>
+            <div className="col-6">
+              <input
+                className="form-control"
+                type="password"
+                {...register('googleClientSecret')}
+              />
+              <p className="form-text text-muted">
+                <small
+                  // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+                  dangerouslySetInnerHTML={{
+                    __html: t('security_settings.Use env var if empty', {
+                      env: 'OAUTH_GOOGLE_CLIENT_SECRET',
+                    }),
+                  }}
                 />
                 />
-                <p className="form-text text-muted">
-                  <small
-                    // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                    dangerouslySetInnerHTML={{
-                      __html: t('security_settings.Use env var if empty', {
-                        env: 'OAUTH_GOOGLE_CLIENT_ID',
-                      }),
-                    }}
-                  />
-                </p>
-              </div>
+              </p>
             </div>
             </div>
+          </div>
 
 
-            <div className="row mb-4">
-              <label
-                htmlFor="googleClientSecret"
-                className="col-3 text-end py-2 form-label"
-              >
-                {t('security_settings.client_secret')}
-              </label>
-              <div className="col-6">
+          <div className="row mb-3">
+            <div className="offset-3 col-6">
+              <div className="form-check form-check-success">
                 <input
                 <input
-                  className="form-control"
-                  type="password"
-                  {...register('googleClientSecret')}
+                  id="bindByUserNameGoogle"
+                  className="form-check-input"
+                  type="checkbox"
+                  checked={
+                    adminGoogleSecurityContainer.state
+                      .isSameEmailTreatedAsIdenticalUser || false
+                  }
+                  onChange={() => {
+                    adminGoogleSecurityContainer.switchIsSameEmailTreatedAsIdenticalUser();
+                  }}
                 />
                 />
-                <p className="form-text text-muted">
-                  <small
-                    // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                    dangerouslySetInnerHTML={{
-                      __html: t('security_settings.Use env var if empty', {
-                        env: 'OAUTH_GOOGLE_CLIENT_SECRET',
-                      }),
-                    }}
-                  />
-                </p>
-              </div>
-            </div>
-
-            <div className="row mb-3">
-              <div className="offset-3 col-6">
-                <div className="form-check form-check-success">
-                  <input
-                    id="bindByUserNameGoogle"
-                    className="form-check-input"
-                    type="checkbox"
-                    checked={
-                      adminGoogleSecurityContainer.state
-                        .isSameEmailTreatedAsIdenticalUser || false
-                    }
-                    onChange={() => {
-                      adminGoogleSecurityContainer.switchIsSameEmailTreatedAsIdenticalUser();
-                    }}
-                  />
-                  <label
-                    className="form-check-label"
-                    htmlFor="bindByUserNameGoogle"
-                  >
-                    <span
-                      // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                      dangerouslySetInnerHTML={{
-                        __html: t(
-                          'security_settings.Treat email matching as identical',
-                        ),
-                      }}
-                    />
-                  </label>
-                </div>
-                <p className="form-text text-muted">
-                  <small
+                <label
+                  className="form-check-label"
+                  htmlFor="bindByUserNameGoogle"
+                >
+                  <span
                     // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                     // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                     dangerouslySetInnerHTML={{
                     dangerouslySetInnerHTML={{
                       __html: t(
                       __html: t(
-                        'security_settings.Treat email matching as identical_warn',
+                        'security_settings.Treat email matching as identical',
                       ),
                       ),
                     }}
                     }}
                   />
                   />
-                </p>
+                </label>
               </div>
               </div>
+              <p className="form-text text-muted">
+                <small
+                  // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+                  dangerouslySetInnerHTML={{
+                    __html: t(
+                      'security_settings.Treat email matching as identical_warn',
+                    ),
+                  }}
+                />
+              </p>
             </div>
             </div>
+          </div>
 
 
-            <div className="row mb-4">
-              <div className="offset-3 col-5">
-                <button
-                  type="submit"
-                  className="btn btn-primary"
-                  disabled={retrieveError != null}
-                >
-                  {t('Update')}
-                </button>
-              </div>
+          <div className="row mb-4">
+            <div className="offset-3 col-5">
+              <button
+                type="submit"
+                className="btn btn-primary"
+                disabled={retrieveError != null}
+              >
+                {t('Update')}
+              </button>
             </div>
             </div>
-          </React.Fragment>
-        )}
+          </div>
+        </React.Fragment>
+      )}
 
 
-        <hr />
+      <hr />
 
 
-        <div style={{ minHeight: '300px' }}>
-          <h4>
-            <span className="material-symbols-outlined" aria-hidden="true">
-              help
-            </span>
-            <a href="#collapseHelpForGoogleOauth" data-bs-toggle="collapse">
-              {' '}
-              {t('security_settings.OAuth.how_to.google')}
-            </a>
-          </h4>
-          <div className="card custom-card bg-body-tertiary">
-            <ol id="collapseHelpForGoogleOauth" className="collapse mb-0">
-              {/* eslint-disable-next-line max-len */}
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.Google.register_1', {
-                    link: '<a href="https://console.cloud.google.com/apis/credentials" target=_blank>Google Cloud Platform API Manager</a>',
-                  }),
-                }}
-              />
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.Google.register_2'),
-                }}
-              />
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.Google.register_3'),
-                }}
-              />
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.Google.register_4', {
-                    url: googleCallbackUrl,
-                  }),
-                }}
-              />
-              <li
-                // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
-                dangerouslySetInnerHTML={{
-                  __html: t('security_settings.OAuth.Google.register_5'),
-                }}
-              />
-            </ol>
-          </div>
+      <div style={{ minHeight: '300px' }}>
+        <h4>
+          <span className="material-symbols-outlined" aria-hidden="true">
+            help
+          </span>
+          <a href="#collapseHelpForGoogleOauth" data-bs-toggle="collapse">
+            {' '}
+            {t('security_settings.OAuth.how_to.google')}
+          </a>
+        </h4>
+        <div className="card custom-card bg-body-tertiary">
+          <ol id="collapseHelpForGoogleOauth" className="collapse mb-0">
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.Google.register_1', {
+                  link: '<a href="https://console.cloud.google.com/apis/credentials" target=_blank>Google Cloud Platform API Manager</a>',
+                }),
+              }}
+            />
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.Google.register_2'),
+              }}
+            />
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.Google.register_3'),
+              }}
+            />
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.Google.register_4', {
+                  url: googleCallbackUrl,
+                }),
+              }}
+            />
+            <li
+              // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
+              dangerouslySetInnerHTML={{
+                __html: t('security_settings.OAuth.Google.register_5'),
+              }}
+            />
+          </ol>
         </div>
         </div>
-      </React.Fragment>
+      </div>
     </form>
     </form>
   );
   );
 };
 };

+ 0 - 1
apps/app/src/client/components/Admin/Security/LocalSecuritySettingContents.tsx

@@ -75,7 +75,6 @@ const LocalSecuritySettingContents = (props: Props): JSX.Element => {
       {adminLocalSecurityContainer.state.useOnlyEnvVars && (
       {adminLocalSecurityContainer.state.useOnlyEnvVars && (
         <p
         <p
           className="alert alert-info"
           className="alert alert-info"
-          // eslint-disable-next-line max-len
           // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
           // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
           dangerouslySetInnerHTML={{
           dangerouslySetInnerHTML={{
             __html: t('security_settings.Local.note for the only env option', {
             __html: t('security_settings.Local.note for the only env option', {

+ 0 - 2
apps/app/src/client/components/Admin/Security/OidcSecuritySettingContents.tsx

@@ -180,7 +180,6 @@ const OidcSecurityManagementContents = (props: Props) => {
             <div className="alert alert-danger">
             <div className="alert alert-danger">
               <span className="material-symbols-outlined">error</span>
               <span className="material-symbols-outlined">error</span>
               <span
               <span
-                // eslint-disable-next-line max-len
                 // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                 // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                 dangerouslySetInnerHTML={{
                 dangerouslySetInnerHTML={{
                   __html: t('alert.siteUrl_is_not_set', {
                   __html: t('alert.siteUrl_is_not_set', {
@@ -628,7 +627,6 @@ const OidcSecurityManagementContents = (props: Props) => {
                 <div className="alert alert-danger">
                 <div className="alert alert-danger">
                   <span className="material-symbols-outlined">error</span>
                   <span className="material-symbols-outlined">error</span>
                   <span
                   <span
-                    // eslint-disable-next-line max-len
                     // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                     // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                     dangerouslySetInnerHTML={{
                     dangerouslySetInnerHTML={{
                       __html: t('alert.siteUrl_is_not_set', {
                       __html: t('alert.siteUrl_is_not_set', {

+ 0 - 3
apps/app/src/client/components/Admin/Security/SamlSecuritySettingContents.tsx

@@ -158,7 +158,6 @@ const SamlSecurityManagementContents = (props: Props) => {
             <div className="alert alert-danger">
             <div className="alert alert-danger">
               <span className="material-symbols-outlined">error</span>
               <span className="material-symbols-outlined">error</span>
               <span
               <span
-                // eslint-disable-next-line max-len
                 // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                 // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                 dangerouslySetInnerHTML={{
                 dangerouslySetInnerHTML={{
                   __html: t('alert.siteUrl_is_not_set', {
                   __html: t('alert.siteUrl_is_not_set', {
@@ -466,7 +465,6 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     {...register('samlAttrMapFirstName')}
                     {...register('samlAttrMapFirstName')}
                   />
                   />
                   <p className="form-text text-muted">
                   <p className="form-text text-muted">
-                    {/* eslint-disable-next-line max-len */}
                     <small
                     <small
                       // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                       // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                       dangerouslySetInnerHTML={{
                       dangerouslySetInnerHTML={{
@@ -522,7 +520,6 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     {...register('samlAttrMapLastName')}
                     {...register('samlAttrMapLastName')}
                   />
                   />
                   <p className="form-text text-muted">
                   <p className="form-text text-muted">
-                    {/* eslint-disable-next-line max-len */}
                     <small
                     <small
                       // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                       // biome-ignore lint/security/noDangerouslySetInnerHtml: trusted translation markup
                       dangerouslySetInnerHTML={{
                       dangerouslySetInnerHTML={{

+ 0 - 1
apps/app/src/client/components/Admin/SlackIntegration/CustomBotWithoutProxySecretTokenSection.jsx

@@ -80,7 +80,6 @@ const CustomBotWithoutProxySecretTokenSection = (props) => {
             readOnly
             readOnly
           />
           />
           <p className="form-text text-muted">
           <p className="form-text text-muted">
-            {/* eslint-disable-next-line max-len, react/no-danger */}
             <small
             <small
               // biome-ignore lint/security/noDangerouslySetInnerHtml: includes markup from i18n strings
               // biome-ignore lint/security/noDangerouslySetInnerHtml: includes markup from i18n strings
               dangerouslySetInnerHTML={{
               dangerouslySetInnerHTML={{

+ 0 - 3
apps/app/src/client/components/Admin/SlackIntegration/CustomBotWithoutProxySettingsAccordion.jsx

@@ -177,7 +177,6 @@ const CustomBotWithoutProxySettingsAccordion = (props) => {
         defaultIsActive={defaultOpenAccordionKeys.has(
         defaultIsActive={defaultOpenAccordionKeys.has(
           botInstallationStep.REGISTER_SLACK_CONFIGURATION,
           botInstallationStep.REGISTER_SLACK_CONFIGURATION,
         )}
         )}
-        // eslint-disable-next-line max-len
         title={
         title={
           <>
           <>
             <span className="me-3">3</span>
             <span className="me-3">3</span>
@@ -202,7 +201,6 @@ const CustomBotWithoutProxySettingsAccordion = (props) => {
         defaultIsActive={defaultOpenAccordionKeys.has(
         defaultIsActive={defaultOpenAccordionKeys.has(
           botInstallationStep.CONNECTION_TEST,
           botInstallationStep.CONNECTION_TEST,
         )}
         )}
-        // eslint-disable-next-line max-len
         title={
         title={
           <>
           <>
             <span className="me-3">4</span>
             <span className="me-3">4</span>
@@ -219,7 +217,6 @@ const CustomBotWithoutProxySettingsAccordion = (props) => {
         defaultIsActive={defaultOpenAccordionKeys.has(
         defaultIsActive={defaultOpenAccordionKeys.has(
           botInstallationStep.CONNECTION_TEST,
           botInstallationStep.CONNECTION_TEST,
         )}
         )}
-        // eslint-disable-next-line max-len
         title={
         title={
           <>
           <>
             <span className="me-3">5</span>
             <span className="me-3">5</span>

+ 0 - 1
apps/app/src/client/components/Admin/SlackIntegration/ManageCommandsProcessWithoutProxy.jsx

@@ -263,7 +263,6 @@ const ManageCommandsProcessWithoutProxy = ({
           <div className="form-check">
           <div className="form-check">
             <div className="row mb-5 d-block">
             <div className="row mb-5 d-block">
               {defaultCommandsName.map((commandName) => {
               {defaultCommandsName.map((commandName) => {
-                // eslint-disable-next-line max-len
                 return (
                 return (
                   <SinglePermissionSettingComponent
                   <SinglePermissionSettingComponent
                     key={`${commandName}-component`}
                     key={`${commandName}-component`}

+ 0 - 1
apps/app/src/client/components/Admin/Users/GrantAdminButton.tsx

@@ -40,7 +40,6 @@ const GrantAdminButton = (props: GrantAdminButtonProps): JSX.Element => {
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-// eslint-disable-next-line max-len
 const GrantAdminButtonWrapper: React.ForwardRefExoticComponent<
 const GrantAdminButtonWrapper: React.ForwardRefExoticComponent<
   Pick<any, string | number | symbol> & React.RefAttributes<any>
   Pick<any, string | number | symbol> & React.RefAttributes<any>
 > = withUnstatedContainers(GrantAdminButton, [AdminUsersContainer]);
 > = withUnstatedContainers(GrantAdminButton, [AdminUsersContainer]);

+ 0 - 1
apps/app/src/client/components/Admin/Users/GrantReadOnlyButton.tsx

@@ -37,7 +37,6 @@ const GrantReadOnlyButton: React.FC<{
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-// eslint-disable-next-line max-len
 const GrantReadOnlyButtonWrapper: React.ForwardRefExoticComponent<
 const GrantReadOnlyButtonWrapper: React.ForwardRefExoticComponent<
   Pick<any, string | number | symbol> & React.RefAttributes<any>
   Pick<any, string | number | symbol> & React.RefAttributes<any>
 > = withUnstatedContainers(GrantReadOnlyButton, [AdminUsersContainer]);
 > = withUnstatedContainers(GrantReadOnlyButton, [AdminUsersContainer]);

+ 0 - 1
apps/app/src/client/components/Admin/Users/RevokeAdminMenuItem.tsx

@@ -61,7 +61,6 @@ const RevokeAdminMenuItem = (props: Props): JSX.Element => {
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-// eslint-disable-next-line max-len
 const RevokeAdminMenuItemWrapper: React.ForwardRefExoticComponent<
 const RevokeAdminMenuItemWrapper: React.ForwardRefExoticComponent<
   Pick<any, string | number | symbol> & React.RefAttributes<any>
   Pick<any, string | number | symbol> & React.RefAttributes<any>
 > = withUnstatedContainers(RevokeAdminMenuItem, [AdminUsersContainer]);
 > = withUnstatedContainers(RevokeAdminMenuItem, [AdminUsersContainer]);

+ 0 - 1
apps/app/src/client/components/Admin/Users/RevokeReadOnlyMenuItem.tsx

@@ -37,7 +37,6 @@ const RevokeReadOnlyMenuItem: React.FC<{
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-// eslint-disable-next-line max-len
 const RevokeReadOnlyMenuItemWrapper: React.ForwardRefExoticComponent<
 const RevokeReadOnlyMenuItemWrapper: React.ForwardRefExoticComponent<
   Pick<any, string | number | symbol> & React.RefAttributes<any>
   Pick<any, string | number | symbol> & React.RefAttributes<any>
 > = withUnstatedContainers(RevokeReadOnlyMenuItem, [AdminUsersContainer]);
 > = withUnstatedContainers(RevokeReadOnlyMenuItem, [AdminUsersContainer]);

+ 0 - 1
apps/app/src/client/components/Admin/Users/StatusSuspendMenuItem.tsx

@@ -61,7 +61,6 @@ const StatusSuspendMenuItem = (props: Props): JSX.Element => {
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-// eslint-disable-next-line max-len
 const StatusSuspendMenuItemWrapper: React.ForwardRefExoticComponent<
 const StatusSuspendMenuItemWrapper: React.ForwardRefExoticComponent<
   Pick<any, string | number | symbol> & React.RefAttributes<any>
   Pick<any, string | number | symbol> & React.RefAttributes<any>
 > = withUnstatedContainers(StatusSuspendMenuItem, [AdminUsersContainer]);
 > = withUnstatedContainers(StatusSuspendMenuItem, [AdminUsersContainer]);

+ 0 - 1
apps/app/src/client/components/Admin/Users/UserMenu.tsx

@@ -146,7 +146,6 @@ const UserMenu = (props: UserMenuProps) => {
 /**
 /**
  * Wrapper component for using unstated
  * Wrapper component for using unstated
  */
  */
-// eslint-disable-next-line max-len
 const UserMenuWrapper: React.ForwardRefExoticComponent<
 const UserMenuWrapper: React.ForwardRefExoticComponent<
   Pick<any, string | number | symbol> & React.RefAttributes<any>
   Pick<any, string | number | symbol> & React.RefAttributes<any>
 > = withUnstatedContainers(UserMenu, [AdminUsersContainer]);
 > = withUnstatedContainers(UserMenu, [AdminUsersContainer]);

+ 0 - 1
apps/app/src/client/components/PageComment/CommentEditor.tsx

@@ -187,7 +187,6 @@ export const CommentEditor = (props: CommentEditorProps): JSX.Element => {
         err.message || 'An unknown error occured when posting comment';
         err.message || 'An unknown error occured when posting comment';
       setError(errorMessage);
       setError(errorMessage);
     }
     }
-    // eslint-disable-next-line max-len
   }, [
   }, [
     currentCommentId,
     currentCommentId,
     initializeEditor,
     initializeEditor,

+ 1 - 3
apps/app/src/client/components/PageEditor/Cheatsheet.tsx

@@ -1,6 +1,4 @@
-/* eslint-disable max-len */
-
-import React, { type JSX } from 'react';
+import type { JSX } from 'react';
 import { useTranslation } from 'next-i18next';
 import { useTranslation } from 'next-i18next';
 import { PrismAsyncLight } from 'react-syntax-highlighter';
 import { PrismAsyncLight } from 'react-syntax-highlighter';
 import { oneDark } from 'react-syntax-highlighter/dist/cjs/styles/prism';
 import { oneDark } from 'react-syntax-highlighter/dist/cjs/styles/prism';

+ 0 - 1
apps/app/src/client/components/PageEditor/ScrollSyncHelper.tsx

@@ -209,7 +209,6 @@ const scrollPreview = (
   editorRootElement.scrollTop = newScrollTop;
   editorRootElement.scrollTop = newScrollTop;
 };
 };
 
 
-// eslint-disable-next-line max-len
 export const useScrollSync = (
 export const useScrollSync = (
   codeMirrorKey: GlobalCodeMirrorEditorKey,
   codeMirrorKey: GlobalCodeMirrorEditorKey,
   previewRef: RefObject<HTMLDivElement | null>,
   previewRef: RefObject<HTMLDivElement | null>,

+ 0 - 2
apps/app/src/client/services/side-effects/drawio-modal-launcher-for-view.ts

@@ -36,7 +36,6 @@ export const useDrawioModalLauncherForView = (opts?: {
 
 
   const setRemoteLatestPageData = useSetRemoteLatestPageData();
   const setRemoteLatestPageData = useSetRemoteLatestPageData();
 
 
-  // eslint-disable-next-line max-len
   const updatePage = useCallback(
   const updatePage = useCallback(
     async (
     async (
       revisionId: string,
       revisionId: string,
@@ -80,7 +79,6 @@ export const useDrawioModalLauncherForView = (opts?: {
     [_updatePage, closeConflictDiffModal, currentPage, opts, shareLinkId],
     [_updatePage, closeConflictDiffModal, currentPage, opts, shareLinkId],
   );
   );
 
 
-  // eslint-disable-next-line max-len
   const generateResolveConflictHandler = useCallback(
   const generateResolveConflictHandler = useCallback(
     (
     (
       revisionId: string,
       revisionId: string,

+ 0 - 2
apps/app/src/client/services/side-effects/handsontable-modal-launcher-for-view.ts

@@ -40,7 +40,6 @@ export const useHandsontableModalLauncherForView = (opts?: {
 
 
   const setRemoteLatestPageData = useSetRemoteLatestPageData();
   const setRemoteLatestPageData = useSetRemoteLatestPageData();
 
 
-  // eslint-disable-next-line max-len
   const updatePage = useCallback(
   const updatePage = useCallback(
     async (
     async (
       revisionId: string,
       revisionId: string,
@@ -84,7 +83,6 @@ export const useHandsontableModalLauncherForView = (opts?: {
     [_updatePage, closeConflictDiffModal, currentPage, opts, shareLinkId],
     [_updatePage, closeConflictDiffModal, currentPage, opts, shareLinkId],
   );
   );
 
 
-  // eslint-disable-next-line max-len
   const generateResolveConflictHandler = useCallback(
   const generateResolveConflictHandler = useCallback(
     (
     (
       revisionId: string,
       revisionId: string,

+ 0 - 1
apps/app/src/client/services/side-effects/page-updated.ts

@@ -66,7 +66,6 @@ export const usePageUpdatedEffect = (): void => {
           closePageStatusAlert();
           closePageStatusAlert();
         }
         }
       }
       }
-      // eslint-disable-next-line max-len
     },
     },
     [
     [
       currentPage?._id,
       currentPage?._id,

+ 0 - 2
apps/app/src/components/Admin/Common/AdminNavigation.tsx

@@ -15,7 +15,6 @@ const MenuLabel = ({ menu }: { menu: string }) => {
   const { t } = useTranslation(['admin', 'commons']);
   const { t } = useTranslation(['admin', 'commons']);
 
 
   switch (menu) {
   switch (menu) {
-    /* eslint-disable no-multi-spaces, max-len */
     case 'app':
     case 'app':
       return (
       return (
         <>
         <>
@@ -149,7 +148,6 @@ const MenuLabel = ({ menu }: { menu: string }) => {
           {t('wiki_management_homepage')}
           {t('wiki_management_homepage')}
         </>
         </>
       );
       );
-    /* eslint-enable no-multi-spaces, max-len */
   }
   }
 };
 };
 
 

+ 0 - 4
apps/app/src/components/Common/GrowiLogo.jsx

@@ -14,22 +14,18 @@ const GrowiLogo = memo(() => (
     >
     >
       <title>GROWI</title>
       <title>GROWI</title>
       <path
       <path
-        // eslint-disable-next-line max-len
         d="M17.123 33.8015L10.4717 45.3855C10.2686 45.7427 10.2686 46.1829 10.4717 46.5337L15.5934 55.4514C15.7838 55.7767 16.171 55.9999 16.5645 55.9999H17.123L23.5014 44.9007L17.123 33.8015Z"
         d="M17.123 33.8015L10.4717 45.3855C10.2686 45.7427 10.2686 46.1829 10.4717 46.5337L15.5934 55.4514C15.7838 55.7767 16.171 55.9999 16.5645 55.9999H17.123L23.5014 44.9007L17.123 33.8015Z"
         className="group1"
         className="group1"
       />
       />
       <path
       <path
-        // eslint-disable-next-line max-len
         d="M50.8118 29.0493L42.0343 44.3331C41.8693 44.6138 41.571 44.9072 41.0632 44.9072H23.4956L17.1172 56H47.4607C47.8542 56 48.1842 55.8023 48.3873 55.4514L63.5559 29.043H50.8118V29.0493Z"
         d="M50.8118 29.0493L42.0343 44.3331C41.8693 44.6138 41.571 44.9072 41.0632 44.9072H23.4956L17.1172 56H47.4607C47.8542 56 48.1842 55.8023 48.3873 55.4514L63.5559 29.043H50.8118V29.0493Z"
         className="group2"
         className="group2"
       />
       />
       <path
       <path
-        // eslint-disable-next-line max-len
         d="M63.8353 28.5773C64.0447 28.22 64.0574 27.8182 63.8543 27.461L58.7262 18.5369C58.5231 18.1797 58.174 17.9501 57.7615 17.9501H26.8975C26.485 17.9501 26.1106 18.1733 25.9011 18.5178L21.0586 26.9379L27.437 38.0499L32.1272 29.8849C32.4255 29.3746 32.9713 29.0557 33.5552 29.0557H63.5624L63.8353 28.5836V28.5773Z"
         d="M63.8353 28.5773C64.0447 28.22 64.0574 27.8182 63.8543 27.461L58.7262 18.5369C58.5231 18.1797 58.174 17.9501 57.7615 17.9501H26.8975C26.485 17.9501 26.1106 18.1733 25.9011 18.5178L21.0586 26.9379L27.437 38.0499L32.1272 29.8849C32.4255 29.3746 32.9713 29.0557 33.5552 29.0557H63.5624L63.8353 28.5836V28.5773Z"
         className="group1"
         className="group1"
       />
       />
       <path
       <path
-        // eslint-disable-next-line max-len
         d="M22.956 11.0992H54.4546L48.4125 0.580476C48.2094 0.22326 47.8604 0 47.4478 0H16.5839C16.1714 0 15.7969 0.204123 15.5875 0.56134L0.152321 27.4227C-0.0507735 27.7799 -0.0507735 28.2137 0.152321 28.5709L6.20706 39.1088L21.9595 11.6606C22.1626 11.3033 22.5434 11.0928 22.956 11.0928V11.0992Z"
         d="M22.956 11.0992H54.4546L48.4125 0.580476C48.2094 0.22326 47.8604 0 47.4478 0H16.5839C16.1714 0 15.7969 0.204123 15.5875 0.56134L0.152321 27.4227C-0.0507735 27.7799 -0.0507735 28.2137 0.152321 28.5709L6.20706 39.1088L21.9595 11.6606C22.1626 11.3033 22.5434 11.0928 22.956 11.0928V11.0992Z"
         className="group1"
         className="group1"
       />
       />

+ 0 - 1
apps/app/src/features/growi-plugin/server/services/growi-plugin/growi-plugin.ts

@@ -279,7 +279,6 @@ export class GrowiPluginService implements IGrowiPluginService {
     await GrowiPlugin.insertMany(plugins);
     await GrowiPlugin.insertMany(plugins);
   }
   }
 
 
-  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, max-len
   private static async detectPlugins(
   private static async detectPlugins(
     origin: IGrowiPluginOrigin,
     origin: IGrowiPluginOrigin,
     ghOrganizationName: string,
     ghOrganizationName: string,

+ 0 - 1
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementModal.tsx

@@ -160,7 +160,6 @@ const AiAssistantManagementModalSubstance = (): JSX.Element => {
       setSelectedUserGroupsForShareScope(populatedGrantedGroupsForShareScope);
       setSelectedUserGroupsForShareScope(populatedGrantedGroupsForShareScope);
       setSelectedUserGroupsForAccessScope(populatedGrantedGroupsForAccessScope);
       setSelectedUserGroupsForAccessScope(populatedGrantedGroupsForAccessScope);
     }
     }
-    // eslint-disable-next-line max-len
   }, [
   }, [
     aiAssistant?.accessScope,
     aiAssistant?.accessScope,
     aiAssistant?.additionalInstruction,
     aiAssistant?.additionalInstruction,

+ 0 - 2
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantSidebar/AiAssistantSidebar.tsx

@@ -417,8 +417,6 @@ const AiAssistantSidebarSubstance: React.FC<
         logger.error(err.toString());
         logger.error(err.toString());
         form.setError('input', { type: 'manual', message: err.toString() });
         form.setError('input', { type: 'manual', message: err.toString() });
       }
       }
-
-      // eslint-disable-next-line max-len
     },
     },
     [
     [
       isGenerating,
       isGenerating,

+ 0 - 1
apps/app/src/features/openai/interfaces/editor-assistant/llm-response-schemas.spec.ts

@@ -425,7 +425,6 @@ Line 3: Fixed indentation`,
       const realWorldDiff = {
       const realWorldDiff = {
         search:
         search:
           'function getUserData(id) {\n  return users.find(u => u.id === id);\n}',
           'function getUserData(id) {\n  return users.find(u => u.id === id);\n}',
-        // eslint-disable-next-line max-len, no-template-curly-in-string
         replace:
         replace:
           'async function getUserData(id) {\n  const user = await userService.findById(id);\n  if (!user) {\n    throw new Error(`User not found: \\${id}`);\n  }\n  return user;\n}',
           'async function getUserData(id) {\n  const user = await userService.findById(id);\n  if (!user) {\n    throw new Error(`User not found: \\${id}`);\n  }\n  return user;\n}',
         startLine: 15,
         startLine: 15,

+ 0 - 2
apps/app/src/features/openai/server/routes/edit/index.ts

@@ -65,7 +65,6 @@ type PostMessageHandlersFactory = (crowi: Crowi) => RequestHandler[];
 // -----------------------------------------------------------------------------
 // -----------------------------------------------------------------------------
 // Instructions
 // Instructions
 // -----------------------------------------------------------------------------
 // -----------------------------------------------------------------------------
-/* eslint-disable max-len */
 const withMarkdownCaution = `# IMPORTANT:
 const withMarkdownCaution = `# IMPORTANT:
 - Spaces and line breaks are also counted as individual characters.
 - Spaces and line breaks are also counted as individual characters.
 - The text for lines that do not need correction must be returned exactly as in the original text.
 - The text for lines that do not need correction must be returned exactly as in the original text.
@@ -115,7 +114,6 @@ The array should contain:
 
 
 ${withMarkdown ? withMarkdownCaution : ''}`;
 ${withMarkdown ? withMarkdownCaution : ''}`;
 }
 }
-/* eslint-disable max-len */
 
 
 function instructionForAssistantInstruction(
 function instructionForAssistantInstruction(
   assistantInstruction: string,
   assistantInstruction: string,

+ 0 - 4
apps/app/src/features/openai/server/services/assistant/editor-assistant.ts

@@ -10,7 +10,6 @@ import {
   instructionsForSystem,
   instructionsForSystem,
 } from './instructions/commons';
 } from './instructions/commons';
 
 
-/* eslint-disable max-len */
 const instructionsForUserIntentDetection = `# USER INTENT DETECTION:
 const instructionsForUserIntentDetection = `# USER INTENT DETECTION:
   First, analyze the user's message to determine their intent:
   First, analyze the user's message to determine their intent:
   - **Consultation Type**: Questions, discussions, explanations, or advice seeking WITHOUT explicit request to edit/modify/generate text
   - **Consultation Type**: Questions, discussions, explanations, or advice seeking WITHOUT explicit request to edit/modify/generate text
@@ -33,7 +32,6 @@ const instructionsForUserIntentDetection = `# USER INTENT DETECTION:
   - "Generate a new paragraph about..."
   - "Generate a new paragraph about..."
   - "Modify this to include..."
   - "Modify this to include..."
   - "Translate this text to English"`;
   - "Translate this text to English"`;
-/* eslint-enable max-len */
 
 
 const instructionsForContexts = `## Editing Contexts
 const instructionsForContexts = `## Editing Contexts
 
 
@@ -74,7 +72,6 @@ export const getOrCreateEditorAssistant =
     editorAssistant = await getOrCreateAssistant({
     editorAssistant = await getOrCreateAssistant({
       type: AssistantType.EDIT,
       type: AssistantType.EDIT,
       model: configManager.getConfig('openai:assistantModel:edit'),
       model: configManager.getConfig('openai:assistantModel:edit'),
-      /* eslint-disable max-len */
       instructions: `# Your Role
       instructions: `# Your Role
 You are an Editor Assistant for GROWI, a markdown wiki system.
 You are an Editor Assistant for GROWI, a markdown wiki system.
 Your task is to help users edit their markdown content based on their requests.
 Your task is to help users edit their markdown content based on their requests.
@@ -98,7 +95,6 @@ ${instructionsForUserIntentDetection}
 
 
 ${instructionsForFileSearch}
 ${instructionsForFileSearch}
 `,
 `,
-      /* eslint-enable max-len */
     });
     });
 
 
     return editorAssistant;
     return editorAssistant;

+ 0 - 2
apps/app/src/features/opentelemetry/server/anonymization/utils/anonymize-query-params.spec.ts

@@ -3,7 +3,6 @@ import { describe, expect, it } from 'vitest';
 import { anonymizeQueryParams } from './anonymize-query-params';
 import { anonymizeQueryParams } from './anonymize-query-params';
 
 
 describe('anonymizeQueryParams', () => {
 describe('anonymizeQueryParams', () => {
-  /* eslint-disable max-len */
   it.each`
   it.each`
     description                     | target                                                            | paramNames         | expected
     description                     | target                                                            | paramNames         | expected
     ${'no matching parameters'}     | ${'/_api/v3/test?other=value&another=test'}                       | ${['nonexistent']} | ${'/_api/v3/test?other=value&another=test'}
     ${'no matching parameters'}     | ${'/_api/v3/test?other=value&another=test'}                       | ${['nonexistent']} | ${'/_api/v3/test?other=value&another=test'}
@@ -21,7 +20,6 @@ describe('anonymizeQueryParams', () => {
     ${'URL with no query params'}   | ${'/_api/v3/test'}                                                | ${['q']}           | ${'/_api/v3/test'}
     ${'URL with no query params'}   | ${'/_api/v3/test'}                                                | ${['q']}           | ${'/_api/v3/test'}
     ${'complex path with encoding'} | ${'/_api/v3/test?path=%2Fuser%2Fjohn%20doe'}                      | ${['path']}        | ${'/_api/v3/test?path=%5BANONYMIZED%5D'}
     ${'complex path with encoding'} | ${'/_api/v3/test?path=%2Fuser%2Fjohn%20doe'}                      | ${['path']}        | ${'/_api/v3/test?path=%5BANONYMIZED%5D'}
   `('should handle $description', ({ target, paramNames, expected }) => {
   `('should handle $description', ({ target, paramNames, expected }) => {
-    /* eslint-enable max-len */
     const result = anonymizeQueryParams(target, paramNames);
     const result = anonymizeQueryParams(target, paramNames);
     expect(result).toBe(expected);
     expect(result).toBe(expected);
   });
   });

+ 0 - 1
apps/app/src/features/opentelemetry/server/semconv.ts

@@ -1,4 +1,3 @@
-/* eslint-disable max-len */
 /*
 /*
 ### Unstable SemConv
 ### Unstable SemConv
 
 

+ 0 - 1
apps/app/src/features/search/client/components/PrivateLegacyPages.tsx

@@ -501,7 +501,6 @@ const PrivateLegacyPages = (): JSX.Element => {
         {isAdmin && renderOpenModalButton()}
         {isAdmin && renderOpenModalButton()}
       </div>
       </div>
     );
     );
-    // eslint-disable-next-line max-len
   }, [
   }, [
     convertMenuItemClickedHandler,
     convertMenuItemClickedHandler,
     deleteAllButtonClickedHandler,
     deleteAllButtonClickedHandler,

+ 0 - 1
apps/app/src/server/crowi/express-init.js

@@ -57,7 +57,6 @@ module.exports = (crowi, app) => {
           (trustProxy) => trustProxy != null,
           (trustProxy) => trustProxy != null,
         ).length !== 1;
         ).length !== 1;
       if (isNotSpec) {
       if (isNotSpec) {
-        // eslint-disable-next-line max-len
         logger.warn(
         logger.warn(
           `If more than one TRUST_PROXY_ ~ environment variable is set, the values are set in the following order of inequality size (BOOL > CSV > HOPS) first. Set value: ${trustProxy}`,
           `If more than one TRUST_PROXY_ ~ environment variable is set, the values are set in the following order of inequality size (BOOL > CSV > HOPS) first. Set value: ${trustProxy}`,
         );
         );

+ 0 - 1
apps/app/src/server/models/in-app-notification-settings.ts

@@ -25,7 +25,6 @@ const inAppNotificationSettingsSchema = new Schema<
   ],
   ],
 });
 });
 
 
-// eslint-disable-next-line max-len
 export default getOrCreateModel<
 export default getOrCreateModel<
   InAppNotificationSettingsDocument,
   InAppNotificationSettingsDocument,
   InAppNotificationSettingsModel
   InAppNotificationSettingsModel

+ 0 - 1
apps/app/src/server/routes/apiv3/app-settings/file-upload-setting.ts

@@ -143,7 +143,6 @@ module.exports = (crowi) => {
 
 
   const activityEvent = crowi.event('activity');
   const activityEvent = crowi.event('activity');
 
 
-  //  eslint-disable-next-line max-len
   router.put(
   router.put(
     '/',
     '/',
     accessTokenParser([SCOPE.WRITE.ADMIN.APP]),
     accessTokenParser([SCOPE.WRITE.ADMIN.APP]),

+ 0 - 1
apps/app/src/server/routes/apiv3/forgot-password.js

@@ -222,7 +222,6 @@ module.exports = (crowi) => {
    *                  userData:
    *                  userData:
    *                    $ref: '#/components/schemas/User'
    *                    $ref: '#/components/schemas/User'
    */
    */
-  // eslint-disable-next-line max-len
   router.put(
   router.put(
     '/',
     '/',
     checkPassportStrategyMiddleware,
     checkPassportStrategyMiddleware,

+ 0 - 1
apps/app/src/server/routes/apiv3/installer.ts

@@ -81,7 +81,6 @@ module.exports = (crowi: Crowi): Router => {
    *                    type: string
    *                    type: string
    *                    example: Installation completed (Logged in as an admin user)
    *                    example: Installation completed (Logged in as an admin user)
    */
    */
-  // eslint-disable-next-line max-len
   router.post(
   router.post(
     '/',
     '/',
     registerRules(minPasswordLength),
     registerRules(minPasswordLength),

+ 0 - 4
apps/app/src/server/routes/apiv3/notification-setting.js

@@ -281,7 +281,6 @@ module.exports = (crowi) => {
    *                            $ref: '#/components/schemas/UserNotification'
    *                            $ref: '#/components/schemas/UserNotification'
    *                            description: user notification settings
    *                            description: user notification settings
    */
    */
-  // eslint-disable-next-line max-len
   router.post(
   router.post(
     '/user-notification',
     '/user-notification',
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
@@ -452,7 +451,6 @@ module.exports = (crowi) => {
    *                      description: notification param created
    *                      description: notification param created
    *                      $ref: '#/components/schemas/GlobalNotification'
    *                      $ref: '#/components/schemas/GlobalNotification'
    */
    */
-  // eslint-disable-next-line max-len
   router.post(
   router.post(
     '/global-notification',
     '/global-notification',
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
@@ -528,7 +526,6 @@ module.exports = (crowi) => {
    *                      description: notification param updated
    *                      description: notification param updated
    *                      $ref: '#/components/schemas/GlobalNotification'
    *                      $ref: '#/components/schemas/GlobalNotification'
    */
    */
-  // eslint-disable-next-line max-len
   router.put(
   router.put(
     '/global-notification/:id',
     '/global-notification/:id',
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
@@ -614,7 +611,6 @@ module.exports = (crowi) => {
    *                schema:
    *                schema:
    *                  $ref: '#/components/schemas/NotifyForPageGrant'
    *                  $ref: '#/components/schemas/NotifyForPageGrant'
    */
    */
-  // eslint-disable-next-line max-len
   router.put(
   router.put(
     '/notify-for-page-grant',
     '/notify-for-page-grant',
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),
     accessTokenParser([SCOPE.WRITE.ADMIN.EXTERNAL_NOTIFICATION]),

+ 0 - 3
apps/app/src/server/routes/apiv3/security-settings/index.js

@@ -900,7 +900,6 @@ module.exports = (crowi) => {
    *                  type: object
    *                  type: object
    *                  description: updated param
    *                  description: updated param
    */
    */
-  // eslint-disable-next-line max-len
   router.put(
   router.put(
     '/authentication/enabled',
     '/authentication/enabled',
     accessTokenParser([SCOPE.WRITE.ADMIN.SECURITY]),
     accessTokenParser([SCOPE.WRITE.ADMIN.SECURITY]),
@@ -1117,7 +1116,6 @@ module.exports = (crowi) => {
           req.body.pageDeletionAuthority,
           req.body.pageDeletionAuthority,
           req.body.pageRecursiveDeletionAuthority,
           req.body.pageRecursiveDeletionAuthority,
         );
         );
-      // eslint-disable-next-line max-len
       const [singleAuthority2, recursiveAuthority2] =
       const [singleAuthority2, recursiveAuthority2] =
         prepareDeleteConfigValuesForCalc(
         prepareDeleteConfigValuesForCalc(
           req.body.pageCompleteDeletionAuthority,
           req.body.pageCompleteDeletionAuthority,
@@ -1244,7 +1242,6 @@ module.exports = (crowi) => {
             'security:disableLinkSharing',
             'security:disableLinkSharing',
           ),
           ),
         };
         };
-        // eslint-disable-next-line max-len
         const parameters = {
         const parameters = {
           action: updateData['security:disableLinkSharing']
           action: updateData['security:disableLinkSharing']
             ? SupportedAction.ACTION_ADMIN_REJECT_SHARE_LINK
             ? SupportedAction.ACTION_ADMIN_REJECT_SHARE_LINK

+ 0 - 1
apps/app/src/server/routes/apiv3/slack-integration-settings.js

@@ -1057,7 +1057,6 @@ module.exports = (crowi) => {
    *           200:
    *           200:
    *             description: Succeeded to delete botType setting.
    *             description: Succeeded to delete botType setting.
    */
    */
-  // eslint-disable-next-line max-len
   router.post(
   router.post(
     '/slack-app-integrations/:id/relation-test',
     '/slack-app-integrations/:id/relation-test',
     accessTokenParser([SCOPE.WRITE.ADMIN.SLACK_INTEGRATION]),
     accessTokenParser([SCOPE.WRITE.ADMIN.SLACK_INTEGRATION]),

+ 0 - 3
apps/app/src/server/routes/apiv3/slack-integration.js

@@ -99,7 +99,6 @@ module.exports = (crowi) => {
           text: 'Command is not supported',
           text: 'Command is not supported',
           blocks: [
           blocks: [
             markdownSectionBlock('*Command is not supported*'),
             markdownSectionBlock('*Command is not supported*'),
-            // eslint-disable-next-line max-len
             markdownSectionBlock(
             markdownSectionBlock(
               `\`/growi ${growiCommand.growiCommandType}\` command is not supported in this version of GROWI bot. Run \`/growi help\` to see all supported commands.`,
               `\`/growi ${growiCommand.growiCommandType}\` command is not supported in this version of GROWI bot. Run \`/growi help\` to see all supported commands.`,
             ),
             ),
@@ -257,7 +256,6 @@ module.exports = (crowi) => {
   const verifyUrlMiddleware = (req, res, next) => {
   const verifyUrlMiddleware = (req, res, next) => {
     const { body } = req;
     const { body } = req;
 
 
-    // eslint-disable-next-line max-len
     // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
     // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
     if (body.type === 'url_verification') {
     if (body.type === 'url_verification') {
       return res.send({ challenge: body.challenge });
       return res.send({ challenge: body.challenge });
@@ -472,7 +470,6 @@ module.exports = (crowi) => {
     async (req, res) => {
     async (req, res) => {
       const { body } = req;
       const { body } = req;
 
 
-      // eslint-disable-next-line max-len
       // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
       // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
       if (body.type === 'url_verification') {
       if (body.type === 'url_verification') {
         return res.send({ challenge: body.challenge });
         return res.send({ challenge: body.challenge });

+ 0 - 1
apps/app/src/server/routes/apiv3/users.js

@@ -1584,7 +1584,6 @@ module.exports = (crowi) => {
           });
           });
         }
         }
 
 
-        // eslint-disable-next-line max-len
         const canIncludeMixedUsernames =
         const canIncludeMixedUsernames =
           (options.isIncludeMixedUsernames && req.user.admin) ||
           (options.isIncludeMixedUsernames && req.user.admin) ||
           (options.isIncludeMixedUsernames &&
           (options.isIncludeMixedUsernames &&

+ 0 - 2
apps/app/src/server/routes/index.js

@@ -60,8 +60,6 @@ module.exports = (crowi, app) => {
   const unavailableWhenMaintenanceModeForApi =
   const unavailableWhenMaintenanceModeForApi =
     generateUnavailableWhenMaintenanceModeMiddlewareForApi(crowi);
     generateUnavailableWhenMaintenanceModeMiddlewareForApi(crowi);
 
 
-  /* eslint-disable max-len, comma-spacing, no-multi-spaces */
-
   const [apiV3Router, apiV3AdminRouter, apiV3AuthRouter] = require('./apiv3')(
   const [apiV3Router, apiV3AdminRouter, apiV3AuthRouter] = require('./apiv3')(
     crowi,
     crowi,
     app,
     app,

+ 0 - 1
apps/app/src/server/service/file-uploader/utils/headers.ts

@@ -29,7 +29,6 @@ export const createContentHeaders = (
   // Content-Security-Policy
   // Content-Security-Policy
   headers.push({
   headers.push({
     field: 'Content-Security-Policy',
     field: 'Content-Security-Policy',
-    // eslint-disable-next-line max-len
     value:
     value:
       "script-src 'unsafe-hashes'; style-src 'self' 'unsafe-inline'; object-src 'none'; require-trusted-types-for 'script'; media-src 'self'; default-src 'none';",
       "script-src 'unsafe-hashes'; style-src 'self' 'unsafe-inline'; object-src 'none'; require-trusted-types-for 'script'; media-src 'self'; default-src 'none';",
   });
   });

+ 0 - 3
apps/app/src/server/service/g2g-transfer.ts

@@ -294,7 +294,6 @@ export class G2GTransferPusherService implements Pusher {
       return {
       return {
         canTransfer: false,
         canTransfer: false,
         // TODO: i18n for reason
         // TODO: i18n for reason
-        // eslint-disable-next-line max-len
         reason: `The number of active users (${activeUserCount} users) exceeds the limit of the destination GROWI (up to ${destGROWIInfo.userUpperLimit} users).`,
         reason: `The number of active users (${activeUserCount} users) exceeds the limit of the destination GROWI (up to ${destGROWIInfo.userUpperLimit} users).`,
       };
       };
     }
     }
@@ -336,7 +335,6 @@ export class G2GTransferPusherService implements Pusher {
       return {
       return {
         canTransfer: false,
         canTransfer: false,
         // TODO: i18n for reason
         // TODO: i18n for reason
-        // eslint-disable-next-line max-len
         reason: `The total file size of attachments exceeds the file upload limit of the destination GROWI. Requires ${totalFileSize.toLocaleString()} bytes, but got ${(destGROWIInfo.fileUploadTotalLimit as number).toLocaleString()} bytes.`,
         reason: `The total file size of attachments exceeds the file upload limit of the destination GROWI. Requires ${totalFileSize.toLocaleString()} bytes, but got ${(destGROWIInfo.fileUploadTotalLimit as number).toLocaleString()} bytes.`,
       };
       };
     }
     }
@@ -462,7 +460,6 @@ export class G2GTransferPusherService implements Pusher {
     }
     }
   }
   }
 
 
-  // eslint-disable-next-line max-len
   public async startTransfer(
   public async startTransfer(
     tk: TransferKey,
     tk: TransferKey,
     user: any,
     user: any,

+ 0 - 2
apps/app/src/server/service/page/index.ts

@@ -4074,7 +4074,6 @@ class PageService implements IPageService {
     let nextCount = count;
     let nextCount = count;
     let nextSkiped = skiped;
     let nextSkiped = skiped;
 
 
-    // eslint-disable-next-line max-len
     const buildPipelineToCreateEmptyPagesByUser =
     const buildPipelineToCreateEmptyPagesByUser =
       this.buildPipelineToCreateEmptyPagesByUser.bind(this);
       this.buildPipelineToCreateEmptyPagesByUser.bind(this);
 
 
@@ -5277,7 +5276,6 @@ class PageService implements IPageService {
       let isGrantNormalized = false;
       let isGrantNormalized = false;
       try {
       try {
         const shouldCheckDescendants = !options.overwriteScopesOfDescendants;
         const shouldCheckDescendants = !options.overwriteScopesOfDescendants;
-        // eslint-disable-next-line max-len
         isGrantNormalized = await this.pageGrantService.isGrantNormalized(
         isGrantNormalized = await this.pageGrantService.isGrantNormalized(
           user,
           user,
           clonedPageData.path,
           clonedPageData.path,

+ 1 - 2
apps/app/src/server/service/search.ts

@@ -595,8 +595,7 @@ class SearchService implements SearchQueryParser, SearchResolver {
         const highlightData = data._highlight;
         const highlightData = data._highlight;
         if (highlightData != null) {
         if (highlightData != null) {
           const snippet = this.canShowSnippet(pageData, user, userGroups)
           const snippet = this.canShowSnippet(pageData, user, userGroups)
-            ? // eslint-disable-next-line max-len
-              highlightData.body ||
+            ? highlightData.body ||
               highlightData['body.en'] ||
               highlightData['body.en'] ||
               highlightData['body.ja'] ||
               highlightData['body.ja'] ||
               highlightData.comments ||
               highlightData.comments ||

+ 0 - 1
apps/app/test/integration/service/v5.migration.test.js

@@ -1,4 +1,3 @@
-/* eslint-disable max-len */
 const mongoose = require('mongoose');
 const mongoose = require('mongoose');
 
 
 const { getInstance } = require('../setup-crowi');
 const { getInstance } = require('../setup-crowi');

+ 0 - 1
apps/slackbot-proxy/src/controllers/slack.ts

@@ -273,7 +273,6 @@ export class SlackCtrl {
         text: 'Command is not supported',
         text: 'Command is not supported',
         blocks: [
         blocks: [
           markdownSectionBlock('*Command is not supported*'),
           markdownSectionBlock('*Command is not supported*'),
-          // eslint-disable-next-line max-len
           markdownSectionBlock(
           markdownSectionBlock(
             `\`/growi ${growiCommand.growiCommandType}\` command is not supported in this version of GROWI bot. Run \`/growi help\` to see all supported commands.`,
             `\`/growi ${growiCommand.growiCommandType}\` command is not supported in this version of GROWI bot. Run \`/growi help\` to see all supported commands.`,
           ),
           ),

+ 0 - 1
apps/slackbot-proxy/src/middlewares/slack-to-growi/url-verification.ts

@@ -9,7 +9,6 @@ export class UrlVerificationMiddleware implements IMiddleware {
     @Res() res: Res,
     @Res() res: Res,
     @Next() next: Next,
     @Next() next: Next,
   ): Promise<void> {
   ): Promise<void> {
-    // eslint-disable-next-line max-len
     // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
     // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
     if (req.body.type === 'url_verification') {
     if (req.body.type === 'url_verification') {
       res.send(req.body.challenge);
       res.send(req.body.challenge);

+ 0 - 2
apps/slackbot-proxy/src/utils/welcome-message.ts

@@ -24,7 +24,6 @@ export const postWelcomeMessageOnce = async (
       ),
       ),
       markdownSectionBlock(
       markdownSectionBlock(
         'Looking for additional help? ' +
         'Looking for additional help? ' +
-          // eslint-disable-next-line max-len
           'See <https://docs.growi.org/en/admin-guide/management-cookbook/slack-integration/official-bot-settings.html#official-bot-settings | Docs>.',
           'See <https://docs.growi.org/en/admin-guide/management-cookbook/slack-integration/official-bot-settings.html#official-bot-settings | Docs>.',
       ),
       ),
     ],
     ],
@@ -44,7 +43,6 @@ export const postInstallSuccessMessage = async (
       ),
       ),
       markdownSectionBlock(
       markdownSectionBlock(
         'Looking for additional help? ' +
         'Looking for additional help? ' +
-          // eslint-disable-next-line max-len
           'See <https://docs.growi.org/en/admin-guide/management-cookbook/slack-integration/official-bot-settings.html#official-bot-settings | Docs>.',
           'See <https://docs.growi.org/en/admin-guide/management-cookbook/slack-integration/official-bot-settings.html#official-bot-settings | Docs>.',
       ),
       ),
     ],
     ],

+ 0 - 1
bin/data-migrations/src/migrations/v70x/bootstrap5.js

@@ -13,7 +13,6 @@ module.exports = [
     let replacedBody = body;
     let replacedBody = body;
 
 
     replacedBody = replacedBody.replace(
     replacedBody = replacedBody.replace(
-      // eslint-disable-next-line max-len
       /\sdata-(animation|autohide|boundary|container|content|custom-class|delay|dismiss|display|html|interval|keyboard|method|offset|pause|placement|popper-config|reference|ride|selector|slide(-to)?|target|template|title|toggle|touch|trigger|wrap)=/g,
       /\sdata-(animation|autohide|boundary|container|content|custom-class|delay|dismiss|display|html|interval|keyboard|method|offset|pause|placement|popper-config|reference|ride|selector|slide(-to)?|target|template|title|toggle|touch|trigger|wrap)=/g,
       (match, p1) => {
       (match, p1) => {
         if (p1 === 'toggle' && match.includes('data-bs-toggle="')) {
         if (p1 === 'toggle' && match.includes('data-bs-toggle="')) {