Page MenuHomeSealhub

Sealious — get rid of the "format" functionality
Closed, ResolvedPublic4 Points

Description

Refactor Sealious in a way that fields no longer take a "format" argument to a .decode method. Currently this makes it so the return type of .decode is unpredictable and it causes the users of the code to need a lot of type assertions.

If a field can return its value in multiple formats, it should instead always return the same type — an instance of a class that has methods like .getAsString or .getAsObject or .getAsSafeString, or whatever the field needs.

Apply it to the "text" field — so it no longer stores the text as both safe and original, just has .getSafe and .getOriginal methods. Write a migration that will help convert old databases to the new syntax

Details

Tested by
kuba-orlik
Coded by
JayNecessary
Reviewed by
kuba-orlik
Action required from
JayNecessary

Revisions and Commits

rS Sealious
Restricted Differential Revision
Restricted Differential Revision

Event Timeline

kuba-orlik triaged this task as Above Normal priority.
jenkins-user updated Coded by, added: JayNecessary.
jenkins-user updated Action required from, added: JayNecessary.
JayNecessary added a revision: Restricted Differential Revision.Nov 25 2025, 16:24
jenkins-user moved this task from Doing to Review on the Kanban board.
jenkins-user updated Action required from, added: FilipI; removed: JayNecessary.
jenkins-user added a subscriber: JayNecessary.
jenkins-user moved this task from Review to Doing on the Kanban board.
jenkins-user updated Reviewed by, added: kuba-orlik.
jenkins-user updated Action required from, added: JayNecessary; removed: FilipI.
jenkins-user moved this task from Doing to Review on the Kanban board.
jenkins-user updated Action required from, added: kuba-orlik; removed: JayNecessary.
jenkins-user moved this task from Review to Doing on the Kanban board.
jenkins-user updated Action required from, added: JayNecessary; removed: kuba-orlik.
jenkins-user moved this task from Doing to Review on the Kanban board.
jenkins-user updated Action required from, added: kuba-orlik; removed: JayNecessary.
jenkins-user moved this task from Review to Doing on the Kanban board.
jenkins-user updated Action required from, added: JayNecessary; removed: kuba-orlik.
jenkins-user moved this task from Doing to Review on the Kanban board.
jenkins-user updated Action required from, added: kuba-orlik; removed: JayNecessary.
jenkins-user assigned this task to JayNecessary.
jenkins-user moved this task from Review to Ready for testing on the Kanban board.
jenkins-user updated Action required from, added: AmeliaB, • Koossa, karolwojtowicz87, brtkuu, prostyfranek, zbartosz, radoptak; removed: kuba-orlik.
jenkins-user updated Tested by, added: kuba-orlik.
jenkins-user moved this task from Ready for testing to Ready to land on the Kanban board.
jenkins-user updated Action required from, added: JayNecessary; removed: AmeliaB, • Koossa, karolwojtowicz87, brtkuu, prostyfranek, zbartosz, radoptak.