• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Freegle / Iznik
71%
master: 71%

Build:
Build:
LAST BUILD BRANCH: fix/myposts-old-posts-pinned-by-room-chat-9481-583
DEFAULT BRANCH: master
Repo Added 13 Apr 2026 05:19PM UTC
Files 1303
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix/myposts-old-posts-pinned-by-room-chat-9481-583
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • chore/coverage-adapter
  • chore/coverage-amp
  • chore/coverage-app-release-classifier
  • chore/coverage-dashboard-go
  • chore/coverage-database
  • chore/coverage-donations-helpers
  • chore/coverage-emailtracking
  • chore/coverage-embedding
  • chore/coverage-export
  • chore/coverage-handler
  • chore/coverage-image
  • chore/coverage-isochrone
  • chore/coverage-merge
  • chore/coverage-misc
  • chore/coverage-namegen
  • chore/coverage-reusebenefit
  • chore/coverage-sentrylog
  • chore/coverage-sso
  • chore/coverage-team
  • chore/coverage-use-blur-detector
  • chore/coverage-use-distance
  • chore/coverage-use-suppress-exception
  • chore/coverage-use-typewriter
  • chore/coverage-useTimeFormat
  • chore/coverage-useTwem
  • chore/coverage-utils
  • chore/coverage-utils-flex-json
  • chore/coverage-vectorsearch-20260422
  • chore/coverage-worrywords-edge-cases
  • chore/pr-template
  • chore/purge-email-tracking-30d
  • chore/skip-iznik-server-ci-tests
  • ci/spatial-tests-serial
  • cleanup/retire-cake-for-mods
  • coverage/Go-tdd
  • coverage/event-filtering-tests
  • coverage/go-1714999056
  • coverage/go-status-readgithead-2026-04-29
  • coverage/go-tryst-20260503
  • coverage/laravel-gemini-service-20260504
  • coverage/laravel-message-commands-2026-05-02
  • coverage/useModMessages-uncovered-branches-1777447042
  • coverage/vitest-uppy-retry-coalescer-2026-05-07
  • coverage/vitest-use-trace-20260425
  • diagnose/repost-group-change-dom-dump
  • docs/pr-discourse-link-standard
  • feat/android-app-shortcuts
  • feat/app-native-features
  • feat/archive-attachments
  • feat/batch-migrate-non-email-jobs
  • feat/batch-migrate-remaining-scripts
  • feat/birthday-emails
  • feat/chat-chaseup-mods
  • feat/chat-review-notify
  • feat/chat-review-pending
  • feat/contentcheck-pipeline
  • feat/digest-reply-notice
  • feat/donations-daily-summary
  • feat/engage-emails
  • feat/events-digest
  • feat/group-customisation
  • feat/groups-closed-reminder
  • feat/groups-no-messages
  • feat/haptics-feedback
  • feat/lovejunk-tn-invoice
  • feat/microvolunteering-notify
  • feat/mod-active-welfare
  • feat/modtools-capacitor-app
  • feat/newsfeed-mod-notif
  • feat/noticeboard-thank-email
  • feat/share-into-freegle
  • feat/share-into-freegle-ios
  • feat/spatial-remove-expanding-bbox
  • feat/spatial-routing-ui-yesterday
  • feat/stories-ask
  • feat/stories-to-central
  • feat/tn-names-fix
  • feat/tryst-calendar-reminders
  • feat/user-support-dump
  • feat/volunteering-digest
  • feat/welcome-review
  • feature/ai-image-prompt-improvements
  • feature/ai-image-regen
  • feature/android-coldstart-safe
  • feature/autoapprove-delay
  • feature/batch-deadlock-fixes
  • feature/batch-deadlock-fixes-v2
  • feature/batch-jobs-dry-run-and-fixes
  • feature/bounce-users-suspension
  • feature/bulk-offer-clearance
  • feature/bulk-offer-management
  • feature/cansubmit-messagevalid
  • feature/charity-badge
  • feature/chat-api-test-coverage
  • feature/chat-button-modifier-keys
  • feature/chat-expected-migration
  • feature/chat-process-migration
  • feature/chat-spam-migration
  • feature/check-spammers-migration
  • feature/cloudflare-ai-images
  • feature/cls-improvements
  • feature/compose-single-call-rework
  • feature/concern-keywords
  • feature/coverage-20260429
  • feature/coverage-laravel-event-listeners
  • feature/coverage-message
  • feature/coverage-postcode-remapping
  • feature/coverage-vitest-1777133352
  • feature/coverage-vitest-20260504
  • feature/daily-posts-push
  • feature/eee-identification
  • feature/enable-batch-jobs
  • feature/engage-update-migration
  • feature/explore-mobile-finder
  • feature/exports-migration
  • feature/frontend-design-refresh
  • feature/giftaid-chaseup-migration
  • feature/go-coverage-group
  • feature/go-coverage-pr
  • feature/hybrid-embedding-search
  • feature/leave-freegle-notice
  • feature/memberships-process-migration
  • feature/message-search-index-migration
  • feature/migrate-http-endpoints
  • feature/mobile-feel
  • feature/mod-notifs-migration
  • feature/modtools-mod-mail-logging-9518
  • feature/monitor-fsm-process-quality
  • feature/monitor-fsm-sqlite
  • feature/multi-group-messages
  • feature/multi-group-messages-join
  • feature/notification-chaseup-email
  • feature/putmessage-item-validation
  • feature/reengagement-mails
  • feature/reply-to-chat
  • feature/retire-subject-line-settings
  • feature/rippling-browse
  • feature/rippling-held-replies
  • feature/rippling-immediate-mails
  • feature/rippling-location-velocity
  • feature/rippling-mod-location-changes
  • feature/rippling-mod-ui
  • feature/rippling-reach-engine
  • feature/rippling-relax-seen-threshold
  • feature/rippling-secondary-reject
  • feature/rippling-self-tuning
  • feature/rippling-single-group-posting
  • feature/rippling-tighten-spam-checks
  • feature/search-filter-tests
  • feature/search-relevance-fix-9585
  • feature/session-settings-defaults
  • feature/social-login-profile-pictures
  • feature/spatial-improvements
  • feature/tdd-coverage-changes-endpoint
  • feature/test-go-location-isochrones
  • feature/unified-digest-revision
  • feature/users-modmails-migration
  • feature/vector-search
  • feature/vite8-build-speed
  • feature/volunteering-maintenance
  • feature/wire-concern-keywords
  • fix-295
  • fix/add-member-409
  • fix/ai-image-test
  • fix/ai-images-9646-1
  • fix/approved-members-infinite-scroll
  • fix/auth-userlist-non-array-crash
  • fix/authority-autocomplete-crash
  • fix/auto-repost-excessive-9481
  • fix/auto-repost-missing-items-9481
  • fix/banned-members-pagination-test
  • fix/banned-no-post-digest
  • fix/chat-delivery-9800-1
  • fix/chat-notifications-closed-blocked
  • fix/chat-phone-warning-false-positive-9518
  • fix/chat-review-message-merge
  • fix/chitchat-image-size-9749-5
  • fix/chitchat-ios-cardinality
  • fix/chitchat-ios-limited-posts
  • fix/chitchat-reply-dots-padding-9749
  • fix/chitchat-scroll-history
  • fix/ci-clear-stale-status-labels
  • fix/ci-npm-install-retry
  • fix/config-9793-5
  • fix/content-moderation-9620-283
  • fix/digest-came-and-went-dedup
  • fix/digest-wanted-no-image-wait
  • fix/discourse-rate-limit-retry
  • fix/duplicate-link-collection
  • fix/eee-browser-submitting-flag
  • fix/email-9363-29
  • fix/email-rendering-9363-31
  • fix/email-tracking-sent-at-index-name
  • fix/enforce-discourse-quote-hook
  • fix/event-email-images-broken-url
  • fix/exclude-location-triggers-postcode-remap
  • fix/external-da-pointer-events-block-clicks
  • fix/gradle-plugin-portal
  • fix/group-config-editing-9793-8
  • fix/group-contact-label-9643-1
  • fix/index-vue-onserverprefetch-deterministic-coverage
  • fix/ios-nse-wiring-absolute-path
  • fix/ip-abuse-warning-9768-5
  • fix/jobimg-9630-6
  • fix/jobmodeltest-jobs-lock-wait
  • fix/katapult-reaper-zombie-fallback
  • fix/log-history-group-filter-9672-3
  • fix/member-deletion-status
  • fix/member-review-ignore-noop-9618
  • fix/member-seen-on-many-groups-review
  • fix/merge-api-return-logins-v1-parity
  • fix/message-log-historical-name
  • fix/message-log-historical-subject
  • fix/message-summary-eager-image-loading
  • fix/messagelist-crosspost-dedup-9733-7
  • fix/missing-received-logs
  • fix/mod-admin-send-pending-400
  • fix/modconfig-404-v1-parity
  • fix/modlog-historical-blank-and-auto-approved-label
  • fix/modlog-self-delete-label
  • fix/modlogs-dedup
  • fix/modmail-log-pending-subject-9518-211
  • fix/modmail-log-test-9518
  • fix/modnotif-chitchat-clarity-avatar
  • fix/modtools-badge-count-9654-19
  • fix/modtools-banned-pagination-9518-246
  • fix/modtools-chat-badge-stuck
  • fix/modtools-chat-name-9719-1
  • fix/modtools-chat-review-hover-reveal
  • fix/modtools-chat-review-member-details
  • fix/modtools-chat-review-member-details-9518-219
  • fix/modtools-config-9793-1
  • fix/modtools-deleted-message-log-9622
  • fix/modtools-duplicate-highlight-9518-341
  • fix/modtools-email-branding
  • fix/modtools-feedback-scroll
  • fix/modtools-images-badge-9630-44
  • fix/modtools-infinite-scroll-pagination
  • fix/modtools-ios-add-note-chat-review-9518-234
  • fix/modtools-login-port-assertion
  • fix/modtools-member-history-9672-3
  • fix/modtools-member-review-buttons
  • fix/modtools-members-9518-238
  • fix/modtools-members-9518-238-modmail-filter-test
  • fix/modtools-members-9518-238-work
  • fix/modtools-members-9518-239
  • fix/modtools-photo-permissions
  • fix/modtools-postcode-edit-iphone-ui
  • fix/modtools-related-members-9631-16
  • fix/modtools-related-members-9631-19
  • fix/modtools-related-members-flash-and-filter
  • fix/modtools-stdmsg-9644-1
  • fix/monitor-bugs-batch
  • fix/mt-calendar-icon-padding
  • fix/mt-duplicate-highlight-9518
  • fix/mt-stdmsg-autogrow-boxes
  • fix/myposts-old-posts-pinned-by-room-chat-9481-583
  • fix/myposts-old-rejected-9481-583
  • fix/national-volunteers-v2-parity
  • fix/out-of-area-postcode-test
  • fix/patch-message-groupid-draft
  • fix/pending-app-9783-6
  • fix/pending-message-visibility
  • fix/pending-url-spam-collection
  • fix/photos-vanished-9629
  • fix/playwright-coverage-sourcefilter-exclusions
  • fix/post-creation-9788-28
  • fix/post-validation-9788-32
  • fix/post-warnings-9766-14
  • fix/queue-fatal-error-sentry
  • fix/rejected-message-item-when-no-locationid
  • fix/related-members-9631-16
  • fix/related-members-9642-1
  • fix/related-members-counter-9631
  • fix/related-members-counter-stuck-9631
  • fix/related-members-deleted-filter
  • fix/related-members-group-filter
  • fix/reopen-closed-chat-on-message
  • fix/reply-pane-photo-zoom
  • fix/reply-statemachine-formref-race
  • fix/retire-unused-kudos
  • fix/review-ignore-held-members
  • fix/scheduler-minute-drift
  • fix/search-white-goods-relevance-9585-18
  • fix/sentry-7384446789-merge-logins-forEach
  • fix/sentry-7421179445-mymessage-repost-null
  • fix/sentry-failed-to-fetch-image-freegletusd
  • fix/sentry-ftutils-getinnerdimensions-null
  • fix/sentry-ftutils-getplacementposition-nuxt3-ces
  • fix/sentry-ignore-freestar-ftutils-null
  • fix/sentry-ignore-notreadable-io
  • fix/sentry-in-operator-error-undefined
  • fix/sentry-leaflet-tooltip-nullmap-nuxt3-d7b
  • fix/sentry-nuxt3-d45-filter-undefined-error
  • fix/session-series-bigint
  • fix/spammer-patch-preserve-reporter
  • fix/spammer-v1-parity-unconfirmed
  • fix/spatial-postcodes-centroid
  • fix/stats-chart-types-and-ad-cssbind
  • fix/stdmsg-delete-and-config
  • fix/stdmsg-delete-config-9518
  • fix/stdmsg-editable-body-tn-editlink
  • fix/stdmsg-instruction-red
  • fix/stdmsg-textarea-min-3-lines
  • fix/support-purge-queues-forget-task
  • fix/test-failures-investigation
  • fix/tn-crosspost-photo-scrape
  • fix/uppy-debounce-retry-all
  • fix/v2-api-user-emails-message-postings
  • fix/v2-patch-user-trustlevel-not-persisted
  • fix/vector-keyword-whole-word
  • fix/vector-search-keyword-boost
  • fix/vector-search-subject-tier
  • fix/vectorsearch-non-determinism-and-irrelevance
  • fix/vectorsearch-threshold-white-goods
  • fix/withdrawn-pending-soft-delete-403
  • master
  • messages-multiple-groups
  • monorepo/partnerships-page
  • perf/email-stats-force-index
  • perf/modtools-messages-union-all
  • pr-234
  • pr-289
  • production
  • temp-rebase
  • test-modspammer-crash-bug
  • test/ai-image-regen-history
  • test/auth-google-autoselect-coverage
  • test/coverage-changes-handler
  • test/coverage-chat-notifications
  • test/coverage-go-auth-hashpassword
  • test/coverage-go-group-create
  • test/coverage-go-utils
  • test/coverage-location-isochrone
  • test/coverage-vitest-uppy-retry-coalescer-1777621557
  • test/go-coverage-namevalidation-helpers
  • test/group-mod-dismiss-403
  • test/katapult-runner-e2e
  • test/laravel-coverage-mail-helper
  • test/message-package-coverage
  • test/message-pure-coverage
  • test/related-members-count-stale
  • test/session-flexint-coverage
  • tn-integration-refactor
  • tn-sync-port-testing
  • tn-sync-port-testing-local

