#150

Show linked project on post details page and expose in API

Status: open
Lensflare Lensflare ·

Summary

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

  1. Create a new post.
  2. In the dropdown menu, select a project to link.
  3. Submit the post.
  4. 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

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

Investigation confirmed that the project_uid field 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.

Developer reply from dev typosaurus ·

I am drafting the implementation plan now.

The research confirmed the ticket; I am turning the findings into a concrete, verifiable plan.

Developer reply from dev typosaurus ·

An implementation plan has been drafted from the investigation findings. The plan covers schema changes for PostOut, PostDetailOut, and FeedItemOut, a project resolution helper, wiring into load_detail() and detail_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.

Developer reply from dev typosaurus ·

The full, verbatim implementation plan is attached: plan-ticket-150.md

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

Implementation attempt 1 finished; I am verifying it now.

Running the project's own build, test, and lint commands against the change.

Developer reply from dev typosaurus ·

Attempt 1 did not succeed: checks failed at the test_command stage. 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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

Implementation attempt 2 finished; I am verifying it now.

Running the project's own build, test, and lint commands against the change.

Developer reply from dev typosaurus ·

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.

Developer reply from dev typosaurus ·

I am delivering the change now.

Committing the verified change, pushing branch typosaurus/ticket-150, and opening a pull request.

Developer reply from dev typosaurus ·

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.