Hacker Newsnew | past | comments | ask | show | jobs | submit | more rowsncolumns's commentslogin

Did you try to enter a date? Any sample text, so that i can try to pinpoint this issue?


Using Chrome 119, I see

  SyntaxError: Invalid regular expression: /^(?<year>\d{4})(\-)(?<month>\d{1,2})(\-)(?<year>\d{1,2})T(?<hour>\d{1,2})\:(?<minute>\d{1,2})\:(?<second>\d{1,2})(Z?)$/i: Duplicate capture group name
This happens whenever I insert text to any cell. I just tried inserting "TEST" to a cell on the first sheet, then pushed the Enter key. It also happens when I use arrow keys to move away from a cell I am editing.


Ah. Yes i figured out the issue. Could you share your current location? Are you in the US or Japan? We create a date pattern matching expression based on your current locale.


Yeah, I am currently in the US, using a MacBook with Japanese locale set.


Awesome. I have fixed this issue for you.


Cool, real-time debugging and deploying a fix in minutes. We've come a long way since the days of shrinkwrapped spreadsheet software sold in a store.


Thanks for the feedback. I will look into this.

Does the error go away if you just refresh the demo?


Yeah, refreshing the page makes everything work again. I can see changes to the spreadsheet in real-time and I am capable of resizing cells, changing fonts, etc. The only problem is with editing the contents of a cell.


Thank you :)


I will do some testing on Pixel phones soon. This should be a client-side UI lag. No server is used for the demo. Thanks for the feedback


I tried again later and it was smooth. I'm using Brave browser on mobile btw.


The demo does not use a back-end service.

We are agnostic to back-end frameworks. Some users have used Prisma + Graphql, NoSQL databases etc.

The Sheet data structure on the UI can be flexible too. It can come from streaming data source, lazily loaded on-demand or all stored in browser memory


Admittedly, I haven't clicked on the link, but you appear to have avoided their question altogether. You offer product demos. Those demos source data from something, be it a JSON file, REST API, etc. Where is the demo data sourced from?


The demo data is sourced partially from US Covid database.


Sorry about that. The demo does not persist data on the server, hence sheet deletions can throw errors.


Thanks. Possibly related to collaboration. I need to handle a scenario where user deletes another user's active sheet.


i only got this with my adblocker turned on fyi, ublock origin


Seconding this Edit: Happened again. Might not be related.


Please try again. We don't persist data to a database in this demo, hence some of these errors. Pushed a temporary fix


Found the issue. In collaboration mode, when user deletes a sheet another user was on, this error is thrown. Will work on a fix. Thanks for the report.


Yes it is. The Spreadsheet is powered by ReactJS and Konva.

React and Konva provides a Profiler and Devtools to measure performance and to prevent any un-necessary re-renders.

We also measure the Canvas FPS to make sure rendering is at max 60fps. The bottleneck we have identified is with scrolling large amounts of text, especially in large 42 inch 4K monitors, where FPS limits to 55-60fps. We do have some workaround planned for large monitors, by splitting the canvas into 4 layers.

In terms of regression, we use Cypress for most e2e testing, but the test cases are small as of now.


You mentioned physical size of monitors. Does it affect performance in your tests? I would be very, very surprised if performance on 27" 4k monitor was any different than on 42" 4k monitor. Maybe I'm not aware of some quirk?


It's usually the scaling. If you're on 27" at 4k, you probably have some scaling enabled, anywhere from 1.25x to 2x, so less stuff fits on the screen. Since less stuff fits on the screen, less stuff gets rendered and performance should be better.

At 42" 4k, there's probably no scaling, so more stuff fits on the screen.


I have tested on 32" 4K and 27" 4K and there was no performance issues.

Slight degradation on Dell 42" 4K, could be because of the ppi or the pixel ratio, which might be causing canvas/row/cell/ dimensions to be not rounded to whole numbers (this can affect perf).


Interesting. Can you elaborate how you measure performance? What's perfoemance? Framer ate, cpu/gpu usage, mem, scroll speed?


There are quite a few methods to measure performance

We start of with the FPS monitoring tool which measure the frame rate, memory consumption and GPU sange

We switch to devtools->Performance analysis to measure function call times, layout thrashes and shifts, RAF bottleneck, memory consumption and CPU time.

We also use React devtools to measure re-rendering.

Scrolling is wrapped in Request animation frame loop, hence its being controlled by the browsers frame rate.


Yes. We are working on adding support for aggregation and pivoting using https://github.com/finos/perspective


Thank you :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: