Example alternate option 245 implementation

Here is an example change that can be used if my continuing the example of option 249 is undesirable.
Added binhex entries for all the site-specific options to src/dhcpcd-definitions.conf so that site specific hooks can make use of them.
The entries were not added to the small definitions file because that seems neither useful nor small.

Thanks @lparkes, this change looks good to me. If Roy is on board with this approach I'll happily test it.

It might help if someone actually tags @rsmarples if a comment or review is expected.

It might help if someone actually tags @rsmarples if a comment or review is expected.

No need to tag me unless I take too long to reply :)
Lloyd is going to merge this and the other PR into one I hope with the comments I made in #284

Closed in deference to PR #299.


[wsl2] can't use ssh

in wsl2 when I use ssh to login a remote server, the connection closed immediately.
I change the distro to v1, the connection can establish.
when use git (with ssh-key) to push file to github,  it fail too. it says:
Received disconnect from <IP_ADDRESS> port 22:11: Bye Bye
Disconnected from <IP_ADDRESS> port 22
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

is also problematic because it brings down the whole ssh key exchange (and by extension git) edifice.

#4208

Might be #4199 related. But probably (?) not. There isn't enough in the OP to tell definitively. You can get that fatal for all manner of reasons. Above you are on the client side. Github doesn't care if your local IP address changed. On the other hand, you'd care a lot if Github's IP address kept changing and you couldn't do a DNS lookup on github.com.
Only way to tell conclusively would be set up your keys again and see if that fixes the problem. Which isn't really a WSL question, ever shifting client IP address or not. Not to diminish the other issue. [N.b. I retired from diving ssh problems a couple of years ago because ssh does work as advertised on both WSL1 and WSL2.]

because of this annoying bug, I decide not use the ssh client of wsl distro, but use OpenSSH in C:\WINDOWS\System32\OpenSSH. this do solve my problem.

because of this annoying bug

Well let's be clear - no. No bug has been identified here. But happy to hear you are unblocked.

not a bug? Is this a feature?
if this is a feature, why saying this:
In the initial builds of the WSL 2 preview, you will need to access any Linux server from Windows using the IP address of your Linux distro, and any Windows server from Linux using the IP address of your host machine. This is something that is temporary, and very high on our priority list to fix.

if this is a feature, why saying this:

Because that paragraph has nothing to do with your OP. Git push to github works in WSL2 regardless of whether "you will need to access any Linux server from Windows using the IP address of your Linux distro".

No bug has been identified here

The word "identified" is important here. That you cannot push to Github does not identify a bug. Indeed, the scope for bugs has shrunken considerably in WSL2 (vs. WSL1) because you'd have to conclude you found something new and novel wrong with either (a) Hyper-V or (b) the Linux kernel.
The reason for your "fatal: Could not read from remote repository" is, to be clear, neither of those things. Whatever the reason may be. And so the obv isn't lost: git push WSL2 to github works. That you've decided to use Windows OpenSSH instead, for whatever reasons, is fine also; that works too.
The cap below is superfluous. If "[wsl] can't use ssh" were a bug, you'd know from the screeching.

Thank you for let me know how to identify a bug in wsl.
It must be something wrong with the network that makes ssh can't connect remote server, but I don't have the time to solve it. So I open a issue to let you guys know someone trouble about this, and how to avoid this.
I'll try to solve this after wsl2 stable release, if it has the same problem.

Encountered the same issue at WSL2, but after digging further I have a workaround here.
Try to explicitly specify ciphers at /etc/ssh/ssh_config, or run ssh -oCiphers=your_ciphers username@domain. It works for me.

@CamberLoid Open a new issue might help since this one has been closed for a long time.

I just upgraded to WSL2 along with latest Windows 10, 2020 and I cannot ssh to any of our servers now.  I have to go to the cmd or powershell it's a bummer.  I was excited about WSL2.

I have to add ssh-add ~/.ssh/<name_of_private_key_file> to my .zshrc file for it to work. It seems like every session the keys have to be added again. That's the bug to me, I would expect to only have to do that once ever.

I have to add ssh-add ~/.ssh/<name_of_private_key_file> 2> /dev/null to my .zshrc file for it to work

That was mentioned in message with open issue landing zones #4711 #4199 #4210 (depending on one's disposition).

I can not use ssh in wsl2. I have to change it back to wsl 1.

I also encountered this issue in wsl2, its a annoying bug.

Just installed WSL2, and I also can't SSH to any of my servers. Rolling back to WSL1

I'm also facing this issue. Any fix since then?

same

Hi all, i've found the solution here
[(https://github.community/t/having-an-issue-pull-and-push-in-github/13198/2)]

create a file  called config in folder ~/.ssh
cd ~/.ssh
nano config
paste the following
Host github.com KexAlgorithms=ecdh-sha2-nistp521


Make SystemInfo a Resource

Objective
We already collect a lot of system information on startup when possible but we don't make this information available. With the upcoming work on a diagnostic overlay it would be useful to be able to display this information.
Solution
Make the already existing SystemInfo a Resource

Changelog
Added SystemInfo Resource

So, I added the FromWorld impl as suggested. I'm not sure how to handle the case where sysinfo is not supported though. right now we are kinda forced to always init the resource anyway so I created one that is just "Unknown" for everything. We could alternatively just not init it and hope that people querying it don't use a fallible way to access it. I think this solution reduces the chances of runtime panics at the cost of having "Unknown" show up in the overlay.
Another issue I'm really confused about with this is that the fps_overlay example now spawns it's UI in a different order because of my changes. It's as if it's based on timing of the startup time or something like that.

Here's the fix for the UI bug in the example https://github.com/bevyengine/bevy/pull/12586
I'm not entirely sure why this PR changes the spawn order but the fps_overlay ui code was wrong anyway so I don't want to look into it too much.

@IceSentry CI failures are real this time :)

Those cfg errors are really hard to detect locally 😅
Should be good now


Add authorizer log config.

We will be using ACLs/SSL in guts.  Would like to log access requests.

@johnbellone

@johnbellone

Can you make pull-request against upstream?


[SPIKE] Decide how to handle EJSCREEN areas of concern data pull request

From Lucas:
There’s a lingering PR from vincent based on a file we can’t put out publicly, we need to decide what to do with it. if we merged that code anyone who doesn’t have the file would have the score process fail when they run it.
The best approach is probably to just add a bunch of “if / else” logic to check if the file exists and load it if it does, so we can merge the code. but we need to think about it a lil bit and make a decision

We can take a similar approach as the census tract data and use secrets for now.


Reserved IP

Hi,
is it possible to always assign a reserved ip adress to specific devices to prevent ip switching over time?

support. A very useful function.

#23

I have put together a pull request for this functionality in #23.

HI!
This addon does not allow you to do this, but after a few hours of reverse-engineering the whole thing I found a way to work around it. Basically I am using code injection to add a line specifying mac->ip reservation. The IP needs to be in the "range" specified above. There can be multiple lines of "dhcp-host" added specifying multiple reservations. The hashtag at the last line is very important - do not remove it!!  Hope this helps :)
My config:
ssid: MyWifi
wpa_passphrase: password123
channel: '6'
address: <IP_ADDRESS>
netmask: <IP_ADDRESS>
broadcast: <IP_ADDRESS>
interface: wlan0
hide_ssid: '1'
dhcp: '1'
dhcp_start_addr: <IP_ADDRESS>
dhcp_end_addr: |-
  <IP_ADDRESS>,12h
  dhcp-host=12:34:56:78:90:AB,<IP_ADDRESS>
   #
allow_mac_addresses: []
deny_mac_addresses: []
debug: 0
hostapd_config_override: []
client_internet_access: '1'
client_dns_override: []

Hi, thank you. It looks like the update solved the issue! The dhcp_end_addr shenanigans are a left over from past versions, where dnsmasq_config_override did not exist. I will leave it like that since it looks cool :D. Anyways thanks again for your time!

Thanks @Dejv311. To confirm, you're talking about the issue on https://github.com/mattlongman/Hassio-Access-Point/issues/30?

Sorry, wrong thread, yes it works now :)

Adding dhcp-host=12:34:56:78:90:AB,<IP_ADDRESS> to dnsmasq_config_override is now the best way to do this.


Use REST api for prioritizing

Current dependencies on/for this PR:

main

PR #196   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: 🔄 Waiting for checks to pass
This pull request is currently waiting for CI and mergeability checks to pass before being merged.
This comment was auto-generated by Graphite.

Job Reference: 6l6zKpQF2WQh3fN3pWPj


Update firestore.indexes.json to use the correct index API format

While running though the codelab, uploading the index gives you 3 errors:
Error: Index must contain "collectionId"
Error: All index fields must contain "mode"
Error: HTTP Error: 400, Invalid JSON payload received. Unknown name "query_scope" at 'index': Cannot find field.
I've updated the file to the correct format.

