Misleading exception message in corner cases

Consider a test case (" await().atMost(5, SECONDS).untilCall(to(SUT).getSignals(), is(equalTo(expectedSignals))); ") where the last check of the condition before the timeout fails and the next check is successful, but the overall await() call fails due to the timeout.
This results in an error message like this: "org.awaitility.core.ConditionTimeoutException: our.company.and.packages.SUT.getSignals() expected <X> but was <X> within 5 seconds."
The error message could be updated to better reflect the fact that the check was not successful within the allocated time window and could contain the result of the last call to the condition evaluator that still happened within the time window of atMost.
See the discussion at: https://groups.google.com/forum/#!topic/awaitility/3TDz365y4pw

Thanks for reporting!

This code reproduces the issue reliably (10/10) on my PC, but the exact values of the delays might depend on the performance of the system and so might need to be adjusted.
Results in org.awaitility.core.ConditionTimeoutException: whatever.TestClass.getCounter() expected <44> but was <44> within 5 seconds.
package whatever;

import static org.awaitility.Awaitility.await;
import static org.awaitility.proxy.AwaitilityClassProxy.to;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.awaitility.Duration;

public class TestClass {

    public static void main(final String[] args) throws java.lang.Exception {
        final Logger log = LogManager.getLogger();
        log.info("Starting awaitilityTest");
        final TestClass sut = new TestClass();
        try {
            await().atMost(Duration.FIVE_SECONDS).untilCall(to(sut).getCounter(), is(equalTo(44)));
            log.info("No exception was thrown");
        } catch (final Exception e) {
            log.catching(e);
        }
        log.info("Finished awaitilityTest");
    }

    public int getCounter() {
        try {
            if (counter > 42) { // the last call takes long enough to cause a timeout
                Thread.sleep(120);
            } else {
                Thread.sleep(12);
            }
        } catch (final InterruptedException e) {
            // should never happen
        }
        return ++counter;
    }

    private int counter = 0;
}

Just hit this and spend a few hours trying to get to the bottom of my test failure :-0
In doing so I have (I believe) made a more succinct test case:

import org.junit.Test;
import java.util.concurrent.atomic.AtomicInteger;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.awaitility.Awaitility.await;
import static org.hamcrest.core.Is.is;

public class AwaitilityTest {

    @Test
    public void testIt() {
        AtomicInteger ai = new AtomicInteger();
        await("Hello").atMost(999, MILLISECONDS).pollInterval(100, MILLISECONDS).until(() -> {
            Thread.sleep(600L);
            if (ai.incrementAndGet() == 2) {
                return 100;
            }
            return -1;
        }, is(100));
    }

}

which fails with the following:
org.awaitility.core.ConditionTimeoutException: Condition with alias 'Hello' didn't complete within 999 milliseconds because lambda expression in AwaitilityTest that uses java.util.concurrent.atomic.AtomicInteger: expected <100> but was <100>.

	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:136)
	at org.awaitility.core.AbstractHamcrestCondition.await(AbstractHamcrestCondition.java:89)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:856)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:631)
	at AwaitilityTest.testIt(AwaitilityTest.java:18)

Note the expected <100> but was <100>  rather than the expected expected <100> but was <-1>

@jtnord Thanks a lot for investigating and for the test case. I'll have a look when I find time. 👍

I think I've fixed this in master now. The condition evaluation should now be cancelled when the the wait time exceeds the max wait time.

I've published the snapshot now. Please try version 3.1.1-SNAPSHOT after having added the following maven repo:
<repositories>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots />
        </repository>
</repositories>

I'm closing the issue for now, please tell me if it should be re-opened.

I found this bug report because I keep getting test results like ": expected <4> but was <4> within 3 seconds." on our Jenkins build every now and then. Building upon the test case of @jtnord I tried this now with Awaitility 3.1.6:
public class TestAwaitilty {
    final AtomicInteger ai = new AtomicInteger();

    @Test
    public void testIt() {
        with().conditionEvaluationListener(new ConditionEvaluationLogger())
            .await("Hello")
            .atMost(200, MILLISECONDS)
            .pollInterval(95, MILLISECONDS)
            .until(this::condition, is(100));
    }

    private Integer condition() {
        if (ai.incrementAndGet() == 2) {
            return 100;
        }
        return -1;
    }

}
`
What I see is one of three outcomes:
a) Test is green with two lines from the Condition logger:
Lambda expression in test1.TestAwaitilty: expected <100> but was <-1> (elapsed time 99 milliseconds, remaining time 101 milliseconds (last poll interval was 95 milliseconds))
Lambda expression in test1.TestAwaitilty: reached its end value of <100> after 196 milliseconds (remaining time 4 milliseconds, last poll interval was 95 milliseconds)

b) Test is red with just one line from the Condition logger:
Lambda expression in test1.TestAwaitilty: expected <100> but was <-1> (elapsed time 105 milliseconds, remaining time 95 milliseconds (last poll interval was 95 milliseconds))

c) (rare case, 1 out of 10) Test is red with two lines from the Condition logger:
Lambda expression in test1.TestAwaitilty: expected <100> but was <-1> (elapsed time 99 milliseconds, remaining time 101 milliseconds (last poll interval was 95 milliseconds))
Lambda expression in test1.TestAwaitilty: reached its end value of <100> after 198 milliseconds (remaining time 2 milliseconds, last poll interval was 95 milliseconds)

a) and b) are expected.
c) I don't understand since at least considering from the logger output the test should have succeeded.
I could imagine you may have to fine tune the poll interval depending on your machine to reprodue the results.

Hi @johanhaleby , im still not clear on the solution provided by you for adding the snapshot, can you briefly explain here how do we use the fix for awaitility.
Thanks


Resolver needs to be "1"

When including the co-Circom library crate, we get a compile error from a dependency introduced by circom. We can only resolve that with setting resolver to "1", which is very annoying when trying to use our lib.
Generally, our dependency management is very annoying if we include it from another crate as there are some dependencies that infect the upstream. We should re-export the dependencies or rewrite the interfaces

Think upstream circom might resolve this? Should maybe invest some time in getting that updated


[WIP] Integration with Boyar and self-update

Bootstrap script and ports were actually important in the PR #4

Attempt for early integration with https://github.com/orbs-network/boyarin/pull/136
Should run in boyar codebase:
python -m SimpleHTTPServer 8000

go run ./boyar/main/main.go --keys ./e2e-config/node1/keys.json --config-url http://<IP_ADDRESS>:8000/boyar/config/test/configWithReader.json --bootstrap

watch docker service ls

I will follow up on #6 and make this pr compliant


Add support for custom required privileges

Problem
Ember does not support custom required privileges as required
by some clusters. There is an issue to add that support (#10247)
but unexpectedly that work will not be done, at least not in the
short term.
Change overview
Until Ember has support for providing custom required privileges,
this simple implementation provides that functionality.
Testing

Built and ran (all-clusters-app, REPL, on Linux)
Used log statements to verify writing ACL properly requires
Administer privilege, not the default Operate privilege, which
other commands still require

fast track: change by domain owner, sufficient time passed for cross timezone review.

/rebase

I removed all the complexity, it's just a constexpr table (four of them still) now.

Removing fast track, this needs > 3 business days for review. Domain owner is not part of current policy.

@mlepage-google
Looks like a real failure? ... maybe?
2022-01-27T03:53:06.6573660Z [838/900] python3 ../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../ --current-path ../src/system/tests --default-toolchain=//third_party/pigweed/repo/pw_toolchain/default:default --current-toolchain=//config/mbedtls/toolchain:mac_x64_gcc_mbedtls --touch mac_x64_gcc_mbedtls/gen/src/system/tests/TestSystemWakeEvent_run.pw_pystamp --capture-output -- ../third_party/pigweed/repo/pw_unit_test/py/pw_unit_test/test_runner.py --runner ../third_party/pigweed/repo/targets/host/run_test --test mac_x64_gcc_mbedtls/tests/TestSystemWakeEvent
2022-01-27T03:53:06.6675770Z FAILED: mac_x64_gcc_mbedtls/gen/src/system/tests/TestSystemWakeEvent_run.pw_pystamp
2022-01-27T03:53:06.6778260Z python3 ../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../ --current-path ../src/system/tests --default-toolchain=//third_party/pigweed/repo/pw_toolchain/default:default --current-toolchain=//config/mbedtls/toolchain:mac_x64_gcc_mbedtls --touch mac_x64_gcc_mbedtls/gen/src/system/tests/TestSystemWakeEvent_run.pw_pystamp --capture-output -- ../third_party/pigweed/repo/pw_unit_test/py/pw_unit_test/test_runner.py --runner ../third_party/pigweed/repo/targets/host/run_test --test mac_x64_gcc_mbedtls/tests/TestSystemWakeEvent

@woody-apple the failure is bold below, whenever I've seen this locally, I had to reactivate the environment (source scripts/activate.sh), how do we do that with the CI?
FAILED: mac_x64_gcc_mbedtls/gen/src/system/tests/TestSystemWakeEvent_run.pw_pystamp
python3 ../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../ --current-path ../src/system/tests --default-toolchain=//third_party/pigweed/repo/pw_toolchain/default:default --current-toolchain=//config/mbedtls/toolchain:mac_x64_gcc_mbedtls --touch mac_x64_gcc_mbedtls/gen/src/system/tests/TestSystemWakeEvent_run.pw_pystamp --capture-output -- ../third_party/pigweed/repo/pw_unit_test/py/pw_unit_test/test_runner.py --runner ../third_party/pigweed/repo/targets/host/run_test --test mac_x64_gcc_mbedtls/tests/TestSystemWakeEvent
Traceback (most recent call last):
File "../third_party/pigweed/repo/pw_unit_test/py/pw_unit_test/test_runner.py", line 28, in
import pw_cli.log
ModuleNotFoundError: No module named 'pw_cli'


Bamboo.Formatter:format_email_address throws type error with Elixir 1.9.1

Bamboo.Formatter:format_email_address is throwing a type error after we upgrade to Elixir 1.9.1. This is happening because we've implemented the protocol format_email_address but we're not passing in any of the required opts. We don't have a need to specify the type as specified here https://github.com/thoughtbot/bamboo/blob/89845a829e15078e01fc654980c2c7f33e0b16bc/lib/bamboo/formatter.ex#L66.
It seems from https://github.com/thoughtbot/bamboo/issues/41 that maybe the original intention for this function was to allow the type opt but also allow a no opts case.
Here's an example of how we've implemented it:
@spec format_email_address(user_type, map) :: some_return_type
def format_email_address(user, _opts) do
  ...
end

An example type that I think would support this is:
 @type opts :: %{} | %{type: :from | :to | :cc | :bcc}

Can you support the case where we can provide an empty map rather than a type?

I'm happy to open up a PR if needed.

This could be done by doing @type opts :: %{optional(:type) => :from | :to | :cc | :bcc}.

Hi @bradleygolden, thanks for opening this issue, and thanks for the patience! I'm taking over maintenance of Bamboo and trying to go through all the issues.
I think what you mention here makes a lot of sense. It does seem like the opts type is too restrictive at the moment, and at the very least we should allow an empty map. I do like the @type opts :: %{optional(:type) => :from | :to | :cc | :bcc} option.
If you're still interested in this, I'd love to review a PR. But I do realize it's been a while. So if you're not up for it, I'll try to get this when I have some time.

PR ready! https://github.com/thoughtbot/bamboo/pull/557

Thanks for contributing!


Custom tools and user queries

Does GTA support custom tools and user queries?

Sure. GTA benchmark is based on the AgentLego framework. For custom tools, please refer to AgentLego-Implement a custom tool. For custom queries, refer to AgentLego-Integrated into agent frameworks.


Update Raven to version 1.1.x

@shaharke can this be merged into master?

Yes. I'll do that later this week.

Will be fixed by #42


Cleanup dataset t

These are the 5 commits from #6548 from @jha2 cleaned up into 2 commits with the 3rd commit for simple formatting stuff added.

@ticoann
Please merge


Schema filename is inconsistent

I think it's boot.v1.json but I think we decided it will be boot.json anyway?

Ah, indeed -- this changed in the RFC here: NixOS/rfcs@2f239c9 (#125), when we decided to use {"v1": { ... }} in boot.json as opposed to {"schemaVersion":1, ...} in boot.v1.json. The new approach means that consumers don't need to parse the file blindly to be able to check if the schemaVersion indeed matches the filename / expected version, but can instead just rely on "if the v1 key exists, then we'll be getting a v1 document".

Fixed in https://github.com/DeterminateSystems/bootspec/pull/73.


Python min version still a problem

./mfc.sh tests the command python3 for the Python version. This checks the "usual" Python version, such as whatever which python3 or type python3 shows (e.g., if one has used an alias or export to change their user space via, say, alias python3='/usr/bin/python3.11', it will show that). However, the shebangs in the toolchain invoke /usr/bin/env python3, which ignores the userspace declarations and will give you the PATH default python3. A workaround for this is to create symlinks and change your path, but this is cumbersome.
So, this issue notes two things:

If one has python < 3.9 in their /usr/bin/env python3, ./mfc.sh will not catch this and thus
Even if one uses exports/aliases to change the user space, MFC will still fail at ./mfc.sh test

We need a slick way to detect this. It would also be handy if MFC ran with Python aliases.

@sbryngelson does this effect users? To my knowledge, we never call the toolchain in a way that would invoke these shebangs.

It affected me (try getting on Rogues Gallery then ssh violet1). The default python3 binary is python3.6 but python3.11 is in /usr/bin. No amount of exporting/aliasing seemed to get it to actually use python3.11.

@sbryngelson I think I understand the issue you were having. mfc.sh uses, the first time it is invoked, the standard python3 command, to create its virtual environment using python3 -m venv "$(pwd)/build/venv". It then enables it using . build/venv/bin/activate every time you call mfc.sh. The Python version it uses is therefore that which you used the first time.
To get around this, you can:

rm -r build/venv
Alias python3 to point wherever you like!
Call mfc.sh once to regenerate the virtual environment.

@sbryngelson I think I understand the issue you were having. mfc.sh uses, the first time it is invoked, the standard python3 command, to create its virtual environment using python3 -m venv "$(pwd)/build/venv". It then enables it using . build/venv/bin/activate every time you call mfc.sh. The Python version it uses is therefore that which you used the first time.
To get around this, you can:

rm -r build/venv
Alias python3 to point wherever you like!
Call mfc.sh once to regenerate the virtual environment.

The only file in the toolchain with a shebang is mfc.py since it's executable. It's never used though. It can help some IDEs and tools locate the entry point.

That's what I thought as well, but this does not work.


feat: url link matched

:tada: This PR is included in version 0.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


application can not access until istio-proxy ready

hi：
I have a question：when i start deployment with istio-proxy，the app container cat not connect mysql/redis because istio-proxy is not ready the first moment; the app have not liveness and reconnect strategy. Does istio or k8s has strategy to solve this problem, such as app container start after istio-proxy ready.

You can find a lot of info on this topic here:  https://github.com/istio/istio/issues/11130


Version 3.2.0

I see 3.2.0 in releases.
Why is version 3.2.0 not published in maven?

Fetch 3.3.0 has been released. See Release Notes


Add Windows to Travis CI

The Travis CI is currently only running for Linux. On my Windows machine, I am getting errors running dub.test for the io module.

Travis doesn't support Windows, but there's an AppVeyor setup: https://github.com/libmir/numir/blob/master/appveyor.yml

Ah, I see the issue. They're only testing x64, not x86.

@wilzbach I have updated the title and first post to reflect this.

Thank you for reporting! I fixed it and added x86 on linux (travis) and windows (appveyor) in #16
Could you try new release v0.0.7?

@ShigekiKarita I'm getting an error about opening a file in rb mode.
C:\Users\[username]\Documents\GitHub\numir>dub test --arch=x86
Package mir-algorithm can be upgraded from 0.6.15 to 0.6.18.
Package mir-random can be upgraded from 0.2.5 to 0.2.6.
Use "dub upgrade" to perform those changes.
Generating test runner configuration 'numir-test-library' for 'library' (library).
Excluding package.d file from test due to https://issues.dlang.org/show_bug.cgi?id=11847
Performing "unittest" build using dmd for x86.
mir-algorithm 0.6.15: target for configuration "library" is up to date.
mir-random 0.2.5: target for configuration "library" is up to date.
numir 0.0.7: building configuration "numir-test-library"...
Linking...
To force a rebuild of up-to-date targets, run again with --force.
Running .\numir-test-library.exe

std.exception.ErrnoException@std\stdio.d(403): Cannot open file `./test/a1_i4.npy' in mode `rb' (No such file or directory)
----------------
0x004F2F8A in @safe shared(core.stdc.stdio._iobuf)* std.exception.errnoEnforce!(shared(core.stdc.stdio._iobuf)*, "std\stdio.d", 403u).errnoEnforce(shared(core.stdc.stdio._iobuf)*, lazy immutable(char)[])
0x004DCDEE in void numir.io.__unittestL256_18() at C:\Users\John Hall\Documents\GitHub\numir\source\numir\io.d(262)
0x004E290D in void numir.io.__modtest()
0x004EF855 in int core.runtime.runModuleUnitTests().__foreachbody1(object.ModuleInfo*)
0x004F3E8B in int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)).__lambda2(immutable(object.ModuleInfo*))
Program exited with code 1

@jmh530 Have you generated test/a1_i4.npy  by  cd test && python test_npy_fileio.py && cd ..  before dub test? https://github.com/libmir/numir/blob/master/appveyor.yml#L118

@ShigekiKarita I had not. Unittests pass after generating the file.
It might make sense to have this command included in the dub.json for the unittest configuration on Windows, or something like that. At a minimum, you could include a check that the file is available and give a specific error that it needs to be generated or something.
Also, this introduces a dependency on having python installed.

Thanks for your advice. I will fix unittests to skip tests if *.npy does not found.

I think that is a good idea. I was just thinking about it today.
Another possible addition is to insert a code to generate the file on
Windows if it is not there and you can call python.
On Wed, Oct 18, 2017 at 9:43 PM Shigeki Karita<EMAIL_ADDRESS>wrote:

Thanks for your advice. I will fix unittests to skip tests if *.npy does
not found.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/libmir/numir/issues/15#issuecomment-337775330, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMJWyg5macqgxLzLlvcG9S0XydarLtX0ks5stqlGgaJpZM4PmhFt
.


Unexpected end of JSON input - Offline mode

When setting json: true if the status code is 0 an error will be thrown due to there being no responseText.

After looking into this error I noticed that it might be better to throw an error similar to the CORS check when there is a response of XHR.UNSENT. If there was just a check around the JSON.parse there would be no error thrown for a bad request.


Fan ads are not clickable in mediation

Facebook told me that there was no need to use MediaView in native banner ads. It's clearly a bug in this plugin so please reopen this issue.
Originally posted by @arunchaudharyweb in https://github.com/googleads/googleads-mobile-flutter/issues/175#issuecomment-904465563

Hi @arunchaudharyweb, I have reopened your original issue. Closing this one as duplicate.


Your 'fastutil' thing can't load.

Title. Tried updating FPLib as well, same issue.
https://pastebin.com/FPX2JYqC

(This was caused by library downloads being disabled in falsepatternlib.cfg)


Outdated Package Spotted - initool

So I look through the packages maintained by dgtm, to see if there is some packages that are outdated and GitHub projects, that I could maintain.
The package  jstock seems to meet those criteria:

The version 0.9.0 is the latest version on Chocolatey while the version 0.10.0 is available on GitHub

TODOs:

[ ] Becoming a Maintainer of the package

[ ] Leave a comment to notify the current maintainer about the fact that the package is outdated
[ ] If there is no answer after one week, Then send a message via the option Contact Maintainers
[ ] If there is no answer after another week, Then contact the Site Admins to assess the situation

[ ] After becoming a maintainer, then, we can create the package in chocolatey-package repository
[ ] Once the package is uploaded and integrated, see if it is possible to specify the Chocolatey installation in initool repository

maintained by me ;-)


How to get same auto complete feature to my desired input

@FaridSafi
I would like to achieve same feature in my navigator page.How we can get this.
Now for me auto complete feature is working fine but it takes 1 min time initially.how to reduce the time.

Can you be more precise please?
Sincerely,
Maxim Yaskevich
On Tue, Oct 4, 2016 at 12:54 PM +0300, "mvnpgh"<EMAIL_ADDRESS>wrote:
i
want to get same auto complete feature to the screen shot inputfield
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@mvnpgh Instead of your InputText just put <GooglePlacesAutocomplete> component with all required properties.

Thx


fix: Use default image for repository server workload

Signed-off-by: jannfis<EMAIL_ADDRESS>What type of PR is this?

/kind bug

What does this PR do / why we need it:
Fixes a bug from PR #358 where ARGOCD_IMAGE environment is not respected for argocd-repo-server workload anymore. We should not have a separate default value for that.
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
How to test changes / Special notes to the reviewer:

Set ARGOCD_IMAGE pointing to a custom image
Run Operator locally
Create ArgoCD CR
Verify that argocd-repo-server deployment uses the custom image instead of the default one

