Skip to content

links.md says Description is autogenerated from the webpage title; the title fills Name and Description stays empty #108

Description

@truecourse-agent

docs/usage/links.md says the Description field is autogenerated from the webpage title when nothing is provided. It never is. The <title> fills Name, and Description is stored as the empty string.

The documented promise

docs/usage/links.md:21:

  • The "Description" field will be autogenerated based on the webpage title if nothing is provided.

and the field table at :58:

| Description | Optional | Default: Autogenerated |

What the app does

Checked against linkwarden/linkwarden v2.16.1 (7550ebb8907e0cd22e8b3e0785bf3da03ab96e3a).

Creating a link by address alone, against a page whose <title> is Tcref Titled Page:

POST /api/v1/links   {"url":"http://target-pages:8080/titled"}
→ 200
{"response":{"id":1,"name":"Tcref Titled Page","type":"url","description":"",
  "url":"http://target-pages:8080/titled", ...}}
  • expected (per the doc): description = "Tcref Titled Page"
  • actual: description = "", while name = "Tcref Titled Page"

The code agrees. apps/web/lib/api/controllers/links/postLink.ts:81-88 picks name from the fetched <title> (extracted in apps/web/lib/shared/fetchTitleAndHeaders.ts:32-34), falling back to the address. :108 writes description: link.description — the value from the request, never anything derived. Nothing on the create path derives a description at all.

The line just below it does not happen either

docs/usage/links.md:22:

  • The "Name" field overwrites the "Description" field while being displayed in the Link card.

The card renders no description at all, so the two never compete for a slot: LinkCard.tsx:144-148 and LinkList.tsx:98-102. A rendered list shows name, host, collection and date only —

| beta-doc          | target-pages:8080 | Unorganized | Aug 24, 2026
| alpha-doc         | target-pages:8080 | Unorganized | Aug 24, 2026
| Tcref Titled Page | target-pages:8080 | Unorganized | Aug 24, 2026

Suggested wording

The autogeneration is real, it just lands on a different field. The accurate statement is that Name defaults to the webpage title (falling back to the address) when nothing is provided, and that Description has no default. That would mean :21, :22 and the Default: Autogenerated cell at :58 — plus the Name | Optional | row at :57, which is where the "Autogenerated" note belongs.

Note

No screenshot for this one. The failing observation is an API response body, and the run that produced it captured no image of the defect; I am not attaching an unrelated frame.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions