Failed building KotlinMPPGradleModel

Hello folks
i'm trying to add the library into my KMM project and i'm having problem syncing the files.
val commonMain by getting {
        dependencies {
            implementation("com.juul.tuulbox:logging:4.2.0")
        }
    }

When the project syncs I get the following error:
Failed building KotlinMPPGradleModel
org.gradle.internal.resolve.ArtifactNotFoundException: Could not find logging-4.2.0-samplessources.jar (com.juul.tuulbox:logging:4.2.0).
Searched in the following locations:
    https://repo.maven.apache.org/maven2/com/juul/tuulbox/logging/4.2.0/logging-4.2.0-samplessources.jar
	at org.gradle.internal.resolve.result.DefaultBuildableArtifactResolveResult.notFound(DefaultBuildableArtifactResolveResult.java:28)

.......

It could be something related to that https://youtrack.jetbrains.com/issue/KTIJ-10769 ?????
Thank you

Thanks for the YouTrack link, based on the discussion in the issue, it sounds like you may be targeting more platforms that Tuulbox logging currently provides?
What platforms are you targeting in your project?

Sorry for the delay.
Answering your question :
commonMain
androidMain
iosX64Main
iosArm64Main
Kable works fine.

Android support is planned (#74).
As a workaround, you can use the JVM artifact in your Android target for now:
val androidMain by getting {
    dependencies {
        implementation("com.juul.tuulbox:logging-jvm:4.2.0")
    }
}

Unfortunately, I believe you'll also have remove the tuulbox:logging dependency from commonMain and specify it for each target, which is pretty cumbersome.

Strange, we were able to use Tuulbox logging in commonMain without the issue you're seeing: https://github.com/JuulLabs/sensortag/blob/4478a9e3f70ef5ef80ac6b99e256686fcf594ec0/app/build.gradle.kts

Kotlin version is 1.5.21 and gradle-7.1-bin
With gradle 6.5 I get another exception:
* Exception is:
org.gradle.api.GradleException: Please initialize at least one Kotlin target in 'shared (:shared)'.

Kotlin version is 1.5.21 and gradle-7.1-bin
I get another exception with gradle 6.5 :
* Exception is:
org.gradle.api.GradleException: Please initialize at least one Kotlin target in 'shared (:shared)'.

Are you saying that it works with the latest Gradlew but not with Gradle 6.5? Is there something keeping you on the older Gradle version.
Sorry, but I'm not sure we have the resources to support older Gradle versions. Happy to help debug if you have issues with the latest Gradle.

Hello Travis.
It did not work with gradle 6.5, 7.1 and 7.1.1
I just created a new project and adding tuulbox:logging on commonMain dependencies. I get the exception when I try sync the project.

It did not work with gradle 6.5, 7.1 and 7.1.1

Thanks for clarifying. Not working in the latest Gradle version is definitely a problem we need to fix.
Do you happen to have a project that reproduced this issue that you can share? If not, perhaps you can share the Gradle config?

Travis
https://github.com/francismariano/tullbox-logging-issue-77
The project reproduced this issue. It is a blank project with only tullbox logging added.

Thanks for providing the repo link. We're swamped on some other tasks at the moment, but I'll take a look at this when I have a free moment.

@francismariano can you try 4.5.3-SNAPSHOT and let us know if it resolves your issue? Thank you!
repositories {
    maven("https://oss.sonatype.org/content/repositories/snapshots")
}

dependencies {
    implementation("com.juul.tuulbox:$artifactId:4.5.3-SNAPSHOT")
}

I'm sorry for the delay in replying.
The 4.5.3-SNAPSHOT worked like a charm. The most recent version works as well.
Thank you.


Use instance rate limits

hopefully https://github.com/ismailkarsli/lemmy-federate/commit/ea0ed3fbb822dd693618ad8eb98f4b1968b2530a will fix this


ODLM is not deleting the camel-k resources after top level orchestrator operator removed it from the operandrequests

/kind bug
What steps did you take and what happened:
[A clear and concise description of what the bug is.]
While testing camel-k removal path for WASP 3.3  from orchestrator side, we see that as per our top level operator changes it got removed from the operandrequest , operandregistry and operandconfig, however, we still see the subscription and pod hanging around which was not deleted by ODLM as per expectation.
It is removed from this list in oc get operandrequests ibm-aiops-application-manager -o yaml
spec:
  requests:
  - operands:
    - name: aiopsedge-operator
    - name: asm-operator
    - name: ir-ai-operator
    - name: ir-core-operator
    - name: ir-lifecycle-operator
    registry: ibm-aiops
    registryNamespace: cp4waiops
....

Camel-k pods and subs still seen in the namespace
$ oc get subs | grep camel
camel-k                                                                      ibm-camel-k                          ibm-cp-waiops-catalog   0.1-dev
Ashishs-MacBook-Pro-2:3.2<EMAIL_ADDRESS>oc get pods | grep camel
camel-k-operator-ff799b7f6-wtggh                                  1/1     Running     0          16h
Ashishs-MacBook-Pro-2:3.2<EMAIL_ADDRESS>

What did you expect to happen:
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

ODLM version:
Minikube/KIND/OCP version:
Kubernetes version: (use kubectl version):
OS (e.g. from /etc/os-release):

@horis233 @gyliu513

Hi @aadeshpa
Could you try to check the output of camel-k-operator subscription?
ODLM adds annotations into the subscription for operators. And the operator will stay in the cluster if there are some other OperandRequest request it.

We were able to get this working by making change in our top level operator as per this issue : https://github.ibm.com/katamari/dev-issue-tracking/issues/22207

Thank you @aadeshpa for the information
as @horis233 said in the internal ticket, ODLM can't find relevant information about the camel-k operator when it is got removed from OperandConfig and OperandRegistry.
If we wanna remove camel-k stuff from OperandConfig and OperandRegistry along with OperandRequest, we could remove it in OperandRequestfirst, and afterOperandRequestis inrunningstatus again(indicates the camel-k has been removed), then we could remove camel-k stuff fromOperandConfigandOperandRegistry`


fix the out-of-date banner in widget

Tagging @keybase/kbfs-hackers for the first commit in Go:

Instead of just calling libcmdline.SpawnDetachedProcess, use exec.Command and call Start() on macOS. The former doesn't work with the updater; the process just dies. Perhaps it has to do with the GUI prompt. The latter works, and I've tested to make sure the process continues to run even after the parent process dies.
Unfortunately the same doesn't apply on Windows. If the cmd window running the parent process is closed, the spawned process exits too. So on Windows, keep using the old SpawnDetachedProcess. I haven't tried on Windows, but plan to do so after this is merged and an admin build is out.

Tagging @keybase/react-hackers for the second commit:

Introduce an updating flag in the outOfDate object and use that to determine if we should show the "Update Now" link or "Updating ..." text.

Misc

Note that updater check and updater need-update ignores the snooze now, so even if user has clicked "Ignore" in the prompt, the banner still shows, and clicking "Update Now" will trigger the updater prompt.

@keybase/react-hackers still need a thumb on the react part; thanks!


Step attribute descriptions YAML and snippet reuse

WIP
Initial commit for turning step attribute descriptions to YAML format and reusing those that can be encountered in different steps and share a description.

Commit #1:

default
options
value

OK, I've done a few things here:

I moved the first two attributes in the file list into a single YAML file in the data directory
While I was there I made the following changes (mostly for compatibility with #1002 :

changed attribute to name
split out default_value and example out of the description text and into their own keys
changed HTML to markdown

I added a single file in the models directory to expose the contents of the YAML file as the PIPELINE_ATTRIBUTES variable throughout the rails app

You can test this by adding the following code to the Command Step page (for example) which just loops over all of the attributes in that variable:
## TEST YAML attributes

    <% PIPELINE_ATTRIBUTES['attributes'].each do |attr| %>

        <%= attr['name'] %>
        <%= attr['desc'] %>

    <% end %>

As there are only two, and we're not currently converting the markdown to html, it looks like this:

Once #1002 is merged we'll be able convert those snippets containing markdown to html instead of just showing it.

For this work properly across step types we need to do one of two things, either specify in each attribute which step types it applies to, or what is probably a better idea write all (or most) of the the step attributes to apply to any step, and maintain a list of which attributes each step has, without other data.
So something like
command_step_attributes:
  - command
  - agents
  - allow_dependency_failure

although we'll need to check how much difference there is in terms of what is optional and what isn't across step types, for example.

Since this one is WIP and now over a year stale I'm going to close this PR. Feel free to open again @karensawrey if you think it's still relevant.


Enhance CSI - add pathType field in storage class.

Currently,  alluxio CSI will only mount directory if it present in alluxio namespace.
Add pathType to dynamic create directory if it is not present.
The valid pathType can be: DirectoryOrCreate, Directory. Directory is the default value.
If we use DirectoryOrCreate as the path type,  if the directory is not present in alluxio namespace, CSI server plugin will create it automatically.
If we use Directory as the path type, if the directory is not present in alluxio namespace, error will return with some error message.
Updated storageClass config:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: alluxio
provisioner: alluxio
parameters:
  alluxioPath: /data
  pathType: DirectoryOrCreate
  javaOptions: "-Dalluxio.user.metadata.cache.enabled=true "
volumeBindingMode: Immediate
mountOptions:
  - kernel_cache
  - allow_other
  - entry_timeout=36000
  - attr_timeout=36000
  - max_readahead=0

@maobaolong @apc999 @LuQQiu Please help to take a look

@Binyang2014 This is the feature what I really want to use.

This is a pretty useful feature! LGTM FYI @ssz1997


Add dm-db-column-store-row-group-physical-stats trim_reason 9 - auto_…

…merge
A new trim reason is implemented in the code and visible to users; updating the docs to reflect it.

@AndrewFauldsMsft : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Trigger Node need a >= and <= comparison

Is your feature request related to a problem? Please describe.
I've a trigger node with these conditions:

This node is NOT triggered when the input/state looks like this:

-4.99
-5.00 <- because this is not less than -5.00 (it is less than or equal to)
-5.01

This node is triggered when the input/state looks like this:

-4.99
-5.01

Describe the solution you'd like
Add >= (greater equal) and <= (less equal) option to choose from.
Additional context
Using IS is not a option. This state sometimes skip -5.00 and sometimes not.

Are there other conditions or can you provide more context to what you're trying to accomplish? It seems odd to want to trigger on ANY value.

@x99percent This trigger node is connected to the sun.sun value in Home Assistant. It should trigger once the value is below -5.00 degrees. The issue is that the sun.sun sensor doesn't go from -4.98 to -4.99 to -5.00, it just "jumps" instead since it is only updated every x second.
That's why the trigger node is not triggered when it jumps from -4.99 to -5.01.

There are ways to do what you're talking about, but trying to catch exactly -5.00 is not the way to do it.
Check for < -4.99 and use a delay node to limit the message rate to 1 per 23hrs.
Other than that, you might want to consider using node-red-contrib-time-range-switch.

True, exactly is the wrong word. Trigger once would fit better. I'd like to avoid using a additional node hence this PR.
My current workaround till this issue is fixed:

Using a delay node (built into Node-RED) will get you that single trigger behavior.
``[{"id":"997750e5.328f","type":"trigger-state","z":"c5dbadc8.392e8","name":"","server":"fce9a161.4cb4b","entityid":"sun.sun","debugenabled":false,"constraints":[{"id":"feci6yolmwl","targetType":"this_entity","targetValue":"","propertyType":"property","propertyValue":"new_state.attributes.elevation","comparatorType":"less_than","comparatorValueDatatype":"num","comparatorValue":"-4.99"}],"constraintsmustmatch":"all","outputs":2,"customoutputs":[],"x":320,"y":860,"wires":[["9119dbff.0bdc78"],[]]},{"id":"9119dbff.0bdc78","type":"delay","z":"c5dbadc8.392e8","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"20","rateUnits":"hour","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":540,"y":860,"wires":[["48737504.d7ba2c"]]},{"id":"fce9a161.4cb4b","type":"server","z":"","name":"Home Assistant","url":"http://HA.IP.GOES.HERE:8123","pass":"PASSWORD"}]


[FEA] Improve GpuJsonToStructs performance

The performance of our current GpuJsonToStructs is not good. When running the profiling, it looks like this:

In the particular test case for the profiling above, the only useful work is only what to the end of the read_json range (just above 300ms), which is less than 50% of the entire GpuJsonToStructs projection (>800ms). The rest are just overhead, but it consists mostly of hundreds of small kernel calls and stream syncs due to pure copying data from the intermediate result to the final output.
We can do a lot better by reducing the unnecessary overhead, or improving them by a way that they can run in a much less time. If we divide the runtime of GpuJsonToStructs into sections:

The improvement can be done by the following tasks:

Section 1: Improve libcudf's cudf::read_json. This needs help from cudf team. Beyond that, we can improve the performance of this section with some auxiliary work:

https://github.com/NVIDIA/spark-rapids-jni/pull/2457
https://github.com/NVIDIA/spark-rapids/pull/11549

Section 2: Improve the process that assembles the output table from cudf::read_json into the output structs column with the desired read schema. Currently, this process may need to copy a lot of columns from the output table of cudf::read_json (hundreds columns), which is a significant overhead. We can see it from the profiling of this section. We can just move them instead. This can be achieved by:

https://github.com/rapidsai/cudf/issues/17002
Dependencies:

https://github.com/rapidsai/cudf/issues/17090
https://github.com/rapidsai/cudf/issues/17091

Section 3: Improve the conversion step from strings columns into the desired types. Some columns need to be converted but some are just output directly without any conversion. However, instead of being moved into the output, they are again copied and that causes a lot of overhead if the number of strings columns is significant.

spark-rapids-jni issue: https://github.com/NVIDIA/spark-rapids-jni/issues/2468, PR https://github.com/NVIDIA/spark-rapids-jni/pull/2510.

After discussion with @ttnghia, Here are the improvements planned for different sections:

Section 1: @karthikeyann and @shrshi are working on validation, and memory usage reduction here.
https://github.com/rapidsai/cudf/pull/16996
https://github.com/rapidsai/cudf/pull/16978
TBD: To eliminate/minimize concat_json, Considering new strings_column input as data source or new json reader option, needs more planning.
Section 2: To eliminate Section 2 completely, @karthikeyann will work on adding new schema interface to support column ordering and all-null columns for non-existent columns.
Only input schema requirement is that this input schema should not require sanitization inside libcudf reader. (that includes UTF-8 matching of column names, duplicate paths, invalid schema, etc).
Section 3: @ttnghia will work to avoid copying columns after parsing. C++ invocation of libcudf reader, and parsing string columns to datatypes and move/replace columns.
TBD: INT, FLOAT, STRING parsing rules - check libcudf compliant with spark requirements. Some types (DECIMAL) may have special cases that can only be handled in spark.

With all Section 1/2/3 addressed, the final profiling shows the output as expected:


Need a way to temporarily suppress notifications for all streams

When I'm using Zulip, I'm subscribed to about 40 streams.  Of those, I have notifications turned on for 6 or 7.  I'm happy for those to interrupt me a bit by having notifications appear and having the task bar activate as I'm working.
However, when I'm presenting or otherwise sharing my screen, I would like a way to temporarily mute all streams so that no notifications appear and the task bar does not activate.  Ideally, it should also communicate that to others with my status so that if someone wants to send me a PM, they won't see me as "active".  There should be a visual indication on the Zulip client so I'm reminded that I'm currently "muted" so I can re-enable notifications once I'm no longer presenting or otherwise in "do-not-disturb" mode.
Essentially, I'm asking for an equivalent of Skype's "do-not-disturb" status.
At the moment, the only alternative is to shut down Zulip entirely, which removes the ability to use it to post - which occasionally I want to do even when in do-not-disturb mode.

I think this may be a duplicate issue, but this is definitely something I'd like us to work on soon.  Tagging this as a priority.
Note that the Zulip desktop app does have a toggle coming out in 1.5, but it doesn't do everything you describe.  @akashnimare FYI.

I couldn't remember if I'd formally submitted or not.  Did a scan and search and didn't find.  Feel free to close/link if it's already in the list.

This is on the Electron stream.  Not sure if this is something that should apply to the web client too so not sure which I should close.

I think we should keep this open to track the overall experience we want here, since you have a good writeup of it above, even though some pieces are implemented.

@timabbott, @lmckenzi I can add the DND feature in the electron app but it would be one way only i.e. other users won't be able to see that you are on DND mode. Ideally, we should have this functionality in the web app itself since we have more control over notifications, user status etc there. User should have an option to choose their status from -

Do not Disturb
Busy
Invisible
Custom status

Yeah, we should plan to add the setting in the webapp and the desktop app can then implement the correct behavior based on the setting.

Since #9265 was marked as a duplicate, I hope the scope for this issue is both “mute for the next X hours” and also “mute unless it’s 9-5 and a weekday”
otherwise #9265 isn’t really a duplicate, but a separate feature request.


How to Switch Accounts

I try to Delete all files and Reinstall it,But it does not work.

Delete "C:\Users\Administrator\AppData\Roaming\BingGPT"

Right button click and select 'Reset'

Right click and select "Reset", then login with another account.

Delete "C:\Users\Administrator\AppData\Roaming\BingGPT"

Right click and select "Reset", then login with another account.

It works,thanks!


ray visibility for camera, diffuse, glossy, specular and shadows

Currently we can hide objects only from camera, which is rarely useful on it's own.
hiding objects from diffuse/GI contribution can help in scenes with curtains and complex/thick glass objects that occlude scene. Also I could create a complex looking lightsource that does not actually emit light into scene but is visible for camera/reflections/specular rays.
hiding object or light from specular does the same for specular ,currently for example we can hide sun lightsource from specular, which helps with caustics but not other lightsources or objects.
Hiding objects and lights from casting shadows. I guess hiding from diffuse contribution does this but we need to make sure that lights can contribute to diffuse/gi in the scene but their emitor objects are not casting shadows, occluding other lights.
Lastly ability to hide object/light from reflection is often needed to accompany visibility. If I don't want to see object for camera I might not want to see it in reflection or casting shadows etc.
This all is a very powerful in camera compositing toolset. At times helpful with performance at other times it is more flexibility for the user.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

here are few nice examples how it works in corona, it's simpler than in cycles but should provide good enough flexibility!
https://coronarenderer.freshdesk.com/support/solutions/articles/5000529341-what-is-rayswitch-material-and-map-


Angular 8

How can I use it with Angular 8?
In the example, you don't import any component or directive.  Then, compiler sends an error:
`ERROR Error: Uncaught (in promise): Error: Template parse errors:
'numeric-input' is not a known element:

If 'numeric-input' is an Angular component, then verify that it is part of this module.

If 'numeric-input' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("

[ERROR ->]

"): ng:///LoginModule/LoginComponent.html@17:4
'numeric-input' is not a known element:`
I tried to import a "numeric keyboard module" but it doesn't exist.

SOLVED:
import { NumericKeyboardModule } from 'numeric-keyboard/dist/numeric_keyboard.angular';
I think that you must  correct README.md .
Thanks for your work.


Download additional channel metadata in the background

In #548 / #580, we added a system where kolibri-explore-plugin downloads metadata for channels from all content collections, instead of just channels from the initial content collection. At the moment, this is an extra stage in that initial content import which blocks the UI until it is finished. Instead, we would like for this additional metadata download to happen in the background while the user is browsing content.

There are some related PRs for this that we should tie up. But this is still not the case - the additional collections are fetched as part of the onboarding flow. It's not too slow though – we don't include massive channels like Khan Academy! – and this way we don't have to deal with inconsistent state.

I whipped together something in https://github.com/endlessm/kolibri-explore-plugin/tree/background-downloads. It works pretty nicely but needs a little polish and I need to figure out the right way to ensure incomplete tasks are restarted when the app restarts.

I'm going to make a new release so this can be tested out in the apps.

This has been released as kolibri-explore-plugin 6.39.0 with Android Manatee 6.39-393 and Windows <IP_ADDRESS>.
@vanessa-chang could you test out the Android app from internal testing?

I’ve tested the new beta 6.39-393:

the content pack download speed is back to normal
the contents are revealed after all downloads complete (~app. 10mins of app running time) & it’s show.n after the page is refreshed by switching the tab or restarting the app
the app shows a black screen when restarting the app during metadata download (still needs a further clarification)

I will report another ticket for the back screen issue once it’s clarified.
I prefer to have it fixed before we push to the production. Let me know if you have any suggestions. Thank you

the app shows a black screen when restarting the app during metadata download (still needs a further clarification)

I will report another ticket for the back screen issue once it’s clarified.

Please do. I have a feeling this is because the background downloads never actually stop when the app is closed. https://github.com/learningequality/kolibri/pull/11120 will help that a lot but hasn't been released yet.

@dbnicholson thanks. I have open the ticket #769 for the issue. I currently report in the Kolibri-explore-plugin repo. However, as this issue cannot be reproduced in the Windows app, let me know if I should file in the other repo for a correction. Thanks.


licence check has issues

after mvn install -DskipTests, run command src/check-binary-license will return errors:
$ src/check-binary-license distribution/server/target/apache-pulsar-2.6.0-SNAPSHOT-bin.tar.gz
aopalliance-repackaged-2.5.0-b42.jar unaccounted for in lib/presto/LICENSE
httpclient-4.5.5.jar unaccounted for in lib/presto/LICENSE
httpcore-4.4.9.jar unaccounted for in lib/presto/LICENSE
javassist-3.22.0-CR2.jar unaccounted for in lib/presto/LICENSE
javax.inject-2.5.0-b42.jar unaccounted for in lib/presto/LICENSE
jersey-client-2.27.jar unaccounted for in lib/presto/LICENSE
jersey-common-2.27.jar unaccounted for in lib/presto/LICENSE
jersey-entity-filtering-2.27.jar unaccounted for in lib/presto/LICENSE
jersey-hk2-2.27.jar unaccounted for in lib/presto/LICENSE
jersey-media-json-jackson-2.27.jar unaccounted for in lib/presto/LICENSE
jersey-media-multipart-2.27.jar unaccounted for in lib/presto/LICENSE
pulsar-client-original-2.6.0-SNAPSHOT.jar unaccounted for in lib/presto/LICENSE
pulsar-metadata-2.6.0-SNAPSHOT.jar unaccounted for in lib/presto/LICENSE
netty-codec-socks-4.1.48.Final.jar mentioned in lib/presto/LICENSE, but not bundled
netty-handler-proxy-4.1.48.Final.jar mentioned in lib/presto/LICENSE, but not bundled
It looks like there are issues with the LICENSE/NOTICE.

looks like these jars are counted twice,
e.g. aopalliance-repackaged-2.5.0-b42.jar
first counted as:
org.glassfish.hk2.external-aopalliance-repackaged-2.5.0-b42.jar
then the prefix was removed and counted as :
aopalliance-repackaged-2.5.0-b42.jar
again.

this is the same issue as #6501, which was caused by mvn-3.6.3.

Closed as stale. Feel free to open a new issue if it's still relevant for maintained versions.
IIRC we made several improvements on this script later.


Documentation for v5 BABYLON.GridMaterial not up to date

I wanted to use the BABYLON.GridMaterial from https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/gridMat#using-the-grid-material, however the links are broken.
I can create a pull request if I find the required file , if that's ok with you.

I think they are all removed from the repo following the latest changes. They should probably point at our CDN. cc @RaananW to confirm ?

@Myrmod in case you didn't were able to find the mentioned migrated scripts, here's a link to the CDNs:
Developer version: https://cdn.babylonjs.com/materialsLibrary/babylon.gridMaterial.js
Release version: https://cdn.babylonjs.com/materialsLibrary/babylon.gridMaterial.min.js

I was pretty sure I went over all links to the dist folder, but it seems like some are still there! Sorry about that.
as @rpaladin wrote, the CDN holds those files. Our repository no longer stores them.

I understand, thank you. I will give them a try


Problem with DB transaction in queue

Laravel Version: 6.2.0 (tested on this version but looks like all version have same problem)
PHP Version: 7.3
Database Driver & Version: MySQL 8

Description:
Problem is when you listening event in queue
\Illuminate\Database\Events\TransactionCommitted
and exception occured in this event listener, next job in queue will have transaction level before transaction start -1 and it won't start transaction for this job.
Steps To Reproduce:
The easiest way to reproduce run this 2 jobs
dispatch(function () {
    \DB::transaction(function() {
        var_dump(\DB::transactionLevel());
    });
});

dispatch(function () {
    \DB::transaction(function() {
        var_dump(\DB::transactionLevel());
    });
});

As well you need to setup listener for
\Illuminate\Database\Events\TransactionCommitted
I'm setting it in AppServiceProvider for example
app('events')->listen(\Illuminate\Database\Events\TransactionCommitted::class, function () {         throw new \Exception(); });
Possible ways to fix:
Switch line for setting transaction level and firing event
//from
if ($this->transactions == 1) {
     $this->getPdo()->commit();
}

$this->transactions = max(0, $this->transactions - 1);

$this->fireConnectionEvent('committed');

//to
if ($this->transactions == 1) {
     $this->getPdo()->commit();
}

$this->fireConnectionEvent('committed');

$this->transactions = max(0, $this->transactions - 1);

Or in handleCommitTransactionException method use
$this->transactions = max(0, $this->transactions - 1);

//instead of

$this->transactions--

Interesting find, the state of the transaction not being properly restored before a new job, expecting a "clean slate", is certainly problematic.
Stupid question: wouldn't this also be possible to reproduce without jobs being involved?

Which queue are you using? Please share your queue setup as well as your database configuration.

@driesvints redis/beanstalkd same problem. What exactly you need about database configuration?
I've tested on MySQL 8.0.17 and PDO
But it looks like not problem with software, just only logic problem in laravel.

@mfn
Code to reproduce without queue, but it should be very rare case.
app('events')->listen(\Illuminate\Database\Events\TransactionCommitted::class, function () {
    throw new \Exception();
});

try {
    \DB::transaction(function () {
        var_dump(\DB::transactionLevel()); //1
    });
} catch (\Throwable $e) {
    //
}

app('events')->forget(\Illuminate\Database\Events\TransactionCommitted::class);

\DB::transaction(function() {
    //actually this code is not in transaction
    var_dump(\DB::transactionLevel()); // 0
});

Fixed in next patch release.

FTR https://github.com/laravel/framework/commit/c4cdfc7c54127b772ef10f37cfc9ef8e9d6b3227


Application properties

Using/Injecting value from application.properties with Spring and Spring Boot

We decided to use the load method because we couldn't retrieve any value using the spring boot build method from an application's properties file.


Update to SQLCipher 4.6.1 release that uses SQLite 3.46.1

Hi @ericsink - Please update e_sqlcipher to latest community release.
The current 2.1.10 release in SQlitePCL.raw_provider.e_sqlcipher is using SQLite 3.39.2
Zetetic has released the community version on August 20 that has support for SQLite 3.46.1

Thanks for a great library!

https://github.com/ericsink/SQLitePCL.raw/wiki/Expectation-setting-for-e_sqlcipher


[$1000] Gmail preview for chat room summaries shows %historySummary%

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Sign in to your account at https://staging.new.expensify.com/r/99069567
Send a chat to concierge
Go inactive
Check your email Inbox for a "Expensify Chat Between Concierge and User B" email

Expected Result:
Should not have any weird characters in the email previews
Actual Result:
All the email previews has %historySummary%
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: 1.2.86-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Expensify/Expensify Issue URL:
Issue reported by: @puneetlath
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1678974827267369
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0192c0b8e8783edfe5
Upwork Job ID:<PHONE_NUMBER>742424064
Last Price Increase: 2023-03-22

Triggered auto assignment to @Christinadobrzyn (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I think this happens when you're offline and part of a group chat but I'm not sure. Testing to see if we can provide more details on the steps to test in the OP.

Yes, that's correct. It is the email summary we send for activity you missed in a room.

Nice! thanks for confirming @puneetlath! Do you think the updated steps in the OP are more accurate?

Cool, I was able to replicate this through the steps in the OP so I think this is ready to be worked on!

Yes, it's definitely a back-end issue. @Christinadobrzyn you'll want to tag Engineering to get someone assigned.

Triggered auto assignment to @bondydaa (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

testing this out as well, i just want to confirm if the %historySummary% only appears in the gmail "summary" or if it's also in the body of the email.
if it's in the body of the email then a macro isn't properly getting used in our notification code.

Hmm seems like it worked fine for me.

I'm very confused, looks like for the QA accounts it happens for all messages with Concierge. .

Here's a couple examples from my inbox.

I'll test with a policy room then, I wonder if this was broken for
concierge summaries then fixed, I did see a recent PR for concierge
summaries.
On Sat, Mar 25, 2023 at 9:07 AM Puneet Lath @.***>
wrote:

Here's a couple examples from my inbox.
[image: image]
https://user-images.githubusercontent.com/1371996/227728637-a100f7f6-93d5-45fa-a652-5408aa336574.png
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/issues/16059#issuecomment-1483858974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7CPCTCJ4KHWHY2WI6GP4LW54J3TANCNFSM6AAAAAAV5UB4QA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I think this might have been slightly changed recently. Now I'm only seeing the '%' when searching my inbox for "To respond, head over to..."

I don't see any more chats with %historysummary in my Inbox history (other than this GH)

I asked for help from another engineering here https://expensify.slack.com/archives/C03TQ48KC/p1680088985766189, going to bump that to see if someone else can take it over, I've been waist deep in fire logs all week

@bondydaa, @parasharrajat, @Christinadobrzyn Whoops! This issue is 2 days overdue. Let's get this updated quick!

also nudged here to see if someone else might be available - https://expensify.slack.com/archives/C01SKUP7QR0/p1680533922320209

@bondydaa @parasharrajat @Christinadobrzyn this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

For anyone following this can you reply with the reportID and day you received the email for any of these, I need to look at logs to try and figure out exactly which notification this is related to.
you can find this in the email details, it's the number after the replies+

Hopefully this helps:

here's an example

Report ID: 65660248

found logs for Puneet's email
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %subject%: '[] #rebrandify Expensify Chat'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Link macro replace ~~ %reportLink%: 'new.expensify.com'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %smsSubject%: ''
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %intro%: '👋 Here's what you missed…#012#012'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %callToAction%: 'To respond, head over to '
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %ending%: ' or reply directly to this message.'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %historySummary%: '<REDACTED>'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Link macro replace ~~ %reportLink%: 'new.expensify.com - https://new.expensify.com/r/2339117931425883'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Notification has an html body
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Notification has a text body
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %smsSubject%: ''
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %intro%: '👋 Here's what you missed…#012#012'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %callToAction%: 'To respond, head over to '
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Macro replace ~~ %ending%: ' or reply directly to this message.'
FDjQBY	2023-03-23 22:40:51 852<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Notification has NO Attachments
FDjQBY	2023-03-23 22:40:51 853<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Notification_Report_Comment - Notification Report_Comment ready to be sent
FDjQBY	2023-03-23 22:40:51 853<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	No attachments provided
FDjQBY	2023-03-23 22:40:51 853<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	SMail is using SES
FDjQBY	2023-03-23 22:40:51 853<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Mail type alternative=1 mixed=0
FDjQBY	2023-03-23 22:40:51 853<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Memory - 19,499,952 message size 2,730
FDjQBY	2023-03-23 22:40:52 271<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.lax	Send email with success

Looks like the historySummary macro was used though it doesn't show us what it should have been. If it failed to use the macro I believe there would have been a different log line.
I also confirmed it's coming from the NotifyOfflineUsersAboutActivity job

So we at least know we need to test that job vs the daily summary one though it might be good to test both to see if they're both failing or not.

same for reportID 65660248

was triggered by NotifyOfflineUsersAboutActivity
oUYRDc	2023-03-27 16:02:49 687<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %subject%: 'Expensify Chat between Sofie and Christina'
oUYRDc	2023-03-27 16:02:49 687<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Link macro replace ~~ %reportLink%: 'new.expensify.com'
oUYRDc	2023-03-27 16:02:49 687<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %smsSubject%: ''
oUYRDc	2023-03-27 16:02:49 687<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %intro%: ''
oUYRDc	2023-03-27 16:02:49 687<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %callToAction%: 'To respond, head over to '
oUYRDc	2023-03-27 16:02:49 687<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %ending%: ' or reply directly to this message.'
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %historySummary%: '<REDACTED>'
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Link macro replace ~~ %reportLink%: 'new.expensify.com - https://new.expensify.com/r/65660248'
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Notification has an html body
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Notification has a text body
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %smsSubject%: ''
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %intro%: ''
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %callToAction%: 'To respond, head over to '
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Macro replace ~~ %ending%: ' or reply directly to this message.'
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Notification has NO Attachments
oUYRDc	2023-03-27 16:02:49 688<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	Notification_Report_Comment - Notification Report_Comment ready to be sent
oUYRDc	2023-03-27 16:02:49 706<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	No attachments provided
oUYRDc	2023-03-27 16:02:49 707<EMAIL_ADDRESS>/git/expensify.com/script/notifyall.php	virt2.rno	SMail is using Mailgun

@bondydaa, @parasharrajat, @Christinadobrzyn Whoops! This issue is 2 days overdue. Let's get this updated quick!

@bondydaa, @parasharrajat, @Christinadobrzyn Whoops! This issue is 2 days overdue. Let's get this updated quick!

@bondydaa @parasharrajat @Christinadobrzyn this issue is now 4 weeks old and preventing us from maintaining WAQ. This should now be your highest priority. Please post below what your plan is to get a PR in review ASAP. Thanks!

@bondydaa, @parasharrajat, @Christinadobrzyn Whoops! This issue is 2 days overdue. Let's get this updated quick!

focusing on this issue this morning.

Was testing this locally and still couldn't reproduce but think I might be getting closer 🙏
if you search<EMAIL_ADDRESS>in gmail it should bring up instances of this bug, I have one this morning from my chat with Chronos

Whats strange is that the content of the message doesn't show that it's only in the "preview" line of gmail

I wonder if it has to do with the length of the messages? My test locally wasn't very long

Going to test this.

Hmm nope, content length doesn't seem to matter. Nor does if there are multiple messages included in the summary.

I was able to find the raw data in Mailgun:

It looks like we are including these things in some of the headers we use, I'm guessing these headers are specifically for gmail message previews which is why the content doesn't show them and is the stuff in that screenshot further down in a different block.
I somewhat remember seeing a discussion on slack or GH about these previews so let me see if I can figure out how we generate that content to send.

okay wow I'd opened up a thread in slack here: https://expensify.slack.com/archives/C03TQ48KC/p1681753644592219
Just discovered why I wasn't able to "reproduce it": because this only happens when you search in gmail:
"normal inbox" view:

"search" view:

This happens for both notifications sent with both SES and Mailgun so isn't something specific to just one provider.
None of us in that thread are actually clear on what is controlling that content being added in the raw email but it seems to suggest we're not properly replacing the macros at some point.
This is hard/annoying to test b/c we can't use mailgun locally and i don't have access to the AWS SES dashboard anymore to look at the raw data (not even sure if it exist in AWS SES dashboard)

okay created https://github.com/Expensify/Expensify/issues/276475 so i can get AWS SES dashboard access again and investigate a bit more while I attempt to make changes that will fix this.
might be a day or so before i get that access so dropping this to weekly. I don't think this actually is WAQ related since it's a backend system that is causing this. heck it might even just be a gmail bug 🤷.


Add sort command

Team has decided not to provide a sort command to reduce complexity of the product, but rather provide a reasonable default sort for the task list.


Get access to items inside XMLElement

Hi,
I have HTML page like:
...
// Product 1

     Product 1 name

         Product1 $price
    </dev>

// Product 2

....
// Product N

....

I need to get URL, name and price for each product. Here it is my code:
let document = try HTMLDocument(string: htmlString, encoding: String.Encoding.utf8)
for productSection in document.xpath("//div[@class='lst_main']") {
}

Using this code I can get every product. But I could not understand, how to get link, name and price for each product?
Thank you.

I believe it shall be something like:
productionSection.firstChild(tag: "a")?["href"]
productionSection.firstChild(tag: "span")?.stringValue
productionSection.firstChild(tag: "div")?.firstChild(tag: "span")?.stringValue

It works, thank you.


Support complex moment

[x] Closes #5679
[x] Tests added / passed
[x] Passes pre-commit run --all-files

Fixes an inconsistency with numpy where the std and var methods do not apply the absolute value on complex arrays. Some redundant dtype castings were removed from the _moment_combine and _moment_agg functions and some are conditional on the fact that the user passed a complex array without explicitly specifying a real dtype.
This last information is passed to the chunk callback as an argument, while the other callbacks simply check if the calculated chunks have complex values. Casting is utilized in later steps.
Additional test cases were added for complex array reductions, together with supressing some unnecessary warnings.

Can one of the admins verify this patch?
Admins can comment ok to test to allow this one PR to run or add to allowlist to allow all future PRs from the same author to run.

@jrbourbeau would you have some time to review this?

@charlesbluca This needs another look, if you're able. Thank you!

I only see approvals here, is there anything preventing a merger?
(I haven't reviewed the code myself)

@martindurant things looked good when I last checked, though as I'm not the most familiar w/ Dask array internals might make sense for someone to take a second look

Pinging to move this fix forward

Regarding hte implicit_complex_dtype I can provide the documentation, but I'm not really sure where.

If this is not something the user might ever see, it's fine.
Please run the pre-commit checks to fix the linting.

@martindurant done

I can't see any reason anything in this PR would cause the docbuild to fail.
Otherwise, I'm happy to merge here. @jrbourbeau , are we seeing docbuild failures elsewhere, perhaps we should just run it again?

@wkrasnicki , unfortunately, I can't push to your branch.

@dask/Maintenance someone merge this?


Fix triple default version

What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #11068 (1ae656c) into 3.2 (6118dd8) will increase coverage by 0.00%.
The diff coverage is 46.66%.

@@            Coverage Diff            @@
##                3.2   #11068   +/-   ##
=========================================
  Coverage     64.80%   64.80%
  Complexity       14       14
=========================================
  Files          1445     1448    +3
  Lines         60313    60327   +14
  Branches       8839     8837    -2
=========================================
+ Hits          39083    39096   +13
+ Misses        17133    17104   -29
- Partials       4097     4127   +30

Impacted Files
Coverage Δ

...bo/remoting/zookeeper/AbstractZookeeperClient.java
85.05% <ø> (+3.44%)
:arrow_up:

...ting/zookeeper/curator/CuratorZookeeperClient.java
13.53% <0.00%> (ø)

.../apache/dubbo/rpc/protocol/tri/TripleProtocol.java
86.84% <ø> (-0.18%)
:arrow_down:

...e/autoconfigure/DubboMetricsAutoConfiguration.java
0.00% <0.00%> (ø)

...pring/boot/actuate/mertics/DubboMetricsBinder.java
0.00% <0.00%> (ø)

...in/java/org/apache/dubbo/metrics/DubboMetrics.java
20.00% <20.00%> (ø)

...in/java/org/apache/dubbo/rpc/support/RpcUtils.java
61.06% <33.33%> (+1.67%)
:arrow_up:

.../apache/dubbo/metrics/AbstractMetricsReporter.java
66.66% <40.00%> (-1.08%)
:arrow_down:

...g/apache/dubbo/rpc/protocol/tri/TripleInvoker.java
63.88% <50.00%> (+0.87%)
:arrow_up:

...mmon/threadpool/support/AbortPolicyWithReport.java
86.76% <83.33%> (+14.03%)
:arrow_up:

... and 66 more

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

PLZ do NOT modify these behaviors, It is a protocol spec that  '1.0.0'  or 'null' version MUST not passed to transport layer to coupe with mixing-framework envs like grpc/sofa .

PLZ do NOT modify these behaviors, It is a protocol spec that '1.0.0' or 'null' version MUST NOT pass to transport layer to coupe with mixing-framework envs like grpc/sofa .

Any further background on why  '1.0.0'  should be specially treated in the SPEC, it's a bit weird why it has to be 1.0.0?
I think gRPC would simply ignore the version part since it has no concept of version.

It is probably better to treat 'triple protocol' in AS IS  semantics.  It certainly has different behaviors with 'dubbo' protocol and may not apply to the 'widely adopted and recognized design and behaviors' .


[WIP] Added drawing namespace for simplifying complex CustomGrids.

This pull request simplifies rendering complex CustomGrids to the keyboard.
The namespace includes the ChromaGraphics object which acts like the System.Drawing.Graphics but for keyboard rendering. This also takes in account transparency within the ChromaGraphics object using the ColorF structure for colors. Building CustomGrids with this namespace is much more simple than modifying the CustomGrid itself.
There are a few more things I would like to add such as Gradients, but I would like some feedback and a possible addition to the Colore Library :smile:.
@Sharparam Hopefully this is the last time I have to send this pull request.

You have targeted the master branch again :P
Recreate with develop as the target.
On Wed, 1 Apr 2015 03:54 Chris Bishop<EMAIL_ADDRESS>wrote:

This pull request simplifies rendering complex CustomGrids to the keyboard.
The namespace includes the ChromaGraphics object which acts like the
System.Drawing.Graphics but for keyboard rendering. This also takes in
account transparency within the ChromaGraphics object using the ColorF
structure for colors. Building CustomGrids with this namespace is much more
simple than modifying the CustomGrid itself.
There are a few more things I would like to add such as Gradients, but I
would like some feedback and a possible addition to the Colore Library [image:
:smile:].
@Sharparam https://github.com/Sharparam Hopefully this is the last time
I have to send this pull request.
You can view, comment on, or merge this pull request online at:
https://github.com/CoraleStudios/Colore/pull/29
Commit Summary

Merge branch 'hotfix-customeffects' into develop
Added the drawing namespace and code from the ChromaGraphics project.

File Changes

M Corale.Colore/Corale.Colore.csproj
https://github.com/CoraleStudios/Colore/pull/29/files#diff-0 (4)
A Corale.Colore/Drawing/ChromaGraphics.cs
https://github.com/CoraleStudios/Colore/pull/29/files#diff-1 (316)
A Corale.Colore/Drawing/ColorF.cs
https://github.com/CoraleStudios/Colore/pull/29/files#diff-2 (275)
A Corale.Colore/Drawing/Core.cs
https://github.com/CoraleStudios/Colore/pull/29/files#diff-3 (138)

Patch Links:

https://github.com/CoraleStudios/Colore/pull/29.patch
https://github.com/CoraleStudios/Colore/pull/29.diff

—
Reply to this email directly or view it on GitHub
https://github.com/CoraleStudios/Colore/pull/29.

@Sharparam Would using the rebase develop drawing then re publishing fix that?

You can just make a new pull request with the drawing branch, and selecting
"develop" instead of master in the dropdown. From what I can see the
commits on your drawing branch are properly synced, it's just the wrong
target branch on the pull request.
On Wed, 1 Apr 2015 17:09 Chris Bishop<EMAIL_ADDRESS>wrote:

@Sharparam https://github.com/Sharparam Would using the rebase develop
drawing then re publishing fix that?
—
Reply to this email directly or view it on GitHub
https://github.com/CoraleStudios/Colore/pull/29#issuecomment-88518363.

Closing this since a new one was made.


Remove sequencer gossip

Fixes https://github.com/rollkit/rollkit/issues/781

Codecov Report
Patch coverage: 74.72% and project coverage change: -0.21 :warning:

Comparison is base (f7d95c2) 55.27% compared to head (aa3f379) 55.06%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #786      +/-   ##
==========================================
- Coverage   55.27%   55.06%   -0.21%
==========================================
  Files          53       54       +1
  Lines       10000     9904      -96
==========================================
- Hits         5527     5454      -73
- Misses       3652     3657       +5
+ Partials      821      793      -28

Impacted Files
Coverage Δ

node/light.go
0.00% <0.00%> (ø)

types/pb/rollkit/rollkit.pb.go
38.77% <21.31%> (-1.62%)
:arrow_down:

types/signed_header.go
52.38% <52.38%> (ø)

state/executor.go
65.62% <89.18%> (+0.16%)
:arrow_up:

block/manager.go
67.27% <94.59%> (+2.87%)
:arrow_up:

node/header_exchange.go
51.96% <95.00%> (+0.47%)
:arrow_up:

config/config.go
90.32% <100.00%> (+0.66%)
:arrow_up:

conv/abci/block.go
94.33% <100.00%> (ø)

da/mock/mock.go
73.75% <100.00%> (ø)

node/full.go
63.18% <100.00%> (+2.43%)
:arrow_up:

... and 5 more

... and 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add BalancedAccuracyEvaluator

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

Project coverage is 100.00%. Comparing base (4044a2c) to head (7143986).
Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #173   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           58        59    +1
  Lines         1361      1383   +22
  Branches       143       144    +1
=========================================
+ Hits          1361      1383   +22

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Navbar state issues

[ ] 1. Logout NavLink it's visible even though the user it's not logged in.

Issue it's now closed fixed at #68.


Minor: extract sort col rewrite into its own module, add unit tests

Which issue does this PR close?
Related to https://github.com/apache/arrow-datafusion/issues/4854
Rationale for this change
I want to make the code easier to work with as part of the fix and breaking the PR into smaller parts will help with review
What changes are included in this PR?

Move the code into its own module
Add unit tests

No functional change is intended
Are these changes tested?
Yes
Are there any user-facing changes?
No

This PR just move code. So I will do a quick-merge.


[NFR]: Complete rework of ORM

Is your feature request related to a problem? Please describe.
The ORM was edited a lot over the years and is unbearable anymore. Every few weeks, new bugs are discovered. Some are ground breaking (save all related records, event they did not change. reusable aren't reusable... and many more), some not. New features get implemented and create new bugs. Also PHP will be more and more type safe and the ORM is nothing of that. For example getRelated returns: null, false, Simple, Complex and array
To write valid modern type safe code, you would have to check on all of this and make sure YOUR type is the one you actually need.
There is too much magic happening and it feels like everyone is losing control about it. You touch one thing and another thing breaks. We should go back to the roots and make the ORM plain and simple for normal days of work.
Describe the solution you'd like

Less magic. ORM should be predictable
Replace magic methods like getRelated with getOne and getMany. Complex and array are no solutions. If you have requests like that, you should use the db service directly. That is not what ORM is for.
Disallow any magic via __set and __get. Nobody want to work with mixed type anymore!
Do the work, but keep it simple and testable.
Make it pluggable. If someone needs some type of magic or anything else, they can have it without making every ones code suffer from it. You want __set and __get back? Here is you plugin for that.

I'm not sure if this should be started as an incubator project or still implemented in zephir. Phalcon 6 is still far away and even then, the C extension will still be there. Maybe we should create a new namespace below \Phalcon\Mvc\Model like \Phalcon\Mvc\Model\Light or directly start with a new namespace like \Phalcon\Orm. So everyone could use the old bugged Models and the new and robust one, would be somewhere else. Then with Phalcon 6 we could deprecate the Model for Phalcon 7

@noone-silent There is some work already been done but very early days on this. Check the DataMapper folder. The PDO connection is there along with a query builder. After that we have to add the information/metadata classes, table mapper, data mapper.
Believe me, we share the sentiment.

Do you have some structured plan? Like an UML or something? I would be happy to help in progressing Phalcon 6

No we don't have a UML or anything like that. We are adapting the implementation of atlasphp.io for this. I already spoke to that project's owner and he has no problems with us doing that, plus it will help both projects having a more active development.


Does this support CommonJS?

Error [ERR_REQUIRE_ESM]: require() of ES Module<EMAIL_ADDRESS>from /mnt/c/Code/Asuka/src/tests/examples/tempCodeRunnerFile.js not supported.
Instead change the require of index.js in /mnt/c/Code/Asuka/src/tests/examples/tempCodeRunnerFile.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/mnt/c/Code/Asuka/src/tests/examples/tempCodeRunnerFile.js:2:19) {
  code: 'ERR_REQUIRE_ESM'
}

Node.js v20.13.1

No. It's designed for ESM only.


Array indexOf

🚀 Feature request
Current Behavior
A.findIndex provides an alternative to Array.prototype.findIndex (accepts a predicate), but there's no alternative for Array.prototype.indexOf (accepts an element). Could we consider adding one? How about this?
const indexOf = <T>(t: T) => (ts: T[]): O.Option<number> => {
  const index = ts.indexOf(t);
  return index !== -1 ? O.some(index) : O.none;
};

Like with findIndex, when an element is not found, this returns None instead of -1.

I believe all equality-based operations should be done using an instance of Eq. So it should rather be:
const indexOf = <A>(E: Eq<A>) => (a: A) => (as: A[]): Option<number> => {
	for (let i = 0, l = as.length; i < l; i++) {
		if (E.equals(a, as[i])) {
			return some(i);
		}
	}
	return none;
};
const result = pipe(
	[1, 2, 3],
	indexOf(eqNumber)(2),
);

Does it make sense to include such operation into the core if it's possible to use findIndex?
const result2 = pipe(
	[1, 2, 3],
	findIndex(a => a === 2),
);

Or event shorter:
const indexOf2: <A>(E: Eq<A>) => (a: A) => (as: []) => Option<number> = E => a => findIndex(_a => E.equals(a, _a));

Does it make sense to include such operation into the core if it's possible to use findIndex?

I'm presuming that the built-in indexOf would be faster than the built-in findIndex (when it's used to do the same thing).

+1 on using findIndex


Switch checked example & addition of inner labels

Resolves #120
Adds inner labels
fixes the example to look like https://blueprintjs.com/docs/#core/components/switch

Question: How do I fix the inner label properties case?
They should be in cameCase however I didn't find a way to rename them using yew. One way would be to suppress the #[warn(non_snake_case)].

Thank you for checking out the PR @cecton !

Sorry for the late reply! I got the notifications turned off for some reason. Unfortunately I think this will be hard to reproduce on my own, can you check one of these solutions?
This PR looks great! I made a mess while trying to fix the issue :sweat_smile: sorry for that!

Question: How do I fix the inner label properties case?
They should be in cameCase however I didn't find a way to rename them using yew. One way would be to suppress the #[warn(non_snake_case)].

We tend to convert everything in snake_case following the Rust style guidelines. It's not Yewprint's intention to make a 1:1 match API with blueprintjs

I have no clue why this CI refuses to deploy the site xD
Run<EMAIL_ADDRESS>  with:
    publish-dir: ./build
    github-token: ***
    deploy-message: Switch checked example & addition of inner labels
  env:
    CARGO_TERM_COLOR: always
    CACHE_ON_FAILURE: false
    CARGO_INCREMENTAL: 0
    NETLIFY_AUTH_TOKEN:
    NETLIFY_SITE_ID:
Netlify credentials not provided, not deployable

The secrets are set properly. Just use them god damn it

Ok overall the PR looks good and can be merged but you're not addressing at all #120
So I will merge as is and feel free to open another PR if you want to address #120


Parallelization of the code

Hi, first thanks for the code, I'm using it at my work for clustering some data.
I'm interested in parallelizing the code, and I see that you have a "TODO" comment above this line "Parallel(n_jobs=self.n_jobs)(delayed(my_func)(c, K, N) for c in inputs)" in the train function. I suppose you have tried or have some ideas about it, and I wanted to know which function is "my_func" a placeholder for, and what are the parameters c,K,N ir order to have a better general idea about how to proceed with the parallelization.
Again thanks for the repository!

Hi @Abelardo2,
thanks for your message.
I was initially planning to parallelize the code with joblib (hence the commented line, my_func and the parameters are just placeholders). I haven't looked at it in a while, so I'm not even sure that's necessarily the best library. Considering there are different strategies to parallelize SOM, the choice may also depend on which way one goes, so I'm open to suggestions.
If you are interested in parallelizing the code I'll be more than happy to help and support the effort.

This has been now implemented in v2.0.0


Replace UnknownCsi with generalized Event::Unsupported

Instead of having a special "Unknown" enum variant for CSI sequence, simply record any unknown byte sequence sent to event::parse_event and includes that in the event::Unsupported variant.
This is cleaner and more generic.
Also splits the CSI parsing part into its own function.
Note: I ran rustfmt, but there were no rustfmt.toml configuration, so it used the defaults.
If this is not satisfactory, do you have a better config to use instead?

I know realize this breaks the "Allocation-free" promise - though it was already not in great shape with some buffer Vecs in the CSI parsing code.
It may deserve a separate PR, but should we focus on bringing back a no-allocation system? (For instance using fixed-size stack buffers)

@gycos, the gain is clear, so I'd say it's fine.


fix dependency resolution conflict and CI/CD

Removes the call to <4.1 pytest. Pytest 4.4 was released this week breaking CI/CD
Rebuild graph and Pipfile.lock.
Also removed detox as it's now built into tox :-)

I underestimated this fix! Python 2 failing because of a dependency on pathlib2 from Pytest..
Python3 failing because 1 of the tests depends on an old API

oh man :(


Why ef wants to Remove an entity when a required field of it is being null?

I have a model like this:
class A{
[Required]
public int BId {set;get;}
public B B {set ;get;}
}
class B{
public int Id {set ;get;}
}

in my asp action:
// get 'a' from context
a.B=null;
a.BId=1;

context.Update(a);
await context.SaveChangesAsync();

ef will remove the entire object from database.

@hmdhasani There's not much to go on here, but this is likely due to cascading behaviors of required relationships, as described in the docs: https://docs.microsoft.com/en-us/ef/core/saving/cascade-delete


Warning from applying custom style to single model according to docs

Using the format for applying a style to a single model from style guide results in the following warning:
Passing mixins and definitions in the model method will be deprecated in restmod 1.2, use restmod.model().mix() instead.

Previously it was allowed to pass mixins/styles into restmod.model() function while defining our model and it is working fine till now. But this feature is going to be deprecated in future. You can avoid this by replacing
restmod.model('/url', 'amsStyle');

to
restmod.model('/url').mix('amsStyle');

Both work in the same way. Hope it makes sense to you. Sorry for the late reply.

Thanks! All set.


Mypy error: incompatible definition of model_construct() in multiple inheritance from BaseModel and RootModel

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
The code below (I know it doesn't really make sense on its own terms, but it's a minimal reproduction of a case in which the multiple inheritance has a certain logic) yields the following mypy error on pydantic 2.8.2, but it used to be ok on 2.7.4:
test.py:7: error: Definition of "model_construct" in base class "Foo" is incompatible with definition in base class "RootModel"  [misc]
I'm guessing it's an issue with the mypy plugin.
Potentially related:

https://github.com/pydantic/pydantic/issues/8729
https://github.com/pydantic/pydantic/issues/9461

Example Code
from pydantic import BaseModel, RootModel

class Foo(BaseModel):
    pass

class Bar(Foo, RootModel):
    pass

Python, Pydantic & OS Version
pydantic version: 2.8.2
        pydantic-core version: 2.20.1
          pydantic-core build: profile=release pgo=true
                 install path: .../venv/lib/python3.8/site-packages/pydantic
               python version: 3.8.19 (default, Apr  6 2024, 17:58:10)  [GCC 11.4.0]
                     platform: Linux-6.5.0-1025-oem-x86_64-with-glibc2.35
             related packages: fastapi-0.111.0 pydantic-settings-2.3.4 mypy-1.10.1 pydantic-extra-types-2.8.2 typing_extensions-4.12.2
                       commit: unknown

I opened #9913 which I think may fix this but I'm concerned that the relevant code was necessary to resolve some other bug.. if there's no test though, I'll do a bit of digging, but otherwise I guess I'm not too concerned.

Okay I realized that there was a reason the code did what it did, but I'm semi-optimistic I found a "real" fix.. see #9913 for updates..

@brianmedigate it would be great if you could confirm whether #9913 resolves the issue for you. My concern is that the code snippet you shared doesn't make much sense (as you noted 😄) and I'm worried that the nuances of your actual usage may not be accommodated fully by #9913. But that PR at least makes the issue in your snippet go away.

yes, it resolve the issue, thanks!


Significant TCP perfomance regression

Describe the bug
The commit c6fac25e87323e86540674166af40c0a4da767be introduces significant drop in TCP performance for my application which is a web server built around civetweb.
With this commit data buffer allocations often fail. RX direction is worse than TX. Eg. file upload is more than 4times slower.
[00:00:03.571,000] <err> net_pkt: Data buffer (576) allocation failed.
[00:00:03.672,000] <err> net_pkt: Data buffer (68) allocation failed.

Tomorrow (hopefully) I will try to share more details.

@rlubos - would you be able to verify this regression?
@xhpohanka - can you also specify the value you have for CONFIG_NET_LOG_LEVEL?

This issue is independent to LOG_LEVEL, but i have there INF usually.
I also forgot to mention that I see this on stm32h7 platform.

We had reports of the decreased UDP performance, but it was rather related to the extra mutex protection added to the net stack, not the buffer allocation.
Actually, the only change that the commit you mention introduced, is the buffer pool used for allocation. net_pkt_alloc_with_buffer() is just a thin wrapper over pkt_alloc_with_buffer(), which enforces the use of the TX pool. With the changes from the aforementioned commit, the clone operation will use the pool from which the packet originated, so after this change the RX pool could be more heavily occupied. Perhaps it's just a matter of increasing the number of RX buffers available to restore the original behaviour? At the same time, it should theoretically be possible to decrease the number of TX buffers, as there should be less allocations from the TX pool.

Perhaps it's just a matter of increasing the number of RX buffers available to restore the original behaviour? At the same time, it should theoretically be possible to decrease the number of TX buffers, as there should be less allocations from the TX pool.

I will check it, thanks

It seems a bit magic to me now but with net_pkt_alloc_with_buffer() everything is fine but with pkt_alloc_with_buffer(pkt->slab,..) the allocations are unsuccessfull with no respect to NET_BUF_RX_COUNT and NET_BUF_TX_COUNT size. I do not have unlimited SRAM, but I tried to double both with no progress...
00:00:35.055,000] <err> net_pkt: Data buffer (590) allocation failed.
[00:00:35.055,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:00:35.062,000] <dbg> testapp.check_header: HeaderCrc: Header:0x9494794d  Data:0x9494794d
[00:00:35.062,000] <dbg> testapp.field_get_fw: size: 453344
[00:00:35.079,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 4096, remaining = 449312
[00:00:35.103,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 8192, remaining = 445216
[00:00:35.121,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 12288, remaining = 441120
[00:00:35.205,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 16384, remaining = 437024
[00:00:35.212,000] <err> net_pkt: Data buffer (590) allocation failed.
[00:00:35.212,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:00:35.228,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 20480, remaining = 432928
[00:00:35.247,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 24576, remaining = 428832
[00:00:35.266,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 28672, remaining = 424736
[00:00:35.286,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 32768, remaining = 420640
[00:00:35.351,000] <err> net_pkt: Data buffer (590) allocation failed.
[00:00:35.351,000] <err> eth_stm32_hal: Failed to obtain RX buffer
...

So perhaps there's a memory leak somewhere? There is also a net shell utility that helps to track allocations, perhaps it could thell where all the buffers gone (https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/net/ip/net_shell.c#L5998).

It seems like there isn't to much things allocated :D
uart:~$ net mem
Fragment length 128 bytes
Network buffer pools:
Address         Total   Avail   Name
0x24012554      256     253     RX
0x2401258c      256     253     TX
0x2401282c      96      96      RX DATA (rx_bufs)
0x24012860      192     192     TX DATA (tx_bufs)
[00:01:04.746,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:04.747,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:04.848,000] <err> net_pkt: Data buffer (576) allocation failed (net_pkt_clone:1772)
[00:01:05.066,000] <err> net_pkt: Data buffer (576) allocation failed (net_pkt_clone:1772)
[00:01:03.946,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:04.746,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:04.747,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:04.848,000] <err> net_pkt: Data buffer (576) allocation failed (net_pkt_clone:1772)
[00:01:05.066,000] <err> net_pkt: Data buffer (576) allocation failed (net_pkt_clone:1772)
[00:01:05.259,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 32768, remaining = 397904
[00:01:05.286,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 36864, remaining = 393808
[00:01:05.324,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 40960, remaining = 389712
uart:~$ net allocs
Network memory allocations

memory          Status  Pool    Function alloc -> freed
0x24061ba8/1     used      RX   tcp_conn_alloc():1221
0x24065ba8/1     used      TX   tcp_conn_alloc():1229
0x24061b68/1     used      RX   tcp_conn_alloc():1221
0x24065b68/1     used      TX   tcp_conn_alloc():1229
0x24061ae8/1     used      RX   tcp_conn_alloc():1221
0x240658a8/1     used      TX   tcp_conn_alloc():1229
0x240615e8       free      RX   eth_rx():391 -> processing_data():159
0x240618a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24065a68       free      TX   tcp_out_ext():811 -> tcp_send():340
0x240665d8       free   TDATA   ethernet_fill_header():486 -> ethernet_remove_l2_header():566
0x24061a68       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240619e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240617e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240616e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061b28       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061768       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061628       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061668       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240616a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061a28       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061aa8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061868       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240617a8       free      RX   eth_rx():391 -> processing_data():159
0x240619a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240615e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061968       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240665d8       free   TDATA   ethernet_fill_header():486 -> ethernet_remove_l2_header():566
0x24065968       free      TX   tcp_out_ext():811 -> tcp_send():340
0x24066710       free   TDATA   ethernet_fill_header():486 -> ethernet_remove_l2_header():566
0x240617a8       free      RX   eth_rx():391 -> processing_data():159
0x24065aa8       free      TX   tcp_out_ext():811 -> tcp_send():340
0x24065aa8       free      TX   tcp_out_ext():811 -> tcp_send():340
[00:01:06.384,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:06.385,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:07.139,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:07.139,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:07.165,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 49152, remaining = 381520
[00:01:07.178,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 53248, remaining = 377424
[00:01:07.190,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 57344, remaining = 373328
[00:01:07.203,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 61440, remaining = 369232
[00:01:05.354,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 45056, remaining = 385616
[00:01:06.384,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:06.385,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:07.139,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:07.139,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:07.165,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 49152, remaining = 381520
[00:01:07.178,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 53248, remaining = 377424
[00:01:07.190,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 57344, remaining = 373328
[00:01:07.203,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 61440, remaining = 369232
uart:~$ net mem
Fragment length 128 bytes
Network buffer pools:
Address         Total   Avail   Name
0x24012554      256     253     RX
0x2401258c      256     253     TX
0x2401282c      96      91      RX DATA (rx_bufs)
0x24012860      192     192     TX DATA (tx_bufs)
[00:01:07.994,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:07.994,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:08.036,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 65536, remaining = 365136
[00:01:08.049,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 69632, remaining = 361040
[00:01:08.062,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 73728, remaining = 356944
[00:01:08.075,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 77824, remaining = 352848
[00:01:08.761,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:08.761,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:09.033,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 81920, remaining = 348752
[00:01:09.047,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 86016, remaining = 344656
[00:01:09.067,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 90112, remaining = 340560
[00:01:     4,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:07.994,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:08.036,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 65536, remaining = 365136
[00:01:08.049,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 69632, remaining = 361040
[00:01:08.062,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 73728, remaining = 356944
[00:01:08.075,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 77824, remaining = 352848
[00:01:08.761,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:08.761,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:09.033,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 81920, remaining = 348752
[00:01:09.047,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 86016, remaining = 344656
[00:01:09.067,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 90112, remaining = 340560
[00:01:09.079,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 94208, remaining = 336464
[00:01:09.539,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:09.540,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:10.310,000] <err> net_pkt: Data buffer (60) allocation failed (eth_rx:391)
[00:01:10.310,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:10.338,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 98304, remaining = 332368
[00:01:10.390,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:10.390,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:10.407,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 102400, remaining = 328272
[00:01:10.421,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 106496, remaining = 324176
[00:01:10.433,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 110592, remaining = 320080
[00:01:09.539,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:09.540,000] <err> eth_stm32_hal: Failed to obtain RX buffer
uart:~$ net allocs
Network memory allocations

memory          Status  Pool    Function alloc -> freed
0x24061ba8/1     used      RX   tcp_conn_alloc():1221
0x24065ba8/1     used      TX   tcp_conn_alloc():1229
0x24061b68/1     used      RX   tcp_conn_alloc():1221
0x24065b68/1     used      TX   tcp_conn_alloc():1229
0x24061868/1     used      RX   net_pkt_clone():1772
0x24061ae8/1     used      RX   tcp_conn_alloc():1221
0x240658a8/1     used      TX   tcp_conn_alloc():1229
0x24061728/1     used      RX   net_pkt_clone():1772
0x24061b28       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061868       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240616a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061968       free      RX   eth_rx():391 -> processing_data():159
0x240618e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240618a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061a68       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061628       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240615e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061768       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061728       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061aa8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061668       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240617a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061a28       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061828       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061968       free      RX   eth_rx():391 -> processing_data():159
0x24061928       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240617e8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x240619a8       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24066938       free   TDATA   ethernet_fill_header():486 -> ethernet_remove_l2_header():566
0x24061668       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24061628       free      RX   eth_rx():391 -> processing_data():159
0x24061728       free      RX   net_pkt_clone():1772 -> zsock_recv_stream():1201
0x24065b28       free      TX   tcp_out_ext():811 -> tcp_send():340
0x240667a0       free   TDATA   ethernet_fill_header():486 -> ethernet_remove_l2_header():566
0x240615a8       free      RX   eth_rx():391 -> pkt_alloc_with_buffer():1413

uart:~$ [00:01:11.252,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:11.252,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:11.294,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 114688, remaining = 315984
[00:0[00:01:11.31:07,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 118784, remaining = 311888
10.310,000] <err> net_pkt: Data buffer (60) allocation failed (eth_rx:391)
[00:01:1[00:01:11.321,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 122880, remaining = 307792
0.310,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[[00:01:11.3030:4,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 126976, remaining = 303696
01:10.338,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 98304, remaining = 332368
[00[00::001:12.057,0001] <er:r> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
10.390,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[[00:01:1200.057,000] <err> eth_stm32_hal: Failed to obtain RX buffer010m
:10.390,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00[00:0:01:12.326,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 131072, remaining = 299600
1:10.407,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 102400, remaining = 328272
[[00:01:12.00339,000] :<dbg> testapp.field_get_fw: firmware sector written (0), bytes = 135168, remaining = 295504
01:10.421,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 106496, remaining = 324176
[0[00:01:12.3530:,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 139264, remaining = 291408
01:10.433,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 110592, remaining = 320080
[[0000:01:12.365,00:0] <dbg> 0testapp.fie1ld_get_fw: firmware sector written (0), bytes = 143360, remaining = 287312
:11.252,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:11.252,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:11.294,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 114688, remaining = 315984
[00:01:11.307,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 118784, remaining = 311888
[00:01:11.321,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 122880, remaining = 307792
[00:01:11.334,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 126976, remaining = 303696
[00:01:12.057,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:12.057,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:12.326,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 131072, remaining = 299600
[00:01:12.339,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 135168, remaining = 295504
[00:01:12.353,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 139264, remaining = 291408
[00:01:12.365,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 143360, remaining = 287312
uart:~$ [00:01:12.860,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:12.860,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:13.655,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:13.655,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:13.693,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 147456, remaining = 283216
[00:01:13.706,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 151552, remaining = 279120
[00:01:13.718,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 155648, remaining = 275024
[00:01:13.730,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 159744, remaining = 270928
[00:01:12.860,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:12.860,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:13.655,000] <err> net_pkt: Data buffer (590) allocation failed (eth_rx:391)
[00:01:13.655,000] <err> eth_stm32_hal: Failed to obtain RX buffer
[00:01:13.693,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 147456, remaining = 283216
[00:01:13.706,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 151552, remaining = 279120
[00:01:13.718,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 155648, remaining = 275024
[00:01:13.730,000] <dbg> testapp.field_get_fw: firmware sector written (0), bytes = 159744, remaining = 270928
uart:~$

So if there are so many buffers available, why does it fail to allocate them? And why does it only happen with changes from c6fac25 ? Some bug in the net_buf allocation algorithm? Hard to tell actually w/o debugger attached to the actual hardware and application.

I will try to prepare some minimal example.

Minimal example is here: https://github.com/xhpohanka/civetweb_upload
It is just slightly altered zephyr's civetweb sample with additional handler for file upload. I'm testing it with similar command curl --form<EMAIL_ADDRESS>http://<IP_ADDRESS>/fwupdate
It behaves exactly as described in previous comments. I was not able to see it in qemu. Could it be possible that there is some concurrency issue? Maybe RX packets are not freed as quick as TX ones...

I was not able to see it in qemu

That could suggest that there's some issue with the particular Ethernet driver? I'm not familiar with eth_stm32_hal.c driver, but what I don't like is that it tries to allocate the buffer, w/o a timeout:
https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/ethernet/eth_stm32_hal.c#L392
The question is what are the priorities of the Ethernet driver RX thread, and the application thread that consumes the data. If the driver thread has a higher priority, and the data arrives faster than the application thread can consume it (which I guess is waht we observe based on the above log), the Ethernet thread will eventually start to drop the data, unless it gives the application thread a chance to free some buffers (by specifying the allocation timeout). Otherwise, frame is dropped silently, and we get significant perfomance drop, as we get gaps in the TCP stream.

but what I don't like is that it tries to allocate the buffer w/o a timeout

That is an interresting notice. Changing the net_pkt_rx_alloc_with_buffer() allocation within the driver to wait fixes my issue. The wait period has to be quite large (100ms) to prevent the unsuccessfull allocations completely. I checked the rest of drivers and they use K_NO_WAIT too, but all of them do the allocation inside an interrupt. STM32 is the only one with separate RX thread.

The question is what are the priorities of the Ethernet driver RX thread, and the application thread that consumes the data

ethernet driver default priority is -14 while the application (server) is in preempt range (0)

I suggest then fixing the issue on the driver side to improve the driver reliability.

@xhpohanka Any update on this, will you be able to submit a patch to the driver that fixed the performance issue for you?


rows with empty the_geom should not be taken into account for rows_geocoded_after

@rafatower take a look at this, do you agree on the change? This is not only a fix for #1005 but a change to the real_rows metric.

Frontend tests were OK :+1: (details)

Why georef_status is true but the_geom is empty?

cartodb_georef_status == true => a geocoding was requested when this row existed and it didn't fail (literally, it doesn't mean success but not failing).
So, cartodb_georef_status == true && the_geom empty => a geocoding was requested but not needed for this row.
As far as I've read and understood, cartodb_georef_status is used through geocoding (cache, internal, table...) within the scope of remaining work in the current geocoding. You know: true == has been geocoded with a result, false == has been geocoded without a result, null == pending geocoding.
In order to avoid a big redesign that I'm not sure whether it's justified or even right at all I've tried not to change the process but the interpretation of the results. Maybe I'm a little coward at this kind of fixes, but I think this is right and there're too many moving parts here that are working.

you're totally right :+1:

@rafatower made a good point (offline): this might affect user charges. Nevertheless user geocoding is charged based on processed_rows, not real_rows, so this change won't affect. Waiting for +1 to merge if this is right for you.

fine by me :)


BBOX filter does not work against GeoServer WFS

We are using owslib to query WFS served by GeoServer 2.18.2.
BBOX filter does not work for us. The code below ends with service exception.
wfs11 = WebFeatureService(url='http://geo102.fsv.cvut.cz:8080/geoserver/wfs', version='1.1.0')
bbox_query = BBox([4624127, 2998330, 4650393, 3013986])
filterxml = etree.tostring(bbox_query.toXML()).decode("utf-8")

response = wfs11.getfeature(typename='lucas_deploy:lucas_points', filter=filterxml, srsname='urn:x-ogc:def:crs:EPSG:3035')
out = open('data.xml', 'wb')
out.write(bytes(response.read()))
out.close()

owslib.util.ServiceException: Illegal property name: ows:BoundingBox for feature type lucas_deploy:lucas_points
We were able to fix this by XML replacement, but this solution is only temporal.
wfs11 = WebFeatureService(url='http://geo102.fsv.cvut.cz:8080/geoserver/wfs', version='1.1.0')
attribute_query = PropertyIsEqualTo(propertyname='survey_year', literal='2012')
bbox_query = BBox([4624127, 2998330, 4650393, 3013986])
filterxml = etree.tostring(bbox_query.toXML()).decode("utf-8")

# Hotfix, TODO in owslib
filterxml = filterxml.replace('ows:BoundingBox', 'geom')
filterxml = filterxml.replace('<gml311:Envelope xmlns:gml311="http://www.opengis.net/gml">', '<gml311:Envelope xmlns:gml311="http://www.opengis.net/gml" srsName="http://www.opengis.net/gml/srs/epsg.xml#3035">')
print(filterxml)

response = wfs11.getfeature(typename='lucas_deploy:lucas_points', filter=filterxml, srsname='urn:x-ogc:def:crs:EPSG:3035')
out = open('data.xml', 'wb')
out.write(bytes(response.read()))
out.close()

Would be possible to extend BBOX filter to specify geometry field name instead of ows:BoundingBox and specify SRS for BBOX?

Seems to be fixed by https://github.com/geopython/OWSLib/commit/8db1fbd38b61381e70e9cd2ce81da61c5ab69d61


Drain icon keeps bouncing after adoption

That feels weird.  Maybe if it bounces a few times and then settles down, that would feel right on the money.

fixed!


librsvg v2.48.3 manual

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

And it magically fixed OSX too, nice!

I'll take the magic! Thanks.


Add Quay Metrics service Port

Since Prometheus Pushgateway is used for metrics and it can be accessed via port 9091, adding it to the Quay service.
P.S.
Exists in OCP templates as well:
https://github.com/quay/quay/blob/e919361a9aad73df015c692e31a1fe1d015cafa4/deploy/openshift/quay-app.yaml#L62

@JuozasA would you be able to remove the QuayRepoMirrorContainerPort and instead just leverage any associated references to it using the new Prometheus variable you added?

@JuozasA would you be able to remove the QuayRepoMirrorContainerPort and instead just leverage any associated references to it using the new Prometheus variable you added?

Sure. Is the quay-mirror using 9091? Assume quay/quay is a bit outdated... https://github.com/quay/quay/blob/master/deploy/k8s/quay-enterprise-mirror.yaml

@JuozasA it appears that you are building on top of your other PR. I would recommend that you use the latest master. I will be looking at #184 first

@JuozasA can you also add the containerPort to the Quay deployment as well?

@JuozasA can you also add the containerPort to the Quay deployment as well?

Done

@JuozasA With #184 now merged to master. Can you rebase changes on top of master? We can get this resolved very quickly

@JuozasA With #184 now merged to master. Can you rebase changes on top of master? We can get this resolved very quickly

should be ok now

@JuozasA  doesnt appear to be properly rebased as it contains 26 commits instead of the expected 1.

Since it is 15 lines, I am closing this one and will open a new PR from the master branch instead... will be quicker

@JuozasA perfect. since it was a small change, this would be the easiest


[COOK-4723] Package resource enhancements

Closing. Due to changes in chef client and windows cookbook, this one is no longer relevant