I’m happy to se Xojo has decided that maintaining bug base software is not the business we are in
However, the issues that many people have complained about are not JUST about the tool
Some have characterized their feelings about Xojo as Expected behavior working is not Xojo’s strength
And thats not the result of what tool is used to track bug reports or api proposals
That is is a lack of process in how they do what they do. A rigorous process for making sure what goes out the door works as specified would reduce surprises when betas go out to users.
But I don’t believe they have such a thing.
Sure they changed from Feedback to Issues to have abetter tool for tracking whats in each release. Great !
All that does it give you better tracking of changes.
It doesnt mean that when you make changes you have done rigorous testing of those changes and QA before it gets to users
Was a unit test created that exposes the bug?
And JUST that bug ?
Then the bug fixed and now the unit test passes ?
And do those unit tests get run on every check in so regressions are found & fixed long before they get to an alpha build, never mind a beta ?
Trust me I realize that UI testing this way is tougher to automate.
But its necessary to automate what you can (hello AppleScript & Accessibility !)
And where you cant make darned sure you try & test everything that could be affected.
And if you say it works on Xojo Cloud make sure that is tested too !
Don’t just assume that because it works on my desktop it will work there too !
Issues might be a great tool but it alone is not likely to be the answer to better quality releases
Xojo recently shifted way from Feedback, their home grown bug tracker, to Issues from GitLab. As part of this they’ve added a number of bots that seem to automatically deal with cases.
Comparisons to my old #’s are difficult because Issues tracks multiple tags per case where Feedback basically had a single status
There are some easy comparisons
In Feedback I had 58 Archived cases, several of which I requested be reopened,
In issues there are 99, with several I’ve asked to be reopened.
Archived is a label I’d like to see tossed out as it is, at least in my experience, a label that just plainly says “Thanks for the report we just don’t care to look at this.”
In Feedback I had had 433 Open cases.
As of today in Issues there are 117.
When I look at my closed cases I see a lot that have been updated recently. But I just don’t have the energy to review all the lines closed in the last 2 weeks. I see some marked as duplicates of other cases.
Beyond that its hard to do direct comparisons.
One thing Issues makes possible is that it is possible to quickly search for all kinds of labels
Like, bugs, archived, not marked fixed, by design, implemented, not actionable or not reproducible
Such a query shows, as I write, 4148 of these
Labelled Bug, reproducible and archived a paltry 11
Or reported by other users
Current count of my cases in Feedback
Closed (already Exists) 12
Closed (by Design) 49
Closed (Duplicate) 55
Closed (Misc) 37
Closed (No Longer Reproducible) 5
Closed (Not Actionable) 9
Closed (Not Reproducible) 48
Fixed & Verified 133 (broken down as)
Crashes & assertions 5
Database Plugins 1
Framework – All 16
Framework – Web 4
Framework – Windows 2
Framework – macOS 4
IDE – Auto Complete 6
IDE – Build Automation 2
IDE – Code Editor 5
IDE – Constant Editor 1
IDE – Debugger 1
IDE – Enum Editor 1
Ide – Errors & Warning Panel 2
IDE – FileIO 3
IDE – Inspector 10
IDE – Language Reference 1
IDE – Layout Editor 4
IDE – Library 1
IDE – Menu Editor 1
IDE – Miscellaneous 6
IDE – Navigator 1
IDE – Refactoring Tools 1
IDE -Scripting 1
IDE – UI 3
IDE – UI – Menus 1
IDE – UI – Tabs 1
Implemented & Verified 16
An interesting question posed on TOF
is there any way to inject code into a control’s events at runtime?
Or, is there a way to create a function or sub procedure and create its methods, parameters, and insert code at runtime?
The consensus is, to alter compiled code – no. Which I agree with.
The suggestion was to investigate Xojoscript – which I also agree with.
And with careful planning and configuration you CAN make controls that can actually have their “event handlers” altered at runtime.
Here’s a very rudimentary sample that might spark some imagination & use
There are a few Xojo coded SVG handlers
Most do a minimal level of SVG abut dont handle lots of extra fancy bits. Like proper clip path handling, defs with later uses sections, rotation, scaling, gradient fills and several others.
I’ve been lucky enough to get my hands on a VERY VERY VERY early test version of an SVG plugin.
I posted a movie of it in action on INN
Mine is easy to list. A serious noticeable regression in the debugger.
The debugger simply doesnt work as expected and the more I work the more infuriated I get that this bug has existed for over 2 years now
Voting for it hasnt gotten it fixed. And there are other similar bugs that seem related (like step not behaving a expected (http://feedback.xojo.com/case/68263)
Whats YOUR most important bug report for Xojo to fix ?
Bug – not feature request
Since the last numbers post Xojo has moved a lot of cases to an”archived” status which I believe is a lot like “we’re not spending time on this unless you say its still relevant”. As well they removed several “open” statuses like Reviewed.
Direct comparisons to my last numbers post are more difficult with these changes. As well its hard to get a list of which Archived cases I have asked to be reopened as they are still happening and that I still experience.
closed (already exists) 10
closed (by design) 49
closed (duplicate) 54
closed (misc) 36
closed (no longer reproducible) 5
closed (not actionable) 7
closed (not reproducible) 48
fixed & verified 118
implemented & verified 16
In total theres been a little movement in the intervening 5 months but not a lot
currently ranked # 36
its absolutely maddening
In Xojo I often need to add in a comment about when I modified something or what I was working on
And the comment needs to be in a particular format – and it needs the current date & time as part of the comment
And, I want to be able to insert these EASILY into whatever code I’m working on right where the insertion point is
To do this I came up with this IDE Script that I saved in my Scripts dir next to the IDE
Dim stripped As String
stripped = DoShellCommand("echo ""// Updated `/bin/date ""+%Y-%m-%d %H:%M:%S %Z""` -- NJP"" | /usr/bin/tr -C -d ""[:print:]"" | /usr/bin/pbcopy -Prefer txt")
this will make use of the DoShellCommand to get the unix shell to write a line with the current date in it, copy that to the clipboard, and then paste it right where the insertion point is
You can modify the unix shell commands used to do just about whatever else you want