No progress when publishing many QoS 2 messages.

This is another issue encountered after #37 was resolved.
My test case publishes 500 QoS 2 messages via the libmosquitto client API and waits for the publish handshakes to complete before continuing.  This works fine when using a mosquitto server with max_inflight_messages=20 on both the server and client side.  When I substitute the mosqitto server for a VerneMQ server (with max_inflight_messages=20), only the first 20 handshakes complete, and the rest don't make further progress.

Thanks for reporting.
max_inflight_messages is buggy (not completely or correctly implemented) in the version you're using..
the current version of vmq_server should fix this (although we haven't tested if we get the exact same semantics as mosquitto).
Upgrading to the newest vmq_server is a bit of hack currently. If you want to try please do the following:
rm -Rf _build/default/lib/vmq_server
./rebar3 upgrade vmq_server
./rebar3 upgrade vmq_server (yep twice)
make rel
ensure to delete the data/meta folder (as we introduced a backward incompatible change for the subscriber/retain storage)
you're now bleeding edge, maybe this will work for you, if not we'll fix that for the next release.

@jemc, what is the status of this issue? Are you experiencing the same in 0.11.0?

@dergraf - is it possible yet to upgrade and test the latest server by "normal" means, or do I still have to use the "hack" upgrade process described above?

@jemc It's best to start from a fresh clone, then the hack wont be necessary anymore. Sorry for the inconveniences.

@dergraf - This appears to still be a problem when working from a fresh clone - the same test is timing out in the same way.

can you share the test script you're using?

@dergraf - Sure, it's the test suite for a public Ruby library I maintain, so it's available for anyone to run.
Here's how:

Install Ruby - it should be a modern version (I currently use 2.2.2p95, but >= 2.0 should work).
Install Bundler - gem install bundler.
Clone the library - git clone https://github.com/jemc/ruby-mosq.git && cd ruby-mosq
Install runtime and development dependencies - bundle install
Run the test suite (also downloads and compiles the libmosquitto library on the first invocation) - bundle exec rake

For me, the tests hang on the specific test, then fail after a 30 second timeout, with output that looks like this:
Mosq::Client ..................F

  1) Mosq::Client when connected can subscribe to many topics and publish many messages
     Failure/Error: subject.publish_many(topics.zip(payloads), qos: 2, retain: false)
     Mosq::FFI::Error::Timeout:
       timed out - waiting for publish responses
     # ./lib/mosq/client.rb:421:in `fetch_responses'
     # ./lib/mosq/client.rb:249:in `publish_many'
     # ./spec/client_spec.rb:195:in `block (3 levels) in <top (required)>'

Finished in 31.06 seconds (files took 0.39432 seconds to load)
19 examples, 1 failure

If you just want to read the source for the test case that fails, you can find it here.

Tried it with the test cases of your client library and found the problem. :)
Here is the thing. The max_inflight_messages in mosquitto  only cares about the delivered publishes and handshakes. In VerneMQ we use max_inflight_messages to also control incoming publishes... but this might be wrong as we can control the message rate using another feature as well.

fixed in 0.12.0

Yep, the test cases now pass for me as well.  Thanks for your attention!


Context Deadline Exceeded errors after upgrade from 1.8.4 to 1.9.4

General Information

Cilium version (run cilium version)
root@ip-192-168-109-221:/home/cilium# cilium version
Client: 1.9.4 07b62884c 2021-02-03T11:45:44-08:00 go version go1.15.7 linux/amd64
Daemon: 1.9.4 07b62884c 2021-02-03T11:45:44-08:00 go version go1.15.7 linux/amd64
Kernel version (run uname -a)
root@ip-192-168-109-221:/home/cilium# uname -a
Linux ip-192-168-109-221.eu-central-1.compute.internal 4.14.198-152.320.amzn2.x86_64 #1 SMP Wed Sep 23 23:57:28 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Orchestration system version in use (e.g. kubectl version, Mesos, ...)
EKS 1.18
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.9-eks-d1db3c", GitCommit:"d1db3c46e55f95d6a7d3e5578689371318f95ff9", GitTreeState:"clean", BuildDate:"2020-10-20T22:18:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Link to relevant artifacts (policies, deployments scripts, ...)
 We noticed that a lot of pods were not coming past the "ContainerCreating" step, the error was "failed to create pod sandbox, agent failed with error 429 context deadline exceeded"
We see a lot of context deadline exceeded errors in cilium pod logs, such as:
level=warning msg="Not processing API request. Wait duration for maximum parallel requests exceeds maximum" error="context deadline exceeded" maxWaitDuration=15s name=endpoint-create parallelRequests=5 subsys=rate uuid=a2d93315-7fd4-11eb-ad1b-0aebd42dfb00
level=info msg="API call has been processed" error="timed out while waiting to be served with 5 parallel requests: context deadline exceeded" name=endpoint-create processingDuration=0s subsys=rate totalDuration=15.000345293s uuid=a2d93315-7fd4-11eb-ad1b-0aebd42dfb00 waitDurationTotal=0s

After a few days, the container creating issue vanished, however the context deadline issues remains.
In the logs we find something like
level=info msg="Releasing key" key="[k8s:component=bg-3 k8s:io.cilium.k8s.policy.cluster=default k8s:io.cilium.k8s.policy.serviceaccount=default k8s:io.kubernetes.pod.namespace=mynamespace]" subsys=allocator
level=info msg="Removed endpoint" containerID= datapathPolicyRevision=0 desiredPolicyRevision=7 endpointID=1211 identity=14335 ipv4= ipv6= k8sPodName=/ subsys=endpoint

Is our configuration wrong? Why is cilium not able to process the requests correctly? Please advice

At a quick glance at the other issues I could find https://github.com/cilium/cilium/issues/14403, however, I am not sure if the pod that doesn't show up in the CEP resource has the same root cause or not.

Hi @zhujik, I looked at the sysdump and I can confirm that there are two missing CEPs that exist as pods:
bg-scheduler-59b589569-dqmkm
external-dns-59bd489bb4-g5bxx

The first one is mentioned in your post. However, we cannot understand what may have happened for them to go missing without the logs. Do you by chance still have the logs around?
Also, msgs like the following indicate the API rate-limiter kicking in to rate-limit endpoint-creations. That's what a 429 status code means. These msgs are normal if you have a large burst of new pods. Additionally, the rate-limiter can tuned if large bursts are common in your environment. Please see https://docs.cilium.io/en/v1.9/configuration/api-rate-limiting/#id1 for more details.
level=warning msg="Not processing API request. Wait duration for maximum parallel requests exceeds maximum" error="context deadline exceeded" maxWaitDuration=15s name=endpoint-create parallelRequests=5 subsys=rate uuid=a2d93315-7fd4-11eb-ad1b-0aebd42dfb00

Since some time has passed, are you still facing this issue? Have you been able to upgrade to v1.9.5?

@christarazi thank you very much for your response.
In the meantime we pushed the upgrade to 1.9.x back and instead only updated to 1.8.8 without major problems. Unfortunately the logs are lost. The hint to the ratelimit seems suspicous, we rotated the pods in the cluster as is recommended on major cilium upgrades (wasn't there a restart-pods options when doing so), however, this was at most dozens of pods, not hundreds or thousands and we kept 1.9.4 installed on our dev cluster for multiple days without the problems going away. They were even worse, we schedule uptimes of our pods and having a few pods scheduled repeatedly lead to the problems described with pods not being registered and invoking the error.
We will make another attempt to upgrade cilium in the forseeable future and see if the error happens again..


Design better top end-cap

Need top end cap that can:

[x] Mate with 1.5" schedule 40 PVC. To be epoxied in place.
[x] Cover and provide waterproofing for electronics.
[x] Allow for easy access to electronics (e.g., using 1.5" gripper).
[x] Provide flange onto which solar panel can be fastened and held at appropriate angle for a given latitude. Angle is ~ 30º in Wilmington, NC. Solar panel is https://www.adafruit.com/product/5367.
[x] Entry for solar panel cable into main PVC housing.

New end cap designed in https://github.com/COAST-Lab/Open-Water-Level/commit/88754392173e74e9530ac1191b0084599ffcc6ce.
See https://github.com/COAST-Lab/Open-Water-Level/tree/main/Enclosure/PVC-End-Caps for files. Top end cap still does not have and will (likely need):

[ ] Drain hole(s) to allow rain to drain off of end cap and not pool around the gripper plug
[ ] Hole(s) to route solar panel cable into housing

Design for 4 of 6 holes in https://cdn-shop.adafruit.com/product-files/5367/5367_Voltaic+Systems+P105+R7D.pdf.

Side of end-cap parallel to short side of panel is 133.2 mm between holes and 2 x 7.4 mm to edge = 148 mm.
Side of end-cap parallel to long side of panel is intended to accommodate two of three mounting holes on both sides. The distance required to cover the two holes is 103.6 mm between holes and 2 x 7.9 mm = 119.4 mm. This edge is on the hypotenuse of a 30-60-90 triangle. The sketched side is adjacent to the 30º angle. Therefore, that side measures 119.4 mm  x cos(30º) = 103.4 mm.

Closing with https://github.com/COAST-Lab/Open-Water-Level/commit/f3a72e136955216568e4b4c922427dae63a2731e


Progress dialog when build is taking place.

When the packaging action is taking place, a progress dialog should be shown to alert the user that the operation is taking place.
This should display any error message that occurred during building.

Support added in 96093da84112545eeea434d1985750ba458512d5


 On a side note it is also no longer possible to omit the type argument of cachedImplicit when used lazily.
import shapeless._

trait MyType[T] { def foo: T }

object MyType {
    implicit val myTypeString: MyType[String] = new MyType[String] {
        override def foo: String = "bar"
    }
}

object Val extends App {
    implicit val ci: MyType[String] = cachedImplicit

    println( ci.foo )
}

object LazyVal extends App {
    implicit lazy val ci: MyType[String] = cachedImplicit[MyType[String]] // Type inference no longer possible

    println( ci.foo )
}

object Def extends App {
    implicit def ci: MyType[String] = cachedImplicit[MyType[String]] // Type inference no longer possible

    println( ci.foo )
}

> run
[info] Updating {file:/Users/Taig/Desktop/test/}test...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] Compiling 1 Scala source to ./test/target/scala-2.11/classes...
[warn]./test/src/main/scala/Test.scala:24: method ci in object Def does nothing other than call itself recursively
[warn]     implicit def ci: MyType[String] = cachedImplicit[MyType[String]] // Type inference no longer possible
[warn]                                                     ^
[warn] one warning found
[warn] Multiple main classes detected.  Run 'show discoveredMainClasses' to see the list

Multiple main classes detected, select one to run:

 [1] Def
 [2] LazyVal
 [3] Val
number: 3

[info] Running Val
bar
[success] Total time: 6 s, completed 28.02.2016 00:42:53
> run
[warn] Multiple main classes detected.  Run 'show discoveredMainClasses' to see the list

Multiple main classes detected, select one to run:

 [1] Def
 [2] LazyVal
 [3] Val
number: 2

[info] Running LazyVal
[error] (run-main-1) java.lang.StackOverflowError
java.lang.StackOverflowError
	at LazyVal$.ci(Test.scala:18)
	at LazyVal$.ci$lzycompute(Test.scala:18)
	at LazyVal$.ci(Test.scala:18)
	at LazyVal$.ci$lzycompute(Test.scala:18)
	...
[trace] Stack trace suppressed: run last compile:run for the full output.
java.lang.RuntimeException: Nonzero exit code: 1
	at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) Nonzero exit code: 1
[error] Total time: 2 s, completed 28.02.2016 00:42:57
> run
[warn] Multiple main classes detected.  Run 'show discoveredMainClasses' to see the list

Multiple main classes detected, select one to run:

 [1] Def
 [2] LazyVal
 [3] Val
number: 1

[info] Running Def

Thanks for that. Are you able to work around this for now by dropping the lazy qualifier?

It's not a blocker for me since I can move the cache definitions into the companions now. I wasn't planning to do that now, but plans just changed.

One observation ... cachedImplicit should always be used with a val (lazy or otherwise) rather than a def ... I'll see if I can catch and reject that case.


refactor: fix anchroring wording

Coverage remained the same at 99.855% when pulling f7f4a71b5273b56974df3c38188e37ac2184a8fa on deathiop:typo into 0b168cd7bc4d580dc691cb78f4667daa067ba227 on maxatome:master.


bpf: Allow CT creation on FIN

After policy changes, the conntrack table is being cleared and adjusted.
However, the proxy may still be closing connections to/from the endpoint.  The
packet exchange required for thne closing was not allowed because CT
re-creation was prevented for FIN and RST packets. Given that the policy table
is always consulted on every packet, it is safe to create a CT entry even on
RST/FIN to not slow down the connection termination.
Signed-off-by: Thomas Graf<EMAIL_ADDRESS>

test-me-please

test-me-please


Switch colored dependency to termcolor