@tylerauerbeck It was in draft to wait for the Operator SDK upgrade. Now that this has been done, I rebased the PR and marked it ready for review.


support for NF_NAT_RANGE_PROTO_RANDOM_FULLY in SNAT rules

There is a race condition in a netfilter code where one of  simultaneous connections to the same dest host/port  get rejected. This is visible, when DNS requests are made and searchdomains are configured , then multiple simultaneous DNS requests are done, some of which got rejected and have to be retried.
Workaround seems to be using SNAT --random-fully (unfortunately there seem to be no support for  --random-fully flag for MASQUERADE target)
More details:
https://tech.xing.com/a-reason-for-unexplained-connection-timeouts-on-kubernetes-docker-abd041cf7e02
https://blog.quentin-machu.fr/2018/06/24/5-15s-dns-lookups-on-kubernetes/

Hi all,
any update on this? We're seeing the same issue and we'd like to understand if it's something Calico would be happy to pick up

Thanks for the nice article!
According to that, it sounds like we'd need to use a patched version if iptables to set this option?
I don't see why we shouldn't try to fix this, but probably needs some thought into compatibility.
CC @fasaxc

Related flannel PR: https://github.com/coreos/flannel/pull/1040


[Feature Request]: Switching to unified sync protocol and using tauri http package for native client

Let's turn it into a RPC, here is a proposal:
type WebDavConfig = {
  type: 'webdav',
  endpoint: string,
  username: string,
  password: string
}

type UpstashConfig = {
  type: 'upstash',
  endpoint: string,
  username: STORAGE_KEY,
  apiKey: string
}

type SyncAction = {
  type: 'check'
} | {
  type: 'get',
  key: string,
} | {
  type: 'set',
  key: string,
  value: string
}

type SyncPayload = {
  config: WebDavConfig | UpstashConfig,
  action: SyncAction
}

// client side
function createUpstashClient() {
  return async check() {
    return await call('/api/sync', { /* webdav config */ })
  },
  // get(key), set(key, value)
}

// server side, /api/sync/route.ts
async function handle(req) {
  const payload = JSON.parse(await req.json()) as SyncPayload;

  // dispatch payload to server side check/get/set actions
}

The main idea is to move all the sync actions that were previously done on the client side to the server side. The downside is that the desktop app can no longer use the sync feature unless we keep the official sync endpoint built in.
Originally posted by @Yidadaa in https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/4285#issuecomment-1995145175

Also, For Tauri/desktop applications, it is more secure and safe, plus developers can easily leverage its features (e.g, laverage feature that not possible for web version), especially since it is written in Rust.

feature that not possible for web version


gltf-standand is two files, than causes some UX problem for exports

https://github.com/KittyCAD/modeling-app/assets/29681384/0feb40f9-2209-4cb2-8286-c02b8d53f32c
like I said above fix is awaiting a promise so the pickers open up one after the other, but I'm not 100% sure about this,
Rolling with it because it's better than before but

two consecutive file pickers is a weird experience
in the gltf json there buffers [ {uri: "output.bin"}] so if we let the user name the bin file something else it will likely break.

Fixes are

skip picker for gltf standard (but would be weird it not having picker when every other format does
remove gltf-standard as an export option
zip both files together

I think 3 is the best

Yea, 3 is best here also because some other formats like obj can reference other files too within it. It's nice if 2 or more export files default to zip, otherwise their original format.

@lf94 is resolving this issue/ziping gltf-standard something you would be interested in doing?

Consider me interested :)

Awesome!
Note: changing this will break the exports of each format should work e2e test, shouldn't be too hard to fix up and we can cross that bridge when we get to it.
But there's a whole
if (output.type === 'gltf' && output.storage === 'standard') {
// wait for second download

that will need to be removed.

Thanks for the heads-up!

This'll require a change somewhere on the server side to return a zip when appropriate.

No we want to handle it client side after we get the response.

Oh ok - I initially thought about doing it that way, but quickly I could see every single client needs to do then implement or include a zip package in order to offer the same functionality which doesn't seem great.
Are we concerned about returning a zip from the server too resource intensive or adding a complication over there?

We already use this endpoint as is in the diff viewer and cli and in text to cad ui, changing the whole endpoint just for modeling app makes no sense then all those apps would have to unzip to keep the same functionality

Gotchya gotchya. :slightly_smiling_face: Thanks for filling me in! I think it would make sense but it's a good argument to not create unnecessary toil at this stage :laughing:


Could not login: Expecting value: line 1 column 1 (char 0)

Fill in this template completely. Issues not following this template will be closed and ignored.
Check the boxes below by filling [ ] with an x so it looks like [x].
Use the Preview button to ensure the template is filled in correctly.

[x] I am using the latest version of PyInstaLive: 4.0.2.
[x] I have installed  3.6+: 3.8.10
[x] I have read the README.
[x] I have read the FAQ.
[x] I have checked all existing issues, none of which could solve my issue.

I am using:

[ ] Windows 10
[ ] Windows 8.1
[ ] Windows 8
[ ] Windows 7
[x] Linux (distribution: Ubuntu 20.04.5 LTS)
[ ] macOS (version: )
[ ] Other (device & OS name: )

To report a bug, fill in the information below.
PyInstaLive information
Run pyinstalive --info and paste its output below. Don't forget to omit your username and password.
Example:
$ pyinstalive --info
[I] PYINSTALIVE (SCRIPT V4.0.2 - PYTHON V3.8.10) - 10-24-2022 02:57:34 PM
---------------------------------------------------------------------------
Checking if the proxy is working.
The proxy is working properly.
---------------------------------------------------------------------------
Could not find an existing login session file: XXXXX.dat
A new login session file will be created upon successful login.
Could not login: Expecting value: line 1 column 1 (char 0)
---------------------------------------------------------------------------
---------------------------------------------------------------------------
[I] PYINSTALIVE (SCRIPT V4.0.2 - PYTHON V3.8.10) - 10-24-2022 04:44:50 PM
---------------------------------------------------------------------------
To see all the available arguments, use the -h argument.

PyInstaLive version:        4.0.2
Python version:             3.8.10
FFmpeg framework:           Available
Login session files:        None found
CLI supports color:         Yes

Configuration file:

    [pyinstalive]
    username = XXXXX
    password = XXXXX
    download_path = /var/www/download
    download_comments = True
    clear_temp_files = False
    cmd_on_started =
    cmd_on_ended =
    ffmpeg_path =
    log_to_file = True
    no_assemble = False
    use_locks = True
    send_heartbeat = True
    proxy = https://XXXXX:8888

End of PyInstaLive information screen.

---------------------------------------------------------------------------

To ask a question, fill in the information below.
Question
Describe your question here as clear as possible.
I am getting the "Could not login: Expecting value: line 1 column 1 (char 0)" message since 10-21-2022
Both of these commands do not work.

pyinstalive -d "instagram"
pyinstalive --download-following

I have tried different machines and switched IPs but all getting the same result.
Is it because Instagram have changed some parameters or API Endpoint causing the issue?
Thanks.

I've made a PR for this: https://github.com/dvingerh/PyInstaLive/pull/146 You can make this change there and it will start working

I've made a PR for this: #146 You can make this change there and it will start working

When I updated the script and run again it shows "[E] Could not login: Ensure your credentials are correct and try again". This may be caused by too much login attempts when the program is broken.
Then I switched IP address and it worked! Thanks!

It works fine now.


use eclipse update site resolvers...

Ivy supports using eclipse (p2) update sites as repositories and it would be nice if you could add this feature to sbt.

I feel like the need for using eclipse (p2) update sites as repositories is quite niche. As such perhaps it would be best (if possible) to explore how to add this support in a plugin first.


Fix array bounds issue when too many arguments passed.

The current implementation will happily write to cli->argv beyond EMBEDDED_CLI_MAX_ARGC.
Normally, argv[argc] contains a null pointer. See: https://en.cppreference.com/w/cpp/language/main_function
I'd be happy to have the "store a NULL at argv[argc]" behaviout be a compile time option.

Wonderful - thanks for this (and for putting the test case in as well).
I don't think the compile time option is worthwhile - it's really a single pointer saving, so not really worth the additional complexity


Fix collections.abc import for Python 3.9

The Python 3.9 build is failing:
geopy/point.py:264: in __eq__
    if not isinstance(other, collections.Iterable):
E   AttributeError: module 'collections' has no attribute 'Iterable'

https://travis-ci.org/geopy/geopy/jobs/645182137#L297
Python 3.8 warns about the removal:
  /home/travis/build/geopy/geopy/geopy/point.py:264: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working

https://travis-ci.org/geopy/geopy/jobs/645182134#L306
This change fixes the 3.9 build.

The PyPy3 failure is an unrelated timeout.
It passed on my fork: https://travis-ci.com/hugovk/geopy/jobs/283044372

I'm sorry but I will have to close this, because geopy 1.x will not support Python 3.9, but geopy 2.0 branch already contains this fix, see #335

OK! How about removing the failing 3.9 testing from the 1.x/master branch?

Thanks for understanding!

How about removing the failing 3.9 testing from the 1.x/master branch?

Would that solve any problem? :)
I think it's good to have it here to keep reminded that 1.x branch doesn't work with 3.9

It'd save some resources, free up some slots on the CI, save some electricity.
Seeing the failing build also suggests you do want eventually it to work with 3.9, but it's not yet ready, hence this PR :)


Fix CI workflows running the Dockerfile

:notebook_with_decorative_cover: Description
This is an attempt to fix the CI workflows running our Dockerfile.
:memo: Checklist

[x] All user-facing changes have changelog entries.
[x] The changes are reflected on docs.tenzir.com/vast, if necessary.
[x] The PR description contains instructions for the reviewer, if necessary.

:dart: Review Instructions
Commit-by-commit.

@dominiklohmann see also line 86 in the Dockerfile. Bumping Arrow requires a modification there, too.

I'm not a fan of removing qq from all apt invocations. It clutters the logs.

I'm not a fan of removing qq from all apt invocations. It clutters the logs.
Looks alright to me, CI passes. Can you explain why you want verbose logging for apt, @dominiklohmann ?

The qq hid the issue from the logs, which would've been visible if we didn't suppress them.
I only removed it from the CI workflow, not from the Dockerfile itself, and I think for CI we want all the verbosity we can get.


NotebookCellExecutionTask#appendOutput should support on array case

The appendOutput-functions should support to be called with output not an array of outputs. Maybe that should be the only way to do it..

Could take output | output[]. Since each will trigger a call to the main thread so I want to allow batching for a bunch of outputs. For replace too or just append?

