"waiting for GPS" until first vehicle motion

Describe the bug
Sometimes on startup, my device remains in GPS SEARCH / nav Waiting for GPS indefinitely, until the vehicle starts moving. Have noticed this three times now, when setting a nav-on-openpilot destination at my starting point.
In the background, it looks like I'm getting a fast GPS fix, but neither liveLocationKalman.positionGeodetic.valid nor liveLocationKalman.gpsOK flip to True until the vehicle moves.
It doesn't always happen. I think it might only be happening after deep sleep/SOM bootkick, or branch switch/update.
Provide a route where the issue occurs
c5cbf3352b0f03bb|2023-07-06--12-50-49
openpilot version
219590885fb7463f39bacbbf1d5274b7251d9e7f
Additional info

@nuwandavek is this expected behavior? can we do something about it?

The check that is being triggered here is https://github.com/commaai/openpilot/blob/8d13ddb943de02a1d8f9f593896aa24ae38db34c/selfdrive/locationd/locationd.cc#L307C18-L307C18. In the gpsLocation message ( qcom gps), the bearingAccuracydeg was 0 and only began to change when the vehicle moved. Since the accuracy default values are 0, we wait for them to be non-zero to assume the gps is on. The final solution here seems to be to use the magnetometer for bearing (and to remove this check in locationd).
@haraschax should we patch this in the meantime?

I think this is a failure of rawgpsd, it should not output 0 for bearing accuracy, I will look into fixing it.


[Bug] Make the alloy library independent of wasm-bindgen

Component
provider, pubsub, transports
What version of Alloy are you on?
0bb7604f186a78cdee911fa7fbc0ca36465a6902
Operating System
macOS (Intel)
Describe the bug
The code of alloy has a dependency on wasm-bindgen. It can be seen by doing:
cargo tree --target wasm32-unknown-unknown
The error can be triggered by having the following Cargo.toml:
[package]
name = "test"
version = "0.1.0"
edition = "2021"

[dependencies]
alloy = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604f186a78cdee911fa7fbc0ca36465a6902", default-features = false, features = [ "providers" ] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.14", features = ["js"] }

with the rust main.rs program
use alloy::providers::Provider;

fn main() {
    println!("Hello world");
}

Then we have the error
error: Unable to instantiate the WebAssembly module
╰─▶ 1: Error while importing "__wbindgen_placeholder__"."__wbindgen_describe": unknown import. Expected Function(FunctionType { params: [I32], results: [] })

That error is because using wasm-bindgen implies the use inside a browser. That is not the context in which we are using alloy. We want to use our own Provider.

We rely internally on spawning tasks
https://github.com/alloy-rs/alloy/blob/42594c2dfadd07a38139f4a70935c538a9305023/crates/transport/Cargo.toml#L26-L27
cc @prestwich can we even support this?

we could disable pubsub and pendingtxns i guess?

In our use case, we only need support for eth_getLogs and eth_call. So, that would be fine for us.

In that case we can put the Spawnable trait behind a feature gate on wasm and panic if the feature is not enabled
https://github.com/alloy-rs/alloy/blob/c65fd8ac4eb5e595f3c2ba304af327d37fcb1f3c/crates/transport/src/utils.rs#L51-L59

That would be great.

So quick recap:

put wasm-bindgen-futures behind a feature flag
if feature not enabled, panic on Spawnable::spawn invocation
users MAY NOT enable pubsub and MAY NOT use alloy-provider
users SHOULD use alloy-rpc-client and make requests directly


AI Control with Plugins

WIP, finding documentation on querying.

Could you add a test of it working?

@A2Pro please make sure tests pass, please mark the code as ready to review when it's ready to review


Windows installer bundle displays options that are not supported

Some variants of the Swift Windows SDKs and Swift Android SDKs might be excluded from the installer, but the "Options" page will always display the options. Options involving unavailable components should be hidden to avoid confusion.

I absolutely agree with you on this. The problem is that I cannot tell if the install theme engine has any support for conditionals, at runtime or build time. If there's a way to do this, I think that we should be able to take care of this quickly.


Gifted subs not giving points

Im a moderator for a streamer Tibb12
Currently it seems as though subbing, resubbing, and bits are all options for ways to get points. But then I just saw that my points never changed after I had gifted a few subs. If possible, please make there a way for gifted subs to be rewarding points to the person gifting out as right now its not

I think only the people who receive the gifts get points currently. I agree, this could be improved. 👍🏻

Also if there is a way, to make it also give points for donations

Also if there is a way, to make it also give points for donations

Also if there is a way, to make it also give points for donations

Currently we have no handler for donation alerts. If you want the feature added, you should create a new issue.

Also if there is a way, to make it also give points for donations

Currently we have no handler for donation alerts. If you want the feature added, you should create a new issue.


Add notebook terminal flags

Fixes https://github.com/stateful/vscode-runme/issues/334

Great stuff @degrammer! See my comments please. This is definitely enough for me to take screenshots over the wknd.

Done, please review and test since I did organized a little better the NotebookTerminal logic.

Still missing, I will review it (it could be as a separate PR)

Terminal flags moved to https://github.com/stateful/vscode-runme/pull/350/files

Closing this since it was done at https://github.com/stateful/vscode-runme/pull/351 and https://github.com/stateful/vscode-runme/pull/350


SIM-BE-Refactor database connector to use SQLAlchemy

Context
Commented in https://github.com/yeagerai/genlayer-simulator/pull/234
What

Now that we have the db model in Python written with SQLAlchemy, we can use these datatypes instead of using dictionaries to improve the safety of our code
We could also use SQLAlchemy to connect to the database and run the queries, so we can remove our custom insert, update, delete operations made with psycopg2
Now it's also clearer to see that we are missing some things in the data model

some columns shouldn't be nullable
some columns should be FK references

Why

Higher levels of abstractions (SQLAlchemy) will allow us to worry less about implementation details of database connections (psycopg2)
Schema changes will be easier to do by changing the SQLAlchemy models
Schema will be easier to understand by just looking at the SQLAlchemy models

Example: https://github.com/yeagerai/genlayer-simulator/pull/307


Upgrade sodium-native

Problem: sodium-native has released a new major version and it's great
to stay up-to-date with our upstream dependencies.
Solution: Upgrade it. It seems that the breaking change is "Removed
object instance apis and replaced them with init, update, final
methods", but that doesn't seem to apply to us (?) as npm test
continues to pass without problems.

+1 This will also add Node v12 and v14 support (https://github.com/dominictarr/chloride/issues/14). It will also result in smaller downloads, as sodium-native v3.2.0 is 3.1 MB, compared to sodium-native v2.4.9 at 13 MB.

I think we should probably fork this to SSBC like we did with dominictarr/obv -> ssbc/obz.

Alright, what are we naming this bad boy? I'm going with Flouride unless someone suggests something else.

@christianbundy Dominic has now added the chloride module to the ssbc team on npmjs.com

Nice, just ran into this. LGTM! :)

Published https://github.com/ssbc/chloride/releases/tag/v2.3.0

Thank you @clehner!


Add merge directory support

One feature of the Cordova project structure is the merges/ directory, which adds support for platform-specific files to replace files in www/.
The same feature should be implemented in this module to add support to PhoneGap/Build apps.

+1


Update README: explain how to run tests

Still working on figuring out tests. I will update the README when I understand what needs to be done.

Some instructions have been added: https://github.com/atlanticwave-sdx/sdx-lc?tab=readme-ov-file#running-tests


[Bug] Topic filters config has't any effects

What happened
i have config filters in address, but util receive other message of this topic
  addr := fmt.Sprintf(
		"%s?topic=%s&group=%s&filters=%s",
		host,
		topic,
		group,
		filters,
	)
	cfg, err := tubeconfig.ParseAddress(addr)

What you expected to happen
just get the message in config
How to reproduce
addr := fmt.Sprintf(
		"%s?topic=%s&group=%s&filters=%s",
		host,
		topic,
		group,
		filters,
	)
	log.Debug(addr)

	cfg, err := tubeconfig.ParseAddress(addr)

Environment
linux
InLong version
master
InLong Component
InLong TubeMQ
Are you willing to submit PR?

[ ] Yes, I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks, I will fix it.


Error: No "exports" main defined in prisma-extension-bark/package.json

Hi there,
We are looking forward to trying this out but couldn't import it in our NestJS app. Can you please declare main in package.json file and publish a new release?
Error: No "exports" main defined in node_modules/prisma-extension-bark/package.json
    at new NodeError (node:internal/errors:399:5)
    at exportsNotFound (node:internal/modules/esm/resolve:361:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:641:13)
    at resolveExports (node:internal/modules/cjs/loader:565:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:634:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1061:27)
    at Function.Module._load (node:internal/modules/cjs/loader:920:27)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)

Thank you

It sounds NestJS is running in commonjs but this extension currently only supports ESM at the moment. I'm not too familiar with how NestJS apps are built but it seems like there is a compilation step anyway so would it be possible to switch to ESM for your application?
I've created a quick demo app in stackblitz with the latest version of NestJS and it seems to be running fine.

Thanks, @adamjkb. Can you save me the demo app on stackblitz please?

Actually, never mind. It works with "moduleResolution": "node16", added to typescript config. Cheers

Just share what we did here in case anyone needs it:
import { PrismaClient } from '@prisma/client';
import { type withBark } from 'prisma-extension-bark';

async function getWithBark(): Promise<typeof withBark> {
  const module = await (eval(`import('prisma-extension-bark')`) as Promise<any>);
  return module.withBark;
}

export const getPrismaClient = async () => {
  const withBark = await getWithBark();

  return new PrismaClient({
    log: ['query', 'info', 'warn'],
  }).$extends(withBark({ modelNames: ['folder'] }));
};

