[pull] develop from baserow:develop - #444
Merged
Merged
Conversation
* fix: make integration credentials write-only in the API The SMTP password and Slack bot token were returned in plain text by the integration API and broadcast to every collaborator over the websocket. * fix: record integration config changes in the undo log The exclude list used sensitive_fields, which for SMTP covers every field, so undoing an SMTP integration update restored nothing. * fix: require the SMTP password when the connection target changes Keeping the stored password while changing host, port or use_tls let a user redirect it to a server of their choosing, or downgrade the connection so it crossed the wire in the clear. * fix: refresh integration state from the update response The has_password and has_token flags are derived server side and nothing else refreshes them for the user who made the change. * feat: keep the saved SMTP password when it is not retyped The API no longer returns the password, so the form must distinguish an untouched field from a deliberate clear. * feat: keep the saved Slack bot token when it is not retyped Also mask the input, which rendered a bearer credential in plain text. * feat: explain why an integration credential must be re-entered * chore: add changelog entry for write-only integration secrets * test: cover write-only integration secrets end to end Unit tests on either side cannot see the seam between the form omitting an untouched credential and the backend reading an omitted one as keep. * fix: correct Slack integration copy and defaults for write-only tokens The summary read the token itself, so a configured bot showed as not configured, and the create warning told users the token could be read back through the API. * fix: keep every sensitive field out of the integration action log Narrowing the exclude list put the SMTP host into a replayable log while the credential stayed out, so a recorded target change could be replayed onto a password supplied later by someone else. It also wrote the AI integration's provider API keys into the action and audit logs. * fix: keep integration secrets required when there is nothing to keep Making every secret optional so an update need not retype it also made the Slack token optional on create, where no stored value can be kept. * fix: never use the instance SMTP account for an integration Django's SMTP backend replaces a None username or password with the instance's own. * fix: read has_token when checking a Slack bot in button field actions * fix: list writable credentials in the integration request schemas Also keep the blank error code for an empty token on create. * docs: correct integration secret comments and changelog * style: format button field action list spec * fix: validate integration updates as partial Keeps secrets required on create so the schema matches the server, and drops the None stripping and view-level secret check it made redundant. * docs: cross-reference the two secret_field_dependencies * docs: describe the write-only contract of integration secrets The copy stops a base serializer's extra_kwargs leaking into the type's shared dict, which made name optional on the create serializer. * docs: move integration secret reasoning into docstrings * fix: name the credential generically in the retype message * test: select the SMTP password input by type * test: expect the credential wording in the retype e2e * fix: document integration updates as partial The update validates with partial=True, but its per-type schema components still listed token and host as required. * fix: let undo restore non-credential SMTP settings Only secrets and the targets they protect stay out of the action log, so an SMTP username change can be undone. Types without secrets still exclude every sensitive field. * docs: point sensitive_fields readers to secret_fields sensitive_fields does not hide a field from API responses, so new integration credentials need secret_fields too.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )