Menu

#102 List-type feed, post date and dynamic width

closed
nobody
None
2025-08-18
2025-08-04
Anonymous
No

Originally created by: Quimisagi

Many of the improvements I was planning to the feed visualizer has been implemented. The ones completed so far are:

image

  • List-type feed for a smoother navigation. User can just navigate at the left of the screen through a list of the users that are in their feed while rendering the post in the right side of the screen. This is now the default feed display.
  • The display style can be configured with the parameter feed.feedType (it can be either 'list' or 'timeline')
  • The ASCII image is now rendered dynamically! Previously, it had a fixed width, but it now adapts to occupy up to roughly one-third of the terminal width. This prevents the ASCII art from overflowing or collapsing due to exceeding the terminal size. Additionally, a scaling factor is applied to portrait and landscape images to maintain comfortable proportions within the terminal
  • The post timestamp is now also displayed.
  • [Feature for developers] Created a small utility that saves properties from the responses of the endpoints and store them into a json file. Used it once for verifying the feed schema.

TODO list:

  • Properly display carousel posts (posts with more than one image)
  • Displaying videos within the terminal is not an option, but probably adding a button for opening it on the browser?
  • Explore any other way besides ASCII for displaying images (the display mode shall be selectable from the config)

Related

Tickets: #119
Tickets: #122
Tickets: #134

Discussion

  • Anonymous

    Anonymous - 2025-08-06

    Originally posted by: supreme-gg-gg

    lgtm, thanks @Quimisagi

    For ascii alternative, we should try the ink image library I linked before, since I believe installing sharp (a dependency for ascii functionality) could be a little bit troublesome on windows (cc @endernoke). Not sure if ink image also has this issue.

    also wdym by "registering properties"?

     
  • Anonymous

    Anonymous - 2025-08-06

    Originally posted by: supreme-gg-gg

    Btw I believe we can use MediaView directly to display images in chat as well! I will give it a try 😄

     
  • Anonymous

    Anonymous - 2025-08-06

    Originally posted by: supreme-gg-gg

    I saw this warning on Mac about some sharp dependency and glib module duplicate. I believe this only happens since I have a different version of sharp installed before and it is a harmless warning, but I cannot find any way to fix it or dismiss it so it shows up every time I run the CLI. Just to leave it here in case it reoccurs for anyone.

    objc[43914]: Class GNotificationCenterDelegate is implemented in both /Users/supremegg/Documents/GitHub/instagram-cli/instagram-ts/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.1.dylib (0x11cd19af0) and /opt/homebrew/Cellar/glib/2.84.0_1/lib/libgio-2.0.0.dylib (0x11b9f86c0). One of the two will be used. Which one is undefined.
    
     
  • Anonymous

    Anonymous - 2025-08-07

    Originally posted by: Quimisagi

    also wdym by "registering properties"?

    Oh, it's not a big deal. I was just talking about keeping track of the properties returned by the API responses. I don’t think this information is publicly documented, so I thought of writing a script that extracts the properties—for example, from the feed—and saves them into a JSON file. That way, as a developer, I can refer back to it later to see what properties are available.

     
  • Anonymous

    Anonymous - 2025-08-07

    Originally posted by: Quimisagi

    Btw I believe we can use MediaView directly to display images in chat as well! I will give it a try 😄

    Yeah, definitely! But not every terminal supports image rendering so I was thinking that having the ASCII art would be a nice option.
    As for sharp, its not really necessary for the ASCII rendering, but it's used for pre-processing the image, mainly for handling images that come in webp format. That was the reason why I end up using sharp.

     
  • Anonymous

    Anonymous - 2025-08-07

    Originally posted by: supreme-gg-gg

    also wdym by "registering properties"?

    Oh, it's not a big deal. I was just talking about keeping track of the properties returned by the API responses. I don’t think this information is publicly documented, so I thought of writing a script that extracts the properties—for example, from the feed—and saves them into a JSON file. That way, as a developer, I can refer back to it later to see what properties are available.

    I see this is very helpful, I often need to manually test the endpoint each time to get the schema

     
  • Anonymous

    Anonymous - 2025-08-14

    Originally posted by: supreme-gg-gg

    As a sidenote I saw someone made a project to display reels in the terminal and reached out. It was done using a custom C renderer in notcurses. Likely we won't support video anytime soon, so if anyone's interested that's in README.md (we're cross promoting!)

     
  • Anonymous

    Anonymous - 2025-08-15

    Originally posted by: Quimisagi

    Added some new stuff. Updated in the details.

     
  • Anonymous

    Anonymous - 2025-08-15

    Originally posted by: supreme-gg-gg

    The new UI looks amazing, will try it out soon!!

     
  • Anonymous

    Anonymous - 2025-08-18

    Originally posted by: supreme-gg-gg

    Tested this on iTerm2 on Mac, works and thanks @Quimisagi!! really LOVED the list view everything is so smooth!!

     
  • Anonymous

    Anonymous - 2025-08-18

    Ticket changed by: supreme-gg-gg

    • status: open --> closed
     

Log in to post a comment.

Monday.com Logo