Application not closing cleanly unless I delete some elements

I migrated from nifty-gui 1.3.x to 1.4.1 and I'm experiencing a strange issue with this new version.
When I close my application, it doesn't get destroyed cleanly. Then I narrowed down the problem to the nifty-gui. When I deleted some elements by commenting them in XML, the application started closing cleanly. The strange thing is that it didn't seem to matter much which elements. Only the amount seemed to matter. Removing screen (with lot of elements) made it work. Removing some text-elements made it work.
Here is the XML-file I used:
https://github.com/TripleSnail/Arkhados/blob/jme31/assets/Interface/ClientUI.xml

Can you give a specific example of something you commented out to make the application close properly?

It has been a long time and I don't remember all the experiments, but this is one example from an old branch (now I just use System.exit to work around this issue).
https://github.com/TripleSnail/Arkhados/blob/jme31/assets/Interface/ClientUI.xml#L457
I commented some of those controls. But it's not related to them, because I was able to make app close cleanly by commenting bunch of other elements.
By the way, this issue seems to be exactly the same as this:
https://github.com/void256/nifty-gui/issues/365
I too use JMonkeyEngine 3.1 alpha and I was able to see that there were threads that didn't close.

See #365 for useful code and stack trace.

I don't think this is a Nifty issue, actually. Which Nifty backend is jME using? (or maybe @void256 will know)
The java.util.Timer API is not used anywhere in Nifty's codebase:
https://github.com/void256/nifty-gui/search?utf8=✓&q=java.util.Timer

That being said, there could be another facility or library Nifty is using that is launching a Timer instance. Unfortunately, there probably isn't much we can do about that here.

Yeah that's an issue with EventBus (it's a very old, unsupported library). You might be able to find some hacky way to force kill the thread, but there really isn't much of anything we can do in Nifty to fix that.
The good news is that Nifty 2.0 uses MBassador instead, so this shouldn't be an issue.

I took a closer look and I can confirm that @bgroenks96 is right :/
The problem appears to be that org.bushe.swing.event.ThreadSafeEventService does use a Timer to cleanup ... some things ... in some cases ... that I don't fully understand. They are extensively documented in the JavaDoc of the ThreadSafeEventService class but I still don't complete understand when and how that Timer is running.
However, the main problem here is, that the Timer is created as a non-daemon thread and therefore prevents the JVM to exit.
Here is the corresponding part (line 2100 of that class):
   private void startCleanup() {
      synchronized(listenerLock) {
         if (cleanupTimer == null) {
            cleanupTimer = new Timer();     // THIS IS THE PROBLEM! We need a new Timer(true) here, I think
         }
         if (cleanupTimerTask == null) {
            cleanupTimerTask = new CleanupTimerTask();
            cleanupTimer.schedule(cleanupTimerTask, 0L, cleanupPeriodMS);
         }
      }
   }

The additional odd thing is, that in the JavaDoc of the class the original author says:
* Cleanup is not run in a daemon thread, and thus will not stop the JVM from exiting.

which is not correct and probably the reason for the problem.
I've created an issue for the EventBus project here: https://github.com/michaelbushe/EventBus/issues/4
Maybe there is a way to actual get a fix for this problem after all :)

@void256 The project hasn't been touched in years. At this point, it would be better to just fork and fix it. The only crappy part is we would have to deploy our own version of it to central and use that instead of the original.

@bgroenks96 I'm aware of that. My pull request from 2014 has been ignored as well. Creating that issue is still the right way to at least give the original author a chance to respond.
Since the project is rather small (two packages) and will probably not see another regular release there is another solution besides what you said. We could just go ahead and put the sources directly into Nifty and fix the problem there! Brute force! But I think that's ok given the circumstances.

I reopen that because I think we can do something about it (see comments above)

3a1a5ab496bd4a5a1c3c9c4f8ba0e20d2612563f should fix that issue finally.
Can somebody confirm that with a 1.4.2-SNAPSHOT build it now works better?
Starting with 1.4.2-SNAPSHOT the eventbus is included into the nifty.jar so there is no need for the eventbus-1.4.jar to be in the classpath. In fact the eventbus-1.4.jar MUST be removed from the runtime classpath to prevent any conflicts with the now included eventbus

Great! I didn't try it yet. I'm just wondering, that since jMonkeyEngine is getting really close pushing 3.1 version out. Nifty is still the default GUI library there (1.4.1), but a bug like this is quite off putting. Simple Hello world and your app might not shutdown... Sooooo, is there anyway you could try to sync 1.4.2 release with JME 3.1?
I'm just an user of Nifty & JME. Not in any other way affiliated with those. So sorry if I over stepped my rights.

No, you didn't over stepped anything :wink:
We had that discussion before and the solution was that JME ships with whatever Nifty version is current at the time of their release. Synchronisation between the projects will otherwise be very difficult and would delay everything even more.
From my current point of view this doesn't necessarily has to be a released version of Nifty - it could be a SNAPSHOT, when the following two things are obeyed:

The SPI that the Nifty version in question provides is stable. This is the case for the 1.4.x branch. So there are no changes expected for the part that is implemented on the JME-side. I'm not aware of any changes planned in the Nifty SPI for 1.4.x since we started to shift our main focus a bit more to 2.0 development currently.
The Nifty version in question is in itself "kinda" stable. This applies to the current 1.4.x branch as well as far as I know. Yes, it's "kinda" a development version but again, since we shift focus to 2.0 a bit there are no big changes to be expected.

So for 1.4.2 I, at least, would be fine when JME includes a 1.4.2-SNAPSHOT build.
There is always a risk that the Nifty version included has issues, released version or not.
Please note that this only applies to the current state of 1.4.x (as outlined above) and might change in the future. For instance it's probably NOT a good idea to include 2.0-SNAPSHOT any time soon :wink: but for 1.4.2-SNAPSHOT that's ok for now.
That being said .. we should release 1.4.2 soon :smile: However, it's not planned yet and I need to talk to @bgroenks96 first, if there are some issues remaining we really should fix for 1.4.2. If not, then I don't think there is much that would prevent that. 1.4.2 is the first release that will be available in the maven central so this might delay things a bit since we first need to make sure that everything we depend on is on the central as well. I've not checked that yet iirc but that's the only thing I'm aware off that would delay the release a bit longer.
PS: It would be nice if we find someone that could actually confirm that this issue is fixed using the latest NIfty 1.4.2-SNAPSHOT build since I happen to not be able to reproduce it by myself - but I'm not using JME so it would be nice if maybe @TripleSnail could do that?
PPS: The monkeys are cool but I'm not really following them that close anymore. What's missing is someone like you, that is using and following both projects. Are you interested in becoming like Niftys JME foreign minister? :sunglasses:

Unfortunately replacing old nifty jars with nifty 1.4.2-SNAPSHOT jars didn't seem to solve the problem. Here's what I did. (Please tell me if I need to do something else too)

