Unnecessary number of finds/fetches caused by .save()?

This is for a Meteor method call:

This is from Kadira, and it's all from a single reel.save() call. Why is this happening, and how can I optimize this?

Another comparison below. Essentially the same code, but the first image is with using Astronomy, and the second is using typical Mongo collection .update().

It's because I've change how the _.isNew property works. Right now it checks if a given document is already stored in collection, so it makes find().count() to figure it out.

Hmm, this is kind of a bummer. I'm seeing a performance hit due to this. The screenshots above are for a local dev box, so the numbers are small, but on a real production server, it's more like 400ms-800ms or so. The extra database hits cost, so I might try to limit how much I use Astronomy server-side. If you have any advice on performance optimizations with regards to using Astronomy, I'd be interested in hearing it!

Hmmm right I didn't though about server database hits... Locally in deed it will be fast but on the server it may cause problems. Ok I will try to investigate how I can limit number of database hits.

I didn't think about it either! I'm so used to just building the app and modeling the DB that I often forget about optimization. Until I launch a service and people are using it.. then I noticed there was considerable latency. :) Now I'm obsessively trying to reduce the number of .find() and .fetch() calls used.

I will probably have to get back to the old way of storing information in the _isNew property... which is ugly in my opinion, but it's probably the only way to avoid hitting database on _isNew check. I could also introduce two new methods: doc.insert() and doc.update() which would just insert or update document without checking if it's a doc already stored in a collection. However, it could introduce some conflicts with already defined methods by someone in an app. I will just store the _isNew information in some place to make use of it.

Ok I've prepared intermediate solution. Astronomy will use the old way of checking without deprecation warning. I've introduce new syntax because of the bug which cause that we couldn't tell if a document is new in the beforeInit event. However I've solved it right now using the old way. So I've removed deprecation warning from the doc._isNew however I'm still leaving Class.isNew(doc). It was actually unnecessary to introduce.

I will publish new version tomorrow because I have to create more test, so in the future I will not break anything :)

Sounds good! Sorry I didn't have time to come up with a fix, juggling a lot here lately.

No problem, it's something that I had to deal with. Good that this problem came out now and not later. I've just forced myself to fix the old bug in a better way.

Hey @jagi! I just saw v2.3.9 get published. Does this address what we talked about in this thread?

No it does not address this problem yet. I still haven't prepared tests yet. I'm a little bit busy right now with other stuff. I hope I will have time this week to finish this fix and release it.

Fixed in 2.3.10

So I have 2.3.10 now, and the following code on the server end:
  run({ orgId }) {
    const org = Organisation.findOne(orgId);

    delete org.slackConfigUrl;
    delete org.slackIntegration;
    org.save();
  },

This results in the following:

If I change the code to this:
  run({ orgId }) {
    Organisations.update(orgId, {
      $unset: {
        slackConfigUrl: '',
        slackIntegration: '',
      },
    });
  },

The result in Kadira is:

I understand Astronomy is highly complex and there's a lot going on underneath the hood. 8ms vs 28ms is a huge performance difference.. this is local, of course, so in the real world the numbers would be bigger. If there's not much else that can be done to optimize this, I'll probably avoid using Astronomy when fetching data from the server, and only use it when absolutely necessary.

Every extra layer influence performance. Of course Astronomy is not perfect for all use cases. I remember reading a programming book years ago about using already made components vs. creating them by hand. It was compared to making an airplane not from already made components but designing everything from scratch: belts, sits, lights, handles etc. Of course it wouldn't be worth an effort. You can always write your programs in assembler - they're gonna be lightning fast :). Probably I could do some more optimisations but it could influence reliability. Astronomy got a lot faster from v1 and it will probably be even faster in v3, as it's probably won't be based on Meteor but it will be GraphQL ready. But it's just a plan. I've been testing several different solutions but don't have a lot of time to make them reality.

Totally understandable - it's hard to find free time to contribute to open source projects, I (as well as many others) appreciate what you've built!
Cheers!


TimeArea's model writes totalTime to localStorage

https://github.com/MeoMix/StreamusChromeExtension/blob/master/src/js/foreground/model/timeArea.js
The backbone.localStorage adapter calls toJSON on the model in order to figure out what properties are persisted. In reality, it should use something very similar to toJSON, but not rely on the default implementation in all scenarios. This will allow me to still inject some properties into a template, but not save the property to localStorage.

I leverage'd a shim from @jmeas to fix this.


How does it calculate the total time of a segment in a parallel manner?

Here is the code in the Class NNDataflowScheme(./core/nn_dataflow_scheme.py)
`
    self.sum_cost = 0 # Naive sum of all layer cost.
    self.sum_static_cost = 0

    self.sum_time = 0 # Naive sum of all layer time, used to adjust cost.

`
It seems like the total time of a segment is merely adding up the time consuming of each layer. I can't find the code about pipelining in a segment.
Do I miss something? If it is, could you please point out which the code is about pipelining the layers in a segment?

As the comment says, sum_time is just a native sum of all layer time, only used in total_cost() to adjust the static cost. The actual overall time is total_time() (as it is marked as a property, you can simply access it as self.total_time rather than self.total_time()).  And as https://github.com/stanford-mast/nn_dataflow/blob/198a5274b9529125c6aa2b8b72b365d60cf83778/nn_dataflow/core/nn_dataflow_scheme.py#L175 shows, the total time is the sum of all segments' time. And the actual calculation of the segment time is in core/pipeline_segment_timing.py.

Thank you, that helps a lot!
Closing the question!


fix: update k8s audit endpoint to /k8s-audit everywhere

Co-Authored-By: Leonardo Di Donato<EMAIL_ADDRESS>Signed-off-by: Lorenzo Fontana<EMAIL_ADDRESS>What type of PR is this?
/kind bug
What this PR does / why we need it:
Which issue(s) this PR fixes:
Related to #1026
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
update: k8s audit endpoint now defaults to /k8s-audit everywhere

Related to #1261

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign fntlnz
You can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/assign @fntlnz

/cc @leodido

LGTM label has been added.  Git tree hash: a09a04a00ef90a3f6add57855261f4f026243775

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

mmm poiana has something wrong - an approve from a non owner should not trigger a merge :/

/milestone 0.24.0


feat(HACBS-2290): bump release pipeline versions

HACBS-2290 is about passing the snapshot object reference instead of as a json string due to character size limits. This commit updates the release pipelines to versions to accept the object reference instead of json strings.
Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Issue ticket number and link
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/approve

/retest

mostly failing due to the ec-cli failure , will wait till PR  will be merged

mostly failing due to the ec-cli failure , will wait till PR will be merged

Right, we need the PR listed. Then, IIUC, rerunning https://github.com/redhat-appstudio/release-service/pull/208 should pass because my branch names are the same. I don't think this one will pass because it relies on that release-service change (which relies on this)

/retest-required

@kasemAlem will this run with my fork from https://github.com/redhat-appstudio/release-service/pull/208? I know https://github.com/redhat-appstudio/release-service/pull/208 will run with the changes here according to https://github.com/redhat-appstudio/e2e-tests/blob/main/docs/Installation.md, but I am wondering how we get this one merged since infra-deployments bumping the release-service sha will fail until this one merges

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e


AMD fix?

I'm using a Ryzen 7 3700X 8-core CPU. Before installing this MOD, I reached 60 fps on version 1.04 by editing the .exe file.
After updating the game to v1.06 and installing this MOD, the fps dropped to 30 with the same graphic setting.
I checked with the log file, which states AMD SMT Patch: success, but the CPU usage keeps around only 20-30%. BTW I set cpu_memory_pool_fraction = 1.0 in the config.json
Did I miss anything?

BTW I also set skip_start_menu and disable_intro_movies to true but they seems not working. Maybe this indicates that the MOD does not actually activate?

Patch is not working from 1.05 onwards.
That patch is already basically inside game EXE.
It will be removed in future release, already is here in sources if you look at changes.

Patch is not working from 1.05 onwards.
That patch is already basically inside game EXE.
It will be removed in future release, already is here in sources if you look at changes.
Memory pools were also removed, along with spectre patches.
You can safely disregard these.

Yeah, from the CDPR official article, I saw that they fix the AMD CPU issue with 4-core and 6-core in v1.05. But will this MOD do the rest for 8-core, 12-core and 16-core processors?

Look, if even AMD, CPU manufacturer itself, says this is of no real benefit, it most probably is not ;)
Patch was removed and there is no plan to reintroduce it, as it was not working anyway for few game version now and is of no real benefit.

Yeah, from the CDPR official article, I saw that they fix the AMD CPU issue with 4-core and 6-core in v1.05. But will this MOD do the rest for 8-core, 12-core and 16-core processors?

Only 6 cores and below was negatively affected. The patch never had any effect on 8 cores or above.

Yeah, from the CDPR official article, I saw that they fix the AMD CPU issue with 4-core and 6-core in v1.05. But will this MOD do the rest for 8-core, 12-core and 16-core processors?

Only 6 cores and below was negatively affected. The patch never had any effect on 8 cores or above.


image in center Polygon

I'm creating the Polygon (circle) so far so good but I would like to know if it is possible to add an image (preferably svg) in the center of this Polygon? Is this possible? If so, would you have an example?

Do you need something like https://openlayers.org/en/latest/examples/style-renderer.html?
That example will work with SVGs by changing the src url to
'https://flagcdn.com/' + feature.get('iso_a2').toLowerCase() + '.svg'
(with Firefox you would need to inject a preserveAspectRatio="none" attribute into the SVG before loading the image),


ToB QoL - v1.0.1 - Small Config Fix

adjusts config for xarpus to properly reflect which sound should be muted
adds credits for xarpus area sound effects played

@damencs You might have to fix this, the link has a second commit of "unnamed"

Some small feedback collected from people so far. They are too lazy to make a github account

Nylo instance timer stays above your head the whole room
Menu colors for Nylo we're a bit too faded ex: green looked more blueish
Can only pick 1 attack option of role selector (Duo's/North freeze would be beneficial to be able to have more than 1 selected)
Sote instance timer shows green to click off 0 but really need to click off on 3
Reports of Bloat configs not consistently working every raid

@RSDonny please use the issue tracker for the plugin's repository for feedback instead of requesting features/bugfixes on plugin-hub PRs.

You'll need to remove the whitespace around the commit hash on this PR

You need to remove the html from your plugin descriptor and configs. Also as I told you on discord you are not allowed to remove clickboxes such as the bloat tiles

You need to remove the html from your plugin descriptor and configs. Also as I told you on discord you are not allowed to remove clickboxes such as the bloat tiles.
Also you cannot set enabledByDefault = false since its just confuses people

When did you tell me that removing null tiles wasn't allowed? NFC/Lemon did not have a problem with it when reviewing. It should not even be a part of the game, hence why it's a QoL feature. It doesn't give you an advantage within the room. It doesn't strike against guidelines (which I reviewed HEAVILY prior to submission). It's just like the Ver Sinhaza bank with the big entrance where if you barely even click into it's area it sends you to Narnia.
As for the enabledByDefault = false, I don't intend to force QoL functions onto people. There are so many config items, it would be an abundance of features instantly enabled which may not be desired by people. If you would like me to default some of the basic and less obtrusive items, then I can enable some. I don't feel comfortable forcing all on everyone on initial load.

When did you tell me that removing null tiles wasn't allowed? NFC/Lemon did not have a problem with it when reviewing. It should not even be a part of the game, hence why it's a QoL feature. It doesn't give you an advantage within the room. It doesn't strike against guidelines (which I reviewed HEAVILY prior to submission). It's just like the Ver Sinhaza bank with the big entrance where if you barely even click into it's area it sends you to Narnia.

This almost certainly falls under Any movement or resizing of click zones for 3d components in the boss fights section from https://secure.runescape.com/m=news/third-party-client-guidelines?oldschool=1

I plan to remove the html from the title so it can fall into place. As for the config items, I would like to provide some kickback to as it does not do anything besides help separate the abundance of config items. It does not provide performance issues just due to colorations. It's a plugin hub item and if people don't like the attempt to assist with separating it, they can uninstall the plugin. They're most likely only going to stare at the config ONCE or TWICE on initial download to setup and then close the panel away once they're happy with the settings.

Personally I dislike this because it makes it visually inconsistent with the rest of the plugins. While the config panel is part of the plugin, its really part of the larger config system which is part of the base client. I would prefer to see it changed to be visually consistent with the rest of the configs.


[Documentation Update]: Adding the Cocktail Sort Sorting Algorithm

Is there an existing issue for this?

[X] I have searched the existing issues

Issue Description
I want to add the cocktail sort in the sorting algorithms
Suggested Change
The cocktail sort algorithm is missing in the sorting Algorithms list, I want to add add the same.
Rationale
No response
Urgency
High
Acknowledgements

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository
[X] I have read and followed the Contribution Guidelines
[X] I have followed the code style guidelines of this project
[X] I have checked for any existing open issues that my pull request may address
[X] I have ensured that my changes do not break any existing functionality
[X] Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently
[X] I have read the resources for guidance listed below
[X] I have not used AI-generated content (e.g., ChatGPT, other AI tools)
[X] I have not used content from existing sites (e.g., text, images)
[X] I have followed all security rules and only shared trusted resources

@Ajay-Dhangar please assign this to me...


Updating README.md file to include the npm initializer

Upon Stork's request, she wanted us to call out this first step npm init to initialize npm prior to install HS node SDK. So, users can avoid running into an issue when trying to cd node_modules/hellosign-sdk. So, we added that one note only:
Optionally, to scaffolding your package.json first
npm init

I'm not entirely sure this is really necessary based on the requirements mentioned in the PR description.

So, users can avoid running into an issue when trying to cd node_modules/hellosign-sdk.

When running npm install hellosign-sdk, npm will automatically create a node_modules folder in the current directory, just not a package.json. All npm init will do is create a package.json in the folder.
Maybe I've missed something?

@nathanbuchar, you have not missed anything. Our main call out was to assist non-node Primary developer to better initiate the package before installing. This is us going the extra mile to educate non-node API customers and can be closed with the need to getting pushed.

In this case, instead of taking on the onus of educating developers about npm, perhaps we should link out to npm documentation instead, like this doc: https://docs.npmjs.com/downloading-and-installing-packages-locally

I like your approach. Where would you see the best location for that url in the README file?

Probably just a note on line 17 (above the code block) which says something to this effect:

First time using npm? Read more about installing npm packages here.


fix: Always set MUST_CHANGE_PASSWORD on account creation

Previoulsy, GetOK was returning false on a falsely-set value for this, stopping it from going into the query string.  We can safely use Get instead to always get this clause into the query string (The resource param has a default of false already).
This has the added benefit of not relying on the default behavior on the snowflake side, which has changed in the past.  So tf users shouldn't be caught off guard if it changes again.
I wrote a test for this before I realized this issue lied in the provider code

this addresses https://github.com/Snowflake-Labs/terraform-provider-snowflake/issues/1607

Test Plan

[x] acceptance tests
[x] unit tests

[x] local testing, debug logs, and activity logs on snowflake side

References

/ok-to-test sha=8d62ddc9007972f480016793e3c7b6d1f143c79e

/ok-to-test sha=f1a0c9a5f9735b8e08a550933a46cdf34c469127

Thanks @doyleish! This will be available in the next release, 0.70.0.

Awesome! Thanks for the merge


CB-7182 IT fails intermittently, statuschecker disabled

Closing this due to inactivity, please reopen if still relevant.


Whole map should display if < 21x21

According to the DMref, if the map is less than 21x21 the whole map should be displayed.
on /world/view
If the entire map is small enough to fit on one screen (arbitrarily defined to be 21x21 or less), the default view is automatically adjusted to fit the map. In this case, client.lazy_eye is also automatically turned on by default, since you probably don't want the map to scroll around.

so that's why my test projects act like that lol


Update plugin to work with MySQL 8

The MySQL 8 C library has changed the return type of some functions so the plugin will need updating to reflect this.
In order to continue supporting older releases we will need to provide a wrapper function that handles the differing return types between MySQL versions.

@andy1247008998, having spent some time investigating the use of a wrapper it became apparent that while it resolved the issues around the function calls there were typing issues that meant nearly all the wrapper would have to be re-implemented in C to make it work.
As a result it was decided to move master up to MySQL 8 level and maintain a second branch at the MySQL 5 level. I have been working on the necessary build infrastructure and Readme updates to support the changes necessary.

PR open...https://github.com/IBM-Swift/SwiftKueryMySQL/pull/28

Following further consideration I am revisiting the use of a c wrapper so we can be version agnostic.

A fix for this was merged under PR #36.
The fix uses typedefs in a C header to abstract the underlying mysql type to a generic type used in the Swift plugin. Helper functions for setting and retrieving the value are also provided.


Zoomed windows are occluded if not preemptively raised

Zooming a window which hasn't been raised will cause it to be occluded by other windows.
(or more specifically all windows which have been raised since the window in question itself was raised)
This will frequently happen if you use focus_follows_mouse = autofocus.
A common use case (at least for me) is to hover a window I want to fullscreen and then pressing the corresponding binding.
As it currently is I have to press the window before or after zooming it.
A solution would be to force-raise any window which are zoomed.

This also seems to occur using focus_follows_mouse = autoraise, although not consistently. Not sure when or why, however.

This was an ordering bug with the animation system; I have changed the system not to mess with ordering since then. I personally think I'd sometimes prefer the behaviour you are talking about, where I can zoom a window and not make it frontmost.
The behaviour you described can be easily achieved by using the following command:  yabai -m window --toggle zoom-fullscreen --focus so I don't think it needs to be made a default?

This was an ordering bug with the animation system; I have changed the system not to mess with ordering since then. I personally think I'd sometimes prefer the behaviour you are talking about, where I can zoom a window and not make it frontmost.
The behaviour you described can be easily achieved by using the following command:  yabai -m window --toggle zoom-fullscreen --focus so I don't think it needs to be made a default?

That's reasonable, completely missed that --focus was an option. Thanks!


Add k8s deployment yaml to demoactor example

Describe the proposal
This is to give users the example of how to deploy actor services to k8s cluster.

dupe of https://github.com/dapr/dotnet-sdk/issues/96


Webserver with Websocket: how to start?

Dear Neil,
thank You for Your great work on these ESP32 libraries - I highly appreciate it.
Currently I am planning to setup a webserver for an embedded device using the ESP32. Here I need to exchange fastly some data with the embedded device and the webbrowser. So, I think a webserver with websocket (instead of REST) could be a good choice. Checking Your library I see two different approaches: one using mongoose.c and the other one using Your WebSocket.cpp code. Now I ask myself which approach to choose. My questions are:

Mongoose seems to have a powerful featureset and is easy to use. So, why not choose mongoose? Are there issues concerning the license or speed of encryption in case of using https and wss (not using the hw accelerator of the ESP32)?
What is the advantage of using Your WebSocket.cpp code?

Best regards
Lothar

Howdy Lothar,
I'm a big fan of C++ these days and think it makes a great environment for ESP32 programming.  To that end I'm looking at all the major functions and seeing if they can be encapsulated as C++ classes.  Web server function was an obvious one given the nature of the ESP32.  To that end we wrote a set of C++ classes that attempted to encapsulate the function of the 3rd party Mongoose web server library.  That worked great ... no issues.  Mongoose is super mature and works as advertized.
However my thinking went as follows:

The mongoose library is licensed material ... happily, it is open source and 100% available for re-distribution as long as the complete source of the surrounding application is also open source.  For me and my purposes this is fine.  However I envisioned some scenarios where users of the C++ library I am tinkering with might inadvertently include my free for use library and pull in mbedtls for commercial purposes and then there would be a mess.

The mongoose library (of course) uses sockets.  However in my play, I wanted to create a C++ class that encapsulates sockets ... which would then an app using the mongoose wrapped HttpServer would now be running through native sockets and my wrapped sockets.  Not a big deal ... but something I was hoping to avoid.

... and this is the biggie.   In my day job I recently had to study the HTTP protocol is some great depth.  Most of us in IT space have done this at some point or another and the result was that I said "it might be fun to see what would be involved in writing an HTTP server"

I'm tinkering with an ESP32 project that I call "ESP32 Explorer" .. see:

https://github.com/nkolban/ESP32_Explorer
This is a library which can be linked with an ESP32 programmers on apps that provides visibility at runtime into the operation of that app.  It behaves as an HTTP Server to serve up web pages that show the result (see screen shots in the repository above).  Because I wanted to have this embedable into user's own ESP32 apps, I got nervous about basing that part on Mongoose ... so now we have an extremely simple Web Server that can be included that I know 100% how it works and it has no polling loops.   I also needed WebSocket support so that got added too.
I'm not trying to "push" either the Mongoose code for your use or my own new code for your use ... I'll happily support the C++ libraries for either.  When I write any code, I try and push it up there as quickly as I can in the hope that it may be of use to someone/somewhere.  No magic agenda on my part ... all this code is free and the only smile that comes to my face is when someone finds some benefit from it.

Hi,
ive found nice open source project which is simillar to pubnub and can be alternative for mongoose. Its socketcluster, https://socketcluster.io/#!/. And here  you can find c client. Its very nice framework which have standalone server. Server can be setup on any node server (at home on R-Pi or on heroku) and many clients.
@nkolban If you will have some time and you see it as good tool to work with esp32 then maybe you could make a client for it.

I have still one question on this: In case of using an encrypted connection (https and wss), do mongoose and Neil's solution use the HW accelerators of the ESP32? I think if one of the solutions does not use it, it might make a big difference in performance, right?

To the best of my knowledge, the Mongoose logic uses the mbedTLS library and the library I am tinkering with also uses mbedTLS.  It is my understanding that leveraging the mbedTLS supplied with ESP-IDF does indeeded leverage  ESP32 native capabilities.  I just got SSL/TLS working on the HttpServer classes last night (not yet committed to the repository).

Now I am trying to use the Websocket class in combination with the HttpServer class. Unfortunately I do not understnd how to use it. Is there somewhere an example or at least a skeleton showing how it is going to be used?

Now I am trying to use the Websocket class in combination with the HttpServer class. Unfortunately I do not understnd how to use it. Is there somewhere an example or at least a skeleton showing how it is going to be used?

Howdy ... lets start at the beginning ... have you had a chance to look at this documentation?
https://github.com/nkolban/esp32-snippets/blob/master/Documentation/BLE C%2B%2B Guide.pdf
Also ... I'm now available live on IRC in channel #ESP32 as user kolban

currently I am able to activate a handler:
static void wsHandler(HttpRequest* pRequest, HttpResponse* pResponse) { 	static char tag[] = "wsHandler"; 	ESP_LOGD(tag, "Request-Path: %s", pRequest->getPath().c_str()); 	WebSocket *pWebSocket = pRequest->getWebSocket(); }
but what to do in the handler?

Once you has a reference to a WebSocket object (pWebSocket in your example) ... you can now send data to the partner by calling pWebSocket->send(data).
If you want to receive data from the partner, then once you have the WebSocket object, you can register a handler for WebSockets using:
MyWebSocketHandler myWebSocketHandler;
pWebSocket->setHandler(myWebSocketHandler);

We do this because data coming from the web socket partner can arrive at any time (asynchronously).  The WebSocketHandler has callback methods for:

onClose() - You are told when the partner closes the web socket
onError() - You are told if there is an error in the web socket
onMessage() - You are told when there is a new message from the partner

if I do this:
static void wsHandler(HttpRequest* pRequest, HttpResponse* pResponse) { 	static char tag[] = "wsHandler"; 	ESP_LOGD(tag, "Request-Path: %s", pRequest->getPath().c_str()); 	WebSocket *pWebSocket = pRequest->getWebSocket(); 	pWebSocket->send("Hello", WebSocket::SEND_TYPE_TEXT); }
then I get this;
D (27102) wsHandler: Request-Path: /api/v1/ws D (27107) WebSocket: >> send: Length: 5 D (27110) Socket: send: Raw binary of lengthh: 2 Guru Meditation Error: Core  0 panic'ed (LoadProhibited) . Exception was unhandled.

When we get an exception, we should also be able to get a stack trace to determine where within the code the exception was thrown.  I tend to use the flags that say that when an exception occurs, halt the processor and place me in GDB.  Then I can run the GDB command "bt" (back trace) and determine exactly where the problem happened.

The log also has:

Register dump:
PC      : 0x4017a41f  PS      : 0x00060630  A0      : 0x80145e3c  A1      : 0x3ffd
82a0
0x4017a41f: Socket::getSSL() const at E:/msys32/opt/devel/HttpServer/components/cp
p_utils/Socket.cpp:244
A2      : 0x00000008  A3      : 0x3ffb5864  A4      : 0x3f4118d4  A5      : 0x0000
0104
A6       : 0x00000001  A7      : 0x00000004  A8      : 0x80082af8  A9      : 0x3ff
d8240
A10     : 0x00000034  A11     : 0x3ffd55a8  A12     : 0x3ffd8280  A13     : 0x0000
000c
A14     : 0x00000000  A15     : 0x00000003  SAR     : 0x00000004  EXCCAUSE: 0x0000
001c
EXCVADDR: 0x00000010  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xffff
fffe
Backtrace: 0x4017a41f:0x3ffd82a0 0x40145e39:0x3ffd82c0 0x401418d6:0x3ffd82f0 0x401
0aa81:0x3ffd8320 0x4017a44d:0x3ffd8370 0x4014a365:0x3ffd8390 0x4014ae3d:0x3ffd86b0
0x40145984:0x3ffd9810
0x4017a41f: Socket::getSSL() const at E:/msys32/opt/devel/HttpServer/components/cp
p_utils/Socket.cpp:244
0x40145e39: Socket::send(unsigned char const*, unsigned int) const at e:\msys32\op
t\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/basic_string.h:4787
0x401418d6: WebSocket::send(std::_cxx11::basic_string<char, std::char_traits<char
, std::allocator >, unsigned char) at E:/msys32/opt/devel/HttpServer/compon
ents/cpp_utils/WebSocket.cpp:352
0x4010aa81: wsHandler(HttpRequest*, HttpResponse*) at E:/msys32/opt/devel/HttpServ
er/main/main.cpp:88
0x4017a44d: PathHandler::invokePathHandler(HttpRequest*, HttpResponse*) at E:/msys
32/opt/devel/HttpServer/components/cpp_utils/HttpServer.cpp:483
0x4014a365: HttpServerTask::processRequest(HttpRequest&) at E:/msys32/opt/devel/Ht
tpServer/components/cpp_utils/HttpServer.cpp:278
0x4014ae3d: HttpServerTask::run(void*) at E:/msys32/opt/devel/HttpServer/component
s/cpp_utils/HttpServer.cpp:278
0x40145984: Task::runTask(void*) at E:/msys32/opt/devel/HttpServer/components/cpp
utils/Task.cpp:58

I think my problem is that the pointer returned by:
WebSocket *pWebSocket = pRequest->getWebSocket();
could be invalid?

I think I found the problem:
During the check if it is a WebSocket in the constructor of HttpRequest a check is done like this:
getHeader(HTTP_HEADER_CONNECTION) == "Upgrade"
but in my request there is:

D (12410) HttpRequest: name="connection", value="keep-alive, Upgrade"

There is an additional "keep-alive" in the request. If I comment this our, then it works.
Is there a way to change the request (coming from Firefox/57.0)?

Great find.  I had assumed that the Connection header property would exclusively be Upgrade and nothing else.  The code has been changed to assume that the Connection property is now 1 or more tokens separated by the , character.  We now read the Connection, split it into its parts and then examine each of the parts to see if any of them are Upgrade.  The code changes have just been checked in.  It compiles cleanly but not yet tested.  Can you give it a spin and see how this feels?

I will test it tomorrow evening.

I tested the new version of cpp_utils. Now the problem seems to be fixed.

That's great news.  If/when you are ready, close out this issue.  New problems can be raised at any time as we are happy to handle as many issues as needed.  We want to avoid re-using the same issue for distinct and un-related problem reports.  I.e. we'd rather have as many issues to track individually than one large issue that spans multiple problems.

Hi,
Have you people used HttpServer with SSL enabled. It is not working for me crashing and closing socket connection when use from web browser my sd card file system.
I am improve c++ WebServer class which uses mongoose web serrver C API.
Currently it does not support SSL. I am putting it. not huge success so far.

No, until now I did not use HttpServer with SSL enabled. But I will have to use ist as soon as I want to use my webserver online on the internet. But currently I have no idea how to achieve that.

oh ok. can kolban tell us have he tested HttpServer with SSL.
It is single threaded. if we make it work with two thread as esp32 platform have two cores. I think it will speed up serving web pages.

Hi Kolban,
I'm looking at mongoose for a small project and noticed your comment:
The mongoose library is licensed material ... happily, it is open source and 100% available for re-distribution as long as the complete source of the surrounding application is also open source.
From what I understand the Apache 2.0 license does not force you to have a open source license on your project code just because you use the mongoose framework. Do you know if the mongoose framework had another license in 2017?


Visual Studio User Profile

Issue Type: Feature Request
I'd like to have an option to log into my Microsoft Account, just like Visual Studio Community does. This functionality could save my preferences (user settings, preferred extensions, etc.). If I use another machine with the same login I could import this preferences.
VS Code version: Code 1.24.1 (24f62626b222e9a8313213fb64b10d741a326288, 2018-06-13T17:47:35.732Z)
OS version: Linux x64 4.16.17-041617-generic

Is the same thing as (#38397)


String incorrectly identified as ean13

ArticleNumberHelper.GetArticleNumberType("849172008847 ") is reported as type EAN13 but I think it should be unknown or maybe UPC (if the traling space is ignored)

https://www.gs1.org/services/check-digit-calculator

@Magnus12 please check the new nuget package

Wow, you are quick. 👍


AmiGO download - please add column labels

Hello,
When you download annotations from AmiGO the columns are not labeled; can this please be added?
Thanks, Pascale

See also
https://github.com/geneontology/amigo/issues/194

@pgaudet
This is actually a limitation of grabbing the downloads directly from Solr, and solr does not supply column headers in this version. To implement this, we'd have to pass the results through another server to inject them; I am doubtful this would scale well for larger results sets and would be another component to fail within the system.
We may want to revisit this later on once the backend has switched to something that would support this more cleanly.


About report_masks?

Hello,
Thank you for your good work.
However, I saw that you use the key "report_masks" from annotation dictionary, but it is not included in file "annotation.json" you provided.
Even you used "report_masks" to compute loss function, you have no explanation for this.
Hope receive your response soon,
Best.

report_masks is defined here:
https://github.com/zhjohnchan/R2GenCMN/blob/3a995dc7744222187c0a927e8b44a555191bf592/modules/datasets.py#L19-L21
then
https://github.com/zhjohnchan/R2GenCMN/blob/3a995dc7744222187c0a927e8b44a555191bf592/modules/datasets.py#L55-L57

Hi @douseful and @caodoanh2001,
Thank you so much for the explanation @douseful!
Best,
Zhihong


Add tap-github as a discoverable extractor

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2815
Originally created by @tayloramurphy on 2021-06-24 16:33:37

View 1 previous comment from the original issue on GitLab


[aes/alert] some aes state information available upon fatal alert

When injecting a bit flip to cause a fatal alert in the AES engine - reading the status register will give information on the status of the core. Idle, data_in_ready, stall etc.
could this be a security risk?
I imagine that running the AES module in manual mode and injecting errors at different times then reading the status could potentially give away information.
The aes_alert_reset test currently do not fail on this - but maybe we want to force an all 0's or a random value on the status register in case of a fatal?
I have tried to read the other registers but I don't see any feasible way of trying to correlate this to internal round keys etc.

Thanks @rasmus-madsen for bringing this up. I didn't think about this when implementing the alerts. My guess is that it would be better to set all other bits in the status register to zero or a random value whenever the fatal bit is set. The same should probably happen with the trigger register as triggers are only cleared after an specific operation has started/finished. So this could also give away information. I would be curious to get the views of @cdgori and @tjaychen.

Thanks for the feedback @cdgori . In this case I will prepare a PR to change the behavior around this.


#161527250 code refactor

Pull Request Test Coverage Report for Build 12

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.897%

Totals

Change from base Build 10:
0.0%

Covered Lines:
187

Relevant Lines:
195

💛  - Coveralls

Pull Request Test Coverage Report for Build 12

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.897%

Totals

Change from base Build 10:
0.0%

Covered Lines:
187

Relevant Lines:
195

💛  - Coveralls


Dynamic M Query after loading dataset from Power BI dataflow

Dear Microsoft Team. First, thank you for this useful article.
I would like to ask if it is possible for you to add more information in this article about using the Dynamic M Query when loading data from other sources. In this article, you presented very clearly how to do it when we are loading data from SQL.database and AzureDataExplore.Contents. I am struggling on adding the dynamic parameters when I load data from a dataflow in this line of code:
Source = PowerPlatform.Dataflows(null),
Workspaces = Source{[Id="Workspaces"]}[Data]
I hope it will be possible to explain how can we do that. Thank you for your attention.
Kind regards,
Lucianna

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

ID: dc66475d-11b3-ba33-cde4-9948dc07ea2c
Version Independent ID: 46aeb704-a74f-2064-307f-24660579ef4c
Content: Dynamic M query parameters in Power BI Desktop - Power BI
Content Source: powerbi-docs/connect-data/desktop-dynamic-m-query-parameters.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @LuciannaFG. This issue has been assigned to the doc author for review.

Thanks for your request, we'll look at doing that.


applet.interface.pulse_counter: new applet to count pulse events on pins

I'm writing this applet for a testbench I'm building.  Initial version will just edge detect on pins and increment counters.
Other future features could include

counter reset
per pin configurable debounce time
pulse width measurement (min/max/median/recent)

see https://github.com/GlasgowEmbedded/glasgow/pull/218


Daktronics Hockey Powerplay syncing

Powerplay input still needs to be done manually through the messages window. This is not always a simple task and needs to be syncable as soon as possible.
Extra thought needs to go into:

How this will be done with the current messages system.
How these data packets behave in other sports which may have penalty timers but don't have power plays.

Resolved https://github.com/rpitv/glimpse-graphics/tree/pp-and-shots-sync


[REEF-486]  Refactor Org.Apache.REEF.Examples.AllHandlers

This PR is to move handlers in Org.Apache.REEF.Examples.HelloCLRBridge.Handlers to corresponding example and test folders and rename, update the coresponding test code to use ClientAPI.
*Renamed Org.Apache.REEF.Examples.HelloCLRBridge project to Org.Apache.REEF.Examples.AllHandlers
*Renamed the class Org.Apache.REEF.Examples.HelloCLRBridge.ClrBridgeClient.cs to Org.Apache.REEF.Examples.AllHandlers.AllHandler.cs
*And moved handlers in Org.Apache.REEF.Examples.HelloCLRBridge.Handlers to Org.Apache.REEF.Examples.HelloCLRBridge project so that they all stay in the same project as a complete example.
*Removed TestHelloBridgeHandlers.cs as the test has been covered by TestBridgeClient.cs
*moved Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloSimpleEventHandlers.cs to test folder and updated it
*updated test case Org.Apache.REEF.Tests/Functional/Bridge/TestSimpleEventHandlers.cs to use ClientAPI
*removed the code in Org.Apache.REEF.Client/CLRBridgeClient.cs, preparing for REEF-473
JIRA: REEF-486(https://issues.apache.org/jira/browse/REEF-486)
This closes #
Author: Julia Wang  Email<EMAIL_ADDRESS>

@jwang98052 I did a pass and left one minor comment. The tests pass on my machine (yay!).
One thing, though: We should improve the documentation of these examples. Both in terms of XML docs, and by adding a Readme.md to tell people what the example is for. We have done this for the HelloREEF Example before.
Also, this has merge conflicts.

Added readme file and comments, rebased and pushed in.

@jwang98052 Thanks, I will test and merge.

tests pass, I will merge.

Thanks!


Android Typescript Template - AppLabel with Whitespace

From @SjurWarEagle on June 19, 2016 13:17
Hi,
at the moment the name in package.json must not have any whitespaces and it has to match the app_name from strings.xml.
This results in the app_name not having whitespaces.
The label title_activity_kimera may have whitespaces but when it is different from the app_name this results in a bad unstallation dialog on Android.

A solution would be to change the default AndroidManifest.xml:
<application
    android:name="com.tns.NativeScriptApplication"
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/title_activity_kimera" <------ change this
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.tns.NativeScriptActivity"
        android:label="@string/title_activity_kimera" <------ remove this
        android:configChanges="keyboardHidden|orientation|screenSize">

after this, everything looks fine.

Copied from original issue: NativeScript/nativescript-cli#1860

can't reproduce with the latest runtime.


Create cleaning util module mirroring util.py

Adresses issue # 196
creates a module in text extensions that folds the functionality of util.py into the main library.
Provides functionality for the following:

preprocesssing of models to bert compatible formats
creation and training of models, using ray to increase speed
creation and training of reduced-accuracy model ensembles using user defined or automatic kernel sizes and seeds
running inference on a dataset with either iob or per-token style labels
running inference as above and conversion back to the original tokenization of the dataset
flagging suspicious labels given a set of inferred features, as predicted by an ensemble of models and the model labels

All changes Requested have been made.
new util.py has been split into 3 sub-modules:

preprocess.py
ensemble.py
analyze.py

which together encomass the same functionality.
All of the CoNLL_* notebooks have been updated to use the new module.
A new tutorial document, Cross_check_datapoints.ipynb has been created to give an overview of the functionality, and demonstrate it on a classification task.

@ZachEichen can you please pull the latest fixes from the master branch into your PR branch to unblock the CI tests?


add beaker bindings to terarium notebooks

Description

Adding beaker keybindings to terarium notebook
j, ArrowUp -> select previous cell
k, ArrowDown -> select next cell
a -> add cell above
b -> add cell below
enter -> enter cell
esc -> exit cell

fix: default dataset cell when opening notebook

getting some overflow issue

Hmmm, not really getting anything different on my side, I didnt really touch the css or templating.  Let me see if I can create something similar

The overflow issue was present before these changes, will fix this up when Im working on the cells


Update to absolute link

post_url doesn't work as expected so making the link an absolute link. It ends up generating a root level link and since our CI is hosted at the root the link checker passed but when we publish we are hosted under "azure-sdk/" path the link ends up not working. I believe this is a known issue with version of Jykell gh-pages uses but not great solution other then using absolute or adding baseurl to the post_url until github moves to Jykell 4 (https://jekyllrb.com/docs/upgrading/3-to-4/)
fyi @adrianhall

Superceded by #1237


Missing result in documentation.

Result missing in https://github.com/muze-nl/jaqt/blob/main/docs/manual.md for:
You can also order by values that are not in your select statement. Do this by first ordering and then selecting values:

result = from(data.people)
.orderBy({
    metrics: {
        height: asc
    }
})
.select({
    name: _
})

Happy to accept patches :)


transformerDirectives doesn't work with lightningcss.

UnoCSS version
0.53.6
Describe the bug
Error when using @apply at css and setting css.transformer = 'lighningcss' in Vite
8:26:31 PM [vite] Internal server error: Unknown at rule: @apply
  Plugin: vite:css
  File: /@toad/home/foxpro/craft/sferadel/next/web/core/app.scss:18:13
  16 |     }
  17 |     body {
  18 |        @apply dark:(bg-gray-900 color-white-000);
     |               ^
  19 |     }
  20 |

Reproduction
https://github.com/MrFoxPro/unocss-directives-lighningcss
System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

@appy is support by other css pre-processors or css language, but not lightingcss. you can change to --at-apply as the document said


Commit for Review

In this branch,  I was meant to:
✅ connect my store to the main component of my React App
✅Define a state slice to contain my books
✅Display my books from the slice in a reusable component
✅Dispatch actions using 'useDispatch'
✅Add functionality to the buttons for adding, removing, and checking the status of books.
All requirements were already met in my previous pull request, so I have added the hard coded list of books in this project's requirement to be displayed in the reusable component.

Thank you Ben. I have made the change you requested.


Always persist changes on #save

Even if the content object does not implement the save function, persists the changes on #save and returns a Promise.

Note that tests are OK, there is  an error on connecting to bower but I don't know how to force circle-ci to re-run tests.


@broskoski fix some bugs with inquiry modal

fixes https://github.com/artsy/force/issues/598
also fixes a bug i saw while fixing the first where a logged out user with an account was getting sent directly to the password entry step, skipping over the inquiry step where you can modify your message.

Thanks, LGTM!


Add Authentication

Open up for discussion, a PR for adding Authentication.
Currently the URL generation has a lot of repeated code. My solution to add the auth parameters only when needed feels a little bit hacky currently. Setting db and auth parameters can be done before the if-statement.
Are there arguments against this auth method (Params in URL)? Should we support all of the three possibilities (Basic auth, Query parameters in the URL and in the body )
Testing needs to be added as well.
Closes #9

I thought about getting rid of the url dep but had not checked the rest of the code.
I am not sure about having a new and something else. Looking at other crates we could rename new to connect(url, database) and then add with_auth(url, database, auth) which takes the InfludxDbAuthentication stuct.
For CI we would need to spin up a authed influxdb instance. Should we provide a config in the repo or copy and edit the config in place for the authed instance?

I am not sure about having a new and something else. Looking at other crates we could rename new to connect(url, database) and then add with_auth(url, database, auth) which takes the InfludxDbAuthentication stuct.

I thought about making it a builder pattern, this would be the best solution!

For CI we would need to spin up a authed influxdb instance. Should we provide a config in the repo or copy and edit the config in place for the authed instance?

Not sure about the best solution, would be fine with either.
If you want, we could also switch to Github Actions as the CI, but that might warrant a different PR.

I am not sure about having a new and something else. Looking at other crates we could rename new to connect(url, database) and then add with_auth(url, database, auth) which takes the InfludxDbAuthentication stuct.

I thought about making it a builder pattern, this would be the best solution!

By adding a Builder for the client or by making with_auth return a &mut InfluxDbClient

I thought about the client so you can do both InfluxDbClient::new("http://localhost:8086", "test") for unauthenticated connections and InfluxDbClient::new("http://localhost:8086", "test").with_auth(InfluxDbAuthentication::new("admin", "password")). with_auth could even accept strings and use InfluxDbAuthentication internally. What do you think?

That is the same thing I came up with currently.

After fighting with futures here is an improved version including tests and changes to CI.
I added parsing of reqwest::StatsuCode, so proper errors for auth failures can be returned.
As it was a real pain to get it right, it would be nice if you can have a second look over the future chain for query.

It seems my sed command does not change the bind-address or something else is preventing the second instance from starting. Do we need to set different data dirs?

I started looking into Github Actions @valkum
Seems like we can do the multiple instances much easier that way
name: Rust

on: [push]

jobs:
  build:

    services:
      unauthed_influx:
        image: influxdb:alpine
        ports:
          - 8086:8086
      authed_influx:
        image: influxdb:alpine
        ports:
          - 9086:8086
        env:
          INFLUXDB_USER: 'integration_test'
          INFLUXDB_USER_PASSWORD: 'test'

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Run tests
      run: cargo test --verbose

I think this is how a test with two Influx instances could look. Should I pursue this more to get rid of the (lacking) Travis CI config?

I found out you can easily use docker for running your influxdb instances. This seems clean to me for now. No need to change to actions.

That's a great solution with the Docker in Travis 👌! Should I do a last round of code review to get this merged?

Not sure how to increase the coverage more. Tests for ProtocolError, DeserializationError as well as InvalidQueryError seem hard.

Let's see what it comes out to. I think it's fine 👍

Just some warning and lints: https://travis-ci.org/Empty2k12/influxdb-rust/jobs/572918173
Other than that it looks ready to merge!


OSTRICH 1.4

@pruemmer We have executed the latest version of OSTRICH on a randomly chosen subset of 20 single-query benchmarks from each logic where it participates. The benchmarks are also scrambled by the competition scrambler (with seed 1). You can find the results here: https://www.fi.muni.cz/~xjonas/smtcomp/ostrich.table.html#/table
Quick explanation:

Green status means that the result agrees with the (set-info :status _) annotation from the benchmark.
Blue status means that the benchmark has annotation (set-info :status unknown).
By clicking on the result (e.g. false, true, ABORTED, …) you can see the command-line arguments with which your solver was called and its output on the benchmark.
By clicking on the benchmark name (i.e., *scrambled*.yml), you can see the details of the benchmark including its contents (by clicking on the file link in input_files) and the name of the original bennchmark before scrambling (e.g., # original_files: 'non-incremental/AUFBVFP/20210301-Alive2-partial-undef/ph7/583_ph7.smt2').

Please check whether there are some discrepancies, such as missing/extra logics, unexpected aborts or unknowns, and similar. If you update the solver, let me know and I can execute further test runs. We still have plenty of time for several follow-up test runs.

Thanks; we have now made a new version of Ostrich 1.4 (pre) available:
https://philipp.ruemmer.org/ostrich-2024.tar.gz
Could you do test runs with this version as well?

Thanks; we have now made a new version of Ostrich 1.4 (pre) available: https://philipp.ruemmer.org/ostrich-2024.tar.gz Could you do test runs with this version as well?

Done! You can find the new results on the same URL as before: https://www.fi.muni.cz/~xjonas/smtcomp/ostrich.table.html#/table

Great, thanks! We have now made the final version of Ostrich available,
under the same link:
https://philipp.ruemmer.org/ostrich-2024.tar.gz


Kotlin Translation

I like this project, and by converting this code to Kotlin it would allow for multi-platform project with a single source code. I'm proposing that this code gets translated to Kotlin.

Thanks for the suggestion Shawn. I'm not super familiar with Kotlin, but it looks like Java libraries can be called from Kotlin directly. Is there anything we would gain from having a Kotlin library as opposed to a Java one?

Checking in on this again - would having a Kotlin library provide any benefits over the existing Java one?

@zongweil I haven't used this myself - but Kotlin can apparently be used in a multi-platform context where interoperability with Java code isn't possible or necessary in all instances. This tutorial is about sharing Kotlin code between an Android and an iOS app, for example: https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html
Translating the Java class itself should be easy to do, and it might even be possible to reuse the existing Java tests.

Oh interesting. Writing a Kotlin implementation isn't super high priority for us, but this would make for a  good contributor project.

see #366

Recommended tag: implementation request


Migrate to node-sqlite3

We should consider moving away from better-sqlite3 and replacing it with another library (possibly sqlite3)

Might fix compilation issue
Does not block the main thread

https://github.com/UnstoppableSwap/unstoppableswap-gui/commit/bfc3b930d7b400fb6d3c3f330e1d2b6f31d619bc


Update jointjs.d.ts

Removed namespace from Generic dia shape causing import issues.

@th0br0 Thanks mate!


Cannot use on Razor Component Library

I cannot use the MatBlazor Nuget Package on Razor Component Library.
It allways says that the reference is not found and offers to install it.
It works fine on the host project. Any ideas?

I'm using it without any issues in the library. Check your library cproj file. I have the following.
<Project Sdk="Microsoft.NET.Sdk.Razor">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RazorLangVersion>3.0</RazorLangVersion>
    <LangVersion>8.0</LangVersion>
  </PropertyGroup>
</Project>

Thank you, the default framework from the razor template was netstandard, changing this fixed the issue.


Fix snapshot build, upgrade to OpenSearch 1.1.

Signed-off-by: dblock<EMAIL_ADDRESS>Is your feature request related to a problem? Please provide an existing Issue # , or describe.

Upgrades version to 1.1, uses OpenSearch version.
Runs snapshot builds by default.
Renames output artifact to include version.

Closes #48, #56, #40.
There's a circular dependency described in https://github.com/opensearch-project/performance-analyzer/issues/50, so https://github.com/opensearch-project/performance-analyzer/pull/53 is needed. Once this is merged I'll switch references to my fork that contains this code.
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #55 (1a92e13) into main (f798b0e) will increase coverage by 0.09%.
The diff coverage is n/a.

:exclamation: Current head 1a92e13 differs from pull request most recent head b74962d. Consider uploading reports for the commit b74962d to get more accurate results

@@             Coverage Diff              @@
##               main      #55      +/-   ##
============================================
+ Coverage     76.85%   76.95%   +0.09%
- Complexity     3177     3181       +4
============================================
  Files           367      367
  Lines         18477    18477
  Branches       1401     1401
============================================
+ Hits          14201    14219      +18
+ Misses         3777     3762      -15
+ Partials        499      496       -3

Impacted Files
Coverage Δ

...ormanceanalyzer/rca/store/rca/cache/CacheUtil.java
61.29% <0.00%> (-3.23%)
:arrow_down:

...formanceanalyzer/rca/net/tasks/FlowUnitTxTask.java
97.61% <0.00%> (-2.39%)
:arrow_down:

...erformanceanalyzer/rca/framework/core/RcaConf.java
64.08% <0.00%> (+1.40%)
:arrow_up:

...nsearch/performanceanalyzer/rca/RcaController.java
85.46% <0.00%> (+3.08%)
:arrow_up:

...cisionmaker/actions/ModifyQueueCapacityAction.java
89.58% <0.00%> (+4.16%)
:arrow_up:

...manceanalyzer/decisionmaker/deciders/Decision.java
76.47% <0.00%> (+5.88%)
:arrow_up:

...zer/decisionmaker/deciders/QueueHealthDecider.java
82.00% <0.00%> (+6.00%)
:arrow_up:

.../rca/store/rca/util/NodeConfigCacheReaderUtil.java
95.00% <0.00%> (+15.00%)
:arrow_up:

Continue to review full report at Codecov.

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

I think I need to fix performance-analyzer first ...

If we are adding version number to the performance-analyzer-rca artifact name then we need to update them here as well: https://github.com/opensearch-project/performance-analyzer-rca/blob/main/docker/Dockerfile#L61

@sruti1312 Could you please help me with this? I can't get a successful build, tests are timing out and/or are flaking. I opened #57. What should I do with this?

I disabled slow integration tests (and re-enabled two tests that aren't failing anymore) in https://github.com/opensearch-project/performance-analyzer-rca/pull/55/commits/b6e510cc683d6e222ac6be93302603323bc960a8, hope we can merge this and #57 can be picked up by the plugin team? @sruti1312


Reconnect button displaces "what to mulligan" button in constructed play

Not exactly completely sure the extension is the cause, but I'm kinda guessing it is. The "what to mulligan" button from the base application gets pushed down below the windows start toolbar. Could you add an option to disable the extension in constructed play?

You can disable the plugin at here:


Fix code block index referencing in chatListRenderer

Fixes:
https://github.com/microsoft/vscode/issues/214071

Refer: https://github.com/microsoft/vscode/pull/214179


Add chrisgrieser/nvim-chainsaw & chrisgrieser/nvim-scissors

Repo URL:
https://github.com/chrisgrieser/nvim-chainsaw
https://github.com/chrisgrieser/nvim-scissors
Checklist:

[x] The plugin is specifically built for Neovim, or if it's a colorscheme, it supports treesitter syntax.
[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] The title of the pull request is Add/Update/Remove `username/repo`  (notice the backticks around `username/repo`) when adding a new plugin.
[x] The description doesn't mention that it's a Neovim plugin, it's obvious from the rest of the document. No mentions of the word plugin unless it's related to something else.
[x] The description doesn't contain emojis.
[x] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized), Tree-sitter is spelled as Tree-sitter.
[x] Acronyms should be fully capitalized, for example LSP, TS, YAML, etc.

Thanks for the PR!


Add real timing information to the model

Currently I have just added random values.

@mcmasterg Is looking at this for the Artix 7 architecture.

@mithro Can we close this as it is replaced by #293?

@elmsfu Sounds good to me!


[BUG]: Importing individual modules doesn't work using documented instructions

Description of the bug
Firstly, thank you for providing this very useful module 🙏
The problem
I wasn't able to import using the instructions in README.md - which are:
<script>
  import Hiking from 'svelte-google-materialdesign-icons/Hiking.svelte';
</script>

<Hiking />

This results in an error like this:

Cannot find module 'svelte-google-materialdesign-icons/Star_outline.svelte' or its corresponding type declarations

Workaround
The only way I could make it work was to import like this:
  import Hiking from 'svelte-google-materialdesign-icons/dist/Hiking.svelte';

Steps To Reproduce
Try to import an individual Icon using a default import as per the docs. Such as:
import Hiking from 'svelte-google-materialdesign-icons/Hiking.svelte';
Additional Information
No response

I can't reproduce it.
https://svelte.dev/repl/e95adbb415a340dcaf1cefa19bb97a9d?version=4.2.8

Oh, sorry! I just realised the import actually works, but I get an error in my IDE. I'll try to troubleshoot that. Thanks for the fast response.

Try restart your IDE without your code.

I tried that. As soon as I remove the code in app.d.ts, I get red lines under all of my default imports from this module. Must be something on my side. Thanks :)

maybe a little late, but the problem can be solved in 2 ways:

add the following line to your tsconfig.json:

{
    "compilerOptions": {
        "moduleResolution": "Bundler"
    },
}

OR ask shinokada to modify package.json based on the following eg.:

"exports": {
    "./A10K.svelte": {
      "types": "./dist/A10K.svelte.d.ts",
      "svelte": "./dist/A10K.svelte"
    },
},
"typesVersions": {
  ">4.0": {
    "A10K.svelte": ["./dist/A10K.svelte.d.ts"]
  }
}

ref: https://kit.svelte.dev/docs/packaging#typescript


Updated YAML upper bound.

@CristhianMotoche @sestrella @kinorius123 Guys, could you hold for a sec.
I was reviewing if it was worth to create a new version everytime we should into upper bounds issues. So I started using revisions instead?
http://hackage.haskell.org/package/hapistrano-<IP_ADDRESS>/revisions/
I only need to make a minor change to the package file using Hackage and then this PR wouldn't need to create a new version but simply loose the constraints.
Do you guys think it's worth to create a new version everytime we have constraints issues? In this case, yaml didn't even have a breaking change http://hackage.haskell.org/package/yaml-0.10.0/changelog

@juanpaucar even though, Hackage has its own build matrix, I think is important to push this changes through GH in order to ensure the latest changes are properly tested by Circle CI first before releasing a version to Hackage, additionally, I think is important to keep all package boundaries changes, up to date in the git history.

@sestrella No worries, I tested the change locally first. Then, I upgraded the the revision.
I think this pr could have the changelog like
**HEAD
- Bounds for yaml-0.10

**<IP_ADDRESS>
- Bounds for path-io

So that when we finally make a new release, we just move what's in head under a new version.

In any case, feel free to merge if you consider so @CristhianMotoche @kinorius123 @sestrella
I just added a commit to solve something I fixed via revisions and was waiting for another PR


"My proofs" now returns ALL proofs, regardless of the current user

What
"My proofs" now returns ALL proofs, regardless of the current user.
Steps to reproduce the behavior

Go to Prices / My proofs
You'll see tons of proofs, most of the time not your proofs

Expected behavior
"My proofs" should return only the current user's proofs.
ALL proofs are not useful for typical use cases, like adding a price from an existing proof.

Cc @raphodn @raphael0202

We indeed opened up in the API the possibility to fetch all proofs, irrespective of the owner. I'm sorry we didn't warn you about this change.
You should add a query parameter to filter by owner (ex: &owner=raphael0202) in the GET /api/v1/proofs query to only fetch proofs created by the user.

@raphael0202 Understood. Fixed in https://github.com/openfoodfacts/smooth-app/pull/6062
@teolemon We'll always have those kinds of delays between the prices API and Smoothie, especially given the app upgrade process. I don't know what we can do about it.

@raphael0202 Understood. Fixed in #6062
@teolemon We'll always have those kinds of delays between the prices API and Smoothie, especially given the app upgrade process. I don't know what we can do about it.

A solution would be for Prices - we have the same kind of issue with OFF - to actually version its code, something like '/api/v2/proofs', '/api/v3/proofs', ...
No idea when then the version number is supposed to change.


use mysql client which does not support authentication protocol can connect to tiproxy

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
#  connect tidb directly
root@dbdeployer-0:/tools#  /root/opt/mysql/5.0.96/bin/mysql -u sha2 -h tc-tidb.testbed-endless-client-5lgf5 -P 4000 -psha --default-character-set utf8
ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client
root@dbdeployer-0:/tools#  /root/opt/mysql/5.1.72/bin/mysql -u sha2 -h tc-tidb.testbed-endless-client-5lgf5 -P 4000 -psha --default-character-set utf8
ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client

# connect to tiproxy
root@dbdeployer-0:/tools#  /root/opt/mysql/5.1.72/bin/mysql -u sha2 -h tc-tiproxy.testbed-endless-client-5lgf5 -P 6000 -psha --default-character-set utf8

root@dbdeployer-0:/tools#  /root/opt/mysql/5.0.96/bin/mysql -u sha2 -h tc-tiproxy.testbed-endless-client-5lgf5 -P 6000 -psha --default-character-set utf8

2. What did you expect to see? (Required)
3. What did you see instead (Required)
root@dbdeployer-0:/tools#  /root/opt/mysql/5.0.96/bin/mysql -u sha2 -h tc-tidb.testbed-endless-client-5lgf5 -P 4000 -psha --default-character-set utf8
ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client
root@dbdeployer-0:/tools#  /root/opt/mysql/5.1.72/bin/mysql -u sha2 -h tc-tidb.testbed-endless-client-5lgf5 -P 4000 -psha --default-character-set utf8
ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client
root@dbdeployer-0:/tools#  /root/opt/mysql/5.1.72/bin/mysql -u sha2 -h tc-tiproxy.testbed-endless-client-5lgf5 -P 6000 -psha --default-character-set utf8
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 100
Server version: 5.7.25-TiDB-v7.3.0-alpha

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select tidb_version();
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
  Commands end with ; or \g.
Your MySQL connection id is 100
Server version: 5.7.25-TiDB-v7.3.0-alpha

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select tidb_version();
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
  Commands end with ; or \g.
Your MySQL connection id is 100
Server version: 5.7.25-TiDB-v7.3.0-alpha

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \s
--------------
/root/opt/mysql/5.0.96/bin/mysql  Ver 14.12 Distrib 5.0.96, for unknown-linux-gnu (x86_64) using readline 5.1

Connection id:          100
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.7.25-TiDB-v7.3.0-alpha
Protocol version:       10
Connection:             tc-tiproxy.testbed-endless-client-5lgf5 via TCP/IP
Client characterset:    utf8
Server characterset:    utf8
TCP port:               6000
--------------

[2023/07/17 08:38:10.524 +00:00] [INFO] [main.proxy] [proxy/proxy.go:170] [new connection] [connID=374] [client_addr=<IP_ADDRESS>:46090]
[2023/07/17 08:38:10.524 +00:00] [WARN] [main.proxy.conn.be.authenticator] [backend/authenticator.go:148] [frontend may not support plugin auth] [connID=374] [client_addr=<IP_ADDRESS>:46090] [capability=CLIENT_LONG_PASSWORD|CLIENT_LONG_FLAG|CLIENT_LOCAL_FILES|CLIENT_PROTOCOL_41|CLIENT_INTERACTIVE|CLIENT_TRANSACTIONS|CLIENT_SECURE_CONNECTION|CLIENT_MULTI_STATEMENTS|CLIENT_MULTI_RESULTS]
[2023/07/17 08:38:10.526 +00:00] [INFO] [main.proxy.conn.be] [backend/backend_conn_mgr.go:229] [connected to backend] [connID=374] [client_addr=<IP_ADDRESS>:46090] [ns=default] [backend_addr=tc-tidb-0.tc-tidb-peer.testbed-endless-client-5lgf5.svc:4000]
[2023/07/17 08:38:10.568 +00:00] [INFO] [main.proxy] [proxy/proxy.go:181] [connection closed] [connID=374] [client_addr=<IP_ADDRESS>:46090]
[2023/07/17 08:38:24.628 +00:00] [INFO] [main.proxy] [proxy/proxy.go:170] [new connection] [connID=375] [client_addr=<IP_ADDRESS>:46146]
[2023/07/17 08:38:24.629 +00:00] [WARN] [main.proxy.conn.be.authenticator] [backend/authenticator.go:148] [frontend may not support plugin auth] [connID=375] [client_addr=<IP_ADDRESS>:46146] [capability=CLIENT_LONG_PASSWORD|CLIENT_LONG_FLAG|CLIENT_LOCAL_FILES|CLIENT_PROTOCOL_41|CLIENT_INTERACTIVE|CLIENT_TRANSACTIONS|CLIENT_SECURE_CONNECTION|CLIENT_MULTI_STATEMENTS|CLIENT_MULTI_RESULTS]
[2023/07/17 08:38:24.631 +00:00] [INFO] [main.proxy.conn.be] [backend/backend_conn_mgr.go:229] [connected to backend] [connID=375] [client_addr=<IP_ADDRESS>:46146] [ns=default] [backend_addr=tc-tidb-0.tc-tidb-peer.testbed-endless-client-5lgf5.svc:4000]
[2023/07/17 08:38:24.658 +00:00] [INFO] [main.proxy] [proxy/proxy.go:181] [connection closed] [connID=375] [client_addr=<IP_ADDRESS>:46146]

4. What is your version? (Required)

The client doesn't support ClientPluginAuth and TiProxy adds the capability for it because of #222
TiProxy sends ClientPluginAuth but the client doesn't recognize it and thinks the handshake succeeds
The client sends a SQL to TiProxy but TiProxy thinks that the packet sequence doesn't match

MySQL 5.5.7 supports ClientPluginAuth: https://downloads.mysql.com/docs/mysql-5.5-relnotes-en.pdf
So TiDB only supports MySQL Client 5.5.7+.


Payoff Ratio & Kelly Criterion

Hi Ran. Thanks for sharing this amazing module.
I think that the index payoff ratio is showing the portfolio's ratio, and the Kelly Criterion is wrong due to that.
I hope that this comment can help to make Quantstats even better!

Payoff ratio is calculated as avg. win / avg. loss...
https://github.com/ranaroussi/quantstats/blob/b9073940c0f820699a02ec7cc19ab16566cc238a/quantstats/stats.py#L593


[terra-disclosure-manager] Prevent afterdismiss promise from getting resolved prior to dismissing

Summary
Resolves #648

I agree with @emilyrohrbough, please add a test to verify the behavior.

The problem was that closeDisclosure returns a promise; we need to return that promise in order for jest to wait for it. So, I had an offline conversation with @tbiethman, and we both tried writing jest for it but it didn't work out. Later he told me that he might update the implementation to make it easier to test.

@pranav300 If we can't get a jest test to verify this, is there a current example that can be used to check this behavior is correct or do we need to create one?

I wrote a test for this. It's ugly and not straightforward, but it might be better than nothing.
  it('should provide afterDismiss promise to resolve after dismissing', async () => {
    // Because some of the assertions are in Promise handlers, they might not get executed if the Promise doesn't resolve.
    // This will ensure that all the expected assertions are actually getting executed and fail otherwise.
    expect.assertions(23);

    let dismissDisclosureInstance;
    let afterDismissPromise;
    let childApp2DisclosureManager;

    const wrapper = mountDisclosureManager(['test'], manager => (
      <div id="wrapper">
        {manager.children.components}
        {manager.disclosure.components}
      </div>
    ));

    validateInitialState(wrapper);
    validateChildDelegate(wrapper);

    await new Promise((resolve, reject) => {
      const childApp1DisclosureManager = wrapper.find('#child1').getElements()[1].props.disclosureManager;
      childApp1DisclosureManager.disclose({
        preferredType: 'test',
        size: 'large',
        content: {
          key: 'DISCLOSE_KEY',
          component: <TestChild id="component-B" />,
        },
      }).then(resolve).catch(reject);
    });

    wrapper.update();

    await new Promise((resolve, reject) => {
      childApp2DisclosureManager = wrapper.find('#component-B').getElements()[1].props.disclosureManager;
      childApp2DisclosureManager.disclose({
        preferredType: 'test',
        size: 'large',
        content: {
          key: 'Nested',
          component: <TestChild id="component-C" />,
        },
      }).then(({ dismissDisclosure, afterDismiss }) => {
        dismissDisclosureInstance = dismissDisclosure;
        afterDismissPromise = afterDismiss;
        resolve();
      }).catch(reject);
    });

    wrapper.update();

    expect(wrapper.state().disclosureIsOpen).toBeTruthy();
    expect(wrapper.state().disclosureIsFocused).toBeTruthy();
    expect(wrapper.state().disclosureIsMaximized).toBeFalsy();
    expect(wrapper.state().disclosureSize).toBe('large');
    expect(wrapper.state().disclosureComponentKeys).toEqual(['DISCLOSE_KEY', 'Nested']);
    expect(wrapper.state().disclosureComponentData.Nested.key).toEqual('Nested');
    expect(wrapper.state().disclosureComponentData.Nested.component.props.id).toEqual('component-C');
    expect(wrapper.state().disclosureComponentDelegates.length).toEqual(2);

    /**
     * Due to the asynchronous execution of the afterDismiss promise, failed expectations
     * within the promise handler cannot actually fail the test. Instead, we use a flag to
     * and write expectations around the flag after awaiting the promise below.
     */
    let afterDismissResolvedAfterStateUpdate = false;
    afterDismissPromise.then(() => {
      if (wrapper.state().disclosureComponentKeys.indexOf('Nested') === -1) {
        afterDismissResolvedAfterStateUpdate = true;
      }
    });

    await dismissDisclosureInstance();
    await expect(afterDismissPromise).resolves.toBe(undefined);

    expect(afterDismissResolvedAfterStateUpdate).toBeTruthy();

    await childApp2DisclosureManager.closeDisclosure();

    wrapper.update();

    expect(wrapper.state().disclosureIsOpen).toBeFalsy();
  });

The big problem here is that calling closeDisclosure returns a promise, and also resolves a separate promise as part of its execution (the mentioned afterDismiss). We can validate that both promises resolve, but since the resolution order is really what we're wanting to test here, it makes things more complicated.
Long term, I'd like to deprecate the afterDismiss promise and replace it with a first-class onDismiss option in the disclose API to try and make the order of execution more deterministic.
      disclosureManager.disclose({
        preferredType: 'test',
        size: 'large',
        content: {
          key: 'DISCLOSE_KEY',
          component: <TestChild id="component-B" />,
        },
        onDismiss: () => {
          // Clean up here
        },
      });

Thanks @tbiethman


"systemctl start TAB-TAB" not working

Issue description
$ sudo systemctl start influ<TAB-TAB>Unit tmp.mount could not be found.
Unit tmp.mount could not be found.
^C

sudo systemctl status <TAB-TAB> works though.
Technical details

System: NixOS 16.09

What's your shell?

bash.

Confirmed.
$ sudo systemctl start <TAB TAB>Unit tmp.mount could not be found.
Unit tmp.mount could not be found.

autovt@                        getty@                         proc-sys-fs-binfmt_misc.mount  sys-kernel-config.mount        systemd-rfkill@
container@                     mdadm-grow-continue@           serial-getty@                  systemd-backlight@             user@
container-getty@               mdmon@                         sys-fs-fuse-connections.mount  systemd-fsck@

Appears to be fixed in NixOS 17.03.


Remove unused import

Just passing by and noticed an unused import.

Thanks! Left it in there as a reminder, since I was considering the use of that package.


NPM publish from a build folder?

I would really like to use this project, but I seem to be getting lost. I actually have 2 issues to report, but thought it best to place them here, as they are somewhat related.

There seems to be a severe lack of documentation. I can't find any information on what each property in the .release.json file does, how it's used, how to fill it out, etc. I had to start reading the source code to figure out how each property is used -- which was time consuming. It would be great if the docs could be a bit more granular.

What I'm really hoping to do is build to a staging folder, like lib/, and then NPM publish from that folder so that lib/ is the "root" folder in the NPM package. It seems like this project could do that, but I've been having a hard time figuring it out (because the lack of docs). At first I thought it would be the dist settings, but that seems to require an external repo. Then I tried src, which then requires settings from dist? It's all rather confusing.

All I'm trying to do is run a "release" command (that builds, versions, and pushes/publishes the project), like so:

Clean the lib/ folder.
Run a build command to compile the src/ folder to lib/.
Run a linter (EXIT if a failure).
Run tests (EXIT if a failure).
Copy over package.json (required to be in the lib folder to publish), readmes, and *.md files to the lib/ folder.
Copy over additional arbitrary files to the lib/ folder. Like ./data/foo/bar.json -> lib/data.json.
Increment version.
Publish the lib/ folder (as the root) to NPM.
Push the changes to git.

I simply want to publish from the lib/ folder so that JS imports can omit the lib/ from the path. For example:
// If published from project root
import Matcher from 'interweave/lib/Matcher';

// When published from lib/
import Matcher from 'interweave/Matcher';

My current release process simply uses NPM/Yarn scripts, but I'm looking for something a bit more robust. https://github.com/milesj/interweave/blob/master/package.json

The docs are indeed not very extensive, my apologies. The good is news, I think, what you want is possible already by setting the npm.publishPath setting to "lib".
Let me know if that works for you.


Getting started with Amundsen

CDK Project for blog: Getting started with Amundsen leveraging Amazon Neptune and the AWS CDK
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Let's get a bit more detail into the README.md to cover the deployment for those that may not see the blog post. Also, let's modify the final stack to output the URL for Amundsen's console. Once both of those are done, this should be ready to ship. I deployed into my account this morning and it worked without any major issues. Only issues were on my end (didn't have CDK installed and did not have an initial CDK environment created). I noted both of those stumbles in the blog post feedback. It would be good to address those items in case other users come across them.

Updated the README and modified the stack to output the Amundsen Frontend Hostname.


Design UP: Managing Translation Schemas

User Story:
As ReportStream, I want to provide an easy way for an end user or engineer to manage translation schemas in the universal pipeline without having to redeploy the app.
Description/Use Case
Presently, the HL7 -> FHIR and FHIR -> HL7 schemas are stored as files in the repo.  Any changes to those schemas need to be made as a PR, merged then deployed to production.  We want the UP schemas to be stored in such a way that it does not require redeploying any part of the application, as that process can be lengthy. To do this, however, we need to establish not only how to implement storing and changing these schemas, but also the process on how to update them.
NOTE: The COVID schemas on the legacy pipeline are also stored as resources in the repo, and should also be considered, but should NOT limit or prevent us from designing a good solution. If our best solution cannot be applied to COVID schemas, then that should be made clear and accepted.
Risks/Impacts/Considerations

Loading the schemas from the database could create performance impacts.
Having the schemas in the database could make it harder to read/maintain the schemas

Dev Notes:
Note that the settings for senders and receivers are stored in the database, so they could be used as a template on how we handle the schema updates, IF we determine storing the schemas in the database is the best solution.

Analyze the process and tools available to manage the organization settings in the setting table.  Notice how it supports versioning! This can be used as a template for how we handle the schemas.
How do we store the schemas in the database, or somewhere else, so we make it easy for the software to read/write them.
Most likely we will need an API to manage the schemas, so you will need to design that as well
How do we let a user (end-user or engineer) manage the schemas, so it is not burdensome to read/update them.  Note that having child schemas could be a burden to a user to read/update them. Do we need a "merge" functionality at some level, either in the UI, endpoint, or storage location itself?

Acceptance Criteria

Document and design how we can update schemas without having to redeploy the app
Document the process on how the schemas will be updated (api design).
Get buy-in from the Experience team on the design. They will probably want to create a UI for what we design.
Get buy-in from the Engagement team on the design, they will be users of our api/UI.

Needs a re-write. We aren't sure DB is the right storage choice. Cle hates jsonb. He now owns the re-write of this ticket. @clediggins-usds

Needs a re-write. We aren't sure DB is the right storage choice. Cle hates jsonb. He now owns the re-write of this ticket. @clediggins-usds

Rewrote the ticket, ready for grooming.


conn is null

Hi, I'm trying to use this on Windows. client.ts on README.md works good with SayHello but ShoutHello does not.
HelloReply { message: "hello unary #1" }
HelloReply { message: "hello unary #2" }
HelloReply { message: "hello streamed #0" }
HelloReply { message: "hello streamed #1" }
HelloReply { message: "hello streamed #2" }
errrrrrr TypeError: Cannot read properties of null (reading 'write')
    at GrpcClientImpl.sendFrame (https://deno.land/x/grpc_basic@0.4.3/client.ts:189:25)
    at GrpcClientImpl.flush (https://deno.land/x/grpc_basic@0.4.3/client.ts:172:18)
{ type: "WINDOW_UPDATE", flags: {}, stream: 0, window_size: 72 }
errrrrrr TypeError: Cannot read properties of null (reading 'write')
    at GrpcClientImpl.sendFrame (https://deno.land/x/grpc_basic@0.4.3/client.ts:189:25)
    at GrpcClientImpl.flush (https://deno.land/x/grpc_basic@0.4.3/client.ts:172:18)
{ type: "WINDOW_UPDATE", flags: {}, stream: 0, window_size: 72 }

I also encountered the same error.
# My deno environment
$ deno --version
deno 1.23.0 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 4.7.2

I debugged it and found that rewriting the code like this eliminated the error, but this is not a fundamental solution.
I also encounter the same error again as I rewrite the code to execute.
diff --git a/client.ts b/client.ts
index 4a13ce2..f802ae5 100644
--- a/client.ts
+++ b/client.ts
@@ -166,7 +166,7 @@ export class GrpcClientImpl implements GrpcClient {

     while (this.frames.length) {
       const f = this.frames.shift();
-      if (!f) {
+      if (f.type === "WINDOW_UPDATE" && f.window_size % 24 === 0) {
         break;
       }
       await this.sendFrame(f);

I have not been able to get to the specific solution as I still do not understand the relevant processes in the project.
But I hope this information will help you to solve the problem.

Thank you. still f is possibly be null. Is this better?
const f = this.frames.shift!();

Wow, cool!
I didn't know it could be expressed that way so I thought that was interesting.
You are right, there is a possibility that f could be null. Thanks!

Hi, I also have same problem.
It's because  client.close() at the end of example causes connection termination, and client wants to write some frames (WINDOW_UPDATE) to closed connection.
I tnink I'll fix this by skip any writes on terminated client.

Thanks for the comment. Sounds good!

I know another issue that occur errors when client is closed. Will it be fixed by the change?
I implemented Go client generated from greeter.proto by protoc.

package main

import (
	"context"
	"fmt"
	"log"

	"github.com/mattn/grpc-deno-go/greeter"
	"google.golang.org/grpc"
)

func main() {
	conn, err := grpc.Dial("<IP_ADDRESS>:15070", grpc.WithInsecure())
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close()
	client := greeter.NewGreeterClient(conn)

	req := greeter.HelloRequest{Name: "mattn"}
	reply, err := client.SayHello(context.Background(), &req)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(reply)

	stream, err := client.ShoutHello(context.Background(), &req)
	defer stream.CloseSend()

	for {
		reply, err := stream.Recv()
		if err != nil {
			break
		}
		fmt.Println(reply)
	}
}

@mattn
I think It's different case, but I'll check this also

Sorry for  long response.
Most of these errors were due to excesive console logging on development stage.
Fixed them at https://github.com/prohazko2/deno-grpc/tree/0.4.6

Also, if You are planning to use gPRC on Deno - consider tracking  https://github.com/denoland/deno/issues/3326 issue from Deno team, because this project is not actively maintained


Adding Merurial to Horizon build docs

Found another reference. Squashed and updated PR

Hi @alfiedotwtf!  Thanks! of note: It's a pain in the but we have to add this...  I really don't like having mercurial as a dependency.  Prior to the monorepo, we vendored the only package we used that was hosted on bitbucket, but I guess that got lost when we moved horizon over.  It's omething I'll have to fix soon.
Anyways, thanks again for the contribution!


Fix / Fixed a spelling error in the how to contribute section

There was a spelling error in the how to contribute section when saying how to add the openai api key... not sure if intentional but it doesnt get checked anywhere in the code base!

Thanks for your contribution, @RutgerSwirski!


Further simplify some contexts for the no-t1 branch

(This builds fine with the new compiler.)

:+1: Thanks!


How can I save an array of objects?

I have this object
{
name: 'any',
contacts: [
{name: 'jose', phone: 1234} ,
{name: 'jose', phone: 1234}
],
obs : 'anything here',
address : 'street 1'
}
but when I try to save ,Nedb returns this for me:
Error: Field names cannot begin with the $ character(…)
If I remove the contacts field , then it saves
I'm starting learning  Nedb and I stopped in this problem

JSON.stringify(yourobject)

I found out what was the problem, angular create a field $$hashKey  on the array and this was causing the error. I just used :var newArray = angular.toJson(oldArray) and then it saved.


Cannot find and jump to the JavaScript methods in some cases

Prerequisites

[x] Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
[x] Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
[x] Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
[x] Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
[x] Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
In the cases below, Atom cannot find and jump to the correct JavaScript methods by Command+R:

Cannot find and jump to the methods used "allman" style and defined in a JavaScript class.
Cannot find and jump to the methods defined by arrow function.
Cannot find and jump to the methods defined by "const", but identify the "const" keyword as a method.
Can find and jump to the methods defined by "let", but identify the "let" keyword as a method either.

Steps to Reproduce
Save the code below as a *.js file, and use Command+R.
class Test{
    haha() {
        console.log('haha');
    }

    case1()
    {
        console.log('Case 3: used "allman" style and defined in a class');
    }
}

var fn = function() {
    console.log('fn1');
};

var case2 = () => {
    console.log('Case 2: defined by arrow function');
};

const case3 = function() {
    console.log('Case 3: defined by "const"');
};

let case4 = function() {
    console.log('Case 4: defined by "let"');
};

Expected behavior:
All the cases in description can be found and jumped to the correct methods.
Actual behavior:
Case 1 to 4 are not found or not correct by Command+R.

Reproduces how often:
Always.
Versions
Atom    : 1.15.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

apm  1.15.3
npm  3.10.5
node 4.4.5 x64
python 2.7.10
git 2.10.1

Additional Information
Nothing.

Thanks for the report @neiloox - can you re-open this issue in the https://github.com/atom/symbols-view repository?  There may already be existing issues for some of the cases you mention however e.g. https://github.com/atom/symbols-view/issues/174.

OK, I reopened it. Thank you.


modify mocks

I find a way to do only the mocks

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 56.821%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
3274

Relevant Lines:
5762

💛  - Coveralls