19 Jun 2026 08:57AM UTC coverage: 70.54% (+0.007%) from 70.533%
22427

Pull #826

circleci

edwh
fix(myposts): age out old posts pinned active by unrelated shared-room chat

Years-old posts kept reappearing in a member's active My Posts (Discourse
9481/583). Verified in prod for the three posts the reporter named:
70022383/70023547 (Rejected, 2020, no outcome) show active; 70516224
(Rejected, 2020, Withdrawn outcome) correctly shows Old.

Root cause is NOT arrival-vs-date (their arrival already equals their 2020
date) and NOT pending. applyExpiry correctly flags all three as past expiry,
but the recentChat guard then keeps them active because it measured recency
with MAX(chat_rooms.latestmessage) - the whole room's last message. Freegle
user-to-user rooms are one long-lived room per pair of people, so any recent
message between the two users (here, 3 days ago, about something else) made
every old post they ever referenced in that room look "actively discussed".
The post-specific chat reference for all three was 2020. 70516224 only
escaped to Old via its separate Withdrawn outcome.

Fix: judge recency by the latest chat message that actually references the
post (MAX(chat_messages.date) WHERE refmsgid = the post), not the room's
overall last message. A genuinely active post still has a recent reference
and stays active (TestExpiredMessageWithRecentChatKeptActive, unchanged); an
old post whose discussion ended ages ago now ages out even if the shared
room is still busy.

