Schedule posts to Bluesky with Cloudflare workers. skyscheduler.work
cf tool bsky-tool cloudflare bluesky schedule bsky service social-media cloudflare-workers

this bothered me

scroll to the top upon a repost being made, posts do this already.

+12 -2
+1
assets/js/repostHelper.js
··· 35 35 setElementDisabled(repostTitle, false); 36 36 repostTitle.value = ""; 37 37 repostRecordURL.value = ""; 38 + setTimeout(scrollTop, 400); 38 39 }); 39 40 40 41 repostForm.addEventListener('submit', async (e) => {
+7 -1
src/index.tsx
··· 2 2 import { Hono } from "hono"; 3 3 import { cache } from "hono/cache"; 4 4 import { csrf } from "hono/csrf"; 5 + import isEmpty from "just-is-empty"; 5 6 import { ContextVariables, createAuth } from "./auth"; 6 7 import { ScheduledContext } from "./classes/context"; 7 8 import { account } from "./endpoints/account"; ··· 20 21 import ResetPassword from "./pages/reset"; 21 22 import Signup from "./pages/signup"; 22 23 import TermsOfService from "./pages/tos"; 23 - import { SITE_URL } from "./siteinfo"; 24 + import { ATPROTO_DID, SITE_URL } from "./siteinfo"; 24 25 import { Bindings, QueueTaskData } from "./types"; 25 26 import { makeConstScript } from "./utils/constScriptGen"; 26 27 import { processQueue } from "./utils/queues/queueHandler"; ··· 39 40 40 41 // Root route 41 42 app.all("/", staticPagesCache, (c) => c.html(<Homepage />)); 43 + 44 + // atproto registration route 45 + if (!isEmpty(ATPROTO_DID)) { 46 + app.get("/.well-known/atproto-did", staticFilesCache, (c) => c.text(ATPROTO_DID, 200)); 47 + } 42 48 43 49 // JS injection of const variables 44 50 app.get("/js/consts.js", staticFilesCache, (c) => {
+3
src/siteinfo.ts
··· 21 21 // This line shows up on the dashboard when the user logs in, located under the logo. 22 22 export const DASHBOARD_TAG_LINE: string = "Schedule Bluesky posts effortlessly"; 23 23 24 + // The atproto did for the /.well-known/ path. Leave blank for no support. 25 + export const ATPROTO_DID: string = "did:plc:ecfcvvlqmadysyik3thlbs3c"; 26 + 24 27 // If the logo image should be rendered on the site. 25 28 export const LOGO_ENABLED: boolean = true; 26 29
+1 -1
src/utils/appScripts.ts
··· 1 1 // Change this value to break out of any caching that might be happening 2 2 // for the runtime scripts (ex: main.js & postHelper.js) 3 - export const CURRENT_SCRIPT_VERSION: string = "1.6.4"; 3 + export const CURRENT_SCRIPT_VERSION: string = "1.6.5"; 4 4 5 5 export const getAppScriptStr = (scriptName: string) => `/js/${scriptName}.min.js?v=${CURRENT_SCRIPT_VERSION}`; 6 6