Another irritation in 10.0.704.0

Another irritation in 10.0.704.0

  

In previous versions of Service Studio I was able to set a breakpoint on server related code in my mobile app (for data synchronization) which worked perfectly with no other side effects.

In v 10.0.704.0 setting a breakpoint now forces a browser to open the mobile application (not even in a nice mobile device skin).  The breakpoint still works as before when any mobile device (or browser emulator) connects but the opening of the browser is very annoying.  As soon as I close the browser, the breakpoints stop working.

I thought it was perhaps some setting I had changed but after reverting to v10.0.603.0, the problem went away.  Re-installed 704 again and the problem was back.

Seems like 10.0.704.0 has a few little nigglies that have crept through.

(Sent to Support)

Post here any OS Support update. Good you've posted it here too...

No doubt this is related to the mobile debugging present in 704 (in combination with platform 705). Good thing you sent it to support.

Solution

I got a halfhearted reply from OutSystems Support saying "This is by design".

It is horrible!  But...   ALL IS FORGIVEN!!!

Imagine my surprise when I just tried to set a breakpoint in my mobile app and it worked.

OutSystems v10.0.704.0 now allows breakpoints and single-stepping through MOBILE code!

Up to now, the best you could do was single-step through server related code in your mobile app.  Now it will do not only this (including any genuine mobile devices that call that server action) but you can step through mobile code, view variables, etc just like you can on the server.

This is SOOOO nice.  I used to go crazy having to add dummy debug statements to raise alerts or log to the console in order to debug mobile apps.  Now it works like it should.  WELL DONE OUTSYSTEMS.

My only complaint is that the browser launches as a normal screen (not with a nice moble skin).  I don't doubt that they will sort that out some time but the way it is now is just fine for me.  At leasr the system remembers the browser window so it can be resized appropriately and then it just updates each time a new version is published.

Sorry I got irritated with the browser popping up when I thought all I could do was debug server code.  You sure made up for it.

Solution

Hi Lester,

If you start the app in the web preview, you should be able to debug it in there.

Also, at NextStep Lisbon it was announced (and shown!) that late October it would also be possible to debug apps running on an actual device (though connected to the computer with a USB cable), so you will also be able to debug code that interfaces with devices. More good stuff to come!   

Sounds good Killian!  Thanks for the update.

I couldn't get the browser to work in web preview like you said but now seem to have screwed up something that was previously working fine.

I tried publishing and running my mobile app which launched a full-screen browser in preview mode (ie showed mobile skin) with all working fine.  I then enabled debug mode in service studio which launched another copy of the browser but positioned and scaled to fit the mobile app axactly as I had been debugging in previous sessions.  Only this time, the app was fixed slightly smaller than my window and resulting in the bottom being cut off (have to scroll down to see it) and the right side slightly obscured by a scroll bar now present.

Previously I could resize the debugging window as I pleased and the app would fit it.  Now, it remains fixed (and too small) in the upper left corner.  I have tried restarting browsers, service studio and republishing the app but nothing I do gets me back to the way it was working before (ie debugging in a resizable window).

Any idea what I could have done to deserve this?

HI Lester,

When I start a mobile app in a browser, I always get the preview, and I can debug from there. What happens when you click the blue "launch" button in Service Studio? And what happens if you select the App in SS and press "Test in Browser"?

