More detailed logging information | Dockerfile to be used in a dockerized SSH server

Is your feature request related to a problem? Please describe.
I am not able to get this to work using a Dockerfile that I'm trying to create. I'd like to get some more logging details out of it but I am unsure about where to find the logs.
Describe the solution you'd like
somewhere where I can cat the logs to see what exactly has failed
Describe alternatives you've considered
cat /var/log/kc-ssh-pam.log
Additional context
here is the Dockerfile, maybe you can tell me if I'm doing anything wrong:

# Use Kali Linux as the base image
FROM kalilinux/kali-rolling AS base

# Avoid prompts from apt
ENV DEBIAN_FRONTEND noninteractive

# Update and install kali-linux-core and openssh-server packages
RUN apt-get update && apt-get -y install kali-linux-core openssh-server

FROM base AS ssh

# Configure the SSH server
# Create the run directory for SSH and set appropriate permissions
RUN mkdir /var/run/sshd
# Optionally allow root login via SSH; remove or modify this line if you're using a non-root user
RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
# Change root password; replace 'rootpassword' with a password of your choice
RUN echo 'root:secret' | chpasswd

# Expose the SSH port
EXPOSE 22

# Start the SSH server
CMD ["/usr/sbin/sshd", "-D"]

FROM ssh AS keycloak

COPY sshd /etc/pam.d/sshd
RUN apt-get install libpam-script

COPY pam_script_auth /usr/share/libpam-script/pam_script_auth
RUN chmod +x /usr/share/libpam-script/pam_script_auth

COPY kc-ssh-pam_arm64.deb /opt/kc-ssh-pam/kc-ssh-pam_arm64.deb
RUN dpkg -i /opt/kc-ssh-pam/kc-ssh-pam_arm64.deb

COPY ./config.toml /opt/kc-ssh-pam/config.toml

CMD ["/usr/sbin/sshd", "-D"]

Thanks for the incredibly useful library!

Can you add a user manually in your Dockerfile which has to be same as the keycloak users, password is not important you can skip setting it all together for this user in dockerfile and then test if you are able to login with that user ?

Can you add a user manually in your Dockerfile which has to be same as the keycloak users, password is not important you can skip setting it all together for this user in dockerfile and then test if you are able to login with that user ?

Hey, I figured it out, I didn't give the config.toml the correct hostname of the Keycloak service.
@kha7iq Can I ask you though, how exactly am I supposed to set the environment variables/kc-ssh-pam to get it to use those environment variables?
This is my current Dockerfile:
# Use Kali Linux as the base image
FROM kalilinux/kali-rolling AS base

# Avoid prompts from apt
ENV DEBIAN_FRONTEND noninteractive

# Update and install kali-linux-core and openssh-server packages
RUN apt-get update && apt-get -y install kali-linux-core
RUN apt-get -y install openssh-server nano curl wget
FROM base AS ssh

# Configure the SSH server
# Create the run directory for SSH and set appropriate permissions
RUN mkdir /var/run/sshd
# Optionally allow root login via SSH; remove or modify this line if you're using a non-root user
RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
# Change root password; replace 'rootpassword' with a password of your choice
RUN echo 'root:secret' | chpasswd

# Expose the SSH port
EXPOSE 22

FROM ssh AS keycloak

COPY sshd /etc/pam.d/sshd
RUN apt-get install libpam-script

COPY pam_script_auth /usr/share/libpam-script/pam_script_auth
RUN chmod +x /usr/share/libpam-script/pam_script_auth

ENV KC_SSH_CONFIG=/opt/kc-ssh-pam/config.toml
ENV KC_SSH_REALM=master
ENV KC_SSH_ENDPOINT=http://<IP_ADDRESS>:8080/
ENV KC_SSH_CLIENTID=ssh-login
ENV KC_SSH_CLIENTSECRET=Lbg0SmFVJUBxLNMdUaAZe4gDAINEBVod
ENV KC_SSH_CLIENTSCOPE=openid

WORKDIR /opt/kc-ssh-pam
RUN wget https://github.com/kha7iq/kc-ssh-pam/releases/latest/download/kc-ssh-pam_arm64.deb
RUN dpkg -i /opt/kc-ssh-pam/kc-ssh-pam_arm64.deb

#COPY ./config.toml /opt/kc-ssh-pam/config.toml
#RUN /opt/kc-ssh-pam/kc-ssh-pam ${KC_SSH_CONFIG} ${KC_SSH_REALM} ${KC_SSH_ENDPOINT} ${KC_SSH_CLIENTID} ${KC_SSH_CLIENTSECRET} ${KC_SSH_CLIENTSCOPE}

CMD ["/usr/sbin/sshd", "-D"]

The output I get is *** Thu Apr  4 09:50:08 2024 2024/04/04 09:50:08 Failed to retrieve provider configuration for provider https://keycloak.example.com/realms/ssh-demo with error Get "https://keycloak.example.com/realms/ssh-demo/.well-known/openid-configuration": dial tcp: lookup keycloak.example.com on <IP_ADDRESS>:53: no such host
Which (I believe) are the default placeholder environment variables. If I execute env in the container, I can see that the environment variables are set properly. Do I need to restart the service or something?

You do not have to set the variables directly in Dockerfile, just pass them to container at run time.
Use either config file or ENV variables , it would be much simpler this way instead of using both.
i.e
docker run -d -e KC_SSH_REALM=master \
-e KC_SSH_ENDPOINT="http://<IP_ADDRESS>:8080" -e KC_SSH_CLIENTID=ssh-login  \
-e KC_SSH_CLIENTSECRET=Lbg0SmFVJUBxLNMdUaAZe4gDAINEBVod -e KC_SSH_CLIENTSCOPE=openid \
your-docker-image-name:latest

The error you get is because its using the sample config file which is added when you install kc-ssh-pam.deb.
You can either remove the file all together or mount the file in the container when you are running it, that is if you prefer to use config file over variables.
i.e
docker run -d -v /home/username/config.toml:/opt/kc-ssh-pam/config.toml dockerimage:latest

Thanks for your response,
I'm not sure I understand, I do want to set this up exclusively using environment variables, preferrably with default values in the Dockerfile for ease of use (this will be open-sourced, ideally I want people to do docker-compose up -d without downloading the repository). Configuring the TOML file using environment files will add a bit more confusion to the Dockerfile.
So from what I understand, I would need to install the package using dpkg, have the environment variables added, and then remove the config.toml? I tried that:

WORKDIR /opt/kc-ssh-pam
RUN wget https://github.com/kha7iq/kc-ssh-pam/releases/latest/download/kc-ssh-pam_arm64.deb
RUN dpkg -i /opt/kc-ssh-pam/kc-ssh-pam_arm64.deb
RUN rm /opt/kc-ssh-pam/config.toml

But I get this output from /var/log/kc-ssh-pam.log:
*** Thu Apr  4 10:33:37 2024
2024/04/04 10:33:37 Error reading config file: Config File "config" Not Found in "[/opt/kc-ssh-pam / /.config]"
*** Thu Apr  4 10:33:39 2024
2024/04/04 10:33:39 Error reading config file: Config File "config" Not Found in "[/opt/kc-ssh-pam / /.config]"
*** Thu Apr  4 10:33:40 2024
2024/04/04 10:33:40 Error reading config file: Config File "config" Not Found in "[/opt/kc-ssh-pam / /.config]"

I understand the problem, the config.toml file needs to exist so that env variable values can be used. But there is another issue i did not tested for docker that it is not using env variables with sshd.
There is a simple workaround , you can generate your config with entrypoint script getting the values from env vars.
Here is a complete example, i am not using libpam for this example and added a user ak
Dockerfile
# Use Kali Linux as the base image
FROM kalilinux/kali-rolling

# Avoid prompts from apt
ENV DEBIAN_FRONTEND noninteractive

# Update and install kali-linux-core and openssh-server packages
RUN apt-get update && apt-get -y install kali-linux-core openssh-server nano curl wget

# Configure the SSH server
# Create the run directory for SSH and set appropriate permissions
RUN mkdir -p /var/run/sshd

RUN sed -i -e 's/^#Port 22/Port 22/' -e 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config

# Expose the SSH port
EXPOSE 22

# Add the auth line to /etc/pam.d/sshd
RUN echo 'auth sufficient pam_exec.so expose_authtok log=/var/log/kc-ssh-pam.log /opt/kc-ssh-pam/kc-ssh-pam' | tee /etc/pam.d/sshd

WORKDIR /opt/kc-ssh-pam
RUN wget https://github.com/kha7iq/kc-ssh-pam/releases/latest/download/kc-ssh-pam_amd64.deb && \
    dpkg -i /opt/kc-ssh-pam/kc-ssh-pam_amd64.deb && \
    rm -rf /opt/kc-ssh-pam/kc-ssh-pam_amd64.deb

# Add the keycloak user manually
RUN useradd ak

COPY entrypoint.sh /usr/local/bin/entrypoint.sh

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

entrypoint.sh
#!/bin/bash

# Define the path for the config file
CONFIG_FILE="/opt/kc-ssh-pam/config.toml"

# Check if any KEYCLOAK environment variables are set
if env | grep -q '^KEYCLOAK'; then
    echo "# Config file generated by entrypoint script" > "$CONFIG_FILE"
    echo "realm = $KEYCLOAK_REALM" >> "$CONFIG_FILE"
    echo "endpoint = $KEYCLOAK_ENDPOINT" >> "$CONFIG_FILE"
    echo "clientid = $KEYCLOAK_CLIENTID" >> "$CONFIG_FILE"
    echo "clientsecret = $KEYCLOAK_CLIENTSECRET" >> "$CONFIG_FILE"
    echo "clientscope = $KEYCLOAK_CLIENTSCOPE" >> "$CONFIG_FILE"
else
    echo "# Config file generated by entrypoint script with default values" > "$CONFIG_FILE"
    echo "realm = ssh-demo" >> "$CONFIG_FILE"
    echo "endpoint = https://keycloak.example.com" >> "$CONFIG_FILE"
    echo "clientid = keycloak-client-id" >> "$CONFIG_FILE"
    echo "clientsecret = MIKEcHObWmI3V3pF1hcSqC9KEILfLN" >> "$CONFIG_FILE"
    echo "clientscope = openid" >> "$CONFIG_FILE"
fi

echo -e "Starting SSH Server\n"

exec /usr/sbin/sshd -D

docker-compose.yaml
version: "3.7"

# SSH Server
services:
  kc-ssh-pam:
    container_name: kc-ssh-pam
    image: ak/kc-ssh-pam:0.3
    environment:
      - KEYCLOAK_REALM="master"
      - KEYCLOAK_ENDPOINT="https://keycloak.example.com"
      - KEYCLOAK_CLIENTID="linux-ssh"
      - KEYCLOAK_CLIENTSECRET="29GYExv22Prs9we8we815MqeBcxB4"
      - KEYCLOAK_CLIENTSCOPE="openid"
    ports:
      - "22:22"