Was on old version of firebase-tools


Test use_cudnn without cuDNN

The default value of use_cudnn is True.
When use_cudnn options is True, we expect that functions can be used without cuDNN.

Do we need to fix deconvolution_2d?

Thank you for your advice.
I fixed it.

OK, LGTM.


ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt on 548434715 for 7553daee7f960e787bad09896e34ca17392713c1
https://gitlab.com/MatrixAI/open-source/typescript-demo-lib-native/-/pipelines/548434715

Pipeline Succeeded on 548434715 for 7553daee7f960e787bad09896e34ca17392713c1
https://gitlab.com/MatrixAI/open-source/typescript-demo-lib-native/-/pipelines/548434715


Namespaced scope fails for stress-ng plugin

Describe the bug
When trying to use a namespaced scope with the stress-ng plugin (development branch, currently), the workflow will fail. The panic seems to randomly reference one of the sub-classes of the stressors one-of union in the input schema.
panic: Referenced object 'CpuStressorParams' not found in scope with namespace ""; available:
StressNGParams

goroutine 1 [running]:
go.flow.arcalot.io/pluginsdk/schema.(*RefSchema).ApplyScope(0x40005660c0, {0x182b030, 0x40002f4090}, {0x0, 0x0})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/pluginsdk@v0.11.1/schema/ref.go:121 +0x214
go.flow.arcalot.io/pluginsdk/schema.OneOfSchema[...].ApplyScope(0x18379c0, {0x182b030, 0x40002f4090}, {0x0, 0x0})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/pluginsdk@v0.11.1/schema/oneof.go:48 +0x98
go.flow.arcalot.io/pluginsdk/schema.AbstractListSchema[...].ApplyScope(...)
	/home/runner/go/pkg/mod/go.flow.arcalot.io/pluginsdk@v0.11.1/schema/list.go:85
go.flow.arcalot.io/pluginsdk/schema.(*PropertySchema).ApplyScope(...)
	/home/runner/go/pkg/mod/go.flow.arcalot.io/pluginsdk@v0.11.1/schema/property.go:126
go.flow.arcalot.io/pluginsdk/schema.(*ObjectSchema).ApplyScope(...)
	/home/runner/go/pkg/mod/go.flow.arcalot.io/pluginsdk@v0.11.1/schema/object.go:62
go.flow.arcalot.io/pluginsdk/schema.NewScopeSchema(0x40007eeb40, {0x0, 0x0, 0x2a?})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/pluginsdk@v0.11.1/schema/scope.go:36 +0x234
go.flow.arcalot.io/engine/workflow.addScopesWithReferences(0x4000655200?, {0x182b030?, 0x40007a5aa0}, {0x4000382bd0, 0x2a})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/workflow/executor.go:394 +0x18c
go.flow.arcalot.io/engine/workflow.addInputNamespacedScopes(0x40003f42d0?, {{{0x1538390, 0x7}, {0x1548700, 0x15}, {0x153a103, 0x9}, {0x15390f7, 0x8}, 0x40003417d0, ...}, ...}, ...)
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/workflow/executor.go:376 +0x1a0
go.flow.arcalot.io/engine/workflow.applyLifecycleScopes(0x4000567b40?, {0x182b030, 0x400000c930})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/workflow/executor.go:326 +0x1f4
go.flow.arcalot.io/engine/workflow.(*executor).Prepare(0x4000567b40, 0x40000ff8b0, 0x40005afe30)
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/workflow/executor.go:124 +0x1e4
go.flow.arcalot.io/engine.workflowEngine.Parse({{0x1821ea0, 0x40004d70b0}, {0x1820690, 0x400058ff10}, 0x4000110660}, {0x1823c50, 0x40007a4558}, {0x1538cc7?, 0x400054daf8?})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/engine.go:121 +0x28c
main.runWorkflow({0x180c098, 0x40004d78c0}, {0x1823c50, 0x40007a4558}, {0x1538cc7, 0x8}, {0x1821ea0?, 0x40004d7020}, {0x4000048e00, 0x6f8, ...})
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/cmd/arcaflow/main.go:204 +0x18c
main.main()
	/home/runner/go/pkg/mod/go.flow.arcalot.io/engine@v0.16.0-beta1/cmd/arcaflow/main.go:190 +0xb48

To reproduce
The workflow here can be used to reproduce the problem: https://gitlab.com/redhat/edge/tests/perfscale/arcaflow-workflow-sysbench/-/blob/nightly-tests-stressng/stressng-workflow.yaml?ref_type=heads
Test with just the sub-workflow, un-commenting the namespace parameter for $.inputs.StressngWorkflowInput.stressng_params:
arcaflow -config config.yaml -input sample-input-stressng-cpu.yaml -context . -workflow stressng-workflow.yaml

Additional context
The stress-ng plugin includes a one-of union of other classes with discriminators.
https://github.com/arcalot/arcaflow-plugin-stressng/blob/ebe8b964b3c8e3d37228585b09b27af0584f9778/arcaflow_plugin_stressng/stressng_schema.py#L551-L603
I'm not positive this is the source of the problem, but it seems suspect.

I switched it to use the namespace, and it just worked. I removed all of the now-unnecessary objects from the workflow.
Did you need any of those objects redefined for default overrides? The workflow still has the ones that have comments saying that they were retained for default values.
version: v0.2.0
input:
  root: StressngWorkflowInput
  objects:
    PcpInputParams:
      # Not using namespaced scope because the workflow schema is customized
      id: PcpInputParams
      properties:
        flatten:
          display:
            description: Processes the metrics first into a two-dimensional format
              via the pcp2csv converter, and then converts the CSV to JSON, effectively
              flattening the data structure. This is useful when indexing metrics
              to a service like Elasticsearch.
            name: flatten JSON structure
          required: false
          type:
            type_id: bool
          default: true
        pmlogger_interval:
          display:
            description: The logger collection interval for PCP pmlogger
            name: PCP pmlogger collection interval
          type:
            type_id: float
          required: false
          default: 0.5
        pmlogger_metrics:
          display:
            description: The pmrep-compatible metrics values to report as a space-separated string.
            name: pmlogger metrics to report
          type:
            type_id: string
          required: false
          default: kernel.uname, hinv.ncpu, mem.physmem, disk.dev.scheduler, kernel.cpu.util.user, kernel.cpu.util.nice, kernel.cpu.util.sys, kernel.cpu.util.wait, kernel.cpu.util.steal, kernel.cpu.util.idle, kernel.percpu.cpu.vuser, kernel.percpu.cpu.nice, kernel.percpu.cpu.sys, kernel.percpu.cpu.wait, kernel.percpu.cpu.steal, kernel.percpu.cpu.idle, disk.all.total, disk.all.read, disk.all.write, disk.all.blkread, disk.all.blkwrite, mem.freemem, mem.util.available, mem.util.used, mem.util.bufmem, mem.util.cached, mem.util.active, mem.util.inactive, mem.util.dirty, swap.in, swap.pagesin, swap.out, swap.pagesout, network.interface.in.packets, network.interface.out.packets, network.interface.in.bytes, network.interface.out.bytes
    StressngWorkflowInput:
      id: StressngWorkflowInput
      properties:
        pcp_params:
          # Not using namespaced scope because the workflow schema has defaults defined
          display:
            description: The parameters for the PCP workload
            name: PCP parameters
          type:
            type_id: ref
            id: PcpInputParams
        stressng_params:
          display:
            description: The parameters for the stressng workload
            name: stressng parameters
          type:
            type_id: ref
            id: StressNGParams
            namespace: $.steps.stressng.starting.inputs.input
          required: true

steps:
  uuidgen:
    plugin:
      deployment_type: image
      src: quay.io/arcalot/arcaflow-plugin-utilities:0.5.1
    step: uuid
    input: {}
  pcp:
    plugin:
      deployment_type: image
      src: quay.io/arcalot/arcaflow-plugin-pcp:0.9.0
    step: start-pcp
    deploy:
      deployer_name: podman
      deployment:
        host:
          NetworkMode: host
          Binds:
            - /etc/system-release:/etc/system-release
    input: !expr $.input.pcp_params
    stop_if: !expr $.steps.post_wait.outputs.success
  pre_wait:
    plugin:
      deployment_type: image
      src: quay.io/arcalot/arcaflow-plugin-test-impl-go:0.4.1
    step: wait
    input:
      wait_time_ms: 10000
    wait_for: !expr $.steps.pcp.starting.started
  stressng:
    plugin:
      deployment_type: image
      src: quay.io/arcalot/arcaflow-plugin-stressng:simplify-schema_ebe8b96
    step: workload
    input: !expr $.input.stressng_params
    wait_for: !expr $.steps.pre_wait.outputs.success
  post_wait:
    plugin:
      deployment_type: image
      src: quay.io/arcalot/arcaflow-plugin-test-impl-go:0.4.1
    step: wait
    input:
      wait_time_ms: 10000
    wait_for: !expr $.steps.stressng.outputs.success

