Re: Updated mobile viewports to make icons and buttons clickable on mobile device in portrait mode

2021-10-11 Thread seba.wag...@gmail.com
It is also possible to directly open the PWA instead of a new Browser
window for when opening OpenMeetings via an invitation link. So that it
opens the PWA directly. You can simply add a special URL parameter:
https://web.dev/pwa-url-handler/

So for invitation links we could potentially simply include the additional
URL parameter for all links, if the PWA is installed it will open it with
this link. Otherwise open in a new browser window. Should have no negative
impact.

In order to support versioning (or different installations of OpenMeetings)
- in case a user has installed multiple OpenMeetings installations on the
same mobile device  - we can include the name in the PWA name, so that it
does separate those versions. This may not be even a problem, but it might
be very handy for developers so you have multiple different icons on your
home screen. Or in case we use the more advanced features of a PWA (e.g.
local storage).

Thanks
Seb

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/
https://om-hosting.com - Cloud & Server Hosting for HTML5
Video-Conferencing OpenMeetings




On Tue, 12 Oct 2021 at 09:20, seba.wag...@gmail.com 
wrote:

> Are we happy to proceed to:
>  * Add manifest file and prompt to save to home screen on Mobile devices
>  * Add prompt for mobile users to rotate device into landscape mode
>
> Thanks
> Seb
>
> Sebastian Wagner
> Director Arrakeen Solutions, OM-Hosting.com
> http://arrakeen-solutions.co.nz/
> https://om-hosting.com - Cloud & Server Hosting for HTML5
> Video-Conferencing OpenMeetings
>
> 
> 
>
>
> On Mon, 11 Oct 2021 at 18:22, seba.wag...@gmail.com 
> wrote:
>
>> I would say OM is for landscape mode ...
>>> Maybe we can show some message like: "OM will be much more useful in
>>> landscape mode :)" ?
>>
>> => That was my first idea too. But I think if we go down that path I
>> would probably also suggest to prompt users to save OpenMeetings to the
>> home screen on the mobile device (and by doing so converting it into a
>> Progressive Web App/PWA). Instead of just prompting for landscape mode.
>>
>> Cause once its a PWA we can:
>>
>>- Control full screen/display mode and maximise screen usage (no back
>>button, no URL navigation bar) - and especially the URL bar stays away! 
>> The
>>annoying thing is that if you scroll on iOS is will show the URL bar again
>>and makes the screen smaller
>>- Orientation landscape (at least in Android, iOS show "unsupported
>>orientation" - user friendly message)
>>- Start OpenMeetings like a Mobile App via an Icon on your home
>>screen (it makes a huge difference actually to user behaviour)
>>
>> So it's a much more "native" feel when converted to PWA. And the effort
>> in order to convert to a PWA is pretty small (create manifest file)
>>
>> In theory users can actually already save it to their home screen.
>> OpenMeetings is just not using any of the features that would help to make
>> it more user friendly in that case.
>>
>> So should we maybe rather prompt to "save to home screen" ? It just seems
>> to give more options to improve things.
>>
>> Thanks
>> Seb
>>
>> Sebastian Wagner
>> Director Arrakeen Solutions, OM-Hosting.com
>> http://arrakeen-solutions.co.nz/
>> https://om-hosting.com - Cloud & Server Hosting for HTML5
>> Video-Conferencing OpenMeetings
>>
>> 
>> 
>>
>>
>> On Mon, 11 Oct 2021 at 16:33, Maxim Solodovnik 
>> wrote:
>>
>>> I would say OM is for landscape mode ...
>>> Maybe we can show some message like: "OM will be much more useful in
>>> landscape mode :)" ?
>>>
>>> On Sun, 10 Oct 2021 at 05:30, seba.wag...@gmail.com <
>>> seba.wag...@gmail.com>
>>> wrote:
>>>
>>> > I've updated the mobile viewports which makes OpenMeetings a lot more
>>> > usable on a Mobile device. Especially when in portrait mode it was
>>> pretty
>>> > much impossible to click any button or icon.Since they are literally
>>> 2x2
>>> > pixels in size on the screen.
>>> >
>>> > There are some sample screens of forms, for example on the login form:
>>> > https://issues.apache.org/jira/browse/OPENMEETINGS-2685
>>> > or when you try to click the icons to share your webcam / microphone:
>>> > https://issues.apache.org/jira/browse/OPENMEETINGS-2686
>>> >
>>> > However now in portrait mode on the mobile device: The whiteboard is
>>> very
>>> > small. This is in portrait mode. Landscape is proportionally fine.
>>> > See screenshots in
>>> 

Re: future of OM frontend

2021-10-11 Thread seba.wag...@gmail.com
>
> The project is responsible for the 3rd party components/libraries it uses
> I try to check the license of JS components (but not their trees)

