No description
d0597288dc
It is possible to lose the last writable session during unloading and get stuck forever. This can happen in the following scenario (as observed in a rare test run): 1. always_save_on_exit is true. 2. The last/only writable session disconnects. 3. We save and upload. 4. We attempt to stop because the clients have disconnected, but because we are uploading, it doesn't flag to stop. 5. Uploading fails repeatedly until we reach the limit. 6. We endlessly check to save and upload and even though there is nothing to save, we couldn't even check for the need to upload, getting stuck. With this patch the above scenario is not possible. Change-Id: I19e7b621f2b452a9f18964f5f19d6eb378a48797 Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk> |
||
---|---|---|
.git-hooks | ||
.github | ||
.gitpod-files | ||
android | ||
browser | ||
common | ||
cypress_test | ||
debian | ||
docker | ||
etc | ||
fuzzer | ||
gtk | ||
indexing | ||
ios | ||
kit | ||
kubernetes/helm | ||
man | ||
net | ||
scripts | ||
test | ||
tools | ||
wsd | ||
.cirrus.yml | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
.gitpod.dockerfile | ||
.gitpod.yml | ||
.mailmap | ||
AUTHORS | ||
autogen.sh | ||
browsersync-config.js | ||
ChangeLog | ||
CODE_OF_CONDUCT.md | ||
configure.ac | ||
CONTRIBUTING.md | ||
coolkitconfig-mobile.xcu | ||
coolkitconfig.xcu.in | ||
coolwsd-generate-proof-key | ||
coolwsd-systemplate-setup | ||
coolwsd.init.rhel6 | ||
coolwsd.service | ||
coolwsd.spec.in | ||
coolwsd.xml.in | ||
COPYING | ||
discovery.xml | ||
favicon.ico | ||
g | ||
jsstress.in | ||
Makefile.am | ||
NEWS | ||
PROBLEMS | ||
README.CONTRIBUTING.md | ||
README.md | ||
SECURITY.md | ||
sysconfig.coolwsd | ||
trace-event.sample2.json |
Collabora Online
LibreOffice in the Cloud on your own Terms
Key features
- View and edit text documents, spreadsheets, presentations & more
- Collaborative editing features
- Works in any modern browser – no plugin needed
- Open Source – primarily under the MPLv2 license. Some parts are under other open source licences, see e.g. browser/LICENSE.
Website
For many more details, build instructions, downloads and more please visit https://collaboraonline.github.io/
Developer assistance
Please ask your questions on irc.libera.chat
in our #cool-dev
channel
Join the conversation on our Discourse server at https://forum.collaboraonline.com/
Watch the tinderbox status (if it's green) at https://cpci.cbg.collabora.co.uk:8080/view/Tinderbox/job/Tinderbox%20for%20online%20master/
Development bits
This project has several components:
- wsd/
- The Web Services Daemon - which accepts external connections
- kit/
- The client which lives in its own chroot and renders documents
- common/
- Shared code between these processes
- browser/
- The client side JavaScript component
- test/
- C++ based unit tests
- cypress_test/
- JavaScript based integration tests
Further recommended reading with build details
Please consult the README files in the component's directory for more details:
- wsd/README
- browser/README
iOS and Android apps
See the corresponding READMEs:
- ios/README
- android/README
GitPod
Head over to https://collaboraonline.github.io/post/build-code/ select gitpod from the dropdown and follow the steps.
Interesting things to keep in mind:
- Make sure your browser is not blocking windows/tabs from opening from the gitpod workspace URL (maybe add
*.gitpod.io
to your browser's whitelist)- The GitPod tasks will run automatically and further instructions will be printed out right in the terminal
- VNC tab will open automatically if not just click in the left icon
Remote explorer
and click6080
. You will see a tab completly black, that's normal. - As mentioned in those instructions if you are not using the VS Code desktop and if you are only relying on your browser please:
- Do not try to click the URL from the make run out put instead copy that URL and execute
firefox [paste URL here]
- Head over to the tab where the VNC is opened (black page), you will see Firefox opening there, maximize and have fun.
- You can also run cypress tests via GitPod but you will need to use Firefox, for that just prepend
CYPRESS_BROWSER="firefox"
to the desired command. Example:CYPRESS_BROWSER="firefox" make check
for every test orCYPRESS_BROWSER="firefox" make check-desktop spec=impress/scrolling_spec.js
for one specific test on desktop
- Do not try to click the URL from the make run out put instead copy that URL and execute