To reduce dependency count and build time and uniformize color behavior in logs and outputs we should use termcolor instead. More up to date and already a dependency of env_logger. colored is just a dependency of node
termcolor v1.1.2
├── clap v3.1.18
│   ├── clap_complete v3.1.4
│   │   [build-dependencies]
│   │   └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   ├── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   ├── lnpbp v0.6.0
│   │   ├── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   │   ├── lnp-core v0.6.0 (https://github.com/LNP-BP/lnp-core#9846b554)
│   │   │   └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   │   │   [build-dependencies]
│   │   │   └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   │   └── lnp2p v0.6.0 (https://github.com/LNP-BP/lnp-core#9846b554)
│   │       └── lnp-core v0.6.0 (https://github.com/LNP-BP/lnp-core#9846b554) (*)
│   ├── lnpbp v0.7.0
│   │   [build-dependencies]
│   │   └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   └── microservices v0.6.1
│       └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│       [build-dependencies]
│       └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
│   [build-dependencies]
│   └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
└── env_logger v0.7.1
    ├── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)
    └── microservices v0.6.1 (*)
    [build-dependencies]
    └── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)

colored v2.0.0
└── farcaster_node v0.2.0 (/home/joel/devel/farcaster/node)

Closing as the transition is not quite equivalent.


Editing Tutorial code to show transfer of dynamic data.

Hi! I am interested in using this repo to demonstrate transfer of data from a medical device (i.e. a pacemaker), however I noticed that the tutorial code only updates the 'consumer' with a state change that increments consistently. If you could point me in the direction of how to alter the tutorial so that it displays actual data sent from the 'provider' it would be greatly appreciated!
Also in line 62 of provider.py I noticed that with the refactored code the
sdcDevice = sdc11073.sdcdevice.sdcdeviceimpl.PublishingSdcDevice(...)
should be changed to
sdcDevice = sdc11073.sdcdevice.sdcdeviceimpl.SdcDevice(...)
Without the correction a 'module not found' error is thrown

Hi! You only need to extend the onMetricUpdate function. In the tutorial it only prints the handles of updated metrics, but the parameter "metricsByHandle" is a dictionary with key=handle, value=updated object.

Hi! Thanks for the advice! I was able to output the updated value in the base data format (i.e. or type int or string and not NumericStateContainer) by using the following line:
print("Updated value = "+str(metricsByHandle[oneHandle]._MetricValue.Value))
However, if I'm not mistaken the '_MetricValue' is somewhat improper to call, right? If so is there a better way to access the base data format?

yes, there is a "metricValue" property. Please be aware that metricValue can be None, so metricValue.Value will raise an Exception in that case.


Socket keeps disconnecting

When I start the client everything runs fine.
[12:32:06 INF] [EventSubClient] - [EventSubscriptionManager]  Event Sub ready: Client Id: ** accessToken ** session **
[12:32:07 INF] [EventSubClient] - [EventSubscriptionManager] Cleared subscription:stream.online
[12:32:08 INF] [EventSubClient] - [EventSubscriptionManager] Cleared subscription:channel.chat.message
[12:32:09 INF] [EventSubClient] - [EventSubscriptionManager] Added extra sub: stream.online
[12:32:09 INF] [EventSubClient] - [EventSubscriptionManager] Added extra sub: channel.chat.message
[12:32:09 INF] [EventSubClient] - [EventSubscriptionManager] Check run.

However, after 2 minutes the OnUnexpectedConnectionTermination event is fired with the message [EventSubClient] - [Watchdog] Server didn't respond in time. Then I disconnect and connect again the client and all of this happens again and again.

It's not always happening, but fairly often.

I will try to investigate. It might be an issue with missbehavior of watchdog.
As documentation states: keep alive message and notification are the only sources of resets of keep alive connection.
Ping is totaly separate and while reconnecting the watch dog is restarted automatically.
It might be I read something wrong or there might be some other issue...
https://dev.twitch.tv/docs/eventsub/handling-websocket-events/
Event sub client is sensitive on timing and its best to have it somewhere out of heavy tasks.
Optionaly separate thread.
The best option might be separate background service.

I need to spin up new client dynamically, they run in the main thread but every callbacks is non blocking (.ConfigureAwait(false))

Same issue when I don't have any event handlers set

I need to spin up new client dynamically, they run in the main thread but every callbacks is non blocking (.ConfigureAwait(false))
Deactivation of synchronization context and creation of new thread by it is good solution.
You can try to provide faster comunication using EventSubClientOptions
So far, as I tested the basic follow subscription, the program run correctly.

Next week I will push update with direct access to websocket messaging for better debuging.

#14 Should help diognose issue.

With last few updates, regarding exposure of raw messaging. #15
Expansion of diagnostics and fixes of websocket and events you should be able to diagnose problem.
Happy hunting.

We have probably found the issue.
Sometimes there would be multiple messages within buffer. Solution will me in PR and friday it will be added to nuget.


js-is-sticky selector gets added late

Hey, I ran into an issue or designed feature. So when I have an element that is underneath a already sticky element and I add an offset to it to support not going over the first element. Seems like js-is-sticky is only being applied when the parent element has scrolled passed the top viewport and not when the element gets actually stuck. Not sure if this is working as expected or if it's an actual bug. You can see this on https://dollarshaveclub.github.io/stickybits/ where the stuck with the fire beside it gets added later than when the element actually gets stick.

The landing page uses an old version of Stickybits. Someone should update it.
That is by design—but should be fixed. Do you want to do it @nthibert?

I can look into it, just wanted to make sure what the logic was before actually modifying the code

@nthibert thanks and thanks for checking in.

@nthibert this is the line that may need to be updated:

https://github.com/dollarshaveclub/stickybits/blob/master/src/stickybits.js#L222

Happy to review a PR if the line is incorrect.


JavaScript map interaction

Is there some way to interact with the map directly? I have found a few fields in the WebView class which could be useful for me, but they are private. I am about the field WebEngine webEngine and JSObject jsMapView. For now I need to add the primitives onto the map, but I can not find any way to do it.

I have found only one way to do it: getting from childrens of MapView some instance of WebView and using this, but it is not better way to correctly interact with it

MapView is a JavFX component that display a map and for the user it only has the Java interface. That MapView uses a WebView and WebEngine is an implementation detail which is hidden from the user and I think the internals should not be leaked to the outside.
As for the jsMapView field: This is a JSObject that refers to the custom Javascript object that exists in the browser. Accessing this from Java to have additional functionality only makes sense if the Javascript object itself is modified accordingly. I don't think I will lossen the access to these objects.
If you need some functionality added to the map this should be done via the Java interface, if you need something that is not existent you are welcome to create an issue for this missing feature or if you forked this repo and have a modification you might to contribute, a PR is welcome.


kover introduces test errors

Adding the kover gradle plugin introduces new test errors never seen before in our project.
One example is this:
java.lang.ClassCastException: class [I cannot be cast to class java.lang.Boolean ([I and java.lang.Boolean are in module java.base of loader 'bootstrap')
	at de.engram.wtimmo.importer.openimmo.OpenImmoExtensionsKt.getDisplayValue(OpenImmoExtensions.kt:235)

Here is the getDisplayValue extension value (error is in the line with "fieldValue as Boolean"):
val Befeuerung?.displayValue: String
    get() {
        if (this == null) return ""
        val strings = mutableListOf<String>()
        Befeuerung::class.java.declaredFields.forEach { field ->
            field.isAccessible = true
            val fieldValue = field.get(this)
            if (fieldValue != null && fieldValue as Boolean) { // <== Error is here
                strings += field.name.capitalize()
            }
        }
        return strings.joinToString(", ")
    }

This is just one example. 10 new failures are introduced by this plugin.
Java version used:
❯ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment Corretto-<IP_ADDRESS>.1 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM Corretto-<IP_ADDRESS>.1 (build 11.0.13+8-LTS, mixed mode)

Gradle version used:
❯ ./gradlew -version
------------------------------------------------------------
Gradle 6.6.1
------------------------------------------------------------
Build time:   2020-08-25 16:29:12 UTC
Revision:     f2d1fb54a951d8b11d25748e4711bec8d128d7e3

Kotlin:       1.3.72
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM:          11.0.13 (Amazon.com Inc. 11.0.13+8-LTS)
OS:           Linux 5.11.0-40-generic amd64

Hi,
both JaCoCo and IntelliJ agents using instrumentation of the classes  for collecting coverage. During instrumentation, synthetic fields are added to the class, so when you call 'getDeclaredFields` you can see them.
As a workaround, you can filter out synthetic fields in your code and thereby not process them:
            if (field.isSynthetic) return@forEach


Some times the generated text does not reach to eos token

I fine-tuned llama3 8B on my dataset and everything is fine. The little problem is that, the generated text some times (maybe 5 in 100) does not reach to eos and the generated text is incomplete. What is the reason?

Oh sadly that'll occur in rare circumstances (5% in your case) thats the issue of LLMs :( I would normally truncate them at some max tokens

Do you mean max_seq_length parameter? in my cases as I checked and mentioned in my question, it does not reach to that point, and truncated suddenly.


About the evaluation in the neuro-symbolic paper

Hi,
Thanks so much for your great work. I am wondering what's the evaluation (loss function) you used in the Table1 in the neuro-symbolic paper? The NLL score looks much lower than the values in Table 3 in this paper: https://arxiv.org/abs/1603.05106 (even though the splitting is different).
Moreover, are you planning on releasing code for the NS model? :)
Thanks!

Hi,
Thank you for your interest in our paper. We will be releasing code for the neuro-symbolic generative model sometime in the next 1-2 months after an upcoming paper submission. The reason that our log-likelihoods look different from the DeepMind paper is that they are reporting Bernoulli pixel likelihoods on the image directly, whereas our model is reporting probabilities for the latent stroke parameters. In our upcoming paper we will be reporting analogous image log-likelihoods (marginalized over latent stroke parameters).
Thanks again for the interest.

Hi @ZENGXH - we've now released the source code for our neuro-symbolic generative model: https://github.com/rfeinman/GNS-Modeling


Cadence HiFi 5 NN Library:

Integrated the leaky_relu optimized kernel.
BUG=integrate HiFi 5 optimized kernels

Closing old PR. Let's reopen if needed.


follow-up PR comment

just making an issue so I don't lose track of this unresolved comment: https://github.com/Lay3rLabs/avs-toolkit/pull/25#discussion_r1780897292

I think this got fixed in the latest version anyway with better helpers (like admin)


Usage of --profile requires -Z unstable-options

Trying to run "cargo screeps build", I'm getting:
~/screeps (master) [1]> cargo screeps build
cargo_screeps::run: compiling...
error: usage of `--profile` requires `-Z unstable-options`
error: cargo-web build failed: build failed

Adding -Z unstable-options doesn't help either:
~/screeps (master) [1]> cargo +nightly -Z unstable-options screeps build
cargo_screeps::run: compiling...
error: usage of `--profile` requires `-Z unstable-options`
error: cargo-web build failed: build failed

Rust version:
~/screeps (master) [1]> rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/user/.rustup

installed toolchains
--------------------

stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
1.52-x86_64-unknown-linux-gnu

installed targets for active toolchain
--------------------------------------

wasm32-unknown-unknown
x86_64-unknown-linux-gnu

active toolchain
----------------

nightly-x86_64-unknown-linux-gnu (default)
rustc 1.56.0-nightly (0035d9dce 2021-08-16)

screeps.toml:
default_deploy_mode = "upload"
[upload]
auth_token = "[...]"
branch = "default"

When I add a .cargo/config.toml with
[unstable]
unstable-options = true

then the error message changes to:
~/screeps (master)> cargo screeps build
cargo_screeps::run: compiling...
error: conflicting usage of --profile=dev and --release
The `--release` flag is the same as `--profile=release`.
Remove one flag or the other to continue.
error: cargo-web build failed: build failed

It works if I remove the --release from https://github.com/rustyscreeps/cargo-screeps/blob/master/src/build.rs#L41, but I imagine that I'm getting a debug build then and I'd prefer a release build.
Also, I'm not actually getting a working debug build but I'm running into https://github.com/rustyscreeps/cargo-screeps/issues/29 then

Me too


will you release the code and the dataset?

Sorry for the delay. The code and the dataset are placed on my company's servers, and I have been
busy with my master thesis in recent months. Yesterday I just returned to my company，and I will release the code and the dataset as soon as possible.


Build failed with error NETSDK1004 for F# ConsoleApp

Repro steps

Create a new F# Console application via VS

Restore & Build

Expected behavior
Restore and Build succeeded

Actual behavior
1.Build failed
 error NETSDK1004: Assets file 'C:\Users\e2euser\Source\Repos\ConsoleApp13\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.

2.Dependencies are missing

3.It should show the project name

Note: Create a new F# Console application via CLI, restore, build and run succeeded.
Related information
C:\Users\e2euser>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview4-011024
 Commit:    ac32f7536d

Runtime Environment:
 OS Name:     Windows
 OS Version:  6.1.7601
 OS Platform: Windows
 RID:         win7-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100-preview4-011024\

Host (useful for support):
  Version: 3.0.0-preview4-27601-05
  Commit:  97567a0e5f

.NET Core SDKs installed:
  2.1.602 [C:\Program Files\dotnet\sdk]
  2.2.202 [C:\Program Files\dotnet\sdk]
  3.0.100-preview4-011024 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNe
tCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNe
tCore.All]
  Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNe
tCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNe
tCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview4-19180-01 [C:\Program Files\dotnet\shar
ed\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.
App]
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.
App]
  Microsoft.NETCore.App 3.0.0-preview4-27601-05 [C:\Program Files\dotnet\shared\
Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-preview4-27529-17 [C:\Program Files\dotnet\
shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

@Jepson109 .NET Core 3.0 in VS 2019 is a bit complicated. The new project dialog will show templates from the SDK if you have it installed, but that SDK will not actually be built against in VS unless you explicitly check the setting to use Preview SDKs.

If you have that checked and this reproduces then we can investigate.
The error message indicates an issue in the SDK and not F# tooling, but it should all "just work".

@cartermp, this was tested against D16.1/28801.116 (16.1.0 preview 1.0) and hence the checkbox should be checked automatically. @Jepson109 , please make sure to also provide the VS information in the bug.

Thanks! We'll take a look

@richaverma1, the checkbox has been  checked automatically and the VS information is shown below.

I've been able to reproduce on 16.1 builds. F# and .NET SDK-style projects aren't getting restored.

Tracking here for visibility. We believe there is a bug in the project system causing .NET SDK-style F# projects to load with the old F# project system, which naturally doesn't work.

@cartermp, I just hit this as well (for Core 2.2). In fact, it happened after loading an VS2017-created hello-world .NET Core Console application into VS2019.
Assuming I messed up (it showed empty as in the screenshot above), I deleted it and recreated it using all the defaults for an F# Console .NET Core application. Trying to run failed with above message.
This is indeed VS 16.1 Preview 1 Enterprise. However, the OP shows .NET Core 3.0, but mine shows .NET Core 2.2:
.NET Core SDK (reflecting any global.json):
 Version:   2.2.300-preview-010046
 Commit:    d6f4b3dc39

Runtime Environment:
 OS Name:     Windows
 OS Version:  6.1.7601
 OS Platform: Windows
 RID:         win7-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.300-preview-010046\

Host (useful for support):
  Version: 2.2.3
  Commit:  6b8ad509b6

Is there a workaround for this? I'm experimenting with some commands, but can't find it yet.

@abelbraaksma There's no workaround, this is the same as #6476 and has been resolved by the project system, slated for Preview 2.


Skip test cases not supported by CVM

@johnsongeorge-w I would appreciate your input on which test cases should be skipped. I know some features such as AN plan to be supported in the future while others will never be supported on CVM.

@LiliDeng LGTM

@LiliDeng LGTM

testing

By default if run gen2+verify_lsvmbus case, its result is skipped.
CVMSuite.verify_lsvmbus: SKIPPED  deployment skipped: capability doesn't support requirement: ['security_profile/requirement not supported in capability. requirement: allowed:False,items:[SecurityProfileType.Standard], capability: allowed:True,items:[SecurityProfileType.CVM]']
with this pr, the result is failed. @kamalca  is it expected?
CVMSuite.verify_lsvmbus: FAILED   deployment failed. LisaException: BadRequest: Use of ConfidentialVM setting is not supported for the provided image.

By default if run gen2+verify_lsvmbus case, its result is skipped.
CVMSuite.verify_lsvmbus: SKIPPED deployment skipped: capability doesn't support requirement: ['security_profile/requirement not supported in capability. requirement: allowed:False,items:[SecurityProfileType.Standard], capability: allowed:True,items:[SecurityProfileType.CVM]']
with this pr, the result is failed. @kamalca is it expected? CVMSuite.verify_lsvmbus: FAILED deployment failed. LisaException: BadRequest: Use of ConfidentialVM setting is not supported for the provided image.

I did not change CVM enabled requirement used by that test case and I did not edit the requirements for that test case. My PR was the only difference between the runs?

By default if run gen2+verify_lsvmbus case, its result is skipped.
CVMSuite.verify_lsvmbus: SKIPPED deployment skipped: capability doesn't support requirement: ['security_profile/requirement not supported in capability. requirement: allowed:False,items:[SecurityProfileType.Standard], capability: allowed:True,items:[SecurityProfileType.CVM]']
with this pr, the result is failed. @kamalca is it expected? CVMSuite.verify_lsvmbus: FAILED deployment failed. LisaException: BadRequest: Use of ConfidentialVM setting is not supported for the provided image.

I did not change CVM enabled requirement used by that test case and I did not edit the requirements for that test case. My PR was the only difference between the runs?

my bad. your changes look good.

@johnsongeorge-w I would appreciate your input on which test cases should be skipped. I know some features such as AN plan to be supported in the future while others will never be supported on CVM.

@johnsongeorge-w  could you please share your comments before merging code.

@kamalca let know when it is ready for merging.


init commmand printing to console without execution not work

As a user I wish to copy command
I run without execution command: Init New Project Quick
I get Error:
PW Helpers: Workspace folder is not empty.
I know that I have PW already installed.
I wish to only print command to terminal so in this case it should be not blocked

Fixed: 1.2.11


Make sure our tools have basic accessibility tags

We should run a pass at our tools and the code generating our templates and make sure we have the required accessibility tags added (like alt tags to images, labels for form elements etc')
This is a future task and is set as a reminder for a future release.

[ ] Sandbox
[ ] Playground

@carolhmj - I assigned you, let's talk about it when you have the time.

https://forum.babylonjs.com/t/make-sure-our-tools-have-basic-accessibility-tags/52749


Added Japanese translation.

The item names were taken from the wiki. Other parts were translated by me (native Japanese speaker).

thanks!


FHIR Authentication

Tasks:

write proposal/requirements
review Mike's work
build FHIR based auth for APIs that are used for server-to-server interactions.

What's left todo as of May 24:
Current code is in branch jim/fhir2
See also PR #1033
Features:

Implement RSA  (ES works already)
Add alg check to FindSenderKeyInSettings!!!  (TokenAuthentication line 210)
Reject public keys with kty that is not RSA or ES
Support ppk files (currently it supports pem files) in Sender helper lib.

Testing:

Complete Tests for for all the conditions that cause fails/unauth in FindSenderKeyInSettings.
Complete Tests for the Scope class.  (test that the client is hard tied to the secret and to the client header)
Clean up SenderUtilsCommand (todos)
Test the generation and storage of json with  --json command.
add TestReportStream tests:
--  generating a sender token and test getting a valid token from the token endpoint.
-- test of pre-auth
add unit test for Sender.addJwkSet.

I'm now thinking the first step is to get this code checked in and merged.  Since its not in use yet, a simple do-no-harm test should be sufficient to get it out there.     I think maybe the .sql file will have to be fixed.
Also, a horrible merge is awaiting because this branch has gotten old and stale.


Remove push trigger on nightly tests

🗣 Description
Removed the push trigger.
Closes #1007.
💭 Motivation and context
Nightly tests are supposed to run nightly.
🧪 Testing
Checked pipeline and nightly workflows.
✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] PR targets the correct parent branch (e.g., main or release-name) for merge.
[x] Changes are limited to a single goal - eschew scope creep!
[x] Changes are sized such that they do not touch excessive number of files.
[x] These code changes follow the ScubaGear content style guide.
[x] Related issues these changes resolve are linked preferably via closing keywords.
[x] All relevant type-of-change labels added.
[x] All relevant project fields are set.
[x] All relevant functional tests passed.
[x] All automated checks (e.g., linting, static analysis, unit/smoke tests) passed.

✅ Pre-merge checklist

[ ] PR passed smoke test check.
[ ] Feature branch has been rebased against changes from parent branch, as needed
[ ] Resolved all merge conflicts on branch
[ ] Notified merge coordinator that PR is ready for merge via comment mention

✅ Post-merge checklist

[ ] Feature branch deleted after merge to clean up repository.
[ ] Verified that all checks pass on parent branch (e.g., main or release-name) after merge.

@nanda-katikaneni , this is ready to merge.


perf(refinementList): Stop creating URL for hidden refinements.

This actually fixes all my perf issues on the SteamDB demo.

props are frozen so you cannot change them inside render, otherwise: legit change.

@pixelastic You need some modifications for this PR to be merged

@vvo  I've updated the PR to not update the this.props directly, but it still fails on Travis, while it's seems to be working locally.

Hmm the functional tests seems broken, I would say this PR breaks something because the functional tests are looking for [href=Appliances something] and they cannot find it anymore.
See the readme for how to launch the functional tests

I fixed the functional test. I actually had to make the change (passing a method to generate the url instead of the generated url) to each widget that was using the RefinementList component.

looks very nice and clean.
Should help a lot performance wise.
My mistake for generating the urls upfront in a desperate try to avoid render() calls by doing deep comparisons while since you activate the urlSync, every facet value is different at every user interaction (query is different, url is different, render)

LGTM, I had only one comment, let me know what you think @pixelastic

I say we wait for it to become a bottleneck before fixing it ;)


I shouldn't need SAML for all of my organizations In order to use the quickpick experience

Steps

NOTE: You need a fresh non-SAML'd session

choose the open repository from GitHub

Get prompted for Auth
DON'T SAML ANYTHING - in otherwords, you just wanna see your personal repos

Expected
I see best effort results (just personal repos)
Actual
I get the error notification to SAML
Proposal
maybe show a QPI that says: “$(warning) you have not SAML’d for at least one org so results are a subset” kind of thing

Closing as duplicate of https://github.com/microsoft/vscode-remote-repositories-github/issues/113, which was addressed in the February release.


Integrate wobbly edge

What is this PR trying to achieve?
Adding the 'wobbly-edge' component to the hero image at the top of the article page.
What does it look like?

Quick note on that... I know its WIP. The wobbly line should appear below the header image caption/info. There is some white space between image/caption and start of main body. Just fyi :)