Download 1.4.2-SNAPSHOT jars
Remove Nifty 1.4.1 jars (nifty, nifty-default-controls, nifty-style-black)
Put equivalent Nifty 1.4.2 jars in place and rename them so that they have the same names as the removed Nifty 1.4.1 jars (so that I don't need to change paths etc.)
Clean & Build
Launch game
Close game

The process didn't terminate. Here's the thread dump:

2016-04-02 20:31:53
Full thread dump OpenJDK 64-Bit Server VM (25.72-b15 mixed mode):

"Attach Listener" #26 daemon prio=9 os_prio=0 tid=0x00007f38f4001000 nid=0x23f4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Timer-1" #25 prio=5 os_prio=0 tid=0x00007f38c8c7d000 nid=0x23c8 in Object.wait() [0x00007f391973c000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x000000077336feb0> (a java.util.TaskQueue)
	at java.util.TimerThread.mainLoop(Timer.java:552)
	- locked <0x000000077336feb0> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

"process reaper" #22 daemon prio=10 os_prio=0 tid=0x00007f38c802a800 nid=0x23c1 waiting on condition [0x00007f3928eac000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006ca0316f0> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"DestroyJavaVM" #20 prio=5 os_prio=0 tid=0x00007f395000a000 nid=0x23a6 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"AWT-XAWT" #15 daemon prio=6 os_prio=0 tid=0x00007f3950769800 nid=0x23bb runnable [0x00007f392b9ee000]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.X11.XToolkit.waitForEvents(Native Method)
	at sun.awt.X11.XToolkit.run(XToolkit.java:568)
	at sun.awt.X11.XToolkit.run(XToolkit.java:532)
	at java.lang.Thread.run(Thread.java:745)

"Java2D Disposer" #13 daemon prio=10 os_prio=0 tid=0x00007f3950741000 nid=0x23ba in Object.wait() [0x00007f39301c1000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000006ca01f3d8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
	- locked <0x00000006ca01f3d8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
	at sun.java2d.Disposer.run(Disposer.java:148)
	at java.lang.Thread.run(Thread.java:745)

"Timer-0" #11 daemon prio=5 os_prio=0 tid=0x00007f395062e000 nid=0x23b9 in Object.wait() [0x00007f39320c3000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000006ca031ac8> (a java.util.TaskQueue)
	at java.util.TimerThread.mainLoop(Timer.java:552)
	- locked <0x00000006ca031ac8> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00007f3950213800 nid=0x23b7 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007f3950206800 nid=0x23b6 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007f3950202000 nid=0x23b5 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f3950200000 nid=0x23b4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f39501fd000 nid=0x23b3 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f39501fb000 nid=0x23b2 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f39501d2800 nid=0x23b1 in Object.wait() [0x00007f39330ef000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000006ca02cc60> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
	- locked <0x00000006ca02cc60> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f39501ce000 nid=0x23b0 in Object.wait() [0x00007f39331f0000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000006ca02ce78> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:502)
	at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
	- locked <0x00000006ca02ce78> (a java.lang.ref.Reference$Lock)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"VM Thread" os_prio=0 tid=0x00007f39501c6800 nid=0x23af runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f395001f000 nid=0x23a7 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f3950020800 nid=0x23a8 runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f3950022800 nid=0x23a9 runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f3950024000 nid=0x23aa runnable

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f3950026000 nid=0x23ab runnable

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f3950027800 nid=0x23ac runnable

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007f3950029800 nid=0x23ad runnable

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007f395002b000 nid=0x23ae runnable

"VM Periodic Task Thread" os_prio=0 tid=0x00007f3950216000 nid=0x23b8 waiting on condition

JNI global references: 368

Thanks for testing!
Did you do that part as well:

In fact the eventbus-1.4.jar MUST be removed from the runtime classpath to prevent any conflicts with the now included eventbus

?

No I didn't but now that I did my game doesn't compile anymore.
error: cannot access EventSubscriber
                        .getRenderer(TextRenderer.class);
  class file for org.bushe.swing.event.EventSubscriber not found

The line was like this:
TextRenderer text = rows.get(i).getRenderer(TextRenderer.class);
I'm not sure why the error happened there since there are many places where I call getRenderer with TextRenderer.class

That's odd! This class is now a part of the nifty.jar and should be available!
Where did you get your 1.4.2-SNAPSHOT jar from?
We've changed the repo some weeks ago. The correct place is now here: https://oss.sonatype.org/content/repositories/snapshots/com/github/nifty-gui/nifty/1.4.2-SNAPSHOT/
And the correct version is the latest one: https://oss.sonatype.org/content/repositories/snapshots/com/github/nifty-gui/nifty/1.4.2-SNAPSHOT/nifty-1.4.2-20160327.130755-19.jar
I've just downloaded this jar and extracted it's content. The class is there!
Can you check again if you're using the correct jar?

I created empty Maven-based project and put this in it (directly from the README.md):
<dependencies>
       <dependency>
           <groupId>com.github.nifty-gui</groupId>
           <artifactId>nifty</artifactId>
           <version>1.4.2-SNAPSHOT</version>
       </dependency>

   </dependencies>
   <repositories>
       <!-- only needed for snapshot builds starting with 1.4.2-SNAPSHOT -->
       <repository>
           <id>ossrh</id>
           <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
       </repository>

       <!-- still needed for some other dependencies not yet available in central like jglfont -->
       <repository>
           <id>nifty-maven-repo.sourceforge.net</id>
           <url>http://nifty-gui.sourceforge.net/nifty-maven-repo</url>
       </repository>
   </repositories>

I compiled the project (mvn compile) so that maven would download the dependencies. I then went to ~/.m2/repository/lessvoid/nifty/1.4.2-SNAPSHOT and copied the nifty-1.4.2-SNAPSHOT.jar and replaced the previous nifty-jar with that. I did the same for the other jars (are they relevant though?).
The only other jar I saw there was nifty-1.4.2-20151105.200211-15.jar.
I just downloaded the jar (with my browser) that you linked to and used that. Now my game seems to terminate cleanly!

PPS: The monkeys are cool but I'm not really following them that close anymore. What's missing is someone like you, that is using and following both projects. Are you interested in becoming like Niftys JME foreign minister? :sunglasses:

Well, depends what is expected of me? :) I'm just struggling to get my game up and running. I'm not that literate in Nifty nor JME. But I do have a built-in paternal instinct that want everything to work nicely on both. For everybody.

But I do have a built-in paternal instinct that want everything to work nicely on both. For everybody.

:+1:  You're hired ;)

@void256 We need to get some documentation up somewhere about this for current Nifty/JME users. Once that's done, I think we can close this issue.

https://github.com/jMonkeyEngine/jmonkeyengine/issues/330, here is the JME issue for this.

@TripleSnail
I've just tried the same (with removing the local maven repo) and I do get the correct "nifty-1.4.2-20160327.130755-19.jar" version. Maybe you've used that empty Maven project trick before and Maven did not update the SNAPSHOT correctly? There is the -U option to force the update of SNAPSHOT-Dependencies. I don't have any other explanation.
@tonihele
Yep, you're hired :wink: There are no specific tasks tho. Just keep an eye on JME development and Nifty development and maybe just help to align both a bit at times. That's all, I guess
@bgroenks96
Thanks for the excellent explanation on the related JME ticket. Well done! :smile:
I'll close this issue now since the original problem appears to be solved. If necessary for the us to create a new issue for the JME integration we should do that.

Yeah I was looking from the wrong directory. Should have looked at com/github/nifty-gui/nifty and not lessvoid. I hadn't used that trick before but I once compiled jME from source using Gradle which could explain how the old version got there.
Thanks for everybody involved in fixing this problem :)


create function doesn't use AuthorizationProvider's isSuperUser method

Describe the bug
when creating a function the method used to check for superUser status does not use the AuthorizationProvider's isSuperUser method. Instead it uses its own version of the superUser method which circumvents the implemented version. The method can be found here.
To Reproduce
Steps to reproduce the behavior:

use a superUser token
try to create a function with a super user that relies on a custom AuthorizationProvider's isSuperUser method
see it fail

Expected behavior
I expect the code to rely on the implemented AuthorizationProvider's isSuperUser method or some version of it.

@Joshhw Thanks for the reporting of this issue. Seems you already root caused this issue. would you like to fix this issue? :)

I can do that.
On Sun, Aug 23, 2020 at 21:40 Jia Zhai<EMAIL_ADDRESS>wrote:

@Joshhw https://github.com/Joshhw Thanks for the reporting of this
issue. Seems you already root caused this issue. would you like to fix this
issue? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/pulsar/issues/7879#issuecomment-678861202, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACR4WP3GIWULCSVWZCK35YLSCHAIFANCNFSM4QIEBENQ
.
--
Joshua Decosta
774-451-1747
<EMAIL_ADDRESS>

@jiazhai this is most likely going to add another method to the AuthorizationProvider will I need to submit something else or just explain it in the PR?


Update RingPM Registry - Add: dotenv

Hi, this is my first package for Ring, can you add it to ringpm registry?
Thanks.
https://github.com/ysdragon/dotenv

Very nice
Thanks for your contribution

Feel free to share a link about the package in Ring Group: https://groups.google.com/g/ring-lang

Okay, thanks.


Add links to remove tags from current query

Simple addition of links to current tags so they can be removed one-by-one. Helps ease navigation through collection of links.

This is a cool idea, but it could use some improvements:

visuals could be improved by moving the current tags below the "Tags" header, and adding more visual clues that clicking this link will remove the tag. Quick mockup:

the current tags could be removed from the tag cloud

to get the current tags from the search query, the _parse_query_string function could be exposed and reused

there's a bug that also lists other search terms as current tags, would likely be fixed by doing the above

duplicates in the current tags should be removed

it needs tests

I have some spare time ATM, so I might give this a shot myself.

Completed this in #307 using your commit as a base

This is great, thank you for cleaning it up and finishing it.


[Regression] increment_build_number action is really slow in 2.203.0, 2.204.0

New Regression Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Regression Information

Breaking version: [e.g. 2.203.0]
Last working version: [e.g. 2.201.2]

Regression Description
In a lane, the step increment_build_number takes very long time (~14 minutes), since upgrading to 2.203.0. This has never happened before, the expected behavior is that this takes < 10 seconds. See timestamps in log below.
Here's the lane in questions:
desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do

    ensure_git_status_clean

    changelog = prompt(
      text: "Changelog: ",
      multi_line_end_keyword: "END"
    )

    test
    match

    increment_build_number( # this takes forever
      build_number: latest_testflight_build_number + 1
    )

    commit_version_bump
    add_git_tag

    gym(
      scheme: "Default",
      export_method: "app-store",
      export_xcargs: "-allowProvisioningUpdates",
      silent: true
    )
    upload_to_testflight(
       changelog: changelog
    )

    slack(
      message: "Laddade upp en ny beta till TestFlight",
      default_payloads: nil,
      payload: {
        "Release notes" => changelog,
      }
    )

    refresh_latest_dsyms_firebase

Complete output when running fastlane, including the stack trace and command used

% bundle exec fastlane beta
[✔] 🚀
[11:39:02]: ----------------------------------------
[11:39:02]: --- Step: Verifying fastlane version ---
[11:39:02]: ----------------------------------------
[11:39:02]: Your fastlane version 2.204.0 matches the minimum requirement of 1.35.0  ✅
[11:39:02]: ------------------------------
[11:39:02]: --- Step: default_platform ---
[11:39:02]: ------------------------------
[11:39:02]: Driving the lane 'ios beta' 🚀
[11:39:02]: -------------------------------------
[11:39:02]: --- Step: ensure_git_status_clean ---
[11:39:02]: -------------------------------------
[11:39:02]: $ git status --porcelain
[11:39:02]: Git status is clean, all good! 💪
[11:39:02]: --------------------
[11:39:02]: --- Step: prompt ---
[11:39:02]: --------------------
[11:39:02]: Changelog:
[11:39:02]: Submit inputs using "END"
Ersätter SiteOverview med implementation i Swift
END
[11:39:04]: -------------------------------------
[11:39:04]: --- Step: Switch to ios test lane ---
[11:39:04]: -------------------------------------
[11:39:04]: Cruising over to lane 'ios test' 🚖
[11:39:04]: -----------------------
[11:39:04]: --- Step: run_tests ---
[11:39:04]: -----------------------
[11:39:05]: Resolving Swift Package Manager dependencies...
[11:39:05]: $ xcodebuild -resolvePackageDependencies -workspace ./REDACTED -scheme Default
[11:39:06]: ▸ Command line invocation:
[11:39:06]: ▸     /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -workspace ./REDACTED -scheme Default
[11:39:06]: ▸ User defaults from command line:
[11:39:06]: ▸     IDEPackageSupportUseBuiltinSCM = YES
[11:39:06]: ▸ --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[11:39:06]: ▸ { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[11:39:06]: ▸ { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[11:39:06]: ▸ { platform:iOS, id:6c064f773cc863e1077b2aba7512f2b70212840c, name:Patriks iPhone, error:Patriks iPhone’s iOS 11.0 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Patriks iPhone’s iOS version or lower REDACTED deployment target. }
[11:39:06]: ▸ { platform:iOS, id:00008030-000248920EA1802E, name:Patriks iPhone 11 }
[11:39:06]: ▸ { platform:iOS, id:bb0488c08b92da4f3b7c531df8e64cb2eeeaccaa, name:Vuxenpaddan, error:Vuxenpaddan’s iOS 13.3 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Vuxenpaddan’s iOS version or lower REDACTED deployment target. }
[11:39:06]: ▸ { platform:iOS Simulator, id:60B119F0-542D-4BDF-A9B5-E1C5EB34F6A2, OS:14.0.1, name:iPhone 8 }
[11:39:06]: ▸ { platform:iOS Simulator, id:6105C7AA-D886-4D3A-8678-7763066893EB, OS:15.2, name:iPhone 8 }
[11:39:06]: ▸ { platform:iOS Simulator, id:31ABB5E7-1147-4A72-A7C2-ABBF590D8DBE, OS:14.0.1, name:iPhone 8 Plus }
[11:39:06]: ▸ { platform:iOS Simulator, id:C646E1C1-5165-499B-BCF4-8682210F1B71, OS:15.2, name:iPhone 11 }
[11:39:06]: ▸ { platform:iOS Simulator, id:7A9B3846-6BC3-46E5-8971-C08B396EE4DE, OS:14.0.1, name:iPhone 11 iOS 14 }
[11:39:06]: ▸ { platform:iOS Simulator, id:BE0AE91A-10C5-4A83-A79A-CC0B674269BE, OS:15.2, name:iPhone 13 }
[11:39:06]: ▸ { platform:iOS Simulator, id:16C04C5E-1120-4C85-919B-55944598F5AD, OS:15.2, name:iPhone 13 Pro Max }
[11:39:06]: ▸ { platform:iOS Simulator, id:2761D818-ED9D-4287-AB49-DB2D5C825CE9, OS:15.2, name:iPhone 13 mini }
[11:39:06]: ▸ { platform:iOS Simulator, id:57796D5F-4DBB-494F-9EC7-80CBCFAB7903, OS:14.0.1, name:iPhone SE iOS 14 (2nd generation) }
[11:39:06]: ▸ resolved source packages:
[11:39:06]: $ xcodebuild -showBuildSettings -workspace ./REDACTED -scheme Default
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS, id:6c064f773cc863e1077b2aba7512f2b70212840c, name:Patriks iPhone, error:Patriks iPhone’s iOS 11.0 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Patriks iPhone’s iOS version or lower REDACTED deployment target. }
{ platform:iOS, id:00008030-000248920EA1802E, name:Patriks iPhone 11 }
{ platform:iOS, id:bb0488c08b92da4f3b7c531df8e64cb2eeeaccaa, name:Vuxenpaddan, error:Vuxenpaddan’s iOS 13.3 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Vuxenpaddan’s iOS version or lower REDACTED deployment target. }
{ platform:iOS Simulator, id:60B119F0-542D-4BDF-A9B5-E1C5EB34F6A2, OS:14.0.1, name:iPhone 8 }
{ platform:iOS Simulator, id:6105C7AA-D886-4D3A-8678-7763066893EB, OS:15.2, name:iPhone 8 }
{ platform:iOS Simulator, id:31ABB5E7-1147-4A72-A7C2-ABBF590D8DBE, OS:14.0.1, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:C646E1C1-5165-499B-BCF4-8682210F1B71, OS:15.2, name:iPhone 11 }
{ platform:iOS Simulator, id:7A9B3846-6BC3-46E5-8971-C08B396EE4DE, OS:14.0.1, name:iPhone 11 iOS 14 }
{ platform:iOS Simulator, id:BE0AE91A-10C5-4A83-A79A-CC0B674269BE, OS:15.2, name:iPhone 13 }
{ platform:iOS Simulator, id:16C04C5E-1120-4C85-919B-55944598F5AD, OS:15.2, name:iPhone 13 Pro Max }
{ platform:iOS Simulator, id:2761D818-ED9D-4287-AB49-DB2D5C825CE9, OS:15.2, name:iPhone 13 mini }
{ platform:iOS Simulator, id:57796D5F-4DBB-494F-9EC7-80CBCFAB7903, OS:14.0.1, name:iPhone SE iOS 14 (2nd generation) }
[11:39:09]: Command timed out after 3 seconds on try 1 of 4, trying again with a 6 second timeout...
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS, id:6c064f773cc863e1077b2aba7512f2b70212840c, name:Patriks iPhone, error:Patriks iPhone’s iOS 11.0 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Patriks iPhone’s iOS version or lower REDACTED deployment target. }
{ platform:iOS, id:00008030-000248920EA1802E, name:Patriks iPhone 11 }
{ platform:iOS, id:bb0488c08b92da4f3b7c531df8e64cb2eeeaccaa, name:Vuxenpaddan, error:Vuxenpaddan’s iOS 13.3 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Vuxenpaddan’s iOS version or lower REDACTED deployment target. }
{ platform:iOS Simulator, id:60B119F0-542D-4BDF-A9B5-E1C5EB34F6A2, OS:14.0.1, name:iPhone 8 }
{ platform:iOS Simulator, id:6105C7AA-D886-4D3A-8678-7763066893EB, OS:15.2, name:iPhone 8 }
{ platform:iOS Simulator, id:31ABB5E7-1147-4A72-A7C2-ABBF590D8DBE, OS:14.0.1, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:C646E1C1-5165-499B-BCF4-8682210F1B71, OS:15.2, name:iPhone 11 }
{ platform:iOS Simulator, id:7A9B3846-6BC3-46E5-8971-C08B396EE4DE, OS:14.0.1, name:iPhone 11 iOS 14 }
{ platform:iOS Simulator, id:BE0AE91A-10C5-4A83-A79A-CC0B674269BE, OS:15.2, name:iPhone 13 }
{ platform:iOS Simulator, id:16C04C5E-1120-4C85-919B-55944598F5AD, OS:15.2, name:iPhone 13 Pro Max }
{ platform:iOS Simulator, id:2761D818-ED9D-4287-AB49-DB2D5C825CE9, OS:15.2, name:iPhone 13 mini }
{ platform:iOS Simulator, id:57796D5F-4DBB-494F-9EC7-80CBCFAB7903, OS:14.0.1, name:iPhone SE iOS 14 (2nd generation) }
+------------------------------------------------+---------------------------------------------------------------------------------+
|                                                     Summary for scan 2.204.0                                                     |
+------------------------------------------------+---------------------------------------------------------------------------------+
| scheme                                         | Default                                                                         |
| device                                         | iPhone 13                                                                       |
| suppress_xcode_output                          | true                                                                            |
| skip_slack                                     | true                                                                            |
| workspace                                      | ./REDACTED                                                       |
| skip_detect_devices                            | false                                                                           |
| ensure_devices_found                           | false                                                                           |
| force_quit_simulator                           | false                                                                           |
| reset_simulator                                | false                                                                           |
| disable_slide_to_type                          | true                                                                            |
| reinstall_app                                  | false                                                                           |
| app_identifier                                 | REDACTED                                                         |
| clean                                          | false                                                                           |
| open_report                                    | false                                                                           |
| output_directory                               | ./fastlane/test_output                                                          |
| output_types                                   | html,junit                                                                      |
| buildlog_path                                  | ~/Library/Logs/scan                                                             |
| include_simulator_logs                         | false                                                                           |
| xcodebuild_formatter                           | xcpretty                                                                        |
| output_remove_retry_attempts                   | false                                                                           |
| derived_data_path                              | /Users/patrik/Library/Developer/Xcode/DerivedData/REDACTED-emwbicdnnllbnxgc  |
|                                                | xxzuzusokrrd                                                                    |
| should_zip_build_products                      | false                                                                           |
| output_xctestrun                               | false                                                                           |
| result_bundle                                  | false                                                                           |
| use_clang_report_name                          | false                                                                           |
| disable_concurrent_testing                     | false                                                                           |
| skip_build                                     | false                                                                           |
| slack_use_webhook_configured_username_and_icon | false                                                                           |
| slack_username                                 | fastlane                                                                        |
| slack_icon_url                                 | https://fastlane.tools/assets/img/fastlane_icon.png                             |
| slack_only_on_failure                          | false                                                                           |
| xcodebuild_command                             | env NSUnbufferedIO=YES xcodebuild                                               |
| skip_package_dependencies_resolution           | false                                                                           |
| disable_package_automatic_updates              | false                                                                           |
| use_system_scm                                 | false                                                                           |
| number_of_retries                              | 0                                                                               |
| fail_build                                     | true                                                                            |
| xcode_path                                     | /Applications/Xcode.app                                                         |
+------------------------------------------------+---------------------------------------------------------------------------------+
[11:39:16]: Disabling 'Slide to Type' iPhone 13
[11:39:16]: $ /usr/libexec/PlistBuddy -c "Add :KeyboardContinuousPathEnabled bool false" /Users/patrik/Library/Developer/CoreSimulator/Devices/BE0AE91A-10C5-4A83-A79A-CC0B674269BE/data/Library/Preferences/com.apple.keyboard.ContinuousPath.plist >/dev/null 2>&1
[11:39:16]: $ set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace ./REDACTED -scheme Default -derivedDataPath /Users/patrik/Library/Developer/Xcode/DerivedData/REDACTED-emwbicdnnllbnxgcxxzuzusokrrd -destination 'platform=iOS Simulator,id=BE0AE91A-10C5-4A83-A79A-CC0B674269BE' build test | tee '/Users/patrik/Library/Logs/scan/REDACTED-Default.log' | xcpretty  --report html --output '/Users/patrik/Programmering/REDACTED/fastlane/test_output/report.html' --report junit --output '/Users/patrik/Programmering/REDACTED/fastlane/test_output/report.junit' --report junit --output '/var/folders/48/vrqtvmx146q__7k5cf39xpth0000gn/T/junit_report20220202-87659-5syyo7'
[11:39:16]: ▸ Loading...
+--------------------+----+
|      Test Results       |
+--------------------+----+
| Number of tests    | 71 |
| Number of failures | 0  |
+--------------------+----+
[11:41:10]: Cruising back to lane 'ios beta' 🚘
[11:41:11]: -------------------
[11:41:11]: --- Step: match ---
[11:41:11]: -------------------
[11:41:11]: Successfully loaded '/Users/patrik/Programmering/REDACTED/fastlane/Matchfile' 📄
+---------+-------------------------------------------+
|     Detected Values from './fastlane/Matchfile'     |
+---------+-------------------------------------------+
| git_url | git@bitbucket.org:REDACTED/certificates.git |
| type    | appstore                                  |
+---------+-------------------------------------------+
+--------------------------------+-------------------------------------------+
|                         Summary for match 2.204.0                          |
+--------------------------------+-------------------------------------------+
| type                           | appstore                                  |
| readonly                       | false                                     |
| generate_apple_certs           | true                                      |
| skip_provisioning_profiles     | false                                     |
| app_identifier                 | ["REDACTED"]               |
| username                       | REDACTED                    |
| storage_mode                   | git                                       |
| git_url                        |<EMAIL_ADDRESS>|
| git_branch                     | master                                    |
| shallow_clone                  | false                                     |
| clone_branch_directly          | false                                     |
| keychain_name                  | login.keychain                            |
| force                          | false                                     |
| force_for_new_devices          | false                                     |
| include_all_certificates       | false                                     |
| force_for_new_certificates     | false                                     |
| skip_confirmation              | false                                     |
| safe_remove_certs              | false                                     |
| skip_docs                      | false                                     |
| platform                       | ios                                       |
| derive_catalyst_app_identifier | false                                     |
| fail_on_name_taken             | false                                     |
| skip_certificate_matching      | false                                     |
| skip_set_partition_list        | false                                     |
| verbose                        | false                                     |
+--------------------------------+-------------------------------------------+
[11:41:13]: Cloning remote git repo...
[11:41:13]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
[11:41:15]: Checking out branch master...
[11:41:15]: 🔓  Successfully decrypted certificates repo
[11:41:15]: Verifying that the certificate and profile are still valid on the Dev Portal...
Available session is not valid any more. Continuing with normal login.
[11:41:17]: Installing certificate...
+-------------------+-------------------------------------------------+
|                        Installed Certificate                        |
+-------------------+-------------------------------------------------+
| User ID           | REDACTED                                      |
| Common Name       | Apple Distribution: REDACTED |
| Organisation Unit | REDACTED                                      |
| Organisation      | REDACTED                                |
| Country           | US                                              |
| Start Datetime    | 2021-12-06 20:32:15 UTC                         |
| End Datetime      | 2022-12-06 20:32:14 UTC                         |
+-------------------+-------------------------------------------------+
[11:41:26]: Installing provisioning profile...
+---------------------+----------------------------------------------------+-----------------------------------------------------+
|                                                 Installed Provisioning Profile                                                 |
+---------------------+----------------------------------------------------+-----------------------------------------------------+
| Parameter           | Environment Variable                               | Value                                               |
+---------------------+----------------------------------------------------+-----------------------------------------------------+
| App Identifier      |                                                    | REDACTED                             |
| Type                |                                                    | appstore                                            |
| Platform            |                                                    | ios                                                 |
| Profile UUID        | REDACTED              | fREDACTED                |
| Profile Name        | REDACTED-name | match AppStore REDACTED              |
| Profile Path        | REDACTED-path | /Users/patrik/Library/MobileDevice/Provisioning     |
|                     |                                                    | Profiles/REDACTED.mobi  |
|                     |                                                    | leprovision                                         |
| Development Team ID | REDACTED-id      | REDACTED                                          |
+---------------------+----------------------------------------------------+-----------------------------------------------------+
[11:41:26]: All required keys, certificates and provisioning profiles are installed 🙌
[11:41:26]: Setting Provisioning Profile type to 'app-store'
[11:41:26]: --------------------------------------------
[11:41:26]: --- Step: latest_testflight_build_number ---
[11:41:26]: --------------------------------------------
[11:41:26]: Login to App Store Connect (REDACTED)
Available session is not valid any more. Continuing with normal login.
[11:41:29]: Login successful
[11:41:32]: Fetching the latest build number for any version
[11:41:32]: Latest upload for version REDACTED on ios platform is build: 10941
[11:41:32]: ------------------------------------
[11:41:32]: --- Step: increment_build_number ---
[11:41:32]: ------------------------------------
Current version of project REDACTED is:
10941
/Users/patrik/Programmering/REDACTED
[11:48:18]: $ cd /Users/patrik/Programmering/REDACTED && agvtool new-version -all 10942 && cd -
[11:55:04]: ▸ Setting version of project REDACTED to:
[11:55:04]: ▸ 10942.
[11:55:04]: ▸ Also setting CFBundleVersion key (assuming it exists)
[11:55:04]: ▸ Updating CFBundleVersion in Info.plist(s)...
[11:55:04]: ▸ Updated CFBundleVersion in "REDACTED/../REDACTED-Info.plist" to 10942
[11:55:04]: ▸ Updated CFBundleVersion in "REDACTED/../Snapshots/Info.plist" to 10942
[11:55:04]: ▸ Updated CFBundleVersion in "REDACTED/../UI Tests/Info.plist" to 10942
[11:55:04]: ▸ Updated CFBundleVersion in "REDACTED/../Unit Tests/Info.plist" to 10942
[11:55:04]: ▸ /Users/patrik/Programmering/REDACTED
[11:55:04]: ---------------------------------
[11:55:04]: --- Step: commit_version_bump ---
[11:55:04]: ---------------------------------
[11:55:04]: $ git rev-parse --show-toplevel
[11:55:04]: ▸ /Users/patrik/Programmering/REDACTED
[11:55:04]: $ git diff --name-only HEAD
[11:55:04]: ▸ REDACTED/project.pbxproj
[11:55:04]: ▸ REDACTED-Info.plist
[11:55:04]: ▸ Snapshots/Info.plist
[11:55:04]: ▸ UI Tests/Info.plist
[11:55:04]: ▸ Unit Tests/Info.plist
[11:55:04]: $ git ls-files --other --exclude-standard
[11:55:04]: $ git add /Users/patrik/Programmering/REDACTED/REDACTED/project.pbxproj /Users/patrik/Programmering/REDACTED/REDACTED-Info.plist /Users/patrik/Programmering/REDACTED/Unit\ Tests/Info.plist /Users/patrik/Programmering/REDACTED/UI\ Tests/Info.plist /Users/patrik/Programmering/REDACTED/Snapshots/Info.plist
[11:55:04]: $ git commit -m 'Version Bump to 10942'
[11:55:04]: ▸ [refactor-siteoverview e5b2a6f3] Version Bump to 10942
[11:55:04]: ▸ 5 files changed, 7 insertions(+), 7 deletions(-)
[11:55:04]: Committed "Version Bump to 10942" 💾.
[11:55:04]: -------------------------
[11:55:04]: --- Step: add_git_tag ---
[11:55:04]: -------------------------
[11:55:04]: Adding git tag 'builds/iosbeta/10942' 🎯.
[11:55:04]: $ git tag -am builds/iosbeta/10942\ (fastlane) builds/iosbeta/10942
[11:55:04]: -----------------
[11:55:04]: --- Step: gym ---
[11:55:04]: -----------------
[11:55:04]: Resolving Swift Package Manager dependencies...
[11:55:04]: $ xcodebuild -resolvePackageDependencies -workspace ./REDACTED -scheme Default
[11:55:06]: ▸ Command line invocation:
[11:55:06]: ▸     /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -workspace ./REDACTED -scheme Default
[11:55:06]: ▸ User defaults from command line:
[11:55:06]: ▸     IDEPackageSupportUseBuiltinSCM = YES
[11:55:07]: ▸ --- xcodebuild: WARNING: Using the first of multiple matching destinations:
[11:55:07]: ▸ { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
[11:55:07]: ▸ { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
[11:55:07]: ▸ { platform:iOS, id:6c064f773cc863e1077b2aba7512f2b70212840c, name:Patriks iPhone, error:Patriks iPhone’s iOS 11.0 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Patriks iPhone’s iOS version or lower REDACTED deployment target. }
[11:55:07]: ▸ { platform:iOS, id:00008030-000248920EA1802E, name:Patriks iPhone 11 }
[11:55:07]: ▸ { platform:iOS, id:bb0488c08b92da4f3b7c531df8e64cb2eeeaccaa, name:Vuxenpaddan, error:Vuxenpaddan’s iOS 13.3 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Vuxenpaddan’s iOS version or lower REDACTED deployment target. }
[11:55:07]: ▸ { platform:iOS Simulator, id:60B119F0-542D-4BDF-A9B5-E1C5EB34F6A2, OS:14.0.1, name:iPhone 8 }
[11:55:07]: ▸ { platform:iOS Simulator, id:6105C7AA-D886-4D3A-8678-7763066893EB, OS:15.2, name:iPhone 8 }
[11:55:07]: ▸ { platform:iOS Simulator, id:31ABB5E7-1147-4A72-A7C2-ABBF590D8DBE, OS:14.0.1, name:iPhone 8 Plus }
[11:55:07]: ▸ { platform:iOS Simulator, id:C646E1C1-5165-499B-BCF4-8682210F1B71, OS:15.2, name:iPhone 11 }
[11:55:07]: ▸ { platform:iOS Simulator, id:7A9B3846-6BC3-46E5-8971-C08B396EE4DE, OS:14.0.1, name:iPhone 11 iOS 14 }
[11:55:07]: ▸ { platform:iOS Simulator, id:BE0AE91A-10C5-4A83-A79A-CC0B674269BE, OS:15.2, name:iPhone 13 }
[11:55:07]: ▸ { platform:iOS Simulator, id:16C04C5E-1120-4C85-919B-55944598F5AD, OS:15.2, name:iPhone 13 Pro Max }
[11:55:07]: ▸ { platform:iOS Simulator, id:2761D818-ED9D-4287-AB49-DB2D5C825CE9, OS:15.2, name:iPhone 13 mini }
[11:55:07]: ▸ { platform:iOS Simulator, id:57796D5F-4DBB-494F-9EC7-80CBCFAB7903, OS:14.0.1, name:iPhone SE iOS 14 (2nd generation) }
[11:55:07]: ▸ resolved source packages:
[11:55:07]: $ xcodebuild -showBuildSettings -workspace ./REDACTED -scheme Default
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS, id:6c064f773cc863e1077b2aba7512f2b70212840c, name:Patriks iPhone, error:Patriks iPhone’s iOS 11.0 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Patriks iPhone’s iOS version or lower REDACTED deployment target. }
{ platform:iOS, id:00008030-000248920EA1802E, name:Patriks iPhone 11 }
{ platform:iOS, id:bb0488c08b92da4f3b7c531df8e64cb2eeeaccaa, name:Vuxenpaddan, error:Vuxenpaddan’s iOS 13.3 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Vuxenpaddan’s iOS version or lower REDACTED deployment target. }
{ platform:iOS Simulator, id:60B119F0-542D-4BDF-A9B5-E1C5EB34F6A2, OS:14.0.1, name:iPhone 8 }
{ platform:iOS Simulator, id:6105C7AA-D886-4D3A-8678-7763066893EB, OS:15.2, name:iPhone 8 }
{ platform:iOS Simulator, id:31ABB5E7-1147-4A72-A7C2-ABBF590D8DBE, OS:14.0.1, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:C646E1C1-5165-499B-BCF4-8682210F1B71, OS:15.2, name:iPhone 11 }
{ platform:iOS Simulator, id:7A9B3846-6BC3-46E5-8971-C08B396EE4DE, OS:14.0.1, name:iPhone 11 iOS 14 }
{ platform:iOS Simulator, id:BE0AE91A-10C5-4A83-A79A-CC0B674269BE, OS:15.2, name:iPhone 13 }
{ platform:iOS Simulator, id:16C04C5E-1120-4C85-919B-55944598F5AD, OS:15.2, name:iPhone 13 Pro Max }
{ platform:iOS Simulator, id:2761D818-ED9D-4287-AB49-DB2D5C825CE9, OS:15.2, name:iPhone 13 mini }
{ platform:iOS Simulator, id:57796D5F-4DBB-494F-9EC7-80CBCFAB7903, OS:14.0.1, name:iPhone SE iOS 14 (2nd generation) }
[11:55:10]: Command timed out after 3 seconds on try 1 of 4, trying again with a 6 second timeout...
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS, id:6c064f773cc863e1077b2aba7512f2b70212840c, name:Patriks iPhone, error:Patriks iPhone’s iOS 11.0 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Patriks iPhone’s iOS version or lower REDACTED deployment target. }
{ platform:iOS, id:00008030-000248920EA1802E, name:Patriks iPhone 11 }
{ platform:iOS, id:bb0488c08b92da4f3b7c531df8e64cb2eeeaccaa, name:Vuxenpaddan, error:Vuxenpaddan’s iOS 13.3 doesn’t match REDACTED iOS 14.0 deployment target. Upgrade Vuxenpaddan’s iOS version or lower REDACTED deployment target. }
{ platform:iOS Simulator, id:60B119F0-542D-4BDF-A9B5-E1C5EB34F6A2, OS:14.0.1, name:iPhone 8 }
{ platform:iOS Simulator, id:6105C7AA-D886-4D3A-8678-7763066893EB, OS:15.2, name:iPhone 8 }
{ platform:iOS Simulator, id:31ABB5E7-1147-4A72-A7C2-ABBF590D8DBE, OS:14.0.1, name:iPhone 8 Plus }
{ platform:iOS Simulator, id:C646E1C1-5165-499B-BCF4-8682210F1B71, OS:15.2, name:iPhone 11 }
{ platform:iOS Simulator, id:7A9B3846-6BC3-46E5-8971-C08B396EE4DE, OS:14.0.1, name:iPhone 11 iOS 14 }
{ platform:iOS Simulator, id:BE0AE91A-10C5-4A83-A79A-CC0B674269BE, OS:15.2, name:iPhone 13 }
{ platform:iOS Simulator, id:16C04C5E-1120-4C85-919B-55944598F5AD, OS:15.2, name:iPhone 13 Pro Max }
{ platform:iOS Simulator, id:2761D818-ED9D-4287-AB49-DB2D5C825CE9, OS:15.2, name:iPhone 13 mini }
{ platform:iOS Simulator, id:57796D5F-4DBB-494F-9EC7-80CBCFAB7903, OS:14.0.1, name:iPhone SE iOS 14 (2nd generation) }
[11:55:13]: Detected provisioning profile mapping: {:"REDACTED"=>"match AppStore REDACTED"}
+-------------------------------------------------------------+-----------------------------------------------------------+
|                                                 Summary for gym 2.204.0                                                 |
+-------------------------------------------------------------+-----------------------------------------------------------+
| scheme                                                      | Default                                                   |
| export_method                                               | app-store                                                 |
| export_xcargs                                               | -allowProvisioningUpdates                                 |
| silent                                                      | true                                                      |
| export_options.provisioningProfiles.REDACTED | match AppStore REDACTED                    |
| workspace                                                   | ./REDACTED                                 |
| clean                                                       | false                                                     |
| output_directory                                            | .                                                         |
| output_name                                                 | REDACTED                                               |
| skip_package_ipa                                            | false                                                     |
| skip_package_pkg                                            | false                                                     |
| build_path                                                  | /Users/patrik/Library/Developer/Xcode/Archives/2022-02-02 |
| result_bundle                                               | false                                                     |
| buildlog_path                                               | ~/Library/Logs/gym                                        |
| destination                                                 | generic/platform=iOS                                      |
| xcodebuild_formatter                                        | xcpretty                                                  |
| skip_profile_detection                                      | false                                                     |
| xcodebuild_command                                          | xcodebuild                                                |
| skip_package_dependencies_resolution                        | false                                                     |
| disable_package_automatic_updates                           | false                                                     |
| use_system_scm                                              | false                                                     |
| xcode_path                                                  | /Applications/Xcode.app                                   |
+-------------------------------------------------------------+-----------------------------------------------------------+
[11:55:16]: ▸ Processing HTMLString-Info.plist
[11:55:16]: ▸ Processing nanopb-Info.plist
[11:55:16]: ▸ Processing PromisesObjC-Info.plist
[11:55:16]: ▸ Copying WhatsNew-umbrella.h
Compiling, processing, etc, REDACTED
[11:56:25]: ▸ Linking REDACTED
[11:56:28]: ▸ Generating 'REDACTED'
[11:56:28]: ▸ Running script '[CP] Embed Pods Frameworks'
[11:56:31]: ▸ Running script 'Swiftlint'
[11:56:32]: ▸ 2022-02-02 11:56:32.722 xcodebuild[90195:2125412]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/DVTiOSFrameworks/DVTiOSFrameworks-19527/DTDeviceKitBase/DTDKRemoteDeviceData.m:373
[11:56:32]: ▸ Details:  (null) deviceType from 60aa4ead5d8510a8c5e6b9285962c88ecd14704d was NULL when -platform called.
[11:56:32]: ▸ Object:   <DTDKMobileDeviceToken: 0x7f8f78053690>
[11:56:32]: ▸ Method:   -platform
[11:56:32]: ▸ Thread:   <NSThread: 0x600003b60a40>{number = 4, name = (null)}
[11:56:32]: ▸ Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
[11:56:33]: ▸ Running script 'Initialize Crashlytics'
[11:56:35]: ▸ Touching REDACTED (in target 'REDACTED' from project 'REDACTED')
[11:56:35]: ▸ Archive Succeeded
[11:56:35]: Generated plist file with the following values:
[11:56:35]: ▸ -----------------------------------------
[11:56:35]: ▸ {
[11:56:35]: ▸   "provisioningProfiles": {
[11:56:35]: ▸     "REDACTED": "match AppStore REDACTED"
[11:56:35]: ▸   },
[11:56:35]: ▸   "method": "app-store",
[11:56:35]: ▸   "signingStyle": "manual"
[11:56:35]: ▸ }
[11:56:35]: ▸ -----------------------------------------
[11:56:49]: Successfully exported and compressed dSYM file
[11:56:49]: Successfully exported and signed the ipa file:
[11:56:49]: REDACTED
[11:56:49]: ----------------------------------
[11:56:49]: --- Step: upload_to_testflight ---
[11:56:49]: ----------------------------------
[11:56:49]: Login to App Store Connect<EMAIL_ADDRESS>[11:56:51]: Login successful
[11:56:54]: Ready to upload new build to TestFlight (App: REDACTED)...
[11:56:54]: Fetching password for transporter from environment variable named FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
[11:56:55]: Going to upload updated app to App Store Connect
[11:56:55]: This might take a few minutes. Please don't interrupt the script.
[11:57:38]: iTunes Transporter successfully finished its job
[11:57:38]: ------------------------------------------------------------------------------------------------------------------
[11:57:38]: --- Successfully uploaded package to App Store Connect. It might take a few minutes until it's visible online. ---
[11:57:38]: ------------------------------------------------------------------------------------------------------------------
[11:57:38]: Successfully uploaded the new binary to App Store Connect
[11:57:38]: If you want to skip waiting for the processing to be finished, use the skip_waiting_for_build_processing option
[11:57:38]: Note that if skip_waiting_for_build_processing is used but a changelog is supplied, this process will wait for the build to appear on AppStoreConnect, update the changelog and then skip the remaining of the processing steps.
[11:57:38]: Waiting for processing on... app_id: REDACTED, app_version: REDACTED, build_version: REDACTED, platform: IOS
[11:57:39]: Read more information on why this build isn't showing up yet - https://github.com/fastlane/fastlane/issues/14997
[11:57:39]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[11:58:09]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[11:58:40]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[11:59:10]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[11:59:40]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[12:00:11]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[12:00:44]: Waiting for App Store Connect to finish processing the new build REDACTED for IOS
[12:01:16]: Waiting for App Store Connect to finish processing the new build REDACTED for IOS
[12:01:47]: Waiting for App Store Connect to finish processing the new build REDACTED for IOS
[12:02:18]: Waiting for App Store Connect to finish processing the new build REDACTED for IOS
[12:02:49]: Successfully finished processing the build REDACTED for IOS
[12:02:49]: Successfully set the changelog for build
[12:02:49]: Using App Store Connect's default for notifying external testers (which is true) - set notify_external_testers for full control
[12:02:49]: Distributing new build to testers: REDACTED
[12:02:49]: Successfully distributed build to Internal testers 🚀
[12:02:49]: -------------------
[12:02:49]: --- Step: slack ---
[12:02:49]: -------------------
[12:02:50]: Successfully sent Slack notification
[12:02:50]: --------------------------------------------------------------
[12:02:50]: --- Step: Switch to ios refresh_latest_dsyms_firebase lane ---
[12:02:50]: --------------------------------------------------------------
[12:02:50]: Cruising over to lane 'ios refresh_latest_dsyms_firebase' 🚖
[12:02:50]: ----------------------------
[12:02:50]: --- Step: download_dsyms ---
[12:02:50]: ----------------------------
[12:02:50]: Login to App Store Connect (REDACTED)
[12:02:52]: Login successful
[12:02:55]: Looking for latest build...
[12:02:57]: Looking for dSYM files for 'REDACTED' on platform IOS REDACTED
[12:02:58]: Waiting for dSYM file to appear...
[12:03:29]: Waiting for dSYM file to appear...
[12:04:02]: 🔑  Successfully downloaded dSYM file for REDACTED to 'REDACTED.dSYM.zip'
[12:04:02]: -------------------------------------------
[12:04:02]: --- Step: upload_symbols_to_crashlytics ---
[12:04:02]: -------------------------------------------
[12:04:02]: Uploading REDACTED...
[12:04:43]: Uploading REDACTED.dSYM.zip'...
[12:05:24]: Successfully uploaded dSYM files to Crashlytics 💯
[12:05:24]: -----------------------------------
[12:05:24]: --- Step: clean_build_artifacts ---
[12:05:24]: -----------------------------------
[12:05:24]: Cleaned up build artifacts 🐙
[12:05:24]: Cruising back to lane 'ios beta' 🚘
[12:05:24]: --------------------------
[12:05:24]: --- Step: notification ---
[12:05:24]: --------------------------
+------+--------------------------------------------------+-------------+
|                           fastlane summary                            |
+------+--------------------------------------------------+-------------+
| Step | Action                                           | Time (in s) |
+------+--------------------------------------------------+-------------+
| 1    | Verifying fastlane version                       | 0           |
| 2    | default_platform                                 | 0           |
| 3    | ensure_git_status_clean                          | 0           |
| 4    | prompt                                           | 2           |
| 5    | Switch to ios test lane                          | 0           |
| 6    | run_tests                                        | 125         |
| 7    | match                                            | 15          |
| 8    | latest_testflight_build_number                   | 6           |
| 9    | increment_build_number                           | 811         |
| 10   | commit_version_bump                              | 0           |
| 11   | add_git_tag                                      | 0           |
| 12   | gym                                              | 105         |
| 13   | upload_to_testflight                             | 359         |
| 14   | slack                                            | 0           |
| 15   | Switch to ios refresh_latest_dsyms_firebase lane | 0           |
| 16   | download_dsyms                                   | 71          |
| 17   | upload_symbols_to_crashlytics                    | 82          |
| 18   | clean_build_artifacts                            | 0           |
| 19   | notification                                     | 0           |
+------+--------------------------------------------------+-------------+
[12:05:24]: fastlane.tools just saved you 26 minutes! 🎉

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
12.1

Ruby
3.0.3

Bundler?
true

Git
git version 2.32.0 (Apple Git-132)

Installation Source
~/.gem/ruby/3.0.3/bin/fastlane

Host
macOS 12.1 (21C52)

Ruby Lib Dir
~/.rubies/ruby-3.0.3/lib

OpenSSL Version
OpenSSL 1.1.1l  24 Aug 2021

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
13.2.1

Swift Version
5.5.2

System Locale

Variable
Value

LANG
sv_SE.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/KrauseFx/fastlane/tree/master/docs
# All available actions: https://github.com/KrauseFx/fastlane/blob/master/docs/Actions.md
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# By default, fastlane will send which actions are used
# No personal data is shared, more information on https://github.com/fastlane/enhancer
# Uncomment the following line to opt out
# opt_out_usage

# If you want to automatically update fastlane if a new version is available:
#update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.35.0"

default_platform :ios

platform :ios do
  before_all do
    ENV["SLACK_URL"] = "REDACTED"
    ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "REDACTED"

  end

  desc "Runs all the tests"
  lane :test do
    run_tests(scheme: "Default",
              device: "iPhone 13",
              suppress_xcode_output: true,
              skip_slack: true
    )
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do

    ensure_git_status_clean

    changelog = prompt(
      text: "Changelog: ",
      multi_line_end_keyword: "END"
    )

    test
    match

    increment_build_number(
      build_number: latest_testflight_build_number + 1
    )

    commit_version_bump
    add_git_tag

    gym(
      scheme: "Default",
      export_method: "app-store",
      export_xcargs: "-allowProvisioningUpdates",
      silent: true
    )
    upload_to_testflight(
       changelog: changelog
    )

    slack(
      message: "Laddade upp en ny beta till TestFlight",
      default_payloads: nil,
      payload: {
        "Release notes" => changelog,
      }
    )

    refresh_latest_dsyms_firebase

  end

  desc "Quickly submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :fast_beta do

    ensure_git_status_clean
    #test

    increment_build_number
    commit_version_bump
    add_git_tag

    match
    gym(scheme: "Default")

    upload_to_testflight(
      skip_waiting_for_build_processing: true
    )

  end

  desc "Submit a new beta to external testers"
  desc "This will also make sure the profile is up to date"
  lane :beta_external do

    ensure_git_status_clean

    changelog = prompt(
      text: "Changelog: ",
      multi_line_end_keyword: "END"
    )

    test

    increment_build_number(
      build_number: latest_testflight_build_number + 1
    )

    commit_version_bump
    add_git_tag
    build_number = get_build_number

    match
    gym(
      scheme: "Default",
      export_method: "app-store",
      export_xcargs: "-allowProvisioningUpdates",
      silent: true
    )
    upload_to_testflight(
       changelog: changelog,
       distribute_external: true,
       notify_external_testers: true
    )

    slack(
      message: "Laddade upp och distribuerade en ny beta till testarna",
      default_payloads: nil,
      payload: {
        "Release notes" => changelog,
        "Version number" => get_version_number,
        "Build number" => build_number
      }
    )

    refresh_latest_dsyms_firebase

  end

  lane :upload do

  	changelog = prompt(
      text: "Changelog: ",
      multi_line_end_keyword: "END"
    )

	upload_to_testflight(
    	changelog: changelog
    )

    slack(
      message: "Laddade upp en ny beta till TestFlight",
      default_payloads: nil,
      payload: {
        "Release notes" => changelog,
      }
    )

    refresh_dsyms

  end

  desc "Release the latest TestFlight version to App Store, använd release notes som de står i App Store Connect"
  lane :release_latest do

    changelog = prompt(
      text: "Release notes: ",
      multi_line_end_keyword: "END"
      )

    deliver(
       force: true,
       submit_for_review: true,
       automatic_release: true,
       skip_binary_upload: true,
       skip_screenshots: true,
       skip_metadata:true,
       submission_information: { add_id_info_uses_idfa: false },
       whatsNew: changelog
       )

    slack(
      message: "Skickade senaste bygget till granskning för App Store",
      payload: {
        "Release notes" => changelog,
        "Build number" => latest_testflight_build_number
      }
    )
    refresh_dsyms

  end

  desc "Announce to Slack team about new release available in App Store"
  lane :announce do

    UI.header "Input posting data"

    changelog = prompt(
      text: "Release notes: ",
      multi_line_end_keyword: "END"
      )

    # Bugg om jag kör två UI.input i rad, då får användaren inte svara på första frågan
    version_number = prompt(text: "Version number? ")
    build_number = UI.input("Build number? ")

    UI.important "About to 🚀!"
    UI.message "Version number: #{version_number}"
    UI.message "Build number    #{build_number}"
    UI.message "Release notes:  \n#{changelog}"

if UI.confirm("OK to proceed?")
      slack(
        message: "Ny version av Skidspår.se för iPhone är nu tillgänglig i App Store",
        payload: {
          "Version number" => version_number,
          "Build number" => build_number,
          "Release notes" => changelog
        },
      default_payloads: [],
      )
else
  UI.error "Aborting!"
end

    refresh_latest_dsyms_firebase
  end

  desc "Deploy a new version to the App Store"
  lane :deploy do
    snapshot
  desc "** Full Markdown** Support: `code`"

    ensure_git_status_clean

    increment_build_number(
      build_number: latest_testflight_build_number + 1
    )

    commit_version_bump
    add_git_tag

    sync_code_signing(type: "appstore")
    build_app(scheme: "REDACTED")

    deliver(
      force: true,
      submit_for_review: true
    )

  end

  lane :refresh_dsyms do
    download_dsyms                  # Download dSYM files from iTC
    upload_symbols_to_crashlytics(app_id: "1: REDACTED", dsym_worker_threads: 2)   # Upload them to Crashlytics
    clean_build_artifacts           # Delete the local dSYM files
  end

  desc "Fetch and upload dSYM files to Firebase Crashlytics"
  lane :refresh_dsyms_firebase do |options|
    download_dsyms(version: options[:version])
    upload_symbols_to_crashlytics(gsp_path: "./GoogleService-Info.plist")
    clean_build_artifacts
  end

  desc "Upload latest dSYM to Firebase Crashlytics"
  lane :refresh_latest_dsyms_firebase do
  	  download_dsyms(version: "latest", wait_for_dsym_processing: true)
  	  upload_symbols_to_crashlytics   # Upload them to Crashlytics
  	  clean_build_artifacts           # Delete the local dSYM files
  end

  lane :sample_notification do
	# test
	#refresh_dsyms_firebase 2.5.3
  end

  # You can define as many lanes as you want

  after_all do |lane|
    # This block is called, only if the executed lane was successful
    notification(
    	message: "Körning klar",
    	activate: "com.apple.Terminal",
    	content_image: "REDACTED/Images.xcassets/AppIcon.appiconset/REDACTED.png",
    	sound: "Breeze"
    )

  end

  error do |lane, exception|
  	notification(
  		message: exception.message,
  		activate: "com.apple.Terminal",
  		app_icon: "REDACTED/Images.xcassets/AppIcon.appiconset/REDACTED.png",
  		sound: "Submerge"
  	)

  end
end

`./fastlane/Appfile`
app_identifier "REDACTED" # The bundle identifier of your app
apple_id "REDACTED" # Your Apple email address

# You can uncomment any of the lines below and add your own
# team selection in case you're in multiple teams
# team_name "Felix Krause"
# team_id "Q2CBPJ58CA"

# you can even provide different app identifiers, Apple IDs and team names per lane:
# https://github.com/KrauseFx/fastlane/blob/master/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

fastlane
2.204.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.5.0

bundler
2.2.32

pathname
0.1.0

rake
13.0.6

rexml
3.2.5

CFPropertyList
3.0.5

public_suffix
4.0.6

addressable
2.8.0

artifactory
3.0.15

atomos
0.1.3

aws-eventstream
1.2.0

aws-partitions
1.551.0

aws-sigv4
1.4.0

jmespath
1.5.0

aws-sdk-core
3.125.5

aws-sdk-kms
1.53.0

aws-sdk-s3
1.111.3

babosa
1.0.4

claide
1.1.0

colored
1.2

colored2
3.1.2

highline
2.0.3

commander
4.6.0

declarative
0.0.20

digest-crc
0.6.4

unf_ext
0.0.8

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.7.6

emoji_regex
3.2.3

excon
0.90.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

multipart-post
2.0.0

faraday-multipart
1.0.3

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

faraday-retry
1.0.3

ruby2_keywords
0.0.5

faraday
1.9.3

http-cookie
1.0.4

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.6

gh_inspector
1.1.3

jwt
2.3.0

memoist
0.16.2

multi_json
1.15.0

os
1.1.4

signet
0.16.0

googleauth
1.1.0

httpclient
2.8.3

mini_mime
1.1.2

trailblazer-option
0.1.2

uber
0.1.0

representable
3.1.1

retriable
3.1.2

webrick
1.7.0

google-apis-core
0.4.2

google-apis-androidpublisher_v3
0.16.0

google-apis-playcustomapp_v1
0.7.0

google-apis-iamcredentials_v1
0.10.0

google-apis-storage_v1
0.11.0

google-cloud-env
1.5.0

google-cloud-errors
1.2.0

google-cloud-core
1.6.0

google-cloud-storage
1.36.0

json
2.6.1

mini_magick
4.11.0

naturally
2.2.1

optparse
0.1.1

plist
3.6.0

rubyzip
2.3.2

security
0.1.3

simctl
1.6.8

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

word_wrap
1.0.0

nanaimo
0.3.0

xcodeproj
1.21.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.1

generated on: 2022-02-02

After reporting this issue, I noticed other apps behaving erratically, like infinite beach balls and crashes, and eventually the computer rebooted itself. I suspect either some hardware issue or subtle memory corruption. After the reboot, the issue has not manifested. Will close now, and reopen if it reappears.


Simplify CodeGenerator.addMergeFromBuilderMethod

Move conditional logic from CodeGenerator to DefaultPropertyFactory using a Block.
The intermediate variable is now the base builder instead of its _unsetProperties member, as the resulting code is more readable and the base builder will be used for other purposes in a future PR.
Merge from Builder methods now always have "Does not affect any properties not set on the input" in their JavaDoc, though this will not actually be true until #98 is fixed.

:+1:


Missing DOTA_Gamestate value

There's a value missing for when you're loading into a custom game, which throws when trying to parse into DOTA_GameState.
DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP
I'd send you a pull request, but I've also taken the liberty of introducing some interfaces and refactoring the thread/IAsyncResult stuff into TPL.  Let me know if you want a PR.

Included in V1.0.3 along with other fixes. Thank you.


Adding Support for Converting to and from Crowsetta Objects

Adding Support for Converting to and from Crowsetta Objects
Overview:
Crowsetta is a great Python library facilitating the integration of various annotation formats into Python workflows. It streamlines the process of reading annotations from different file formats by converting them into a standardized data object known as crowsetta.Annotation. Currently, there is no direct support for converting between Crowsetta annotation objects and Soundevent data structures.
Proposal:
The addition of support for converting to and from Crowsetta annotation objects would significantly enhance the interoperability between Crowsetta and Soundevent. This feature would enable users to leverage the extensive functionality provided by Crowsetta for loading annotations from diverse formats within the Soundevent ecosystem.
Ideas:
Crowsetta exposes an crowsetta.Annotation class that encapsulates information about different sounds annotated within a recording. The closest analogous object in Soundevent is a soundevent.data.ClipAnnotation, representing annotations over an audio clip extracted from a recording (where the clip is chosen to cover the full recording). Hence, the most straightforward approach to supporting Crowsetta Annotations would be by creating functions to convert between crowsetta.Annotations and soundevent.data.ClipAnnotation objects.
Crowsetta Annotations can contain two types of annotations: segments (crowsetta.Segment) grouped into a crowsetta.Sequence, or bounding boxes (crowsetta.BBox). These segments and bounding boxes can be converted into soundevent.data.SoundEventAnnotation objects with soundevent.data.TimeInterval and Soundevent.data.BoundingBox geometries, respectively. Both crowsetta.Segment and crowsetta.BBoxes also store a label field, providing a class to each "sound event," which can be naturally mapped onto soundevent.data.Tag objects.
Challenges

Labels and Tags: Crowsetta employs single textual labels for annotations, while Soundevent utilizes lists of key-value pairs known as tags to attach additional semantic information. Converting between labels and tags is non-trivial due to the differing formats, requiring careful consideration of multiple options.

Multiple Geometries: Crowsetta supports a limited range of geometries, whereas Soundevent offers a wider variety. Converting non-compatible geometries to Crowsetta presents challenges in ensuring compatibility and data integrity.

The crowsetta.Sequence object: While Crowsetta groups segment annotations into a crowsetta.Sequence object, Soundevent defines a similar soundevent.data.Sequence object. However, their semantics differ in several aspects: Crowsetta restricts each Annotation to a single Sequence, while soundevent allows multiple sequences per ClipAnnotation. Additionally, soundevent permits SoundEvents not belonging to a Sequence, unlike Crowsetta where all segments must be part of a sequence. This divergence suggests that crowsetta.Sequence and soundevent.data.Sequence should not be directly converted into each other.

Reference to a recording: soundevent annotations retain references to the recordings they originate from (both ClipAnnotations and SoundEventAnnotations). In contrast, Crowsetta's Annotation object includes a notated_path field referencing the original recording, which may be empty. Converting from Crowsetta to Soundevent requires providing recording information if notated_path is null.

Reference to an annotation file: Crowsetta assumes that all Annotation objects originate from an annotation file, necessitating a required annot_path field. While creating crowsetta.Annotation objects with a random annot_path is possible without adverse effects, it may seem strange.

Acknowledgements:
We would like to express our gratitude to Sam Lapp (@sammlapp), Tessa Rhinehart (@rhine3), Sasha Syunkova (@syunkova), and Leonardo Teixeira for suggesting this feature. Special thanks to David Nicholson for his invaluable contributions to Crowsetta (@NickleDave)!

I've implemented the initial version of the proposed ideas. The changes can be reviewed in detail in pull request #3.


Fix the go build from pilot directory

Fixes the go build from pilot directory, since top level still does not work.

@andraxylia: Adding do-not-merge/release-note-label-needed because the release note process has not been followed.

One of the following labels is required "release-note", "release-note-action-required", or "release-note-none".
Please see: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#write-release-notes-if-needed.
Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

PR title does not match content

@andraxylia: Adding do-not-merge/release-note-label-needed because the release note process has not been followed.

One of the following labels is required "release-note", "release-note-action-required", or "release-note-none".
Please see: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#write-release-notes-if-needed.
Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Error creating D:\boost directory for windows build on self hosted runner

Github workflow gives me this error when running this action for a windows platform:
Run<EMAIL_ADDRESS>with:
boost_version: 1.69.0
toolset: msvc14.1
...
Starting<EMAIL_ADDRESS>Downloading versions-manifest.json...
Parsing versions-manifest.json...
Create D:\boost
D:\boost does not exist, creating it
Error: Error: UNKNOWN: unknown error, mkdir 'D:\boost'

Weird. The test workflow runs fine. Are you maybe running your workflow on a self-hosted runner, which maybe doesn't have the D:\ drive or insufficient rights to create a directory in that specific location?

Weird. The test workflow runs fine. Are you maybe running your workflow on a self-hosted runner, which maybe doesn't have the D:\ drive or insufficient rights to create a directory in that specific location?

I am running it on a self hosted runner but it has no D: drive. Is it required?

I am running it on a self hosted runner but it has no D: drive. Is it required?

Yeah, well, kind of. I did not consider self-hosted runners when creating this action. In hindsight, it doesn't seem that smart to install directly to the D: drive. I'll try to create a new directory in $GITHUB_WORKSPACE/boost and add an option to to set your own target directory.
This shouldn't take too long, hang in there.

Yeah, well, kind of. I did not consider self-hosted runners when creating this action. In hindsight, it doesn't seem that smart to install directly to the D: drive. I'll try to create a new directory in $GITHUB_WORKSPACE/boost and add an option to to set your own target directory.
This shouldn't take too long, hang in there.

Okay, the changes are made, seems to work.
Just use<EMAIL_ADDRESS>instead of the old version.
Boost will now by default be installed into $GITHUB_WORKSPACE/boost, as stated in the readme. If this doesn't work in your case, I've added the boost_install_dir option, so you can set your very own install directory.
Use it like this:
- name: Install boost
  uses<EMAIL_ADDRESS>  id: install-boost
  with:
    boost_version: 1.69.0
    toolset: msvc14.1
    boost_install_dir: C:\some_directory

I hope this helps. I'll leave this issue open, you can close it, if this has resolved your issue.

Okay, the changes are made, seems to work.
Just use<EMAIL_ADDRESS>instead of the old version.
Boost will now by default be installed into $GITHUB_WORKSPACE/boost, as stated in the readme. If this doesn't work in your case, I've added the boost_install_dir option, so you can set your very own install directory.
Use it like this:
- name: Install boost
  uses<EMAIL_ADDRESS>  id: install-boost
  with:
    boost_version: 1.69.0
    toolset: msvc14.1
    boost_install_dir: C:\some_directory

I hope this helps. I'll leave this issue open, you can close it, if this has resolved your issue.

@MarkusJx Thanks for the quick response. I assume you mean 1.0.1, not v1.0.1 because the former is the one that's listed in the marketplace? Otherwise it works fine, thanks again.
Do you know if the actions/boost-versions will include older versions of boost? I ask because I still need to build the boost python and numpy libraries with python2 and the later versions of boost prebuilt binaries don't include these.

@MarkusJx Thanks for the quick response. I assume you mean 1.0.1, not v1.0.1 because the former is the one that's listed in the marketplace? Otherwise it works fine, thanks again.
Do you know if the actions/boost-versions will include older versions of boost? I ask because I still need to build the boost python and numpy libraries with python2 and the later versions of boost prebuilt binaries don't include these.

I just f*cked up that naming scheme, huh? Well, now both 1.0.1 and v1.0.1, thank you very much for mentioning that.
As to the older boost versions, well, you could take a look at the list of supported versions in the actions/boost-versions repo, the oldest ones they list is version 1.69.0 and it doesn't seem like they are pretty eager to add more versions as they last updated that version list in June 2020.
So your best bet would probably be to build boost yourself or maybe use prebuilt ones from SourceForge, there are a lot of them, but these may not be compatible with your compiler, as the oldest ones were built more than a decade ago.
It may be actually to be a good idea to also support installing these SourceForge-prebuilt ones with this action, but that seems like some work, as I'd have to look into compiler support with these versions. I may add that in the future, but I'd probably wouldn't start working on that in at least a month, so that's that.

