/site/ - Site Meta

Official 8chan Site Meta. (Bring bug reports, complaints, and requests here)

Index Catalog Archive Bottom Refresh
+
-
Name
Options
Subject
Message

Max message length: 12000

files

Max file size: 32.00 MB

Total max file size: 50.00 MB

Max files: 5

Supported file types: GIF, JPG, PNG, WebM, OGG, and more

CAPTCHA
E-mail
Password

(used to delete files and posts)

Misc

Remember to follow the Rules

The backup domains are located at 8chan.se and 8chan.cc. TOR access can be found here, or you can access the TOR portal from the clearnet at Redchannit 3.0 (Temporarily Dead).

Ghost Screen
Celebrating its fifth anniversary all September


8chan.moe is a hobby project with no affiliation whatsoever to the administration of any other "8chan" site, past or present.

(1.84 KB 216x168 the key.png)

How to solve all bitching 04/25/2025 (Fri) 21:23:09 Id: ffaa28 No. 12725
Add multiboards to the boards listed on the top add a multiboard catalog. That's it. Group several closely related boards with different rules and moderation under one multiboard and this will solve nearly all disputes about moderation. For example, you can link /vb/, /v/, /vg/, and /gacha/ under a single multiboard, /vidya/. /vidya/ has its own catalog with threads from all the boards, and you can select which board you want to post to in a new thread and be subject to all of its rules. Sick of generals? Just toggle /vg/. Boom, half the catalog gets instantly filtered. Vidya butts on /v/? Mods can instantly send it to /vb/, and it's instantly filtered for everyone with /vb/ disabled while uninterrupted for people with /vb/ enabled. In another example, take /a/, which has been arguing about ids. Link /a/ and /a2/ together under /anime/, and now people can create threads through /anime/ with or without ids just by selecting which board it's being posted to. No more complaints. We have the technology, so how about we FUCKING USE IT???????
>>12725 *and add a multiboard catalog
>>12725 That seems like a cool idea to me.
Seems like a cool idea
>>12725 >add a multiboard catalog Want that too, maybe just add paging to the catalog if there are too many threads loaded, like every 100 or 200 threads listed the catalog starts showing "next page" That's what I was expecting to get when I discovered that feature exists, but it did nothing
>>12865 >to the multiboard catalog But that could apply also to all boards, if the max limit of threads per board was ever increased
(38.48 KB 333x250 1629048983824.png)

>>12725 This is actuality a pretty sensible idea OP, i also agree.
>>12725 I've been bothered by the 'popularity poll' in the top bar too. It's random and unintuitive. What purpose does it even serve?
>>12885 It's just quick linking without having to open the boards.js The problem I have with that navigation bar is that when you are browsing in catalog mode, and you move to a new board it doesn't link to the catalog mode of the new board but it links to the normal index mode (while on 4chan it works that way, index to index, catalog to catalog)
>>12885 That's how 8chan was designed from the beginning. Popularity is how boards could compete in the event that one board has bad moderation. I think you could have some combination where you have several global multiboards that are a general topic and each board owner has the option to select what multiboard their board should be a part of and the top five or so boards in popularity would be included. You can click on a board to just go to that or ctrl+click it to toggle its visibility on the multiboard. The boards and contents of the multiboards would be sorted alphanumerically, and the board list would only include the top 50 boards. >>12897 That's also a good idea.
>>12906 Actually, it should be a strikethrough instead of a fade.
(1.22 MB 2560x1396 Screenshot_20250428_234838.png)