Yeah, maybe for append as well. And yeah, I would do this API-only, e.g leave the IPC call with an array and even consider a tiny debounce in the extension host. I noticed that printing numbers 0 to 1000 isn't super fast

@roblourens What about output items?

Sure 👍


test

Node version:
Sails version (sails):
ORM hook version (sails-hook-orm):
Sockets hook version (sails-hook-sockets):
Organics hook version (sails-hook-organics):
Grunt hook version (sails-hook-grunt):
Uploads hook version (sails-hook-uploads):
DB adapter & version (e.g. sails-mysql@5.55.5):
Skipper adapter & version (e.g. skipper-s3@5.55.5):

Nice work, @sailsbot.  You don't hear this enough, so I'm going to say it:  I love you.  Even though you have knives for hands.


fixed header parameters in the readers of the SimVerb datasets.

will open a new PR to remove unnecessary commits.

The clean version of the PR was opened in:
https://github.com/cgpotts/cs224u/pull/51


Some Network Media Streams Completely Crash WSA Until Restarted

Steps to reproduce

Sideload VLC: https://get.videolan.org/vlc-android/3.5.4/VLC-Android-3.5.4-x86_64.apk

Open VLC

Click the More tab then New stream

Paste and play one of these stream links: http://<IP_ADDRESS>:81/7300.stream/index.m3u8 or https://tvshops.bonus-tv.ru/cdn/shop24/playlist.m3u8

You should see it attempt to play but immediately freeze and become unresponsive, including all other WSA apps until you Turn off Windows Subsystem for Android under the System tab.

These streams do play without crashing when VLC for Android's Hardware Acceleration setting is set to "Disabled" or "Decoding acceleration" but entirely crash when "Automatic" or "Full acceleration" are selected.
✔ Expected Behavior
The streams should just work as most other network streams of similar type and format work fine by default.
❌ Actual Behavior
The entire Windows Subsystem for Android crashes and becomes unresponsive until you Turn off Windows Subsystem for Android under the System tab to restart it. It is not just VLC for Android on WSA doing this however, the same result happens when using the built-in player on IPTV player apps using exoplayer such as TiviMate (with both hardware and software decoding) and additionally MX Player Pro.
The following network streams also temporarily freeze and crash the app it is attempting to play on but do not entirely crash WSA like the two examples from the reproduction section:
https://i.mjh.nz/SamsungTVPlus/USBA3800005NI.m3u8
https://i.mjh.nz/SamsungTVPlus/USBB2300002Q6.m3u8
https://i.mjh.nz/SamsungTVPlus/USBC2400027NG.m3u8
https://i.mjh.nz/SamsungTVPlus/USBB3500004RC.m3u8
http://streamsy.online:2999/coachj88/N93DPKS9pJ/1659
Please note that all mentioned streams are publicly available for free.
Other Software
VLC for Android - VLC-Android-3.5.4-x86_64
TiviMate - 4.7.0 (You must specify --abi x86 during install for it to launch on WSA)
MX Player Pro - 1.74.7
Please specify the version of Windows Subsystem for Android
2310.40000.2.0

Hi.
I noticed this problem over a year ago.
The solution for me was to change Graphics Preference in WSA settings to "Microsoft Basic Render Driver"
With my vender specific driver (AMD Radeon, from older versions to the newest version, encluding January 2024), I always have problems playing IPTV when the player on WSA would crash.


RemoteDocker.java:40-42: Based on the input from...

The puzzle 178-91930edc from #178 has to be resolved:
https://github.com/amihaiemil/docker-java-api/blob/1e57be130a63eacf104ad272a8b7eb8f4b3ea00f/src/main/java/com/amihaiemil/docker/RemoteDocker.java#L40-L42
The puzzle was created by Mihai A on 04-Dec-18.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Job #197 is now in scope, role is DEV

The job #197 assigned to @sbespalov/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@sbespalov/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@amihaiemil can you please have a look at PR?

The puzzle 178-91930edc has disappeared from the source code, that's why I closed this issue. //cc @amihaiemil

The job #197 is now out of scope

Order was finished: +30 point(s) just awarded to @sbespalov/z


Creating a new Gradle project doesn't name it expected way

If I create a new Gradle project and name it TestProject, it will show up in projects as "GradleDesktopGameProject". Its path will be "TestProject/GradleDesktopGameProject"
After building it once, it says "BasicGradleGame" in the projects tab.
Expected: My project would be name "TestProject" in the projects tab.

Is this true in the dev build of the SDK?  I templated the settings.gradle with FreeMarker, so the project name should go in there (it was previously hardcoded to BasicGradleGame) and thus should show correctly in the NB Project window...

I can't reproduce it in master. Perhaps I was confused and used an old version at the time.


Small optimization for read_local_files

fd will accept multiple uses of the option -e. This makes it possible to run fd only once like so:
fd -a -e css -e scss -e less --exclude node_modules

Thanks for your time and contributions!


TypeError in /admin/fr/communication/blocks/53ce2edd-0807-44a5-8d16-e8ea0bd81bf2/edit

Error in Osuny
TypeError in /admin/fr/communication/blocks/53ce2edd-0807-44a5-8d16-e8ea0bd81bf2/edit
Cannot read properties of null (reading 'insertBefore')
View on Bugsnag
Stacktrace
https://communicationpublique.osuny.org/assets/admin-b85bb904ef0373c2b35f8e8ea75664a9caac7742522605dae489fd3873ec0d51.js:28151 - Object.wrap

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
TypeError in /admin/fr/communication/blocks/53ce2edd-0807-44a5-8d16-e8ea0bd81bf2/edit


Use standard syntax for logging HTTP/2 stream ID.

Motivation:
When looking through the logs for entries pertaining to a specific stream, it's difficult because header entries use the syntax "streamId:" but all other entries use "streamId=". We should make all of the entries consistent.
Modifications:
Changed header entries to use "streamId=" to match the other entries.
Result:
Easier HTTP/2 log navigation.

@Scottmitch @normanmaurer super easy one :)

@nmittler w0h00... hard work ;) Ship it

:)
Cherry-picked into master(595fb88) and 4.1(94f65ed)


STORM-626: Add script to print out the merge command for a given pull request.

Looks good to me. +1


Updating to preserve line breaks

Hi @DuncanmaMSFT, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (duncanma). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

by breaking text into multiple lines, you can no longer cut and paste them, which is kind of important for a CLI help file.  We could use something like
$ az long command \
that is more than one line

but this would not work for Windows users (Windows uses ^).  Obviously this is not a new issue, but breaking a 2-line item into a 6-line item makes it worse...
I think this might need to be handled by the doc importer, but there might be some benefit to keeping the CLI web content focused on cut-paste-able content.

Jason, if I add the \ in, can we go with that for now? Alternatively, mid to long term, we can wrap on the client... and provide a 'copy' button that puts it on the clipboard with no line breaks, but for right now (for appearances), I'd like to show the \

I've updated the code sample, if you have time to 're-review' @JasonRShaver

Updated to escape out the \

@JasonRShaver is it possible we could get this PR merged to trigger your build process so we're solid tomorrow? cc @DuncanmaMSFT

Please check out #1006, the format issues is not fully addressed, so the change was reverted


Domains and server groups topology ui

it's based on #10172

todo:

[x] rebase once #10172 is merged against master
[ ] rebase once #9361 is merged (there will be couple of conflicts)

cc @abonas
@miq-bot add_labels enhancement, providers/hawkular, ui, topology, wip, darga/no

why did you have to put this as dependent on  #10172 ?

cc @epwinchell @serenamarie125 this one needs similar icons for domain and server group as #10172

why did you have to put this as dependent on #10172 ?

Right, there is no need to do that, but it's natural to me. But there are no dependencies between the 2.

Right, there is no need to do that, but it's natural to me. But there are no dependencies between the 2.

please rebase it not to depend on the other one since there's no real need for it, it will also make it an easier review as well.

@miq-bot assign @abonas

please rebase it not to depend on the other one..

It should be done now.

I think this test should be updated too

I think this test should be updated too

In order to update that test, I need to "re-record" the middleware_topology_response.json. But if I do that, it'd lead to the similar situation as in the middleware_manager/refresher.yml. I.e. if someone else would like to re-record the data, it would require to set up the domain mode following these instructions: https://github.com/ManageIQ/manageiq/pull/10048#issue-167493935
Do you want me to do that? Other option would be I guess splitting the test into 2 separate ones, 1 testing the topology against the "normal" h-services setup with 1 or couple of standalone servers and the second one with the wildfly running in the domain mode. This would allow an easy re-recording the data for the first test, while the second one can stay as is. Does it makes sense, we can possibly talk about that on gitter if you want.

In order to update that test, I need to "re-record" the middleware_topology_response.json. But if I do that, it'd lead to the similar situation as in the middleware_manager/refresher.yml. I.e. if someone else would like to re-record the data, it would require to set up the domain mode following these instructions: #10048 (comment)
Do you want me to do that? Other option would be I guess splitting the test into 2 separate ones, 1 testing the topology against the "normal" h-services setup with 1 or couple of standalone servers and the second one with the wildfly running in the domain mode. This would allow an easy re-recording the data for the first test, while the second one can stay as is. Does it makes sense, we can possibly talk about that on gitter if you want.

great point. the other option (of 2 different tests) sounds the best solution.

2 different tests weren't necessary in the end, because the spec doesn't check if there are specific edges in the graph, but rather a general properties.. like number of kinds, glyph vs images, etc. so I've added only the kinds definitions to the original json.. just in case we need the recorded json for the domain mode, here it is

LGTM

pls remove wip signs if this is ready

@miq-bot remove_labels wip

@miq-bot assign @chessbyte
@chessbyte the only thing that is missing is the design of the icons. I've been trying to get ETA for their design, however it's still unclear at the moment. I suggest not to stall this PR due to that, and I can open a separate issue for the icons design and track it there. wdyt? cc @epwinchell

@abonas yeah, we usually don't stall on the icons.  I think @epwinchell usually asks people to use the placeholder image for things that need to be replaced with an actual image/icon.

@abonas yeah, we usually don't stall on the icons. I think @epwinchell usually asks people to use the placeholder image for things that need to be replaced with an actual image/icon.

indeed. the other PR has placeholder icons, however topology uses glyphs so there are no placeholders for that, just some random icons "only for now".

topology uses glyphs so there are no placeholders for that

I'd be nice to have a special glyph that has the same purpose as the placeholder.png

@martinpovolny @himdel maybe there's a chance you could have a look/merge this one? thanks.

LGTM after rebase.

