chore: remove disallow_public_visibility setting (#5743)

Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
memoclaw 2026-03-20 00:00:51 +08:00 committed by GitHub
parent 3f3133d6e2
commit 6f1f3d81c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
45 changed files with 16 additions and 140 deletions

View File

@ -155,8 +155,6 @@ message InstanceSetting {
// Memo-related instance settings and policies.
message MemoRelatedSetting {
// disallow_public_visibility disallows set memo as public visibility.
bool disallow_public_visibility = 1;
// display_with_update_time orders and displays memo with update time.
bool display_with_update_time = 2;
// content_length_limit is the limit of content length. Unit is byte.

View File

@ -686,8 +686,6 @@ func (x *InstanceSetting_StorageSetting) GetS3Config() *InstanceSetting_StorageS
// Memo-related instance settings and policies.
type InstanceSetting_MemoRelatedSetting struct {
state protoimpl.MessageState `protogen:"open.v1"`
// disallow_public_visibility disallows set memo as public visibility.
DisallowPublicVisibility bool `protobuf:"varint,1,opt,name=disallow_public_visibility,json=disallowPublicVisibility,proto3" json:"disallow_public_visibility,omitempty"`
// display_with_update_time orders and displays memo with update time.
DisplayWithUpdateTime bool `protobuf:"varint,2,opt,name=display_with_update_time,json=displayWithUpdateTime,proto3" json:"display_with_update_time,omitempty"`
// content_length_limit is the limit of content length. Unit is byte.
@ -730,13 +728,6 @@ func (*InstanceSetting_MemoRelatedSetting) Descriptor() ([]byte, []int) {
return file_api_v1_instance_service_proto_rawDescGZIP(), []int{2, 2}
}
func (x *InstanceSetting_MemoRelatedSetting) GetDisallowPublicVisibility() bool {
if x != nil {
return x.DisallowPublicVisibility
}
return false
}
func (x *InstanceSetting_MemoRelatedSetting) GetDisplayWithUpdateTime() bool {
if x != nil {
return x.DisplayWithUpdateTime
@ -1175,7 +1166,7 @@ const file_api_v1_instance_service_proto_rawDesc = "" +
"\x04demo\x18\x03 \x01(\bR\x04demo\x12!\n" +
"\finstance_url\x18\x06 \x01(\tR\vinstanceUrl\x12(\n" +
"\x05admin\x18\a \x01(\v2\x12.memos.api.v1.UserR\x05admin\"\x1b\n" +
"\x19GetInstanceProfileRequest\"\x9e\x16\n" +
"\x19GetInstanceProfileRequest\"\xe0\x15\n" +
"\x0fInstanceSetting\x12\x17\n" +
"\x04name\x18\x01 \x01(\tB\x03\xe0A\bR\x04name\x12W\n" +
"\x0fgeneral_setting\x18\x02 \x01(\v2,.memos.api.v1.InstanceSetting.GeneralSettingH\x00R\x0egeneralSetting\x12W\n" +
@ -1212,9 +1203,8 @@ const file_api_v1_instance_service_proto_rawDesc = "" +
"\x18STORAGE_TYPE_UNSPECIFIED\x10\x00\x12\f\n" +
"\bDATABASE\x10\x01\x12\t\n" +
"\x05LOCAL\x10\x02\x12\x06\n" +
"\x02S3\x10\x03\x1a\x94\x02\n" +
"\x12MemoRelatedSetting\x12<\n" +
"\x1adisallow_public_visibility\x18\x01 \x01(\bR\x18disallowPublicVisibility\x127\n" +
"\x02S3\x10\x03\x1a\xd6\x01\n" +
"\x12MemoRelatedSetting\x127\n" +
"\x18display_with_update_time\x18\x02 \x01(\bR\x15displayWithUpdateTime\x120\n" +
"\x14content_length_limit\x18\x03 \x01(\x05R\x12contentLengthLimit\x127\n" +
"\x18enable_double_click_edit\x18\x04 \x01(\bR\x15enableDoubleClickEdit\x12\x1c\n" +

View File

@ -2345,9 +2345,6 @@ components:
InstanceSetting_MemoRelatedSetting:
type: object
properties:
disallowPublicVisibility:
type: boolean
description: disallow_public_visibility disallows set memo as public visibility.
displayWithUpdateTime:
type: boolean
description: display_with_update_time orders and displays memo with update time.

View File

@ -682,8 +682,6 @@ func (x *StorageS3Config) GetUsePathStyle() bool {
type InstanceMemoRelatedSetting struct {
state protoimpl.MessageState `protogen:"open.v1"`
// disallow_public_visibility disallows set memo as public visibility.
DisallowPublicVisibility bool `protobuf:"varint,1,opt,name=disallow_public_visibility,json=disallowPublicVisibility,proto3" json:"disallow_public_visibility,omitempty"`
// display_with_update_time orders and displays memo with update time.
DisplayWithUpdateTime bool `protobuf:"varint,2,opt,name=display_with_update_time,json=displayWithUpdateTime,proto3" json:"display_with_update_time,omitempty"`
// content_length_limit is the limit of content length. Unit is byte.
@ -726,13 +724,6 @@ func (*InstanceMemoRelatedSetting) Descriptor() ([]byte, []int) {
return file_store_instance_setting_proto_rawDescGZIP(), []int{6}
}
func (x *InstanceMemoRelatedSetting) GetDisallowPublicVisibility() bool {
if x != nil {
return x.DisallowPublicVisibility
}
return false
}
func (x *InstanceMemoRelatedSetting) GetDisplayWithUpdateTime() bool {
if x != nil {
return x.DisplayWithUpdateTime
@ -1057,9 +1048,8 @@ const file_store_instance_setting_proto_rawDesc = "" +
"\bendpoint\x18\x03 \x01(\tR\bendpoint\x12\x16\n" +
"\x06region\x18\x04 \x01(\tR\x06region\x12\x16\n" +
"\x06bucket\x18\x05 \x01(\tR\x06bucket\x12$\n" +
"\x0euse_path_style\x18\x06 \x01(\bR\fusePathStyle\"\x9c\x02\n" +
"\x1aInstanceMemoRelatedSetting\x12<\n" +
"\x1adisallow_public_visibility\x18\x01 \x01(\bR\x18disallowPublicVisibility\x127\n" +
"\x0euse_path_style\x18\x06 \x01(\bR\fusePathStyle\"\xde\x01\n" +
"\x1aInstanceMemoRelatedSetting\x127\n" +
"\x18display_with_update_time\x18\x02 \x01(\bR\x15displayWithUpdateTime\x120\n" +
"\x14content_length_limit\x18\x03 \x01(\x05R\x12contentLengthLimit\x127\n" +
"\x18enable_double_click_edit\x18\x04 \x01(\bR\x15enableDoubleClickEdit\x12\x1c\n" +

View File

@ -100,8 +100,6 @@ message StorageS3Config {
}
message InstanceMemoRelatedSetting {
// disallow_public_visibility disallows set memo as public visibility.
bool disallow_public_visibility = 1;
// display_with_update_time orders and displays memo with update time.
bool display_with_update_time = 2;
// content_length_limit is the limit of content length. Unit is byte.

View File

@ -277,11 +277,10 @@ func convertInstanceMemoRelatedSettingFromStore(setting *storepb.InstanceMemoRel
return nil
}
return &v1pb.InstanceSetting_MemoRelatedSetting{
DisallowPublicVisibility: setting.DisallowPublicVisibility,
DisplayWithUpdateTime: setting.DisplayWithUpdateTime,
ContentLengthLimit: setting.ContentLengthLimit,
EnableDoubleClickEdit: setting.EnableDoubleClickEdit,
Reactions: setting.Reactions,
DisplayWithUpdateTime: setting.DisplayWithUpdateTime,
ContentLengthLimit: setting.ContentLengthLimit,
EnableDoubleClickEdit: setting.EnableDoubleClickEdit,
Reactions: setting.Reactions,
}
}
@ -290,11 +289,10 @@ func convertInstanceMemoRelatedSettingToStore(setting *v1pb.InstanceSetting_Memo
return nil
}
return &storepb.InstanceMemoRelatedSetting{
DisallowPublicVisibility: setting.DisallowPublicVisibility,
DisplayWithUpdateTime: setting.DisplayWithUpdateTime,
ContentLengthLimit: setting.ContentLengthLimit,
EnableDoubleClickEdit: setting.EnableDoubleClickEdit,
Reactions: setting.Reactions,
DisplayWithUpdateTime: setting.DisplayWithUpdateTime,
ContentLengthLimit: setting.ContentLengthLimit,
EnableDoubleClickEdit: setting.EnableDoubleClickEdit,
Reactions: setting.Reactions,
}
}

View File

@ -68,9 +68,6 @@ func (s *APIV1Service) CreateMemo(ctx context.Context, request *v1pb.CreateMemoR
create.UpdatedTs = updatedTs
}
if instanceMemoRelatedSetting.DisallowPublicVisibility && create.Visibility == store.Public {
return nil, status.Errorf(codes.PermissionDenied, "disable public memos system setting is enabled")
}
contentLengthLimit, err := s.getContentLengthLimit(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get content length limit")
@ -415,14 +412,7 @@ func (s *APIV1Service) UpdateMemo(ctx context.Context, request *v1pb.UpdateMemoR
update.Content = &memo.Content
update.Payload = memo.Payload
} else if path == "visibility" {
instanceMemoRelatedSetting, err := s.Store.GetInstanceMemoRelatedSetting(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get instance memo related setting")
}
visibility := convertVisibilityToStore(request.Memo.Visibility)
if instanceMemoRelatedSetting.DisallowPublicVisibility && visibility == store.Public {
return nil, status.Errorf(codes.PermissionDenied, "disable public memos system setting is enabled")
}
update.Visibility = &visibility
} else if path == "pinned" {
update.Pinned = &request.Memo.Pinned

View File

@ -71,13 +71,6 @@ const MemoRelatedSettings = () => {
return (
<SettingSection>
<SettingGroup title={t("setting.memo-related-settings.title")}>
<SettingRow label={t("setting.system-section.disable-public-memos")}>
<Switch
checked={memoRelatedSetting.disallowPublicVisibility}
onCheckedChange={(checked) => updatePartialSetting({ disallowPublicVisibility: checked })}
/>
</SettingRow>
<SettingRow label={t("setting.system-section.display-with-updated-time")}>
<Switch
checked={memoRelatedSetting.displayWithUpdateTime}

View File

@ -1,7 +1,6 @@
import { create } from "@bufbuild/protobuf";
import { createContext, type ReactNode, useCallback, useContext, useMemo, useState } from "react";
import { instanceServiceClient } from "@/connect";
import { updateInstanceConfig } from "@/instance-config";
import {
InstanceProfile,
InstanceProfileSchema,
@ -88,15 +87,6 @@ export function InstanceProvider({ children }: { children: ReactNode }) {
instanceServiceClient.getInstanceSetting({ name: buildInstanceSettingName(InstanceSetting_Key.MEMO_RELATED) }),
]);
// Update global config for non-React code (like connect.ts interceptors)
if (memoRelatedSettingResponse.value.case === "memoRelatedSetting") {
updateInstanceConfig({
memoRelatedSetting: {
disallowPublicVisibility: memoRelatedSettingResponse.value.value.disallowPublicVisibility,
},
});
}
setState({
profile,
settings: [generalSetting, memoRelatedSettingResponse],

View File

@ -1,23 +0,0 @@
// Simple configuration module for instance settings
// This allows non-React code (like connect.ts interceptors) to access instance settings
// The values are updated by InstanceContext when it initializes
interface InstanceConfig {
memoRelatedSetting: {
disallowPublicVisibility: boolean;
};
}
let instanceConfig: InstanceConfig = {
memoRelatedSetting: {
disallowPublicVisibility: false,
},
};
export function getInstanceConfig(): InstanceConfig {
return instanceConfig;
}
export function updateInstanceConfig(config: Partial<InstanceConfig>): void {
instanceConfig = { ...instanceConfig, ...config };
}

View File

@ -2,7 +2,6 @@ import { useEffect, useMemo } from "react";
import { Outlet, useLocation, useSearchParams } from "react-router-dom";
import usePrevious from "react-use/lib/usePrevious";
import Navigation from "@/components/Navigation";
import { useInstance } from "@/contexts/InstanceContext";
import { useMemoFilterContext } from "@/contexts/MemoFilterContext";
import useCurrentUser from "@/hooks/useCurrentUser";
import useMediaQuery from "@/hooks/useMediaQuery";
@ -17,23 +16,19 @@ const RootLayout = () => {
const sm = useMediaQuery("sm");
const currentUser = useCurrentUser();
const navigateTo = useNavigateTo();
const { memoRelatedSetting } = useInstance();
const { removeFilter } = useMemoFilterContext();
const pathname = useMemo(() => location.pathname, [location.pathname]);
const prevPathname = usePrevious(pathname);
useEffect(() => {
if (!currentUser) {
if (memoRelatedSetting.disallowPublicVisibility) {
// When public visibility is disallowed, always redirect unauth users to auth.
redirectOnAuthFailure(true);
} else if (pathname === ROUTES.ROOT) {
if (pathname === ROUTES.ROOT) {
navigateTo(ROUTES.EXPLORE);
} else {
redirectOnAuthFailure();
}
}
}, [currentUser, pathname, memoRelatedSetting.disallowPublicVisibility, navigateTo]);
}, [currentUser, pathname, navigateTo]);
useEffect(() => {
// When the route changes and there is no filter in the search params, remove all filters

View File

@ -407,7 +407,6 @@
"disable-password-login": "تعطيل تسجيل الدخول بكلمة المرور",
"disable-password-login-final-warning": "يرجى كتابة \"CONFIRM\" إذا كنت متأكدًا مما تفعله.",
"disable-password-login-warning": "سيؤدي ذلك إلى تعطيل تسجيل الدخول بكلمة المرور لجميع المستخدمين. لا يمكن تسجيل الدخول بدون التراجع عن هذا الإعداد في قاعدة البيانات إذا فشل مزودو الهوية. يجب أن تكون حذرًا عند إزالة مزود هوية",
"disable-public-memos": "تعطيل المذكرات العامة",
"display-with-updated-time": "العرض مع وقت التحديث",
"enable-auto-compact": "تمكين الضغط التلقائي",
"enable-double-click-to-edit": "تمكين النقر المزدوج للتحرير",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Desactiva l'inici de sessió amb contrasenya",
"disable-password-login-final-warning": "Escriu \"CONFIRM\" si saps el que estàs fent.",
"disable-password-login-warning": "Això desactivarà l'inici de sessió amb contrasenya per a tots els usuaris. No serà possible iniciar sessió sense revertir aquesta configuració a la base de dades si els proveïdors d'identitat fallen. Vés amb compte en eliminar un proveïdor d'identitat",
"disable-public-memos": "Desactiva notes públiques",
"display-with-updated-time": "Mostra amb hora d'actualització",
"enable-auto-compact": "Habilita la compactació automàtica",
"enable-double-click-to-edit": "Habilita doble clic per editar",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Zakázat přihlašování heslem",
"disable-password-login-final-warning": "Pokud víte, co děláte, zadejte \"CONFIRM\".",
"disable-password-login-warning": "Tímto zakážete přihlašování heslem pro všechny uživatele. Bez obnovení tohoto nastavení v databázi není možné se přihlásit, pokud selžou vámi nakonfigurovaní poskytovatelé identit. Při odebírání poskytovatele identit budete muset být také velmi opatrní.",
"disable-public-memos": "Zakázat veřejné poznámky",
"display-with-updated-time": "Zobrazení s časem aktualizace",
"enable-auto-compact": "Povolit automatické kompaktní zobrazení",
"enable-double-click-to-edit": "Povolit dvojklik pro editaci",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Passwort-Login deaktivieren",
"disable-password-login-final-warning": "Bitte tippe \"CONFIRM\", wenn du weißt, was du tust.",
"disable-password-login-warning": "Dadurch wird der Passwort-Login für alle Benutzer deaktiviert. Es ist nicht möglich, sich anzumelden, ohne diese Einstellung in der Datenbank rückgängig zu machen, falls deine konfigurierten Identitätsanbieter ausfallen. Sei besonders vorsichtig beim Entfernen eines Identitätsanbieters.",
"disable-public-memos": "Öffentliche Notizen deaktivieren",
"display-with-updated-time": "Mit aktualisierter Zeit anzeigen",
"enable-auto-compact": "Automatische Komprimierung aktivieren",
"enable-double-click-to-edit": "Doppelklick zum Bearbeiten aktivieren",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Disable password login",
"disable-password-login-final-warning": "Please type `CONFIRM` if you know what you are doing.",
"disable-password-login-warning": "This will disable password login for all users. It is not possible to log in without reverting this setting in the database if your configured identity providers fail. Youll also have to be extra careful when removing an identity provider",
"disable-public-memos": "Disable public memos",
"display-with-updated-time": "Display with updated time",
"enable-auto-compact": "Enable auto compact",
"enable-double-click-to-edit": "Enable double click to edit",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Desactivar inicio de sesión con contraseña",
"disable-password-login-final-warning": "Por favor escribe \"CONFIRM\" si sabes lo que haces.",
"disable-password-login-warning": "Esto deshabilitará el inicio de sesión con contraseña para todos los usuarios. No será posible iniciar sesión sin revertir esta configuración en la base de datos si tus proveedores de identidad fallan. Debes tener especial cuidado al eliminar un proveedor de identidad",
"disable-public-memos": "Desactivar memos públicos",
"display-with-updated-time": "Mostrar con hora actualizada",
"enable-auto-compact": "Habilitar auto compactación",
"enable-double-click-to-edit": "Habilitar doble clic para editar",

View File

@ -407,7 +407,6 @@
"disable-password-login": "غیرفعال‌سازی ورود با گذرواژه",
"disable-password-login-final-warning": "لطفاً اگر مطمئن هستید «CONFIRM» را وارد کنید.",
"disable-password-login-warning": "این کار ورود با گذرواژه را برای همه کاربران غیرفعال می‌کند. اگر ارائه‌دهندگان هویت شما از کار بیفتند، بدون بازگرداندن این تنظیم در پایگاه داده، ورود ممکن نیست. هنگام حذف ارائه‌دهنده هویت دقت کنید.",
"disable-public-memos": "غیرفعال‌سازی یادداشت‌های عمومی",
"display-with-updated-time": "نمایش با زمان بروزرسانی",
"enable-auto-compact": "فعال‌سازی فشرده‌سازی خودکار",
"enable-double-click-to-edit": "فعال‌سازی دوبار کلیک برای ویرایش",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Désactiver la connexion par mot de passe",
"disable-password-login-final-warning": "Veuillez taper \"CONFIRM\" si vous savez ce que vous faites.",
"disable-password-login-warning": "Cela désactivera la connexion par mot de passe pour tous les utilisateurs. Il ne sera pas possible de se connecter sans annuler ce paramètre dans la base de données si vos fournisseurs d'identité échouent. Soyez très prudent lors de la suppression d'un fournisseur d'identité",
"disable-public-memos": "Désactiver les notes publiques",
"display-with-updated-time": "Afficher avec l'heure de mise à jour",
"enable-auto-compact": "Activer la compression automatique",
"enable-double-click-to-edit": "Activer le double-clic pour éditer",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Desactivar acceso con contrasinal",
"disable-password-login-final-warning": "Escribe `CONFIRM` se sabes o que estás a facer.",
"disable-password-login-warning": "Isto desactiva o acceso con contrasinal para todas as usuarias. Non é posible acceder sen reverter este axuste na base de datos se os provedores de acceso configurados fallan. Pon moito coidado cando elimines un provedor de identidades",
"disable-public-memos": "Disactivar notas públicas",
"display-with-updated-time": "Mostrar coa hora actualizada",
"enable-auto-compact": "Activar auto compatacta",
"enable-double-click-to-edit": "Activar dobre pulsación para editar",

View File

@ -407,7 +407,6 @@
"disable-password-login": "पासवर्ड लॉगिन अक्षम करें",
"disable-password-login-final-warning": "यदि आप जानते हैं कि आप क्या कर रहे हैं तो कृपया \"CONFIRM\" टाइप करें।",
"disable-password-login-warning": "यह सभी उपयोगकर्ताओं के लिए पासवर्ड लॉगिन को अक्षम कर देगा। यदि आपके पहचान प्रदाता विफल हो जाते हैं तो डेटाबेस में इस सेटिंग को वापस किए बिना लॉगिन संभव नहीं होगा। पहचान प्रदाता हटाते समय सावधानी बरतें।",
"disable-public-memos": "सार्वजनिक मेमो अक्षम करें",
"display-with-updated-time": "अपडेटेड समय के साथ दिखाएँ",
"enable-auto-compact": "ऑटो-कॉम्पैक्ट सक्षम करें",
"enable-double-click-to-edit": "डबल क्लिक से संपादन सक्षम करें",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Onemogući prijavu lozinkom",
"disable-password-login-final-warning": "Upiši \"CONFIRM\" ako znaš što radiš.",
"disable-password-login-warning": "Ovo će onemogućiti prijavu lozinkom za sve korisnike. Nije moguće prijaviti se bez vraćanja ove postavke u bazi podataka ako vaši pružatelji identiteta zakažu. Budite posebno oprezni pri uklanjanju pružatelja identiteta.",
"disable-public-memos": "Onemogući javne memoe",
"display-with-updated-time": "Prikaži s ažuriranim vremenom",
"enable-auto-compact": "Omogući automatsko sažimanje",
"enable-double-click-to-edit": "Omogući dvostruki klik za uređivanje",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Jelszavas bejelentkezés letiltása",
"disable-password-login-final-warning": "Írd be, hogy \"CONFIRM\" ha tudod mit csinálsz.",
"disable-password-login-warning": "Ez letiltja a jelszavas bejelentkezést minden felhasználó számára. Ha a konfigurált identitásszolgáltatók nem érhetők el, a bejelentkezés nem lehetséges ezen beállítás kikapcsolása nélkül az adatbázisban. Ezen kívül fokozott figyelem szükséges az identitásszolgáltatók eltávolítása során is",
"disable-public-memos": "Nyilvános jegyzetek letiltása",
"display-with-updated-time": "Megjelenítés frissített idővel",
"enable-auto-compact": "Automatikus tömörítés engedélyezése",
"enable-double-click-to-edit": "Dupla kattintásos szerkesztés engedélyezése",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Nonaktifkan login kata sandi",
"disable-password-login-final-warning": "Silakan ketik \"KONFIRMASI\" jika Anda tahu apa yang Anda lakukan.",
"disable-password-login-warning": "Ini akan menonaktifkan login kata sandi untuk semua pengguna. Tidak mungkin untuk login tanpa mengembalikan pengaturan ini di basis data jika penyedia identitas yang Anda konfigurasikan gagal. Anda juga harus lebih berhati-hati saat menghapus penyedia identitas.",
"disable-public-memos": "Nonaktifkan memo publik",
"display-with-updated-time": "Tampilkan dengan waktu terbaru",
"enable-auto-compact": "Aktifkan kompak otomatis",
"enable-double-click-to-edit": "Aktifkan klik ganda untuk mengedit",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Disabilita login password",
"disable-password-login-final-warning": "Digita \"CONFIRM\" se sai cosa stai facendo.",
"disable-password-login-warning": "Questo disattiverà il login con password per tutti gli utenti. Se i provider di identità smettono di funzionare, non potrai accedere senza ripristinare manualmente l'impostazione nel database. Fai molta attenzione quando rimuovi un provider di identità.",
"disable-public-memos": "Disabilita memo pubblici",
"display-with-updated-time": "Mostra data/ora ultimo aggiornamento",
"enable-auto-compact": "Abilita auto-compatto",
"enable-double-click-to-edit": "Abilita doppio click per modificare",

View File

@ -407,7 +407,6 @@
"disable-password-login": "パスワードログインを無効化",
"disable-password-login-final-warning": "「CONFIRM」と入力してください自己責任",
"disable-password-login-warning": "これにより全ユーザーのパスワードログインが無効になります。IDプロバイダーが失敗した場合、DBでこの設定を戻さないとログインできません。IDプロバイダー削除時はご注意ください。",
"disable-public-memos": "公開メモを無効化",
"display-with-updated-time": "更新日時で表示",
"enable-auto-compact": "自動折りたたみを有効化",
"enable-double-click-to-edit": "ダブルクリック編集を有効化",

View File

@ -407,7 +407,6 @@
"disable-password-login": "პაროლის-შესვლის ფუნქციის გამორთვა",
"disable-password-login-final-warning": "გთხოვთ აკრიფოთ „CONFIRM“, თუ იცით, რას აკეთებთ.",
"disable-password-login-warning": "ეს გამორთავს პაროლის შესვლას ყველა მომხმარებლისთვის. შეუძლებელია შესვლა ამ პარამეტრის მონაცემთა ბაზაში დაბრუნების გარეშე, თუ თქვენი კონფიგურირებული იდენტობის პროვაიდერები ვერ იმუშავებენ. ასევე უნდა იყოთ ყურადღებით, როდესაც იდენტობის პროვაიდერს წაშლით",
"disable-public-memos": "საჯარო მემოების გამორთვა",
"display-with-updated-time": "განახლებული დროით ჩვენება",
"enable-auto-compact": "ავტომატური კომპაქტირების ჩართვა",
"enable-double-click-to-edit": "ორმაგი დაწკაპუნებით რედაქტირების ჩართვა",

View File

@ -407,7 +407,6 @@
"disable-password-login": "비밀번호 로그인 금지",
"disable-password-login-final-warning": "이로부터 발생할 수 있는 모든 상황을 이해했다면, 아래에 \"CONFIRM\"을 입력해 주세요.",
"disable-password-login-warning": "모든 사용자가 비밀번호를 사용해서 로그인하지 못하게 합니다. 설정된 SSO에 문제가 생겼을 경우, 데이터베이스를 직접 조작해서 이 설정을 끄지 않는 한 절대로 로그인하지 못하게 됩니다. SSO 설정을 수정/제거할 때에는 특히 조심해 주세요",
"disable-public-memos": "공개된 메모 금지",
"display-with-updated-time": "수정된 시각을 표시",
"enable-auto-compact": "자동 압축 활성화",
"enable-double-click-to-edit": "더블 클릭으로 편집 활성화",

View File

@ -407,7 +407,6 @@
"disable-password-login": "पासवर्ड लॉगिन अक्षम करा",
"disable-password-login-final-warning": "तुम्ही काय करत आहात हे तुम्हाला माहीत असल्यास कृपया \"CONFIRM\" टाइप करा.",
"disable-password-login-warning": "हे सर्व वापरकर्त्यांसाठी पासवर्ड लॉगिन अक्षम करेल. तुमचे कॉन्फिगर केलेले ओळख प्रदाते अयशस्वी झाल्यास डेटाबेसमध्ये ही सेटिंग पूर्ववत केल्याशिवाय लॉग इन करणे शक्य नाही. ओळख प्रदाता काढून टाकताना तुम्हाला अधिक सावधगिरी बाळगावी लागेल",
"disable-public-memos": "सार्वजनिक मेमो अक्षम करा",
"display-with-updated-time": "अद्यतनित वेळेसह प्रदर्शित करा",
"enable-auto-compact": "ऑटो-कॉम्पॅक्ट सक्षम करा",
"enable-double-click-to-edit": "डबल क्लिकने संपादन सक्षम करा",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Slå av passordinnlogging",
"disable-password-login-final-warning": "Skriv \"CONFIRM\" hvis du vet hva du gjør.",
"disable-password-login-warning": "Dette slår av passordinnlogging for alle brukere. Dersom de konfigurerte identitetsleverandørene mislykkes er det ikke mulig å logge inn uten å tilbakestille denne innstillingen i databasen. Du må også være ekstra forsiktig når du fjerner en identitetsleverandør.",
"disable-public-memos": "Slå av offentlige memoer",
"display-with-updated-time": "Vis med oppdatert tid",
"enable-auto-compact": "Slå på automatisk kompakt visning",
"enable-double-click-to-edit": "Slå på dobbeltklikk for å redigere",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Wachtwoordlogin uitzetten",
"disable-password-login-final-warning": "Typ \"CONFIRM\" als je zeker weet wat je doet.",
"disable-password-login-warning": "Als je dit uitzet, kan je niet meer inloggen met een wachtwoord, zonder de database aan te passen. Als je inlogprovider niet werkt, kan je memos niet in.",
"disable-public-memos": "Openbare memos uitzetten",
"display-with-updated-time": "Weergeven met bewerkte tijd",
"enable-auto-compact": "Automatisch compact inschakelen",
"enable-double-click-to-edit": "Dubbelklik om te bewerken inschakelen",

View File

@ -408,7 +408,6 @@
"disable-password-login": "Wyłącz logowanie hasłem",
"disable-password-login-final-warning": "Proszę wpisać \"CONFIRM\", jeśli wiesz, co robisz.",
"disable-password-login-warning": "To wyłączy logowanie hasłem dla wszystkich użytkowników. Jeśli skonfigurowani dostawcy tożsamości zawiodą, nie będzie możliwe zalogowanie się bez przywrócenia tego ustawienia w bazie danych. Bądź także szczególnie ostrożny przy usuwaniu dostawcy tożsamości",
"disable-public-memos": "Wyłącz publiczne notatki",
"display-with-updated-time": "Wyświetlaj z czasem aktualizacji",
"enable-auto-compact": "Włącz automatyczne kompresowanie",
"enable-double-click-to-edit": "Włącz edycję przez podwójne kliknięcie",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Desabilitar login com senha",
"disable-password-login-final-warning": "Por favor, digite \"CONFIRM\" para prosseguir.",
"disable-password-login-warning": "Isso desabilitará o login com senha para todos os usuários. Caso seus provedores de identidade (SSO) configurados falhem, não será possível fazer login sem reverter esse ajuste manualmente no banco de dados. Você também deverá tomar precauções adicionais ao remover qualquer provedor de identidade!",
"disable-public-memos": "Desabilitar memos públicos",
"display-with-updated-time": "Exibir hora de atualização nos memos",
"enable-auto-compact": "Ativar exibição compacta automaticamente",
"enable-double-click-to-edit": "Ativar clique duplo para editar",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Desativar login por palavra-passe",
"disable-password-login-final-warning": "Escreva \"CONFIRM\" se tiver a certeza.",
"disable-password-login-warning": "Isto desativará o login por palavra-passe para todos os utilizadores. Não será possível iniciar sessão sem reverter esta definição na base de dados se os seus provedores de identidade falharem. Deve ter cuidado ao remover um provedor de identidade.",
"disable-public-memos": "Desativar memos públicos",
"display-with-updated-time": "Exibir com hora atualizada",
"enable-auto-compact": "Ativar compactação automática",
"enable-double-click-to-edit": "Ativar duplo clique para editar",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Отключить вход по паролю",
"disable-password-login-final-warning": "Пожалуйста, введите `ПОДТВЕРДИТЬ`, если вы знаете, что делаете.",
"disable-password-login-warning": "Это отключит вход по паролю для всех пользователей. Невозможно будет войти без изменения этого параметра в базе данных, если настроенные провайдеры идентификации не работают. Также будьте особенно осторожны при удалении провайдера идентификации.",
"disable-public-memos": "Отключить публичные заметки",
"display-with-updated-time": "Время изменения - основное",
"enable-auto-compact": "Включить автоматическое сжатие",
"enable-double-click-to-edit": "Редактировать двойным кликом",

View File

@ -398,7 +398,6 @@
"disable-password-login": "Onemogoči prijavo z geslom",
"disable-password-login-final-warning": "Prosim vnesite \"POTRDI\", če veste kaj počnete.",
"disable-password-login-warning": "To bo onemogočilo prijavo z geslom za vse uporabnike. Brez ponovnega vklopa te nastavitve v bazi, prijava ne bo več možna. Enako tudi če identiteta enotne prijave zataji. Bodite tudi zelo previdni pri odstranjevalju identitete enotne prijave",
"disable-public-memos": "Onemogočite javne beležke",
"display-with-updated-time": "Prikaži s časom posodobitve",
"enable-auto-compact": "Omogoči samodejno zgoščevanje",
"enable-double-click-to-edit": "Omogoči dvojni klik za urejanje",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Inaktivera lösenordsinloggning",
"disable-password-login-final-warning": "Skriv \"CONFIRM\" om du vet vad du gör.",
"disable-password-login-warning": "Detta inaktiverar lösenordsinloggning för alla användare. Det går inte att logga in utan att återställa denna inställning i databasen om dina identitetsleverantörer misslyckas. Var extra försiktig när du tar bort en identitetsleverantör.",
"disable-public-memos": "Inaktivera offentliga anteckningar",
"display-with-updated-time": "Visa med uppdaterad tid",
"enable-auto-compact": "Aktivera automatisk komprimering",
"enable-double-click-to-edit": "Aktivera dubbelklick för att redigera",

View File

@ -407,7 +407,6 @@
"disable-password-login": "ปิดการใช้งานรหัสผ่านเข้าสู่ระบบ",
"disable-password-login-final-warning": "กรุณาพิมพ์ \"CONFIRM\" หากคุณรู้ว่าคุณกำลังทำอะไรอยู่",
"disable-password-login-warning": "สิ่งนี้จะปิดการใช้งานการเข้าสู่ระบบด้วยรหัสผ่านสำหรับผู้ใช้ทั้งหมด ไม่สามารถเข้าสู่ระบบโดยไม่คืนการตั้งค่านี้ในฐานข้อมูลได้ หากผู้ให้บริการข้อมูลประจำตัวที่กำหนดค่าไว้ของคุณล้มเหลว คุณจะต้องระมัดระวังเป็นพิเศษเมื่อลบผู้ให้บริการข้อมูลระบุตัวตน",
"disable-public-memos": "ปิดใช้งานบันทึกช่วยจำสาธารณะ",
"display-with-updated-time": "แสดงผลด้วยเวลาที่อัปเดต",
"enable-auto-compact": "เปิดใช้งานการกะทัดรัดอัตโนมัติ",
"enable-double-click-to-edit": "เปิดใช้งานดับเบิลคลิกเพื่อแก้ไข",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Şifre ile girişi devre dışı bırak",
"disable-password-login-final-warning": "Ne yaptığınızı biliyorsanız lütfen \"CONFIRM\" yazın.",
"disable-password-login-warning": "Bu, tüm kullanıcılar için şifre ile girişi devre dışı bırakacaktır. Yapılandırılmış kimlik sağlayıcılarınız başarısız olursa, veritabanında bu ayarı geri almadan giriş yapmak mümkün olmayacaktır. Ayrıca bir kimlik sağlayıcıyı kaldırırken çok dikkatli olmanız gerekecektir",
"disable-public-memos": "Herkese açık notları devre dışı bırak",
"display-with-updated-time": "Güncellenme zamanıyla görüntüle",
"enable-auto-compact": "Otomatik sıkıştırmayı etkinleştir",
"enable-double-click-to-edit": "Düzenlemek için çift tıklamayı etkinleştir",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Вимкнути вхід за паролем",
"disable-password-login-final-warning": "Будь ласка, введіть \"ПІДТВЕРДЖУЮ\", якщо ви знаєте, що робите.",
"disable-password-login-warning": "Це вимкне вхід за паролем для всіх користувачів. Вхід без скасування цього налаштування в базі даних неможливий, якщо ваші налаштовані постачальники ідентичності не працюють. Також слід бути особливо обережними при видаленні постачальника ідентичності.",
"disable-public-memos": "Вимкнути публічні нотатки",
"display-with-updated-time": "Відображати з оновленим часом",
"enable-auto-compact": "Увімкнути автоматичне стиснення",
"enable-double-click-to-edit": "Увімкнути двократне натискання для редагування",

View File

@ -407,7 +407,6 @@
"disable-password-login": "Vô hiệu hóa đăng nhập bằng mật khẩu",
"disable-password-login-final-warning": "Vui lòng nhập \"CONFIRM\" nếu bạn biết mình đang làm gì.",
"disable-password-login-warning": "Điều này sẽ vô hiệu hóa đăng nhập bằng mật khẩu cho tất cả người dùng. Không thể đăng nhập nếu không hoàn tác cài đặt này trong cơ sở dữ liệu khi nhà cung cấp danh tính đã cấu hình gặp sự cố. Bạn cũng cần phải thật cẩn thận khi xóa nhà cung cấp danh tính",
"disable-public-memos": "Vô hiệu hóa ghi chú công khai",
"display-with-updated-time": "Hiển thị với thời gian cập nhật",
"enable-auto-compact": "Bật tự động nén",
"enable-double-click-to-edit": "Bật nhấp đúp để chỉnh sửa",

View File

@ -407,7 +407,6 @@
"disable-password-login": "禁用密码登录",
"disable-password-login-final-warning": "如果您知道自己在做什么,请输入 \"CONFIRM\"。",
"disable-password-login-warning": "所有用户将无法使用密码登录。如果配置的身份提供程序失效,不在数据库中恢复此设置将无法登录。删除身份提供程序时也要格外小心",
"disable-public-memos": "禁用公开备忘录",
"display-with-updated-time": "根据最后修改时间顺序显示",
"enable-auto-compact": "启用自动超长折叠显示",
"enable-double-click-to-edit": "启用双击编辑",

View File

@ -407,7 +407,6 @@
"disable-password-login": "停用密碼登入",
"disable-password-login-final-warning": "如果您知道自己在做什麼,請輸入 `CONFIRM`。",
"disable-password-login-warning": "所有使用者將無法使用密碼登入。如果設定的身份識別提供者失效,不在資料庫中恢復此設定將無法登入。刪除身分識別提供者時也要特別小心❗",
"disable-public-memos": "停用公共備忘錄",
"display-with-updated-time": "顯示更新時間",
"enable-auto-compact": "啟用摺疊顯示",
"enable-double-click-to-edit": "啟用雙擊編輯",

View File

@ -82,7 +82,6 @@ const router = createBrowserRouter([
],
},
// Public share-link viewer — outside RootLayout to bypass auth-gating
// (including when disallowPublicVisibility is enabled on the instance)
{ path: "memos/shares/:token", element: <SharedMemo /> },
],
},

View File

@ -20,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf";
* Describes the file api/v1/instance_service.proto.
*/
export const file_api_v1_instance_service: GenFile = /*@__PURE__*/
fileDesc("Ch1hcGkvdjEvaW5zdGFuY2Vfc2VydmljZS5wcm90bxIMbWVtb3MuYXBpLnYxImkKD0luc3RhbmNlUHJvZmlsZRIPCgd2ZXJzaW9uGAIgASgJEgwKBGRlbW8YAyABKAgSFAoMaW5zdGFuY2VfdXJsGAYgASgJEiEKBWFkbWluGAcgASgLMhIubWVtb3MuYXBpLnYxLlVzZXIiGwoZR2V0SW5zdGFuY2VQcm9maWxlUmVxdWVzdCKFEQoPSW5zdGFuY2VTZXR0aW5nEhEKBG5hbWUYASABKAlCA+BBCBJHCg9nZW5lcmFsX3NldHRpbmcYAiABKAsyLC5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nLkdlbmVyYWxTZXR0aW5nSAASRwoPc3RvcmFnZV9zZXR0aW5nGAMgASgLMiwubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5TdG9yYWdlU2V0dGluZ0gAElAKFG1lbW9fcmVsYXRlZF9zZXR0aW5nGAQgASgLMjAubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5NZW1vUmVsYXRlZFNldHRpbmdIABJBCgx0YWdzX3NldHRpbmcYBSABKAsyKS5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nLlRhZ3NTZXR0aW5nSAASUQoUbm90aWZpY2F0aW9uX3NldHRpbmcYBiABKAsyMS5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nLk5vdGlmaWNhdGlvblNldHRpbmdIABqHAwoOR2VuZXJhbFNldHRpbmcSIgoaZGlzYWxsb3dfdXNlcl9yZWdpc3RyYXRpb24YAiABKAgSHgoWZGlzYWxsb3dfcGFzc3dvcmRfYXV0aBgDIAEoCBIZChFhZGRpdGlvbmFsX3NjcmlwdBgEIAEoCRIYChBhZGRpdGlvbmFsX3N0eWxlGAUgASgJElIKDmN1c3RvbV9wcm9maWxlGAYgASgLMjoubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5HZW5lcmFsU2V0dGluZy5DdXN0b21Qcm9maWxlEh0KFXdlZWtfc3RhcnRfZGF5X29mZnNldBgHIAEoBRIgChhkaXNhbGxvd19jaGFuZ2VfdXNlcm5hbWUYCCABKAgSIAoYZGlzYWxsb3dfY2hhbmdlX25pY2tuYW1lGAkgASgIGkUKDUN1c3RvbVByb2ZpbGUSDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIbG9nb191cmwYAyABKAkaugMKDlN0b3JhZ2VTZXR0aW5nEk4KDHN0b3JhZ2VfdHlwZRgBIAEoDjI4Lm1lbW9zLmFwaS52MS5JbnN0YW5jZVNldHRpbmcuU3RvcmFnZVNldHRpbmcuU3RvcmFnZVR5cGUSGQoRZmlsZXBhdGhfdGVtcGxhdGUYAiABKAkSHAoUdXBsb2FkX3NpemVfbGltaXRfbWIYAyABKAMSSAoJczNfY29uZmlnGAQgASgLMjUubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5TdG9yYWdlU2V0dGluZy5TM0NvbmZpZxqGAQoIUzNDb25maWcSFQoNYWNjZXNzX2tleV9pZBgBIAEoCRIZChFhY2Nlc3Nfa2V5X3NlY3JldBgCIAEoCRIQCghlbmRwb2ludBgDIAEoCRIOCgZyZWdpb24YBCABKAkSDgoGYnVja2V0GAUgASgJEhYKDnVzZV9wYXRoX3N0eWxlGAYgASgIIkwKC1N0b3JhZ2VUeXBlEhwKGFNUT1JBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgwKCERBVEFCQVNFEAESCQoFTE9DQUwQAhIGCgJTMxADGq0BChJNZW1vUmVsYXRlZFNldHRpbmcSIgoaZGlzYWxsb3dfcHVibGljX3Zpc2liaWxpdHkYASABKAgSIAoYZGlzcGxheV93aXRoX3VwZGF0ZV90aW1lGAIgASgIEhwKFGNvbnRlbnRfbGVuZ3RoX2xpbWl0GAMgASgFEiAKGGVuYWJsZV9kb3VibGVfY2xpY2tfZWRpdBgEIAEoCBIRCglyZWFjdGlvbnMYByADKAkaOwoLVGFnTWV0YWRhdGESLAoQYmFja2dyb3VuZF9jb2xvchgBIAEoCzISLmdvb2dsZS50eXBlLkNvbG9yGqgBCgtUYWdzU2V0dGluZxJBCgR0YWdzGAEgAygLMjMubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5UYWdzU2V0dGluZy5UYWdzRW50cnkaVgoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRI4CgV2YWx1ZRgCIAEoCzIpLm1lbW9zLmFwaS52MS5JbnN0YW5jZVNldHRpbmcuVGFnTWV0YWRhdGE6AjgBGrUCChNOb3RpZmljYXRpb25TZXR0aW5nEk0KBWVtYWlsGAEgASgLMj4ubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5Ob3RpZmljYXRpb25TZXR0aW5nLkVtYWlsU2V0dGluZxrOAQoMRW1haWxTZXR0aW5nEg8KB2VuYWJsZWQYASABKAgSEQoJc210cF9ob3N0GAIgASgJEhEKCXNtdHBfcG9ydBgDIAEoBRIVCg1zbXRwX3VzZXJuYW1lGAQgASgJEhUKDXNtdHBfcGFzc3dvcmQYBSABKAkSEgoKZnJvbV9lbWFpbBgGIAEoCRIRCglmcm9tX25hbWUYByABKAkSEAoIcmVwbHlfdG8YCCABKAkSDwoHdXNlX3RscxgJIAEoCBIPCgd1c2Vfc3NsGAogASgIImIKA0tleRITCg9LRVlfVU5TUEVDSUZJRUQQABILCgdHRU5FUkFMEAESCwoHU1RPUkFHRRACEhAKDE1FTU9fUkVMQVRFRBADEggKBFRBR1MQBBIQCgxOT1RJRklDQVRJT04QBTph6kFeChxtZW1vcy5hcGkudjEvSW5zdGFuY2VTZXR0aW5nEhtpbnN0YW5jZS9zZXR0aW5ncy97c2V0dGluZ30qEGluc3RhbmNlU2V0dGluZ3MyD2luc3RhbmNlU2V0dGluZ0IHCgV2YWx1ZSJPChlHZXRJbnN0YW5jZVNldHRpbmdSZXF1ZXN0EjIKBG5hbWUYASABKAlCJOBBAvpBHgocbWVtb3MuYXBpLnYxL0luc3RhbmNlU2V0dGluZyKJAQocVXBkYXRlSW5zdGFuY2VTZXR0aW5nUmVxdWVzdBIzCgdzZXR0aW5nGAEgASgLMh0ubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZ0ID4EECEjQKC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0ID4EEBMtsDCg9JbnN0YW5jZVNlcnZpY2USfgoSR2V0SW5zdGFuY2VQcm9maWxlEicubWVtb3MuYXBpLnYxLkdldEluc3RhbmNlUHJvZmlsZVJlcXVlc3QaHS5tZW1vcy5hcGkudjEuSW5zdGFuY2VQcm9maWxlIiCC0+STAhoSGC9hcGkvdjEvaW5zdGFuY2UvcHJvZmlsZRKPAQoSR2V0SW5zdGFuY2VTZXR0aW5nEicubWVtb3MuYXBpLnYxLkdldEluc3RhbmNlU2V0dGluZ1JlcXVlc3QaHS5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nIjHaQQRuYW1lgtPkkwIkEiIvYXBpL3YxL3tuYW1lPWluc3RhbmNlL3NldHRpbmdzLyp9ErUBChVVcGRhdGVJbnN0YW5jZVNldHRpbmcSKi5tZW1vcy5hcGkudjEuVXBkYXRlSW5zdGFuY2VTZXR0aW5nUmVxdWVzdBodLm1lbW9zLmFwaS52MS5JbnN0YW5jZVNldHRpbmciUdpBE3NldHRpbmcsdXBkYXRlX21hc2uC0+STAjU6B3NldHRpbmcyKi9hcGkvdjEve3NldHRpbmcubmFtZT1pbnN0YW5jZS9zZXR0aW5ncy8qfUKsAQoQY29tLm1lbW9zLmFwaS52MUIUSW5zdGFuY2VTZXJ2aWNlUHJvdG9QAVowZ2l0aHViLmNvbS91c2VtZW1vcy9tZW1vcy9wcm90by9nZW4vYXBpL3YxO2FwaXYxogIDTUFYqgIMTWVtb3MuQXBpLlYxygIMTWVtb3NcQXBpXFYx4gIYTWVtb3NcQXBpXFYxXEdQQk1ldGFkYXRh6gIOTWVtb3M6OkFwaTo6VjFiBnByb3RvMw", [file_api_v1_user_service, file_google_api_annotations, file_google_api_client, file_google_api_field_behavior, file_google_api_resource, file_google_protobuf_field_mask, file_google_type_color]);
fileDesc("Ch1hcGkvdjEvaW5zdGFuY2Vfc2VydmljZS5wcm90bxIMbWVtb3MuYXBpLnYxImkKD0luc3RhbmNlUHJvZmlsZRIPCgd2ZXJzaW9uGAIgASgJEgwKBGRlbW8YAyABKAgSFAoMaW5zdGFuY2VfdXJsGAYgASgJEiEKBWFkbWluGAcgASgLMhIubWVtb3MuYXBpLnYxLlVzZXIiGwoZR2V0SW5zdGFuY2VQcm9maWxlUmVxdWVzdCLhEAoPSW5zdGFuY2VTZXR0aW5nEhEKBG5hbWUYASABKAlCA+BBCBJHCg9nZW5lcmFsX3NldHRpbmcYAiABKAsyLC5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nLkdlbmVyYWxTZXR0aW5nSAASRwoPc3RvcmFnZV9zZXR0aW5nGAMgASgLMiwubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5TdG9yYWdlU2V0dGluZ0gAElAKFG1lbW9fcmVsYXRlZF9zZXR0aW5nGAQgASgLMjAubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5NZW1vUmVsYXRlZFNldHRpbmdIABJBCgx0YWdzX3NldHRpbmcYBSABKAsyKS5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nLlRhZ3NTZXR0aW5nSAASUQoUbm90aWZpY2F0aW9uX3NldHRpbmcYBiABKAsyMS5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nLk5vdGlmaWNhdGlvblNldHRpbmdIABqHAwoOR2VuZXJhbFNldHRpbmcSIgoaZGlzYWxsb3dfdXNlcl9yZWdpc3RyYXRpb24YAiABKAgSHgoWZGlzYWxsb3dfcGFzc3dvcmRfYXV0aBgDIAEoCBIZChFhZGRpdGlvbmFsX3NjcmlwdBgEIAEoCRIYChBhZGRpdGlvbmFsX3N0eWxlGAUgASgJElIKDmN1c3RvbV9wcm9maWxlGAYgASgLMjoubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5HZW5lcmFsU2V0dGluZy5DdXN0b21Qcm9maWxlEh0KFXdlZWtfc3RhcnRfZGF5X29mZnNldBgHIAEoBRIgChhkaXNhbGxvd19jaGFuZ2VfdXNlcm5hbWUYCCABKAgSIAoYZGlzYWxsb3dfY2hhbmdlX25pY2tuYW1lGAkgASgIGkUKDUN1c3RvbVByb2ZpbGUSDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIbG9nb191cmwYAyABKAkaugMKDlN0b3JhZ2VTZXR0aW5nEk4KDHN0b3JhZ2VfdHlwZRgBIAEoDjI4Lm1lbW9zLmFwaS52MS5JbnN0YW5jZVNldHRpbmcuU3RvcmFnZVNldHRpbmcuU3RvcmFnZVR5cGUSGQoRZmlsZXBhdGhfdGVtcGxhdGUYAiABKAkSHAoUdXBsb2FkX3NpemVfbGltaXRfbWIYAyABKAMSSAoJczNfY29uZmlnGAQgASgLMjUubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5TdG9yYWdlU2V0dGluZy5TM0NvbmZpZxqGAQoIUzNDb25maWcSFQoNYWNjZXNzX2tleV9pZBgBIAEoCRIZChFhY2Nlc3Nfa2V5X3NlY3JldBgCIAEoCRIQCghlbmRwb2ludBgDIAEoCRIOCgZyZWdpb24YBCABKAkSDgoGYnVja2V0GAUgASgJEhYKDnVzZV9wYXRoX3N0eWxlGAYgASgIIkwKC1N0b3JhZ2VUeXBlEhwKGFNUT1JBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgwKCERBVEFCQVNFEAESCQoFTE9DQUwQAhIGCgJTMxADGokBChJNZW1vUmVsYXRlZFNldHRpbmcSIAoYZGlzcGxheV93aXRoX3VwZGF0ZV90aW1lGAIgASgIEhwKFGNvbnRlbnRfbGVuZ3RoX2xpbWl0GAMgASgFEiAKGGVuYWJsZV9kb3VibGVfY2xpY2tfZWRpdBgEIAEoCBIRCglyZWFjdGlvbnMYByADKAkaOwoLVGFnTWV0YWRhdGESLAoQYmFja2dyb3VuZF9jb2xvchgBIAEoCzISLmdvb2dsZS50eXBlLkNvbG9yGqgBCgtUYWdzU2V0dGluZxJBCgR0YWdzGAEgAygLMjMubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5UYWdzU2V0dGluZy5UYWdzRW50cnkaVgoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRI4CgV2YWx1ZRgCIAEoCzIpLm1lbW9zLmFwaS52MS5JbnN0YW5jZVNldHRpbmcuVGFnTWV0YWRhdGE6AjgBGrUCChNOb3RpZmljYXRpb25TZXR0aW5nEk0KBWVtYWlsGAEgASgLMj4ubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZy5Ob3RpZmljYXRpb25TZXR0aW5nLkVtYWlsU2V0dGluZxrOAQoMRW1haWxTZXR0aW5nEg8KB2VuYWJsZWQYASABKAgSEQoJc210cF9ob3N0GAIgASgJEhEKCXNtdHBfcG9ydBgDIAEoBRIVCg1zbXRwX3VzZXJuYW1lGAQgASgJEhUKDXNtdHBfcGFzc3dvcmQYBSABKAkSEgoKZnJvbV9lbWFpbBgGIAEoCRIRCglmcm9tX25hbWUYByABKAkSEAoIcmVwbHlfdG8YCCABKAkSDwoHdXNlX3RscxgJIAEoCBIPCgd1c2Vfc3NsGAogASgIImIKA0tleRITCg9LRVlfVU5TUEVDSUZJRUQQABILCgdHRU5FUkFMEAESCwoHU1RPUkFHRRACEhAKDE1FTU9fUkVMQVRFRBADEggKBFRBR1MQBBIQCgxOT1RJRklDQVRJT04QBTph6kFeChxtZW1vcy5hcGkudjEvSW5zdGFuY2VTZXR0aW5nEhtpbnN0YW5jZS9zZXR0aW5ncy97c2V0dGluZ30qEGluc3RhbmNlU2V0dGluZ3MyD2luc3RhbmNlU2V0dGluZ0IHCgV2YWx1ZSJPChlHZXRJbnN0YW5jZVNldHRpbmdSZXF1ZXN0EjIKBG5hbWUYASABKAlCJOBBAvpBHgocbWVtb3MuYXBpLnYxL0luc3RhbmNlU2V0dGluZyKJAQocVXBkYXRlSW5zdGFuY2VTZXR0aW5nUmVxdWVzdBIzCgdzZXR0aW5nGAEgASgLMh0ubWVtb3MuYXBpLnYxLkluc3RhbmNlU2V0dGluZ0ID4EECEjQKC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0ID4EEBMtsDCg9JbnN0YW5jZVNlcnZpY2USfgoSR2V0SW5zdGFuY2VQcm9maWxlEicubWVtb3MuYXBpLnYxLkdldEluc3RhbmNlUHJvZmlsZVJlcXVlc3QaHS5tZW1vcy5hcGkudjEuSW5zdGFuY2VQcm9maWxlIiCC0+STAhoSGC9hcGkvdjEvaW5zdGFuY2UvcHJvZmlsZRKPAQoSR2V0SW5zdGFuY2VTZXR0aW5nEicubWVtb3MuYXBpLnYxLkdldEluc3RhbmNlU2V0dGluZ1JlcXVlc3QaHS5tZW1vcy5hcGkudjEuSW5zdGFuY2VTZXR0aW5nIjHaQQRuYW1lgtPkkwIkEiIvYXBpL3YxL3tuYW1lPWluc3RhbmNlL3NldHRpbmdzLyp9ErUBChVVcGRhdGVJbnN0YW5jZVNldHRpbmcSKi5tZW1vcy5hcGkudjEuVXBkYXRlSW5zdGFuY2VTZXR0aW5nUmVxdWVzdBodLm1lbW9zLmFwaS52MS5JbnN0YW5jZVNldHRpbmciUdpBE3NldHRpbmcsdXBkYXRlX21hc2uC0+STAjU6B3NldHRpbmcyKi9hcGkvdjEve3NldHRpbmcubmFtZT1pbnN0YW5jZS9zZXR0aW5ncy8qfUKsAQoQY29tLm1lbW9zLmFwaS52MUIUSW5zdGFuY2VTZXJ2aWNlUHJvdG9QAVowZ2l0aHViLmNvbS91c2VtZW1vcy9tZW1vcy9wcm90by9nZW4vYXBpL3YxO2FwaXYxogIDTUFYqgIMTWVtb3MuQXBpLlYxygIMTWVtb3NcQXBpXFYx4gIYTWVtb3NcQXBpXFYxXEdQQk1ldGFkYXRh6gIOTWVtb3M6OkFwaTo6VjFiBnByb3RvMw", [file_api_v1_user_service, file_google_api_annotations, file_google_api_client, file_google_api_field_behavior, file_google_api_resource, file_google_protobuf_field_mask, file_google_type_color]);
/**
* Instance profile message containing basic instance information.
@ -371,13 +371,6 @@ export const InstanceSetting_StorageSetting_StorageTypeSchema: GenEnum<InstanceS
* @generated from message memos.api.v1.InstanceSetting.MemoRelatedSetting
*/
export type InstanceSetting_MemoRelatedSetting = Message<"memos.api.v1.InstanceSetting.MemoRelatedSetting"> & {
/**
* disallow_public_visibility disallows set memo as public visibility.
*
* @generated from field: bool disallow_public_visibility = 1;
*/
disallowPublicVisibility: boolean;
/**
* display_with_update_time orders and displays memo with update time.
*