126 Commits

Author SHA1 Message Date
Patrick Fanella
3bbcd42bcb Merge pull request #57 from subculture-collective/copilot/add-ci-lint-format-test
Add CI workflow for frontend and backend checks
2026-01-06 20:05:10 -06:00
copilot-swe-agent[bot]
201d59b635 Add permissions block to CI workflow for security
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 16:03:19 +00:00
copilot-swe-agent[bot]
5b6be15c5c Add CI/CD documentation to README
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 16:00:54 +00:00
copilot-swe-agent[bot]
476dc6a358 Remove temporary actionlint tool files
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 15:59:34 +00:00
copilot-swe-agent[bot]
48c5ec823f Add CI workflow with frontend and Go checks
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 15:59:01 +00:00
copilot-swe-agent[bot]
aa3497d2fa Initial plan 2026-01-05 15:51:13 +00:00
Patrick Fanella
5506151aaf Merge pull request #56 from subculture-collective/copilot/setup-frontend-testing-stack
Document existing frontend testing stack (Vitest + React Testing Library)
2026-01-05 09:50:47 -06:00
Patrick Fanella
00cebff4ff Update web/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-05 09:50:33 -06:00
copilot-swe-agent[bot]
c8bc0cbf04 Add testing documentation to README
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 01:56:56 +00:00
copilot-swe-agent[bot]
79b0705918 Initial plan 2026-01-05 01:45:45 +00:00
Patrick Fanella
0f973ff768 Merge pull request #55 from subculture-collective/copilot/add-error-toasts-and-retry-flows
Add error handling and retry for timeline/map/detail fetches
2026-01-04 19:43:30 -06:00
copilot-swe-agent[bot]
3c921916d6 Address PR review feedback: improve accessibility and test assertions
- Add role="alert" to error banners in Map and Timeline components
- Add aria-label to retry buttons for better screen reader support
- Convert Map error banner inline styles to Tailwind classes
- Reduce test timeouts from 3000ms to 1000ms in Map tests
- Improve test assertions to use queryByRole instead of text matching
- Correct documentation about PlacemarkDetail error handling location

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 01:41:25 +00:00
copilot-swe-agent[bot]
846ca21479 Add implementation summary documentation
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 01:21:17 +00:00
copilot-swe-agent[bot]
db0e50e0ac Fix test mock data to match correct TypeScript types
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 01:18:26 +00:00
copilot-swe-agent[bot]
39ff3ed5c7 Add tests for error handling and retry functionality
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 01:16:21 +00:00
copilot-swe-agent[bot]
3b391d6fff Add error handling with retry for Timeline and Map components
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 01:09:34 +00:00
copilot-swe-agent[bot]
546078238d Initial plan 2026-01-05 01:01:43 +00:00
Patrick Fanella
ce66e92cd7 Merge pull request #54 from subculture-collective/copilot/add-skeleton-loading-states
Add skeleton loading states for timeline, map, and detail panels
2026-01-04 18:57:57 -06:00
Patrick Fanella
75f4a9e186 Update web/src/components/Timeline.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-04 18:57:44 -06:00
copilot-swe-agent[bot]
33374bb100 Fix lint errors in Map skeleton test
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 00:23:01 +00:00
copilot-swe-agent[bot]
3f9ef04100 Add skeleton loading states for timeline, map, and detail panels
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-05 00:16:43 +00:00
copilot-swe-agent[bot]
f7565a65bb Initial plan 2026-01-05 00:05:33 +00:00
Patrick Fanella
ba9c12c15f Merge pull request #53 from subculture-collective/copilot/enhance-detail-panel-features
Enhance detail panel: breadcrumbs, timestamp, coordinates copy
2026-01-04 17:47:38 -06:00
copilot-swe-agent[bot]
2cc0fb0e84 Fix media link numbering and key stability
- Use original index for stable React keys (media-{originalIndex})
- Fix sequential numbering by using displayIndex for filtered media links
- Add tests to verify sequential numbering works correctly after filtering
- Improves UX by showing "Media 1, Media 2" instead of gaps like "Media 1, Media 4"

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 23:33:30 +00:00
copilot-swe-agent[bot]
1c1f28cc40 Address code review feedback: fix memory leak, redundant computation, and security issues
- Add useEffect cleanup for setTimeout to prevent memory leaks
- Eliminate redundant extractLatLon call in coordinates rendering
- Use stable keys for breadcrumbs and media links (combine value with index)
- Add URL validation for media links to prevent XSS attacks (only allow http/https)
- Add tests for URL validation and filtering of unsafe protocols

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 23:30:17 +00:00
copilot-swe-agent[bot]
71b9caa746 Add geometry type check in extractLatLon for better safety
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 23:19:06 +00:00
copilot-swe-agent[bot]
105fb602b8 Update Timeline test for Coordinates label change
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 23:16:41 +00:00
copilot-swe-agent[bot]
721388c7b9 Add PlacemarkDetail component with breadcrumbs, timestamp, and copy coordinates
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 23:11:02 +00:00
ad7b46065e update go mod 2026-01-04 17:03:01 -06:00
copilot-swe-agent[bot]
544cd911ac Initial plan 2026-01-04 23:01:26 +00:00
Patrick Fanella
87629e3085 Merge pull request #52 from subculture-collective/copilot/highlight-selected-marker-behavior
Implement marker highlighting and fly-to behavior for selected placemarks
2026-01-04 17:00:49 -06:00
copilot-swe-agent[bot]
256e532446 Address PR review comments
- Simplify zoom calculation in MapFlyToHandler (use Math.max)
- Move coordinate mapping to useEffect to avoid render phase side effects
- Add cleanup for coordinatesMapRef to prevent memory leaks
- Fix iconAnchor for circular marker to center alignment

