emoji-award-capyhacker
Unable to load image

Calling on @Aevann to Approve MarseyFX!

I am humbly calling upon @MURDERVANN to merge my MarseyFX pull request (it's finished now).

!codecels

FAQ

1. Is it backwards compatible? What about the emotes already posted, will those be broken?

It's mostly backwards compatible. Emotes that have already been posted have already been rendered and as such will not be effected by the new rendering engine. In terms of new posts, emotes are essentially the same, except that you'll need a dot . before modifiers: :marseylove: becomes :marsey.love:

2. What about the preview stuff?

The preview is not up-to-date, so it won't be able to render the new MarseyFX stuff. Options currently are to transpile the MarseyFX parser from Python to JS using something like JavaScripthon; run the python code in the browser through something like PyScript; send the data back to the server in order to be rendered; implement a subset of the renderer in JS; or leave it out entirely.

32
Jump in the discussion.

No email address required.

So I looked at your code and I doubt Aevann will merge it, because it looks massively overengineered for what it's trying to do (and it probably shouldn't try to do some of the things it does, just to keep it simple).

Like, you wanted to write a parser, I get it, are you going to hang around fixing bugs and vulnerabilities in it? Extra code is a liability and a cost, not something good and desired.

Besides it's awfully nerdy--why programming syntax?

I'd start with replacing that entire 236 line file with str.split(' '), so we could do :marseyxd large love pat:, making an actual improvement in UX for non nerds.

Then you can complicate things just a little by 1. replacing that with a 5 line tokenizer based on str.find that understands quoted strings, and 2. allowing modifiers with implicitly consumed arguments, so :marseyxd says "hello world" large: would work.

And stop there.

btw, also get rid of token types and all that nonsense, just remove quotes from quoted strings, so :marseyxd says "hello": is equivalent to :marseyxd says hello:. 95% of your parsing functionality can be done with 5% of the code.

Pinging @HeyMoonster.

Jump in the discussion.

No email address required.

The preview is not up-to-date, so it won't be able to render the new MarseyFX stuff.

Right so you're not done yet. This is why devs aren't allowed to interact with clients.

Jump in the discussion.

No email address required.

I sympathize with not wanting to implement the preview but it's essentially required. The users here are r-slurred and need it to post. Also needs the formatting page updated


:#marseyviewerstaretalking:

Jump in the discussion.

No email address required.

Yeah, not doing previews is basically refusing to do half the work. No amount of :marseylongpost: is going to make that acceptable to merge.

Jump in the discussion.

No email address required.

no preview

Dead on arrival. bad PR


Give me your money and I'll annoy people with it :space: https://i.rdrama.net/images/16965516366194396.webp

Jump in the discussion.

No email address required.

Options currently are to transpile the MarseyFX parser from Python to JS using something like JavaScripthon; run the python code in the browser through something like PyScript; send the data back to the server in order to be rendered; implement a subset of the renderer in JS; or leave it out entirely.

Based on this, I would close down the PR and ban you from the git repo

Jump in the discussion.

No email address required.

The :marseytrain: :marseypass:es the code through 5 layers of bullshit before delivering dress go spinny cat gif

Jump in the discussion.

No email address required.

Standard web developer code.

Jump in the discussion.

No email address required.

:marseytranswizard#: code wizard :marseyclapping!:

Jump in the discussion.

No email address required.

!cuteandvalid There is no such thing as a bad trans programmer.

Jump in the discussion.

No email address required.

Hi.

Jump in the discussion.

No email address required.

Grue confirmed trans :marseynotes:


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

Is MFX fully backwards compatible? Will :marseyzoomerpatgenocidelove!::marseyzoomerpatgenocidelove!::marseyzoomerpatgenocidelove!: still work?

Jump in the discussion.

No email address required.

It is fully backwards compatible in the sense that existing emotes which have already been posted will continue to work just fine. In terms of new emotes, there is a small change:

:marseyzoomerpatgenocidelove!: becomes :!marseyzoomer.pat.genocide.love:

Jump in the discussion.

No email address required.

but will I still be able to do :marseyzoomerpatgenocidelove!:? if not, then this is a significant breaking change to how people use marseys, which will be a fairly hard sell for Aevann and the rest of the rdrama userbase, especially for a relatively small list of upgrades.

you know, you could always keep the old renderer and only use the new renderer if someone has "."s in the emoji. that wouldn't be too frustrating, imo, and could lead to a gradual, gentle adoption of the new system over time.