Re license checking, we could explore using:
https://www.npmjs.com/package/license-checker
=> to automate license checks. That might be quite useful, especially once
more dependencies are added.

Also other build/checks improvements:
Linting JS code - Also what would be good would be to add a linter:
https://www.npmjs.com/package/lint
=> To automate checks for JS formatting. E.g. forgetting to replace
whitespaces with tabs :) A linter can help a lot. And it is very easy to
set up.

Bundling/minify CSS and add linter using NPM: various NPM plugins available
to do it, eg https://www.npmjs.com/package/css-loader
=> NPM can also be used to bundle the CSS files
=> This has also the advantage that you can use the linter to make sure CSS
formatting is good
=> This also has the advantage that you can use further clever ways to
optimise the CSS (https://sass-lang.com/)

this might be dangerous since we have no frontend tests :(

=> We should be able to add JavaScript unit tests using Jest:
https://jestjs.io/
=> And integrate + automate it into our NPM build process
https://www.npmjs.com/package/jest

If I'm not mistaken there was discussion
> Will try to search archives (no ETA unfortunately :(( )

=> Let's maybe fix a few of the above and then we can contact @infra. At
the moment I think there is a few things we can do without ASF support

Thanks
Seb

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/
https://om-hosting.com - Cloud & Server Hosting for HTML5
Video-Conferencing OpenMeetings




On Fri, 8 Oct 2021 at 05:30, Maxim Solodovnik  wrote:

> (moving to dev@)
>
> On Thu, 7 Oct 2021 at 03:59, seba.wag...@gmail.com 
> wrote:
>
> > +1
> >
> > In the long run I am interested in how NPM fits with the Apache
> Foundation.
> > But maybe that is something to raise with @legal and @infra:
> >  - Current vetting of licenses is based heavily on maven (e.g.
> maven-rat),
> > how will that translate into NPM?
> >
>
> The project is responsible for the 3rd party components/libraries it uses
> I try to check the license of JS components (but not their trees)
>
>  - NPM ecosystem is considered a lot more volatile than Maven. A lot more
> > changes in a shorter period of time. Would probably mean even tighter
> > governance on making sure licensing is considered
> >
>
> We are (semi)manually updating versions
> this might be dangerous since we have no frontend tests :(
>
>  - Same for managing dependencies: ASF has a Maven repo, but no NPM
> > repo/mirror. Are there any plans at ASF to establish a NPM mirror, or are
> > we proposing npmjs is what projects should use and publish to?
> >
>
> If I'm not mistaken there was discussion
> Will try to search archives (no ETA unfortunately :(( )
>
> >
> > There is actually an Incubating project that is purely publishing
> themself
> > as NPM module:
> > https://annotator.apache.org/docs/
> > as well as
> > https://cordova.apache.org/ publishes NPM packages
> > as well as
> > https://apache.github.io/royale-docs/get-started/royale-cli
> >
> > So we are not the very first project using it. But I expect more projects
> > in the future.
> >
> > Thanks
> > Seb
> >
> > Sebastian Wagner
> > Director Arrakeen Solutions, OM-Hosting.com
> > http://arrakeen-solutions.co.nz/
> > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > Video-Conferencing OpenMeetings
> > <
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > >
> > <
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > >
> >
> >
> --
> Best regards,
> Maxim
>


Re: Updated mobile viewports to make icons and buttons clickable on mobile device in portrait mode

2021-10-11 Thread seba.wag...@gmail.com
Are we happy to proceed to:
 * Add manifest file and prompt to save to home screen on Mobile devices
 * Add prompt for mobile users to rotate device into landscape mode

Thanks
Seb

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/
https://om-hosting.com - Cloud & Server Hosting for HTML5
Video-Conferencing OpenMeetings




On Mon, 11 Oct 2021 at 18:22, seba.wag...@gmail.com 
wrote:

> I would say OM is for landscape mode ...
>> Maybe we can show some message like: "OM will be much more useful in
>> landscape mode :)" ?
>
> => That was my first idea too. But I think if we go down that path I would
> probably also suggest to prompt users to save OpenMeetings to the home
> screen on the mobile device (and by doing so converting it into a
> Progressive Web App/PWA). Instead of just prompting for landscape mode.
>
> Cause once its a PWA we can:
>
>- Control full screen/display mode and maximise screen usage (no back
>button, no URL navigation bar) - and especially the URL bar stays away! The
>annoying thing is that if you scroll on iOS is will show the URL bar again
>and makes the screen smaller
>- Orientation landscape (at least in Android, iOS show "unsupported
>orientation" - user friendly message)
>- Start OpenMeetings like a Mobile App via an Icon on your home screen
>(it makes a huge difference actually to user behaviour)
>
> So it's a much more "native" feel when converted to PWA. And the effort in
> order to convert to a PWA is pretty small (create manifest file)
>
> In theory users can actually already save it to their home screen.
> OpenMeetings is just not using any of the features that would help to make
> it more user friendly in that case.
>
> So should we maybe rather prompt to "save to home screen" ? It just seems
> to give more options to improve things.
>
> Thanks
> Seb
>
> Sebastian Wagner
> Director Arrakeen Solutions, OM-Hosting.com
> http://arrakeen-solutions.co.nz/
> https://om-hosting.com - Cloud & Server Hosting for HTML5
> Video-Conferencing OpenMeetings
>
> 
> 
>
>
> On Mon, 11 Oct 2021 at 16:33, Maxim Solodovnik 
> wrote:
>
>> I would say OM is for landscape mode ...
>> Maybe we can show some message like: "OM will be much more useful in
>> landscape mode :)" ?
>>
>> On Sun, 10 Oct 2021 at 05:30, seba.wag...@gmail.com <
>> seba.wag...@gmail.com>
>> wrote:
>>
>> > I've updated the mobile viewports which makes OpenMeetings a lot more
>> > usable on a Mobile device. Especially when in portrait mode it was
>> pretty
>> > much impossible to click any button or icon.Since they are literally 2x2
>> > pixels in size on the screen.
>> >
>> > There are some sample screens of forms, for example on the login form:
>> > https://issues.apache.org/jira/browse/OPENMEETINGS-2685
>> > or when you try to click the icons to share your webcam / microphone:
>> > https://issues.apache.org/jira/browse/OPENMEETINGS-2686
>> >
>> > However now in portrait mode on the mobile device: The whiteboard is
>> very
>> > small. This is in portrait mode. Landscape is proportionally fine.
>> > See screenshots in
>> https://issues.apache.org/jira/browse/OPENMEETINGS-2686
>> >
>> > It would be better if in portrait mode on a mobile device screen: The
>> > whiteboard should use more space. For example by toggling the user list
>> to
>> > be "minimised" + adding some additional screen buttons for sharing
>> > webcam/microphone (outside of the user list).
>> >
>> > I would argue the ability to share your audio/video is essential to be
>> > visible. Also on a mobile device. But you don't need to see all the
>> users
>> > in the user list constantly. More important to see the whiteboard and
>> other
>> > users. However currently there isn't a way to minimise the user list
>> _and_
>> > show the audio/video sharing buttons. I'm thinking of adding this
>> > functionality. Just for mobile devices to become more usable.
>> >
>> > Thanks
>> > Seb
>> >
>> > Sebastian Wagner
>> > Director Arrakeen Solutions, OM-Hosting.com
>> > http://arrakeen-solutions.co.nz/
>> > https://om-hosting.com - Cloud & Server Hosting for HTML5
>> > Video-Conferencing OpenMeetings
>> > <
>> >
>> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
>> > >
>> > <
>> >
>> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
>> > >
>> >
>>
>>
>> --
>> Best regards,
>> Maxim
>>
>


Build failed in Jenkins: OpenMeetings » Red5-server #42

2021-10-11 Thread Apache Jenkins Server
See 


Changes:


--
[...truncated 112.54 KB...]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/session/IoSessionConfig.class)]
[INFO] [loading 
modules/java.management/javax/management/NotCompliantMBeanException.class]
[INFO] [loading 
modules/java.management/javax/management/MBeanServerConnection.class]
[INFO] [loading modules/java.management/javax/management/ObjectInstance.class]
[INFO] [loading 
modules/java.management/javax/management/MalformedObjectNameException.class]
[INFO] [loading 
modules/java.management/javax/management/OperationsException.class]
[INFO] [loading modules/java.management/javax/management/JMException.class]
[INFO] [loading 
modules/java.management/javax/management/InstanceAlreadyExistsException.class]
[INFO] [loading 
modules/java.management/javax/management/MBeanRegistrationException.class]
[INFO] [loading modules/java.management/javax/management/MBeanException.class]
[INFO] [loading 
modules/java.management/javax/management/InstanceNotFoundException.class]
[INFO] [wrote 

[INFO] [checking org.red5.logging.DerbyLogInterceptor]
[INFO] [wrote 

[INFO] [wrote 

[INFO] [checking org.red5.server.stream.ITokenBucketService]
[INFO] [wrote 

[INFO] [checking org.red5.server.stream.ITokenBucket]
[INFO] [wrote 

[INFO] [wrote 

[INFO] [checking org.red5.server.stream.ProviderService]
[INFO] [loading 
/home/jenkins/.m2/repository/org/red5/red5-server-common/1.2.8/red5-server-common-1.2.8.jar(/org/red5/server/stream/DefaultStreamFilenameGenerator.class)]
[INFO] [loading modules/java.base/java/nio/file/Watchable.class]
[INFO] [wrote 

[INFO] [checking org.red5.spring.ExtendedPropertyPlaceholderConfigurer]
[INFO] [loading modules/java.base/java/util/Hashtable.class]
[INFO] [loading modules/java.base/java/util/Dictionary.class]
[INFO] [loading modules/java.base/java/util/function/Function.class]
[INFO] [loading modules/java.base/java/util/function/ToDoubleFunction.class]
[INFO] [loading modules/java.base/java/util/function/ToLongFunction.class]
[INFO] [loading modules/java.base/java/util/function/ToIntFunction.class]
[INFO] [wrote 

[INFO] [wrote 

[INFO] [checking org.red5.server.net.remoting.message.RemotingPacket]
[INFO] [wrote 

[INFO] [checking org.red5.server.messaging.ServiceAdapter]
[INFO] [loading modules/java.base/java/lang/UnsupportedOperationException.class]
[INFO] [wrote 

[INFO] [checking org.red5.server.util.LocalNetworkUtil]
[INFO] [wrote 

[INFO] [checking org.red5.server.net.proxy.NetworkDumpFilter]
[INFO] [loading modules/java.base/java/nio/channels/Channel.class]
[INFO] [wrote 

[INFO] [checking org.red5.server.stream.ServerStream]
[INFO] [loading 
/home/jenkins/.m2/repository/org/red5/red5-server-common/1.2.8/red5-server-common-1.2.8.jar(/org/red5/server/api/stream/ResourceNotFoundException.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/red5/red5-server-common/1.2.8/red5-server-common-1.2.8.jar(/org/red5/server/api/stream/ResourceExistException.class)]
[INFO] [loading 

Build failed in Jenkins: OpenMeetings » Red5-server » Red5 :: Server #42

2021-10-11 Thread Apache Jenkins Server
See 


Changes:


--
[...truncated 107.50 KB...]
[INFO] [wrote 

[INFO] [checking org.red5.server.jmx.mxbeans.GlobalScopeMXBean]
[INFO] [wrote 

[INFO] [checking org.red5.server.api.session.ISession]
[INFO] [wrote 

[INFO] [checking org.red5.server.api.stream.support.StreamUtils]
[INFO] [wrote 

[INFO] [checking org.red5.server.api.stream.IServerStream]
[INFO] [wrote 

[INFO] [checking org.red5.server.jmx.mxbeans.CoreHandlerMXBean]
[INFO] [wrote 

[INFO] [checking org.red5.server.net.rtmp.RTMPMinaTransport]
[INFO] [loading modules/java.base/java/lang/Runtime.class]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/buffer/IoBufferAllocator.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/polling/AbstractPollingIoAcceptor.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/service/AbstractIoAcceptor.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/service/IoService.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/service/IoAcceptor.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/session/AbstractIoSession.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/polling/AbstractPollingIoProcessor.class)]
[INFO] [loading modules/java.base/java/util/concurrent/Executor.class]
[INFO] [loading 
modules/java.base/java/util/concurrent/AbstractExecutorService.class]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/filterchain/IoFilterChainBuilder.class)]
[INFO] [loading 
/home/jenkins/.m2/repository/org/apache/mina/mina-core/2.0.21/mina-core-2.0.21.jar(/org/apache/mina/core/session/IoSessionConfig.class)]
[INFO] [loading 
modules/java.management/javax/management/NotCompliantMBeanException.class]
[INFO] [loading 
modules/java.management/javax/management/MBeanServerConnection.class]
[INFO] [loading modules/java.management/javax/management/ObjectInstance.class]
[INFO] [loading 
modules/java.management/javax/management/MalformedObjectNameException.class]
[INFO] [loading 
modules/java.management/javax/management/OperationsException.class]
[INFO] [loading modules/java.management/javax/management/JMException.class]
[INFO] [loading 
modules/java.management/javax/management/InstanceAlreadyExistsException.class]
[INFO] [loading 
modules/java.management/javax/management/MBeanRegistrationException.class]
[INFO] [loading modules/java.management/javax/management/MBeanException.class]
[INFO] [loading 
modules/java.management/javax/management/InstanceNotFoundException.class]
[INFO] [wrote 

[INFO] [checking org.red5.logging.DerbyLogInterceptor]
[INFO] [wrote 

[INFO] [wrote 

[INFO] [checking org.red5.server.stream.ITokenBucketService]
[INFO] [wrote 

[INFO] [checking org.red5.server.stream.ITokenBucket]
[INFO] [wrote