Previously, the default open tab could only be selected by not providing the state query. Add support for selecting the default open tab with an explicit ?state=open query too. Similar to https://github.com/shurcooL/issuesapp/commit/0b82558264994ab993533eed0d2cfe83e145dbe5.
Apply this change to make the change rename event easier to read. Follows https://github.com/shurcooL/issuesapp/commit/a359f164dfa502a21cdc4cc3582a5b4221308d2a.
The responsibility of marking changes as read is being moved from the service level to the changes application. It has already been removed from the change service. In this commit, it's being added to the changes application. Use the existing Options.Notifications field that provides a notification service and its MarkRead method for accomplishing this. In general, it's easier for the changes application to know (with higher certainty) when a change has been read by a user. For now, it continues to happen whenever the HTTP handler serves a page that displays a change. In the future, we can decide to mark a thread as read when the user scrolls down and sees the new content, instead of right away on page load. Also update cmd/changesdev for githubapi.NewService API change. Follows https://dmitri.shuralyov.com/service/change/githubapi$commit/09fc1cdc80ff92256db38ada7ae5bdecad9db138
These events have been superseded by change.Review and its State field, and removed from the change package. Delete support for them. Follows https://dmitri.shuralyov.com/service/change/...$commit/9a7a6e8aef50bf7dceb93c681ed6446f3fdfa0b0.
Improve naming consistency.
In case the highlighting algorithm encounters an error on some diff, we don't want to abort entirely. Fall back to showing plain diff and log the error for investigation. This is an intermediate solution until the highlighting algorithm is improved to handle the problematic case (which may take longer). Helps https://dmitri.shuralyov.com/app/changes/...$issues/2.
It was adding a listener for DOMContentLoaded event in code that runs when that event has just fired, so the listener never ran. Also clean up and simplify some relevant code. Similar to https://github.com/shurcooL/issuesapp/commit/c25bd476f001893e3608cd5aa6b016760236ad2d.
This way, pressing escape works even if you have a link selected (which is often the case after clicking on an anchor). We avoid processing unwanted keydown events because they'll be default prevented. Add "keydown" event listener to body rather than document, because it's sufficient and for consistency.
Because it's now applied as part of reactionsmenu code. Follows shurcooL/frontend@e6633c2dc9c5d0f64511d5f12b86b0a331ef6cad.
This is a better location for setting the cursor. It fixes the problem where the cursor was a pointer even when hovering over the empty space where there's no reaction icon but blank space (when filter leaves fewer reactions than the entire space for showing them).
Similar to https://github.com/shurcooL/issuesapp/commit/3bc17d8bc061b5a11eb287a91e23ef5dfcc38ea4. Follows https://dmitri.shuralyov.com/service/change/...$commit/5b675ebb0b2bc6dd93ba2cedf6b4c7c9e0271de1 and https://dmitri.shuralyov.com/html/belt/...$commit/f6fb90ff73e49d9904a6a8a5561e437734a2ea57.
Regenerate. Follows https://dmitri.shuralyov.com/service/change/...$commit/5f99232c79a97ad039852df6993da46e9cff24d2.
This helps readability, and doesn't make the page appear too wide on narrow mobile displays. Helps https://dmitri.shuralyov.com/app/changes/...$issues/1.
It's needed because in some meta-services that unify multiple underlying services, the ThreadType changes depending on the RepoSpec. Improve local variable name. Similar to https://github.com/shurcooL/issuesapp/commit/60bf33177c6943f244f14f81f145bc8b6c63f6cc. Follows https://dmitri.shuralyov.com/service/change/...$commit/891fba5eb78bd1e1c421e6c7c422ccda350d246d.
This helps it render contextual information, e.g., that depends on the current ChangeID. Pass it directly rather than via a context value because this is simpler and can be easily done since this is an unfrozen API. Related to https://github.com/shurcooL/issuesapp/commit/e746af07544c3c630e745be0872f267cb1cec21e.
There's no longer a clean distinction between comments and events. There are other timeline item types that don't fit into either category cleanly. Also, underlying implementations for various APIs are very similar and have overlap. As a result, it makes sense to merge these two methods into one.
Remove ListCommitsOptions from ListCommits. Expected usage is to always get all commits, then find the one you're interested in. This is what's needed to implement prev/next commit buttons, and more closely matches what's returned by 3rd party APIs. The button styling can be improved; to be done later.
It's not needed and not used; issuesapp provides its own anchor styles where needed.