test failure looks unrelated to the patch (it's in infra manager)

test failure looks unrelated to the patch (it's in infra manager)

Right, it's not related, but I'll update also the middleware_topology_controller_spec.js to test the Vm

LGTM


Request:  Document Data Structure

I'd request that you document the data structure for all the documents you store in the mongo database for use in the UI.  This would assist in increasing the velocity at which additional collectors could be developed.  There is currently a lot of trial and error when developing new collectors to ensure it's posted appropriately so the UI will pick it up.

👍

http://hygieia.github.io/Hygieia/dbschema.html


convert &'py PyList -> PyList<'py>

This is a branch to continue the conversation from https://github.com/PyO3/pyo3/pull/3205#issuecomment-1596068254
It adds an (internal for now) PyAnyOwned<'py>, which could eventually become PyAny<'py>, and attempts to gauge fallout by replacing &'py PyList with PyList<'py> implemented on top of PyAnyOwned<'py>.
Because of the scale of the churn, I think it's more realistic to implement migration of each type in individual PRs. I think a single branch and PR to rebuild the entirety of PyO3 would be unreviewable. Probably &PyAny needs to be migrated first, although I want us to understand what changes look like for the core collection types (list, dict, tuple) before we commit to this road for definite.
Doesn't compile yet because a lot of the conversion traits aren't implemented properly for PyList<'py>. I might try to refine further later if we think this is worth pursuing.
Already we see the following migration efforts:

Ownership changes (not a suprise)
Proliferation of from_owned_ptr methods etc.

These can probably be refactored into a trait or a macro

List index operators have to be removed if the pool is removed, because the index operators can't return owned values

This would be true of any other solution which removes the pool.

Addition of the lifetime to PyList<'py> has interesting consequences for is_instance and similar generic methods.

x.is_instance_of::<PyList<'_>>()
x.downcast::<PyList<'_>>()

Of these, I think only the fourth bullet needs further consideration. If users don't have the elided_lifetimes_in_paths lint enabled, then I believe they can continue writing x.is_instance_of<PyList>() without the lifetime. However, the papercut is still notable. I think this would just have to be noted as part of syntactical drawbacks which we could describe as things which would go away if arbitrary_self_types stabilised (any PyO3 migrated to it).

Probably &PyAny needs to be migrated first, although I want us to understand what changes look like for the core collection types (list, dict, tuple) before we commit to this road for definite.

One thing that I would like to state explicitly to make sure that know everyone's assumptions: In my personal experience writing application-level code using PyO3, I have rarely interacted directly with native types like PyList, PyDict, etc. Rather, I have usually interacted with them only indirectly via the FromPyObject impls for Vec, HashMap, etc.
IMO, this implies that even if there is churn in their interfaces, it does not affect the majority of application-level code. But rather library and performance-critical code, the owners of which should be in a good position to fix that churn. (Of course, the still won't like us for making them do those changes. But the performance gains of removing the pool should be pretty persuasive to that crowd.)

Closing in favour of #3361


workflow: push exporter image

fix https://github.com/OT-CONTAINER-KIT/redis-operator/issues/681

The issue over here is the secrets that are uploaded here don't have permission to push.
So it would fail.
I would get the permission first then push it.

The issue over here is the secrets that are uploaded here don't have permission to push.
So it would fail.
I would get the permission first then push it.

Ohh, i forgot it.

Got the permission to push.


cli: interactively define secrets

If a workflow defines secrets, and they are not available in the environment, prompt the user for their values. This needs to take care of the case when popper run is executed by a CI service, in which case the prompt is skipped

Hi @ivotron, I was actually thinking about this issue for my proposal.
While writing for tests, I had to manually lookup and define secrets for the workflow, so I was thinking of some way to automate that.
We can have two modes of operation to populate secrets:

Interactive method - This being the default method
Dummy populate - We can add --dummy-secrets option, which would automatically define secrets (This part of the feature being useful only for developers)

Also besides interactive mode, we can include an option --secrets-config to specify a config file for the user. So that once the user becomes aware of what secrets need to included, he can include them in a config file and reduce  the labor of redefining them each them.
We can also generate the secrets file for the user, after the first mode of operation: interactive, so that it might be coupled with --secrets-config later on

PS: @ivotron as I actually wanted to include this in my proposal, should I start on this PR, before the proposal phase or after it?
Thanks!

@ivotron I thought of solving this issue in a different way before. Would you like to know my approach ? This will not require adding extra flags to popper run. Thanks !

hey @JayjeetAtGithub, could you comment your idea here? Maybe we can discuss it and @arshul can incorporate it to #573. Doing this transparently (i.e. without needing a flag) would be friendlier to the user.

@ivotron Travis CI sets an env variable CI=true by default for all builds. We can check if this var is set to 'true' in the check_secrets() function. If not set or set to 'false' we can prompt the user to enter user the values. To make this feature generic for all CI services like travis, circleci what we can do is that we can define a custom env var IS_CI=True/False in the CI config file and check for this var through code.

Doing this transparently (i.e. without needing a flag) would be friendlier to the user.

In the current implementation, You need the flag only in the case of TravisCI. By default, the prompt appears when executing popper run, so the user does not need to do anything extra, if a secret is not defined, the user will get the prompt to enter the value, the flag is only passed in the Travis' script so that it does not stop for the prompt in the test scripts.
Also, @JayjeetAtGithub's way can be implemented, but it will require us to go to Travis or any other CI's GUI to enter the variable, but flag can be added to script more conveniently in my opinion.
@ivotron you can tell me which way to proceed and I will do the required changes.

Hi @arshul Environment variables can be defined in the CI's config files itself. You may refer to this. Thanks :+1:


YAML variable substitution

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Feature
Enter Task Name: FileTransformV2
Issue Description
It would be really nice if the FileTransform task would support variable substitution in YAML files. Like this github action. also build by microsoft.
For some other use case we want to modify a yaml configfile based on some secrets and variables defined in the pipeline.
I already created an issue in the issue tracker for the github action, but that wasn't the right place.

This is still a vary much liked feature. Please don't close

This would be really useful for working with helm charts

Providing a bump on this to echo the point made by @ben-burton. Right now we are having to rely on the colinsalmcorner.colinsalmcorner-buildtasks.replace-tokens-task.ReplaceTokens@1 which doesn't seem to parse Key Vault secrets that well into files.

Hi everyone, this repo is mostly for yaml templates; for in-the-box task - I would suggest to open a ticket in https://github.com/microsoft/azure-pipelines-tasks


NoMethodError: private method `expire_primary_index' called

I don't know this issue is caused by Identity cache or Draper gem so I post this issue to both repos
https://github.com/Shopify/identity_cache/blob/98dfa6eb13f9af9773e313ac202e83aab87d5eff/lib/identity_cache/parent_model_expiration.rb#L47
https://github.com/drapergem/draper/blob/4439ed8e84fd2af49f0df45fa21d7daf887b93ce/lib/draper/automatic_delegation.rb#L9

File /var/www/app/shared/bundle/ruby/2.5.0/gems/draper-4.0.0/lib/draper/automatic_delegation.rb line 10 in method_missing
File /var/www/app/shared/bundle/ruby/2.5.0/bundler/gems/identity_cache-c4799ac93b48/lib/identity_cache/parent_model_expiration.rb line 47 in block in expire_parent_caches
File /home/app/.rbenv/versions/2.5.5/lib/ruby/2.5.0/set.rb line 338 in each_key
File /home/app/.rbenv/versions/2.5.5/lib/ruby/2.5.0/set.rb line 338 in each

this was happening when trying to create a record
but succeed after submit my form again
https://github.com/Shopify/identity_cache/issues/441

@saiqulhaq I guess you need to wait for 4.0.1 or downgrade draper temporary. I encountered a similar problem and patch has already been merged: https://github.com/drapergem/draper/pull/875

ok thanks


Keepalive

I have a server streaming rpc behind envoy and it basically runs forever, but envoy will drop the connection every 5 minutes if there are no messages sent over the network, which is sort of a good thing.
I have implemented the server side keepalive as described here and I want to add that into my client as well, but I can't find anything related to that in this repo.
Any guidance is appreciated.

if there is no keepalive implemented here already, I would recommend creating a streaming interceptor that would do whatever is necessary to maintain the keepalive. This is moreso an implementation detail, protobuf-ts doesn't expect keepalives to be an issue and relies on a Transport to deliver extended functionality. This might be a useful PR to @protobuf-ts/grpc-transport or maybe @protobuf-ts/grpcweb-transport

For a generated client_grpc1 client, the third constructor argument is a grpc.ClientOptions object:
https://github.com/timostamm/protobuf-ts/blob/44b0fe4b7fe202c4d8a51f785c60ce71ca717622/packages/example-node-grpc-client/client.ts#L6-L11
This object also takes grpc.ChannelOptions, including grpc.keepalive_time_ms and other related settings. That means you can pass arguments like this:
const client = new ExampleServiceClient(
     "localhost:5000",
     ChannelCredentials.createInsecure(),
-     {},
+     {
+        "grpc.keepalive_time_ms": 1500
+     },
     {}
 );

If you are using our generic clients with @protobuf-ts/grpc-transport, grpc.ClientOptions are passed to the transport constructor:
https://github.com/timostamm/protobuf-ts/blob/44b0fe4b7fe202c4d8a51f785c60ce71ca717622/packages/example-node-grpc-transport-client/client.ts#L7-L10
const transport = new GrpcTransport({
    host: "localhost:5000",
    channelCredentials: ChannelCredentials.createInsecure(),
+   clientOptions: {
+       "grpc.keepalive_time_ms": 1500,
+   }
});

If you notice any issues, please let me know.

@timostamm thanks for looking into this, unfortunately I can't get this to work, envoy still kills my connection 5 minutes later.
This is the transport:
  const transport = new GrpcWebFetchTransport({
    baseUrl: grpcUrl,
    format: 'binary',
    meta: { Authorization: `Bearer ${idToken}` },
    clientOptions: {
      "grpc.keepalive_time_ms": 6000
    }
  })

I looked into GrpcWebFetchTransport and indeed it doesn't have clientOptions, that's only for the GrpcTransport which I can't use in the browser.


Add .task file for npm-update

This also switches all dependencies over to being updated by the bots.

Hmm, the bots don't want to touch this...

@martinpitt ptal thx

@mvollmer: LGTM! I checked two handfuls of bots, and they don't seem to crash, they are just uber-busy. My two image refreshes don't start either. Let's give them some time to catch up, until the afternoon, and then investigate if it's still broken.

Hmm, the bots don't want to touch this...

Probably because it had the "blocked" label.


[Improvement][UI] Support to view the process variables on the page of DAG.

Purpose of the pull request
This PR will close #12604 .

Brief change log

Verify this pull request
This change added tests and can be verified as follows:

Manually verified the change by testing locally.

The feature is as follows:

Codecov Report

Merging #12609 (d83a838) into dev (064fec8) will decrease coverage by 0.05%.
The diff coverage is 15.55%.

@@             Coverage Diff              @@
##                dev   #12609      +/-   ##
============================================
- Coverage     39.08%   39.03%   -0.06%
  Complexity     4190     4190
============================================
  Files          1044     1044
  Lines         39447    39447
  Branches       4530     4519      -11
============================================
- Hits          15419    15398      -21
- Misses        22276    22294      +18
- Partials       1752     1755       +3

Impacted Files
Coverage Δ

...api/service/impl/ProcessDefinitionServiceImpl.java
34.07% <9.52%> (-0.67%)
:arrow_down:

...er/api/controller/ProcessDefinitionController.java
58.62% <100.00%> (+0.97%)
:arrow_up:

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...eduler/api/dto/schedule/ScheduleCreateRequest.java
83.33% <0.00%> (-2.39%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...e/dolphinscheduler/service/queue/TaskPriority.java
51.31% <0.00%> (-1.25%)
:arrow_down:

...cheduler/plugin/alert/dingtalk/DingTalkSender.java
34.13% <0.00%> (-0.78%)
:arrow_down:

...inscheduler/plugin/registry/etcd/EtcdRegistry.java
50.34% <0.00%> (-0.69%)
:arrow_down:

...he/dolphinscheduler/plugin/task/java/JavaTask.java
58.50% <0.00%> (-0.69%)
:arrow_down:

... and 25 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


feat: add mtc logo to the top nav, remove from footer

This PR addresses #934

[x] Addresses the issue in full
[ ] Addresses only certain aspects of the issue

Description
This adds the MTC logo to the left side (or above on mobile) of the languages nav bar.
How Can This Be Tested/Reviewed?
Visit the Public site and verify the logo is available at the top-left and goes to the right website when clicked, and that the logo has been removed from the footer.
Note: in the Figma mockups linked in the issue, the language bar looks different than what's currently in Doorway production. If the code needs to be revised to match Figma's appearance, I'd recommend a follow-up ticket to address that.
Note 2: I did "Seeds-ify" the CSS of the language bar, and I would have also moved it out of doorway-ui-components except it's referenced by the SiteHeader component. Happy to discuss options.
Author Checklist:

[ ] Added QA notes to the issue with applicable URLs
[x] Reviewed in a desktop view
[x] Reviewed in a mobile view
[ ] Reviewed considering accessibility
[ ] Added tests covering the changes
[ ] Made corresponding changes to the documentation
[ ] Ran yarn generate:client and/or created a migration when required

Review Process:

Read and understand the issue
Ensure the author has added QA notes
Review the code itself from a style point of view
Pull the changes down locally and test that the acceptance criteria is met
Either (1) explicitly ask a clarifying question, (2) request changes, or (3) approve the PR, even if there are very small remaining changes, if you don't need to re-review after the updates

I'm noticing a slight misalignment between the 20px here and the 24px of the "Doorway" below in the siteheader

Ah, I guess there's a mismatch due to the responsive design sizing of the logo.
Here's what it looks like on a larger window size:

but then on a medium width, the Doorway logo shrinks but the MTC logo doesn't.
I don't really understand why the Doorway logo is shrinking when it does, there's still plenty of blank space to the right of it. I'll see if I can normalize all of this a bit.

OK, I got the logo to maintain a consistent size across that particular breakpoint ("tablet"). It required a very tiny amount of space shaved off between the nav bar links so the "W" of Welcome doesn't smash up against the logo. Hopefully that's an acceptable tradeoff!

I'm losing my mind, I forgot to commit the changes. Here it is! 😅

hmm, there's now a styles conflict with this and main. I'll look into it


Terraform CLI plan not completing

Terraform CLI task Plan stopped working.
Its just on plan for ever... i tried changing different version on install but same result.

Sorry... i past successful releases are running fine... i might have messed something up.
Sorry about that


Proper handling of Polymorphic types when JsonTypeInfo.Id is DEDUCTION

refer to issue: https://github.com/mbknor/mbknor-jackson-jsonSchema/issues/164

Is this ready to merge?

Is this ready to merge?

Yep, it's good to go.

Can we merge this?


[Android TV] Directional navigation event listener (TVEventHandler) not working

Environment
Environment:
OS: macOS High Sierra 10.13.3
Node: 8.9.4
Yarn: 1.5.1
npm: 5.6.0
Watchman: 4.9.0
Xcode: Not Found
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: 0.55.4 => 0.55.4
Description
I enabled TVEventHandler in my Android TV app with focusable elements, but can't get any directional navigation events from it. None of the eventType is left/right/up/down'. It can only emit focus/blur` events.
In the documentation, it says there is a class ReactAndroidTVRootViewHelper to handle focusable elements navigation events, but I can’t find it in RN source code. In this not merged commit I found ReactAndroidTVViewManager.java which may be used to handle navigation events. But it's not in the RN current codebase. Maybe there are other components handling that?
Reproducible Demo
code sample
<FlatList
  data={[
    [{id: 10}, {id: 11}, {id: 12}, {id: 13}],
    [{id: 20}, {id: 21}, {id: 22}, {id: 23}],
  ]}
  renderItem={({item: rowItems, index: rowIndex}) => {
    return (
      <ScrollView horizontal={true}>
        {
          rowItems.map((id, index) => {
            return (
              <TouchableHighlight
                key={index}
                onPress={(e) => this.handleTitlePress(e)}
                onShowUnderlay={() => this.handleTitleActive(rowIndex, index)}
              >
                <Text>{id}</Text>
              </TouchableHighlight>
            )
          })
        }
      </ScrollView>
    );
  }}
>
</FlatList>

@Weetbix did you ever get that bug 20100 fixed? the focus engine for RN on androidtv/tvos/firetv is lacking.  if I have some  views laid out as X's. and I'm on the 2nd index and I click right, i watn to focus up tot he 3rd index which is one row higher but I can't seem to get the focus to happen like that. on Android it's even worse than tvOS.
X    X    X
X   X
I've tried to use setNativeProps() to trigger a specific element to be focused but there is a 2 second delay between the method call and actually setting the focus.  I've asked this on Stackoverflow but no responses. Any help woudl be GREATLY appreciated!  Thank you!

@reidisaki No not yet, it auto-closed as it wasn't with the latest version of RN. This weekend I will reproduce it in the latest and reopen the issue. AFAICT react native is not involved in the navigation system which all seems to be handled by android - but native android apps with scroll views seem to work perfectly, maybe its down to the difference in the views that are created in RN vs native android.
It sounds like you want a kind of behaviour like in 20100?
According to this comment https://github.com/facebook/react-native/issues/20181#issuecomment-404988268
You might be able to try setting hasTVPreferred focus when you get to the end of the list.
I will also take another stab at fixing this issue, as it seems easy to add the direction keys but ran into some trouble last time. If the directional keys are working we can write our own navigation code (hacky but at least it will be functional).
I would keep in mind that there has only been 1 PR for android TV support so far, so it still has some distance to go :)

@Weetbix thanks! I have used hasTVPreferred focus and that does get focus but its very cumbersome to use and I noticed the TVEventHandler really only works for ios as androids "onHWKeyEvent" only listens to button presses and not dpad presses so if I want to select an item that is adjacent to an item but in a higher row I can't intercept the dpad events to know what the user is pressing.
I think you are correct in that we would have to write our own navigation code to handle dpad presses.  I also saw your 20100 pr and yes I can replicate that issue and that would fix some of the issues we're having.

I am also facing the same issue. Did anyone have the solution then please share.


Prevent candidates from being able to add a course twice

Context
One of our candidates was able to add the same course 3 times (within 3 minutes) and submitted their application successfully.
Changes proposed in this pull request
We validate for this as part of PickCourseForm, which works fine for courses without multiple sites. For courses with multiple sites, candidates can get around this by navigating to the sites page directly and submitting it.
This adds checks to the site options page as well as the POST action, and redirects the user to the courses review page with an appropriate error flash.
Guidance to review
I will investigate if we need something like this for choosing a study mode as well.
Before
The gif is too large to upload:

log in as a candidate without any course choices
choose a course with multiple sites (Gorse SCITT / Arts and Design)
copy the URL for the site selection page
choose the first site
manually go to the site selection page
choose the first site
there are now duplicate course choices

After

Link to Trello card
https://trello.com/c/JYjDiQUm/1387-dev-investigate-why-a-user-was-able-to-add-3-of-the-same-course-to-their-application-mp1198
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

I will investigate if we need something like this for choosing a study mode as well.

No, users are directed to the site page regardless even if it's single-site, which then does the checks in this PR, so they can't add duplicate sites that way. 👍

I wonder if we should split up or simplify this controller, it has become quite hard to follow. The number of distinct flows and edge cases seem to be growing.

@tijmenb I agree, was thinking the same when building this, have added a card https://trello.com/c/5rSJREyS/240-refactor-coursescontroller


⚠ Bofrost.de has degraded performance

In d31fe1c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 847 ms

Resolved: Bofrost.de performance has improved in 3b5b9ac after 6 minutes.


[Request - Product] Tauri

Full and short name of product
Tauri
Tauri is a framework for building tiny, blazingly fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.
Does this product have LTS versions? What are the intervals between each LTS version?
No
What is the website for the product and for its version information?
https://github.com/tauri-apps/tauri/releases
https://github.com/tauri-apps/tauri/tags
Additional context
Showcase

Since v2 is in RC right now - any notes of v1 support once v2 launches will be important.


added calculator.py

Uses Python's eval() function to implement a calculator.
Sample output:
Scientific Calculator
Eg: pi * sin(90) - sqrt(81)

What is (1/3) * pi * 8 * 8 * 12

804.247719318987

More programs at: shreydan/Python

Done as told:

removed unnecessary lines
wrapped inside main()
added space after commas

Also added % option and more comments.

Thank you for you contribution to the repo and the community
On 12 May 2017, at 16:47, Shreyas Daniel<EMAIL_ADDRESS>wrote:

Done as told:
removed unnecessary lines
wrapped inside main()
added space after commas
Also added % option and more comments.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


May be a good idea to use snowflake as the primary key?

RT
https://github.com/agnirudrasil/avault/blob/c6ca7037a5a99d97fcf43eb6b9ef935439171c02/backend/app/api/utils/snowflake.py

Hello, @dongfengweixiao what advantage do you expect of using snakeflake vs uuid?

Hello @jonra1993 , the pros and cons can be read here: https://medium.com/geekculture/the-wild-world-of-unique-identifiers-uuid-ulid-etc-17cfb2a38fce.
Compared with the uuid v1 and the uuid v4, the v4 version has a very low probability of duplication.

Hello @dongfengweixiao thanks for the link I am going to check it

If this is done there is no need for the created_at column in any tables it is used, as it would be known by decoding the snowflake

If this is done there is no need for the created_at column in any tables it is used, as it would be known by decoding the snowflake

Bad idea. All field serves the business logic. The id field should only be used to mark uniqueness. Do not use the id field for additional purposes.

@dongfengweixiao @bazylhorsey I agree that using an Id like a snowflake or another timestamp base could be beneficial for better ordering, improving indexing, reducing the database size, and potentially reducing id generation time if it is less than 128 bits also the created_at column can be removed. Currently, I am doing some research and testing so in a next commit this will be implemented.
References:
https://medium.com/geekculture/the-wild-world-of-unique-identifiers-uuid-ulid-etc-17cfb2a38fce
https://medium.com/double-pointer/system-design-interview-scalable-unique-id-generator-twitter-snowflake-or-a-similar-service-18af22d74343
https://blog.devgenius.io/analyzing-new-unique-identifier-formats-uuidv6-uuidv7-and-uuidv8-d6cc5cd7391a
https://www.ietf.org/id/draft-peabody-dispatch-new-uuid-format-04.html
Implementations
https://github.com/agnirudrasil/avault/blob/c6ca7037a5a99d97fcf43eb6b9ef935439171c02/backend/app/api/utils/snowflake.py
https://github.com/SawdustSoftware/simpleflake/blob/master/simpleflake/simpleflake.py
https://github.com/sony/sonyflake
https://github.com/ergeon/python-flax-id

@dongfengweixiao may have a point, use your best judgment

Hello guys, after testing and looking to make the project simple to use and maintain, I have used UUID7 as the database's primary key and added some information about it on the README file including references to alternatives of IDs.


ExtractorError: Yahoo returned error: missing video tag

URL: https://www.yahoo.com/tv/the-man-in-the-high-castle-trailer-amazon-whats-123742891190.html
OUTPUT:
youtube-dl -v "https://www.yahoo.com/tv/the-man-in-the-high-castle-trailer-a
mazon-whats-123742891190.html"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'https://www.yahoo.com/tv/the-man-in-the-hig
h-castle-trailer-amazon-whats-123742891190.html']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2015.07.21
[debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-71346-gdf4fca2
[debug] Proxy map: {}
[Yahoo] the-man-in-the-high-castle-trailer-amazon-whats: Downloading webpage
[Yahoo] the-man-in-the-high-castle-trailer-amazon-whats: Downloading video info
ERROR: Yahoo returned error: missing video tag
Traceback (most recent call last):
File "youtube_dl\YoutubeDL.pyo", line 656, in extract_info
File "youtube_dl\extractor\common.pyo", line 275, in extract
File "youtube_dl\extractor\yahoo.pyo", line 191, in _real_extract
File "youtube_dl\extractor\yahoo.pyo", line 214, in _get_info
ExtractorError: Yahoo returned error: missing video tag
Thanks...
Ringo

The embedded URL shown in the video:
https://tv.yahoo.com/video/man-high-castle-comic-con-221500417.html

Works for youtube-dl.

Apparently Yahoo has changed its site again and now it works with youtube-dl:
$ youtube-dl -v "https://www.yahoo.com/tv/the-man-in-the-high-castle-trailer-amazon-whats-123742891190.html"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.yahoo.com/tv/the-man-in-the-high-castle-trailer-amazon-whats-123742891190.html']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.14
[debug] Git HEAD: a7acf868a
[debug] Python version 3.6.0 - Linux-4.9.0-1-ARCH-x86_64-with-arch-Arch-Linux
[debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2, rtmpdump 2.4
[debug] Proxy map: {}
[Yahoo] the-man-in-the-high-castle-trailer-amazon-whats: Downloading webpage
[Yahoo] the-man-in-the-high-castle-trailer-amazon-whats: Downloading alias info
[Yahoo] the-man-in-the-high-castle-trailer-amazon-whats: Downloading webm video info
[Yahoo] the-man-in-the-high-castle-trailer-amazon-whats: Downloading mp4 video info
[Yahoo] a63e8d9d-1c1a-3ae4-a611-924409a8f0a5: Downloading m3u8 information
[debug] Invoking downloader on 'https://tpbrack04.vpg.cdn.yimg.com/yahootv/lotus/e299ea5a-ab07-4224-99a1-32f88de9aa34_zoK_wDJ2X5i2jkXZlSqCk0Tjb5vaN4Kxu06Gv5N9eBJTQd7Errn-H-NRPO0EWHrDlZQvpzYaH0g-_7_0.mp4?a=yahootv&b=10290&flags=marker_ar2&ib=sapi&m=video%2fmp4&mr=0&ns=c+i+ci+cii+ps+flags&ps=152c8t1c7mrjh&vid=a63e8d9d-1c1a-3ae4-a611-924409a8f0a5&x=1485129599&s=444e311aa9babdcb4b28f15bd2c4864b'
[download] Destination: 'The Man in the High Castle' Comic-Con Trailer-a63e8d9d-1c1a-3ae4-a611-924409a8f0a5.mp4
[download] 100% of 13.54MiB in 00:03


Proposal: TabView should have a mode for locking tab dragging within the tab row

Proposal: TabView should have a mode for locking tab dragging within the tab row
Summary
This is a proposal based on https://github.com/microsoft/terminal/issues/3734

I find it confusing from the point of user experience that tab reordering is visually implemented as regular drag and drop. It makes me feel that in addition to reordering I can:
a) detach a tab into its own window, like I'm used to do with web browser tabs;
b) drag a tab from one terminal window to other and thus move the tab between windows (again, like in web browsers);
c) and some users may even expect that they can drop a tab into some other app (e.g. embed it into a word document).
My opinion on this is unless implementing features mentioned above is on the roadmap, tab reordering should not allow dragging a tab outside of the tab panel. Instead, the tab being moved should slide within the tab row. A good example is how the tabs are visually sliding during reordering in MS Edge (Chromium version).

We should add a setting to the TabView that enables drag reordering of tabs, but only within the tab row itself. For applications that don't support tab tear-out, but do want to support tab reordering, this would possibly be a more intuitive experiences.
Right now, we're creating our TabView the following way:
    <mux:TabView x:Name="TabView"
                 VerticalAlignment="Bottom"
                 HorizontalContentAlignment="Stretch"
                 IsAddTabButtonVisible="false"
                 TabWidthMode="SizeToContent"
                 CanReorderTabs="True"
                 CanDragTabs="True"
                 AllowDropTabs="True">

I would have imagined that CanReorderTabs="True", CanDragTabs="False", AllowDropTabs="False", or some other combination of those properties would have resulted in the behavior we're looking for.

We'd like to see this behavior for Files as well.


Bump upload-artifact and download-artifact version to v3

The failure error for Action #291 indicates that GitHub has completely deprecated the v1 and v2 versions of upload-artifact and download-artifact.
This pull request bumps their versions to v3 to workaround failures.

The failure error for Action #291 indicates that GitHub has completely deprecated the v1 and v2 versions of upload-artifact and download-artifact. This pull request bumps their versions to v3 to workaround failures.

Additionally, perhaps we should fork these repository with the currently available version to prevent the problems caused by the deprecation of these actions.

Additionally, perhaps we should fork these repository with the currently available version to prevent the problems caused by the deprecation of these actions.

I think, as long as these sorts of breaking changes are not too frequent, it's probably better to stay up to date with the upstream actions, since they probably make security and performance improvements over time.
By the way, do you know if there is a way to subscribe to notifications about failed workflows? I'd like to learn about failures when they occur.

Additionally, perhaps we should fork these repository with the currently available version to prevent the problems caused by the deprecation of these actions.

I think, as long as these sorts of breaking changes are not too frequent, it's probably better to stay up to date with the upstream actions, since they probably make security and performance improvements over time.
By the way, do you know if there is a way to subscribe to notifications about failed workflows? I'd like to learn about failures when they occur.

Yes, staying up to date is best, but I found that once we upgrade to v4, it won’t run on version 18.04 due to the glibc version issue, unless we consider dropping support for 18.04 just like VSCode.
You can see the full logs of my actions failures in My fork's Build release binaries #23
The key errors are as follows:
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

Regarding subscribing to notifications for workflow failures, to my knowledge, it might be in the Notifications page under the repo settings, you can have a try.

I manually triggered a snapshot release, seems to be working now: https://github.com/clangd/clangd/releases/tag/snapshot_20240913 -- thanks again!

I found that once we upgrade to v4, it won’t run on version 18.04 due to the glibc version issue, unless we consider dropping support for 18.04 just like VSCode.
You can see the full logs of my actions failures in My fork's Build release binaries #23 The key errors are as follows:
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

Ok, let's re-evaluate if/when v3 is deprecated. If at that time we still want to keep the 18.04 support, we can fork the v3 action to keep it working.


callback query repeated problem

I've this code
var TelegramBot = require('node-telegram-bot-api');
moment = require('moment');
_ = require("underscore");
var bot = new TelegramBot("xxxxxxxxxxxxxxx", { polling: true });

bot.onText(/\/assenti/, function (msg) {
    bot.sendMessage(msg.chat.id, "Scegli il giorno", {
        reply_markup: {
            inline_keyboard: [[{
                text: "Oggi",
                callback_data: "0",
            }, {
                    text: "Domani",
                    callback_data: "1",
                }]],
        },
    });
    bot.on("callback_query", function (callbackQuery) {
            // 'callbackQuery' is of type CallbackQuery
            console.log(callbackQuery);
              bot.editMessageText(t, { chat_id: callbackQuery.message.chat.id, message_id: callbackQuery.message.message_id });

        })
    });
});

the problem is that when I call the command /assenti the second ot third time etc... the reply occours 2, 3 ... times
can you help me?
thanks
lenny

You are calling bot.on() everytime the regexp callback (the onText() callback) is invoked! This means that each and every single time, you are adding a new listener for "callback_query"! Your logic is flawed!

@GochoMugo so tell us a logic that is not flawed!!!
not only say that "it`s flawed",then if we knew that we never asked it!
thanks

Estou com o mesmo problema, alguém pode ajudar?

You were answered in the second post, subscribe to callback_query 1 time and nothing will be duplicated


[WIP][RFC] Add initial Travis CI support

Signed-off-by: Tim Orling<EMAIL_ADDRESS>

Close and re-open to try to trigger a Travis CI build.

NOTE: The build fails and Travis CI doesn't catch it. The make command exits with 0 so Travis thinks "All is well. Carry on."

Is this valid anymore?

Superseded.


Create missing config.xml

Questions
Answers

Description?
Add missing config file.

Type?
bug fix / improvement / new feature / refacto / critical

BC breaks?
yes / no

Deprecations?
yes / no

Fixed ticket?
Fixes PrestaShop/Prestashop#{issue number here}.

How to test?
Please indicate how to best verify that this PR is correct.

Ping @kpodemski for merge


[Autocompleter] Support a way to customise the search query

