Dani Guardiola's Avatar

Dani Guardiola

@dio.la

lead @proton.me (docs and sheets), writer at dio.la - ex Automattic/WP core - @ariakit.org & @biomejs.dev core, @solidjs.com ecosystem team, lexical.dev contributor

663
Followers
399
Following
166
Posts
23.04.2023
Joined
Posts Following

Latest posts by Dani Guardiola @dio.la

oh sheet!

04.12.2025 17:34 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

You requested it, now it’s here - introducing Proton Sheets! The privacy-first alternative to Excel and Google Sheets.

Spreadsheets form the framework of modern businesses, and with Proton Sheets, you can ensure your data is private and secure.

1/4

04.12.2025 12:30 πŸ‘ 505 πŸ” 108 πŸ’¬ 35 πŸ“Œ 30

you can open spreadsheets in the Drive apps! for now, they are view-only, but we're working on mobile editing :)

04.12.2025 17:34 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

only if you make them publicly accessible! we support a lot of formulas if that's what you mean. no macros or scripts, for now.

04.12.2025 17:32 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

afaik, OnlyOffice is OT based for collaboration, which (again, afaik) is server-centric meaning it's not possible to do end-to-end encryption collab sessions with it.

16.09.2025 18:00 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
skype sent two notifications that have "dummy string" as their title and description and a "user" placeholder icon

skype sent two notifications that have "dummy string" as their title and description and a "user" placeholder icon

11.08.2025 07:33 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

you can just do things

24.07.2025 00:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

hmm I would expect Proton Mail to have some kind of warning here.

maybe if you file an issue something can be done to alert about this? I know we already have some warnings about similar stuff.

if you send a ticket I can try to give it some priority internally, as this seems quite serious.

19.07.2025 10:56 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

hired

15.07.2025 09:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

to clarify, I mean a library that handles it in a way that would allow us to support it.

12.07.2025 13:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

afaik, there is no browser-based library that handles ODF. since we don't snoop (we literally can't! everything is encrypted), we can't do it server side with non-browser tools.

I would absolutely love to provide support for it, it's a pretty hard and lengthy technical challenge though!

12.07.2025 13:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Hacking RegExp to unlink myself from LinkedIn | dio.la - Dani Guardiola's blog No LinkedIn? No problem! Here's how I exploited weak validation to find a job anyway.

lol i feel u

11.07.2025 18:19 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

to be clear, afaik we don't actually persist the compacted update yet. we only compact before loading on the client side but the result is lost after page unload. we might start doing it though!

11.07.2025 09:50 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

right, but you can't do much if it's e2e, it could be random data and you'd have no way to tell. that's the tradeoff of e2e encryption!

authorship might help a bit I guess.

11.07.2025 08:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

wanna apply? ;)

11.07.2025 08:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

interesting stuff! we just have to trust what the client does because we just see encrypted blobs on our end, so anything is fair from the client side.

11.07.2025 08:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

yes, we use Lexical, which is a text editor framework. it actually works a bit like React in the sense that it has a reconciliation phase! but it works with the DOM directly.

11.07.2025 08:23 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

we might actually start squashing and persisting at some point to save space and make the initial load faster, it might be a good optimization. funny timing, we were randomly discussing this idea today in the team!

10.07.2025 21:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

you'll need to be more specific :P

if you mean merging, afaik we only merge to debounce updates sent to other clients in the session, and also when loading a document initially, so we turn the array of updates into a single one before loading it.

10.07.2025 21:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

what do you mean? getting in the way of what? :)

10.07.2025 21:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Create and collaborate on docs with total privacy | Proton Proton Docs is end-to-end encrypted so your work stays safe from data breaches, online surveillance, and can never be fed into privacy-invading AI models.

I am building a team and hiring senior/staff frontend engineers for Proton Docs.

React + TypeScript. Bonus: Yjs, Lexical, Ariakit.

DM for more info!

proton.me/drive/docs

10.07.2025 16:09 πŸ‘ 112 πŸ” 22 πŸ’¬ 7 πŸ“Œ 2

it was a compliment

20.06.2025 09:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

bitch

20.06.2025 09:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

@void.comind.network roast me

20.06.2025 07:14 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

always bet on ariakit

19.06.2025 22:05 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

This is why I believe Ariakit dot org will stay relevant for decades:

– It's always been about examples. And we'll feature multiple libraries: Ariakit React, Radix, Base UI, RAC, Headless UI, and others outside the React ecosystem.

19.06.2025 18:21 πŸ‘ 14 πŸ” 4 πŸ’¬ 1 πŸ“Œ 1

so you'll lie?

19.06.2025 10:28 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Ariakit uses vitest and is a monorepo

15.06.2025 08:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I just used invert directly but this seems like a better approach, nice.

12.06.2025 07:07 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I've played with this idea, but at a lower level (solid "hook" into react hook via uSES). would love to compare notes one day :)

10.06.2025 18:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0