EDIT:
This is now in the final stage of testing (kinda)! Voat aka Voutlingres is now running on Debian against PostgreSQL
FULL OPEN SOURCE STACK
Please note that we do still have some case sensitive bugs. We plan on addressing all case issues in a future commit, so for now, only report casing bugs if they cause the site to malfunction.
Thanks Voat!
ORIGINAL POST:
Voat has released an alpha version of our ported code base (aka The Port, Voat Core, Voat on .NET Core 2, etc). We are calling this the "Preview" version and it is the code base that will define the future of Voat. It may look the same on the surface but is running on top of an entirely new framework so everything needs testing.
We posted a teaser yesterday and a lot of users started helping test. We did not feel the code base was ready for wide user testing but we were wrong. It is much more functional and stable than we had originally estimated. Because of this we are going to open the site up for formal unit testing.
This code base supports four unique environments (Listed in the order they will be tested):
- Windows OS / SqlServer *WinSql Port[al] Badge
- Linux OS / SqlServer *LinSql Port[al] Badge
- Windows OS / PostgreSQL *WinPg Port[al] Badge
- Linux OS / PostgreSQL *LinPg Port[al] Badge
- Production Ready (Stage)
Current Environment
Because of this we will need to test each deployment separately but will only be actively testing one configuration at a time. When we have fixed all the issues present in the current environment we will convert to the next environment, this way we can isolate issues in a controlled matter. As time goes on, we will discover less and less issues.
Current Preview Site Configuration:
- 5.Production Ready (Stage)
Preview Site Location
http://preview.voat.co
Bug Reports & Badges
As is customary to Voat, we will be badging users who help test and then follow up with bug reports when they find issues. To keep track of these reports it is important that you submit a FORMATTED post to v/voatdev so we can segment what is an issue with the live site vs. the preview site.
If you find a bug at the preview site submit it using this link:
Important!
If you have already posted bug related posts to the preview site or in v/voatdev, please resubmit using the above link. We cannot keep track of everything submitted using adhoc means and we don't want you missing out on badging and goodies you can earn from your help.
Preview Site Details
- No data is carried over from live voat so you will have to create subs and register accounts
- Preview site is configured to show developer debug info when an error happens (aka ugly errors)
- Do not use your real password at the Preview site incase of a security issue with the code base and it's not SSL protected
Volunteers
I need one or two volunteers to help verify bug reports, provide more details if needed, and flair posts concerning the preview site. If you have some time and an interest in helping keep this process organized for us, please let me know.
@PeaceSeeker has taken over this responsibility and is doing a fantastic job.
This code base is very important to Voat so anyone helping to get this new code up and running is very important to Voat also.
It's time to break things and earn badges (what else is there in life?).
Thank you everyone.
eatmorealmonds ago
getting a hard time trying to get here for most of this week. Unique and strange.
derram ago
The api seems a lil broken in areas.
My bot is having a lot of trouble grabbing comment threads to scan for existing links.
Germ22 ago
so are we now in the final final stage?
PuttItOut ago
Yes and no.
Yes: This is the last environment we will test before going live.
No: I have to run this against a full backend before going live. I've found some issues with a few things that concern me, but for the most part we are nearly there.
richGroff ago
Why not Linux / MySQL?
Plenty of power for what you need, easy to maintain.
PuttItOut ago
MySql isn't fully featured enough for where we are headed.
richGroff ago
Good luck!
trevorfrost ago
hmmm, thank you, puttitout
gregbillson ago
That's not fun ...
Just_thinking ago
No, The elite is what we need to hunt.
We either do this, or we Perish.
the Jews think the Russians will help them....
YA RUSKI SMERT ZJIDAM
themushmouth ago
Glad you decided to go with Linux. Finally.
SJWsRuinedIt ago
Does any of this really matter when you guys are letting Reddit shit happen here that goes against what you supposedly stand for? You have mods censoring comments that don't break rules, and you have "Protect"Voat doxxing and harassing users like Reddit's SRS sub. If the culture of the site is going to be just like Reddit, why would anyone choose this site when there is much, much less content than Reddit?
Adminstrater ago
I hacked the gibson. That is all.
chrispetrum ago
hahaha, that's right!
youvegotmoxie ago
I'm a little surprised preview. wasn't deployed with SSL; makes me a little reluctant to sign up. At least use a free Let's Encrypt cert.
critias ago
Does this mean I can finally set my inbox to read? I've had 6 unread mail alerted since forever.
derram ago
You have to click 'mark as read' for PMs to stop notifying you.
critias ago
I don't see that option anywhere
derram ago
Might just be 'mark' should be on the bottom right of the PM, down where reply usually is.
critias ago
I'm not hunting through all my replies for a mark read link. There needs to be a mark all as read option.
derram ago
It's only necessary for PMs and since they're separated by type it'll be easy.
critias ago
None of this solves the red mailbox icon with the number 6 I have had for 3 months.
derram ago
Are any of the messages in your inbox highlighted? Those are the ones that need confirmation.
Try scrolling through a couple pages, maybe you have some further back you haven't acknowledged.
If there's no highlighted messages anywhere it prolly is a bug and you'll have to get @puttitout to take a look at your account manually.
critias ago
I'd have to scroll back dozens of pages and this site loads too slowly. There are no highlighted replies on the last dozen or so pages so who knows. It's a problem with the site. They need to make a mark all as read button.
heygeorge ago
derram ago
While you're tinkering, I've got a request!
<form id="form-xxxxx" class="usertext" action="#" onsubmit="return post_form(this, 'editusertext')">
Is in the sidebar and I can do some pretty fun css things if that ID returned some random string every so often. Supposedly the easy way to do it is have it return unixtimestamp.
PhilaFerret ago
Are Apple users left out in the cold, or did I miss something from the post?
(Read it as I typed.)
heygeorge ago
It's what Voat is running on, not you.
Germ22 ago
moar stuff to break. i am loving this.
Malayar ago
Test on you crazy faggots
RiverWind ago
HTTPS
Please support https on these trial sites. (We need to create an account with passphrase to login to the demo.) You can get certificates gratis:
https://letsencrypt.org
The postgresql on GNU+Linux looks OK when viewed from a GNU+Linux platform.
PuttItOut ago
We will be doing ssl when we go to the next environment which will run against a backup of voat's database. These are throwaway deploys for testing.
10423127? ago
There's a Phase 5??? Huh.
PuttItOut ago
Yes. It will be the go live version running on the same setup as current Voat.
10424019? ago
Makes sense. Best to test things for real before actually going forward with the Port.
heygeorge ago
Yes, "Production Ready" ;D
10423231? ago
I didn't realize there would be an environment with Voat's database before the Port, but I suppose that makes perfect sense and is actually to be expected.
heygeorge ago
EXPECTED.
:D
10423255? ago
Heh, true!
MAGA ago
Did you just assume his gender, REEEEEEEEEEE
hakon ago
Would be nice to have some "how to start" instructions.
SaneGoatiSwear ago
they are r/ shitredditsays criminal paid shills.
you've been duped into a honeypot.
goodluvin ago
I'm really good at breaking stuff. I mean finding bugs.
I will help.
Found one already.
subscribing to subverse error.
PuttItOut ago
Perfect. Post it so I can badge you. The current environment will have some weird bugs because of the backend database change.
Thanks for your help.
goodluvin ago
Glad to help. Maybe its current small environment. submitted it. 4-5 sub I subscribed too in rapid succession.
"Open connection timed-out" error
PuttItOut ago
Hmmm... I'll look into it.
Germ22 ago
Lets break some more stuff
datjedi ago
I dread the day Voat becomes reddit
heuristic ago
Rough
0xFFF ago
whats the fuzz about having your own user account taken in this testing environment? It's a fucking testing environment, all data will be purged anyway, won't it?
redpilldessert ago
Not exactly a bug, but I notice it still takes a second for the box to open when you click "reply" to a comment. It feels much nicer when it's instant like how Reddit handles it. Any chance of a tweak?
PuttItOut ago
Reddit has 10+ years of dev work put into it compared to voat, so they have fine tuned a lot of areas that voat still hasn't had time to get to. Reddit does a lot of things very well and parts of their ui are highly optimized. We will get to these things eventually.
redpilldessert ago
Wow, an honour getting a reply from the site admin! Look forward to knowing how much cash you're saving each week with this new setup. Please tell us later :) Btw, in case you're considering, I prefer the slightly bigger font on Reddit for use sitewide FWIW (looks more welcoming to newcomers from over there too).
lastditchtryforaname ago
Apparently you can't recover a password on the test site. I tried several email addresses but no luck :(
newoldwave ago
preview site won't even let me sign in
PuttItOut ago
Did you register a new account?
newoldwave ago
no, tried to use my old Voat userid/password
The_Duke_of_Dabs ago
Hey @puttitout we're not able to login to the site yet right? And everyones account should transfer over easy peasy, right?
PuttItOut ago
No, you have to register a new account. These preview environments are deployed with blank databases. Apologies.
The_Duke_of_Dabs ago
No biggie. Just wanted to know if I was mistaken or a bug. Is the domain name going to be different or same as voat.co now?
PuttItOut ago
When this code is ready for production we will move it over to voat.co. Voat.co will always be the live site, aka Real Voat. preview.voat.co will always be a testing site, aka Fake Vout.
The_Duke_of_Dabs ago
Awesome. Sorry for the presumably dumbass questions; I'm a chef not a coder or Web designer dude.
PuttItOut ago
I'll trade you jobs. ;)
The_Duke_of_Dabs ago
Hah! I'm good. I have a buddy who does what you and the rest of the mods do and I couldnt do it. From what I understand you type essentially the same thing over and over with slightly different variations. I'm sorry if that's a gross oversimplification of what you actually do, but l literally don't have a clue.
PuttItOut ago
Yes, this is accurate. yes, this is accurate. Yes this is accurate. yes - this is accurate!
uneasyridernc ago
I don't know what this means: "it is important that you submit a FORMATTED post..." What is a FORMATTED vs UNFORMATTED post?
PuttItOut ago
The top link starts a FORMATTED post for you. We need to keep track of bugs by having a common title:
Example: https://voat.co/v/voatdev/2068524
An UNFORMATTED post would be if you just posted regularly to v/voatdev:
Example: https://voat.co/v/voatdev/2067650
uneasyridernc ago
Thanks.
Thruxton ago
Awesome!
Next big step - get rid of .Net and anything Microsoft. This is the only way you can be sure you don't get fucked down the road.
10198687? ago
Putt said in the OP to make sure you don't use your Voat password for testing, due to potential security issues. Beyond that, use a VPN.
VoutGuy ago
Aww, name of the site is changed. Now my username is meanningless.
elcob32 ago
I've worked in .NET for years. I am self employed, so I don't do Agile BS, and won't know a lot of modern terms used by factory programmers, but I am willing to help in any way that I can.
I love vote for it's free speech commitment and will do whatever I can to keep it around.
I work in Mono on Linux and am familiar will several versions of the .Net libraries.
Put me to work!
PuttItOut ago
I would LOVE a hand. There is a lot of history to this project but more eyes the better. This new port code will be the base for all the enterprise features we will start working on including distribution, scaling, and searching/sorting frameworks.
Anyways this code base is using Core 2 and all the latest features (although this is a port from MVC 5 so we have brought forward a bit of technical debt mostly in the view code).
Here is the repo, everything you need to get started should be there and unit tests should all work. Just configure and rename the ~appsettings.json files and unit tests should work.
Here is the repo (This is the Core branch): https://github.com/voat/voat
If you have time hit me up when you have it working locally and I can PM you areas we need to look into.
elcob32 ago
I work with web forms far more frequently than MVC, but I learn fast. I'll work on getting it running locally first and I'll touch base when thats done.
PuttItOut ago
Once you go MVC you'll never go back. Personally I'm very impressed with the Core framework. It has reinvigorated me when it comes to web development.
But yeah, hop on and let me know if you have any questions.
elcob32 ago
Like I said I am self employed so I have not had anyone around me to push me into it.
I've been meaning to look at the core framework anyway, so this seems like a good project. I may be a bit behind on some terms and methods but I've been programming for 20 years. My coding and debugging skills are solid.
Anyway, I'll download everything tonight and hopefully I have it all compiling by tomorrow afternoon.
DickHertz ago
Why not ditch sql server for something thats containerizable?
PuttItOut ago
I suppose it's a matter of scale.
DickHertz ago
I see you were looking at Postgres, did that have problems scaling?
PuttItOut ago
Voats port code fully supports pg. We are expecting issues with scaling though, but we are also going to build out middle tier queueing and batch processing layers anyways.
We will need to stress test pg and address the issues before flipping prod over.
DickHertz ago
Do you run sql server with snapshot isolation turned on? I know JIRA requires it for a SQL Server install and MVCC is the only way Oracle and Postres run. I would think it would scale better with having to do dirty reads with no lock hints etc.
PuttItOut ago
We do a lot of dirty reads right now but that is because we have major contention points on high transaction tables. Voat needs to be denormalized in a few places to overcome this and since this brings into the equation large rewrites to facilitate scaling, it will require some dedication.
Voat and sites like it are very challenging because of the ratios of writing and the dependence on sorted data based specifically on these high transaction columns. While Voat was designed according to how you would normally design a proper database, the volumes and interdependence of the data requires an entirely different strategy to achieve proper scaling.
What is remarkable is what we have been able to do so far without rewriting entire areas. Today Voat's volume is consistently higher than ever in the past and we are running on smaller VMs than we ever have in the past.
DickHertz ago
Have you tested sql server with snapshot isolation turned on and using read committed snapshot isolation? I suspect that whatever you got with that would be similar to pg since readers can no longer block writers and vice versa at the cost of maintaining multiple versions of the truth at the same time.
PuttItOut ago
We nearly always use implicit transactions and act on a single source so no we do not explicitly set transaction levels nor do we have more than a few places that create an explicit transaction. We do have snapshot turned on.
You can take a look through the code and see if you see an obvious issues we could improve upon.
Here is the repo code: https://github.com/voat/voat/tree/Core/Voat/Voat.Business/Data/Repository
DickHertz ago
Looked at JIRA installation instructions and they make READ_COMMITTED_SNAPSHOT the default isolation level at the database level so implicit transactions use it without change. This is probably because their preferred database is pg so they already know there won't be problems using it. YMMV :)
ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON <-- this guy turns on row versioning which you take a hit for whether your using it or not, extra 14 bytes per row, and tempdb space needed to track the versioning
ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON -- this is the option JIRA uses to make this isolation level the default for implicit transactions
Here's an older link (but much newer than 2005 when this feature was implemented) all about it: https://www.brentozar.com/archive/2013/01/implementing-snapshot-or-read-committed-snapshot-isolation-in-sql-server-a-guide/
Another newer link from horse's mouth about it: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server
As mentioned in the first link changing the default isolation level will not undo the effect of NOLOCK "hints" (which appear to be directives in this case) so those would all have to be taken out if you wanted avoid dirty reads. So if you had a really good integration test that could catch any errors that might creep in one possibility would be to stand up another clone of the database somewhere, fork the code and delete all the NOLOCKs sprinkled about, and then alter the database with the second statement above and let the testing rip. It does require that the database be quiesced before it takes effect but if it's a new database without anyone doing anything on it then that should not be a problem.
If you get the same answers without the locking and blocking and performance is at least as good - win!
Here's a dumb question: how does somebody contribute to development without doxxing themselves?
PuttItOut ago
Create a dummy GitHub account and use that for any interactions with the repo.
And I'll look into this, the db was set up so long ago that I can't remember how and what we did. Looks like something to try.
DickHertz ago
If I did it last week I probably wouldn't remember how and what I did :)
see - I knew it was a stupid question
also if you're not actually using it you might pickup some speed turning it completely off as well.
PuttItOut ago
This seems to be an issue. Try using a different browser and see if you can log in. If not join this thread and help us figure out what is going on: https://voat.co/v/voatdev/2064570
odinist ago
The last time I was any good with coding was with Apple Basic on my IIe.
Anything I can do to help?
PuttItOut ago
Yeah, go and break the website and earn rewards. No coding necessary.
odinist ago
Well dang. If my shitposting hasn't broken it already, I dunna know if'n I can.
digitalentity1497 ago
Thanks for the badge Putt!
PuttItOut ago
Thanks for your help.
theMETA ago
Count me in! I LOVE my Linux/Unix/Posix systems!
PuttItOut ago
Yes, basically this testing is all about using the site and seeing what works/doesn't. You do not have to have any technical knowledge to contribute. If you want a badge for your efforts you need to find something that is wrong (can be anything, you'd be surprised how often we miss things that should be considered obvious) and submit a post to v/voatdev using the template links we have.
I don't want to let the cat out of the bag but we possibly have some code coming that will allow subs to be transferred by the community. :)
10198556? ago
H Y P E
Also I thought it was an owl in the bag?
LDIP ago
Linux master race?
PuttItOut ago
We did this before and it is simply too much one-off work to justify it.
I can't believe I just said this because it sounds so bad, but it's true.
AOU ago
Your earlier point was to avoid the risk of exposing Production data in a testing environment.
What about only importing accounts (minus passwords, PMs, up/downvoats data), subs, posts and comments? In short, only public data.
PuttItOut ago
I see both sides. But from Voat's side I will never transfer production data to a public testing environment because this is a potential security issue. Say for example there was a bug in anon logic and the testing site was populated with prod data... well you see the issue. What if PM's were exposed through a bug?
Right now our unit test suite populates known data to test against and we will continue to expand this. If we discover a production issue that arises from data we will populate data to mirror and reproduce this in our unit test suite.
We've lost out on some big help offers because we were unwilling to expose data (from our determination we couldn't even anonymize it enough to prevent identification) so live data is out. It's just too much of a risk and I'd rather error on having a bug that we didn't trap than exposing user data.
10198666? ago
"* @Genghis_Khan made me fix this.".
Concerning the actual content of your comment: Right on!
PuttItOut ago
You see this is a programming issue. Programmers will err on this 9 / 10 times because it's just a subconscious thing.
I'm sticking with this theory
10198791? ago
Seems legit.
frankenmine ago
Y'all are making Voat great again.
SaneGoatiSwear ago
https://archive.fo/DbONp lies.
ThorTheWonderful ago
I had noticed
VirusKing ago
He's the v.2 of amalek, he keeps making alts and spamming shit around.
RiverWind ago
1) Well done! It looks good. 2) Please support https on that beta page, especially as it asks you to register. 3) Please use the term "GNU+Linux" rather than merely "Linux", as the important part of Voat is Freedom of expression, and Freedom is why the GNU project started and continues.
SexMachine ago
You banned me from the preview. Do I get a badge for testing the ban system? I was PullItOut
PuttItOut ago
Post proof. I'll send you a PM.
jcal22x ago
Are you giving us permission to hack voat?
PuttItOut ago
Yes. I am asking you to abuse it.
PuttItOut ago
I'm surprised you didn't suggest to ban everyone and start over.
Wahaha ago
Where do you turn on light mode?
10198713? ago
You monster.
PuttItOut ago
Light bulb in user bar (top right) or you can toggle your settings.
We are using dark theme as a default to test setting a default theme.
PuttItOut ago
I understand
zak_the_mac ago
Hi @PuttItOut! Sorry to take up your time, but I filed a bug in /v/voatdev that's now marked as fixed:
https://voat.co/v/voatdev/2027958
I was hoping to get one of those highly valuable badges added to my profile. I know, Internet points, so desirable.
PuttItOut ago
I will take care of this. I knew the worthless bot missed a few people!
baneofretail ago
I don't understand what you're doing, but keep up the good work.
simagule ago
Is the schedule for when the other builds are being tested for those that are not on linxu and want to help out?
PuttItOut ago
Anyone can help at anytime as we are testing a website that we are just hosting on different configurations to make sure the code works for all intended targets.
Germ22 ago
right on, lets break some more stuff.
Disappointed ago
Did you post where Putt could read it?
kylethale ago
I would love to help out in any way possible.
scotttenorman ago
Isn't testing all 3 setup combinations going to end up taking way much longer?
If at the end you are going to use only one setup, why not focus all the effort on testing and stabilizing only the setup that will save the most money in licenses. That one being: Linux OS / PostgreSQL.
By the way... awesome work. You guys are making this happen really fast.
KikeFree ago
Maybe spending more money on Windows licenses is the way to go. /s
d3r ago
.NET and M$ cloud was a terrible choice
WarTracker1776 ago
What exactly does it mean to test for bugs? I'd love to help. Please let me know what I can do. @PuttItOut
How do you exactly sign up? What happens to the account here? Does this mean I would need to create a whole new Voat account through the preview site link? A little confused. Please help...... I'm very motivated to help...... firm believer in this!
Disappointed ago
Yep and any bugs post back here if they aren't posted already
lastditchtryforaname ago
Oh, well...shit. I guess that explains why I couldn't sign in or recover my "lost" password. I was starting to make myself paranoid after trying several disposable and/or secure email addresses to recover my password (which I did not forget).
Err...feeling pretty stupid now :(
WarTracker1776 ago
Got it. I think. I'll check it out
Tor1 ago
It's just like when you first joined regular voat.
Pick a new user name and password.
If you care about badging you might need to use your regular voat username and a new password there. Not sure on that.
Then post comments, submit to subverses, start a sub, customize a sub, etc. try to break the site as best you can. If you see something make a note of it and tell someone somehow. Follow the given instructions or just retardedly wing it over there.
Thats my crappy understanding of whats going on. Probably about the same as some other non professionals who have been on the 1st preview site and now on the 2nd preview.voat.co and did some stuff to some things and whatever..
Disappointed ago
Why are you asking me?
Opieswife ago
@PuttItOut I have reached my hourly limit posting to votedev. Thoughts on expanding this limit temporarily so we can report bugs without delay? May not be a big deal, I hit the limit because I was copying the issues I found yesterday over here. I have one or two more to bring over and will test more throughout the day.
Thanks for all of your hard work.
Tor1 ago
Which specific limit have you reached. There's probably other stuff to do over there.
Or duh, just start another alternate ID and get back to shitposting.
Now you are qualified to work for share blue as a shill too.
Bonus.
Opiesdick, OpiesMother, the potential for alts is endless.
Howie ago
Am just a simple shitposter. But if called upon as volunteer, I humbly accept.
http://memecrunch.com/meme/13M0Z/i-volunteer/image.png
Disappointed ago
Just sign up here and try to break it: http://preview.voat.co
GoodGodKirk ago
im willing to do bug reports. are you looking for accessibility too? (improves seo if thats a want)
Disappointed ago
http://preview.voat.co sign up here to test bugs
9991112? ago
I haven't been able to stay away from the preview site since it opened -- I've been missing out on real-Voat stuff because of it. I'm re-submitting some of the bugs I've already reported on (bugs that are still active, I see you've already addressed many of them) using your link. Please tell me if I'm not doing the format properly. As for this:
Since I'm there anyway I'll help if you'd like, if I can.
EDIT: Also Putt I've reached my "hourly quota" for submissions to v/voatdev. Fuzzy just put all the bugs she knew about in one submission, which gets around this issue. I can do this as well but I'm not sure if you want them separated individually or not.
Mick ago
PICK ME, BABY!
Tor1 ago
Reminds me of my days as a mattress tester.
https://www.youtube.com/watch?v=6daEbA1jBXg
Good times.