Holy fuck this took half a fucking day. I did a proof of concept and it works pretty much exactly like you think it would, minus the fact that the links to the threads themselves are busted because the board uri in the links is /site/ (the catalog I overrode) rather than each thread's respective boards. There are probably ways to get around this, but the easiet I suspect would be if the uri was included in each object(?) of the json file. Just to be clear, I did NOT write a script. I merely proved that a competent javascript programmer could probably VERY EASILY write a script. This does not mean I will not try, but I make no promises; I literally started learning js this morning. To briefly document what I did, all I did was download the json data from the catalogs, which can be done by either replacing .html with .json and saving the page or with a function call to api.localRequest. The .json files are very simple to concatenate: just remove the closing bracket in the first file and the opening bracket of the second file and just combine them with json0 + ',' + json1. Then in the call to api.localRequest that the catalog makes on refresh, I swapped the argument with a link to the .json file uploaded to 8chan. Please, for the love of Christ, tell me someone else is interested in helping me on this fucking thing.
>>13279 Oh yeah, just to be clear the sorting still works and threads can still be hidden with 8chanSS.
>>12885 it really sucks ass imo, i use cosmetic filters in ublock to get rid of it. having your favorited boards off to the right is something i don't understand either.
>>12906 so in a way what you're proposing is have a way for BOs to federate their boards easily? >>13279 not bad but i think i'd try to make it more obvious what thread belongs to what board
>>13289 >so in a way what you're proposing is have a way for BOs to federate their boards easily? For now, the best way would be to have them to be created and administered by the site admins, but if the concept works, then it could be done in a few ways: >they are only made by admins/gvols and board owners have to petition to be added >multiple board owners enter into agreement and members are voted in or out by majority/supermajority >just as boards are created now, users can create multiboards and, assuming they are vols, can only add/delete boards >automatically generated for boards that share their first tag, which would be known as the primary tag >same as the primary tag system, except membership is limited to the top eight boards (eight because 8chan and so /8flags/ could exist) >not bad but i think i'd try to make it more obvious what thread belongs to what board Board uri could be prepended to the subject line, which would be another good reason to have the uri included as a property of each object.
Okay, so I got links working. It can take a while to load if you combine a bunch of larger boards. I nearly gave up but the bug I had went away when I replaced a while loop with a for, which doesn't make any fucking sense to me. Excuse the large file. I don't know how to use ffmpeg. >>13289 >not bad but i think i'd try to make it more obvious what thread belongs to what board The prepending strategy I tried doesn't work. I think you might have to do it where threads have a custom color, but that's something that I imagine could be done with a little CSS.
>>13346 This shit isn't working. Is x265 supported? https://files.catbox.moe/eop5ft.mp4
(7.65 MB 1200x937 demo.webm)

Okay, I think it will work now.
>>13352 Indeed it works! I don't know anything about JS, CSS is more of my thing. Liking how it looks.
>>13389 Then I will work on the JS. I still need help with HTML/CSS because it still needs an interface. If not that, at least some input as to what it should look like. The current multiboard menu is serviceable for now, but I think they should be included in the board list upon creation. For it to be truly enhanced, boards should be toggle-able from the multiboard menu so they can be filtered and ignored. Then comes the matter of making this a script file and putting it on greasyfork, which I do not understand.
>>>/a/63130 Fullchan-X dev here, happy to help if there's anything you want to know about JS ect.
>>13293 i wonder if there's a way to integrate this with the board tagging system but it would require BOs to tag their shit properly
>>13413 Very cool. I'm almost ready to try and port this as a userscript and need a second set of eyes to make sure it's not buggy. Currently trying to figure out how I can create catalogs on boards that don't technically exist so I can pull them from the url. >>13437 Yeah, I'm not gonna try doing that.
>>13440 >Currently trying to figure out how I can create catalogs on boards that don't technically exist so I can pull them from the url. My approach would be to use the first board on the list as a parent board and pull the other boards into it. You can get URLs to do extra shit with URL parameters. If you use the search function on most site searches, you can see it doing exactly this. So in this case you could do something like: https://8chan.moe/v/catalog.html?board=vg&board=vb&board=vp Or even just: https://8chan.moe/v/catalog.html?boards=vg-vb-vp Than turn the parameter into an array like this: const childBoards = url.searchParams.get('boards')?.split('-') ?? []; ?. Means that the JS won't break if there's no parameter to split and ?? [] means that you'll get an empty array if it fails.
>>13487 I think I'll probably try this soon. My original plan was to just the 404 page, but I don't actually know how to import javascript to other webpages. I'm almost ready to turn this over to chatgpt...
>>13413 Before I try >>13487, how would I get a site's resources? I don't think I would have to use fetch.
I'm about fucking done. I at least got >>13487 done, which really came in handy so thank you. I didn't actually write much code; most of my effort was just put into understanding it. js catalog.boardArray = new URLSearchParams(window.location.search).get('boards')?.split('-'); if (!catalog.boardArray) catalog.boardArray = [api.boardUri]; else catalog.boardArray = Array.from(new Set(catalog.boardArray)); Implemented recommendation from >>13487 and filters out any duplicates. js catalog.getCatalogData = function(callback) { catalog.catalogThreads = null; if (catalog.loadingData) { return; } catalog.loadingData = true; for (let i = 0; i < catalog.boardArray.length; ) { api.localRequest('/' + catalog.boardArray[i++] + '/catalog.json', function gotBoardData( error, data) { catalog.loadingData = false; if (error) { if (callback) { callback(error); } else { console.log(error); } return; } data = JSON.parse(data) let uri = catalog.boardArray[i-1]; for (const obj of data) { obj.boardUri = uri; //catalog.boardArray[i-1]; if (catalog.boardArray.length > 1) obj.subject = '/' + uri + '/' + ' - ' + obj.subject; } if (!catalog.catalogThreads) { catalog.catalogThreads = data;// JSON.parse(data); } else { catalog.catalogThreads = catalog.catalogThreads.concat(data);//JSON.parse(data)); } if (callback) {
[Expand Post] callback(); } document.body.classList.add("jsenabled"); }); } }; This is mostly the same to what was already there except it loops through catalog.boardArray and appends the json. There might be some other variable renaming here and there, but that's really the extent of it. I only have been able to get this working as a local override, which presumably introduces the bug that it requires one catalog refresh before displaying any boards. I do not know how this could be done as a userscript. Here is a little to-do list of what else I think should be done, but they might be for a competent programmer to handle: >replace the page header name with the multiboard's name >redo the multiboard menu >add a dropdown board select for thread creation I need more FUCKING HELP.
And before I forget, if anything like this gets implemented more officially, I really think there should be a reduced json to pull from, like just the first five pages of a board.
>>13620 >>13621 Aye, I don't know about this javascript fu but I appreciate your efforts anon. Heres a cute tomboy for you
Holy FUCK I think I just got multiboard posting working.
(3.44 MB 1200x937 proofs.webm)

