I am humbly calling upon @MURDERVANN to merge my MarseyFX pull request (it's finished now).
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.
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.
More options
Context
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.
More options
Context
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
Jump in the discussion.
No email address required.
Yeah, not doing previews is basically refusing to do half the work. No amount of
is going to make that acceptable to merge.
Jump in the discussion.
No email address required.
More options
Context
More options
Context
Dead on arrival. bad PR
Jump in the discussion.
No email address required.
More options
Context
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
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.
More options
Context
More options
Context
More options
Context
Jump in the discussion.
No email address required.
More options
Context
!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: :marseynotes:](https://i.rdrama.net/e/marseynotes.webp)
Follower of Christ
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.
More options
Context
More options
Context
More options
Context
Is MFX fully backwards compatible? Will![](https://i.rdrama.net/i/hand.webp)
![:marseyzoomerpatgenocidelove!:](https://i.rdrama.net/i/love-foreground.webp)
![:marseyzoomerpatgenocidelove!:](https://i.rdrama.net/i/love-background.webp)
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.
More options
Context
More options
Context
More options
Context
More options
Context
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.
More options
Context
More options
Context
More options
Context
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.
More options
Context
More options
Context
didn't read
LGTM
Jump in the discussion.
No email address required.
More options
Context
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.
More options
Context
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
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.
More options
Context
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.
Lol lmao even
Jump in the discussion.
No email address required.
The absolute state of codecels. Though I suppose the socks
mean that all code is correct and doesn't need to be tested
Jump in the discussion.
No email address required.
More options
Context
More options
Context
More options
Context
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.
More options
Context
More options
Context
Snapshots:
MarseyFX pull request:
ghostarchive.org
archive.org
archive.ph (click to archive)
Jump in the discussion.
No email address required.
More options
Context