Coffee journaling on ATProto (alpha) alpha.arabica.social
coffee

refactor: change handle default value to arabica.systems account

pdewey.com bb598f13 9a3600a2

verified
+16 -16
+6 -7
internal/atproto/public_client.go
··· 8 8 "net" 9 9 "net/http" 10 10 "net/url" 11 + "slices" 11 12 "strings" 12 13 "sync" 13 14 "time" ··· 78 79 return nil 79 80 } 80 81 81 - for _, ip := range ips { 82 - if isPrivateIP(ip) { 83 - return ErrSSRFBlocked 84 - } 82 + if slices.ContainsFunc(ips, isPrivateIP) { 83 + return ErrSSRFBlocked 85 84 } 86 85 87 86 return nil ··· 208 207 209 208 // PublicRecordEntry represents a single record in the public listRecords response 210 209 type PublicRecordEntry struct { 211 - URI string `json:"uri"` 212 - CID string `json:"cid"` 213 - Value map[string]interface{} `json:"value"` 210 + URI string `json:"uri"` 211 + CID string `json:"cid"` 212 + Value map[string]any `json:"value"` 214 213 } 215 214 216 215 // GetProfile fetches a user's public profile by DID or handle
+2 -2
internal/web/components/shared.templ
··· 150 150 151 151 templ WelcomeUnauthenticated() { 152 152 <div> 153 - <p class="text-brown-800 mb-6 text-center text-lg">Please log in with your AT Protocol handle to start tracking your brews.</p> 153 + <p class="text-brown-800 mb-6 text-center text-lg">Please log in with your <a href="/atproto" class="link-bold">atproto handle</a> to start tracking your brews.</p> 154 154 <form method="POST" action="/auth/login" class="max-w-md mx-auto"> 155 155 <div class="relative"> 156 156 <label for="handle" class="block text-sm font-medium text-brown-900 mb-2">Your Handle</label> ··· 158 158 type="text" 159 159 id="handle" 160 160 name="handle" 161 - placeholder="alice.bsky.social" 161 + placeholder="alice.arabica.systems" 162 162 autocomplete="off" 163 163 required 164 164 class="w-full px-4 py-3 border-2 border-brown-300 rounded-lg focus:ring-2 focus:ring-brown-600 focus:border-brown-600 bg-white"
+4 -3
internal/web/pages/atproto.templ
··· 20 20 <p class="text-brown-800 leading-relaxed"> 21 21 The <strong>AT Protocol</strong> (Authenticated Transfer Protocol) is a decentralized social networking 22 22 protocol that puts you in control of your data and identity. It's the technology that powers 23 - <a href="https://bsky.app" class="link-bold" target="_blank" rel="noopener noreferrer">Bluesky</a> and now Arabica. 23 + <a href="https://bsky.app" class="link-bold" target="_blank" rel="noopener noreferrer">Bluesky</a>, 24 + <a href="https://leaflet.pub" class="link-bold" target="_blank" rel="noopener noreferrer">Leaflet</a>, Arabica and more. 24 25 </p> 25 26 </section> 26 27 <section> ··· 39 40 <p class="text-brown-700 text-sm"> 40 41 Your identity is represented by a DID (Decentralized Identifier) that you own. 41 42 This identity is portable across applications and PDS providers. Your handle 42 - (like yourname.bsky.social) is just a human-friendly alias { "for" } your DID. 43 + (e.g. yourname.arabica.systems) is just a human-friendly alias { "for" } your DID. 43 44 </p> 44 45 </div> 45 46 <div class="bg-gradient-to-br from-brown-50 to-brown-100 border border-brown-200 p-4 rounded-lg shadow-md"> ··· 129 130 </li> 130 131 <li> 131 132 <a href="https://bsky.app" class="link-bold" target="_blank" rel="noopener noreferrer">Bluesky</a> - 132 - A social network built on AT Protocol 133 + A microblogging social network built on AT Protocol 133 134 </li> 134 135 </ul> 135 136 </section>
+4 -4
internal/web/pages/terms.templ
··· 69 69 <ul class="list-disc list-inside space-y-2 text-gray-700 mt-3"> 70 70 <li>Making public API calls to your PDS</li> 71 71 <li>Temporarily caching brew data for feed display</li> 72 - <li>Not storing your data permanently on our servers</li> 73 72 </ul> 74 - <p class="text-gray-700 leading-relaxed mt-3"> 75 - You can opt out of the community feed at any time, and we'll stop reading your brews. 76 - </p> 73 + // TODO: this hasn't been implemented yet 74 + // <p class="text-gray-700 leading-relaxed mt-3"> 75 + // You can opt out of the community feed at any time, and we'll stop reading your brews. 76 + // </p> 77 77 </section> 78 78 <section> 79 79 <h2 class="text-2xl font-semibold text-brown-800 mb-4">5. Service Availability</h2>