I am going to close this as resolved, if you don't have any other question ?

I am going to close this as resolved, if you don't have any other question ?

I'm going to try this out soon, in the process I'll try to provide a Docker-compose for this. I'll either create a new issue or comment on this one.
Thank you so much!


SearchHistory Component

Could you add gray-100 to the text element and search icon on hover? Thanks!
https://user-images.githubusercontent.com/57961822/110369312-83acb080-804a-11eb-8e1e-8caf3f65bae6.mov


mesa: 21.3.3 -> 21.3.4

Motivation for this change
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Thanks @primeos!
This fixes https://github.com/NixOS/nixpkgs/issues/153377 for me!

@primeos: this sounds OK to merge to me.  Still waiting for something?  (I see the "draft" status)

please merge the seizures are getting worse

We should ship NixOS with the usual epilepsy warnings, I guess.

@primeos: this sounds OK to merge to me. Still waiting for something? (I see the "draft" status)

Yes, I was hoping for https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14505 to be merged soon (https://github.com/NixOS/nixpkgs/pull/154926#pullrequestreview-852184906) to ensure that the referenced commit (patch URL) will not be GCed (in case the MR gets updated) but it should already be good to go (AFAIK Hydra will cache that patch anyway so it should only be an "issue" (minor annoyance) for people who don't use the official binary cache).

We could look at the URL again before this hits master.   It can be resolved easily without causing any rebuild.


LinuxSocket.Dispose throws if socket was not connected

public static void Main(String[] args)
{
    var socket = new LinuxSocket();
    socket.Dispose();
}

results in:
Unhandled exception. System.Net.Sockets.SocketException (107): Transport endpoint is not connected
   at InTheHand.Net.Sockets.LinuxSocket.ThrowOnSocketError(Int32 result, Boolean throwOnDisconnected)
   at InTheHand.Net.Sockets.LinuxSocket.get_RemoteEndPoint()
   at InTheHand.Net.Sockets.LinuxSocket.get_Connected()
   at InTheHand.Net.Sockets.LinuxSocket.Dispose(Boolean disposing)
   at System.Net.Sockets.Socket.Dispose()

So far I don't see any obvious reason to not just call Close unconditionally in Dispose implementation instead of checking result of getpeername (called by RemoteEndPoint property, which then throws due to received error code).

Good catch. If the _socket value is not zero we should close anyway to release resources. I've made the change and it'll be in the next release.


serviceentry: Fix stable IP allocation with duplicate host in same namespace

When an IP was reused (the same host name used in two service entries
This caused a change in all subsequent IP allocations, regardless of
namespace, and intermittent BlackHoleCluster for all services with
higher IPs.
This change removes this problem condition, and adds a regression test.
There are a few cases where IPs still can change:

Adding a duplicate service entry in a namespace, if the conflict
resolution hash is lower than the first hash. This could probably be
fixed by relocating the IP reuse logic to the first loop.

Deleting the oldest service entry of an host with the same hash value
as another service entry

But none of these has the large cascading effect as this issue.
For clusters with IP auto allocation and duplicate hostnames in a single
namespace, this change will change auto allocated IPs.
Fixes #44849

Hi @chlunde. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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.

What is the use case for duplicate host ?

There is no specific use case here, but we have seen it happen when developers include Kustomization modules with ServiceEntries/VirtualServices.
But this was already handled in the existing code, but it did not work as expected

IIUC, we should fix hashedServices, for same service at least saminess in pair [namespace/hostname], should not do double hashing

I don't think we do any double hashing here, but I think the code can be simplified to one loop. I just tried to do the smallest change to fix this specific problem here.
I can (try to) make an alternative PR with a bigger cleanup:

One loop
Fix DoS if there are too many IPs
Preserve oldest IP when there are duplicates in an ns with firstHash(ns/host) > secondHash(ns/host)

@ramaraochavali @hzxuzhonghu  alternative PR: https://github.com/istio/istio/pull/45330
If we have any worries, I would prefer it if we could make them concrete in form of unit/regression tests. Do you think you could express your concerns in a way I can reproduce this way?

@ramaraochavali this PR is not just theoretical, as you can se by https://github.com/istio/istio/issues/44849 - it is very likely this user also ran into the exact same issue. It's just a missing x++, and you can see this user has an IP changed with 1 value.

That was in Istio 1.10 which does not have this stable allocation logic.

@ramaraochavali this PR is not just theoretical, as you can se by #44849 - it is very likely this user also ran into the exact same issue. It's just a missing x++, and you can see this user has an IP changed with 1 value.

That was in Istio 1.10 which does not have this stable allocation logic.

Sorry, I see, my fault, I'll remove the reference to this issue.

this PR is not just theoretical

Based on your comment here #45307 (comment) - you mentioned there is no such use case?

I don't think there are good reasons for users to do this, but it can certainly happen, we've had this happen multiple times in our cluster. I'll attempt to prevent this in our GitOps linting pipeline, but I don't understand why we would want to keep the current behaviour.
A third approach to fixing this, which is the smallest change I can imagine, I think would be to add this code to the branch for log.Debugf("Reuse IP for domain %s", n):
https://github.com/istio/istio/blob/f618007a4d3cdaace2a1f86f5818a4eeb62e173b/pilot/pkg/serviceregistry/serviceentry/controller.go#L960
                        x++
			if x%255 == 0 {
				x++
			}

This would only change code in a branch that is normally not reached, except in this specific case.


Unable to register routes if there are multiple folders in the controller

Unable to register routes if there are multiple folders in the controller。
Now only routes created under the root directory of the controller can be accessed normally。
who can help me！   --！ --！ Zz z

You should manually add all controller folders or all controller source code files to CMakeLists.txt


fix phpDoc

Need to get phpDoc working.

[ ] phpdoc runs OK, but produces empty documentation
[ ] write a lot more docs, including an intro, see ruby-vips for a model
[ ] generate phpDoc comments automatically for the dynamically-bound methods, again, see ruby-vips for a model

seems resolved now we package correctly


Fix cmake build for 64-bit targets

Thank you! I released a new version 0.5.1 of turbojpeg and 0.2.1 of turbojpeg-sys with this and other small fixes.


child_process.ahk: replace [WriteFile] stdin with WM_CHAR ; #78

the downside to using WM_CHAR over WriteFile is that NULL cannot be sent to stdin anymore
there could be an option stdin_useFileIO to toggle it

this was the code used to test:
InputString := "echo Special Letters ÆØÅ`r"
SimpleCmd := child_process(InputString, , { Encoding: "utf-8" })
SimpleCmd.Wait(), SimpleCmd_Result := Trim(SimpleCmd.stdout.Read(), "`n`r")

Cmd := child_process("cmd.exe", , { Encoding: "utf-8" })
stdin := Cmd.stdin, stdout := Cmd.stdout, stdout.complete := false
stdout.onData := (this, str) => RegExMatch(str, "(^|`n)(\s*\w:[^>]*>)$", &m) ?
	this.Append(SubStr(str, this.complete := 1, -m.Len[2])) : this.Append(str)
write_and_read(cmd := "") {
	(cmd && stdin.Write(cmd), stdin.Read(0))
	while !stdout.complete
		Sleep(-1)
	Data := stdout.Read()
	stdout.complete := false
	return Trim(Data, "`n`r")
}
write_and_read(), Cmd_Result := write_and_read(InputString), Cmd.Terminate()

OutputDebug(Info := Format("Command: `n{}`n`nSimpleCmd_Result: `n{}`n`nCmd_Result: `n{}", Title := Trim(InputString, "`n`r"),SimpleCmd_Result, Cmd_Result))
MsgBox(Info, Title,0x1000)

note that `n was changed to `r for it to work

You modified STARTUPINFO.dwFlags, but did not specify the value corresponding to this flag?
The flags parameter of CreateProcess can be specified in options.flags.
This is an input scheme for the console program, independent of the stdin of child_process, which can be provided externally.


Updated the Buttons

Sized the Buttons of login and signup to more adjustable according to the website

@hritika2409 issue number please ?

@skmirajulislam  First of all i am really very sorry for late reply as i was busy with some personal problem.
But my issue number is Changing the buttons #173


Unable to cancel an EffectTask before it's being run

Description
If a reducer, in response to an action, emits both an EffectTask.task with cancellable on it and an EffectTask.cancel (in that order) for the same id, the task is not cancelled.
Checklist

[X] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[ ] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
I would expect the task not to start because it was emitted and cancelled right away
Actual behavior
The task runs and finished
Steps to reproduce
The following example demonstrates the issue. In it, the .triggerIssue action emits two effects. The first is a longer running task that can be cancelled, the second is a cancel effect that I expect to cancel that very same long running task. I would expect that no .increment action is emitted because the task would be cancelled while sleeping. In reality, the .increment action is emitted.
In real world use, these effects would obviously not be right next to each other, but the issue remains the same.
@MainActor
func testImmediateCancellationReduced() async {
  struct Example: ReducerProtocol {
    struct State: Equatable {
      var count: Int
    }

    enum Action: Equatable {
      case triggerIssue
      case increment
    }

    func reduce(into state: inout State, action: Action) -> EffectTask<Action> {
      switch action {
      case .triggerIssue:
        return .concatenate([
          .task {
            try await Task.sleep(for: .seconds(1))
            return .increment
          }
          .cancellable(id: "1"),
          .cancel(id: "1")
        ])
      case .increment:
        state.count += 1
        return .none
      }
    }
  }

  let store = TestStore(initialState: Example.State(count: 0), reducer: Example())

  await store.send(.triggerIssue)

  await store.finish(timeout: .seconds(1))
}

The Composable Architecture version information
0.49.2
Destination operating system
iOS 16
Xcode version information
Version 14.1 (14B47b)
Swift Compiler version information
swift-driver version: 1.62.15 Apple Swift version 5.7.1 (swiftlang-<IP_ADDRESS>.3 clang-14<IP_ADDRESS>)
Target: arm64-apple-macosx12.0

Hi @Thomvis, thanks for the detailed report!
Unless I'm missing something, this does behave how I would expect. You are concatenating the effects, and so the .cancel(id:) effect doesn't even start up until the cancellable effect finishes. Did you mean to do a merge?
But also, even if you do a merge it may not behave how you expect. This is because the .task effect incurs a thread hop due to switching to an asynchronous context, and the .cancel(id:) happens immediately and synchronously, so technically there's nothing to cancel at that point.
This is due to the fact that when we more fully embraced async tools in TCA we started incurring some context switches that were not there previously with Combine. We may be able to clean up some of those though.
All that to say, I don't have an immediate solution right now. We would have to look into making .cancellable do more of its work synchronously, and we will try to find time to investigate that.

Just to drive home the difference between Combine and Swift concurrency, the following effect will operate how you want:
return .merge(
  .task { false }
    .eraseToEffect()
    .cancellable(id: 1),
  .cancel(id: 1)
)

This is because although .task { false } operators in the Swift concurrency world, once we hit it with eraseToEffect it becomes a regular Combine publisher, and in that world effects start up synchronously and immediately. So erasing your effects might be a way to work around this until we have more time to look into things.

I would expect the task to start, but be cancelled almost immediately while it's awaiting the Task.sleep. If I delay the .cancel by 1 ms it works as intended. Only if I try to cancel it in the same runloop tick when the task was emitted the cancel ends up in limbo. (The task has no entry in _cancellationCancellables yet so the .cancel is a no-op.)

I'm sorry, I may be missing something obvious, but because you are using .concatenate the .cancel does not start at all until the .task { ... } has fully finished. It has no choice to cancel anything in flight because the cancellable thing has already finished.
I tried delaying the cancellation like you mentioned, but it still works the same way:
return .concatenate([
  .task {
    try await Task.sleep(nanoseconds: NSEC_PER_SEC)
    return .increment
  }
    .cancellable(id: "1"),

  .cancel(id: "1")
  .delay(for: 0.1, scheduler: DispatchQueue.main)
  .eraseToEffect()
])

I'm sorry, I may be missing something obvious, but because you are using .concatenate the .cancel does not start at all until the .task { ... } has fully finished. It has no choice to cancel anything in flight because the cancellable thing has already finished.

My bad. I hadn't realized concatenate waits for the task to finish (although I know about concatenate in the Rx context). Also it seems that some important details might have gotten lost when I formulated the minimal reproduction case. I'll spend more time to get to the core of the issue.

Here's my second try at the reproduction case. I got rid of the concatenate and now use the (old) synchronous send API because that more closely matches the use case where I encountered the issue. (There the events were triggered by a binding triggered by SwiftUI.)
Uncommenting the eraseToEffect() reliably fixes the issue, making it a good work-around.
func testImmediateCancellationReduced() {
  struct Example: ReducerProtocol {
    struct State: Equatable {
      var count: Int
    }

    enum Action: Equatable {
      case count(Int)
      case doCalculation(Int)
      case calculationDidFinish(Int)
    }

    func reduce(into state: inout State, action: Action) -> EffectTask<Action> {
      switch action {
      case .count(let c):
        let oldCount = state.count
        state.count = c
        return .merge([
          .cancel(id: "\(oldCount)"),
          .init(value: .doCalculation(c))
        ])
      case .doCalculation(let c):
        return .task {
          try await Task.sleep(for: .seconds(1))
          return .calculationDidFinish(c*100)
        }
//        .eraseToEffect()
        .cancellable(id: "\(c)")
      case .calculationDidFinish:
        return .none
      }
    }
  }

  let store = TestStore(initialState: Example.State(count: 0), reducer: Example())

  store.send(.count(1)) {
    $0.count = 1
  }
  store.receive(.doCalculation(1))
  store.send(.count(2)) {
    $0.count = 2
  }
  store.receive(.doCalculation(2))

  let e = expectation(description: "")
  Task {
    await store.receive(.calculationDidFinish(200), timeout: .seconds(2))
    e.fulfill()
  }

  waitForExpectations(timeout: 3)
}

Ah yeah, ok that makes more sense. I think this is something we can fix while still staying in the concurrency world with no Combine. We have a note for it and will look at it soon.
As a quick aside, you may be interested in this article for an alternative to sharing reducer logic via actions. 🙂


Fix regex for less errors

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

Files with missing lines
Coverage Δ
Complexity Δ

.../seedu/address/logic/parser/AddressBookParser.java
91.66% <100.00%> (+0.36%)
13.00 <0.00> (+1.00)

... and 1 file with indirect coverage changes


Update plugins.yml

publish my hexo-tippy plugin

Thank you so much for you contribution.


Release.py fails on python 2.6.x.

https://issues.jboss.org/browse/ISPN-7879

Integrated, thanks Ryan!


Add commands to cleanup dangling images on 1.24 testbed

Add image cleanup commands on both docker and containerd nodes to prevent
the depletion of storage.
Signed-off-by: Shuyang Xin<EMAIL_ADDRESS>

/test-latest-all

Codecov Report

Merging #3951 (66f6ae5) into main (40a952b) will decrease coverage by 28.84%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #3951       +/-   ##
===========================================
- Coverage   64.00%   35.16%   -28.85%
===========================================
  Files         293      122      -171
  Lines       43300    17139    -26161
===========================================
- Hits        27716     6027    -21689
+ Misses      13340    10611     -2729
+ Partials     2244      501     -1743

Flag
Coverage Δ

integration-tests
35.16% <ø> (?)

kind-e2e-tests
?

unit-tests
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/controller/externalippool/controller.go

pkg/antctl/client.go

...kg/agent/flowexporter/connections/conntrack_ovs.go

pkg/agent/proxy/types/types.go

pkg/flowaggregator/apiserver/apiserver.go

...ticluster/commonarea/remote_common_area_manager.go

multicluster/cmd/multicluster-controller/leader.go

pkg/agent/util/ipset/ipset.go

pkg/ovs/openflow/ofctrl_nxfields.go

pkg/apis/crd/v1alpha1/register.go

... and 405 more

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-e2e

/test-latest-all

/test-latest-all

/test-latest-all

/test-latest-conformance

Hi @tnqn, do you have more comments for this PR?

/skip-all


[BUG] Automatic transaction generator not working anymore

Duplicate issue

[X] I've searched for any related issues and avoided creating a duplicate issue.

Description
When setting AutomaticTransactionGenerator.enable to true, with valid badge list, no transaction is triggered after full onboarding of the charging station.
Environment: https://testcpoperf-p97l01k4-ev-approuter-emobility-perf-cpo.cfapps.eu10.hana.ondemand.com/logs
charging-stations-simulator version
1.1.56
Node.js Version
14.19
System
System:
OS: Windows 10 10.0.19043
CPU: (8) x64 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
Memory: 2.55 GB / 15.84 GB
Expected result
It is expected that the simulated charging station will send an Authorize and StartTransaction after connecting to the system.
Actual result
Simulated charging station connects but doesn't trigger any further action after onboarding. In the simulator logs, following entries can be observed:
info: 3/24/2022, 10:54:43 PM CS-SCHNEIDER-TEST3-00001 | ATG on connector #2: started on connector and will run for 03:00:00
info: 3/24/2022, 10:54:43 PM CS-SCHNEIDER-TEST3-00001 | ATG on connector #2: entered in transaction loop while the charging station is unavailable
warn: 3/24/2022, 10:54:43 PM CS-SCHNEIDER-TEST3-00001 | ATG on connector #2: trying to stop a not started transaction
info: 3/24/2022, 10:54:43 PM CS-SCHNEIDER-TEST3-00001 | ATG on connector #2: stopped on connector and lasted for 00:00:00.001
Attachments
config.zip

info: 3/24/2022, 10:54:43 PM CS-SCHNEIDER-TEST3-00001 | ATG on connector https://github.com/jerome-benoit/charging-stations-simulator/pull/2: entered in transaction loop while the charging station is unavailable
The charging station has been set as not available by the central server at some point and have not put it back as available?

That's a good point, I have observed on real charging stations that they
appear as unavailable after being restarted with the authorization URL...
So there might be an issue to fix on E-Mobility side.
Le jeu. 24 mars 2022 à 23:02, Jérôme Benoit @.***> a
écrit :

info: 3/24/2022, 10:54:43 PM CS-SCHNEIDER-TEST3-00001 | ATG on connector
https://github.com/jerome-benoit/charging-stations-simulator/pull/2:
entered in transaction loop while the charging station is unavailable
The charging station has been set as not available by the central server
at some point and have not put it back as available?
—
Reply to this email directly, view it on GitHub
https://github.com/jerome-benoit/charging-stations-simulator/issues/201#issuecomment-1078424688,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMH3MC64HZL3UJLUBD7TL7DVBTQ7DANCNFSM5RSMRPUA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

@dupste: I think that issue can be closed, right?

Issue to be fixed on OCPP server side, closing this ticket.


Add es6 to eslintrc

You should really wait for code review rather then insta merging.

The polite thing to do would be to revert this change.

Reverted on master.
We really should not slip features in without review. Turning es6 on turns on 20 rules.

There is no point in having a standard without review and consencus. If that's the case I might as well create Raynos/standard and have personal opinions.

Secondarily we cannot arbitrarily turn es6 features on because the linter should complain loudly about code that's invalid in node 0.10


Jetson Orin NX 16gb not seeing much CUDA usage with Ubuntu 22 and Jetpack 6 even after applying documented LD path work around

I recently rebuilt my Orin NX and chose the newest release OS and Jetpack edition as I wanted a clean slate to try ollama in. I saw no difference in the performance before or after following the given workaround.  When I close the service instance and intentionally opened a new terminal window to run ollama serve in the service loads, says it sees CUDA but when it does the GPU check it looks in the modified LD path for a libnvidia-ml.so, fails, and then reports no GPUs available.  I conformed using jtop that all CPU cores were at or near 100% when running mistral and the CUDA cores were mostly idle with only occasional usage blips.  I also tried other paths such as the cuda12.2 folder rather than the base CUDA and where I did see a libnvida-ml.so which just causes another error over libnvidia.so.1 and still no “GPU” detection and no CUDA usage.  I went so far as to run through the Nvidia portion of the setup script and made sure everything was installed as directed by it.
I think I will try rebuilding it again with Jetpack 5.1 just to see if it works there.  But I wanted to report it anyway just in case it is a Jetpack 6.0 vs. 5.1 issue. I will update if that fixes it.

Can you share the server log showing the failed attempt to lookup GPU details via libnvidia-ml.so, along with the path where the library is found on your system?

Here is the log, in my attempts one of the things i did seemed to force it to that WSL directory no idea why as it does't exist. Hence why rather than trying try figure out what did that since i know pointing to the location where the libnvidia-ml.so is doesn't work i figured i would just reload and go back to jetpack 5.1.2 and ubuntu 20
Dec 31 16:00:30 bunnybot systemd[1]: Started Ollama Service.
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 images.go:834: total blobs: 6
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 images.go:841: total unused blobs removed: 0
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 routes.go:929: Listening on <IP_ADDRESS>:11434 (version 0.1.18)
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 shim_ext_server.go:142: Dynamic LLM variants [cuda]
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 gpu.go:34: Detecting GPU type
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 gpu.go:39: CUDA not detected: Unable to load libnvidia-ml.so library to query for Nvidia GPUs: /usr/lib/wsl/lib/li>
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 gpu.go:45: ROCm not detected: Unable to load librocm_smi64.so library to query for Radeon GPUs: /opt/rocm/lib/libr>
Dec 31 16:00:31 bunnybot ollama[1094]: 1969/12/31 16:00:31 routes.go:952: no GPU detected
This is the locations in /usr where i could find that library.
/usr/lib/aarch64-linux-gnu/nvidia/libnvidia-ml.so.1
/usr/local/cuda-12.2/targets/aarch64-linux/lib/stubs/libnvidia-ml.so

Small update, built a new Ubuntu box and setup the jetson orin nx with Ubuntu 20 and Jetpack 5.1.2, I even built it from a new VM made from a fresh Ubuntu 20 Desktop iso. After all setup was complete, apt update/upgrade run, rebooted, and ran the instructions from: https://github.com/jmorganca/ollama/blob/main/docs/tutorials/nvidia-jetson.md
It does not seem to be respecting the LD_LIBRARY_PATH as specified.
This is the log from the ollama service added to the system:
Jan 10 01:19:17 bunnybot systemd[1]: Started Ollama Service.
Jan 10 01:19:17 bunnybot ollama[1114]: 2024/01/10 01:19:17 images.go:808: total blobs: 0
Jan 10 01:19:17 bunnybot ollama[1114]: 2024/01/10 01:19:17 images.go:815: total unused blobs removed: 0
Jan 10 01:19:17 bunnybot ollama[1114]: 2024/01/10 01:19:17 routes.go:930: Listening on <IP_ADDRESS>:11434 (version 0.1.19)
Jan 10 01:19:18 bunnybot ollama[1114]: 2024/01/10 01:19:18 shim_ext_server.go:142: Dynamic LLM variants [cuda]
Jan 10 01:19:18 bunnybot ollama[1114]: 2024/01/10 01:19:18 gpu.go:35: Detecting GPU type
Jan 10 01:19:18 bunnybot ollama[1114]: 2024/01/10 01:19:18 gpu.go:40: CUDA not detected: Unable to load libnvidia-ml.so library to query for Nvidia GPUs: /usr/lib/wsl/lib/libnvidia-ml.so.1: cannot open shared object file: No such file or directory
Jan 10 01:19:18 bunnybot ollama[1114]: 2024/01/10 01:19:18 gpu.go:46: ROCm not detected: Unable to load librocm_smi64.so library to query for Radeon GPUs: /opt/rocm/lib/librocm_smi64.so: cannot open shared object file: No such file or directory
Jan 10 01:19:18 bunnybot ollama[1114]: 2024/01/10 01:19:18 routes.go:953: no GPU detected
Jan 10 01:20:52 bunnybot systemd[1]: Stopping Ollama Service...
Jan 10 01:20:52 bunnybot systemd[1]: ollama.service: Succeeded.
Jan 10 01:20:52 bunnybot systemd[1]: Stopped Ollama Service.

I would post the text from the tmuxed ollama_jetson window but honestly other than the service stop message it is identical.  In the past I have used other tools to run Jetson CUDA optimized LLMs and they were much faster, but required more work and time converting LLMs to get working so I was excited to try ollama as we have been toying with integrating various other off the shelf tools and having the ability to test many models is very tempting.  So no matter what thank you!

Thanks!


lacking type safety in the openapi route object

the static schema does not match the the request type, and does not have typing on the handle parameters
makes this library really hard to use
it's also not clear how to describe the parameters!
and there are multiple places where params can be defined!

need to make better use of typescript for this to be nice to use
i would also recommend the schema not being static so you don't have to compute the schema and construct everything until the route is hit

This is a known issue, i just didn't got any time yet to get to it
The issue with migrating from the static schema, is that we want to keep backwards compatibility with people using the static version

i would also recommend the schema not being static so you don't have to compute the schema and construct everything until the route is hit

I still need to think about this because, if we move the schema compute to only when the route is hit, we still need a way to compute all route schemas when someone hits openapi.json path
@patryk-smc feel free to open a PR 😄
if you decide to tackle both issues, please split into 2 pr's


⚠ Bofrost.be has degraded performance

In d393bda, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1493 ms

Resolved: Bofrost.be performance has improved in 3d216fd.


Migrate web-app to Next.js for better performance and flexibility

This migration aims to improve the performance of the web application by leveraging Next.js for SSR and better routing. Additionally, Next.js will be used to create serverless functions, which will manage data for both the web app and the client app.

Use WebSocket or SSE(Server-Sent-Event) connection between the function and client component to ensure real-time data transfer

Ensure the same functionality in #10


New template selection flow

Description (what's changed?)
New template selection flow
Testing instructions

The selected template has a black outline.
Color selection should not change the template library color but just show an icon with the selected color as seen below.
A new color picker is added on the editor and it allows you to change the color without going to template details. It behaves like in this video:

https://spacerunnersworkspace.slack.com/files/U05F0PB8EQN/F05Q1C13F0S/itemcolorchange.mov

Task linked: CU-86ay6ha76 Template selection


Redundant normalisation factor when Blatt-Weisskopf is used as form factor?

Currently, BlattWeisskopfSquared is used in two places (see links for the math):

as a ratio in EnergyDependentWidth, which implements PDG2021 Equation (50.28).
as a form factor in lineshapes that also parametrise production processes, like relativistic_breit_wigner_with_ff(), which originates form Eqs. (50.23), (50.24), and (50.26).

Now, in Equation (50.27), Blatt-Weisskopf factors are not normalised (numerator is always 1), while AmpForm's BlattWeisskopfSquared is normalised (numerator goes as z^L and there is a factor that ensures B_L(1)=1). This is okay in 1., because the momentum ratio q/q₀ that appears in Eq. (50.28) is absorbed into the ratio of the two (normalised) BlattWeisskopfSquared factors and the normalisation constants cancel out. Similarly, for 2., BlattWeisskopfSquared essentially plays the rôle of na of Eq. (50.26) by absorbing (qa/q₀)^L. The only problem, though, is that the normalisation constant for higher L does not cancel out when BlattWeisskopfSquared is used as a form factor. This has an effect in the determination of the couplings through Eq. (50.24).[^1]
The question is therefore, what to do about the normalisation constants for higher angular momenta when BlattWeisskopfSquared is used as a form factor for production processes?
[^1]: This is also relevant for the K-matrix, see e.g. Eq. (50.29).

Additional constant is indeed absorbed into 𝛼 of Equation (50.24).


GoogleAds IMA SDK pod dependency

Current behavior
Describe what happens when you encounter this issue.
Installing react-native-video v6.0.0.alpha.5 installs GoogleAds-IMA-iOS-SDK pods in iOS.
Expected behavior
Describe what you wanted to happen
If the the adTagUrl is passed a value and they do not have GoogleAds-IMA-iOS-SDK installed the player should throw an error that the dependency should be installed to use the prop instead of installing it by default
There are a few reasons why installing this dependency by default could be a problem

For users who do not need or want ads in their videos it is installing additional dependencies, making the app bundle size larger. even if it is small, it does increase bundle size which could be important for some organizations
While I'm not sure how this will work at the present, this could cause problems for Apps in the Apple App Store when they are in review who's rules are configured to assert that they do not serve ads. Especially if reviewers are looking at pod files

Which player are you experiencing the problem on:

iOS
Android
Windows UWP
Windows WPF

Hello, by chance, I merge a fix for this yesterday :) I will build a release soon !


Explorer: Transaction Details Page for ChangeEpoch

ChangeEpoch should look similar to the TransferObject page(e.g., both have mutated, gas, sender), except that changeEpoch should have these extra fields:
epoch: 100001;
storage_charge: 12;
computation_charge: 12333;

Do we need UI design for this @666lcz ?
If so, can you provide some spec details?

@mystie711 Yes we need design for this. Added more details

Figma,
https://www.figma.com/file/kSD0qXCIDZA4KQVNepA5hR/02-explorer?node-id=247%3A55934


Music with no titles

How can I fix this?

Try this on the public Nadeko first.
Does it occur? Ask there. Kuro will update sooner or later to it then.
Does it not occur? Wait for Kuro to respond.
Van: katherynliza
Verzonden: vrijdag 9 augustus 2019 22:54
Aan: ScarletKuro/NadekoBot-Heroku-Auto-Deploy
CC: Subscribed
Onderwerp: [ScarletKuro/NadekoBot-Heroku-Auto-Deploy] Music with no titles (#3)
How can I fix this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Do you mean nadeko discord? Also there alot of Kuros on their discord

Public nadeko on discord, hosted by kwoth
No need to find Kuro there. He can respond here when he has time.
Outlook voor iOShttps://aka.ms/o0ukef downloaden

Van: katherynliza<EMAIL_ADDRESS>Verzonden: vrijdag, augustus 9, 2019 10:58 PM
Aan: ScarletKuro/NadekoBot-Heroku-Auto-Deploy
CC: Macley; Comment
Onderwerp: Re: [ScarletKuro/NadekoBot-Heroku-Auto-Deploy] Music with no titles (#3)
Do you mean nadeko discord? Also there alot of Kuros on their discord
―
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/ScarletKuro/NadekoBot-Heroku-Auto-Deploy/issues/3?email_source=notifications&email_token=AGJIY42WXQMZTYI5SDGUN53QDXK73A5CNFSM4IKXJJAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD37YEBY#issuecomment-520061447, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGJIY42IHO6P62STFDEFTODQDXK73ANCNFSM4IKXJJAA.

Already did that then

Wait for kuro to respond here then. Hope he finds the issue for ya! Gl
Outlook voor iOShttps://aka.ms/o0ukef downloaden

Van: katherynliza<EMAIL_ADDRESS>Verzonden: vrijdag, augustus 9, 2019 11:02 PM
Aan: ScarletKuro/NadekoBot-Heroku-Auto-Deploy
CC: Macley; Comment
Onderwerp: Re: [ScarletKuro/NadekoBot-Heroku-Auto-Deploy] Music with no titles (#3)
Already did that then
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/ScarletKuro/NadekoBot-Heroku-Auto-Deploy/issues/3?email_source=notifications&email_token=AGJIY46LUIJALUQORWES7WTQDXLOXA5CNFSM4IKXJJAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD37YMZQ#issuecomment-520062566, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGJIY44TITCBSRVTFPFGA7TQDXLOXANCNFSM4IKXJJAA.

I think that should be reported here https://gitlab.com/Kwoth/nadekobot
since I havent touched the originam music mode and doesn't rely on db modifications. Maybe redeploying youtube-dl dependecy on heroku can also help.

I did redeploy it and that did not fix the problem. Also if that is official Nadeko bot, they will not respond to any complaints once someone puts on heroku. Also, the bot hosted on my own computer is fine.

I really have no clue, since I can't reproduce it. I tried on my bot and seems ok. Installed the latest youtube-dl and bot build.

Did you tried to redploy with cleaning the buildcache? https://help.heroku.com/18PI5RSY/how-do-i-clear-the-build-cache

Sorry for such long response. I got the error above.

Before this I just ran auto-deploy, so I have none of the files locally.

oh, you have to do it localy. First you need Heroku CLI and git if you don't have it. Then you need to clone your heroku repository via heroku git:clone -a appname. If you don't have files inside for some reasons in the folder, then get it from here. If you had no files deploy them first
$ git add .
$ git commit -am "deploy"
$ git push heroku master

and then do the purge thing.
If it's too complicated I can do it for you, dm me on discord Kuro#5002 and i will explain how to give access to your bot.

solved


Disconnected from log-streaming service directly after starting streaming log for a Linux web app

OS: Win 10
Build Version: 20200210.1
Regression: Not a Regression
Repro Steps:

Create/Select a Linux Web app --> Start Streaming Logs
Create/Select a Windows Web app --> Start Streaming Logs
Check the result.

Expect:
Display the details as the below both Linux Web app and Windows Web app after clicking Start Streaming Logs. Didn't disconnect automatically.

Actual:
Linux web app: Disconnected from log-streaming service directly.
Windows web app: The default timeout is 2 hours.

Cannot reproduce this scenario. Both Log streams for Linux and Windows apps are running together and only disconnecting with Stop Log Streaming command for each app.

Verified this issue on the latest build 20210415. 7, it doesn't reproduce. So I close it.

Getting this issue on latest build


Next.js hydration errors

The locale prop has not been passed to react-calendar, causing hydration errors when using Next.js

The locale prop is actually the Locale type for the date-fns library. Although there is a locale prop for react-calendar, it's not exposed. If you want to pass in a locale prop for the react-calendar we would need to expose a different locale prop type which can be done if that's really what you need but I'm curious what you are seeing to believe this is causing hydration errors? I used to have this component on a nextJS 12 site without issue - are you seeing issues on the app router project type?

My project used version 0.3.3 with React 16. After upgrading to React 18 and the last version, I'm getting the same errors.

Unhandled Runtime Error
Error: Text content does not match server-rendered HTML.
Unhandled Runtime Error
Error: Hydration failed because the initial UI does not match what was rendered on the server.
Unhandled Runtime Error
Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.


feat: create CACHEDIR.TAG file in .lake directory

Create CACHEDIR.TAG file in .lake directory when it is first created. The file does not get recreated if removed if .lake directory is not removed, too. While technically against the spec, this is how Rust does it, too. Moreover, this simplifies the implementation a lot.
This change also introduces a test to check that the file gets cretead but not recreated. This test needs to change e.g. if we decide that CACHEDIR.TAG should always be recreated.

Closes #4998

Marking this as non-draft as I noticed that @tydeu has initially approved the idea on Zulip.

@henkkuli, would you be able to address @tydeu's review comments above? It would be nice to have this in.


NSMgr monitoring reports wrong cross-connections

Expected Behavior
NSM manager should report a single pair of cross connects with the NSM client as the local source
Current Behavior
Two cross connections are reported with the NSM Client as the source
Failure Information (for bugs)
This kind of strange reporting happens after restarting the vpn scenario several times.
Steps to Reproduce

make k8s-vpn-deploy
make k8s-vpn-delete
look at crossconnects in skydive
reproduce step 1 to 3 until you see two NSM connections with the NSC as the source. One is correct and goes to the firewall NSE, the other is wrong and goes to the passthrough2 NSE.

Context
I'm using vagrant, if it helps.
Failure Logs
here are the UPDATE message I receive for the wrong  pair of cross connects, coming from NSC to Passthroug NSE :
id: "9"
payload: "IP"
local_source: <
  id: "9"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: KERNEL_INTERFACE
    parameters: <
      key: "description"
      value: "Primary interface"
    >
    parameters: <
      key: "name"
      value: "nsm0"
    >
    parameters: <
      key: "netnsInode"
      value: "4026532869"
    >
    parameters: <
      key: "socketfile"
      value: "nsm0/memif.sock"
    >
    parameters: <
      key: "workspace"
      value: "nsm-51"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "72:4b:57:c3:17:10"
    >
  >
  labels: <
    key: ""
    value: ""
  >
  state: DOWN
>
remote_destination: <
  id: "8"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: VXLAN
    parameters: <
      key: "dst_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "src_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "vni"
      value: "7"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "72:4b:57:c3:17:10"
    >
  >
  labels: <
    key: ""
    value: ""
  >
  source_network_service_manager_name: "kube-master"
  destination_network_service_manager_name: "kube-worker1"
  network_service_endpoint_name: "secure-intranet-connectivitykbh4d"
>

....

id: "8"
payload: "IP"
remote_source: <
  id: "8"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: VXLAN
    parameters: <
      key: "dst_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "src_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "vni"
      value: "7"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "72:4b:57:c3:17:10"
    >
  >
  labels: <
    key: ""
    value: ""
  >
  source_network_service_manager_name: "kube-master"
  destination_network_service_manager_name: "kube-worker1"
  network_service_endpoint_name: "secure-intranet-connectivitykbh4d"
>
local_destination: <
  id: "9"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: MEM_INTERFACE
    parameters: <
      key: "description"
      value: "NSM Endpoint"
    >
    parameters: <
      key: "name"
      value: "nsm2mgRXwO0L"
    >
    parameters: <
      key: "netnsInode"
      value: "4026532849"
    >
    parameters: <
      key: "socketfile"
      value: "nsm2mgRXwO0L/memif.sock"
    >
    parameters: <
      key: "workspace"
      value: "nsm-21"
    >
    parameters: <
      key: "workspaceNseName"
      value: "secure-intranet-connectivitykbh4d"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "72:4b:57:c3:17:10"
    >
  >
  state: DOWN
>

and the logs for the correct crossconnects, from NSC to the Firewall NSE
id: "10"
payload: "IP"
local_source: <
  id: "10"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: KERNEL_INTERFACE
    parameters: <
      key: "description"
      value: "Primary interface"
    >
    parameters: <
      key: "name"
      value: "nsm0"
    >
    parameters: <
      key: "netnsInode"
      value: "4026532869"
    >
    parameters: <
      key: "socketfile"
      value: "nsm0/memif.sock"
    >
    parameters: <
      key: "workspace"
      value: "nsm-11"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "1e:76:e9:b8:a2:81"
    >
  >
  labels: <
    key: ""
    value: ""
  >
>
remote_destination: <
  id: "10"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: VXLAN
    parameters: <
      key: "dst_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "src_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "vni"
      value: "13"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "1e:76:e9:b8:a2:81"
    >
  >
  labels: <
    key: ""
    value: ""
  >
  source_network_service_manager_name: "kube-master"
  destination_network_service_manager_name: "kube-worker1"
  network_service_endpoint_name: "secure-intranet-connectivityt5ww8"
>
....

id: "10"
payload: "IP"
remote_source: <
  id: "10"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: VXLAN
    parameters: <
      key: "dst_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "src_ip"
      value: "<IP_ADDRESS>"
    >
    parameters: <
      key: "vni"
      value: "13"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "1e:76:e9:b8:a2:81"
    >
  >
  labels: <
    key: ""
    value: ""
  >
  source_network_service_manager_name: "kube-master"
  destination_network_service_manager_name: "kube-worker1"
  network_service_endpoint_name: "secure-intranet-connectivityt5ww8"
>
local_destination: <
  id: "11"
  network_service: "secure-intranet-connectivity"
  mechanism: <
    type: MEM_INTERFACE
    parameters: <
      key: "description"
      value: "NSM Endpoint"
    >
    parameters: <
      key: "name"
      value: "nsmZFrRufBG"
    >
    parameters: <
      key: "netnsInode"
      value: "4026532571"
    >
    parameters: <
      key: "socketfile"
      value: "nsmZFrRufBG/memif.sock"
    >
    parameters: <
      key: "workspace"
      value: "nsm-1"
    >
    parameters: <
      key: "workspaceNseName"
      value: "secure-intranet-connectivityt5ww8"
    >
  >
  context: <
    src_ip_addr: "<IP_ADDRESS>/30"
    dst_ip_addr: "<IP_ADDRESS>/30"
    src_ip_required: true
    dst_ip_required: true
    routes: <
      prefix: "<IP_ADDRESS>/30"
    >
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    excluded_prefixes: "<IP_ADDRESS>/12"
    ip_neighbors: <
      ip: "<IP_ADDRESS>"
      hardware_address: "1e:76:e9:b8:a2:81"
    >
  >
>

After looking at the logs, I suspect skydive should filter out any cross connect that is reported in the DOWN state. For now skydive doesn't handle crossconnect states.

You should not just ignore DOWN state, but to support UPDATE with different remote destination, in this case we do not send DELETE.

@haiodo so a xconn can see its remote src/dst changing? and then a UPDATE msg is sent? the previous xconn with the previous remote is reported stale with an UPDATE message with remote state set to DOWN?  is there any document describing this behavior?

In general healing do following:

So If die is detected we send Down for one of parts we detect down, and do healing.
After healing is done we send Update to all cross connection objects.
I suppose we need to add one more test to check how it process in basic environment to be sure cross connection monitor receive all stuff in right order, let me do this tomorrow.

@haiodo thanks. Still, I'm noticing a strange behavior:
If I start a vpn scenario, then I stop it, and I restart a monitoring event listener, I receive INITIAL_STATE_TRANSFER events that report crossconnections with connections in DOWN state.
There should be no crossconnections, since I deleted every NSE and the NSC of the vpn scenario, am I wrong?

in order to debug, I dump the logs seen from skydive after deploying the vpn and the icmp scenarii, and removing them, on a standard vagrant deployment. I have 4 connections left in skydive, which means I missed at least 4 DELETE events from nsmgrs.
I also notice that nsmgr deployment restarted (2 times for the first one, 1 time for the second one) while I was playing those scenarii. i don't know if it's the root cause.
I'll try to dig into the logs to see if it's a skydive issue or a nsm monitoring issue.
logs.txt

The missing DELETE messages are due to the issue #1123
I changed the skydive probe to not take into account messages reporting a DOWN state. it is just waiting for the corresponding DELETE message to remove the cross-connect link.
@haiodo so now if the healing process changes the src or dst of a crossconnect without sending a DELETE message, but just UPDATE messages, the skydive probe will have an issue that should be tracked by a dedicated bug report on skydive. Do you already have a test scenario testing this behavior?

@matrohon we have several tests that cover crossconnect monitor behaviour during heal. You can find them here.
They do some deletes of pod and then wait for a particular event from the monitor.
For example in case of NSE die and there is no more available NSE (i.e. heal is failed) we are expecting to see the following event:
       expectedFunc(kubetest.EventDescription{
		EventType: crossconnect.CrossConnectEventType_INITIAL_STATE_TRANSFER,
		SrcUp:     true,
		DstUp:     true,
	})

	expectedFunc(kubetest.EventDescription{
		EventType: crossconnect.CrossConnectEventType_UPDATE,
		SrcUp:     true,
		DstUp:     false,
		TillNext:  defaultTimeout, // waiting while heal finishes work
	})

	expectedFunc(kubetest.EventDescription{
		EventType: crossconnect.CrossConnectEventType_DELETE,
		SrcUp:     true,
		DstUp:     false,
		LastEvent: true,
	})

@matrohon Are you still seeing this issue?

@edwarnicke I just restested with master, this bug is fixed now, there is no cross connects left after deleting every scenario

Closing.


InterfaceID Variable is Incorrect

There's an issue with the example for unmanage where it's not using the right variable name. Will send a PR later today.

I can take care of it, I'm not working today.

Thanks!

Whoops, didn't mean to close this. Doing too many things at once.

np. pr sent.

done and merged, you can close this issue now.


cargo run --example sequence ... could not compile fundsp due to previous error

Hi,
I couldn't make the sequence exemple work, that was right after running cargo build without any error
$ cargo run --example sequence
   Compiling fundsp v0.11.0 (/Users/Pitcairn/Documents/code/rust/fundsp)
error[E0618]: expected function, found `funutd::Rnd`
  --> examples/sequence.rs:31:40
   |
11 |     let mut rnd = Rnd::new();
   |         ------- `rnd` has type `funutd::Rnd`
...
31 |             let f = xerp(50.0, 2000.0, rnd(i ^ seed));
   |                                        ^^^----------
   |                                        |
   |                                        call expression requires function

For more information about this error, try `rustc --explain E0618`.
error: could not compile `fundsp` due to previous error

I tried $ rustc --explain E0618 but that didn't  help me much.
$ rustc --version
rustc 1.66.0 (69f9c33d7 2022-12-12)

Thanks

Fixed!

Thanks!


add Rustlang.Rust.GNU version 1.66.1

This PR is auto-generated. If there's something wrong, please file an issue at https://github.com/Rust-Winget-Bot/my-source-code/issues
Microsoft Reviewers: Open in CodeFlow

@wingetbot run

/azp run

/azp run


Improve robustness of Uuid deserilization

replace JsonElement GetGuid with GetString and add Guid.Parse to deserialize Uuids
Closes #3562

/AzurePipelines run

Hi there,
thanks for contributing!
I was already thinking about making Guids in general more robust. I think if we change the ScalarSerializer and set the the default Guid serialization to string we will get a more robust behavior all over the client. In this case I would actually revert the change that you did an solve the issue at the root.
Do you think you can rework this?
The default mapping is defined here:
https://github.com/ChilliCream/hotchocolate/blob/4d07a66f4addc04d27461b842e62260ca6790342/src/StrawberryShake/CodeGeneration/src/CodeGeneration/Utilities/SchemaHelper.cs#L234
All uuid aliases need to have a default serialization type of string instead of Guid.
Once this is done we only need to rework the serializer:
https://github.com/ChilliCream/hotchocolate/blob/4d07a66f4addc04d27461b842e62260ca6790342/src/StrawberryShake/Client/src/Core/Serialization/UuidSerializer.cs#L8
At the moment the serializer just passes the value through, but now that we set the Guid default serialization to string we need to make it a proper serializer like Url:
https://github.com/ChilliCream/hotchocolate/blob/develop/src/StrawberryShake/Client/src/Core/Serialization/UrlSerializer.cs
Michael

@michaelstaib I will reimplement it the way you described it and create a new pull request :) Thanks for the feedback
Marco

I close this pr and create a new one from a new branch instead of reverting commits on current branch


api: add ngli_backends_get()

Tested RenderDoc GPU capture of ngl-desktop with directx 12 and vulkan backends, works well.
Thanks

Thanks for testing.

I think you also need to update pynodegl.pyx?

Updated.


SCAlertView only showing once after segue ?

Hello guys ,
I really , really like the design of those awesome alertViews.
My issue is as follows:
My code consist of two viewControllers which are calling each other back and forth,
MainScreenViewController
GamePlayViewController
MainScreenViewController calls performSegueWithIdentifier using a button with @IBAction to GamePlayViewController
in GamePlayViewController.viewDidLoad() i did the following :
...         let alert = SCLAlertView(appearance: SCLAlertView.SCLAppearance(showCloseButton: false))         alert.showWait(Strings.MainScreenViewController.JustWaitTitle, subTitle: Strings.MainScreenViewController.JustWaintSubTitle, duration: Constants.Timer.InitialCountingDown) ...
basically an alert with 5 seconds count down , then it closes, great.
Now , after extra 10 seconds , with NSTimer , the GamePlayViewController calls performSegueWithIdentifier to the MainScreenViewController
Now the second time  , when i press the start button on the MainScreenViewController , the segue happens, but no alert is showing at all.
I tried making the alert code in the button action before the performSegue instead but same problem ...
Please help :) , i really wanna use those great alerts
Ps.:
I tried disabling the segues and trying with one viewController only and it works , the alert shows whenever i call .showWait(...) ,
That's why i thing the problem has to do with segues and changing the viewController

Solved !
I just had to call it in viewDidAppear instead of viewDidLoad ...
can anybody explain why ?

Yeah- viewDidLod is only called on initial load- viewDidAppear is called
each time the controller appears. First time you hit it is onLoad, second
isn't old since the controller is loaded in the hierarchy it's you've
segued into another.
Regards
Ian Bray
Sent from my iPhone - Apologies for any typos
On Jul 27, 2016, at 21:24, OmarAlKhamis<EMAIL_ADDRESS>wrote:
Solved !
I just had to call it in viewDidAppear instead of viewDidLoad ...
can anybody explain why ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vikmeup/SCLAlertView-Swift/issues/219#issuecomment-235770887,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKNPkP4kVKGAhd4QCklRRVGZ4OfgK8ZXks5qaATJgaJpZM4JWxog
.


Redmine repository display issues

It pushed one time a large number of files.
An error occurred.
--------------------------- error message -------------------------
Started GET "/redmine/projects/project/repository" for <IP_ADDRESS> at 2016-05-13 18:20:10 +0900
Processing by RepositoriesController#show as HTML
Parameters: {"id"=>"project"}
Current user: nina514 (id=5)
Rendered repositories/_navigation.html.erb (61.6ms)
Rendered repositories/_breadcrumbs.html.erb (0.3ms)
Rendered repositories/_dir_list_content.html.erb (10.0ms)
Rendered repositories/_dir_list.html.erb (10.1ms)
Rendered repositories/_revision_graph.html.erb (0.5ms)
Rendered repositories/_revisions.html.erb (7.5ms)
Rendered plugins/redmine_git_hosting/app/views/repositories/show.html.erb within layouts/base (114.8ms)
Completed 500 Internal Server Error in 157ms (ActiveRecord: 46.2ms)
ActionView::Template::Error (Traceback (most recent call last):
File "/usr/local/rvm/gems/ruby-2.0.0-p648/gems/github-markup-1.4.0/lib/github/commands/rest2html", line 47, in
from docutils import nodes
ImportError: No module named docutils):
47:                        :id => @project, :page => nil, :key => User.current.rss_key})) %>
48:    <% end %>
49:
50:    <%= call_hook(:view_repositories_show_bottom) %>
51:
52:    <% other_formats_links do |f| %>
53:     <%= f.link_to 'Atom',
lib/redmine/hook.rb:61:in block (2 levels) in call_hook'   lib/redmine/hook.rb:61:in each'
lib/redmine/hook.rb:61:in block in call_hook'   lib/redmine/hook.rb:58:in tap'
lib/redmine/hook.rb:58:in call_hook'   lib/redmine/hook.rb:167:in call_hook'
app/controllers/repositories_controller.rb:125:in show'   lib/redmine/sudo_mode.rb:63:in sudo_mode'

