Regression: Ammonite 1.0.3 only downloads sources for added repositories, whereas 1.0.2 does the right thing

Starting with a clean coursier and clean ~/.ammonite:
For 1.0.3:
Welcome to the Ammonite Repl 1.0.3
(Scala 2.12.4 Java 1.8.0_112)
If you like Ammonite, please support our development at www.patreon.com/lihaoyi
@ interp.repositories() ++= Seq(coursier.MavenRepository("https://m2proxy.atlassian.com/repository/public"))

@ import $ivy.`com.atlassian.jira:jira-rest-java-client-api:5.0.4`
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4.pom
  100.0% [##########] 3.0 KiB (6.5 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-parent/5.0.4/jira-rest-java-client-parent-5.0.4.p…
  100.0% [##########] 8.3 KiB (90.8 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/public-pom/5.0.8/public-pom-5.0.8.pom
  100.0% [##########] 1.7 KiB (20.3 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/base-pom/5.0.8/base-pom-5.0.8.pom
  100.0% [##########] 31.1 KiB (191.9 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/third-party/3.1.7/third-party-3.1.7.pom
  100.0% [##########] 8.8 KiB (56.2 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/platform/3.1.7/platform-3.1.7.pom
  100.0% [##########] 25.9 KiB (64.9 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/platform-poms/3.1.7/platform-poms-3.1.7.pom
  100.0% [##########] 2.0 KiB (18.1 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/public-pom/4.0.7/public-pom-4.0.7.pom
  100.0% [##########] 2.2 KiB (20.5 KiB / s)
https://repo1.maven.org/maven2/com/atlassian/pom/base-pom/4.0.7/base-pom-4.0.7.pom
  100.0% [##########] 29.8 KiB (197.3 KiB / s)
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom
  100.0% [##########] 3.8 KiB (41.8 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0.pom
  100.0% [##########] 5.5 KiB (67.5 KiB / s)
https://repo1.maven.org/maven2/joda-time/joda-time/2.9.9/joda-time-2.9.9.pom
  100.0% [##########] 33.8 KiB (206.2 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0.pom
  100.0% [##########] 2.3 KiB (24.1 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
  100.0% [##########] 6.1 KiB (64.9 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/atlassian-public-pom/42/atlassian-public-pom-42.pom
  100.0% [##########] 2.2 KiB (19.5 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-parent/1.0.0/atlassian-httpclient-parent-1.0…
  100.0% [##########] 11.0 KiB (103.0 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava-parent/18.0/guava-parent-18.0.pom
  100.0% [##########] 7.5 KiB (32.2 KiB / s)
https://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
  100.0% [##########] 4.7 KiB (70.3 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/atlassian-base-pom/51/atlassian-base-pom-51.pom
  100.0% [##########] 21.2 KiB (192.8 KiB / s)
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.jar
  100.0% [##########] 32.3 KiB (237.2 KiB / s)
https://repo1.maven.org/maven2/joda-time/joda-time/2.9.9/joda-time-2.9.9.jar
  100.0% [##########] 619.2 KiB (1.6 MiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0.jar
  100.0% [##########] 2.2 MiB (3.7 MiB / s)
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0-sources.jar
  100.0% [##########] 362 B (5.4 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
  100.0% [##########] 78.6 KiB (479.3 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4-sources…
  100.0% [##########] 133.8 KiB (553.0 KiB / s)
https://repo1.maven.org/maven2/joda-time/joda-time/2.9.9/joda-time-2.9.9-sources.jar
  100.0% [##########] 760.6 KiB (3.1 MiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0-sou…
  100.0% [##########] 32.1 KiB (194.7 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0-sources.jar
  100.0% [##########] 1.2 MiB (2.2 MiB / s)
import $ivy.$

For 1.0.2:
Welcome to the Ammonite Repl 1.0.2
(Scala 2.12.3 Java 1.8.0_112)
If you like Ammonite, please support our development at www.patreon.com/lihaoyi
@ interp.repositories() ++= Seq(coursier.MavenRepository("https://m2proxy.atlassian.com/repository/public"))

@ import $ivy.`com.atlassian.jira:jira-rest-java-client-api:5.0.4`
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4.pom
  100.0% [##########] 3.0 KiB (7.7 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-parent/5.0.4/jira-rest-java-client-parent-5.0.4.p…
  100.0% [##########] 8.3 KiB (91.8 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/public-pom/5.0.8/public-pom-5.0.8.pom
  100.0% [##########] 1.7 KiB (19.3 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/base-pom/5.0.8/base-pom-5.0.8.pom
  100.0% [##########] 31.1 KiB (185.1 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/platform/3.1.7/platform-3.1.7.pom
  100.0% [##########] 25.9 KiB (107.9 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/third-party/3.1.7/third-party-3.1.7.pom
  100.0% [##########] 8.8 KiB (28.1 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/platform-poms/3.1.7/platform-poms-3.1.7.pom
  100.0% [##########] 2.0 KiB (22.5 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/public-pom/4.0.7/public-pom-4.0.7.pom
  100.0% [##########] 2.2 KiB (27.2 KiB / s)
https://repo1.maven.org/maven2/com/atlassian/pom/base-pom/4.0.7/base-pom-4.0.7.pom
  100.0% [##########] 29.8 KiB (204.1 KiB / s)
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom
  100.0% [##########] 3.8 KiB (53.8 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0.pom
  100.0% [##########] 5.5 KiB (92.2 KiB / s)
https://repo1.maven.org/maven2/joda-time/joda-time/2.9.9/joda-time-2.9.9.pom
  100.0% [##########] 33.8 KiB (245.0 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0.pom
  100.0% [##########] 2.3 KiB (25.2 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
  100.0% [##########] 6.1 KiB (45.2 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava-parent/18.0/guava-parent-18.0.pom
  100.0% [##########] 7.5 KiB (64.7 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-parent/1.0.0/atlassian-httpclient-parent-1.0…
  100.0% [##########] 11.0 KiB (94.2 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/atlassian-public-pom/42/atlassian-public-pom-42.pom
  100.0% [##########] 2.2 KiB (21.4 KiB / s)
https://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
  100.0% [##########] 4.7 KiB (62.0 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/atlassian-base-pom/51/atlassian-base-pom-51.pom
  100.0% [##########] 21.2 KiB (194.6 KiB / s)
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.jar
  100.0% [##########] 32.3 KiB (154.3 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
  100.0% [##########] 140.9 KiB (465.1 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0.jar
  100.0% [##########] 51.8 KiB (319.5 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4.jar
  100.0% [##########] 154.4 KiB (308.7 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0.jar
  100.0% [##########] 2.2 MiB (4.4 MiB / s)
https://repo1.maven.org/maven2/joda-time/joda-time/2.9.9/joda-time-2.9.9.jar
  100.0% [##########] 619.2 KiB (837.9 KiB / s)
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0-sources.jar
  100.0% [##########] 362 B (4.8 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0-sou…
  100.0% [##########] 32.1 KiB (318.1 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
  100.0% [##########] 78.6 KiB (362.2 KiB / s)
https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4-sources…
  100.0% [##########] 133.8 KiB (426.2 KiB / s)
https://repo1.maven.org/maven2/com/google/guava/guava/18.0/guava-18.0-sources.jar
  100.0% [##########] 1.2 MiB (2.7 MiB / s)
https://repo1.maven.org/maven2/joda-time/joda-time/2.9.9/joda-time-2.9.9-sources.jar
  100.0% [##########] 760.6 KiB (1020.9 KiB / s)
import $ivy.$

A diff of the two outputs is helpful:
18:13 $ diff -u <(cat output-1.0.2  | grep https | sort)  <(cat output-1.0.3 | grep https | sort)
--- /dev/fd/63	2017-12-27 18:13:32.000000000 -0700
+++ /dev/fd/62	2017-12-27 18:13:32.000000000 -0700
@@ -1,10 +1,8 @@
 @ interp.repositories() ++= Seq(coursier.MavenRepository("https://m2proxy.atlassian.com/repository/public"))
 https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0-sou…
-https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0.jar
 https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-api/1.0.0/atlassian-httpclient-api-1.0.0.pom
 https://m2proxy.atlassian.com/repository/public/com/atlassian/httpclient/atlassian-httpclient-parent/1.0.0/atlassian-httpclient-parent-1.0…
 https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4-sources…
-https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4.jar
 https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-api/5.0.4/jira-rest-java-client-api-5.0.4.pom
 https://m2proxy.atlassian.com/repository/public/com/atlassian/jira/jira-rest-java-client-parent/5.0.4/jira-rest-java-client-parent-5.0.4.p…
 https://m2proxy.atlassian.com/repository/public/com/atlassian/platform/platform-poms/3.1.7/platform-poms-3.1.7.pom
@@ -17,7 +15,6 @@
 https://m2proxy.atlassian.com/repository/public/com/atlassian/pom/public-pom/5.0.8/public-pom-5.0.8.pom
 https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
 https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
-https://m2proxy.atlassian.com/repository/public/com/atlassian/util/concurrent/atlassian-util-concurrent/3.0.0/atlassian-util-concurrent-3.…
 https://repo1.maven.org/maven2/com/atlassian/pom/base-pom/4.0.7/base-pom-4.0.7.pom
 https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0-sources.jar
 https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.jar

The regression I am seeing is that 1.0.3 only downloads the sources for added (non-default) maven repositories, whereas for 1.0.2 it downloads the sources and the binaries perfectly fine.
Obviously only getting the sources is an issue. :)
This issue does not apply for the maven central repository. Sources and jars are downloaded fine for both 1.0.2 and 1.0.3 for dependencies fetched from Maven central.

Related?


Migrate to async traits for handling event callbacks

With the stabilization of async fn in trait as of 1.75, I think it would be more ergonomic to have a single state to handle all events which implements a trait rather than having to register each callback individually, and would also reduce heap allocation. Default implementations for the trait can also allow the same functionality as before, as they all return impl Future<Output = ()>.
Below is a basic example of what I'm suggesting (keep in mind I have not tested any of the code below):
trait PeerConnectionEventHandle {

    async fn on_ice_connection_state_change(&mut self, connection_state: RTCIceConnectionState) { }

    async fn on_signaling_state_change(&mut self, signaling_state: RTCSignalingState) { }

    async fn on_data_channel(&mut self, data_channel: Arc<RTCDataChannel>) { }

    async fn on_neogotiation_needed(&mut self) { }

    async fn on_ice_candidate(&mut self, ice_candidate: Option<RTCIceCandidate>) { }

    async fn on_ice_gathering_state_change(&mut self, gatherer_state: RTCIceGathererState) { }

    async fn on_track(&mut self, track: Arc<TrackRemote>, reciever: Arc<RTCRtpReceiver>, transceiver: Arc<RTCRtpTransceiver>) { }

    async fn on_peer_connection_state_change(&mut self, peer_connection_state: RTCPeerConnectionState) { }

}

changing the implementation to something like:
struct PeerConnectionInternal {
    /** keeping all other fields as before except removing the other event handlers **/
    event_handlers: Arc<ArcSwapOption<Mutex<dyn PeerConnectionEventHandle>>>,
}

impl RTCPeerConnection {
    /** keeping all other fns as before except removing the on_* fns **/
    fn with_handler(&self, handler: impl PeerConnectionEventHandle) {
       self.internal.event_handlers.store(Some(Arc::new(Mutex::new(handler))))
    }
}

and would change the play-from-disk-h264 example to something like:
struct PeerHandler {
    done_tx: tokio::sync::mpsc::Sender<()>,
    notify_tx: Arc<Notify>,
}

impl PeerConnectionEventHandle for PeerHandler {
    // Set the handler for Peer connection state
    // This will notify you when the peer has connected/disconnected
    async fn on_peer_connection_state_change(&mut self, peer_connection_state: RTCPeerConnectionState) {
        println!("Peer Connection State has changed: {peer_connection_state}");

        if peer_connection_state == RTCPeerConnectionState::Failed {
            // Wait until PeerConnection has had no network activity for 30 seconds or another failure. It may be reconnected using an ICE Restart.
            // Use webrtc.PeerConnectionStateDisconnected if you are interested in detecting faster timeout.
            // Note that the PeerConnection may come back from PeerConnectionStateDisconnected.
            println!("Peer Connection has gone to failed exiting");
            let _ = self.done_tx.try_send(());
        }
    }

    // Set the handler for ICE connection state
    // This will notify you when the peer has connected/disconnected
    async fn on_ice_connection_state_change(&mut self, connection_state: RTCIceConnectionState) {
        println!("Connection State has changed {connection_state}");
        if connection_state == RTCIceConnectionState::Connected {
            notify_tx.notify_waiters();
        }
    }
}

#[tokio::main]
async fn main() -> Result<()> {
    /** everything above is the same **/
    let notify_tx = Arc::new(Notify::new());
    let notify_video = notify_tx.clone();
    let notify_audio = notify_tx.clone();

    let (done_tx, mut done_rx) = tokio::sync::mpsc::channel::<()>(1);
    let video_done_tx = done_tx.clone();
    let audio_done_tx = done_tx.clone();

    // Create a new RTCPeerConnection
    let peer_connection = Arc::new(api.new_peer_connection(config).await?.with_handler(PeerHandler { notify_tx, done_tx } ));
    /** everything below is the same except removing the on_* callbacks **/
}

I'll follow this up with a pr, but with the scope of how much needs to be changed it might take awhile. Also, as it is a very new feature, I wanted to see if there would be any discussion.

As I've been working on this, I realized that the each fn in the trait has to return impl Future<Output = ()> + Send since were dealing with multiple threads, and which cannot be represented just as an async fn. Regardless, RPITIT fns are just desugared async fns which are also supported by 1.75, the fn signature just doesn't look as clean.
The draft can be found here while I work on it a bit more.


Secure Boot / PC Manger (Windows)

I'm having a hard time to figure out what's wrong with my PC Manager.
I noticed a few days ago that I couldn't start it any longer neither install it from scratch.
After evaluating difrent approaches I ended up enabling secure boot and this way I was able to install PC Manger and access the beloved battery protection settings.
OK, I went back into my bios, disabled secure boot and got a bummer. I couldn't access battery protection any longer. Also I had to readjust my boot configuration to access OC and catalina again.
One more try, again I reenabled secure boot reinstalled PC Manger and everything above happened again.
My question/Problem is, can I have secure boot disabled and access PC Managers battery protection somehow?
Or did I missed anything that catalina and OC now work with secure boot?
Any suggestions/help is appreciated.
This is how it looks like when secure boot is enabled:

As you can see the PC Manager icon is blank and opening the pc manager settings throws this error.

I contacted Huawei support if they are aware of this issue.
But honestly I don't think they're gonna fix it instead they'll for sure tell me to enable secure boot back again. I told them this is no solution for me and not acceptable.
I'll let you know if they respond to my email.

I got a reply they need my S/N and PC Manager version.
I was lazy and tried to get the S/N with msinfo32 and what did i saw there? My Windows identifies itself as a MacBookPro15,2
What happend? I always booted Windows through OpenCore and it appears that OC overrides some crucial system parameters that are essential for PC Manager to work properly.
How did I solved the problem? I booted into windows using fn+f12 selecting Windows Boot Manager.
What are the downsides? I need to fn+f12 each boot to switch between OC and WBM
@profzei
I'm not familiar yet with OpenCore, but could we somehow have original Windows parameters when booting Windows from OpenCore?

I'm not familiar yet with OpenCore, but could we somehow have original Windows parameters when booting Windows from OpenCore?

@juicypop Atm, I think the answer is nope since OpenCore injects its parameters even before showing its menu picker: this is well documented in Dortania's guide but I don't remember where... XD
In that guide there is also a reference for using BootCamp and (if I understood well...) choosing its entry in OpenCore picker menu but I didn't have time to dig the argument... atm I don't have any time for learning more about it till Christmas holidays where I need to make a very clean install for Big Sur... and therefore experimenting...

I got a reply they need my S/N and PC Manager version.
I was lazy and tried to get the S/N with msinfo32 and what did i saw there? My Windows identifies itself as a MacBookPro15,2
What happend? I always booted Windows through OpenCore and it appears that OC overrides some crucial system parameters that are essential for PC Manager to work properly.
How did I solved the problem? I booted into windows using fn+f12 selecting Windows Boot Manager.
What are the downsides? I need to fn+f12 each boot to switch between OC and WBM
@profzei
I'm not familiar yet with OpenCore, but could we somehow have original Windows parameters when booting Windows from OpenCore?

@juicypop I have the exact same issue as you, and it's pretty frustrating as I have to use Windows Boot Manager in order to access PC Manager (I have a Huawei phone so I use PC Manager frequently). In PC Manager, my laptop shows up as MacbookPro15,2.

I can't access the settings menu, and this will happen:

I suspect PC Manager requires the laptop id to be a Huawei Matebook in order for it to have all its features working properly. I've tried unistalling PC Manager but can't install it back (no prompts); which suggests that it is unsupported on any other laptop than a Matebook.

I got a reply they need my S/N and PC Manager version.
I was lazy and tried to get the S/N with msinfo32 and what did i saw there? My Windows identifies itself as a MacBookPro15,2
What happend? I always booted Windows through OpenCore and it appears that OC overrides some crucial system parameters that are essential for PC Manager to work properly.
How did I solved the problem? I booted into windows using fn+f12 selecting Windows Boot Manager.
What are the downsides? I need to fn+f12 each boot to switch between OC and WBM
@profzei
I'm not familiar yet with OpenCore, but could we somehow have original Windows parameters when booting Windows from OpenCore?

@juicypop I have the exact same issue as you, and it's pretty frustrating as I have to use Windows Boot Manager in order to access PC Manager (I have a Huawei phone so I use PC Manager frequently). In PC Manager, my laptop shows up as MacbookPro15,2.

I can't access the settings menu, and this will happen:

I suspect PC Manager requires the laptop id to be a Huawei Matebook in order for it to have all its features working properly. I've tried unistalling PC Manager but can't install it back (no prompts); which suggests that it is unsupported on any other laptop than a Matebook.

It should be fixed in next release in this weekend

It should be fixed in next release in this weekend


add alignment option for text

Summary
add an additional parameter controling alignment for the "draw" method of graphics::Text
Motivation/Examples
No response
Alternatives Considered
No response

I would like to solve it.


Add Netbela Hosting

Backstory
Data

name: Netbela Hosting
url:  https://netbela.com/contact
difficulty:  Hard
notes: Create a ticket to the Billing department and request your account to be deleted.
domains: https://netbela.com

Thanks for your contribution!


Use the atom-workspace tag instead of the workspace class.

In keymaps\atom-dictation.cson: Use the atom-workspace tag instead of the workspace class.

Working off the speak-to-me branch


AA: Add API of CheckInitData

This new API is for kata-agent to check the data's integrity binding relationship with the hardware evidence.
Close #446
The main work for TDX and SNP platform has been done by  @danmihai1 , this PR just refers most of the code.
cc @fitzthum

Thanks @mkulke for the suggestions. I left the review conversions which might need to be ensured by you. PTAL
Hi @fitzthum

One thing I think we might have forgotten about when designing: ideally the KBS/AS will end up with the plaintext of the InitData so that it can be validated with a policy. We don't seem to have a mechanism for this. Perhaps if the plaintext is provided via this API it should be saved by the AA so that it can be sent as part of remote attestation. We could probably implement this in a follow-on.

Yes, agreed. Added the enum of initdata for plaintext, which could be relied on. Also some conversions to be determined. PTAL

Thanks @fitzthum @mkulke @jialez0 , I fixed the suggestions you've left.

Use pad()
Only check digest for now and API
use tdx_attest::get_evidence rather than impl manually

PTAL

@fitzthum @Xynnn007 @jialez0 Let me clarify something for the future decision and this time just let it go.
I think it is an not easy decision to add a new API which may introduces extra attack interface. In other word, there is still the possibility to use an approach to check the validation of init data without adding new API. In addition, CoCo is not the only case where AA will be deployed. In some cases, the proxy is not used.
Furthermore, considering certain security principles such as defense in depth and the principle of least privilege, adding a new API is not the only solution to address the problem and requirement at hand. Even if someone argues that the newly added API has successfully passed penetration testing without any vulnerabilities found, the results of penetration testing can only provide temporary confidence. Past performance is not indicative of future results. Therefore, we cannot exclude the potential for unknown vulnerabilities and security risks with new API.
Security often focuses on the future possibilities that arise when the timeline is extended, and aims to proactively address potential risks and threats that may arise in the future.


docs(contributing): How create or change SECRET_KEY

Explained how to change/create secret key.
SUMMARY
When you are running an instance of superset naturally you might have added many DataBase connections, created a lot of charts and dashboards.
Suddenly if you want to change the SECRET_KEY to make your data encrypted , you need current secret key that has already encrypted your data.
Then you need to create a new SECRET_KEY
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
BEFORE SCREENSHOT

AFTER SCREENSHOT

ADDITIONAL INFORMATION
To change the SECRET_KEY we need to provide current secret key as PREVIOUS_SECRET_KEY in superset_config.py and New secret key should be assigned to SECRET_KEY variable.

Hi @nytai Just have a look. Let me know if docs are not perfect.
Suggest if anything to be added. I've incorporated your suggestions in it.


Add relative engine path support

説明 / Description
#777
チェックリスト / Checklist

MUST

[x] npm test passed
[x] npm run lint was applied without warnings
[x] changes of /docs/webapp not included (except release branch)
[x] console.log not included (except script file)

MUST (for Outside Contributor)

[ ] understand プロジェクトへの関わり方について

RECOMMENDED (it depends on what you change)

[ ] unit test added/updated
[ ] i18n

Summary by CodeRabbit

Refactor

Enhanced the handling of configuration file operations and improved error handling for USI engine path resolution.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.24%. Comparing base (fefe90d) to head (62e4d1e).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #793   +/-   ##
=======================================
  Coverage   76.24%   76.24%
=======================================
  Files          88       88
  Lines       12290    12290
  Branches     1765     1765
=======================================
  Hits         9370     9370
  Misses       2898     2898
  Partials       22       22

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fail to build protobuf on RPi

Protobuf fails to build on armv6/armv7 because of some libatomic linking. This got fixed recently, so let's update protobuf to latest upstream until their next release.
Resolves #836.

Apparently working for @fnoop, as per comment in #836.


name parameter is not used since V 18.0

Hello,
I have some sensors defined to let powercalc create utility sensors for.
Example definition:
- platform: powercalc
  entity_id: switch.wz_pl_net_tv_relay_0
  name: wz_pl_net_tv
  power_sensor_id: sensor.wz_pl_net_tv_power_0
  energy_integration_method: left

Before V 18.0 for every sensor defined this way I get a power sensor, energy sensor and a utility meter.
With V18.0 this behavior has changed (i think related to PR549.
Before that change, I get the following sensors defined by powercalc:
sensor.wz_pl_net_tv_energy
sensor.wz_pl_net_tv_energy_daily

After the change the virtual sensor sensor.wz_pl_net_tv_energy isn't available any more. Thats OK.
But for the daily utility meter a new sensor sensor.wz_pl_net_tv_energy_0_daily is created. I have now an old (not available) sensor sensor.wz_pl_net_tv_energy_daily and a new sensor.wz_pl_net_tv_energy_0_daily.
Is this intended behavior? Or is it a bug? If it is a bug I would wait for a fix, before I delete the old sensors.
BTW: Is there a simple way to get the data from one sensor copied to another sensor in history? Or is the only way to hack the SQL database?
Ulrich

I did have a look into the code and the utility meters always use the name of the energy sensor and append that with "daily", "weekly" etc.
I can change that to also look at the configured name and energy sensor naming pattern, so it will get sensor.wz_pl_net_tv_energy_daily, but it's quite a tricky change, so I prefer to keep it the way it is now.
Alternatively you could change the name sensor.wz_pl_net_tv_energy_0 to sensor.wz_pl_net_tv_energy so your utility meters also get the old naming again.
But in both cases you would be missing some data which you should live with, or you need to migrate this data. But this will be very difficult as the energy sensors both had different states in kWh, the virtual sensor started counting the kWh when you started using powercalc. En the real energy sensor probably have a higher kWh as you where using this before setting up powercalc.

If it is to tricky or result in a lot of confusing code, its best to leave it as is.
Energy sensor name came from integration. So also a little bit tricky to change.
I think I will remove utility and energy sensors temporarily. And remove them from the database. After that recreating them should fix the names and values. No big deal. Not so much data collected so far.


Essential keyword reply in addition to preexisting Essentials

Can you add essential start and end as a keyword reply thing in addition to the preexisting essentials start and end? It will help so much.
also, the issue template isn't showing up for me for some reason.

Could you explain what you mean? As far as I am aware, “essentials start” and “essentials end” triggers the bot.

On re-reading, I may have misunderstood. Are you suggesting adding “essentials” without the s as a key word?

I am suggesting that in addition to the regular "essentials" keyword there could also be "essential" as a keyword that triggers the same text as the "essentials" keyword.
EX
As of the moment:
essentials start ---> "dialog1"
Proposal:
essentials start ---> "dialog1"
essential start ---> "dialog1"

I'm surprised this hasn't been mentioned already, but this isn't really the place for this. A PR to the bot would be much more fitting.

I think this has been opened as a bot PR suitably and is now safe to close as a result. Thanks so much for the dev! 😄


CATS: Failure in tcp_routing suite

Describe the bug
Seeing this when running CATS, with only the backend_compatibility test group enabled.
Summarizing 3 Failures:

[Fail] [tcp routing] TCP Routing [BeforeEach] external ports maps a single external port to an application's container port
/var/vcap/packages/acceptance-tests/src/github.com/cloudfoundry/cf-acceptance-tests/tcp_routing/tcp_routing.go:29

[Fail] [tcp routing] TCP Routing [BeforeEach] external ports with two different apps maps single external port to both applications
/var/vcap/packages/acceptance-tests/src/github.com/cloudfoundry/cf-acceptance-tests/tcp_routing/tcp_routing.go:29

[Fail] [tcp routing] TCP Routing [BeforeEach] external ports with a second external port maps both ports to the same application
/var/vcap/packages/acceptance-tests/src/github.com/cloudfoundry/cf-acceptance-tests/tcp_routing/tcp_routing.go:29

maps a single external port to an application's container port

[2019-11-06 20:33:09.23 (UTC)]> cf router-groups
Getting router groups as admin ...

FAILED
Failed fetching router groups.
Server error, status code: 500, error code: , message:

To Reproduce
N/A
Expected behavior
To pass
Environment
N/A
Additional context
N/A

After running CATS as part of https://github.com/SUSE/kubecf/issues/206, it no longer fails. I'll close this bug because it was not really a bug, just tcp-router missing.
•••
Ran 3 of 213 Specs in 124.173 seconds
SUCCESS! -- 3 Passed | 0 Failed | 0 Flaked | 1 Pending | 209 Skipped

Ginkgo ran 1 suite in 2m4.439467424s
Test Suite Passed


Error 'Existing schema attributes cannot be modified or deleted' in 'amplify push' following 'amplify update auth'

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.

Language and Async Model
Java
Amplify Categories
Authentication
Gradle script dependencies

// Put output below this line

Environment information

# Put output below this line

Please include any relevant guides or documentation you're referencing
No response
Describe the bug
I couldn't push with AWS amplify as the Auth version was too old that needs to be updated.
I did 'amplify update auth' and selected 'Apply default configuration without Social Provider (Federation)'.
However after i did 'amplify push' I got the following error:
Existing schema attributes cannot be modified or deleted. (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidParameterException; Request ID: null; Proxy: null)
Reproduction steps (if applicable)
amplify update Auth
amplify push
Code Snippet
// Put your code below this line.

Log output

// Put your logs below this line

Deployment failed.
Deploying root stack tamappdriverandroid [ =================----------------------- ] 3/7
	amplify-tamappdriverandroid-t… AWS::CloudFormation::Stack     UPDATE_ROLLBACK_COMPLETE       Wed Aug 23 2023 16:00:33…
	functiontamdriverAmplifyAuthP… AWS::CloudFormation::Stack     UPDATE_COMPLETE                Wed Aug 23 2023 15:59:57…
	storages3tamdrivers3firmwareb… AWS::CloudFormation::Stack     UPDATE_COMPLETE                Wed Aug 23 2023 15:59:47…
	authtamdriverAmplifyAuth       AWS::CloudFormation::Stack     UPDATE_FAILED                  Wed Aug 23 2023 15:59:43…
Deploying api amplifyDatasource [ ---------------------------------------- ] 0/26
Deploying auth userPoolGroups [ ---------------------------------------- ] 0/2
Deploying auth tamdriverAmplifyAuth [ ---------------------------------------- ] 0/7
	UserPoolClientRole             AWS::IAM::Role                 UPDATE_FAILED                  Wed Aug 23 2023 15:59:38…
	UserPool                       AWS::Cognito::UserPool         UPDATE_FAILED                  Wed Aug 23 2023 15:59:38…
Deployed function tamdriverAmplifyAuthPostConfirmation [ ======================================== ] 3/3
Deploying function tamdriverAmplifyTripReceiptEmail [ ---------------------------------------- ] 0/5
Deployed storage s3tamdrivers3firmwarebucket [ ======================================== ] 7/7

🛑 The following resources failed to deploy:
Resource Name: UserPool (AWS::Cognito::UserPool)
Event Type: update
Reason: Existing schema attributes cannot be modified or deleted. (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidParameterException; Request ID: null; Proxy: null)
URL: https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-2#/stacks/arn%3Aaws%3Acloudformation%3Aap-southeast-2%3A334851156215%3Astack%2Famplify-tamappdriverandroid-test-234322-authtamdriverAmplifyAuth-15Q51FO8UWH94%2F0f302b80-7f02-11ec-9b16-02a200717f74/events

🛑 Resource is not in the state stackUpdateComplete
Name: UserPool (AWS::Cognito::UserPool), Event Type: update, Reason: Existing schema attributes cannot be modified or deleted. (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidParameterException; Request ID: null; Proxy: null), IsCustomResource: false

amplifyconfiguration.json
No response
GraphQL Schema

// Put your schema below this line

Additional information and screenshots
amplify --version
12.3.0

Hey @ankpshah, thank you for reaching out. The issue appears to be similar to https://github.com/aws-amplify/amplify-cli/issues/13095 and https://github.com/aws-amplify/amplify-cli/issues/12827.
Was the Amplify CLI upgraded from version before 7.x? If yes, could you try adding the attributes using the override functionality by running amplify override auth. similar to https://github.com/aws-amplify/amplify-cli/issues/13095 and https://github.com/aws-amplify/amplify-cli/issues/12827.
Do let us know if this does not mitigate the issue.

Hi @ykethan
Thank you for looking into the issue which is currently blocking the development work.
The Amplify CLI was upgraded from version 10.4.1. We are having the same error on Windows 10, as well as MacBook.

Further update:
I followed the suggestion in #12827, and added the custom user pool schema attribute to override.ts following the 'amplify override auth' command.
It now gives the following authorisation error,
`Deploying auth userPoolGroups [ ---------------------------------------- ] 0/2
driverGroup                    AWS::Cognito::UserPoolGroup    UPDATE_FAILED                  Tue Aug 29 2023 14:58:44…
Deployed auth tamdriverAmplifyAuth [ ======================================== ] 7/7
UserPoolClientRole             AWS::IAM::Role                 UPDATE_IN_PROGRESS             Tue Aug 29 2023 14:59:10…
UserPool                       AWS::Cognito::UserPool         UPDATE_COMPLETE                Tue Aug 29 2023 14:59:08…
UserPoolClientWeb              AWS::Cognito::UserPoolClient   UPDATE_IN_PROGRESS             Tue Aug 29 2023 14:59:08…
UserPoolClient                 AWS::Cognito::UserPoolClient   UPDATE_COMPLETE                Tue Aug 29 2023 14:59:09…
IdentityPoolRoleMap            AWS::Cognito::IdentityPoolRol… UPDATE_COMPLETE                Tue Aug 29 2023 14:58:14…
Deployed function tamdriverAmplifyAuthPostConfirmation [ ======================================== ] 3/3
Deploying function tamdriverAmplifyTripReceiptEmail [ ---------------------------------------- ] 0/5
Deployed storage s3tamdrivers3firmwarebucket [ ======================================== ] 7/7
🛑 The following resources failed to deploy:
Resource Name: driverGroup (AWS::Cognito::UserPoolGroup)
Event Type: update
Reason: User: arn:aws:sts::334851156215:assumed-role/ap-southeast-2_nvb1BLTw0_Full-access/amplifyadmin is not authorized to perform: cognito-idp:UpdateGroup on resource: arn:aws:cognito-idp:ap-southeast-2:334851156215:userpool/ap-southeast-2_BNlfgwIfG because no identity-based policy allows the cognito-idp:UpdateGroup action (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: AccessDeniedException; Request ID: 972bbe73-0836-4f3c-a3ff-72c553267a78; Proxy: null)
URL: https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-2#/stacks/arn%3Aaws%3Acloudformation%3Aap-southeast-2%3A334851156215%3Astack%2Famplify-tamappdriverandroid-test-234322-authuserPoolGroups-SM517PZYJBRD%2F7f785f20-7f02-11ec-a143-0238336d1d20/events
🛑 Resource is not in the state stackUpdateComplete
Name: driverGroup (AWS::Cognito::UserPoolGroup), Event Type: update, Reason: User: arn:aws:sts::334851156215:assumed-role/ap-southeast-2_nvb1BLTw0_Full-access/amplifyadmin is not authorized to perform: cognito-idp:UpdateGroup on resource: arn:aws:cognito-idp:ap-southeast-2:334851156215:userpool/ap-southeast-2_BNlfgwIfG because no identity-based policy allows the cognito-idp:UpdateGroup action (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: AccessDeniedException; Request ID: 972bbe73-0836-4f3c-a3ff-72c553267a78; Proxy: null), IsCustomResource: false`

I deleted a couple of old environments yesterday before doing a clone, and I can see all deletes are completed successfully on Cloudformation console. I cannot see any relevant error there.
There was no error occurred using 'amplify add env' and 'amplify push' earlier.
I tried again to clone the existing env today, and got back the same error,
'Cloning env:test to env: tamdev in app:d24pb2d1td9ltj failed'

Hey @rayshi67, wanted to get some additional information in using the clone mechanism in the AWS console?
As using amplify add env and amplify push should create a new environment similar to your existing resources.
Additionally, could you also provide us additional information on the migration scripts and its usage?

So what is the root cause of the error when doing the clone in Amplify console?
Without using the clone in Amplify console, how could we back up the Amplify environment including its data?
And if we use ‘amplify env add’ to spin a new  env, how would the data in cognito, dynamodb, and s3 etc in existing amplify env get populated into the newly created env? At the moment we haven’t got any mechanism in place for achieving that. So it would be great if you could point us to the right direction.

@rayshi67 thank you for the information. The clone functionality in the AWS Amplify console is similar to amplify add env, it does not clone the data for the underlying resources being created. As you have pointed, we may have to utilzie custom scripts or AWS services that may assist in cloning the data.
additionally, the clone error appears to be similar to https://github.com/aws-amplify/amplify-hosting/issues/3022. I have reached out to our folks in hosting team and will provide an update as soon as I receive any additional information.

wanted to provide an update on this issue, I was able to reproduce the issue by diving into the logs. The clone error was occurring due to resource overrides being present in the project. I have reached out to the appropriate Amplify team regarding this behaviour.
But we should be able to utilize amplify add env to create a environment with similar resources as a workaround. Thank you for your patience.

Thank you for the update.

Closing the issue, please feel free in reaching out to us again.


why are you deleting the downloads folder?

https://github.com/notusknot/dotfiles/blob/ad10e570dba9cdd9be6357d8aab7df4d4b0d2bc8/.config/bspwm/bspwmrc#L11

I keep my downloads in a seperate folder and Brave automatically creates the Downloads folder, which I don't want in the home directory

@notusknot Ok but like me if someone tries your dots then first thing that will happen is their downloads folder would be removed.

You're right. I fixed the ### issue. Apologies for any inconveniences this might've caused.


Support 'choco pin'

It would be great if BoxStarter besides the cinst/choco install command also supported the choco pin command, so that package versions can be pinned as they are installed on a new box.
Currenty, choco pin add -n=mysql in your BoxStarter script tries to choco install "add" and "-n=mysql" (but AFAI can tell not "pin")...

Currently, even if you have the new choco installed, boxstarter uses the v<IP_ADDRESS> powershell module. The new choco.exe fundamentally changes how boxstarter needs to interact with chocolatey and its a top priority to get boxstarter to be compatible with that. When that does happen, I expect choco pin to work.


DeprecatedFunctions: update function list

... with functions which will be deprecated in WP 5.3.
Not updating the Sniff::$minimum_supported_version property yet as WP 5.3 has not yet been released.

Any particular reason why this PR has not been merged ? Happy to adjust if needed.

I thought that the second person who approves it merges it. I've merged it now, no problems 🙂


Add function "isAuthTokenValid" to object/type "Destination"

Is your feature request related to a problem? Please describe.
I am using the Destination object/type (of @sap-cloud-sdk/connectivity) in many different applications and packages. As soon as it's interacting with oAuth bearer tokens, there is an automatic refresh-procedure of the bearer token in places, if the request is done within standard sdk-requests (e.g. using the request-builder() for getAll() or getByKey()).
I am developing a package for Advanced-Event-Mesh support within the solclientjs package of solace as key dependency.
There, I am using the getDestination() method of the connectivity package to get the required details of the destination.
Describe the solution you'd like
Within the usage of the solclientjs I am not using the SDK standard functionalities to do any kind of request to the destination-endpoint. Instead, I am using details retrieved by the getDestination() method to initialize a session.
Example:
await sdkConnectivity.getDestination(this._solaceAdvancedEventMeshDestinationConfig).then((destination) => {
                [...] // Checks of properties etc.
                this._solaceSession = solace.SolclientFactory.createSession({
                    // solace.SessionProperties
                    clientName: this._solaceClientName,
                    includeSenderId: true,
                    url:      "wss://" + this._solaceAdvancedEventMeshDestination.url,
                    vpnName:  this._solaceAdvancedEventMeshDestination.originalProperties?.destinationConfiguration.vpnName,
                    authenticationScheme: solace.AuthenticationScheme.OAUTH2,
                    accessToken: <string>this._solaceAdvancedEventMeshDestination.authTokens[0].value,
                });
}

This is working like a charm.
As soon as there is a reconnect and the bearer token did expire, it's not working anymore, and I need to refresh the destination to get a new bearer token and to update the solaceSession object with the refreshed token, before doing a reconnect.
It's also working like expected and all is fine. But, I can see there are more reconnects to Advanced Event Mesh within the default expiration time of the token (12 hours) as I did expect in the first attempt. (fyi; it's reconnecting every 90 minutes on my PoC app).
Having that in mind, It would be nice to have a method who is checking if the token is still valid (by using the received expiresIn property). Something like "isAuthTokenValid()"?
Describe alternatives you've considered
I did this on my own within my package, but I'd love to have this capability within the SDK Destination object/type delivered.
Impact / Priority
Low.
Please come back to me, for any questions abut my feature request.
Thanks!
Best regards,
Cedric

Thanks for the feature request, we'll discuss it internally.

Hey @drvup,
we have discussed your suggestion and decided to not add this feature to the SDK for the time being.
Currently there doesn't seem to be high demand for such a feature and you already have a solution. If more users voice their demand, we will reconsider.
Not sure if this helps in your case, but the SDK comes with a cache. If you were to use that the SDK would only fetch a new token once the previous one is expired.
Thanks for your suggestion!


Analog Clock

Project title
Analog Clock
Project Description
This Analog Clock is created using HTML, CSS and JavaScript. This have features like showing minutes, hours and as well as seconds also. The design of the clock is responsive in design.
Web stack
HTML, CSS and JavaScript
Screenshot(mandatory)

Are you contributing under any open-source program ?
I am contributing under KWOC 2023 program...

@MitulSonagara Welcome to METAVERSE!!!!!!
Please go through contributing.md before contributing.

Description - I want to contribute by having both analog and digital time display clock. Please assign it to me. i am contributing under KWOC.

Description - I want to contribute by having both analog and digital time display clock. Please assign it to me. i am contributing under KWOC.

@ayann07 Welcome to METAVERSE!
Please try to raise a new issue regarding your topic as this issue is already being taken

@ayann07  I have created a PR by creating analog clock using html, css and js ... please check the PR and give me some suggestions if needed


Callback is called after permission has been revoked.

Hi there. I ran into an issue.
After revoking the permission from app settings screen I can't get to the system permission dialog anymore. The lib automatically calls callback function even though permission is not allowed.
Here is the code:
runWithPermissions(permission,
                        options = QuickPermissionsOptions(
                            handlePermanentlyDenied = true,
                            handleRationale = true,
                            permanentDeniedMethod = { denyFunction.invoke() },
                            permissionsDeniedMethod = { denyFunction.invoke() },
                            rationaleMethod = {
                                // We call this since on permission denied is not called
                                denyFunction.invoke()
                            }),
                        callback = { Timber.d("Permission callback") })

Hi @mariciv . So your issue is resolved now? Or you are still facing some unexpected behavior?

@kirtan403 I was able to resolve my issue, but I think library could handle this case a bit better.
So if runWithPermissions method is called twice, before user denies or allows permission in the system dialog, action callback shouldn't be called.

Thanks, @mariciv . Actually it works on the singleton objects for the requests and response. That's why that happened. I'll add this to the enhancement. Thanks for making things clear 😄

Fixed (Ref: 62f54a41)

New version released with fix: https://github.com/QuickPermissions/QuickPermissions-Kotlin/releases/tag/0.4.0


test: Exclude per-endpoint object files from artifacts

Our Jenkins artifacts are regularly over 25MB and for that reason can't be attached to GitHub issues. We can reduce the size with the cilium-bugtool --exclude-object-files flag. That flag excludes per-endpoint object files from the bugtool reports (template object files are kept).
I'm tired of recompressing with 7z then zip just to be able to upload...

/test


Customisable bot name

Closes #20
New values placed into config.json. Allows for the botname to be customised.

Left in draft as I'm waiting for my API rate limiting to drop off, so I can test.


Update bindings to Rapier 0.12.0-alpha.1

This PR updates to Rapier 0.12.0-alpha.0 which contains:

A complete rewrite of the joint and contact constraint solver.
The support for locking individual translation axes.
The support for multibody joint.

Breaking changes

In 3D: renamed BallJoint to SphericalJoint.
In 2D: renamed BallJoint to RevoluteJoint.
Remove the joint motors and limits for the spherical joint (this is a temporary removal until with leave alpha).
All the joint-related structures and methods (RevoluteJoint, PrismaticJoint, createJoint, etc.) have renamed to
include impulse in the names: RevoluteImpulseJoint, PrismaticImpulseJoint, createImpulseJoint, etc. This is
to differentiate them from the new multibody joints.
Remove from the integration parameters all the parameters that are no longer meaningful (maxPositionIterations,
jointErp, warmstartCoeff, allowedAngularError, maxLinearCorrection, maxAngularCorrection).

Added

Add multibody joints. They are created the same way as impulse joints, except that they are created
by world.createMultibodyJoint instead of world.createImpulseJoint.
Add the ability to lock individual translation axes. Use rigidBody.restrictTranslation.

Hi, Do you have any plan for adding back the limits for the spherical joint? We really need that feature.
Rapier is really a nice engine.
Thanks a lot.


Feature/update for comet

Based on PR #14, further additions were included on top to scope with the requirements of comet

I left comments for the simple changes, but overall I think the mapping should be refactored.
With the dict structure of the input mods, in my opinion it doesn't make too much sense to still have the if/else, try/except structure of the mapping. Instead, I would start out with a dict that contains all key words + default values, then update that with the input and then just check in the end if the name fits to the id and the chemical composition. That way, the user wouldn't need to provide either name, or id, or composition, but instead can provide however much or little they know or want to provide.

I will refactor it. Might be indeed the better solution, as I am anyhow doing it as such, but I could also update a default dict with the user input and not the other way around as it is atm ;)

I left comments for the simple changes, but overall I think the mapping should be refactored.
With the dict structure of the input mods, in my opinion it doesn't make too much sense to still have the if/else, try/except structure of the mapping. Instead, I would start out with a dict that contains all key words + default values, then update that with the input and then just check in the end if the name fits to the id and the chemical composition. That way, the user wouldn't need to provide either name, or id, or composition, but instead can provide however much or little they know or want to provide.

I am not quite sure about that solution. The if/else and try/except is mainly there to be flexible to scope for different scenarios of user providing either name/id or chemical_composition. In principle it is is independent on the type of mod_data you provide.
Following your suggestion - you would have the default dict with default unimod_id and unimod_name, you would update it with the input dict and how would the counter part be mapped? You would need to check if either of them is different from default and then map it, or simply always map (which would result in problems, since having default values would lead to wrong mappings). Thus, once again some layers of decision making.
I am also not sure how to scope for the user then providing both at the same time... would we still map, or just update based on the user_dict? But then once again you would need another if/else to make this decision in the code to be flexible.
Atm. I cannot figure out a solution which would be flexible enough to scope for different scenarios of user inputs. I agree that there might be a better way of setting it up, but from the point of view of having multiple layers of decision making I currently don't see an improvement to what we have atm. Or perhaps this is not necessarily the point you were aiming for and I kind of focusing on the wrong part here? ^^

Hmm, I don't think I can follow.
If you start with a default dict like this:
mod_dict = {
                "aa": None,
                "type": None,
                "position": None,
                "name": None,
                "composition": None,
                "id": None,
                "neutral_loss": None,
}

Then you update it with the input:
mod_dict.update(**mod)
Now you can got through it and check each element systematically:
if aa/type/position is None --> break/warning (cause not allowed)
if name/id/composition is None --> map based on one of them that isn't None
Then in the end you can check if name fits to id, and fits to composition.
There's no wrong mappings because you only map what's None. Wrong "mapping" only come in if the user provides multiple values that don't fit to each other, in which case it would cause a break/warning.
Sure enough there would still be some if/else to figure out which keys are None, but in my opinion that would be more straight-forward and concise than the current structure.

I left comments for the simple changes, but overall I think the mapping should be refactored.
With the dict structure of the input mods, in my opinion it doesn't make too much sense to still have the if/else, try/except structure of the mapping. Instead, I would start out with a dict that contains all key words + default values, then update that with the input and then just check in the end if the name fits to the id and the chemical composition. That way, the user wouldn't need to provide either name, or id, or composition, but instead can provide however much or little they know or want to provide.

I am not quite sure about that solution. The if/else and try/except is mainly there to be flexible to scope for different scenarios of user providing either name/id or chemical_composition. In principle it is is independent on the type of mod_data you provide.
Following your suggestion - you would have the default dict with default unimod_id and unimod_name, you would update it with the input dict and how would the counter part be mapped? You would need to check if either of them is different from default and then map it, or simply always map (which would result in problems, since having default values would lead to wrong mappings). Thus, once again some layers of decision making.
I am also not sure how to scope for the user then providing both at the same time... would we still map, or just update based on the user_dict? But then once again you would need another if/else to make this decision in the code to be flexible.
Atm. I cannot figure out a solution which would be flexible enough to scope for different scenarios of user inputs. I agree that there might be a better way of setting it up, but from the point of view of having multiple layers of decision making I currently don't see an improvement to what we have atm. Or perhaps this is not necessarily the point you were aiming for and I kind of focusing on the wrong part here? ^^

Hmm, I don't think I can follow.
If you start with a default dict like this:
mod_dict = {
                "aa": None,
                "type": None,
                "position": None,
                "name": None,
                "composition": None,
                "id": None,
                "neutral_loss": None,
}

Then you update it with the input:
mod_dict.update(**mod)
Now you can got through it and check each element systematically:
if aa/type/position is None --> break/warning (cause not allowed)
if name/id/composition is None --> map based on one of them that isn't None
Then in the end you can check if name fits to id, and fits to composition.
There's no wrong mappings because you only map what's None. Wrong "mapping" only come in if the user provides multiple values that don't fit to each other, in which case it would cause a break/warning.
Sure enough there would still be some if/else to figure out which keys are None, but in my opinion that would be more straight-forward and concise than the current structure.

right... tried to make things more complicated than they should be and missed the most obvious way of doing it >.> I'm on it now, thanks for bringing me on the right track :)

I agree, did not consider that fact. Honestly, not sure how to properly account for that... I could set up the check similar as for neutral loss in regards of only checking if was None before, but if you would go the way via chemical_composition you kind of cannot control the input vs output, since any user can provide it in their preferable way... we could skip the check for the chemical composition to get over it, but this might also be undesired.
Anyhow, how about merging this part first, so we can refactor everything else to the new mod_dict format and map mods for now and then we fix the chemical comp once we agree on a way to go? :) also in regard of the chemical comp style ;)

Yup, I agree, that's what I "meant" with approving it ;)


Add QuickDraw Tutorial

What would you like to share?
The QuickDraw: A Pictionary App Tutorial page currently only consist of codes to be run but does not mention what each line of code or function means nor their significance in the Model.
Suggestion:
I would suggest updating the tutorials page so that it can act as a step by step guide for new learners and help them understand use of each and every function and argument applied in the ML Code.
Additional information
October-2022(Hacktoberfest)

#self-assign


Clean persist push test cases removing faulty codes and configs

Purpose
$subject
Fixes:
Examples
Checklist

[ ] ~Linked to an issue~
[ ] ~Updated the specification~
[ ] ~Updated the changelog~
[ ] ~Added tests~

This PR was closed as the changes are addressed in the PR 140


Add preload option to olx.layer.VectorTileOptions

preload option can be passed to ol.layer.VectorTile but is not mentioned in docs

coveralls check is stuck, anyone knows how to restart it?

I think you can merge this now @fredj.


[QUERY] Issue with new send(Iterable) API added in EventHub SDK

Query/Question
A few days ago I reported this Issue (#10682) where wrong maximumSizeInBytes was provided when the EventDataBatch was created and remained idle for > 30 mins before sending it.
As part of this fix, I believe a new API was added where users can send an Iterable<EventData> and the SDK will handle batching it given that the total size of messages in the Iterable<EventData> fits in an EventDataBatch. Please note here that as per the documentation, if this constraint isn't statisfied and exception will be thrown to the client: https://azuresdkdocs.blob.core.windows.net/$web/java/azure-messaging-eventhubs/5.1.0/index.html. I've two queries on this:

I can't find a way to use my own CreateBatchOptions and also use send(Iterable<EventData>) API. I know I can use SendOptions but that only has a subset of tweakable parameters that are provided in CreateBatchOptions (where I can also set my own maximumBatchSize). Is this intentional to not allow CreateBatchOptions in the new API?
Making sure that the total size of messages in Iterable<EventData> is less than maximumSizeInBytes for the EventDataBatch is non-trivial. Even in my testing, I found that there's always an overhead of 15KB for every batch we create, and also an overhead for every message be add to the EventDataBatch (which changes with number of messages and I found it to be around > 16 bytes). Doing this calculation before sending the data to SDK might not be so clean given that I had to extract these numbers (of overhead size) in my own testing. Isn't a cleaner way would be to take the Iterable<EventData> and create as many EventDataBatch (in SDK) as it takes to push the complete Iterable to EventHub?

Why is this not a Bug or a feature Request?
This is related to the new API and I am not sure if the assumptions taken are intentional or not.
Setup (please complete the following information if applicable):

Version of the Library used: 5.1.0

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

I can't find a way to use my own CreateBatchOptions and also use send(Iterable) API. I know I can use SendOptions but that only has a subset of tweakable parameters that are provided in CreateBatchOptions (where I can also set my own maximumBatchSize). Is this intentional to not allow CreateBatchOptions in the new API?

The new send() API that accepts an iterable is a convenience API for sending a small collection of events that are known to fit within the max link size limit. The API does not provide option to control the batch size to keep it simple. For finer control on batch size, applications can use createBatch() with CreateBatchOptions.

Making sure that the total size of messages in Iterable is less than maximumSizeInBytes for the EventDataBatch is non-trivial. Even in my testing, I found that there's always an overhead of 15KB for every batch we create, and also an overhead for every message be add to the EventDataBatch (which changes with number of messages and I found it to be around > 16 bytes). Doing this calculation before sending the data to SDK might not be so clean given that I had to extract these numbers (of overhead size) in my own testing. Isn't a cleaner way would be to take the Iterable and create as many EventDataBatch (in SDK) as it takes to push the complete Iterable to EventHub?

For this new send() API, several options  were considered before settling on this API. This API is intended to be used by applications that have a set of events that are known to be well within the max link size. For applications that require accurate batch size, createBatch() with CreateBatchOptions should be used to first create the batch and then call send(EventDataBatch).
Please let me know if you need additional details.
PS: This API was added as a new feature and is not part of the fix for  https://github.com/Azure/azure-sdk-for-java/issues/10682. The fix for this issue can be found in this PR.

Thanks for the info @srnagar . I didn't know that send(List<EventData>) is only supposed to be used in cases where users know it'll definitely fit in the batch size.


Where to modify to adapt a locally-deployed OpenAI API compatible service?

This package is very productive. Thank you for your great work!
I'd like to modfiy some codes to use a locally-deployed  OpenAI API compatible service in our university. I don't konw which files to modify to make it, it's beyond my capability. Any help would be apprciately very much!

Hi @fishfree
Probably it is enough to change the URL by using the factory:
$client = OpenAI::factory()
    ->withApiKey($yourApiKey)
    ->withBaseUri($yourLocalUrl) // default: api.openai.com/v1
    ->make();


Export theme preference too

Is your feature request related to a problem? Please describe.
It would be nice if user's theme preference (light/dark) is also considered into export settings.

Hello @mecuricat,
Thank you for your suggestion I will implement it in the next release
Thanks
Amr Hesham

I think you can close this issue because it is implemented.
https://github.com/AmrDeveloper/LinkHub/releases/tag/1.2.0


Fixing a bug that prevented arrays from being passed to .mget().

.mget() currently only allows keys to be passed as individual arguments in its argument list. node_redis allows this behavior as well as passing an array of keys to be retrieved. This PR adds the latter functionality without breaking the original functionality.
@wilkenstein

@wilkenstein Thanks for the quick action! Do you plan to cut a release for this merge?

Cut in 0.0.12-6

You are fast!


Project documentation

As a newcomer with little Android SDK Knowledge, I find it hard to navigate through the code without a "map".
It would me nice to have some kind of documentation explaining the main blocks, entrypoints and relationships.
Linking to this talk would also help:
https://www.youtube.com/watch?v=iIKxyDRjecU

Hey! Thank you for your thoughts.
We're just getting started on work to improve this sample, and I'll keep your comments in mind as we do.
Thank you for the suggestion to link the I/O talk. I'll take a look to see where it would best fit in.

I've updated the documentation in the code quite a bit with the rewrite. I can understand how a map would help as well, so I'll try to work on something like that next.

Good

+1

@dellagustin Does this talk also include explanation of how to get songs from the actual storage?

Covered in the FullGuide


Is it possible to pause the training after each epoch so that python finish its garbage collection before the next epoch starts?

Currently I am facing memory problems when the training reaches the 2nd epoch. Apparently that means that I have sufficient memory but the training is not waiting for garbage collection to complete before the start of the next iteration. Therefore, I am wondering if it is possible to make the training wait before the start of a new epoch. If so, how can I do it? Thanks
On top of that, should samples_per_epoch affect memory usage? When I lower it, training can last more than 1 epoch. However, I think if garbage collection is done properly, it shouldn't affect memory usage, should it?

Maybe put your fit function in a for loop with epoch = 1?

I tried to put it in a for loop and call gc.collect() at the end of each iteration, but I am still getting memory error. How can I make it wait for full garbage collection before the next iteration starts?
Does tensorflow consumes more memory than torch, since I am just replicating a model that is built using torch.


Unify paratime tables by paratime

We were going down this design where there are separate tables per-paratime, e.g. oasis3_emerald_xxx. Now there's interest in not separating tables by paratime.
cross reference https://github.com/oasisprotocol/oasis-indexer/pull/229#discussion_r1043585173

Paratime tables were unified.


chore: Issue templates

Closes #77

#79  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


[MINOR][SQL] Change lead/lag argument name from count to offset

What changes were proposed in this pull request?
Change aligns argument name with that in Scala version and documentation.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #100463 has finished for PR 23357 at commit 14d8f39.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/100463/
Test PASSed.

Merged to master.
I think it's fine too but please let me know if anyone feels against. We can do https://github.com/apache/spark/pull/23357#discussion_r244174629

OK by me. I'll add release notes to the JIRA


docs(ic): updated Unique ID Push Open API specification (to make it consistent with upstream visibility)

This is an update of the Unique ID Push notification to make it consistent with the upcoming integration of upstream visibility. Even when both APIs will be defined in two separate Open API specs, these specs should still be consistent.

looks fine to me

I now also updated the Unique ID Push EDC asset, something I forgot in the first commit. I also removed deprecated properties (which is also part of PR https://github.com/catenax-ng/eclipse-tractusx.github.io/pull/56).

PR is now up-to-date and can be merged.


Extract Athena cache settings into a TypedDict & refactor Config to support dicts

Feature or Bugfix

Feature

Detail

Extract Athena cache settings to wr.typing.AthenaCacheSettings
Refactored Config to support values in typed dict to be set

Relates

Closes https://github.com/aws/aws-sdk-pandas/issues/2006

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 15b437f929edd0042cfbacdf981fcf967f68c0b5
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 15b437f929edd0042cfbacdf981fcf967f68c0b5
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 15b437f929edd0042cfbacdf981fcf967f68c0b5
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 8b673e2f7bce0eb566527772b130dd469bb799cd
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 8b673e2f7bce0eb566527772b130dd469bb799cd
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 8b673e2f7bce0eb566527772b130dd469bb799cd
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 162c8512d919814f7245e86b1efaeb5495801f57
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 162c8512d919814f7245e86b1efaeb5495801f57
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 162c8512d919814f7245e86b1efaeb5495801f57
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 71d3c42c3d2e66a288379c3e4f87037f3efae0e4
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 71d3c42c3d2e66a288379c3e4f87037f3efae0e4
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 91262dc152ba24e1ad229b86c2e6eec05a51a8d5
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 91262dc152ba24e1ad229b86c2e6eec05a51a8d5
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 71d3c42c3d2e66a288379c3e4f87037f3efae0e4
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 91262dc152ba24e1ad229b86c2e6eec05a51a8d5
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: ba0ab7d2e883e28de9e70cd29c3afd532914ef88
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: ba0ab7d2e883e28de9e70cd29c3afd532914ef88
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: ba0ab7d2e883e28de9e70cd29c3afd532914ef88
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 532bb915b2732cce4cb1c607443b0b08d7ff29d9
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 532bb915b2732cce4cb1c607443b0b08d7ff29d9
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 532bb915b2732cce4cb1c607443b0b08d7ff29d9
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 8b7365c858bdee84cf9e3212a74611fa59f90b59
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 8b7365c858bdee84cf9e3212a74611fa59f90b59
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 7fd5f1da3c4d130d6add8b7cccd1f0b247860017
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 7fd5f1da3c4d130d6add8b7cccd1f0b247860017
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 7fd5f1da3c4d130d6add8b7cccd1f0b247860017
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 7fd5f1da3c4d130d6add8b7cccd1f0b247860017
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 76b7a042560028217846f65902036c643622f172
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 76b7a042560028217846f65902036c643622f172
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 76b7a042560028217846f65902036c643622f172
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 76b7a042560028217846f65902036c643622f172
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 22cd1f964ffce7cb6088a686c03c9f7579c455ee
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 22cd1f964ffce7cb6088a686c03c9f7579c455ee
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 22cd1f964ffce7cb6088a686c03c9f7579c455ee
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 8e837a56b7759bffae9ebe39c8ba947e58074fcb
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 8e837a56b7759bffae9ebe39c8ba947e58074fcb
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 8e837a56b7759bffae9ebe39c8ba947e58074fcb
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 56888b6b3daf415fc54aeca03042e021dbb53dfa
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 56888b6b3daf415fc54aeca03042e021dbb53dfa
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: 56888b6b3daf415fc54aeca03042e021dbb53dfa
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 56888b6b3daf415fc54aeca03042e021dbb53dfa
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: 56888b6b3daf415fc54aeca03042e021dbb53dfa
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: daa8f0c993b38ac135a72204b91ebcd68d907897
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: daa8f0c993b38ac135a72204b91ebcd68d907897
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: daa8f0c993b38ac135a72204b91ebcd68d907897
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


For Each in EngineStateMachine breaks Dependencies

I have the following situation:
var dataSystem:System;
var objectSystem:System;
var cameraSystem:System;

var playState:EngineState = new EngineState()
    .addInstance(dataSystem)
    .addInstance(objectSystem)
    .addInstance(cameraSystem);

engineFSM.switchToState("The Above State");

When switching to the EngineState, the systems are added in any arbitrary order due to the For Each loop here: https://github.com/nadako/Ash-Haxe/blob/master/src/ash/fsm/EngineStateMachine.hx#L114
This breaks things for me because both objectSystem and cameraSystem both depend on dataSystem to be full initialized, and that cannot happen until dataSystem is added to an engine.  Because of this, I am of the opinion that that For Each loop should be a regular For loop, that way the order systems are added to a state are preserved.
And on that note, looking at the code, this For Each should probably be changed as well due to similar reasoning: https://github.com/nadako/Ash-Haxe/blob/master/src/ash/fsm/EngineStateMachine.hx#L99
Thanks for porting Ash to haxe!

Another possible solution could be to add a signal to Engine that is called when systems are added and removed.  I'm not really sure which would be the better solution for this specific problem but I do think that a signal when systems are added/removed would be a useful feature that would incur minimal cost.