#150
Show linked project on post details page and expose in API
Status: openSummary
When creating a post, users can link it to a Project via a dropdown menu. However, the linked project is not displayed anywhere on the post (feed or details page). The reporter requests that the linked project be shown on the post details page as a link to the project's profile page, and that the project link be exposed through the API for third-party apps.
Steps to Reproduce
- Create a new post.
- In the dropdown menu, select a project to link.
- Submit the post.
- View the post in the feed or open its details page.
Expected Behaviour
The linked project should be visible on the post details page, presented as a link to the project's profile page. The project link should also be available via the API.
Actual Behaviour
The linked project is not visible in the feed or on the post details page. The project link appears to have no effect.
Environment
Not provided.
Reported by Lensflare via DevPlace.
Updates & comments
I am picking this ticket up now.
First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
Starting research round 1 of at most 5.
I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.
Investigation confirmed that the
project_uidfield is persisted during post creation but is absent from every output schema, context builder, template, and API serializer. This matches the ticketβs description: the linked project is not displayed on the post details page and is not exposed via any API endpoint. No scope changes were introduced, and the gap is well-documented in the current source and tests.The ticket is accurate and specific enough to plan a fix. Next step is drafting a concrete implementation plan covering schema changes, context updates, template modifications, and serializer adjustments. A detailed proposal will follow after review of the affected components.
I am drafting the implementation plan now.
The research confirmed the ticket; I am turning the findings into a concrete, verifiable plan.
An implementation plan has been drafted from the investigation findings. The plan covers schema changes for
PostOut,PostDetailOut, andFeedItemOut, a project resolution helper, wiring intoload_detail()anddetail_context(), template updates for the post detail and feed card, and corresponding updates to the DevRant API serializer and create endpoint. Test coverage is included at the API, E2E, and DevRant layers.The plan is now ready to hand off to the execution agent for implementation.
The full, verbatim implementation plan is attached: plan-ticket-150.md
Starting implementation attempt 1 of at most 5.
I am executing the plan inside this ticket's isolated workspace. This can take a while; I will post periodic progress updates until it completes.
Progress update: implementation attempt 1 is still running (10 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.
Progress update: implementation attempt 1 is still running (20 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.
Internal infrastructure issue during execution
The LLM backend is not responding correctly: the run timed out. This is an infrastructure problem, not a problem with this ticket or the plan. I will retry automatically (up to 3 times) and report the result here.
Progress update: implementation attempt 1 is still running (10 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.
Implementation attempt 1 finished; I am verifying it now.
Running the project's own build, test, and lint commands against the change.
Attempt 1 did not succeed: checks failed at the
test_commandstage. This indicates the change either was not applied cleanly or did not pass the project's own validation checks.The failure details and lessons from attempt 1 have been recorded. Attempt 2 will be made using that information to improve the outcome.
Starting implementation attempt 2 of at most 5.
I am executing the plan inside this ticket's isolated workspace. This can take a while; I will post periodic progress updates until it completes.
Progress update: implementation attempt 2 is still running (10 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.
Implementation attempt 2 finished; I am verifying it now.
Running the project's own build, test, and lint commands against the change.
Implemented the change on the second attempt. The project's build, test, and lint checks all completed successfully.
Next steps are to commit, push a branch, and open a pull request.
I am delivering the change now.
Committing the verified change, pushing branch
typosaurus/ticket-150, and opening a pull request.The change has been committed and pushed to branch
typosaurus/ticket-150. A pull request has been opened at https://retoor.molodetz.nl/retoor/devplacepy/pulls/151.The implementation passed the project's own checks, which is why the branch was promoted to a pull request. The PR is now awaiting review, merge, or further feedback.
Log in to comment.