outputs:
  success:
    sample_uuid: !expr $.steps.uuidgen.outputs.success.uuid
    test_results: !expr $.steps.stressng.outputs.success
    pcp_time_series: !expr $.steps.pcp.outputs.success.pcp_output

I don't need any parameters re-defined for stressing, no. So this begs the question of what's different between your environment and mine. What engine version did you achieve this with? And did you run on MacOS?

It looks like I over-simplified the reproducer. When I tested again with just the stressng-workflow.yaml directly, it worked correctly for me, as well. However, when running this using the parent workflow.yaml, I encounter the error reported when the stressng-workflow.yaml is configured to use the namespace from the plugin.
Testing with the parent workflow, you will probably want to disable the horreum-related step and output, and you may want to adjust the sample input file for a single stress-ng test and short timeout value.


fix typo in tutorial-prepare-azure.md

@ankitaduttaMSFT
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Update categories section

Some domains added, especially in firebase.txt.

This is honestly amazing, thank you so much!


replace home ui to new ui

Is your feature request related to a problem? Please describe.
replace our home UI to #161

Hasn't she made the changes directly!
So we have to just replace the code? @harsh-9in

we have template we have to integrate into this. So we have to replace the code and make sure all the links and features are working properly.
Do you want to work on this issue?

I would like to work on this issue @harsh-9in

Go ahead @Akshi149 👍

@harsh-9in the UI is of community_extended page not home page

Okk. Let me first get the home page 😀

actually the home page is already modified but he forgot to change Header, footer and color

@harsh-9in should I change the Header, Footer, and change the UI as of #161 (excluding the portion that contains Technology and the sidebar)?

Can I work on this issue?

Can I work on this issue?

checkout issue #209


Fixed edit membership page

The deeper bug is that the "routes" table is not shared in app and tests.  That's a bigger refactor.  I'll file a separate Asana task for that.

Coverage decreased (-0.008%) to 94.599% when pulling be8f5154242546ad0b79d0e3db6f9aad83771bbd on cody-fix-edit-membership-page into b045a89d18182b2d722f84abcb15b6753e01a52f on main.


Error while shrinking a cluster

Hello,
I have a cluster in Elasticache and encountered this error while scaling it down: "redis client is closing or unable to connect redis"
This is the way I am connecting:
client, _ := rueidis.NewClient(rueidis.ClientOption{
		InitAddress: []string{"clustercfg.xxxxx.yyyyy.use1.cache.amazonaws.com:6379"},
		TLSConfig: &tls.Config{
			MinVersion: tls.VersionTLS12,
		},
		MaxFlushDelay: 0,
		Username:      "user",
		Password:      "pass",
		DisableCache:     true,
		ConnWriteTimeout: 2 * time.Second,
		DisableRetry:     false,
	})

client.Do(ctx, client.B().Setex().Key("key").Seconds(120).Value("value").Build()).Error()

I am also seeing these errors when adding a new node, after a while (long), the client stops experiencing errors, the weird thing is that not all requests end in error, but many of them do.
Do I need any additional configuration? Am I doing something wrong? Thank you.

Hi @arielzach,
One thing to mention is that you should not ignore the error returned from rueidis.NewClient. Besides that, your configuration looks good to me.
rueidis uses CLUSTER SLOTS to consult key slot ownerships. From my personal experience, Elasticache really takes a long time, maybe longer than 5 minutes, to return an updated to-date CLUSTER SLOTS response.
I am afraid what you experienced was expected behavior: Elasticache respond with staled CLUSTER SLOTS responses for a long time and led rueidis to connect to an old redis node.

Thank you for the response. We have conducted tests with go-redis, and this issue does not occur (it is transparent). Is it possible to handle it in the same way? We do not want to use go-redis due to a bug that generates multiple new connections, which affects the cluster. Rueidis has worked well in the tests we have conducted. For example, Lettuce (Java) allows filtering of nodes that are not responding correctly. Is it possible to add this functionality or deal with this problem in a better way?

Hi @arielzach,
I have just also conducted a small test with ElastiCache with the below configuration:

and with the following program:
package main

import (
	"context"
	"log"
	"strconv"
	"time"

	"github.com/rueian/rueidis"
)

func main() {
	c, err := rueidis.NewClient(rueidis.ClientOption{
		InitAddress: []string{"test1.qybrkz.clustercfg.apne1.cache.amazonaws.com:6379"},
	})
	if err != nil {
		panic(err)
	}
	defer c.Close()

	do := func(i int) error {
		ctx, cancel := context.WithTimeout(context.Background(), time.Second)
		defer cancel()
		return c.Do(ctx, c.B().Set().Key(strconv.Itoa(i)).Value(strconv.Itoa(i)).Build()).Error()
	}

	for i := 0; true; i++ {
		if err := do(i); err != nil {
			log.Printf("SET %d FAIL %v\n", i, err)
			continue
		}
		if i%1000 == 0 {
			log.Printf("SET %d SUCC\n", i)
		}
	}
}

During my test on the Add shards and Remove shards operations,

The above program didn't log out any error.
So I think I may need more details for further investigation. Would you mind providing instructions and code to reproduce your experiments? I am also considering releasing a debug build that will log out internal actions and errors of a cluster client if you are willing to provide those logs.

Hi @arielzach,
I just published v1.0.0 release and it will delay connection cleanup a little bit, instead of immediately, after finding those IP addresses are missing from CLUSTER SLOTS responses. I think it may reduce the number of client is closing or unable to connect redis you saw. Would you like to try it?

Hello, this is the code I used for testing:
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"math/rand"
	"strings"
	"time"

	"github.com/rueian/rueidis"
)

func main() {
	ctx := context.Background()
	client := getRueidisClient()

	go control(ctx, client)
	for i := 1; i <= 18; i++ {
		go set(ctx, client)
	}

	time.Sleep(6 * time.Hour)
}

func getRueidisClient() rueidis.Client {
	client, _ := rueidis.NewClient(rueidis.ClientOption{
		InitAddress: []string{"clustercfg.test1.pxoqnz.use1.cache.amazonaws.com:6379"},
		TLSConfig: &tls.Config{
			MinVersion: tls.VersionTLS12,
		},
		MaxFlushDelay:    0 * time.Microsecond,
		Username:         "user",
		Password:         "pass",
		DisableCache:     true,
		ConnWriteTimeout: 2 * time.Second,
		DisableRetry:     false,
	})

	return client
}

func set(ctx context.Context, client rueidis.Client) {
	for {
		key := randString(10)
		value := randString(10)

		err := client.Do(ctx, client.B().Setex().Key(fmt.Sprintf("test1:%s", key)).Seconds(120).Value(value).Build()).Error()
		if err != nil {
			println("ERROR:", err.Error())
			time.Sleep(time.Second)
		}
	}
}

func control(ctx context.Context, client rueidis.Client) {
	for {
		c, _ := client.Do(ctx, client.B().Dbsize().Build()).AsInt64()
		println("dbsize", c)
		time.Sleep(time.Second)
	}

}
func randString(n int) string {
	var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")

	b := make([]rune, n)
	for i := range b {
		b[i] = letters[rand.Intn(len(letters))]
	}

	return strings.TrimSpace(string(b))
}

The throughput was greater than 1M rpm and the cache CPU never exceeded 60%. I ran the tests from a c5.xlarge instance.
I haven't been able to run tests with the code you gave me or with version v1.0.0 yet, but I'll send you updates as soon as I have them (either today or tomorrow).

Hi @arielzach, I will try your code again as soon as possible. Also, note that rueidis v1.0.0 was released under redis, and you will need to change its import path.

Hi @rueian
I've been testing your code and my code, and everything worked correctly with version v1.0.0. I tested adding/removing shards and failover, which had a small downtime, but that is expected.
Thank you very much for the help.

Hi @arielzach,
Glad to hear that. I have also tested your code with v1.0.0. It looked good on my side as well.


Merge latest release

Redid project to be a self-contained solution

TBB dependency is handled by vcpkg

Renamed and adjusted UnequipAllCrash to NullProcessCrash
Added TorchLandscape fix
Simplified config

i lost some stuff during the rebase


Create more row in Carousel

Is this possible to create more than 1 row in carousel ? Do you have any suggestion?
Example

When press next button move to next 4 image

This feature is not yet supported, but soon this should be implemented.

Follow #1049


Lock-Twitter fails to build after updating Lock to v1.27

Just updated from version 1.26.2 to 1.27; pertinent pod logs:

Installing Lock 1.27.0 (was 1.26.2)
Using Lock-Facebook (2.2.1)
Using Lock-Twitter (1.2.0)
Installing CocoaLumberjack 2.4.0 (was 2.3.0)

After updating Lock, Lock-Twitter no longer builds (in XCode 8.0), specifically at A0TwitterAuthenticator.m:58.

Unknown type name 'AUTH0_DYNAMIC_LOGGER_METHODS'

Indeed, under 1.26.2, it looks like this was set in <Lock/A0Logging.h>, but is not under 1.27.

@Jiropole will update that library since we stopped relying on a logging library and didn't update Lock-Twitter.

Well, I just tried again, updating again to lock 1.27.1, and ran into the same –exact– problem again (see original post).
Unfortunately, looks like I'll be restoring back to the last magic combination of versions I got working (Lock 1.26.2, CocoaLumberjack 2.3.0, Lock-Facebook 2.2.1, Lock-Twitter 1.2.0).
I guess it's not a big deal until I'm starting to miss out on new features, but it's a bit frustrating to have to micromanage my podfile for the Lock-related pods.

I ran into this issue as well, per:  https://auth0.com/forum/t/issue-with-ios-quick-start-lock-twitter-1-1/3975
Commenting it out in A0TwitterAuthenticator.m fixes it but the real fix will be controlled by the authors, and a downstream cocoapod update.


multiple rancher clients

Purpose:

To enable testing more than a single Rancher instance at a time. This is needed to finally automate away the manual checks we do with Hosted/Tenant Rancher.

LGTM, I really like this idea. I do have one question: for your hosted/tenant testing you won't need the qase reporter to report to two different qase test runs right?

Could we discuss this at one of the weekly design meeting?
I think I am out of context for this case, but is there a reason why it's not happening at the test level but at the client level?
So NewClient as it is accepts a bearerToken, so theoretically speaking, wouldn't this do the same thing?
a new config:
hostTenantTestConfig:
    tenant: bearertoken
    tenantHost: myhost.com

In the test:
hostClient := rancher.NewClient()

LoadAndUpdateConfig(tenantHost - for myhost.com)

tenantClient := rancher.NewClient(hostTenantTestConfig.tenant)

Couple things that I am curious about with this design:

Currently it's per bearer token per client (as it accepts the param and if empty then checks the configuration file), but after the change, only the initial client will have this ability altough there can be multiple clients
If the recursive configuration is picked, does NewClient need a change? Would a loop in RancherClients that instantiates NewClient for each recursive configuration be enough?

There's also a discussion about decoupling client from the configuration file and allowing accepting the configuration object to instantiate a client, which would eliminate the example's second step too

LGTM, I really like this idea. I do have one question: for your hosted/tenant testing you won't need the qase reporter to report to two different qase test runs right?

No, I won't. A test case checking a host/tenant issue would be reported as a single test scenario, in Qase.

This looks good, have you tested it Andrew?

Thanks @igomez06! Yeah I've tested and posted the results in our internal communication

There's a potential conflict with this PR: https://github.com/rancher/shepherd/pull/296
Let's chat about which one goes first in the design meeting.
I think it looks good definitely fixing my recursive comment. My only comment is in the config, just because it's a slice, I want to learn more about how we identify which client is what


YDM Compatibility

The weapon rendered weirdly with YDM Weapon Master

Can't be fixed because the source code of YDM Weapon Master required to fix the bug cannot be accessed. I may come back to this issue once the source code goes public.


Add offline sessions to the conversion script

review after #11
Fix conversion scripts to work with offline sessions as well

Can you merge main back into this so I can see the true diff? It looks like there are some changes still here even if #11 was merged.


Added transfer format to Protocol.Abstractions

For transports that let to choose the mode (binary or text) and ones that only support either (like server sent events only supports text).

To clarify the behavior here (might actually be worth a doc comment I guess?). The absence of this feature indicates that the transport supports any data you want and doesn't care what format you're using (i.e. a raw TCP-based transport like Kestrel's transports would never need to set this feature). The only purposes of the feature are: to allow the transport to constrain the type data it's allowed to transfer (i.e. Server-Sent Events only supports text), and/or for the transport to request that the application inform it what kind of data it is sending (to allow the WebSockets transport to select an appropriate frame type)

All of the features need doc comments. I’ll do it all at once and we can debate them meanings of life on that PR

I mean, that was more for @halter73 who I thought you were also asking to review this ;)

I only have a vague idea of what this is all about. I figure you have more context about what's required for an SSE transport or whatever.


Stops the first Trade Perk pairs from breaking comparison colors

Due to some wrong code either of the first Trade Perks broke the red/green coloring of stats when comparing two different items. That's now fixed.

Shouldn't it be enough to just change
if (MobileParty.MainParty != null && (MobileParty.MainParty.HasPerk(DefaultPerks.Trade.WholeSeller) || MobileParty.MainParty.HasPerk(DefaultPerks.Trade.Appraiser)))
{
    return Colors.Black;
}

to
if (MobileParty.MainParty != null && !(MobileParty.MainParty.HasPerk(DefaultPerks.Trade.WholeSeller) || MobileParty.MainParty.HasPerk(DefaultPerks.Trade.Appraiser))
{
    return Colors.Black;
}

Aka !(a || b)

Shouldn't it be enough to just change
if (MobileParty.MainParty != null && (MobileParty.MainParty.HasPerk(DefaultPerks.Trade.WholeSeller) || MobileParty.MainParty.HasPerk(DefaultPerks.Trade.Appraiser)))
{
    return Colors.Black;
}

to
if (MobileParty.MainParty != null && !(MobileParty.MainParty.HasPerk(DefaultPerks.Trade.WholeSeller) || MobileParty.MainParty.HasPerk(DefaultPerks.Trade.Appraiser)))
{
    return Colors.Black;
}

Aka !(a || b)

No, because that function is used for equipment stat comparison as well, not just price differences. Your way would disable equipement stat comparison highlighting until people would take take one of the trade perks.


[fix][test] Fix flaky test RawReaderTest

Don't merge
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Codecov Report

Merging #21032 (2618d2c) into master (0cb1c78) will increase coverage by 3.33%.
Report is 4 commits behind head on master.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master   #21032      +/-   ##
============================================
+ Coverage     33.56%   36.90%   +3.33%
+ Complexity    12198      347   -11851
============================================
  Files          1621     1698      +77
  Lines        126970   129893    +2923
  Branches      13857    14167     +310
============================================
+ Hits          42618    47932    +5314
+ Misses        78748    75645    -3103
- Partials       5604     6316     +712

Flag
Coverage Δ

inttests
24.29% <66.66%> (+0.05%)
:arrow_up:

systests
25.17% <66.66%> (?)

unittests
32.13% <100.00%> (+0.03%)
:arrow_up:

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

Files Changed
Coverage Δ

...a/org/apache/pulsar/client/impl/RawReaderImpl.java
82.85% <100.00%> (+0.16%)
:arrow_up:

...va/org/apache/pulsar/client/impl/ConsumerImpl.java
55.25% <100.00%> (+0.19%)
:arrow_up:

... and 406 files with indirect coverage changes

@Technoboy- Can you help create a PR to cherry-pick this change to branch-2.11?


Refactor SaveEditor to accept installation_path and save_folder_name

Known facts:

Default installation path for windows is C:\\Program Files (x86)\\Steam\\steamapps\\common\\SlayTheSpire
The save folder in which the save file is contained is named saves

and then considering these possibilities:

Game installation path may be customized on user's behalf, so the default installation path wont always work
Future version of the game might change/rename the saves folder inside the game installation, in this case if it happen then this package will break

I would like to separate the installation_path and the save_folder_name inside our SaveEditor, both with currenlty working value as the default value, but entirely customizable as needed.
Example 1: Windows user with default installation
from spireslayer.save_editor import SaveEditor

# this should work out of the box without any configuration needed
save_editor = SaveEditor()

Example 2: Windows user (or Linux user, for example) with custom installation path
from spireslayer.save_editor import SaveEditor

# installation_path can be configured as needed
save_editor = SaveEditor(
    installation_path="D:\\MyGames\\SlayTheSpire",
)

# or
save_editor = SaveEditor(
    installation_path="/home/rahmat/.steam/debian-installation/steamapps/common/SlayTheSpire",
)

Example 3: Custom save folder name
from spireslayer.save_editor import SaveEditor

# case that probably will never happen (e.g. due to version change)
# but if it happened then only small change from the user is needed instead of bumping the package version
save_editor = SaveEditor(
    save_folder_name="savestates",
)

Note that this PR reverts the default value back to C:\\Program Files (x86)\\Steam\\steamapps\\common\\SlayTheSpire (cc @gabrekt , just want to let you know that I'm reverting this)


Provide Zone and Regional Resiliency Guidance

Description
We are directing our customers to build more resilient Azure deployments.  See: Recommendations for using availability zones and regions.
The Accelerator Azure architecture should provide built in zone resiliency and provide options for regional resiliency.  Customers should also be aware of GitHub and Azure DevOps resiliency options.
Customers should be able to deploy if there is a zone outage, and if they have selected regional resiliency, know that they  can still deploy if there is a regional outage.
Describe the solution you'd like

All Azure services should have zone redundancy.
The accelerator should support regional redundancy, and options should be documented.
Any resiliency limitations in GitHub and Azure DevOps should be understood and best practices documented.
Pipeline and ALZ should be tested for zonal and regional failures

Describe any alternatives you've considered

Additional context

Teams Community IM on this subject

Thanks for logging @terrymandin
For this issue we will focus on the ALZ Bicep & TF accelerators (https://aka.ms/alz/accelerator/blog) and how we need to enhance, adjust and guide customers on how to handle their CI/CD setups to handle a regional/zonal outage.
However, we will not focus on the ALZ services and architecture itself, as @brsteph is working on this already as part of AB#30480 and @sebaseem has already looked at ALZ from a zonal redunadncy perspective under AB#27344 and we have stories to make some small changes as part of that feature too.
Let me know if that makes sense and you agree or not and then myself @oZakari, @matt-FFFFFF, @jaredfholgate & @luke-taylor can get together and discuss this further with the lens of the CI/CD accelerators and their tightly coupled resources (state file storage etc.)

Completed for ALZ-Bicep.

Availability zone examples and defaults are now published for Terraform. Regional guidance will come later.

Regional deployments for Bicep and Terraform are not available.


Export to Android 8.0: java.lang.IllegalArgumentException: Unknown package - during installation

Hi,
probably found some issue. I'm trying to export empty project and run on android device.
My setup:
Android 8.0.0
Ubuntu 16.04
Java 1.8.0_181
Android SDK 26
My editor was configured as described in docs adb, jarsigner and keystore. I was trying one click installation and manual installation but always the same. The installation process never ends itself.
Found in logs something like this:

jar verified. Warning: This jar contains signatures that does not include a timestamp. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2047-04-14) or after any future revocation date. Re-run with the -verbose and -certs options for more details. Uninstalling previous version: Honor LLD-L31 Exception occurred while executing: java.lang.IllegalArgumentException: Unknown package: org.godotengine.test at com.android.server.pm.Settings.isOrphaned(Settings.java:4580) at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:23318) at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:20042) at com.android.server.pm.HwPackageManagerService.deletePackageVersioned(HwPackageManagerService.java:5798) at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:913) at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:920) at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:136) at android.os.ShellCommand.exec(ShellCommand.java:96) at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:23624) at android.os.Binder.shellCommand(Binder.java:574) at android.os.Binder.onTransact(Binder.java:474) at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2652) at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3921) at com.android.server.pm.HwPackageManagerService.onTransact(HwPackageManagerService.java:943) at android.os.Binder.execTransact(Binder.java:675) Installing into device (please wait..): Honor LLD-L31

For Android 6.0.1 works as expected.
Best regards,
Adrian

I have same issue using device with android 8.0
Using one click deploy:
Exception occurred while executing: java.lang.IllegalArgumentException: Unknown package: org.godotengine.FantaAsta 	at com.android.server.pm.Settings.isOrphaned(Settings.java:4437) 	at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:21994) 	at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:19015) 	at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:918) 	at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:934) 	at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:135) 	at android.os.ShellCommand.exec(ShellCommand.java:96) 	at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:22293) 	at android.os.Binder.shellCommand(Binder.java:573) 	at android.os.Binder.onTransact(Binder.java:473) 	at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2654) 	at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3647) 	at android.os.Binder.execTransact(Binder.java:674) Installing to device (please wait...): Sony F5321 adb: failed to install /home/dario/.cache/godot/tmpexport.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed to parse /data/app/vmdl1442233067.tmp/base.apk: AndroidManifest.xml]
using adb
adb install -r myfile.apk
adb: failed to install org.godotengine.FantaAsta.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed to parse /data/app/vmdl20025429.tmp/base.apk: AndroidManifest.xml]

Well now I do have a recent enough device, so I'll try.

Couldn't reproduce the issue, I've exported various projects to Android 8 and Android 9 without problem.

Also had this Big, while trying to open an Android Studio Project at another PC.
Used at the Main PC Android Studio 3.4.1. And at the PC, where the Bug occurres 1.4.0.
Unknown failure: Exception occurred while executing:
java.lang.IllegalArgumentException: Unknown package: com.pokemon.projekt1
at com.android.server.pm.Settings.isOrphaned(Settings.java:4400)
at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:21529)
at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:18603)
at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:913)
at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:912)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:134)
at android.os.ShellCommand.exec(ShellCommand.java:96)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21828)
at android.os.Binder.shellCommand(Binder.java:573)
at android.os.Binder.onTransact(Binder.java:473)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2644)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3486)
at android.os.Binder.execTransact(Binder.java:674)
Error while Installing APKs

Just Invalidate caches and restart your project.
Go To-> File ->Invalidate Caches / Restart

This is not an error during "Export" action.
I got this error when click the fast deploy to Andriod Emulator...


Github organisation retrival bug

Hi,
When I want to edit a rancher environment, I get a display error when retrieving my Github organization. The error is : TypeError: e is undefined
Check the attached image :

@hibooboo2 can you take a look at this? This looks similar to #1354

@moimael We've recently added LDAP into Rancher as of v0.34.0, and changed the API for authentication to be more generic. I haven't been able to reproduce this issue. If you still have it, please re-open.


Fix framebuffer overrelease error due to async target counts for iOS

The frame buffers would not get updated due to the target counts being off from previous append calls.  This can be reproduced by synchronous calls to processImage.

Thanks for this @justingra

Thank you @justingra ! This fixes a sporadic issue that occurs when you create multiple images in succession with different filters using testImage.filterWithOperation() or testImage.filterWithPipeline() where you would sometimes get images from prior operations or even black images.

This solution is on the right track but does not fully fix the issue. See https://github.com/BradLarson/GPUImage2/pull/243 for a proper fix.


Added e2e tests for page.edited webhook

refs #15537

Adds an e2e test and test snapshot for the page.edited webhook

Got some code for us? Awesome 🎊!
Please include a description of your change & check your PR against this list, thanks!

[x] There's a clear use-case for this code change, explained below
[x] Commit message has a short title & references relevant issues
[x] The build will pass (run yarn test:all and yarn lint)

We appreciate your contribution!
Also, if you'd be interested in writing code like this for us more regularly, we're hiring:
https://careers.ghost.org

Thank you @naz! Also for the constructive feedback :)

Hi @shngt thank you so much for this PR. It has now been merged 🎉 and will appear in the next release of Ghost, which should be today.
I'm not sure if you found this through hacktoberfest, but I've added the hacktoberfest-accepted label to this PR to make sure it counts. We have plenty of open issues and ongoing projects for hacktoberfest and beyond. We would love to see you around again 👋


Problem getting started

Hi,
This looks awesome and I'd love getting it up and running.
Please tell me if I'm missing something.
I've compiled it using make under Linux. Everything checks out OK and I can properly discover my Tellsticknet on the network running the command python3 -m tellsticknet -vv discover
That's about it. I want to use it in conjunction with Home Assistanst using the mqtt option. However, I run into the following problems:

Using the provided example configuration, the command python3 -m tellsticknet -vv devices throws the following error:

18-08-22 23:45.09 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet_api/tellsticknet/tellsticknet.conf
18-08-22 23:45.09 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet_api/tellsticknet/.tellsticknet.conf
18-08-22 23:45.09 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet.conf
- Door
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/__main__.py", line 162, in <module>
    for e in (e for e in read_config() if e['class'] == 'command'):
  File "/home/homeassistant/tellsticknet_api/tellsticknet/__main__.py", line 162, in <genexpr>
    for e in (e for e in read_config() if e['class'] == 'command'):
KeyError: 'class'

Commenting out the class setting nor deleting it resolves the issue.
2. Trying to turn on a light (using the house and unit from telldus live), python3 -m tellsticknet -vv send protocol=arctech model=selflearning house=5092673 unit=1 cmd=turnon  throws the following error:
18-08-22 23:59.29 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet.conf
method not found

Doesn't matter if cmd=on, ON, turnon, turnoff etc. same result.

Trying to connect to a local mqtt broker using python3 -m tellsticknet -vv mqtt with .config/mosquitto_pub containing the following information:

-h localhost
-p 1883
-username test
-pw test

