From 22036aa22cc2455f84dc1d5000dc43a6b19cdb7f Mon Sep 17 00:00:00 2001 From: cyisfor Date: Mon, 1 Jun 2020 13:43:54 +0000 Subject: [PATCH] Flake ids (#68) This is a series of squashed commits from cysfor @ github. * Pleroma base62 "flake_id" isn't a decimal integer * Is it the path order? Still learning Django, making sure it's not erroring out because the path order is backwards. /user/:id dies saying /user/:id/next/:thingy won't parse, so I thought they might be out of order. But actually the template main/user.html silently recurses when you do /user/:id sending another query for /user/:id/next/:etc. * I figure out flake_ids Go figure Pleroma can't even use hexadecimal numbers. Nope, base62 is clearly the way to go. They're working for me, at any rate. Co-authored-by: Cy Co-authored-by: Cy --- brutaldon/urls.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/brutaldon/urls.py b/brutaldon/urls.py index 94b3fb0..0c7da74 100644 --- a/brutaldon/urls.py +++ b/brutaldon/urls.py @@ -45,8 +45,13 @@ urlpatterns = [ path("tags/", views.tag, name="tag"), path("user/", views.home, name="user_bad"), path("user/", views.user, name="user"), - path("user//next/", views.user, name="user_next"), - path("user//prev/", views.user, name="user_prev"), + # next/prev are integers, but pleroma uses 128 bit integers + # ...encoded in Base62. + # aka a "flake_id" + # from baseconv import base62, but we don't need to decode it + # just pass it along back to pleroma but it is NOT an + path("user//next/", views.user, name="user_next"), + path("user//prev/", views.user, name="user_prev"), path("toot/", views.toot, name="toot"), path("toot", views.toot, name="toot"), path("reply/", views.reply, name="reply"),