Setting baseUrl

We're working on application with multiple developers.
In order for us to all test on the same dev server we're using a sites style setup:
i.e. https://thisisourdomain.com/node/developerid/
Where "developerid" is their username on the system.
Example: Lets say my id is raymondlc
https://thisisourdomain.com/node/raymondlc should load my source code (I'm running the application on a specific port) with the redirect being handled by Apache.
As it stands, Apache performs the redirect however if we don't adjust the baseURL the the generated app.js, and /img/ directories have invalid paths (they are fetched at https://thisisourdomain.com/app.[hash].js and https://thisisourdomain.com/img/image_name.png).
I've tried changing:
router: {
    base: "/"
...

to
router: {
    base: "/node/raymondlc/"
...

However this results in "Cannot GET /" when I visit https://thisisourdomain.com/node/raymondlc in the browser.
We CANNOT use subdomains i.e. https://raymondlc92.thisisourdomain.com/ as:

We don't control our DNS (it's managed by the institution) so we must add manual redirects to each subdomain.
We use HTTPS and our cert does not apply to *.thisisourdomain.com

Just for some clarification I've tried routing the new base many ways besides what I initially posted:
router: {
    base: "node/chastainrl"
...

router: {
    base: "node/chastainrl/"
...

I've also tried the same various permutations but by escaping the slashes. None of this had any effect (I only vaguely hoped it would) can I get a confirmation that this is/isn't possible?

I can confirm that this is not working, we change the path to https://thisisourdomain.com/node/developerid/ and base to "/developerid/" and it still does not work.
Attempting to visit the URL in question gives "Cannot GET /"

This remains an active issue.

Content Security Policy: The page’s settings blocked the loading of a resource at self (“default-src [URL SNIPPED FOR PRIVACY]”). Source: (function (ERROR) {
const V8_STACK_....

I'm now getting the following message in my console.
Where [URL SNIPPED FOR PRIVACY] equates to https://thisisourdomain.com rather than https://thisisourdomain.com/mydevname

@RaymondLC92
You can try this.
router: {
    base: "./node/chastainrl"
...

I usually use this method when not deploying in the root directory.

@henyuan I'll give it a shot

@henyuan Unfortunately this still results in "Cannot GET /"

Hello,
I have the same problem : I want to publish to www.mywebsite.com/myApp, but when I generate the static app and push it to my server, I get 404s because it searches for www.mywebsite.com/_nuxt/... instead of www.mywebsite.com/myApp/_nuxt/...
How should I indicate that it's published on a subdomain ?
Thanks in advance !

you can set nuxt.config.js {router: base: '/myApp/'}.
look this https://nuxtjs.org/api/configuration-router
API: The router Property - Nuxt.jshttps://nuxtjs.org/api/configuration-router
The router property lets you customize nuxt.js router.
nuxtjs.org
There are documents on this official document.
If this is still wrong after packing, you can try to change it to
{router: base: './'}.
I can only help you here. That's the way I deal with this kind of problem.
good lucky.

发件人: devmtis<EMAIL_ADDRESS>发送时间: 2017年12月15日 15:18
收件人: nuxt/nuxt.js
抄送: henyuan; Mention
主题: Re: [nuxt/nuxt.js] Setting baseUrl (#1947)
Hello,
I have the same problem : I want to publish to www.mywebsite.com/myApphttp://www.mywebsite.com/myApp, but when I generate the static app and push it to my server, I get 404s because it searches for www.mywebsite.com/_nuxt/http://www.mywebsite.com/_nuxt/... instead of www.mywebsite.com/myApp/_nuxt/http://www.mywebsite.com/myApp/_nuxt/...
How should I indicate that it's published on a subdomain ?
Thanks in advance !
―
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/nuxt/nuxt.js/issues/1947#issuecomment-352030964, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ARBO_Z_5CRBd2h7Uj78wgoLCkdrG29Xbks5tAo2tgaJpZM4QFPFm.

@henyuan While I cannot respond for devinitis I can confirm that for me neither of those solutions work.

After a lot of debugging to make the other plugins work too, it works with base: '/myApp/' ! Thanks a lot for your answer @henyuan :)

@RaymondLC92 Have you tried this, with the slash at the beginning ?
base: '/node/chastainrl/'

@devmtis We've ditched the 'node' segment of it as to make it simpler:
I've tried:
router: {     base: "/chastainrl/"
router: {     base: "chastainrl/"
router: {     base: "/chastainrl"
router: {     base: "./chastainrl"
router: {     base: "chastainrl"
All of which result in a message saying:

Cannot GET /

Is there anything that needs to be done on the apache side of things?

@RaymondLC92
Can you provide the wrong message for the console?
Maybe you should try visiting nuxtjs's static resources to determine whether the path is correct.
If the page returns to cannot get, maybe the program itself is wrong?
Because Apache should return to 404 not found if URL is wrong.
My English is not very good, I hope you can understand the meaning of my expression.

i have some problem. try it.
base: "/node/raymondlc//"

@RaymondLC92 have you tried also using builder.extend() to set config.output.publicPath?
builder: {
  extend (config, { isDev }) {
    if (!isDev) {
      config.output.publicPath = 'node/raymondlc/_nuxt/'

cc @Atinux am I looking at this the right way? :)

@galvez This appears to be working.

@RaymondLC92 cool! I'll close this issue now then.


Permission react-native-meteor

Hey,
It is written on the react native meteor project install doc that one should add :
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
to the manifest. @spencercarli you did not use it, is there any reason ?

I think that was added after I made the last updates. Hoping to do a series of updates to this repo soon. Would definitely suggest adding that permission to the manifest though!

Closed via #65


Fix for #2188

>>> import ansys.fluent.core as pyfluent
>>> from ansys.fluent.core import examples
>>> import_case = examples.download_file(file_name="exhaust_system.cas.h5", directory="pyfluent/exhaust_system")
Checking if specified file already exists...
File already exists. File path:
C:\Users\hpohekar\AppData\Local\Ansys\ansys_fluent_core\examples\exhaust_system.cas.h5
>>> import_data = examples.download_file(file_name="exhaust_system.dat.h5", directory="pyfluent/exhaust_system")
Checking if specified file already exists...
File already exists. File path:
C:\Users\hpohekar\AppData\Local\Ansys\ansys_fluent_core\examples\exhaust_system.dat.h5
>>> solver_session = pyfluent.launch_fluent(precision="double", processor_count=2, start_transcript=False, mode="solver", show_gui=True)
>>> solver_session.tui.file.read_case(import_case)
pyfluent.tui WARNING: Currently calling the TUI commands in a generic manner. Please run `python codegen/allapigen.py` from the top-level pyfluent directory to generate the local TUI commands classes.
The following solver settings object method could also be used to execute the above command:
<solver_session>.file.read_case(file_name = r"C:\Users\hpohekar\AppData\Local\Ansys\ansys_fluent_core\examples\exhaust_system.cas.h5")
>>> solver_session.tui.file.read_data(import_data)
The following solver settings object method could also be used to execute the above command:
<solver_session>.file.read_data(file_name = r"C:\Users\hpohekar\AppData\Local\Ansys\ansys_fluent_core\examples\exhaust_system.dat.h5")
>>> solver_session.tui.solve.set.number_of_iterations(15)
The following solver settings object method could also be used to execute the above command:
<solver_session>.solution.run_calculation.iter_count = 15
>>> solver_session.tui.solve.iterate()
The following solver settings object method could also be used to execute the above command:
<solver_session>.solution.run_calculation.iterate(iter_count = 15)
>>> solver_session.monitors_manager.get_monitor_set_names()
['residual', 'mass-bal-rplot', 'mass-tot-rplot', 'mass-in-rplot', 'point-vel-rplot']
>>> solver_session.monitors_manager.get_monitor_set_names()
['residual', 'mass-bal-rplot', 'mass-tot-rplot', 'mass-in-rplot', 'point-vel-rplot']
>>> solver_session.monitors_manager.get_monitor_set_names()
['residual', 'mass-bal-rplot', 'mass-tot-rplot', 'mass-in-rplot', 'point-vel-rplot', 'report-plot-0']
>>>

@hpohekar I like to include @tejalprabhu01 in the reviewers whenever she has submitted the issue. Adding her now...


StreamTransformer is difficult to use with strong mode / DDC

This has come up several times, but I don't see a bug for it.
Here's a sample use that highlights the problem:
import 'dart:async';

Stream<int> change(Stream<Iterable> stream) {
  return stream.transform(new StreamTransformer<Iterable, int>.fromHandlers(
      handleData: (Iterable iter, EventSink<int> sink) {
    sink.add(iter.length);
  }));
}

void main() {
  Stream<Iterable> stream = new Stream<List<String>>.fromIterable([
    ["hello"],
    ["world"]
  ]);
  var result = change(stream);
  result.listen(print);
}

The change method looks just fine from a typing perspective.  However, if we invoke it with Stream<T> where T is a proper subtype of Iterable, it will trigger a confusing runtime error:
Type '_StreamHandlerTransformer<Iterable, int>' is not a subtype of type 'StreamTransformer<List<String>, int>'

Intuitively, StreamTransformer should be contravariant on it's first type parameter (Iterable here).  But, Dart does not support that.

A workaround is to modify the reified runtime type on the stream:
var result = change(stream.map<Iterable>((x) => x));

should do it.

True, it's annoying, but a direct consequence of Dart's covariant generic classes.
A _StreamHandlerTransformer<Iterable, int> is not a subtype of StreamTransformer<List<String>,int> because Iterable is not a subtype of List<String> - it's the other way around.
We don't have a way to specify, or detect, that a type parameter of a class occurs only contravariantly and should be treated as such.

@donny-dont
Here's another case we're hitting in package:http:
Simplified, we end up with something like this:
import 'dart:async';
import 'dart:convert';
import 'dart:typed_data';

final codec = new AsciiCodec();

Stream<List<int>> read() {
  // Reified as a Stream<Uint8List>
  var stream = new Stream.fromIterable(<Uint8List>[codec.encode("hello"), codec.encode("world")]);
  return stream;
}

void main() {
  // This throws: Type 'AsciiDecoder' is not a subtype of type 'StreamTransformer<Uint8List, String>'
  codec.decodeStream(read()).then(print);
}

@floitschG @kasperl
Is there something actionable here the language/sdk team can do to improve?  We know what the problem is.  How do we fix?
I've heard ideas including language changes or new APIs for this functionality, but not clear if we're proceeding on any front.

+1 this is a major pain point. Honestly I'd love to see this just become a function definition:
typedef StreamTransformer = T Function<S, T>(Stream<S> input);

The correct solution is to introduce contravariant generics. We currently have no plans to add those.
Making StreamTransformer a typedef works in simple cases, but all important StreamTransformers are also Converters. Converters aren't simple functions that take one element and return another. They are a group of functions (convert, fuse, bind, ...). That screams for a "container" class to bundle them together (call it Converter) and you are back to square one.

@floitschG How do you want to proceed?  I don't think the status quo is working.

FWIW I have almost never used Converter, but I don't see why we couldn't support:
abstract class Converter<S, T> {
  const factory Converter.fromTransformer(StreamTransformer<S, T> transformer);
}

To handle this case.

E.g., a fairly minimal change:
https://codereview.chromium.org/2954383002/diff/1/sdk/lib/async/stream.dart
gets this last example running (and perhaps the rest?).
I'm not fond of writing dynamic (or Object if you prefer), but T is/was just incorrect.

@matanlurey  The problem is not to make a StreamTransformer into a Converter, but that many transformers are already converters, because all converters are tranformers:
abstract class Converter<S, T> implements StreamTransformer<S, T> {

That means that they will have the same co-/contra-variance problems as you are seeing with StreamTransformer, it's not just about that class.
Even if we make StreamTransformer into a function type so it's contravariant in the source type, that won't help Converter. you could extract a transformer from a converter by tearing off the bind method, but it wouldn't be a transformer unless we also add a call method that forwards to bind, and then you have function subtyping and class subtyping being at odds with each other. That's not going to be ... at all understandable.
class C<T> {
   void call(T x);
}
typedef F = void Function<T>(T);
main() {
   var i = new C<int>();
   var n  = new C<num>();
   print(n is C<int>);  // false
   print(n is F<int>);  // true
   print(n is C<Object>);  // true
   print(n is F<Object>);  // false
   C<Object> o = n;
   F<Object> fo = o;  // No warning, strong mode runtime error
}

So, we can perhaps fix the problem for transformer (if we make it a function type, not a class type), but that won't help Converter.

FWIW I'm very ok with breaking Converter. I don't see it used much outside
of JSON or UTF8 in client code and it seems easy enough to wrap those two
in the core library.
On Mon, Jun 26, 2017, 10:52 PM Lasse R.H. Nielsen<EMAIL_ADDRESS>wrote:

@matanlurey https://github.com/matanlurey The problem is not to make a
StreamTransformer into a Converter, but that many transformers are
already converters, because all converters are tranformers:
abstract class Converter<S, T> implements StreamTransformer<S, T> {
That means that they will have the same co-/contra-variance problems as
you are seeing with StreamTransformer, it's not just about that class.
Even if we make StreamTransformer into a function type so it's
contravariant in the source type, that won't help Converter. you could
extract a transformer from a converter by tearing off the bind method,
but it wouldn't be a transformer unless we also add a call method that
forwards to bind, and then you have function subtyping and class
subtyping being at odds with each other. That's not going to be ... at all
understandable.
class C {
void call(T x);
}typedef F = void Function(T);main() {
var i = new C();
var n  = new C();
print(n is C);  // false
print(n is F);  // true
print(n is C);  // true
print(n is F);  // false
C o = n;
F fo = o;  // No warning, strong mode runtime error
}
So, we can perhaps fix the problem for transformer (if we make it a
function type, not a class type), but that won't help Converter.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/29878#issuecomment-311260007,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKQ7jv7xkCTU_Em9P9650kwSSsT0p4_ks5sIJiAgaJpZM4N6jMu
.

@munificent @lrhn
Please re-evaluate this and do one of the following:

Add it to a milestone if it is still P1
Change priority label and add milestone if no longer P1
Close, if this issue is no longer needed

Definitely not a P1. I think this is worth revisiting once we ship the variance changes.

Agree. There isn't much we can do with the current API and feature-set.
Changing the API, say to it being a function type, would be breaking.
The variance feature would allow us to mark the input type of the transformer as contravariant, which would likely solve most of the issues, and there'd be a migration for that feature anyway.


More details added in the Return Types section

Full working example, proving the changes:
/* creating the security objects */
CREATE MASTER KEY ENCRYPTION
BY PASSWORD = 'smGK_MasterKeyPassword@';

--
CREATE CERTIFICATE [Cert_Demo_V001]
WITH SUBJECT = 'User for protecting symetric keys.'

--
CREATE SYMMETRIC KEY [SK_Demo_V001] WITH ALGORITHM = AES_256 ENCRYPTION
BY CERTIFICATE [Cert_Demo_V001];

	--
CREATE SYMMETRIC KEY [SK_Demo_V002] WITH ALGORITHM = AES_256 ENCRYPTION
BY CERTIFICATE [Cert_Demo_V001];

/* declaring value and ecnrypting it */
DECLARE @Email NVARCHAR(128) = 'gotqn';
DECLARE @EmailEncrypted VARBINARY(256);

OPEN SYMMETRIC KEY [SK_Demo_V001] DECRYPTION
BY CERTIFICATE [Cert_Demo_V001];

SELECT @EmailEncrypted = ENCRYPTBYKEY(KEY_GUID('SK_Demo_V001'),@Email);
SELECT @EmailEncrypted AS [EncryptedValue];

CLOSE SYMMETRIC KEY [SK_Demo_V001];

/* opening the same key and reading the value */
OPEN SYMMETRIC KEY [SK_Demo_V001] DECRYPTION
BY CERTIFICATE [Cert_Demo_V001];

SELECT CONVERT(NVARCHAR(128), DECRYPTBYKEY(@EmailEncrypted)) AS [CorrectKeyIsUsed];

CLOSE SYMMETRIC KEY [SK_Demo_V001];

/* opening the same key and reading the value */
SELECT CONVERT(NVARCHAR(128), DECRYPTBYKEY(@EmailEncrypted)) AS [KeyIsNotOpened];

/* opening the same key and reading the value */
OPEN SYMMETRIC KEY [SK_Demo_V002] DECRYPTION
BY CERTIFICATE [Cert_Demo_V001];

SELECT CONVERT(NVARCHAR(128), DECRYPTBYKEY(@EmailEncrypted)) AS [DifferntKeyIsOpened];

CLOSE SYMMETRIC KEY [SK_Demo_V002];

/* opening the same key and reading the value */
OPEN SYMMETRIC KEY [SK_Demo_V002] DECRYPTION
BY CERTIFICATE [Cert_Demo_V001];

SET @EmailEncrypted = NULL;
SELECT CONVERT(NVARCHAR(128), DECRYPTBYKEY(@EmailEncrypted)) AS [NULLChiperTextIsUsed];

CLOSE SYMMETRIC KEY [SK_Demo_V002];

/* clearing the objects */
DROP SYMMETRIC KEY [SK_Demo_V001]
DROP SYMMETRIC KEY [SK_Demo_V002]
DROP CERTIFICATE [Cert_Demo_V001];
DROP MASTER KEY;

@gotqn : Thanks for your contribution! The author, @edmacauley, has been notified to review your proposed change.

Thanks for you contribution and the detailed proofs, @gotqn great stuff.  #sign-off


Add documentation for changes to bulk import

More of a note to myself.
We need to add documentation for the changes introduced to the bulk import with this PR:
https://github.com/mattermost/mattermost-server/pull/14034
Basically the post object now has a new attribute called props which can contain message attachments.

Awesome, thanks @svelle! This is a very helpful change. :)

Hi @svelle. Wanted to follow up and find out whether you've had a chance to update the docs for this? If not, let me know what the change is and I'll be happy to sort it out. :)

Hi @svelle. Wanted to follow up and find out whether you've had a chance to update the docs for this? If not, let me know what the change is and I'll be happy to sort it out. :)

Hey @justinegeffen ,
I'm out for the long weekend because of Easter holidays. I'll get on to it this week (ideally before the release of the new server version ;))

Thanks @svelle! I've opened this PR in the meantime and will sync up with you when you're back. :)


First day of week isn't wokring?

I've used your plunkr here to test it
https://embed.plnkr.co/jnR8xnbV7zZioGW66MnN/
I've tried first-day-of-week="1" first-day-of-week="2" , ....
With and with out locale..
Always showing Sunday as first day of week

Thanks for reporting this. I have made fix and released 0.11.4
please verify the changes
https://plnkr.co/edit/htbExZ?p=preview


Square Root is not an ASCII character

The Square Root Symbol that was added was not an ASCII symbol and needs to be removed.

Nice thanks!


#1338 Reset pagination to first page, when column sorting occurs, retaining default behavior.

Reset pagination to first page, when column sorting occurs.
Based on feedback to prior commit, I have added a GotoFirstPageOnSort property to conditionally enable this behavior and retain the current behavior by default.
This avoids having to add code to every usage of RadzenDataGrid.

Hey @djatkinsrealis,
I'm afraid that this is not the proper place to add such code, should be here:

@enchev Thanks. That is the advice I was looking for. Will update PR shortly 👍

@enchev Code moved as suggested. Works really well. PR updated. Thanks 👍


Azure Servicebus : DefaultIncomingMessage Not working

When Consuming a Azure Servicebus Queue message without a label but specifying a DefaultType, an exception occurs.
Startup Code:

To Reproduce
Steps to reproduce the behavior:

Manually publish a message on a Azure servicebus Queue
DONT put in any label

Result

When I DO put in a label that matches the Namespace of the message type it works

got it, this will be in Wolverine 2.0


Changed algorithm to find markdown pages to better match Wiki behaviour

With this PR the .order file defines order not processing of a page.
This behaviour is coherent with Azure DevOps.
I added a sample integration test to validate the assumption

Thanks, also for the refactoring/cleanup 👍
I’ll do some testing and then release it!

No, wait, I found a big difference in the order of the output and working to fix it. I'll open another PR


Accept Current Change or Accept Incoming Change... options do not appear in VSCode

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.64.0 Insiders
OS Version: macOS 12.0

I am not seeing the "Accept Current Change" or "Accept Incoming Change" when viewing merge conflicts
I am expecting to see this (as defined in VSCode Documentation)

But instead I just see this (notice the top bar of choices is gone)

In VScode settings  set:
// setting.json
"editor.codeLens": true,

@mikeerickson, sorry for not getting back to you on this until now. Are you able to reproduce this issue with the latest version of VS Code? Also, check out the new 3-way-merge editor that is included in the latest release.

I have the same problem. It appeared after the update to 1.70. I have not (knowingly) changed any settings since it last worked. I have tried to add "editor.codeLens": true, to the settings.json file in the workspace but that did not help. Anything else I can try?

Ya, I have yet to find a solution to the problem. I have hoped that the monthly updates would somehow fix the issue; and I have also worked with Insiders version but nothing helps.

Also impacted here. It's a shame to lose this feature.

+1 to this issue.
Version: 1.70.0 (Universal)
Commit: da76f93349a72022ca4670c1b84860304616aaa2
Date: 2022-08-04T04:38:55.829Z (2 wks ago)
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 20.6.0

Does setting git.mergeEditor to false help? Thanks!

Does setting git.mergeEditor to false help? Thanks!

Yes 👍

I'm facing the same issue. What is the solution @mikeerickson
Version: 1.70.2 (user setup)
Commit: e4503b30fc78200f846c62cf8091b76ff5547662
Date: 2022-08-16T05:35:13.448Z
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22000

Still facing the same issue. Any news ?
Version :

@saikatmahapatra, @TheScripterX have you tried the step documented here?

I have finally been able to try out this feature again. Curiously, and after several monthly updates, the merge bar is back were it should be. I have barely used VS code in the past 1-2 months, so I suppose that one of the updates fixed it. I have not made any attempts to fix it myself. In case it helps anybody: I have git.mergeEditor set to true and it still works (now, after the latest update).

Yes, its resolved now

It's back now 👍  ( I don't know how but it's working ).
FYI : @lszomoru

this is still happening to me. I've tried turning on and off every combination of Code Lens I can find, and it doesn't make a difference. I tried updating VS Code as well. I've followed all suggestions from here: https://stackoverflow.com/questions/47241098/accept-incoming-change-not-appearing-in-vs-code
Nothing works :(

Closing the issue as looking through the comments this should be resolved.
In case anyone is still able to reproduce this issue please let me know. Thanks!


on macos bigSur running /bin/start-micro-quickstart fails

Affected Version
druid-0.23.0
Description
On Macos the example scripts like /bin/start-micro-quickstart do not run because the below lines in run-druid and run-zk scripts
CONFDIR="$(cd "$CONFDIR" && pwd)"
WHEREAMI="$(cd "$WHEREAMI" && pwd)"

expects cd command to return no output. however on macos the cd command returns the current directory path as output. This causes the CONFDIR and WHEREAMI variables to have the directory path twice ( the output from cd command gets concatenated to the output from pwd command)

however on macos the cd command returns the current directory path as output.

I don't know this before, but for each released version, some of developers test the release candidates on various platforms including macOS, but have never reported such problem.

BTW BigSur was used on my macbookpro half a year ago, and I have never encountered such problem. Now I'm using macOS Monterey.

BTW BigSur was used on my macbookpro half a year ago, and I have never encountered such problem. Now I'm using macOS Monterey.

Digging a bit deeper I found this was the case if the environment variable CDPATH was set. below is a quick test you can run.
CDPATH=".:~"
T=$(cd Temp && pwd)
echo $T

the output will be ~/Temp ~/Temp instead of ~/Temp
assuming there is Temp dir under the home directory

That makes senses. Could you also update your findings in the PR?

That makes senses. Could you also update your findings in the PR?

I have updated the PR with findings as well as your proposed changes

Closed as #12877 merged


kademlia: short circuit bin >= depth only when depth bigger than 0

This PR changes the short circuit in binSaturated function to actuate only when depth is bigger than 0.
When a large number of peers is known in bin 0, this will cause attempts to dial to all of them before proceeding to the next bins.
But actually, when depth is 0, and bin 0 has enough peers, it can be considered as saturated, allowing the iterator to continue to the next bin.
This is an edge case, and usually other nodes will dial in to us, moving the depth anyway, but in case we are dialing out, this handles the edge case.

This test is failing:
=== RUN   TestBinSaturation
##[error]    TestBinSaturation: kademlia_test.go:228: timed out waiting for counter to reach expected value. got 4 want 0

https://github.com/ethersphere/bee/pull/374/checks?check_run_id=810914686#step:11:423
I think that this branch can be merged after the test is adjusted.


Class 'Sentry' not found

Hello,
Just followed the readme with composer require sentry/sentry before.
The bundle line is underlined in PhpStorm because it doesn't know where to find new Sentry/SentryBundle/SentryBundle().
Is there something missing? Autoloader?
Bests

It shouldn't be / but \

Fixed in https://github.com/getsentry/sentry-symfony/pull/4

Indeed thx.


Add proper args to add-trailing-comma CI

The name really says it all.

Do we really need trailing commas? I personally don't really like them.


Field error not sync between onValidate() method and UI

Describe the bug and the expected behavior
Field validation error not sync between the onValidate() method in useForm() parameter and the UI. In the onValidate() method body, the date field after parsed has error, however in the UI, date.errors is undefined. The expected behaviour is date.errors should contains error (specifically an array of an item: "Required") if the form is submitted without picking a date.
Conform version
0.9.1
Steps to Reproduce the Bug or Issue

Create a new Remix project
Install zod and conform dependencies
Create a new route/page, and add the codes below the instructions
Submit the form without picking a date

import { conform, useForm, useInputEvent } from "@conform-to/react";
import { getFieldsetConstraint, parse } from "@conform-to/zod";
import { z } from "zod";
import { Form } from "@remix-run/react";
import { useId, useRef } from "react";

const IncomeGenerateSchema = z.object({ date: z.date() });

const ExamplePage = () => {
  const formId = useId();

  const [form, { date }] = useForm({
    id: formId,
    constraint: getFieldsetConstraint(IncomeGenerateSchema),
    onValidate: ({ formData }) => {
      const parsed = parse(formData, { schema: IncomeGenerateSchema });
      // Console log result: ["Required"]
      console.log(parsed.error["date"]);
      return parsed;
    },
  });

  const shadowInputRef = useRef<HTMLInputElement>(null);
  const control = useInputEvent({ ref: shadowInputRef });

  // Console log result: undefined
  console.log(date.errors);

  return (
    <Form method="POST" className="p-4" {...form.props}>
      <input onChange={control.change} type="date" />
      <input
        ref={shadowInputRef}
        {...conform.input(date, { type: "hidden" })}
      />
      {date.errors && (

          {date.errors.map((error, index) => (

{error}

          ))}

      )}
      <button>Submit</button>
    </Form>
  );
};

export default ExamplePage;

What browsers are you seeing the problem on?
Others
Screenshots or Videos
No response
Additional context
No response

Hi @chwizdo, I believe the issue you had is caused by the hidden type input. If you use the hidden attribute instead (i.e. <input hidden />), it should work. This is a limitation caused by the use of the setCustomValidity API at the moment and it will be addressed when we release the changes described on this RFC.

@edmundhung Yes, by using the hidden attribute instead, it'll work. I understand now, I'll temporary use this workaround for the time being. However, do u know the consequences of this workaround? What's the differences of using the hidden property and the hidden type?

This is just how the Constraint Validation APIs works unfortunately. I have read the HTML spec about this and my understanding is that <input type="hidden" /> was mainly used as a way for the server to provide some additional context to the client. The browser believes the value would never change and so there is no need to do any client validation. It's just that the community find it useful to hide an input when implementing a custom input so we were all using it.
However, if we use <input hidden />, we are actually creating an input with type text. As the constraint validation API do not have specific instructions about the hidden attribute, it just being treated as any text input.

This should be fixed in v1.0.0.


Event for restoration visits?

I have a wysiwyg editor on a web page. If the user forgot to save their changes, and they navigate away, I want to prompt them that they have unsaved changes. If they click on other links, I can intercept it with tubolinks:before-visit. However, I cannot find any events that are fired before a restoration visit (back or forward button on the browser).
Are there solutions for this? If not are there plans to add something like turbolinks:before-restore?

The before-cache event appears to be fired when pressing the back button, so you could possibly use that to trigger a save.

use turbolinks:before-render event and querySelect your WYSIWYG using the event.data.newBody

This issue has been duplicated by #264, where there is a bit more discussion on the topic.
Turbolinks restoration visits depend on the popstate event which is not cancellable, so unfortunately I don't think displaying a prompt is possible (see also: https://github.com/turbolinks/turbolinks/issues/216#issuecomment-265200209). FWIW I have had some success with a different approach: saving form values automatically in session session storage, then if the person revisits the form, restore the values from the store. Hope that helps.

@domchristie Thanks for the tip about saving form values into a session storage. I ended up saving the form values into the local storage so it can survive page unloading, with a custom implementation for record versioning and expiration. If anybody is interested in the implementation, you can grab it here.


Something's wrong with wrap root element?

Hi Matt @hagnerd,
I am struggling with adding components to the MDXProviders global scope and I am seeing this error when compiling a blogpost using this component:
Component SCM was not imported, exported, or provided by MDXProvider as global scope
I simply extended the existing wrap-root-element.js
const components = {
  pre: preProps => {
    const props = preToCodeBlock(preProps)
    // if there's a codeString and some props, we passed the test
    if (props) {
      return <Code {...props} />
    } else {
      // it's possible to have a pre without a code in it
      return <pre {...preProps} />
    }
  },
  SCM: props => {return <SCM {...props} />}
}

export const wrapRootElement = ({ element }) => (
  <MDXProvider components={components}>
    {element}
  </MDXProvider>
)

I started wondering whether this MDXProvider was being used at all? Even if I inspect the code elements in your live demo this is what I am seeing

instead of something like this (from the code.js):
export const Code = ({ codeString, language, ...props }) => {
  if (props['react-live']) {
    return (
      <LiveProvider code={codeString} noInline={true}>
        <LiveEditor />
        <LiveError />
        <LivePreview />
      </LiveProvider>
    )
  } else {
    return (
      <Highlight {...defaultProps} code={codeString} language={language}>
        {({ className, style, tokens, getLineProps, getTokenProps }) => (
          <pre className={className} style={style}>
            {tokens.map((line, i) => (
              <div {...getLineProps({ line, key: i })}>
                {line.map((token, key) => (
                  <span {...getTokenProps({ token, key })} />
                ))}
              </div>
            ))}
          </pre>
        )}
      </Highlight>
    )
  }
}

So it seems to me pre isn't overwritten by the MDXProvider either and this just has gone unnoticed since there is an existing component for pre. I am pretty new to Gatsby and frontend dev in general so I kinda hit a wall here and was wondering if there was something wrong that you would spot?
Best,
Thomas

brief update, seems wrap root element is working as intended, but there is a second MDX Provider below it in the react component hierarchy without any component prop. So the outermost Provider is being overwritten.

Wondering whether this has something to do with a default layout being applied by the gatsby mdx plugin https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-mdx#default-layouts

seems gatsby-plugin-mdx is doing it's own root wrapping
https://www.christopherbiscardi.com/post/removing-gatsby-mdx-wrappers/
https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-mdx

I got it to work by defining the following way (also the code examples work now):
I removed wrap-root-elements.js, gatsby-ssr.js and gatsby-browser.js as the root wrapping was being overwritten anyway. What instead helped was defining a custom layout for mdx pages and importing+default exporting it in the mdx file as shown here https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-mdx#default-layouts
src/components/mdx-layout.js
import React from "react"
import { MDXProvider } from "@mdx-js/react"
import { Code } from '../components/code'
import { preToCodeBlock } from 'mdx-utils'
import SCM from '../scm/scm'

// components is its own object outside of render so that the references to
// components are stable
const components = {
  pre: preProps => {
    const props = preToCodeBlock(preProps)
    // if there's a codeString and some props, we passed the test
    if (props) {
      return <Code {...props} />
    } else {
      // it's possible to have a pre without a code in it
      return <pre {...preProps} />
    }
  },
  SCM: props => {return <SCM {...props} />}
}

export default ({ children }) => (
  <MDXProvider components={components}>
    {children}
  </MDXProvider>
)

content/blog/hi-folks/index.mdx
---
title: New Beginnings
date: '2015-05-28T22:40:32.169Z'
---

import PageLayout from './../../../src/components/mdx-layout'

export default PageLayout
...

Unfortunately I didn't get the default layout mechanism in gatsby-config.js to work as outlined in the docs linked above, which would make importing the layout into every mdx file unnecessary. I think the reason is that gatsby-plugin-mdx is quite opinionated and makes a few assumptions that this project isn't making. For example, I assume the right way to compile the mdx files would be to use gatsby-plugin-page-creator and point it at the content directory and to turn the blog-post.js into the default layout for gatsby-plugin-mdx files. However, I wouldn't know how to fill the previous and next fields in this case. In any case, this feels like a bigger change which I am not entirely comfortable making given my limited understanding of the interplay of the different components. Maybe one of the maintainers can take the lead here beyond my quick fix.


Serverdocs

This pull request contains:

technical setup and description of the AWS infrastructure (EC2 and S3)
documentation of the EC2 installation requirements and cron job setup
tutorial of the datamover Python module as a jupyter notebook
bug fixes and code documentation

Reviewed and updated where I saw a need. 👍

Thanks @peterdesmet great service!


Invoking "void" methods

[EDIT by @guardrex to fix the HTML-encoded C# from the feedback form.]
How do I Invoke JavaScript methods that don't return anything ("void" methods)?
IJSRuntime only exposes Task<T> InvokeAsync<T>(string identifier, params object[] args);

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

ID: 49807900-0d56-e23c-1aef-d79099caeffb
Version Independent ID: feff434f-912c-0985-d575-4a23a629057d
Content: Blazor JavaScript interop
Content Source: aspnetcore/blazor/javascript-interop.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

void functions return undefined, so I whipped up a test with the sample app ...
window.exampleJsFunctions = {
    testVoid: function () {
        console.log('testVoid called!');
        return undefined;
        // or ... return void(0);
        // or ... return void 0;
    }
}

var returnValue = _jsRuntime.InvokeAsync<object>("exampleJsFunctions.testVoid", null);

The FN is called and returnValue is null, which seems fine.
Should we have a few lines to cover this scenario? I think it would just need to say that:

The FN returns undefined (void(0) or void 0)
T is object in this scenario.
Expect null to come back after the FN executes.

Stand-by @fleed ... DR will let us know what to do.

Yup, we should doc this as proposed.


Correct health probe to match best practices

@MikeBazMSFT : Thanks for your contribution! The author, @anandyadavmsft, has been notified to review your proposed change.

I've attached an updated ilbdeployment4.png to match the instructions.  I have no idea how to get that into the same pull request or commit.

@anandyadavMSFT I am not sure where the merge conflict is coming from, but the conflict seems to be irrelevant since I'm intentionally replacing the conflicting info.
Can there be some movement on getting this correction in place please?

#sign-off

@GitHubber17 : Thanks for your contribution! The author, @billmath, has been notified to review your proposed change.


Can't find certificate in store when deploy in production.

I am try to setup "Example: Deploy to a non-Azure web hosting provider" in application settings json but it does not work. It can not find certificate in store, many developer have same problem. Can you please investigate issue and add detailed topic how to setup IdentityServer in appsetting.production.json
"IdentityServer": {
    // I just add .pfx file to hosted Blazor project and it work in Visual Studio, in prod IIS it show error404
    "Key": {
      "Type": "File",
      "FilePath": "MyIdentityServer.pfx",
      "Password": "P@ssw0rd"
    }

    // This not work in VS2019 or/and IIS , selfsigned cert created in iis or cert tool same issue cant find cert in certificate stores.
    //  "Key": {
    //    "Type": "Store",
    //    "StoreName": "WebHosting",
    //    "StoreLocation": "LocalMachine",
    //    "Name": "CN = MyIdentityServer"
    //  }
  }

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

ID: 21cb7455-3305-9316-5440-bdc22947a82d
Version Independent ID: 137d4b94-7b26-3911-b22d-42c754a95fc1
Content: Introduction to authentication for Single Page Apps on ASP.NET Core
Content Source: aspnetcore/security/authentication/identity-api-authorization.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @javiercn
Microsoft Alias: scaddie

Thanks for the suggestion. We only have the resources to outline non-Azure hosting. You shouldn't store secrets in app settings files.

I just try to production deploy to local IIS , the application is Blazor hosted Web application.

This sounds like a general question about using ASP.NET Core. While we try to look at and respond to all issues, for questions like this we recommend posting to a community support group like Stack Overflow with the asp.net-core tag.

Stack Overflow
ASP.NET Core Slack
ASP.NET Gitter

cc @guardrex

We only have the Azure hosting scenario covered in the Blazor topic ...
https://docs.microsoft.com/aspnet/core/blazor/security/webassembly/hosted-with-identity-server#host-in-azure-app-service-with-a-custom-domain-and-certificate
I agree with @Rick-Anderson's suggestion to ask the community for help. Also, check the Identity Server doc set.
I've marked this issue on my tracking issue for document updates at https://github.com/dotnet/AspNetCore.Docs/issues/19286 to take a look at this scenario (IIS hosting) when I reach that topic. If you get an answer as to what went wrong, please do post back what you figured out here.


Handle Broken HTTP Pooled Connections For Replication

While investigating #4970 I noticed that replicas are using a connection pool to manage their connections to the mater nodes.
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/Storages/StorageReplicatedMergeTree.cpp#L2766-L2770
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/Storages/MergeTree/DataPartsExchange.cpp#L189-L197
We're fetching the pool from a cache keyed by the host:
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/IO/HTTPCommon.cpp#L153
But on that connection, reset never gets called, even though it should be:
https://pocoproject.org/docs/Poco.Net.HTTPClientSession.html#21613
In the code, both receiveResponse and sendRequest get called many times without being wrapped in a try/catch block or otherwise doing some error checking that would need to be followed-up with a reset() call.
I think this may be why people are seeing issues with Kubernetes when restarting pods or in any dynamic dns deployment.  My C++ is not that great though, so please let me know if I'm barking up the wrong tree.  :dog:
Thanks for the awesome work!

@alexey-milovidov I'm curious what your thoughts on this are!  I wouldn't mind taking a stab at fixing it but it might take me a while as I'm pretty unfamiliar with C++. :-)
Thanks!

Alright, I believe I've found it.
Here we're creating a normal session:
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/Storages/MergeTree/DataPartsExchange.cpp#L189-L197
Initializer calls makePooledHTTPSession
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/IO/ReadWriteBufferFromHTTP.h#L121
makePooledHTTPSession tries to get the pool from the cache by key designated by uri (which is still the hostname, not the IP).
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/IO/HTTPCommon.cpp#L190-L193
Upon the first time seeing this hostname, we create a new pool and add it to the cache:
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/IO/HTTPCommon.cpp#L156
Initializer for SingleEndpointHTTPSessionPool calls makeSessionImpl:
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/IO/HTTPCommon.cpp#L96-L106
makeHTTPSessionImpl calls setHost after resolving DNS!
https://github.com/yandex/ClickHouse/blob/98359a6a0978dfa3d7e171ad8c30db9e814a8b9d/dbms/src/IO/HTTPCommon.cpp#L68-L83
However, that means that we've got a cache keyed by hostname, but pooled on the IP address.  When we go to call that again based on that hostname, it pulls up the pool talking to the IP address.
When that hostname changes IP addresses, we lookup in the cache the hostname and get the old IP address.
I think this is what's needed:
https://github.com/yandex/ClickHouse/pull/5383
I don't see any reason why the pool can't resolve the address itself.

We were able to reproduce it with Altinity Operator, @Enmk will help with the fix.

Where the line was last changed was when system drop dns cache was added:
https://github.com/yandex/ClickHouse/commit/48f5d8f1a3e0f980e1d559d0a5cd4b9ebbe29220

@alexey-milovidov @alex-zaitsev @Enmk , is there anything I can do to help move this along?  Just say the words and I'll get on it. :-)

This was fixed in a recent release :tada:


new Unweighted mean regridding transforms

Reported by ansley b manke on 18 Nov 2015 22:51 UTC
When there are gaps in data, e.g. missing time steps in an ascii file or a dataset made by appending or aggregating individual time step datasets in some way, the gaps are represented by extra-long time steps. To fill those gaps with missing-data, regrid to a defined axis using @BIN to average the data whose coordinates lie in the destination grid cell.
A companion transformation @NBIN returns the number of valid data averaged in each cell.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2324

Comment by ansley.b.manke on 18 Nov 2015 22:53 UTC
This is done.  The output of SHOW TRANS is also updated to clarify @NBIN vs the existing transformation @NGD
...
regridding transforms
...
    @AVE        area-wgt avgd
    @SUM        area-wgt sum
    @NGD        #gd pts, area wgtd

    @BIN        unweighted avg
    @NBIN       #good in bin

Comment by steven.c.hankin on 19 Nov 2015 17:31 UTC
This still seems quite confusing (and contradictory?) to me.  It should be an iron-clad promise that a regridding transformation onto a given destination grid cell will produce the identical result as the compressing transformation of the same name computed over the limits of that destination cell.  Anything else seems an invitation for some pretty serious confusion, and should at least be very carefully discussed in documentation if it cannot be avoided.
What is needed is some canonical data on a source grid and a destination axis that really clarifies what each transform does.  For example
source data: cells 1-2, 2-3, 3-4, 4-5, ...
points at 1.5, 2.5, 3.5, ... values 1.5, 2.5, 3.5, ...
yes? DEFINE AXIS/BOUNDS/X xunit_cells = X[LET srcdat = X[gx=xunit_cells](x=1:10:1]
yes?)

(say)
DEFINE AXIS/BOUNDS/X x2offset = {1.25,2.25,4.25,6,7.5,9.5}
(attempting to capture cases where source cells lie wholly and partially in destination cells, and source points lie both inside and on destination cell boundaries)

Then we document the transformations by looking at srcdat[gx=x2offset@TRANS]   We could use Ferret graphics to make some figures that illustrate how the different transformations arrive at their results
Specific editorial comments:

The summary statement of this trac ticket says of the g=@BIN calculation both "To fill those gaps with missing-data" and "to average the data" -- phrases that seem to contradict each other.  I remain confused on how @BIN and @NBIN relate to the regridding or compressing transformations discussed below.

@SUM says "area-wgt sum".  An "area-weighted sum" sounds like some kind of integral, rather than a sum at all.  After reading the Users Guide I see that this is the case.  It sounds like this regrid transformation is closer to @DIN -- a definite integral of the source data contributing to each destination cell except that the underlying "dx" of the integral is in index space instead of world coordinate space.  The compressing transformation of the same name, @SUM, computes "transformation @SUM computes the unweighted sum (arithmetic sum)".  These seem like a starkly contrasting calculations, which would yield differing results over a given destination grid cell bounds.   How bad would the consequences be if we deprecated the name g=@SUM in favor of some new name, say G=WSUM?  or G=@DINI? ("definite integral in index space")

Similarly @NGD seems to perform starkly contrasting calculations, when used as a compressing transformation, versus when used as a regridding transformation.  The compressing transformation is unweighted, integer -- putting its unit weight into whatever destination grid cell contains the source grid point.  The regridding transformation @NGD is weighted, non-integer, spitting its weight between destination cells based upon how the source cell boundaries span the destination cell.  Should we deprecate g=@NDG in favor of g=@WNGD?

Comment by ansley.b.manke on 19 Nov 2015 19:43 UTC
Point well taken. Good documentation, examples are needed.
The "fill gaps with missing data" occurs when there are NO source grid points in a destination cell. The skipped timestep, or grid step, when put onto the destination axis that has all the  desired steps, will contain missing-data values rather than some combination of the surrounding ones. So we need the right full description of this.
@NGD and @SUM regridding transformations are indeed very different from the compression transforms, so both are unfortunate names. Deprecating @NGD sounds like a good idea, and maybe @SUM for regridding as well.  Maybe they both get described as integrals instead.
For @BIN and @NBIN a couple examples comparing with @AVE.
Simplest illustrating example for @BIN: The source series has a missing step.  Regrid to the corresponding regularly-spaced axis.
! Missing step # 4
yes? define axis/x xir = {1,2,3,5,6}
yes? define axis/x=1:6:1 xreg
yes? let xs = x[let xd = x[gx=xreg](gx=xir]
yes?)
yes? list  xd, xs[xs[gx=xd@bin](gx=xd@ave],)
             X: 0.5 to 6.5
 Column  1: XD is X[Column  2: XS[G=1 delta on X@AVE](GX=XREG]
) is X[(regrid: 1 delta on X@AVE)
 Column  3: XS[G=1 delta on X@BIN](GX=XIR]) is X[(regrid: 1 delta on X@BIN)
            XD    XS     XS
1   / 1:  1.000  1.000  1.000
2   / 2:  2.000  2.000  2.000
3   / 3:  3.000  3.000  3.000
4   / 4:  4.000  4.000   ....
5   / 5:  5.000  5.000  5.000
6   / 6:  6.000  6.000  6.000

Now define some axes where some source coordinates lie on the boundaries of the destination cells.
yes? define axis/x xsrc = {1., 1.1, 1.2, 2, 3.3, 5.8, 5.9, 6}
yes? define axis/x/edges xdest = x[x=1:6:1](GX=XIR])
yes? let xs = x[let xd = x[gx=xdest](gx=xsrc]
yes?)
yes? list xd, xs[xs[gx=xd@bin](gx=xd@ave],), xs[            X: 1 to 6
 Column  1: XD is X[GX=XDEST](gx=xd@nbin]
)
 Column  2: XS[X@AVE](G=on) is X[(regrid: on X@AVE)
 Column  3: XS[G=on X@BIN](GX=XSRC]) is X[(regrid: on X@BIN)
 Column  4: XS[G=on X@NBIN](GX=XSRC]) is X[GX=XSRC] (regrid: on X@NBIN)
            XD    XS     XS     XS
1.5 / 1:  1.500  1.500  1.100  3.000
2.5 / 2:  2.500  2.455  2.000  1.000
3.5 / 3:  3.500  3.300  3.300  1.000
4.5 / 4:  4.500  4.425   ....  0.000
5.5 / 5:  5.500  5.820  5.850  2.000

The source values at 1.0, 1.1, and 1.2 go into the destination cell from 1-2.
The source value at x=2 goes into the cell that from 2-3.
The source values at  5.9 and 5.9 go into the cell that runs from 5 to 6, and the source at 6 is not included in any destination cell.

Comment by steven.c.hankin on 19 Nov 2015 22:15 UTC
I will stand by to comment when you have a draft of the documentation based upon the proposed new transform names.  Some graphics showing the relationship of the source grid cells/points to the dest grid cells/points will go a long way towards making it easy to understand.
I'm still a bit confused about the @BIN and @NBIN concepts (I admit to not taking the trouble thus far to hand-draw the graphics that might explain things).  The concept underlying g=@BIN is that a source point doesn't get counted in a destination cell unless its coordinate location lies between the destination grid cell limits.  Hence column 3 of example 1 at X=4.   Yet @NBIN deals in weighted source points.  How do these work together?  (Note that all of the examples of @NBIN above are integer.)


onnx operator (wip)

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 ONNX-Operator bauen

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

357 of 371 (96.23%)  changed or added relevant lines in 1 file are covered.
23 unchanged lines in 15 files lost coverage.
Overall coverage increased (+0.02%) to 90.613%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

operators/src/pro/machine_learning/onnx.rs
357
371
96.23%

Files with Coverage Reduction
New Missed Lines
%

services/src/api/handlers/layers.rs
1
88.87%

services/src/datasets/external/netcdfcf/ebvportal_api.rs
1
88.35%

services/src/datasets/create_from_workflow.rs
1
89.62%

services/src/pro/permissions/postgres_permissiondb.rs
1
63.79%

services/src/pro/layers/postgres_layer_db.rs
1
96.09%

services/src/api/handlers/wfs.rs
1
96.29%

services/src/api/handlers/wms.rs
1
95.3%

services/src/api/handlers/workflows.rs
1
90.22%

services/src/api/handlers/projects.rs
1
98.59%

services/src/datasets/external/edr.rs
2
85.72%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
131824

Relevant Lines:
145481

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

632 of 687 (91.99%)  changed or added relevant lines in 2 files are covered.
16 unchanged lines in 11 files lost coverage.
Overall coverage increased (+0.01%) to 90.7%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

operators/src/processing/expression/raster_query_processor.rs
0
3
0.0%

operators/src/pro/machine_learning/onnx.rs
632
684
92.4%

Files with Coverage Reduction
New Missed Lines
%

services/src/pro/api/handlers/users.rs
1
95.75%

services/src/api/handlers/layers.rs
1
88.87%

services/src/datasets/external/netcdfcf/mod.rs
1
94.79%

services/src/pro/users/postgres_userdb.rs
1
96.16%

services/src/datasets/external/edr.rs
1
85.72%

services/src/datasets/external/netcdfcf/ebvportal_api.rs
1
89.32%

services/src/pro/layers/postgres_layer_db.rs
1
96.09%

services/src/datasets/external/pangaea/mod.rs
1
83.36%

services/src/api/handlers/datasets.rs
2
95.48%

services/src/pro/contexts/postgres.rs
3
97.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
133800

Relevant Lines:
147519

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

632 of 687 (91.99%)  changed or added relevant lines in 2 files are covered.
11 unchanged lines in 7 files lost coverage.
Overall coverage increased (+0.02%) to 90.698%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

operators/src/processing/expression/raster_query_processor.rs
0
3
0.0%

operators/src/pro/machine_learning/onnx.rs
632
684
92.4%

Files with Coverage Reduction
New Missed Lines
%

services/src/api/handlers/datasets.rs
1
94.63%

services/src/datasets/external/pangaea/mod.rs
1
83.19%

services/src/api/handlers/workflows.rs
1
90.3%

services/src/datasets/external/edr.rs
2
85.65%

services/src/pro/contexts/postgres.rs
2
96.77%

services/src/pro/layers/postgres_layer_db.rs
2
95.94%

services/src/datasets/external/netcdfcf/ebvportal_provider.rs
2
92.21%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
134571

Relevant Lines:
148373

💛  - Coveralls


docs(pkg): update help URL to https://deis.com/

Summary of Changes
Updates the URL printed after a successful git push to https://deis.com/ instead of http://docs.deis.io/.
Issue(s) that this PR References
See deis/example-clojure-ring#5.
Testing Instructions
The output of a successful git push for an app should reference the above URL, not anything at deis.io.
Pull Request Hygiene TODOs
Please make sure the below checklist is complete.

[X] Your pull request is concise and to the point (make another PR for refactoring nearby code)
[X] Your commits follow the commit style guidelines

this would probably be a good change to get into v2.0. yay or nay?

@sgoings thinks this should go into 2.0. Marking as such!


Many configuration options fail because they are passed to Kafka as strings

We are running Logstash 5.4.0 from the Debian packages. When we attempt to set many configuration options, we get errors like the following:
[[main]<kafka] ERROR logstash.inputs.kafka - Unable to create Kafka consumer from given configuration {:kafka_error_message=>org.apache.kafka.common.config.ConfigException: Invalid value 1000 for configuration max.poll.records: Expected value to be an number., :cause=>nil}
[[main]<kafka] ERROR logstash.inputs.kafka - Unable to create Kafka consumer from given configuration {:kafka_error_message=>org.apache.kafka.common.config.ConfigException: Invalid value 1000 for configuration heartbeat.interval.ms: Expected value to be an number., :cause=>nil}
[[main]<kafka] ERROR logstash.inputs.kafka - Unable to create Kafka consumer from given configuration {:kafka_error_message=>org.apache.kafka.common.config.ConfigException: Invalid value 15000 for configuration session.timeout.ms: Expected value to be an number., :cause=>nil}

I am not familiar with the Kafka Java APIs, and aren't sure where the conversion from a string (which is what the configuration options are annotated as) to integer is supposed to happen. For example auto_commit_interval_ms is a string, and it can be set. But none of the others seem to work.
We are using Kafka <IP_ADDRESS> on the server, but I don't think that matters because it looks like the error is completely consumer-side.

Can you show your logstash configuration?

Oh I see the problem. Logstash config has these:
config :max_poll_records, :validate => :string
config :heartbeat_interval_ms, :validate => :string
config :session_timeout_ms, :validate => :string

Is this a breaking change in the upstream Kafka client? This code has been unchanged for nearly a year:
% git blame lib/logstash/inputs/kafka.rb | egrep 'config :(session_timeout_ms|heartbeat_interval_ms|max_poll_records)'
9d710a5f (Tal Levy            2015-12-14 10:22:07 -0800 111)   config :heartbeat_interval_ms, :validate => :string
1d5ff517 (Tal Levy            2016-06-09 09:28:30 -0700 127)   config :max_poll_records, :validate => :string
1d5ff517 (Tal Levy            2016-06-09 09:28:30 -0700 152)   config :session_timeout_ms, :validate => :string

@suyograo @guyboertje Can one of you look into this?

I will

Are you able to reproduce the problem? Do you need any more information?

After further testing, I've discovered that the error happens when I specify the number without quotes in my logstash pipeline, e.g. max_poll_records => 1000 triggers the error, but max_poll_records => "1000" does not.

This problem still exists in 5.5.1 (with kafka_2.11-<IP_ADDRESS>).
The rather counter intuitive quotes does work as a work around.
i.e.
heartbeat_interval_ms => 500   is broken (Kafka complains of getting a string, when it needs a number)
heartbeat_interval_ms => "500"  plugin starts without any error

I can confirm the same issue with logstash 5.6.3. Any ETA for a fix or a workaround?

We have the same issue, logtash 6.0, auto_commit_interval_ms => "60000" only works with quotes.

Same problem exists for request_timeout_ms => 1000    Quotes fixes the error, but this should get updated.

Just in case someone comes across this issue while Googling, the following maybe relevant...
I am not using Logstash (or ELK) and would offer that the root-cause does not lie in such either; if you are developing a simple Kafka application, you still suffer this problem and have to quote numbers in config.
I get this confusing error
Invalid value 10000 for configuration rebalance.timeout.ms: Expected value to be a 32-bit integer, but it was a java.lang.Long

Looking into the code at org/apache/kafka/common/config/ConfigDef.java in kafka-clients-2.6.0.jar:
    public static Object parseType(String name, Object value, Type type) {
        ...
                case INT:
                    if (value instanceof Integer) {
                        return value;
                    } else if (value instanceof String) {
                        return Integer.parseInt(trimmed);
                    } else {
                        throw new ConfigException(name, value, "Expected value to be a 32-bit integer, but it was a " + value.getClass().getName());
                    }
        ...
    }

So you're all sane, no one is going crazy


Add support for the new CLNRest as a funding source

https://github.com/lnbits/lnbits/pull/2232 never quite worked and was more of a POC.
Still a work in progress, but should just work.
To test it:
CLNREST_URL=https://<IP_ADDRESS>:3010
CLNREST_CA=/home/lightningd/.lightning/bitcoin/ca.pem
CLNREST_CERT=/home/lightningd/.lightning/bitcoin/server.pem

You can also use the contents of these files instead of the path to the file:
CLNREST_CA = cat ca.pem | awk '{printf "%s\\n", $0} END {printf "\n"}'
CLNREST_CERT =  cat server.pem | awk '{printf "%s\\n", $0} END {printf "\n"}'

CLNREST_READONLY_RUNE=lightning-cli createrune restrictions='[["method=listfunds", "method=listpays", "method=listinvoices", "method=getinfo", "method=summary", "method=waitanyinvoice"]]' | jq -r .rune
CLNREST_INVOICE_RUNE=lightning-cli createrune restrictions='[["method=invoice"], ["pnameamount_msat<1000001"], ["pnamelabel^LNbits"], ["rate=60"]]' | jq -r .rune

These will give LNbits permission to pay invoices:
#CLNREST_PAY_RUNE=lightning-cli createrune restrictions='[["method=pay"], ["pinvbolt11_amount<1001"],   ["pnamelabel^LNbits"], ["rate=1"]]' | jq -r .rune
#CLNREST_RENEPAY_RUNE=lightning-cli createrune restrictions='[["method=renepay"], ["pinvinvstring_amount<1001"], ["pnamelabel^LNbits"], ["rate=1"]]' | jq -r .rune

This is not really needed, but reduces start up time because it will otherwise ask for all invoices since the beginning of time from your core lightning node:
#CLNREST_LAST_PAY_INDEX='lightning-cli listinvoices | jq -r '.invoices | map(.created_index) | max'

# For core lightning v23.08, you had to provide the nodeid in order to call CLNRest, but this is no longer needed for more recent releases
#CLNREST_NODEID=lightning-cli getinfo | jq -r .id # only required for v23.08

Great work @Amperstrand and thank you for the support.
I did first tests with this pull request. Setup:
Testnode with separate users for each application. Bitcoin Core v28.rc2 and Core Lightning 24.08 (testnet3).
The setup of runes worked fine, although with slightly different commands.
Set up the .env file.
The runes have to be added like this: CLNREST_READONLY_RUNE=Bp4TZmzsTNnQzA.....
Attention: You cannot point to ca.pem and server.pem files within lightning user .lighting/testnet folder. Lnbits user has no right to read the certificates, and you get an error during start of lnbits.
Solution: You need to copy the two certificates into lnbits home and change the path in .env to the correct path. Similar as we had to do with access.macaroon file.
Improvement suggestion:
.env file: Instead of adding the content of a rune in the .env file, we could point to a rune file.
Open:
Testing the restriction of runes.
Code review, as I have no programming skills.


[airflow] Rename the product file to fix a typo in filename

apache-airlfow.md -> apache-airflow.md

@BiNZGi @captn3m0


Move Team and Jobs to dedicated pages

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/3079
Originally created by @DouweM on 2021-11-24 01:10:54

View 4 previous comments from the original issue on GitLab


Issue #548: Use Cases Directory created

A uses cases directory named use-cases was created.
The content from USE_CASES.md was moved into this directory.
Files were created covering topics previously covered in USE_CASES.md.
The contents of these new files come directly from USE_CASES.md.
Of course, USE_CASES.md was deleted.

Fixes
Fixes #548
Checklist

[x] I have made a material change to the repo (functionality, testing, spelling, grammar)
[x] I have read the [Contribution Guide] and my PR follows them.
[x] I updated my branch with the master branch.
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation about the functionality in the appropriate .md file
[ ] I have added in line documentation to the code I modified

Short description of what this PR does:

If you have questions, please send an email to Sendgrid, or file a Github Issue in this repository.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Volume type selected is not seen in storage section in workload detail page

Verified on 2.5-head - commit id: eb990af66 and ui-offline-preferred - false

Deploy a workload - type deployment

Add Storage --> Volume --> Select Secret/Certificate --> Select the value from dropdown

Enter a mount path value.

Click on create.

Deployment is created

Click on Deployment --> Detail page --> Storage section

What type of volume was selected is not available

Expected:
Volume type and details filled during deployment creation in storage section must be available

On 2.5-head - commit id: 0465f049

Deploy a workload - type deployment
Add Storage --> Volume --> Select Secret/Certificate --> Select the value from dropdown
Enter a mount path value.
Click on create.
Deployment is created
Click on Deployment --> Detail page --> Storage section
Volume type and details filled during deployment creation in storage section are available


[FEATURE] Custom lnd data path

Add ability to set custom lnd data path.

rebuild this please

retest this please

retest this please

Closed because is updated as pr 28.


[WIP] Jenkins: basic support for HIL

Work in Progress!
This PR offers basic Hardware-In-The-Loop (HIL) support using Jenkins and Docker.
Requirements

PX4 Autopilot HW module, e.g. PX4FMU_V4
USB Hub with power control, e.g. D-Link-DUB-H7-High-Speed-7-Port or others see on hub-ctrl.c
Micro-USB cable
USB-FTDI cable (and if required, an adapter to plug into your autopilot module)
PC with Docker support (configure Docker to use without sudo: sudo usermod -aG docker $USER)

Setup Jenkins Slave Nodes
Add a new Jenkins node on your Jenkins master:

Name: fill in HIL_<HW>_<JENKINS_SLAVE_ID> whereas <HW>is the HW architecture, and <JENKINS_SLAVE_ID> is a unique number. e.g. HIL_PX4FMU_V4_1, see below
# of executors: fill in 1
Remote root directory: fill in /home/hil/
Usage: select Only build jobs with label expressions matching this node
Launch method: select Launch agent via Java web start
Disable WorkDir: unchecked
Custom WorkDir path: empty
Internal data directory: fill in remoting
Fail if workspace is missing: unchecked
Availability: select Keep this agent online as much as possible
Environment Variables: unchecked
Tool locations: unchecked

Setup Slaves

Connect the autopilot module using a micro-usb cable AND a ftdi cable to your USB hub.
Create a json file named device_config.json in ./Tools/HIL/ with the following content:

[
    {
        "UID": "360023:32365108:36363331",
        "HW": "PX4FMU_V4",
        "JENKINS_SLAVE_ID": 1,
        "JENKINS_SLAVE_SECRET": "981734aaa51dec5902e971c7e9e4202e7dda0870ddfc3b3d8e4cc586855ad0e5",
        "JENKINS_MASTER_URL": "<IP_ADDRESS>:8888"
    }
]

whereas

UID is the UID of your autopilot module. (use the command ver uid in your mavlink shell, e.g. ./Tools/mavlink_shell.py to find out the UID)
HW is the hardware architecture of your autopilot module (use ver hw in your mavlink shell to find out)
JENKINS_SLAVE_ID, JENKINS_SLAVE_SECRET and JENKINS_MASTER_URL are the parameters of your Jenkins node.

To add multiple HIL nodes, just add a new entry to the list (don't forget the comma between the entries!), e.g.:
[
    {
        "UID": "360023:32365108:36363331",
        "HW": "PX4FMU_V4",
        "JENKINS_SLAVE_ID": 1,
        "JENKINS_SLAVE_SECRET": "981734aaa51dec5902e971c7e9e4202e7dda0870ddfc3b3d8e4cc586855ad0e5",
        "JENKINS_MASTER_URL": "<IP_ADDRESS>:8888"
    },
    {
        "UID": "3333333:88888888:23423424",
        "HW": "PX4FMU_V4",
        "JENKINS_SLAVE_ID": 2,
        "JENKINS_SLAVE_SECRET": "981734aaa51dec5902e971c7e9e4202e7dda0870ddfc3b3d8e4cc586855ad0e5",
        "JENKINS_MASTER_URL": "<IP_ADDRESS>:8888"
    },
]

Build slave docker container:

cd ./Tools/HIL
docker build -f Dockerfile_base -t slave_base .
docker build -f Dockerfile -t blueocean_slave .

Run docker slaves

cd ./Tools/HIL
sudo ./setup_slaves.py

This tries to find your configured modules connected to the usb hub, runs a docker container for each, and tries to register each container as Jenkins slave at your Jenkins master.

@dagar, fyi. I added a node called HIL_PX4FMU_V4_0 to the http://ci.px4.io:8080 Jenkins master.
The whole Docker part should be rewritten, e.g. the original Dockerfile of the base container could be used after some modifications.

Great!
We need to reconcile Dockerfiles here and in the container repo (https://github.com/PX4/containers/tree/master/docker/px4-dev). We also shouldn't keep the slave.jar in this repo. I'm thinking about creating Docker hub automated builds that consistent of the PX4 dev environment and the Jenkins pieces (JRE + slave.jar) configured to autoconnect to the master.


reduce execution time of mbedtls_ssl_handshake()

Hi,
I am using esp-open-rtos sdk integrated with AWS IoT, everything is perfect as a first step.
When looking at the timing stats, mbedtls_ssl_handshake() is taking around 15+ seconds to return, connected successfully to aws cloud. Would it be possible to reduce this time, so that I can respond quickly, as my device is battery powered sleepy node, acts on events.

have you tried using overcloking during the initialization phase ? looks like it goes down to ˜7 secs
#include <esplibs/libmain.h>                                                                                sdk_system_overclock();
[...]
sdk_system_restoreclock();

I wonder if there is a crypto core in ESP8266 like in ESP32

No luck with the overclocking, it is still taking same 15 seconds for ssl connect.

@chennakeshavaSoC I know this is a bit late, but I was digging into some similar issues.  If you're using ECDH, it looks like mbedtls prioritizes some pretty slow elliptic curves, most notably secp521r1 and the brainpool ones.  secp256r1 looks to be the default in the latest versions of OpenSSL so is probably a reasonable default.  It's worth inspecting the TLS handshake using wireshark to see what curves are being offered by the ESP, and selected by AWS IoT.
To disable some of the slower curves:
#undef MBEDTLS_ECP_DP_SECP521R1_ENABLED
#undef MBEDTLS_ECP_DP_BP512R1_ENABLED
#undef MBEDTLS_ECP_DP_BP384R1_ENABLED
#undef MBEDTLS_ECP_DP_BP256R1_ENABLED

You can also use mbedtls_ssl_conf_curves to reorder the curves.


Test for repeated logical paths

Fixes #39

Coverage increased (+0.01%) to 94.646% when pulling cdcd6d2cdc923a3db5f20eae7cd28964b574fe1e on issue-39 into 0c7d93fe38bb3b58a9c54e7610913379b0631a51 on develop.


Editor not working after clicking on text field in firefox browser

What happened?
While using the dartpad to run the flutter example, which consist of simple "TextField"  my editor stop working, I'm unable to edit anything after clicking on the text field. Whatever I type in editor field is show in the UI text field. This happen in firefox browser. In chrome it does not show this type of behaviour.
Steps to reproduce problem

Open dartpad in firefox browser
write simple flutter program with TextField in it.
Run code
Enter something in textfield and the click on editor try to edit code.

Additional info
Browser
Browser: Firefox
Version: 90.0
I use UBlock origin extension
Javascript console error
- unreachable code after return statement

- Source map error: Error: request failed with status 404
Resource URL: https://dartpad.dev/scripts/playground.dart.js
Source Map URL: playground.dart.js.ma

- Source map error: Error: request failed with status 404
Resource URL: https://storage.googleapis.com/nnbd_artifacts/2.13.4/flutter_web.js
Source Map URL: flutter_web.js.map

Machine
Operating system: Ubuntu 20.04
Version: 20.04
Your code
What code was in the editor, if any, when the failure occurred? You
can paste it in below:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
    child: TextField()
    );
  }
}

Thanks for filing an issue. I just tried the same code in DartPad, and wasn't able to replicate the issue.
You mentioned using an ad blocker in your report. They sometimes cause issues with DartPad usage of iframes -- have you tried disabling that plugin and reloading DartPad?

Thanks for reply Andrew; to be sure I again tested the dartpad on the Firefox browser, but this time on live bootable usb so that I get the clean environment without any addon or extra  software, but dartpad still show same behaviour in Firefox browser. I also tested it on Chrome and Brave browser, on it Dartpad work without any problem on both of them.
At first I thought, there might be something wrong with Ubuntu OS, but I tested it on window OS, I get same behaviour by dartpad when I tested it on Firefox browser.
I record the video in the Firefox Developer browser version 90 with no addon install in my computer  Ubuntu 20.04 OS,
https://user-images.githubusercontent.com/70746835/126805956-dd3c90e5-3b15-49b3-975e-9ee64df02b25.mp4

Got it. Thanks for the video -- I was able to replicate the behavior.
@mdebbar or @yjbanov, do y'all mind taking a quick look at this and telling me whether looks like a DartPad problem or a Flutter problem?
Steps to reproduce some odd focus-related behavior in Chrome:

In Chrome, navigate to https://dartpad.dev/?id=9cfb3b3fa0b8f6b09167d3770f565fa2&null_safety=true
Run the code.
Click in the TextField and type some characters.
Click in the code editor.
Type some characters, and see that they appear in the code editor.
Click on the TextField in the Flutter pane one or more times.
Type some characters, and see that they still appear in the code editor.
Click somewhere in the Flutter pane that's not the actual TextField.
Type some characters, and see that they now appear in the TextField.

Steps to reproduce some odd focus-related behavior in Firefox:

In Firefox, navigate to https://dartpad.dev/?id=9cfb3b3fa0b8f6b09167d3770f565fa2&null_safety=true
Run the code.
Click in the TextField and type some characters.
Click in the code editor.
Notice that a cursor appears in the code editor, but then disappears.
Type some characters, and see that they appear in the TextField.
There appears to be no way to return focus to the editor other than running the code again.

Thanks so much for the issue report and thorough reproduction information, it's extremely appreciated.
I just tried this with the latest Firefox and the newer DartPad frontend and I can't seem to reproduce this behavior. There are however some other new focus related issues that we are tracking in other issues.
If you're still seeing this or other issues in Firefox or otherwise, please open a new issue with reproduction details. Thanks again :)


Generalize Comment on Streaming Support for LLM Implementations and add examples

The example provided demonstrates the usage of the HuggingFaceTextGenInference implementation with streaming enabled.

thanks @adarshxs!

Thank you!!


Create max10.js

Can I do this? Could you provide me with more information about this request?

Can I do this? Could you provide me with more information about this request?

pick issues from issues tab or add your own program, make sure the program doesn't exist or make existing program more readable


Python packages set: patch updates

Motivation for this change
$ maintainers/scripts/update-python-libraries --use-pkgs-prefix --commit --target=patch pkgs/development/python-modules/**/*.nix

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Did you use a script to do this? Can I find it somewhere?

@SuperSandro2000
$ maintainers/scripts/update-python-libraries --use-pkgs-prefix --commit --target=patch pkgs/development/python-modules/**/*.nix

The zipgy updates collide with #101557 and I'd like the maintainer to work on test integration in that pull request. They also require an update to home-assistants component-packages.nix, so I'd appreciate if you could drop them here.

builder for '/nix/store/zg8jl91486n45sz196s2z3zmxs74g36m-python3.8-amply-0.1.4.drv' failed with exit code 1; last 10 log lines:
  patching script interpreter paths in /nix/store/c81cvqg9yjzhvf3ff5b25kgxwzc0g8l2-python3.8-amply-0.1.4
  checking for references to /build/ in /nix/store/c81cvqg9yjzhvf3ff5b25kgxwzc0g8l2-python3.8-amply-0.1.4...
  Executing pythonRemoveTestsDir
  Finished executing pythonRemoveTestsDir
  running install tests
  Traceback (most recent call last):
    File "tests/test_amply.py", line 4, in <module>
      import pytest
  ModuleNotFoundError: No module named 'pytest'
  builder for '/nix/store/zg8jl91486n45sz196s2z3zmxs74g36m-python3.8-amply-0.1.4.drv' failed with exit code 1

https://github.com/willu47/amply/blame/v0.1.4/tests/test_amply.py#L4

fridh, your pip reproducible patch isn't included in here. many packages are failing

@fridh I rebased this on top of the latest to bringing your fixes for builds affected by the pip reproducibility patch.
Unfortunately, I'm still affected by https://github.com/xianyi/OpenBLAS/issues/2970 and unable to build numpy. So, I'll need to wait for hydra to build it for me to progress much further

this is probably more stable than master at this point

The pytest-testmon 1.0.2 -> 1.0.3 included in this change appears to fail consistently.
I'm no python programmer, but indeed looking at the PyPI package, test/test_core.py:131 expects filenames_fingerprints to contain 5 elements, but the query at testmon/testmon_core.py:267 only selects 4.
I don't see any tests in the source repo at https://github.com/tarpas/pytest-testmon, though, so it's unclear to me where these tests actually come from...

The pytest-testmon 1.0.2 -> 1.0.3 included in this change appears to fail consistently.

It seems the tests are expecting master instead of 1.0.3 (https://github.com/tarpas/pytest-testmon/issues/158), let's skip them for now (https://github.com/NixOS/nixpkgs/pull/103786)


Install tensorflow with virtualenv failed

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): N/A
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
TensorFlow installed from (source or binary): binary with virtualenv
TensorFlow version (use command below): 1.2
Bazel version (if compiling from source): N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A
Exact command to reproduce:
$ virtualenv --system-site-packages -p python3 tensorflow

Describe the problem
On my Ubuntu 16.04, I'm trying to install tensorflow with virtualenv for python3 under the guide of https://www.tensorflow.org/versions/master/install/install_linux.
But I got the error message at the step2:
$ virtualenv --system-site-packages -p python3 tensorflow
Running virtualenv with interpreter /usr/local/anaconda3/bin/python3
Using base prefix '/usr/local/anaconda3'
New python executable in /home/lab/tensorflow/bin/python3
Also creating executable in /home/lab/tensorflow/bin/python
/home/lab/tensorflow/bin/python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
ERROR: The executable /home/lab/tensorflow/bin/python3 is not functioning
ERROR: It thinks sys.prefix is '/home/lab' (should be '/home/lab/tensorflow')
ERROR: virtualenv is not compatible with this system or executable

Notice that I've install anaconda3.
Is anaconda3 incompatible with tensorflow or virtualenv?
Should I uninstall my anaconda3 before installing tensorflow?
Thanks to everybody first!

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!
In particular, this looks like a virtualenv / anaconda installation issue; you haven't reached any tensorflow-specific installation yet.

I've asked the question on stackoverflow, but no one has responded.
Maybe installing tensowflow within anaconda3 is better choice?


--camel-case option no longer works

I upgraded from 0.6.0 to 0.7.4 and it now appears that the --camel-case option no longer works.
kysely-codegen --camel-case --dialect mysql --out-file ./core/db/db.types.ts

Rolling back to 0.6.2 appears to fix this. It looks to be a regression in 0.7.x.

Should be fixed in<EMAIL_ADDRESS>now!


No Unsubscribing from Signals

There is no mechanism to unsubscribe from signals.
Thus over the lifetime of the application callbacks to subscription blocks referencing deallocated objects will be sent. The amount of unnecessary callbacks will steadily increase while the application is used.
This will finally lead to performance issues, especially in the case when Signals are used to update UI elements in view controllers.

This is actually on purpose. Signals should be as immutable as possible. To get rid of a Signal just remove the reference to it, then it will deallocate and take all closures with it.

During the last days I was thinking about implementing something similar to reactive cocoa that gives back a subscription-object that can be used to explicitly unsubscribe from a signal. But that would also mean that subscribe is not chainable anymore. Would you think that tradeoff is ok?

Why not use an inout parameter to return the subscription object? That would preserve chaining. Also, could maintain previous subscribe method that doesn't return a subscription object to maintain source compatibility.

A use case: If I create a signal from NSNotification, I'd really want to unsubscribe it since I need to remove it from NSNotificationCenter later.

This will be addressed in Interstellar 2, but currently you can achieve it with a workaround:
Create a custom object that subscribes itself to NSNotificationCenter. The only purpose of this object is to update a Signal<NSNotification> and keep a strong reference to it. Once you don't want to receive updates anymore, you can just let go of the signal (e.g setting it to nil on the object), so it will deallocate and release all subscriptions.

@JensRavens thanks!

I think it's pretty acceptable to make next and subscribe final methods that return a token to unsubscribe rather than keep chaining.
Chaining with both of these methods is a bit weird I think because to a viewer it would look as if the value stream was being modified but in reality it was just being 'tapped'.
Both RxSwift and ReactiveCocoa solve this via a separate API on vs subscribe*

@JensRavens I'm moving our project over to v2 as an experiment, and I just wanted to thank you for updating the readme along with the code :bow: It's making things a lot easier.

It seems that mapping a Observable (or signal) will also add a subscription to the dictionary of the initial Observable.  Since this does not return a ObservableToken there is no way to remove the subscription after it has been added from the map

@NeonOrion Yep, this is intentional. map is just convenience over subscribe. If you want all the options, use subscribe instead.

V2 has been released now, including the unsubscription api.