Commit Graph

89 Commits

Author SHA1 Message Date
Tommy Parnell
9850d7ebfb Assistant checkpoint: Fix unclosed JSX tag in home.tsx
Assistant generated file changes:
- client/src/pages/home.tsx: Fix unclosed JSX tag

---

User prompt:

3: 49:57 PM [express] Server is running on port 5000
3: 49:58 PM [vite] Pre-transform error: /home/runner/workspace/client/src/pages/home.tsx: Expected corresponding JSX closing tag for <a>. (293:12)
Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: f9b49aab-5a18-4dd4-92b3-70fc2a6e4e95
2025-03-22 15:53:36 +00:00
Tommy Parnell
98f455d342 Assistant checkpoint: Remove search box and update notification bell link
Assistant generated file changes:
- client/src/pages/home.tsx: Update header buttons

---

User prompt:

remove the search box and make the notification bell just a link to this page "https://downtownnashua.org/downtowner/"

Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: a09637f8-2d94-4b43-9c33-f13fdb346fda
2025-03-22 15:49:38 +00:00
Tommy Parnell
0c473f8737 Assistant checkpoint: Removed RSS feed button from home page
Assistant generated file changes:
- client/src/pages/home.tsx: Remove RSS feed button

---

User prompt:

please remove the rss feed button

Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: a09637f8-2d94-4b43-9c33-f13fdb346fda
2025-03-22 15:47:56 +00:00
TerribleDev
ead2da5691 Restored to '544b55132d2633b08a78bd0d486ec3d654d1cab8'
Replit-Restored-To: 544b55132d
2025-03-02 07:43:08 +00:00
TerribleDev
cf567d0eb4 Checkpoint before revert - Enhance the newsletter archive into a fully installable PWA with offline capabilities
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 0aa507c2-4fa6-42bc-9ce7-ee6f559c10a5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/c6cce535-1f81-43c1-8b69-181a5f1f9aa1.jpg
2025-03-02 07:43:07 +00:00
TerribleDev
544b55132d Add a development-only button to send test push notifications to all subscribers.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 0aa507c2-4fa6-42bc-9ce7-ee6f559c10a5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/c6cce535-1f81-43c1-8b69-181a5f1f9aa1.jpg
2025-03-02 07:33:21 +00:00
Tommy Parnell
9ff5623653 Restored to '78a555248d82f5839473fecc0b5f0dec3b3ca8c3'
Replit-Restored-To: 78a555248d
2025-03-02 07:30:29 +00:00
Tommy Parnell
3a8ee9585e Assistant checkpoint: Add test notification button and endpoint
Assistant generated file changes:
- server/routes.ts: Add an API endpoint for sending test notifications
- client/src/pages/home.tsx: Add test notification handler function

---

User prompt:

Add a button only in development next to the refresh button that when pressed pushes a test notification to all subscribers

Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: 83792e5d-e16e-4eb5-a15a-df5bb7c732a7
2025-03-02 07:29:52 +00:00
TerribleDev
78a555248d Fix: Implement infinite scroll for newsletter listings by adding pagination to API requests and client-side data merging.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 0aa507c2-4fa6-42bc-9ce7-ee6f559c10a5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/3ad1e152-cd06-4cd1-871a-477ec6981df3.jpg
2025-03-02 07:23:35 +00:00
TerribleDev
b3dbbbc99c New agent session start
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 0aa507c2-4fa6-42bc-9ce7-ee6f559c10a5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/813fd020-c901-41bd-8d40-ee8624dc534d.jpg
2025-03-02 07:13:33 +00:00
Tommy Parnell
66d2577534 Assistant checkpoint: Fixed infinite scroll implementation
Assistant generated file changes:
- client/src/pages/home.tsx: Ensure infinite scroll works correctly by completing the observer code

---

User prompt:

when we get to the bottom of the infinate scroll we should load more items from the server

Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: 54cafce3-b298-4da0-87b7-c0c1327f0a1a
2025-03-02 07:10:47 +00:00
TerribleDev
59e2f8ae7f Checkpoint before assistant change: Implement infinite scrolling for newsletters on the home page.
Replit-Commit-Author: Assistant
2025-03-02 07:10:39 +00:00
Tommy Parnell
172fd4dcb5 Assistant checkpoint: Implement server-side pagination for newsletters
Assistant generated file changes:
- server/routes.ts: Add pagination support to newsletter endpoints
- server/storage.ts: Add paginated storage methods
- client/src/lib/newsletter-data.ts: Update API hooks for pagination
- client/src/pages/home.tsx: Update intersection observer to handle server-side pagination
Update intersection observer to handle server-side pagination
Update newsletter rendering with server pagination
Update intersection observer to handle server-side pagination
Update newsletter rendering with server pagination
Update loader display condition

---

User prompt:

page the newsletters 20 at a time.

Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: a9267af3-1878-449b-8d05-5929f9706bd1
2025-03-02 07:03:43 +00:00
TerribleDev
6c5d7123e2 Checkpoint before assistant change: Refactor home page to paginate newsletters, displaying 20 at a time. Includes minor code style improvements.
Replit-Commit-Author: Assistant
2025-03-02 07:02:42 +00:00
Tommy Parnell
b965d5799d Assistant checkpoint: Make newsletter cards have consistent height
Assistant generated file changes:
- client/src/pages/home.tsx: Fix the loading card skeletons to also have consistent height
Fix the loading card skeletons to also have consistent height
Fix the loading card skeletons to also have consistent height
Fix the loading card skeletons to also have consistent height
Fix the loading card skeletons to also have consistent height

---

User prompt:

Make all the cards that link to a newsletter have the same height in the page that lists all the newsletters

Replit-Commit-Author: Assistant
Replit-Commit-Session-Id: 912f8ca8-dc45-45a3-9b2d-257210cf9199
2025-03-02 06:57:15 +00:00
TerribleDev
beb1a69b3b Checkpoint before assistant change: Update newsletter card height consistency.
Replit-Commit-Author: Assistant
2025-03-02 06:56:38 +00:00
TerribleDev
f383527b8b Agent query: Can you verify if: 1) The website shows an 'Add to Home Screen' or 'Install' option, 2) The service worker is registered successfully (check browser console)?
Implement PWA functionality: added service worker for caching and push notifications, updated manifest and meta tags for installability.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/813fd020-c901-41bd-8d40-ee8624dc534d.jpg
2025-02-19 19:30:23 +00:00
TerribleDev
9a95a897b9 Checkpoint after starting plan 2025-02-19 19:29:44 +00:00
TerribleDev
07497b4648 Restored to '5c89fd2cd9402ccde43ea7be18e5de6d1726a9fc'
Replit-Restored-To:5c89fd2cd9402ccde43ea7be18e5de6d1726a9fc
2025-02-18 22:26:43 +00:00
TerribleDev
6958c89e72 Checkpoint before revert - Add a new /embed route that renders minimal page content and styles for shadow DOM integration
Add PWA installation instructions
2025-02-18 22:26:42 +00:00
TerribleDev
e3607946e3 Restored to 'c0c7eb9536940fc88a15f117fd38aabec4d680d2'
Replit-Restored-To:c0c7eb9536940fc88a15f117fd38aabec4d680d2
2025-02-18 22:26:33 +00:00
TerribleDev
328cb1c8c9 Checkpoint before revert - Add a new /embed route that renders minimal page content and styles for shadow DOM integration
Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/068967b0-c09c-479f-bd27-7d8e1cc8b519.jpg
2025-02-18 22:26:32 +00:00
TerribleDev
668d858a91 Agent query: Could you check if you see an installation banner at the top of the page when the app is installable?
Add install banner to home page prompting users to install the PWA.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/068967b0-c09c-479f-bd27-7d8e1cc8b519.jpg
2025-02-18 22:23:57 +00:00
TerribleDev
c0c7eb9536 Agent query: Could you verify if you can see the install button when the app is installable, and if the RSS feed icon is now visible in the header?
Add PWA installation prompt to home page

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/ff32d81e-a881-4a86-8056-ba00331ea057.jpg
2025-02-18 22:21:02 +00:00
Tommy Parnell
2ca1201180 Assistant checkpoint: Set newsletter retry interval to 1 minute
Assistant generated file changes:
- server/utils.ts: Set retry backoff to 1 minute

