Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
4d2b953e
Unverified
Commit
4d2b953e
authored
Jul 02, 2024
by
Johnny
Committed by
GitHub
Jul 02, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: add enable link preview setting to memo related settings (#3647)
parent
b57b6bae
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
121 additions
and
206 deletions
+121
-206
apidocs.swagger.yaml
docs/apidocs.swagger.yaml
+67
-201
workspace_setting_service.proto
proto/api/v1/workspace_setting_service.proto
+2
-0
workspace_setting_service.pb.go
proto/gen/api/v1/workspace_setting_service.pb.go
+14
-2
workspace_setting.pb.go
proto/gen/store/workspace_setting.pb.go
+14
-2
workspace_setting.proto
proto/store/workspace_setting.proto
+2
-0
workspace_setting_service.go
server/router/api/v1/workspace_setting_service.go
+2
-0
package.json
web/package.json
+2
-1
Link.tsx
web/src/components/MemoContent/Link.tsx
+11
-0
MemoRelatedSettings.tsx
web/src/components/Settings/MemoRelatedSettings.tsx
+7
-0
No files found.
docs/apidocs.swagger.yaml
View file @
4d2b953e
...
...
@@ -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\n
Provide
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\n
Format:
\"
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\n
Format:
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\n
Format:
uses
tz
identifier
\r\n
https://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\n
Format:
\"
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\n
Format:
\"
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
memos/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
resources/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
resources/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
\"
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\n
Format:
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\n
Format:
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\n
Format:
resources/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
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\n
Format:
resources/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
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\n
e.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\n
key
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\n
Format:
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\n
key
is
the
tag
name.
e.g.
\"
tag1
\"
.
\r\n
value
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\n
If
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\n
Format:
memos/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
\"
memos/{uid}
\"
"
relatedMemo
:
type
:
string
title
:
|-
The name of related memo.
Format: "memos/{uid}"
title
:
"
The
name
of
related
memo.
\r\n
Format:
\"
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\n
Format:
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\n
Format:
resources/{id}
\r\n
id
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\n
Format:
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\n
Format:
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\n
Format:
\"
users/{id}
\"
"
version
:
type
:
string
title
:
version is the current version of instance
...
...
proto/api/v1/workspace_setting_service.proto
View file @
4d2b953e
...
...
@@ -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
{
...
...
proto/gen/api/v1/workspace_setting_service.pb.go
View file @
4d2b953e
...
...
@@ -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
,
0x
a
9
,
0x4f
,
0x43
,
0x41
,
0x4c
,
0x10
,
0x02
,
0x12
,
0x06
,
0x0a
,
0x02
,
0x53
,
0x33
,
0x10
,
0x03
,
0x22
,
0x
d
9
,
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
,
...
...
proto/gen/store/workspace_setting.pb.go
View file @
4d2b953e
...
...
@@ -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
,
0x
a
9
,
0x02
,
0x0a
,
0x1b
,
0x57
,
0x6f
,
0x72
,
0x6b
,
0x73
,
0x70
,
0x61
,
0x63
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x
d
9
,
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
,
...
...
proto/store/workspace_setting.proto
View file @
4d2b953e
...
...
@@ -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
;
}
server/router/api/v1/workspace_setting_service.go
View file @
4d2b953e
...
...
@@ -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
,
}
}
web/package.json
View file @
4d2b953e
...
...
@@ -70,5 +70,6 @@
"protobufjs"
:
"^7.3.2"
,
"typescript"
:
"^5.5.2"
,
"vite"
:
"^5.3.1"
}
},
"packageManager"
:
"pnpm@9.3.0+sha512.ee7b93e0c2bd11409c6424f92b866f31d3ea1bef5fbe47d3c7500cdc3c9668833d2e55681ad66df5b640c61fa9dc25d546efa54d76d7f8bf54b13614ac293631"
}
web/src/components/MemoContent/Link.tsx
View file @
4d2b953e
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
{
...
...
web/src/components/Settings/MemoRelatedSettings.tsx
View file @
4d2b953e
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment