334 Commits

Author SHA1 Message Date
Bieber
0d82b7bd9c
[sync] fix(link-field): add bottom padding to filter records container (#2432)
Synced from teableio/teable-ee@5e99422

Co-authored-by: teable-bot <bot@teable.io>
2026-01-14 18:16:25 +08:00
teable-bot
c85eb56d63 [sync] fix: coerce conditional lookup number values to proper type
Synced from teableio/teable-ee@747a999
2026-01-07 05:34:27 +00:00
Bieber
e1eb9f7d04
[sync] fix(t1557): export personal view losing view condition (#986) (#2395)
Synced from teableio/teable-ee@3f3fe02

Co-authored-by: teable-bot <bot@teable.io>
2026-01-06 20:26:44 +08:00
Bieber
12270aee1e
[sync] perf(t1554): template image need crop (#978) T1561 (#2391)
* [sync] perf: template image need crop (#978)

Synced from teableio/teable-ee@2230d00

* fix: t1494 keep filter input stable for lookup filters

---------

Co-authored-by: teable-bot <bot@teable.io>
Co-authored-by: nichenqin <nichenqin@hotmail.com>
2026-01-06 00:56:51 +08:00
Bieber
6585191e6d
[sync] feat(ai): improve LLM provider test with detailed error messages T1518 (#955) (#2369)
Synced from teableio/teable-ee@d230500

Co-authored-by: teable-bot <bot@teable.io>
2025-12-30 23:26:09 +08:00
Bieber
3c04ec9b5c
[sync] fix(1504): apply template workflow with email should replace to insta… (#952) (#2368)
Synced from teableio/teable-ee@c84f6cd

Co-authored-by: teable-bot <bot@teable.io>
2025-12-30 23:17:35 +08:00
Bieber
cabd5718e3
fix: network issues get too much attention T1479 (#2351) 2025-12-30 15:06:47 +08:00
Aries X
459b406ae5
feat: support template permanent link (#2362)
feat: jump to default url automatically

relative issueId: T1412
2025-12-30 11:22:03 +08:00
Bieber
2b830fb46b
[sync] feat(api): optimize API panel for AI and advanced developers (#941) (#2361)
Synced from teableio/teable-ee@42a0e67

Co-authored-by: teable-bot <bot@teable.io>
2025-12-29 22:38:04 +08:00
Uno
438d447ac1
feat: credit calc T1317 (#2313)
* fix: button field enable

* feat: add Business billing level and update related components

* refactor: remove Plus billing level from components and adjust related logic

* fix: update billing levels in components to reflect recent changes

* fix: adjust target billing level logic and improve space owner check in UpgradeWrapper component

* fix: enhance space query logic in UpgradeWrapper

* refactor: optimize confirm function with useCallback for better performance
2025-12-24 19:14:15 +08:00
Aries X
7149cc831d
feat: optimise template relative (#2331)
* perf: shrink template card

relative issueid: T1380

* feat: support template reorder

relative issueid: T1379
2025-12-23 21:17:40 +08:00
Aries X
f59c5a36ae
fix: export base table with dbtablename (#2324)
* fix: export base table with dbtablename

relative issueid: T1388

* fix: template sql query has no permission
2025-12-23 17:30:52 +08:00
Aries X
3455bb820d
fix: default node app is error when set template relative issue: T1381 (#2322) 2025-12-23 01:04:16 +08:00
Aries X
2338117c3e
perf: template admin panel display relative with T1374 (#2320)
* perf: template admin panel display relative with T1374

* fix: lint error

* fix: sharedialog open without default select nodes
2025-12-22 21:26:04 +08:00
Bieber
f6bf18a87b
feat: fix template cover upload logic T1372 (#2317) 2025-12-22 17:57:01 +08:00
Aries X
142cd9e82e
feat: template visit count (#2306)
* feat: add template visit count T1352

* fix: add base id for base export

* fix: template ui relative
2025-12-19 20:14:32 +08:00
Aries X
d09f36d254
perf: template UI (#2302)
* perf: template display ui

* perf: update migration for template

* perf: generate share url T1351
2025-12-19 16:03:38 +08:00
Boris
703d65a887
feat: template preview (T1306,T1316) (#2291)
* feat: template preview

* feat: add preview in template detail

* fix: remove debug code

* fix: unit test

* fix: permission.service unit test

* fix: share link view in template preview pages

* feat: more complete template preview ui

* fix: missing app actions in template

* fix: locales file conflict

* feat: template support app T1316

* feat: support jump to active node when create template

* chore: update i18n

* chore: update i18n

* perf: optimise user publish to community validation process

* fix: base export e2e fail unexpect

* fix: losing duplicate audit-log

* fix: publish dialog select active node error

* feat: unlock template recommended select

* feat: app in template preview

* fix: featured null and false filter fail

* fix: template detail scroll

* chore: constant template spaceId

* perf: create template should close schedule trigger workflow and authority

* fix: publish base ui error

* feat: template preview e2e

* perf: delete template old snapshot app when create new

* fix: import table date with computed data error

* fix: import base e2e

* fix: duplicate base do not turn on workflow and authority

---------

Co-authored-by: caoxing <caoxing9@gmail.com>
2025-12-19 02:06:48 +08:00
Uno
df8e605088
fix: base node status T1328 (#2297)
* feat: enhance BaseNodeTree with ItemStatus component for app and workflow visibility

* refactor: update BaseNodeTree and QuickAction components for improved styling and layout consistency

* feat: add table update permission handling to BaseNodeTree component
2025-12-18 17:56:55 +08:00
Bieber
61c0e31840
feat: user integrations management and slack integration T1322 (#2294)
* feat: support slack integrations

* chore: upgrade nextjs

* feat: add user temp internal token

---------

Co-authored-by: Boris <boris2code@outlook.com>
2025-12-17 23:08:19 +08:00
Uno
1bc686314a
feat: app permission T1293 (#2290)
* feat: enhance app permission handling

* feat: add app-related translations for multiple languages

* feat: add app action prefix to permission handling
2025-12-17 21:46:04 +08:00
Gary Guangyu Li
59470d414b feat(comment): add OK and joy emojis to reaction picker
- Add 👌 (ok_hand) as the first reaction emoji
- Add 😂 (joy) emoji after rocket
- Reorder emojis: 👌 👍 👎 😄 ❤️ �� 👀 🚀 😂

Closes: T1206
2025-12-17 10:43:22 +08:00
Aries X
426709c119
fix: audit-log ai update record with no records T1276 (#2278) 2025-12-15 22:43:43 +08:00
Uno
e9079b501f
feat: space layout (#2236)
* feat: space layout

* feat: add lastModifiedTime and createdUser details to service responses

* refactor: update trash service and UI components

* refactor: remove unused router dependency

* feat: enhance UI for shared bases and trash pages with improved layout and descriptions

* feat: add createdTime field to service responses and update sorting logic in BaseList component

* fix: adjust layout in SpaceInnerPage component

* feat: add new translation keys in multiple languages

* fix: adjust padding in BaseItem component for improved layout

* feat: update translations and replace icon in trash components

* feat: double-click editing in BaseNodeTree

* refactor: remove dragHandleProps from BaseItem and BaseList components for cleaner code

* fix: update some style issue for space layout

* refactor: improve layout and styling

* fix:  adjust layout in BaseItem and BaseList components

* refactor: enhance layout and styling

* refactor: rename variables for clarity in user-related data handling across services

* refactor: initialize treeItems from cache  to prevent empty state flash on remount

* refactor: optimize BaseList sorting logic to handle null values and improve readability

---------

Co-authored-by: hammond <hammond@teable.io>
2025-12-11 22:45:40 +08:00
Uno
8deafdad3c
feat: base node (#2168)
* feat: add BaseNode and BaseNodeFolder models with migration

* feat: add tree component in ui-lib

* feat: implement BaseNode and BaseNodeFolder functionality with CRUD operations and event handling

* feat: enhance migration script

* feat: add support for user last visit tracking and resource deletion events

* feat: implement permission management for BaseNode with role-based access control

* refactor:  PinService to optimize resource fetching and enhance code readability

* fix: router

* feat: base import/export/duplicae support base node

* test: add unit tests for BaseNodeService methods including SQL generation and edge cases

* feat: implement folder depth validation and enhance node movement logic in BaseNodeService

* feat: integrate performance caching for base node list

* refactor: remove unused routes from BasePageRouter

* feat: enhance dashboard renaming functionality with improved state management and keyboard shortcuts

* refactor: simplify BaseNodeTree component by removing unnecessary separator and enhancing drop logic

* feat: enhance QuickAction search

* fix: sorting for nodes in BaseImportService to ensure proper parent-child relationships

* fix: delete folder and pin list

* feat: add permanent delete functionality for base nodes and enhance delete logic in BaseNodeService

* feat: enhance error handling in BaseNodeService and BaseNodeFolderService with localized messages

* refactor: rename hooks and reorganize imports in base node feature

* refactor: remove console log and clean up imports in PinItem component

* fix: pin sql

* fix: e2e

* fix: sharedb presence handling

* fix: e2e

* refactor: optimize database transactions in BaseNodeService

* fix: improve URL generation in BaseNode components

* refactor: remove unnecessary permission decorator and adjust layout in BaseNodeTree component

* feat: add validation for folder depth when moving nodes

* fix: refine anchorId logic in BaseNodeTree component for improved node positioning

* fix: adjust emoji picker size in BaseNodeTree component for better UI consistency

* fix: enhance expanded when create

* feat: implement auto-scroll functionality during drag in BaseNodeTree component

* fix: update TreeItemLabel and TreeDragLine styles for improved visual consistency

* fix: enhance canDrop logic in BaseNodeTree for improved item drop validation

* refactor: add resourceMeta in baseNodeSchema

* fix: e2e

* refactor: update folder creation and update endpoints to return structured response objects

* fix: e2e

* feat: add disallowDashboard setting and deprecation banner in dashboard components

* fix: type check

* feat: add loading state to BaseNodeContext and integrate skeleton loading in BaseNodeTree

* feat: enhance BaseNode service and UI to include defaultViewId in resourceMeta

* refactor: simplify URL construction in getNodeUrl and streamline table navigation in BaseNodeTree

* refactor: improve styling and structure in BaseNodeTree for better responsiveness and accessibility

* feat: add workflow state render

* fix: sync dataLoader returned undefined error

* refactor: update styling in BaseNodeTree for improved layout and consistency

* refactor: remove setEditingNodeId  when create and duplicate

* refactor: extract table creation logic  for improved readability

* refactor: update dropdown menu width and enhance delete confirmation title with resource type

* fix: common noun i18n

* feat: introduce useBaseNodeContext hook for improved context management in BaseNode components

* refactor: update  useBaseNode for enhanced context management

* refactor: enhance BaseNodeTree component with edit mode support and improved local storage handling

* feat: add onUpdateError callback to useBaseNodeCrud and BaseNodeTree for improved error handling

* refactor:  improved UI consistency

* refactor: improve menu invalidation

* refactor: remove permanent delete functionality from UI components

* refactor: permission handling by consolidating base node actions

* feat: implement base node event handling with create, update, and delete events

* refactor: base node event

* refactor: remove table iist in ssr

* feat: enhance BaseNodeTree with  highlight

* feat: update BaseNodeTree to expand parent nodes on selection

* refactor: replace nativeEnum with enum

* fix: enhance router visits check

* refactor: remove unused user last visit mutation from BaseNodeTree
2025-12-09 22:07:15 +08:00
Bieber
b4cb680f53
refactor: ai sdk 6 (#2118)
* chore: update tracing details

* feat: add attachemnt ro

* feat: upgrade to zod 4 and ai-sdk 5

* chore: openapi -> meta

* feat: ai-sdk 6

* chore: standard resource type

* feat: grid view state subscriber

* feat: pick upgrade node to 22

* fix: remove swagger to makesure backend start

* fix: remove swagger to makesure backend start

* chore: fix typecheck

* chore: clean ui effect

* chore: i18n for tools

* fix: card ui

* chore: update ai sdk provider

* fix: should not delete the last view in table

* feat: better zod error

* chore: clean base card

* fix: restore into base logic

* chore: i18n for tools

* chore: i18n for tools

* fix: swagger is back

* fix: pnpm lock

* fix: unit test

* fix: remove token

* fix: typecheck

* feat: proxy setting

* chore: update i18n for chat

* chore: tools i18n

* chore: upgrade ai sdk

* chore: i18n for ai gateway

* chore: rename app generation to app builder

* chore: remove deprecated version

* feat: adjust feature limitations

* chore: tools i18n

* fix: lint issue

* fix: api tag

* chore: zod i18n

* chore: add credit limit exceeded error handling

---------

Co-authored-by: SkyHuang <sky.huang.fe@gmail.com>
2025-12-09 14:43:29 +08:00
Aries X
9d5a023501
feat: add more detailed create record action (#2210)
* feat: add more detailed create record action

* fix: paste make repeatable audit log
2025-12-04 17:54:51 +08:00
Boris
302ec60864
refactor: space base invitation UI (#2167)
* feat: add new base invitation UI

* refactor: space invitation ui

* fix: i18n

* fix: detail optimization

* change some style (#2172)

---------

Co-authored-by: Jun Lu <hammond@teable.io>
2025-11-28 14:50:08 +08:00
nichenqin
92e95d0103
feat: support optional field parameter for last modified time (#2127)
* feat: support optional field parameter for last modified time

* fix: last modified time accept only field

* feat: last modified time formula accept multi field

* feat: last modified time type field accept field
2025-11-21 08:46:38 +08:00
Uno
2a5d97e42c
feat: backend i18n (#2056)
* feat: integrate nestjs-i18n for internationalization support and add language field to User model

* feat: email & notify support i18n

* refactor: improve localization message handling in LinkNotification component

* refactor:  removing default values for email templates

* feat: enhance export notification with i18n support

* feat: integrate i18n module into global module for enhanced localization support

* feat: add messageI18n field to notifications for improved localization support

* chore: update pnpm-lock.yaml

* feat: enhance  i18n  language handling

* fix: update email verification messages to include "minutes" for clarity in multiple languages

* feat: i18n type support

* refactor: remove unused I18nContext import from import-open-api.service.ts
2025-11-12 13:14:58 +08:00
Boris
b7924aa0c2
refactor: oauth app foreign keys (#2085)
* refactor: add oauth app foreign keys

* fix: personal oauth revoke token

* feat: add trash-related scopes to oAuth actions

* feat: add delete oauth apps

* chore: add oauth trash scope e2e

* chore: revoke token api docs return code
2025-11-06 16:41:34 +08:00
Uno
806f707d79
Reapply "feat: add automation send email limits (#2037)" (#2072) (#2073)
This reverts commit 3a18ad3be68d770cc0aa74ca55f22a721e41c3f3.
2025-11-04 18:23:25 +08:00
Uno
3a18ad3be6
Revert "feat: add automation send email limits (#2037)" (#2072)
This reverts commit 0a919ec5cce58a6bae25e3b2053d0c3a21b39939.
2025-11-03 17:25:22 +08:00
Uno
0a919ec5cc
feat: add automation send email limits (#2037) 2025-11-03 14:36:26 +08:00
Boris
83e71982cc
feat: add rate limit for email verification codes (#2041)
* feat: add rate limit for email verification codes

* feat: rename some rate env and add example env

* chore: e2e mul-threads

* fix: auth e2e

* chore: test pg connections limit
2025-10-27 12:50:28 +08:00
Uno
52d7332080
feat: email unsubscription (#1978)
* feat: add unsubscribe

* fix: update unsubscribe list tip
2025-10-27 10:54:40 +08:00
nichenqin
0a98d1440d
fix/conditional rollup bugs (#2042) 2025-10-26 12:45:07 +08:00
Bieber
e2109b5813
fix: api reject when only 1 projection in query (#1998) 2025-10-24 14:54:58 +08:00
Boris
09fe3344d4
feat: add support s3 custom domain (#2014)
* feat: add  support s3 custom domain

* chore: remove log code and env example

* refactor: use AWS official method for S3 custom domain

* feat: support aliyun oss

* feat: debug s3 sockets connection count

* chore: safe isNaN
2025-10-23 21:04:16 +08:00
Aries X
c4aa010820
fix: search high light (#2004)
* fix: search highlight lacking crrect fields

* fix: import empty string

* test: add search hightlight e2e

* fix: person view filter reset unexpectly

* perf: comment notify ui display

* fix: duplicate view losing property

* fix: table design panel database connection text overflow
2025-10-22 17:14:30 +08:00
SkyHuang
e9a39a397c
fix: update formula prompt instructions to clarify formatting requirements (#2026) 2025-10-22 15:21:45 +08:00
Boris
6b1f5ebfe2
fix: missing avatar when pasted user field records (#2003)
* fix: missing avatar when pasted user field records

* fix: admin users not appear refresh tips when authority updated

* fix: more friendly ui display

* fix: hidden or show all fields in share view

* fix: should't closed when click mask in add records dialog

* feat: get base collaborator users support filter by role

* fix: lint error
2025-10-21 11:30:47 +08:00
nichenqin
0d472f013d test: add conditional rollup & lookup test 2025-10-17 18:10:16 +08:00
nichenqin
122c0afc41 test: add conditional rollup & lookup test 2025-10-17 18:10:16 +08:00
nichenqin
24919b6d41 feat: conditional lookup 2025-10-17 18:10:16 +08:00
nichenqin
4d2370dd65 fix: fix row count with aggregate 2025-10-17 18:08:17 +08:00
Aries X
1fc1fd2478
fix: old cell value exist empty string (#1977)
* fix: old cell value exist empty string

* fix: lint error

* test: add fix error data e2e
2025-10-13 20:25:31 +08:00
SkyHuang
032b69e119
perf: billing styles and interaction (#1937)
* perf: update billing styles and interaction

* perf: layout style

* chore: update i18n

* feat: notify admins of license expiration
2025-10-10 21:02:44 +08:00
Bieber
acf2bc62fa
feat: 30s email resend limit (#1951) 2025-10-04 15:48:54 +08:00
Bieber
d88ad2dc1a
feat: add cloudflare turnstile (#1949) 2025-09-30 21:38:32 +08:00