Cop idea: Long example description

A block such as it "..." do containing a very long description string is likely a sign that either the test or the implementation is too complex.

Interesting. Would this be conditional on anything like whether the test is inside of a context? Also how long is too long? Maybe a better heuristic is if the description string contains conjunctions? I grepped out most of the description strings in our project out of curiosity:
composes sets
has a valid URL
ignores comments
recreates source
flags an offense
compares by value
has one assertion
ignores view specs
ignores subclasses
approves of should
allows bang method
checks class specs
has two assertions
flags it { should }
checks class methods
registers an offense
ignores feature specs
builds a node pattern
flags nested contexts
ignores request specs
ignores routing specs
returns first element
allows a short example
flags an empty context
approves of should_not
checks instance methods
ends with a punctuation
ignores non-spec blocks
detects :each for hooks
ignores non-rspec hooks
allows an empty example
supports RSpec.describe
flags it { should_not }
permits two expectations
flags three expectations
checks subject below let
ignores instance_doubles
handles ACRONYMClassNames
alphabetizes cop requires
flags focused block types
handles subjects in tests
enforces non-method names
ignores an empty describe
detects :example for hooks
ignores non-example blocks
has an assertion on line 2
approves of is_expected.to
flags nested subject stubs
fails if the list is empty
ignores :context and :suite
flags allow(...).to receive
handles ALLCAPS class names
flags it { is_expected.to }
flags multiple expectations
detects the `not_to` offense
handles subjects in contexts
flags expect(...).to receive
detects the `to_not` offense
does not flag unfocused specs
has descriptions for all cops
builds a hash of descriptions
approves of subject above let
handles CamelCaps class names
finds old `stub_chain` syntax
finds `receive_message_chain`
approves of is_expected.to_not
does not flag include_examples
has configuration for all cops
ignores doubles without a name
registers the offense on line 1
flags it { is_expected.not_to }
flags it { is_expected.to_not }
skips single top level describe
has assertions on lines 1 and 2
complains when subject is mocked
does not start with a lower case
handles alphanumeric class names
allows subdirs for class methods
ignores non-spec context methods
only flags third level of nesting
approves of allow(...).to receive
flags deeply nested subject stubs
flags expect(...).to receive with
ignores described class as string
ignores let! when used in example
flags an empty top level describe
flags normal metadata in describe
allows flexibility with operators
ignores the file if it is ignored
complains when subject is stubbed
flags violations within all blocks
has assertions on column range 1-3
ignores nested describe statements
allows flexibility with predicates
ignores let! when used in `before`
approves of expect(...).to receive
flags expect(...).to have_received
flags specs with non :type metadata
ignores describes with only a class
find doubles whose name is a symbol
ignores non-alphanumeric characters
allows subdirs for instance methods
has an issue number prefixed with #
has an assertion on column range 1-3
flags expect(...).to receive at_most
ignores if namespace is not matching
skips methods starting with a . or #
includes Enabled: true for every cop
ends every description with a period
checks first-line describe statements
returns true for selectors in the set
detects no offense when using `to_not`
ignores doubles whose name is a symbol
ignores class if the scope is changing
detects no offense when using `not_to`
approves of one expectation per example
flags expect(...).to have_received with
has a colon and a whitespace at the end
doesn't blow up on single-line describes
rewrites "should miss me" as "misses me"
does not care about the described method
approves of expect(...).to have_received
only takes class from top level describes
ignores hooks with more than one argument
ignores non-rspec code with :focus blocks
has a link to the contributors at the end
checks for the use of the described class
autocorrects `before { }` to `before { }`
allows flat hierarchies for class methods
checks describe statements after a require
returns false for selectors not in the set
does not flag hooks without default scopes
flags literal nil value within expect(...)
does not have newlines in cop descriptions
flags expect(...).to have_received at_most
still flags doubles whose name is a string
finds a `spy` instead of an `instance_spy`
respects custom module name transformation
has a whitespace between the * and the body
has link definitions for all implicit links
ignores instance variables outside of specs
fails if the list has more than one element
generates a todo based on the detected style
does not flag a method that is focused twice
builds a YAML dump with spacing between cops
allows flat hierarchies for instance methods
finds an instance variable inside a describe
generates a todo based on the worst violation
rewrites "should have sweets" as "has sweets"
ignores an instance variable without describe
rewrites "should amass debt" as "amasses debt"
complains when let! is used and not referenced
rewrites "should do nothing" as "does nothing"
does not flag violations within a scope change
does not flag an otherwise empty example group
ignores subject when not wrapped inside a test
flags numeric literal values within expect(...)
has an assertion with correct violation message
checks around(:each) for explicit subject usage
skips specs not having a string second argument
flags boolean literal values within expect(...)
does not flag dynamic values within expect(...)
finds description with `should` at the beginning
does not flag violations within non-rspec blocks
autocorrects `before { }` to `before(:each) { }`
autocorrects `before(:each) { }` to `before { }`
finds description with `Should` at the beginning
finds a `double` instead of an `instance_double`
ignores describe that do not reference to a class
ignores feature specs when RSpec.describe is used
checks for the use of described class with module
ignores feature specs - also with complex options
skips specs that do not describe a class / method
checks highlights the first argument of a describe
finds an instance variable inside a shared example
rewrites "should wish me luck" as "wishes me luck"
checks before and after for explicit subject usage
finds multiple top level describes only with class
finds description with `shouldn't` at the beginning
autocorrects `before(:example) { }` to `before { }`
adds a message saying what the path should end with
ignores the source when the path is not a spec file
registers an offense for `eql` when argument is nil
autocorrects `before { }` to `before(:example) { }`
flags an instance variable when it is also assigned
rewrites "should pay for pizza" as "pays for pizza"
checks `it` and `specify` for explicit subject usage
adds a message saying the example has too many lines
flags all rspec example blocks that include `:focus`
ignores an instance variable when it is not assigned
does not recognize custom include methods by default
skips descriptions without `should` at the beginning
checks for the use of described class with namespace
rewrites "should deploy the app" as "deploys the app"
ignores nested stubs when nested subject is anonymous
rewrites "should obey my orders" as "obeys my orders"
skips specs that do have multiple top level describes
ignores stub within context where subject name changed
rewrites "should echo the input" as "echoes the input"
rewrites "should buy the product" as "buys the product"
registers an offense for `eql` when argument is a float
autocorrects `before(:each) { }` to `before(:each) { }`
generates a todo based on the usage of the correct style
registers an offense for `eql` when argument is a symbol
finds multiple top level describes with class and method
registers an offense for `eql` when argument is a boolean
rewrites "should return something" as "returns something"
flags string and symbol literal values within expect(...)
generates a todo based on the usage of the alternate style
autocorrects `before(:example) { }` to `before(:each) { }`
rewrites "should alias the method" as "aliases the method"
autocorrects `before(:each) { }` to `before(:example) { }`
registers an offense for `eql` when argument is an integer
rewrites "should fax the document" as "faxes the document"
flags nested subject stubs when adjacent context redefines
ignores the source when the path is not a specified pattern
finds `allow_any_instance_of` instead of an instance double
finds `expect_any_instance_of` instead of an instance double
flags nested subject stubs when nested subject uses same name
autocorrects `before(:example) { }` to `before(:example) { }`
finds old `any_instance` syntax instead of an instance double
flags hashes containing only literal values within expect(...)
flags ranges containing only literal values within expect(...)
flags all rspec example blocks with that include `focus: true`
flags arrays containing only literal values within expect(...)
flags regexps containing only literal values within expect(...)
rewrites "should search the internet" as "searches the internet"
does not register an offense for `eql` when argument is a string
complains when let! is used and not referenced within nested group
does not flag complex values with dynamic parts within expect(...)
does not register an offense for `eql` when expectation is negated
registers offenses when the path matches a custom specified pattern
rewrites "shouldn't return something" as "does not return something"
flags nested subject stubs when example group does not define subject
rewrites "should not return something" as "does not return something"
rewrites "should worry about the future" as "worries about the future"
autocorrects `it "should only fail" do end` to `it "onlies fail" do end`
autocorrects `it "should have trait" do end` to `it "haves trait" do end`
autocorrects `it { should be_truthy }` to `it { is_expected.to be_truthy }`
autocorrects `it { is_expected.to be_truthy }` to `it { should be_truthy }`
autocorrects `it { expect(foo).to eql(1) }` to `it { expect(foo).to be(1) }`
rewrites "should really only return one item" as "really only returns one item"
autocorrects `it "should only have trait" do end` to `it "only has trait" do end`
autocorrects `it { should_not be_truthy }` to `it { is_expected.to_not be_truthy }`
autocorrects `it { expect(0).to_not equal 1 }` to `it { expect(0).not_to equal 1 }`
autocorrects `it { is_expected.to_not be_truthy }` to `it { should_not be_truthy }`
autocorrects `it { expect(0).not_to equal 1 }` to `it { expect(0).to_not equal 1 }`
autocorrects `it { is_expected.not_to be_truthy }` to `it { should_not be_truthy }`
autocorrects `describe(Foo) { include Foo }` to `describe(Foo) { include described_class }`
autocorrects `describe(Foo) { before { Foo.do_something } }` to `describe(Foo) { before { described_class.do_something } }`
autocorrects `describe(Foo) { subject { Foo.do_something } }` to `describe(Foo) { subject { described_class.do_something } }`

some of the big ones have description strings we interpolate values into so rubocop-rspec wouldn't see these as big.
Regarding the conjunction solution I mentioned, here are matching descriptions from our project:
has assertions on lines 1 and 2
has a colon and a whitespace at the end
flags string and symbol literal values within expect(...)
complains when let! is used and not referenced
complains when let! is used and not referenced within nested group
finds multiple top level describes with class and method
checks before and after for explicit subject usage
has assertions on lines 1 and 2
has a colon and a whitespace at the end
flags string and symbol literal values within expect(...)
complains when let! is used and not referenced
complains when let! is used and not referenced within nested group
finds multiple top level describes with class and method
checks before and after for explicit subject usage

