[ mlpol / qa / go / 1ntr / vx / cyb / sp / üb / a ] [ Overboard ] [ Statistics / Banlist / Search ] [ PonyX ] [ Policy / Store ] [ home ]

/qa/ - Questions and Answers

Keeping the community together by giving you a voice
Name
Email
Subject
Comment
File
:
Password (For file deletion.)

Let's skip the other 6 layers and go straight to the physical /cyb/

  [Go to bottom]   [Catalog]   [Return]   [Archive]

File: 1550200908052.jpg (35.14 KB, 640x525, I mek code.jpg)

 No.4560

It is I, Pupper, and I am doing a complete rewrite of the code, and wanted to get some input from you dear Anons on what wishes you have. My hope is to make the site more robust and userfriendly, and succeed on both these goals (or at leas not make it worse).

But before I get too far into the new code I thought I'd open up for input on features and improvements you want to see. It is still early in development and it is therefor still easy to change things before I weer of into a wrong direction and paint me into a corner. I am not planning on changing the overall look or function of the site just improving on what we have.

If you got any ideas, suggestions, grievances or fun jokes I am happy to hear them all. Developing something without knowing what you guys want can easily end in sorrow, so I want to avoid that with this preemptive strike asking for what you want to see.

I am looking forward to your input and I will note it all down (in this thread) and us it as help when developing the new code. I am not sure when the new code will be complete so I can sadly not make any promises in that regard, but I can promise I have begun with the rewrite.

- Pupper

 No.4561

>If you got any ideas, suggestions, grievances or fun jokes I am happy to hear them all.
Your wish is my command.

Let's start with my biggest gripe with the site: the archive. It's great that we have one on-site, the only problem is that it sucks.

ᐅ It's a wall of text
ᐅ It's not searchable
ᐅ The voting feature is useless
ᐅ The threads in the archive do not have post links preserved
ᐅ The threads in the archive do not allow you to save files with the original filename
ᐅ If you open an image in an archived thread and close it, it will take you to the very top of the page unless you have another image opened already
ᐅ Posts and threads in the archive cannot be linked to from posts that are not archived

So! Time for some suggestions about that.

ᐅ Archived posts should be linkable from unarchived threads
ᐆ Linking to them should be an easy, seamless ordeal:
>>(post number)
ᐆ Cross-thread links can be achieved a few different ways:
ᐇ >>>/mlpol/(post number) (preferred)
ᐇ >>>/mlpol/archive/(post number)
ᐇ >>>/mlpol/a/(post number)
ᐆ No matter the method used, the threads should clearly be shown as archived when linked to (strikethrough, appending (Archived) to the link, etc)
ᐅ Archives should be displayed and searchable the same way a normal board should be: there should be no static spreadsheets meeting me when I visit it!
ᐅ There needs to be more ways to find and bookmark important archived threads
ᐆ The voting and featured thread features, while never used, are fine and can be kept
ᐆ A bookmarking feature should be implemented in the archive, so you don't have to keep searching for posts there every time
ᐇ Being able to call these bookmarks up when out of the archive would be a plus, too

Other than that, here's a small laundry list of problems I've noticed:

ᐅ SVG files aren't thumbnailed, nor are they opened as standard images when clicked on.
ᐆ However, they do render when image hovering is turned on.

ᐅ The thread JSON has no custom flag support; when a custom flag is used, the flag information is just omitted completely from the post's JSON entry.
ᐆ This is more important for mobile clients such as >>4241 , but still warrants fixing.

ᐅ There is little consistency between bracketed formatting tags (or BBCode style as I say) and the 8ch formatting tags.
ᐆ There is no BBCode method for creating 8ch redtext headings.
ᐆ There is no 8ch method for colored text, text alignment, or dice rolls.

ᐅ Post deletion and mod banter messages are not shown in an already open thread: a refresh is required to notice any such changes, instead of being shown dynamically as the thread refreshes.

