chore: add enable link preview setting to memo related settings (#3647)

This commit is contained in:
Johnny 2024-07-02 22:00:38 +08:00 committed by GitHub
parent b57b6bae34
commit 4d2b953e23
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 121 additions and 206 deletions

View file

@ -301,16 +301,12 @@ paths:
type: integer
format: int32
- name: pageToken
description: |-
A page token, received from a previous `ListMemos` call.
Provide this to retrieve the subsequent page.
description: "A page token, received from a previous `ListMemos` call.\r\nProvide this to retrieve the subsequent page."
in: query
required: false
type: string
- name: filter
description: |-
Filter is used to filter memos returned in the list.
Format: "creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']"
description: "Filter is used to filter memos returned in the list.\r\nFormat: \"creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']\""
in: query
required: false
type: string
@ -351,17 +347,12 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
name is the name of the user to get stats for.
Format: users/{id}
description: "name is the name of the user to get stats for.\r\nFormat: users/{id}"
in: query
required: false
type: string
- name: timezone
description: |-
timezone location
Format: uses tz identifier
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
description: "timezone location\r\nFormat: uses tz identifier\r\nhttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones"
in: query
required: false
type: string
@ -408,9 +399,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: filter
description: |-
Filter is used to filter memos returned.
Format: "creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']"
description: "Filter is used to filter memos returned.\r\nFormat: \"creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']\""
in: query
required: false
type: string
@ -543,9 +532,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: filter
description: |-
Filter is used to filter users returned in the list.
Format: "username == 'frank'"
description: "Filter is used to filter users returned in the list.\r\nFormat: \"username == 'frank'\""
in: query
required: false
type: string
@ -706,9 +693,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The resource name of the workspace setting.
Format: settings/{setting}
description: "The resource name of the workspace setting.\r\nFormat: settings/{setting}"
in: path
required: true
type: string
@ -730,9 +715,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: setting.name
description: |-
name is the name of the setting.
Format: settings/{setting}
description: "name is the name of the setting.\r\nFormat: settings/{setting}"
in: path
required: true
type: string
@ -768,9 +751,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: identityProvider.name
description: |-
The name of the identityProvider.
Format: identityProviders/{id}
description: "The name of the identityProvider.\r\nFormat: identityProviders/{id}"
in: path
required: true
type: string
@ -808,9 +789,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: inbox.name
description: |-
The name of the inbox.
Format: inboxes/{id}
description: "The name of the inbox.\r\nFormat: inboxes/{id}"
in: path
required: true
type: string
@ -854,10 +833,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: memo.name
description: |-
The name of the memo.
Format: memos/{id}
id is the system generated id.
description: "The name of the memo.\r\nFormat: memos/{id}\r\nid is the system generated id."
in: path
required: true
type: string
@ -875,9 +851,7 @@ paths:
$ref: '#/definitions/v1RowStatus'
creator:
type: string
title: |-
The name of the creator.
Format: users/{id}
title: "The name of the creator.\r\nFormat: users/{id}"
createTime:
type: string
format: date-time
@ -930,9 +904,7 @@ paths:
readOnly: true
parent:
type: string
title: |-
The name of the parent memo.
Format: memos/{id}
title: "The name of the parent memo.\r\nFormat: memos/{id}"
readOnly: true
tags:
- MemoService
@ -951,9 +923,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_1
description: |-
The name of the identityProvider to get.
Format: identityProviders/{id}
description: "The name of the identityProvider to get.\r\nFormat: identityProviders/{id}"
in: path
required: true
type: string
@ -975,9 +945,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_1
description: |-
The name of the identityProvider to delete.
Format: identityProviders/{id}
description: "The name of the identityProvider to delete.\r\nFormat: identityProviders/{id}"
in: path
required: true
type: string
@ -999,10 +967,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_2
description: |-
The name of the resource.
Format: resources/{id}
id is the system generated unique identifier.
description: "The name of the resource.\r\nFormat: resources/{id}\r\nid is the system generated unique identifier."
in: path
required: true
type: string
@ -1024,9 +989,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_2
description: |-
The name of the inbox to delete.
Format: inboxes/{id}
description: "The name of the inbox to delete.\r\nFormat: inboxes/{id}"
in: path
required: true
type: string
@ -1048,9 +1011,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_3
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1072,10 +1033,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_3
description: |-
The name of the resource.
Format: resources/{id}
id is the system generated unique identifier.
description: "The name of the resource.\r\nFormat: resources/{id}\r\nid is the system generated unique identifier."
in: path
required: true
type: string
@ -1098,9 +1056,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name_4
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1122,9 +1078,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1146,9 +1100,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1170,9 +1122,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1193,9 +1143,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1223,9 +1171,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1252,9 +1198,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1275,9 +1219,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1304,9 +1246,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}. Use "memos/-" to list all properties.
description: "The name of the memo.\r\nFormat: memos/{id}. Use \"memos/-\" to list all properties."
in: path
required: true
type: string
@ -1329,9 +1269,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}. Use "memos/-" to rebuild all memos.
description: "The name of the memo.\r\nFormat: memos/{id}. Use \"memos/-\" to rebuild all memos."
in: path
required: true
type: string
@ -1358,9 +1296,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1381,9 +1317,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1410,9 +1344,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1434,9 +1366,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1463,9 +1393,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1487,9 +1415,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the memo.
Format: memos/{id}
description: "The name of the memo.\r\nFormat: memos/{id}"
in: path
required: true
type: string
@ -1516,9 +1442,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1540,17 +1464,13 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: parent
description: |-
The parent, who owns the tags.
Format: memos/{id}. Use "memos/-" to list all tags.
description: "The parent, who owns the tags.\r\nFormat: memos/{id}. Use \"memos/-\" to list all tags."
in: path
required: true
type: string
pattern: memos/[^/]+
- name: filter
description: |-
Filter is used to filter memos.
Format: "creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']"
description: "Filter is used to filter memos.\r\nFormat: \"creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']\""
in: query
required: false
type: string
@ -1572,9 +1492,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: parent
description: |-
The parent, who owns the tags.
Format: memos/{id}. Use "memos/-" to delete all tags.
description: "The parent, who owns the tags.\r\nFormat: memos/{id}. Use \"memos/-\" to delete all tags."
in: path
required: true
type: string
@ -1605,9 +1523,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: parent
description: |-
The parent, who owns the tags.
Format: memos/{id}. Use "memos/-" to rename all tags.
description: "The parent, who owns the tags.\r\nFormat: memos/{id}. Use \"memos/-\" to rename all tags."
in: path
required: true
type: string
@ -1634,10 +1550,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: resource.name
description: |-
The name of the resource.
Format: resources/{id}
id is the system generated unique identifier.
description: "The name of the resource.\r\nFormat: resources/{id}\r\nid is the system generated unique identifier."
in: path
required: true
type: string
@ -1669,9 +1582,7 @@ paths:
format: int64
memo:
type: string
title: |-
The related memo.
Format: memos/{id}
title: "The related memo.\r\nFormat: memos/{id}"
tags:
- ResourceService
/api/v1/{setting.name}:
@ -1689,9 +1600,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: setting.name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1728,9 +1637,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: user.name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1784,9 +1691,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the user.
Format: users/{id}
description: "The name of the user.\r\nFormat: users/{id}"
in: path
required: true
type: string
@ -1819,10 +1724,7 @@ paths:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: name
description: |-
The name of the resource.
Format: resources/{id}
id is the system generated unique identifier.
description: "The name of the resource.\r\nFormat: resources/{id}\r\nid is the system generated unique identifier."
in: path
required: true
type: string
@ -2003,9 +1905,7 @@ definitions:
properties:
name:
type: string
title: |-
The name of the identityProvider.
Format: identityProviders/{id}
title: "The name of the identityProvider.\r\nFormat: identityProviders/{id}"
type:
$ref: '#/definitions/apiv1IdentityProviderType'
title:
@ -2049,9 +1949,7 @@ definitions:
properties:
name:
type: string
title: |-
The name of the user.
Format: users/{id}
title: "The name of the user.\r\nFormat: users/{id}"
locale:
type: string
description: The preferred locale of the user.
@ -2105,14 +2003,15 @@ definitions:
enableDoubleClickEdit:
type: boolean
description: enable_double_click_edit enables editing on double click.
enableLinkPreview:
type: boolean
description: enable_link_preview enables links preview.
apiv1WorkspaceSetting:
type: object
properties:
name:
type: string
title: |-
name is the name of the setting.
Format: settings/{setting}
title: "name is the name of the setting.\r\nFormat: settings/{setting}"
generalSetting:
$ref: '#/definitions/apiv1WorkspaceGeneralSetting'
storageSetting:
@ -2127,9 +2026,7 @@ definitions:
description: storage_type is the storage type.
filepathTemplate:
type: string
title: |-
The template of file path.
e.g. assets/{timestamp}_{filename}
title: "The template of file path.\r\ne.g. assets/{timestamp}_{filename}"
uploadSizeLimitMb:
type: string
format: int64
@ -2398,9 +2295,7 @@ definitions:
additionalProperties:
type: integer
format: int32
description: |-
stats is the stats of memo creating/updating activities.
key is the year-month-day string. e.g. "2020-01-01".
description: "stats is the stats of memo creating/updating activities.\r\nkey is the year-month-day string. e.g. \"2020-01-01\"."
v1HeadingNode:
type: object
properties:
@ -2434,9 +2329,7 @@ definitions:
properties:
name:
type: string
title: |-
The name of the inbox.
Format: inboxes/{id}
title: "The name of the inbox.\r\nFormat: inboxes/{id}"
sender:
type: string
title: 'Format: users/{id}'
@ -2556,10 +2449,7 @@ definitions:
additionalProperties:
type: integer
format: int32
description: |-
tag_amounts is the amount of tags.
key is the tag name. e.g. "tag1".
value is the amount of the tag.
description: "tag_amounts is the amount of tags.\r\nkey is the tag name. e.g. \"tag1\".\r\nvalue is the amount of the tag."
v1ListMemosResponse:
type: object
properties:
@ -2570,9 +2460,7 @@ definitions:
$ref: '#/definitions/v1Memo'
nextPageToken:
type: string
description: |-
A token, which can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
description: "A token, which can be sent as `page_token` to retrieve the next page.\r\nIf this field is omitted, there are no subsequent pages."
v1ListResourcesResponse:
type: object
properties:
@ -2620,10 +2508,7 @@ definitions:
properties:
name:
type: string
description: |-
The name of the memo.
Format: memos/{id}
id is the system generated id.
description: "The name of the memo.\r\nFormat: memos/{id}\r\nid is the system generated id."
uid:
type: string
description: The user defined id of the memo.
@ -2631,9 +2516,7 @@ definitions:
$ref: '#/definitions/v1RowStatus'
creator:
type: string
title: |-
The name of the creator.
Format: users/{id}
title: "The name of the creator.\r\nFormat: users/{id}"
createTime:
type: string
format: date-time
@ -2686,9 +2569,7 @@ definitions:
readOnly: true
parent:
type: string
title: |-
The name of the parent memo.
Format: memos/{id}
title: "The name of the parent memo.\r\nFormat: memos/{id}"
readOnly: true
v1MemoProperty:
type: object
@ -2710,14 +2591,10 @@ definitions:
properties:
memo:
type: string
title: |-
The name of memo.
Format: "memos/{uid}"
title: "The name of memo.\r\nFormat: \"memos/{uid}\""
relatedMemo:
type: string
title: |-
The name of related memo.
Format: "memos/{uid}"
title: "The name of related memo.\r\nFormat: \"memos/{uid}\""
type:
$ref: '#/definitions/v1MemoRelationType'
v1MemoRelationType:
@ -2866,9 +2743,7 @@ definitions:
format: int32
creator:
type: string
title: |-
The name of the creator.
Format: users/{id}
title: "The name of the creator.\r\nFormat: users/{id}"
contentId:
type: string
reactionType:
@ -2902,10 +2777,7 @@ definitions:
properties:
name:
type: string
description: |-
The name of the resource.
Format: resources/{id}
id is the system generated unique identifier.
description: "The name of the resource.\r\nFormat: resources/{id}\r\nid is the system generated unique identifier."
uid:
type: string
description: The user defined id of the resource.
@ -2927,9 +2799,7 @@ definitions:
format: int64
memo:
type: string
title: |-
The related memo.
Format: memos/{id}
title: "The related memo.\r\nFormat: memos/{id}"
v1RestoreMarkdownRequest:
type: object
properties:
@ -3053,9 +2923,7 @@ definitions:
properties:
name:
type: string
title: |-
The name of the user.
Format: users/{id}
title: "The name of the user.\r\nFormat: users/{id}"
id:
type: integer
format: int32
@ -3129,9 +2997,7 @@ definitions:
properties:
owner:
type: string
title: |-
The name of instance owner.
Format: "users/{id}"
title: "The name of instance owner.\r\nFormat: \"users/{id}\""
version:
type: string
title: version is the current version of instance