Nice idea about parsing for conjunctions but i think that may be difficult to get right.
I didn't consider whether it's inside of a context or not – perhaps this could be a future enhancement.
I think a reasonable default to start with would be 80 characters. The intention is to catch the extremes. The only rubocop-rspec examples which violate this are the ones containing code samples, which wouldn't be a concern for most projects.

I'm looking at the example docstrings John provided, from the longest, and they fall into several categories:

Longest, verbose

autocorrects `it "should only fail" do end` to `it "onlies fail" do end`

I personally can't figure out why it belongs to the docstring in the first place, as it doesn't add much over the expectation in the example itself, which presumably is:
include_examples 'autocorrect',
  'it "should only fail" do end',
  'it "onlies fail" do end'

And don't think this rule is applicable to generated docstrings e.g.
it %(rewrites "#{old}" as "#{new}") do

The ones with "when", "with", "without", and "for" that are extractable into a context.
Don't think it makes sense to advise to extract to context an example that would be the only example in the context just to make example docstrings shorter.

"finds expect_any_instance_of instead of an instance double" sounds totally legit, and is 60 characters long.

WDYT of relaxing this to 60, and adding notes that it doesn't apply to cases when
the example will be the only one in this context (except the case when docstring is significantly longer than 60) and
generated docstrings
?
Side observation:

"onlies fail"
doesn't sound right.


Feat:Want to Add Custom Scroll bar

Describe the feature
Want to Add Custom scroll bar to Enhnace look of Website
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSoC'24 contributor
[X] I want to work on this issue

@nishant0708 As I see that you create issues again and again, why don't you create all issues in one? This is not the way to work on open source.


stardog MIN MAX not working

This query executes extremely slow in Stardog and works just fine in Fuseki:
SELECT (MIN(?resourcestart) as ?querystart) (MAX(?resourceend) as ?queryend) {

   GRAPH ?g {
     ?sub <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.archiveshub.ac.uk/def/ArchivalResource> .
   }
     GRAPH ?t {
       OPTIONAL {
         ?sub <http://www.w3.org/2006/time#intervalStarts> ?resourceend .
      }
       OPTIONAL {
         ?sub <http://www.w3.org/2006/time#intervalStarts> ?resourcestart .
       }
     }
   }

It works fast without MIN / MAX
SELECT * {

   GRAPH ?g {
     ?sub <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.archiveshub.ac.uk/def/ArchivalResource> .
   }
     GRAPH ?t {
       OPTIONAL {
         ?sub <http://www.w3.org/2006/time#intervalStarts> ?resourceend .
      }
       OPTIONAL {
         ?sub <http://www.w3.org/2006/time#intervalStarts> ?resourcestart .
       }
     }
   }

Dataset to reproduce: http://ktk.netlabs.org/misc/rdf/stardog-helvetik.nq.bz2

from stardog:

The issue here is not related to min/max function. The problem is with query planning and I was able to reproduce the problem without the min/max functions. The problem is triggered by having only OPTIONAL blocks in a GRAPH pattern. We will fix this problem but in the meantime you can rewrite the query (with or without min/max) as follows as a workaround:

SELECT (MIN(?resourcestart) as ?querystart) (MAX(?resourceend) as ?queryend) {
   GRAPH ?g {
     ?sub <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.archiveshub.ac.uk/def/ArchivalResource> .
   }

   OPTIONAL {
     GRAPH ?t {
         ?sub <http://www.w3.org/2006/time#intervalStarts> ?resourceend .
      }
   }
   OPTIONAL {
     GRAPH ?t {
         ?sub <http://www.w3.org/2006/time#intervalStarts> ?resourcestart .
     }
   }
}


MWPW-137938 - Inline video fallback image

Add fallback image to inline Slack uploaded videos.
An author defined image is added via the poster attribute on a video. The image/poster displays while the video loads. Or, if the path to the video is incorrect.
Resolves: MWPW-137938
Test URLs: Sample page using a marquee fragment with video fallback image

Before: https://main--milo--adobecom.hlx.page/drafts/rclayton/test-template?martech=off
After: https://video-fallback--milo--adobecom.hlx.page/drafts/rclayton/test-template?martech=off

Sample page with several block variations for regression testing:

Before: https://main--milo--adobecom.hlx.page/drafts/rclayton/video/video-fallback?martech=off
After: https://video-fallback--milo--adobecom.hlx.page/drafts/rclayton/video/video-fallback?martech=off

**Test URLs: BACOM **
-Before: https://main--bacom--adobecom.hlx.page/drafts/rclayton/test/rtcdp?martech=off
-After: https://main--bacom--adobecom.hlx.page/drafts/rclayton/test/rtcdp?milolibs=video-fallback&martech=off
Testing notes:
Videos with fallback image will have a poster attribute on the video tag.
Bacom page example is under the first tab "Unified Profiles". Video in media block with fallback image/poster.
Authoring via image alt text
Use image and alt text property to author a fallback image to inline video's.

Will look into the unit test for utils that is erroring.

Failing unit test appears to be coming from caas-config, which is outside of this PR.


feat(ci): add npm caching in CI

Changes made by this PR can be summarized as follows:

Set the cache and cache-dependency-path argument to enable caching to speed up CI times.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 44.741%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
254

Relevant Lines:
514

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 44.741%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
254

Relevant Lines:
514

💛  - Coveralls


Please document how to use FWRDING and UDP Associate

You've extended socks5 but never mentioned how to use it. I've been reading the code, but its very labyrinthine and confusing. But, the FWRD command type is 0x5.
The server sends you an IP and Port, like the UDP Associate, but unlike UDP associate, its the port you requested in the FWRD??? E.g <IP_ADDRESS> 12345
If you try and TCP connect to that port, its closed. If you try and send a forward command as defined by socks5, over tcp on the original connection, it does nothing and responds with nothing. How am I supposed to use it?

Also, I cannot get UDP associate to work at all, and I'm unsure if this is your fault.

Extended UDP FWD is a method of forwarding UDP packets in a TCP connection. The address in the response message of this command is not used, and the forwarding is on the original TCP connection of current session. The clients compatible with this command are hev-socks5-tunnel and hev-socks5-tproxy, and they need to be configured with udp: tcp.

Fixed: https://github.com/heiher/hev-socks5-server/commit/d5102207235f0f344351d1f0cf6e9ee662d4de0e

While I do think you might have feel you "fixed" this issue, pointing to 2 projects which also don't have your packet structure documented isn't a solution. Not everything perhaps wants to work within your ecosystem, and maybe I wanna extend it, or add support for this because I like the feature.


fix teradata jar missing issue

Since we separated Teradata classes with other jobtype classes in https://github.com/azkaban/azkaban/pull/1717, it resulted in two individual jars: jobtype jar and Teradata Jar.
Today Azkaban adds original jobtype dependency classpath by specifying the exact class name, retrieving which jar includes this class, and appending the jar into Job JVM starting command. For example,
https://github.com/azkaban/azkaban/blob/7cd51237ad9e9f1994931cbe64f6dc1a640c0ece/az-hadoop-jobtype-plugin/src/main/java/azkaban/jobtype/HadoopJavaJob.java#L132
Because we separated the teradata and jobtype jar, we need to add teradata jar to classpath explicitly.

What classpath? It's not obvious to me what the problem was and how the change fixed it. Yes, I have looked at the diff.
Could you provide more details?

Explained more in the Description Panel. @HappyRay

Do other plugins work in the same way in terms of classpath?

Could you think of automated tests to catch this regression?

Per our earlier agreement, every time we find a bug, by default we need to add automated tests to prevent a similar issue in the future.