ᐅ Image hovering has a multitude of problems:
ᐅ Catalog image hovering doesn't work.
ᐅ When mouse following is turned off, there's no option to choose which corner of the screen to anchor the hovered image to.
ᐆ Hovering downloads the data of all files that are hovered over, regardless of whether or not they can be viewed while hovered (ZIP, PDF, TXT, videos, etc.)
ᐆ Videos have no hover support.
ᐇ If video hover support is added, they should be muted by default and be configurable to either continue playback when opened fully or restart playback.

And lastly, some feature suggestions.

ᐅ Expose MD5, SHA1, etc. hashes for every file posted

ᐅ Implement the option to disable filtering on a per-thread, per-board and/or sitewide basis
ᐆ An insane idea inspired by >>>/mlpol/201560 : an idea that may be insane enough to work as added shill repulsion
ᐆ Disabling image hiding optional, but definitely should be a per-thread option
ᐆ Should be a staff-only setting if implemented: could janitors use this?

ᐅ Enable the ability to list the contents of ZIP files and offer confirmation before downloading
ᐆ Could have security implications if a malformed ZIP is used

ᐅ Virus scanning for uploaded files
ᐆ Could be implemented as configurable ClamAV support on the backend?
ᐆ Could use https://github.com/nextcloud/files_antivirus (another PHP+JS monstrosity) as a template?

ᐅ Open PDF files in a new window
ᐆ Should be configurable to open in an inline window (if possible), a smaller separate window, or the default of opening in a new tab

ᐅ Code tags when you lazy niggers decide to fucking enable it should have the ability to specify syntax highlighting
ᐆ Should be user-selectable and not autodetected
ᐆ Should be implemented similarly to the align tags: (code=c)(/code), (code=diff)(/code), (code=php)(/code), etc.
https://highlightjs.org/ could be a starting point for this?

 No.4562

File: 1550281511903.gif (158.28 KB, 499x368, 0f7c84bd83a04eeff8d87e6148….gif)

>>4561
Well, I don't have anything that he missed.

 No.4564

File: 1550282497153.png (246.23 KB, 900x900, fluttershy_likes_to_use_th….png)

>>4561
>the archive
I agree that the Archive is lets say less than optimal, and it was a quick add-on to get some form of archiving. I will redo the archive completely and will try to get all your wishes implemented.
My plan is to move all the threads in archive to a database so will be searchable, and I will add the function of making them linkable (as you suggested). Also make an automatic redirect to the archived thread if using /mlpol/ThreadID link for an archived thread.

>json

I am planing to do full overhaul of the json files, or at least clean them up. I have to do a little pondering regarding making the json files more tailored to our site or keep the backwards compatibility.

>formatting

This will also be overhauled. I don't suspect there will be many changes, but if you have wishes for specific test formating feel free to give suggestions.
<Text (becomes pink automatic)
Is one idea I am playing with adding

>update of thread

I plan adding functionality to update the threads with bantz and other changes automatically. And I have some test js that accomplishes this, but it is just tinkering at the moment and I need to streamline it.

>hovering

I will add the option to choose corner to "fixed hover" to. I will also look at all the hovering problems you mentions.
All of the JS will be rewritten, so none of the problems that are now will be "grandfathered" into the new code. Only problem is if I forget to add something.

>hashes for files

I plan on moving to storing files as their hash codes so identical images will not take additional space (like they do now), but rather the same file is served and linked. So to avoid any possibility for collisions I will use 128bit hash and add filesize to the end of the filename (probably overkill).

>disable filtering

The problem with this is that the filtering is client side so there is nothing that I can do to prevent users to create custom scripts to manipulate the DOM and hide threads. But it should be possible to do this in the default js, not that anyone moderately skilled wouldn't be able to override that easily. But I will look into this, shills rarely have the capacity to realize people can see when they are samefagging when IDs are on, so it is not likely they would run custom js.

>zip files

At the moment I only have check on headers of files to see if they are valid. But I will look into making an function to list content of compressed files.

>virus scanning

I will definitely look into some form of virus scanning of files. I haven't yet decided on how to best implement this, and what AV to use, but it is something that is on the to-do list.

>syntax highlighting

I will look into this, and if I find a good 3rd party OSS library that does this I will add it. And I will add code tag sorry for not having already.