All tests passing: 27 PlacemarkMarkers tests, 16 Map tests

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 22:58:10 +00:00
copilot-swe-agent[bot]
9e03db1e12 Add implementation summary document
Complete implementation of marker highlighting and fly-to behavior:
- All acceptance criteria met
- 27 PlacemarkMarkers tests passing
- 16 Map tests passing
- Comprehensive documentation included
- Feature is production-ready

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:43:46 +00:00
copilot-swe-agent[bot]
3b0029b0a8 Add documentation for marker highlighting and fly-to feature
- Created comprehensive documentation explaining the feature
- Documents all components, configuration options, and testing
- Includes examples of customization
- All critical tests passing (27 PlacemarkMarkers tests, 16 Map tests)

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:42:47 +00:00
copilot-swe-agent[bot]
22c4f7dcfc Fix marker highlighting tests - all tests now passing
- Fixed coordinate matching in tests (36.180 -> 36.18)
- Added async wait for click event state updates
- All 7 marker highlighting tests passing
- Marker highlighting feature fully implemented and tested

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:39:59 +00:00
copilot-swe-agent[bot]
6fd189315c Implement marker highlighting and fly-to behavior
- Added distinct marker icons (default and selected) using Leaflet DivIcon
- Updated PlacemarkMarkers to apply selected icon based on store selection
- Created MapFlyToHandler component for fly-to functionality with viewport padding check
- Integrated MapFlyToHandler into Map component
- Added tests for marker highlighting behavior
- All existing tests passing (Map.test.tsx, PlacemarkMarkers.test.tsx)
- MapFlyToHandler tests created (needs act() wrapper fixes)

Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:37:38 +00:00
copilot-swe-agent[bot]
be4e866593 Initial analysis complete - planning marker highlight and fly-to implementation
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:26:39 +00:00
copilot-swe-agent[bot]
1d155e8825 Initial plan 2026-01-04 21:20:45 +00:00
Patrick Fanella
cced5d34ea Merge pull request #51 from subculture-collective/copilot/add-marker-clustering-feature
Add marker clustering for dense map regions
2026-01-04 15:19:59 -06:00
Patrick Fanella
41e1e9430e Update web/package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-04 15:19:51 -06:00
copilot-swe-agent[bot]
3bc691440c Add comment explaining chunkedLoading prop
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:12:12 +00:00
copilot-swe-agent[bot]
10a73aae0c Add clustering documentation and remove duplicate test file
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:10:55 +00:00
copilot-swe-agent[bot]
d6d8b9231c Add marker clustering with react-leaflet-markercluster
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 21:03:15 +00:00
copilot-swe-agent[bot]
c825e512d3 Initial plan 2026-01-04 20:50:40 +00:00
Patrick Fanella
bfd2654a63 Merge pull request #50 from subculture-collective/copilot/implement-bbox-driven-placemark-loading
Add error handling integration test for bbox-driven placemark loading
2026-01-04 14:45:28 -06:00
copilot-swe-agent[bot]
d8fdf1cead Fix test count in documentation from 21 to 16
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 20:41:23 +00:00
copilot-swe-agent[bot]
0ddbc8e4c1 Add comprehensive documentation for bbox-driven placemark loading feature
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 20:26:58 +00:00
copilot-swe-agent[bot]
8723831d69 Add error handling integration test for bbox-driven placemark loading
Co-authored-by: PatrickFanella <61631520+PatrickFanella@users.noreply.github.com>
2026-01-04 20:25:22 +00:00
copilot-swe-agent[bot]
351953aa70 Initial plan 2026-01-04 20:05:12 +00:00
Patrick Fanella
99012af920 Merge pull request #49 from subculture-collective/copilot/render-placemark-markers
Render placemark markers on map with store selection sync
2026-01-04 14:04:40 -06:00