Giter VIP home page Giter VIP logo

rubb's People

Contributors

hartsick avatar whoisgina avatar

Stargazers

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

Watchers

 avatar

Forkers

whoisgina

rubb's Issues

a way to track threads of interest

a few ways to do this have come up:

  • jim: have two different emoji displayed on index page - one for any thread with unread messages, and one for threads you've posted in with unread messages
  • ranjit: recent activity homepage that shows threads sorted by most recent comment that youv'e shown interest in - either ones you've posted in, or ones that you've marked your interest in ('add to activity', which requires a 'remove from activity')

going to go with ranjit's!

user story:

  • as a logged in user
  • I can mark a thread as 'watched / 👀'
  • so that it shows on my 'watched' index list, sorted by most recent comment

user story:

  • as a logged in user
  • I can mark a thread as 'unwatched'
  • so that it no longer shows up on my 'watched' index list

user story:

  • as a logged in user
  • I can post in a thread
  • and see it in my 'watched' index list

Allow users to edit account

To start I've turned off user registration in Devise, which also removes the route for account editing. People should be able to edit their account.

  • password reset
  • update password

Should split out more complicated things like changing username or email

Poster can edit past posts

User should be able to edit their own past posts within a certain time window, to allow for correcting typos and stuff.

Sketch of feature:

  • User can edit their own past post
  • User cannot edit others past posts
  • User can only edit their own past post within the last 15 minutes
  • Should be done in-place (eg with Javascript)
  • Error should occur if updated posted after time has expired
  • Timestamp should note when post has been edited

Eventually, users may be able to delete their own posts and their account, removing posts from the forum.

Add ability to pin posts (or at least one)

this suggests the notion of a moderator, but what if we let it so that anyone could pin and unpin posts? I think this could work since the community is intended to be small and known.

User can reply to existing thread

User clicks on existing thread from thread index, sees body. From here, can add a reply - body only.

Once post is added, they see that post on the thread.

On thread index, the following is updated:

  • Reply count for thread (new to this feature)
  • Most recent reply time
  • Most recent reply name
    And thread is now at top, since it is most recently updated

Jump to bottom

feature request:

jump to bottom link for very long threads. other forums use weird pagination and page links things, but a "jump to bottom" on individual threads might be plenty. or, auto scroll or provide link to most recent unread post

archival thread navigation

some options:

  • search
  • organizing threads by topic
  • tagging threads by topic but keeping as one big thread
  • pinning posts (#15), either in index or by topic
  • marking a thread of interest / bookmarking (#9)
  • seeing list of user's threads and posts (or just your own)

right now there is one central home page. it's nice in its simplicity, but means it's hard to find and revive past threads. it's also hard to draw specific attention to new threads (eg for site admin, if needed - now not as important but could see it being)

way of inviting users

right now I just manually add people I've asked to test the site, by logging onto server and running a rake task.

ideally there would be a different way for inviting people, but I think what that looks like depends on how the community should grow. here's a few examples:

  • anyone can register an account, and approval is subject to mods
  • anyone can register an account, and approval can be given by anyone
  • anyone on site can invite another person, subject to no approval
  • anyone on site can invite another person, subject to some approval (?)
  • mods on site can invite another person, subject to no approval

what might we want this to look like? are there other models to consider?

Forms not showing error messages

In moving to Turbo, error handling for forms is now handled differently than before. As a result, we're not seeing error messages when a form post fails.

To reproduce:

  1. Create a new topic
  2. Leave body empty
  3. Press submit
  4. You should still be on same page and topic is not created, but there is no error message

User can edit profile page

  • Add profile page (eg /profile/1 - change to slugs in future)
  • Add profile edit page, only accessible by user (eg /profile/edit)
  • User can update information (favorite food)

Manage timezones

and display of time local to user's timezone

Only need this if showing absolute time (instead of x ago)

User sets username as part of account registration

Devise registers people with email addresses, but we don't want to expose them. What should the identifier be for community use, and how long should it persist?

Maybe: unique slug (used for identification and profile), unchangeable

User can create a thread

Once logged in, user can create a new thread with title and body.

Within thread:

  • Title
  • Post body
  • Time posted
  • User's name

Anyone logged in can see thread in thread index, sorted by most recently created. Should see:

  • Title
  • User created
  • Time created

email/password entry

Maybe this is just my browser, but is it possible to set the email/password entry so that it doesn't autocorrect? cscott changes to cavity for example.

enable account creation through mastodon OAuth

part of my desire to create a simple forum was to allow for slower, longer lasting conversations for online communities centered around feed-based media (particularly Mastodon/Hometown, though could also work for Slack or Discord).

the forum is intended to supplement existing spaces or communities—for example, could sit at forum.logic.camp, if the main Mastodon instance is logic.camp. if this were the use case, having accounts be linked to (and probably only open to) members of that instance would be useful.

enter Mastodon OAuth and the Omniauth Mastodon strategy! using this, I could more firmly link account creation to the fediverse.

some questions I'm thinking about for this:

  • given this use case, it makes sense to limit account access to certain Mastodon instances (likely singular, but could imagine multiple to form a sort of neighborhood. this idea and the core of this issue thanks to Darius Kazemi's run your own social)
  • how do Mastodon and non-Mastodon authentication interact? should the forum be all or nothing? (eg a switch a moderator can flip to turn Oauth fully off or on?) this is a question of community and intended use more than technical

"back to topics" retrieves outdated page

Right now on production if you click "back to topics" from one of the topic pages, you see the main topics page in its previous form (eg with the topic you just viewed still unread) for up to a few seconds before it updates. This can be confusing and annoying.

I think this behavior was introduced with Turbo, and its caching the page. Should look to either approach this in a more Turbo-like way, or disable turbo caching of that page.

a way to track unread messages

jim: have two different emoji displayed on index page - one for any thread with unread messages, and one for threads you've posted in with unread messages

here are options for how this might be handled. I could see a visual indication for any thread:

  • with posts I haven't read
  • that I've given an indication I care about (posting, marking) with posts I haven't read
  • and/or new threads

to implement this, I need to keep track of last view date for threads

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.