Commit Graph
13034 Commits
Author SHA1 Message Date
Brenda Wallace a2681e68e3 Merge remote-tracking branch 'origin/main' into feat/more-suggestions 2026-10-27 13:48:16 +13:00
Brenda Wallace e07a3fa04c more suggestions from other users 2026-10-27 13:46:44 +13:00
Brenda Wallace 593756db39 tidy up the seed filter (#5109) 2026-10-26 22:18:35 +00:00
Brenda Wallace 86918a49c9 Implement feature X to enhance user experience and optimize performance 2026-10-27 11:11:05 +13:00
Brenda Wallace d1fac8f24f Remove unused garden_plant_something_button and adjust layout in garden show view to enhance planting suggestions display 2026-10-27 11:11:05 +13:00
Brenda Wallace 4576b1a2ed Refactor garden suggestions feature: update suggestion logic, remove unused partial, and enhance localization 2026-10-27 11:11:05 +13:00
Brenda Wallace aeccc2c5ed Add planting suggestions feature to garden pages
- Introduced a suggestions section on the garden show page to display what can be planted now.
- Added a new view partial for garden suggestions.
- Updated the plant picker to allow selection of a specific garden.
- Enhanced navigation menu to include a link to planting suggestions.
- Added relevant translations for the new feature.
- Implemented feature specs to ensure suggestions display correctly for the user's garden.
2026-10-27 11:11:05 +13:00
Brenda Wallace 0ecb2c512c Add clean_database support for transactional tests 2026-10-27 09:56:15 +13:00
Daniel O'Connor f4c8753c69 Remove 2026-10-27 09:56:15 +13:00
google-labs-jules[bot]andCloCkWeRX c99a271fec Remove database_cleaner in favor of Rails transactional tests
Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
2026-10-27 09:56:15 +13:00
Brenda Wallace 0ed08033e7 Update Gemfile.lock: add ffi, mini_portile2, and pg; update nokogiri to 1.19.4 2026-10-27 07:02:46 +13:00
Brenda Wallace 932b1883c9 Merge branch 'main' into api/graphiti 2026-10-27 07:01:40 +13:00
9ff8a5491b Run photos:prune_404s rake task monthly (#5107)
* Run photos:prune_404s task monthly on the 1st of the month

Assuming Heroku Scheduler invokes the task daily, check if today is
the first day of the month before pruning 404 photos. Also add spec to test this behavior.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Delete spec/tasks/photos_prune_404s_spec.rb

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 23:26:38 +10:30
Daniel O'Connor ca4e1961e7 Run wikidata maintenance as cropbot (#5106) 2026-10-26 23:21:51 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] 5a1886b213 Link member profile image and name in mobile menu (#5105)
Update the offcanvas drawer header on small devices to wrap the
signed-in member's profile avatar image and login name in a link
pointing to the member's profile page.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 23:03:18 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] fc4a152bf1 Link conversation topic if present on show view (#5102)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 22:25:11 +10:30
Brenda WallaceandDaniel O'Connor 75595350bc Easier recording of harvests from the front page (#5077)
* Implement AddSeedsPicker component and enhance planting selection UI; update styles and serializers for better seed management

* Enhance PlantingPicker component: add hints and titles for harvest and seed actions; update test to reflect changes in seed saving behavior

* Enhance harvest recording: allow harvesting from crops without plantings; update forms and modals for better user experience

* Refactor code structure for improved readability and maintainability

* Remove AddSeedsPicker component and its associated tests

* Add planting picker functionality for harvesting and seed saving

- Introduced PlantingPickersController to handle JSON responses for member's plantings.
- Updated HomeHelper to include crop ID in planting picker properties.
- Refactored PlantPicker and PlantSomethingModal components to support multiple gardens.
- Created PlantingFlow component to manage planting actions (harvest and save seeds).
- Implemented RecordDialog component to handle server-rendered links for harvesting and seed saving.
- Updated various views to include data attributes for triggering the record dialog.
- Added routes for planting picker and corresponding request specs for testing.
- Adjusted styles in _plantings.scss for better layout and spacing.

* Add job management features including job creation and wishlist functionality

* Remove WishlistJobsController and associated views and tests

* Add suggestion links rendering and fix routes formatting

* Refactor AddJobModal and JobPicker components to simplify props and enhance user experience

* Update seed addition test to check dialog presence and current path

* Apply suggestion from @CloCkWeRX

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 21:38:12 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] e06c747c47 Fix step 4 button text overlap on mobile (#5101)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 21:37:34 +10:30
c7c824a6ce Extend session to 90 days and ensure persistence across browser restarts (#4638)
* Extend session to 90 days and make it persistent

- Modified config/initializers/session_store.rb to add 'expire_after: 90.days',
  ensuring the session cookie persists after the browser/tab is closed.
- Updated config/initializers/devise.rb to set 'config.timeout_in' and
  'config.remember_for' to 90 days to align with the new session policy.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Apply suggestion from @CloCkWeRX

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 10:45:01 +00:00
dependabot[bot] 5d4820e77c Bump jquery from 3.7.1 to 4.0.0 (#5090)
Bumps [jquery](https://github.com/jquery/jquery) from 3.7.1 to 4.0.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Changelog](https://github.com/jquery/jquery/blob/main/changelog.md)
- [Commits](https://github.com/jquery/jquery/compare/3.7.1...4.0.0)

---
updated-dependencies:
- dependency-name: jquery
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 21:07:41 +10:30
a2abe79e6f Fix Translation missing en.seeds.updated (#5100)
* Fix missing en.seeds.updated translation

Add missing updated key under the seeds scope in config/locales/en.yml
and add controller test verifying flash notice on seed update.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Update SeedsController test route parameter to use slug

Seeds routes use param: :slug. Updated test parameter key from id to slug.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 19:56:13 +10:30
Brenda Wallace 6373f43700 Merge branch 'main' into api/graphiti 2026-10-26 22:25:21 +13:00
d19fd9657b Replace bootstrap datepicker with native HTML5 date inputs (#5057)
* Replace bootstrap datepicker with native HTML5 date inputs

Convert planting and seed date text fields to native HTML5 date fields
(`f.date_field`), matching existing date inputs across the app. Remove
bootstrap-datepicker JS/CSS imports, legacy site wrapper scripts,
package dependency, and update test specs.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Fix spec

* Fix spec

* Fix spec

* Drop expectations about removed control

* Fix specs

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 19:52:50 +10:30
Brenda Wallace 7989b5caca Merge branch 'main' into posts/tiptap-editor-page 2026-10-26 21:21:11 +13:00
Brenda Wallace 7a86c711a9 Update API base URL configuration to conditionally set based on presence of HOST and API_BASE_URL 2026-10-26 21:18:13 +13:00
Brenda Wallace 0f8942508e Refactor API request handling: introduce RequestShape concern, update query and request body validation, and enhance link handling in specs 2026-10-26 20:45:16 +13:00
Brenda Wallace ec7a35f16b Remove plantings_controller_spec and associated tests 2026-10-26 20:45:03 +13:00
Brenda Wallace a4a44389d4 Add query shape validation and related tests for API requests 2026-10-26 20:40:16 +13:00
Brenda Wallace 8d5bdbdfd4 Refactor API documentation for request bodies and filter parameters; add tests for nullable attributes and request body requirements 2026-10-26 20:22:48 +13:00
Brenda Wallace 75da93694a Merge branch 'main' into api/graphiti 2026-10-26 20:11:16 +13:00
Brenda Wallace dfffafca52 Add harvest reminders feature and update related specs and locales 2026-10-26 19:38:38 +13:00
Brenda Wallace 948cc59d1b Remove Sidekiq integration and update mailer delivery methods to deliver immediately 2026-10-26 19:38:38 +13:00
Brenda Wallace af56f6bc19 Remove Sidekiq initializer configuration 2026-10-26 19:38:38 +13:00
Brenda Wallace 3c8645ce05 Add planting reminders feature and corresponding tests 2026-10-26 19:38:38 +13:00
Brenda Wallace 530c177949 Merge remote-tracking branch 'origin/main' into api/graphiti 2026-10-26 17:56:00 +13:00
b3446f6cc7 Add basic HTML email layout with Growstuff branding and footer (#5035)
* Add HTML email layout with Growstuff branding and footer

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Add HTML email layout with Growstuff branding, call-to-action buttons, and footer

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Add previewer

* Update spec

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 04:41:43 +00:00
Brenda Wallace 61552c13d3 Refactor pagination logic to ensure offset is treated as an integer and update API base URL for Codespaces 2026-10-26 17:28:28 +13:00
Brenda Wallace e3773c862b Merge branch 'main' into api/graphiti 2026-10-26 17:21:46 +13:00
dependabot[bot] 5fc14e80af Bump the minor-and-patch group with 7 updates (#5088)
Bumps the minor-and-patch group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [chart.js](https://github.com/chartjs/Chart.js) | `4.5.1` | `4.6.1` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.3.0` | `19.3.1` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.3.0` | `19.3.1` |
| [sass](https://github.com/sass/dart-sass) | `1.105.2` | `1.106.1` |
| [eslint](https://github.com/eslint/eslint) | `10.9.0` | `10.13.0` |
| [eslint-config-google](https://github.com/google/eslint-config-google) | `0.9.1` | `0.14.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.4` | `8.3.5` |


Updates `chart.js` from 4.5.1 to 4.6.1
- [Release notes](https://github.com/chartjs/Chart.js/releases)
- [Commits](https://github.com/chartjs/Chart.js/compare/v4.5.1...v4.6.1)

Updates `react` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react)

Updates `react-dom` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom)

Updates `sass` from 1.105.2 to 1.106.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.105.2...1.106.1)

Updates `eslint` from 10.9.0 to 10.13.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.9.0...v10.13.0)

Updates `eslint-config-google` from 0.9.1 to 0.14.0
- [Release notes](https://github.com/google/eslint-config-google/releases)
- [Commits](https://github.com/google/eslint-config-google/compare/0.9.1...0.14.0)

Updates `vite` from 8.3.4 to 8.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: chart.js
  dependency-version: 4.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: react
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: react-dom
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: sass
  dependency-version: 1.106.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: eslint
  dependency-version: 10.13.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: eslint-config-google
  dependency-version: 0.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: vite
  dependency-version: 8.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 04:00:40 +00:00
dependabot[bot] 0534dde76c Bump the minor-and-patch group with 5 updates (#5085)
Bumps the minor-and-patch group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [active_utils](https://github.com/shopify/active_utils) | `3.6.0` | `3.6.2` |
| [chartkick](https://github.com/ankane/chartkick) | `5.2.1` | `5.3.0` |
| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.37.0` | `2.38.0` |
| [rubocop](https://github.com/rubocop/rubocop) | `1.92.0` | `1.92.1` |
| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.234.0` | `1.235.0` |


Updates `active_utils` from 3.6.0 to 3.6.2
- [Release notes](https://github.com/shopify/active_utils/releases)
- [Changelog](https://github.com/Shopify/active_utils/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shopify/active_utils/compare/v3.6.0...v3.6.2)

Updates `chartkick` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/ankane/chartkick/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ankane/chartkick/compare/v5.2.1...v5.3.0)

Updates `rubocop-rails` from 2.37.0 to 2.38.0
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.37.0...v2.38.0)

Updates `rubocop` from 1.92.0 to 1.92.1
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.92.0...v1.92.1)

Updates `aws-sdk-s3` from 1.234.0 to 1.235.0
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: active_utils
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: chartkick
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: rubocop-rails
  dependency-version: 2.38.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: rubocop
  dependency-version: 1.92.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: aws-sdk-s3
  dependency-version: 1.235.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 03:20:59 +00:00
Daniel O'Connor 51783f4013 Merge pull request #5087 from Growstuff/dependabot/github_actions/codecov/codecov-action-7
Bump codecov/codecov-action from 5 to 7
2026-10-26 13:22:01 +10:30
dependabot[bot] abb5d45158 Bump codecov/codecov-action from 5 to 7
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5 to 7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5...v7)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-26 02:44:39 +00:00
dependabot[bot] 06efadd8bc Bump docker/login-action from 4.6.0 to 4.7.0 (#5086)
Bumps [docker/login-action](https://github.com/docker/login-action) from 4.6.0 to 4.7.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v4.6.0...v4.7.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 02:41:39 +00:00
Brenda Wallace 334e7a8370 feat: integrate Tiptap editor for post body editing
- Updated post actions menu to link directly to the edit post path.
- Enhanced post form to include a React-based body editor using Tiptap, with a fallback to a plain textarea.
- Added Tiptap dependencies to package.json and updated yarn.lock.
- Created a feature spec to verify navigation to the edit page from the post actions menu.
2026-10-26 15:22:45 +13:00
Brenda Wallace 07a415b6e3 Remove edit modal for posts from the view 2026-10-26 15:22:45 +13:00
Daniel O'Connor 8de199bf53 Merge branch 'main' into api/graphiti 2026-10-26 12:47:17 +10:30
Daniel O'Connor a24fe9aecc Drop docker, docker compose for now 2026-10-26 15:13:46 +13:00
Brenda Wallace e53409b958 Adding docker to dependabot 2026-10-26 15:13:46 +13:00
Brenda Wallace 17f004f893 Add npm to dependabot 2026-10-26 15:13:46 +13:00
Brenda WallaceandDaniel O'Connor 8474bdd416 remove newsletter (#4974)
* Remove unused bluecloth gem

Last released in 2011. It was only required, never called; kramdown
renders the markdown.

* Add specs for Tilt markdown rendering and posts markdown partial

* Remove rails_12factor gem

Last released in 2014. Rails 5+ does this via RAILS_SERVE_STATIC_FILES
and RAILS_LOG_TO_STDOUT, which production.rb already reads.

* Remove memcachier gem from Gemfile and Gemfile.lock

* Remove unused webrat gem

Last released in 2011. Nothing requires it; the specs use Rails'
assert_select and Capybara matchers. Only generator comments mention it.

* Remove crowdin-cli gem

Last released in 2018. Crowdin now ships its own standalone CLI, which
reads crowdin.yml and doesn't need the gem. Also drops the dependencies
only it used (rest-client, gli, crowdin-api and friends).

* Removes the crowdin-cli gem (last released 2018), the dependencies only
it needed, and crowdin.yml. Crowdin was never set up: the config still
has a placeholder project ID and nothing else in the repo mentions it.

Assisted by Claude

* Remove newsletter functionality and associated views and tests

* Remove newsletter functionality and related code across the application

* keep the column

* Remove stale test step

* add back newsletter

* Add migration to update newsletter column comment in members table

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 11:48:36 +10:30