📚❌ Add copy/delete row actions#2456
Conversation
2ad3024 to
6ad4928
Compare
a2ee2c1 to
cbd28cd
Compare
cbd28cd to
8d3df9d
Compare
24c8c07 to
112f0b4
Compare
I closed #2456. I think this is better. Also safer around unique/mandatory/read-only fields than #1713’s immediate backend insert |
112f0b4 to
4348a57
Compare
|
I rebased the PR and fixed the conflicts, still need to do a round of testing on latest rebase 👍 |
|
Tested various column types/unique/default etc. and works for me 👍 |
0b9d9f4 to
5ee587c
Compare
5ee587c to
3d97e04
Compare
enjeck
left a comment
There was a problem hiding this comment.
the row actions do not work for me on publicly shared tables.
Delete doesn't work in smartpicker
|
...changing the action button to a 3-dot menu AI-assistant: Claude Code v2.1.101 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.101 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.126 (Claude Sonnet 4.6) AI-assistant: Claude Code v2.1.126 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.142 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…bedded tables AI-assistant: Claude Code v2.1.142 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…sync import guard ef3db38 tightened the userId guard in RowService::create() and ::updateSet() from `=== null` to `=== null || === ''` to prevent async import background jobs from silently creating rows without a real user in context. However, the codebase intentionally uses an empty string as the public-context sentinel: PublicRowOCSController calls setPublicContext(), which sets $this->userId = '' in SuperService and $isPublicContext = true in PermissionsService. PermissionsService::basisCheck() explicitly handles $userId === '' by returning true when isPublicContext is set. The tightened guard in ef3db38 rejected '' before it ever reached the permissions layer, breaking row create and update for all public link shares. The fix tracks the public context flag in SuperService itself via a new $isPublicContext property, set alongside $this->userId = '' in setPublicContext(). The guard in RowService is updated to: null → always throws (DI never injected a user) '' + !publicCtx → throws (background job running without a user — the case ef3db38 was protecting against) '' + publicCtx → passes (setPublicContext() was called intentionally) 'alice' → always passes (normal authenticated user) Async imports remain protected because ImportTableJob never calls setPublicContext(), so $isPublicContext stays false for that code path. AI-assistant: Claude Code v2.1.143 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
3d97e04 to
009d6f7
Compare
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
benjaminfrueh
left a comment
There was a problem hiding this comment.
I just tested this feature too, works great.
@AndyScherzinger One minor thing I noticed during testing, when a public share only has READ and DELETE permission, it still shows the "Edit Row", even though this is not functional without UPDATE permission. Maybe a rare use-case, but still possible to configure.
It could directly show the delete icon in this case, like it does currently show the "Edit" pencil directly with only READ+UPDATE permissions.
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
|
@benjaminfrueh nice catch, fixed via 6cec622 - feel free to retest. I can' t properly test embeddings. I can't get text to properly work so edits etc. semi-fail on the UI but persist on the backend, also for changes outside of the introduced menu. So it is not related to that. If you have a properly working setup for embedding to test, that would be highly appreciated 🙏 |
5cf9a72 to
be6e465
Compare
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
be6e465 to
bf11f2c
Compare
issues fixed while not originated from this PR itself
There are two pre-existing issues with the smart-picker embedded table in text that I experienced while testing. They are also currently happening on our instance.
@enjeck as these are pre-existing issues, maybe we can merge this one first and move the smart-picker fixes to a follow-up PR, what do you think? |
yeah, sure, thx |
Uh oh!
There was an error while loading. Please reload this page.