tentags.io's People
Forkers
dochnetentags.io's Issues
convert queues to use rpoplpush
current queue system is messy, need to switch to http://redis.io/commands/rpoplpush to make sure things are getting reliably updated
fix icons not loading
look at what can use redis-cluster
probably user and comments can use redis-cluster, but posts and tags cant be sharded.
check how often updates are performed by workers
may need to move to a queue system, we dont want the workers to be sitting around doing one update every 5 seconds, and we also dont want them repeatedly updating the same posts, so we need to allow some time for repeat updates, and also do as many as need doing
add auto generation for testing
from bitbucket: auto generate some basic content like posts, comments
update filter to handle sorting etc
currently getfilterposts returns all filter posts, need to update to limit the responses, sort them, etc
passwordless login
implement passwordless login
- generate a unique token + time
- store hash of token in DB
- check unique key and time
- create user session, and store session in the DB
- allow invalidating sessions
- invalidate the token when used
- only allow token for certain time limit
How to invalidate client-side sessions?
On session creation, store:
- ip
- device
- createdAt.
- a unique sessionID
Store he new session in the db under the user info
Store client side:
session token
store server side:
everything thats currently in the cookie.
session invalidation:
session timeout (days of inactivity)
check IPs match?
add store in redis of terminated sessions, make sure all servers read from it regularly.
paginate users posts/comments
from bitbucket
save post edit history
test banning a user
from bitbucket
fix the way tags load
currently when loading tags every single tag is loaded, and then scanned through. need to come up with something more efficient that doesnt also fill the db with thousands of tagID: tagName maps.
may be easier to remove tagIDs entirely??
add basic cache invalidation
need to, per worker, invalidate the lru and shdict caches
per filter user labels
each filter needs a list of labels, and an option for whether they are user selectable or must be given out by mods
convert domainban to just use tags
fix icons
they arent loading
add ads as posts
load an ad every x post, allow them tohide it
show error messages for filter creation errors
add basic stats
use hyperloglogs to get stats for unique user views per filter per hour day/week/month etc track pageviews, uniques, logged in uniques, subscribers
Track user stats, add count for posts viewed/posts voted/ comments voted etc
hyperloglog sub counts per minute/hour/day
searchable filter bar
using js
add some welcome info to the sidebar
add bootstrap
from bitbucket
set the required/banned thresholds to avoid trolling
need a way to stop people from adding tags deliberately to things in order to get them banned from subs. eg if someone just adds a nsfw tag straight away it will get banned from any nsfw subs, so need to set a threshold when considering tags that a filter doesnt want at a different level as tags that a filter does want
fix the frontpage
no posts are laoding
geo redirect
need to have each cdn add its ip to redis, add geoip to redis so we know where they are.
check users ip and redirect them to the nearest edge server.
do we log users out if their session changes?
allow longer links
cache common searches
cache common searches/results in shdict/LRU/redis
load more posts from js when we run out
only grabs first hundred, need to grab more when we run out
de-duplicate repeated functions
There are a couple of functions that have been duplicated for testing (e.g. HashIsValid in both api and posts), need to move them out to their own class
limit number of filters displayed under posts
from bitbucket: also sort filters by subscriber count
make sessions persist
Move related filters to worker
Defer processing related filters to background processing with updatefilterposts
Move updatefiltertags to worker
also check how often the updates are run (once per update or continuously until none left?)
keyboard upvote/downvote
need to be able to use left and right arrows to up/downvote, hide the posts after voting, and load a new post
add custom actions for certain tags
eg nsfw. existing 'special tags' stuff needs a cleanup
add scaling system
from bitbucket: track users and allow them to add more tags/have more access once they have used the site more
show user sessions on settings page, test killing sessions
remove old keys from invalidationRequests
need to set some kind of delay but we should be able to safely remove invalidation requests older than the cache time
add basic search functionality
clean up logged-out user experience
hide stuff that shouldnt be shown for logged out users, etc
switch shorturl to use hashes
currently shorturl lookup is just a straight key, need to split it and add it to a hash for performance
Basic usability cleanup
check pages redirect correctly after action
Check sidebar displays links in descriptions
check page displays errors when things do
check error messages for each missing field
check error message for sending to a user who has PMs disabled
move username / settings to top right.
auto gzip static content cached in redis
auto gzip static content served from redis/shdict
add thread locking/deleting
for admins only
add image host
allow users to upload their own images allow users to report images
allow poster to select target subreddits
set a maximum number of subs they can submit to
maybe limit it to 1 while they are starting , then increase
add https
move local constants to env variables
e.g. ENABLE_CACHE, PRECACHE_INVALID, etc
time limit workers
move more logic to backend/queues
theres still some stuff going on per requests that could be queued and processed later, need to move them all, possibly during #44
Add backend stats
5 sec/1h etc queue sizes for vote backlog etc
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.