Skip to content

[Feature] Incremental text editing API (append/insert/overwrite) to bypass URL limit on Android. #264

@Ldr0Luis0dorato

Description

@Ldr0Luis0dorato

Good morning!

First of all, congratulations on LifeUp and the excellent open API. It allows for incredible automations. I know I'm already being a nuisance with several requests for improvements to LifeUp, but I believe developing this part is important – and it ties in quite well with one of the latest updates that increases the number of characters allowed in feelings, for example.

I ran into a common limitation in Android: Intent URLs (lifeup://...) have a limit of about 2000 characters. When we need to send long texts (task notes, achievement descriptions, feelings content, etc.), the text gets cut off.

Proposal: create an incremental text editing system in the APIs, allowing the composition of long fields through multiple short calls. The idea is to use a mode parameter to control how the new text relates to the existing content.

Hypothetical URL examples (they don't exist yet, these are suggestions):

Simple append (adds to the end): lifeup://api/feeling?id=123&content=new snippet&mode=append

Append with defined position - this part could also define the reading mode of the inserted characters, whether it will be from top to bottom or vice versa.

lifeup://api/feeling?id=123&content=texto&mode=append&position=top (adds at the beginning)
lifeup://api/feeling?id=123&content=texto&mode=append&position=bottom (adds at the end, equivalent to just mode=append)

Insertion after a specific character or group of characters:
lifeup://api/edit_task?gid=10&notes=frase nova&mode=insert_after&target=:

(Inserts "frase nova" immediately after the first character : found.)

Insertion before a character/group:
lifeup://api/edit_task?gid=10&notes=frase nova&mode=insert_before&target=#

Insertion within an occurrence Specific:
lifeup://api/edit_task?gid=10&notes=texto&mode=insert_after&target=:&occurrence=3
(Inserts after the third occurrence of :.)

Overwrite a specific character/group:
lifeup://api/edit_task?gid=10&notes=substituto&mode=overwrite&target=XYZ
(Replaces the first occurrence of "XYZ" with "substituto". Could also have an occurrence parameter.)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions