Conversation
Excludes .claude/* from git (local Claude IDE session data) while tracking .claude/launch.json for dev server configuration. Adds update-feed Python script as the only runnable in this profile repo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wrap update_feed.py in a bash loop (3600s interval) so launch.json runs it as a persistent background daemon instead of a one-shot script. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Signed-off-by: Igor Holt <iholt@mymail.aacc.edu>
There was a problem hiding this comment.
Code Review
This pull request introduces a new Claude IDE launch configuration for periodically updating the feed and updates the .gitignore file to include this configuration while excluding other local IDE data. A recommendation was made to specify python3 in the runtime arguments to ensure compatibility with the script's Python 3 requirements.
| "runtimeExecutable": "bash", | ||
| "runtimeArgs": [ | ||
| "-c", | ||
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" |
There was a problem hiding this comment.
The script scripts/update_feed.py uses Python 3 features such as f-strings and datetime.fromisoformat (which requires Python 3.7+). In many environments, the python command may still point to Python 2.7 or may not be available at all. It is safer to use python3 to ensure the script runs with the correct interpreter.
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" | |
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python3 scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" |
There was a problem hiding this comment.
Pull request overview
Updates the .claude launch configuration for the update-feed task to run the feed updater on a repeating (hourly) loop with basic status logging.
Changes:
- Switches the launch runtime from
pythontobash. - Adds an inline
while trueloop to runscripts/update_feed.pyevery hour and print progress messages.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "runtimeArgs": ["scripts/update_feed.py"], | ||
| "runtimeExecutable": "bash", | ||
| "runtimeArgs": [ | ||
| "-c", |
There was a problem hiding this comment.
The while true loop makes this launch configuration run indefinitely, so the process will never exit on its own. If the launcher/debugger expects a single run (as the previous Python config did), this can hang sessions; consider keeping a one-shot configuration and adding a separate "continuous" config or moving the hourly scheduling to a dedicated script/service.
| "-c", | |
| "-c", | |
| "echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"" | |
| ], | |
| "port": 0 | |
| }, | |
| { | |
| "name": "update-feed-continuous", | |
| "runtimeExecutable": "bash", | |
| "runtimeArgs": [ | |
| "-c", |
| "runtimeExecutable": "bash", | ||
| "runtimeArgs": [ | ||
| "-c", | ||
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" |
There was a problem hiding this comment.
In the inline bash command, sleep 3600 will run even if python scripts/update_feed.py fails (because of the ; separator). This can mask failures for up to an hour; consider explicitly checking the exit status and exiting/breaking on error so failures surface immediately.
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" | |
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; if ! python scripts/update_feed.py; then echo \"[feed] update failed\" >&2; exit 1; fi; echo \"[feed] done\"; sleep 3600; done" |
| "runtimeExecutable": "bash", | ||
| "runtimeArgs": [ | ||
| "-c", | ||
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" |
There was a problem hiding this comment.
This config now depends on bash and a python executable being on PATH, which is not portable across developer environments (e.g., Windows) and may resolve to an unexpected Python version. If cross-platform use is expected, consider switching back to runtimeExecutable: "python" (or a repo-local wrapper script) and avoid hard-coding bash.
| "runtimeExecutable": "bash", | |
| "runtimeArgs": [ | |
| "-c", | |
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" | |
| "runtimeExecutable": "python", | |
| "runtimeArgs": [ | |
| "-u", | |
| "-c", | |
| "import datetime, subprocess, sys, time; exec(\"while True:\\n print(f'[feed] {datetime.datetime.now().strftime(%H:%M:%S)!r}[1:-1] running update...')\\n subprocess.run([sys.executable, 'scripts/update_feed.py'], check=True)\\n print('[feed] done')\\n time.sleep(3600)\")" |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c8c6c36ba0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
| "runtimeExecutable": "bash", | ||
| "runtimeArgs": [ | ||
| "-c", | ||
| "while true; do echo \"[feed] $(date '+%H:%M:%S') running update...\"; python scripts/update_feed.py && echo \"[feed] done\"; sleep 3600; done" |
There was a problem hiding this comment.
Stop invoking update_feed.py in an endless loop
This change makes update-feed run scripts/update_feed.py forever (while true), but that script is non-idempotent (re.sub(r"()(.*?)()", ...) in scripts/update_feed.py rewrites at every string boundary), so repeated executions rapidly amplify profile/README.md content and corrupt the feed output over time. In the scenario where this launch target is left running for multiple cycles, it will continuously bloat the README and generate noisy/churning file state instead of stable hourly updates.
Useful? React with 👍 / 👎.
No description provided.