Not sure if this is relevant to our accessibility discussion, but I found this https://www.webaccessibility.com/best_practices.php?best_practice_id=616. The animation is neither flashing nor blinking, and it does not last more than 5 seconds per cycle - but would we want to stop the animation after a certain number of times? People who tend to use scroll as they're reading may find the wobble each time to be an annoyance, or may cause cognitive burden. What do you think @gestchild @davidpmccormick ?

It could perhaps only wobble on/after the first scroll? Not sure how this would work with elements further down the page (not the hero image) that had a wobbly edge. Maybe the logic could be it-wobbles-once-after-the-first-time-it's-been-visible-in-the-viewport.
As far as I can tell, the things with wobbly borders on aren't sticky (i.e. they don't persist on the page) so once you've scrolled past them you shouldn't continue to be affected by them. So that might be overkill.


[CORE-1347] Fix pachctl verbose logging

picks the correct string that has the error level

Closed- not needed due to https://github.com/pachyderm/pachyderm/pull/8411


TS-4008 - Enhance logs for Twilio SMS failures

@TT-sZhang @TT-Markus pushed another function, hoping to be able to use it.
It's basically a messaging service in Twilio, that manages the sending pool / distribution for us.
1 Sender ID in our request, and Twilio uses a dynamic pool to pick the actual sending number


Add environment variable or config option to specify the central instance

Currently this is tied only to https://my.zerotier.com.   For dev & testing purposes, I'd like to be able to point it at a private instance of Central.

Will try to get to this later this week.


ReferenceError: You are trying to import a file after the Jest environment has been torn down.

I'm using supertest to test api route in a node/typescript application.  When launching the test, the server crashes with this error:

ReferenceError: You are trying to import a file after the Jest environment has been torn down.

Here is the test:
import request from "supertest";
import { server } from "../index";

describe("GET /user/:id", () => {
  it("return user information", (done) => {
    request(server)
      .get("/user/123")
      .set("Cookie", ["_id=567;locale=en"])
      .expect(200, done);
  });
});

The jest config (which has a linter error by the way: 'module' is not defined.):
module.exports = {
  roots: ["<rootDir>/src"],
  testMatch: [
    "**/__tests__/**/*.+(ts|tsx|js)",
    "**/?(*.)+(spec|test).+(ts|tsx|js)",
  ],
  transform: {
    "^.+\\.(ts|tsx)$": "ts-jest",
  },
  testEnvironment: "node",
};

The script line in package.json:
"test": "jest --runInBand",

How to fix this?

I'm using the exact same configuration with Express/typescript with no problem. Would you mind sharing the full error log?


php export qoutes sometimes is bad

System information:

Operating system (distribution) and version: all
DBeaver version: 7.1.4
Additional extensions

Describe the problem you're observing:
I try to export this data
"password_hash" => "$2y$12$y4fh4zApgf6gVd4KmvnWUO0ct61aaiF7zTw/KVpHpx./E5VlcXC.W"
This not use in php in dollar sign. My suggession  use an apostrophe instead of a quotation mark.
for example:
'password_hash' => '$2y$12$y4fh4zApgf6gVd4KmvnWUO0ct61aaiF7zTw/KVpHpx./E5VlcXC.W'

@stivehu I can add a new parameter to the php export settings to select the type of quotes. But this will change ALL quotes in the output file. Is this solution convenient for you? or do you only want to change quotes for a specific data type?

That's perfect solution!

In this case t he ticket is closed

verified


Decouple regression test module from Fabric8 Maven Plugin

