« first day (1203 days earlier)      last day (2913 days later) » 

19:03
@quartata nice catch
Deploy waiting on when I can properly review that flag code
(although first thing, @ArtOfCode we probably don't want to show that button on posts that are deleted or >= x min old)
@JanDvorak have you programmed assembler by any chance?
@ArtOfCode Awesome, thanks!
[ SmokeDetector | MS ] Username similar to website in answer: How To Enable URL Filtering With Just Squid & C-ICAP by Squidblacklist on serverfault.com
I was thinking, would it be useful to distinguish spam vs rude/abusive?
19:07
@Cerbrus according to Pops, no.
Great :D
D: Taerg
Feb 28 at 21:31, by Pops
It's... hard... to argue in favor of writing an algorithm and making a bot spend time calculating which of the two flag types to use when they are, in actuality, the exact same flag. It's not even Coke vs. Pepsi, it's Pepsi vs. a second bottle of Pepsi that's using a different but still valid Pepsi logo.
@Undo good value for x?
fp- by Glorfindel
19:11
@Undo done, set at 60 mins for now
@SmokeDetector That's gotta be the most late-given FP feedback
I've seen much older posts reported by Smokey. And also much larger gaps between a report and an FP feedback.
Oh, right. I remember now
Well, it could be the most late-given FP of the year up to now
C'mon we need to make it dramatic and historical
@Glorfindel Now I want some Pepsi
Me too
19:15
I want a beer. Fortunately, it's within arm's reach.
J F
J F
Pepsi!
@Glorfindel Convenient.
@JF For industrial use only
@Glorfindel lucky you .. :\
I'm out of stock
Time to implement a !!/beer command.
But first: Who is the Mole?
19:21
lol
@Glorfindel I say Sanne ...
I have really no idea. I seem to be the only person who's watching the series without thinking about that. I just enjoy watching the group psychology.
J F
J F
To simplify the ActionCable setup, someone could set Rails.application.config.action_cable.disable_request_forgery_protection to false.
This allows anyone to connect.
Ninja'd by about 2 hours.
@ArtOfCode Yeah, seems sane. I'm also removing it for false positives.
and that
19:33
pretty sure posts.rb:140 isn't gonna work right
You want self.deletion_logs.where(:is_deleted => true).any?
that map could give you [false], and [false].any? == true
@Undo don't think so... I tested a bunch of things, but let me check that
[false].any? should be false
[false].any? == false
.any? on an array of booleans is only true when the array contains a true
ary.any? is equivalent to ary.any?{|x|x}
> array of booleans
19:36
Huh. Okay then
@Undo this would probably have been a more sensible query, but brain fart apparently makes me do funny things with arrays instead. shrug if it works, it works
Sweet, I'm now loading site data from SE, and using that for the icon / site name
Instead of "Serverfault", it now says "Server Fault" :D
@Cerbrus Could probably do that once at startup and cache for the whole session.
@Undo I am
In fact, I'm storing it in localstorage
Nice
19:41
Set it to time-out in 1 day.
Maybe that can be made longer.
if you wanted to be clever, have it timeout on Tuesdays
New sites are usually launched Tues/Wednesday
But then I'd have to look more serious into missing sites
Hmm
I'll set it to a week, at least, then
Or just leave it at 6 hours. Honestly, two or three hits to that endpoint a day is nothing
Since it's 4 api calls just to get (all) the sites...
19:43
use pagesize 999 and you get the lot :)
oooh
metasmoke deployed
damnit
I assumed max size 100
Yeah, this is IIRC the only special-cased one
it's hidden in the docs
Is /status/code new?
19:44
@Undo that's the flag API deployed too then @Cerb
J F
J F
> The pagesize parameter for this method is unbounded, in acknowledgement that for many applications repeatedly fetching from /sites would complicate start-up tasks needlessly.
@quartata Yes.
Cool
" It is suggested that you cache its return for at least one day"
I'll have a look at loading an individual site if it's not found in my data
J F
J F
@Cerbrus I don’t think there’s a route for that.
Doesn't look like it indeed.
J F
J F
19:47
There’s /info, which is completely different.
Which I was looking at, hoping for the right info
J F
J F
Fun fact: there are ~869,669 deleted users on SO.
That's significantly less than what I expected.
J F
J F
Could be more if user IDs are reused, but I doubt that.
That's more than I expected
19:52
Hm, might as well add a "parsed from report" fallback for site data
It's only the site's "real" name that I'm using
That can wait for the cache to expire.
Need to get flag logs tied in to manual flags, too
@ArtOfCode / @Undo: Can I haz dev mode again? :-)
it's me you want for that
done
J F
J F
cough Charcoal-SE/metasmoke#90 There’s now manual flags cast as well as autoflags.
Okay, thanks
@ArtOfCode: what is this "backof param" you mentioned for the flagging api?
20:11
Backoff? If the spam flag cast succeeds, you'll get a backoff param in the JSON returned, which is passed along from the SE API.
What does it mean? Is it just a "Okay, done" kindof thing?
"don't talk to me again for x seconds or I keel you"
Ooh, flag rate limiter?
general API limiter
@Cerbrus It's based on current api load
20:15
the docs are pretty readable, actually
and serves to check if you know how to implement for your application to not spam the API
So when the API is currently experiencing busy load, it'll send more backoffs
[ SmokeDetector | MS ] Repeating characters in answer: How Can I Install A Steam game On A Flash Drive by nuckfiggers on askubuntu.com (@ThomasWard)
Doesn't really sound like something I should worry about, then... Since the API calls i'm making are all invoked by user actions
naa- by Magisch
tpu- by J F
@Cerbrus Still implement handling code
It's very possible to have an user do that twice in 10s
and it's also possible to get a timeout on one request you're making 10min apart from the last
20:18
... I think I need some kind of API doc page on that
It's very easy
When you do anything with the API, you get a JSON as response
just check if there's a backoff parameter in it, and wait for $backoff + 5s or something
right
just wait backoff seconds
waiting exactly the backoff has always worked for me
@ArtOfCode doesn't smokey wait backoff+x for safety?
20:20
But the "backoff" doesn't mean the current request has failed, does it?
@Magisch shrug, but this is MS we're talking about. By the time you've waited backoff, the delay between returning the original from the SE API and sending the new request to it has already created enough of a buffer.
So it's a delay for a potential "next" request.
the error field means it failed
Right, got it.
I'll "deal with that".
20:21
@Cerbrus Exactly
Say you get an API response with backoff:10s it means you have to wait at least 10s to fire your next API request or you'll get timed out.
tpu- by J F
for a couple minutes, escalating if you violate backoff more often
I've never seen a backoff of anything other than 10
20:23
shrug
it could
I wouldn't bet on it
should I parseInt the value? :P
And implementing waiting X seconds rather then 10 is trivial
@Cerbrus as long as you try/catch the parseInt, yeah
oh wait no, parseInt doesn't throw errors. Just check the result isn't NaN
@SmokeDetector Meanwhile, I flagged and feedback'd that with fire :D
20:25
@Cerbrus has the flagging version been released?
@Cerbrus this gives the phrase 'KILL IT WITH FIRE' a whole new dimension.
No, I literally just wrote it
@Glorfindel ... How didn't I think of that yet? xD
I think we should release this only for core people on charcoal
make a permission check into it or something
Having that for just anyone could make us look very bad
@Magisch Could it?
@Magisch, did you have a look at it yet?
It literally shows you the reported post
20:27
@ArtOfCode Maybe I'm overthinking it
With a couple of feedback options
Only 1 out of 4 of those actually submits a flag
@Cerbrus What's that? :P
[ SmokeDetector | MS ] Username similar to website in answer: three.js basic skeleton for animation by HofK on stackoverflow.com (@dorukayhan)
@Undo "no caching" on my userscript's css for 3 hours
20:33
What does the 'Spam flag' link on this page do? Except throwing an error :P
oh, gotcha
@Glorfindel What error did you get?
(it's not visible anymore, presumably because the post is deleted now)
It casts a flag from your account on the post. Idea being that sometimes metasmoke is faster to load than the full page
I just used it on that post and it seems to have worked
New as of today
J F
J F
Does it get confirmation?
I already flagged that post. That might be the reason for the error.
20:35
FDSC is still broken...
Routing Error
Not Found

Rails.root: /var/railsapps/metasmoke/releases/20170304194119
Application Trace | Framework Trace | Full Trace

app/controllers/application_controller.rb:42:in `verify_developer'
That's because it'd be a GET instead of a POST
You can't hit the URL manually
Then why is it shown as a link :P
The link goes to a POST
Could probably be a button, but yeah
@Undo you just reinvented HTTP?
20:37
... no
@ArtOfCode is the one who reinvented HTTP
It's a Rails thing
If you're casting spam flags, DELETE is more appropriate :)
Rails can route links to POST routes if you tell it to
@Glorfindel We're creating a spam flag, from our perspective
@Glorfindel no, it's a creation
20:39
I REST my case :P
<groan>
kicks
@Glorfindel oy
terrible programming puns are my domain here
Have you registered your domain yet?
J F
J F
@Undo @Art How can I add a property to schema.rb?
20:42
@JF Have a local copy running?
J F
J F
@Undo Yep.
rails g migration AddMyAwesomePropertyToTable awesome_property:string
It'll spit out a file in db/migrate, look it over for sanity, then run rails db:migrate
substitute in the actual table name you want to add to instead of Table, i.e. rails g migration AddPropertyToFlagLogs property:string
Set string to whatever you want, and if you want a default value tack it on to the db/migrate/20170001101010101blahblah.rb file
^^ and that
string can be substituted for any valid SQL type (Ruby types don't work - int is actually integer)
J F
J F
20:44
For a default, would this work?
add_column :flag_logs, :is_auto, :boolean, true
Yes
wait
I misled you. You want default: true at the end there.
But otherwise, yeah. That'll work.
(if you're curious, this is the signature there:
add_column(table_name, column_name, type, options = {})
so the default value isn't a positional argument, it's just lumped in as an option)
J F
J F
Thanks! It seems to have worked.
Great
You'll want to commit both the db/migrate file and the relevant changes to schema.
I say 'relevant' because sometimes it does stupid things like changing ALL THE TABLE ENCODINGS.
At a minimum, there'll be a t.boolean entry added to the flag_logs table block, and the migration number near the top will be changed
J F
J F
That was all of the relevent changes.
Great
20:52
Heh, mentioning CHQ gets the suggested tag [spam] on meta.se
J F
J F
Where should I put the flag type icon? (solid for autoflag, hollow for manual)
I'd separate them out, actually - log manual flags and autoflags entirely separately
should also not include manual flags in the count on the flagging dash
add a third column
@ArtOfCode This
Default scope to only autoflags, show manual ones on demand
@Mithrandir That's kinda cool
!!/willibenotified 11540 stackoverflow.com
21:01
@dorukayhan Yes, you will be notified for that site in that room.
@JF So instead of indicating with an icon, how about we separate them out. That'd be adding a default_scope of where(:is_auto => true), which'll take care of all the existing things. Then where we want to show manual flags, FlagLog.unscoped will include manual ones.
@Undo or we do it properly and use a normal scope instead of a default scope, and adapt the existing stuff to use the scope.
That'd be the other option, yeah
Default scopes aren't much fun to work with if you're not working with them 99% of the time, which we won't be
Yeah, that'd probably be better
J F
J F
21:08
FlagLog.auto sound good?
@Mithrandir the answer to that question is that it was pinned, unpinned and then repinned. That messes with existing star statuses. I'm on mobile so I can't test exact sequence and causes right now
@JF That'd work
And have a corollary, FlagLog.manual
@Andy ....Okay? Weird.
if you wanted to be really fancy, I think scope :manual -> { not.auto } would work
@Andy oh, I might know what happened
21:17
I've just updated FIRE (raw‌​). It will now both submit MS feedback, and post SE spam flags for tpu- feedback, provided you authorized MetaSmoke to do so. Note that there's no error handling other than it saying something went wrong, yet.
3
It also doesn't "know" you flagged something as spam, if you did.
please no. We don't want more feedback posts in the chat.
...how did you get from "spam flags" to "feedback posts in chat"?
"post SE spam flags for tpu- feedback"
"posts" as in a "HTTP post"
which lets people flag by posting tpu- in the chat, if I read correctly
21:21
Not at all
It's a popup, that has some feedback buttons
the "tpu-" button also submits a spam flag
oh, good. I was worried.
I should start writing a manual for the thing :P
I can confirm facebook is still cancerous
Went on facebook to check out how all my classmates from high school are doing, a couple are pregnant, some (assuming wise) ones deleted their FB, and a bunch are posting about how they blew their paycheck at day 5 in the new month already
21:29
@Magisch did you give it a thumbs up?
No
I'm trying to find out how to delete facebook accounts now
I remember how much of a siphon on my time and energy that stupid site was
Account deletion on FB is on the roadmap, expect 6 to 8 weeks for it to be finished
Wasn't there some caveat with account deletion? That you kind of had triple agree and then don't check back for a week or so?
yeah
10 days, IIRC.
If you do, they silently stop the deletion process
What was the MS url to authorize MS to cast flags, again?
/authentication/status
21:37
Thanks, @Undo
mind you @Undo
Is there a way for people to revoke granting write access to MS?
ahh
Not gonna use it, but it's good that people have that option
@Undo Thanks :D
@Undo Page Not Found
That's because it's Magisch's page
J F
J F
21:40
http://stackoverflow.com/users/apps/<your user id>
oh right
21:55
write an FR?
I've updated Fire's readme a little... That should clarify what it does.
22:19
[ SmokeDetector | MS ] Mostly non-Latin answer: "At the beginning" or "in the beginning"? by Max on english.SE
naa- by J F
J F
J F
@Cerbrus [bug]
Yea, I noticed
[ SmokeDetector | MS ] Link at end of answer: Youtube Uploader? by Kiety B. Akpan on askubuntu.com (@ThomasWard)
tpu- by J F
@SmokeDetector @Cerb [bug] hitting tpu- didn't cast a flag. I'm gonna log network requests on the next one to check if that's a FIRE bug or an MS bug
Seems to have cast a flag for me
I've also added some error handling to re-authorize the script if the feedback returns an 401
(not yet checked in)
Will re-request authorization, then reopen the popup
J F
J F
22:36
FIRE doesn’t mix well with Nathan Osman’s chatstatus userscript. I’ve created a PR to fix that (on the chatstatus repo).
That HEAD..master diff view on /status/code is awesome
J F
J F
Thanks :)
What was happening there? Or in other words, how did my script break it?
J F
J F
@Cerbrus It calls $() on anything that you .after(). In your case, you called .after(' | '), and ​ | ​ isn’t a valid CSS selector or an HTML string.
Oh, so he broke jQuery.
:D
[ SmokeDetector | MS ] Manually reported answer: Android app that takes a picture every X second by Ryan Weaver on softwarerecs.SE
tpu- by J F
whoa whoa whoa
sd f
@Undo [:35831542] That message is not a report.
@SmokeDetector fpu-
22:45
Just trying to test metasmoke stuff. Maybe not the best site to do it on :P
:35831555 I know, I was testing FIRE
@JF Fixed that. Clear your cache on this and try again please :-)
On another note, I see 4 or 5 requests to the same posts-by-urls endpoint for one report. That's... maybe not ideal? I might write an MS API framework that scripts can use to cut down on that number
Yea, I reload that data when you open the page... Well, on button hover actually
J F
J F
22:49
@Cerbrus Fixed, thanks :)
It's something for the "TODO"
@Cerb, @JF ^ - if I did that, would you be happy to modify AIM/FIRE to use it?
Just slap a 304 on it
J F
J F
@ArtOfCode Sounds like a plan.
@JanDvorak Actually, that works as well
Although, you don't know what data the user has
22:51
Or rather, cache-control: 10s or whatever the syntax is
another test incoming...
oh, no, I hate audits
[ SmokeDetector | MS ] Manually reported question: Math-capable mind-mapping software for tablet PC by laurent pincemaille on softwarerecs.SE
fp- by Cerbrus
22:53
Well now we have a fun case
kewl
@Cerbrus Did that work for you?
(the userscript not_flagged thing)
I sent the fp- from FIRE
Oh, okay
"not_flagged" thing?
22:54
I thought you were talking about userscripts#51
51? <confused>
There's no userscript 51
J F
J F
[status-still-spinning]
No spinner here
22:56
reload
In my case, the websocket message outran the chat message. See the comment on that issue
Just showing me crosses with numbers
So.... that could be a fun one.
A quick hacktch would be to retry handling the websocket message after one second if it doesn't correspond to a chat message
22:58
@SmokeDetector What's that fancy feedback message full of info?
Happens when the feedback is on a post that isn't the most recent
Also, that MS link is full of errors
@Undo Oh neat
I would say it's devoid of anything
@JanDvorak Or you could throw them into a hash keyed by post URL, then check for pending websocket messages when a new chat message shows up
@Cerbrus yeah, I cleared out those testing posts.
22:59
@Undo yep, that's the better option
Restart: API quota is 8724.
J F
J F
That high?
seems to have been a quiet day
StackExchange is now officially high.
@ArtOfCode: Can that devmode timer be set to 4-5 hours? looks like I end up needing it that long usually :P
23:13
@Cerbrus nope, it's set by Cloudflare
need it back on?
Unless you can get me a method to force re-cache a single file :P
Just for 1 file, but meh
@Cerbrus I can do that from the Cloudflare interface too
i'm about to go to bed any way
Oooh
which file?
23:14
Purged
Sweet, thanks
Okay, last one please, @ArtOfCode? :-) (Same file)
There we go. Those popups really shouldn't be transparent when you're putting something containing text over a chat window...
J F
J F
@Cerbrus Why does the popup have fancy tooltips instead of native ones?
Because I can activate the fancy ones when you use keyboard shortcuts
23:24
Fancy tooltips are fancy
They're also instant.
Basically, they're better.
:D
I'm assuming you mean the ones on the feedback buttons / page link / links in the reported post, @JF?
J F
J F
@Cerbrus Those.
Yeap, then I replied with the right reasons :P
J F
J F
I guess they just give me a video gamey feel — the native ones stay still when your mouse moves.
Well, that's it for the day. Gnight!
J F
J F
23:38
@ArtOfCode metapi? How about msapi?
shrug
@JF Wait, what userscript is this? It's so... shiny...
J F
J F
23:58
@quartata FIRE (see starboard)
Ooh, pretty. Can we add it to Coal?

« first day (1203 days earlier)      last day (2913 days later) »