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

Freegle / Iznik
71%
master: 73%

Build:
Build:
LAST BUILD BRANCH: feature/bulk-offer-management
DEFAULT BRANCH: master
Repo Added 13 Apr 2026 05:19PM UTC
Files 679
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 docs/frontend-server-migration-plan
branch: docs/frontend-server-migration-plan
CHANGE BRANCH
x
Reset
  • docs/frontend-server-migration-plan
  • 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/pr-uncommitted-hook
  • chore/purge-email-tracking-30d
  • chore/salvage-orphaned-wip
  • 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/admin-previous-fix
  • feat/android-app-shortcuts
  • feat/app-native-features
  • feat/archive-attachments
  • feat/batch-log-rotation
  • feat/batch-migrate-non-email-jobs
  • feat/batch-migrate-remaining-scripts
  • feat/birthday-emails
  • feat/browse-scroll-instrumentation
  • 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/group-list-show-3-plus-more
  • feat/groups-closed-reminder
  • feat/groups-no-messages
  • feat/haptics-feedback
  • feat/helper-concierge-agent
  • feat/jobs-index-drift-rebuild
  • feat/lovejunk-tn-invoice
  • feat/microvolunteering-notify
  • feat/mod-active-welfare
  • feat/modtools-capacitor-app
  • feat/newsfeed-mod-notif
  • feat/noticeboard-thank-email
  • feat/pageview-instrumentation
  • feat/partnerships-restructure
  • feat/postcode-please-choose
  • feat/ripple-poster-membership-on-rippled
  • feat/ripple-reply-saturation-stop
  • feat/ripple-retire-pending-on-take
  • feat/ripple-retract-on-origin-removal
  • feat/ripple-sysadmin-page-focus
  • feat/rippling-autoapprove-kpi
  • feat/rippling-dashboard-cohorts
  • feat/rippling-trial-stats
  • 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/app-out-of-date-message
  • 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/jobs-placement-tracking
  • 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-edit-origin-group
  • 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/report-chat-no-common-group
  • feature/restore-vitest-status-endpoint
  • feature/retire-subject-line-settings
  • feature/ripple-reach-map
  • 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/abtest-coverage-determinism
  • 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/browse-hide-own-rejected
  • fix/browse-scroll-debounced-session
  • fix/browseview-null-scan
  • 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-composer-install-retry
  • fix/ci-npm-install-retry
  • fix/config-9793-5
  • fix/content-moderation-9620-283
  • fix/daily-digest-badge-9806
  • fix/db-read-split-read-your-writes
  • fix/digest-action-links-9786-25
  • fix/digest-amp-tracking
  • fix/digest-came-and-went-dedup
  • fix/digest-clicks-chart-clarity
  • fix/digest-clicks-daily-only
  • fix/digest-first-posted-repost
  • fix/digest-immediate-inactivity-window
  • fix/digest-summary-outlook-br-9363-31
  • fix/digest-wanted-no-image-wait
  • fix/discourse-rate-limit-retry
  • fix/donations-paypal-9810
  • fix/duplicate-link-collection
  • fix/eee-browser-submitting-flag
  • fix/email-9363-29
  • fix/email-photo-no-reply-modal
  • fix/email-preheaders-ripple-intro
  • 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/fsm-coverage-gate-exhausted-prs
  • fix/gradle-plugin-portal
  • fix/group-config-editing-9793-8
  • fix/group-contact-label-9643-1
  • fix/group-list-onhere-platform-flags
  • fix/index-vue-onserverprefetch-deterministic-coverage
  • fix/insert-then-select-id
  • fix/ios-nse-wiring-absolute-path
  • fix/ip-abuse-warning-9768-5
  • fix/jobimg-9630-6
  • fix/jobmodeltest-jobs-lock-wait
  • fix/jobmodeltest-spatial-teardown-flake
  • fix/jobs-dedup-and-distance
  • fix/jobs-stale-knn-sync
  • fix/katapult-reaper-zombie-fallback
  • fix/location-9481-585
  • fix/log-history-group-filter-9672-3
  • fix/lostpw-typed-email-and-bounce-banner
  • fix/lovejunk-tn-invoice-never-sent
  • 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-create-lastinsertid
  • 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-alsoon-wording
  • 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-edit-count-rippled-in
  • fix/modtools-edits-backup-group-leak
  • 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-keyword-colour
  • fix/modtools-login-port-assertion
  • fix/modtools-member-history-9672-3
  • fix/modtools-member-review-buttons
  • fix/modtools-member-search-hang
  • 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-rippling-pending-9812-3
  • fix/modtools-stdmsg-9644-1
  • fix/modtools-tn-listing-readonly
  • fix/monitor-bugs-batch
  • fix/mt-calendar-icon-padding
  • fix/mt-duplicate-highlight-9518
  • fix/mt-stdmsg-autogrow-boxes
  • fix/mygroups-browse-count
  • 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/playwright-coverage-spinbutton-determinism
  • fix/post-creation-9788-28
  • fix/post-summary-9783-7
  • fix/post-validation-9788-32
  • fix/post-warnings-9766-14
  • fix/postsummary-layout-9684-3
  • fix/push-collage-skip-ai
  • fix/qr-mod-only
  • fix/queue-fatal-error-sentry
  • fix/reject-contentcheck-9815
  • 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/repost-reminder-dedup-rippling
  • fix/retire-unused-kudos
  • fix/review-ignore-held-members
  • fix/ripple-hold-direct-email-reply
  • fix/ripple-rejoin-only-rippled
  • fix/ripple-retraction-not-scope-gated
  • fix/rippling-charts
  • fix/rippling-contentcheck-test
  • fix/rippling-explorer-9808-56
  • fix/rippling-outcome-check
  • fix/routing-exclude-toll-roads
  • 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-id-lastinsertid
  • fix/session-series-bigint
  • fix/site-title-badge
  • 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/view-source-distinction
  • fix/withdrawn-pending-soft-delete-403
  • fix/worry-word-dedup-and-scope
  • master
  • messages-multiple-groups
  • monorepo/partnerships-page
  • perf/email-stats-force-index
  • perf/modtools-messages-union-all
  • perf/ripple-reach-speedup
  • pr-234
  • pr-289
  • production
  • ripple/decouple-reach-mail
  • skill/community-reuse-outreach
  • skill/freegle-impact-report
  • 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