I just checked other plugins, like PinotBuildAndPush. Its classpath is included inside the JVM starting commands, like
/export/apps/azkaban/azkaban-exec-server/azkaban-exec-server_10688/plugins/jobtypes/PinotBuildAndPushJob/lib/*
So, in the future refactors, we may place teradata jars into every individual teradata related plugins.

So, in the future refactors, we may place teradata jars into every individual teradata related plugins.
Merge state

Which approach do you think is better?

I agree that we need to invest on the automated test. However, this code will eventually be discarded in later future. The jobtype automated test should be redeisgned with the new jobtype proposal. As we see, manual calling class name in java code was not a reliable design choice, and we should replace it with new approach.
In this PR, we might not want to introduce the change. Alternatively, we may

Like Reportal dependency, we'd place teradata abstract dependency under every teradata-replated plugin/lib.

When do you plan to do it?

When do you plan to do it?
The bottleneck is that Teradata codebase relies on maual-check-in jars. We need to figure it out firstly.

I misunderstood your question. Yes, I believe we might be able to do it at the current stage.

What's your plan then?

Instead of root/lib path, we should add the build generated jar, az-teradata-jdbc.jar, into every plugin/lib folder. We need to make sure plugin's classpath includes it.

When do you plan to implement what you stated above? Is that tracked?


Enhance overlay mode documentation for EKS

The overlay routing mode [1] doesn't allow control plane pods to connect to regular pods with private IP addresses assigned in an EKS cluster. The reverse connectivity from regular pods to control plane pods can be enabled with masquerading. However, users are required to ensure that native-routing-cidr configuration doesn't include the VPC CIDR from their cluster for masquerading to correctly work in such cases [2]. As ENI mode has scalability related limitations, users often switch to the overlay mode in their EKS cluster. It'll be good to document enhance the documentation to address these configurations.
[1] https://docs.cilium.io/en/latest/concepts/networking/routing/#encapsulation
[2] https://docs.cilium.io/en/latest/concepts/networking/masquerading/

@aditighag are you planing to work on this? This has been open for more than 6 months with no activity so I suggest to close it.

Another year has passed without any movement, closing for now.


Storing an ES6 Map in Safari 10 different from Chrome 56

I tried (without babel) to run the following from the local browser console:
m = new Map([[1, 'test']]);
localforage.setItem('m', m);
localforage.getItem('m');
In Chrome 56 this works - I get a Map back.
In Safari 10 this does not work - I get an empty Object back.
JSON.stringify(m);
gives me an empty object in both browsers. What does Chrome do extra?
localforage.getDriver(); returns an "Error: Driver not found." on both browsers, but localforage otherwise works fine for storing data. Using localforage 1.5.0.
Apologies if this is to do with ES6 support in browsers / JSON instead of a localforage issue.

nevermind - it seems Safari 10.0.3 on MacOS 10.12.3 does not support localforage.INDEXEDDB as storage.


Skript

Is your proposal related to a problem?

(Write your answer here.)
Describe the solution you'd like

(Describe your proposed solution here.)
Describe alternatives you've considered

(Write your answer here.)
Additional context

(Write your answer here.)

Seems like spam?


Learning CAPI and run some manual tests on the cluster-api-provider-elemental

Learning

[x] Quick online course => https://kube.academy/courses/cluster-api
[x] Demo from Andrea => https://drive.google.com/file/d/1zgkZJik82CwlKiJ1wYXT2YRxqb8jg_jX/view?usp=drive_link
[x] Elemental CAPI provider => https://github.com/rancher-sandbox/cluster-api-provider-elemental
[x] Official doc => https://cluster-api.sigs.k8s.io/introduction

Practicing

[x]  Deploy elemental cluster using k3s as CAPI provider / boostrap
[x]  Deploy elemental cluster using kubeadm/rke2 as CAPI provider / boostrap
[x] Write the internal documentation

Automation

[x] Create a new repository
[x] Add the first test using rke2 as bootstrap and controlplane provider
[x] Open follow up issues in the new repo

All good here https://github.com/rancher-sandbox/elemental-e2e
We can close this issue as others have been opened.


Unable to ssh to docker-scaleway-ubuntu1604-armv7l-1

Docker build jobs are failing as jenkins ssh to docker-scaleway-ubuntu1604-armv7l-1 is failing.

Rebooted and back online


Binary prefs builder

Add Builder for BinaryPreference creation.
Users can add own exceptionHandler, encryption data, directory base name, and register own persistable classes

@sboishtyan why you use as default BroadcastEventBridgeImpl ?

@nekdenis because it's has been discussed before.


ClassNotFoundException in the linux release

I tried to run Linux version (snake_2.0-1_amd64.deb), but unfortunately I get an error:

Error: Could not find or load main class com.orangomango.snake.Launcher
Caused by: java.lang.ClassNotFoundException: com.orangomango.snake.Launcher

Technically there's no Launcher.class in the JAR file

Hi, yes you are right, I'm really sorry. I forgot to include the Launcher.java file in the executable binaries.
I updated the release with the new executables. Let me know if it works. I tested the arm64 and it works.

Now it works perfectly. Thanks for the quick fix


[SPARK-30681][PYSPARK][SQL] Add higher order functions API to PySpark

What changes were proposed in this pull request?

This PR add Python API for invoking following higher functions:

transform
exists
forall
filter
aggregate
zip_with
transform_keys
transform_values
map_filter
map_zip_with

to pyspark.sql. Each of these accepts plain Python functions of one of the following types

(Column) -> Column: ...
(Column, Column) -> Column: ...
(Column, Column, Column) -> Column: ...

Internally this proposal piggbacks on objects supporting Scala implementation (SPARK-27297) by:

Creating  required UnresolvedNamedLambdaVariables  exposing these as PySpark Columns
Invoking Python function with these columns as arguments.
Using the result, and underlying JVM objects from 1., to create expressions.LambdaFunction which is passed to desired expression, and repacked as Python Column.

Why are the changes needed?

Currently higher order functions are available only using SQL and Scala API and can use only SQL expressions
df.selectExpr("transform(values, x -> x + 1)")

This works reasonably well for simple functions, but can get really ugly with complex functions (complex functions, casts), resulting objects are somewhat verbose and we don't get any IDE support.  Additionally DSL used, though  very simple, is not documented.
With changes propose here, above query could be rewritten as:
df.select(transform("values", lambda x: x + 1))

Does this PR introduce any user-facing change?

No.
How was this patch tested?

For positive cases this PR adds doctest strings covering possible usage patterns.
For negative cases (unsupported function types) this PR adds unit tests.

Notes
If approved, the same approach can be used in SparkR.

Test build #117722 has started for PR 27406 at commit d3e1287.

Merged build finished. Test PASSed.

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

Test build #117723 has started for PR 27406 at commit e60c589.

Merged build finished. Test PASSed.

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

Test build #117722 has finished for PR 27406 at commit d3e1287.

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

Merged build finished. Test PASSed.

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

Test build #117723 has finished for PR 27406 at commit e60c589.

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

Merged build finished. Test PASSed.

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

As a fellow Pythonista, do you have any thoughts about #27245 @nchammas?

Test build #117794 has started for PR 27406 at commit 05741c8.

Merged build finished. Test PASSed.

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

Test build #117794 has finished for PR 27406 at commit 05741c8.

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

Merged build finished. Test PASSed.

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

retest this please

Okay, let's merge this in. I will take a separate look for a followup if it's needed.

Test build #118892 has started for PR 27406 at commit 05741c8.

Merged build finished. Test PASSed.

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

Test build #118892 has finished for PR 27406 at commit 05741c8.

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

Merged build finished. Test PASSed.

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

Merged to master.

Thank you @nchammas @HyukjinKwon.


Reduce javascript execution time

Is your feature request related to a problem? Please describe.
Google still thinks our mobile performance is too slow, i.e. we have a LCP longer than 2.5 on most sites on mobile. Therefore we should try to speed up our web app more.
Describe the solution you'd like
Investigate whether we can reduce javascript execution time: https://developer.chrome.com/docs/lighthouse/performance/bootup-time/?utm_source=lighthouse&utm_medium=lr#how-to-speed-up-javascript-execution
Describe alternatives you've considered
None.
Additional context
LCP:
https://search.google.com/search-console/core-web-vitals/drilldown?resource_id=https%3A%2F%2Fintegreat.app%2F&item_key=CAMQAhgC
Part of #2371 , relates to #2498.

Maybe check out https://web.dev/learn/performance

This adresses bundle size and code compression:
It seams tree shaking does not work for lodash. The bundle still contains unused components.
When switching to function imports this is fixed e.g. from import { isEqual } from 'lodash' to import isEqual from 'lodash'. Compare with the bundle analyzer.
Sadly, i18next and luxon don't support tree-shaking.
We could also add "sideEffects": false to the translation, shared and build-configs project. This allows webpack to remove unused code from thes projects. https://webpack.js.org/configuration/optimization/#optimizationsideeffects
All over these changes could reduce the bundle size from around 791kb gzipped to 777kb gzipped.

Hmm, doesn't sound like a lot (< 2%) but I guess it still makes sense to do what we can. No other optimization potential here?

Steps to get the same report:

Download Chrome (to have access to lighthouse)
Open the Chromedevtools on Integreat
Run the dev server in production mode: yarn run webpack-dev-server-ts --env config_name=integreat-test-cms
Run lighthouse to checkout the results

[!Warning]
Page Speed Insights might use slightly different throttling, resulting in slightly different results

To reproduce the same results:
1.. Create a new hardwareprofile in the network tap using these settings:

Download: 1638kbit/s
Upload: 750kbit/s
Latency: 150ms

Select the newly created hardwareprofile and disable caching in the network tab
Open the performance (leistung) tab and check out what happens on reload.

Things that might have a performance impact:

[ ] Currently our code is not (properly) really tree-shaken meaning dependencies that we don't use and code that is not used remains inside the web app. However there are some parts that can actually be stripped. To remove that that add sideEffects: false to all of our projects. https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free
[ ] Lighthouse claims that there is unused javascript code loaded. We could completely strip off lodash (in web production), by implementing the comprehensions ourselves. This especially seems to have an impact on the landing page (as we do some crazy grouping/transforming stuff there). I'll open a proposal for that. Alternatively we could just use module imports as suggested above.
[ ] When I look at the performance tab I can see that the main bundle is taking around 5s to be fully loaded. As we are using HTTP/2 in production, splitting the bundle into smaller chunks can result in better performance. Check out the AggressiveSplittingPlugin. There are several guides on how to implement this: e.g. splitting react and react-dom into separate chunks or just by setting the chunk max size. I think this block article is a good starting point what can be achived here -> https://medium.com/@addyosmani/progressive-web-apps-with-react-js-part-2-page-load-performance-33b932d97cf2

@sarahsporck Thanks for documenting your results here. :+1:
For reducing the main thread work, we have a separate ticket here: https://github.com/digitalfabrik/integreat-app/issues/2498


Create slcc.txt

Added file for Salt Lake Community College, Salt Lake City, Utah
SLCC main page: http://www.slcc.edu/
SLCC STEM page: http://www.slcc.edu/sme/index.aspx
Comp Eng APE page: http://catalog.slcc.edu/preview_program.php?catoid=6&poid=1445
CSIS info page: http://www.slcc.edu/csis/index.aspx
Email policy page: http://www.slcc.edu/registrar/student-email-policy.aspx

@rbryson74 Pull request merged, thank you!


Suggestion: Use standardized workflows in repos

Having exactly the same workflows in every repository could have multiple advantages, for exam syncing one GitHub actions change among repositories easily using octoherd. I could submit PRs to standardise them (Repo names can be autodetected, like in https://github.com/runcitadel/docker-template. would you consider merging PRs like this for repositories to standardise these?
@nolim1t

Sure go ahead with the pr.. would love to keep this one in sync and easy to maintain.
This repo is probably easy to do


Failure to Load Large PNG Images (e.g., 8K Resolution) in Node.js on Windows

When attempting to load large images, such as those with 8K resolution, the operation occasionally fails.
OS: Windows 11
Node.js: v22.9.0
wasm-vips: 0.0.11
import Vips from 'wasm-vips';

Vips().then((vips) => {
    const image = vips.Image.newFromFile('nc192085.png');
    image.jpegsave('nc192085.jpg');
}).catch(console.error);

PS > node app.js
rb [vips::Error]: unable to call jpegsave
VipsImage: unable to write to "/tmp/vips-0-3093572251.v"
system error: No such file or directory

    at Fb (file:///.../node_modules/wasm-vips/lib/vips-node.mjs:58:43)
    at me (file:///.../node_modules/wasm-vips/lib/vips-node.mjs:216:270)
    at wasm://wasm/015f49d6:wasm-function[3980]:0x1a22de
    at ue (file:///.../node_modules/wasm-vips/lib/vips-node.mjs:218:356)
    at wasm://wasm/015f49d6:wasm-function[6012]:0x2b8b15
    at me (file:///.../node_modules/wasm-vips/lib/vips-node.mjs:216:270)
    at wasm://wasm/015f49d6:wasm-function[3253]:0x176546
    at he (file:///.../node_modules/wasm-vips/lib/vips-node.mjs:218:38)
    at wasm://wasm/015f49d6:wasm-function[4349]:0x1b9ab4
    at Image.jpegsave (eval at Sh (file:///.../node_modules/wasm-vips/lib/vips-node.mjs:153:241), <anonymous>:7:1) {
  ta: 9375224
}

nc192085.png

Notes

vips.Image.newFromFile('small.png').jpegsave('small.jpg'); => OK
vips-dev-8.16\bin\vips.exe jpegsave nc192085.png nc192085.jpg => OK
on WSL2 (Ubuntu 22.04 / Node.js v22.5.1) => OK

The Wasm binary is somewhat POSIX-specific, so it doesn't recognize that it's running on a Windows system. By default, it uses the /tmp directory when libvips decompresses a large image (above 100MiB when decompressed) to a temporary file on the disk. You can adjust the threshold for open-via-memory versus open-via-disk using the VIPS_DISC_THRESHOLD environment variable. See for more information:
https://www.libvips.org/API/current/How-it-opens-files.html
To prevent the use of the /tmp directory, you can also set the TMPDIR environment variable to a different path, for example:
https://github.com/kleisauke/wasm-vips/blob/7fa9bf21b0eb95967558b5ecdd1b219cf8dcba1f/test/bench/perf.js#L23-L27
Alternatively, you can open the image in sequential access mode:
@@ -1,6 +1,8 @@
 import Vips from 'wasm-vips';

 Vips().then((vips) => {
-    const image = vips.Image.newFromFile('nc192085.png');
+    const image = vips.Image.newFromFile('nc192085.png', {
+      access: vips.Access.sequential // 'sequential'
+    });
     image.jpegsave('nc192085.jpg');
 }).catch(console.error);

Commit a50ff5e3f63eef9af9fa75210190f9836d8959b8 always sets the TMPDIR environment variable to require('os').tmpdir() on Node.js, this will be in v0.0.12. Thanks for reporting this!


Support relative font size literals (rem)

The sling language supports passing font-sizes as a factor relative to the root font size of the window (reference).
Example:
import { Button, VerticalBox } from "std-widgets.slint";

export component MainWindow inherits Window {
    in-out property<int> counter: 42;
    default-font-size: 14px;

    VerticalBox {
        Text {
            text: "Counter: \{root.counter}";
            font-size: 1.2rem;
            horizontal-alignment: center;
        }
        Button {
            text: "Increase value";
            clicked => {
                counter += 1;
            }
        }
    }
}

Currently this plugin does not support it.
It may just be another LengthLiteral defined here.
Thanks for this plugin!

Fun fact: it seems to be implemented since 3 weeks, but just waits to be released 😉

Yes, I'm sorry for the delay. Moderation in jb takes some time. And I wanted to combine the fix with the new features.
The fix is available in version 0.3.1

I saw it yesterday, along with the new preview feature 🤩. Thank you.


Use underscores in our native library names to allow loading on restr…

…icted envs.
Motivation:
We are currently using - in our native library names. This not works on all envs.
Modifications:
Replace - with _
Result:
Fixes [#7069]

@eun-ice PTAL

Also @carl-mastrangelo

@normanmaurer netty-tcnative next on the list?

@johnou PR for tcnative is here: https://github.com/netty/netty-tcnative/pull/295
Once merged I will release it and update the netty loading code for it as well.

ups something is wrong... let me check and ping once done @Scottmitch

@normanmaurer does it make sense for me to test your PRs at the moment?

@eun-ice yep you can test this one now.. Fixed the problem

@Scottmitch PTAL

@normanmaurer I tried tcnative without https://github.com/netty/netty-tcnative/pull/295 since I couldn't get tcnative to work with.
With this PR netty one trys to load netty_transport_native_epoll once, but without success:
22:49:23,140 DEBUG io.netty.util.internal.NativeLibraryLoader:81 - Unable to load the library 'netty_transport_native_epoll', trying next name...
java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_epoll
        at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173)
        at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:81)
        at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:191)
        at io.netty.channel.epoll.Native.<clinit>(Native.java:61)
        at io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33)
		...
Caused by: java.io.IOException: Access denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createTempFile(File.java:2024)
        at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:141)
        ... 28 more

By the way, you can easily reproduce this by setting -Dio.netty.native.workdir to something the JVM is not allowed to write at all. Then netty is forced to load from java.library.path.
E.g. on linux
LD_LIBRARY_PATH=/path/to/libs java -jar... -Dio.netty.native.workdir=/mnt/cdrom/
That way java will add /path/to/libs to java.library.path.

I have been able to get your PR to work by adding this patch:
`diff --git a/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java b/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java
index 43da6b863f..3e41873416 100644
--- a/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java
+++ b/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java
@@ -125,10 +125,13 @@ public final class NativeLibraryLoader {
}
}

   if (url == null) {

       // Fall back to normal loading of JNI stuff

   try {

       // first try to load from java.library.path
       loadLibrary(loader, name, false);

       logger.info("{} was loaded from java.libary.path", name);
       return;

   } catch (Exception ex) {

       logger.info("{} cannot be loaded from java.libary.path", name, ex);
   }

   int index = libname.lastIndexOf('.');

`

@normanmaurer Fix for NativeLibraryLoader (based on this pull request): https://github.com/netty/netty/pull/7097

@normanmaurer - please clarify the commit message with some details from https://github.com/netty/netty-tcnative/pull/295#issuecomment-321950426 to clarify the motivation.

Build failure looks unrelated ... captured in https://github.com/netty/netty/issues/7056#issuecomment-321996849

@Scottmitch PTAL again.

Cherry-picked into 4.1 (19dcb15062ff93c5968c78df2de3c8ef6a181036) and 4.0 (c1d9967780)


Could you support inline assembly using ("GNU as" && "objcopy") || NASM?

Hello, how are you doing my friend? So, I've seen in #87 that you are seeing inline assembly as something who's value doesn't worth the effort for the code that will be added (and of course that time it will need to be implemented).
So, today I just found out about something! So, I want to output Assembly code and then use an assembler and linker to do the linking process. However, I was wondering on how will it be possible to implement JIT compilation of functions this way as while I can do the following:

Create a new file (containing the generated function)
Use GAS to create the object file
Use A linker to create the final executable AS A LIBRARY
Use "dlopen" to open the newly created library and call the symbol

That would (probably) work but it would be veeeeeeery slow to generate it! So, I made a research and I found another way!
NASM has the -f option that allows us to choose the file type. It can directly output an binary file! This file can then be loaded in memory and executed! I do have a theory about how this will work but it needs testing. Funny enough, I have tried to open the generated binary file and then use mmap to map it to memory and then execute this block of memory (can create a repo with the code and share it if you are truly interested) but it doesn't work. Of course, it's low level code so there may be many things that I'm doing wrong. But's let's suppose we'll solve this!
One problem might be that (from what I know at least), NASM only supports "X86_X64". For others platforms, GNU AS can be used. However, it cannot directly output a binary file. Don't worry tho cause objcopy is to the rescue! It is a little bit slower than just using NASM but it's better than nothing!
The commands will be the following (suppose we have a file called "test.asm"):
For the NASM version:
nasm -f bin test.asm -o test_bin
For the GNU AS and objcopy version:
as --64 test.asm -o test.o -O2 --strip-local-absolute && objcopy -O binary test.o test_bin
Again, I'm just wondering because I'm not exactly sure how MIR works under the hood. What do you think?

Thank you for sharing your ideas.
The first approach you are describing basically used by GCC JIT.  This is because GCC has no embedded assembler which can not produce code in memory.  I don't know about nasm, but GAS is designed for processing fast big assembler files, for tiny files the GAS initialization will take the majority of time.  Also minimal space for library is a machine page which is pretty big.
Using existing assembler simplify implementation of inline assembler, especially when new insns are permanently added for new CPUs (like x86-64 or aarch64).
Still implementing inline assembly with existing assembler is a big job.  The assembly inline syntax is not simple, there are a lot machine specific operand constraints which are added from time to time in GCC/Clang and should be checked against MIR operands.  I also have no clear picture how inline assembly should look on MIR level (if we use GNU C inline assembly extension).
I am not rejecting idea to implement inline assembly.  Simply I am not still ready to do this and did not decide what approach to use.

I'm glad that you continue been a positive and cheerful person. Of course, everything will need some works both on designing and on implementing it but after that MIR will probably be the 3rd best IR (or 1st if you consider compile-time to run-time worth ration) and most importantly, it will be able to be used by low level languages like my Nemesis that don't want to use libc's functions. For that reason, it's going to get lots and lots of more attention and help from other users that know how to design and implement a compiler backend.
At this point, I'm working for the frontend of Nemesis and I may not work with it for some time so I may be lucky enough that you would have start working in the inline assembly when I truly need a backend end, hehe!
When you start been interested on working on it, you can of course let me help if you want! I can help you with the design side of things (in both syntax and everything else). When that time comes, add a reply on that issue, letting me know and I'll give you my email so you can contact me!

I also think that an inline assembler is not aligned with MIR goals of keeping small. However I think MIR could have a way to inject binary blobs of code, like I suggested in https://github.com/vnmakarov/mir/issues/195 , so just skip the assembler, doesn't look like it would take much work. Maybe there is already a way to do this.

@rempas maybe you want to use keystone.

@rempas maybe you want to use keystone. To MIR, externally generated code are all the same. If you generate assembly with C calling convention, you can use it with MIR, probably.

Thanks for the information!


Instances of Error: This Suspense boundary received an update before it finished hydrating

I'm currently on v1.02 and recently tried to upgrade to v2.01. This went fine (and a ton of boilerplate was removed, well done!) but my automated tests started to get the error Error: This Suspense boundary received an update before it finished hydrating.
I didn't notice this error in development when using the site normally and I suspect that it might have something to do with how aggressively playwright controls the browser (i.e. it will navigate to another page very quickly after the first page has rendered some HTML).
I don't understand the internals of relay-nextjs very well but it it possible that something changed in the new version that might be related to suspense boundaries?
I found some details around how hard it is to debug where this occurring (https://github.com/facebook/react/issues/25625) and some other users that have tracked this to a useEffect hook problem, however the stack trace is not very useful for figuring out exactly where it went wrong.
Just curious if anyone else has run into this!
React version 18.2.0
Next 13.3.0

@Rodeoclash Sorry for the late response here! We started to see this issue a lot in development with the React 18 upgrade and it hasn't really impacted us since. We're under the impression this is a somewhat misleading error message and don't plan to fix it.

I run into this problem developing in react-native / expo, there is no stack tracking only mentions that it comes from react-dom when accessing from browser.

Following up here and to be clear, I mean that this has not impacted production for us and the application continues to work as expected. This is annoying in development mode, but this is an issue with React we cannot fix without substantially altering our code to be less efficient. Please see this discussion surrounding the issue on Reddit: https://www.reddit.com/r/nextjs/comments/yxa87v/im_glad_im_not_the_only_one_that_thinks_this/
If there are ideas on a workaround for the error we would be very happy to incorporate them into the library and welcome contribution.

@rrdelaney Interesting, I was getting rehydration issues in production as well (and have basically turned off SSR until I find some time to get to the bottom of what's going on) but it seems that this problem is tangentially related to SSR right? I think I might have an underlying issue going on which is also occurring alongside this issue.

Just for some context, as of my understanding the error was already removed in 2022 since it's really a React issue. See: https://github.com/facebook/react/pull/25692

The big change here is that we consider this a bug of React that we should fix. Therefore it's not actionable to users today because it should just get fixed. So we're removing the error early. Although anyone that has fixed these issues already are probably better off for it.

The latest stable React release is over 2 years old though which is why we're still seeing it.


Mobile App no longer in market place

This documentation is incorrect.  There is no longer a Mobile App option.

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

ID: 312c8a1a-d55e-26da-699b-6ae9bb4f6ca7
Version Independent ID: 760ffd60-3f4b-77eb-cb66-4c13738d51b4
Content: Create an iOS app on Azure App Service Mobile Apps
Content Source: articles/app-service-mobile/app-service-mobile-ios-get-started.md
Service: app-service-mobile
GitHub Login: @conceptdev
Microsoft Alias: crdun

@jsandersrocks, Thanks for the question! Yes, we are taking a look into this and will get back to you soon.

Hello, i can't create a new mobile app in azure

Same here, the option for Mobile Apps is gone. Is the service deprecated? Docs seem to have been updated only a month ago.

@XamarinTounsi, and @LaloCo, There have been some changes recently with how we present the App Services family in the Azure Portal. A Mobile App was a Web App with Easy Tables and Easy APIs added.
To simplify things, we have merged the API and Mobile Apps into the WebApp product. You should be able to search for ‘Web App’ and create that. As highlighted in the screenshot below, web apps have the Mobile App features that you’ll need to complete the doc.
Please let us know if you have any further issues. We're in the process of updating this in the document soon, but there is no ETA as of yet.

@jsandersrocks, Thanks again for raising this question.

@AjayKumar-MSFT thanks for the quick response. Is there some additional step that we need to perform to enable Mobile? I just created a Web App and there is no Mobile section, as you can see in the screenshot below:

Easy Tables is the Node.js version only.  The ASP.Net version is not available in the current API and is what needs to be fixed.  This was previously available through the quickstart

🤔 Still, I seem to be missing something here. I did select the Node.js version:

Nevermind, my bad, my connection string was badly formatted. See the Mobile section again!

Cool.  Still need to fix the ASP.Net experience.  EasyTables == Node.js

Sorry, nevermind again, still same issue, I deleted the comment. I was comparing some settings with a previous Mobile App and got confused there for a sec.
My mobile app does have some Application Settings there by default, the Web App does not, but have no idea where they come from or if they have anything to do with this.

Problem here !

Sorry for the inconvenience. We are aware of this issue and we will update the getting started instructions very soon.

@XamarinTounsi, On which region have you hosted your Mobile App? It’s working fine on my existing Mobile App(s), if you haven’t tried this already so and feasible, kindly restart the app /re-login to the Portal and let us know.

Further documentation updates were published today - basically you create an App Service Web App and use that for the back-end.

Thank you, @conceptdev. Since the document is now updated, we will proceed to close this issue.

After following the steps in the updated documentation, I still don’t see the Mobile section when creating the Web App. Even after adding the application setting and connection string.

I just created a new App Service Web App from scratch, and after waiting for the service to be created, the Mobile section (with Easy tables and Easy APIs) appear - see below. I realize that isn't much help to you in resolving the issue, but at least you can be sure the feature does exist. If you continue to have issues, consider the Help + support feature in the Azure portal.

Alright, I see it now but had to create the Web App with ASP.NET instead of Node. Contrary to what the docs say, Node doesn't seem to work.

Thanks for the followup info.


Add Babel compilation

For us ES3 users who can't use ES6 features.

No thanks, this isn't meant to actually be used

@thejameskyle Okay, thanks!


Autopilot User Driven - Login to AAD page

The AAD sign in page now includes an option that says "Not a XXXX company device?" and if you choose that, it will allow you to completely bypass the autopilot process. When was this added and how to turn that option off?

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

ID: 2434dfb6-ac9a-4ba1-a681-88786c87010a
Version Independent ID: 47e7470e-ab97-9917-04aa-4ec08a178af5
Content: Windows Autopilot User-Driven Mode - Windows Deployment
Content Source: windows/deployment/windows-autopilot/user-driven.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

Hello @KarbonX1,
you can turn it off by configuring the "Automatically setup for work or school" option in autopilot profile.
Source: https://docs.microsoft.com/windows/deployment/windows-autopilot/profiles
Thank you

@KarbonX1 - Thank you for submitting feedback.
From our understanding, the issue you raised has been answered by @MaratMussabekov so we will close this issue.
Thank you for your contribution to make the docs better! Much appreciated!


feat(python): adds python version

@ythirion  @NicolasBarlogis  if anyone has time for a code review 🙏


Being able to bail on error.

Description
Hi there, first of, awesome package!
This is a feature request.
I was wondering if there was a way to bail on error?
Currently, I have multiple linters set up, and one of them is quite long to run.
Sometimes, other short ones fail before this long one, but we have to wait after every linters to finish their job before exiting the process.
I'm using lint-staged in a pre-commit hook with husky.
It's very useful this way.
Maybe I'm missing a configuration that would let me bail on error, if so I'd love more info on it.
Thank you!
Environment

OS:macOS Mojave
Node.js:11.6.0
lint-staged:8.1.0

I've just found out that it does bail on error, but only if concurrent is set to false.
Since we have lots of linters to run, it's not practical to set concurrent to false.
Is there a way to kill other jobs when one fails? Even in concurrent mode.
That would be awesome.

Is there a way to kill other jobs when one fails?

concurrent is meant exactly for this.

https://github.com/okonet/lint-staged/blob/63b085f7b8a6ae953c0070fcb4122499fdb73542/src/runAll.js#L97

I feel like concurrent and bail should not be mutually exclusive.
Semantically speaking, they are not, it's just the design that makes them that way.
Because it's still great to get the speed of concurrent jobs and still being able to bail on the first one that fails.
I'll have a look, see if I figure something out.

It does make sense to me. I'll re-open the issue if you're up for working on it.

Thanks @okonet, I'll have a look as soon as I can.

Hi. Where are concurrent or other similar settings documented? How are they set? (Asking due to #730.) Thanks

In the upcoming v10.0.0 it would be possible to set exitOnError: true safely on the main tasks, since there is always a backup stash that will get restored on errors. Thoughts, @okonet?

@iiroj The "exitOnError" would be great, but I don't find any information on it on the documentation.
Is it released ? The cli option is --exit-on-error ?
Thanks.


Support multichain token

Removed CAVAX, now use CNATIVE

Refactored to NativeCurrency class to support ETH, AVAX, etc

Refactored CurrencyAmount classes to support chainId

This PR uses same concepts as:
https://github.com/Uniswap/sdk-core/commit/bf75b5ee01ad7ce14e5ce1fe9551620754ca6182#diff-cabcc1dfbf5cc867090e46fa6d679ca65f764df1be97f13b4f025215c97ba569

On Sun, Dec 11, 2022 at 11:39 PM robotmurloc @.***>
wrote:

Closed #42 https://github.com/traderjoe-xyz/joe-sdk/pull/42.
—
Reply to this email directly, view it on GitHub
https://github.com/traderjoe-xyz/joe-sdk/pull/42#event-8007931526, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATF47VNNUCGRE67XV4AFGIDWMXYS5ANCNFSM6AAAAAAS2ZCPRM
.
You are receiving this because your review was requested.Message ID:
@.***>

X. E


(mini.basics) Map 'jk' as

[ ] I have read CONTRIBUTING.md
[ ] I have read CODE_OF_CONDUCT.md

There is a line of document says:"    -- Basic mappings (better 'jk', save with Ctrl+S, ...)"
But I didn't find the mapping of "better jk" so I added it.
I'm not a native English speaker so I'm sorry if my words are confusing.

Thanks for the PR!
By "better 'jk'" it meant that j and k move by visible lines when no [count] is set.
This type of Insert mode exit introduces delay when typing j and/or k in Insert mode. Which is not good. A "better-escape" approach is planned for this (see #86), just not as separate module but as a function in 'mini.misc'. So, sorry, I'll close this.


Replace pybind11 with pybind17

pybind11 : https://github.com/pybind11/pybind11
pybind17 : https://github.com/utilForever/pybind17

We'll postpone pybind17 development because pybind11 doesn't cause any problems.


Initial guess part update

Steps for the CTDirect / CTBase updates

[x] 1. Merge v0.9.0 with local init into main
[x] 2. Then comment local init and its export, and make release from this branch; set as pre production release
[x] 3. Then update CTBase and test 0.9.0
[x] 4. Release updated CTBase
[x] 5. Update CTBase requirement, delete local init, merge into main and release 0.9.1 normally

@PierreMartinon looks like this is almost done, no?
Regarding HSL.jl, @amontoison confirms it is very light (everything is in the dll) so this can indeed be included (= using HSL) in CTDirect.jl, should be harmful on load time.

Yup, done and done

@PierreMartinon any clue welcome on https://github.com/control-toolbox/CTDirect.jl/issues/69#issuecomment-2208654289

@PierreMartinon any clue welcome on #69 (comment)

Haven't tried the HSL option yet. I'll do this when restarting the performance/benchmarking part.

@PierreMartinon looks like this is almost done, no?
Regarding HSL.jl, @amontoison confirms it is very light (everything is in the dll) so this can indeed be incluhttps://docs.github.com/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntaxded (= using HSL) in CTDirect.jl, should be harmful on load time.

HSL.jl only has HSL_jll.jl as dependency so it's very light.
You can only depend on HSL_jll.jl if you want but you will not gain a lot and you need to copy this Julia function here:
https://github.com/JuliaSmoothOptimizers/HSL.jl/blob/main/src/C/libhsl.jl#L1
The main advantage of using HSL.jl is that it takes care of loading an LP64 BLAS / LAPACK for you with the function __init__
https://github.com/JuliaSmoothOptimizers/HSL.jl/blob/main/src/HSL.jl#L16
But in your case you also depend on Ipopt.jl and I implemented the same init function.


update the last manifests used directly from this image to featuregate generation

/assign @JoelSpeed

/test verify

Proto generation is out of date on this PR

/lgtm

/retest


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/unltdnetworx/ioBroker.snips

[ ] [E150] No common.connectionType found in io-package.json
[ ] [E152] No common.dataSource found in io-package.json
[ ] [E154] common.dependencies must contain{"js-controller": ">=2.0.0"} or {"js-controller": ">=3.0.0"}
[ ] [E300] Not found on travis. Please setup travis
[ ] [E605] No actual year found in copyright. Please add "Copyright (c) 2022 Walter Zengel<EMAIL_ADDRESS>at the end of README.md
[ ] [E701] No actual year found in LICENSE. Please add "Copyright (c) 2022 Walter Zengel<EMAIL_ADDRESS>at the start of LICENSE

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Thanks, that all bugs have been fixed.


Null safety

Add the null safety feature in the package. Some dependencies have not implemented yet though. Check that link for the migration : https://dart.dev/null-safety/migration-guide
Deps that have null safety:

[x] async
[x] crypto
[x] http
[x] logger
[x] meta
[x] sortedmap
[x] web_socket_channel

Null safety code currently on the develop branch


WELD-2079 ScheduledExecutorServiceFactory not used in Weld codebase

remove it from required deployment services
mark it as deprecated

Merged.


test: Test pgvecto.rs with postgres_fdw

Check whether it works. Build one local table and one foreign table including vector. Try join query with them
And check the query plan by EXPLAIN

It works


http://localhost:3000/snazzy-info-window 404 (Not Found)

Issue description
I can not seem to get agm-snazzy-info-window to work. when i try to add agm-snazzy-info-window to my code i get http://localhost:3000/snazzy-info-window 404 (Not Found).
I have added
import { AgmCoreModule } from '@agm/core';
import { AgmSnazzyInfoWindowModule } from '@agm/snazzy-info-window

to my modules.ts.

npm install snazzy-info-window --save should work


[SPARK] Conform the 'spark2' module to the new build process

Summary: Conform the 'spark32' module with the rest of the migrated modules
Problem
Spark 3.2.x, 3.3.x, 3.4.x, and 3.5.x are compiled using Scala 2.12 and Scala 2.13. Due to a change in the Scala Collections API in Scala 2.13, NoSuchMethodErrors are thrown when running the openlineage-spack connector in an Apache Spark runtime when the runtime was compiled using Scala 2.13.
Relates to: #2303
Solution
This PR is the 11th of several PRs to support producing Scala 2.12 and Scala 2.13 variants of the OpenLineage Spark integration.
In this PR, we conform the spark2 module with the other migrated modules
Checklist

[x] You've signed-off your work
[x] Your pull request title follows our guidelines
[x] Your change contains a small diff and is self-contained
[x] Your comment includes a one-liner for the changelog about the specific purpose of the change (if necessary)
[x] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2023 contributors to the OpenLineage project

@d-m-h  please add license header as pointed in pre-commit check.

@d-m-h please add license header as pointed in pre-commit check.

Will do so. Thanks!


Edit computation of all edges

Let's describe the edge as a set of the type: {from:addr, to:addr, token:addr, capacity:int}
In the current implementation (https://github.com/CirclesUBI/pathfinder2/blob/dev/src/safe_db/db.rs#L32), only 2 types of egdes are created:

The edges where the token address transfered is the same as the "from" address
The edges where the token address transfered is the same as the "to" address

In this way, many edges are ignored, actually the ones where the token address to be transferred is neither the "from" address, nor the "to" address.
As a patch, in this PR (https://github.com/CirclesUBI/pathfinder2/pull/40), all the edges where "to" is an organization are added, including the edges where the "token" is neither the token of "from" nor "to". Therfore, still some edges are missing: the ones where the "to" is not an organization and the token is neither the token of "from" nor "to".
I have edited the code (without previous experience with rust) to create the computation of the edges directly taking into account all the cases from the start. I have unified both blocks of code in the compute_edges function implemented by @chriseth and @jaensen. One concern I have is if we could optimize the calculation of the "user_accepted_tokens" variable, which stores the list of users that accept each token.

Same query, the response takes 72479 ms and computes 1497301 edges, compared to 5625 ms and 896682 edges with the feature/server_only branch.
Query params:
"params": {
        "from": "0x3c89A829400Ea3B49F25738A1F4015A7961D0301",
        "to": "0x9BA1Bcd88E99d6E1E03252A70A63FEa83Bf1208c",
        "value": "1000000000000000000000000000000000",
        "max_transfers": 30,
        "prune": true
        }

We see here how the iterative option is much more necessary.


Trie Tree implementation in C

Title:
Trie Tree (C)
Body:
Trie Tree implementation in C

can u give a detail about the issue!!!

add Trie tree data structure implementation in C language

i am on it

good luck


Community Exchange Introduction & Tracking

👋 Hi @TheNova22,
I am your GitHub mentor for the GitHub Education, Community Exchange (CX) project. I'll be collaborating with you on preparing your repo for CX.
You mentioned in your submission that you wanted to submit a Learn + Collaborate repo. This means that you would like to teach students, step by step, how to build this project as well as invite other students to collaborate and add features to this repo. I will generate issues, which will provide guidance on how to prepare your repo for a Learn + Collaborate CX submission on June 1, 2022.
This issue will serve as a tracking issue to track all issues related to CX. I recommend creating a new branch for every issue and opening a pull request to track changes so we can effectively collaborate with each other and merge changes when you and I feel like those changes are ready to be merged on your primary branch.
If you have any questions or concerns, please feel free to leave a comment on this issue or any of the other issues that are generated.
I look forward to working with you! :octocat:
CX Issues:

[x] https://github.com/TheNova22/tkArt/issues/2
[x] https://github.com/TheNova22/tkArt/issues/3
[x] https://github.com/TheNova22/tkArt/issues/4
[x] https://github.com/TheNova22/tkArt/issues/5
[x] https://github.com/TheNova22/tkArt/issues/6
[x] https://github.com/TheNova22/tkArt/issues/7
[x] https://github.com/TheNova22/tkArt/issues/8

👋  Hi @radville
Glad to know that you will be my mentor for the project as part of CX.
Looking forward to learn and make this repo a great place for everyone to participate in.
I have added topics( #3 ) and also written a repo description ( #5 )
As days progress, I shall go on creating issues and creating and updating LEARN.md.

I have added Code of Conduct( #6 ), created a new branch for it and created a PR for merging it into master.

I've added two Issue templates (#8) for now i.e. Bugs and Enhancements. Will continue adding if anything more comes to my mind.
Merged it into the main branch.

Created and added two issues ( #10 and #11 )
Followed the template and also marked #11 as a good-first-issue for students to work on
Shall continue to add more as time passes by

Updated README.md ( #4 ) and added details about LEARN.md and Contribution details.
Added a LEARN.md ( #2 ) and started writing initialisation and basic parts of it, will continue writing it as time passes by.

Thanks! I'm going to keep this issue open so I can use it to let you know when you can submit your project to CX 😄

Okay 🎉  Glad to know that!

Hi @radville 👋
Received a mail regarding the submission of the project.
Submitted it to the community exchange.
Thanks for the help and mentorship in making this repo apt for submission 🎉

That's great to hear! I see it posted on the CX page! ✨


Convert releases to docker image references

#164072600

I know it is already merged, but this PR introduced a lint error that should be addressed:
cf-operator/pkg/bosh/manifest/kube_converter.go:82:1: exported method Manifest.GetReleaseImage should have comment or be unexported


Create DAX Calculations in Power BI Desktop, Part 2 Step Missing

Module: 05 Part 2
Exercise 2
Task: 03
Step: 01
Description of issue
The last step in the prior task has us in Model View.   For the steps in Task 3 for clean up, we need to add a step for us to switch to Report View as a new Step 1.
Repro steps:

Hi Jeff, thank you for the feedback, it's much appreciated. I will add an item for the backlog to add a step to clarify to move back to the report view. Please note, our labs are not designed to be a complete step-by-step instruction and there is a certain level of effort required by learners. There are previous steps that explain how to create new pages on Report View, so being able to delete pages from that view should be retained. If a learner struggles with finding this, the instructor is there to help guide them.


:bug: fix: slove button loading not work

💻 变更类型 | Change Type

[ ] ✨ feat
[x] 🐛 fix
[ ] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

🔀 变更说明 | Description of Change

📝 补充信息 | Additional Information

links: https://github.com/ant-design/pro-chat/issues/86


WIP Landing page work

@hmoco please remove comment work from this PR

save your comment changes in another branch
git reset --hard HEAD~2
git push ...

Merged into feature/prereg/full


C-008, C-009 — clean up cryptographic dependencies

Removed react-native-aes-crypto
Removed react-native-crypto
Cleaned native-modules.mock

Be careful with merging order. It looks like https://github.com/madfish-solutions/templewallet-mobile/pull/389 continues to use react-native-aes


[xbyak] update to 5.991

LGTM, thanks for your PR @Ryan-rsm-McKenzie.

Thanks @Ryan-rsm-McKenzie !


Problem with n-n relationship

When I use field-type select2_multiple or select_multiple
        $this->crud->addField(
            [
                'label' => "Cities",
                'type' => 'select2_multiple',
                'name' => 'cities',
                'entity' => 'cities',
                'attribute' => 'name',
                'model' => "App\Models\City", // foreign key model
                'pivot' => true,
            ],
            'update/create/both'
        );
In model Company
    protected $guarded = ['id',];
//     protected $fillable = [];

    public function cities()
    {
        return $this->belongsToMany('App\Models\City', 'city_company', 'company_id', 'city_id');
    }

and i have pivot table city_company
when i save company i have error
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'cities' in 'field list' (SQL: update `companies` set `updated_at` = 2017-02-16 17:00:49, `cities` = 1 where `id` = 1)
if i change $guarded to
protected $guarded = ['id', 'cities'];
all work without problem
Bug or not?)

It looks OK to me. Could you confirm which version of Laravel and BackpackCRUD you are using?

laravel 5.4.9
crud 3.1.57

Yeah im not sure, Im using laravel 5.4.12 with crud 3.2.3 and a very similar relationship which is working.
Perhaps upgrading would work for you.

Yeah) i upgrade laravel and crud and all works fine)


Difference from imagebind

Thank you for your excellent work. I want to know what is the difference between this work and ImageBind. According to my understanding, the difference is mainly reflected in the different modalities used as band, right? Thanks!

Thank you for your question and you are referring to one of its highlights. To summarize, firstly, a language-binding approach is more suitable for the majority of language-based downstream tasks due to the absence of an intermediate modality. Secondly, LanguageBind is pre-trained on the VIDAL-10M dataset, where the direct alignment of video, infrared, depth, and language data pairs outperforms the indirect integration of image-based modality data. Additionally, within VIDAL-10M, the language modality is a multi-view textual description enhanced by advanced models like ChatGPT. This ensures that the central modality possesses sufficient semantic information to bind effectively with other modal data.

Got it, thanks for your patient reply!


Automated Latest Dependency Updates

This is an auto-generated PR with latest dependency updates.

Pushing up a fix now


[ruff] Extend unnecessary-regular-expression to non-literal strings (RUF055)

Summary

This is a follow-up to #14659 to try to resolve variable bindings for the pattern argument in re methods like sub and match. The rule currently only matches string literals, but these changes enable detection of patterns like this:
import re

pat1 = "xyz"
pat2 = pat1
pat3 = pat2

re.sub(pat3, "", s)

For sub specifically, it also handles non-literal repl arguments, which also have to be strings for the suggested fix to be valid.
Test Plan

cargo test with a new snapshot test based on the example above.

This looks good to me and nice find @AlexWaygood


Feat/gemini error handling

Description
This PR checks that the return has the correct format before attempting to parse it and prints a more helpful error message to the debug console if not. This is an incomplete first step to handling instances where the Gemini streaming API returns something other than the desired response text. In particular, in testing with certain parameters I was getting a partial response and then the Continue chat panel popped up an error message that wasn't very helpful and the partial response disappeared. Troubleshooting revealed it to be that the API was returning FinishReason: Recitation (described in frustrating lack of detail here: https://ai.google.dev/api/rest/v1beta/Candidate , and a potentially broader Gemini issue here: https://issuetracker.google.com/issues/331677495 ), which in turn caused Continue to error out when the expected content text field was missing. A more complete solution would be to ensure coverage of the various ways the API might respond and how Continue should handle each, but for now this is at least a step in that direction.
Checklist

[x] The base branch of this PR is preview, rather than main

This is great @pzaback ! Thanks for cleaning up after Gemini : )


Erroneous results and a failure to evaluate with variations on the "scalar" example

Here is the code that gave unexpected and erroneous results (as I mentioned on Fortran discourse, dd. 1 december 2023):
`program scalar_with_scalar_eval
use FEQParse
implicit none
type(EquationParser) :: f
character(LEN=1),dimension(2) :: independentVars
character(LEN=30) :: eqChar
real :: x(2)
! Specify the independent variables
independentVars = (/'x', 'a'/)
! Specify an equation string that we want to evaluate
eqChar = 'f = \exp( -(x^2) ) - a'
!  eqChar = 'f = \exp( -(x^2) - a )'
!  eqChar = 'f = (x - a)^2 )'
! Create the EquationParser object
f = EquationParser(eqChar,independentVars)
! Evaluate the equation
x(1) = 1.0
x(2) = 1.0
print*, f % evaluate(x)
! Clean up memory
call f % Destruct()
end program scalar_with_scalar_eval
`
The first expression gives 1, where e^-2 is expected.
The second one (now in comment) gives "Attempt made to pop from empty stack".
The third one (again commented) does give the right answer.

I've added a branch bugfix/issue-12 to work on this.
The result you would expect here is "e^-1 -1" (not e^-2). You can run the example that you've provided on this branch with fpm,
fpm run --example "gaussian_scalar_multivar"
Project is up to date
 -0.632120550
 -0.632120550

Are you using the Intel compilers on your system ?

@arjenmarkus - I've got Windows with gfortran 13 builds working just fine See these tests
There's some odd behavior with the ifx compiler from Intel OneAPI that I'm working on sorting out still. I've also added memory checks with valgrind to the CI, so we'll see if this turns up anything obvious as we check across compilers.

@arjenmarkus - I just pushed a commit to the bugfix/issue-12 branch that resolves the segmentation faults with the ifort and ifx compilers when built with CMake. Would you be able to check it out and let me know if this resolves your issue ?

Yes, that seems to do the trick :). The results are in agreement with a
manual calculation and the problem with the empty stack is gone. I did see
that the testsuite program returns a non-zero value, but that may be
unrelated to the library.
Op wo 6 dec 2023 om 20:44 schreef Joe Schoonover @.***>:

Closed #12 https://github.com/FluidNumerics/feq-parse/issues/12 as
completed via #13 https://github.com/FluidNumerics/feq-parse/pull/13.
—
Reply to this email directly, view it on GitHub
https://github.com/FluidNumerics/feq-parse/issues/12#event-11172915646,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN6YR55CBHXJS3FOV3KSNLYIDDLHAVCNFSM6AAAAABACVHIHGVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGE3TEOJRGU3DINQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@arjenmarkus - I'll check that out. I usually run with ctest, rather than running the testsuite executable directly. I'll let you know what I find


Enable pagination in blog view

Add configuration support in the blog section.
Am thinking about
[params]
  [params.blog]
     ...
     pagination = true
     paginate = 5

@kentnek this is a feature I'd like to have a bigger discussion about. After some thought, I think it would be best to a have a default pagination setup for the blog list, and the default can be overridden using configuration such as @aldrineeinsteen has described.
What are your thoughts?

I don't mind having a pagination, as long as the styling fits our overall look of the theme. I don't really dig the bright red page button in @aldrineeinsteen's PR, which instead can be a semi-transparent grey box like this existing Prev/Next button:

Also, the config should also be site-wide, not page-wide, as discussed earlier.

Agreed on all accounts. The styles must fit the theme. And the config should exist in config.toml site wide. @aldrineeinsteen if you need help with styling let us know.

Is it possible to paginate the blog? I don't find the way...

@miguelbemartin this feature is not yet supported. But it's something that's on the roadmap. If you'd like to contribute go for it!

Thanks for your answer. I didn't use this theme in the end as it didn't have support for pagination. If not, I would be happy to help to contribute to this repo.


IEEE_Alphabetical cannot merge citation

There is no merge citation included.
Example, [2] [3] [4] become [2-4].

Sorry, but this project is no longer maintained / used. Please try: https://github.com/codingo/BibWord


Bugfixes and improved robustness for dataframe handling.

Changelog:

Added feature to set no_output variable in resaving() to allow for eva functions that do not return anyting,
Improved robustness of dataframe handling
generalized creation of parameter combinations when the keys in the index dictionary (indicating the variable parameters of the given ones) are not serial starting with zero.

To test the introduces best practice of weak consensus for merges to the main repos' master

Thanks


Good automatization of kontrol prove with no arguments

Similarly to forge test, we could have a more complete default behavior for kontrol prove. As of now, kontrol prove is a no-op.
It would be good if running kontrol prove did (at least some of) the following:

[ ] If a run-kontrol.sh script is present, execute bash run-kontrol.sh 2>&1 | tee log.out
[ ] If no run-kontrol.sh script is present, then run Kontrol with the default values on all tests present in the .k.sol files, while recording the output of the runs in a log.out file
[ ] If a configuration mechanism is added similar to that of foundry.toml, kontrol prove would run with the configuration specified in such file, say kontrol.toml

While this might not be a complete description of the things we could add, it's a good starting point.

Blocked and will be resolved when PR #373 is merged.

Will be partially addressed by TOML file support; for the run-kontrol.sh-related improvements, moving it to Backlog for now.


⚠ Bofrost.lu has degraded performance

In 3b27d29, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2192 ms

Resolved: Bofrost.lu performance has improved in d39f199 after 6 minutes.


Copy/Paste Breaks Between Micro and External Program

Description of the problem or steps to reproduce
There are several situations where Micro's copy-paste support apparently fails, especially when attempting to copy from or paste to locations outside the terminal, such as copying from a webpage or pasting to an external text editor.
Case 1 | From: Micro | To: Micro | Result: works for both Shift/Ctrl+Ins and Ctrl+C/V
Case 2 | From: Terminal Window | To: Micro | Result: works only for Shift/Ctrl+Ins (terminal only supports that shortcut)
Case 3 | From: External Program (eg, webpage) | To: Micro | Result: works only for Shift+Ins on paste; works for Ctrl+C or Ctrl+Ins on copy
Case 4 | From: Terminal Window | To: External Program | Result: works only for Ctrl+Ins on copy; works for either on paste
Case 5 | From: Micro | To: External Program | Result: Does not work for any shortcut
Case 5 | From: Micro | To: Terminal Window | Result: Does not work for any shortcut
Cases 3 and 5 are the most frustrating.  It's easy to imagine cases where I might want to copy text from files in Micro to paste elsewhere, especially since I use Micro on a remote machine and direct downloading of files is a hassle.  Since Micro promises access to the system clipboard, I'm annoyed that it seems to break when I want to copy text from Micro to anywhere else.
This occurs regardless of whether or not I set the "clipboard" setting to external or terminal.
Specifications
Clarification on specs: I use my home PC running Win10 with Git Bash for Windows to ssh in to the Stampede2 supercomputer, which runs CentOS 7.  I have micro installed to my home directory on Stampede2 and use it to edit code to be run there.
Commit hash: 6bc498e6
OS (local machine): Windows 10 Build 19042
OS (ssh machine): CentOS Linux 7 (Core)
Terminal: Git Bash for Windows (xterm-256 mode)

Getting the same issue with commit hash de35d00, on sway, using clipboard=terminal (in kitty, foot, alacritty)
Using clipboard=external also doesnt work unless installing wl-clipboard-x11 (replaces xclip/xsel with wayland versions_

Why does it work out of the box with nano + kitty?
And not with micro + kitty?

Still same problem on 4864590


[BUG]: Unhandled promise rejection: Error: Failed to load Stripe.js

What happened?
Receiving a lot of Unhandled promise rejection: Error: Failed to load Stripe.js errors in our React web app served from S3 Bucket. We are using loadStripe method. (code below)
At least 100+ daily. Upon looking it seems like most of them are from iOS devices.
user_agent.device.name  iPhone
user_agent.name Mobile Safari
user_agent.original Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1
Version of Stripe JS used: "@stripe/stripe-js": "^1.52.1"
Code:
import React, { ReactNode } from 'react';
import { Elements } from '@stripe/react-stripe-js';
import { loadStripe } from '@stripe/stripe-js/pure';

const stripePromise = loadStripe(<stripe_key>);

interface StripeProviderProps {
  children: ReactNode;
}

const StripeProvider = ({ children }: StripeProviderProps) => (
  <Elements
    options={{
      fonts: [
        {
          src: '<font_src_path>',
          family: 'UniversLTStd',
          style: 'normal',
          display: 'swap',
          weight: '300',
        },
        {
          src: '<font_src_path>',
          family: 'Din',
          style: 'normal',
          display: 'swap',
          weight: '200',
        },
      ],
    }}
    stripe={stripePromise}
  >
    {children}
  </Elements>
);

export default StripeProvider;

Would be great to have any support around this please?
Environment
Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1
Reproduction
No response

Hi, this looks like an integration question, and we aren’t able to answer those here on GitHub. Please reach out to Stripe Support for help.


Use Hiera 2.x backend API

Before this commit the rspec backend still used the deprecated Hiera 1.x
backend api that interprets nil values returned by #lookup as a lookup
failure (i.e. it was not possible to use keys with nil values).
The readme for the backend specifically states that it is meant to
interface with Hiera version 3.2.0 so it should not be using 1.x.
This commit changes the arity and semantics of the lookup function to
match that of the 2.x backend API.

You are absolutely right – thank you for your contribution!


DbContext Custom Connection String

Hello Mehdi, I would like to thank/congratulate you for this nice dll and post.
I am using in a business application and it works like charm, however I have a requirement that I cannot store connectionStrings in the app/web.config. So I need to set it programmatically.
The GetContext() method initializes the context object with the correct connectionString however in the Repository.Insert() the ambientLocator returns a context object without a connection string and throws
InvalidOperationException "No connection string named 'BDAL_DemoEntities' could be found in the application config file."
It seems like it instantiates a new context object, is there a way to solve the issue?
 // Calling method
 using (var scope = ContextFactory.ScopeFactory.Create())
        {
            using (var context = GetContext()) // Here the context.Database.Connection is correct
            {
                EFType myObject = this.ToEF();//Get an EF Object
                myObject = Repository.Insert(myObject);
            }
        }

    public BDAL_DemoEntities GetContext()
    {
        string connStr = "metadata=res://*/Model.BDAL_DemoModel.csdl|res://*/Model.BDAL_DemoModel.ssdl|res://*/Model.BDAL_DemoModel.msl;provider=System.Data.SqlClient;provider connection string=\"data source=.;initial catalog=BDAL_Demo;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework\"";

       BDAL_DemoEntities cntxt = new BDAL_DemoEntities(connStr);
       return cntxt;

        // To use the default connection string from app/web.config
        return new BDAL_DemoEntities();
    }

    // The issue is in the Repository.Insert(). The ambientContextLocator
    // returns a context that throws an exception as there is no connection String in the app.config
    var context = _ambientDbContextLocator.Get<context>();

