This repository was archived by the owner on Oct 14, 2026. It is now read-only.
Repository navigation
merge: upstream v2.25.1 (135 commits - billing redesign, settings tabs, creation modal, email queues) #69
Merged
Merged
Changes from all commits
Commits
Show all changes
142 commits
Select commit
Hold shift + click to select a range
751ce66
feat(tags): expose tag editing in the tags dropdown
giladresisi d9bae16
fix(tags): readable calendar tag labels on any tag color
giladresisi 1f7e1b6
fix(tags): always restore dropdown closability after edit/delete modals
giladresisi 49aa92a
fix(integrations): keep the new refresh token when reconnecting a cha…
giladresisi 5cd4de2
feat: list media via public API and MCP mediaListTool
giladresisi 063ee50
fix: validate page query on GET /public/v1/media
giladresisi 28e7167
fix: guard against duplicate Stripe subscriptions per customer
giladresisi c3f39b9
fix: use console.log for the new stripe guard log lines
giladresisi 76d6616
fix: reject in-app cancel when the org has no live Stripe subscription
giladresisi 5fb2f53
chore: drop unused Injectable import from stripe.service
giladresisi 328b34c
fix(billing): persist cancelAt on cancel/reactivate instead of waitin…
giladresisi 8edbc60
Merge branch 'main' into fix/duplicate-subscriptions
giladresisi 291b07b
fix(calendar): surface curated provider errors in the calendar tooltip
giladresisi e333f75
fix(calendar): clear the stored error when a post fails again uncurat…
giladresisi c8bf9d8
fix(calendar): curate post errors at read time instead of write time
giladresisi 8202a15
feat(mcp): expose the curated post error in the posts list tool
giladresisi 4a6ba07
feat(subscription): re-enable disabled channels when the new plan can…
giladresisi c145f0c
feat(subscription): only re-enable channels when the limit grows, tel…
giladresisi 70911f8
chore(i18n): translate the post-checkout channel notices
giladresisi 5848ef2
refactor(integrations): enable all channels with a single updateMany
giladresisi 0cf4596
fix(frontend): skip the Sentry report dialog for errors from browser …
giladresisi 277d362
fix(frontend): record the Sentry wrapper location synchronously at init
giladresisi 5a1e92b
feat(channels): rename a channel in Postiz while keeping its original…
giladresisi fa47229
fix(frontend): classify third-party errors only in the browser
giladresisi 9aa7c88
Merge remote-tracking branch 'origin/main' into feat/rename-channel
giladresisi bb2e017
fix(channels): return only the id from the custom name update
giladresisi e70110f
feat(calendar): add an open-post link icon for published posts
giladresisi 163cfbf
feat(calendar): show the open-post link on failed posts that still ha…
giladresisi 9af1eb8
fix(calendar): open the first URL of a multi-target post and sever th…
giladresisi f10296a
feat(calendar): resolve the release URL on click before opening the post
giladresisi fc5b4ca
fix(calendar): open the post tab before the release URL request
giladresisi 4583ac5
feat: fix some tools
nevo-david 6b102af
feat: destructiveHint
nevo-david f66844f
docs(security): a role address for time-critical reports instead of a…
egelhaus e25dd93
feat(security): clarify new email entry
egelhaus 3964536
Merge pull request #2195 from gitroomhq/security-contact-role-address
egelhaus 2aae02f
feat: inline picture
nevo-david 28701a9
feat: mcp and skill description
nevo-david ce9cb27
Merge remote-tracking branch 'origin/main'
nevo-david a4bebec
fix(settings): hide the Teams tab from the User role
giladresisi 185044d
feat: fix workflows without continue as new
nevo-david 1f5f24e
feat: workflow changes
nevo-david f65de34
feat: redeploy backend and mcp
nevo-david 36834cd
fix: typo in password reset email
nevo-david 273c7b5
feat: streak load
nevo-david c9138d3
feat: fix agent media sso
nevo-david f28c252
feat: make ugc
nevo-david d883bfa
feat: fix auto post
nevo-david 96b7847
fixes: analytics
nevo-david 4e55a95
feat: provider increase
nevo-david ac27b00
feat(sponsors): remove rapidproxy from readme
egelhaus 8c5f356
fix(settings): show a warning toast when the invite request fails
giladresisi 94a8891
Merge pull request #2200 from gitroomhq/fix/teams-tab-user-role
giladresisi 8630c48
Merge pull request #1828 from gitroomhq/feat/tag-edit-rewire
giladresisi fc7f764
Merge pull request #1829 from gitroomhq/fix/tag-label-contrast
giladresisi 9e6b99c
Merge pull request #2194 from gitroomhq/feat/calendar-open-post-link-…
giladresisi 78182ed
Merge pull request #2119 from gitroomhq/fix/calendar-mapped-error-too…
giladresisi e55121d
Merge pull request #2112 from gitroomhq/fix/cancel-toggle
nevo-david b3b074a
Merge pull request #2165 from gitroomhq/fix/sentry-third-party-tag
nevo-david 1af2885
Merge pull request #2190 from gitroomhq/feat/rename-channel
nevo-david 8809e45
Merge remote-tracking branch 'origin/main' into fix/duplicate-subscri…
giladresisi 256f2b4
docs(claude): code invoked by external webhooks must not throw
giladresisi 2917384
Merge remote-tracking branch 'origin/main' into fix/enable-channels-o…
giladresisi 5d8ce5a
Merge pull request #2202 from gitroomhq/docs/webhook-no-throw-rule
giladresisi 2b4fcbe
fix(subscription): log webhook-path failures instead of swallowing them
giladresisi 8ad0df3
fix(api): return only the needed fields from channel delete and the o…
giladresisi 4913031
fix: skip cancelling an already-cancelled duplicate on webhook retry
giladresisi 78558e9
Merge pull request #2160 from gitroomhq/fix/enable-channels-on-upgrad…
giladresisi ac65e20
fix: never treat incomplete Stripe subscriptions as live
giladresisi 86b3c3d
Merge pull request #2061 from gitroomhq/fix/duplicate-subscriptions
giladresisi b95168f
feat: show login method in Global Settings
giladresisi b08bad8
feat(calendar): frame published posts in green with a checkmark
giladresisi 169c66a
fix(calendar): make the post delete icon and confirmation red, swap D…
giladresisi 743b996
fix: show Apple login in Authentication settings
giladresisi 9bf96eb
feat(calendar): add channel multi-select filter above the calendar
giladresisi f0113c7
chore(i18n): translations for the channel filter keys
giladresisi 2a2c85c
fix(calendar): filter list view by channel on the server
giladresisi 4990043
fix(posts): find-slot never responds when all channels are disabled
giladresisi 1e57cd3
Merge pull request #2207 from gitroomhq/fix/find-slot-all-disabled-main
giladresisi 5007164
Merge pull request #2203 from gitroomhq/feat/settings-authentication
giladresisi f05a049
Merge pull request #2204 from gitroomhq/fix/calendar-delete-red
giladresisi 86ba0f4
Merge pull request #2205 from gitroomhq/feat/calendar-channel-filter
giladresisi fffe4fa
fix(calendar): anchor the post state badges with start instead of lef…
giladresisi 5cfdccc
Merge pull request #2206 from gitroomhq/feat/calendar-published-post-…
giladresisi 1d4b75f
feat: auto text direction (RTL) in composer editor and previews
giladresisi 75cb2f8
fix: allow dir attribute through post content sanitizer
giladresisi 53ea9c8
fix: handle p tags with attributes and isolate IG caption direction
giladresisi ec01d33
fix: match paragraph tag shape when detecting HTML content
giladresisi 0807837
fix: markdown conversion regexes tolerate paragraph and heading attri…
giladresisi 326719b
fix(permissions): look up the refreshed channel by internalId in the …
giladresisi 109e8d4
Merge pull request #2208 from gitroomhq/fix/refresh-channel-limit
giladresisi 48aa7e2
feat: new creation modal
nevo-david c3743d9
feat: creation modal
nevo-david afa30c6
Merge pull request #2209 from gitroomhq/rtl-auto-direction-main
giladresisi 6f79545
fix(calendar): open-post icon no longer lands on a wrong or missing T…
giladresisi 506d9a0
chore(i18n): translations for the open-post link toasts
giladresisi bf89e2e
feat(sponsors): re-add chatbotx to readme
egelhaus 22c0341
Merge pull request #2210 from gitroomhq/egelhaus-patch-1
egelhaus 6eed47e
feat(tiktok): connect UPLOAD drafts to the published post from the op…
giladresisi 541c7a4
fix(tiktok-business): store the post URL when a post is connected by …
giladresisi 66d2101
fix(instagram): map the Trial Reel publish limit error to a readable …
giladresisi 05c9690
Merge remote-tracking branch 'origin/main' into feat/media-list
giladresisi c45ce4a
Merge pull request #2215 from gitroomhq/fix/instagram-trial-reel-limi…
giladresisi 0992c46
feat: point MCP upload tools to the CLI and public API for private files
giladresisi 1396b21
Merge pull request #2216 from gitroomhq/feat/upload-tool-hints
giladresisi e7b8126
fix: drop type and fileSize from the media list response
giladresisi 4be38e1
fix: return only media-owned fields from the media list API and tool
giladresisi dda966e
fix: validate page input on mediaListTool
giladresisi fd0480f
Merge branch 'main' into feat/media-list
giladresisi 07745d1
Merge pull request #1926 from gitroomhq/feat/media-list
giladresisi 80d527b
fix(frontend): honor the AM/PM date metric in the post date picker ti…
giladresisi 24b77c2
Merge pull request #2217 from gitroomhq/fix/date-picker-time-format-main
giladresisi 00ff699
Merge pull request #2211 from gitroomhq/fix/open-post-pending-and-pho…
giladresisi 3128e87
Merge pull request #2212 from gitroomhq/feat/tiktok-upload-draft-resolve
giladresisi a194e3f
feat: group schedules
nevo-david e756fa5
fix: responsive
nevo-david 47175b5
feat: calendar line
nevo-david a9cdda5
Merge remote-tracking branch 'origin/fix/scope-sensitive-responses'
nevo-david 3f848cc
fix: remove data loss
nevo-david 003a77e
feat: fix settings
nevo-david adf1a8f
fix(calendar): put Delete right-most in the post hover bar, after Pre…
giladresisi 2361947
Merge pull request #2221 from gitroomhq/fix/calendar-icon-order
giladresisi 7b29d40
feat: move menu items
nevo-david 0969ce7
Merge remote-tracking branch 'origin/main'
nevo-david 5ac6e10
feat: fix icon
nevo-david 3bd88ce
feat: professional billing
nevo-david 8f3c38a
feat: fix invoices
nevo-david 4c5d42a
feat: superadmin public api endpoint to reset an org's ai credits
egelhaus 2e2d8ed
fix(integrations): log the error behind "Authentication failed" on so…
giladresisi bc61335
Merge pull request #2225 from gitroomhq/fix/log-social-connect-auth-f…
giladresisi 0d486f7
Merge origin/main into fix/google-workspace-session-observability
giladresisi d6f881a
fix(account): ignore disabled members when checking account deletion
giladresisi 6c50457
Merge pull request #2226 from gitroomhq/fix/delete-account-ignore-dis…
giladresisi 7db798f
Merge branch 'main' into fix/google-workspace-session-observability
giladresisi 91c91f6
Merge pull request #1884 from gitroomhq/fix/google-workspace-session-…
giladresisi d7eb12a
merge: upstream main / v2.25.1 (8e42f09c..91c91f63, 135 commits)
claude 23a37cd
fix(sync): brand the v2.25.1 upload tool hints and YouTube Workspace …
claude a445c39
fix(sync): clear the React Compiler lint errors in the v2.25.1 lines
claude a0be876
docs(fork-delta): full paths and accurate wording for the v2.25.1 lin…
claude 813f4d5
fix(sync): keep the connect-failure log format string constant
claude 540a972
fix(sync): clear the ESLint warnings on the v2.25.1 lines
claude 6114dc5
fix(sync): decode & last in the html branch of stripHtmlValidation
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Defensive programming check:
f.users[0]is accessed directly. Iff.usersis empty or undefined, this will throw a runtimeTypeError. Use optional chaining to safely access the property.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving this as is:
users[0]can't be missing here.getOrgsByUserIdonly returns orgs whereusers: { some: { userId } }holds, and itsincludefiltersusersto that sameuserId, so every returned org has exactly that row atusers[0]. Thef.users[0].disabledfilter was already in this file before the sync; upstream only added the.mapthat narrows the fields.Generated by Claude Code