View file

@ -92,6 +92,8 @@ message WorkspaceMemoRelatedSetting {
bool enable_auto_compact = 4;
// enable_double_click_edit enables editing on double click.
bool enable_double_click_edit = 5;
// enable_link_preview enables links preview.
bool enable_link_preview = 6;
}
message GetWorkspaceSettingRequest {

View file

@ -417,6 +417,8 @@ type WorkspaceMemoRelatedSetting struct {
EnableAutoCompact bool `protobuf:"varint,4,opt,name=enable_auto_compact,json=enableAutoCompact,proto3" json:"enable_auto_compact,omitempty"`
// enable_double_click_edit enables editing on double click.
EnableDoubleClickEdit bool `protobuf:"varint,5,opt,name=enable_double_click_edit,json=enableDoubleClickEdit,proto3" json:"enable_double_click_edit,omitempty"`
// enable_link_preview enables links preview.
EnableLinkPreview bool `protobuf:"varint,6,opt,name=enable_link_preview,json=enableLinkPreview,proto3" json:"enable_link_preview,omitempty"`
}
func (x *WorkspaceMemoRelatedSetting) Reset() {
@ -486,6 +488,13 @@ func (x *WorkspaceMemoRelatedSetting) GetEnableDoubleClickEdit() bool {
return false
}
func (x *WorkspaceMemoRelatedSetting) GetEnableLinkPreview() bool {
if x != nil {
return x.EnableLinkPreview
}
return false
}
type GetWorkspaceSettingRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -749,7 +758,7 @@ var file_api_v1_workspace_setting_service_proto_rawDesc = []byte{
0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a,
0x08, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4c,
0x4f, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x03, 0x22, 0xa9,
0x4f, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x03, 0x22, 0xd9,
0x02, 0x0a, 0x1b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f,
0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x36,
0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69,
@ -768,7 +777,10 @@ var file_api_v1_workspace_setting_service_proto_rawDesc = []byte{
0x74, 0x12, 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x22, 0x36, 0x0a, 0x1a, 0x47, 0x65,
0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c,
0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x22, 0x36, 0x0a, 0x1a, 0x47, 0x65,
0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x04, 0x6e, 0x61,

View file

@ -614,6 +614,8 @@ type WorkspaceMemoRelatedSetting struct {
EnableAutoCompact bool `protobuf:"varint,4,opt,name=enable_auto_compact,json=enableAutoCompact,proto3" json:"enable_auto_compact,omitempty"`
// enable_double_click_edit enables editing on double click.
EnableDoubleClickEdit bool `protobuf:"varint,5,opt,name=enable_double_click_edit,json=enableDoubleClickEdit,proto3" json:"enable_double_click_edit,omitempty"`
// enable_link_preview enables links preview.
EnableLinkPreview bool `protobuf:"varint,6,opt,name=enable_link_preview,json=enableLinkPreview,proto3" json:"enable_link_preview,omitempty"`
}
func (x *WorkspaceMemoRelatedSetting) Reset() {
@ -683,6 +685,13 @@ func (x *WorkspaceMemoRelatedSetting) GetEnableDoubleClickEdit() bool {
return false
}
func (x *WorkspaceMemoRelatedSetting) GetEnableLinkPreview() bool {
if x != nil {
return x.EnableLinkPreview
}
return false
}
var File_store_workspace_setting_proto protoreflect.FileDescriptor
var file_store_workspace_setting_proto_rawDesc = []byte{
@ -773,7 +782,7 @@ var file_store_workspace_setting_proto_rawDesc = []byte{
0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65,
0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22,
0xa9, 0x02, 0x0a, 0x1b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
0xd9, 0x02, 0x0a, 0x1b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12,
0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
@ -791,7 +800,10 @@ var file_store_workspace_setting_proto_rawDesc = []byte{
0x63, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x18, 0x05,
0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x2a, 0x73, 0x0a, 0x13, 0x57,
0x6c, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69,
0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x2a, 0x73, 0x0a, 0x13, 0x57,
0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4b,
0x65, 0x79, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f,
0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50,

View file

@ -88,4 +88,6 @@ message WorkspaceMemoRelatedSetting {
bool enable_auto_compact = 4;
// enable_double_click_edit enables editing on double click.
bool enable_double_click_edit = 5;
// enable_link_preview enables links preview.
bool enable_link_preview = 6;
}

View file

@ -219,6 +219,7 @@ func convertWorkspaceMemoRelatedSettingFromStore(setting *storepb.WorkspaceMemoR
ContentLengthLimit: setting.ContentLengthLimit,
EnableAutoCompact: setting.EnableAutoCompact,
EnableDoubleClickEdit: setting.EnableDoubleClickEdit,
EnableLinkPreview: setting.EnableLinkPreview,
}
}
@ -232,5 +233,6 @@ func convertWorkspaceMemoRelatedSettingToStore(setting *v1pb.WorkspaceMemoRelate
ContentLengthLimit: setting.ContentLengthLimit,
EnableAutoCompact: setting.EnableAutoCompact,
EnableDoubleClickEdit: setting.EnableDoubleClickEdit,
EnableLinkPreview: setting.EnableLinkPreview,
}
}

View file

@ -70,5 +70,6 @@
"protobufjs": "^7.3.2",
"typescript": "^5.5.2",
"vite": "^5.3.1"
}
},
"packageManager": "pnpm@9.3.0+sha512.ee7b93e0c2bd11409c6424f92b866f31d3ea1bef5fbe47d3c7500cdc3c9668833d2e55681ad66df5b640c61fa9dc25d546efa54d76d7f8bf54b13614ac293631"
}

View file

@ -1,7 +1,10 @@
import { Link as MLink, Tooltip } from "@mui/joy";
import { useState } from "react";
import { markdownServiceClient } from "@/grpcweb";
import { useWorkspaceSettingStore } from "@/store/v1";
import { LinkMetadata } from "@/types/proto/api/v1/markdown_service";
import { WorkspaceMemoRelatedSetting } from "@/types/proto/api/v1/workspace_setting_service";
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
interface Props {
url: string;
@ -18,11 +21,19 @@ const getFaviconWithGoogleS2 = (url: string) => {
};
const Link: React.FC<Props> = ({ text, url }: Props) => {
const workspaceSettingStore = useWorkspaceSettingStore();
const workspaceMemoRelatedSetting =
workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.MEMO_RELATED).memoRelatedSetting ||
WorkspaceMemoRelatedSetting.fromPartial({});
const [initialized, setInitialized] = useState<boolean>(false);
const [showTooltip, setShowTooltip] = useState<boolean>(false);
const [linkMetadata, setLinkMetadata] = useState<LinkMetadata | undefined>();
const handleMouseEnter = async () => {
if (!workspaceMemoRelatedSetting.enableLinkPreview) {
return;
}
setShowTooltip(true);
if (!initialized) {
try {

View file

@ -53,6 +53,13 @@ const MemoRelatedSettings = () => {
onChange={(event) => updatePartialSetting({ enableAutoCompact: event.target.checked })}
/>
</div>
<div className="w-full flex flex-row justify-between items-center">
<span>Enable link preview</span>
<Switch
checked={memoRelatedSetting.enableLinkPreview}
onChange={(event) => updatePartialSetting({ enableLinkPreview: event.target.checked })}
/>
</div>
<div className="w-full flex flex-row justify-between items-center">
<span>{t("setting.system-section.enable-double-click-to-edit")}</span>
<Switch