results in the following error:
18-08-23 00:07.58 DEBUG (MainThread) [tellsticknet.mqtt] Connecting
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/__main__.py", line 208, in <module>
    run(config, host=host)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/mqtt.py", line 574, in run
    port=int(credentials['port']))
  File "/usr/local/lib/python3.6/dist-packages/paho_mqtt-1.3.1-py3.6.egg/paho/mqtt/client.py", line 768, in connect
    return self.reconnect()
  File "/usr/local/lib/python3.6/dist-packages/paho_mqtt-1.3.1-py3.6.egg/paho/mqtt/client.py", line 927, in reconnect
    sock.do_handshake()
  File "/usr/lib/python3.6/ssl.py", line 1068, in do_handshake
    self._sslobj.do_handshake()
  File "/usr/lib/python3.6/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer

I can sucessfully publish to the mqtt broker using Node-red.
I'm suspecting that I'm missing something crucial here since you've got it running just fine.
Looking forward to your response.

Happy to hear you want to use my code, thanks for testing and finding bugs!

Is fixed here
I noticed that I actually never implemented specifying params on the command line this way. Clarified it now. If you have a valid config file you should be able to do tellsticknet send livingroom on, tellsticknet send kitchen dim 50, etc.
I believe this is because the code currently only supports connecting to the MQTT broker using SSL. I'm running my broker with SSL enabled on port 8883 and it works. So your options are to enable non-SSL in the client code (should not be to hard), or to enable SSL in your MQTT broker.

Thank you for the quick response! Are Nexa switches supported? Trying to turn on a Nexa switch using the device name throws an error about not finding "nexa.encode".
I can provide you a debug log when I get home.

Here is the log as promised:
18-08-23 20:35.09  INFO (MainThread) [tellsticknet.discovery] Discovering tellstick devices ...
18-08-23 20:35.09  INFO (MainThread) [tellsticknet.discovery] Found TellStickNet device with firmware 17 at <IP_ADDRESS>
18-08-23 20:35.09 DEBUG (MainThread) [tellsticknet.controller] creating controller with address <IP_ADDRESS> (ACCA5400218D)
18-08-23 20:35.09 DEBUG (SenderThread) [tellsticknet.controller] Waiting for command forever
18-08-23 20:35.09 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet_api/tellsticknet/tellsticknet.conf
18-08-23 20:35.09 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet_api/tellsticknet/.tellsticknet.conf
18-08-23 20:35.09 DEBUG (MainThread) [__main__] checking for config file /home/homeassistant/tellsticknet.conf
18-08-23 20:35.09 DEBUG (MainThread) [tellsticknet.controller] Sending time 1
18-08-23 20:35.09 DEBUG (MainThread) [tellsticknet.protocol] Encoding for protocol nexa
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/__main__.py", line 203, in <module>
    controller.execute(device, method, param=param)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/controller.py", line 135, in execute
    self._execute(device, method, param)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/controller.py", line 115, in _execute
    packet = encode(**device, method=method, param=param)
  File "/home/homeassistant/tellsticknet_api/tellsticknet/protocol.py", line 314, in encode
    return protocol.encode(**device)
AttributeError: module 'tellsticknet.protocols.nexa' has no attribute 'encode'

Should python3 -m tellsticknet -vv listen generate something more than this?
18-08-23 20:37.59  INFO (MainThread) [tellsticknet.discovery] Discovering tellstick devices ...
18-08-23 20:37.59  INFO (MainThread) [tellsticknet.discovery] Found TellStickNet device with firmware 17 at <IP_ADDRESS>
18-08-23 20:37.59 DEBUG (MainThread) [tellsticknet.controller] creating controller with address <IP_ADDRESS> (ACCA5400218D)
18-08-23 20:37.59 DEBUG (SenderThread) [tellsticknet.controller] Waiting for command forever
18-08-23 20:37.59 DEBUG (MainThread) [tellsticknet.controller] Listening for signals from <IP_ADDRESS>
18-08-23 20:37.59  INFO (MainThread) [tellsticknet.controller] Registering self as listener for device at <IP_ADDRESS>
18-08-23 20:37.59 DEBUG (MainThread) [tellsticknet.controller] Sending packet to controller <IP_ADDRESS>:42314 <b'B:reglistener'>

Have you specified protocol, model, house, unit in tellsticknet.conf?
Like:
controller: abc123
name: Sovrum
component: light
protocol: arctech
model: selflearning
unit: 15
house: 45213512
---
... etc

You can find out what parameters to use by starting tellsticknet -vv listen and then start pressing buttons on your Nexa controller. Then you should get decoded packets displayed in the console.

Great! I got it working with one of my Nexa switches. The one I got working is just a regular power outlet. I've got another Nexa device supposed to be mounted behind a regular wall switch which doesn't work. It's called "self-learning Pro" in Telldus live. Any idea?
Have you tried Jula's Anslut?
Sorry for all the questions. When I get the time I'll try to sniff out the packages sent from Telldus live to the Tellstick and compare them.

Ok, I ended up programming it myself using Node-red. Analysing the packages sent using tcpdump I found that Nexa Pro and Julia are the same and very similar to Nexa (built-in arctech). The Nexa (arctech) house code is 26 bits and Jula's/Nexa Pro are 26 bits and has to end in 10. Telldus live had a problem early on where Jula's Anslut wouldn't work if you didn't pick a house code which ended in 10(binary). It seems like if the house code doesn't end correctly it just zero pads it to 24 bits and adds 10 to the end of it, making it 26 bits.

Closing for now. Feel free to provide suggestions for changes as PRs.


Prefetch audio variants of a particular language for seamless audio switch.

Have you read the FAQ and checked for duplicate open issues?
Yes, there isn't something specific, though it builds on top of #4784.
Is your feature request related to a problem? Please describe.

I want to switch audio streams with a small a gap in playback as possible.
Describe the solution you'd like

Extend segment prefetch to also prefetch alternate audio streams.
Describe alternatives you've considered

Additional context

We had a requirement for seamless audio switch, and to enable that we extended the segment prefetch feature to be able to prefetch the segments of the alternate audio streams. Then, when we want to switch streams, we use the segment prefetch that's mapped to the specific audio stream.
To do this, we added the following options, one of which can also help reduce prefetched segments:

streaming.prefetchAudioLanguages: A list of languages that we match audio streams against for knowing whether we should prefetch that stream. i.e ['en', 'es', 'jp'] to English, Spanish, and Japanese audio languages. Or ['en'] if you had multiple different English language audio tracks.
disableVideoPrefetch: don't prefetch video segments.

More specific technical details: modify segment prefetch to not delete segments on get. Instead, it has an evict method which is given a time, and it removes segments before this time. This allows keeping the current segment prefetched so that if we switch to another audio stream and then back, we already have the segment available. Then in the streaming engine, we create a map between all the audio streams we care about and their associated segment prefetches and when the variant switches we grab the relevant segment prefetch from the map. In conjunction with setting rebufferingGoal to 0 or a very small number, the switches between audio streams can happen quickly enough that they aren't noticeable.
This work is already complete, and we'd like to contribute it upstream. We tried to make the options be generic, but there's definitely room to refine these if necessary.

More specific technical details: modify segment prefetch to not delete segments on get. Instead, it has an evict method which is given a time, and it removes segments before this time.

I agree to change the prefetch management. Please do a single PR with this change.

To do this, we added the following options, one of which can also help reduce prefetched segments:
* `streaming.prefetchAudioLanguages`: A list of languages that we match audio streams against for knowing whether we should prefetch that stream. i.e `['en', 'es', 'jp']` to English, Spanish, and Japanese audio languages. Or `['en']` if you had multiple different English language audio tracks.

* `disableVideoPrefetch`: don't prefetch video segments.

We currently use prefetch for Low Latency and will use it in Preload API.
So there must be the following options at least:
disableVideoPrefetch (default false)
disableAudioPrefetch (default false)
disableTextPrefetch (default false)
prefetchAudioLanguages (default[])
If disableAudioPrefetch is false, we ignore prefetchAudioLanguages. If disableAudioPrefetch is true, then we use prefetchAudioLanguages and only prefetch the specified audios.
If you agree with this I will be happy to review the implementation of the two PRs

Sounds good. I'll probably get started with what we have already and then update it with the new options. And I'll be happy to break up it up into multiple PRs if that's wanted.

this sounds like a really cool feature, I wanna make sure I understood it. So incentive is to have ABR like switch experience but for audio where user can switch languages, it will switch as quickly as possible but user will not experience a pause while audio changes?
And tradeoff is the amount of buffer ahead for audio? to not keep too much cause we are now saving more audio tracks?
How does this scale on low memory devices? Smart TVs for example?
So I need to pass streaming.prefetchAudioLanguages array of languages, but didn't understand why I will need to set disableVideoPrefetch in this case? and how does it relate to setting rebufferingGoal to 0? won't it come on expense of robustness in case of unstable network?

it will switch as quickly as possible but user will not experience a pause while audio changes?

yup, that's exactly right. In reality, there's the slightest of gaps, but it's pretty unnoticeable. Most importantly is that the player doesn't need to wait to download more segments and can switch instantly. This is also why a low rebufferingGoal is needed. It represents the amount of buffer needed before playback starts, and given we've already prefetched at least one segment worth of content, we don't need shaka to wait before playback starts.

How does this scale on low memory devices? Smart TVs for example?

We're still doing more testing. However, we haven't seen many issues assuming rebufferingGoal isn't set to 0 or a very very low number. This is also why we thought that disableVideoPrefetch might be helpful. So, we're not keeping large segments in js memory beyond them getting appended to the source buffer.

didn't understand why I will need to set disableVideoPrefetch in this case

The thought here is to minimize memory usage so that we don't keep the video segments downloaded if we're potentially keeping a bunch of audio segments downloaded. However, we're not sure if it's strictly necessary but can't imagine that it hurts to have this option.


cmd/go: unhelpful "unknown import path" error for 'go build' in an empty module directory

What version of Go are you using (go version)?
go version go1.11.1 darwin/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
At least amd64/darwin and amd64/linux, probably all of them.
What did you do?
If a module is just a wrapper for other packages some commands fail
unexpectedly. They also fail with error messages which are not really
helpful diagnosing the underlying problem.
I set up a module which is just a wrapper around two packages a and b
versioned together:
$ tree
.
├── a
│   └── a.go
├── b
│   └── b.go
└── go.mod
$ cat go.mod
module path/should/not/matter

Doing a go build ./... and works fine but go build results in
can't load package: package path/should/not/matter: unknown import path "path/should/not/matter": cannot find module providing package path/should/not/matter

Other commands like go clean -modcache result in the same error.
I think the error can be explained like this:

go build or go clean -modcache are like go build . or go clean -modcache .
Looking up the what . stands for in go.mod yields "path/should/not/matter"
The go tool doesn't know what to do with this import path.
(BTW: if the module is e.g. git.intern.ourcorp.net/shared/tooling
the go tool will start querying Fetching https://git.intern.ourcorp.net/shared?go-get=1
to no avail.)

What did you expect to see?
I would expect that a GO111MODULE=on go build fails with the same
error message like a GO111MODULE=off go build in a GOPATH layout
namely:
can't load package: package stuff: no Go files in $GOPATH/src/stuff

To reproduce:
$ cd /tmp
$ mkdir stuff
$ cd stuff/
$ mkdir a b
$ echo -e 'package a\nconst S="Package A"' > a/a.go
$ echo -e 'package b\nconst S="Package B"' > b/b.go
$ go mod init "path/should/not/matter"
go: creating new go.mod: module path/should/not/matter
$ go build ./...  # fine
$ go clean -modcache
can't load package: package path/should/not/matter: unknown import path "path/should/not/matter": cannot find module providing package path/should/not/matter
$ go build .
can't load package: package path/should/not/matter: unknown import path "path/should/not/matter": cannot find module providing package path/should/not/matter

@vdobler - please can you edit the issue description to follow the full issue template? It makes it much easier to read and digest issues. Thanks

The fact that go build without arguments fails is working as designed. Per https://golang.org/cmd/go/#hdr-Package_lists_and_patterns:

If no import paths are given, the action applies to the package in the current directory.

That said, we should improve the error message.

This issue appears to extend further - build.Import with build.FindOnly should return the directory path resolved for an import, even if there are no Go files in the directory, but this does not seem to be the case with Go modules.

As far as I can tell this is fixed at head.
~/src/golang.org/x/mobile$ gotip version
go version devel +0915a19a Fri Dec 6 05:12:15 2019 +0000 linux/amd64

~/src/golang.org/x/mobile$ GO111MODULE=on gotip build
can't load package: package .: no Go files in /usr/local/google/home/bcmills/src/golang.org/x/mobile

~/src/golang.org/x/mobile$ GO111MODULE=off gotip build
can't load package: package golang.org/x/mobile: no Go files in /usr/local/google/home/bcmills/src/golang.org/x/mobile

@vdobler, is this also fixed for your specific example?


Fix typo in splice call

There is a small typo in https://github.com/fabianbormann/cardano-peer-connect/blob/main/index.ts#L260 when calling the cip30 injected functions. It shall use splice, not slice.

This pr fixes it https://github.com/fabianbormann/cardano-peer-connect/pull/3

Thx :) & merged


[No QA] [TS migration] Migrate 'Link.js' lib to TypeScript

Details

Fixed Issues

$ 24912
Tests

Go to Settings > About > App download links
Click one of menu items (Android / iOS / macOS)
Verify that it's redirected to correct app download site

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Go to Settings > About > App download links
Click one of menu items (Android / iOS / macOS)
Verify that it's redirected to correct app download site

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/25230417/197cf6c2-8299-467f-ae23-3daf88d62708

Mobile Web - Chrome

Mobile Web - Safari

Desktop

https://github.com/Expensify/App/assets/25230417/4a05f61e-dfa0-41a3-bd5a-140a557b94ef

iOS

https://github.com/Expensify/App/assets/25230417/3c7846e2-4fa9-43a5-bb01-5754fd7a0e98

Android
https://github.com/Expensify/App/assets/25230417/bbd37732-07d8-401c-9e70-ecf1b7889563

@dangrous Added testing steps , answered and make this one change :)

@dangrous This one must be filled by SWM engineers as part of our cross-review strategy, they will review it soon.

@dangrous Just so you know, TS process was changed recently and now C+ are responsible for the reviewer checklist.

Hi @dangrous @aimane-chnaif are you able to review this and do reviewer check list?

@aimane-chnaif Hi, are you able to look at this PR ?

@aimane-chnaif PR updated

@aimane-chnaif fixed.

@aimane-chnaif do you have time to re-review today?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.96-15 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/dangrous in version: 1.3.98-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.98-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


How to use with wait for element

Hi,
I have an element and a wait command like this
email_address_field = InputField(By.ID, "id_username")
WebDriverWait(self,30).until(expected_conditions.presence_of_element_located(self.email_address_field))
How to make it works?
Kind regards,
Frank Vu

Hey Frank,
I actually added wait support earlier this month -- I just forgot to document it. I'll be sure to do that soon :)
email_address_field = InputField(
    By.ID,
    'id_username',
    wait=EC.presence_of_element_located,
    wait_timeout=30)

This can be pretty tedious to specify for all of your elements, though, so it might make sense to create a class that defaults to something that makes sense for your tests.
from selenium.webdriver.support import expected_conditions as EC
import page_elements

class InputField(page_elements.InputField):
    """Extend `page_elements.InputField` to provide defaults to
    `wait` and `wait_timeout`.
    """

    def __init__(self, *args, **kwargs):
        wait = kwargs['wait']
        wait_timeout = kwargs['wait_timeout']
        kwargs['wait'] = \
            wait if wait is not None \
            else EC.presence_of_element_located
        kwargs['wait_timeout'] = \
            wait_timeout if wait_timeout is not None else 30
        # in the case you're using Python 2, you'll have to update this super call
        # or update to Python 3 :)
        super().__init__(*args, **kwargs)

I haven't run that, so you may need to tweak it a bit.
If you want to call WebDriverWait you need to pass in the by and selector members of the element to your chosen wait function since WebDriverWait doesn't support taking in a page element object as an argument. You should be able to do this:
WebDriverWait(driver, 30).until(EC.presence_of_element_located(
    email_address_field.by, email_address_field.selector
))

Again, I haven't run this, so it might involve a bit of tweaking.
Let me know if these solutions works for you.

I'm going to go ahead and close this for now. Feel free to reopen if that doesn't work for you.


Re-enable receiving reINVITEs

Browsers have gotten better at renegotiation (now that Firefox 38 is out), so let's consider turning this back on.

In my local checkout, I merged this into 873c9da186ce6699db15a0ee4c06e254b9b52cf6 (master branch at time of writing) and built a test page for trying out hold/unhold (and therefore receiveReinvite) with different combinations of browsers/audio/video/inviteWithoutSdp. I'll see if I can break anything, and update this with my findings.

Ok, after a bunch of testing, I found that there's still a couple of problems with cross-browser WebRTC. #182 is one such problem, and another is as follows: If Firefox makes an audio call with SDP to Chrome, and Chrome answers with audio then tries to hold(), Firefox refuses to renegotiate printing the following error:

DOMException [InvalidSessionDescriptionError: "ICE restart is unsupported at this time (new remote description changes either the ice-ufrag or ice-pwd)ice-ufrag (old): XNaL6MUvAo6+hfTmice-ufrag (new): mQDDAkDOY9Yf9wJoice-pwd (old): 5MmxCArSUOdddCA7HQgOE5+6ice-pwd (new): WX9lUGO1SxoGP3hu0h4szV+V"
code: 0
nsresult: 0x0]