I had the same error. I resolved the issue by installing the "docutils" Python package on my system. This set of tools is used by the github-markup library to process the RST files.


GTK::Simple failing in Travis build

The failure seems to have started after my latest additions were committed by Jonathan, but the failure logs point to the TextView widget (I think), and do not seem to be related to my changes.
Also the failure reported on the Perl6 users list is during the Build process on Windows. I run Ubuntu, and I didn't have a problem building the latest version.
I'd like to help resolve this, but I don't actually know where to start.

Issue was a low open file limit: https://github.com/perl6/gtk-simple/commit/f2d2599ce85afef8eac3b8afa13be91cb001b450

Regarding failing Windows builds, the CI does not run Build.pm before testing - meaning necessary DLL's will not get downloaded. This is the issue I think.

I think this can be closed. Does seem to be a problem now.


Unique name with "-"

When in the webpack configuration we define a name with the character "-" like my-app, we have an error.
The variable should be created after a transformation to camelCase
⠦ Generating ES5 bundles for differential loading...An unhandled exception occurred: /home/vagrant/.../remoteEntry.js: Missing semicolon (1:9)

> 1 | var my-app;my-app =
    |          ^
  2 | /******/ (function() { // webpackBootstrap
  3 | /******/  "use strict";
  4 | /******/  var __webpack_modules__ = ({
See "/tmp/ng-J43sR3/angular-errors.log" for further details.

Thanks for pointing this out. This will be resolved with version 12-rc.1.1


Add collaborators to this repo

Comment below to be added as a collaborator
We will all be using this repository today. Even though it's public right now, you will not be able to make changes until you're given the correct permissions. We've automated this process via the GitHub API. Once you comment, we will add you as a collaborator.
You'll start to receive a lot of emails. (❗) You can slow these down immediately by clicking the Unwatch button at the top of the page and selecting either the Participating and @mentions or Ignore option.

Hello World

Hello team to training.

Hello, Asma Ibrahim here

Hi Eng. Wael

Hi

Hello everyone :)

Hello all 🤝

Hi all..

a comment

Hi everyone

Hello

Hi


The question about counterfactual

Dear Junior:
I'm sorry to disturb you again. I tried to use the function 'counterfactual' to defined the counterf following the example of KaijiTutorial. However, I got the massage:
Reference to non-existent field 'solve_user_defined_shocks'
Error dsge/filter
Error dsge/counterfactual
And I found that there is no 'solve_user_defined_shocks' in the result of 'rise.options' when I use the newest RISE_toolbox. However, the result of 'rise.options' has 'solve_user_defined_shocks' when I use the previous version. So, could you tell me how to modify the code?
Many thanks!
Kidd
2020.08.14

The example is deprecated. But do reopen the issue if you still want to run it.


[flaky-tests] AdminApiSchemaTest#testSchemaInfoApi

Motivation
This is the same fix applied here #12461. The problem with the other pull is that the AbstractSchema#clone() method does return the same instance, so the fix is not useful at all.
I see this test also failing in 2.8 and 2.9 branch, I recommend to cherry-pick it.
Modifications

Create a new INT schema for the test purpose

[x] no-need-doc

The problem with the other pull is that the AbstractSchema#clone() method does return the same instance, so the fix is not useful at all.

I wonder why https://github.com/apache/pulsar/blob/16beb9d97fdc64092c8f3fe6959d6bf20dd0aa13/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/AbstractSchema.java#L68-L70 doesn't implement clone? It seems really misleading to have such a method on the API if it's not doing what it's supposed to do. #6356 added the clone method. Perhaps @congbobo184 could explain the reasoning?

/pulsarbot rerun-failure-checks

@michaeljmarshall @eolivelli I created this issue https://github.com/apache/pulsar/issues/14522 for continuing the discussion

/pulsarbot rerun-failure-checks

i think primitive schema also can implement clone

The problem with the other pull is that the AbstractSchema#clone() method does return the same instance, so the fix is not useful at all.

I wonder why
https://github.com/apache/pulsar/blob/16beb9d97fdc64092c8f3fe6959d6bf20dd0aa13/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/AbstractSchema.java#L68-L70
doesn't implement clone? It seems really misleading to have such a method on the API if it's not doing what it's supposed to do. #6356 added the clone method. Perhaps @congbobo184 could explain the reasoning?

There will be some components inside and will change. When the user wants to use the component at that time, we need the clone method to get the current schema, and it will not affect the original schema. Doesn't seem to be of much use in primitive schema as they are all the same


return pixelData - Slow

Some days ago I asked about pixelData drawing.
After some research, I discovered that the slower part is getting the pixelData from the parser: (toCanvasPixels function)
ChannelImage.prototype.parseImageData = function() {
    this.compression = this.parseCompression();
    switch (this.compression) {
      case 0:
        return this.parseRaw();
      case 1:
        return this.parseRLE();
      case 2:
      case 3:
        return this.parseZip();
      default:
        return this.file.seek(this.endPos);
    }

That function to parse channel image is getting slow to return the pixel from a psd file. Is there any way to improve the performance? A faster way to get the pixelData from the psd file?
Thank you so much!
Regards,

Hey @lordminor.
Unfortunately there is not through this library as we do need to parse pixel data compressed or uncompressed.
If you need speeds faster than the current parser that PSD.js provides, i would look into C/C++ parsers for psd like psddump and wrapping that into a module for node (which as far as i know does not exist yet).
If you are using it in the browser however, for now, i cant see a way to speed the process up as we are (afaik) the fastest way to read from the file.
I will however see if i can perform some handy work on the parser to speed up the pixel read speeds. (maybe experiment with segmented reads).
Regards Duck


Fusion 360 asks to update and then does nothing

I tried running your script on my Linux Mint 20 machine and when it's done installing and I try running Fusion 360 it asks to update and then I say no and then nothing else happens.  This is as far as I go before it quits.

Here's what I screen shotted before the terminal window closed.

Same problem.
Installation completed without error but it looks like Fusion has not been installed completely. There is no links in windows menu and Fusion360.exe is not found anywhere in the homedir.
Ubuntu 20.04.
Wine-7.7
> find ~ -name Fusion360.exe
>

UPD: It appeared after running
> env WINEPREFIX=/home/$USER/.wineprefixes/fusion360 wine /home/$USER/.wineprefixes/fusion360/dosdevices/c:/users/$USER/Downloads/Fusion360installer.exe

Now Fusion360.exe exists and can be launched with command
env WINEPREFIX=/home/$USER/.wineprefixes/fusion360 wine /home/$USER/.wineprefixes/fusion360/dosdevices/c:/Program\ Files/Autodesk/webdeploy/production/22651d53e422c0183a6147899471ab1dca9a3f80/Fusion360.exe

UPD2: not working as expected — white window. But it's can be due to video or something like that.

@madygulov

UPD2: not working as expected — white window. But it's can be due to video or something like that.

That could very well be possible, but it could also be that something hasn't been configured correctly. Are you using DXVK or OpenGL?

@madygulov

UPD2: not working as expected — white window. But it's can be due to video or something like that.

That could very well be possible, but it could also be that something hasn't been configured correctly. Are you using DXVK or OpenGL?
I tried the same command as @madygulov suggested and I also get a white screen.  When I run the Fusion 360 installer as is with my WineStaging installation I also get the white screen.  I did select DXVK with your script but I've also installed DXVK on my WIneStaging install via Winetricks.  Same white screen.  This should be the login screen.  Doing a bit of searching and this white screen is a common problem for anyone installing Fusion360.

I'm using a Vega 56 with Kisak PPA for drivers.  Don't know if Madygulov is also using Kisak drivers.  I'm also using Xanmod kernel as well.  I'll link both.
https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa
https://xanmod.org/

@madygulov

UPD2: not working as expected — white window. But it's can be due to video or something like that.

That could very well be possible, but it could also be that something hasn't been configured correctly. Are you using DXVK or OpenGL?

The white screen does not looks like graphics error. As far as I remember, it responds to mouse clicks, there is context menu which looks like its embedded web page, and there is one space symbol which can be selected.

I have no idea which drivers i have. The point was that Fusion is not installing without fails.
ps: Sorry for stealing topic.

Please check this here:

https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/issues/79
https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/issues/8

I'm also getting the /fusion360/drive_c/users/.../AppData/Roaming/Autodesk/Autodesk Fusion 360/API/version.txt': No such file or directory
After installation.
Tried both with DirectX and OpenGL

Has anyone found a solution yet?

Has anyone found a solution yet?

I managed to get it working but not quite sure how.
I ran the installer manually like madygulov did, except I used "Fusion 360 Client Downloader.exe"
This only gave a white screen but I waited a long time until there were no longer any output form Wine in the console.
After this I had Fusion360.exe and FusionLauncher.exe and while Fusion360.exe started with Wine the Launcher complained about missing FusionLauncher.exe.ini, so I copied this and modified from an install in VirtualBox/Win10
Now FusionLauncher.exe worked and the launcher.sh also starts Fusion. Somehow starting it with Wine has created the API/version.txt
Only thing not working is Desktop icon.

I am having the same issue on Linux Mint 20.2 Cinnamon. No version.txt, manually running Fusion360installer.exe gives a white screen like others experienced. For me, I can't even close the installer normally, I have to kill it via System Monitor. It does not appear to be downloading in the background, since there is no output from wine and my network shows usage in the tens of bytes/s. Tried DXVK and OpenGL, the output is the same.

Has anyone found a solution yet?

I managed to get it working but not quite sure how.
I ran the installer manually like madygulov did, except I used "Fusion 360 Client Downloader.exe" This only gave a white screen but I waited a long time until there were no longer any output form Wine in the console. After this I had Fusion360.exe and FusionLauncher.exe and while Fusion360.exe started with Wine the Launcher complained about missing FusionLauncher.exe.ini, so I copied this and modified from an install in VirtualBox/Win10
Now FusionLauncher.exe worked and the launcher.sh also starts Fusion. Somehow starting it with Wine has created the API/version.txt
Only thing not working is Desktop icon.
I'm willing to bet there's an issue with DXVK and rendering the white screen properly.  This had worked before right, for others?  Do Nvidia users have this issue?  AMD now turns on ACO by default so does this have an effect?  I think the first step is to figure out when this installer worked and what brand GPU people are using.  Intel could be in the same situation with AMD since they both use open source drivers while Nvidia doesn't.  Well... they haven't until last week.

I am on Nvidia proprietary drivers, so it is not GPU manufacturer specific

I just started a discussion about this but this maybe a more fitting location.  it looks to me that the version file is either downloading to the wrong location or the script is looking for it in the wrong location.
From the script as it downloads.
wget -N -P $HOME/.config/fusion-360/bin https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/builds/stable-branch/bin/build-version.txt
online_build_version=cat $HOME/.config/fusion-360/bin/build-version.txt | awk 'NR == 1' online_build_insider_version=cat $HOME/.config/fusion-360/bin/build-version.txt | awk 'NR == 2'
echo "Online Build-Version: $online_build_version"
then it looks for the version file in a different location with a different file name.....right?
system_build_version=`cat $HOME/.wineprefixes/fusion360/drive_c/users/$USER/AppData/Roaming/Autodesk/Autodesk\ Fusion\ 360/API/version.txt
Either way, the file in the second location does not exist. I saw a discussion where it was said to create the file but I don't follow the syntax.
I am missing the location
Autodesk\ Fusion\
which is easy enough to create, but then exactly how is the file supposed to be formatted and created?
360/API/version.txt
Or should that be a full location and a file name such as:
Autodesk\ Fusion360\API\Version.txt
I have run through this several times and it seems to me (as mostly a noob) that it is looking for the same file by 2 different names in 2 different locations
launcher.txt
.

Please look here: https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/issues/232#issuecomment-1144487489


Reset password page

Feature
Add CSS to all password reset and password change page
Solution

CSS for there page

password_change
password_reset_done
password_reset_from_key_done
password_reset_from_key
password_reset
password_set

Add django widget_tweaks for edit field

How to test?

Runserver and try to access all page

URL

password/reset/
password/change/  (after login)

Screen shot

Codecov Report

Merging #31 (7a4ade4) into beta (8167770) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             beta      #31   +/-   ##
=======================================
  Coverage   79.79%   79.79%
=======================================
  Files          17       17
  Lines         292      292
  Branches       26       26
=======================================
  Hits          233      233
  Misses         41       41
  Partials       18       18

Impacted Files
Coverage Δ

threpose/settings.py
100.00% <ø> (ø)

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 8167770...7a4ade4. Read the comment docs.

When I'm type wrong current password on the password reset page it show the message that please type the password can you change to "Your current is wrong".


Add dynamic inventory groups

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/group_by_module.html
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/add_host_module.html

This isn't needed, variables can be declared in the playbook/group_vars/all.yml


Re-introduce PR#1030 baseDomain patch and add backend logic

Re-introduce PR#1030 baseDomain patch
USHIFT-664 Backend logic to baseDomain

@fzdarsky @dinhxuanvu , please see the two commit structure, on first commit, I introduce @dinhxuanvu original patch, on second commit I handle the logic to match OpenShift behavior, also introducing the fixed "cluster.local" setting.

Squash at least last two commits, so we avoid having two with the same title in history.

/lgtm

Squash at least last two commits, so we avoid having two with the same title in history.

I added the merge method "squash" for tide to handle.

/lgtm

/retest


Fix Windows build with MSYS2/MinGW.

SChannelConnection depends on a C++14 feature, std::make_unique. This is causing the build to fail on Windows when compiling with MSYS2/MinGW.
See example build failure with MSYS2/MinGW:

The alternative API for Windows UWP is Windows.Web.Http.HttpClient which is C++17 if C++/WinRT is used.
I'd say keep the Schannel backend for now until we need to properly support UWP in LOVE 12.


update gems

hi im sorry will that i dont syd for prepping this pc all for me and its really great works so good and i really dont know how to keep loving you for it but here goes nothing i appreciate all these cool little messages you guys seem real nice but i gotta get going soon so else what you want

g i

learnjc


Move the "Execute pipeline now" now checkbox to the top of window

In the pipeline popup I would like to have the " Execute pipeline now " moved towards to the so this is always visible. Ideally it would be right next to the "Add pipeline" header, on the same line.
This way it would always be visible even when scrolling down to see other pipelines.

See https://github.com/nexB/scancode.io/commit/6873047fdf6c63380d36dab0037bcc4195becd29


Add integrations for TypeScript and TSLint

TypeScript can't really run as a linter within arc since I believe linters need
to operate on individual files and are invoked separately for each file.
Instead, I made a unit test runner that ignores the list of files and has "type
checking" as a single test.
For TSLint integration, I was able to find an existing TSLint class on GitHub,
and I modified it to also support autofixing (largely basing it off of the
ESLint autofixing code I wrote in #1). The first commit in this PR adds the
linter as-is, and the second one has all modifications.
Some limitations with all of this:

arc says "running unit tests" and "unit tests passed", etc, when it's just
doing typechecking. Since we've already forked it, we could just change those
strings, but I'd rather not diverge from upstream too much.
arc conveniently has a place to put the running time of the "test" (i.e.
typechecking), which will make it more obvious if it later gets out of hand.
Inconveniently, it has a hard-coded rule that a test running for >500ms means
that it's very slow, so the time always is formatted in red.
Running each file independently is awkward for tslint. Some rules (like "when
you use await, it must be on a promise") use typechecking information, which
isn't available when run on an isolated file. So if your lint runner requires
a separate invocation per file, then you either need to do a codebase-wide
typecheck per file (slow) or limit checking to rules that don't need type
information (incomplete). For now, (I'm pretty sure) it's doing the incomplete
option and CI runs the full set of rules.

Going to merge this to unblock - lmk what you think about looking for the root of the project though.


Troubleshooting doc

This troubleshooting page should be updated when
we encounter recurring bugs
Signed-off-by: fahed dorgaa<EMAIL_ADDRESS>

Thanks, carried as https://github.com/containerd/nerdctl/pull/579


CQLTranslator throwingCqlSemanticException: no XML is given

I'm trying to use the translator and its giving me exception throwingCqlSemanticException: no XML is given, for most of the test cases provided here. Can you tell me what wrong I might be doing there?

Hi @sg11pankaj, can you provide a few more details about how you're calling the translator? And what version you're using?

Let's just take an example of the unit tests provided in the project and I'm running those in an IDE. I'm using v1.3.15. I guess cqlparser is coming back with Error/Exceptions as : 'java.lang.IllegalStateException: no XML is given'

Is this issue still occurring? It sounds like a classpath issue resulting in the translator package not being able to load the correct resources for the model info.

Closing due to inactivity


Getting typescript errors reported with js files

The readme says this works with both ts and js yet when I run npx eslint webpack.config.js I'm seeing lots of ts errors such as:
1:22  error    Require statement not part of import statement              @typescript-eslint/no-var-requires
   2:27  error    Require statement not part of import statement              @typescript-eslint/no-var-requires
   2:35  error    Unable to resolve path to module 'copy-webpack-plugin'      import/no-unresolved
   3:30  error    Require statement not part of import statement              @typescript-eslint/no-var-requires
   3:38  error    Unable to resolve path to module 'mini-css-extract-plugin'  import/no-unresolved
   4:14  error    Require statement not part of import statement              @typescript-eslint/no-var-requires
  30:24  warning  Missing return type on function                             @typescript-eslint/explicit-function-return-type

I'm using the base configuration.
.eslintrc:
{
  "root": true,
  "extends": [
    "airbnb-typescript/base",
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"]
}

Using latest versions except<EMAIL_ADDRESS>

Hey @nero120
Looks like those rules are coming from the plugin:@typescript-eslint/recommended config, which has had a recent overhaul in v3.
I think applying this config to only TypeScript files will fix the problem, e.g.:
{
  overrides: [
    {
      files: ["*.ts", "*.tsx"],
      extends: ["plugin:@typescript-eslint/recommended"],
    },
  ],
}

Let me know how it goes!

@iamturns thanks for the response, I resolved the issue with the following config:
  "extends": [
    "eslint:recommended"
  ],
  "overrides": [{
    "files": ["**/*.ts", "**/*.tsx"],
    "extends": [
      "airbnb-typescript/base",
      "plugin:@typescript-eslint/recommended",
      "plugin:prettier/recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
      "project": "./tsconfig.json"
    },
    "plugins": ["@typescript-eslint"],
  }],

Js files are therefore using eslint:recommended so how can I get airbnb to work with js files as described?

Hey @nero120
Glad to hear we're getting closer!
You should be able to shift the airbnb-typescript/base config into the root level, so that it works over all files (including JS).
If that doesn't work, please let me know

Another thought. To narrow the scope of this issue, I'd love to know if the "bare bones" config works for you:
{
  extends: ['airbnb-typescript/base'],
  parserOptions: {
    project: './tsconfig.json',
  },
}

Another thought. To narrow the scope of this issue, I'd love to know if the "bare bones" config works for you

No it doesn't work, I get an eslint error pointing to my webpack config file (webpack.config.js):
0:0  error  Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: webpack\webext.config.js.
The file must be included in at least one of the projects provided

seems to be referring to the first line which is a require:
const CopyWebpackPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const Path = require('path');
...

Looks like this line in tsconfig.json is causing this issue:
"include": ["src/**/*.ts"]

If you want to keep this setting within tsconfig.json, then create a tsconfig.eslint.json file with something like:
{
  "extends": "./tsconfig.json",
  "include": ["src/**/*.ts", "src/**/*.js"]
}

Within your ESLint config, ensure the parserOptions.project is pointing to this new file.
More details about this technique in @typescript-eslint/parser
Hope that helps, let me know!

Why does tsconfig need to include js files for eslint to lint them? Consider I'm providing a path of files to lint to the eslint command directly via a parameter, this seems wrong to me...

Yeah I agree, it is a bit annoying. This is how @typescript-eslint/parser behaves. I'm sure there's a good reason, but I haven't looked into it. The tsconfig.eslint.json solution is a slight annoyance, but does the job!

Fair enough. Yes the tsconfig.eslint.json solution does indeed sort it, many thanks for all of your help @iamturns!


[FFM-1622-P] Proxy and redux toolkit

@enver-bisevac I have reverted the merged PR, however, we must be able to merge it again after approval of the whole team.


add delete by bucket name to the CLI

Looks like you can only delete by id. i would like to delete by the name of the bucket.
./bin/darwin/influx bucket delete -h
Delete bucket

Usage:
  influx bucket delete [flags]

Flags:
  -h, --help        Help for the delete command
  -i, --id string   The bucket ID (required)

Global Flags:
      --host string    HTTP address of Influx; Maps to env var $INFLUX_HOST (default "http://localhost:9999")
      --local          Run commands locally against the filesystem
      --skip-verify    SkipVerify controls whether a client verifies the server's certificate chain and host name.
  -t, --token string   API token to be used throughout client calls; Maps to env var $INFLUX_TOKEN

This command also asked for an org, even though i had my local profile set.


Add llvm-project 17.0.3

Related issue: #206
This PR adds LLVM (https://github.com/llvm/llvm-project) to BCR. While we could wait for LLVM to get Bzlmod support, I think adding it to BCR without waiting for that would be beneficial.
Optional dependencies (zlib-ng, zstd, pfm, mpfr) are currently disabled in the patches. I am not sure if the BCR module should have those enabled or not. I've done some experimenting locally and adding zlib-ng to BCR appears to be relatively straightforward. It is also possible to just use zlib that is already in BCR instead of zlib-ng, since zlib-ng has zlib compatibility enabled in the LLVM Bazel overlay.
In terms of testing, presubmit.yml currently runs @llvm-project//llvm/unittests:all, i.e. the unit tests for the LLVM Core component. If this is not good enough in terms of CI usage, I guess we can change this to @llvm-project//clang:clang as suggested in #206.

@a-khabarov I enabled automatic CI runs. It is currently failing on all platforms.

In my opinion optional dependencies would work best if they could be provided by separate BCR modules.

would work best if they could be provided by separate BCR modules.

Would that be a requirement before landing this?

zlib: we could use zlib that is already in the BCR. Later we can bring up zlib-ng and switch out transparently.
zstd: should be relatively straight forward to bring up but is an enhancement so we could enable it later
mpfr/gmp/pfm: these would likely need rules_foreign_cc, do we accept BCR modules that build with that ruleset?
vulkan_headers: we have a working prototype of a BCR module

Would that be a requirement before landing this?

Not at all, I was just describing what I would view as the ideal setup mid- to long-term! To me this looks great as-is (after fixing the CI failures).

Do we have any README-alike docs for using this module?
I add -
bazel_dep(name = "llvm-project", version = "17.0.3", repo_name = "org_llvm_project")

and try to compile the toy example provided by LLVM project. I try to write the following BUILD file
cc_binary(
  name = "toy",
  srcs = ["toy.cpp"],
  deps = ["@org_llvm_project//llvm:?"]
)

But I don't know which target should be used or where there is a document talks about it.

Do we have any README-alike docs for using this module?

No, but most BCR modules do not have one.

But I don't know which target should be used or where there is a document talks about it.

The Bazel files are taken from the LLVM project overlay.
The targets available in the llvm/BUILD.bazel are likely what you want?

Does BCR module provide some way to write such a doc?

Submitting a PR for a modules/llvm-project/README.md to explain how to use the llvm-project module would be the best place to put it.

@a-khabarov how did you make this PR? Was it done manually, did you create a script to generate all the outputs. I'm looking into adding 18.1.8 to the registry, so it'd be really nice to keep the process of adding patches consistent between versions. Any thoughts?

IIRC I used the helper scripts from https://github.com/bazelbuild/bazel-central-registry/tree/main/tools, git format-patch and quite a bit of manual editing.

Thanks! I'll see what I can come up with. Do you mind if I add you as a reviewer when I eventually put something together?

Each of the patches in the 17.0.3 are git patches and the method to generate them is in the commit message. For example, this is how the overlay step was performed.
Newer Bazel versions support overlays rather than having to apply patches to upstream archive. You may have more success using that method (assuming you're OK with only modern Bazel support) considering that the LLVM scripts apply and overlay to the source code.
There are TODO that we didn't get around to in 17.0.3.


Add example of using git multi on only non-archived repos

Unable to get documentation generation working, so this PR only includes updates to the source .erb file

Nice one!  Thanks for your contributation @DanHatesNumbers 👍


Screenshot or video example of library in action

Please can you include a Screenshot or video example of this library in action?

x2, this type of content is required