remove method to upgrade known instances from cookie to localstorage
it's been over three years since the old forget_known_instances cookie is no longer being set, any cookie that hasn't been upgraded to localstorage by now has surely expired
This commit is contained in:
parent
77bb52cb9e
commit
c621982424
|
@ -20,34 +20,12 @@ import {SLOTS, normalize_known, known_load, known_save} from './known_instances.
|
|||
const misskey_top_instances =
|
||||
Function('return JSON.parse(`' + document.querySelector('#misskey_top_instances').innerHTML + '`);')();
|
||||
|
||||
async function get_known(){
|
||||
async function replace_buttons(){
|
||||
let known = known_load();
|
||||
if(!known){
|
||||
let resp = await fetch('/api/known_instances');
|
||||
if(resp.ok && resp.headers.get('content-type') == 'application/json'){
|
||||
known = await resp.json();
|
||||
}
|
||||
else {
|
||||
known = {
|
||||
mastodon:[{
|
||||
"instance": "mastodon.social",
|
||||
"hits": 0
|
||||
}],
|
||||
misskey:[{
|
||||
"instance": "misskey.io",
|
||||
"hits": 0
|
||||
}],
|
||||
};
|
||||
}
|
||||
known_save(known)
|
||||
fetch('/api/known_instances', {method: 'DELETE'})
|
||||
}
|
||||
|
||||
return known;
|
||||
}
|
||||
known = normalize_known(known);
|
||||
known_save(known);
|
||||
|
||||
function replace_buttons(top_instances, known_instances, container,
|
||||
template, template_another_instance){
|
||||
let filtered_top_instances = []
|
||||
for(let instance of top_instances){
|
||||
let found = false;
|
||||
|
|
|
@ -24,13 +24,21 @@ export function known_save(known){
|
|||
}
|
||||
|
||||
export function known_load(){
|
||||
const default_ = {
|
||||
mastodon:[{ "instance": "mastodon.social", "hits": 0 }],
|
||||
misskey:[{ "instance": "misskey.io", "hits": 0 }],
|
||||
};
|
||||
// this makes mastodon.social and misskey.io show up on respective first
|
||||
// buttons by default even if they are not the most popular instance
|
||||
// according to the server
|
||||
|
||||
let known = localStorage.getItem(STORAGE_KEY);
|
||||
if(known){
|
||||
known = JSON.parse(known);
|
||||
} else {
|
||||
known = load_and_migrate_old();
|
||||
}
|
||||
return known;
|
||||
return known || default_;
|
||||
}
|
||||
|
||||
export function normalize_known(known){
|
||||
|
|
|
@ -67,22 +67,3 @@ def users_badge():
|
|||
return redirect(
|
||||
"https://img.shields.io/badge/active%20users-{}-blue.svg"
|
||||
.format(count))
|
||||
|
||||
|
||||
@app.route('/api/known_instances', methods=('GET', 'DELETE'))
|
||||
def known_instances():
|
||||
if request.method == 'GET':
|
||||
known = request.cookies.get('forget_known_instances', '')
|
||||
if not known:
|
||||
return Response('[]', 404, mimetype='application/json')
|
||||
|
||||
# pad to avoid oracle attacks
|
||||
for _ in range(random.randint(0, 1000)):
|
||||
known += random.choice((' ', '\t', '\n'))
|
||||
|
||||
return Response(known, mimetype='application/json')
|
||||
|
||||
elif request.method == 'DELETE':
|
||||
resp = Response('', 204)
|
||||
resp.set_cookie('forget_known_instances', '', max_age=0)
|
||||
return resp
|
||||
|
|
Loading…
Reference in New Issue