Web2 still has unusable controls 2+ years after its first release

Just another little test drive and hit another wall (several actually)

did a mockup of a list with pagination andfind out that the WebPagination control is completly unusable.

If the pagination from your database query turns out to not be exactly divisible by the visible pages it is not going to work.

What happens if you need 11 pages? How many visible pages you have to use?

3, 4? WebPagination will show an nonexistent 12th page

5, 10? and the currently existent 11th page is not reachable.


But is even more broken… If in this example I first select the page 3 and then press forward it will reach only the 9th page, making the 10th and 11th not reachable. :roll_eyes:

Workarounds… Ask the end user to avoid saving records to the database until there are enought of the to have a divisible amount of pages? :upside_down_face:

This was actually reported almost 2 years ago and it still doesn’t even have someone assigned. https://tracker.xojo.com/xojoinc/xojo/-/issues/63527

The pagination control should either:

Move in VisiblePages intervals until there is not enought pages left, in this case should move just the pages needed to acomodate the last page in the last visible place:


Or if that is too difficult, move it allways in VisiblePages intervals as now but making sure the last item is reachable AND disablig the others.


** Contextual WebMenu** is unusable on Weblabels…

Contextual menus in Weblabels are clipped to fit the padding box of the paret DIV


And talking about Contextual menus their behaivior is also broken. Any Contextual menu should be closed when another is oppened, but the “contextual” click does not closes the menues as the normal click does.


@Ricardo_Cruz ?

1 Like

Please keep upvoting the Issues that are more relevant to you.

Seems like basic functionality that should already be on the list to be fixed. If it’s not then the Issues tracker is worthless.


I hate the upvoting of issues. It fundamentally doesn’t work.

This is an example of a major bug that needs to be fixed ASAP when it’s raised by a single individual. It clearly is broken.


Whenever a showstopper bug appears, we obviously give it more priority, despite its popularity.

But still, upvoting works and makes more visible those tickets that are under the radar (like the pagination one). Please keep upvoting your most relevant Issues, it helps everyone.


What about https://tracker.xojo.com/xojoinc/xojo/-/issues/69753?

The end user being unable to scroll the page is a huge showstopper for everyone using images.

Preventing the ontouchstart and onpointerdown just to have the “ProtectImage” feature inherited from web1 is not a great idea.

Send me a list of showstoppers, so that you can ship your project. I’ve just verified that one, it has 0 upvotes at the moment :slightly_frowning_face:

If an Issue is really important for you, please remember to add your thumb.


Each morning I search for: https://tracker.xojo.com/xojoinc/xojo/-/issues/?sort=created_date&state=opened&label_name[]=Web&label_name[]=Bug&first_page_size=100. And I look at ONE number: It has gone down each and every day since 2022r2

1 Like



I’m 99.9% human.



So you dont know how issues work?



Not fixed, Just closed.

Thats ugly. How does one search for “@xojobot closed” ??

We can list the closed Web tickets and the only I see closed by the bot are the ones with ‘Information Required’ and not answered in 2 weeks.

Around 7 of the last 50 closed Web issues.

We all want all Web2 bugs fixed yesterday, but that can’t be done. I think Ricardo is doing a good job fixing things.


This" Xojobot closed" issue, if true would be a very serious problem.

However I just spent an hour going thru the closed issues by hand. This is what I learned.

In every single case I see the xojobot is the result of Xojo being ion a position to not be able to identify the bug

Xojo could do a much better job of communicating with the person that files the bug. Frequently the only attempt to reach out is a single email thats say “we need more info”. Xojo is highly dependent on their user base for testing, but they write off users reports when they are less than perfect.

Bottom Line:
Looking at the single number I suggested is very useful and the number is getting smaller despite the fact that xojo still needs to hire professional testers.

1 Like

TBH, many cases I saw are straight forward to reproduce but are closed because it was requiered a video or example proyect. But, it is not the customer job and with the fix rate that extra mille is more than users are willing to give.

On the other hand I have seen the staff creating the Sample projects on the latest issues, maybe is improving? :thinking:

1 Like

Well, you could read Moving from Web 1 to Web 2 and Prepare a Xojo Web 1 app for Web 2 and help to resolve a few problems.

We still have big projects to move and Xojo could help make it easier.

  • Bring back control sets or help converting them, e.g. by adding numbers to the index on first open, so we can put them into an array and access by index.
  • bring back WebStyle class. The projects have a ton of styles and those should be there like in Web 1 or converted to a CSS. But just loosing them is not acceptable. How about you add Opening event and add code to recreate the style from the missing web style assignment?
  • do automatic search & replace to move most of the event name changes automatically.
  • Webtoolbars survive the conversion? Did we get WebToolbar editor back?
  • Make old projects with timer load and run.
  • Was the InitialValue thing fixed?
  • Could WebFileUploader get back a file count and files array, so we know what is in it?

Basically take a bigger Web 1 project and move it over. We have projects in Web 1 with 100+ webpages, 100+ styles and the conversion is very loosy.
After conversion I don’t even know which button had what style.


Moving a web1 proyect automatically is a complete diferent beast. Web2 was not designed for that… they totally ignored the user needs.

I havent designed a complete app in web2, but with the few tests I have made I think that it can be usable fixing this: