feat: tickets I follow, and more news for followers

"Que sigo" on the home page lists the open tickets I follow, whoever
works on them; `watching` filters my issues (REST, GraphQL, MCP) and a
project's search (none without a session).

Followers now also hear when a ticket's priority or due date changes,
and when it enters or leaves a sprint. Smaller edits (title, labels…)
still do not notify.

Docs (with the REPLIED row the replies change missed), Word and PDF
updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 11:29:17 +02:00
parent ea4ef82239
commit f6417248c7
29 changed files with 636 additions and 11573 deletions

View File

@@ -33,7 +33,8 @@ const VISIBLE = 12;
/**
* "Mi trabajo" on the home page, across every project I belong to: my open
* tickets (QA failures first), tickets waiting for QA and upcoming releases.
* tickets (QA failures first), tickets waiting for QA, the open ones I follow
* and upcoming releases.
* Reloads when the tab becomes visible again.
*/
@Component({
@@ -147,6 +148,39 @@ const VISIBLE = 12;
</ul>
</section>
<section
class="ts-panel ts-work__panel"
aria-labelledby="following-title"
>
<header class="ts-work__head">
<h2 id="following-title">Que sigo</h2>
<span class="ts-muted ts-mono">{{ home.followingTotal() }}</span>
</header>
<ul class="ts-work__list">
@for (issue of home.following().slice(0, 6); track issue.id) {
<li>
<a
class="ts-work__row ts-work__row--qa"
[routerLink]="['/p', keyOf(issue.key), 'issues', issue.key]"
[style.--type]="statusTone(issue)"
>
<span class="ts-key">{{ issue.key }}</span>
<span class="ts-work__title">{{ issue.title }}</span>
@if (issue.assignee; as assignee) {
<span class="ts-work__who" [attr.title]="assignee.name">{{
initialsOf(assignee.name)
}}</span>
}
</a>
</li>
} @empty {
<li class="ts-work__empty">
No sigues ningún ticket abierto. En la ficha de uno, «Seguir».
</li>
}
</ul>
</section>
<section
class="ts-panel ts-work__panel"
aria-labelledby="releases-title"