Also, you'll probably want to write some documentation on the Formatting help page as well.

Jump in the discussion.

No email address required.

I would have to argue that adding a dot . doesn't constitute a "significant" breaking change, but if le capybara wants it I can have it auto-insert a dot for "legacy" modifiers.

Jump in the discussion.

No email address required.

that would be an okay compromise, but is there really no way to have the old marseys "just work"?

Jump in the discussion.

No email address required.

From the user standpoint, it "just works" -- the dots are auto-inserted when parsing the comment.

Jump in the discussion.

No email address required.

Honestly, the periods are worthless clutter. I don't want to type more to do the same thing.

Jump in the discussion.

No email address required.

Hmm, should rdrama accept code from a known code exploiter?

Hard decision indeed.

Jump in the discussion.

No email address required.

Lapp

Jump in the discussion.

No email address required.

didn't read

LGTM

Jump in the discussion.

No email address required.

I cannot in good conscience click a button here because I don't read. Can you add a button for button clicky r-slurs like me?

Jump in the discussion.

No email address required.

I think this is cool but I think you kind of got off the wrong foot with your unhinged disclosure over bugs.

If you're interested in contributing I think working together with capy is the best policy before making a massive change with no prior input.


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

There are no unit tests for any of the code you've written. I know you've said that "it's tested thoroughly it'll work I swear", but unit tests also serve as a spec of how it should behave and make it much easier to modify and extend in the future without breaking it.

There's also the problem of making it work on the client, but I see that someone has offered to do that.

Other people have talked about this, but this would require users to change how they enter emojis, and you know how end users (especially non-technical ones) hate change.

Jump in the discussion.

No email address required.

rdrama


unit tests

Lol lmao even


:#marseyviewerstaretalking:

Jump in the discussion.

No email address required.

>creates entire parser/dsl for cartoon cats on an obscure website

>only tests it manually

The absolute state of codecels. Though I suppose the socks :marseyfemboy: mean that all code is correct and doesn't need to be tested

Jump in the discussion.

No email address required.

>Options currently are to transpile the MarseyFX parser from Python to JS using something like JavaScripthon; run the python code in the browser through something like PyScript; send the data back to the server in order to be rendered; implement a subset of the renderer in JS; or leave it out entirely.

:marseytrollgun#:

Jump in the discussion.

No email address required.

PS: Rewrite in rust so these problems don't exist

Jump in the discussion.

No email address required.

β–‘β–‘β–‘β–‘β–‘β–‘β–„β–„β–„β–‘β–‘β–„β–ˆβ–ˆβ–„
β–‘β–‘β–‘β–‘β–‘β–β–€β–ˆβ–€β–Œβ–‘β–‘β–‘β–‘β–€β–ˆβ–„
β–‘β–‘β–‘β–‘β–‘β–β–ˆβ–„β–ˆβ–Œβ–‘β–‘β–‘β–‘β–‘β–‘β–€β–ˆβ–„
β–‘β–‘β–‘β–‘β–‘β–‘β–€β–„β–€β–‘β–‘β–‘β–„β–„β–„β–„β–„β–€β–€
β–‘β–‘β–‘β–‘β–„β–„β–„β–ˆβ–ˆβ–€β–€β–€β–€
β–‘β–‘β–‘β–ˆβ–€β–„β–„β–„β–ˆβ–‘β–€β–€
β–‘β–‘β–‘β–Œβ–‘β–„β–„β–„β–β–Œβ–€β–€β–€
β–„β–‘β–β–‘β–‘β–‘β–„β–„β–‘β–ˆβ–‘β–€β–€U HAVE BEEN SPOOKED BY THE
β–€β–ˆβ–Œβ–‘β–‘β–‘β–„β–‘β–€β–ˆβ–€β–‘β–€
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–„β–„β–β–Œβ–„β–„
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–€β–ˆβ–ˆβ–ˆβ–€β–ˆβ–‘β–„
β–‘β–‘β–‘β–‘β–‘β–‘β–β–Œβ–€β–„β–€β–„β–€β–β–„SPOOKY SKELETON
β–‘β–‘β–‘β–‘β–‘β–‘β–β–€β–‘β–‘β–‘β–‘β–‘β–‘β–β–Œ
β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–‘β–‘β–‘β–β–Œβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–‘β–‘β–‘β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–β–ŒSEND THIS TO 7 PPL OR SKELETONS WILL EAT YOU

Snapshots:

MarseyFX pull request:

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.