Thanks for all the input, and it had many points I hadn't thought of and it will help a lot when it comes to writing the new code.
Keep the ideas coming, and don't hesitate to mention other areas I should pay attention to when doing the rewrite.


I can also mention this as it is a change that will affect users and perhaps ease some "fears" if it happens to you in new code:
>I am planning on making force-flagging of posters limited to individual threads. This way mods can be more free to forceflag people without exposing them sitewide; i.e. more fun for all especially mods..

 No.4565

File: 1550289234156.gif (1.05 MB, 320x240, 7f5.gif)

>>4564
Thanks for the prompt reply!
I've got nothing to add to the points on the archive, thread updates, hovering, filters, AV and highlighting, so onto the subjects at hand!

>>json

>I am planing to do full overhaul of the json files, or at least clean them up. I have to do a little pondering regarding making the json files more tailored to our site or keep the backwards compatibility.
To be quite honest, the JSON API for most board software was always kind of lacking. A lot of the mobile apps for say, 4chan, infinity/OpenIB, and the various forks of vichan rely on grabbing extra necessary data from the full site and going outside of the API itself, which rather defeats the purpose of having an API in the first place. 8ch's API, for instance, has no support for any board's custom flag data in the API itself.
If you want my opinion, stick to the fundamentals in the stock vichan API that work fine, but if extras are required, overkill the shit out of them. Do it once, do it right.
If you (know someone who) happens to know Java/Android, you can have them spin off a quick extension for Dashchan (https://github.com/Mishiranu/Dashchan-Extensions/wiki/Extension-devepment-tutorial) to test whatever JSON changes you make against it. That way you can both test the changes for functionality, and get an mlpol/NPFchan mobile app out of the deal as well!

>>formatting

>This will also be overhauled. I don't suspect there will be many changes, but if you have wishes for specific test formating feel free to give suggestions.
No objections to the automatic pink text change. You could also add the 8ch formatting for (((them))), though I find it a bit garish IMO and wouldn't miss it being left out.

>>hashes for files

>I plan on moving to storing files as their hash codes so identical images will not take additional space (like they do now), but rather the same file is served and linked. So to avoid any possibility for collisions I will use 128bit hash and add filesize to the end of the filename (probably overkill).
Very nice, I can get behind some sweet deduplication action.
That being said, my point was more about exposing the hash in a text string alongside the image (preferably hidden under the post's ▶ menu) for the user to verify against. Just in case, say, a file is DL'd over a piss poor connection, and the anon in question wants to check the hash for themselves.

>>zip files

>At the moment I only have check on headers of files to see if they are valid. But I will look into making an function to list content of compressed files.
I'm not sure how zip files are operated on server-side (if they are at all), but if you need to pull in an extra dependency for this, consider p7zip (7-zip CLI), which may also add the possibility of 7z file attachment support as well.
Whatever method you use to do this, be sure to have checks to make sure someone can't just upload an endlessly recursing archive file, have the archive list program eat all the memory, and crash the system. Perhaps a 30/60 second wait for the list to complete before the process is killed, and providing a simple "unable to list files" error when it happens?

>I can also mention this as it is a change that will affect users and perhaps ease some "fears" if it happens to you in new code:

>>I am planning on making force-flagging of posters limited to individual threads. This way mods can be more free to forceflag people without exposing them sitewide; i.e. more fun for all especially mods..
I've absolutely no objections to this change. It's far less controversial than an idea I've had cooking up for a while!

Now,
>Keep the ideas coming, and don't hesitate to mention other areas I should pay attention to when doing the rewrite.
It'd be my pleasure.

ᐅ The desktop notifications are a nice touch, but I find the pings it gives on every single post to be overkill and less than useful. Call me spoiled thanks to 4chanX.
ᐆ Have the desktop notifications configurable to only fire notifications upon replies to (You)
ᐆ Have the desktop notifications configurable to only fire on replies to posts you want (maybe under a post's ▶ menu, having an option to notify on replies)

ᐅ The thread watcher is a little anemic, and it's position as fixed on top of the page makes it's usefulness limited when browsing a thread.
ᐆ Have the thread watcher pop out just like the Quick Reply window (4chanX conveniences, yay!)
ᐆ Have the watcher be a little clearer (current thread in bold, dead/archived threads in dark text/italicized/strikethrough)
ᐆ Have some integration with the above notifications: maybe an extra (coloured) number beside new posts for posts that would trigger a notification normally?
ᐇ Would it be feasible to make the watcher button change colours when this notification event happens?

ᐅ There's no catalog for the Overboard.
ᐆ If this is an intended feature, perhaps have a more compact overboard layout?
ᐇ Say, a configurable amount of columns to display threads in as you scroll down?

ᐅ Quick reply doesn't let you change between Files / Remote / Oekaki.
ᐆ Oekaki doesn't display in quick reply either - not that important to fix, but still worth noting.

ᐅ Flash files do not open correctly.
ᐆ Either it has you download the .swf file outright (Chrome/Opera/etc.), or opens in a new tab (Firefox)
ᐆ I suspect that the .swf files aren't being embedded properly, causing the browser to treat them like files instead of, well, Flash.
ᐆ Wizardchan (also running NPFchan) has a Flash section in it's options to configure .swf playback and default resolution. Worth looking into?

Layering colours and spoilers does this.
It's not a bug, it's a feature.
N-no fix plz?

Thanks for your efforts Pupper, and here's hoping your undertaking goes smoothly! And that my sperglord ass doesn't bog you down in feature creep ^:)

 No.4566

>>4565
>Dashchan API
I'll definitely look into this. Really good to have this as an guide to see what type of data 3rd party app devs wants. Also to avoid the obligatory https://xkcd.com/927/

>desktop notifications and thread watcher

I myself don't use these functions, so it is extremely helpful knowing how you like it to work and I will do my best to tailor it to your desires.

>Overboard

Overboard is in current code an "add-on" so it is not integrated as a core function. This will be different in the new code and it will be possible to make Catalog and make it more "configurable". I will try to add all the options you mentioned.

>Quick reply and Oekaki

I will try to get Oekaki into the Quick Reply. I might have to disappoint at this one point as the "realestate" available is limited and you have to get all the float and positioning to function flawlessly. Also I have to think of mobiles and make the Quick Reply box fit onto a small screen. That being said I haven't added Oekaki to the new code yet so it could be an easy task to do, and all I said above is just me blackpilling myself, and thinking worst-case scenarios.

>Flash

I will do my best to try to get this working in all browsers.

>Will this feature be kept alive

I will make sure this stays as it is.

>Thanks for your efforts Pupper, and here's hoping your undertaking goes smoothly!

Thank you for kind words, and thank you for all your input. You'd be amazed how good I am at bogging myself down in features trying to cater to all thinkable eventuality, so knowing what people actually wants is a Godsend in comparison. Do not worry about bogging me down, you are most likely doing the opposite. Set the sperg in you free.

 No.4571

>>4560
Well, I've found the new position of the Quick Reply box to be a little inconvenient, as it now covers a portion of the thread's posts while it's up. I've also had an issue where every time I hit a post number to reply to it, I have to click back inside the Quick Reply box to begin typing again. I'm afraid I don't have anything more constructive than that.

 No.4572

File: 1550453406906.png (23.98 KB, 200x187, my_computer_pony_icon_by_n….png)

>>4571
Any and all pointers are welcome. It is good to know what problems you encounter so I can make sure it don't carry over to the new code.

 No.4577

File: 1550599520135-0.png (10.91 KB, 445x67, spoiler bug.png)

File: 1550599520135-1.png (11.07 KB, 707x46, spoiler bug 2.png)

File: 1550599520135-2.png (18.81 KB, 459x131, spoiler bug 3.png)

While we're on the subject of magical spoiler bugs, here's some more bugs I decided to reproduce relating to spoiler bugs.

For the first image ( >>>/Test/1275 ), this effect persists where it's not desired, though only when the spoiler tag wraps over to a newline that's been >greenlined.

As for the second ( >>>/Test/1277 ), a different bug happens: if the spoiler doesn't start at the beginning of the line and wraps around to a new line, it doesn't bother spoiling the new line at all.

As an extension of the second bug and going into the third ( >>>/Test/1278 ), with no greenlines it spoils everything fine. Starting it with a >greenline both fails to spoil the next line and colours it green, while the third spoils everything but doesn't mask the colour of the second line.

I'm guessing there's some recursing markup bullfuckery going on here, no doubt related to our favourite spoiler bug.

 No.4578

>>4577
I'll look into it, and also make sure this don't happen in new code.

 No.4579

File: 1550601747786.jpg (96.87 KB, 1024x576, eqg_mirror_magic_special__….jpg)

>>4578
The tripcode always brings a little smile to my face and makes up for fucking up the login.

 No.4580

File: 1550601924768-0.jpg (183.8 KB, 1440x1375, 1522004173107.jpg)

>>4579
Eh, it's not bad.

 No.4585

>>4564
>So to avoid any possibility for collisions I will use 128bit hash and add filesize to the end of the filename (probably overkill).
Hashes is something I have wished for too, but my vote would be for something that is a) compatible with other things that use hashes - like for reverse image search, if that is relevant, or other board software, etc; and b) has JS support for handling hashes in the browser.
Deduplication or bulletproof cryptographic verification of images isn't the goal here in my opinion, exposing something that users can work with is.

