It seemed like the summer of code would never end… but we're here at last, with a fresh release!
Our shiny new feature is mentions. Ever wanted to know when someone said your name? Now you can, as long as they used @/[name]/[icon]. Mentions are not monitored in PMs, or from users you've banned. Try them out when posting your next commission or request!
The new ib! username shortcut prefix can also be used for this, similar to fa!, da!, sf! and w! We think you'll appreciate being notified; but if not, you can disable the feature.
We've added Picarto.TV, Twitch, Piczel, LiveStream and Furry Network as contact details, plus site mascots by ib!HeffalumpJump, Amuzoreh, Harurin, Lambent64, ib!PInknuss, SholiBoy and SmusserD. Hover over the site banner and click < and > to try them out!
We increased Popular submissions to four pages (240 submissions) in the last three days, showing work from 30% more members, and promoting a higher proportion of General-rated work.
Inkbunny still runs fine on the servers we leased in 2014, with ongoing help from many generous donors. But everyone likes a boost, so we've reconfigured software to use our hardware more efficiently:
We've continued to refine our cache network and image preloading system:
* Caches opened in France, Quebec, Chicago and New Jersey. * Tokyo and Sydney caches upgraded to 2TB/month transfer; they now serve recent original-sized files. * São Paulo cache upgraded to support IPv6; all caches now write data using asynchronous I/O. * Closed Singapore and Johannesburg caches after conclusion of one-year trials. * Occasional cache-full outages eliminated by nginx bug fix. * Upgraded caches to support latest HTTP/2 standard, ALPN. * Enabled OCSP stapling, reducing the time to establish a secure connection. * Tweaked image preload on Chrome/Opera to prioritize on-screen content over adjacent pages. * Use <link rel="preconnect"> to accelerate initial connection to a content server.
We've made several other infrastructure changes in the last six months:
* Upgraded our streaming database replication to cascading off-site replication. This should minimize data loss in the unlikely event of a total datacenter failure. * Upgraded server BIOS, iLO, and network and disk array firmware. * Replaced MySQL with MariaDB (used for web stats and the IB wiki). * Enabled staff email monitoring for important metrics on all servers/caches.
We've overhauled notification counts, with fixes and performance improvements for account and journal deletion, submission publication, friend-status changes, tickets, and deleting friends' comments.
Security got more attention, in part due to issues elsewhere. We've encrypted support ticket contents, removed support for unused image formats (also saving 200MB), improved the security of tickets and private messages while at rest, and enhanced SQL/image format sanity checking.
Other security related changes include:
* Use time-constant comparisons and insert random delays to defeat timing attacks. * Always check password even if IP range check fails, to avoid identifying accounts using the feature. * Attempt to preclude HTTPoxy and more SQL injection attacks. * Prevent fishing for valid email addresses via the password reset system. * Upgrade length and widen character set used to salt hashes. * Use cryptographically-secure pseudorandom number generator for reset/activation/verification codes. * Increase length of auto-suggested passwords. * Rate-limit per-IP and per-account for password reset, account activation. * Run checks on account and allowed IP addresses before password checks. * Switch passwords and reset codes to use a stronger hash format on login. * Limit string length for user credentials to prevent denial of service. * Sanitize numeric entries in cookies; remove null bytes in user entry and various API calls. * Properly sanitize content server and background time of day preferences when set. * Avoid backing up site/server data which can be regenerated from scratch. * Restrict read and write access to uploaded files to web server user. * Include user activation when checking the user session. * Specify expected file types when interacting with image processing software. * Improve base name validation of incoming filenames; don't allow .php as a file name. * When checking new password suitability, use POST rather than GET to avoid logging. * Avoid shelling out where PHP functions exist for common tasks. * Filter and/or collapse dangerous symbols in file names for uploads/editing. * Improve checks for invalid/hidden/symlink files in bulk uploads. * Prevent private file handler from using symlinks; scrutinize file extensions and MIME types. * Kill database connection manager during emergency shutdown. * Remove obsolete sales and payment information from the database. * Update email software; force use of plain-text email; prevent advertising version in X-Mailer. * Disable obsolete finance reporting/print processor management and remove relevant data.
No site is perfect here, but we improve where we can. If you notice a problem, let us know!
Our API has had the following changes: * Prevent non-requested parameters from being returned in the Submission API. * Expose stable unique content_tag_id for ratings in the Submissions API. * Add several error codes relating to new/modified functionality.
* Set 980px viewport; adjust shadows and main navigation positioning to fit. * Avoid front-page section header wrapping on mobile. * Abbreviated comment/submission status notices, guest warning and user stats for mobile. * Fix flick scrolling on IE/Edge by removing position: relative style from <body> tag. * Condense search hints and trim artist and +favs-by inputs. * Trim Main/Scraps Gallery links on submission view to avoid overflow on scaling. * Set background colour on <html> element (avoids white flash as Android address bar hides). * Render background in a <div> below <head>; enables hardware rendering with transform: translateZ(0) while preventing fixed image resize popups from scrolling on Chrome/Safari.
Other minor and cosmetic site changes:
* Restore old pool order page as an option, for those without drag'n'drop ability. * Add ability to bulk publish without notifying watchers, for accounts with bulk publish enabled. Like bulk upload, you can request this via a support ticket; work must meet keyword/content policies. * PNG uploads should use JPG for preview to match extension, not force PNG. * Rollback gracefully if file/thumb upload/replacement fails (e.g. due to invalid format). * Don't stop journal submission if we warned about a bad title and they fixed it. * Remove temporary search result set names from session data. * Switch to Lanczos2 resize filter to fix ringing on high-contrast content/backgrounds. * Default to viewing current user's +favs if no user specified. * Simplify keyword suggestion/+fav notifications by removing them on submission deletion. * Expand journal title to fill available width. * Fix loading of HD version of tall images where width is less than 920px. * Don't allow the load HD option if the full-size image is only 920px or less. * Don't show "HD Loading" if the user is in the wide mode by default. * Make small default view mode loads "SD" medium-size image on first click. * Restore middle-click opening file in a new tab on IE and Chrome. * Reduce minimum account age before a user may suggest keywords to one week. * Remove superfluous referrer checks on various UI actions. * Fix cut-off animation warning for GIF files in small view mode. * Fix "show custom thumbs" link running into thumbnails on Members page. * Explain that comment deletion entails removal from view, optional notes are visible only to staff, and banning will preclude receipt of private messages as well as comments. * Clarify that file replace can replace both files and thumbs. * Don't consider the virtual pools used for gallery navigation when preloading. * Don't assume there are any prev/next items in the gallery. * Don't assume queries returned results when clearing temporary search tables. * Preserve "fit to window" aspect ratio when enlarging the window. * Force vertical scrollbar to avoid background/horizontally centered content jumping. * Properly handle HTML entities (e.g. apostrophes) when editing multi-line character sheet fields. * Center-align first/last in pool text on submission view; add padding benath submission. * Separate setting of background-size to keep IE8 from showing a white background. * Use cancelBubble if event.stopPropagation is unavailable (IE8 support). * Fix image resizing on IE8, where "this" is only ever the window object. * Remove shadowed image class while determining image dimensions to fix scrolling. * Don't zoom narrow images to greater than 100% width when in medium mode. * Don't record a HD image resize click as a download event in website stats. * Use account name or all-numeric ID for Pixiv contact details, replacing URLs. * Use HTTPS links for Twitch, Drawpile and Piczel contact details. * Encourage streaming links to be added to user profiles as contact details. * Add staff preference to show deleted submission and journal records on userpages. * Improve bulk submission upload instructions. * Don't return user to change password page after successful login. * Use temporary unavailability status code to avoid maintenance mode page being cached. * Cache error page with unique code in URL to permit removal from session. * Remind members they can change their username rather than create a new account. * Replace invalid characters in uploaded filenames rather than redirect to an error page. * Remove files incrementally while processing a bulk upload. * Fix infinite loop in private file handler if read fails. * Be more generous with failed logins to avoid triggering unnecessary CAPTCHA test. * Log username changes and password resets in staff account notes. * Include website visitor statistics in backups. * Shuffle and condense adult content warnings on rating setting page. * Set max-height to 'none' when fitting a clicked image to the page. * Flush data compression buffers prior to flushing general output. * Show progress when recalculating keyword masks. * Avoid specifying redundant POST method for scripted requests, as it's the default. * Remove execution time limit when when recalculating notice counts and keyword masks. * Set maximum execution timeout to half an hour to reduce failed bulk uploads. * Prevent normal pngcrush output from filling Apache logs. * Don't try to close the watch options box when the user clicks outside the window. * Use current revision images on maintenance mode screen. * Prevent user-initiated account deletion if PM system is offline, as we can’t send a confirmation. * Email account owner when their deletion request has been processed, rather than send a PM. * Use email software's inbuilt validator for email addresses. * Store internationalized domain names as punycode. * Fix staff email reverification feature. * Clearly explain why a password failed if it contains your username. * Cut unused support for quote feature in private messages. * Fix cron errors due to minimal shell environment path. * Don't try to send email if no valid email address was specified. * Rework layout of submission details to avoid published date overlapping MD5 section. * Fix an issue where site status might not be displayed if the user has unread notices. * Add a time limit for re-sending the activation email (which may take minutes to arrive). * Enforce default submission, journal, and stream announcement titles if missing; trim whitespace. * Enhance multiple-click detection for submission details page. * Trim new email addresses in account settings to avoid spurious errors. * Remove overly-restrictive warning about characters valid in password. * Fix edge-case where a submission type was not set if the first file upload failed. * Ensure re-verification email has a From: name, not just an address. * Document procedures for btrfs snapshots, mdadm rebuild, and VBox raw disk usage. * Use the phrase "unset friends only" rather than "remove friends only" on gallery dropdown. * Remove accepted friend request notices before adding a new one when re-friending. * Remove apostrophes around activation/reset codes in emails to avoid confusion. * Fix handling of private files with "noncustom" at the end of their names. * Add staff note if account email address changed by staff. * Add multi-submit protection to settings page and staff account administration. * Add sanity checks for submission file and unread notification cleanup operations. * Fix logic error in content server addition/update system. * Reduce columns selected from database tables where not all data in a row is required. * Remove obsolete keyword management functions.
As with all changes, there's potential for new issues - some of you may have noticed spurious mentions emails earlier in the week. If you do find a problem, please file a support ticket and we'll take a look!
Every other site pales in comparison to this one in the realm of site improvement and promulgation of such improvements. One of my favorite things about this place. I wish FA's administration had 1/10th the level of competence you all have.
Every other site pales in comparison to this one in the realm of site improvement and promulgation o
THIS!! ^ EXACTLY THIS SO MUCH! IB is the best and these are the reasons i try to get others to use this site as well, i cannot speak any more highly of this site than i already do XD
THIS!! ^ EXACTLY THIS SO MUCH! IB is the best and these are the reasons i try to get others to use t
Once again you guys never fail to deliver. Love these changes! Keep up the great work, crew!
Out of curiosity: Any chance of indexing mentions made prior to the feature's inception? I know it's probably a stretch, but now that mentions are a thing I'm kind of curious where it may have happened that I didn't know about before.
Once again you guys never fail to deliver. Love these changes! Keep up the great work, crew! Out of
We're probably not going to do that, because it wouldn't be fair to people who didn't know you'd be notified, and they'd only time out after six months anyway. But you can always search for your username in titles and descriptions, which will get a lot of the mentions, without any time limit! (We did some extra-hideous full-text search indexing magic to make that work fast, a couple of revisions ago.)
We're probably not going to do that, because it wouldn't be fair to people who didn't know you'd be
Oh yeah, the submission stuff is all kosher (I considered that method of search after posting my comment, actually); it's mainly just journals and comments that had me curious. I just know staff have all the fancy search stuff available for journals and us peons are left without. Talk about unfair. :P (Kidding!)
Oh yeah, the submission stuff is all kosher (I considered that method of search after posting my com
We have a few tools to aid moderation, but even we don't have full-text search for comments. It'd be neat, but has the potential to be expensive as well, soaking up hundreds of megabytes of RAM/SSD. After all, there are over 5,000,000 submission and journal comments in total! But Google may have some of what you're looking for, at least for guest-visible content.
We have a few tools to aid moderation, but even we don't have full-text search for comments. It'd b
Wow, really? I thought that would have been a rather trivial device to create and give to staff. Shows how incompetent I am in the realm of programming and coding.
Wow, really? I thought that would have been a rather trivial device to create and give to staff. Sho
Well, it's partly a performance concern, and partly the fact that we don't often have a task which would benefit from the ability to search comments in general.
We do need to be able to review the comments of specific users… but that's a much simpler task, which doesn't require retrieving and comparing the potentially-compressed text of every comment against a specific string.
There'd be ways to do it fast, though; it's mostly a question of whether it's worth it. Everything in the list took time to develop, and there's only so much to go around.
In fact, one way to view mentions is that it partially solves a problem which might otherwise require full-text search: knowing when people said your name.
Well, it's partly a performance concern, and partly the fact that we don't often have a task which w
I do hope comments get attention in general, sooner or later. I still would love to have a basic listing of submissions/journals I've commented on as well as ones I was mentioned on. Would be fun to take a walk to the past and see old, forgotten comment threads I was a part of.
This is a step in a good direction, though! Much appreciated.
I do hope comments get attention in general, sooner or later. I still would love to have a basic li
Being able to review your past comments is an open issue in our request tracker. The current tools we have for moderation are not fleshed out in a format suitable for public use, but I'll note the interest here, and maybe it'll grab the attention of our development team in a forthcoming release.
Being able to review your past comments is an open issue in our request tracker. The current tools w
Well what else for servers but Linux? (Aside from BSD, but we don't like to talk about that in my circle...)
I mean, PERSONALLY Debian's a bit... Dated, but still nice and stable.
God, I shudder to think what kind of OS FurAffinity runs their servers on... After all, to quote Noah of the Linux Action Show, "I'd trust a fart with a stomach flu more than I'd trust Windows with my data."
Well what else for servers but Linux? (Aside from BSD, but we don't like to talk about that in my ci
We're running Debian as the base system, but we're on a Linux 4.6 kernel (soon 4.7), latest ImageMagick and PostgreSQL, and the caches have the latest nginx. That way we can upgrade the parts we care about the most, but can still rely on regular security patches for the rest. :-)
We're running Debian as the base system, but we're on a Linux 4.6 kernel ( https://packages.debian.o
Timduru and I run WikiFur and Flayrah on FreeBSD. It's a workable option, with good points - I like the ports system, but bits tend to break now and then if you're not on the latest release. Honestly, though, that may be an issue with any system which exposes source compilation.
Timduru ( https://inkbunny.net/Timduru ) and I run WikiFur ( https://wikifur.com/ ) and Flayrah ( h
I will add my voice to the ever-growing support in this comment section and say thanks to all IB staff, seriously you guys are the best. Best community, moderators, support, just everything <3 The way this site is ran is a beautiful example of what online communities should be, in which you listen to your members and actually work to improve functionality as well as usability and ease of access for your users.
Thank you IB!!! <3
I will add my voice to the ever-growing support in this comment section and say thanks to all IB sta
Hey, even with a site with great support like this and you guys having worked on these features for a long time, there's always that small chance of little things like that being overlooked. Nobody else had asked yet that I could see, so I thought I might as well.
Hey, even with a site with great support like this and you guys having worked on these features for
@ mentions... now that's a feature you don't see on other art sites, as far as I know. Very useful on Twitter & Facebook. I think it'll be a stand-out feature! Of course, it'll also lead to lots of surprises for the people who didn't expect an artist to see their comment :-p Years ago, someone made fanart of one of my characters & I didn't find out about it until I did a search months later. This will be especially useful for discovering fanart of my characters. That could be good or bad, heh(I'm glad you have filters). I generally don't do mature or adult art, and the fanart was mature, so I can see why he didn't tell me, but it was cute.
@ mentions... now that's a feature you don't see on other art sites, as far as I know. Very useful o
I actually really appreciate the proportion of General rated submissions in the Popular list being bumped up! Porn is great and all but not nearly enough clean art gets the recognition it deserves in the fandom.
I actually really appreciate the proportion of General rated submissions in the Popular list being b
Looks great! Though GreenReaper can I re-request support for .odt open-document (text) files, used by open source programs like Libre Office... RTF is mostly good but it loses nuances of formatting, and DOC... well, I'd rather not feed the beast. :-)
Looks great! Though GreenReaper ( https://inkbunny.net/GreenReaper ) can I re-request support for .o
I personally switched over to plaintext because the formatting in my RTF files kept getting messed up (moving from one computer to another), and you can't really mess up anything on a plaintext file (other than perhaps not using the right encoding, but pretty much any editor under the sun should support UTF-8)
I personally switched over to plaintext because the formatting in my RTF files kept getting messed u
We do have a development ticket for that; I've noted your request, and added a little to it on potential options. The tricky part is extracting formatting, but it might be useful even to extract plain text.
We do have a development ticket for that; I've noted your request, and added a little to it on poten
I don't know the origins of this place either. All I know is if it weren't for that one rule about no human/human-like creatures in sexual situations, I'd close my FA and move here totally...maybe one day. THEN we'll really start seeing FA bleed users.
I don't know the origins of this place either. All I know is if it weren't for that one rule about n
Actually, that came six months after Inkbunny launched. It's true that Inkbunny's traffic increased threefold at that time; however, it's doubled since - we topped 75,000 submissions in Q2.
Inkbunny was created to provide a better furry art community, and to provide furry artists with better tools to present, promote, and sell their work. There was a pressing need for this in 2010, and I'd argue there is a continued need in 2016 (hence our work).
Actually, that came six months after Inkbunny launched ( https://www.flayrah.com/3346/fur-affinity-l
They use servers in countries where cub is wholly illegal (like the Canadian server, where the Supreme Court has ruled ANY depiction of a minor sexually is illegal). It's only a matter of time.....
They use servers in countries where cub is wholly illegal (like the Canadian server, where the Supre
From what I understand, they lessen the strain on the main server by being able to get a picture once from the main server, and provide it to many people in the same area who'd like to see it, so if a 100 people wanted to see the same picture, and they all live near Quebec, IB only has to send the picture once to the cache instead of a 100 times to all the people who want to see it, and since the caches have more bandwidth, except for the first couple people who'll want to see the picture (since it has to get to the cache somehow), it'll even be faster than from IB itself. And when the picture becomes irrelevant, it gets replaced by a different one in the cache.
But the caches themselves are just that, they serve a mechanical purpose, and they can be removed (legal reasons) or added (lessening the strain on the main server and making the experience smoother) as needed.
(Of course, if anyone wiser than me sees this and I've said something wrong, please correct me)
The main server is in the Netherlands. The other servers are caches. ( https://inkbunny.net/journalv
As many courts have found, animals are not people. Minors are invariably defined as people under a particular age. So no; as far as we know, content permitted by Inkbunny is as legal in Canada as content on any other furry art site.
Actually, there is on the same server and their lawyers have told them to ban cub, bestiality and incest stories. (can't remember the name... Canadian, mascot is a too-skinny blonde arctic fox girl with spots)
Anyway, they threated to give me the boot for my Porn Star Chronicles for dabbling in incest... so I told him where to go and how to get there.
The filters here are amazing and I'm nagging the hell out of Toumal to copy them.
http://www.adjectivespecies.com/2014/01/20/the-legalit... Excerpt of the R. vs Sharpe decision, " ‘material that poses a reasoned risk of harm to children [and] it should include visual works of the imagination as well as depictions of actual people’. "
...should include visual works of the imagination as well as depictions of actual people.
Actually, there is on the same server and their lawyers have told them to ban cub, bestiality and in
That's not the full quotation, though. Wikipedia has a bit more, where the judge makes clear they're talking about "actual and imaginary human beings". (Some courts have determined that e.g. the Simpsons count as people for this purpose, although this has also been controversial.)
As for bestiality and incest… that's part of why we forbid human sexuality in general. Allowing them opens up too many cans of worms, and it's not what the site is about.
I disagree with JM's interpretation at [a][s]; but we've talked extensively on that, and I think it came down to "we'll see what happens, but either way it's a silly law". :-)
That's not the full quotation, though. Wikipedia has a bit more ( https://en.wikipedia.org/wiki/R_v_
Now if by some miraculous force of divine will happened and there no was no legal fuss about human art, would it still be strictly furry art only, or no?
I do enjoy the transparency and site updates.
Now if by some miraculous force of divine will happened and there no was no legal fuss about human a
We might allow it, because people could block it using keywords. But I could also see us having some kind of quota system, because there are other sites focused on human art, while Inkbunny is specifically established to support furry artwork (it is what our donors pay for and our staff volunteer for).
We might allow it, because people could block it using keywords. But I could also see us having some
There you go again, posting changelogs that show what is going on behind the damned scenes here.
All this transparency, you know. :)
Here's hoping for an #id exclusive to stories to be added to div.elephant:nth-child(13) > div:nth-child(3) in a future release, so that I can reliably style just the story area and not have it bleed over into other portions of the site. nth-child kind of is pants to use, since it's just blindly counting targets, instead of aiming. Calling the elephant every time does mean I can be off-target, when I probably should be calling giraffes, as example. ;)
There you go again, posting changelogs that show what is going on behind the damned scenes here. Al
We had a release 78 as well; unfortunately we encountered a few problems and had to concentrate on fixing them rather than making an announcement - then other things got in the way and it seemed a little late to do so. We'll probably bundle the updates for it into the next release announcement.
Actually writing the announcements takes several hours of staff time (usually mine) and there's always a question of "does it makes sense to do that right now, or something else?" 😼