I have a similar problem.  My connection string is a function of a named app.config connection string AND another parameter which I have my own interface/implementation that provides this (IConnectionStringResolver).  I want to inject it as follows but AmbientDbContextLocator requires a parameterless constructor for my DbContext-derived class:
public class TaskManagementDbContext : DbContext
{
    public TaskManagementDbContext(IConnectionStringResolver csr) :
        base(csr.GetConnectionString("Default"))
    {
    }
}

This is fine when I use NInject to instantiate the DbContext directly but when trying to use with DbContextScope, it is AmbientDbContextLocator that is doing the instantiation and it throws a MissingMethodException because it requires my DBContext-derived class to have a parameterless constructor:
public class TaskRepository : ITaskRepository
{
    private readonly IAmbientDbContextLocator _ambientDbContextLocator;

    private TaskManagementDbContext DbContext
    {
        get
        {
            // MissingMethodException thrown "No parameterless constructor defined for this object"
            var dbContext = _ambientDbContextLocator.Get<TaskManagementDbContext>();
			...
        }
    }

Is there a work-around for this? Thanks!

@BloodBaz the reason it's not working, is probably because you didn't register a IDbContextFactory. Inside DbContextCollection.cs it checks if the factory is registered with the following code:
 var dbContext = _dbContextFactory != null
   ? _dbContextFactory.CreateDbContext<TDbContext>()
   : Activator.CreateInstance<TDbContext>();

If it's not registered it will use the Activator.CreateInstance, but instead you want it to use your DI.
Whenever I need to use one of my DbContext I do the following:
public async Task<Foo> GetFooAsync(Guid id)
{
    using (var dbContextScope = _dbContextScopeFactory.CreateReadOnly())
    {
        return await dbContextScope.DbContexts.Get<FooDbContext>()
            .Foo
            .FirstOrDefaultAsync(q => q.Id == id);
    }
}

I'm using Simple Injector for my DI, here is the setup.
container.Register<IDbContextScopeFactory>(() => new DbContextScopeFactory(new SimpleInjectorDbContextFactory(container)), Lifestyle.Scoped);

internal class SimpleInjectorDbContextFactory : IDbContextFactory
{
    readonly Container _container;