export type ExtendedPrismaClient = Awaited<ReturnType<typeof getPrismaClient>>;


need error checking around "getAQIDescription"

Just hit this on mobile.

#53 would solve this.

getAQIDescription no longer exists. Closing.


Cilium cannot start daemon because msg="Command execution failed" cmd="[bpftool -j feature probe]" error="exit status 255"

General Information

Cilium version : 1.7.2 f1c787ee6 2020-04-03T11:47:41-07:00 go version go1.13.9 linux/amd64
Kernel version : 4.15.0-101-generic
Docker version : 19.03.10

How to reproduce the issue

Install cilium from source in Ubuntu server.
Start cilium service with systemctl start cilium
Cilium successfully started but show an error message like this:

● cilium.service - cilium
   Loaded: loaded (/lib/systemd/system/cilium.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-05-30 13:30:08 UTC; 574ms ago
     Docs: http://docs.cilium.io
 Main PID: 15606 (cilium-agent)
    Tasks: 7 (limit: 2361)
   CGroup: /system.slice/cilium.service
           └─15606 /usr/bin/cilium-agent --enable-ipv6=false --kvstore consul --kvstore-opt consul.address=<IP_ADDRESS>:8500 -t vxlan

May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg=" ___|_| |_|_ _ _____" subsys=daemon
May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg="|  _| | | | | |     |" subsys=daemon
May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg="|___|_|_|_|___|_|_|_|" subsys=daemon
May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg="Cilium 1.7.90 87f090552 2020-05-27T18:26:02+02:00 go version go1.14.3 linux/amd64" subsys=daemon
May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg="cilium-envoy  version: a3385205ad620550b35d3b0b651e40898386e6e3/1.13.1/Modified/RELEASE/BoringSSL" subsys=daemon
May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg="clang (10.0.1) and kernel (4.15.0) versions: OK!" subsys=linux-datapath
May 30 13:30:09 practical-labs cilium-agent[15606]: level=info msg="linking environment: OK!" subsys=linux-datapath
May 30 13:30:09 practical-labs cilium-agent[15606]: level=error msg="Command execution failed" cmd="[bpftool -j feature probe]" error="exit status 255" subsys=probes
May 30 13:30:09 practical-labs cilium-agent[15606]: level=warning msg=null subsys=probes
May 30 13:30:09 practical-labs cilium-agent[15606]: level=fatal msg="could not run bpftool" error="exit status 255" subsys=probes

You'll need to install the latest bpftool from kernel sources. I think Linus's tree should be okay, but bpf-next is preferred.

Just installed the latest bpftool from this post https://askubuntu.com/questions/1134896/ebpf-maps-how-to-update-using-bpftool-from-command-line but shown another error.
cilium.service - cilium
   Loaded: loaded (/lib/systemd/system/cilium.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-05-31 03:12:22 UTC; 4s ago                                                                                Docs: http://docs.cilium.io                                                                                Main PID: 6854 (cilium-agent)                                                                                Tasks: 8 (limit: 2361)                                                                                CGroup: /system.slice/cilium.service                                                                                └─6854 /usr/bin/cilium-agent --enable-ipv6=false --kvstore consul --kvstore-opt consul.address=<IP_ADDRESS>:8500 -t vxlan

May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="0 maps not supported in current map section!" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="Error fixing up map structure, incompatible struct bpf_elf_map used?" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="Error fetching ELF ancillary data!" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="Unable to load program" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="+ RETCODE=1" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="+ set -e" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="+ cilium-map-migrate -e bpf_overlay.o -r 1" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=warning msg="+ return 1" subsys=datapath-loader
May 31 03:12:25 practical-labs cilium-agent[6854]: level=error msg="Error while initializing daemon" error="exit status 1" subsys=daemon
May 31 03:12:25 practical-labs cilium-agent[6854]: level=fatal msg="Error while creating daemon" error="exit status 1" subsys=daemon

For that, I believe you need our fork of iproute2: https://github.com/cilium/iproute2.
I'd really recommend using our Vagrant scripts for a quick working development setup.

Okay it installed then appear another one error:
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ COPTS='-DSECLABEL=2 -DFROM_ENCAP_DEV=1'" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ '[' false = true ']'" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ bpf_load cilium_vxlan '-DSECLABEL=2 -DFROM_ENCAP_DEV=1' ingress bpf_overlay.c bpf_overlay.o from-overlay cilium_calls_overlay_2" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ DEV=cilium_vxlan" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ OPTS='-DSECLABEL=2 -DFROM_ENCAP_DEV=1'" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ WHERE=ingress" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ IN=bpf_overlay.c" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ OUT=bpf_overlay.o" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ SEC=from-overlay" subsys=datapath-loader
May 31 09:43:13 ubuntu cilium-agent[24355]: level=warning msg="+ CALLS_MAP=cilium_calls_overlay_2" subsys=datapath-loader

@myugan These log lines don't show the error. It's probably a few lines below, toward the end of (or after) the msg="+  log lines.
Any reason the Vagrant setup isn't an option for you?

Just edited the error message, the vagrant script is support on host to installing cilium natively?

No ELF library support compiled in.

:point_up: It looks like pieces are missing from the tc you installed.

are vagrant script is support on host to installing cilium natively?

No, it's going to install Cilium in Virtualbox VMs.

It's done by following this https://stackoverflow.com/questions/59731096/how-to-get-xdp-program-into-kernel-with-iproute2 to check what i'm missing here and cilium can start daemon properly, thanks for helping @pchaigno.


Include import prefixes on type error messages - CFE

Take the following code:
import 'dart:math' as math;

class Random {}

void main() {
  List<Random> list = <Random>[];
  addRandom(list);
}

addRandom(List<math.Random> list) => list..add(new math.Random());

Running this on the VM (2.0.0-dev.63.0, --preview-dart-2), I get this error:
a.dart:7:13: Error: A value of type 'dart.core::List<#lib1::Random>' can't be assigned to a variable of type 'dart.core::List<dart.math::Random>'.
Try changing the type of the left hand side, or casting the right hand side to 'dart.core::List<dart.math::Random>'.
  addRandom(list);
            ^

In this example, the library names are short (#lib1 and dart.math, but in real code, they can be much longer, foo.bar.baz.service.impl.fake::Random can't be assigned to foo.bar.other.proto.service.pb::Random. I think the user's prefixes should be respected here, if there are any. The user wrote the prefixes to understand their own code better, and to separate possibly conflicting members. We should respect that:
a.dart:7:13: Error: A value of type 'dart.core::List<#lib1::Random>' can't be assigned to a variable of type 'dart.core::List<dart.math::math.Random>'.
Try changing the type of the left hand side, or casting the right hand side to 'dart.core::List<dart.math::math.Random>'.

(Or better yet:
a.dart:7:13: Error: A value of type 'List<Random>' can't be assigned to a variable of type 'List<math.Random>'.
Try changing the type of the left hand side, or casting the right hand side to 'List<math.Random>'.

but I won't get into library-name issues in this issue.)
I'll file separate issues for analyzer, DDC, and dart2js.

This is not a runtime type error message - it is a compile time error message, coming from CFE.

Eek, my bad. I'm getting a similar DDC runtime one, and made a wrong assumption.

FWIW here's a runtime VM issue:
import 'dart:math' as math;

// Poorly named wrapper for math.Random
class Random {
  math.Random inner;

  Random(this.inner);
}

void main() {
  List<Random> list = new List<Random>()..add(new Random(new math.Random(7)));
  addRandom(list.map((e) => e.inner));
}

addRandom(List<math.Random> list) => list..add(new math.Random());

$ dart --preview-dart-2 b.dart
Unhandled exception:
type 'MappedListIterable<Random, Random>' is not a subtype of type 'List<Random>' where
  Random is from dart:math
  Random is from file:///Users/srawlins/code/b.dart

#0      main (file:///Users/srawlins/code/b.dart:12:18)
#1      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:279:19)
#2      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)

I see three Randoms that need specifying, 2 in MappedListIterable<Random, Random> and 1 in List<Random>. What do these refer to:
  Random is from dart:math
  Random is from file:///Users/srawlins/code/b.dart

??? The user prefixes from the source would really help here:
type 'MappedListIterable<Random, math.Random>' is not a subtype of type 'List<math.Random>' where
  math.Random is from dart:math
  Random is from file:///Users/srawlins/code/b.dart

I can open a separate issue if desired.

This issue is obsolete since https://dart-review.googlesource.com/c/sdk/+/84604 landed.

Very nice, thank you!


Increase echo focusing beam damage

Fix issue #145
Tested on Widowmaker with 165 HP :
The difference in damage should be (0.45 * (200 - 175)) = 11.25
here the end life with OW2 Echo :

The end life with OW1 Echo :

I tested this briefly in staging build, but serverload seems really high during the duration of this ability.
I don't exactly know if the damaage delta method we're using here's the main culprint, but I might revise this feature to use the standard eventPlayer.setDamageDealt().


rename-request-id | Fixes a bug on hip-service where the transaction …

…id is renamed as request id

Since the transaction id was renamed to request id, health-information request was having the transaction id as null and the data flow was not getting completed

 Here is an overview of what got changed by this pull request:

Clones added
============
- src/In.ProjectEKA.HipService/DataFlow/DataRequest.cs  2

See the complete overview on Codacy


feat: parallelize initializeDB.ts promises

apologies for the late review, only now getting time to take a look at these 😅

what if you tried something like this, using the inline destructure for the Database prop


add test for embedding distance evaluation

Add tests for embedding distance evaluation

Thanks! Would you like me to take over to handle linting issues?

@hinthornw
Yes, please. Thank you!


Petitions in sponsorhip in admin view

Admin to be able to filter in todo list page the petitions that are still collecting sponsors. The default list on index page is the list of petitions that await a moderation.
That PR also fix admin being unable to edit or update a petition that is not in the sponsored state - we want admin to be able to edit/update the petition in pending/validated state. For these states the current status will be displayed on edit petting view page (just to show you're about to edit the petition in non-sponsored state).
PT: https://www.pivotaltracker.com/n/projects/307301/stories/95523540

@h-lame and @otlaitil thanks so much for your comments! All addressed in relevant commits.


Imageviewer build failed (Js Wasm)

Description of the Bug
imageviewer JsWasm build fail with error Unresolved reference 'JsModule'
Affected platforms

Web (K/Wasm)
Web (Js/Wasm)

Versions
Last main code base.
kotlin.version= 2.0.0
agp.version= 8.0.2
compose.version= 1.6.10
To Reproduce
Steps to reproduce the behaviour:

git checkout last main code source
Build project
See error

But when running
./gradlew wasmJsBrowserRun -t

the webpage started and everything is working !!
Possible related issue
https://youtrack.jetbrains.com/issue/KT-56025
https://youtrack.jetbrains.com/issue/KT-51942
Additional Error log
compose-multiplatform/examples/imageviewer/shared/src/jsWasmMain/kotlin/example/imageviewer/utils/uuid.kt:3:2 Unresolved reference 'JsModule'.
Task failed with an exception.

What went wrong:
A problem was found with the configuration of task ':webApp:wasmJsProductionExecutableCompileSync' (type 'DefaultIncrementalSyncTask').

Gradle detected a problem with the following location: '/workspace/kmm/compose-multiplatform/examples/imageviewer/build/js/packages/imageviewer/kotlin'.
Reason: Task ':webApp:jsBrowserProductionWebpack' uses this output of task ':webApp:wasmJsProductionExecutableCompileSync' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
Possible solutions:

Declare task ':webApp:wasmJsProductionExecutableCompileSync' as an input of ':webApp:jsBrowserProductionWebpack'.
Declare an explicit dependency on ':webApp:wasmJsProductionExecutableCompileSync' from ':webApp:jsBrowserProductionWebpack' using Task#dependsOn.
Declare an explicit dependency on ':webApp:wasmJsProductionExecutableCompileSync' from ':webApp:jsBrowserProductionWebpack' using Task#mustRunAfter.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


fix: eip disassociation when node gets deleted

Fixes #123 when node dies/rollovers, association gets removed which causes error on disassociating of the EIP.
This PR adds a check for describeaddress function to only return addresses associated with an node.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@turmind is you can check the PR :pray:


integration test for request response

Description
This Pr added github actions for RR integration test.
Fixes # https://github.com/Bisonai/orakl/issues/316
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist before requesting a review

[x] I have performed a self-review of my code.

/integration


Compiling on a Mac/M1 architecture

I know this isn't a high priority, and I'm playing around with this as an academic curiosity (I mainly will be running asset on linux anyways).
I've followed the linux install docs and so far so good (with a couple of intellectual jumps for those familiar with Macs etc).
I end up with the following compiler error:
[build] clang: error: the clang compiler does not support '-march=native'
Since I'm not very familiar with compiling Asset, I figured I'd document this. Especially if it's an easy fix.
This isn't a priority so no need to rush to respond (unless you're bored :D)

@wbsteinMSFC You may be able to get it to compile on an M1 Mac, but I'd imagine it will throw an illegal instruction error as soon as you run the optimizer. The optimizer depends on intel MKL, which unfortunately doesn't support ARM cpus at the moment. As for the compiler error it seems that clang does not support -march=native on M1 macs.
https://stackoverflow.com/questions/65966969/why-does-march-native-not-work-on-apple-m1

@jbpezent Yeah. I kinda figured. Although I was going to try to bootstrap MKL through rosetta, not the fastest way. But production would be on linux and tinkering would be on Mac. It looks like (rumor) that clang15 supports -march-native on M1. But VS Code was content with the other compilers it had and decided to ignore my freshly installed clang15. So we are not friends at the moment. :D
I may revisit this when I have more time, but it's a nice to have. The linux version is compiling as I type. Thanks guys!

Regarding vscode not using clang 15, did you re-run "scan for kits" after installing it?

Haha. Yeah. No dice.
I just got mad at it and started working on linux instead. No issues.
    William Stein
    Mission Analysis and Optimization Tech Fellow
    Jacobs Space Exploration Group | ESSCA Contract
<PHONE_NUMBER> (o)
<EMAIL_ADDRESS>
From: William Ledbetter @.>
Reply-To: AlabamaASRL/asset_asrl @.>
Date: Friday, January 6, 2023 at 8:22 AM
To: AlabamaASRL/asset_asrl @.>
Cc: William Stein @.>, State change @.***>
Subject: [EXTERNAL] Re: [AlabamaASRL/asset_asrl] Compiling on a Mac/M1 architecture (Issue #7)
Regarding vscode not using clang 15, did you re-run "scan for kits" after installing it?
—
Reply to this email directly, view it on GitHubhttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAlabamaASRL%2Fasset_asrl%2Fissues%2F7%23issuecomment-1373704633&data=05|01|william.b.stein%40nasa.gov|725a7cb333704ebd938e08daeff16098|7005d45845be48ae8140d43da96dd17b|0|0|638086117230562201|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=EKOzuPro7yG%2FGAfYbvRISXFav%2BPlfpdcmfDyy%2BPtGgA%3D&reserved=0, or unsubscribehttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA5B453CCOHZQPBO5DDEZPTDWRATANANCNFSM6AAAAAATP35GWQ&data=05|01|william.b.stein%40nasa.gov|725a7cb333704ebd938e08daeff16098|7005d45845be48ae8140d43da96dd17b|0|0|638086117230562201|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DXeyAoS3r2bTHRnjRrsjOkh4NUTiaZb7abrSAIiZfH0%3D&reserved=0.
You are receiving this because you modified the open/close state.Message ID: @.***>


Add nirbik561's file

so far created a branch, created a file and made a commit, and opened a pull request


Update attack-surface-reduction-faq.yml

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


launch ros components from python.

this is needed to have the same behavior running from a python environment or a ros environment. Will make testing and deployment easier.

Done.


Support for Redis version 4.0.11

Does go-redis support redis version 4.0.11?
Is there any dependency document for go and redis versions to use with redis-go like this?
@vmihailenco
Thanks!

AFAIK Redis Server is very stable and maintains backwards compatibility at very high level so you can use any Redis Server version you like. But go-redis is only tested against latest Redis Server version.

Thanks, how about the redis-go compatibility with different go versions?

The only guarantee go-redis provides is support for last 2 major Go versions - currently it is Go 1.11 and Go 1.10. Other Go versions are likely to work too but you have to verify that yourself.


ENH: astype() can now take col label -> dtype mapping as arg; GH7271

New PR for what was started in #12086.
closes #7271
By passing a dict of {column name/column index: dtype}, multiple columns can be cast to different data types in a single command. Now users can do:
df = df.astype({'my_bool', 'bool', 'my_int': 'int'})
or:
df = df.astype({0, 'bool', 1: 'int'})
instead of:
df['my_bool'] = df.my_bool.astype('bool')
df['my_int'] = df.my_int.astype('int')

[Current coverage][cc-pull] is 84.24%

Merging [#13375][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master     #13375   diff @@
==========================================
  Files           138        138
  Lines         50739      50752    +13
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          42740      42753    +13
  Misses         7999       7999
  Partials          0          0

Powered by Codecov. Last updated by [b722222...b654ffe][cc-compare]
[cc-base-branch]: https://codecov.io/gh/pydata/pandas/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/pydata/pandas/compare/b722222f5ea760a3f3df4d063309949eb4956674...b654ffe2d991732270e9738abf1d82d2b7ccf415
[cc-pull]: https://codecov.io/gh/pydata/pandas/pull/13375?src=pr

Updated

@StephenKappel Can you rebase this?
This will raise an error when you have duplicate columns (also if it is not the column you are astyping). But maybe we are OK with that?

can you rebase / update

rebased and updated to work with duplicate column names

thanks! nice PR


Configurable shortcuts

First thanks for this amazing addon this is exactly what I was looking for 🥇 👍
Any plans of adding the option to allow the usesr to specify their own shortcuts?
Thanks a lot again!

First of all, thank you for your kind words. ^^
Answering the question, yes. Actually I'm trying to implement it but it's my first addon and I'm having problems storing the user preferences and make the addon recognize the custom shortcuts.

New approach with customizable shortcuts until mozilla implemets UI for shortcuts

I reopen this issue due to mozilla providing a method to change the webextensions shortcuts
Also found an interesting library which build a custom UI which I'll use until a similar one is land on Firefox by default.


Support Github Codespaces

Suggestion from https://betterprogramming.pub/the-essentials-of-a-contributor-friendly-open-source-project-b3fbd0fc36a7
Example code: https://github.com/keras-team/keras/tree/master/.devcontainer

No real justification for doing this. Environment setup might be too difficult.


Support for parsing location.search

First off - really loving v4 and the flexibility it provides! Thanks for your hard work!
In the alpha, you could access the parsed search string off of the location object, so that /route?doTheThing=absolutely could be accessed in a route via location.query.doTheThing. Do y'all ever plan to support that in v4, or should I be using some other lib to parse location.search? I've got it working with  query-string for now (first parser I found) which works just fine, but it does seem nice to have access to that parsed string via the RR API instead of needing to pull in another dependency. Then again, given the more simplified API in general, I could also see an argument for leaving it up to consumers to choose how they want to handle that string themselves. Or maybe it'd go in as a part of the history API?
Mostly just trying to see if y'all have already made a decision one way or the other. If it's something you'd consider adding, I'd be up for taking a stab at it.
Thanks!

Please see the discussion in https://github.com/ReactTraining/react-router/issues/4410

@kgoggin you may be interested in react-router-parsed, a little library I made that wraps <Route> with parsing logic you specify and injects parsed params and query into the route component.


Is it possible to get hot-reload with typescript working?

No

No

No

Why not? It seems like it should be possible: https://github.com/gaearon/react-hot-loader#typescript
I was able to get it working by adding react-app-rewire-hot-loader but that starts to complicate things.

@kumar303 does it work at all? What are complications?

@kumar303 does it work at all?

Yes, after following the instructions in react-app-require-hot-loader hot reloads seem to be working just fine. This is all I had to change in a standard create-react-app project: https://github.com/mozilla/addons-code-manager/pull/276/files

What are complications?

Well, it involves replacing all react-scripts commands with react-app-rewired. This makes me think that upgrading to new versions of react-scripts would be difficult. Also, it would introduce a non-officially supported babel/webpack configuration which might get out of sync with react-scripts and might create confusing bugs. It's not as bad as ejecting, though.

It seems it works with that setup, closing this issue.

It seems it works with that setup, closing this issue.

Could you please re-open the issue so that it gets fixed properly in create-react-app?

Could someone from the team please consider this feature? I think it's really important.
As an example: sometimes I need to perform a few clicks to set up my UI in a state for development. Without proper hot reloading, the whole page gets reloaded as I edit files and I lose my state.

We would be happy to consider this feature but without someone from the community doing the work and submitting a PR it's probably not going to happen. We have very limited resources and can barely keep up with all the issues and PRs that come in every day.

OK, I can look into making a patch for it. I just wanted to make sure there wasn't already some reason that hot reloading is disabled.

I think the reason is just that it's tricky to get it working properly.

All that react-app-rewire-hot-loader does is add react-hot-loader/babel to the list of plugins for babel-loader. Can't we just modify https://github.com/facebook/create-react-app/blob/master/packages/babel-preset-react-app/create.js#L106 to include react-hot-loader/babel plugin and add it as a package dependency?

I published a version of babel-preset-react-app that enables react-hot-loader/babel plugin. If you're using yarn you could try it out and let me know if it's working for you. If so I'll submit a PR to create-react-app.
    "babel-preset-react-app-react-hot-loader": "^8.0.1",
    "babel-preset-react-app": "npm:babel-preset-react-app-react-hot-loader",

Would definitely appreciate this working out of the box 👍

It is still not working.
I've included TS in my create-react-app as described here and hot reload stopped working for .tsx files. It works for .js files but not for .tsx.
What is the fix? Where are docs about fix?

@wzup here's what I finally got working:

create config-overrides.js in the root of your project:

const rewireReactHotLoader = require('react-app-rewire-hot-loader');

/* config-overrides.js */
module.exports = function override(config, env) {
  if (env === 'development') {
    config.resolve.alias['react-dom'] = '@hot-loader/react-dom';
  }
  config = rewireReactHotLoader(config, env);
  return config;
};

Change your scripts to launch with react-app-rewired, e.g.:

  "scripts": {
    "start": "react-app-rewired start",
  }

Mark your module as hot, e.g. App.tsx:

import { hot } from 'react-hot-loader/root';
import React from 'react';

const App = () => (
  ...
);

export default hot(App);

Don't forget to add those dependencies :

react-app-rewire-hot-loader
react-app-rewired
react-hot-loader
@hot-loader/react-dom@xxx (xxx must match your react-dom package version as it is a patched version of the original one)

A team member has agreed in https://github.com/facebook/create-react-app/issues/6503#issuecomment-480149442 that this is an important feature.

I don't think we'll support react-hot-loader out of the box so I'm closing this issue.  Dan is working on a new version and it is tracked in https://github.com/facebook/create-react-app/pull/5958

@bugzpodder why wouldn't create react app support hot reloading a typescript application out of the box?
Reloading hooks (https://github.com/facebook/create-react-app/pull/5958) is only a small piece so I don't see how tracking that PR would be helpful.

We also don't support react-hot-loader for js applications, it's not just typescript.  It will be supported when #5958 lands.  Webpack HMR is already supported out of the box
...

@bugzpodder any reason for not supporting react-hot-loader out of the box?

Dan has a list of things he want to accomplish and I can't find it right now.  You can see https://gist.github.com/gaearon/a4d9fb3e6ea487a9296a8d2d9a6e3bf2 for some of his ideas.

Found it: https://overreacted.io/my-wishlist-for-hot-reloading/

We also don't support react-hot-loader for js applications, it's not just typescript. It will be supported when #5958 lands. Webpack HMR is already supported out of the box
...

Oh, my bad. I thought this issue was about hot reloading in general. I am using Webpack HMR in a create react app (with TypeScript) and hot reloading still doesn't work for some cases, even with all the suggested redux/router setup. I will try to remember what those cases are. For some reason I thought all my trouble with this was related to TypeScript but now I can't remember why.


3.distributed-calculator csharp sample doesn't work

In 3.distributed-calculator csharp sample doesn't start and errors out as below
Could not update sidecar metadata for cliPID: PUT http://<IP_ADDRESS>:3504/v1.0/metadata/cliPID giving up after 5 attempts
Updating metadata for app command: dotnet bin/debug/netcoreapp3.1/Subtract.dll
Could not update sidecar metadata for appCommand: PUT http://<IP_ADDRESS>:3504/v1.0/metadata/appCommand giving up after 5 attempts
Digging further can see another exception
Unhandled exception. System.InvalidOperationException: Unrecognized scheme in server address '"http://localhost:7000"'. Only 'http://' is supported.
Expected Behavior
Subtract application should start along with Dapr runtime, further should be able to make a post call to http://localhost:3504/v1.0/invoke/subtractapp/method/subtract
Actual Behavior
Gives Error
Could not update sidecar metadata for cliPID: PUT http://<IP_ADDRESS>:3504/v1.0/metadata/cliPID giving up after 5 attempts
Updating metadata for app command: dotnet bin/debug/netcoreapp3.1/Subtract.dll
Could not update sidecar metadata for appCommand: PUT http://<IP_ADDRESS>:3504/v1.0/metadata/appCommand giving up after 5 attempts
Digging further can see another exception
Unhandled exception. System.InvalidOperationException: Unrecognized scheme in server address '"http://localhost:7000"'. Only 'http://' is supported.
Steps to Reproduce the Problem
Follow the instructions as per point 2
https://github.com/dapr/samples/tree/master/3.distributed-calculator
Same behavior is observed after following instructions from Command prompt and PowerShell
OS Name	Microsoft Windows 10 Enterprise
Version	10.0.18363 Build 18363
Solution
The problem is first instruction to set environment variable
Windows:
set ASPNETCORE_URLS="http://localhost:7000"

Should environment variable be set as following
set ASPNETCORE_URLS=http://localhost:7000

Making this change brings up everything as expected.

@Ravindra-a ,
Where do you get that "Complaints.API.dll" from ? Should't it be "Subtract.Dll" ?

Hi,
Sorry was trying with my own method as well but it's same behavior for substract.dll.Updated issue.

Thanks @Ravindra-a for catching this. Closing this issue as the instruction to set env variable is corrected now.


BLE advertisement is turned off after 15 min with NimBLE

Describe the bug
Definition of the problem
By default NimBLE each 900 seconds (15 minutes) generate new RPA address and in addition stop BLE advertising. That means after 15 minutes device disappears from BLE scan list.
System information

Which hardware board or part numbers?
ESP32_DevkitC_V4

IDE used
ESP-IDF 3.3

Operating System [Windows|Linux|MacOS]
Windows10

Version of FreeRTOS (run git describe --tags to find it)
202012.00

Project
Custom Application

Expected behavior
We expecting after RPA is changed advertisement will be restarted.
Problem is caused by missing function for set member _BTInterface.pStopAdvCb.
That callback is never called.
Screenshots or console output
None
To reproduce

Build amazon freertos with nimBLE Bluetooth stack
Run the device and check GATT services are advertised
Wait for 15 minutes and check again

Code to FIX the bug
Patch is here https://gist.github.com/bgklika/e4b922b252824f0ac67d0277291e4ce3
In addition some support from the application is required for

set callback
restart advertisement when it was turned off by RPA change

@bgklika My understanding is that this is an intentional time limit due to security concerns. @ravibhagavandas can share more of the reasoning behind this choice.

@bgklika
Thanks for providing a patch. As mentioned above, its recommended to change the RPA address after a duration to make the device non traceable. Hence the advertising needs to be stopped and restarted. However it makes sense to have the callback for application to know when the advertising is stopped. We will evaluate the patch and provide a fix soon.

The PR #3121 merges the patch to add an API to set stop advertisement callback. I am closing this issue. Please feel free to open a new issue if you have further questions.


Add option to connect with SSH private key

Changes
Simple attempt to introduce connectivity with SSH private keys. I've only tested on Windows, but I've no reason to believe that this shouldn't work on Linux/Mac as well.
docs/README.md could use a couple of updated screenshots for the connection window (i.e. login_03.png and login_04.png in docs/assets/). I've omitted them for now, as the look and feel of my editor wouldn't be consistent with the rest of the document. Could you possibly add them in for me please?
I've also bumped the list of contributors to the bottom of the main README. Controversial, I know! However, it was getting so long that it obscures the useful information a first time reader would want to see. I can restore this to its original state if you prefer.
Checklist

[x] have tested my change
[x] updated relevant documentation
[x] Remove any/all console.logs I added
[x] eslint is not complaining
[x] have added myself to the contributors' list in the README

This is awesome @onewheelonly. I will make sure I look at this before I go to bed this evening!


[New game]: Hangman Game with illustration

🎮 Game Request
Game logic and basic description: concepts of web development, such as DOM manipulation, event handling, conditional statements, array usage, and many more.
Point down the features
Game points: Players try to guess all the letters of a randomly generated word within a given number of tries. There is also a hangman illustration that will progressively appear on the gallows for each incorrect guess.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @aasthakourav20 , You can't have another issue before completing the previous one 😀
you already have the following 1 open issues 👀 ! :
#4056

Hey @aasthakourav20 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇

Hey @aasthakourav20 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹


Operator

/lgtm

Actually, could you collapse all of these commits into one so it's easier to understand?


Universal quantification for types

Currently, we have for <'a>. I was thinking of expanding it into for <T: Trait>.
The use case is the following:
trait Trait {}

// This is implementation detail
struct Foo<T>(T);
impl<T> Trait for Foo<T> {}

// This is public API, foo takes a type and a closure that takes a Trait as input
pub fn foo<T, F: Fn(Foo<T>)>(t: T, f: F) {
    f(Foo(t))
}

(playground link)
Here, I don't want to expose the fact that F must take a Foo<T>. I want to expose the fact that F must take any Trait. But there's no way I can think of to encode this assertion in the Rust type system, currently.
So I was thinking of adding for <T: Trait> bound on types. As was pointed out to me, eg. for <T: Trait> Fn(T) wouldn't be object-safe. But I think that's something that could be useful nonetheless, as exposed by the corrected signature for foo below:
pub fn foo<T, F: for <P: Trait> Fn(P)>(t: T, f: F)

The actual use case that made this idea emerge was with tokio::Stream: I have a function like this:
pub fn bar<
    Stream,
    HandleErr,
    Callback: Fn(MapErr<Stream, HandleErr>) -> MapErr<Stream, HandleErr>
>(
    stream: Stream,
    err_cb: HandleErr,
    callback: Callback
)

Actually, this is a lucky case. Indeed, had I not directly passed the err_cb into stream.map_err, but instead passed eg. a closure, I'd have been completely unable to write the type… and would have had to re-write the closure type by hand just to be able to type it.
So, with the proposed for <T: Trait> idea, the function would look like this:
pub fn bar<Stream, HandleErr, Callback: for <S: Stream> Fn(S) -> S>(...)

What would be possible to pass into it would be (resuming with the toy example above):
// Template functions:
fn baz<T: Trait>(t: T) { }
foo(baz);

// If type inference permits, closures where the body uses only functions from `Trait`
foo(|x| ());

So if that's technically possible I think it'd be great. But I'm not sure it is? I guess it'd require monomorphization of the argument inside of the function body before knowing the size of the said argument, at least.
Anyway, would be glad to hear any opinion on this idea :)

So about the technical argument, I guess it'd require monomorphization of the argument inside of the function body before knowing the size of the said argument, at least. Which could cause issues with eg. mutually recursive functions both taking the same for <T: Trait> Fn(T) argument.
I think this could be solved by monomorphizing above the two functions at the same time, but that'd require monomorphizing in the call graph at a starting point and then computing the size, so no simple “take the number of monomorphs in this function and add the number of monomorphs for all called functions”, it'd have to be done cleanly.

For reference, this is what you get with {-# LANGUAGE RankNTypes #-} in Haskell. Some reading:

https://ocharles.org.uk/blog/guest-posts/2014-12-18-rank-n-types.html

Iirc, Haskell deals with RankNTypes by not monomorphizing things. cc @glaebhoerl on this.

(Sorry, I didn't read the previous two comments in detail, just responding with what I know per the cc:)
for<T> in where clauses would actually correspond to QuantifiedConstraints; iirc, there's nothing stopping that from being implemented in Rust on the code generation side at least. If you could pass generic functions around by value, e.g. fn foo(bar: fn<T>(T) -> T), that would indeed correspond to RankNTypes. I haven't actually tried to think through what happens if you try to make a trait object out of a for<T> bound, so not bar: fn<T> but bar: for<T> Fn (in Haskell, this would be putting a quantified constraint on an existential type variable, though I don't know if the particulars match up with Rust's trait objects in every detail), but it seems quite plausible that it would also be RankNTypes-alike.
To implement you RankNTypes you need either type erasure (what GHC does, and what Rust does for lifetimes), or intensional polymorphism (what Swift does - pass sizes, alignments, etc. around at runtime). (In both cases, trait vtables would also be passed at runtime.) I think the choices Rust has made (such as "DST" over "SST", and having specialization) make it rather non-trivial to retrofit it with either of those in a clean way, but it's been a long time since I was actively thinking about these things so I can't remember all the details. (And, e.g., the idea of ?DynSize wasn't around back then, I don't know whether that could maybe play a role.)

Hmm, so with your comment I think what I'm looking for is the equivalent QuantifiedConstraints? As the idea was not to try to make the for <T> Trait<T> types object-safe (that'd be a separate issue, that'd have to be taken along with making trait Foo { fn bar<T>(t: T); } object-safe).

Just, this is not universal quantification, but existential quantification. And I strongly want that to happen.

This looks to be a duplicate of #1481


Add mention

continue with #287
I'm trying to reset the merge file. Becasue the ding error is not casued by this commit, so I should reset the commit  3c9e1ea Merge branch 'master' of https://github.com/wechaty/wechaty into add_mention
As I have said in #287, thanks god, finally I mocked room data successfully...

I feel a little bit strange for the continuous error:
src » message » ready() contact ready for ToUserName

I feel strange for two reasons:

it tests well on my computer, but it failed in the test.
I didn't change any function about   m.ready() but it occurs test failed...

Coverage increased (+0.4%) to 56.13% when pulling f81e60a69fba5413027bb055a5fed1bd608cad8b on lijiarui:add_mention into 2f189369ac3bbef70631afba7085db043916691d on Chatie:master.

Coverage increased (+0.3%) to 56.066% when pulling e2a98e7b27a3ed492c6a5a296d0456c4c70c6af3 on lijiarui:add_mention into 2f189369ac3bbef70631afba7085db043916691d on Chatie:master.

Coverage increased (+0.3%) to 56.066% when pulling e2a98e7b27a3ed492c6a5a296d0456c4c70c6af3 on lijiarui:add_mention into 2f189369ac3bbef70631afba7085db043916691d on Chatie:master.

Coverage increased (+0.3%) to 55.091% when pulling 3c3c9ef92b05149ab5813248d454943102ccdcd3 on lijiarui:add_mention into 7fcb1287a062add28e40f1ca46aad3b8252ba6e3 on Chatie:master.

Coverage increased (+0.3%) to 55.091% when pulling 3c3c9ef92b05149ab5813248d454943102ccdcd3 on lijiarui:add_mention into 7fcb1287a062add28e40f1ca46aad3b8252ba6e3 on Chatie:master.

Coverage increased (+0.3%) to 55.091% when pulling fe29a6c154bc64a603d934c7954c538c38e2ea60 on lijiarui:add_mention into 7fcb1287a062add28e40f1ca46aad3b8252ba6e3 on Chatie:master.

Coverage increased (+0.3%) to 55.091% when pulling fe29a6c154bc64a603d934c7954c538c38e2ea60 on lijiarui:add_mention into 7fcb1287a062add28e40f1ca46aad3b8252ba6e3 on Chatie:master.

@Gcaufy @dcsan @zixia
At last, I choose mentioned() and change the name in this commit.

@lijiarui @zixia  hi guys , so long a conversation...
it seems we make things complicated,  wechat identify @ with following a special char which unicode code is  8197 .  you can use content.charAt(n) to check this, n is  the  char position following @username  .
we can rebuild this char by const at = String.fromCharCode(8197)
so we can use at  to identify the<EMAIL_ADDRESS>

@JasLin awesome!
I have just remembered this, maybe someone has talked this magic Unicode number before.

Wow, so then for a copy-and-paste, will the magic unicode be carried again
in the pasted new text?
Zainan Victor Zhou, 周载南
Senior Software Engineer, Tech Lead at Google
650-336-5691
On Thu, Apr 13, 2017 at 9:20 AM, Jas<EMAIL_ADDRESS>wrote:

@JasLin commented on this pull request.
@zixia https://github.com/zixia it looks like webwxapp team love to do
those things:)
In src/message.ts
https://github.com/Chatie/wechaty/pull/362#discussion_r111419377:

@example

const content = message.content()

const contactList = message.mentioned()

console.log(content)

console.log(contactList)

*/
public mentioned(): Contact[] {
let contactList: Contact[] = []
const room = this.room()
if (this.type() !== MsgType.TEXT || !room ) {

 return contactList

}

const atStringList: string[]|null = this.content().match(/@\S+ ?/g)

wechat use special char with unicode code 8197 to indetify real@
const atStrings = content.split(String.fromCharCode(8197))
if (atStrings.length === 0) return conatctList
const mentionList = atStrings.map(e => {
return e.slice(e.lastIndexOf('@') + 1)
})
.filter(e => !!e) // filter blank string

In src/message.ts
https://github.com/Chatie/wechaty/pull/362#discussion_r111421599:

  * Supposed a wechat contact called `lijiarui`

  * `fake@` means @ event is produced by typing '@lijiarui ' (mock mentioned behaviour by web wechat)

  * `real@` means @ event is produced by long press the contact's avatar (the real behaviour in cellphone)

  *

  * `fake@` return element.slice(1, -1), `real@` return element.slice(1)

  */

 return element.slice(1)

})
log.verbose('Message', 'mentioned(%s),get mentionList: %s', this.content(), JSON.stringify(mentionList))
mentionList.forEach(name => {

 const atRoomAliasList = room.memberAll({roomAlias: name})

 const atContactAliasList = room.memberAll({name: name})

 if (atRoomAliasList || atContactAliasList) {

   if (atRoomAliasList) {

     contactList.concat(atRoomAliasList)

   }

maybe we could reduce the second level if
contactList.concat(atRoomAliasList || [])
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Chatie/wechaty/pull/362#pullrequestreview-32664871,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnFRWZ-FAbkhvCnHGZz0620GlNnKjPhks5rvks7gaJpZM4MpcG2
.

I just test it on Mac OS. It’s carried again.
Generally speaking, OS should not data on Simple copy & paste, unless we using formatting copy & paste.

在 2017年4月14日，上午1:33，Zainan Victor Zhou<EMAIL_ADDRESS><EMAIL_ADDRESS>写道：
Wow, so then for a copy-and-paste, will the magic unicode be carried again
in the pasted new text?
Zainan Victor Zhou, 周载南
Senior Software Engineer, Tech Lead at Google
650-336-5691
On Thu, Apr 13, 2017 at 9:20 AM, Jas<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:

@JasLin commented on this pull request.
@zixia <https://github.com/zixia https://github.com/zixia> it looks like webwxapp team love to do
those things:)
In src/message.ts
<https://github.com/Chatie/wechaty/pull/362#discussion_r111419377 https://github.com/Chatie/wechaty/pull/362#discussion_r111419377>:

@example

const content = message.content()

const contactList = message.mentioned()

console.log(content)

console.log(contactList)

*/
public mentioned(): Contact[] {
let contactList: Contact[] = []
const room = this.room()
if (this.type() !== MsgType.TEXT || !room ) {
return contactList
}

const atStringList: string[]|null = this.content().match(/@\S+ ?/g)

wechat use special char with unicode code 8197 to indetify real@
const atStrings = content.split(String.fromCharCode(8197))
if (atStrings.length === 0) return conatctList
const mentionList = atStrings.map(e => {
return e.slice(e.lastIndexOf('@') + 1)
})
.filter(e => !!e) // filter blank string

In src/message.ts
<https://github.com/Chatie/wechaty/pull/362#discussion_r111421599 https://github.com/Chatie/wechaty/pull/362#discussion_r111421599>:

Supposed a wechat contact called lijiarui

fake@ means @ event is produced by typing '@lijiarui ' (mock mentioned behaviour by web wechat)

real@ means @ event is produced by long press the contact's avatar (the real behaviour in cellphone)

fake@ return element.slice(1, -1), real@ return element.slice(1)

*/
return element.slice(1)
})
log.verbose('Message', 'mentioned(%s),get mentionList: %s', this.content(), JSON.stringify(mentionList))
mentionList.forEach(name => {
const atRoomAliasList = room.memberAll({roomAlias: name})
const atContactAliasList = room.memberAll({name: name})
if (atRoomAliasList || atContactAliasList) {
if (atRoomAliasList) {
contactList.concat(atRoomAliasList)
}

maybe we could reduce the second level if
contactList.concat(atRoomAliasList || [])
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/Chatie/wechaty/pull/362#pullrequestreview-32664871 https://github.com/Chatie/wechaty/pull/362#pullrequestreview-32664871>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAnFRWZ-FAbkhvCnHGZz0620GlNnKjPhks5rvks7gaJpZM4MpcG2 https://github.com/notifications/unsubscribe-auth/AAnFRWZ-FAbkhvCnHGZz0620GlNnKjPhks5rvks7gaJpZM4MpcG2>
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Chatie/wechaty/pull/362#issuecomment-293969071, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJAm1e2Hvid-LmcqryzVEG_pEX6dmmDks5rvlxNgaJpZM4MpcG2.

@xinbenlv @Gcaufy  guys，could you help to review the band feature for me pls，it's simple ，
won't spent much time：）
https://github.com/Chatie/wechaty/pull/404

@JasLin @xinbenlv

so then for a copy-and-paste, will the magic unicode be carried again
in the pasted new text

I just tested, android won't carried again in the pasted next text.
Android OS; MIUI 7 6.6.3 | Android 4.4.2 KOT49H

Coverage increased (+0.3%) to 55.075% when pulling ab1867abc058c7e142089e3bfe6b867e89401244 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

Coverage increased (+0.3%) to 55.075% when pulling ab1867abc058c7e142089e3bfe6b867e89401244 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

Coverage increased (+0.3%) to 55.121% when pulling ab1867abc058c7e142089e3bfe6b867e89401244 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

Coverage increased (+0.3%) to 55.121% when pulling ab1867abc058c7e142089e3bfe6b867e89401244 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

@JasLin
btw, I'm trying to use room.say('@李佳芮' + String.fromCharCode(8197) + 'hello ') to mock mention, but phone identify this.

@JasLin @xinbenlv
this commit has handled contact name with @, like lijiarui@beijing@wechaty
besides this, @xinbenlv and I tested and get the following conclusion:

chrome web wechat doesn't have the function about  red tips  [You were mentioned]

client-side wechat have the function about red tips [You were mentioned], but it cannot identify the following cases:

two contacts with the same name(or roomAlias)
copy paste mention message

ios&android wechat have the function about red tips [You were mentioned], and can identify the following cases:

two contacts with the same name(or roomAlias)
copy paste mention message

Coverage decreased (-0.5%) to 54.257% when pulling 253025d4833e73a8290182b05eee5fce233dc143 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

@lijiarui Could you write a summary of all the details about the mentioned feature to the issue or a new wiki page?
I'd like to see:

how to identify the magic number
what's the different behavior between the platforms(android/ios/web)

You could also consider writing a blog post about this story too.

about message mention event:

Web
Mac PC Client
iOS Mobile
android Mobile

[You were mentioned] tip ([有人@我]提示)
✘
√
√
√

Identify magic code (8197) by copy & paste in mobile
✘
√
√
✘

Identify magic code (8197) by programming
✘
✘
✘
✘

Identify two contacts with the same roomAlias by [You were  mentioned] tip
✘
✘
√
√

Thanks all for approving this PR.
@lijiarui Could you please add comments to document the function? I want you to at least include the following part:

your message mention event table and
your explaination(reply/review) of your PR

Because your code is still hard to read/understand, it will be better with the comments.

Coverage increased (+0.3%) to 55.059% when pulling 0c828c22101fa1caee0f3594fb43e92978a88716 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

Coverage increased (+0.3%) to 55.059% when pulling 0c828c22101fa1caee0f3594fb43e92978a88716 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

@zixia Could you merge this time or give some suggestion?
thanks

Coverage increased (+0.3%) to 55.053% when pulling 5df7b787a93e02f35f293cfb2e694d2bffba3ba9 on lijiarui:add_mention into 3c6b5753f3b88a5609e4823756c9c6060d1c7ae6 on Chatie:master.

I'll pr room.say() by magic code, but as mention table showed, it won't get red [You were mentioned] tip on mobile wechat. While anyway, it should change.

Awesome, thanks!


Dev test: Energy Skate Park 1.0.0-dev.17 Graphs Screen

@arouinfar, @ariel-phet, @kathy-phet, @KatieWoe energy-skate-park/1.0.0-dev.17 is ready for a dev test of the Graphs screen. Document issues in https://github.com/phetsims/energy-skate-park/issues and link to this
issue.
Since the last dev test the Energy Graph was essentially re-written. And there are other new features on this screen too. The biggest one is skater playback after dragging the graph cursor. The screen should behave like

While running, the graph should record energy distribution and other physical state.
If you drag the cursor, skater and all other physical state should be restored to the current cursor time.
If you release the cursor to the left of the newest saved data on the plot, it will play back the simulation recording starting from where the cursor is dropped.
If you change any physical properties while the sim is playing back, all saved data to the right of the cursor should be removed.

Please test this part and the whole Energy graph in particular, but also please check the "Graphs" screen for other issues as well. Thanks!
Assigning @ariel-phet for prioritization.

General Dev Test

What to Test

Click every single button.
If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Try to include browser version numbers
If there is a console available, check for errors and include them in the Problem Description.
Run through the string tests on at least one platform, especially if it is about to go to rc.
Check the Game Up harness on one platform.

Focus and Special Instructions
[Provide further instructions here. If you have any further tests you want done or specific platforms you want tested,
list them here. Any behaviors you want QA to pay special attention to should be listed here.]

General Dev Test Platforms

[ ] Latest macOS, Chrome and Safari
[ ] Latest iOS, Safari
[ ] Windows 10, all browsers (IE dropped)
[ ] Latest Chrome OS, Chrome

These issues should have either use the labels "status:ready-for-qa" or "status:ready-for-review." If it is ready for
QA then close the issue if fixed. If ready for review then leave open and assign back to the developer.

Link(s)

Simulation

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

@ariel-phet @jessegreenberg I spent some time testing the Graphs screen, and I couldn't find any issues other than a minor pixel polish unrelated to the griddle work.

@jessegreenberg I think that is good enough testing for this issue. Assigning back to you to close.

OK sounds good - thanks!


Mobile Alarm Sensor

The mobile alarm time would be a great to have in home assistant! This works in other apps so should be possible for this app also.

For example, on Samsung native alarm app, the broadcast intents are:
com.samsung.sec.android.clockpackage.alarm.ALARM_STOPPED_IN_ALERT
com.samsung.sec.android.clockpackage.alarm.ALARM_ALERT

I've been testing this in a small stand-alone app to do exactly this and it works great.
On many phones you could use the android.app.action.NEXT_ALARM_CLOCK_CHANGED intent. In onReceive of the BroadcastReceiver you can then get the nextAlarmClock from the AlarmManager.
On Home Assistant's side I have added a input_datetime:
android_alarm:
  name: Android alarm
  has_date: true
  has_time: true

Request body of the POST to /api/services/input_datetime/set_datetime would be like:
{
    "entity_id": "input_datetime.android_alarm",
    "datetime": "2019-12-01 08:00:00"
}

Then you can use a trigger for automations like:
value_template: "{{ states('sensor.date_time') == ( states.input_datetime.android_alarm.attributes.timestamp | int - 900 ) | timestamp_custom('%Y-%m-%d, %H:%M', True) }}" # Trigger 15 minutes before android alarm datetime

This works really well, the intent gets fired whenever the next alarm changes. This includes the moment an alarm goes off, but also when alarms get disabled.

Does this work with Google home alarms?
I'd love to run an automation when my Google home alarm is turned off
On Wed, Dec 4, 2019, 11:23 AM Martijn van der Woude <
<EMAIL_ADDRESS>wrote:

I've been testing this in a small stand-alone app to do exactly this and
it works great.
On many phones you could use the
android.app.action.NEXT_ALARM_CLOCK_CHANGED intent. In onReceive of the
BroadcastReceiver you can then get the nextAlarmClock from the
AlarmManager.
On Home Assistant's side I have added a input_datetime:
android_alarm:
name: Android alarm
has_date: true
has_time: true
Request body of the POST to /api/services/input_datetime/set_datetime
would be like:
{
"entity_id": "input_datetime.android_alarm",
"datetime": "2019-12-01 08:00:00"
}
Then you can use a trigger for automations like:
value_template: "{{ states('sensor.date_time') == ( states.input_datetime.android_alarm.attributes.timestamp | int - 900 ) | timestamp_custom('%Y-%m-%d, %H:%M', True) }}" # Trigger 15 minutes before android alarm datetime
This works really well, the intent gets fired whenever the next alarm
changes. This includes the moment an alarm goes off, but also when alarms
get disabled.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant-android/issues/56?email_source=notifications&email_token=AAICE7EAUITXT6Q5ZXU4YVDQW7KQTA5CNFSM4JQMM3AKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEF5SYRQ#issuecomment-561720390,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAICE7CF7YKP4L2HAEAWITLQW7KQTANCNFSM4JQMM3AA
.

@martijnvdwoude we wouldn't hack it together with set state. The alarms should be exposes as a sensor via mobile_app with the timestamp device class.

@balloob Ah, yes much better. I just checked this repo out today, have just been digging through the code this afternoon. Might take a stab at it though!

As another reference @Johboh implemented a standalone app for this some while ago: https://github.com/Johboh/hassalarm


Queues do too much work during scheduling

See original issue on GitLab
In GitLab by [Gitlab user @danielsilverstone-ct] on Oct 10, 2018, 09:17
Description
James and I noted that his build was very very slow, indeed bst was consuming
100% of a CPU as the parent process, and the child processes were usually
mostly asleep.  There was a perceptible pause every time a job completed,
spanning perhaps 750 to 1000 milliseconds.  We straced and noted it was
statting refs in the cache a LOT and so we decided to investigate deeper.
By examination of the source code, anything calling Element._update_state()
can cause something to poke the cache up-to twice.  Mostly that's when the
element actually changes state (e.g. pull complete, build compelete, etc) but
it's also called whenever the job queues process things (at least most
thereof).
By examination, every time an element job of any kind completes, all the
waiting elements in all the queues end up examined for their status which
results in a call to Element.update_state() and thus a number of stat()
calls.
I added support to log every traceback from CasCache.contains() along with
the element name and whether the result was present/absent.  Each traceback
went to a new file named by the pid and a monotonic counter.  This allowed us
to easily count the number of times CasCache.contains() was called, for which
elements/cache-keys, and through what pathway in the code.
A very brief analysis was then undertaken which determined that the vast
majority of calls to CasCache.contains() come via Queue.pop_ready_jobs()
  File "/home/danielsilverstone/buildstream/buildstream/_scheduler/jobs/job.py", line 583, in _parent_child_completed
    self._scheduler.job_completed(self, success)
  File "/home/danielsilverstone/buildstream/buildstream/_scheduler/scheduler.py", line 240, in job_completed
    self._schedule_queue_jobs()
  File "/home/danielsilverstone/buildstream/buildstream/_scheduler/scheduler.py", line 326, in _schedule_queue_jobs
    queue.pop_ready_jobs() for queue in reversed(self.queues)
  File "/home/danielsilverstone/buildstream/buildstream/_scheduler/scheduler.py", line 326, in <genexpr>
    queue.pop_ready_jobs() for queue in reversed(self.queues)
  File "/home/danielsilverstone/buildstream/buildstream/_scheduler/queues/queue.py", line 228, in pop_ready_jobs
    status = self.status(element)
  File "/home/danielsilverstone/buildstream/buildstream/_scheduler/queues/buildqueue.py", line 75, in status
    element._update_state()
  File "/home/danielsilverstone/buildstream/buildstream/element.py", line 1137, in _update_state
    self.__strong_cached = self.__artifacts.contains(self, self.__strict_cache_key)
  File "/home/danielsilverstone/buildstream/buildstream/_artifactcache/cascache.py", line 99, in contains
    traceback.print_stack(file=fh)

The test undertaken

Buildbox project had 78 elements to build.
The total number of times that we looked for an element ref in the cache was
13853 and the most common pathway was related to the buildbox.bst element
coming via BuildQueue.status() from Queue.pop_ready_jobs() called 233
times (note: 78*3 == 234).  The number of times that a traceback included
that function was 12955.

In addition, we revisited James' situation (roughly 21000 elements, all
gathered into a single stack) and considered mechanisms to improve matters.  By
writing a crude wrapper script to read the stack and then issue bst build for
only 100 goal elements at a time, the build queue was limited to a maximum of
around 1200 elements (worst observed) and no perceptible pause was present when
jobs completed.
Summary

It is very hard to cache within the main process whether or not a previously
uncached element is now cached in the CAS.
Despite building a topological map of the pipeline, the main process does
not have any mechanism to use that data to reduce work done whenever a job
completes.
It would be valuable to have a limited-propagation event system which allows
the scheduler to inject changes in the state graph into the elements, having
them propagate state changes only as far as they are relevant.
Until this is done, Buildstream is crippled in situations where there are
large numbers of elements present in the queues, or where the cache is on a
high latency filesystem (such as NFS), and where jobs complete quickly.
The above situation is not going to be rare.  Especially when remote
execution allows for tens or hundreds of workers to run simultaneously and
where large fetch queues are able to run quickly thanks to small inputs and
fast network connectivity.

Steps to reproduce
Add this patch:
diff --git a/buildstream/_artifactcache/cascache.py b/buildstream/_artifactcache/cascache.py
index 3e63608b..db47ad3d 100644
--- a/buildstream/_artifactcache/cascache.py
+++ b/buildstream/_artifactcache/cascache.py
[[Gitlab user @]](https://gitlab.com/)[[Gitlab user @]](https://gitlab.com/) -48,6 +48,7 [[Gitlab user @]](https://gitlab.com/)[[Gitlab user @]](https://gitlab.com/) from . import ArtifactCache
 # Limit payload to 1 MiB to leave sufficient headroom for metadata.
 _MAX_PAYLOAD_BYTES = 1024 * 1024

+counter = 1

 # A CASCache manages artifacts in a CAS repository as specified in the
 # Remote Execution API.
[[Gitlab user @]](https://gitlab.com/)[[Gitlab user @]](https://gitlab.com/) -89,8 +90,17 [[Gitlab user @]](https://gitlab.com/)[[Gitlab user @]](https://gitlab.com/) class CASCache(ArtifactCache):
     def contains(self, element, key):
         refpath = self._refpath(self.get_artifact_fullname(element, key))

+        import traceback
+        from os import getpid
+        ret = os.path.exists(refpath)
+        global counter
+        with open("/tmp/traces/{}-{}".format(getpid(), counter), "a") as fh:
+            fh.write("!!! {} {} {}\n".format(element.name, key, ret))
+            traceback.print_stack(file=fh)
+        counter = counter + 1
+
         # This assumes that the repository doesn't have any dangling pointers
-        return os.path.exists(refpath)
+        return ret

     def extract(self, element, key):
         ref = self.get_artifact_fullname(element, key)

Then mkdir /tmp/traces and bst build any moderately sized project.  You can then look at all the tracebacks in /tmp/traces.
Other relevant information

BuildStream version affected: All

In GitLab by [Gitlab user @danielsilverstone-ct] on Oct 10, 2018, 09:18
changed the description

In GitLab by [Gitlab user @LaurenceUrhegyi] on Oct 15, 2018, 13:23
marked this issue as related to #466

In GitLab by [Gitlab user @LaurenceUrhegyi] on Nov 6, 2018, 11:59
irc log from related discussion:
https://irclogs.baserock.org/buildstream/%23buildstream.2018-10-10.log.html

In GitLab by [Gitlab user @LaurenceUrhegyi] on Feb 26, 2019, 17:00
mentioned in merge request !1070

In GitLab by [Gitlab user @marge-bot123] on Mar 21, 2019, 14:55
closed via merge request !1070

In GitLab by [Gitlab user @marge-bot123] on Mar 21, 2019, 14:55
mentioned in commit bc1b971e169f2fc721c61276c071640caee6a3f8


cmake script to generate ctest definitions from catch tests

#719
this is a cmake script which can be used for automatic CTest generating by parsing c++ sources with CATCH tests.
When you'd like to add CTest test you are usually doing this:
enable_testing()

add_test(...)
add_test(...)

Instead of the adding each test manually, I suggest to try using of this script which parses and adds found CATCH tests into cmake project
include(ParseAndAddCatchTests)
ParseAndAddCatchTests(${PROJECT_NAME})

actually , this script is a simplified version of  Fraser999's scripts

I tested this out and I am probably going to merge this in, but I am not sure why it requires tags, even though it does not use them.

Give me a little bit time more, to review a tags functionality, probably it was required in initial version with a specific of the project, if yes, I'll remove this

Would it not be easier to run the Catch executable with --list-just-test-names and read the output (which will be each test name on its own line)?

Would it not be easier to run the Catch executable with --list-just-test-names and read the output (which will be each test name on its own line)?

if I understand you and problem right, the configuration of cmake/ctest testing should be at cmake configuration step , even before project build, so no executable on this step

but I am not sure why it requires tags, even though it does not use them.

if I understand your question right, the tags (in CATCH terminology)  = LABELS in terms of CTest, you can look at the output, the tags are added as LABELS property and can be used for the running a group of the tests,
but really there is unused variable: CamelCaseProjectName,
I'm going to remove this and re-submit

@amigo421 My problem with requiring tags (as opposed to optionally using them) is that for example in my current project we have almost no tags and instead we use Catch's -# option to run tests in individual test files.
If the script used them when they are present, but did not require them, I would be much happier with merging it.

you arer right, script currently requires a tags, I'll let you know here, when I'll have fixed this and make tags optionally

do you need something else from my side? current version should work with optional tags

No, I just needed to find some free time to test the changes. It is now in, in contrib/, because scripts/ is meant for development scripts.

okay, got it. let me know if case of any steps required from my side

This script does not recognize tests when the opening curly bracket is on a new line after a the Catch macro. For example, the script will fail to recognize this tests:
{
// tests here
}```

got this, going to fix
thank you

sorry for so long delay in one symbol fix :)
please review

@amigo421 You should open up a new PR for the changes. Otherwise it looks reasonable.


[SPARK-33653][SQL] DSv2: REFRESH TABLE should recache the table itself

What changes were proposed in this pull request?

This changes DSv2 refresh table semantics to also recache the target table itself.
Why are the changes needed?

Currently "REFRESH TABLE" in DSv2 only invalidate all caches referencing the table. With #30403 merged which adds support for caching a DSv2 table, we should also recache the target table itself to make the behavior consistent with DSv1.
Does this PR introduce any user-facing change?

Yes, now refreshing table in DSv2 also recache the target table itself.
How was this patch tested?

Added coverage of this new behavior in the existing UT for v2 refresh table command

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37283/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37283/

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

Test build #132685 has started for PR 30742 at commit caa99fe.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37288/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37288/

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

Test build #132680 has finished for PR 30742 at commit 8f8482a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #132685 has finished for PR 30742 at commit caa99fe.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #132779 has started for PR 30742 at commit 2975e56.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37381/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37381/

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

Test build #132779 has finished for PR 30742 at commit 2975e56.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

@dongjoon-hyun sure - it's done

Test build #132782 has started for PR 30742 at commit 3d8d353.

Could you make a backporting PR to branch-3.1 please, @sunchao ?

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

@dongjoon-hyun sure - opened #30769

Test build #132782 has finished for PR 30742 at commit 3d8d353.

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

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


docs(readme): sync README.md from npm-package-template

badges

Current coverage is 100.00%

Merging #86 into master will not affect coverage as of 3eb53c2

@@            master     #86   diff @@
======================================
  Files            2       2
  Stmts            9       9
  Branches         0       0
  Methods          0       0
======================================
  Hit              9       9
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 3eb53c2

Powered by Codecov. Updated on successful CI builds.


Can not edit roles via yaml

Internal Reference: SURE-3694
Only via edit yaml - not edit config:
When you try to edit a newly created Role and click 'Save' button, UI shows {"data": "404 page not found \n"} and you can not save the change.
This issue happens to Global Role, Cluster Role, and Project/Namespaces Role.
Steps:

Go to CONFIGURATION > Users&Authentication > Roles
Create a new Global Role, for example with 'get' for 'apps'
Click the 3-dot icon of the newly created Global Role, and click 'Edit YAML'
Add 'list' permission, and click 'Save'
Confirm you see the error saying * {"data": "404 page not found \n"}*

@Shavindra Can you pls link the PR for this issue?

@sowmyav27 I couldn't replicate this issue.

@Shavindra please link the issue for edit yaml button not showing up due to blocked-put since we will revisit this when that issue is fixed.

Issue is, we do not support 'edit as yaml' for Norman resources in the new UI.
We used to use Steve for this, which is why edit appeared, but this was switched over to Norman.
Until we add support for yaml editing of Norman resources, this won't work - note 'Edit as YAML' no longer appears, so you can't get the error in this issue.

I'm closing this issue because as Neil noted above, it sounds like this is not a supported use case at this time, and as I understand it, we are not going to add support for editing Norman resources due to the planned deprecation of Norman. After Norman is deprecated, this would switch back to Steve, but I think we can cross that bridge when we come to it.


Undefined method decode if an attachment is added to an email

Hi, i met bellow error, which blocks me to use great Mailcatcher to catch email with an attachment.
A bit of Google digging reveals similar problem as a ruby 1.9 bug:
http://stackoverflow.com/questions/17854144/why-do-i-get-undefined-method-encoding
Error backtrace:
/var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/body.rb:165:in `encoded': undefined method `decode' for nil:NilClass (NoMethodError)
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/message.rb:1813:in `encoded'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/body.rb:153:in `block in encoded'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/parts_list.rb:11:in `block in collect'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/parts_list.rb:11:in `each'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/parts_list.rb:11:in `collect'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/body.rb:153:in `encoded'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/message.rb:1813:in `encoded'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/check_delivery_params.rb:12:in `check_delivery_params'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/network/delivery_methods/smtp.rb:98:in `deliver!'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/message.rb:2141:in `do_delivery'
        from /var/lib/gems/1.9.1/gems/mail-2.6.3/lib/mail/message.rb:238:in `deliver'
        from /var/lib/gems/1.9.1/gems/mailcatcher-0.5.12/bin/catchmail:50:in `<top (required)>'
        from /usr/local/bin/catchmail:23:in `load'
        from /usr/local/bin/catchmail:23:in `<main>'

Can you provide a full source message which produces this problem?

If you can supply a message which reproduces this problem please feel free to reopen the issue. :-)


Add a nicer indication when at the bottom/top of the feed

On web and iOS, we've been experimenting with showing a black Zulip logo at the top/bottom of the feed (you can see it on chat.zulip.org easily; we also use this as the place to show loading indicators if new messages are being fetched on either end.  We should probably do the same on Android to replace the whitespace at the bottom (and put it at the top as well).

@timabbott  I'd like to work on this. So basically we'll be using a custom progressbar at the bottom and on top when loading messages.

I think that's right.

Fixed via #341


sarasa-gothic: 1.0.16 -> 1.0.18

Description of changes
https://github.com/be5invis/Sarasa-Gothic/releases/tag/v1.0.18
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.


Use OSGi service loader mediator instead of osgi resource locator

When separating the api and the implementation, the service loader was introduced. This perfectly well suited mechanism is known to have problems in OSGi environments.
To overcome this, https://github.com/eclipse-ee4j/jaf/commit/4d84d6b7d30681d0cc8b4c1e4d1c93c84049aa1c added the hk2osgi service locator, which requires lots of special coding.
The problem has actually successfully been addressed before by http://docs.osgi.org/specification/osgi.enterprise/7.0.0/service.loader.html with the reference implementation (with an easier to read description) SPI Fly. What it boils down to is that instead of having to maintain the complicated code, you can simply use the service locator after adding some statements to MANIFEST.MF.
While these is not a runtime bug, because you can use Jakarta activation in an OSGi environment (once you have found out that you need to include the hk2 jar), I think it is a bug with respect to the design.

Yes, this would be really helpful! +1 from me


SEARCH_LIMIT in elastic.py is not configurable

Hi,
https://github.com/m110/grafcli/blob/51e535dc67ac5bd59c307505f0a58d3526c9b6a1/grafcli/storage/elastic.py#L13 - if you have got more than 100 dashboards (100 is hardcoded default) you cannot get them apparently
Could it be configurable? Thank you, .zp.

I'm dropping backends other than API in the new release, so will just close this one.


in create_PSD, add refractive indices for beads and unknow autmatically

It is currently up to the user to provide a complete table of refractive indices to use for each population when calling create_PSD. However, the table returned by read_refraction_csv does not have entries for beads and unknown, so we added entries with the same index as the picoeuk population. It would be more convenient if create_PSD added those entries automatically.

Will add these values to the table CSV file itself rather than embedding these decisions in the code.


[vm] Provide a feature flag to make linking of natives lazy

Motivation
Adding new native functions to a running chain is cumbersome because a 2-staged roll out is needed: before the Move code with the new function can be loaded into a given node, that node must have upgraded so the native function's implementation is available.  We would rather like to control such upgrades by on-chain flags, that is allow an unbound native function but avoid calling it before we know the native code has been rolled out.
This PR adds a feature flag lazy_natives to the VM which if set, allows unbound native functions during bytecode verification time, but instead only errors if such a function is actually called. The change is safe because the linkage check is only postponed, not skipped. There is no performance implication because the current code loader does not cache resolution of natives, so that happens anyway already at execution time again.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Existing tests.

Because this is behind a feature flag, we should be able to land this with just a few approvals (it has a bit of an urgency), but feedback is welcome also after landing. I think this might be useful also for other chains.

Have you had a chance to test this? Looks good to me.

I'm not familiar with the older e2e test infra in the Move repo. This uses MVIR a language which I don't know and which I found counterintuitive to learn. I think eventually, we should push our new package-system based e2e-move-tests framework from aptos-core down to here. For now, I was planning to fly blind and test on aptos-core side.

I think we should probably make the behavior of lazy binding the default in Move. Will put this on the agenda of the next maintainers meeting.
native fun stuff_v1();
native fun stuff_v2();

fun stuff() {
  if (chain_version() == v2) { stuff_v2() } else { stuff_v1() }
}