If I click the blue launch button it opens a browser in preview mode (sized to fit most of my screen.  Same thing when I click "Test In Browser".

When I click "Debug in public area" (from debug menu or green PLAY button in debug tab) it opens another browser window sized to fit my mobile app (previously sized by me when I was debugging fine.  This debug window does now NOT resize the app to fit like it used to do.

I can't imagine what has changed?

Ok, I see what you mean. I haven't done much mobile development lately, I forgot it worked like this. I think this is just an immaturity of the feature, I'll check with OS whether this is on the list to be fixed.

I'm just surprised something changed since yesterday.  I have not updated any software, but now behaves differently in not resizing the app in the debug window.  I am sure it was doing that yesterday.  Weird!

Thanks anyway.

Hello Lester,

When debugging, the application is loaded with the dimensions based on the type of screen preview defined on the HomeScreen of your module. This configuration is available on the top left corner of a screen:

For example, in the case above, the application will be loaded with the dimensions of the smartphone portrait preview:

To achieve the behavior you want, i.e., not be limited by any dimensions, and use the browser dimensions instead, you can set the preview mode to 'Desktop and Tablet Landscape' of your HomeScreen, like so:

And the application will then be loaded like this:


I hope I could help, and I'm glad you're enjoying these new debug capabilities.

Cheers!

Hi Helder,

Why is debugging not running in the PreviewInDevices?

Hi Helder,

This does not seem to be the issue.

When I publish and run my app it shows in a browser window (below left)


When I Enable Debugging it opens a new browser window as above.

Resizing this window does not change app size which stays fixed as above.

If I then Disable debugging the debugging window (above right) changes to...


Notice how application expands to fill window no matter what size I drag it to.

This was always displaying like this yesterday when I was debugging.  I have not updated any software since yesterday but only tried running the app in preview mode this morning.  Since then, it only displays as above when debugging is enabled.

I must have changed something (in SS or the browser) but I can't work out what.

Just strange!

Hi Lester,

You're correct, when you open the application via Open In Browser (), the Preview in Devices application is used. 

However, due to technical limitations, the debug session cannot be started using the Preview in Devices. Given this, and to keep the same appearance, the page is loaded with the dimensions of the preview mode.

In your case, the HomeScreen of your app is configured with the Smartphone view (), so the dimensions are fixed. 

To be able to change the dimensions of the browser and make the app adapt to it, open your app's HomeScreen () and change the view to 'Desktop and Tablet Landscape' (), available on the top left corner of Service Studio.

After doing this, close the browser that was opened previously and try again to do a debug session.


Cheers

Helder Marques wrote:

However, due to technical limitations, the debug session cannot be started using the Preview in Devices. 

Are these technical limitations definite, or is there a chance that in the future it's going to work with Preview in Devices?

Kilian Hekhuis wrote:

Helder Marques wrote:

However, due to technical limitations, the debug session cannot be started using the Preview in Devices. 

Are these technical limitations definite, or is there a chance that in the future it's going to work with Preview in Devices?

Hi Kilian,

We are aware that this is a valid use case but technically this is not that straightforward. We don't have concrete plans to tackle this in the near future but we will definitely be paying close attention to it.

(By the way, such a nice feature with such great feedback from you guys in a post with such an ugly name :P Lester, you should rename it to "This is SOOOO nice", your own words ahahah)

Cheers

LOL.  You are right Vasco.  I wanted to change the name but couldn't work out how to do it!.

But now the irritation is back anyway (although much less irritating and more than made up for by the usefulness of the debug feature).


Helder, I hear what you say but this does not help me.

Firstly, my application is a MOBILE app so I don't have the three glyphs you show.  Instead I have Phone/Tablet/Landscape (and the extra one for preview which just shows the normally hidden popup screens)

Even if I select Tablet or Landscape mode, then this is how it is shown and I cannot resize the screen appropriately.  It stays at the selected size no matter what the size of the window around it.

Secondly, you miss my point that something I did made this stop working.  Yesterday I was happily resizing the screen while I was debugging the code and the app would fill it appropriately.  Today this won't work.  All I thought I did was try to run the app in PREVIEW mode (with the blue button) before debugging.  Since then, my debug screen cannot be resized.

Hi Lester,

That was my bad, I didn't understand the option was not available in your case.

Given that, currently, there is no way to allow resizing the application when performing a debug session.

The fact that initially, you were able to do so, is an inconsistency in the behavior and we will take a look at it.

Cheers