    public SimpleInjectorDbContextFactory(Container container)
    {
        _container = container;
    }

    public TDbContext CreateDbContext<TDbContext>() where TDbContext : DbContext
    {
        return _container.GetInstance<TDbContext>();
    }
}

Here's a DbContextFactory that works wiith DbContextScope just fine. Connection string form config.
https://github.com/mitsbits/Ubik/blob/master/Ubik.EF/DbContextFactory.cs

@ellern Thanks for the pointers.  This is very useful.
@mitsbits Thanks for the example.


Incentivize writing good asynchronous code

Python 3.6 introduces the new keywords async and await, that can be combined with def, for, with (and more?).
We are adding more code that requires asynchronous primitives.
Python 3.5 supports asynchronous-function definitions and asynchronous-function calls by using @asyncio.coroutine and yield from. AFAIK there is no way to decorate or wrap with and for, and this disincentivize writing good asynchronous code.
My proposal is to drop support for Python 3.5.

My proposal is to drop support for Python 3.5.

Great!

Is this for the Tendermint integration only?

The tendermint branch will be merged in master at one point.

New in version 3.6: SHA3 (Keccak) and SHAKE constructors sha3_224(), sha3_256(), sha3_384(), sha3_512(), shake_128(), shake_256().

-- https://docs.python.org/3.6/library/hashlib.html#hash-algorithms