Hi,
(continuing from slack)
Autocompleter looks amazing, thankyou!
Just what we needed right now.
The ask:
We'd like way to customise the search query performed by auto completer.
Esentially, I don't want any of the logic done by EntitySearchUtil::addSearchClause(), and I want to supply my own query.
Background: we need to use PostgreSQL's FTS to query results, because:

we have large numbers of entities, so I don't want to use LIKE queries.
ability to get better more relevent results.

I don't need Autocompleter to support FTS fields, just a ability to plug in my own query.
Let me know if that's clear enough.
Thanks!

We might add a new method to https://github.com/symfony/ux/blob/2.x/src/Autocomplete/src/EntityAutocompleterInterface.php:
public function applySearch(QueryBuilder $queryBuilder, string $query, EntitySearchUtil $searchUtil, array $searchableProperties = null): QueryBuilder;

Normally this isn’t an interface users need to implement directly anyways. But if they did, and wanted to use the normal way of searching, they would:
public function applySearch(QueryBuilder $queryBuilder, string $query, EntitySearchUtil $searchUtil, array $searchableProperties = null): QueryBuilder
{
    return $searchUtil->addSearchClause($queryBuilder, $query, $this->getEntityClass(), $searchableProperties);
}

In the "normal world", we would add a new option to https://github.com/symfony/ux/blob/2.x/src/Autocomplete/src/Form/ParentEntityAutocompleteType.php called filter_query. If specified, than THAT would be used instead of calling the EntitySearchUtil. So, the https://github.com/symfony/ux/blob/2.x/src/Autocomplete/src/Form/WrappedEntityTypeAutocompleter.php would have logic to look for this and use it (or not use it) inside its applySearch() method.


