bign8 / chive-show Goto Github PK
View Code? Open in Web Editor NEWtheChive wallboard
theChive wallboard
The loading indicator is pretty unique and might be better implemented as a self contained component.
Links
After looking at the last cron run, it appears logging isn't making it into appengine ๐ข
Here is the blog post for setting it up: https://cloud.google.com/logging/docs/setup/go
The package docs: https://pkg.go.dev/cloud.google.com/go/logging
Also, side note that the go libraries I'm currently using are for the "flexable" runtime, while the deployements are the "standard" runtime. Personally, I like the standard library's SDK a little better, maybe this should be a driving factor to port the package back to that. nvm, see #11
TODO: figure out which direction APPENGINE is actually going and report back.
Currently the infinite scroller is... infinite, meaning eventually, the browser will run out of vertical space. See if we can virtualize the posts scrolling around. Keeping the previous, current and next post elements in the DOM. Note, having image dimensions pre-fetched may be fairly beneficial when configuring this.
Sometimes, we run out of active versions on the app-engine project and we can't create new staging deploys. It doesn't happen often, but when it does it's pretty annoying.
https://console.cloud.google.com/appengine/versions?project=crucial-alpha-706
It would be kinda cool if we could run a task on some fairly infrequent frequency, to archive old and unused app-engine versions.
It has been noticed that while using codecov/[email protected] your token 5c59aefa-2f68-41fe-b438-8c0ec2918830 is present in plaintext. Please ensure that secrets are encrypted or not passed as plain text in github workflows.
Add the appropriate level of abstraction to enable unit testing and increase coverage in the following areas. This issue is a placeholder that can be broken into further components as necessary.
Culling the list of tags to send to the client is currently by a fixed number. As the amount of posts grows, this can grow stale quickly. Instead, use the 75% percentile or a half average (the mathematician in me is cringing right now) as the lower bound instead of 3
. An example of this can be found: #2
While we are culling this list, we might try and remove the tags that the chive folks use to control their system. They appear to use the full
tag to denote a post is full of images, and the *staple
tags to pin posts to the home page. I haven't noticed many tags that are all lower-case that would want to be shared. Anyway, do some noodling on this, either a blacklist or a heuristic function would be sufficient. Maybe store the tags always and just cull when returning posts and tags from the store so we can change the logic later and not have to migrate the data.
Add the ability to select from all the tags provided by the /api/v1/tags
endpoint. Possibly put a hovering button in the lower right (similar to gmail compose button) that opens a menu or something. Some mock ups before contributing would be nice.
Assets are currently loaded all at once. Currently doesn't really matter on reasonable hardware, but it would be good to reduce the load on theChives servers.
Problem | Automatic deployments can really damage the datastore |
---|---|
Solution | Build structure necessary to ensure production datastore cleanliness |
Status | Staging |
Build |
Another possibility is to abstract datastore and not write, but softly persist modifying changes to development stores
Use cursor based paging on the "random" endpoint. This logic could generate a unique shuffling seed if no cursor is provided, and re-use the seed for subsequent shuffles. Additionally logic will need to be added to include "offset" and "limit" parameters encoded in this "cursor". The following form should be simple enough to implement: <offset>:<limit>:<seed>
.
Links
Why expose it on the frontend? Old version of this can be found in #2
Problem | Continuous Deployment is a neat idea |
---|---|
Solution | Use Travis CI to help automate deployment |
Status | Staging |
Build |
/api/v1/random
A combination of dependabot and/or actions/setup-go changes might be needed here to get this working, but this should help unblock #57
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.