frontend for xcvr appview

update to reflect new stuff, doesn't currently resolve for alt channel hosts

+13 -17
+3 -2
src/lib/types.ts
··· 134 134 export type SignetView = { 135 135 $type?: string 136 136 uri: string 137 - issuerHandle: string 137 + issuer: string 138 138 channelURI: string 139 139 lrcId: number 140 - authorHandle: string 140 + author: string 141 + authorHandle?: string 141 142 startedAt: string 142 143 } 143 144
+6 -4
src/lib/wscontext.svelte.ts
··· 496 496 signetView: signet 497 497 }) 498 498 } 499 - this.existinguris.set(signet.uri, signet.authorHandle) 499 + this.existinguris.set(signet.uri, signet.author) 500 500 } 501 501 502 502 addMessageView = (message: xcvr.MessageView) => { 503 - if (this.existinguris.get(message.signetURI) === message.author.handle) { 503 + if (this.existinguris.get(message.signetURI) === message.author.did) { 504 504 this.items = this.items.map((item: xcvr.Item) => { 505 505 return item.signetView?.uri === message.signetURI && isMessage(item) 506 506 ? { ...item, type: "message", messageView: message } ··· 517 517 console.log("called add imageview when i don't have an imageview") 518 518 return 519 519 } 520 - if (this.existinguris.get(media.signetURI)) { 520 + if (this.existinguris.get(media.signetURI) === media.author.did) { 521 521 this.items = this.items.map((item: xcvr.Item) => { 522 522 return item.signetView?.uri === media.signetURI && isImage(item) ? 523 523 { ...item, type: "image", mediaView: media } : item ··· 621 621 const issuerHandle = lex.issuerHandle 622 622 const channelURI = lex.channelURI 623 623 const lrcID = lex.lrcID 624 + const author = lex.author 624 625 const authorHandle = lex.authorHandle 625 626 const startedAt = lex.startedAt 626 627 ctx.addSignet({ 627 628 $type: "org.xcvr.lrc.defs#signetView", 628 629 uri: uri, 629 - issuerHandle: issuerHandle, 630 + issuer: issuerHandle, 630 631 channelURI: channelURI, 631 632 lrcId: lrcID, 633 + author: author, 632 634 authorHandle: authorHandle, 633 635 startedAt: startedAt 634 636 })
-8
src/routes/+page.svelte
··· 147 147 hi! i'm <a href="/p/moth11.net">rachel</a> and i'd like to welcome you to xcvr 148 148 (pronounced transceiver)! 149 149 </p> 150 - <p>UPDATE AS OF MONDAY NOVEMBER 17 2025</p> 151 - <p>XCVR WILL BE DOWN FOR MAINTENANCE AFTER 6PM EST FOR A FEW DAYS</p> 152 - <p> 153 - i need to switch hosting providers, and i'm making a few changes to the 154 - lexicon, and i think that the current xcvr.org account will be migrated to 155 - legacy.xcvr.org, and i'm going to make the new xcvr.org use did:web 156 - </p> 157 - <p>WE'LL BE BACK SHORTLY</p> 158 150 <p> 159 151 tune in to a channel <span class="desktop">(to the left)</span> 160 152 <span class="mobile">(press aaaaa)</span> and start chatting, make your own,
+4 -3
src/routes/c/create/+page.svelte
··· 1 1 <script lang="ts"> 2 2 let title = $state(""); 3 3 let topic = $state(""); 4 - let host = $state("xcvr.org"); 4 + let host = $state("did:web:xcvr.org"); 5 5 const graphemes = (text: string) => { 6 6 if (Intl.Segmenter) { 7 7 const segmenter = new Intl.Segmenter("en", { granularity: "grapheme" }); ··· 71 71 <div class="beeper {hostValid ? 'valid' : ''}"> 72 72 <label for="host"> 73 73 this is the channel host. you can put whatever you want here, but if the 74 - given url does not host xcvr channels, or if they do but they don't like 74 + given did does not host xcvr channels, or if they do but they don't like 75 75 you in particular, then your channel will not exactly "work." freedom of 76 - speech, but not a right to a platform. 76 + speech, but not a right to a platform. likely just leave it as 77 + did:web:xcvr.org as of nov 26 2025 77 78 </label> 78 79 <input 79 80 type="text"