I just f*cked up that naming scheme, huh? Well, now both 1.0.1 and v1.0.1, thank you very much for mentioning that.
As to the older boost versions, well, you could take a look at the list of supported versions in the actions/boost-versions repo, the oldest ones they list is version 1.69.0 and it doesn't seem like they are pretty eager to add more versions as they last updated that version list in June 2020.
So your best bet would probably be to build boost yourself or maybe use prebuilt ones from SourceForge, there are a lot of them, but these may not be compatible with your compiler, as the oldest ones were built more than a decade ago.
It may be actually to be a good idea to also support installing these SourceForge-prebuilt ones with this action, but that seems like some work, as I'd have to look into compiler support with these versions. I may add that in the future, but I'd probably wouldn't start working on that in at least a month, so that's that.


OFBIZ-11415: Backport - Use FlexibleStringExpander for field parameter names.

Backport of OFBIZ-11330 to release 18.12 branch.

If this PR is accepted them https://github.com/apache/ofbiz-framework/pull/37 (for OFBIZ-11418) should be applied too.


Form responses storing and validation

Closes #8
Created models for form responses, added captcha and blacklist validation and updated user validation. Now also stores data to DB.
Also added duplicate ID validation for forms as side change (found bug when testing).

Wrong button, meant to request changes!

There are a couple of other places where status codes should be returned. We'll also standardise the error format at some point.
Don't worry about those, implement the changes in this PR and I'll open a PR in the next day or so to change things — but they are not critical.


Remove wrong plugin from build.gradle.

Fixes http://app.projects.tm/task/b0f828d1-2af3-45b3-9ed1-9ebc3a1511da

Current coverage is 77.26%

Merging #111 into master will not affect coverage as of 1980442

@@            master    #111   diff @@
======================================
  Files           71      71
  Stmts         2278    2278
  Branches       271     271
  Methods
======================================
  Hit           1760    1760
  Partial         97      97
  Missed         421     421

Review entire Coverage Diff as of 1980442

Powered by Codecov. Updated on successful CI builds.

It's good you found it. LGTM.

LGTM


upcoming: [M3-7983] - Use 'edge'-class plans for edge regions

Description 📝
Updates the logic in PlansPanel to display plans with the new 'edge' class when deploying a Linode in an edge region.
Target release date 🗓
ASAP (out of cycle)
Preview 📷

Before
After

Note: The "Edge Nanode 1" plan is used in internal testing only.

How to test 🧪
Prerequisites

Add the edge_compute and edge_testing customer tags.

Verification steps

Enter the Linode Create flow
Select an edge region
Verify only 'edge'-class plans are displayed

As an Author I have considered 🤔
Check all that apply

[x] 👀 Doing a self review
[x] ❔ Our contribution guidelines
[x] 🤏 Splitting feature into small PRs
[x] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[ ] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

I noticed the API is returning the plans out of order. Will we need to client side sort them or can we make them fix that?

I mentioned this to the API team, they will resolve it on their side.


Implement input support

For #8601
Support using input in interactive and notebook cells.

Codecov Report

Merging #8602 into master will decrease coverage by 0.08%.
The diff coverage is 2.7%.

@@            Coverage Diff            @@
##           master   #8602      +/-   ##
=========================================
- Coverage   58.48%   58.4%   -0.09%
=========================================
  Files         520     520
  Lines       23541   23548       +7
  Branches     3858    3861       +3
=========================================
- Hits        13769   13753      -16
- Misses       8853    8868      +15
- Partials      919     927       +8

Impacted Files
Coverage Δ

src/client/datascience/types.ts
100% <ø> (ø)
:arrow_up:

...tascience/jupyter/liveshare/hostJupyterNotebook.ts
10.4% <0%> (ø)
:arrow_up:

src/client/datascience/jupyter/jupyterNotebook.ts
6.16% <0%> (-0.11%)
:arrow_down:

...datascience/jupyter/liveshare/hostJupyterServer.ts
15.85% <0%> (-0.2%)
:arrow_down:

...client/datascience/jupyter/jupyterServerFactory.ts
32.25% <50%> (ø)
:arrow_up:

src/client/common/utils/platform.ts
64.7% <0%> (-23.53%)
:arrow_down:

src/client/common/platform/pathUtils.ts
66.66% <0%> (-5.56%)
:arrow_down:

src/client/linters/pydocstyle.ts
84.61% <0%> (-5.13%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
79.24% <0%> (-3.78%)
:arrow_down:

src/client/linters/pylint.ts
94.54% <0%> (-3.64%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 207657c...590f52c. Read the comment docs.


End to end implementation of logical ops.

Following ops are added

logical_and
logical_not
logical_or
logical_xor

closes #901

Can you please cover emitC path in this review?

Thanks for pointing it out. updated.


Add a WildEmitter.mixin(<constructor>) method for mixing emitter behaviour into a "class" more easily.

So I love WildEmitter, but I can literally never remember how to actually use it. And even when I read the docs I forget that I have to both inherit from a new Emitter, and do Emitter.call(this) in my constructor, I always forget one or the other.
This PR makes it as easy as
var Emitter = require('wildemitter');

function Fruit () {
  //My own constructor code
}

Emitter.mixin(Fruit)

And doesn't break backwards compatibility.

Is this something we are still interested in pursing? This was opened quite some time ago. @HenrikJoreteg

@austinkelleher i think it makes sense, if you want to get it done, i'm a +1.

:+1: I like this. It looks so much cleaner than the old way.

I'm happy to merge this, but it's too out of sync with master. If someone wants to get it back up to speed, i'm happy to give them access to merge/publish.

I'll make a new Pull Request

@kohenkatz i've added you as a contributor here as well. Happy to give you npm access too, just need your username there.

Closing in favor of #15.

@HenrikJoreteg Thanks. My npm username is the same as my Github - kohenkatz


Updated prefect_dbt.cloud.jobs import

Updated prefect_dbt.cloud.jobs import to reflect accurate name for prefect_dbt.cloud.jobs import()

Summary

Relevant Issue(s)

Checklist

[ ] Summarized PR's changes in CHANGELOG.md

Thanks! The tests are fixed in https://github.com/PrefectHQ/prefect-dbt/pull/22 so that needs to go in first.


EnumerateLibrary.GetPosition() surprisingly slow

Describe the bug
In a simple enumeration loop, if one is iterating over library.GetPosition() in the loop, it takes up to 40% of the runtime of the loop.
For a full enumeration, counting/calculating the position yourself everytime in python is much faster and reduces the overhead to almost zero compared to the actual work in the iterator (i.e. RunReactants).
To Reproduce
Will update to a full example soon.
    library = EnumerateLibrary(rxn, bbs)
    reagents = library.GetReagents()
    for product_template_results in library:
        # print input reactant monomers and the product
        libpos = library.GetPosition()
        for i, n in enumerate(libpos): # <- this line iterates over a vector of size_t with 3 elements and takes 40% of the runtime
            print(reagents[i][n].GetProp("_Name"))

Expected behavior
The line taking less than 1% of the runtime.
Screenshots

Configuration (please complete the following information):

RDKit version: 2023.09.6
OS: macOS 14.5
Python version (if relevant): 3.11
Are you using conda? no

Wow, that is amazingly slow
for product_template_results in library:
        # print input reactant monomers and the product
        libpos = library.GetPosition()

6.11 ms ± 13 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

 for product_template_results in library:
     # print input reactant monomers and the product
     libpos = library.GetPosition()
     for i, n in enumerate(libpos):
         pass

111 ms ± 271 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

for template_results in library:
     # print input reactant monomers and the product
     libpos = library.GetPosition()
     pos = libpos[0], libpos[1]

6.26 ms ± 13.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

I think I can probably return a python tuple as opposed to the boost wrapped vector and see if this speeds it up.

Aah I actually didn't think about indexing! Good idea. This is a better workaround for now.
Yes a tuple would probably be fine here.
I hope the iteration in other registered wrapped Vect types is not so bad. Didn't check others.

Here's a simpler example that also uses on of the boost::python - generated vector proxies.
First a "longer" vector (47 entries):
In [55]: m = Chem.MolFromSmiles('C'*50)

In [56]: ps = Chem.FindAllPathsOfLengthN(m,3)

In [57]: len(ps)
Out[57]: 47

In [58]: %timeit [(i,x) for i,x in enumerate(ps)]
18.7 μs ± 171 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

In [59]: %timeit [x for x in ps]
17.5 μs ± 127 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

In [60]: %timeit [ps[i] for i in range(len(ps))]
27.1 μs ± 19.5 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

In [61]: lps = len(ps)

In [62]: %timeit [ps[i] for i in range(lps)]
27 μs ± 57.5 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

Now a shorter one (3 entries):
In [65]: ps47 = Chem.FindAllPathsOfLengthN(m,47)

In [66]: len(ps47)
Out[66]: 3

In [67]: %timeit [(i,x) for i,x in enumerate(ps47)]
8.7 μs ± 6.53 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

In [68]: %timeit [x for x in ps47]
8.54 μs ± 33.2 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

In [74]: %timeit [ps47[i] for i in range(len(ps47))]
1.27 μs ± 0.586 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

In [75]: lps = len(ps47)

In [76]: %timeit [ps47[i] for i in range(lps)]
1.17 μs ± 10.3 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

There clearly is overhead associated with iterating over the elements of one of the proxies as well as with repeatedly indexing into the vector (which also requires crossing into C++).
For comparison, here's the same timing if I convert the longer list to a tuple first:
In [78]: tpl = tuple(tuple(x) for x in ps)

In [80]: %timeit [x for x in tpl]
335 ns ± 1.41 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

In [81]: %timeit [(i,x) for i,x  in enumerate(tpl)]
873 ns ± 7.79 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

In [82]: %timeit [tpl[i] for i in range(len(tpl))]
455 ns ± 1.83 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

For cases like these where the C++ is returning a new data structure which is intended to be handed to, and owned by, Python, it probably would make sense to return tuples (since the returned objects are immutable and all of the same type) instead of the vector proxies. We already do this in some places, but writing some helper code to make it easier wouldn't be dumb.
There may be some issues with situations where we need to save ownership information (like when the members of the returned tuple need to keep the owning class alive), but we can keep an eye out for those.

#7719 put in the framework to close this issue, the next PR will actually fix this and a few others,