---

User prompt:

Have retry for the details of a newsletter be 1 minute per retry
2025-02-18 22:14:32 +00:00
TerribleDev
2a331f89f8 User checkpoint: Increase newsletter detail retry interval to 1 minute and maximum retry attempts to 5. 2025-02-18 22:14:17 +00:00
Tommy Parnell
43dad3ea7d Assistant checkpoint: Created README with embed route documentation
Assistant generated file changes:
- README.md: Add embed route documentation

---

User prompt:

write a readme on how to use the embed route
2025-02-18 22:11:15 +00:00
TerribleDev
5c89fd2cd9 Agent query: Could you verify if the newsletter content at /embed endpoint is displaying properly with correct styling?
Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/794eb54b-87a8-47c7-a6a6-5a11e1976ca4.jpg
2025-02-18 22:10:17 +00:00
TerribleDev
b6deb92ab5 Agent query: Could you check if the newsletter content in the embed demo page (/embed-demo.html) is now properly styled with the correct layout and colors?
Style and implement newsletter embed component with shadow DOM and responsive design.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/506f55e8-afaf-481d-b0da-003c21db3c96.jpg
2025-02-18 22:09:28 +00:00
TerribleDev
c45769b745 Agent query: Can you check if the /embed route is working and displays the newsletter content correctly? Also, please verify if the embed-demo.html page is accessible and showing the embedded content.
Add route for embedding newsletter content in shadow DOM.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/529e3893-377e-4d74-b780-943806106a19.jpg
2025-02-18 22:07:39 +00:00
TerribleDev
0e99e215d6 Checkpoint after starting plan 2025-02-18 22:06:08 +00:00
Tommy Parnell
b962546004 Assistant checkpoint: Add isFetching from useNewsletters hook
Assistant generated file changes:
- client/src/pages/home.tsx: Add isFetching from useNewsletters hook

---

User prompt:

isFetching is not defined
2025-02-18 17:07:45 +00:00
Tommy Parnell
7aabf92c76 Assistant checkpoint: Added loading spinner visibility in production
Assistant generated file changes:
- client/src/pages/home.tsx: Show loading state in production

---

User prompt:

show the refresh spinner in production
2025-02-18 17:04:07 +00:00
Tommy Parnell
ab11edd336 Assistant checkpoint: Skip content scraping when AWS WAF detected
Assistant generated file changes:
- server/utils.ts: Skip scraping when AWS WAF detected

---

User prompt:

if the response has the string AwsWafIntegration then don't scrape the details of the newsletter
2025-02-18 17:03:01 +00:00
Tommy Parnell
fb7ea64443 Assistant checkpoint: Update newsletter import to handle updates
Assistant generated file changes:
- server/storage.ts: Update importNewsletter to handle updates

---

User prompt:

allow updating of a newsletter after scraping it for a 2nd time
2025-02-18 17:01:06 +00:00
Tommy Parnell
590bbf9506 Assistant checkpoint: Add URL uniqueness constraint and handle duplicates
Assistant generated file changes:
- shared/schema.ts: Add unique constraint to url
- server/storage.ts: Handle duplicate URLs in importNewsletter

---

User prompt:

Keep the id as the primary key but use  the url as an "external id" for the newsletter and don't allow duplicates to be created in the database
2025-02-18 17:00:27 +00:00
Tommy Parnell
4eb6f7a482 Assistant checkpoint: Updated User-Agent string in HTTP requests
Assistant generated file changes:
- server/utils.ts: Update User-Agent string