build gradle: Failed to apply plugin [id 'gradlebuild.buildscan']

I try to build gradle from source for conda: https://github.com/bioconda/bioconda-recipes

download: https://github.com/gradle/gradle/archive/v5.3.1.tar.gz
extract & cd
call ./gradlew installAll -Pgradle_installPath=/tmp/BUILD_GRADLE

Expected Behavior

Build should succeeded
Current Behavior

Build fails with error message:

Build file '/home/conda/feedstock_root/build_artifacts/gradle_1569530617288/work/build.gradle.kts' line: 181

What went wrong:
Failed to apply plugin [id 'gradlebuild.buildscan']
Build scan custom link url cannot be null.

Context

I try to build gradle for conda-forge.
Steps to Reproduce

The strange thing is, that it works, when it is run before it was converted into a conda feedstock. https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=75803&view=logs
Hence, I think it is somehow related to the used build environment. But I have no idea how....
Can anyone give me a hint what the problem might be ?
Your Environment

Build process is started in a docker image (condaforge/linux-anvil-comp7:latest).
Log file can be found here: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=75657

The CI environment variable caused the problem.


password is stored in plaintext

+1 !
I tried to counter this issue in a PR to jira-connector : https://github.com/jenjinstudios/jira-connector/pull/6
The idea would be to use a Cookie Jar File (a simple JSON), so the password is only asked once (BTW, the input should be hidden) and then just a cookie is stored.

+1 as well. Storing the password in the keychain should be quite easy, I'll see if I can create a pull-request for that. Looks like there's a node package that does this and which is pretty easy to use ->
https://www.npmjs.com/package/keychain

What about just having a passcmd field in the JSON which executes a shell command to retrieve the password? For example, if you use pass, you could have "passcmd": "pass my-jira-password".


Replace homespun config.py with traitlets

Conversations with @andersy005 and @yuvipanda  this week surfaced the following items as high priority:

Developer experience: local instances are toilsome to start (too much custom config fiddling required). And more generally, there is too much divergence in how the various instance types (local, containerized local, Heroku) are started, adding friction to development cycle.
#150

These two items are actually related. A remaining blocker for #150 is a method for inspecting retrieved logs for leaked secrets. To do so, we will want to know what secrets are potentially in the logs, so we can check for them specifically. An overly-complex approach to this is in the existing PR. This is a sufficiently awkward bit of code, that I think it's better to address the root issue (a more manageable application config), before circling back to #150.
A traitlets-based config will resolve the developer experience challenges in the same manner as it does for binderhub (thanks to Yuvi for this link). Just as jupyterhub can be run with
jupyterhub --config=jupyterhub_config.py
so too will the orchestrator API be runnable via a single command, with config for different instance types specified via a --config option pointing to a python config file. This should remove the need for separate entrypoints for local non-containerized instances (no entrypoint script currently exists for this), local containerized (i.e. test/dev) instances, and Heroku container stack (i.e. prod) instances. So switching between these instances should be as simple as:
$ pf-orchestrator --config=$INSTANCE_CONFIG_FILE

A secondary goal will be to make the bakeries config associated with each of these instances more easily accessible from within the application (for use cases such as needed for #150, as described above) and extensible, which will move us towards a solution to supersede #129. On this latter point, presumably the fact that pangeo-forge-runner uses traitlets means that configuring it from a traitlets application will be easier than it is now.
Yuvi helped me see that the callable to which pangeo-forge-runner commands are passed can and should be a customizable part of this config. Currently, all runner commands are passed to subprocess. If this becomes part of the config, each instance config can define the callable to which it wants runner commands passed. This will remain subprocess for local instances, but can be configured to be a docker sibling container for the eventual (post-Heroku) deployment which uses isolated containers for recipe parsing.
cc @rabernat

A more concrete example of making the way pangeo-forge-runner is called be generalizable via traitlets is how JupyterHub has a 'spawner' interface that allows it to run on so many places (locally, systemd, docker, HPC, kubernetes) without having internal knowledge of it all.
There's a base class Spawner (https://github.com/jupyterhub/jupyterhub/blob/5ea93add289f9905e4957f8a1a8d6d01ce5ab634/jupyterhub/spawner.py#L74) that is implemented by various subclasses:

LocalProcessSpawner, in the same package, that uses subprocess
KubeSpawner that talkt to kubernetes
DockerSpawner that talks to docker API

And so many more. This allows the core JupyterHub code to remain compact and not have to be tied into the details of individiual spawning systems, and makes local development much easier, as you can just use a local spawner and do rapid development there with minimal overhead.
Config can pick which spawner to use via a c.JupyterHub.spawner_class config, read like this. Note that JupyterHub does some convenience methods that allow specifying a value from entrypoint (so you can set it to kubespawner rather than kubespawner.KubeSpawner - the former is a short string specified in setup.py of kubespawner, latter is class name). We can just use a Type like in pangeo-forge-runner: https://github.com/pangeo-forge/pangeo-forge-runner/blob/480d238cbb334162a907a1c8d1da5a27c50ffc6f/pangeo_forge_runner/commands/bake.py#L42 and instantiate it like this: https://github.com/pangeo-forge/pangeo-forge-runner/blob/480d238cbb334162a907a1c8d1da5a27c50ffc6f/pangeo_forge_runner/commands/bake.py#L132

Perfect!! 🤩

Per @sharkinsspatial's reminder in today's coordination meeting, this config overhaul should also smooth the pathway to a more extensible/pluggable bakery config (both compute and storage targets). This is mentioned in passing in the initial comment above, but just wanted to emphasize it here so I remember. This would be realized through setting config on orchestrator which is passed through to pangeo-forge-runner by the Spawner subclass.


proposal: add "test" build constraint

I tried to reduce heap allocations of an function that read from net.Conn interface.
func doSth(c net.Conn) error {
	buf := make([]byte, 512)
	c.Read(buf)
        //(...)
	return nil
}

./main.go:11:13: make([]byte, 512) escapes to heap

The problem turned out to be the net.Conn interface. Calls to any interface methods causes heap allocation of buf.
So I changed the net.Conn to *net.TCPConn and buf was stack allocated.
./main.go:11:13: make([]byte, 512) does not escape

But then the test build was failing (because it used a mocked net.Conn interface)
I've got an idea to use type aliases to fix that compilation error.
I created two files:
conn.go:
//go:build !test
package main

type connT = *net.TCPConn

connTest.go:
//go:build test
package main

type connT = net.Conn

changed the definition of the function to:
func doSth(c connT) error {
	buf := make([]byte, 512)
	c.Read(buf)
        //(...)
	return nil
}

And then I realized that the build constraint "test" does not exist.
So now I have to explicit type the "test" tag to the go test command:
go test -tags test .

Instead of:
go test .

Proposal: add "test" build constraint that will become active while running go test.

Duplicate of #14668


ubx:Make it work with TX DMA

The sendMessage we fragmenting messages by doing in multiple writes.
in a DMA environment these writes might not be contiguous in time.
The GPS would therefore see a runt message and not reply to it.

Fixed in serial device driver


Turns API purely functional

This pull request addresses #9 and at the same time, makes sure the growth factor is differentiable

yeahh it works \o/


OpenTelemetry access logger support extension formatters

Commit Message: OpenTelemetry access logger support extension formatters
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue] #34374
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

And please add a change log. Thanks.

Thanks. LGTM. Please re-format the code by ./ci/do_ci.sh format.
/wait


Ignoring the Handle close statement if we're on Server 2012

Signed-off-by: John McCrae<EMAIL_ADDRESS>Description
Windows Server 2012 (NOT the R2 edition) is throwing these wildly erroneous errors about Windows handles being broken. In reviewing the code, we were/are doing 2 things that this edition of Windows doesn't like - 1) We're using Tempfile.new to create temporary files. The documentation attached to that method explicitly states to not use that method as it was left in for backwards compatibility. We are directed to use Tempfile.create instead. Using that method creates an actual file and removes the need to manage handles to files when we're done.  However that handle is a pseudo handle and calling a 'close' method on it is not necessary. Additionally, there is a notation in the code that once again explicitly states that calling this method on Windows creates errors messages.
This update simply causes the code not to close the pseudo-handle on Server 2012
But why has this been working and why does it continue to work for every other operating system?
Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

We will cherry-pick the change to handle.rb into a new branch a nd merge it to unblock the release pipeline. Work will continue in https://github.com/chef/chef/pull/13226/files on a longer-term fix to bring consistent usage to tempflle

Closing this as it was solved by a PR that Mark did https://github.com/chef/chef/pull/13228/files. That's a much better approach.