Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac/iPad: dashboard #1899

Open
Dejal opened this issue Oct 16, 2024 · 7 comments
Open

Mac/iPad: dashboard #1899

Dejal opened this issue Oct 16, 2024 · 7 comments
Assignees

Comments

@Dejal
Copy link
Collaborator

Dejal commented Oct 16, 2024

@samuelclay wrote in a comment in #1247:

I've been using the macOS app a ton and it's been a great experience. One change I'd like to see is to match the up-to-date experience from the web. We have a configurable dashboard on the web that has real-time updated "widgets". Could we make a new "Dashboard" top level folder, same as on the web, with the story titles in groups matching the web? I publish those lists on /reader/feeds/:

"dashboard_rivers": [
    {
        "river_id": "river:",
        "river_side": "left",
        "river_order": 0
    },
    {
        "river_id": "river:infrequent",
        "river_side": "left",
        "river_order": 1
    },
    {
        "river_id": "river:global",
        "river_side": "left",
        "river_order": 2
    }
],

They should show 5 stories in the standard story titles format, and they should reload every 5 minutes (add a random 1-5 minutes per request so they don't all refresh together at once, some people can have dozens of rivers). I'd like to see this on both iPad and macOS, so I can leave the screen open and watch the news come in.

Bonus points for left vs right lists. And extra bonus points for single column, double column, and two horizontal columns (left "column" on top row, right "column" on bottom row).

I like this idea. Just the three river feeds, or are the What's New and NewsBlur Stats etc panes available too, to fully replicate the experience? It'd be a nice feature either way.

@samuelclay
Copy link
Owner

We don't have APIs for what's new and statistics, so let's start with the rivers. Check dashboard_rivers_view.js for details on which feeds to pull and what to hide.

@Dejal
Copy link
Collaborator Author

Dejal commented Oct 22, 2024

When the macOS/iOS app calls /reader/feeds, there is no dashboard_rivers data, due to using the flat=true parameter. Changing that does include it, but breaks loading, so can you include it for when flat=true?

Also, it'd be nice to be able to customize the dashboard in the app; is there an API to change, add, or remove a feed in the dashboard? Being able to send back the JSON for the dashboard_rivers would be ideal, so I could implement moving feeds between sides, or reordering them.

By the way, I noticed some issues with the Dashboard on the web. Adding several feeds on the same row (in horizontal layout mode) can get unusably narrow; perhaps should limit that, though not unreasonable to let the user self-limit that. But changing the feed for a "widget" can result in the old feed appearing with the new title. I could add issues for those if they're not known issues.

@samuelclay
Copy link
Owner

Deployed dashboard_rivers on /reader/feeds?flat=true

@samuelclay
Copy link
Owner

samuelclay commented Oct 26, 2024

To save dashboard rivers, POST to /reader/save_dashboard_river/ with the following form data:

  • river_id
  • river_side
  • river_order

You'll receive back a new dashboard_rivers that contains the entire set of rivers.

Note that river_id is slightly different for folders. Use river:<folder title> as the river_id for folders, otherwise it's feed:<feed_id>, and social/search/starred already have their prefix in their feed_id.

@samuelclay
Copy link
Owner

@sictiru You'll need these URLs and params, too. ☝️

@Dejal
Copy link
Collaborator Author

Dejal commented Oct 26, 2024

Thanks! I would have preferred a save endpoint that took the entire array of rivers, so I could implement moving feeds. With the single river save (and the web UI), you can only move a feed by changing an existing dashboard item's feed; if I had several feeds in the dashboard, and wanted to move one to the top, I'd have to do several changes. But a good start.

samuelclay added a commit that referenced this issue Oct 27, 2024
* master:
  Adding dashboard_rivers to /reader/feeds?flat=true for #1899
Dejal added a commit that referenced this issue Oct 30, 2024
- Renamed the old DashboardViewController as ActivitiesViewController, and cleaned up obsolete references to dashboard, to avoid confusion.
Dejal added a commit that referenced this issue Oct 30, 2024
- Added NewsBlur Dashboard to top of feeds list.
- Updated StoryCache to cache stories for multiple feeds.
Dejal added a commit that referenced this issue Oct 30, 2024
- Added SwiftUI views for the Dashboard (WIP).
- StoryCache changes for the Dashboard.
- Some code cleanup.
Dejal added a commit that referenced this issue Oct 30, 2024
- Adding Dashboard view controller to feed detail (WIP).
@Dejal
Copy link
Collaborator Author

Dejal commented Oct 30, 2024

Work on this is underway, but I'm out of time for this month, so I'll finish it next week. I've committed the current progress on the dejal-alpha branch, but don't bother playing with it yet; there isn't much to see currently.

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

No branches or pull requests

2 participants