Commit graph

259 commits

Author SHA1 Message Date
ophir
233d756cc7 Use the server's global max_board_size on the client 2021-01-10 19:58:11 +01:00
ophir
fe6ab2bdaa Use mouse wheel to zoom by default
The old behavior was wheel to scroll and ctrl+wheel to zoom.
The new behavior is the opposite.
2021-01-10 19:45:43 +01:00
lovasoa
7df603c249
index: Display an error on empty board name 2020-11-28 21:39:39 +01:00
jamesdeacon
96414aa2f1
Added secondary tool icon (#141)
* Added secondary tool icon

* Create secondary icon in html instead of js

* Revert change to handlebars integrity

* revert package.lock changes

* revert package.lock changes

* Set styles in css instead of js+html

Co-authored-by: James Deacon <james@volute.co.uk>
Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
2020-10-14 23:35:14 +02:00
Chaitanya Raju
a33e557c79 Download Svg Button 2020-08-22 18:29:31 +05:30
David Roundy
407538af96
make pencil more responsive, and even more so if the server throttles its input less (addresses #81) (#114) 2020-08-11 18:00:08 +02:00
David Roundy
245e8fbffe
rename MAX_CURSOR_UPDATES_INTERVAL_MS to MIN_CURSOR_UPDATES_INTERVAL_MS since it is the minimum interval, not the maximum (#113) 2020-08-11 17:38:49 +02:00
Ophir LOJKINE
a6eba9b293 Fix #107 2020-07-27 12:11:27 +02:00
Ophir LOJKINE
7777c5bb42 Add apple-touch-icon-precomposed.png 2020-06-23 18:36:51 +02:00
Ophir LOJKINE
50da719bda
Move (#97)
* Add mover skeleton

Atm it is just the eraser with new icons and renamed variables

* The mover not detect the object to move

* We can move ellipses and rectangles

* The mover now moves all types of objects

* Add the move everything functionality

* Aesthetic changes

* Replace the use of const and let with classic var

* Undo few commits

* Start the transform-translate implementation

* Mover now moves with transform translate

* Put the function to get the translation matrix in the Tools

* Shapes (ellipse, line, pencil, rect, and text) now properly load translate coords

* Add the transform-translate to the createSVG functions

* Done movement using transform-translate

* Fix parenthesization bug in the SVG create

* Fix comment about mover states

* Undo translation loading from Ellipse, Mover, Pencil, and Text tools

* Makes the board send update message to the mover as needed

* Remove the old code from the line tool too

* Simplify the mover tool

See #86

* update the mover icon

* Merge the mover and the hand tools

* Improve preview for pre-rendered elements

* v1.6.0

Co-authored-by: Paolo Bolzoni <paolo.bolzoni1@studenti.unipr.it>
2020-06-21 23:48:32 +02:00
ophir
b77d26a9e8 Add a square as a secondary tool for the rectangle 2020-05-14 00:02:14 +02:00
ophir
de973e0a05 Improve the straight line tool
The straight line tool can now draw "sticky" lines
which have a vertical angle that is a multiple of 2pi/16
2020-05-13 23:39:16 +02:00
finnboeger
740246528f
Add a whiteout tool as the secondary function of the pencil tool (#47)
* added whiteout icon made by Freeplk on flaticon.com

* added whiteout fluid icon (public domain).

* Added whiteout tool as secondary function of pencil tool.

Co-authored-by: Robert Beach <rdbeach@gmail.com>

* shrink icon width using stroke

* shrink whiteout icon properly

* shrink whiteout fluid icon

* reduce number of allowed messages

* simplify

* remove layer code

* renmove show/hide marker code

* change white to #ffffff

* make toggle function compatible with current implementation

* Revert changes unrelated to the whiteout tool

* Refactor secondary tool logic between ellipse and pencil

* Add translations for the whiteout pen

* Fix tests

Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: ophir <pere.jobs@gmail.com>

(@rdbeach)
2020-05-13 22:15:11 +02:00
finnboeger
3a85e45439
Add a svg export with proper rounding (#58)
* make live version render single-point paths the same as preview does

* implemented smoothing in server side rendering

* separate preview from export

* ensure correct handling of paths with only one child

* break out rendering of 3rd point and up into separate function

* changed test for 2 points to math current implementation and added a test for a bezier curve with 3 lines

* deduplicate code to extrapolate points for bezier curves

* fix merge

* Factor more code between the client and the server

Completely remove the straight line approximation foor paths

Vastly improve preview performance

* Add support for opacity in preview

* Stream board previews to the browser

Previously, svg board previews were generated in memory
and then pushed to the client.

They are now streamed to the client without blocking the main thread.

# Performance

## Before

$ ab -n 30 -c 15 http://localhost:8080/preview/ic3
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient).....done

Server Software:
Server Hostname:        localhost
Server Port:            8080

Document Path:          /preview/ic3
Document Length:        14352691 bytes

Concurrency Level:      15
Time taken for tests:   19.499 seconds
Complete requests:      30
Failed requests:        0
Total transferred:      430588920 bytes
HTML transferred:       430580730 bytes
Requests per second:    1.54 [#/sec] (mean)
Time per request:       9749.374 [ms] (mean)
Time per request:       649.958 [ms] (mean, across all concurrent requests)
Transfer rate:          21565.33 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       0
Processing:   727 8885 1561.6   9220    9817
Waiting:      718 5380 2668.8   5569    9549
Total:        727 8885 1561.6   9220    9817

Percentage of the requests served within a certain time (ms)
  50%   9220
  66%   9239
  75%   9245
  80%   9248
  90%   9560
  95%   9811
  98%   9817
  99%   9817
 100%   9817 (longest request)

## After

$ ab -n 30 -c 15 http://localhost:8080/preview/ic3
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient).....done

Server Software:
Server Hostname:        localhost
Server Port:            8080

Document Path:          /preview/ic3
Document Length:        14352687 bytes

Concurrency Level:      15
Time taken for tests:   17.647 seconds
Complete requests:      30
Failed requests:        0
Total transferred:      430588020 bytes
HTML transferred:       430580610 bytes
Requests per second:    1.70 [#/sec] (mean)
Time per request:       8823.254 [ms] (mean)
Time per request:       588.217 [ms] (mean, across all concurrent requests)
Transfer rate:          23828.86 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       0
Processing:   719 8212 1440.6   8657    8810
Waiting:      701 4666 2324.8   4788    8769
Total:        719 8212 1440.6   8657    8811

Percentage of the requests served within a certain time (ms)
  50%   8657
  66%   8670
  75%   8691
  80%   8790
  90%   8802
  95%   8808
  98%   8811
  99%   8811
 100%   8811 (longest request)

* Write the element id and opacity only when needed

* Fix a bug in wbo_pencil_point

* Rework the integration tests for the pencil tool

* Test server-side rendering in integration tests

* Remove unused function

* Remove unused id fallback

* set return types

* fix rectangle

* set fill for rect in stylesheet instead

Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
2020-05-08 21:15:39 +02:00
finnboeger
edace1c293
add option to block tools (#66)
* add option to block tools

* use tool name instead of computing an id

Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>

* require comma separated list as input of blocked tools environment variable

Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>

* Log attempts to use blocked tools

Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>

* fix syntax

* require tool names to not have a comma in them

* Update server/configuration.js

Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
2020-05-08 12:19:52 +02:00
Ophir LOJKINE
710c13acf4 Fix meta description 2020-05-05 15:23:52 +02:00
finnboeger
57a02c42d6
Improve compatibility with Internet Explorer (#63)
* include promise polyfill

* remove es6

* add viewBox to every icon

* change self closing to explicitly closing tags

* replace window.scroll.. with document.documentElement.scroll..

* verify document.activeElement.blur() is a function before calling

* fix visuals of color chooser (colorpicker still sometimes buggy)

* do not attach to mouseleave event in IE

* attempt removal with usecapture true in IE as well, this fixes the tool switching issue

* fix text tool for IE

* fix cursor for IE

* change curMode to boolean and rename to 'active'

* replace minified canvascolor with unminified code

* replace if else structure with switch statement

* compile polyfill for each browser individually

* remove static polyfills from board.js

* Fix broken js reference

* Fix unused variable and empty console log

* Allow serving non-minified polyfills for easier debugging

* Add proper caching for polyfill.js

This request is on the critical path, we should try to make it fast

* Include more polyfills

All the DOM polyfills were missing

* Update dependencies

* Add missing polyfill

Our custom polyfill was deleted, but the one from polyfill-library hadn't been added

* Remove feature detection for Node.contains

We now have the function in the polyfills

* Update polyfill caching logic

* Remove content-Length header

Co-authored-by: @lovasoa
2020-05-05 12:01:46 +02:00
finnboeger
1eecf2a6ef
move pattern definition back into js (#64) 2020-05-04 09:51:40 +02:00
finnboeger
efe4b38b7d
Add a grid (#61)
* Add oneTouch option when creating tool. These tools won't be selected, rather their onstart action will be executed once.

Useful for undo/redo/clear/upload/zoom-in/zoom-out

* added grid

* move pattern to dedicated file

* Reformat code in grid tool

* Restore the gradient over the active tool

* Remove some duplicated code in oneTouch handling

Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
2020-05-03 19:09:14 +02:00
finnboeger
3c453e15c2
Add an ellipse and circle tool (#40)
* Added Circle tool as alternative function of Rectangle tool

* change toggle function to work with new icon structure and toggle name

* split circle into separate tool and added ellipse as secondary function. Also added server side rendering for svg export

* change ellipse to be default

* change circle behaviour to same as inkscape

* toggle to alternative while holding shift

* append to drawing area instead of svg root

* don't update shape after it has been drawn

* Stop logging all rectangles

* Remove es6

* Remove more es6

* Fix a few bugs with circle to ellipse toggling

* Calculate the circle params at creation time, not at rendering time

* Make the behavior of the shift key consistent

When shift is pressed, the current function is reversed: the circle tool draws an ellipse and the ellipse tool draws a circle.
This makes the tool easier to grasp.

* Add required translations

* german translation

* Update the shape immediately when pressing shift

* Fix server-side ellipse rendering

* Add a test for the circle tool

Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
2020-05-03 17:53:44 +02:00
Ophir LOJKINE
66646e6877 Index: change footer and add instagram link 2020-05-02 18:10:10 +02:00
finnboeger
b9605acb87
Add option to change pen size with the scroll wheel (#54)
* add option to change pen size with the scroll wheel

* Update the cursor size immediately when changing the size

* Add a tooltip with the size change shortcut

Co-authored-by: ophir <pere.jobs@gmail.com>
2020-05-02 16:27:28 +02:00
finnboeger
fce694df28
Add a cursor (#46)
* Added cursors

* Prepare cursor code for future settings to toggle cursors on or off.
Let cursor be the color the person has currently selected

* fix cursor on mobile (still won't display it in most cases as there is no hover on mobile but at least it won't throw errors)

* use correct size for cursor

* throttle cursor update rate to dramatically improve performance by eliminating congestion

* fix remote cursor size on desktop

* show own cursor by default and renove offset

* use svg as mouse cursor for pencil to be able to apply a reduced opacity to it and view our cursor

* don't throttle local cursor

* throttle local cursor at an independent higher rate. This could be made user adjustable for low power devices

* remove let and const from client-side code

* get emit count and emit count period from configuration

* reduce network cursor updates a lot to prevent instantly getting banned with the current defaults

* prevent eraser from deleting cursors

* use group inside of svg as drawing area and only delete elements inside it with the eraser

* use transform: translate to move cursors around instead of manipulating x and y directly

* fix: add socket ids to cursor messages

* fix incorrect remote cursor scaling and make local cursor visible again after it has been moved after being hidden due to inactivity

* create cursors in a proper fashion and keep them in a separate group

* scaling has been fixed in a1a5580

* move duplicated cursor creation code to function

* show cursors above content

* pass some of ther server configuration through to the client

* fix bug introduced in a833ce9

* allocate at most half of the allowed traffic to cursor updates

* remove debugging leftover

* use feature detection instead of ua sniffing

Co-Authored-By: Ophir LOJKINE <ophir.lojkine@auto-grid.com>

* fix regression where local cursor color was not updated on color change

* Define the cursor as a tool

* Remove the cursor tool from the UI

* Throttle remote cursor updates, not local ones

* Do not increment notification count on cursor move

* Use only one pencil icon

Use the same image for the pencil icon in the menu
and the pencil cursor that appears while drawing

* Add a test for the new cursor feature

* only stop drawing remote cursor when using some tools and always draw local cursor

* increase idle period before hiding cursor

* change idle duration back and set whether a cursor should be sent when using a tool in the respective tool

Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
Co-authored-by: ophir <pere.jobs@gmail.com>
2020-05-02 06:13:48 +02:00
finnboeger
0f0b333335
Allow running the app behind a reverse proxy (#57)
* change url to hide app behind a relative path

* pass some of ther server configuration through to the client

* serve static files and connect to socket.io correctly when a URL Prefix is set

* Revert the changes to opengraph meta tags

opengraph meta tags need to be absolute URLs

* Remove unused commented-out code

* fix background.png url

* use prefix path for open graph metadata

* Revert changes using server side url modifications

* get open graph and socket.io url from request url / window.location

* remove debug console.log

* Fix favicon when not running under "/"

* Add proxying instructions to the README

Co-authored-by: Laurent Mazet <mazet@softndesign.org>
Co-authored-by: ophir <pere.jobs@gmail.com>
2020-05-01 12:33:13 +02:00
finnboeger
3ba9925d9f
Decrease area occluded by menu and fix menu scroll issue on mobile (#56)
* don't occlude area below menu

* only disable pointer events on the menu on desktop or when a tool has been selected on mobile
2020-04-30 16:18:36 +02:00
finnboeger
d3be4cadf7
swap scroll axis when holding shift (#53) 2020-04-28 21:51:37 +02:00
ophir
2acaa95fd6 Small markup improvements in index page 2020-04-28 21:49:02 +02:00
finnboeger
efbb49d0d1
catch mobile devices that misreport their hover capabilities (#52)
* catch mobile devices that misreport their hover capabilities

* fix media query syntax and use data for main input device
2020-04-28 15:26:09 +02:00
finnboeger
be1880aa1b
Fix various bugs with the menu (#49)
* fix color picker on safari

* do not block space above and below opened tooltip from passing pointer events through to the svg

* don't automatically retract tooltip when hovering

* use focus instead of hover on mobile and blur focus on first touchmove

* stop UA sniffing and assert that activeElement exists before attempting to blur

* Disable dragging of menu icons

* Remove unused CSS property

Property is ignored due to the display. With 'display: block', vertical-align should not be used.

* Better image dragging prevention

Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
2020-04-28 11:47:43 +02:00
finnboeger
2f46c013c2
Improve scroll zoom handling (#50)
* decrease the step size of each zoom operation

* use same stepping on all browsers

* replace math.sign with polyfill
2020-04-28 00:59:19 +02:00
Ophir LOJKINE
e9d3467767 Update color presets 2020-04-27 16:56:36 +02:00
finnboeger
4d065216bd
Improve text tool (#45)
Make the text field of the text tool appear at the position where the text will be written.

* improved Text tool

* ignore layers for now

* only assert value is not null or undefined / allow 0 as value

* remove unused layer code

* Reformat text.js

Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: @finnboeger
2020-04-27 12:48:35 +02:00
ophir
96fa16559e Index page translations 2020-04-26 17:59:41 +02:00
ophir
c944efce58 Remove unused assets 2020-04-26 15:04:37 +02:00
Ophir LOJKINE
10bdaf90f0
Style changes (#39)
* Initial Changes (#1)

* Move socket event handlers and initial connection to connect function

* Converted await statements to .then()

* Toggle tool if clicked again and toggling option exists

Co-authored-by: Finn Böger <finnboeger@googlemail.com>

Co-authored-by: Robert Beach <rdbeach@gmail.com>

* Updated client styles
- disable selecting text in tool menu
- change design of tool boxes to be square and smaller
- reduce text size in sliders

Co-authored-by: Finn Böger <finnboeger@googlemail.com>

* Changed Apple Touch Icon

* Update size and opacity icon, include fontawesome for future use

Co-authored-by: Finn Böger <finnboeger@googlemail.com>

* Changed favicon svg

* replace font-family with valid value

* Added icons and icomoon font

* change eraser and zoom icon

Co-authored-by: Finn Böger <finnboeger@googlemail.com>

* Revert icon change for now

* Revert "Converted await statements to .then()"

This reverts commit b35e0207df.

* Revert "Revert icon change for now"

This reverts commit 34e354f00f.

* Restored new Icons

* Restored favicon

* Remove fontawesome

* Increase icon sizes

* Update the zoom icon

See https://github.com/lovasoa/whitebophir/pull/39#issuecomment-619524098

* set display inline block for tool names, otherwise firefox doesn't respect margin-bottom

* Rework tool icons

* fix color presets position

Co-authored-by: finnboeger <finnboeger@users.noreply.github.com>
Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Finn Böger <finnboeger@googlemail.com>
2020-04-26 14:56:51 +02:00
ophir
8f14b84f9e Rework tool icons 2020-04-26 13:08:17 +02:00
ophir
dd2a574d03 Update the zoom icon
See https://github.com/lovasoa/whitebophir/pull/39#issuecomment-619524098
2020-04-26 12:43:19 +02:00
Ophir LOJKINE
f23926bdef
First merge for #31
Thanks a lot and congratulations to @finnboeger and @rdbeach !
2020-04-26 12:03:11 +02:00
ophir
fc51f0dc0b Optimize icons to make them smaller 2020-04-26 11:53:14 +02:00
Ophir LOJKINE
6baab81f63 Better tool icons 2020-04-26 00:45:42 +02:00
ophir
68ba979919 Start work on svg icons 2020-04-25 22:33:02 +02:00
Robert Beach
6e042a3a82 Toggle tool if clicked again and toggling option exists
Co-authored-by: Finn Böger <finnboeger@googlemail.com>
2020-04-25 17:51:43 +02:00
Robert Beach
204ce7f073 Move socket event handlers and initial connection to connect function
Co-authored-by: Finn Böger <finnboeger@googlemail.com>
2020-04-25 16:46:29 +02:00
ophir
ebaaacde35 Improved i18n system 2020-04-22 10:14:12 +02:00
ophir
e2dde6c82f WIP: i18n of the index page 2020-04-20 23:40:38 +02:00
Ophir LOJKINE
1a392e0798 Update index style 2020-04-20 21:55:57 +02:00
Ophir LOJKINE
29ebe10d20 Improve the style of the index page 2020-04-19 19:41:26 +02:00
ophir
2521aa3a94 Fix a style problem with the backound on the index 2020-04-19 12:09:28 +02:00
ophir
0f20784b8c Updated the style of the index page 2020-04-18 23:17:59 +02:00
Ophir LOJKINE
43c861d022 Make the initial brush size smaller 2020-04-15 14:49:49 +02:00
Ophir LOJKINE
0046cb28d5 Fix unreadable board name
The board name wasn't displayed correctly when it contained special
characters
2020-04-06 19:42:03 +02:00
Ophir LOJKINE
8eebbe9653
Add a list of predefined colors and shortcuts for them
Color presets (#25)

* Add color presets with keys 0..9

Also, initialize size/thickness with 7.

* Add click-able buttons for color presets

* Refactor color presets: use Minitpl

Use Minitpl for creating the color preset buttons. Also, allow for more
colors than keys and don't use just numeric keys, but allow all
characters.

* Fix layout for case if no color presets are defined

* colors in array, CSS fix, restore random initColor

See: https://github.com/lovasoa/whitebophir/pull/24#issuecomment-608409282

* Remove hardcoded size

* Simplify condition

Co-authored-by: adrian.buerli <adrian.buerli@ims.co.at>
2020-04-03 18:11:32 +02:00
Ophir LOJKINE
66f7944b6e
add canonical link 2020-03-21 22:18:56 +01:00
Ophir LOJKINE
209a656ee2
Highlight the fact that WBO is open-source 2020-03-03 14:39:17 +01:00
Ophir LOJKINE
03d8f61f39 Remove unnecessary type attribute on script tags 2019-06-27 16:38:41 +02:00
Ophir LOJKINE
4323e5e81f Reformat the HTML board page 2019-06-27 15:46:39 +02:00
Ophir LOJKINE
45cf1e1406 Improve internationalization 2019-06-27 15:44:16 +02:00
Ophir LOJKINE
b1a5884932 Native viewport width on mobile for the landing page 2019-06-27 12:10:24 +02:00
Ophir LOJKINE
e038527115 Add loading message 2019-06-25 13:28:02 +02:00
Ophir LOJKINE
5f33e55066 Remove menu toggling code 2019-06-24 11:39:38 +02:00
Ophir LOJKINE
fa5c5f0969 Fix input type in text tool 2019-06-24 00:55:14 +02:00
Ophir LOJKINE
2338bfaea7 Fix shortcuts not working while using a slider 2019-06-24 00:37:31 +02:00
Ophir LOJKINE
93492fc2ac Improve the landing page 2019-06-23 23:56:07 +02:00
Ophir LOJKINE
539125b423 More server-side translations 2019-06-23 10:14:13 +02:00
Ophir LOJKINE
3522c52d36 Server-side translations 2019-06-23 09:47:01 +02:00
Ophir LOJKINE
3151651f45 Close text edition field when "escape" is pressed 2019-06-22 21:03:02 +02:00
Ophir LOJKINE
205a17902b Added keyboard shortcuts 2019-06-22 20:54:20 +02:00
Ophir LOJKINE
d2883a787f Remove some dead code 2019-06-22 20:10:20 +02:00
Ophir LOJKINE
706380de4a Update font in the menu 2019-06-19 14:19:23 +02:00
Ophir LOJKINE
2024899c8e UI improvements 2019-06-19 12:09:06 +02:00
Ophir LOJKINE
2538bfdf7c Update favicons 2019-05-01 18:50:53 +03:00
ophir
8e5580e769 update icon 2019-04-07 11:17:18 +02:00
Ophir LOJKINE
55f53b48b6 Display the board name in the page title 2019-03-20 19:00:12 +01:00
Ophir LOJKINE
23d9690aad Use css classes instead of ids 2019-03-20 18:00:22 +01:00
Ophir LOJKINE
29d08385dc Update chinese translation 2019-01-29 18:19:30 +01:00
Ophir LOJKINE
014f5640b9 Usa passive event listeners 2019-01-17 16:58:05 +01:00
Ophir LOJKINE
caf56bd503 Remove will-change optimization after use 2019-01-17 16:48:47 +01:00
Ophir LOJKINE
a980fa1b53 Zoom tool: allow zooming with the mouse wheel 2019-01-17 16:25:11 +01:00
Ophir LOJKINE
72cc16753b Allow pan-to-zoom on touchscreens 2019-01-17 16:19:28 +01:00
Ophir LOJKINE
008f6b3bb4 Add russian translation 2019-01-15 16:59:51 +01:00
Ophir LOJKINE
47c367e6d2 Update the chinese translation 2019-01-15 13:44:59 +01:00
Ophir LOJKINE
169ef33ae7 Add a chinese translation 2019-01-11 13:45:18 +01:00
Ophir LOJKINE
73bc9bfafa Improve zooming performance on chrome 2019-01-06 14:27:43 +01:00
Ophir LOJKINE
138f93dc60 Make diagonal scrolling smoother on Chrome 2019-01-02 01:21:07 +01:00
Ophir LOJKINE
1303874595 Avoid accidental zooming 2019-01-02 01:14:50 +01:00
Ophir LOJKINE
633d74b028 Add support for zoom
Fixes #11
2019-01-02 00:51:13 +01:00
Ophir LOJKINE
22acdc9255 Add the current position to the URL
Fixes #9
2018-12-31 01:58:18 +01:00
Ophir LOJKINE
67e5364567 Make the initial board rendering faster (but less smooth) 2018-12-30 22:53:56 +01:00
Ophir LOJKINE
5eddc262bb change behavior on disconnection 2018-12-18 09:46:30 +01:00
Ophir LOJKINE
ea001f54bd Implement MAX_BOARD_SIZE on the client 2018-12-08 19:40:43 +01:00
ophir
48f6c55ea9 Fix bug (invalid object reuse) in tools 2018-12-02 21:43:01 +01:00
ophir
d16b5c8b97 Make the hand the default tool
I hope this will nudge people towards watching what is already on the board
before starting to draw.

It may encourage people to be constructive.

This is a (very) small step towards #6
2018-12-02 13:23:20 +01:00
ophir
5f2b631209 Change the order of tools 2018-12-02 13:21:01 +01:00
ophir
32c0020dca Add support for transparency
Closes #5
2018-12-02 13:18:29 +01:00
ophir
5c4daacfec Reload the page on server update 2018-11-30 20:29:22 +01:00
Ophir LOJKINE
72e809d57e Random color on login! 2018-11-30 17:41:34 +01:00
Ophir LOJKINE
e708bd79cb Handle reconnection when the server is restarted 2018-11-29 17:54:25 +01:00
Ophir LOJKINE
88aa591e9a Improve initial rendering performance 2018-11-29 17:14:01 +01:00
Ophir LOJKINE
d75371c958 Use a pathData cache to improve rendering performance 2018-11-29 15:52:52 +01:00
ophir
4a1474ad9a Limit the size of text 2018-11-29 01:03:40 +01:00