These regression tests were basically written to test build and deployment, redeployment aspects of fabric8 maven plugin. It sounds to have some overlap with integration tests in general for f8m-p. These were written to test overall integration of fabric8 maven plugin with fabric8io. These booster projects are some getting started applications which are on the Openshift.io page. Each test basically clones the repository from Github and test all the deployment/redeployment scenarios of fabric8 maven plugin.
But as pointed out by @rhuss in this pull request:
If I understand right, the regression tests are using various other booster projects which are in turn using f-m-p. This is a circular dependency which must not be there. It's not problem if f-m-p would have external test projects which are under full control of f-m-p and are created only for the purpose of testing f-m-p. However, testing other projects which can be developed independently must not be the scope of tests within f-m-p as they can break the f-m-p build any time (and without even being f-m-p fault). Also, f-m-p must not depend on any project using f-m-p, if you want to keep it as an independent product.
If anything changes in these booster projects, something breaks in these regression tests and whole CI starts breaking for no reason. It has happened two times already. So, It's not a good idea to keep them in fabric8 maven plugin source code. I have the following doubts:

So even if we want to move this module outside fabric8 maven plugin, where should we keep it? Shall we keep it in fabric8io Github org? Or maybe the org which is maintaining those booster projects?

How shall they be run? I can't think of any way of integrating them again with CI running on pull requests. Or maybe we can have some job which would run these tests on a daily/weekly basis triggering email alarms if something breaks.

@rhuss @rohanKanojia has summarized most of the aspects about regression tests.
Step 1:
To begin with, we can move the regression test module to the other/own repo in fabric8/right org and implement the scheduled test that could invoke tests periodically. In this way, we can achieve the decoupling objective without interrupting PR flows of F8MP and booster. Let's seek feedback from this test setup and see if it's sufficient to serve the testing purpose.
Step2:
If step1 is not sufficient then in subsequent steps, we can invoke tests on PR/Merge Github events from F8MP and eventually booster application repo. Where in PR chain from FMP/Booster repo to regression test repo could trigger a test job. Though need to evaluate but fabric8 Jenkins CI/CD has a bunch of utilities to achive such kind work.

+1 for Step 1, guess this will be already a big step in the right direction.
Step 2 would be a nice automation enhancement which can be done then if required.

For step 1, Travis provides builds at regular intervals  independently of whether any commits pushed to the repository. We're using travis for current setup, we can configure it to run periodically .

So I've raised a pull request for decoupling regression tests from fmp:-
I've also decoupled regression-tests from fabric8-maven-plugin into a separate repository which can be found here: https://github.com/rohanKanojia/fabric8-maven-plugin-rt
You can find it's build history here: https://travis-ci.org/rohanKanojia/fabric8-maven-plugin-rt/builds . We can configure Travis to run periodic builds against latest fmp master and email results to required stakeholders.

@rohanKanojia awesome, very cool !

@rohanKanojia Thanks for the PR.
I have two points in mind right now

It should be in fabric8io org I think. Not somewhere else.
I think we should run it for every PR on FMP so that the author of the PR should get an idea. Running periodic builds on master should not give any feedback to the author and will provide the feedback to stakeholders later that one of the last few PR's you have merged has some problem and is breaking.

Correct me if I am wrong. Thanks @hrishin @rohanKanojia

It should be in fabric8io org I think. Not somewhere else.

yes, appears like.

I think the feedback should be to the author that he/she can fix it in the same PR rather than stakeholders fixing later.

I see a good point here. We don't want to get rid of PR builds really, however, let's see how periodic builds work for regression tests and as mentioned will introduce it if required. Otherwise unit tests and integration tests are taking care of essential things.

Cross-triggering of test across repos might be possible, but reporting back on the original PR as a GitHub status test is probably not that easy. We would have to write a step updating a status check via the GitHub API (including auth).
Also, how would we be able to run the integration tests over there when f-m-p is not pushed to a Maven repo because it is build because of a PR
Let's do it step-wise:

Move the ITs into a separate repository
The IT build needs to access the latest f-m-p source code for running the tests. That's a bit tricky.

One solution could be:

For the build is on master for f-m-p we add an extra final step:

Update a file in the IT repo with the latest commit id of master (either directly via GitHub API & curl or by temporarily checking the IT repo out locally and git commit & push)
When this file gets committed and pushed and it is different, this will trigger a Travis/Circle CI build in the IT repo automatically (no need for a scheduled test)
The IT Test run will checkout exactly this version from the updated commit id, builds fabric8-maven-plugin locally and then runs the IT tests.
In case of an error the test should create an issue in fabric8-maven-plugin with the log and problem.

How does this sound ?

I'm building a SNAPSHOT image of fmp before tests execution:
https://github.com/rohanKanojia/fabric8-maven-plugin-rt/blob/master/src/main/resources/scripts/prepare-test-environment.sh#L62

Yes, I've seen that. But still, you would need to trigger a scheduled build with Travis, which is probably not so easy (or even impossible). So might be better to communicate the concrete commit ID directly via a file which then automatically would trigger a test run.
And we could add a final step to create an issue in f-m-p repo if the build fails. Better than an E-Mail as somebody has to take care about.

@rhuss @rohanKanojia We discussed something similar in Arquillian community, not the same but similar.
In our case what we wanted to do is that when a new release of arquillian core was done, Arquillian projects that depend on core, could be automatically tested with this new version.
With Travis it is possible to trigger any other build using the Rest API they are offering, even there are people who share a shell script that does it.
https://docs.travis-ci.com/user/triggering-builds/
https://github.com/stephanmg/travis-dependent-builds
So if you want you can skip the creation of the file and just trigger a build directly from Travis pipeline.


object.relation_id= should clear old relation

I often modify relations by setting the underlying relation_id field. I have to do this all over the place to work with forms in Rails. We're usually talking about hidden form fields that contain the id, populated via autocomplete, drag and drop, etc. Unfortunately setting the relation_id field doesn't flush the old relation proxy.
Test:
require "rubygems"
require "mongoid"

Mongoid::Config.from_hash({"database" => "mtest"})

class Library
  include Mongoid::Document
  field :name
end
class Book
  include Mongoid::Document
  belongs_to :library
end

one, two = Library.create(:name => "one"), Library.create(:name => "two")

book = Book.new(:library => one)
p book.library.name
book.library_id = two.id
p book.library.name

Expected:
"one"
"two"
Actual:
"one"
"one"
The workaround for this problem involves strategically calling reload_relations, like so:
book.attributes = params[:book]
book.reload_relations

Unfortunately that will also flush out any embedded relations that might've gotten populated by attrbitutes=, so sometimes I have to do something more strenuous:
book.attributes = params[:book]
book.attributes.each_pair do |key, value|
  if key =~ /^(.*)_id$/
    relation = $1
    if book.instance_variable_defined?("@#{relation}")
      book.remove_instance_variable("@#{relation}")
    end
  end
end

This is especially difficult to deal with inside callbacks. I basically have to defensively clear out relations all over the place.

Yeah, we shouldn't have to reload the object's relations after setting a relation's id field. Thanks for reporting this, mate.

Filing the bug inspired me to finally create a comprehensive workaround:
module Mongoid
  module Attributes
    alias :write_attribute_old :write_attribute

    def write_attribute(name, value)
      write_attribute_old(name, value)

      # amd - clear relation if necessary
      if name.to_s =~ /^([a-z_]+)_id$/
        relation = $1
        if instance_variable_defined?("@#{relation}")
          remove_instance_variable("@#{relation}")
        end
      end
    end
  end
end

I like to post these just to disgust Durran. :)

@gurgeous Unfortunately you cannot disgust me with bug reports, feature requests, constructive criticism, suggestions, or workarounds... Now if you tweeted and just said "Mongoid sucks" then that might be a different story. :)
I'm looking at this now and am concerned about the change in behaviour, and think the fix should probably be in 2.4.0 as an enhancement vs. a 2.3.x bug fix. I'm going to flag for that.

Closing as #1435 covers the entire scenario.


Stops after "Jekyll Building..."

Describe the bug
I have a Jekyll project setup. When I click Jekyll Run in the output window it stops after "Jekyll Building..."
To Reproduce
Steps to reproduce the behavior:

Create jekyll site with jekyll new test-login --blank
Click Jekyll Run
See error

Expected behavior
I expect to have the same output as running Jekyll Serve in the terminal. It builds and opens the site in browser.
Desktop (please complete the following information):

OS: Windows 10
Browser: Chrome

Additional context
It works fine if I run jekyll serve -l in the terminal window.

I'm sorry for the issue being auto closed. I've been busy in the past few months. I'll look into and provide a fix as soon as I can.

Is this issue fixed?


Cannot use a DBContext property in a condition for a dynamic filter. Value dosen't update after initial execution.

Description
Let's say I need to filter a table that contains a column call "clientid". I got a DBContext file that look like this :
public class SampleModel: DbContext
{
       public Guid ClientId { get; set; }

       public SampleModel(Guid clientId) : base("SampleModel")
       {
            ClientId = clientId;
       }

       .......................

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
            .........
           modelBuilder.Filter("ClientFilter", (Client client, Guid clientId) => (client.Id == clientId), () => this.ClientId);
       //Let's put true all the time
        modelBuilder.EnableFilter("ClientFilter", () => true));
    }
}

As you can see, i'm passing the clientId that need to be use in the filter condition directly in the constructor of my dbcontext. Then, I set the value to the property of my dbcontext. Finally, i'm using this property in my dynamic filter.
When I execute this line of code in my program.cs, the value of "clientid" get set properly the first time the model is actually call, but the second time, it's still using the first value. It's like the dbcontext is cache, and i cannot change it's value.
           //The filter will use this clientid "80fa1dc5-d6de-e811-8607-0003ffb4c0d6"
            using (var model = new SampleModel(new Guid("80fa1dc5-d6de-e811-8607-0003ffb4c0d6"), ppp.GroupId))
            {
                var test = model.Clients.ToList();
            }
            //Even if i change the client id, the filter is still using the previous client id..
            using (var model = new SampleModel(new Guid("81FA1DC5-D6DE-E811-8607-0003FFB4C0D6"), ppp.GroupId))
            {
                var test = model.Clients.ToList();
            }

So, my understanding, is that I cannot store the client id that i want to use directly in the constructor of my dbcontext. It's seem the filter process will use the one in the cache and keep using the first client id I input the first time the model was invoke for eternity. Or, until i close my application.
Where is the best place to store the clientid, to make sure the dynamic filter will pick up the appropriate value when it execute? This value will change quite often during the execution of a single method.
Best regards,
EF 6.4.0
Latest version of dynamic filters.

Hello @plemm98 ,
I believe you are looking for the SetFilterScopedParameterValue
You will be able to set it in your context constructor.
See some examples:

https://entityframework-dynamicfilters.net/set-filter-scoped-parameter-value
https://github.com/zzzprojects/EntityFramework.DynamicFilters/blob/9d3900e2cc4398decdab44f2c7b4b6392a205c7a/src/EntityFramework.DynamicFilters.Example/Program.cs#L50
https://github.com/zzzprojects/EntityFramework.DynamicFilters/blob/749bb0f86e411a72c5f5e085bc8b99509b33c2e7/src/DynamicFiltersTests.Shared/ContextFilterTests.cs

Let me know if that helped you to find your solution.
Best Regards,
Jon

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function


Fix integer overflows

Using Math.min to limit it to the max value of an integer.
Math.round(double a) returns a long and casting a long which is greater than the max int to an int will do all kind of things but the things you want it to do.

Perfect, thanks. I thought I caught all of these


Callback identity is too fragile for CustomPaint

Many of the widgets that use CustomPaint were spamming repaints because
CustomPaint repaints when the identity of the onPaint callback changes, which
it does every build for StatelessComponents.
This patch changes CustomPaint to use a CustomPainter, similar to the new
custom layout widgets. The CustomPainter has a shouldRepaint function along
with its paint function. This function gives clients explicit control over
when the custom paint object repaints.

@Hixie

in the painter setter, you should unconditionally markNeedsPaint when oldPainter is null.

this is great. LGTM.


Set -derivedDataPath when building the EditorExtension Xcode project

Previously, we were sometimes seeing a build directory being created in the swift-syntax sources directory, which contained dummy input files that didn’t have a trailing newline, which caused swift-format to complain about their formatting.
And while at it, also make sure that we clean the temporary directory that we create to verify the generated files.

@swift-ci Please test


Osx safari Unexpected keyword 'const'. Const declarations are not supported in strict mode.

I receive following error in safari and chrome on devices like iPhone 6S
SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.

I found that problem is in material-color library that is used in this project. Added comment to closed issue https://github.com/shuhei/material-colors/issues/13
To compile my app I use webpack2. I do exclude node_modules from compilation so I cant use babel plugin to parse it http://stackoverflow.com/questions/33878586/safari-babel-webpack-const-declarations-are-not-supported-in-strict-mode

I solved my problem by adding another rule for the material-colors
{
      test: /\.js$/,
      include: [
        path.resolve(process.cwd(), "node_modules/material-colors/")
      ],
      loader: 'babel-loader',
      query: {
        plugins: ['transform-runtime', 'transform-es2015-block-scoping'],
      }
    },

Nice workaround @darkowic, how do you deal with slow build times though?

I do not use this library anymore (not directly at least :) ). And also this is fixed by #317


The header is not included as a row. Consider adding it back as a row

On large tables, header is skipped. Is there a way to disabled this behaviour? If no, how to add the header back please?
Invoking large table row guess! set TATRFormatConfig.force_large_table_assumption to False to disable this.
The header is not included as a row. Consider adding it back as a row.

from gmft import CroppedTable, TableDetector, AutoTableFormatter, AutoFormatConfig
from gmft.pdf_bindings import PyPDFium2Document
import pandas as pd
import sys
import io

detector = TableDetector()

config = AutoFormatConfig()
config.enable_multi_header = True
config.semantic_spanning_cells = True

formatter = AutoTableFormatter(config=config)

def ingest_pdf(pdf_path): # produces list[CroppedTable]
    doc = PyPDFium2Document(pdf_path)
    tables = []
    for page in doc:
        tables += detector.extract(page)
    return tables, doc

def extract_tables_to_csv(tables):
    output = io.StringIO()
    for table in tables:
        ft = formatter.extract(table)
        df = ft.df()

        # Write the DataFrame to CSV
        df.to_csv(output, index=False, header=output.tell()==0)

    return output.getvalue()

# Ingest PDF and extract tables
tables, doc = ingest_pdf(pdf_path)
csv_content = extract_tables_to_csv(tables)

with open(output_path, 'w', newline='') as f:
        f.write(csv_content)

doc.close()

Hi, I'm trying to reproduce the bug now. Would you mind if you submitted an example pdf? Submission form. Thanks.

Under closer examination, most of the time it is a harmless warning that doesn't change behavior. But in some cases there is a bug so I will fix


Forcing the creation of files

I'd like to be able to run a plopfile add action and overwrite the existing files. I've tried setting abortOnFail to false without any luck. I imagine I can delete the existing files in my custom action, but am curious if there is already a built-in way to do this. I couldn't find docs for abortOnFail.
Edit: this is specifically for use with the add function.

yes, i need to add some documentation to the README about abortOnFail. Basically, if true, is says "if this step fails, don't execute anything further, just fail everything because I failed."
To answer your question. I suppose you could use a modify task and have the regex select the entire contents of the file for replacement. I've never personally tried it, but it should work.
I wouldn't want to make overwriting the default behavior because I've often tried to plop a service or helper and had it fail because someone else had already created a service with that name. I would NOT want my mistake to replace their service with a blank one. :-)


datapath/linux: protect against concurrent access in NodeValidateImplementation

