Skip to content

Dev3 laser keepupdating - #244

Open
hiroshisuga wants to merge 90 commits into
v3.0.x-releasefrom
dev3_laser_keepupd
Open

Dev3 laser keepupdating#244
hiroshisuga wants to merge 90 commits into
v3.0.x-releasefrom
dev3_laser_keepupd

Conversation

@hiroshisuga

@hiroshisuga hiroshisuga commented Mar 27, 2026

Copy link
Copy Markdown
Owner

[Laser pointer implementation]

Motivation

  • Color blind people (gradient and green color is better)
  • Larger (or can be larger)
  • Hand tool is most frequently used for univ lecture, zooming and panning the slides, and right clicking is empty for the hand tool (easy implementation)
  • Easy selection of color and size from a pulldown menu (profs do not have time to change setting.yml and execute bbb-conf --restart)
  • Cursor size should not change even with zoomed slide.
  • Laser size has to be customized, with two alternative slots (not more!), colors can also be configurable.
  • has to be compatible with Fix(html5): Make the cursor point respect the pointerDiameter setting bigbluebutton/bigbluebutton#24595
  • For Android it works, but no laser (actually any other cursors) shown as a presenter although laser visible in the viewer's screen
  • For iPad it starts work. Menu appears by a long tap.
  • For mobile devices, the presenter's laser is as smooth now as on PCs (Previously it was slow as I used the viewer's cursor position).

(Aug 2026)

  • Replaced hard-coded red/green laser colors with a configurable laserColors array in settings.yml.
  • Chose red and blue-green as the default colors for better color accessibility.
  • Refactored laserDefs so laser variants are generated dynamically from the configured colors and small/large radii.
  • Updated the laser selection menu to display the actual laser SVG graphics, including their real colors and sizes, instead of emoji/special-font symbols.
  • Replaced the hand emoji with BBB’s built-in hand icon for the normal pan mode.

To do and problems

  • Recording not implemented, although events writted in the events.xml file.
  • On Windows or Linux the laser darkens (actually not so bad)
  • the hand icon on the toolbar has to be modified so that the user easily knows where to turn the laser on
  • Not working for a presenter on iOS (as a viewer there is no problem)
  • akka-apps does not start properly (killed gracefully). bbb-conf --restart sometimes does not work for that reason. -> this is not the problem of the source code. By apt install --reinstall bbb-apps-akka can recover the problem (or simply, sudo systemctl start bbb-apps-akka) : the point is to execute: ln -s /lib/systemd/system/bbb-apps-akka.service /etc/systemd/system/multi-user.target.wants/bbb-apps-akka.service , and ln -s /lib/systemd/system/bbb-apps-akka.service /etc/systemd/system/bigbluebutton.target.wants/bbb-apps-akka.service , which are not included in the deploy.sh in akka-bbb-apps source code. -> fix(akka-apps): [development] Correctly start bbb-apps-akka by creating symlinks bigbluebutton/bigbluebutton#25372 fixed the problem
  • bbb-graphql-client-test not modified yet.
  • The halo of viewer's laser turns black in the dark mode on Google Chrome. Safari is fine. Presenter's laser is also fine both for the presenter and for the viewer. I do not fix it for now because the dark-mode is a browser-dependent extension.

To use this PR with the popup PR, you need:

  • to change -> "const targetDoc = popupWindow?.document || document;" (at many places where "const targetDoc = document"; is used) "const targetDoc = getWhiteboardDocument();"
  • to add-> "popupWindow" at the ends of two React.useEffect()s which defines "const targetDoc" (same functions above) (when refactoring on Apr 26, it turned out that they need not to be changed)

@github-actions

Copy link
Copy Markdown

Automated tests Summary

🚨 Test workflow has failed


Click here to check the action test reports (to view the report locally, see the docs)

@hiroshisuga hiroshisuga changed the title Dev3 laser keepupd Dev3 laser keepupdating Mar 27, 2026
hiroshisuga added 29 commits May 6, 2026 21:59
This might have added some stability in the code. But almost surely unnecessary (always included in the args above).
according to the coderabbitai
according to coderabbitai
Remove 
<svg class="tl-collaborator__cursor-hint">
that appears typically when the cursor moves near the right or the bottom edge of the viewer's screen.
We do not need it when the laser is shown.
@github-actions

Copy link
Copy Markdown

🚨 Automated tests failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant