Collabora Online is a collaborative online office suite based on LibreOffice technology. This is also the source for the Collabora Office apps for iOS and Android.
 
 
 
 
 
 
Go to file
Tor Lillqvist d9024e8955 Add patch that prevents expat in Poco from causing trouble with WASM
As we build a single statically linked bunary for WASM, we will end up
with just one copy of each function in it. Both LO core and Poco
include expat. Upstream Poco builds one of the expat source files as
C++. That causes trouble as it then isn't compatible with what LO core
wants to call. Or something like that. You get "RuntimeError: null
function or function signature mismatch". (The "signature" concept in
WASM is orthogonal to C++ name mangling.)

Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: Iacf75ed34eea98611cb6aa6867e460697ea1fc4a
2023-01-16 18:43:21 +02:00
.git-hooks git-hooks: pre-commit: clean up not needed tweak of the perl library path 2021-07-12 19:47:59 +03:00
.github fix: codeql cpp unmet dependencies failure 2022-12-05 10:57:53 +01:00
.gitpod-files Remove the old vex-based welcome dialog code 2022-04-04 10:53:07 +02:00
android Translated using Weblate (Catalan) 2022-12-13 11:13:30 +01:00
browser Initial attempt to load the WASM using code from Qt 2023-01-16 18:43:21 +02:00
common WASM fix includes in C++ code 2023-01-09 22:01:47 +02:00
cypress_test cypress:refactor: undo_redo_spec.js 2023-01-14 02:29:53 +05:30
debian Bump version to 22.05.9.2 2022-12-17 20:49:10 +01:00
docker #5609 add '# syntax=docker/dockerfile:1.2' to dockerfiles that use --mount option 2022-12-23 10:07:21 +01:00
etc backward compatibility: /lool/convert-to endpoint 2021-11-19 13:27:27 +01:00
fuzzer wsd: fix missing tile cache check in ClientSession::getCommandValues() 2022-10-25 16:55:19 +01:00
gtk Actually use the safer (escaped) string we construct 2023-01-06 16:09:52 +02:00
indexing indexing: rename 'lool' -> 'cool' 2021-11-17 09:17:31 +01:00
ios Put all Zotero logic to browser 2022-12-12 13:35:29 +01:00
kit kit: default timeout to ~5 seconds when we get a negative wait. 2023-01-15 06:22:24 -05:00
kubernetes/helm fix: helm chart error validating data: unknown object type nil in ConfigMap.data.server_name 2023-01-13 14:15:39 +05:30
man coolstress: add man-page, cleanup somewhat and document a little. 2022-09-01 13:33:20 +01:00
net Fix error in conversion from microseconds to whole milliseconds 2023-01-03 11:54:17 +00:00
scripts Give an example how to pass the zstd directory options to the configure script 2022-11-02 12:12:11 +00:00
test gitignore: differentiate files from dirs 2023-01-06 11:19:18 +03:00
tools wsd: fix multi-part logging 2022-09-13 09:45:43 +02:00
wasm Add patch that prevents expat in Poco from causing trouble with WASM 2023-01-16 18:43:21 +02:00
wsd Zotero: handle disabled state in config 2023-01-16 10:18:04 +01:00
.cirrus.yml Update image_family to a newer supported version. 2022-12-12 13:09:35 +03:00
.clang-format clang-format: turn off BreakBeforeBinaryOperators 2021-04-23 09:51:06 +02:00
.clang-tidy Png: avoid multiplication at int precision, then converting to long 2016-12-05 11:56:46 +01:00
.gitignore Fix build with libzstd on iOS 2022-11-02 12:09:53 +01:00
.gitpod.dockerfile GitPod: Fix No package 'libzstd' found 2022-11-17 07:39:39 +01:00
.gitpod.yml GitPod: Update core assets url to 22.05 2022-04-19 15:32:43 +02:00
.mailmap Add .mailmap 2021-11-26 11:44:09 +01:00
AUTHORS Apply the pre-branch rename script to re-organize the source. 2016-11-25 09:58:48 +00:00
CODE_OF_CONDUCT.md Complete the CoC statement 2020-10-20 20:45:57 +03:00
CONTRIBUTING.md Fix typo in CONTRIBUTING.md 2022-07-27 09:59:31 +02:00
COPYING fix license headers 2020-10-01 11:56:43 +02:00
ChangeLog Apply the pre-branch rename script to re-organize the source. 2016-11-25 09:58:48 +00:00
Makefile.am When we are building WASM we don't build the browser subdirectory 2023-01-15 19:46:37 +01:00
NEWS Apply the pre-branch rename script to re-organize the source. 2016-11-25 09:58:48 +00:00
PROBLEMS mutex include cleanup. 2022-08-31 21:31:31 +01:00
README.CONTRIBUTING.md Clarify, re: E-mail. 2020-10-26 19:03:53 +00:00
README.md Add Social media to readme 2023-01-16 11:02:01 +01:00
SECURITY.md Update SECURITY.md 2021-07-05 12:24:14 +02:00
autogen.sh No need to cd back before exiting a shell script that is run as a command 2022-12-07 15:06:16 +02:00
browsersync-config.js browser: update config files 2021-11-10 17:18:56 +01:00
config.h.in config: HAVE_PPOLL should be 0 by default instead of undefined 2022-10-14 13:36:19 +02:00
config_version.h.in Split config.h into separate headers to avoid extensive rebuild 2022-09-05 12:32:49 +01:00
configure.ac We do want to temporarily use the idea that a "WASM app" is a separate thing 2023-01-15 19:46:37 +01:00
coolkitconfig-mobile.xcu rename: remaining lool->cool changes 2021-11-18 14:14:11 +01:00
coolkitconfig.xcu.in Hide MediaPlaybackPanel on sidebar 2022-11-15 11:18:19 +01:00
coolwsd-generate-proof-key Make coolwsd-generate-proof-key prepared for a custom prefix. 2021-12-22 15:18:35 +01:00
coolwsd-systemplate-setup systemplate: include /lib/*/nss 2022-11-05 21:45:24 +00:00
coolwsd-welcome.xml Remove the old vex-based welcome dialog code 2022-04-04 10:53:07 +02:00
coolwsd.init.rhel6 rename: remaining lool->cool changes 2021-11-18 14:14:11 +01:00
coolwsd.service rename: remaining lool->cool changes 2021-11-18 14:14:11 +01:00
coolwsd.spec.in do not explicitly require libzstd package in CentOS 2022-11-08 11:27:30 +01:00
coolwsd.xml.in config: add REST API Protocol to LanguageTool 2023-01-02 11:14:15 +03:00
discovery.xml Editing of document templates does not work well currently 2022-03-15 14:05:12 +01:00
favicon.ico replace favicon.ico (Collabora Online logo) 2020-12-14 13:56:00 +01:00
g Use custom local branch name as explicit remote user branch name for PR 2021-07-16 08:53:58 +02:00
jsstress.in rename coolstress to jsstress 2021-11-16 11:16:45 +01:00
sysconfig.coolwsd rename: remaining lool->cool changes 2021-11-18 14:14:11 +01:00
trace-event.sample2.json Try repeated async events with same name and id 2021-06-23 12:26:27 +03:00

README.md

Build Status Build Status

Build Status Build Status

Open in Gitpod

Collabora Online

Master: Pull request policy

irc Telegram Forum Website L10n Gitpod Ready-to-Code

Your own private Office in the Cloud

Get in touch 💬

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 any of the bridged IRC/Matrix/Telegram rooms

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/job/Tinderbox%20for%20online%20master%20against%20co-22.05/

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

Please consult the README files in the component's directory for more details:

iOS and Android apps

See the corresponding READMEs:

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 click 6080. 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 or CYPRESS_BROWSER="firefox" make check-desktop spec=impress/scrolling_spec.js for one specific test on desktop

Enjoy!