Giter Club home page Giter Club logo

together's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

together's Issues

Missing slides

The slides from your IWS demo would be lovely to have here. :-)

Embedded composer (Micropub)

The more I use Together on a daily basis, the more I wish I could create content directly within Together. I don't think it needs to be as feature complete or sophisticated as, say, Quill, or using my preferred CMS, but having the ability to compose at least status updates and short articles would be lovely.

Error on sending reply

I replied to post in Together, and got the following error page:

Unhandled Rejection (TypeError): undefined is not an object (evaluating '_this4.props.addNotification')
(anonymous function)
src/components/card.js:98
   95 |       this.setState({ popoverOpen: false });
   96 |       this.props.addNotification(`Successfully posted reply`)
   97 |     })
>  98 |     .catch((err) => this.props.addNotification(`Error posting reply`, 'error'));
   99 | }
  100 | 
  101 | handleView(e) {

That said, the actual reply seemed to post just fine.

Light Mode & Dark Mode

Material UI supports dark and light themes by default so would love to be able to have a dark mode

Refactor components

Should be split up into far smaller components in general and separate out styles into their own files

mark posts read button is sometimes missing

I can't quite figure out the circumstances under which this happens, but sometimes the "mark posts read" button is missing even though there are a bunch of unread posts in the channel.

Redirect or update URL after login

Right now after you log in, the app is stuck on the URL with the code in the query string. Since it's a single-page app, it just stays around forever.

It would be better to either redirect back to the root after exchanging the code for an access token, or at least using the browser history API to update the URL without a pageload.

Cannot log in:

When attempting to login to Together with the latest update, I get an error in the JavaScript console:

https://cleverdevil.io/s/LPd2otbKQH.png

POST http://localhost:3000/api/micropub/getAuthUrl 404 (Not Found) micropub-api.js:39

Looks like perhaps some code didn't get fully checked in. I've tried in both Safari and Chrome on macOS.

More flexible sorting and grouping within channels

It would be nice to enable the user to choose how they want their channels sorted and grouped when browsing:

  • Sorting
    • Chronological by publish date
    • Chronological by "added" date (when the item was discovered by the microsub server)
  • Grouping
    • By feed
    • By "post type"

I, personally, like some channels as chronological by publish date (sort of like a traditional "river of news" timeline) and others grouped by source and then sorted chronologically by publish date.

Read-state

This is partially a Microsub thing, but I'd personally like having the ability to track the "read" state of individual items in a channel. I like the ability to see if a channel has any "new" or "unseen" items. In some cases, I like to hide items that are marked read. In others, I just want a continuous timeline.

Photos from source not loading

If you add http://feeds.kottke.org/json as a source, images in the feed items won't load. He is using relative image paths in his image markup.

Checkins not showing up

The checkins from my personal website:

https://cleverdevil.io/content/locations/

... do not show up on our "Checkins" map.

new post action should be clearly labelled

At first I thought the micropub posting form in the menu bar was the way to add a new channel, a tooltip and a title in the entry pop-up would have avoided me posting a random note saying "aaronparecki.com" ;)

Should not expect the "me" parameter

const me = params.get('me');

According to the IndieAuth Spec, there shouldn't be a "me" parameter returned from the initial Authorization Response. (https://indieauth.spec.indieweb.org/#authentication-response). My Authorization Endpoint follows the spec, so it breaks when I try to login.

The state parameter is supposed to help pass state along. Either using local storage or the state parameter to carry the "me" state through the login process.

Keyboard shortcuts

Would make sense to have keyboard controls at some point for navigating the app. Probably based on classic google reader keybindings

Notify when PWA has updated

The PWA updates in the background. Together should provide a notification when the update is complete that the user can click to reload the page

First Prototype Ideas

So what are we thinking for a first working prototype type thing?

Based on the wireframe we came up with I think the first step would be to develop a basic functional stream that reads from a parsed feed eg https://ruby.microformats.io/microformats?utf8=✓&url=https%3A%2F%2Fcleverdevil.io

Or maybe it would be wiser to try and update woodwind to be more like the wireframe if it has the same end goal.

Personally I'd be happy to have a go at putting something basic together with react if there's no huge objection to that. Then it shouldn't be super difficult for others to contribute and improve.

Full micropub editor

Support some way of expanding the micropub posting interface into a full editor.

empty channel view after adding feed

After adding a feed, no channel items are visible ("🤷‍ Nothing to show - Maybe you need to subscribe to a site or select a different channel"). I have to switch channels to another one to see items again, clicking the same channel again does not work.

Save Default View Per Channel

Chances are people will want to use different views for different channels. (compact / timeline / gallery etc)

This should be saved. Simplest option is probably just to store the last used view and default to that.

Error on install

I have both node.js and yarn installed on my machine.

I run yarn start and I get the following output:

yarn run v1.1.0
$ react-scripts start
/bin/sh: react-scripts: command not found
error Command failed with exit code 127.

Collapsible cards

Having cards be able to be "collapsed" would be nice. This way, on channels with a lot of items, you could more easily skim through title/headline and then choose to expand a "Read More" of a particular article if desired.

Fix client_id

Right now the client_id is set to "together.com" which is not where the app is launched! This also means any time I post from it my site is linking to together.com when it credits the app!

Classic Feed Reader View

Would love to have a classic multi column feed reader view, article preview on the left with a panel for the full article on the right.

Ability to repost with comment

Presently, Together offers users the ability to reply, like, or repost an item. It would be wonderful if there was a way to repost with comment, with the ability to enter more longform comments. One of my personal primary ways to share content is to "bookmark" it in my website with some commentary. Some examples:

Especially nice would be the ability to embed block quotes, as I do in the second example above.

Channel List doesn't scroll

I have 19 channels in Microsub, so just over half appear in the list before being cut off. It seems to fit 11 of my channels (some of them take up two lines because they are too long). It seems the the max single line channels is probably around 13 or 14. Adding an overflow-y scroll would help allow scrolling that view.

Add Login Loading Indicator

Now with the backend existing the app needs to make a request to login the user (it is not instant anymore), so I should add a loading indicator before that request is completed.

add css for blockquotes

In addition to indentation, I like when blockquotes have a left border. I know it's totally a personal preference thing but I think it helps. I believe github does it as well:

test quote

Here's a mockup of some quick css i added in the browser:

blockquote

blockquote {
    border-left: 4px #dfe2e5 solid;
    padding-left: 1em;
}

Random Backend Thoughts

Ok so just wanted to write down some random thoughts on a backend system while I remember them.

I think we will almost certainly need a (hopefully fairly lightweight) backend system that can talk to microsub endpoints. Functionality I can see being very useful is:

  1. Resizing photos - At the moment all photos are retrieved from their original url in full resolution, obviously not ideal
  2. Normalising data - It will be a pain to have to deal with a lot of the variables in JF2 data, such as the author property seems like it can either be an object, a url string or completely empty and inferred from the source site hcard. Would be great if it was always an object so the frontend is more consistent. This might be something the microsub spec handles but I don't know. And the same goes for a bunch of other properties.
  3. Micropub client - The backend should provide micropub client functionality to post likes, replies etc. I have my micropub-helper node package I can easily use if we have a node backend.
  4. Streaming data - Would be great to have some sort of real time updates if possible without needing to refresh.
  5. Url to MF2 parsing - For attributes like in-repy-to or children that may just be a url it would be great to be able to expand those into full MF2 objects and pull them into together if we want them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.