Giter Club home page Giter Club logo

groupread's People

Contributors

camdendotlol avatar dependabot[bot] avatar

Watchers

 avatar

groupread's Issues

Remark 14

See here: camdendotlol/website#43

Upgrading from Remark 13 to 14 will take some work unless the Remark devs revert their changes. I messed around trying to get it to work on my personal site for 30 minutes and gave up. The only solutions shared by the devs involves changing a remarkrc.js file, but GR doesn't use one, so it's not clear how to move forward on this.

Find a better way to manage user metadata in state

Currently, things like looking up the username of the author of a post are done by checking the list of group members. This is really bad because of how bug-prone it is and how difficult it makes it to add new features in the future (particularly, the ability to leave a group).

The best way forward is to de-couple the user state and the group state.

The simplest implementation, in the short run, is to include the author's display name in the post object. I've been trying to avoid having a bunch of giant objects with tons of properties junking up the state, but this seems like a pretty clear case where slightly complicating the state will simplify overall development.

Week scheduler form doesn't re-submit after an error

Describe the bug
When you try to re-submit a schedule after getting an error, Groupread doesn't send the request to the API.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the scheduling page for a group in which you're a member (i.e. /groups/{id}/schedule)
  2. Enter an invalid week list (doesn't matter which type of error)
  3. Hit submit, the error appears as expected
  4. Make some changes and click submit again - it doesn't send a new network request, and the first error is frozen in place

Expected behavior
The form should re-submit as many times as you need it to until it succeeds.

Possible memory leak in post view while running dev build

While running the development build, navigating from the group view to a post's page causes a warning:

Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.

I strongly suspect that this is related to a bad interaction between webpack-dev-server's live-refresh WebSocket and Remark's markdown-parsing features. If that is the case, it's not something to worry too much about because it does not apply to the production build.

In any case, it's worth looking into this as a low-prority bug.

Scroll position stays in the same spot when opening a new page

This can be fixed with some simple useEffect hooks, the problem is picking which pages should bump you up to the top and which shouldn't. Also, jumping to the top with useEffect happens even if the user hits the back button, which isn't ideal. Not sure how to address that.

POLISH - the official checklist

This is a checklist for small-ish things that would make Groupread feel more polished and improve the experience of using it. This is not in any particular order.

  • improve API paths to support proper REST standards (currently the paths are pretty inconsistent)
  • official Docker container
  • refreshed homepage
  • better nav experience for mobile - probably a burger menu to completely replace the navbar on small screens
  • look up some nice form design guidelines and make the login/register forms and the group creation form a better experience
  • a proper loading screen, just a spinning wheel would be nice - would need some new code in some components to tell the difference between loading-in-progress and failing to load

More things will be added here as I think of 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.