Comments (7)
I see their benefit, we don't need to pass data over the wire if clients already have it, but we'd need to fix all the problems, and i'm not sure it is worth it at the moment.
from fluidframework.
Copy also never worked right, as it will mess up the pending segment group queue, as a segment group is never added for the local copy op, so when it op is acked it will ack the wrong pending segment group
from fluidframework.
Another thought i had is this has the potential for denial of service attacks. Imagine a large document, like pride and predudice. I could open the document, copy the entire thing, and then close my client. Then repeat. This would result is the entirety of the document being stored in a register for each client i do this with, which would eventually exhaust the memory on the connected clients. This scenerio assumes a malicious user, but something similar could take place even with a non-malicious client.
from fluidframework.
Registers avoid large ops for cut copy paste. The sequence groups are going away soon to be replaced by general continuous ops.
from fluidframework.
I agree we need to finish the feature including cleanup semantics, but we definitely need the feature to avoid arbitrary-sized ops for things like copying the whole document and pasting it.
We could tie registers to the lifetime of quorum members so that the register would be deleted when its creator leaves the quorum and the op that created the register is <= min seq.
from fluidframework.
if (range.end) {
this.copy(range, op.register, clientArgs);
// enqueue an empty segment group to be dequeued on ack
//
if (clientArgs.sequenceNumber === UnassignedSequenceNumber) {
this.mergeTree.pendingSegments.enqueue({segments: []});
}
return true;
}
This code from applyInsertOp seems to be setting up the empty segment group to be acked in the local copy case.
from fluidframework.
This issue is 2 years old. Closing. @anthony-murphy - if we need some cleanup due to not supporting registers right now, please open separate issue,
from fluidframework.
Related Issues (20)
- ActivityTimeout event handling behavior not consistent in Deli HOT 2
- Deprecate mergeTree's findTile method HOT 1
- 6.1 release blocker: Add removed telemetry items HOT 1
- Remove type parameter from IntervalCollection's add method HOT 1
- Shredded summary upload service fails on compressed binary summary blobs. HOT 3
- Copy of the container with compressed binary summaries is failing. HOT 6
- Memory leak related to unbounded creation of debug loggers HOT 1
- Stop requiring guestDisplayName as pre-condition for requestSocketToken: true as part of joinSession payload HOT 2
- Browser - Database updates on a separate thread HOT 2
- SharedMatrix undefined cell values HOT 8
- Need to bump axios to 1.6.0+ (and test) to address vulnerability HOT 7
- Misbehaving driver can cause Fluid to hang on container open HOT 7
- Allow SharedTree to be passed across iframe boundary HOT 3
- Blazor SDK HOT 1
- Use @fluidframework/azure-client can not create container and get Error: 0x883 at app.js:125 HOT 3
- Intervals not at expected location sometimes after undo-ing HOT 3
- Issue at container connection : Provided user was not an "AzureUser" HOT 1
- Container issues at connection HOT 10
- Error fetching checkpoint for any document causes rest of the batch to fail in deleteSummarizedOps HOT 2
- FF client Buffer error under browser HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluidframework.