Issue in Join queries

I wrote this selection statement in .sq file :

SELECT *
FROM (COACHING_SESSION_REVIEWS_TABLE
LEFT JOIN COACHING_SESSION_USERS_TABLE ON COACHING_SESSION_REVIEWS_TABLE.coachingUserId = COACHING_SESSION_USERS_TABLE.coachingUserId
LEFT JOIN COACHING_SESSIONS_TABLE ON COACHING_SESSION_REVIEWS_TABLE.entityId = COACHING_SESSIONS_TABLE.entityId)
WHERE (COACHING_SESSION_REVIEWS_TABLE.userId = ? AND COACHING_SESSION_REVIEWS_TABLE.companyId = ?);

The compiled statement produced is:

SELECT *
FROM (COACHING_SESSION_REVIEWS_TABLE
LEFT JOIN COACHING_SESSION_USERS_TABLE ON COACHING_SESSION_REVIEWS_TABLE.coachingUserId = COACHING_SESSION_USERS_TABLE.coachingUserId
LEFT JOIN COACHING_SESSIONS_TABLE ON COACHING_SESSION_REVIEWS_TABLE.entityId = COACHING_SESSIONS_TABLE.entityId)
WHERE (COACHING_SESSION_REVIEWS_TABLE.userId = **?1** AND COACHING_SESSION_REVIEWS_TABLE.companyId = **?2**)

Statement has ?1 and ?2 in it instead of the arguemnts i passed
I went through the generated code, and found this code:
....
      **query.append('?').append(currentIndex++)**;
      args.add(userId);
      query.append(" AND COACHING_SESSION_REVIEWS_TABLE.companyId = ");
      **query.append('?').append(currentIndex++)**;
......

Any idea why the args are not replaced in the compiled statements. Am I missing something here?

it depends on the type of the arguments, but typically you need to use the arguments field on the returned SqlDelightStatement
SqlDelightStatement query = MyTable.FACTORY.myJoinQuery("arg1", "arg2");
Cursor cursor = openHelper.rawQuery(query.statement, query.args);

Thanks a lot @AlecStrong
I was missing the query.args part.  Sorry about that.


docs(site): 修复 G6 状态管理最佳实践引用链接错误

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[x] commit message follows commit guidelines

Description of change
修复站点文档引用链接错误

感谢 PR！


Supporting Documents

Added

Added support to upload a supporting document from a retailer (158623202)

[Delivers #158623202]

@EvanBarbour3 Conflicts!

@KrekoG

@wnowicki


Backport iOS 14 fixes to EarlGrey v1

This PR backports all the issues described in https://github.com/google/EarlGrey/issues/1357 to EarlGrey v1. Where possible I've cherry-picked the original commit:

XCTestCase::recordIssue support: https://github.com/google/EarlGrey/pull/1377
UITouch private API changes (based on @steipe approach published in https://github.com/google/EarlGrey/issues/1357)
Disable caret blink animation: https://github.com/google/EarlGrey/pull/1404/

Additionally I've also backported/fixed other small issues:

Duplicate TextField id's: https://github.com/google/EarlGrey/pull/1391/
Remove duplicated/invalid file references from Build Phase
Explicitly remove support for arm64 simulator (Apple Silicon) (not supported by ochamcrest)
Configure indentation to match existing guidelines
Fix deprecated developmentRegion
Fix weird documentation error due to an escaped character

Let me know if you want to add/remove/split anything.
(I've signed the CLA)

Thank you for this!
I was able to get our repos working with this for a few hours earlier but after clearing all cache to match CIs failures all accessibility frames appear to be .zero so all sufficientlyVisible() and interaction() are failing.
Has anyone else observed this?

We experienced the same issue locally, as far as I can tell is due to some ¿bug? on the iOS simulator. I can't seem to find the post where I read about it, but we managed to fix the issue either by restarting the simulators or (don't laugh)  launching the accessibility inspector and inspecting a view; from that point onwards everything worked flawlessly (and whatever happened persisted through executions).
Luckily for us we didn't experienced the same issue on our CI (Travis Enterprise), so not sure how to proceed 🤔 .

Honestly I've been wracking my brain what's changed and was seriously suspecting the simulator. Haha you're comments definitely put my frustrations at ease. 😂 Am not at all surprised that booting up the inspector might have fixed this.
Thanks for your quick reply @xavierjurado! Will try a few more things.

Hahaha, glad it worked! It would be cool to know what on earth is happing behind the scenes, chances are it's something we can fix setting some user defaults.

@xavierjurado Is your CI environment the exact same as your local one where you booted the accessibility inspector. EarlGrey needs the accessibility inspector so as to read the actual ax frames / info of the elements. I'm afraid there might be a bigger breakage going on with EarlGrey 1.0 and the ax inspector loading here.
https://github.com/google/EarlGrey/blob/master/EarlGrey/Core/GREYAutomationSetup.m#L155 The code here should crash in case the inspector isn't launched.

I found that code (I assume it has a bug, but haven't investigated) and also took a look at KIF who have a similar thread explaining the issue:
https://github.com/kif-framework/KIF/issues/944
Anyway I've fixed loading the accessibility within our project with the following code in our base test case - I know I should probably use the principal class in the info plist but this does the trick and only runs once:
class EGTestCase: XCTestCase {
    static let fixAccessibility: Void = {
        let libAccessibilityPath = NSString("/usr/lib/libAccessibility.dylib").fileSystemRepresentation
        guard let handle = dlopen(libAccessibilityPath, RTLD_LOCAL) else { return }

        typealias AXSSetAutomationEnabled = @convention(c) (Bool) -> Void
        guard let _AXSSetAutomationEnabled = dlsym(handle, "_AXSSetAutomationEnabled") else { return }
        let setAutomationEnabled = unsafeBitCast(_AXSSetAutomationEnabled, to: AXSSetAutomationEnabled.self)

        setAutomationEnabled(true)
    }()

    open override func invokeTest() {
        Self.fixAccessibility
        super.invokeTest()
    }

Thanks. I'm not sure if that will work on devices though. There have been failures previously on device with this code.

Good point @tirodkar, thanks for pointing that out! Our projects don't run these tests on devices at the moment but we're looking to move to UI tests so will mark this in the code!

EarlGrey 2.0 btw does not have this issue as XCUITest provides accessibility for us.

Wasn't there a way to trigger the accessibility system load from some UIApplication API?
Perhaps https://github.com/LeoNatan/Apple-Runtime-Headers/blob/5e50ad05dfd7d7b69fc2e0e685765fc054166b3c/iOS/PrivateFrameworks/UIKitCore.framework/UIApplication.h#L838 ?

The issue turned out to be much simpler: I accidentaly removed the invocation to [[GREYAutomationSetup sharedInstance] prepareOnLoad]; when cherry-picking c9517d5f55f1cd1ec67c6522e6be214fa5dbdc93, which in turn prevented grey_enableAccessibilityForSimulator from being ever invoked. Fixed in 2e28af9.

@rpitting Although EarlGrey is open source it is distributed as a binary framework via Cocoapods. That means that even if you pointed to our fork you'd still be downloading Google's official precompiled version unless we changed the podspec to point to our own binary. This is something we have not done yet because we'd like to merge these changes here instead.
In the meantime what we have done and what I suggest you is to compile the framework manually and use it instead of the Cocoapods version (ie: manual integration). I'll let you know if/when we distribute our own binary!

We are looking forward to have this PR merged and a subsequent release that can be used on Xcode 12. Thanks @xavierjurado for working on this.

Folks, we are not planning to do another EarlGrey 1.0 CocoaPods release. The code has not been maintained in over a year and a half.

I feel like it would be a good idea to put a deprecation statement somewhere (in the README or the issue/PR template maybe?) so that people are aware of this and do not accidentally integrate with EarlGrey v1. Adding the spec.deprecated = true could also be useful. Thanks for the clarification @tirodkar!


Enable pacts to be published to a broker as part of the library

Or add the documentation if this is already available.
Here is an example of the ruby task - it should support the same functionality.
PactBroker::Client::PublicationTask.new do | task |
  task.consumer_version = MyConsumer::VERSION # required
  task.pact_broker_base_url = "http://pact-broker.my.org" # required
  task.tag = "dev" # optional
  task.pact_broker_basic_auth =  { username: 'basic_auth_user', password: 'basic_auth_pass'} #optional
end

Perhaps even as a starting point, demonstrating how to programmatically retrieve/publish pacts in the idiomatic, Windowsy way. It's come up a few times in the past couple of days.
e.g. this seems to work from a publishing perspective:
$Headers = @{
  Authorization = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("dXfltyFMgNOFZAxr8io9wJ37iUpY42M:O5AIZWxelWbLvqMd8PkAVycBJh2Psyg1")))"
}
$res = Invoke-WebRequest -Uri "https://test.pact.dius.com.au/pacts/provider/Animal%20Profile%20Service/consumer/Matching%20Service/version/1.0.0" -Headers $Headers -Method Put -InFile .\matching_service-animal_profile_service.json -ContentType "application/json"

I have been recommending using your CI server to do this, and then link to a script to do it https://gist.github.com/neilcampbell/bc1fb7d409425894ece0.
IMHO this is the best place to do it as it gives you much more flexibility for things like tagging. Also when running the tests locally/formulating the tests I generally don't want to be pushing the pact to broker for provider validation.

Oh, agreed, the running the consumer tests and the publishing the pacts are completely separate. And they should be published from the CI server, for sure. I don't know .net, but in JVM world there are maven tasks, and in Ruby world there are rake tasks. Is there an equivalent in .net so we can package that publishing code up nicely, and just expose the configuration?

@bethesque there is no real standard for this in .NET land. Usually I just include a seperate PowerShell script in the repo to perform this task. There are however tools like Psake, Fake and Cake, which enable proper build tasks like you get gradle, gulp, grunt (and the tools you mention), but there is no real standard task.

I think what I will do is just write a simple C# client and include in the library that does the publication, then it can be at least used in Fake or Cake tasks, and as @mefellows mentioned it could be also used as a reference to implement it in some other way.

Cool. You already know the publish request - the tag call is just a PUT to /pacticipants/CONSUMER/versions/VERSION/tags/TAG after you've published. It's not ideal to have two separate calls, but it's just how the API worked out.

@bethesque Can I supply multiple tags (via multiple calls) to the tag endpoint for a single consumer pact?

Yep, at least that's how I do it.
On Jul 10, 2017 10:49 PM, "Neil Campbell"<EMAIL_ADDRESS>wrote:

@bethesque https://github.com/bethesque Can I supply multiple tags (via
multiple calls) to the tag endpoint for a single consumer pact?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SEEK-Jobs/pact-net/issues/94#issuecomment-314095471,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADSjI3MIg9eZz9WE0vTXs5alUnQR1Z7ks5sMh3QgaJpZM4OO83j
.

Yup. I was wondering about exposing "tags" configuration instead of "tag" in the Ruby client, but couldn't think of a convincing usecase. If you actually do it already, I'll modify my code.

@bethesque I haven't published anything yet, so happy to go either way to be honest.

Let's go with multiple tags upfront, it'll save adding it later when someone raises an issue with their obscure usecase!

One thing that just occurred to me - do the tagging calls first, as this means a call to "/latest-untagged" that might happen mid-publishing won't accidentally get a "dev" pact for a fraction of a second between calls.

This is now done and is available in the latest v2 package.

@bethesque Just saw your comment about doing the tagging calls first. Does sending the tag request/s first still work fine, when it is the first time publishing the Pact to a Broker and it's the first the Broker knows about that specific Consumer pacticipant?

I had to check on that myself to be sure, and found this: https://github.com/pact-foundation/pact_broker-client/blob/master/doc/markdown/Pact Broker Client - Pact Broker.md#a_request_to_tag_the_production_version_of_Condor_given_'Condor'_does_not_exist_in_the_pact-broker

Sometimes I'm awesome.

😜
On Sun, Jul 16, 2017 at 2:01 PM, Beth Skurrie<EMAIL_ADDRESS>wrote:

Sometimes I'm awesome.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SEEK-Jobs/pact-net/issues/94#issuecomment-315583767,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADSjFi-ZOS4ri4IoTMjaZLqPaSW7s-Vks5sOYsVgaJpZM4OO83j
.

--
Matt Fellows

http://www.onegeek.com.au/

Awesome stuff. Will make that change.


Extra output for testing headers

I have been using httpyac with the httpbook. If we test the headers on a response, at the moment the output result is not clear at what is has tested, especially when you have 10 headers to test.

What I suggest is to also output the header key in the message.

thx for the pr. Will be released with the next version.


Update to 0.6.1

Checklist

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

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

@conda-forge-admin, please rerender

Anaconda cloud is down at the moment, so we will need to wait a bit!
https://gitter.im/conda-forge/conda-forge.github.io

@conda-forge-admin, please rerender

Trying to apply patch as-is
INFO:conda_build.source:Trying to apply patch as-is
INFO conda_build.source:apply_patch(598): Trying to apply patch as-is
patching file setup.py
Hunk #1 FAILED at 35.
1 out of 1 hunk FAILED -- saving rejects to file setup.py.rej
Warning: failed to download source.  If building, will try again after downloading recipe dependencies.
Error was:
Command '['/opt/conda/bin/patch', '-p1', '--ignore-whitespace', '-i', '/home/conda/recipe_root/march.patch']' returned non-zero exit status 1.
Failed to download or patch source. Please see build log for info.

The march may need to updating...

Ok I'll take a look later today, thanks!


Homework Detail view

A detailed view for Homework elements.
Possible to allow edits here + Displaying long Descr. or even attachments

CDK implemented reading Homework_Server_CDK@54f51f7af1c9f9e242119759443daf1f81823ef2


Indexing for array values

This issue keeps track of design decisions for adding a way to index arrays in protobuf.
The main things to figure out are:

Mutating specific value in multi-dimensional array
Retrieving value in multi-dimensional array

Proposal: Partial indexing and lens-like mutations
1. Lens-like mutations
All mutations will be done by first retrieving the value to mutate, then changing the value. This will correspond to:
mutateOp(retrieveOp(attrRef), newVal)

The purpose of this is to delegate referencing values all to the retrieveOp. So we only have AttributeRef in one place.
This design is based off functional lenses.
2. ValueRef over AttributeRef
The usages of AttributeRef (graph mutateOp and retrieveOp, services get and set attribute) often refer to a value instead of an attribute. We want to modify a certain value or retrieve a certain value, not so much that we intentionally want to change an attribute.
I propose to add a ValueRef in place of existing AttributeRef usages. The ValueRef will look something like:
message ValueRef {
  // Which component to retrieve the value
  AttributeRef attr = 1;
  // A list of indexes
  repeated int64 indexes = 2;
}

For an attribute that is a primitive (non-array), the indexes will be empty.

All mutations will be done by first retrieving the value to mutate, then changing the value.

What happens when only one element out of a large array is updated? Would it cause a full rewrite of the entire array?

ValueRef over AttributeRef

Looks good :+1:  , although we should probably disambiguate between Array indexes and index in ICS.

All mutations will be done by first retrieving the value to mutate, then changing the value.

What happens when only one element out of a large array is updated? Would it cause a full rewrite of the entire array?

Nope. As mutateOp calls retrieveOp which uses ValueRef, we can pinpoint the exact value to update in the array to update.

Looks good +1 , although we should probably disambiguate between Array indexes and index in ICS.

Yeah, but it seems like only the engine needs to disambiguate for now. The protobuf definitions have no idea of an ICS index.

Yeah, but it seems like only the engine needs to disambiguate for now. The protobuf definitions have no idea of an ICS index.
How about attr_indexes or array_indexes?

Ok, I think attr_indexes will be better:
  // Which component to retrieve the value
  AttributeRef attr = 1;
  // A list of indexes
  repeated int64 attr_indexes = 2;
}

Seems like ValueRef is destined to replace AttributeRef  so maybe it makes sense to merge them together:
message ValueRef {
  // id of the entity to the retrieve from
  uint32 entity_id = 1;
  // Name of the component type to retrieve from entity
  string component = 2;
  // Name of the attribute to retrieve from component
  string attribute = 3;
   // A list of indexes
  repeated int64 attr_indexes = 4;
}

indexes remain unset for primitive values.

To make things easier to change for SDK side, the mutateOp will still use ValueRef


HDDS-4148. Add servlet to return SCM DB checkpoint.

What changes were proposed in this pull request?
Add servlet to return SCM DB checkpoint.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4148
How was this patch tested?
Added a unit test for the servlet.

Thanks to work on it @prashantpogde
One related question (might be obvious): how is this servlet secured? Is it available only for admins?

Thanks to work on it @prashantpogde
One related question (might be obvious): how is this servlet secured? Is it available only for admins?

Server can be SPNEGO enabled. This is similar to current servlet that OM is using.

I have uploaded the changes after addressing all review comments. Please take a look.

Thanks for refactoring this @prashantpogde. I have some minor comments for the new patch.

Failing test is the flaky one already reported on HDDS-4150.

/pending As I see it's pending on addressing the small comments from @xiaoyuyao. If I understood well all the other points are addressed.

Thanks @smengcl  for picking up the work. The latest change LGTM, +1.

Thanks @xiaoyuyao for the final review. I will merge this shortly.

/ready


RadioGroup does not set --disabled classname when isDisabled==true

My mistake - was looking at the wrong page :)


raft: Avoid double lock of stopMu

There is a possible deadlock on shutdown because LeaderAddr acquires
stopMu for reading, then calls WaitForLeader, which calls Leader (which
also acquires stopMu for reading). When Shutdown is called between these
read locks, Stop is blocking waiting for the readers to finish, but
Leader is blocking, preventing LeaderAddr from releasing the lock.
The isShutdown check does not look necessary anyway. If the context is
cancelled, WaitForLeader will return early, and its calls to Leader are
protected by acquiring stopMu individually. Remove the isShutdown check
and the locking that was related to it.
Fixes #1342
cc @tonistiigi @LK4D4 @runshenzhu

Current coverage is 55.32% (diff: 100%)

Merging #1347 into master will increase coverage by 0.07%

@@             master      #1347   diff @@
==========================================
  Files            80         80
  Lines         12593      12579    -14
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6957       6959     +2
+ Misses         4686       4669    -17
- Partials        950        951     +1

Powered by Codecov. Last update fcac197...84a2011

What if goroutine rescheduled on Leader call and then Stop executed? Then there will be deadlock on Status call. I think it's necessary to check context under lock somewhere.

Leader holds stopMu.

Just saw your edit. I think this PR is correct. If Stop executes first, the IsMember check in Leader will fail, and it will never call Status. If Leader executes first, it holds stopMu until it is done calling Status, so we're safe in that order too.

@aaronlehmann yes, you're right. I've missed StoreUint32.
LGTM

LGTM


Form: Checkbox group

Hi!
I have a document with checkbox group.
I'm trying to fill in the Kundendaten (id: legal_salutation) field
Doc
Code:
const form = pdf.getForm();
const checkBox = form.getCheckBox('legal_salutation'); // Kundendaten field in PDF
checkBox.check();

As a result, the Herr field is selected. I do not know how to select theFrau field.

I have same issue, could you have me @neeeekto :)

@neeeekto have you been able to solve this? If yes - how?

@neeeekto have you been able to solve this? If yes - how?


Remove dependency on rand

rand is used to help reduce the chances that two maps may have the same generation (which would allow their indexes to be mixed up). This is extremely unlikely, but it's not foolproof. Besides, removing a dependency is always a good thing.
One approach I've seen used in a different data structure that used a generational index approach was to allocate a Arc and then use that pointer as a unique value since it'll be guaranteed by the allocator.

Latest dlv-list uses rand-0.7, while all the other crates moved to 0.8, so this is a bit of a problem now. Either publishing a patch that uses rand-0.8, or removing it altogether, would be great.

I published 0.2.3 with the updated dependency. What is this crate used for that it causes a problem anyways?

Vange-rs depends on it transitively via rust-ini.
Thank you!

On Apr 23, 2021, at 08:16, Scott Godwin @.***> wrote:

I published 0.2.3 with the updated dependency. What is this crate used for that it causes a problem anyways?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Updating dlv-list v0.2.2 -> v0.2.3
Removing getrandom v0.1.16
Removing rand v0.7.3
Removing rand_chacha v0.2.2
Removing rand_core v0.5.1
Removing rand_hc v0.2.0
Removing wasi v0.9.0+wasi-snapshot-preview1

Removed in 0.2.4


Added clearer error message for tracers in numpy.split

Fixes: #2506
Now we print:
TypeError: In jax.numpy.split argument 2: tracer value encountered where a
concrete value is expected.
Use functools.partial or transformation parameters such as static_argnums
for jit to preserve the concrete value during JAX tracing.
See https://jax.readthedocs.io/en/latest/jaxpr.html#tracer_must_be_concrete.
Encountered value: Traced<ShapedArray(float32[],
weak_type=True):JaxprTrace(level=-1/1)>

The FAQ text and the function check_concrete are conflating when things are tracers versus when they are concrete in the abstract value lattice. The two are independent in that something can be a Tracer instance yet totally concrete, as we rely on for autodiff. We should probably keep them straight.

I've been struggling to find the right vocabulary to talk about these concepts (and I used "concrete" in a different way that you are using it). Let's try to find a vocabulary that is also relatively easy to explain to users. How about the following:
A tracer value is introduced for the argument of a JAX-transformed function, except the arguments identified by special parameters such as static_argnums for jit or static_broadcasted_argnums for pmap. Typically, computations that involve at least a tracer value will produce a tracer value. Besides tracer values, there are regular Python values: values that are computed outside JAX transformations, or arise from above-mentioned static arguments of certain JAX transformations, or computed solely from other regular Python values.
A tracer value carries an abstract value, e.g., ShapedArray with information about the shape and dtype of an array. Some tracers, e.g., those that are introduced for arguments of autodiff transformations, carry ConcreteArray abstract values that actually include the actual array data. The same is true for tracer values computed from these, perhaps in combination with regular values. A concrete value is either a regular value or a tracer value with ConcreteArray abstract value.
Most often values computed from tracer values are themselves tracer values. There are very few exceptions, when a computation can be entirely done using the abstract value carried by a tracer, in which case the result can be a regular value. For example, getting the shape of a tracer with ShapedArray abstract value. Another example, is when explicitly casting a concrete tracer value to a regular type: int(x).
WDYT?
I personally would prefer if the users need not understand the "concrete" aspect, and worry only about tracer vs. regular value and how to control that. The "concrete" aspect is difficult to explain and to understand and is somewhat non-compositional: in lambda x: x + 1 the value of x will be a concrete tracer if we use grad on that function, unless somewhere in a higher scope we use jit on the enclosing function.
I also would like a better description of when you can get a regular value from a tracer: e.g., from a concrete tracer sometimes you get a concrete tracer and sometimes you get a regular value. Is it only "shape" and explicit casting that gets a regular value?

The FAQ text and the function check_concrete are conflating when things are tracers versus when they are concrete in the abstract value lattice. The two are independent in that something can be a Tracer instance yet totally concrete, as we rely on for autodiff. We should probably keep them straight.

My goal here is to have a strategy for systematically reporting API usage errors, making them clear and actionable. How about this:
If a numpy function is called with wrong regular values, we must report the same error as numpy. This can often be achieved easily by actually calling the original numpy function. If the numpy function is called with concrete tracer values, the behavior should be the same, including error messages, as when called with the carried regular values. If the numpy function is called with non-concrete tracer values in unexpected (or unimplemented) parameter positions, then there should be an error message explaining that the particular parameter of the particular function must be concrete, and a link to FAQ where we explain that one can use partially evaluated functions or static_argnums for jit.
WDYT?

For example, if one tweaks make_jaxpr not to raise to the shaped level (by replacing xla.abstractify with core.get_aval), and also disables an exception I inserted for remat (which doesn't actually signal erroneous behavior), this works:
In [1]: from jax import make_jaxpr

In [2]: import jax.numpy as np

In [3]: make_jaxpr(lambda i: print(i) or np.split(np.zeros(3), i))(3)
Traced<ConcreteArray(3, weak_type=True):JaxprTrace(level=0/0)>

A more realistic scenario is to replace make_jaxpr with grad: the index is a concrete tracer. If we use np.split(arr, i) then numpy internally properly converts i to an integer and the code works. However, if we use np.split(arr, [1, i]) then we get an error in numpy TypeError: slice indices must be integers or None or have an __index__ method. The point is that we cannot always rely on numpy to be systematic about converting to integer. Maybe this is an omission in numpy?
I do think we need to add error checking for some of the numpy functions. I have changed the code to check for concreteness instead of tracers.

For that reason, I recommend:

renaming check_concrete to check_tracer (and since I also recommend removing the sequence polymorphism, it'll just be check_tracer = lambda x: isinstance(x, Tracer), so I'm not sure we need it at all)

I do think that we need a function, to construct the proper error message.

changing the FAQ language not to suggest tracers are the issue when it's actually about abstraction level

I will change the FAQ once we agree on the language.

change the numpy.split check to be one about abstraction / specialization level rather than checking for tracer instances

Done

@mattjj PTAL

(Sorry it took me 9 days to respond :/)
IMO everything up until "WDYT?" in your first comment is excellent and very well put.
I'd perhaps add, as another example, that in addition to int(x) producing a Python int when concreteness makes it possible, bool(x) will produce a Python bool when concreteness makes it possible. That case is especially salient because of how often it arises in control flow.

I personally would prefer if the users need not understand the "concrete" aspect, and worry only about tracer vs. regular value and how to control that.

This part I disagree with though, because it's the abstraction level and not tracer-ness that makes this fail:
def foo(x):
  return x if x > 0 else 0.

jit(foo)(3.)

while this works:
grad(foo)(3.)

As for the case of jnp.split, I've revised my thinking based on this discussion; see below.

I also would like a better description of when you can get a regular value from a tracer: e.g., from a concrete tracer sometimes you get a concrete tracer and sometimes you get a regular value. Is it only "shape" and explicit casting that gets a regular value?

I agree it would be good to specify this precisely. I think it's exactly that we get tracers out of binding primitives, i.e. applying Primitive.bind to Tracer arguments. When x is a Tracer instance, x.shape doesn't bind a primitive, just like bool(x) or len(x) or int(x) don't bind a primitive. Those all return regular Python values (a tuple, boolean, integer, and integer, respectively).
Ultimately this is a special list of operations that we construe as Python builtins operating on abstract value information during abstract interpretation, as opposed to operations in the embedded/object language (corresponding to operations on Tracers). It's a whitelist in the sense that onp.array(x, dtype=onp.int32) is always an error if x is a Tracer, even though it's analogous to the Python builtin int. We just don't define that operation to be part of our abstract interpretation of Python.
In discussing with @dougalm, we came up with three motivations for functions/methods on Tracers producing non-Tracer values (i.e. for considering an operation to be part of abstract interpretation):

when we query shape/dtype information (always part of the abstract evaluation, not object language operations)
when we want a concrete value for Python control, which is why we do it for bool and int (the builtin range used to call int on its argument, but doesn't in Python 3 unfortunately)
when we promote values to shape information, like jnp.split(x, n) does to n

We think (1) is 10x more important than (2), and (2) is 10x more important than (3). Actually, we think we can probably remove (3) from the system if we drop out of traces (i.e. call core.full_lower) more eagerly (there are a few missed opportunities). Like, when should we have a Traced concrete integer anyway? (Maybe just for jax.remat...) And if we did that, then we could make this jnp.split error about Tracers!
I think we have to keep (2). If the alternative is to have just Tracers and Python values, we can't explain why grad(lambda x: x if x > 0 else 0.) works.
(This conversation (including with @dougalm) has made me realize that we are probably doing the _wrong_thing to do this for other builtins like float and complex, because grad(lambda x: float(x) * 2.)(2.) produces a zero right now.)
So, bottom line: I think we still need to distinguish abstract value errors from Tracer errors, with grad(lambda x: x if x > 0 else 0.) being the sharp example. But as for jnp.split(x, n) for a Tracer n I think we could raise a Tracer error if it's more useful / understandable to the user (even if we perform the check using int(n) for convenience).
As @dougalm put it for the jnp.split case:

the overwhelmingly likely case is that the user was tracing the value with a non-concrete aval
and the fact that if they were tracing it with a concrete aval then it would be ok seems like more detail than needed

WDYT?

The point is that we cannot always rely on numpy to be systematic about converting to integer. Maybe this is an omission in numpy?

I think to be consistent we should treat __index__ like we do __int__.

Actually, @dougalm pointed out to me that if we did a good job of core.full_lower-ing, not only could we remove motivation (3) but also motivation (2). In that case, the example grad(lambda x: x if x > 0 else 0.) could be about a Tracer getting through (because x > 0 will be a Tracer iff its value is not concrete, since we'd drop out of the JVPTracer).
However, I wouldn't want that to inform how we report errors until we actually make that change to the system. It's possibly details like jax.remat will make it not work. So my recommendations are the same, though there's more thread to pull here, and if we really wanted to only ever raise Tracer errors, I think we know what we have to try.

I have finally gotten back to this. I have done the following:

error message is "Abstract tracer encountered where concrete value is expected".
I have added core.concrete_or_error(int, x, "argument 1 of split"). This is needed when onpdoes not useint()inside but gives out random errors, such as forsplit`
I have written two FAQ entries, one specifically for this error and one called "Different kinds of JAX values"

I guess I don't really buy that making the error here about tracers rather than abstraction makes it easier to understand. If our tracing machinery makes user code fail for reasons other than excessive abstraction or side effects that seems like a bug?
In general I'm not sure that the FAQ entry about "different kinds of JAX values" helps users build the right mental model; as much as possible, "mathy" code shouldn't care whether a value is traced but rather whether the abstraction level is too high. In parts of the documentation where we do talk about tracers (e.g. explaining their behavior under print) I'd prefer something that makes their role more explicit: they flow through user code while exposing an interface (their aval) that stands in for sets of Python values ("abstract interpretation"), and they carry metadata that allows adding to or changing the meaning of the code ("alternative interpretation").

I guess I don't really buy that making the error here about tracers rather than abstraction makes it easier to understand. If our tracing machinery makes user code fail for reasons other than excessive abstraction or side effects that seems like a bug?

The error is about "abstract tracers", so I think we are in agreement. Are you objecting about using the word "tracer"? But the way the user can fix this is most likely to avoid tracers.

In general I'm not sure that the FAQ entry about "different kinds of JAX values" helps users build the right mental model; as much as possible, "mathy" code shouldn't care whether a value is traced but rather whether the abstraction level is too high.

I do think that sooner or later users will end up with tracers in non mathy core, and it is worth explaining what tracers are, and how to control them.

Maybe I miss something obvious, but what should I do if I need to use inequation inside the function for jax.jit? Here's my function:
def tt_round_model(tt, delta):
...
for x in s:
if x < delta:
...
As I found, I should add static_argnums in such case, so I added delta to it:
fast_tt_round = jit(tt_round_model, static_argnums=(1))
ttr = fast_tt_round(tts_s, eps / math.sqrt(len(tts_s.core) - 1))
But I still have the problem in compilation:

I suppose that the problem is in my x variable which is diagonal element of s matrix which I get inside this algorithm, so I can't add it to static_argnums.
Thank you for your help!

A merged PR is not a great place to bring up a usage question. Feel free to open a new issue to get assistance!


NEMESIS is saying there is an issue with the "draugrbehavior"

might be an issue on my end however i thought i would say something just to confirm.
==ERROR(2006): Missing behavior file. The behavior file name must be in this format ("Nemesis_.xml") and it must located in the same path as the hkx counterpart. Please contact the mod author
File: draugrbehavior==

https://www.nexusmods.com/skyrimspecialedition/mods/45966?tab=files&file_id=371953 solution


Feature request: Connection Defaults

Would it be possible to create connection defaults (per connection type, maybe per connection type per user)?
For example, my Windows Server 2019 VM's really don't like reconnecting on resize, so I would like to set the RDP resize method default to "Display update".

Display update didn't work for me, but I used RDP with Windows Server 2012 R2. Does it work if you set it ? (I thought there is a some problem with guacd currently)
Regarding your question - I currently think how to implement it better. I had ideas on setting defaults per folder (e.g. you make some default at folder level and it automatically propagates to all connections in it and it's subfolders if they have appropriate "inherit" flag set. Other thing which I will try to implement - multiedit (ability to select many connections and set some parameter for all of selected connections). But this is in a bit more distant future :)
Currently what I use for similar use case - create a template connection and duplicate it in admin. Or just select a connection which settings you like and duplicate it (action selector on the bottom of page in admin).

Ah, so far I've been only using Server 2016 and Server 2019. The other update method works, but if you do the resizing "too quickly", Windows sometimes will freak out and go to 100% CPU and keep any new connections from working (even with MS's own MSTSC). Thankfully I've been doing this on non-critical servers since I've had to cold restart them to fix it.
And ah, great idea to duplicate a template connection, that would work too!


SwiftMergeFunctionsPass: fix a problem with opaque pointers

Need to insert a cast for the return type of a call to a merged function.
Fixes an LLVM verifier crash.
rdar://113901800

@swift-ci test


Begin to setup GitHub Actions testing

The bulk of this is just auto-linting. But I've also:

[x] Used pip freeze for the requirements.txt
[x] Commented out the context_store for the time being. I couldn't get it working, so have just removed it to get the test passing
[x] Setup GitHub Actions with a sample query run against frank_cli.py
[x] Updated the installation instructions.

Thanks Greg. I'll work on merging this tomorrow.


Upgrade Enketo to 5.0.2

What has been done to verify that this works as intended?
5.0.2 has been running on our various test servers for some time.
Why is this the best possible solution? Were any other approaches considered?
Considered not upgrading it but there are some nice fixes in the latest version.
How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
Definitely some but the release has been out for a month so limited.
Does this change require updates to documentation? If so, please file an issue here and include the link below.
No.
Before submitting this PR, please make sure you have:

[x] verified that any code or assets from external sources are properly credited in comments.

Which Enketo changes should we highlight in the forum announcement for the Central release? I can see the list of changes in the enketo-express release notes, but I don't have a good sense of whether all of them need to be mentioned in the forum announcement.

For release notes:

Improved error messages for revoked forms and public access links
Improved localization for numeric input


Request: Positioning of the framerate / frame time counter

Hi
I think I sorted all the problems out that I had when I initially started using this app. Now it works just fine. Thumbs up and thanks for your efforts!
However, I have a layout request

I'd love to have a choice where to put the framerate counter (the digits) since the upper left corner is sometimes jammed with game stats and other HUD elements. having a choice between left or right corner and maybe a little margin for height adjustments (+ / - 100 Pixels?!?) would be great since changing the color doesn't always help.

The graph for frame time and frame rate always start their measuring at the far right end of the matrix. However, a better place to see the actual state of the scene would be in the middle with an additional vertical line in the matrix to show it. This way you can see somewhat ahead what is coming up, and by showing the end of the graph coming up, it also shows when the recorded scene will end (which is a good feature when you want to use transitions between different scenes with FPS measurement).

Is there any chance to get this in the next build or so?

The positioning of the Framerate Text is currently calculated by the amount of videos which are loaded so they appear in the left upper corner. What I can think of is to allow for the following options:

Left upper corner
Center corner
Right upper corner

Custom pixel-based positioning is quite cumbersome if they are not saved after closing the program so I'd try to not implement that until some caching is done.
As for the second feature I don't think I understand it correctly. What may be possible is to always skip x amount of frames, but showing the time + x framerate/-time, e.g looking in the future by x timesteps. What I don't understand about it how this is useful, as this may give a false impression about which scenes cause a slowdown. Please elaborate further!

Hi
Thanks for your reply.
About 1)
Putting the frame counter in a different corner or top center would already help a lot. Thanks!
About 2)
Please watch a video by "the digital foundry". Their Framerate graph will start and stop in the center of the screen, which makes it easier to see the actual state of the graph and lets you see what is coming in the next seconds. It's just more pleasing to the eye and provides a better overview on past, present and future of the framerate. And on top of that, their framerate  & frame time graphs both run  slower (so each frame-part of the graph is a little more narrow, which is nicer for the eye since the framerate graph doesn't run so fast at 60 FPS)
Here is a nice example on youtube
https://youtu.be/KREpHaA0Tbo?t=946
Thanks for your efforts!

Ok so there are two issues then:

Update the Graphs more slowly - we already have the Analysis range Option for that. You have to extend the interval to your desired timeframe. But maybe we can do a better job with the default value

The centering of the current framerate in the graph. Now I think I understand what you meant. I'm actually quite surprised as I already thought about why DF had this centered vertical line in their graphs, now it makes sense.

I'm having mixed feelings about this feature - I definitely think it's not intuitive without an explanation and it slightly distorts the analysis as your usually can't see in the future.
If one knows about this, it makes the interpretation easier and allows the user to start to pay attention as to which frames cause the delay.
I'll think it may be possible to implement this by "holding off" the image stream by x frames and align it so value at the center of the graph shows the FPS of the currently rendered image.
What I'm missing is some visual explanation that the center of the graph shows the current value - I think that the vertical line is not enough to symbolize this. Maybe some sort of marker could do the job.
Do you have any suggestions for this or do you think this is usually not an issue with the target audience?

Hi, thanks for your reply.
Actually, people viewing such analysis-videos are quite used to the centred graph due to Digital foundry (and others) doing it this way for years. Actually they have been doing it this way for over a decade, even beforre they added a frame time graph. Their first FPS analysis video came out in December 2008
(see here https://www.youtube.com/watch?v=C_EY5fZRFbE)
But as an extra hint, you could add an extra arrow above the vertical line. Not too big, just enough to make it clear. I attached an example picture.

Thank you for your efforts

I think this is a solid visual cue. If anybody else has some ideas, feel free to post them so we can discuss them.
I don't know when I'll have time to work on the next release as I'm swamped with RL work right now, but I think this is a doable feature.

Hi again
Is there any news on this? I'm not trying to push, i am just curious when you might be able to work on this. :)

Hi,
I'm planning to find some time for development over the winter break (25.12 - 07.01)

That sounds awesome, dude, thanks! Say, do you have a Paypal account, so I can donate a couple of beers to keep up your motivation?
I also made you an Icon for this app, since you have no icon yet. Just use it if you like it.

Just an FYI, I'm working on the features but I'm waiting for the response of some more experienced developers in the Qt Forum.
It seems like a very simple thing to have, but apparently having a dropdown list for every video in the Options pane is not easily possible.

Hi again-... well, it's been quite a while since the last update.
As far as I understood, you had a problem with the menu system. But how about the centered Graph lines? Could you make an Update on TR drop that contains the centered Graph-Line, please?

So I implemented the centering, it is now also configurable from the general settings.

It is kind of a pain in the ass, as I have to store the images which are processed but not visualized (until the graph reaches the center). So it uses ~ 3GB RAM with a 4k export and 180s analysis range. I also had to compile the program with 64-bit and not 32 bit as before for this to be possible, so hopefully this won't affect many users.
I did not implement the text positioning yet.

Hey man, that is awesome. I totally appreciate your efforts! Thanks a lot! It makes it so much better now!

I also implemented the fps text moving.
https://user-images.githubusercontent.com/9363632/103180259-775ee700-4894-11eb-81af-d885ce414c05.mp4
I'll try to make a new release in the next few days.

Awesome. Looking forward to testing it

Release is done. Feel free to write here if you find any problems with the discussed functionality. Otherwise please open a new issue!

Awesome. Will download it right away and check it soon! Thanks for your efforts

Should all be solved for now.

Should all be solved for now.


chore: fix deploy CI for branch main

:tada: This issue has been resolved in version 0.70.0 :tada:
The release is available on:

v0.70.0
GitHub release

Your semantic-release bot :package::rocket:


roadmap feature request: view tweak to support for multiple docker-machine and/or docker

I'm running few docker-machines, digitalocean, getcarina and local. It'd be very useful to interact with all of docker-machine via Kitematic and not just local docker-machine.
Is that something that can be considered for future roadmap?

Hi @a1exus It is something that's been discussed previously as seen in the wiki, under machine management:
https://github.com/kitematic/kitematic/wiki/Machine-Management


Allow distinguishing between anonymous, fallback and receive functions

Before 0.6, the so-called fallback function (which I'll call anonymous here to avoid confusion) was the only mechanism for handling calls for functions that didn't exist:
function () external payable {}

In 0.6, the anonymous function doesn't exist anymore, and it's replaced by the fallback and receive functions:
fallback() external {}
receive() external payable {}

Right now the parser doesn't seem to give information about this, so in prettier-solidity we had to do something like this: https://github.com/prettier-solidity/prettier-plugin-solidity/pull/244
Not sure about the correct API here. My suggestion would be to have properties like isAnonymous, isFallbackKeyword and isReceiveKeyword (with better names).
A problem here is that the FunctionDefinition already has a lot of properties, and adding these three will probably add some redundancy too. But my suggestion is to just add them, and then do a cleanup of the API in the next major version.

This may be separate issue, but there also seems to be problem with 0.5.x contracts that use receive as a regular function name. Reported at eth-gas-reporter #196
This:
pragma solidity ^0.5.0;

contract A {
    function receive(address from, uint256 amount) public;
}

...crashes with
/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:127
    return this.visit(ctx.children[0]);
                                  ^

TypeError: Cannot read property '0' of null
    at ASTBuilder.ContractPart (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:127:35)
    at ASTBuilder.visit (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:1304:38)
    at ASTBuilder.<anonymous> (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:1292:19)
    at Array.map (<anonymous>)
    at ASTBuilder.visit (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:1291:16)
    at ASTBuilder.ContractDefinition (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:113:22)
    at ASTBuilder.visit (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:1304:38)
    at ASTBuilder.<anonymous> (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:1292:19)
    at Array.map (<anonymous>)
    at ASTBuilder.visit (/Users/cgewecke/code/koba/node_modules/solidity-parser-diligence/dist/ASTBuilder.js:1291:16)

Just a side-note that Solidity AST, that is produced by SolcJS compiler, has kind property, that corresponds to used keyword, like function, receive, fallback or constructor.


(clojure) Add support for global definitions name (class: title)

Adds support for Clojure global definitions name with class name title, including:

def
defonce
defprotocol
defstruct
defmulti
defmethod
defn
defn-
defmacro
deftype
defrecord

Wouldn't this patch remove the need for NAME and BODY?

Please also add a changelog entry.

Ping. Still out there?

Ping.

Hello.
Yes still out there, sorry for the delay, I've been busy and couldn't work on this.
Sadly, yesterday I tried but I don't know enough about the inners of the library to make it work like you need to, I tried moving some definitions, modify the lexeme but to no avail, it always break something else, and I don't have much time to investigate for this.

Ok, Clojure actually is kind of a mess... and you might also be hitting an actual issue/bug with HLJS in that beginKeywords wants keywords to end on a word boundary but the "space" between - and   (space) is NOT considered a word boundary evidentally... so it fails to match on: defn-... but that's only part of the problem...
The grammar is making a mess of things by trying to count almost everything as a NAME or a SYMBOL... which I'm pretty sure is wrong, and definitely now consistent with how we do other grammars...
But if you want to help, lets try and start on fixing some smaller things I see first... then maybe after we clean it up a bit we can circle back to this.
First question:
(def +x [(a 1) +2 -3.0 y-5])

What is -5 there?  The grammar right now identifies y-5 as a symbol because...
var SYMBOLSTART = 'a-zA-Z_\\-!.?+*=<>&#\'';
var SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*';

var SYMBOL = {
    begin: SYMBOL_RE,
    relevance: 0
  };

Is y-5 truly an identifier/variable all on it's own or is that actually y - 5 (y subtract 5)?

I might be getting the naming confused... we also have keys, which get the class symbol... but that's not what I'm talking about here.  I'm talking about the literal rule that I show the source for above.

Well Clojure is not really a mess, the syntax is simple and easy to pick-up, of course it can be a little disturbing the first times.
In your example y-5 is a valid symbol identifier in Clojure, if you wanted y minus 5 it would have been written (- y 5)
Yes a symbol can start with a minus or a plus character.
user=> (def y-5 7)
#'user/y-5
user=> (+ y-5 2)
9
user=> (def -foo "hello")
#'user/-foo
user=> (str -foo " world")
"hello world"
user=> (def -+* (+10 11))
#'user/-+*
user=> (def *-+ 21)
#'user/*-+
user=> (+ -+* *-+)
42

You're probably right, maybe the highlightjs parser is having some limitations that needs to be fixed prior to scan correctly clojure code. But it could also be that I don't know how to use it correctly to find the symbol boundaries effectively.

Whoops, I accidentally pushed your master back to upstream/master instead of pushing my branch to yours - I forget the syntax cause I rarely do it - and now I can't push it because the PR is closed and the magic permissions go away.
I will re-open a new PR.

https://github.com/highlightjs/highlight.js/pull/2419

@agrison LOL.  No I didn't mean Clojure was a mess, I meant the grammar was... though it makes a little more sense with our explanation.  Anyways I went back over this and tried to just do the minimal amount to make this work for now.
Basically that meant making sure title only fires a single time and also removing some pieces of your rule that don't seem to have any real effect.


Proof Suggestion Format Issue

It looks like there are some spurious newlines, probably due to updates to Lean's functions for displaying tactic suggestions.
https://github.com/yangky11/lean4-example/tree/ml4tp-tutorial

Fixed the formatting issue for suggest_tactics in PR #64 .

The rest of this issue is related to aesop. See Zulip discussion at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Aesop.20script.20.28.60aesop.3F.60.29.20formatting.20issue.
I believe once this is fixed in aesop everything should be fine.

Closing this issue as there's no more to be done on the LeanCopilot side.


Is there any way to do conditional validation?

Talking about the if then else style conditions from joi...for example if this field is valid then the next one is required.

are you trying to do something like.alternatives() or using references with .when()?

Yes, something like this;
a: Joi.alternatives().when('b', { is: true, then: Joi.required() }),


Union / Union all support for relational databases

Problem
'Union' and 'Union all' have no support yet in Prisma. Both of these syntaxes in Postgres / Sql Server and MySQL offer very compelling performance (up to 60x-300x in some cases within our application) but yet we have to write them using queryRaw to take advantage of the syntax.
Here's some example from our own application.
Select most recent record in a telemetry table for each given 'id' ('N' ids)
EXPLAIN ANALYZE SELECT DISTINCT ON (device_id) device_id, timestamp, data
FROM telemetry
WHERE device_id in ('AB137A100000D2D6', 'AB137A100000D316', 'AB137A100000D2DF', 'AB137A100000D2D4')
ORDER BY device_id, timestamp DESC;

sql version (320ms on our table)
client.telemetry.findMany({
	where: {
		device_id: { in: ['AB137A100000D2D6', 'AB137A100000D316', 'AB137A100000D2DF', 'AB137A100000D2D4'] },
	},
	distinct: 'device_id',
	orderBy: { timestamp: 'desc' },
});

prisma version (1.3s on our table, assuming it produces SQL exactly or similar to above but didn't check and overhead may be for another reason i.e connection spinup).
EXPLAIN ANALYZE SELECT * FROM (
  (select * from telemetry where device_id='AB137A100000D2D6' ORDER BY timestamp DESC LIMIT 1)
  UNION ALL
  (select * from telemetry where device_id='AB137A100000D316' ORDER BY timestamp DESC LIMIT 1)
  UNION ALL
  (select * from telemetry where device_id='AB137A100000D2DF' ORDER BY timestamp DESC LIMIT 1)
  UNION ALL
  (select * from telemetry where device_id='AB137A100000D2D4' ORDER BY timestamp DESC LIMIT 1)
) tel;

SQL version using UNION ALL 0.790ms  (<1ms on my device)
These benchmarks didn't follow any scientific approach but are used merely to show why 'UNION ALL' is such a compelling operator, if it was a difference of like 10%-20% then the productivity and type-safety of the ORM would win out over raw query control however when it's like a 300x difference we need to get our hands dirty and start writing some raw sql.
Suggested solution
Follow the existing pattern that client.$transactions() uses, allow for client.$union and client.$unionAll which both take arrays of queries respectively.
usage:
const result = await client.$unionAll([
	client.telemetry.findFirst({
		where: { id: '00137A100000D2D6' },
		orderBy: { timestamp: 'desc' },
	}),
	client.telemetry.findFirst({
		where: { id: '00137A100000D316' },
		orderBy: { timestamp: 'desc' },
	}),
	client.telemetry.findFirst({
		where: { id: '00137A100000D2DF' },
		orderBy: { timestamp: 'desc' },
	}),
	client.telemetry.findFirst({
		where: { id: '00137A100000D2D4' },
		orderBy: { timestamp: 'desc' },
	}),
]);

Alternatives
I think what could impede the proposed syntax (client.$unionAll) is that Prisma may not have a way to extract the SQL without executing the query.
see: https://github.com/prisma/prisma/issues/5052
I think in NodeJS this isn't possible as you can't detect you're the last call in a chain of calls, which would be required to differentiate the following which would be leveraged by $unionAll to extract the sql without executing the query.
.findMany()  //executes query
.findMany().sql()  // doesn't execute query but returns sql.

Therefore if the above can't be achieved, the alternative fallback syntax would be this, where "db" is a PrismaClient that returns sql of any command
const result = await client.$unionAll((db) => {
    return [
	db.telemetry.findFirst({
		where: { id: '00137A100000D2D6' },
		orderBy: { timestamp: 'desc' },
	}),
	db.telemetry.findFirst({
		where: { id: '00137A100000D316' },
		orderBy: { timestamp: 'desc' },
	}),
	db.telemetry.findFirst({
		where: { id: '00137A100000D2DF' },
		orderBy: { timestamp: 'desc' },
	}),
	db.telemetry.findFirst({
		where: { id: '00137A100000D2D4' },
		orderBy: { timestamp: 'desc' },
	}),
    ]
})

where "db" is an object that returns SQL rather than executing a query.
Additional context
model telemetry {
  timestamp DateTime @db.Timestamp(6)
  device_id String
  anomaly   Boolean  @default(false)
  data      Json

  @@id([device_id, timestamp])
  @@index([timestamp], map: "telemetry_index_desc")
}

Hi guys,
Sorry this isn't just a performance optimization, union all also has more expressiveness that allows more complicated queries to be built that don't have good counterparts.
Am selfish because I'm suffering without this but would love to see it added to roadmap

Prisma generally does not support specific SQL queries, but has Prisma Client queries that allow you to get specific data sets back. Can you maybe formulate it this way? Then we can frame this better as a feature that is not only related to perfromance.

How would you ask prisma for a data set that gives you 300 telemetry records for 3 device_id's today.
const ids = [1,2,3];
prisma.telemetry.findMany({
   where: {device_id: {in: ids }},
   take: 300 * ids.length
})

With a naive implementation like the above you could end up with 900 records for 1 device_id and zero for the other two, but there's no real way to specify "300 for each id"
This is a very common query at least in our application that union/unionAll allows you to solve outside of performance.

Hi guys,
Sorry this isn't just a performance optimization, union all also has more expressiveness that allows more complicated queries to be built that don't have good counterpart without.
Am selfish because I'm suffering without this but would love to see it added to roadmap

I have a simple example where a union would be very useful: in our application we have a table of demands, we want to get first the demands without a conclusion date, but we don't want to filter by conclusion date with nulls first, because the demands with conclusion date should not be sorted by the conclusion.
We have to take x demands and skip y demands.
Currently the only way to do this is:

get the demands with null conclusion date skipping y demands
if there are less than x demands, count the number of demands with null conclusion date
get the demands with non-null conclusion date skipping the difference between the number of desired skip and the "missing" demands from 1

With a UNION ALL this would be done with only 1 query.
BTW, I think that unions should not be like transactions, but like an OR.

Currently Prisma will generate OR chains containing multiple subqueries in cases where a UNION ALL on the same condition would have worked. These are equivalent except the optimiser will generally handle the UNION ALL much better.


 I couldn't find a way to do this without the circular reference.
We might consider removing Animation, Animations, and Animator since those don't appear to be used anywhere

Is the end result exactly the same, even though there is a circular dependency now?

It appears to be the same, I see the 4 exports inlined and there are no $ in the file.


UV_OVERRIDE environment variable

Hi,
Would it make sense to support an UV_OVERRIDE environment variable for --override, similar to the existing UV_CONSTRAINT for --constraint ?

Yeah, we can add this.


Add filtering page to black list projects in main view

Description
Add a new system to filter out projects from the dashboard.
It adds a new page called "Filtering" which shows current projects of the gitlab server.
These projects can be switched on or off to be filtered from the dashboard page.
The selected filtered ("blacklisted") projects are then stored in the localStorage of the client.
Resume

Bug fix: no
New feature: yes

It bothers me a bit of merged knowing that the project is in maintenance mode and that a re-write has begin, see https://github.com/TheGrowingPlant/gitlab-reviewer


PDF support

Add PDF support

Thank you for the new feature.
But this has two problems.
Problem 1
The pdf viewer launced by Mouse Dictionary is incomplete.
Some pdf files are not correctly rendered like this pdf
You can see some parts of a pdf are unseen.

chrome default viewer
the viewer launched by Mouse Dictionary

Problem 2
On my tool, you could use Mouse dictionary until this update, by hosting pdf files by pdfjs on Docker.
Though, after this update, when you open a pdf file by my tool and then launch Mouse Dictionary, you are forced to launch the new pdf viewer and it cannnot load the pdf file somehow.
This is the screenshot at the moment that the pdf viewer failed to open the pdf viewer.

(Please see the bottom part of the screenshot)
My wish
For me, I would be very glad if you can turn ON/OFF the new external pdf viewer feature.
Some people would like this update.
But other people like me don't need this feature.
I can write a Japanese version comment, if you wish because my English is too bad to read.
Thank you for reading.

@monado3
thank you for your report
Problem 1
Reproduced. Let me check in details later on.
Problem 2
Could you please try changing PDF URL pattern in Advanced settings?
To empty this field may your tool avaiable again.

(FYI: The function that determins PDF document or not)
https://github.com/wtetsu/mouse-dictionary/blob/master/src/main/core/start.js#L70

Thank you for your prompt response.
Making the field empty solution worked well.
Thank you so much for the information.
Again, thank you for this wonderful tool.

By the way, "PDF URL pattern" was an experimantal feature,
but it turned out it could cause problems like your case,
so I decided to improve that.
You don't have to bother to change the settings next time.

Current(1.4.2):

default value: \.(?:pdf|PDF)\??[\w-=&~]*$
How MD determin PDF document or not

Embded PDF document exists -> true
↓false
"PDF URL pattern" matches the current URL -> true ※Here was your problem
↓false
Others -> false

The default value could cause problem.
Newer version

default value: empty
How MD determins PDF document or not

If "PDF URL pattern" is empty -> Embded PDF document exists -> true
If "PDF URL pattern" is NOT empty -> "PDF URL pattern" matched the current URL -> true

The default behavior is safer than before.

Problem 1: Fixed

Chrome
Mouse Dictionary

Thank you for your kind effort in PDF support.
I have one question about whether I can apply this feature to a PDF file uploaded on the Web as a JSP file.
I want to apply this feature to the PDF file uploaded on the below URL (I'm afraid you can't access the URL).
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9291317&tag=1
I have changed the advanced option like the below picture, but it was no effect.
Do you have any comments about this problem?

Thank you in advance!

Since I cannot access the URL I cannot confirm it. Is the URL reality a single PDF document? If the page is HTML and a PDF document is embedded, Mouse Dictionary doesn't work.

I see! The page is composed of JSP (=HTML+Javascript).
That's why I can't apply this feature to the page.
Thank you for your quick response!


Check zookeeper (not log) to see that kafka's running

Description
Current ansible processing looks for a docker log text string to determine if Kafka's running.  Unfortunately, this string can (and has) changed between versions of kafka.
Kafka registers its brokers with zookeeperer, so this this task checks the zookeeper node to determine whether kafka has started -- a likely to be much more forward-compatible approach.
Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[X] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[X] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[X] I signed an Apache CLA.
[X] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

will need a pg @jeremiaswerner

Codecov Report

Merging #3486 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #3486   +/-   ##
======================================
  Coverage      75%     75%
======================================
  Files         128     128
  Lines        6081    6081
  Branches      398     398
======================================
  Hits         4561    4561
  Misses       1520    1520

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7bd6474...161e739. Read the comment docs.


Can't exit/get rid of listening status

There are two issues:

I'd like to exit NitroShare to make it stop scanning local network
I'd like to squelch NitroShare listening status - currently it is not possible to swipe it off like other status messages

I'd like to exit NitroShare to make it stop scanning local network

There is a setting that disables receiving transfers. You will have to enable it again when you are ready to receive a transfer.

I'd like to squelch NitroShare listening status - currently it is not possible to swipe it off like other status messages

This is unfortunately impossible to fix thanks to the way Android deals with services. In order to remain running in the background, a service must display a persistent notification. Originally it was even worse and a status icon was displayed but I figured out how to hide it.

Is it possible to just add Exit item to application menu?

This is possible. I can add an exit item to the sliding menu.


Bug: Allocated more than supply message does not appear

Overview
I'm not sure how I got into this state, but I was able to allocate more than the supply and not have it show the error message.
The Next button was not enabled though, so presumably that logic was working.
In the screenshot shown, when I added another 1 to the second allocation the error would appear, but removing that 1 would remove the error.
Steps to reproduce
See screenshot for allocations
Screenshots / Video

Version
Dev (app.dev.fractalframework.xyz/)
Browser
Firefox
Operating System
None
web3 wallet
None

I am not able to replicate this anymore, closing.


Give the ability to pin to a specific SHA, or ability to override and use image: only.

Right now, your template will not allow the ability to do something like this:
image:
  repository: registry.somewhere.com/myrepo/atlantis
  tag: v0.19.2-awscli@sha256:<sha256here>

Because of how we are required to submit image.repository and image.tag separately, instead of just image:
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

User error--my apologies.


v1.9.4 fails to build on<EMAIL_ADDRESS>

Expected Behaviour
Successful build in Xcode
Actual Behaviour
Build failed with error:
ld: library not found for -lPods-appName
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Reproduce Scenario (including but not limited to)
Add package to meteor project and run on device
Steps to Reproduce

Install meteor
Run meteor add-platform ios
Run meteor add<EMAIL_ADDRESS>Run meteor run ios-device

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Device iPhone 5 iOS 10.2.1
iOS Emulator 8.* and higher
IPHONEOS_DEPLOYMENT_TARGET=8.0
Xcode Version 8.2.1 (8C1002)
Cordova CLI version and cordova platform version
cordova --version            -> 6.4.0
cordova platform version ios -> 4.3.0

Plugin version
cordova plugin version | grep phonegap-plugin-push  -> 1.9.4

Additional info

Please see this comment and this comment
<EMAIL_ADDRESS>has no this issue

@dr-dimitru the reason you are getting that build error
ld: library not found for -lPods-appName
clang: error: linker command failed with exit code 1 (use -v to see invocation)

is probably because meteor is building using the .xcodeproj instead of the .xcworkspace which is now required in cordova-ios. You see cordova-ios may now have multiple projects in a single workspace.
You should open an issue on meteor.


add must use annotation to functions that have no mutable args or statics

https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
Fixes #57

I found some guidelines on when to use must_use, here:
https://github.com/rust-lang/rust/issues/48926#issuecomment-769286972

Should we close this PR and continue discussion in the issue itself, or create a new one? This PR will not be merged anytime soon and with a very different changeset, correct?

I think we should close this for now, and discuss in the issue what strategy we wish to use here before opening a new PR.


Add an os build to the "Releases" Part of github

This would be useful! :)

Okay, its not done, but ill release it today

oh mb


Problem using "is it a business or a person" input

See: https://github.com/nonprofittechy/docassemble-HousingCodeChecklist/issues/227
We had two user tests where the user incorrectly put their own name--one was on a mobile device and the other on a laptop computer. I think the problem is they were distracted by the question  "is this a person or a business"

One solution might be to include the word "landlord" in the "Is this ..." so it's closer to the radio button

Idea: can we repeat back the way we've split the name into 4 fields and let them review it for accuracy?

Would like to test this more. It's hard to figure out how to make this work while keeping it generic.


Modify the key to grab/release keyboard and mouse from the host

Just wonder if there is a possibility to change the grab/release shortcut Ctrl + Raspberry to other keys.

The code to handle the shortcut is very, very crude- right now is checks the bitmasked function keys for a particular value:
https://github.com/Gadgetoid/pi400kb/blob/fd8bb808d282ffb5feed682d459902b0484104a6/pi400.c#L225-L238
It's also hard-coded and not very flexible.
What sort of combo where you thinking of?

This fork might be easier to modify, the shortcut keys aren't hard-coded. You can see the full list of available keycodes here.


Move a few things out of runtime-common that were only consumed by host

I think @habdelra expected I would find more than this that could be extracted, but I didn't. The main consumption pattern is via the Realm class, which is used in both host and realm-server packages.

@habdelra shimExternals is used by both host and realm-server currently. I don't see how we can move it unless I am missing something.

Hmmm, it probably shouldn’t be used by host, since we have actual shims for that (as opposed to the no-op ones)

I'll create a separate task for shimExternals


[ERR] CMGR: Can't accept connection: Act One: invalid handshake version: 22, only 0 is valid

Hi,
im trying to integrate  lightning payment with the  woocommerce lightning plugin for wordpress from joaodealmeida and if i connect lnd i get the following error:
....[ERR] CMGR: Can't accept connection: Act One: invalid handshake version: 22, only 0 is valid, msg=...
i have no idea, maybe related to my SSL configuration??
lnd  version 0.4.1 commit=09c997983127bb1e575d97c69aa364a82cfb1df7
Linux 3.2.0-5-amd64 #1 SMP Debian 3.2.96-3 x86_64 GNU/Linux
https://github.com/joaodealmeida/woocommerce-gateway-lightning
PLESK wordpress 4.9 with woocommerce
thanks!!

Make sure you're using the correct port to connect.

With this configuration:
https://localhost:9735
the above Error Massage appears
with this http://localhost:9735 this error appears:
...[ERR] CMGR: Can't accept connection: Act One: invalid handshake version: 80, only 0 is valid, msg=...
$ nc -zv localhost 9735

localhost [<IP_ADDRESS>] 9735 (?) open

Port 9735 is the only one i get an reaction

9735 is the peer port, you can’t use HTTP to connect to it. You need to connect to the REST port, default is 8080

Ahh, I almost thought it could not be 9735. The error is still there, but now i can look for the real problem!
The Server System is quite old (Debian 7), perhaps there is a problem with the old PHP Version (5.6.35) that the plugin in WordPress must use.
thanks!


Email users once bulk upload is complete

Background
We need a way to notify users that their patient uploads are complete. Doing this in-app (via a notification toast) would be tricky, but we have a pattern established elsewhere to email users directly upon completion of a backend action.
Action Requested
Once a patient bulk upload has finished processing, email the user who initiated the upload to notify them that the upload has finished. We should be able to fetch the user's email directly out of something like ApiUserContextHolder or one of our other permissioning helpers, but if not the email can be passed directly along with the CSV upload request.
We already have an EmailService that should be sufficient to trigger these emails. We'll also need to create a new email template in SendGrid with the content of the new email and link it to our site using the EmailProviderTemplate.
You can see an example of the email trigger in the IdentityVerificationController, where we email users next steps once they've failed the Experian id verification. (Worth noting that it's preferred to use the SendGrid dynamic template for sending emails, rather than creating the HTML directly in SimpleReport as is done when we send emails to SR support).
Acceptance criteria
The user who initiates a patient bulk upload is emailed when all the patients have been processed, loaded into the database, and are available to view in SimpleReport.

@emmastephenson will this actually be resolved in the work you're currently doing? I think I'll probably at least need to wait until that work is done, is that right?

@kenieh What do you think about this copy for the email notification?

Greetings from SimpleReport,
Your patient bulk upload is complete.
You can now view and report test results for the new patients on SimpleReport.
[Button] See patients

@kenieh @lauraykerr I've drafted a template in SendGrid, will update as needed once Kenny is able to take a look! One question - What would you like to see below the email body? Our template in SendGridseems to have Unsubscribe - Unsubscribe Preferences as a default, but I don't think that's being actively used and not sure how we would be set up those links anyway. I do see SimpleReport terms of service in other emails though.
Current template

Example of what existing emails look like

@emmastephenson @kenieh @lauraykerr Where do you want the button link to go? Is it sufficient to just have https://simplereport.gov or would you prefer a unique url with the uploader's organization, etc?

If we could get a unique URL that points to the "Patients" tab for the organization/facility the user uploaded to that would be nice, but I'm not convinced that URL would even be respected if the person is logged out of SimpleReport (I think it would redirect to the login page, then the facility selector, then the "Conduct Tests" page as usual.) But maybe still worth including in case folks are logged in?
On the unsubscribe front - I think it's actually mandated to include an unsubscribe link in most emails these days; I know that's at least the case with our text messages where we need to include a clear opt-out option. I believe that's all handled by SendGrid though, so I don't think there's any configuration/links we'd need to set up.

If we could get a unique URL that points to the "Patients" tab for the organization/facility the user uploaded to that would be nice, but I'm not convinced that URL would even be respected if the person is logged out of SimpleReport (I think it would redirect to the login page, then the facility selector, then the "Conduct Tests" page as usual.) But maybe still worth including in case folks are logged in?

That was my concern, too. But we can add it in case they are logged in, if Kenny and Laura agree.

On the unsubscribe front - I think it's actually mandated to include an unsubscribe link in most emails these days; I know that's at least the case with our text messages where we need to include a clear opt-out option. I believe that's all handled by SendGrid though, so I don't think there's any configuration/links we'd need to set up.

awesome, thanks @emmastephenson! I wonder if we need to add that to some of our email templates, I notice we're not including the Unsubscribe in some of them.

awesome, thanks @emmastephenson! I wonder if we need to add that to some of our email templates, I notice we're not including the Unsubscribe in some of them.

Yeah I certainly don't think it would hurt, that's something we regularly get dinged for on Twilio (you eventually run the risk of service providers thinking you're spam otherwise). Do you mind writing up a separate ticket for that?

Yeah I certainly don't think it would hurt, that's something we regularly get dinged for on Twilio (you eventually run the risk of service providers thinking you're spam otherwise). Do you mind writing up a separate ticket for that?

Yep will do!

Short and simple, I like! For the copy, could we condense it a bit so there isn't so much white space? All I did was make the body one paragraph rather than two paragraphs.

Greetings from SimpleReport,
Your patient bulk upload is complete. You can now view and report test results for the new patients on SimpleReport.
[Button] See patients

As for what goes below the email content, I'd default to what we have showing in other emails.
i.e. [note I added the support email]

Still have questions? Visit our Support Page or email us at<EMAIL_ADDRESS>Thanks for choosing SimpleReport.
SimpleReport terms of service.

How much control do we have over the email design? that would also help me understand our technical constraints with emails.

@kenieh this is the one instance where we have a lot of control over the email 😄 It's just an HTML template, so we can do whatever we want within the limits of raw HTML. The email templates are in SendGrid if you want to take a look; we also have some templates for Okta in this static site folder:https://github.com/CDCgov/prime-simplereport-site/tree/feb30b2f700ae18e248ba128387610c4aefbc745/assets/user_emails

@kenieh how does this look? I made the text underneath the button smaller ("Still have questions...") because it otherwise would be on two lines.

This looks great! @georgehager Is there a reason "see patients" is written again below the button? Preference would be to take it out unless we need it there for accessibility or some other reason.
I think including the unique URL for patient tab is fine, even for those not logged in.

This looks great! @georgehager Is there a reason "see patients" is written again below the button? Preference would be to take it out unless we need it there for accessibility or some other reason.

I think including the unique URL for patient tab is fine, even for those not logged in.

Hey @lauraykerr, I can take that "see patients" text out - it was in another template like that but easy to remove.
I've updated to include the unique url!

@lauraykerr @kenieh another note, after consultation with @emmastephenson, I've removed the "Unsubscribe - Unsubscribe Preferences" section, as this was setup for okta but does not work in sendgrid without significant extra configuration. Since we aren't sending marketing emails, it should be fine to leave it out. (We leave it out on our other emails as well.)
FInal draft (pending your approval!):

@georgehager Sounds good. On second glance, the "Thanks for choosing SimpleReport" seems a little out of place since it's not really functioning as a sign-off in this instance. If it's ok, would prefer to remove.
Otherwise looks great to me, thank you!

@lauraykerr how about this?

Looks good to me, thank you @georgehager!

@georgehager With your recs from Slack conversation, suggest the following:

Greetings from SimpleReport,
Sorry, our system had a problem while adding your patients. Please try uploading the file again. If you still have issues, you can reach out to<EMAIL_ADDRESS>[Button] Visit SimpleReport
SimpleReport terms of service

Sorry y'all, realize I never got back to this. LGTM!


Add IBM Cloud channel

Closes #1086

Summary
Details and comments
Fixes #

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 74.778%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2523

Relevant Lines:
3374

💛  - Coveralls


aarch64 - No GLIBC_2.2.5

The ubuntu 22.04. aarch64 i use doesnt have GLIBC_2.2.5
I get this error when trying to run with LD_PRELOAD:
[NVSHARE][FATAL]: libnvshare.so: undefined symbol: dlsym, version GLIBC_2.2.5
Is it possible to make it work on aarch64 ?
strings /usr/lib/aarch64-linux-gnu/libc.so.6 | grep GLIBC
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_2.29
GLIBC_2.30
GLIBC_2.31
GLIBC_2.32
GLIBC_2.33
GLIBC_2.34
GLIBC_2.35
GLIBC_PRIVATE
GNU C Library (Ubuntu GLIBC 2.35-0ubuntu3.8) stable release version 2.35

Nevermind. Works when i use GLIBC_2.17 instead of GLIBC_2.2.5
But i still get CUDA out of memory. Shouldn't it replace calls and change it to cudaMallocManaged() so that i can use cuda "unified memory" ?

Close cause solved.

@feuler Glad you found a solution!
Did you amend nvshare's code or did the problem stem from your configuration?

@feuler Glad you found a solution!
Did you amend nvshare's code or did the problem stem from your configuration?

I changed some lines since my aarch64 linux default libc.so.6 doesn't have GLIBC_2.2.5 as mentioned in my first post.
Changed line 390 in src/hook.c to:
r_dlsym = (dlsym_t*)dlvsym(RTLD_NEXT, "dlsym", "GLIBC_2.17");
Line 974 in src/hook.c to:
asm(".symver dlsym_225, dlsym@@GLIBC_2.17");
And all "GLIBC_2.2.5" in src/libnvshare-symbols.ld to "GLIBC_2.17"
Anyway, scheduler and LD_PRELOAD was working but failed to catch and transform all cudaMalloc calls to  (got cuda out of memory again).
But in the meanwhile i was able to solve my problem by patching the used application for cudaMallocManaged.

I think you were getting out of memory because nvshare by default limits the memory each process can allocate to the physical GPU memory size:
https://github.com/grgalex/nvshare/blob/8a15dd1094a91678bf9cdf07e5951f6b28c01cf0/src/hook.c#L663
So it might be the case that your application was trying to allocate more GPU memory than the physical GPU memory size.
You can try again with the environment variable NVSHARE_ENABLE_SINGLE_OVERSUB=1 set.


Xmldoc fixes

Fixes for missing tags, extraneous tags, and invalid characters.

LGTM :+1:

@sean-gilliam Hi Sean, It seems you hit a merge conflict with someone else. Would you mind resolving the merge conflicts?
Otherwse the change looks good for me too.

okay @dannyvv it should be gtg now.

Thanks!


Adding Highlighting for WinBar as of #148

PR for adding highlight for WinBar as . mentioned in #148 :smiley:

@Pocco81 any update ?

Sorry for makign you wait @arpangreat! my bad. Thanks for the PR!


IX-F export url improvements

Url should utilize the ix slug implemented in #32 and provide an optional secret to allow toggling between public and private mode.
In public mode (e.g., secret toggled off)

{org}/export/ixf/{secret} becomes {org}/{ix}/export/memberlist.json

In private mode (e.g., secret toggled on)

{org}/export/ixf/{secret} becomes {org}/{ix}/export/memberlist.json?secret={secret}

Allow configuring of the public/private mode and setting the secret.
Add ixf_export_privacy field to InterntExchange model and serializer (choices "public", "private"). If private the secret is required to view the ix-f export. Expose a UI field in the same form that allows updating of ix slug value (see #32)

@vegu I'm still pushing these changes to gh_32 so the changes are here:
https://github.com/fullctl/ixctl/pull/35
I actually think the changes as stated here are done but we might have to change some things when it comes to which users can view / edit the urlkey + privacy policy.
For instance, if the setting is "private", is the IX-F export button still going to work? like would it just add the secret?

@vegu I'm still pushing these changes to gh_32 so the changes are here:
https://github.com/fullctl/ixctl/pull/35
I actually think the changes as stated here are done but we might have to change some things when it comes to which users can view / edit the urlkey + privacy policy.
For instance, if the setting is "private", is the IX-F export button still going to work? like would it just add the secret?


Deploy on iphone error

After I deploy my app on the phone I see this error and all my images won't display.

Node 4.2.1
React Native 0.17.0
on iOS
I'm using Mac

The error that you are showing here is actually a warning, so this might not be the culprit. It does say though that you are setting shadowOffset on an Image which is not a style property that Image has.
I'm not sure if that would make your images not appear though. Perhaps you can look a little further down the console to see if there is some other error reporting. Or you could try and fix the warning and see if that has something to do with it.

I got raid of the warnings but the image still won't show up. The most weird thing is it will show up if I run on the Simulator and there's no error or warning on the console.

shadowOffset of Image isn't support in 0.17 (see https://github.com/facebook/react-native/blob/0.17-stable/Libraries/Image/ImageStylePropTypes.js), can you upgrade by npm install --save<EMAIL_ADDRESS>and try again?

Hi, I removed shadowOffset but still images are down.

We don't really support old React Native versions. Can you update to the latest version and see if the issues are still there?

It was fixed after an update, thx!


Lock prettier version to 1.9.1

www is now on 1.9.1. Since Draft syncs into and is beholden to the pre-commit hook, we should be using the same version.
Lint is clean, so looks like everything is in sync currently. Upgrading past 1.9.1 does cause a failure.

Tested some of the changes from this PR on another PR and managed to get a green build
see on https://github.com/facebook/draft-js/pull/1575/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2L84
if we updated package.json "node" version to also support v8 the build then passes with no problems

travis builds for it (https://travis-ci.org/facebook/draft-js/builds/316814356)

Once we apply that patch we then should be able to land this PR and solve all problems :)

Let's just land yours @mitermayer :)


Add Formula Column message, type, and test support

Add new Formula Columns error messages.
Add new FormulaType implementations for Hyperlink and Invalid to allow IR translation of Dataverse types.
Update test files to clarify SQL support

// Scalar + Table

Are these tests coming from somewhere else? or new tests?

Refers to: src/tests/Microsoft.PowerFx.Core.Tests/ExpressionTestCases/TableStringfuncs.txt:1 in a989e48. [](commit_id = a989e485229dad464d0e80120b3a5b9fff9cc245, deletion_comment = False)

// Scalar + Table

Are these tests coming from somewhere else? or new tests?
Refers to: src/tests/Microsoft.PowerFx.Core.Tests/ExpressionTestCases/TableStringfuncs.txt:1 in a989e48. [](commit_id = a989e48, deletion_comment = False)

These new tests were added to string.txt.  I just moved them to their own file, similar to how math functions are done


translate 2022-08-23-kubernetes-1.25-blog.md

I translated the 2022-08-23-kubernetes-1.25-blog.md. Please review it.

/hold
I believe some more changes to this blog is coming in.
https://github.com/kubernetes/website/pull/36430

/assign @tengqm
#36430 has been merged and I have amended it accordingly, please take another look.

Is there anything else that needs to be changed?

/hold cancel
/approve

/lgtm


Joy FormLabel won't accept variant

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
I'm trying to create a new variant to some elements in a form, and I achieved it with Sheet and Input, but I had no luck with FormLabel since it won't accept the attribute variant
Current behavior 😯
What I did for Sheet was
<Sheet variant="coordinates">
...
</Sheet>

and then
declare module '@mui/joy/Sheet' {
    interface SheetPropsVariantOverrides {
        coordinates: true
    }
}
...
extendTheme({
        components: {
           JoySheet: {
                styleOverrides: {
                    root: ({ownerState}) => ({
                        ...(
                            ownerState.variant === 'coordinates' && {
                                ...

Then I replicated the same using @mui/joy/Input and JoyInput instead of @mui/joy/Sheet and JoySheet
Expected behavior 🤔
I'd expect to do the same using
declare module '@mui/joy/FormLabel' {
    interface FormLabelPropsVariantOverrides {
        coordinates: true
    }
}
...
extendTheme({
        components: {
         JoyFormLabel: {
                styleOverrides: {
                    root: ({ownerState}) => ({
                        ...(
                            ownerState.variant === 'coordinates' && {
                                width: '100%',
                                justifyContent: 'center',
                            }),
                    }),
                },
            },

Context 🔦
I want to have declared the variant in all the components needed and be able to change it to some other later
Maybe I'm getting it wrong and It has to be done other way.
Your environment 🌎
npx @mui/envinfo
  System:
    OS: macOS 12.4
  Binaries:
    Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node
    Yarn: Not Found
    npm: 8.6.0 - ~/.nvm/versions/node/v14.16.1/bin/npm
  Browsers:
    Chrome: 112.0.5615.137
    Edge: Not Found
    Firefox: Not Found
    Safari: 15.5
  npmPackages:
    @emotion/react: ^11.10.6 => 11.10.6
    @emotion/styled: ^11.10.6 => 11.10.6
    @mui/base:  5.0.0-alpha.125
    @mui/core-downloads-tracker:  5.12.1
    @mui/icons-material: ^5.11.16 => 5.11.16
    @mui/joy: ^5.0.0-alpha.75 => 5.0.0-alpha.75
    @mui/material: ^5.12.1 => 5.12.1
    @mui/private-theming:  5.12.0
    @mui/styled-engine:  5.12.0
    @mui/system:  5.12.1
    @mui/types:  7.2.4
    @mui/utils:  5.12.0
    @types/react: ^18.0.35 => 18.0.35
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    typescript: ^4.9.5 => 4.9.5

tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": [
    "src"
  ]
}

Here's a repro: https://codesandbox.io/s/joy-form-label-custom-variant-ts-error-o1tkyv?file=/index.tsx

@EnriqueWood Thanks for opening the issue. The reason I did not add global variants to FormLabel is that it is not common for FormLabel to have a background or border.
I suggest that you create a new component like this:
import { styled } from '@mui/joy/styles';

const FormLabelCoordinate = styled(FormLabel)({
  …your styles
});

By the way, what's the design of coordinates looks like? Can you put it in a CodeSandbox, I'd love too see?

Thank you for the prompt response! I appreciate your help in clarifying my question.
@mj12albert,  here's a fork of the repository with the changes I'd like to make: Repro
To clarify, I want to be able to render a label with the coordinates variant, which will make the input smaller and center the label right above it (there could be other aesthetic modifications in the actual use case).
@siriwatknp, currently I have to specify the sx property of every element inside the component to achieve this look, but I would like to simplify it by using the variant prop like so:
<FormLabel variant='coordinates'>A1</FormLabel>

Instead of:
<FormLabel
  sx={{
    width: '100%',
    justifyContent: 'center',
  }}
>A1</FormLabel>

This would make it easier to create a coordinates input in a form, and if I want to modify the way it looks in the future, I only have to change the specification in the extendTheme function instead of every sx property of every element inside the component. (I know this can be achieved by creating a new React element, but this is just a basic example of usage.)
And lastly, you said

The reason I did not add global variants to FormLabel is that it is not common for FormLabel to have a background or border.

That makes me think I might be misunderstanding the intended use of variants. Are they typically only meant to modify background and borders? In this case, I'm trying to achieve a modification related to element placement. Can you confirm if using a variant is still appropriate for this type of modification?
Thank you!

Thinking again may be you are right.
Instead of deciding which component should or should not have variant, all Joy UI components have variant that might be better to communicate and is more consistent.
I mark this as an enhancement which can be done after the stable release.

It also appears that FormLabel does not react to a direct parent with something like variant="solid" color="danger" where you might want FormLabel to have a lighter text instead of dark text. You also cannot pass these props to FormLabel.
This would be nice to have. The current work around is to define a custom typography level with the same styles as FormLabel, which is not great.


Example Foo alert handler

The PR provides an example of adding an new alert handler to Kapacitor.
For an explanation of what is going on in this PR see https://github.com/influxdata/kapacitor/blob/master/alert/HANDLERS.md
This PR is not meant to actually be merged.

Closing as out of date. We can update this and open a new PR, for now this is not helpful as its incomplete and out of date.


Moves to database

Remove Primary Key on ID
Add new column
Move Trusted to DB

From #9 :

provide a template postgres empty thingy. So any clone of bot knows what tables etc to work with

That or a simple script that autogenerates empty tables for postgres to be up and running.

Trusted/Verifieds, and Sheet Tether DB was addressed in d361f27

Allow someone to be Verified + Trusted at once (DB primary key fix?)

Allow someone to be Verified + Trusted at once (DB primary key fix?)

Done in b4bc7c9

TODO: Right now, each of our databases is being treated as a key-value store.
It would be great to take advantage of using postgres as a relational db


Add variables so we can add custom names for ssm parameters

what
This simply adds the possibility to have different name for the SSM parameters.
At the moment the defaults are:
/RabbitMq/mq_application_username
/RabbitMq/mq_application_password

we'd like to have :
/RabbitMq/Username
/RabbitMq/Password

why
It adds more flexibility. For us, it's simpler to change the param name, than modify in all repos which use this.

/test all


Improve implementation of sessions

Split data object and storage

See old todos in session

Plus segments like in nette or aura

in progress


Periodic RRD & DHCP Leases RAM Disk Backup

Remove these cron jobs on full install if not using ramdisk.

merged, thanks @NOYB