Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2122 commits
Select commit Hold shift + click to select a range
fa16152
Merge pull request #2296 from teableio/T1326
nichenqin Dec 18, 2025
df8e605
fix: base node status T1328 (#2297)
younocode Dec 18, 2025
67710df
feat: script integration onboarding ui T1330 (#2298)
tea-artist Dec 18, 2025
703d65a
feat: template preview (T1306,T1316) (#2291)
boris-w Dec 18, 2025
3170c34
fix: page router T1331 (#2299)
younocode Dec 19, 2025
dbadb6e
fix(t1349): conditional lookup date sort (#2300)
nichenqin Dec 19, 2025
1a5f92c
fix: test ability in space ai config (#2303)
boris-w Dec 19, 2025
039bb95
fix: record default view selection T713 (#2304)
younocode Dec 19, 2025
d09f36d
perf: template UI (#2302)
caoxing9 Dec 19, 2025
142cd9e
feat: template visit count (#2306)
caoxing9 Dec 19, 2025
431f319
feat: automation steps new icons T1353 (#2311)
hammond-lj Dec 22, 2025
d7b6bf3
feat: add base share entry in base main page issueId:T1370 (#2314)
caoxing9 Dec 22, 2025
15ff75e
feat:action icon allow to hide bg color T1366 (#2312)
hammond-lj Dec 22, 2025
c6be083
fix:automation icon bg color issue T1371 (#2316)
hammond-lj Dec 22, 2025
f6bf18a
feat: fix template cover upload logic T1372 (#2317)
tea-artist Dec 22, 2025
b5f4bd9
fix: missing external template apply request (#2319)
tea-artist Dec 22, 2025
2338117
perf: template admin panel display relative with T1374 (#2320)
caoxing9 Dec 22, 2025
f4ce5af
fix: template preview default node is not match relative issue:T1377 …
caoxing9 Dec 22, 2025
3455bb8
fix: default node app is error when set template relative issue: T138…
caoxing9 Dec 22, 2025
1b990f9
feat: add template related in detail (#2323)
boris-w Dec 23, 2025
bfc4202
fix: correct paste misalignment when using shuffled projection (T1329…
boris-w Dec 23, 2025
ed79eab
fix: scope lookup CTE references
nichenqin Dec 23, 2025
c1ac65c
Merge pull request #2326 from teableio/fix/cte-ready-lookup-scope
nichenqin Dec 23, 2025
f59c5a3
fix: export base table with dbtablename (#2324)
caoxing9 Dec 23, 2025
58e22c1
feat(ui-lib): add zoom and rotate capabilities to image preview (T640…
boris-w Dec 23, 2025
0b05ab5
fix: cast substitute operands to text
nichenqin Dec 23, 2025
2a8b2bb
Merge pull request #2330 from teableio/fix/pg-substitute-cast
nichenqin Dec 23, 2025
7149cc8
feat: optimise template relative (#2331)
caoxing9 Dec 23, 2025
68a2f22
fix(record): handle not-null link columns on create
nichenqin Dec 23, 2025
f843928
Merge pull request #2332 from teableio/fix/link-not-null-create
nichenqin Dec 23, 2025
03f54a6
feat: add confirmation option for button clicks T1005 (#2095)
younocode Dec 24, 2025
4e6e86a
fix(test): add e2e test for Formula IF link boolean context T1405
nichenqin Dec 24, 2025
91e8433
Merge pull request #2333 from teableio/fix/link-if-result
nichenqin Dec 24, 2025
9ee739a
feat: add billable roles with constant T1315 (#2288)
younocode Dec 24, 2025
2f6e18b
fix: text case sensitivity issue of permission setting T1417 (#2336)
hammond-lj Dec 24, 2025
438d447
feat: credit calc T1317 (#2313)
younocode Dec 24, 2025
4feb890
fix: import app fail when app with zero kb jpg (#2337)
caoxing9 Dec 24, 2025
38a69f4
feat: enhance computed evaluator with field layer handling and lookup…
nichenqin Dec 25, 2025
7abb150
feat: support background upload for attachment files (T1038) (#2335)
boris-w Dec 25, 2025
33f32c3
chore: all field prefer physical field
nichenqin Dec 25, 2025
f0f1371
fix: billable user T1428 (#2340)
younocode Dec 25, 2025
8e54963
fix: template publish app fail (#2341)
caoxing9 Dec 25, 2025
9264ba4
feat: add lookup normalization in SelectColumnSqlConversionVisitor
nichenqin Dec 25, 2025
ae5cc80
fix: fix content overflow in share dialog (#2342)
boris-w Dec 25, 2025
28f8f95
fix: some UI issue (T1440,T1443,T1444) (#2343)
boris-w Dec 25, 2025
565a044
fix: prefer physical values for computed lookups
nichenqin Dec 26, 2025
d010eb5
feat: update field reference logic and enhance e2e test for condition…
nichenqin Dec 26, 2025
282f922
feat: add tests for normalizing lookup link titles in formulas
nichenqin Dec 26, 2025
6225a70
feat: space layout T1398 (#2344)
younocode Dec 26, 2025
4667a12
fix: only social auth defaults to redirecting T1449 (#2345)
boris-w Dec 26, 2025
8b1e432
feat: support T1414 (#2346)
boris-w Dec 26, 2025
8391b5b
fix: csv preview is empty (#2348)
caoxing9 Dec 26, 2025
0ece428
fix: fix sql issue
nichenqin Dec 26, 2025
0f2a055
Merge pull request #2338 from teableio/perf/update-record-perf
nichenqin Dec 26, 2025
66ae6e9
fix: anonymous access base redirect 403 T1463 (#2349)
boris-w Dec 27, 2025
e62fcb4
fix: handle autonumber fallback for non-generated columns
nichenqin Dec 27, 2025
beef847
Merge pull request #2350 from teableio/fix/autonumber-meta-fallback
nichenqin Dec 27, 2025
5446d7a
fix(t1466): default formula timeZone and add NOW formula test
nichenqin Dec 29, 2025
83b5d23
Merge pull request #2353 from teableio/fix/T1466-formula-timezone
nichenqin Dec 29, 2025
a2923af
fix: issue T1151 correct conditional lookup filter table label
nichenqin Dec 29, 2025
9b38ba6
feat: sync change workflow T1481 (#2356)
tea-artist Dec 29, 2025
83e2c1f
fix: quick search T1478, T1396 (#2354)
younocode Dec 29, 2025
39df23f
fix: template base losing link record (#2358)
caoxing9 Dec 29, 2025
2042c8e
restore template card style (#2347)
hammond-lj Dec 29, 2025
07d476d
Merge pull request #2355 from teableio/T1151-fix-conditional-lookup-f…
nichenqin Dec 29, 2025
2b830fb
[sync] feat(api): optimize API panel for AI and advanced developers (…
tea-artist Dec 29, 2025
459b406
feat: support template permanent link (#2362)
caoxing9 Dec 30, 2025
207a7dd
fix: backfill link fks during integrity repair (T1503)
nichenqin Dec 30, 2025
a466a71
Merge pull request #2364 from teableio/fix/link-integrity-backfill
nichenqin Dec 30, 2025
dd68452
feat(api-dialog): improve API panel for AI and developers (T1480) (#9…
tea-artist Dec 30, 2025
cabd571
fix: network issues get too much attention T1479 (#2351)
tea-artist Dec 30, 2025
f0458ad
fix: ensure system field formulas evaluate on create T1506
nichenqin Dec 30, 2025
ef032a2
Merge pull request #2366 from teableio/fix/T1506-create-system-formula
nichenqin Dec 30, 2025
1d7ff66
[sync] fix: Base item hover bg transparent T1514 (#953) (#2367)
tea-artist Dec 30, 2025
d18b47e
[sync] fix(t1507): fail to update template with workflow (#949) (#2365)
tea-artist Dec 30, 2025
3c04ec9
[sync] fix(1504): apply template workflow with email should replace t…
tea-artist Dec 30, 2025
6585191
[sync] feat(ai): improve LLM provider test with detailed error messag…
tea-artist Dec 30, 2025
9b7ffb0
fix: link cleanup on record delete
nichenqin Dec 31, 2025
61796cf
Merge pull request #2370 from teableio/t1516-delete-link-cleanup
nichenqin Dec 31, 2025
d56e1d7
fix(link): [T1516] delete records with inconsistent junction data
nichenqin Dec 31, 2025
c134f15
[sync] fix: context menu blank screen when viewing record history or …
tea-artist Dec 31, 2025
e0fa67a
Merge pull request #2373 from teableio/fix/T1516-delete-record-foreig…
nichenqin Dec 31, 2025
1577173
fix(field): invalidate field loader cache after batch update [T1437]
nichenqin Dec 31, 2025
091168a
Merge pull request #2375 from teableio/fix/T1437-conditional-lookup-u…
nichenqin Dec 31, 2025
a929796
[sync] fix(t1529): replace user name for template apply (#966) (#2378)
tea-artist Dec 31, 2025
39bf02a
fix(postgres): use record_ids cte in updateFromSelect
nichenqin Dec 31, 2025
3eb1bdd
Merge pull request #2380 from teableio/fix/update-from-select-cte
nichenqin Dec 31, 2025
ae4fe1a
fix: t1494 keep filter input stable for lookup filters
nichenqin Jan 5, 2026
dff2ffd
Merge pull request #2393 from teableio/fix/filter-input-focus
nichenqin Jan 5, 2026
12270ae
[sync] perf(t1554): template image need crop (#978) T1561 (#2391)
tea-artist Jan 5, 2026
e1eb9f7
[sync] fix(t1557): export personal view losing view condition (#986) …
tea-artist Jan 6, 2026
32d7661
[sync] fix(t1571): fix mouse scroll not working in tracking field dro…
tea-artist Jan 6, 2026
c85eb56
[sync] fix: coerce conditional lookup number values to proper type
Jan 7, 2026
41b2ee1
Merge pull request #2399 from teableio/sync/ee-20260107-053427
nichenqin Jan 7, 2026
262e6db
[sync] feat: add e2e tests for conditional lookup number type and fie…
Jan 7, 2026
7fe7141
Merge pull request #2401 from teableio/sync/ee-20260107-104958
nichenqin Jan 7, 2026
d24c705
fix: table collaborator do not sync (#993) (#2402)
tea-artist Jan 7, 2026
0d82b7b
[sync] fix(link-field): add bottom padding to filter records containe…
tea-artist Jan 14, 2026
bb4e5ac
[sync] fix(tests): update SQL expectations and error handling in test…
tea-artist Jan 14, 2026
bc4424d
[sync] feat: add frontend e2e tests in GitHub Actions (T1679) (#1039)…
tea-artist Jan 14, 2026
eb157a3
[sync] fix(t1687): implement dynamic locale loading for error page tr…
tea-artist Jan 15, 2026
db4c029
[sync] fix: show ai model icon T1693 (#1055) (#2443)
tea-artist Jan 16, 2026
afb5f32
[sync] Merge pull request #1070 from teableio/fix/T1718-email-config-…
tea-artist Jan 20, 2026
4f4c0f2
[sync] Fix Sentry Release (T1750) (#1094) (#2471)
tea-artist Jan 22, 2026
8f59d3e
[sync] fix: docker build issues and TypeScript errors (#1098) (#2473)
tea-artist Jan 22, 2026
a640658
[sync] refactor: update pull request status and enhance next.config.m…
tea-artist Jan 23, 2026
6bacc71
[sync] fix: boolean formula field filter not working correctly (T1613…
tea-artist Jan 23, 2026
42b439a
[sync] feat: usage limit modal T1715 (#1087) (#2479)
tea-artist Jan 23, 2026
a17521d
[sync] fix: boolean formula aggregation and Sentry/OTEL crash (T1613,…
tea-artist Jan 24, 2026
4af33d3
Update README.md
garyli27 Jan 26, 2026
fdc65e1
Update README.md
garyli27 Jan 26, 2026
54af851
Update README.md
garyli27 Jan 26, 2026
2c7eeea
[sync] feat(t1051): improve field delete confirmation with semantic p…
tea-artist Jan 26, 2026
38130ce
[sync] fix: field defaultValue cannot be cleared T1769 (#1116)
Jan 26, 2026
465dda2
Merge pull request #2485 from teableio/sync/ee-20260126-122522
garyli27 Jan 26, 2026
4ceb811
[sync] refactor: implement SQL LIKE wildcard escaping in filters and …
tea-artist Jan 27, 2026
e49f3ee
[sync] feat: add appsumo lifetime deal integration T1817 (#1125) (#2496)
tea-artist Jan 29, 2026
83a413a
[sync] Merge pull request #1143 from teableio/fix/T1844 (#2509)
tea-artist Jan 31, 2026
09c8942
[sync] feat: tool activate T1783 (#1117) (#2510)
tea-artist Feb 1, 2026
8d0c4eb
[sync] feat: add date range filter functionality(T1611 T1729 T1866) (…
tea-artist Feb 4, 2026
9eafc33
[sync] refactor: remove unused imports and streamline code in various…
tea-artist Feb 4, 2026
a58e386
[sync] feat:remove sidebar from shared-base and trash pages T1900 (#1…
tea-artist Feb 5, 2026
367739c
[sync] feat(observability): add OTEL metrics instrumentation and dash…
tea-artist Feb 11, 2026
7faec31
[sync] feat:delete filed dialog (#1267) (#2654)
tea-artist Feb 28, 2026
fc34e9f
[sync] fix realtime backfill updates after computed field creation T2…
tea-artist Mar 3, 2026
296bccd
[sync] fix: canery header in ai T2247 (#1361) (#2701)
tea-artist Mar 6, 2026
2356654
[sync] fix(trash): resolve v2 record names from primary field (#1362)…
tea-artist Mar 6, 2026
6954996
[sync] feat(t2234): billing over limit notice (#1356) (#2704)
tea-artist Mar 6, 2026
4489b4a
[sync] fix: guard malformed numeric text in v1 formula comparisons T2…
tea-artist Mar 6, 2026
0bbb037
[sync] fix: allow unary filters without explicit value (#1366) (#2706)
tea-artist Mar 6, 2026
a381185
[sync] T1407 enforce v2 table field limit on create (#1368) (#2707)
tea-artist Mar 7, 2026
947573c
[sync] chore(v2): remove unused runtime packages (#1369) (#2708)
tea-artist Mar 7, 2026
a9dd57d
[sync] [T2258] migrate undo redo flows to v2 command replay (#1370) (…
tea-artist Mar 9, 2026
940187a
[sync] [T2268] fix v2 datetime formatting realtime refresh (#1371) (#…
tea-artist Mar 9, 2026
7cc9a02
[sync] fix: route canary list-records through cls v2 flag T2236 (#132…
tea-artist Mar 9, 2026
7c5d9d3
[sync] refactor: add size variants to Input/Select/TextArea component…
tea-artist Mar 9, 2026
f22da14
Update links in README for Community section
HynLcc Mar 9, 2026
c6cbecf
[sync] test(v2-e2e): add field conversion deadlock regression (#1372)…
tea-artist Mar 9, 2026
ff3147c
[sync] fix(t2255): prevent scroll when focusing on FileZone component…
tea-artist Mar 9, 2026
f824f3d
[sync] T1446 fix datetime parse custom month parsing (#1374) (#2717)
tea-artist Mar 9, 2026
d225a88
[sync] fix(v2): sync lookup select choices from foreign targets (#137…
tea-artist Mar 9, 2026
ec246e1
Merge branch 'develop' into update-readme
HynLcc Mar 9, 2026
fb2f9e1
Merge pull request #2715 from teableio/update-readme
HynLcc Mar 9, 2026
737e41e
[sync] [T1111] fix delete-field undo for constrained columns (#1375) …
tea-artist Mar 10, 2026
d6bb794
[sync] [T2287] fix raw table validation translations (#1379) (#2720)
tea-artist Mar 10, 2026
33a06d1
[sync] Update links in README for community resources (#2721)
tea-artist Mar 10, 2026
2ccdb73
[sync] [T2288] feat(v2): add field command explain endpoints (#1383) …
tea-artist Mar 10, 2026
21cc8f4
[sync] [T1804] test(v2-e2e): add v2 concatenate user event regression…
tea-artist Mar 10, 2026
c2d9d23
[sync] [T2289] fix v2 conditional lookup system time date matching (#…
tea-artist Mar 10, 2026
536053f
[sync] fix: auto-restore required file for app preview T2295 (#1395) …
tea-artist Mar 10, 2026
970aca5
[sync] [T2291] fix v2 computed field target conversion handling (#139…
tea-artist Mar 11, 2026
584b54d
[sync] [T2201] add v2 update records by filter (#1381) (#2728)
tea-artist Mar 11, 2026
8e3e49d
[sync] fix(t2280): enhance number formatting support (#1393) (#2729)
tea-artist Mar 11, 2026
0698e3c
[sync] fix(v2-core): sync filter options through dependencies (#1400)…
tea-artist Mar 11, 2026
cf323a8
[sync] [T1744] fix v2 user field reference filters for single and mul…
tea-artist Mar 11, 2026
250fea1
[sync] [T2293] support search-aware selection ranges in v2 (#1398) (#…
tea-artist Mar 11, 2026
373b276
[sync] fix(v2): normalize lookup field reference equality (#1402) (#2…
tea-artist Mar 11, 2026
1c86fcb
[sync] test(v2-e2e): cover lookup update scope regression (#1401) (#2…
tea-artist Mar 11, 2026
74cc9fb
[sync] perf: add import status (T1977) (#1380) (#2735)
tea-artist Mar 11, 2026
a1477d5
[sync] feat: Optimize the colors of grids and cells T2294 (#1394) (#2…
tea-artist Mar 11, 2026
b13ebbb
[sync] fix(sdk): normalize v2 rollup field docs (#1403) (#2737)
tea-artist Mar 11, 2026
182dfac
[sync] [T2191] fix ai auto update after conditional lookup recompute …
tea-artist Mar 11, 2026
bc4f72d
[sync] fix: ai chat input style T2278 (#1391) (#2739)
tea-artist Mar 11, 2026
b1a470c
[sync] [T2191] refactor schema refresh action trigger boundary (#1406…
tea-artist Mar 11, 2026
49401e9
[sync] fix: t2209 correct drawCollaborators cell & t2300 update initi…
tea-artist Mar 11, 2026
a7e9b3f
[sync] test(v2-core): expand table spec visitor coverage (#1409) (#2742)
tea-artist Mar 12, 2026
d054281
[sync] refresh records after schema-driven field updates T2303 (#1410…
tea-artist Mar 12, 2026
fe13bee
[sync] test(backend): add v2 paste numeric coercion regression (#1414…
tea-artist Mar 12, 2026
d26967b
[sync] fix: teable cli Integration icons style T2252 (#1416) (#2745)
tea-artist Mar 12, 2026
a6e84ef
[sync] [T1981] fix(v2): align grouped link range row mapping (#1415) …
tea-artist Mar 12, 2026
387b752
[sync] [T1968] fix(v2): short-circuit errored computed references (#1…
tea-artist Mar 12, 2026
d1f70a0
[sync] fix(backend): ignore stale deleted-field refs in graph plans (…
tea-artist Mar 12, 2026
514ce90
[sync] fix(app): preserve view defaults for personal selection reques…
tea-artist Mar 12, 2026
a3f7926
[sync] fix: normalize lookup link formula references (#1425) (#2750)
tea-artist Mar 12, 2026
74d0409
[sync] fix(t433): add FormatDate pipe and localization support for da…
tea-artist Mar 13, 2026
21436da
[sync] feat(i18n): update changelog keys for bulk download attachment…
tea-artist Mar 13, 2026
9b51161
[sync] T2324: fix v1 create for legacy createdTime columns (#1427) (#…
tea-artist Mar 14, 2026
43fafc7
[sync] fix(v2): refresh records after field create (#1430) (#2755)
tea-artist Mar 14, 2026
0c52b1c
[sync] [T2253] fix renamed user computed cascade (#1424) (#2756)
tea-artist Mar 14, 2026
b0ef112
[sync] fix: normalize email to lowercase in changeEmail to prevent lo…
tea-artist Mar 15, 2026
72f4bb1
[sync] [T2308] rework v2 delete table side effects (#1421) (#2758)
tea-artist Mar 15, 2026
23d466c
[sync] [T2338] fix v2 bulk automation scheduling (#1433) (#2759)
tea-artist Mar 16, 2026
74f2513
[sync] T2162 fix: guard v2 schema refresh action triggers (#1436) (#2…
tea-artist Mar 16, 2026
89208d5
[sync] fix: base import error (#1438) (#2761)
tea-artist Mar 16, 2026
a83d082
[sync] feat: lookup long text collapsed T2292 (#1418) (#2762)
tea-artist Mar 16, 2026
30f3bad
[sync] fix: long select tags outframe T2310 (#1420) (#2763)
tea-artist Mar 16, 2026
6d778d4
[sync] fix: base import error causing the tail stream (#1444) (#2764)
tea-artist Mar 16, 2026
0c3c4d0
[sync] T2243 fix same-table conditional fields on delete (#1437) (#2765)
tea-artist Mar 16, 2026
a6e7a0a
[sync] fix: ai chat fail to upload attachment (#1446) (#2766)
tea-artist Mar 17, 2026
390ec68
[sync] test(v2-e2e): add conditional field reference operator coverag…
tea-artist Mar 17, 2026
928fc93
[sync] T2354 fix: refresh v2 link record queries after schema updates…
tea-artist Mar 17, 2026
7ab5821
[sync] fix: number format i18n T2341 (#1443) (#2770)
tea-artist Mar 17, 2026
4dac92a
[sync] perf: do not trigger field computing when importing base (#145…
tea-artist Mar 17, 2026
1b07aca
[sync] fix: add explicit size to icons inside Button components T2356…
tea-artist Mar 18, 2026
d33d6cf
[sync] feat: support markdown for longtext field (T1823) (T2317) (#14…
tea-artist Mar 18, 2026
f8663f3
[sync] feat: t2375 web scrape (#1451) (#2775)
tea-artist Mar 18, 2026
4ced729
[sync] feat: add v2 record write plugins T2373 (#1449) (#2776)
tea-artist Mar 19, 2026
f80f2a5
[sync] fix: Trigger icon & script action i18n and Integration style T…
tea-artist Mar 19, 2026
5a03a82
[sync] T2383: fix lookup field editor regression with link display co…
tea-artist Mar 19, 2026
35e0d7f
[sync] fix: change cell with previous data when longtext editing (#14…
tea-artist Mar 19, 2026
46fa2d0
[sync] fix: redesign export base notification toast with structured U…
tea-artist Mar 19, 2026
05af419
[sync] feat: add get-grid-rows ai tool T2238 (#1364) (#2781)
tea-artist Mar 19, 2026
76960e9
[sync] feat(v2): add computed task run-by-id command (#1465) (#2782)
tea-artist Mar 19, 2026
d152d52
[sync] [T2379] reduce large batch realtime fan-out (#1453) (#2783)
tea-artist Mar 19, 2026
8d4a8a7
[sync] perf: share button include table and view (T2401) (#1471) (#2784)
tea-artist Mar 19, 2026
cbdb7fc
[sync] T2390 narrow filtered lookup propagation on update (#1461) (#2…
tea-artist Mar 20, 2026
5b2c453
[sync] T2404 move v2 link filters into the list handler (#1472) (#2786)
tea-artist Mar 20, 2026
a378d30
[sync] fix(backend): add sentry tags for v2 requests (#1475) (#2787)
tea-artist Mar 20, 2026
84eef86
[sync] T2413: add computed queue inspection and csv export (#1474) (#…
tea-artist Mar 20, 2026
4b7a0df
[sync] [T2319] support v2 create and restore table canary flows (#143…
tea-artist Mar 20, 2026
2435261
[sync] perf: add guarded fast path for simple conditional rollups (#1…
tea-artist Mar 20, 2026
4d3a34d
[sync] chore: update npm package homepage to teable.ai (#1483) (#2791)
tea-artist Mar 20, 2026
90e3561
[sync] T2419: recover stale computed processing tasks (#1477) (#2792)
tea-artist Mar 20, 2026
9d20ee5
[sync] fix: share view and template call unnecessary api (#1484) (#2793)
tea-artist Mar 20, 2026
03ef723
[sync] T2429: integrate v2 authority-matrix authz plugins for canary …
tea-artist Mar 21, 2026
e0ec4d9
[sync] test(v2): add shipping filter update coverage (#1485) (#2795)
tea-artist Mar 22, 2026
658db6d
[sync] fix: select field type tooltips un-clickable T2399 (#1478) (#2…
tea-artist Mar 23, 2026
13e450d
[sync] fix:t2411 record history layout (#1479) (#2798)
tea-artist Mar 23, 2026
889cda1
[sync] fix: show default model name in space AI config placeholder T2…
tea-artist Mar 23, 2026
34bba0e
[sync] T2396 fix duplicate field schema refresh after realtime update…
tea-artist Mar 23, 2026
96a2aea
[sync] perf: markdown optimise (T2393) (#1492) (#2801)
tea-artist Mar 23, 2026
1c3ffcb
[sync] T1879: keep hidden grid views stable for new fields (#1490) (#…
tea-artist Mar 23, 2026
8e27643
[sync] T2158 fix lookup date paste into date field (#1489) (#2803)
tea-artist Mar 23, 2026
1cda195
[sync] [T2442] add schema repair commands and system schema rules (#1…
tea-artist Mar 23, 2026
3e49dad
[sync] perf: unify longtext and markdown expand (#1497) (#2805)
tea-artist Mar 23, 2026
6c7bbeb
[sync] fix: longtext losing max height when editing (#1498) (#2806)
tea-artist Mar 23, 2026
97d4b5d
[sync] fix: unify form view share button interactive (#1499) (#2807)
tea-artist Mar 23, 2026
4d409df
[sync] [T2327] fix duplicate symmetric link field names after copy (#…
tea-artist Mar 23, 2026
2072515
[sync] fix: sort conditional lookup numbers numerically (#1503) (#2809)
tea-artist Mar 24, 2026
3c40521
[sync] fix: surface create-record field errors to ai (T2179) (#1502) …
tea-artist Mar 24, 2026
8171ffb
[sync] T2445: support v2 table duplication (#1491) (#2811)
tea-artist Mar 24, 2026
5a5ce73
[sync] feat: sandbox agent T2405 (#1431) (#2812)
tea-artist Mar 24, 2026
cf35408
[sync] fix: flatten multi-select array_unique rollups (#1504) (#2813)
tea-artist Mar 24, 2026
ecc2d25
[sync] [T2449] support native v2 bulk record updates (#1494) (#2814)
tea-artist Mar 24, 2026
6716cc9
[sync] T2447 fix select conversion metadata and empty record titles (…
tea-artist Mar 24, 2026
df0b2c1
[sync] fix(backend): skip broken link storage in field plan (#1505) (…
tea-artist Mar 24, 2026
56f14cb
[sync] fix: initialize api dialog with current view (#1506) (#2817)
tea-artist Mar 24, 2026
89e6168
[sync] perf: markdown optimise (2463) (#1508) (#2818)
tea-artist Mar 24, 2026
968b440
[sync] test(backend): add t2459 link id payload title regression (#15…
tea-artist Mar 24, 2026
09e8cc4
[sync] fix(backend): bootstrap ai primary fields before duplicate lin…
tea-artist Mar 24, 2026
a72f9bb
[sync] fix(backend): refresh base-node cache for v2 table creation (#…
tea-artist Mar 24, 2026
83e4fa0
[sync] fix(sdk): restore filter dropdown wheel scrolling T2325 (#1515…
tea-artist Mar 24, 2026
9b63a02
[sync] fix: minio export files error (T2469) (#1514) (#2823)
tea-artist Mar 24, 2026
0f57409
[sync] fix: refactor email processing and attachment handling (#1507)…
tea-artist Mar 24, 2026
778111d
[sync] fix(computed): add failure diagnostics for outbox workers (#2836)
tea-artist Mar 25, 2026
4617d16
[sync] perf(computed): skip individual seed storage for large dirty t…
tea-artist Mar 25, 2026
bd18412
[sync] feat(t2630): transfer sandbox context via presigned URLs inste…
tea-artist Apr 1, 2026
ca571d9
[sync] feat: add user info popover and Bot badge in grid user cell (T…
tea-artist Apr 14, 2026
6984724
security: add rate limiting and hash share link passwords
Apr 17, 2026
e3a8b05
security: extend password hashing to view-share module + hash on write
Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
11 changes: 0 additions & 11 deletions .changeset/config.json

This file was deleted.

6 changes: 4 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# All node_modules directories
node_modules
**/node_modules
**/dist
**/.next

Expand Down Expand Up @@ -45,8 +45,10 @@ tmp

# other
**/db
!packages/v2/adapter-repository-postgres/src/db
!packages/v2/adapter-repository-postgres/src/db/**
**/.assets
**/.temporary
**.DS_Store
docs
**/*.md
**/*.md
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: ""
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

** Client (please complete the following information):**

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Platform (Please tell us which deployment version you are using)**
[eg. teable.ai, docker-standalone, docker-swarm, docker-cluster]

**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: ""
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
2 changes: 1 addition & 1 deletion .github/actions/pnpm-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ runs:
id: pnpm-config
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
echo "STORE_PATH=$(pnpm store path | tr -d '\n')" >> $GITHUB_OUTPUT

- name: ⚙️ Cache rotation keys
id: cache-rotation
Expand Down
98 changes: 81 additions & 17 deletions .github/workflows/docker-push.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,40 @@
name: Build and Push to Docker Registry

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
branches:
- develop
tags:
- 'v*'
paths:
- 'apps/nestjs-backend/**'
- 'apps/nextjs-app/**'
- 'packages/**'
- '.github/**'
- 'scripts/**'

jobs:
build-push:
runs-on: ubuntu-latest

strategy:
matrix:
target: [app, db-migrate]
arch: [amd64, arm64]
include:
- target: app
file: Dockerfile
image: teable
image: teable-community
- target: db-migrate
file: Dockerfile.db-migrate
image: teable-db-migrate
image: teable-db-migrate-community
- arch: amd64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}

steps:
- name: Checkout code
Expand All @@ -31,6 +47,12 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.PACKAGES_KEY }}

- name: Login to Docker Hub registry
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_NAME }}
password: ${{ secrets.DOCKER_HUB_AK }}

- name: Login to Ali container registry
uses: docker/login-action@v3
with:
Expand All @@ -40,7 +62,7 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: 20.9.0
node-version: 22.18.0
- name: ⚙️ Install zx
run: npm install -g zx

Expand All @@ -51,21 +73,63 @@ jobs:
images: |
registry.cn-shenzhen.aliyuncs.com/teable/${{ matrix.image }}
ghcr.io/teableio/${{ matrix.image }}
docker.io/teableio/${{ matrix.image }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha
# set latest tag for default branch
type=raw,value=latest,enable={{is_default_branch}}
- name: ⚙️ Set up QEMU
uses: docker/setup-qemu-action@v3
- name: ⚙️ Set up Docker Buildx
uses: docker/setup-buildx-action@v3
type=sha,format=long
type=raw,value=latest

- name: 📦 Build and push
run: |
zx scripts/build-image.mjs --file=dockers/teable/${{ matrix.file }} \
--cache-from=type=registry,ref=ghcr.io/teableio/${{ matrix.image }}:buildcache \
--cache-to=type=registry,ref=ghcr.io/teableio/${{ matrix.image }}:buildcache,mode=max \
--build-arg="ENABLE_CSP=false" \
--tag="${{ steps.meta.outputs.tags }}" \
--platform="linux/${{ matrix.arch }}" \
--push

create-manifest:
needs: build-push
runs-on: ubuntu-latest
strategy:
matrix:
target: [app, db-migrate]
include:
- target: app
image: teable-community
- target: db-migrate
image: teable-db-migrate-community

steps:
- name: Login to GitHub container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.PACKAGES_KEY }}

- name: Login to Docker Hub registry
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_NAME }}
password: ${{ secrets.DOCKER_HUB_AK }}

- name: Login to Ali container registry
uses: docker/login-action@v3
with:
registry: registry.cn-shenzhen.aliyuncs.com
username: ${{ secrets.ALI_DOCKER_USERNAME }}
password: ${{ secrets.ALI_DOCKER_PASSWORD }}

- name: Create and push manifest
run: |
REGISTRIES=("registry.cn-shenzhen.aliyuncs.com/teable" "ghcr.io/teableio" "docker.io/teableio")
TAGS=("latest" "sha-${{ github.sha }}")

for REGISTRY in "${REGISTRIES[@]}"; do
for TAG in "${TAGS[@]}"; do
docker manifest create $REGISTRY/${{ matrix.image }}:$TAG \
$REGISTRY/${{ matrix.image }}:${TAG}-amd64 \
$REGISTRY/${{ matrix.image }}:${TAG}-arm64

docker manifest push $REGISTRY/${{ matrix.image }}:$TAG
done
done
55 changes: 50 additions & 5 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,44 @@
name: Integration Tests

on:
push:
branches:
- develop
pull_request:
branches:
- develop
paths:
- 'apps/nestjs-backend/**'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build:
test:
runs-on: ubuntu-latest
name: Integration Tests
name: Integration Tests - ${{ matrix.e2e.database-type }} ${{ matrix.e2e.shard }} ${{ matrix.runtime.mode }}

strategy:
fail-fast: false
matrix:
node-version: [20.x]
database-type: [postgres, sqlite]
node-version: [22.18.0]
runtime:
- mode: v1
force-v2-all: ''
computed-update-mode: ''
- mode: v2
force-v2-all: 'true'
computed-update-mode: 'sync'
e2e:
- database-type: postgres
shard: 1/4
- database-type: postgres
shard: 2/4
- database-type: postgres
shard: 3/4
- database-type: postgres
shard: 4/4
env:
CI: 1

Expand All @@ -34,7 +56,30 @@ jobs:
- name: 🧪 Run Tests
env:
CI: 1
FORCE_V2_ALL: ${{ matrix.runtime.force-v2-all }}
V2_COMPUTED_UPDATE_MODE: ${{ matrix.runtime.computed-update-mode }}
VITEST_MAX_THREADS: 2
VITEST_MIN_THREADS: 1
VITEST_SHARD: ${{ matrix.e2e.shard }}
VITEST_REPORTER: blob
run: |
make ${{ matrix.database-type }}.integration.test
make ${{ matrix.e2e.database-type }}.integration.test
pnpm -F "@teable/backend" test-unit-cover
pnpm -F "@teable/backend" merge-cover
pnpm -F "@teable/backend" generate-cover

- name: Coveralls Parallel
uses: coverallsapp/github-action@v2
with:
flag-name: run-${{ join(matrix.*, '-') }}
file: apps/nestjs-backend/coverage/nestjs-backend/clover.xml
parallel: true

finish:
needs: test
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
5 changes: 4 additions & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@ on:
- 'apps/**'
- 'packages/**'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
name: Linting and Types

strategy:
matrix:
node-version: [20.x]
node-version: [22.18.0]

steps:
- uses: actions/checkout@v4
Expand Down
Loading