Giter Club home page Giter Club logo

chatty's People

Contributors

boarder2 avatar electroly avatar gswalden avatar kuntza01 avatar nixxed avatar palpants avatar smathson avatar

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

chatty's Issues

Move collapsed threads into their own tab

Then we can stop "collapsing" like the shack does, saving both CSS and render performance. This should reduce the number of watches quite a bit, and reduce the virtual DOM size.

Notification support

Notify the user when a new post is loaded that was a reply to one of their posts.

Re-implement the "scroll fix"

When new replies arrive, they will shift the scroll of the page. This is disorienting and annoying.

In the ng1 chatty, I implemented a (hacky) fix that adjusted the page scroll as necessary to prevent any shifting. Something similar will have to be implemented in the ng2 version. It should be easier than it was in ng1 though. Use an attribute directive.

Handle PRL appropriately

The PRL (post rate limiter) reduces the number of posts per minute you can make. Currently when it is hit, the post just disappears into the void. This should probably be more gracefully handled.

ShackBrowse has a "queue" that it keeps track of to post later after PRL comes back. This would be the ideal solution.

Support for tabs in navbar

Should support viewing individual threads in tabs with a left-most tab of "All Threads". The little permalink in the top left of a post should create a new tab of that thread. Something like that anyway.

Gfycat embeds don't scale properly.

Large width/height gfycat videos only show the top left portion of the video. Tried the JS embed instead of iFrame but it didn't seem to work with dynamically loaded dom elements.

Re-implement $filter

$filter (used for the "search" box) no longer exists in ng2. Might have to custom implement something. Could be slightly challenging, given the post body is broken into pieces for embeds.

Set up TSLint rules

Presumably TSLint can be used to manage the code style rules like ESLint was previously. Currently while there is a compile step, there isn't a lint step for style.

Smarter embed code

Currently:
-Regex based for matching urls
-Using excessively complex regex replace for embed urls
-Weird inconsistent embed behavior
-No unit tests

Ideally:
-Regex based for matching
-Url parsing for replacing
-More reusable embeds for iframes at least.
-Unit tests covering most/all scenarios to prevent regressions

Shack messages route

Make a new route '/messages' where you can

  • read shack messages
  • ideally paged
  • filter (angular style, locally anyway)
  • delete messages
  • respond / write messages

Moderation tag support

Posts should clearly display a banner for the various mod tags (nws, interesting, etc).

Fix TabService

Depends on #55. Once filtering is available, the tab service can be finished/fixed. There are lots of TODO comments all over where tab service features are disabled as well.

New threads throw off tab counts

When a new thread is available (+X next to reflow button), and that new thread has replies, those replies are included in the tab counts, but looking at the tab won't show this until a reflow is performed.

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.