The linuxNodeHandler.neighByNode map is also protected by
linuxNodeHandler.mutex in all other code paths. Protect access to it in
`(*linuxNodeHandler).NodeValidateImplementation as well.
Fixes #12460
Fixes: 6c06c51926bc ("node: Remove permanent ARP entry when remote node is deleted")

test-me-please

test-me-please

Coverage decreased (-0.007%) to 36.947% when pulling 4b1cf841b3a479a921ccab3cb7c02d691e537346 on pr/tklauser/datapath-neigh-by-node-concurrent into 53c17cd91fbabfa4490e367862b6c5a9f238ff1d on master.

Thanks! I assume you have checked all other paths where nodeUpdate() is called?

Yes, all other code paths calling nodeUpdate already hold the mutex.


Create collegetsaritsino.txt

@uxxriddle
I am sorry, I have to close this request without merging, because you requested to add a non-existent domain to this repository:
$ host collegetsaritsino.edu
Host collegetsaritsino.edu not found: 3(NXDOMAIN)

Please ensure you are familiar with this repository rules located at the bottom of this page and submit a new request with correct information. Thank you for the understanding!


Type in the documentation

There
https://www.finbuckle.com/MultiTenant/Docs/EFCore#deriving-from-multitenantdbcontext
need to remove ';' because it gives syntax error in the code
public class MyDbContext : DbContext, IMultiTenantDbContext
{
    ...
    public TenantInfo TenantInfo { get; }
    public TenantMismatchMode TenantMismatchMode { get; }//;//<------remove ;
    public TenantNotSetMode TenantNotSetMode { get; }//;//<------remove ;
    ...
}

Thanks @Oleg26Dev
With v6 I've got a lot of documentation updating to do. Helping me with the typos is much appreciated.

If you want to please go ahead and submit a PR for any types you find. They should be quick and easy to merge into the dev-v6.0.0 branch

Ок, I have yet some other notes about typos and about some classes using.


anki: 23.12 -> 23.12.1

Description of changes
https://github.com/ankitects/anki/releases/tag/23.12.1
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 277342 run on x86_64-linux 1

7 packages built:

anki
anki-sync-server
anki.dist
anki.doc
anki.man
mnemosyne
mnemosyne.dist


Unable to attach buffer as an attachment ( nodejs sdk )

Hey team,
I'm unable to attach pdfs with the nodejs sdk. I've attached the code below. 'result' variable is a buffer ( eg: Buffer 12 13 ... more bytes>.
const data = {
                from: 'Domain <no-reply@mydomain>',
                to: `anan@email`,
                subject: `00040-20220312تأكيد الطلب - ` ,
                template: 'receipt',
                'h:X-Mailgun-Variables': JSON.stringify({
                    name: "name_Value",
                    transactionNumber: "transactionNumber_Value",
                    purchaseDate: "purchaseDate_Value",
                    totalBeforeVat: "totalBeforeVat_Value",
                    vatAmount: "vatAmount_Value",
                    total: "total_Value",
                    coupons: [
                        {
                            name: "name_Value",
                            purchase_date: "purchase_date_Value",
                            product_coupons: [
                                "product_coupons_1",
                                "product_coupons_2",
                                "product_coupons_3"
                            ]
                        }
                    ],
                }),
                attachments: new mg.Attachment({
                    data: result,
                    filename: "Test"
                })
            };
            await mg.messages().send(data, function (error, body) {
                console.log("Email Delivery Error", error)
                console.log("Email Delivery Body", body)
            });
}

Hi @Anan7Codes
I curious about "mg.Attachment" constructor implementation. Is it your own class?
I would double-check the implementation of this.
I don't know if you have seen this before but this is a general example of sending files thru SDK.
const fsPromises = require('fs').promises;
const path = require('path');
const filepath = path.resolve(__dirname, '../test.pdf');
const filepath1 = path.resolve(__dirname, '../test.jpg');

let messageParams = {
    from: "Excited User<EMAIL_ADDRESS>    to<EMAIL_ADDRESS>    subject: "Test subject",
    text: "Test message"
}

(async () =>{
    try {
        const firstFile = {
            filename: 'test.pdf',
            data: await fsPromises.readFile(filepath)
        }

        const secondFile = {
            filename: 'test.jpg',
            data: await fsPromises.readFile(filepath1)
        }

        messageParams.attachment = [firstFile, secondFile];
        const result =  await mg.messages.create('sandbox-123.mailgun.org', messageParams);
        console.log(result);
        } catch (error) {
            console.error(error);
        }
})()

Hi @Anan7Codes I curious about "mg.Attachment" constructor implementation. Is it your own class? I would double-check the implementation of this. I don't know if you have seen this before but this is a general example of sending files thru SDK.
const fsPromises = require('fs').promises;
const path = require('path');
const filepath = path.resolve(__dirname, '../test.pdf');
const filepath1 = path.resolve(__dirname, '../test.jpg');

let messageParams = {
    from: "Excited User<EMAIL_ADDRESS>    to<EMAIL_ADDRESS>    subject: "Test subject",
    text: "Test message"
}

(async () =>{
    try {
        const firstFile = {
            filename: 'test.pdf',
            data: await fsPromises.readFile(filepath)
        }

        const secondFile = {
            filename: 'test.jpg',
            data: await fsPromises.readFile(filepath1)
        }

        messageParams.attachment = [firstFile, secondFile];
        const result =  await mg.messages.create('sandbox-123.mailgun.org', messageParams);
        console.log(result);
        } catch (error) {
            console.error(error);
        }
})()

HI, I was using the depreciated package. I've fixed it now. Thanks :)


Cantrip damage scaling broken, cantrips stopped working.

Module version
0.11.2
FVTT version
0.6.6
Browser and OS used. Or if the app itself is used.
Chrome 85.0.4183.83 Windows 10
Bug description

What happened?
Cantrip scaling is broken, if a PC higher than 5th level casts a cantrip, it won't work at all, not rolling the attack roll nor the damage, showing an error cursor when the "Attack" button is hovered.
What should've happened?
Applied the correct scaling when needed (ie >5th-level PCs) and proceeded with the rest of the roll
Console errors? (F12 or F11 in most browsers)

entity.js:771 Uncaught (in promise) TypeError: scale.replace is not a function
    at Item5e._scaleCantripDamage (entity.js:771)
    at l (dice.js:314)
    at o (modify-rolling.js:160)
_scaleCantripDamage @ entity.js:771
l @ dice.js:314
o @ modify-rolling.js:160
async function (async)
o @ modify-rolling.js:159
r @ modify-rolling.js:89
_call @ foundry.js:2239
call @ foundry.js:2224
create @ foundry.js:9743
create @ foundry.js:28276
roll @ entity.js:314
async function (async)
roll @ entity.js:288
useSpell @ entity.js:618
_onItemRoll @ base.js:577
(anonymous) @ base.js:344
dispatch @ jquery.min.js:2
v.handle @ jquery.min.js:2

Workflow to recreate the bug
Have a spell with damage scaling set to "Cantrip" on a Character that's higher than 5th level and try to cast that spell with the Alternate Rolling and Targeting on
Helpful videos or screenshots if possible
Not sure if any of these would help but over on the Discord they mentioned how on the dnd5e system version 0.9.5 cantrip scaling broke and got fixed on 0.9.6, which may help.
Either activate notifications, stay active or post your discord handle so i can get back to you for further questions
wickedRobot#2069

This also is fixed for some while now, just forgot to close it.


Feature: click on ads if appears before in videos

Is there an existing issue for this?

[X] I have searched the existing issues

I'm submitting a ...

[ ] bug report
[X] feature request
[ ] support request --> Contact me over mail for support https://github.com/MShawon

Description
addition of a function that when there is an ad, click on the ad link next to a team to wait for the ad page to load, then close it automatically and return to the video player
or
in the configuration file the possibility of skipping ad or not skipping "skip ad: true or false"
Environment
- OS :
- Python :
- Script version :

config.json
def skip_again(driver):
    try:
        skip_ad = driver.find_element(
            By.CLASS_NAME, "ytp-ad-skip-button-container")
        driver.execute_script("arguments[0].click();", skip_ad)
    except WebDriverException:
        pass

def skip_initial_ad(driver, video, duration_dict):
    video_len = duration_dict.get(video, 0)
    if video_len > 30:
        bypass_popup(driver)
        try:
            skip_ad = WebDriverWait(driver, 15).until(EC.element_to_be_clickable(
                (By.CLASS_NAME, "ytp-ad-skip-button-container")))

            ad_duration = driver.find_element(
                By.CLASS_NAME, 'ytp-time-duration').get_attribute('innerText')
            ad_duration = sum(x * int(t)
                              for x, t in zip([60, 1], ad_duration.split(":")))
            ad_duration = ad_duration * uniform(.01, .1)
            sleep(ad_duration)
            skip_ad.click()
        except WebDriverException:
            skip_again(driver)

this could lead to adsense account getting banned...be careful


⚠ Jenkins Plugins Artifactory has degraded performance

In 1d52d86, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1118 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 2309e8b after 17 minutes.


tox.ini: add DISPLAY to passenv

This is required to fix the following error with tox -e py34-django18
(using Firefox):

selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect.

@jpic
Did this work for you locally?
Are you using another webdriver?

Fixes the problem for me, nice one B)


Reckless Attack doesn't provide advantage with monk/barbarian multiclass.

I currently have a monk 9/barbarian 3 character. Whenever reckless attack is selected, the character does not receive advantage on their attack. The save file is attached to the zip. It is entirely possible I am missing a rule somewhere, but I can't figure it out. The ztech.zip file is my xml settings for UB. I am using version <IP_ADDRESS>
.Reckless Not Work.zip
ztech.zip

Reckless Attack gives advantage to attacks that use STR. Your monk/barb has 20 in both. Monks use DEX for attacks if it is better or same as STR. So in this case advantage is not granted.

That makes sense. Thanks for the help.


feat(@angular/cli): allow for custom sha hash algos in SRI

PR Checklist
Please check to confirm your PR fulfills the following requirements:

[ x ] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ x ] Tests for the changes have been added (for bug fixes / features)
[ x ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ x ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Currently, enabling SRI will default to the sha384 algorithm. This is not always available on the server (s3 supports up to sha256, for example.)
Issue Number: 28946
What is the new behavior?

The modifications expose a new configuration property to match that of the webpack-subresource-integrity hashFuncNames which accepts an array of strings, leveraging the highest available. This allows users to set sha256 or sha512.
Does this PR introduce a breaking change?

[ ] Yes
[ x ] No

Other information

Thanks for your contribution.
However please see discussion in https://github.com/angular/angular-cli/issues/28946

@alan-agius4 I was AFK for the holiday weekend. I responded to the issue with more details.
I've been asked to "just fork" the repository and use a custom build, but you know as well as I do what a horrible idea that is!
Thanks for the review!


Return multiple errors

Currently, it seems to only return the first error found. So, e.g. API user gets an error, fixes the parameter, then gets an error on a different parameter. Rinse and repeat.
It would be useful to return multiple errors. To avoid the need for "rinse and repeat".
It begs the question, though, about "message" vs "errors". I'm not sure why they both exist in the first place? If it were to check and return errors for multiple parameters, what, logically, should "message be".
Multiple errors?
errors is an array, so there must have been some intent to return multiple errors. Is it just that that feature is not implemented, or am I doing something wrong?

Follow this instructions here: https://github.com/mattt/sinatra-param#exceptions
The default behaviour returns a 400 response as soon as a param validations fails. If you set :raise_sinatra_param_exceptions, true you can rescue individual exceptions and append all messages to a variable, but I'm afraid it's a bit more difficult than this.


feat: add general Minkowski distance evaluator

add Minkowski distance evaluator for more general case p > 0.

Hey @smy0428 can you please take a look at your git config? It seems not to be set properly.

I have reset my git email. Please let me know if everything is fine now.

I have reset my git email. Please let me know if everything is fine now.

You need to change the commits to have them with your account

I see. I rebased the previous commits.

/recheckcla

recheckcla

can u do the same for every PR?

I will do it for every commit.

Now they should be done.

Hey @smy0428 , we need you to sign the CLA agreement as stated above

Yes, of course. Sorry for the late reply.
Shall I also change the parameters of the constructor function somehow? I am not sure how I should include it as an instance attribute

Yes, of course. Sorry for the late reply.
Shall I also change the parameters of the constructor function somehow? I am not sure how I should include it as an instance attribute

Yes the parameter for the constructor is the way to go.

@bhavsarpratik this is the executor we discussed. Do you propose another naming?

I have implemented a new ctor

@JoanFM I am ok with the current


Externs for angular-1.5.js doesn't work

I'm currently trying to compile an angular project with closure with gulp
.pipe(compiler({
compilationLevel: 'ADVANCED',
externs:[
{ path: './externs/angular-1.5.js' }
],
jsOutputFile: 'app.js'
}))
By it doesn't affect the result. I have still result as angular.b instead of angular.module with no error on compile.
How to load externs ?

I realize this is very old, but the JS version now can just take a file path for the externs flag and will load the externs from the filesystem (when running in NodeJS).


Improper value suggested for "Partition Key" in tutorial.

In step 2 of Add a Collection, the instructions incorrectly suggest to set Partition Key to "/userid" ("Enter a partition key such as /userid.").
However, a few steps later, it becomes clear that the rest of the tutorial needs that to be set to "/category". It's especially unfortunate as there is no way to change the partition key once it's set and the only way to have it properly set is to delete the entire collection and start again.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4255f572-38cc-08aa-6fb7-08c919713cf9
Version Independent ID: c04fe4dd-e75d-1028-8f2e-154d8c303da2
Content: Build a .NET web app with Azure Cosmos DB using the SQL API
Content Source: articles/cosmos-db/create-sql-api-dotnet.md
Service: cosmos-db
GitHub Login: @SnehaGunda
Microsoft Alias: sngun

@stratospheres Thanks for your feedback! We will investigate and update soon on it.

@stratospheres Thank you for letting us know.
This is being assigned to the content author to evaluate and update as appropriate.

@stratospheres thanks for pointing out the issue, in that context, /userid as partition key was just an example, however I see your point its more helpful to match it to what the sample code expects. Will update the doc shortly.

The above PR fixes the doc, we will now close this issue if you don't have further questions.
#please-close

We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


GUI: using other then default fonts

using other then default fonts cause different rendering on different browsers:

sometimes it will be used a different substitude font, or a mixture of several fonts, may be depending on fontsize

Screenshot should be referring to an old version, that type of drop-down should not exist anymore.
Will definitely look into it.


Forgot password email

Is email sending is supported in Quickblox ?
I have tried to reset password with a test account email, Q-municate says Mail has been sent but I didn't receive any.

Mail is receiving if the mailid didn't get the dot(.) character in it.
For example,
<EMAIL_ADDRESS>works but<EMAIL_ADDRESS>is not.

Hello @ganeshub. We recommend use the latest version Q-municate. Also, please, provide us logs with issue.

close, long time inactivity


Is there a way to get thumbnail in this library for files?

I loaded the pdf files in a recyclerview I need to get thumbnail image of these file , how to do it?
When i put a pdfview , it is slow the recyleview scrolling and sometimes crash,
How to make it soomth scrolling ?

Just take a thumbnail of the view same as any view, it's code outside of pdf view that you write to take a thumb of the view, it's a few lines of code.

Thank you 1stmetro ,
I just get the thumbnail from parcelFileDescriptor
and PdfiumCore to convert to Bitmap then set this bitmap in image view.
Thanks

@albakaly  how to get the thumbnail from parcelFileDescriptor ?


New Arabic source

Greetings gents,
Could you guys please add the below site as arabic source
https://lekmanga.net
regards

#73


Design Overview (discussion)

Migrated from 'https://github.ibm.com/BPA/qiskit-nature'.
Creator: @mrossinek
Let's use this issue for general discussions which do not fit into a specific issue (yet).
To get this started, here is the updated overview of qiskit_nature.

Creator: @mrossinek
And here is the updated overview UML:

As you can see, through the removal of SecondQuantizedSumOp we can now define all other interfaces dependent on SumOp. This allows the use of any SumOp implementation as a standalone object and the case of SecondQuantizedOperator (when required) can be used by the user with the .map() and .transform() methods which could look similar to this:
def map(self, fermionic_mapper=None, bosonic_mapper=None, spin_mapper=None):
    fermionic_pauli_sum_op = fermionic_mapper.map(self.fermionic)
    bosonic_pauli_sum_op = bosonic_mapper.map(self.bosonic)
    for spin, spin_sum_op in self.spin.items():
         spin_pauli_sum_ops[spin] = spin_mapper.map(spin_sum_op)
    # do whatever post-processing we need to do here...

def transform(self, fermionic_transformer=None, ...):
    # similar to above

Obviously, we can also specify other defaults than None in any of these cases.

Creator: @mrossinek
And here is the updated overview UML:

As you can see, through the removal of SecondQuantizedSumOp we can now define all other interfaces dependent on SumOp. This allows the use of any SumOp implementation as a standalone object and the case of SecondQuantizedOperator (when required) can be used by the user with the .map() and .transform() methods which could look similar to this:
def map(self, fermionic_mapper=None, bosonic_mapper=None, spin_mapper=None):
    fermionic_pauli_sum_op = fermionic_mapper.map(self.fermionic)
    bosonic_pauli_sum_op = bosonic_mapper.map(self.bosonic)
    for spin, spin_sum_op in self.spin.items():
         spin_pauli_sum_ops[spin] = spin_mapper.map(spin_sum_op)
    # do whatever post-processing we need to do here...

def transform(self, fermionic_transformer=None, ...):
    # similar to above

Obviously, we can also specify other defaults than None in any of these cases.


Its advertising "boy".

nah, I'm just trying to find someone with senses to work with ..
advertise what ?? something that I don't sell and I don't release ???

advertising
noun
the activity or profession of producing advertisements for commercial products or services.

Find someone somewhere else - we are contributing to a project here.

:P
oh this is fun

and besides , to this project I've probably contributed more than you so far ;)

or probably you'll also delete my words again and make everything look ok ??
seriously ?


Add multiple layers using cartoee.add_layer() together with eemont?

Environment Information

geemap version: 0.10.0
Python version: 3.8.12
Operating System: Scientific Linux 7.9 (Nitrogen)
eemont: 0.2.5
earthengine-api: 0.1.256
cartopy: 0.20.1

Description
I am interesting in using cartoee to make some nice plots. However, I find that a latter cartoee.add_layer() does not keep the previous cartoee.add_layer() and inconsistent with eemont? I will explain what I did and found detailed as below.
First, the following scripts will give me a nice plot with a point placed on an image.
import ee, eemont, geemap
from geemap import cartoee
ee.Initialize()
import matplotlib.pyplot as plt
import cartopy.crs as ccrs

fig = plt.figure()
ax = plt.axes(projection=ccrs.PlateCarree())

image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_170048_20190130')#.preprocess()
vis = {"bands":['SR_B5','SR_B4','SR_B3'], "min":0}

lon = 38.388611111000046
lat = 17.828333333000046
poi = ee.Geometry.Point(lon, lat)

cartoee.add_layer(ax, image, vis_params=vis)
ax.scatter(lon, lat,color="red",transform=ccrs.PlateCarree())

I then change the last line of code to cartoee.add_layer(ax, poi, vis_params=dict(color="red")) as I think cartoee.add_layer() could be used as many times as I want. However, I only get the single point as below. Does this mean cartoee.add_layer() cannot keep previous adds? Or was it due to that I not showing a reasonable extent?

Second, I find that employing eemont to preprocess satellite images will impede adding it as a layer. Simply removing the #preprocess() from the image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_170048_20190130')#.preprocess()  I encountered the following error:
Geometry.bounds: Unable to perform this geometry operation. Please specify a non-zero error margin.

Weirdly, this error can be overcome if I clip the image to a smaller extent, that is to change cartoee.add_layer(ax, image, vis_params=vis) to cartoee.add_layer(ax, image.clip(poi.buffer(100*30).bounds()), vis_params=vis) for an example. Also rollback to use ax.scatter() to add the point to achieve the effect below.

I understand that these issues involve several packages beyond geemap. I'd be very grateful if you could have a check on these issues and/or invite other developers to identify a way to overcome these issues at your earliest convenience.
Many thanks in advance!

Use image.blend() to combine multiple layers. See https://geemap.org/notebooks/57_cartoee_blend

Thanks for your reply.
I then test if I can resolve the issue by providing a region. By changing to cartoee.add_layer(ax, poi, vis_params=dict(color="red"), region=[39,16,36,19]) I get the following very weird figure:

So I immediately follow your advice by using blend. I find it works fine for the interactive map but not for the matplotlib except that I specify a region. Codes as below:
import ee, eemont, geemap
from geemap import cartoee
ee.Initialize()
import matplotlib.pyplot as plt
import cartopy.crs as ccrs

fig = plt.figure()
ax = plt.axes(projection=ccrs.PlateCarree())

image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_170048_20190130')#.preprocess()
vis = {"bands":['SR_B5','SR_B4','SR_B3'], "min":0}

lon = 38.388611111000046
lat = 17.828333333000046
poi = ee.Geometry.Point(lon, lat)

# cartoee.add_layer(ax, image, vis_params=vis)
# cartoee.add_layer(ax, poi, vis_params=dict(color="red"), region=[39,16,36,19])

blend = image.visualize(**vis).blend(ee.FeatureCollection([ee.Feature(poi)]).style(color="red"))

# The following works:
Map = geemap.Map()
Map.centerObject(poi, 12)
Map.addLayer(blend, {})
display(Map)

# The following will complain "Geometry.bounds: Unable to perform this geometry operation. Please specify a non-zero error margin"
# cartoee.add_layer(ax, blend)

# The following works but manually specifying a region is not desirable.
cartoee.add_layer(ax, blend, region=[39,16,36,19])

I may hold it might also due to the image data issue? Nonetheless, I will use conventional ax.scatter() as a temporal resolution.

This bug has been fixed. Please update the package using geemap.update_package() and try again.

Many thanks @giswqs !! I can confirm that with the updated geemap and image.blend() method I can achieve the desirable effect as you shown above. At the same time, I find that using eemont to preprocess the image won't introduce the additional Geometry.bounds issue. I attached the result as below.


Suppor fo Localized String

Now works fine, problems with cache simulator
I have Localized catalog string
fields_need_completed = se requiere rellenar todos los campos
I Try with (not work)
Drops.show(Drop(title: String(localized: "fields_need_completed"), icon: UIImage(systemName: "exclamationmark.triangle.fill")))

Drops uses normal Swift String, using String(localized: "...") should work just fine, please let me know if you're still facing the issue


Epe 721

Change Description
Added logic to net_plugin_impl and connection classes to support security group in privacy features.

Change Type
Select ONE:

[ ] Documentation

[ ] Stability bug fix

[x] Other

[ ] Other - special case

Testing Changes
Select ANY that apply:

[ ] New Tests

[ ] Existing Tests

[ ] Test Framework

[ ] CI System

[ ] Other

Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

FYI, EPE is private jira reference while PRs are public. Please substitute EPE with reasonable description.

@heifner @dimas1185 Changed name to descriptive name


Replace all direct usage of performance API

Replace all direct usage of the performance api with calls to the dashboard api. We should be able to deploy without the MBTA v2 API key

This requires swapping out v2 alert processing with v3 alert processing. So we should start by adding v3 alerts

We can rip out the v2 calls once LAMP provides a method for getting alerts


KAFKA-3357; Update to Scala 2.11.8

Scala 2.11.8 has been released with a number of bug fixes:

http://www.scala-lang.org/news/2.11.8/

There are a few important collection fixes:

https://issues.scala-lang.org/browse/SI-9497
https://github.com/scala/scala/pull/4714
https://github.com/scala/scala/pull/4693

And also some pattern matcher fixes.

Ran ./gradlew -PscalaVersion=2.11 test locally and tests passed. @gwenshap, maybe you can review this trivial change?

LGTM

LGTM!

LGTM