Reuploading the video to be shorter after accidentally deleting the my previous post. Here's the code I pasted in the console: js var boardSelector = { boardList : new Array }; class boardItem { constructor(board) { this.label = `/${board}/`; this.id = board; } } for (const board of catalog.boardArray) boardSelector.boardList.push(new boardItem(board)); var insertionPoint = function() { //inserts before Subject row let insert = document.getElementById('divOptions').nextSibling.nextSibling; if (!insert) return; return insert; }(); boardSelector.boardUI = function () { let row = document.createElement('tr'); let header = document.createElement('td'); let dropdown = document.createElement('select'); row.setAttribute('id', 'divBoard'); header.append(document.createTextNode('Board')); boardSelector.boardList.forEach((board) => { let opt = document.createElement('option'); opt.innerText = board.label; opt.value = board.id; dropdown.appendChild(opt); }); row.appendChild(header).appendChild(dropdown); insertionPoint.parentNode.insertBefore(row, insertionPoint); boardSelector.value = () => dropdown.value; return row; }(); boardSelector.boardUI.addEventListener('change', () => { api.boardUri = boardSelector.value(); })
[Expand Post]As you can see, this is very fucking simple and really only took so long because I wasn't familiar with HTML, but I made a lot of assumptions and didn't really bother examining the details so it does need to be bug-tested. I can't really do anymore unless Codexx or someone like vfyxe step in and helps. A user script would be alright I suppose, but I'd really like to see some official integration. It's not a perfect system, but I hope it's a good start for something better.
>>13718 Oh yeah, and there are a ton of caveats about this regarding cross-compatability since some boards have different options. For example, if the parent catalog was from a textboard, file upload is disabled, which is a requirement for creating new threads on the majority of other boards.
Okay, so I wrote and published a user script, but as I said I'm not really a programmer so it's still is rough-going. https://greasyfork.org/en/scripts/534957-8chan-multiboard-catalog FEATURES >generate catalog based on multiboard selection >create new thread from catalog >redirect from multiboard index to multiboard catalog KNOWN ISSUES <often have to click catalog refresh to generate <hostboard catalog json is not intercepted <greasyfork needs additional settings for updates <no logo PLANS >fix known issues >refactor/document code >create several, dynamic presets based on the work of >>>/dir/ >bitch to Codexx to fix my shit I'm going to be moving over to >>>/t/ since that's where most of the action is and I really need some fucking help. I'll still drop by here to check out other suggestions and post additional updates, but this was my week off and I'm not going to have so much time to work on it.
>>13806 very good, i hope this gets upstreamed. anyone who wants to host using Aleph will get it for free.
>>13806 Found another issue already. <page has to be reloaded before catalog redirect takes affect


Forms
Delete
Report
Quick Reply