I just tried finding a post in the archive and agree that it is something that needs work, other than that the board code seems to be overall good enough. Don't break yourself trying to get everything perfect.

 No.4586

>>4585
The hashing method I intend to use is SpookyHash 2. This is an hash that is designed to be be used on files, as it isn't cryptographic safe, but it is really fast on large files and don't use much CPU.
Thought of Murmurhash 3 too, but there is a known hash flood DoS attack for it. But I am still just playing around with this and nothing is set in stone.
https://research.neustar.biz/2012/02/02/choosing-a-good-hash-function-part-3/

>Don't break yourself trying to get everything perfect.

I will try to pace myself, but it is also fun rewriting the whole code. Hopefully the result will be as good as I hope. Also having written the whole code from scratch makes it easier to find and fix eventual problems, or add features, that might arise.

 No.4589

Howdy doo Pupper, hope the rewrite's going swimmingly and fun for you. Because I'm about to throw a wrench in the works with another feature request!

ᐅ Overhaul media embedding (YouTube, Dailymotion, etc.)
ᐆ Make the video URL change to the title of the video whenever possible
ᐆ Have the option of seeing the video thumbnail wherever possible,
ᐇ Either as an extra button next to the video embed button,
ᐇ Or, if image hovering is turned on, have the thumbnail display upon hovering over the link
ᐆ Have a configurable option to disable video embedding
ᐆ For sites such as YouTube, have the option to replace video embeds with a link to an alternative site (Invidio.us, Hooktube (RIP), etc.)

Don't worry, because this this time I come bearing gifts of shortcuts! Since it sounds like you're doing most of this work in JS, you ought to be able to recycle the embed functions that the 4chanX script uses. (MIT licensed, by-the-by)

https://github.com/ccd0/4chan-x/tree/master/src/Linkification for the CoffeeScript version,
Or https://www.4chan-x.net/builds/4chan-X.user.js starting at line 15545 for the pure JS version (specifically, the "key: 'Clyp'," string)

You may even be able to implement such devilry such as Pastebin embeds, if you really wanted to. The code's all there in the script!

 No.4590

>>4589
I can please you and say I have implemented almost all your wishes in the new JS already.
I will look into the Thumbnail of embedded videos, and the option to select alternative site for embedding.

 No.4666

>>4589
>Pastebin embeds
would definitely like to have this, one of the only advantages 4chan has with 4cX

 No.4667

>>4666
Checking, and I will make sure to include that in the code.



[Go to top] [Catalog] [Return][Post a Reply]
Delete Post [ ]
[ mlpol / qa / go / 1ntr / vx / cyb / sp / üb / a ] [ Overboard ] [ Statistics / Banlist / Search ] [ PonyX ] [ Policy / Store ] [ home ]