---

User prompt:

change the user agent to be Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
2025-02-18 16:54:09 +00:00
TerribleDev
12923c3bd5 Agent query: Does the refresh button appear in development mode only (it should not be visible in production mode), and do newsletters get saved one at a time when importing?
Implement incremental newsletter saving during processing.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/a694a8cd-6288-4fba-aa0c-65902233f177.jpg
2025-02-18 16:50:09 +00:00
TerribleDev
a265360f10 Agent query: Could you try the refresh button to import newsletters and check if they are being saved one at a time?
Refactor newsletter import: Process and save newsletters individually instead of all at once.  Improves efficiency and error handling.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/2f9ce22a-3adb-45ce-8465-b6f605458b4d.jpg
2025-02-18 16:49:51 +00:00
TerribleDev
53227f34c0 Agent query: Please check if the refresh button is visible in development mode (it should be) and confirm that all other functionality (search, subscribe, RSS) still works correctly.
Hide refresh button in production environment

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/7a0ed788-578a-4a62-a456-42adb7143259.jpg
2025-02-18 16:44:37 +00:00
TerribleDev
10828e5952 Agent query: I've added the hasDetails tracking feature. Could you check if the newsletters are being displayed correctly and if the content is being fetched properly?
Enhance newsletter scraping: Add retry mechanism for missing details and update database accordingly.

Screenshot: https://storage.googleapis.com/screenshot-production-us-central1/9dda30b6-4149-4bce-89dc-76333005952c/d96ca1cd-ef9a-4ef9-ae09-bfd9504e8440.jpg
2025-02-18 16:30:13 +00:00
TerribleDev
ace2c97e32 Checkpoint after starting plan 2025-02-18 16:28:52 +00:00
Tommy Parnell
c7cd028f8c Assistant checkpoint: Add notification settings and subscription filtering
Assistant generated file changes:
- shared/schema.ts: Add notification settings table
- server/storage.ts: Add notification settings methods
- server/routes.ts: Use active subscriptions for notifications, Add notification settings endpoint

---

User prompt:

save notification settings and push notifications when newsletter is imported
2025-02-15 19:55:13 +00:00
TerribleDev
d31bb03b41 User checkpoint: Improve newsletter scraping robustness by adding retry logic and handling AWS WAF and rate limiting. 2025-02-15 19:53:50 +00:00
TerribleDev
37d8aace1b User checkpoint: Implement hourly cron job to check for and import new newsletters, sending push notifications for updates. Removes unnecessary queue processing. 2025-02-15 19:36:11 +00:00
Tommy Parnell
30738ef594 Assistant checkpoint: Add Bull queue settings to prevent job stalling
Assistant generated file changes:
- server/queue.ts: Add Bull queue settings to prevent stalling

---

User prompt:

job stalled more than allowable limit bulljs
2025-02-15 19:31:06 +00:00
TerribleDev
99e9835e25 User checkpoint: Fix: Increase job timeout limit to prevent stalling in bulljs. 2025-02-15 19:30:54 +00:00
Tommy Parnell
f59484ba32 Assistant checkpoint: Add environment variable for newsletter scraping control
Assistant generated file changes:
- server/utils.ts: Add environment variable check for scraping

---

User prompt:

add an environment variable to turn on or off if we should scrape the newsletter content themselves
2025-02-15 19:28:47 +00:00
TerribleDev
de1c9603e5 User checkpoint: Add environment variable to control newsletter content scraping. 2025-02-15 19:28:34 +00:00
Tommy Parnell
32e17e4180 Restored to 'a8a9d1cb885504b9521fff7456a9e207175ceef2'
Replit-Restored-To:a8a9d1cb885504b9521fff7456a9e207175ceef2
2025-02-15 19:20:11 +00:00