Test: TestExpiredMessageHeldActiveByUnrelatedRoomChatAgedOut - old post +
recent room latestmessage + an OLD refmsgid reference must age out of active.
Fails on the old room-level query, passes on the per-post query.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Pull Request #826: fix(myposts): age out old posts pinned active by unrelated shared-room chat

11032 of 14664 branches covered (75.23%)

Branch coverage included in aggregate %.

3 of 3 new or added lines in 1 file covered. (100.0%)

120292 of 171506 relevant lines covered (70.14%)

35.91 hits per line

Relevant lines Covered
Build:
Build:
171506 RELEVANT LINES 120292 COVERED LINES
35.91 HITS PER LINE
Source Files on master
  • Tree
  • List 1303
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
22427 fix/myposts-old-posts-pinned-by-room-chat-9481-583 fix(myposts): age out old posts pinned active by unrelated shared-room chat Years-old posts kept reappearing in a member's active My Posts (Discourse 9481/583). Verified in prod for the three posts the reporter named: 70022383/70023547 (Rejected,... Pull #826 19 Jun 2026 09:22AM UTC edwh circleci
70.54
22430 feature/multi-group-messages-join rework #814: keep messages_spatial one-row, group-filter via messages_groups JOIN Per design decision: do NOT make messages_spatial per-group. Keep it one row per message (UNIQUE(msgid)) and resolve group-filtered browse/search through a correlat... Pull #827 19 Jun 2026 09:16AM UTC edwh circleci
83.1
22423 master Merge pull request #812 from Freegle/fix/log-history-group-filter-9672-3 fix(modtools): deduplicate member posting history when message has reposts (#9672) push 19 Jun 2026 09:08AM UTC web-flow circleci
70.53
22415 fix/log-history-group-filter-9672-3 Merge origin/master into fix/log-history-group-filter-9672-3 Resolve the GetUserMessageHistory conflict by combining both changes that touch that query: - this PR (#812): replace the fan-out LEFT JOIN messages_postings with a correlated subqu... Pull #812 19 Jun 2026 08:25AM UTC edwh circleci
71.44
22411 master Merge pull request #823 from Freegle/feature/rippling-self-tuning ripple 12/12: self-tuning loop + geographic hotspot detection (advisory) [post-go-live] push 19 Jun 2026 08:21AM UTC web-flow circleci
70.74
22372 feature/bulk-offer-clearance feat(bulk-offer): never send bulk/clearance offers to LoveJunk LoveJunk's draft model is one item per post and can't represent a multi-item clearance, so bulk offers (messages with messages_bulk_items rows) must not be pushed at all. Add a NOT EX... Pull #618 19 Jun 2026 08:11AM UTC edwh circleci
70.95
22369 feature/rippling-mod-location-changes Merge remote-tracking branch 'origin/master' into fix819 # Conflicts: # iznik-server-go/test/user_test.go Pull #819 19 Jun 2026 07:57AM UTC edwh circleci
70.84
22348 feature/rippling-immediate-mails Merge origin/master into feature/rippling-immediate-mails Bring the branch up to date (30 commits behind). Master has since moved the spatial postcode tests to open-sea coordinates, fixing the LocationTest/LocationIdTest flake (real postcode data... Pull #771 19 Jun 2026 07:01AM UTC edwh circleci
70.86
22345 feature/rippling-held-replies Merge origin/master into feature/rippling-held-replies Bring the branch up to date (30 behind); pulls in master's open-sea coordinates fix for the LocationTest/LocationIdTest spatial flake. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Pull #770 19 Jun 2026 06:41AM UTC edwh circleci
70.86
22332 feature/rippling-single-group-posting feat(rippling): honest whereami hint while the composer ships ahead of rippling The single-group composer ships live (the multi-group picker is gone) ahead of rippling being switched on, to avoid carrying both code paths behind a flag. So the hin... Pull #822 19 Jun 2026 05:56AM UTC edwh circleci
70.82
See All Builds (1256)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc