Use greater than or equal to in resample check

[x] Closes #723 .
[x] I am familiar with the contributing guidelines.
[x] Tests added.
[ ] Updates entries to docs/source/api.rst for API changes.
[x] Adds descriptions to appropriate "what's new" file in docs/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Maintainer: Appropriate GitHub Labels and Milestone are assigned to the Pull Request and linked Issue.

I added a few more tests to explicitly check the changes made here and reverted the changed test that you commented on. It's hanging up on the dev api tests still but new tests are passing.


Space as thousands separator in numbers

I've done some testing and thought I would leave this issue here.
First, this is from the International System of Units spec concerning separating digits
with spaces (emphasis mine):
"The practice of grouping digits in this way is a matter of choice; it
is not always followed in certain specialized applications such as
engineering drawings, financial statements and scripts to be
read by a computer."
The International System of Units (PDF) (9th ed.). International
Bureau of Weights and Measures. 2019. p. 150. ISBN 978-92-822-2272-0.
I take this to mean that the spacing has no meaning and is only to make
it easier to read at a glance.  Spoken numbers have natural separators like
"thousand" and "million".
However, adding spaces to the number using Unicode character x2009 (slimspace)
causes speech-rule-engine to add spaces to the number causing a
number like 12345 (which looks like 12 345) to be read
as "twelve three hundred and forty-five" instead of "twelve thousand
three hundred and forty-five".  Adding literal commas in
place of the spaces will generate the correct reading, but using
commas is not correct according to the SI rules.
This happens when:

MathJax parses LaTeX:  12\,345
MathML is generated manually (\u2009 is unicode slimspace):

    <mn>12\u2009345</mn>

Alternative MathML:

    <mrow>
        <mn>12</mn>
        <mo separator='true'>\u2009</mo>
        <mn>345</mn>
    </mrow>

Alternative MathML v2:

    <mrow>
        <mn>12</mn>
        <mspace width="thinspace" />
        <mn>345</mn>
    </mrow>

Pure MathML using <mn>12\u2009345</mn> is the best because this
does not generate any <mo> multiplication in MathSpeak.  However,
it is still not read properly in ClearSpeak.
I'm not sure what else I can try, but it seems that ideally we would have
spaces between numbers in plain <mn> tags be treated the same way
commas are treated.

Relevant: https://github.com/mathjax/MathJax/issues/2772


Create datadog-synthetics.yml

Summary

Screenshots (optional)

Documentation checklist

[ ] The documentation style guide has been adhered to.
[ ] If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.
[ ] Files which have changed name or location have been allocated redirects.

Y

Yes


numpy windowing functions

Given various FFT use cases for Numba, these would also be helpful:
http://docs.scipy.org/doc/numpy/reference/routines.window.html

Order statistics

[ ] amin
[ ] amax
[ ] nanmin
[ ] nanmax
[ ] ptp
[ ] percentile
[ ] nanpercentile

Averages and variances

[ ] median
[ ] average
[ ] mean
[ ] std
[ ] var
[ ] nanmedian
[ ] nanmean
[ ] nanstd
[ ] nanvar

Correlating

[ ] corrcoef
[ ] correlate
[ ] cov

Histograms

[ ] histogram
[ ] histogram2d
[ ] histogramdd
[ ] bincount
[ ] digitize

Implemented in https://github.com/numba/numba/pull/4076, closing.


Can someone explain to me why _smooth_l1_loss can be called once and does calculation twice?

In lib/model/utils/net_utils.py, there is a function defined as:
def _smooth_l1_loss(bbox_pred, bbox_targets, bbox_inside_weights, bbox_outside_weights, sigma=1.0, dim=[1]):
If you print this 'dim', you will find out that it is not defined once but twice:

('dim: ', [1, 2, 3])
('dim: ', [1])

However, I cannot see where the upper "('dim: ', [1, 2, 3])" comes from. It is not defined anywhere in my code. In fact, the whole function was only called once but executed twice.
Can someone explain it to me?

It is actually also called in rpn.py


Configuration using .env files

Currenlty origin-js doesn't have the capability of configuration using environmental variables. This should be added for convenience
Pull Request: https://github.com/OriginProtocol/origin-js/pull/431

This was a bad idea. Origin-js does not need configurable values.


Remove unused element & variable

Just a tiny remove from the JS file:
this.elCount = document.getElementById('elCount');

@alaztetik Thank you 🙏🏽 for that.


Doesn't work with node event

I have the following code:
import { EventEmitter } from "events";
import { main, on, each } from "effection";

const localEvent = new EventEmitter();
await main(function* () {
  for (let value of yield* each(on(localEvent, "go"))) {
    console.log("get event: ", value);
    yield* each.next();
  }
});

localEvent.emit("go", "hello");

It throws TypeError: target.addEventListener is not a function, So I'm assuming we don't need this structure in the nodejs event?

The first reason why it does not work is that Effection only comes bundled with standard APIs, and Node's EventEmitter class is not a standard API.  To use vanilla Effection, you would have to use the EventTarget which is available in Node as well as in browsers.
Here is your example updated work with EventTarget
import { main, on, each, spawn, sleep } from "effection";

const localEvent = new EventTarget();
await main(function* () {

  yield* spawn(function*() {
    while (true) {
      yield* sleep(1000);
      localEvent.dispatchEvent(new CustomEvent("go", { detail: "hello" }));
    }
  })

  for (let value of yield* each(on(localEvent, "go"))) {
    console.log("get event: ", value);
    yield* each.next();
  }
});

Notice that I had to move the dispatch of the event into a background task. This is because you don't actually ever move past the await main() which encompasses the entire run of your program. I moved it into the background and made it periodic to demonstrate it dispatching over the course of time.
All that said, you can use the EventEmitter class, but you will need to make the stream for it by hand. To do this, I would recommend a simple resource that provides a queue with all the elements.
import { createQueue } from "effection";
/**
* Create a `Stream` out of any Node event emitter
*/
export function onEmit(emitter: EventEmitter, eventName: string): Stream<string, never> {
  return resource(function*(provide) {
    let queue = createQueue<string, never>();

    try {
      emitter.on(eventName, queue.add);
      yield* provide(queue);
    } finally {
      emitter.off(eventName, queue.add);
    }
  });
}

Then, you can use to loop as before:
import { EventEmitter } from "events";
import { main, each, Stream, resource, createQueue, spawn, sleep } from "effection";
import { onEmit } from "./on-emit.ts";

const localEvent = new EventEmitter();

await main(function* () {

  yield* spawn(function*() {
    while (true) {
      yield* sleep(1000);
      localEvent.emit("go", "hello");
    }
  })

  for (let value of yield* each(onEmit(localEvent, "go"))) {
    console.log("get event: ", value);
    yield* each.next();
  }
});

Hope that helps!

@cowboyd  Thanks for the detail explainatio!  I learned a lot from this reply!

BTW, I wrote another version which moves out the dispatcher and logic so I can organize my program better, pls let me know if this is appropriate:
import { main, sleep, spawn, on, each } from "effection";

const localEvent = new EventTarget();
await main(function* () {
  let dispatcher = yield* spawn(emitter);
  let receiver = yield* spawn(eventReceiver);

  yield* dispatcher;
  yield* receiver;
});

function* emitter() {
  while (true) {
    yield* sleep(1000);
    localEvent.dispatchEvent(new CustomEvent("go"), "hello");
  }
}

function* eventReceiver() {
  for (let value of yield* each(on(localEvent, "go"))) {
    console.log("get event: ", value);
    yield* each.next();
  }
}

Yes, that is good. Although it could be simplified further. Because both dispatcher and receiver will loop forever, you could also just suspend the main task. That way, you don't need to capture them as references.
await main(function* () {
  yield* spawn(emitter);
  yield* spawn(eventReceiver);

  yield* suspend();
});

But that is mainly stylistic. It's up to you!


PV expansion error

environment：

k8s: v1.26.5
kubesphere: 3.4.1
containerd: v1.7.3
juicefs-csi-driver: 0.19.5

Error content：

resize volume "pvc-31d10e4a-d113-41b0-b5a7-c83c7d64cdf8" by resizer "csi.juicefs.com" failed: rpc error: code = Internal desc = set quota: 2024/01/25 03:48:35.826980 juicefs[31] : Meta address: redis://:****@redis.juicefs.svc.cluster.local:6379/1 [interface.go:497] 2024/01/25 03:48:35.834332 juicefs[31] : Ping redis latency: 297.856µs [redis.go:3593] 2024/01/25 03:48:35.835197 juicefs[31] : no such file or directory [main.go:31] : exit status 1

You need to upgrade driver to version 0.21.0 or above to expansion.


wow sod warlock

i know that the addon was created primarly for wotlk/cataclysm but in wow sod the addon doesnt show any other options of highlighting except the proc of nightfall+ shadowbolt. can we have more options here? or is it bugging?

Hi and thank you for your feedback. As opposed to Wrath and Cataclysm, there aren't many things to track for Warlocks in Season of Discovery. Fortunately, phase 4 was generous for Warlocks, and the addon will support more effects in the near future, as detailed in #331.

Closing this issue, as this hasn't been updated in more than 2 months, and #331 has been implemented and released officially a few weeks ago.


Feat streaming audio bitrates

What kind of change does this PR introduce?
Support for the STAB message -
STreaming
Audio
Bitrates
What is the current behaviour?
STAB is not currently supported.
What is the new behaviour?
STAB message receipt is supported
Data received is added to the atem.streaming object. Here's the results of a console.log(atem.state); command in Node when using this branch.
...
  streaming: {
    service: {
      serviceName: 'my service name',
      url: 'rtmp://a.rtmp.youtube.com/live2',
      key: '****-****-****-****-****',
      bitrates: [Array]
    },
    audioBitrates: { lowBitrate: 128000, highBitrate: 128000 },
    status: { state: 1, error: 0 },
    duration: { hours: 0, minutes: 0, seconds: 0, frames: 0, isDropFrame: false },
    stats: { encodingBitrate: 0, cacheUsed: 0 }
  },
...

STAB message transmission is supported
A new command has been added to set streaming audio bitrates. BMD documentation states that a STAB message defines two bitrate values, one for framerates up to 30fps, and another for framerates greater than 30fps. It refers to these as lowBitrate and highBitrate values. Strictly speaking, IMO, these should really be referred to as lowFramerates and highFramerates or even more explicitly, upto30fps and morethan30fps, but I'll overlook that mistake from BMD!
This example sets both values to 128k:
atem.setStreamingAudioBitrates(128000, 128000);

Safe defaults
When calling atem.setStreamingAudioBitrates() (i.e. without params), safe defaults are applied:
    audiobitrates: { lowBitrate: 128000, highBitrate: 192000 },

Codecov Report
Base: 85.97% // Head: 85.98% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (bd070cf) compared to base (cc1ee5e).
Patch coverage: 86.66% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #130   +/-   ##
=======================================
  Coverage   85.97%   85.98%
=======================================
  Files         165      166    +1
  Lines        5292     5322   +30
  Branches      885      890    +5
=======================================
+ Hits         4550     4576   +26
- Misses        722      726    +4
  Partials       20       20

Impacted Files
Coverage Δ

src/atem.ts
21.02% <0.00%> (-0.12%)
:arrow_down:

...ommands/Streaming/StreamingAudioBitratesCommand.ts
96.15% <96.15%> (ø)

src/commands/Streaming/index.ts
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

Thanks, this is published in v3.1.0


Fix issues with regex when using strings with accented characters

The offsets returned by the underlying regex implementation (joni) are byte offsets into UTF-8 strings. Those cannot be converted directly to character offsets, since UTF-8 use a variable number of bytes for each character.
To address this, I changed the DynRegExp.match method to return a different structure (DynRegExpMatch) whose offsets have been converted to the proper values.

applied with some minor cosmetic fixups, thanks!


Update normalizr

See my issue: https://github.com/paularmstrong/normalizr/issues/196
Previously:
normalizr: 113.4 KB (3.95%)
  lodash: 57.38 KB (50.6%)
  lodash/_equalByTag.js|/Users/mmahalwy/Desktop/code/quran/quran.com-frontend: 3.66 KB (3.23%)
    redux-actions: 3.66 KB (100%)
      lodash: 3.66 KB (100%)
      <self>: 0 B (0.00%)
    <self>: 0 B (0.00%)
  lodash/_baseIsEqualDeep.js|/Users/mmahalwy/Desktop/code/quran/quran.com-frontend: 2.99 KB (2.64%)
    redux-actions: 2.99 KB (100%)
      lodash: 2.99 KB (100%)
      <self>: 0 B (0.00%)
    <self>: 0 B (0.00%)
  lodash/_equalObjects.js|/Users/mmahalwy/Desktop/code/quran/quran.com-frontend: 2.81 KB (2.48%)
    redux-actions: 2.81 KB (100%)
      lodash: 2.81 KB (100%)
      <self>: 0 B (0.00%)
    <self>: 0 B (0.00%)
  lodash/_equalArrays.js|/Users/mmahalwy/Desktop/code/quran/quran.com-frontend: 2.53 KB (2.23%)
    redux-actions: 2.53 KB (100%)
      lodash: 2.53 KB (100%)
      <self>: 0 B (0.00%)
    <self>: 0 B (0.00%)
  lodash/_baseIsTypedArray.js|/Users/mmahalwy/Desktop/code/quran/quran.com-frontend: 2.17 KB (1.91%)
    redux-actions: 2.17 KB (100%)
      lodash: 2.17 KB (100%)
      <self>: 0 B (0.00%)
    <self>: 0 B (0.00%)
  lodash/_getTag.js|/Users/mmahalwy/Desktop/code/quran/quran.com-frontend: 1.79 KB (1.58%)
    redux-actions: 1.79 KB (100%)
      lodash: 1.79 KB (100%)
      <self>: 0 B (0.00%)
    <self>: 0 B (0.00%)
...

Now
normalizr: 13.63 KB (0.491%)

Deployed to: http://staging.quran.com:33103


Mutation makes Query to re-run

when I have Mutation and Query inside the same StatelessWidget, mutation call makes query to run again. Is this an intended behaviour? It is very problematic when you want to create infinite scroll and maybe perform actions on each item (press like or dislike). Making mutation causes query to re-run, making the list to start from the beginning again.

If you're using a normalized or optimistic cache, the query is probably being "rebroadcast" so that mutations are applied to the results. (If it's getting re-run on the network that's a big issue)

query is run again and the list is reset to index 0 because original query does not provide the cursor, only fetchMore does

Is the problem that the list re-renders as a new instance with and calls
itemBuilder(context, index: 0), or is it an issue specifically with the variables?
I thought about adding a mechanism for merging variables in fetchMore, but didn't because Apollo doesn't. Will require some more consideration / investigation as to why they don't - part of my thinking was that it's mostly relevant in the fetchMore use-case, where you have the data to derive new variables from anyhow.

Does this behave the same when using InMemoryCache?

@micimize yes you are right. It was the re-broadcast. I checked the server request and there is no re-request after mutation. So, I am guessing that it is an issue with cache not being updated properly OR query not receiving correctly updated cache. I have a simple application that demonstrates this. I am running a mutation that just simply returns cache for updates which then should broadcast original length of items in cache but it is getting reset to first ever request made. I think this is some serious issue for those who are currently not using BloC architecture as you cannot use mutation and query inside same widget. If you can point me to right direction I could try to submit a pull request as I need this feature ASAP.

Mobile
import 'package:flutter/material.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:cast_mobile/services/CacheKeyBuilder.dart';

const PAGINATE_TEST_OBJECT = """
  query paginateTestObject(\$next: String){
    paginateTestObject(next:\$next){
      __typename
      id
      nextKey
      nestedObj(next:\$next){
        __typename
        id
      }
    }
  }
""";

const PAGINATE_TEST_OBJECT2 = """
  query paginateTestObject2(\$next: String){
    paginateTestObject2(next:\$next){
      __typename
      id
    }
  }
""";

const MUTATION = """
  mutation testMutation(\$id:String!){
    testMutation(id:\$id){
      __typename
      id
    }
  }
""";

class TestScreen1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Query(
        options: QueryOptions(
          document: PAGINATE_TEST_OBJECT2,
        ),
        builder: (
          QueryResult queryResult, {
          VoidCallback refetch,
          FetchMore fetchMore,
        }) {
          print('------ QUERY HAS STARTED ------');

          if (queryResult.errors != null) {
            return Text('err');
          }

          if (queryResult == null || queryResult.data == null) {
            return Text('loading...');
          }

          final List data = queryResult.data['paginateTestObject2'];

          print('CURRENT DATA LENGTH IS ${data.length}');

          return ListView.builder(
            itemCount: data.length + 1,
            itemBuilder: (context, index) {
              if (index < data.length) {
                return Text(
                  data[index]['id'].toString(),
                );
              }

              return Column(
                children: <Widget>[
                  Mutation(
                    options: MutationOptions(
                      document: MUTATION,
                    ),
                    update: (Cache cache, QueryResult result){
                      print('------ UPDATE QUERY HAS STARTED ------');

                      print('------ UPDATE QUERY HAS ENDED ------');

                      return cache;
                    },
                    builder: (
                      RunMutation runMutation,
                      QueryResult result,
                    ) {
                      return RaisedButton(
                        child: Text('mutation'),
                        onPressed: () {
                          runMutation({
                            'id':'3'
                          });
                        },
                      );
                    },
                  ),
                  RaisedButton(
                    child: Text('LOAD MORE'),
                    onPressed: () {
                      FetchMoreOptions opts = FetchMoreOptions(
                        variables: {'next': data[data.length - 1]['id']},
                        updateQuery: (previousResultData, fetchMoreResultData) {

                          var oldData = previousResultData['paginateTestObject2'];
                          var newData =
                              fetchMoreResultData['paginateTestObject2'];

                          final List<dynamic> combined = [
                            ...oldData as List<dynamic>,
                            ...newData as List<dynamic>
                          ];

                          fetchMoreResultData['paginateTestObject2']= combined;

                          return fetchMoreResultData;
                        },
                      );

                      fetchMore(opts);
                    },
                  ),
                ],
              );
            },
          );
        },
      ),
    );
  }
}

SERVER
const TestObject = {
    nestedObj: (root: any, params: any, ctx: any) => {
        const arr = new Array(100).fill(0).map((item, index) => {
            return {id:index}
        });

        const {next} = params;

        const body = arr.splice(next ? parseInt(next) + 1 : 0, 20);

        return body;
    }
};

const Query = {
    paginateTestObject: (root:any, params:any, ctx:any) => {
        console.log(params.next);

        return {
            id:1,
            clientKey:params.next ? params.next : 0
        }
    },
    paginateTestObject2: (root:any, params: any, ctx:any) =>{
        console.log('paginate call');

        const arr = new Array(100).fill(0).map((item, index) => {
            return {id:index}
        });

        const {next} = params;

        const body = arr.splice(next ? parseInt(next) + 1 : 0, 20);

        return body;
    }
};

const Mutation = {
    testMutation: (root: any, params: any, ctx: any) => {
        return {
            id:params.id
        }
    }
};

export const resolver = {
    TestObject,
    Query,
    Mutation
};

type TestObject{
    id:ID!
    nestedObj(next:String): [NestedObj!]!
    clientKey: String!
}

type NestedObj{
    id:ID!
}

type Query{
    paginateTestObject(next:String):TestObject

    paginateTestObject2(next:String): [TestObject]
}

type Mutation{
    testMutation(id:String!) :NestedObj!
}

@mainawycliffe and yes. Even if I change cache to InMemoryCache, behaviour is the same as above.

I will debug and see if we can provide a quick solution for this.

@mainawycliffe how's the debugging going? would this be an issue even if I switch to BloC structure? Since BloC structure does not wrap the app with Notification widget, I am guessing mutation will not automatically trigger query?

I haven't had the time to troubleshoot yet, been caught up by work, hopefully today or tomorrow I will be able to. If you swap to bloc or any other state Management solutions for that matter, you won't face the problems with the two issues you are facing.
Regards
Maina Wycliffe

From: Ji Ho Choi<EMAIL_ADDRESS>Sent: Monday, August 26, 2019 4:06:19 AM
To: zino-app/graphql-flutter<EMAIL_ADDRESS>Cc: Maina Wycliffe<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [zino-app/graphql-flutter] Mutation makes Query to re-run (#389)
@mainawycliffehttps://github.com/mainawycliffe how's the debugging going? would this be an issue even if I switch to BloC structure? Since BloC structure does not wrap the app with Notification widget, I am guessing mutation will not automatically trigger query?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/zino-app/graphql-flutter/issues/389?email_source=notifications&email_token=AC5TXVTD4HYXMA2FBYWGLRLQGMUAXA5CNFSM4IODYUY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5DAANI#issuecomment-524681269, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AC5TXVVIQEOBTASLEQSNEUTQGMUAXANCNFSM4IODYUYQ.

@micimize yes. Thank you very much. I am currently updating my application so that it is using BloC and now it's behaving as expected. I hope this gets fixed ASAP as using this package as BloC implementation imposes so much more inefficiencies and much more code.

closed by #394

:tada: This issue has been resolved in version 2.1.1-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 3.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 3.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Start handling requests when one model server is ready

Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Fixes # (issue).
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

I tested this as well. Works fine 🔥


About config.yml

I modify some info in config.yml and upload it to github, but the deploy web doesn't update these info. What should I do?

@MontaEllis How do you solve this problem?

solve

same question, How do you solve this problem?


Cant make column width smaller than content length with white-space:nowrap;

Seems like minimal column width is based on column content, but sometimes it is much reliable not to wrap contenton border but to hide the rest of it. This also let the table to have equal row heights and looks good.
Now if we use white-space:nowrap; over the datatable we can only make widths bigger, but not smaller.
I would be very cool feature i guess, to have fixed minimal width as an option.

@funkindy I'm open to seeing that working. Feel free to hack it into this library. I'll consider your pull request.


Client attempts to serialize an empty MultiPutRequest.

In stress testing, for an unknown reason, sometimes MultiPutRequest sometimes gets an empty list of requests. In that case, there is an IndexOutofBoundsException. This patch fixes the exception.

I finally got to run my tests again. I do not see this problem anymore.
Yes, I am calling flush explicitly.
Thanks.

Did you test the latest version of asynchbase or the same version you were using back when you created this issue?

latest version from github 1.2.0-snapshot from a month or so back.


HD scheme explained

Hi,
Is there a doc for your HD scheme?. I see some changes with respect to BIP32: use if I,Z, use different hmac for the chaincode. Also - what is the purpose of add_28_mul8?
Thanks!

found it - https://cardanolaunch.com/assets/Ed25519_BIP.pdf


E

https://github.com/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

E

wat.

added in https://github.com/mislavcimpersak/awesome-dev-fun/commit/5a52048e8591464609d4ce72e4f5ad1c926bfd55
i guess.
still... wat?

well... uhm... Did I just contribute to the death of my favorite repository?
https://linuxwit.ch/blog/2018/12/everything-that-lives-is-designed-to-end/


tinygo Iota return statement documentation/simplification

Is your feature request related to a problem? Please describe.
I can't figure out how to return a string in a tinygo iota.
I don't know how to interpret this:
https://github.com/nanobus/examples/blob/99ed4867d5285839ad142656797c167611c6d9ac/nanochat/pkg/nanochat/users.go#L312-L375
Propose a solution
It sure would be nice if it was simpler, like:
let myStr = "Hello World"
return myStr.Mono()

Describe alternatives you've considered
None
Additional context
None

@fawadasaurus NanoChat is a bit complicated in TinyGo because there is no Wasm-friendly "await" like Rust has. The flow package is a utility that helps chain together asynchronous steps. It's not ideal, but it does work around the issue of "callback hell."
As an aside, I have an idea how the need for this could be removed, but it has an impact on the WasmRS spec and is Go-specific, so I'm still thinking about it.
Per your example, to return a string with WasmRS...
return mono.Just("Hello World")


Endless time series loading

I encountered an issue loading time series, I imported the time series as explained here. The dropdown menu works for me and I could see the time series list. However, any time series I chose takes forever to load and loading never ends, I waited over 3 hours for varying time series.
Am I missing something?

I think the explanation is that there is some error while loading, most likely related to the browser.
Can you open the browser console to show if there is any error?
The time series should load in seconds.

Hello and thank you for your response!
Indeed! The following error is thrown:
angular.js:12808 TypeError: Cannot read property 'y' of undefined
    at Object.dataHeight (dataUtilsAPI.js:119)
    at Object.smoothData (dataUtilsAPI.js:34)
    at Object.updateDataForDisplaySize (datasetAPI.js:228)
    at datasetAPI.js:90
    at async.min.js:1
    at o (async.min.js:1)
    at async.min.js:1
    at datasetAPI.js:85
    at angular-resource.js:653
    at angular.js:15122

It was an username conflict. The name of the author "mido" is present in other files besides the config.json file. I searched all the appearances of the label "mido" and replaced it by my username, the problem was solved.


Docs: add descriptions of match-related classes

:tada: This PR is included in version 0.23.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


autocompletes

Hi
Looking into jsonforms-with-figtree-demo and this repo, I was wondering if fig-tree-evaluator can be used to build an autocomplete renderer in JSON Forms? In other words, do you think it is possible to dynamically (re-)run $GET as a user types?

Yes, this would work fine.
You can see a quick-and-dirty version of this in action in the demo by changing the "Country" input from a drop-down selector to a free text:
In the schema.json, change this:
    "country": {
      "type": "string",
      "title": "Select your country",
      "enum": {
        "$GET": { "url": "https://countriesnow.space/api/v0.1/countries/flag/unicode", "returnProperty": "data.name" }
      }
    },

to this:
    "country": {
      "type": "string",
      "title": "Select your country"
    },

Then you'll see that the "City" dropdown makes additional GET requests to get the city list as you type in your country.
This is very crude -- you'd need to do some better error handling to make it nice (it gives a bad UI if the country input is invalid, which it is until you finish typing a real country), but it gives an example of what you're asking I think. Obviously it's not a good real-life example (the drop-down country selector makes much more sense), but I hope it answers your question?

Thanks for your quick reply.
This is not exactly what I mean. What you propose is filling an enum list of a field based on the input of another field.
Imagine that I only have a cities API endpoint with over 100k cities worldwide, and no country field. If I start typing character for character in this field, it queries the endpoint multiple times. E.g.

'b' -> https://api.thecompaniesapi.com/v2/locations/cities?search=b
'be' -> https://api.thecompaniesapi.com/v2/locations/cities?search=be
'ber' -> https://api.thecompaniesapi.com/v2/locations/cities?search=ber
... (until I can select Berlin from the dynamically updates dropdown list)

Right, yes, I see. It can be done, but it requires a custom renderer for JSON Forms to make an AutoComplete component. I whipped one up using MUI and got it working in the way you describe. You can see it in action on the demo page now (right at the bottom): https://carlosnz.github.io/jsonforms-with-figtree-demo/
I had to do one slightly awkward thing in that the component writes a temporary value to the JSON Forms data from the user input, which is then passed in to the options query. With the way I've set up Fig Tree to work with JSON Forms, the FigTree evaluator doesn't have access to any state within components, only the JSON data itself, so have to write the search text value to another schema field on input. You can see this value labelled as globalCitySearchText in my example, but this value is removed once the city is selected.
Here's how it looks, as you type input:

And in the JSON data, before selection:

Then, once selected:

And the JSON data after selection:

It has basic debouncing to prevent hammering the server. It's a little rough around the edges, but seems to be doing the job for a quick demo.
Thanks for your question -- it's good to see that this can work.


Add license flag to the gemspec

I picked the MIT license, as the LICENSE file looks like MIT.
I would like to add this because it will make automated license checking using dblock/gem-license easier.

Thanks!


vscode Extension Read me does not list DB2

DB2 is missing from list of supported drivers in vscode extension
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools'
In list of supported drivers Db2 is missing

Expected behavior
DB2 should be listed as it is listed in repo readme. I believe the documentation should be updated.

Hi @ahmednrana. I'll close this issue. The integration now will be done via extension api integration, so no names will appear in the names soon.
But thanks for the heads up!


chore(deps): update common-dev-assets digest to dd1294a

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
7fb4381 -> dd1294a

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Please stop "depreciating" useful features.

Gradle 7.2 is giving me the following warnings:
Subproject ':utillib' has location 'C:\android\atVoiceLibs\utillib' which is outside of the project root. This behaviour has been deprecated and is scheduled to be removed in Gradle 8.0. Consult the upgrading guide for further information: https://docs.gradle.org/7.2/userguide/upgrading_version_7.html#deprecated_flat_project_structure
This is completely useless and unintuitive. Why a library project, which I use in several apps, must be suddenly located in the "project root", which is specific to only one app? Am I supposed to create separate copies of my library module for each app?
Greg

@gregko , have you considered composite builds?

No, because I have no idea what they are. When I develop or debug the app, it's convenient to have the library modules in the same workspace of IntelliJ Idea or Android Studio, so that I could at the same time debug and modify or enhance the library modules as needed (and my other project that use the same modules would benefit from these changes. I know I could develop the libraries in separate workspaces and include them as .jar or .aar files into the apps, but why go around, when the current solution works so well, and the only problem is that it's inconvenient to the gradle tool developers and forces them to go an extra mile to monitor the directories properly?
Greg

No, because I have no idea what they are

Check https://docs.gradle.org/current/userguide/composite_builds.html#defining_composite_builds

it's convenient to have the library modules in the same workspace of IntelliJ Idea or Android Studio, so that I could at the same time debug and modify or enhance the library modules as needed

I have not used Android projects, however, composite build allows edit and debug regular Java and Kotlin projects in a single IDE, including breakpoints and stuff.

but why go around, when the current solution works so well

There's a solution -- composite build, which is more scalable (see https://docs.gradle.org/current/userguide/structuring_software_products.html)
The intention to deprecate "subprojects outside of project root" is specified in the deprecation warning, and this time, I do support the intention. It really complicates things (e.g. for plugin developers) if projects can be located outside of the root.

Even though I see how deprecations might be frustrating, it does not sound fair to use words from the issue description.

I'm sorry, but it is impossible to comprehend. I spent half of a day trying to convert to:
includeBuild '../../atVoiceLibs/utillib'
int the settings.gradle file, and in the app build.gradle any combination of:
implementation 'com.hyperionics.utillib:1.0'
implementation 'com.hyperionics:utillib:1.0'
implementation 'com.hyperionics.utillib'
implementation 'com.hyperionics:utillib'
and everything else I could think of. All I get are messages like "Failed to resolve com.hyperionics:utillib:1.0" or similar.

In my opinion, this whole matter resembles a car maker who decided that an essential feature of a car is inconvenient to build or service, and eliminated it. Passenger seats? Who needs them, if a solution exists - just hitch a trailer for the passengers? This will be easier to build, easier to service, and easier for "plugin developers" (e.g. seat cushions makers)...
Well, if it was a car, I would instantly abandon it and go to competition. But, there is no competition for gradle for Android app developers, so we are constantly abused by this tool developers for their own convenience. So sad.
Greg

If you have specific questions, it would really help if you try minimal samples. It would help as well, if you try creating a minimized copy of your project.
It does not really help if you share frustration without really trying to fix things. It does not help Gradle developers, and, what is way worse is it demotivates them.
Your "issue" does not seem to be actionable at this point: I guess the deprecation can't be reverted as it would complicate a lot many things. At the same time, your use case seems to be solvable with composite builds, yet you provide no clue why it does not work for you (no demo project on GitHub, etc).
Of course, composing builds is not the easiest thing, however, it is not really complicated.
Please check samples. They work.
https://docs.gradle.org/current/samples/index.html#build_organization

@gregko This deprecation was reverted in 7.4. We didn't intend for this to cause so much frustration.
Please keep the community's code of conduct in mind. We're people too.

Great, thank you so much! I'm sorry for reflecting my frustration in these posts


Added new stack-hci-vm cli version 0.1.11

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

General Guidelines

[ ] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
azdev style stack-hci-vm doesn't work
[ ] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[ ] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.

@damanMSFT, please fix the CI error first.
From the error "AssertionError: {'aze[745 chars]ine Tools AzureStackHCIClient Extension ', 'version': '0.1.5'} != {'aze[745 chars]ine Tools AzureStackHCIClient Extension ', 'version': '0.1.11'}", we can see that the metadata doesn't match between the wheel file in https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-0.1.11-py3-none-any.whl" and the metadata you added to index.json this PR.
I downloaded https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-0.1.11-py3-none-any.whl" and found azext_metadata.json had the following stuff which is obviously wrong - the version should not be 0.1.5, but should be 0.1.11. So please fix your package first (upload a correct package to your storage)
{
"azext.isPreview": true,
"azext.minCliCoreVersion": "2.15.0",
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"License :: OSI Approved :: MIT License"
],
"extensions": {
"python.details": {
"contacts": [
{
"email"<EMAIL_ADDRESS>"name": "Microsoft Corporation",
"role": "author"
}
],
"document_names": {
"description": "DESCRIPTION.rst"
},
"project_urls": {
"Home": "https://msazure.visualstudio.com/msk8s/_git/azstackhci-util?version=GBmain"
}
}
},
"generator": "bdist_wheel (0.30.0)",
"license": "MIT",
"metadata_version": "2.0",
"name": "stack-hci-vm",
"summary": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension ",
"version": "0.1.5"
}

@damanMSFT, please fix the CI error first. From the error "AssertionError: {'aze[745 chars]ine Tools AzureStackHCIClient Extension ', 'version': '0.1.5'} != {'aze[745 chars]ine Tools AzureStackHCIClient Extension ', 'version': '0.1.11'}", we can see that the metadata doesn't match between the wheel file in https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-0.1.11-py3-none-any.whl" and the metadata you added to index.json this PR. I downloaded https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-0.1.11-py3-none-any.whl" and found azext_metadata.json had the following stuff which is obviously wrong - the version should not be 0.1.5, but should be 0.1.11. So please fix your package first (upload a correct package to your storage)
{ "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { "email"<EMAIL_ADDRESS>"name": "Microsoft Corporation", "role": "author" } ], "document_names": { "description": "DESCRIPTION.rst" }, "project_urls": { "Home": "https://msazure.visualstudio.com/msk8s/_git/azstackhci-util?version=GBmain" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", "name": "stack-hci-vm", "summary": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension ", "version": "0.1.5" }

@jsntcy if we want to make this version no longer a preview version should we remove this tag entirely azext.isPreview or set it to false?

@damanMSFT
        Daman Tekchandani
        FTE, please fix the CI error first. From the error "AssertionError: {'aze[745 chars]ine Tools AzureStackHCIClient Extension ', 'version': '0.1.5'} != {'aze[745 chars]ine Tools AzureStackHCIClient Extension ', 'version': '0.1.11'}", we can see that the metadata doesn't match between the wheel file in https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-0.1.11-py3-none-any.whl" and the metadata you added to index.json this PR. I downloaded https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-0.1.11-py3-none-any.whl" and found azext_metadata.json had the following stuff which is obviously wrong - the version should not be `0.1.5`, but should be `0.1.11`. So please fix your package first (upload a correct package to your storage)

{ "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { "email"<EMAIL_ADDRESS>"name": "Microsoft Corporation", "role": "author" } ], "document_names": { "description": "DESCRIPTION.rst" }, "project_urls": { "Home": "https://msazure.visualstudio.com/msk8s/_git/azstackhci-util?version=GBmain" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", "name": "stack-hci-vm", "summary": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension ", "version": "0.1.5" }

@jsntcy Yu Chen FTE if we want to make this version no longer a preview version should we remove this tag entirely azext.isPreview or set it to false?

Which tag?

@jsntcy Harika was asking about the parameter "azext.isPreview".
Also can you approve the PR. Checks are passing now.

Yes, you can remove that tag as long as you change the version of your extension as well.
We will support new versioning for extension and 0.x.x is not recommended any longer. The version will start from 1.0.0 (stable) or 1.0.0b1 (preview). You can find more details in https://github.com/Azure/azure-cli/blob/dev/doc/extensions/versioning_guidelines.md.
You can update version according for your next release.

@jsntcy can you merge the branch as well? As it says I am not an authorized user to do it.


Permissions

Create Permissions (https://github.com/tipoff/authorization/issues/22) & assign to default Roles (https://github.com/tipoff/authorization/issues/21) using the new PermissionMigration and Helper in tipoff/authorization package:

https://github.com/tipoff/authorization/issues/23

I have the permissions ready but I am unable to push to this repository.


[Question] Is lazy-load supported?

From my understanding, currently, the test adapter needs to search for all the test items and return them to the UI in one call.
Is it possible to support lazy-load for the explorer? For example, each time the user clicks on a tree node, the Explorer UI will call the adapter to return the direct children for that node?

No, this isn't supported and I'm not planning to add support for it, sorry.


Publish universal wheels

txaio is a pure Python package, and we should publish universal wheels (in addition to the source dist we publish today).

fixes in https://github.com/crossbario/txaio/pull/64

seems to work .. this is in a fresh virtualenv:
(cpy2711_2) oberstet@thinkpad-t430s:~$ pip install --no-cache-dir txaio[twisted]
Collecting txaio[twisted]
  Downloading txaio-2.3.1-py2.py3-none-any.whl
Collecting six (from txaio[twisted])
  Downloading six-1.10.0-py2.py3-none-any.whl
Collecting twisted>=12.1.0 (from txaio[twisted])
  Downloading Twisted-16.1.0.tar.bz2 (2.9MB)
    100% |████████████████████████████████| 2.9MB 2.2MB/s
Collecting zope.interface>=3.6 (from txaio[twisted])
  Downloading zope.interface-4.1.3.tar.gz (141kB)
    100% |████████████████████████████████| 143kB 319kB/s
Requirement already satisfied (use --upgrade to upgrade): setuptools in ./cpy2711_2/lib/python2.7/site-packages (from zope.interface>=3.6->txaio[twisted])
Installing collected packages: six, zope.interface, twisted, txaio
  Running setup.py install for zope.interface ... done
  Running setup.py install for twisted ... done
Successfully installed six-1.10.0 twisted-16.1.0 txaio-2.3.1 zope.interface-4.1.3

and creating a wheelhouse:
(cpy2711_2) oberstet@thinkpad-t430s:~$ pip wheel --wheel-dir=/tmp/txaio-wheels txaio[twisted]
Collecting txaio[twisted]
  Downloading txaio-2.3.1-py2.py3-none-any.whl
  Saved /tmp/txaio-wheels/txaio-2.3.1-py2.py3-none-any.whl
Collecting six (from txaio[twisted])
  Using cached six-1.10.0-py2.py3-none-any.whl
  Saved /tmp/txaio-wheels/six-1.10.0-py2.py3-none-any.whl
Collecting twisted>=12.1.0 (from txaio[twisted])
  Saved /tmp/txaio-wheels/Twisted-16.1.0-cp27-cp27m-linux_x86_64.whl
Collecting zope.interface>=3.6 (from txaio[twisted])
  Saved /tmp/txaio-wheels/zope.interface-4.1.3-cp27-cp27m-linux_x86_64.whl
Collecting setuptools (from zope.interface>=3.6->txaio[twisted])
  Using cached setuptools-20.6.7-py2.py3-none-any.whl
  Saved /tmp/txaio-wheels/setuptools-20.6.7-py2.py3-none-any.whl
Skipping txaio, due to already being wheel.
Skipping six, due to already being wheel.
Skipping twisted, due to already being wheel.
Skipping zope.interface, due to already being wheel.
Skipping setuptools, due to already being wheel.
(cpy2711_2) oberstet@thinkpad-t430s:~$ ls -la /tmp/txaio-wheels/
insgesamt 3704
drwxrwxr-x 2 oberstet oberstet    4096 Apr 10 00:37 .
drwxrwxrwt 8 root     root       12288 Apr 10 00:37 ..
-rw-rw-r-- 1 oberstet oberstet  508628 Apr 10 00:37 setuptools-20.6.7-py2.py3-none-any.whl
-rw-rw-r-- 1 oberstet oberstet   10341 Apr 10 00:37 six-1.10.0-py2.py3-none-any.whl
-rw-rw-r-- 1 oberstet oberstet 3061442 Apr 10 00:37 Twisted-16.1.0-cp27-cp27m-linux_x86_64.whl
-rw-rw-r-- 1 oberstet oberstet   23364 Apr 10 00:37 txaio-2.3.1-py2.py3-none-any.whl
-rw-rw-r-- 1 oberstet oberstet  163143 Apr 10 00:37 zope.interface-4.1.3-cp27-cp27m-linux_x86_64.whl


Correction of multiple events bug and update of ReactiveSwift dependency

Here is the correction to parse multiple events from buffer and at the same time an update to the latest ReactiveSwift.

thaks, LGTM!


[GHSA-hgp8-w8fj-r4cm] ToolJet is vulnerable to Denial of Service (DoS)

Updates

Affected products

Comments
There is no package just named tooljet on npmjs.com.

Hi @aruneko, thank you for alerting us that tooljet is no longer on npmjs.com. We were able to find an archive.org link showing the tooljet was previously on npmjs.com, but it's no longer there. We'll look into this further to determine what to do when a package that was previously listed is no longer listed on the package repo website.


App extension check

Checks for an App Extension before calling [UIApplication sharedApplication].

BTW, I tested by adding an extension target to a quickstart and adding FirebaseAuth as a dependency to the new target in the Podfile.

After @paulb777's suggestions/comments it LGTM, will confirm and approve after it's updated!

Close #1357


Fix bug using repo with submodules

git_referenced_objects incorrectly includes submodule objects, this fixes that.

Whoa, that's a huge bug. (I'm kinda embarrassed haha).
Thanks for finding and fixing it, Paul! :smile:
Cherry-picked as c796a5f10125f84d343ae76d08be0c471aa7fdb5 and merged in as 682f9858050108f2f59b35512bbcb6159a5817ad.


Xenia(Xbox 360 emulator)

Project description
Xbox 360 emulator. Already working and can run tons of games. There is already an rpcs3 in repos(PS3 emu) so it would be kinda nice pair :)
Metadata

homepage URL: https://xenia.jp
source URL: https://github.com/xenia-project/xenia
license: https://github.com/xenia-project/xenia/blob/master/LICENSE - some custom FOSS license
platforms: Linux and Windows. No macos support

Here's my current progress, building fails with error: implicit instantiation of undefined template 'std::__1::ctype<char16_t>' unfortunately (full log).
{ fetchFromGitHub
, gtk3
, llvmPackages_9
, lz4
, pkg-config
, python3
, SDL2
, vulkan-headers
, vulkan-loader
}:

let
  stdenv = llvmPackages_9.libcxxStdenv;
in

stdenv.mkDerivation {
  pname = "xenia";
  version = "unstable-2021-01-04";

  src = fetchFromGitHub {
    owner = "xenia-project";
    repo = "xenia";
    rev = "9a74df491ffd0189ddd26bc2030e0eae6a775f4e";
    sha256 = "106dkcnsc7ibx0c8fa8csp49dz59s9d4k6hxm4lybf3lybq0l491";
    fetchSubmodules = true;
  };

  nativeBuildInputs = [
    llvmPackages_9.bintools
    pkg-config
    python3
  ];

  buildInputs = [
    gtk3
    lz4
    SDL2
    vulkan-headers
    vulkan-loader
  ];

  patchPhase = ''
    runHook prePatch

    # Fixes "fatal error: 'sys/sysctl.h' file not found"
    substituteInPlace third_party/libav/config_lin.h \
      --replace "#define HAVE_SYSCTL 1" "#define HAVE_SYSCTL 0"

    runHook postPatch
  '';

  dontConfigure = true;

  buildPhase = ''
    runHook preBuild

    # TODO Look into using 'setup' argument
    python3 xenia-build build --config release -j $NIX_BUILD_CORES

    runHook postBuild
  '';

  NIX_CFLAGS_COMPILE = "-Wno-error-unused-result";

  enableParallelBuilding = true;
}

Here's my current progress, building fails with error: implicit instantiation of undefined template 'std::__1::ctype<char16_t>' unfortunately (full log).
{ fetchFromGitHub
, gtk3
, llvmPackages_9
, lz4
, pkg-config
, python3
, SDL2
, vulkan-headers
, vulkan-loader
}:

let
  stdenv = llvmPackages_9.libcxxStdenv;
in

stdenv.mkDerivation {
  pname = "xenia";
  version = "unstable-2021-01-04";

  src = fetchFromGitHub {
    owner = "xenia-project";
    repo = "xenia";
    rev = "9a74df491ffd0189ddd26bc2030e0eae6a775f4e";
    sha256 = "106dkcnsc7ibx0c8fa8csp49dz59s9d4k6hxm4lybf3lybq0l491";
    fetchSubmodules = true;
  };

  nativeBuildInputs = [
    llvmPackages_9.bintools
    pkg-config
    python3
  ];

  buildInputs = [
    gtk3
    lz4
    SDL2
    vulkan-headers
    vulkan-loader
  ];

  patchPhase = ''
    runHook prePatch

    # Fixes "fatal error: 'sys/sysctl.h' file not found"
    substituteInPlace third_party/libav/config_lin.h \
      --replace "#define HAVE_SYSCTL 1" "#define HAVE_SYSCTL 0"

    runHook postPatch
  '';

  dontConfigure = true;

  buildPhase = ''
    runHook preBuild

    # TODO Look into using 'setup' argument
    python3 xenia-build build --config release -j $NIX_BUILD_CORES

    runHook postBuild
  '';

  NIX_CFLAGS_COMPILE = "-Wno-error-unused-result";

  enableParallelBuilding = true;
}

There is another distro running Xenia?

There is another distro running Xenia?

Hello @AndersonTorres @samuelgrf . Xenia is actually packages in arch AUR (which is also built from source) as latest git version.
There are 2 versions of that package in repos:
The "regular one" - https://aur.archlinux.org/packages/xenia-git/
And the one with some patches - https://aur.archlinux.org/packages/xenia-linux-fixes-git/
You can see a build script of them by clicking "View PKGBUILD" button

Hello @AndersonTorres @samuelgrf . Xenia is actually packages in arch AUR (which is also built from source) as latest git version.
There are 2 versions of that package in repos:
The "regular one" - https://aur.archlinux.org/packages/xenia-git/
And the one with some patches - https://aur.archlinux.org/packages/xenia-linux-fixes-git/
You can see a build script of them by clicking "View PKGBUILD" button

Fun to know. Can it be built and run on an AMD Ryzen 5?

Fun to know. Can it be built and run on an AMD Ryzen 5?

@AndersonTorres on windows - definitely. On Linux - probably yes(why not?)

@AndersonTorres on windows - definitely. On Linux - probably yes(why not?)

This expression builds Xenia from master, but the canary build still fails:
{ clangStdenv
, fetchFromGitHub
, lib
, python3
, pkg-config
, gtk3
, SDL2
, lz4
, libunwind
, libiberty
, xorg
, vulkan-loader
}:

let
  mkXenia =
    { src
    , version
    , suffix ? ""
    }:

    clangStdenv.mkDerivation {
      pname = "xenia${suffix}";
      inherit src version;

      nativeBuildInputs = [
        python3
        pkg-config
      ];

      buildInputs = [
        gtk3
        SDL2
        lz4
        libunwind
        libiberty
        xorg.libX11
        xorg.libxcb
      ];

      dontConfigure = true;

      NIX_CFLAGS_COMPILE = [
        "-Wno-error=unused-result"
        "-fno-lto"
      ];

      buildPhase = ''
        runHook preBuild
        python3 ./xb build --config release -j $NIX_BUILD_CORES
        runHook postBuild
      '';

      installPhase = ''
        runHook preInstall
        mkdir -p $out/bin
        cp -a ./build/bin/*/*/xenia $out/bin/
        runHook postInstall
      '';

      postFixup = ''
        patchelf --add-rpath ${vulkan-loader}/lib $out/bin/xenia
      '';

      meta =
        let
          inherit (lib) licenses platforms;
        in
        {
          description = "Xenia is an experimental emulator for the Xbox 360";
          homepage = "https://xenia.jp";
          license = licenses.bsd3;
          maintainers = [ ];
          platforms = platforms.linux;
        };

    };

in
{

  xenia = mkXenia {
    version = "unstable-2022-07-27";
    src = fetchFromGitHub {
      owner = "xenia-project";
      repo = "xenia";
      fetchSubmodules = true;
      rev = "7595cdb52bd12d448aeabe4908862f59d283ce9d";
      hash = "sha256-W6lOZxMwNTxSPIcu2f2hrq8bxT/aqxdLTSLV9D1KY0U=";
    };
  };

  xenia-canary = mkXenia {
    version = "unstable-2022-08-20";
    src = fetchFromGitHub {
      owner = "xenia-canary";
      repo = "xenia-canary";
      fetchSubmodules = true;
      rev = "010b59e81cee3459dc03ed40f814537c2f682b6c";
      hash = "sha256-Njbp9wiyinRnC+Qw1tIEWU4UtQXmEHjAR5I+0Q2z8m8=";
    };
  };

}

I'm having some issues getting anything to actually run though. Hopefully this is enough for someone sufficiently motivated to take over the effort.

I got Xenia (not canary) to build with a few patches in my flake, but even though it compiles and doesn't throw any errors it doesn't seem to run any games.


feat: add 'AddChainToWallet' button and integrate it into ChainPageLayout

Created a new component 'AddChainToWallet' to facilitate adding chains to wallet.
Integrated 'AddChainToWallet' button into ChainPageLayout.
Updated layout.tsx to include 'AddChainToWallet' button and its behavior.
Refactored chain verification and metadata handling to accommodate the new feature.
Adjusted related utility functions in utils.ts.

PR-Codex overview
This PR updates the utils.ts file in the dashboard chain folder and adds a new component AddChainToWallet for handling chain connections.
Detailed summary

Removed verified property from chainMetaRecord
Added AddChainToWallet component for connecting to chains
Updated layout to display chain information and connection options

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#2666  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite


Add FileSystem

What does this PR do?

This PR introduces FileSystem to simplify interaction with files. It doesn't support project files manipulation.
from lightning.app.storage import FileSystem

fs = FileSystem()

with open("a.txt", "w") as f:
    f.write("example")

os.makedirs("checkpoints", exist_ok=True)
with open("checkpoints/a.txt", "w") as f:
    f.write("example")

assert fs.list(".") == []
fs.put("a.txt", "a.txt")
assert fs.list(".") == ["a.txt"]

fs.put("checkpoints", "checkpoints")
assert fs.list(".") == ["a.txt", "checkpoints/a.txt"]

fs.delete("a.txt")

Fixes #<issue_number>
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃
cc @borda

It's not clear to me what the relative path is when it comes to remote. Shouldn't remote paths always be absolute? I find the implicit concept of "cwd" counterintuitive when it comes to remote.

Hey @lantiga,
I apologise, I don't understand your comment. remote = root (shared folder of the app, outside you don't have permission) +  whatever the user provided.

It's not clear to me what the relative path is when it comes to remote. Shouldn't remote paths always be absolute? I find the implicit concept of "cwd" counterintuitive when it comes to remote.

Hey @lantiga,
I apologise, I don't understand your comment. remote = root (shared folder of the app, outside you don't have permission) + whatever the user provided.

Right, that to a user is an absolute path (root is the shared folder of the app), not a relative one. If we allow relative paths, then we imply there is some "current working directory" specified somewhere, so that "." is actually a valid path.
I think we should instead force all remote paths to be absolute.


Update debug symbols uploading mechanism

This PR adds automatic debug symbols uploading feature support for Android and updates its existing implementation for iOS.
Closes #37
Closes #40

Symbols don't seem to have been uploaded during my Android build. Looking at the logs, I don't see any indication that the uploadSymbols task ran. Am I missing something?

Symbols don't seem to have been uploaded during my Android build. Looking at the logs, I don't see any indication that the uploadSymbols task ran. Am I missing something?

Please check the Android debug symbols upload settings in ProjectSettings->BugSplat menu and whether the Config/DefaultEngine.ini file contains something like bUploadDebugSymbolsAndroid=True.
Everything seems to work just fine on my end and the uploadSymbols task is triggered right after the game build completes

Symbols don't seem to have been uploaded during my Android build. Looking at the logs, I don't see any indication that the uploadSymbols task ran. Am I missing something?

Please check the Android debug symbols upload settings in ProjectSettings->BugSplat menu and whether the Config/DefaultEngine.ini file contains something like bUploadDebugSymbolsAndroid=True.
Everything seems to work just fine on my end and the uploadSymbols task is triggered right after the game build completes

Platforms > Android > Package Project
No symbols appear to be uploaded. Is my process correct?

Symbols don't seem to have been uploaded during my Android build. Looking at the logs, I don't see any indication that the uploadSymbols task ran. Am I missing something?

Please check the Android debug symbols upload settings in ProjectSettings->BugSplat menu and whether the Config/DefaultEngine.ini file contains something like bUploadDebugSymbolsAndroid=True.
Everything seems to work just fine on my end and the uploadSymbols task is triggered right after the game build completes

Platforms > Android > Package Project
No symbols appear to be uploaded. Is my process correct?

https://github.com/BugSplat-Git/bugsplat-unreal/issues/42

Great work, thanks! 🚀


Fix response if cookies are not enabled

In case Tide is built without support for cookies (specifically http-types/cookies), some of the exports used in Response are not available. I guess the issue didn't pop up earlier because some other dependencies did enable http-types/cookies on their own.

Oh, huh we don’t use that docs thing here at all yet. Guess that should be a separate whole PR.


chore: remove deprecated onCommand activation event

Thanks @Malix-off,
I've been meaning to do that for quite some time but somehow always forgot 😄.


如果只有组相关，那么features_left["finetune_feature"]将没有值

Hello, our paper only supports the gwcnet-gc mode, i.e., the combination of concatenation volume and group-wise correlation volume. Hence, you need to revise the code if you want to only use the group-wise correlation volume.


StorageObjectInUseProtection is GA

Update feature gate reference for 1.11
xref: kubernetes/kubernetes#62870

/retest

The underlying structure of the docs repository has changed due to the recent
Hugo migration. Specifically, all the files previously under docs/ are now in
content/en/docs/. I have rebased your PR without changing any of your work, so
that your changes are modifying the affected files in the new location, so this
PR is now reviewable again.
If you were using Github's web UI rather than a local Git client, you can stop
reading and continue working in this PR.
If you use the Git command-line client, you will need to make sure your local
branch is up to date with your fork. If you have local commits that have not
been pushed to your fork, it may be complicated to get them back. Do git log
and note their commit hashes for later.
Assuming your your fork's remote is called origin, hard-reset your local
branch to be the same as your fork's branch:
git fetch origin; git reset --hard origin/storage-protection-gate

If you didn't have local commits, you're now ready to keep working on this PR
locally. You can stop reading now.
If you did have local commits, cherry-pick them from oldest to newest. For
each commit that needs to be cherry-picked:
git cherry-pick <HASH>

You will need to resolve conflicts in these cherry-picked commits, which
involves moving your modified files into the correct new location. All the
content in docs/ moved to content/en/docs/, so you can move your local files
accordingly:

Do git add for each of the moved files
Do git mergetool and accept the
deleted rather than modified file
Continue the cherry-pick by doing git cherry-pick --continue

When you've cherry-picked all local commits back onto the local branch, push the
branch (with new commits) to your fork. You should not need to force the push.

I was wrong about the need to change /docs/ to /content/en/docs/ so you can ignore the request to do that. The things about Hugo shortcodes still need to be addressed.

/assign @chenopis
Can you help me figure out why Netlify is not running?

Because @mistyhacks already gave the real lgtm and bc we've figured out the Netlify problem isn't with this PR (preview looks fine):
/lgtm
/approve


Devise-specific: include authenticatable_salt as part of original_user_scope_identifier

Devise stores three things in the session to identify and authenticate a record: scope, the record's db id, and the record's "authenticatable_salt" (a method defined by devise)
The "switch back" / original_user functionality should probably do the same thing (at least if the provider is Devise), to be consistent from a security standpoint.
If sessions are being stored securely (encrypted), then this isn't strictly necessary for security, but again, it's more about being consistent with the provider's approach.
The issue -- and the reason Devise does this -- is that if sessions aren't being stored securely -- which is a setting outside the scope of this gem -- then all an attacker would need to do is inject an easily-guessable value, e.g. "admin_1", for the "original_user_scope_identifier" key into a session. Luckily, Rails now defaults to encrypted session cookies so it's probably not a major concern.

Someone please correct me if wrong - I'm curious to know if I'm right about the whole point of authenticatable_salt, or if it is actually just overkill.

Had the same concern yesterday when took a look into original_user implementation.
So it's probably just a matter of setting session[:original_user_scope_identifier]. However you can't easily set session unless you know secret_key_base. Didn't spend enough time on this.


Methods of writing content links don't work

Describe what is not working with the course
Clicking on links for instructions on how to write content for OTTR course produces 404 error
Steps to Reproduce

Go to https://www.ottrproject.org/getting_started.html#starting-a-new-ottr-course
Click on 'Methods of writing content' from table of contents on left of page
Click Jump to OTTR Entry Level instructions here or Jump to OTTR Advanced instructions here
See error

Expected behavior
Links should navigate to webpage with instructions for writing content to OTTR course

This is fixed and merged! Thanks.


[BUG] LSTM models not working in recent builds

LSTM models are not working properly in recent builds. On my machine I get silent output.
The last working build seems to be this one:
https://github.com/sdatkinson/NeuralAmpModelerPlugin/actions/runs/6466554198
Which would indicate that this PR broke things:
https://github.com/sdatkinson/NeuralAmpModelerPlugin/pull/377

Thanks for flagging this and for providing really helpful details.  Let me have a look at what changed...

Ok, I've reproduced it over here with the VST3 in Reaper.

Aha...That'll do it! 😂

Checking the fix

Yep; that'll do it--all better!

Will PR the fix into the core then here presently

Thanks, Steve!
Looks like I actually introduced the problem when I did the process() overhaul. Super weird that it didn't show up as an issue with the LV2 plugin - the code is clearly wrong, but I'm sure I tested LSTM...

Ahh - turns out that I process the audio buffer in place (input == output) in the LV2 plugin, so the reversal didn't matter... :stuck_out_tongue:


How to Reply on MessageID to continue an email thread?

I have listed out the emails using the Webklex Laravel Imap and got the MessageID with other parameters. Now, my issue is how to reply to the same MessageId in Reply and Reply All email.
If I will compose an email to Reply Email then it will create a new thread instead of the old one.
So, how to achieve this. Help me out with this issue.
Thank you.

You need to add messageID and reference to the header part of the message you reply. Maybe it helps if I used it this way.
Mail::send([], [], function ($message) use ($aRequest) {             $references = $aRequest->references . '<' . $aRequest->messageId . '>';             $message->getHeaders()->addTextHeader('In-Reply-To', $aRequest->messageId);             $message->getHeaders()->addTextHeader('References', $references);             $message->from($message->getFrom());             $message->sender($message->getFrom());             $message->to($aRequest->to);             $message->replyTo($message->getFrom());             $message->subject($aRequest->subject);             $message->setBody($aRequest->replyMessage);

What did you pass the value for references and to i.e $aRequest->references and  $aRequest->to

"What did you pass the value for references and to i.e $aRequest->references and $aRequest->to
Same"
Same question

Hi @umarpucitian @dev7-abood ,
lets assume these are the headers of a mail you want to replay to:
To: Webklex/laravel-imap<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>In-Reply-To<EMAIL_ADDRESS>References<EMAIL_ADDRESS>Subject: Re: [Webklex/laravel-imap] How to Reply on MessageID to continue an
 email thread? (#306)

If the email has an In-Reply-To header, add it to the list of References
Use References, if it exists, to match to Message Ids of other emails (in whatever system/code you're working with)

In this case $aRequest->references  could be<EMAIL_ADDRESS>or anything else, if you want to reference it to an other message / topic.
$aRequest->to has to be the email address of whoever is supposed to receive the message you are sending.
Additional information:

https://cr.yp.to/immhf/thread.html
https://laravel.com/docs/8.x/mail

Best regards,

ok
assume i use Gmail platform
$oldMessageId = <old_id>
$ref = <old_id><new_id>
from new_id i use $message->getId()
And I add the
$message->getHeaders()->addTextHeader('In-Reply-To',  $oldMessageId);
$message->getHeaders()->addTextHeader('References', $ref);
I understand the text pattern but i don't know what is this values

Hi @dev7-abood ,
I'm not sure what your question is.

What are you currently trying (code wise)?
What results are you getting?
What are you expecting?

Best regards,

My issue is i tryed to replay old meassage from Email using laravel

hmm.. this library webklex/laravel-imap is only a wrapper for webklex/php-imap made to fetch messages from a server via the imap protocol. If you want to send messages, you should take a look at the official documentation under https://laravel.com/docs/8.x/mail.
The code example from above assumes you've read a message using webklex/php-imap and placed part of the header (In-Reply_to, Reference, Subject, etc) in a form and submitted it. At least that is what im reading into it. You usually handle a $request or $aRequest somewhere within a controller or something.
If you want to have access to the latest request, you'll have to make the request available to your mailable callback.
I Highly recommend you checkout https://laravel.com/docs/8.x/mail. Their documentation is extremely well written and provides lots of examples.
Best regards,

Thank You for help me :)
@Webklex

Do I have to store the reply mail to the "sent" folder? because I tried "all" things I found on internet like additional headers In-Reply-To or References or Message-ID. But I never see that mail in the thread.


Export resource chart and lib

Export ResourceCircularChart and lib
This PR is about exporting the ResourceCircularChart, used to create the cluster's overview charts, and also to export the Headlamp's lib/* modules.

[X] Export ResourceCircularCart
[X] Export units and auth modules

Testing done
In a plugin (with the new version of headlamp-plugin), add:
import { auth, units } from '@kinvolk/headlamp-plugin/lib/Utils';

console.log('VERIFY', units, auth)

Look for the logs to see if they show valid modules.
PS. We need to really integrate testing in plugins imports.

Great.
I feel using this in a storybook or a plugin example would be instructive.

Yes. I have opened #586 to track that. It can be a good first issue too I think.


add vagrant environment for development

Ⅰ. Describe what this PR did
add vagrant environment for development
Ⅱ. Does this pull request fix one issue?
https://github.com/alibaba/pouch/issues/1243

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1245   +/-   ##
=======================================
  Coverage   15.31%   15.31%
=======================================
  Files         172      172
  Lines       10665    10665
=======================================
  Hits         1633     1633
  Misses       8912     8912
  Partials      120      120

awsome works,  can your please review this pr @fuweid thanks a lot?

LGTM. But please use git commit -s to add your signed-off. :)

@fuweid thanks, signed.


Renamed FrameBufIntoIterator to FrameBufIterator

I was highly confused what an "IntoIterator" is, until I gasped that this is simply the iterator type for the framebuffer.
I think FrameBufIterator is a better name.

Closed in favor of #10


training on one GPU, but the other one is also occupied

Hi,
I have two GPUs, and I just would like to use one GPU to train a network by tensorflow. When I train it, the code use all the memories of two GPUs, but only one GPU is working:

How to solve this problem? I would like just one to work, but not occupy the other.

http://stackoverflow.com/questions/41150462/tensorflow-training-network-on-one-gpu-but-occupy-the-space-of-the-other

This is a question better suited for StackOverflow, which we also monitor. Please ask it there and tag it with the tensorflow tag.


Session interface methods and blocking API to accept streams and receive datagrams

Hello.
First of all thanks a lot to all the contributors for work on the package.
I have a question regarding the current API of Session. At this moment it has the following blocking methods: AcceptStream, AcceptUniStream, ReceiveMessage.
This means that an application that processes different types of streams from a client including UDP receiving should use at least 3 goroutines just to accept streams and receive UDP:
sess, _ := listener.Accept(context.Background())
go acceptBidiStreams(sess)
go acceptUniStreams(sess)
receiveUDP(sess)

For servers that work with many clients this can be rather expensive (in terms of memory consumption since every goroutine adds about 2.6kb of memory). I am mostly thinking about WebSocket-like servers that work with many simultaneous connections from different clients.
I looked at other QUIC implementations, for example Python Quic on top of asyncio:
class CounterHandler:

    def __init__(self, connection) -> None:
        self.connection = connection
        self.counters = defaultdict(int)

    def quic_event_received(self, event: QuicEvent) -> None:
        if isinstance(event, DatagramFrameReceived):
            payload = str(len(event.data)).encode('ascii')
            self.connection.send_datagram_frame(payload)

        if isinstance(event, StreamDataReceived):
            self.counters[event.stream_id] += len(event.data)
            if event.end_stream:
                if is_client_bidi_stream(event.stream_id):
                    response_id = event.stream_id
                else:
                    response_id = self.connection.get_next_available_stream_id(
                        is_unidirectional=True)
                payload = str(self.counters[event.stream_id]).encode('ascii')
                self.connection.send_stream_data(response_id, payload, True)
                del self.counters[event.stream_id]

Also NodeJS has event-driven approach (obviously):
socket.on('session', async (session) => {
  // A new server side session has been created!

  // The peer opened a new stream!
  session.on('stream', (stream) => {
    // Let's say hello
    stream.end('Hello World');

    // Let's see what the peer has to say...
    stream.setEncoding('utf8');
    stream.on('data', console.log);
    stream.on('end', () => console.log('stream ended'));
  });

The same for a client-side in browsers (WebTransport implementation): it's possible to run asynchronous functions to consume streams and read datagrams. Example.
I suppose it's a legal case when a client sends UDP and opens various types of streams with a server in random moments inside one connection. So at first glance API where developers can use only one goroutine for accepting streams and reading UDP seems reasonable to have (maybe over channels, maybe functional). I.e. - do not consume several goroutines just for accepting things. Maybe not very idiomatic for Go – but practical.
Another thing that bothers me a bit is that each accepted stream should be also processed in a separate goroutine, I suppose this is very similar in its nature to my main question here.
What do you think?

I'd be more worried about having one Go routine per stream than the one or two Go routines you need to serve a session. That said, Go routines are cheap, and even a consumer notebook is able to handle millions of them at a time.
The API you're suggesting is very different from every other API found in the Go ecosystem.  I don't see any precedent for this in the standard library, in fact, it is encouraged to implement io.Reader and io.Writer as frequently as possible.

Thanks for your response @marten-seemann. I understand your opinion and I think this is a right and idiomatic choice for most apps.
At the same time I am sure that it won't fit very well some servers with many concurrent connections since the question already araised (one, two, three) in Go community - and this can become even more relevant in context of QUIC where we need to have even more goroutines blocking for nothing. I have not suggested fully changing API here, but rather thinking about an alternative way to deal with things keeping existing package API.


Error when launching a cloud deployment when a Linux client isn't built.

We are accepting issues and we want your feedback.
Issue
As of release 0.6.0, you may get the following type of error when running a cloud deployment:
Could not download workers: could not download<EMAIL_ADDRESS>for Worker(SimulatedPlayerCoordinator); could not retrieve artifact information for<EMAIL_ADDRESS>rpc error: code = NotFound desc =<EMAIL_ADDRESS>of Assembly(offloading_workflow) of Project(demo) doesn't exist.
This happens because SpatialOS expects the worker package that corresponds to every worker config. In this case, Simulated Player binaries are missing.
Workaround
We have two potential workarounds:

Build a Linux client and upload it as part of the assembly. See https://github.com/improbableio/UnrealEngine/blob/4.22-SpatialOSUnrealGDK-0.6.0-rc/Templates/TP_SpatialGDK/spatial-resources/BuildProject.bat for a reference script. This is the recommended approach.
Remove spatial/workers/improbable/spatialos.SimulatedPlayerCoordinator.worker.json and re-run spatial build build-config to remove the SimulatedPlayerCoordinator bridge config and descriptor from the assembly and re-upload. With this approach Simulated Players will not work.

Internal Ticket
COMP-2137

I've closed this as it's labeled won't fix.


fix a typo

Signed-off-by: Andy Tsai<EMAIL_ADDRESS>

@ti777777 Thanks for spoting the typo.
I think 'Dockerfile' would be a better fix. Would you mind updating and signing your commit to be able to merge it please?


llama3 is open, how to instead llama2?

I dont known how to modify in langchain_community package.

You dont need to modify langchain_community package. Just need to pass the params to Ollama as Ollama(model="llama3"). Llama3 is fully supported by Ollama: https://ollama.com/library/llama3

very thank


docs: fix grammar

What kind of change does this PR introduce?
Docs, grammar fix

Did you add tests for your changes?
NA

Does this PR introduce a breaking change?
No

What needs to be documented once your changes are merged?
Nothing

Thanks


Update existing resources when CR changes

Estimation: 1w

Notes:

Beware of secrets (should not change generated values)
Beware of immutable fields

Notes from last meeting:

before the first version of the Operator is released, we need to support the case where Backstage Config is changed (but not CR), as this is a common use case to update an app-config ConfigMap. We should document that the user needs to restart the Backstage pod in case of a config change (until #74 is implemented).

@rm3l I probably missed that (being on PTO)

we need to support the case where Backstage Config is changed (but not CR)

Not sure I understand terminology here but I suppose it means changes in app-config's (and extra) ConfigMaps etc, right?

Yes, that's the (quite common) use case Tomas mentioned: making changes to app-config should be handled by the operator.

I think we need carefully investigate the cases and understand and document limitations. For example, as I understand kubernetes.io/docs/concepts/configuration/configmap/#mounted-configmaps-are-updated-automatically it says it will be refreshed, but not for env variables and "A container using a ConfigMap as a subPath volume mount will not receive ConfigMap updates."
I would like we investigate, understand and document these limitations (what is supported by K8s and what we need to take care in the Operator) before we make a decision about making it supported user-friendly way.
Meanwhile, I agree, we need to mention that all the configuration changes "guaranteed" only after Backstage resource reconciliation (pod deleting or down/up scaling of replicas would be sufficient I guess)

Indeed, Tomas said that we are not sure Backstage would be able to hot-reload itself upon configuration changes; so we would need to restart Backstage even if K8s automatically refreshes the mounted files.
I agree we need to investigate. https://github.com/janus-idp/operator/issues/74 includes a research part to evaluate this. That's why we broke down the parent Epic (https://github.com/janus-idp/operator/issues/12) into two cases (updates to the CR itself vs updates to resources linked to the CR).
For now, we'll document how to "restart" the  Backstage resources upon configuration changes (that's what I documented in https://github.com/janus-idp/operator/pull/118 - deleting the Backstage Deployment makes the operator recreate it with the updated information).


Why parameter ‘prob_crossover’ is 0？

Hi,
I know that neat algorithm needs to crossover in the evolution. Does WANN abandon this point and only make the mutation?
Thanks

Hey,
this is largely due to how NEAT defines crossover:

Matching genes are inherited randomly, whereas disjoint genes (those that do not match in the middle) and excess genes (those that do not match in the end) are inherited from the more fit parent.

From "Evolving Neural Networks through Augmenting Topologies"
In the implementation (of this repository) it is stated a bit more clear: Take all genes from the more fit parent. With some chance take some of the weights of the less fit parents for those genes that match up. Since WANNs don't use weights, this version of crossover becomes pretty much meaningless.
I was honestly suprised by this as well.  Deprecation of crossover is neither mentioned in the paper nor on the github-website. It would certainly be interesting to see whether crossover can take on a different shape in the context of WANNs.
TL;DR: Crossover in NEAT just affects the weights.

Hey,
this is largely due to how NEAT defines crossover:

Matching genes are inherited randomly, whereas disjoint genes (those that do not match in the middle) and excess genes (those that do not match in the end) are inherited from the more fit parent.

From "Evolving Neural Networks through Augmenting Topologies"
In the implementation (of this repository) it is stated a bit more clear: Take all genes from the more fit parent. With some chance take some of the weights of the less fit parents for those genes that match up. Since WANNs don't use weights, this version of crossover becomes pretty much meaningless.
I was honestly suprised by this as well. Deprecation of crossover is neither mentioned in the paper nor on the github-website. It would certainly be interesting to see whether crossover can take on a different shape in the context of WANNs.
TL;DR: Crossover in NEAT just affects the weights.

Thanks for your reply!
But I thought the crossover in NEAT is realized after the Innovation ID.
Here is the Fig. Whats in the Fig is the Crossover of structure?

Hey,
this is largely due to how NEAT defines crossover:

Matching genes are inherited randomly, whereas disjoint genes (those that do not match in the middle) and excess genes (those that do not match in the end) are inherited from the more fit parent.

From "Evolving Neural Networks through Augmenting Topologies"
In the implementation (of this repository) it is stated a bit more clear: Take all genes from the more fit parent. With some chance take some of the weights of the less fit parents for those genes that match up. Since WANNs don't use weights, this version of crossover becomes pretty much meaningless.
I was honestly suprised by this as well. Deprecation of crossover is neither mentioned in the paper nor on the github-website. It would certainly be interesting to see whether crossover can take on a different shape in the context of WANNs.
TL;DR: Crossover in NEAT just affects the weights.

Thanks for you reply!
But in this Fig, the child tree change the structure through the parent's Innovation ID.
Is that a Crossover?

Hey guys, when we made WANNs NEAT was our starting point, but we simplified it greatly, cutting out speciation and crossover.
The motivation was not that we thought it would necessarily work better without crossover and speciation but that to communicate the main point that we could encode the solutions entirely in the structure. NEAT has a lot of moving parts, and as we were presenting this to an ML audience not an EA audience, we thought the cleaner we could make the implementation the better.
So rather than having to explain crossover in the paper, we cut it. Rather than having to explain compatibility distance and fitness sharing, we cut it.
But is all still in there. You can run start using crossover and speciation just by changing some hyperparameters. It worked without, but we didn't do any thorough testing to see if it would have worked better with. My intuition is that crossover will not be that beneficial, there are no weights to average and so it will just add structure --- in the WANN case we are trying to find less complex solutions, so this might be a cross purposes. If you do start using crossover remember that crossover takes place only within species. The way things are set up right now we are only using multi-objective optimization and no species, or rather all are in the same species. This will end up in a lot of bloat. Be sure to use species if you are using crossover.
If you are playing around and find something interesting don't hesitate to let us know!

But in this Fig(from NEAT), the child tree change the structure through the parent's Innovation ID.
Is that a Crossover?

Ah, interesting - the paper states:

In composing the offspring, genes are randomly chosen from either parent at matching genes,whereas all excess or disjoint genes are always included from the more fit parent.

Only in the caption of figure 4 does it add:

In this case, equal fitnesses are assumed, so the disjoint and excess genes are also inherited randomly.

Pretty, weird that they base their image on an edge case...
@agaier It won't even add structure, though, since due to the way crossover is implemented in this repository, all genes are always inherited from the more fit parent (and it is assumend that there won't be equally fit parents) - only the weights might be inherited from the less fit parent (the relevant implementations can be found [here (WANN)](https://github.com/google/brain-tokyo-workshop/blob/master/WANNRelease/WANN/wann_src/_variation.py#L94] and here (prettyNEAT) -  prettyNeatWann does not contain any crossover function).
@jinglinglingling If you want to test crossover on WANNs, it might be worth looking at other NEAT implementations and see if they also structurally crossover the two parents.


footer

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type
]

[ ] Fix
[x] Feature
[ ] Refactoring
[ ] Chore

What's new?

[x] PR closes #8
[ ] <brief_description_of_what_I've_added>

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[ ] I've posted a screenshot of demonstrated change in this PR
[ ] I've written some unit tests 🧪

Optional

[ ] I found edge cases

Had issue bounty label?

[ ] Fill up your KSM address: Payout

Community participation

[ ] Are you at KodaDot Discord?

Few things:

I would get for smaller footer. (height)

Remove contact column

Remove TOC column

Let's have normal links - rename column to About
ParaSpell GitHub - https://github.com/paraspell
KodaDot GitHub - https://github.com/kodadot

Socials

maybe use some from the kodadot (discord, twitter, reddit)

make them much smaller - size of kodadot is enough

Maybe use this logo?

@vikiival to the icons from kodadot, when I was looking at the project, I found out that we use icons from @vicons package so I tried to stick to icons from this package. But if its necessary, I can switch to icons from kodadot but I need to know are those icons from some library or should I only export them from kodadot as svg ?

@vikiival suggestions  applied :blush:


typedoc error: expected ','

throws error when trying to generate documentation using typedoc
Replicate:
Install typedoc
npm i typedoc
Run typedoc
typedoc --out docs src/
ERROR:
Error: /project/super_project/node_modules/ts-simple-ast/dist/main.d.ts(4441)  ',' expected.
Nothing else is special about the project. Even a brand new project same result

What version of TypeDoc are you using? I bet it’s not using a version of TypeScript that will compile it (need conditional types—ts 2.9 probably is necessary)


AMV is failing to refresh after one of the source tables re-created

When creating AMV on top of tables/views that are by some business reasons being re-created (with the same name) AMV is failing during refresh.
Steps to reproduce the behavior (Required)

Create AMV on top of an arbitrary table
Fill in some data into source table
Re-create source table, fill in some more data

Expected behavior (Required)
AMV is successfully updated
Real behavior (Required)
AMV update is failing with an error similar to:
com.starrocks.sql.common.DmlException: Materialized view base table: 64327.10764074 not exist.
StarRocks version (Required)
3.1

https://github.com/StarRocks/starrocks/pull/38008


watch mode stop working after using Enzyme3

Hi, I was upgrading my project to React 16 and found that once I updated the enzyme to 3.x, the watch mode stops working. I am using mocha-webpack 1.0.0-beta.1

We're also seeing this, but I'm not convinced it was enzyme3 that caused it - we started migrating to enzyme3 without much issue and then this issue started for us today when we upgraded a few outdated packages in our package-lock.json

one theory: watchpack updated to chokidar 2.0: https://github.com/webpack/watchpack/releases

I can confirm that mocha-webpack 1.0.1, webpack 3.11 and mocha 5.0.1 using watchpack 1.4

@alecf thanks for your information, but unfortunately, it does not work for me even I manually set all these modules' versions.

@neekey can you npm list chokidar? I'm curious. On OS X, mine looks like:
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>deduped
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
When I update to watchpack@latest I get:
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
And at this point, my mocha-webpack also stops watching.
what is maybe interesting there is that mocha-webpack (and karma!) are still using chokidar 1.7 while watchpack uses chokidar 2.0 - so I wonder if having two libraries watching the same files is confusing things?

@alecf
In my end, the<EMAIL_ADDRESS>uses<EMAIL_ADDRESS>by default, which is not working.
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
I manually installed<EMAIL_ADDRESS>not working neither 😢
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>

@alecf OK I am going to create a minimal test project to see if I can reproduce it : )

After testing with a minimal project, I found it might have something to do with https://github.com/sinonjs/sinon.
@alecf @erykpiast are you using Sinon and its useFakeTimers() API in your projects? I found my project (the real one) 's mishap is caused by it.
So I have created a minimal project https://github.com/neekey/mocha-webpack-enzyme3-watch-mode-fail-example
it's quite pure even without Enzyme and React, with one single test case like bellow:
import { expect } from 'chai';
// import Sinon from 'sinon';

describe('[Component] Card', () => {

  // uncomment the sinon and related lines of fake timers code and restart the test
  // you should notice that the change watch does not work
  it('Simple math test with fake timers', () => {
    // const clock = Sinon.useFakeTimers();
    expect(1 + 1).to.equal(3);
    // clock.tick(1);
    // clock.restore();
  });
});

@neekey
watchpack uses setTimout and clearTimeout to aggregate file system changes and mocha-webpack uses some lodash debounce calls...


make it Elixir string friendly

I found myself writing a lot of String.to_charlist when using this, and I thought it would be convenient if the library took care of the conversion when necessary.

Thanks!

Included on 2.2.0 release


release 0.15.0?

It's been 2 months since our last release. It'd be nice to issue one soon; mostly to get the really nice documentation changes out.
According to our min versions policy we can bump up to numpy 1.15 and dask 2.2 (though we need to solve #3660 first). So I propose we do that and bump to 0.15.0
must-have:

[x] #3660
[x] #3713
[x] #3560
[x] #3673 - waiting on upstream fix.

close/ready and nice to have:

[ ] #3691
[ ] #3588
[x] #3670
[x] #3631
[ ] #3611
[ ] #3610
[x] #3618

Done!


Word Flight Complete

This does not contain the specific database connection string, for security.

Closes #57