However, Firefox does send a 488 in this case, and the call carries on as usual (note that hold() also disabled the audio MediaStreamTrack, but unhold() will re-enable it), instead of with a "crashed PeerConnection" as in #19.
Given that making this change allows the browsers to at least try renegotiating (and gracefully falling back to sending either a 488 or a 500 if it fails), I think this is fine to merge in.

Hi @joseph-onsip,
glad you're working on this! Hopefully I've got some time this week to test this as well and perhaps help you out a little. I'd be looking into switching/adding/removing streams on existing PeerConnections. Looks like your most recent work is on master as of now?
BTW: AFAIK cross-browser renegotiation is at least a couple of months out since Chrome and FF use different implementations of multistream (the link you posted for FF 38):

Also, it is important to note that Google Chrome’s current implementation of multistream is not going to be interoperable; this is because Chrome has not yet implemented the specification for multistream (called “unified plan” – check on their progress in the Google Chromium Bug tracker). Instead they are still using an older Google proposal (called “plan B”). These two approaches are mutually incompatible.

But in case someone is looking for a temporary work-around there is a polyfill which might help out.


api.context.with() is lacking parameter for parameters to specified function

Please answer these questions before submitting a bug report.
What version of OpenTelemetry are you using?
0.15.0
What version of Node are you using?
v14.15.4
Please provide the code you used to setup the OpenTelemetry SDK
What did you do?
Checked signature of api.context.with() in typings:
with<T extends (...args: unknown[]) => ReturnType<T>>(context: Context, fn: T): ReturnType<T>;

It takes two parameters, context and fn. The type of fn implies that fn can accept parameters but there is no way to provide them to with()
What did you expect to see?
I expected the signature to take a third optional rest parameter with params for fn. The function it ends up calling is asyncLocalStorage.run and that takes a third param like this asyncLocalStorage.run(store, callback[, ...args])
I think either a third param could be added or the type of fn should be changed to not accept parameters?

I think we should allow arguments like in asyncLocalStorage.run(). I had this already in mind but haven't found the time to actually do it.

I think we should allow arguments like in asyncLocalStorage.run(). I had this already in mind but haven't found the time to actually do it.

I would support this change. For now you can work around like this (I know it is not ideal):
context.with(ctx, () => myFn(...args));

I would support this change. For now you can work around like this (I know it is not ideal):
context.with(ctx, () => myFn(...args));

it would also be nice to support passing a custom this context.
context.with.call(someInstance, someInstance.something, arg1)

it would also be nice to support passing a custom this context.
context.with.call(someInstance, someInstance.something, arg1)


Revisit JWKS Cache logic

Potential suggestion:
keySet == null || !keySet.containsAppTid(appTid) **_|| keySet.getAll().isEmpty()_**
This will refresh empty JWKS instead of logging the error in line 175 for the whole cache duration and returning null. It means more load on XSUAA though when it returns empty JWKS.
Originally posted by @finkmanAtSap in https://github.com/SAP/cloud-security-services-integration-library/pull/1238#discussion_r1270350843
https://github.com/SAP/cloud-security-services-integration-library/pull/1237/files#r1269076951

Closing this as Github Issue section is no longer maintained.


[zh]  Resync Reviewing for approvers and reviewers page

[zh]  Resync Reviewing for approvers and reviewers page
en page: https://kubernetes.io/docs/contribute/review/for-approvers/

/lgtm
/approve


Remove *_matrix_bit_definitions.json

Remove all *_matrix_bit_definitions.json files. These files are not mentioned in mapfile.csv and are duplicates of *_matrix.json. Recent platforms directly release OCR events instead of documenting each offcore response bit individually.
Closes intel/perfmon#103.

@kshiprab We've received confirmation from open source tool owners. The *_matrix_bit_definitions.json files are not used by downstream tools. They are also not referenced in mapfile.csv. They are stale files that we can safely remove.


Add PrefsManager Class for all prefs related actions

This class would handle all actions related to reading and writing preferences.
Overview:

Init would accept optional path to json
load settings from config profile
load settings from json if passed
reconcile settings (prefs > json?)
Move all pref reads to this new Class
Add ability to write out prefs around user actions (ToDo - figure out what is needed here)

@natewalck  @erikng : is this still needed?  The FR is almost 3 years old.

You are welcome to work on implementing this if you'd like 😀
It's still a good idea, but time will tell if it gets done before MDM pushed software updates become reliable.

It's likely not needed anymore with the refactor


What type of dataset is being used whether the boxes are for each single characters or it is for a word and what is the annotation type for the same ?

As I need to annotate the dataset from scratch I am not understand the format what ICDAR and other dataset have done  for the annotation part?


Run the formatter in CI

This requires contributors to have access to nightly, I'm happy to run the formatter for you want to contribute and you do not have nightly.

I'd be fine requiring formatting here. If people complain I'd also be fine copying the rust-bitcoin "the bot does it once a week" scheme.

I loath the formatting bot method but put up with it because of other people, we don't have that  problem in this repo.


add directions page and add directions link to Hero

we're 2 days away from geekcamp so im merging in now

and we await ambrose's review (i dare not fight the git)


Introducing timeout and retrying mechanism

I am using unoserver/unoconvert with Moodle LMS. (See MDL-75066)
Moodle uses unoserver to convert assignment submission files into pdf.
Students may submit various types of document files.
LibreOffice (soffice.bin) sometimes keeps 100% CPU usage and XMLRPC never finishes depending on input file characteristics and/or some specific conditions.
My proposal is introducing timeout and retrying mechanism for such situation.
On detecting timeout, unoserver may kill and restart LibreOffice within a certain limited number of times.
On exceeding the number limit, unoserver may return an error.
Thank you and regards,

I think that could be a good feature to have, indeed.

Implemented in the latest version.


the classfication assignment dowload error.

The dowload link is error 403.

use the alternative links in the same notebook. Latest version updated.


feat: Support SQLAlchemy 2.0

Most of the changes had to do with SQLAlchemy no longer defaulting to auto-commit. You have to either use a begin context or explicitly commit. Also a handful of changes on when an engine/connection is bound to metadata/reflect.

@andyoneal tests looks to be failing here, can we move this to Draft until it's ready?

sorry for not noticing the errors. I think this is a bug in the sdk. I've opened a PR there, but implemented the fix here for now. https://github.com/meltano/sdk/pull/1954

just a note for later: the "fix create_schema" commit can be reverted once this moves to SDK 0.23

just a note for later: the "fix create_schema" commit can be reverted once this moves to SDK 0.23

@andyoneal I just merged #199

Thanks for the additional context on test file changes @andyoneal! If Derek doesn't have any objections, I'm happy to merge and make a v0.1.0b1 release next week.

Thanks for the additional context on test file changes @andyoneal! If Derek doesn't have any objections, I'm happy to merge and make a v0.1.0b1 release next week.

Generally it looks good I just haven't made the time to dive into the specifics of connection.begin and how / where we are doing those transactions


feat: lay foundations for engine drivers

This patch starts to simplify the connhelpers and docker-image helper into specific engine drivers (see https://github.com/dagger/dagger/issues/5583) - adding new drivers now becomes easier.
Each driver registers itself under a name, and is called when connecting to a URL with that scheme. Additionally, during connection, we provide a set of additional parameters.
This is mostly just a refactor around the connhelpers, which we can't use directly out of the box, since we want to support a set of additional parameters as well. Since each driver just returns a net.Conn, then we can build the buildkit connection on top of it, which allow us to potentially change the connection mechanism in the future.

Do we want to continue this?

TestModuleLotsOfFunctions is timing-out, looks legitimate :cry:

The test failure is happening on main, so not relevant to these changes likely. They first occurred after merging https://github.com/dagger/dagger/pull/6597.

Let's take this now - if it breaks things, would rather do it now, instead of waiting for the big zenith release :smile:
Also, this has become a lot more relevant as we've been discussing #5583


Update VerifyCsrfToken.php

Linked issue: https://github.com/laravel/framework/issues/45265

This does not look to be a bug. You're required to provide a session lifetime.


 Assert same shape for element wise ops

What changes were proposed in this pull request?
Currently for a handful of element wise ops we only assert length. As a result I can do A.mul(B) where A is size (10,10) and B is size(2,5,10) .
How was this patch tested?
Simple unit test for mul. But assert was added and checked for all element wise ops.
Please review
https://github.com/deeplearning4j/deeplearning4j/blob/master/CONTRIBUTING.md before opening a pull request.

@huitseeker On the right track. Possibly.
I ran dl4j-tests and a small subset of tests break which will pass with a minor reshape:
https://github.com/deeplearning4j/deeplearning4j/compare/earlybird
@raver119 says it might be by design so not merging for now...

Merge https://github.com/deeplearning4j/deeplearning4j/pull/3772 after this is merged