25 Jun 2026 03:27PM UTC coverage: 71.38% (-0.001%) from 71.381%
23431

Pull #894

circleci

edwh
feat(edge): implement + dev-validate front-end host (edge) Compose profile

Preparatory work for the front-end server migration (plan §5/§6). All of it
runs ONLY under the new `edge` profile, which is in no default profile set, so
local dev and CI are unaffected (verified via `docker-compose config`).

- docker-compose.yml: join `delivery`+`tusd` to the `edge` profile;
  parameterize tusd `command` via `${TUSD_COMMAND:-<dev default>}` (dev literal
  unchanged); add `frontend-nginx` + `tile-server` (edge-only); add
  `delivery-cache`/`tusd-data`/`osm-data`/`osm-tiles` volumes.
- frontend-nginx.conf: front door — uploads (:80 proxy_protocol + :8080 plain,
  no CORS), delivery cache pinned to `proxy_cache_key "https://wsrv.nl$request_uri"`
  with @handle_redirect and a single X-Cache-Status, tiles single-ACAO,
  PROXY-protocol real-IP, :8081 /healthz, 444 catch-all.
- docker-compose.override.edge.yml: VM-only — publish :80/:8080 and bind tusd's
  upload dir to the shared-NFS host mount /srv/tusd-data.

Dev-validated on an isolated `edge-dev` worktree (see plan §6a): all three
compose renders, `nginx -t`, and live curls of every vhost (delivery
MISS->HIT with real PROXY framing, tiles exactly-one-ACAO, uploads 405 with no
nginx CORS, catch-all 444). Three bugs found+fixed during validation: healthcheck
localhost->127.0.0.1 (busybox IPv6), weserv internal-host 403, double
X-Cache-Status.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019FENH5AZF3x2djCMR3U9KC
Pull Request #894: feat(edge): front-end server migration — plan + dev-validated preparatory implementation

11263 of 14981 branches covered (75.18%)

Branch coverage included in aggregate %.

123640 of 174011 relevant lines covered (71.05%)

37.29 hits per line

Relevant lines Covered
Build:
Build:
174011 RELEVANT LINES 123640 COVERED LINES
37.29 HITS PER LINE
Source Files on docs/frontend-server-migration-plan
  • Tree
  • List 1320
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
23431 docs/frontend-server-migration-plan feat(edge): implement + dev-validate front-end host (edge) Compose profile Preparatory work for the front-end server migration (plan §5/§6). All of it runs ONLY under the new `edge` profile, which is in no default profile set, so local dev and CI... Pull #894 25 Jun 2026 03:54PM UTC edwh circleci
71.38
See All Builds (1498)
  • 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