luarocks test -- packaging issue

Describe the bug
Running luarocks test with either --local or --tree /some/path results in luarocks trying to locally install luasystem, which is a dependency of busted.
This fails with one two different messages:
Error: Failed installing dependency: https://luarocks.org/busted-2.1.2-3.src.rock - Failed installing dependency: https://luarocks.org/luasystem-0.2.1-0.src.rock - Could not find library file for RT
  No file librt.a in /usr/local/lib
  No file librt.a in /usr/local/lib64
  No file librt.so in /usr/local/lib
  No file librt.so in /usr/local/lib64
  No file matching librt.so.* in /usr/local/lib
  No file matching librt.so.* in /usr/local/lib64
  No file librt.a in /usr/lib
  No file librt.a in /usr/lib64
  No file librt.so in /usr/lib
  No file librt.so in /usr/lib64
  No file matching librt.so.* in /usr/lib
  No file matching librt.so.* in /usr/lib64
  No file librt.a in /lib
  No file librt.a in /lib64
  No file librt.so in /lib
  No file librt.so in /lib64
  No file matching librt.so.* in /lib
  No file matching librt.so.* in /lib64
You may have to install RT in your system and/or pass RT_DIR or RT_LIBDIR to the luarocks command.
Example: luarocks install luasystem RT_DIR=/usr/local

or
Error: LuaRocks 3.9.1 bug (please report at https://github.com/luarocks/luarocks/issues).
Arch.: linux-x86_64
...nyv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/deps.lua:243: assertion failed!
stack traceback:
	[C]: in function 'assert'
	...nyv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/deps.lua:243: in function 'fulfill_dependency'
	...nyv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/deps.lua:336: in function 'fulfill_dependencies'
	...yv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/build.lua:138: in function 'process_dependencies'
	...yv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/build.lua:379: in function 'build_rockspec'
	...liky-luarocks-3.9.1/share/lua/5.2/luarocks/cmd/build.lua:74: in function <...liky-luarocks-3.9.1/share/lua/5.2/luarocks/cmd/build.lua:51>
	(...tail calls...)
	...liky-luarocks-3.9.1/share/lua/5.2/luarocks/cmd/build.lua:154: in function <...liky-luarocks-3.9.1/share/lua/5.2/luarocks/cmd/build.lua:117>
	(...tail calls...)
	...nyv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/deps.lua:237: in function 'fulfill_dependency'
	...ky-luarocks-3.9.1/share/lua/5.2/luarocks/test/busted.lua:24: in function <...ky-luarocks-3.9.1/share/lua/5.2/luarocks/test/busted.lua:19>
	(...tail calls...)
	[C]: in function 'xpcall'
	...mnyv78liky-luarocks-3.9.1/share/lua/5.2/luarocks/cmd.lua:672: in function 'run_command'
	...4hmwbjqr4mnyv78liky-luarocks-3.9.1/bin/.luarocks-wrapped:38: in main chunk
	[C]: in ?

Steps To Reproduce
Steps to reproduce the behavior:

Check out the luarocks-test branch of https://github.com/nvim-neorocks/luarocks-tag-release
Enter a nix shell with lua5_1 and luarocks
In the checked out repository, run luarocks test --local or luarocks test --tree /tmp/testdir (after creating /tmp/testdir).

Expected behavior
Luarocks downloads busted and its dependencies and runs the tests.
Notify maintainers
@teto
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.108, NixOS, 22.11 (Raccoon), 22.11.20230430.db1e4ee`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.11.1`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This looks to me like an issue with how luarocks is packaged.
I've been playing around with it for a bit (adding --set RT_DIR "${pkgs.glibc}"  to the wrapProgram call in the postInstall stage), but haven't come up with a working fix yet.

If I pass RT_DIR as an argument, it works, but I still get the second "LuaRocks 3.9.1 bug" error (which might be an upstream issue)
luarocks test --tree /tmp/tm RT_DIR=/nix/store/0z5kcds7b6qmm373s3b5w9ykvqbgw87i-glibc-2.37-8

luarocks test --local RT_DIR=/nix/store/0z5kcds7b6qmm373s3b5w9ykvqbgw87i-glibc-2.37-8

works.

I am very happy to see someone fiddle with luarocks test. I want to enable tests for more lua packages but as you witnessed it's a WIP area.
Even better when there is a fix with it !

I think the --tree /some/path argument works with my fix, too.
The "LuaRocks 3.9.1 bug" error seems to be flaky.


[UI component] Glassmorphism login

Description
Create a glassmorphism Login page
Screenshots
No response

Hi @Roshaen
@ArpitSahu01  here,
Please assign this to me I would like to work upon this issue

Sure go for it @ArpitSahu01

@Roshaen if no one is working on it,can i take up the issue...?

Hi @Tushar98644 ,
I am currently working on this issue


fix(routing): prioritise group level middleware

Middleware(s) attached to route group should take higher precedence over middleware(s) defined on it's child routes.
Example
Route.group('project', () => {

  Route
    .get(':id/report', 'Project/ReportController.show')
    .middleware(['manager'])

}).prefix('project').middleware(['auth'])

Current Effect

manager middleware is run first, checking if the logged in user has the role of manager or not.
But, it would fail because there is no authenticated user.

Intended Effect (with the change)

auth middleware runs first, checking to see if the user is authenticated of not.
On success, the flow is passed to manager middleware to check and see if the user is a "manager" or not.

Yup is the correct behavior but the build is failing

Some of the tests assume the wrong/current order.
Will fix the tests and push.
On Wed, 7 Jun 2017 at 3:20 PM, Harminder Virk<EMAIL_ADDRESS>wrote:

Yup is the correct behavior but the build is failing
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adonisjs/adonis-framework/pull/577#issuecomment-306746825,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEfgNvqsODtDke5g9uL3Y7oOAzm0VUpTks5sBnJHgaJpZM4NyXnn
.

👍

Tests went green on my machine when I fixed the two tests that were failing.

2 of them fail because I don't have redis on my machine
.
@thetutlage can it be a problem at the CI

Coverage remained the same at 98.208% when pulling 6661bec904990b6b39ed0de8d63fee3f98c33e18 on mcraz:patch-2 into e64bd65d79c6044f920af9a28601a1cac29a6daa on adonisjs:develop.

It depends on the version of node you are using.
Tests seem to fail on Node 8.0 when doingX.replace() when X is undefined.

I still think checking the build config will help:
AppVeyor:

TravisCI fails on whole lot of tests that don't even depend on the changes made in the PR.

TravisCI fails on whole lot of tests that don't even depend on the changes made in the PR.

Yes, probably because Travis never tested the code with Node 8.0 before your PR 😄

I believe it makes sense to update travis.yml to use Node 7.0 instead of the latest node version.

Yes, Adonis is currently not tested against Node 8.0.

I think it would be wise to test against (upto) the latest LTS and anything
beyond that should be left on the user to decide. This will appeal a wider
stability and benefit avoiding cases as such.
On Thu, 8 Jun 2017 at 2:08 PM, Romain Lanz<EMAIL_ADDRESS>wrote:

Yes, Adonis is currently not tested against Node 8.0.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adonisjs/adonis-framework/pull/577#issuecomment-307038185,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEfgNtXa-MmUxljdnT106V-o5CMXVRpRks5sB7MCgaJpZM4NyXnn
.

I am working on the newer release 4.0 which support 7.0 and greater.


Publish as nuget package

Would love to see this published as a nuget package (at least until support is native in Avalonia)

+1.  Though it'd be cool to know how progress of getting it in Native is going as well as having the image tag support animated gifs would be amazing!

How can I connect your extension to my project? If I'm not mistaken, your not published your project to NuGet.


Http/Requests doesn't perform JSON validation on a JSON input

Laravel Version: >=5.4.*
PHP Version: >=5.6 (depending on laravel version)

Description:
It seems that Laravel doesn't check if a supposed JSON input is valid or not. Is this a wanted behavior or a bug affecting all Laravel versions ?
Thanks for your feedback :)
Steps To Reproduce:
On any Laravel version since 5.4 (as far as I know).
Initialize a new laravel project using the composer create-project command
Initialize a route like so on any method (GET/POST/PUT) :
<?php

Route::post('/api/test', function () {
    return request()->input();
});

Using your preferred tool, call your API :
Valid JSON input
POST http://<IP_ADDRESS>:8000/api/test
{
    "foo": "bar"
}

Expected and got response :
200 Ok
{
    "foo": "bar"
}

Invalid JSON input
POST http://<IP_ADDRESS>:8000/api/test
{
    "foo": "bar",
}

Expected response (something similar to) :
4xx
{
    "message": "Bad JSON input"
}

Actual response :
200 Ok
[]

The first problem here is that the Http\Request::json method try to decode the given JSON but doesn't check the result of json_last_error.
A simple patch could be to add some error checking as followed (or something similar) :
    public function json($key = null, $default = null)
    {
        if (! isset($this->json)) {
            $this->json = new ParameterBag((array) json_decode($this->getContent(), true));
        }

        if (JSON_ERROR_NONE !== json_last_error()) {
            throw new RuntimeException('Bad input JSON format');
        }

        if (is_null($key)) {
            return $this->json;
        }

        return data_get($this->json->all(), $key, $default);
    }

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? We'll help you out and re-open this issue if so.
Thanks!

@driesvints as I said it's affectinf all versions from 5.4 at least including last version from fresh install.
Laravel Version: **>=*5.4.

@CaporalDead this seems like an issue with your app so please try a support channel.

Hi @driesvints, thanks for your reply.
I have done some tests too, with different laravel versions and I reproduce the usecase, indeed when your payload is malformed, Laravel don't take care to validate it.

@driesvints I don't understand your answer, there's nothing specific to my app. You can reproduce this behavior on any fresh install of Laravel following the informations I provided in my first post.

This is related to #27754, #10257, and #5022.
Also pull request #15228 has already been rejected.

If anyone is viewing this, I think this is a flaw. I am starting to think that Laravel request are really "generic". Meaning they will just work no matter what user input is (untrusted as always). But while using request validator, this is really neat. It will permit forging requests in a weird way. There are fewer ways for us to enforce controls.
Is mentionned, I am using this solution as a middleware on my api to make sure only valid json request are send.
  <?php

  namespace App\Http\Middleware;

  use Illuminate\Http\Request;

  class JsonOnly
  {
      /**
       * Handle an incoming request.
       *
       * @param  \Illuminate\Http\Request $request
       * @param  \Closure                 $next
       * @return mixed
       */
      public function handle(Request $request, \Closure $next)
      {
          if (
              !Helper::isRequestForApiV1($request) and
              (!$request->isJson() or
                  !$request->expectsJson() or
                  is_null(json_decode($request->getContent())))
          ) {
              abort(400, 'Invalid JSON');
          }

          return $next($request);
      }
  }

This will make sure requests have :

Accept: application/json
Content-Type: application/json
Body : a json encoded string and when empty it must have "[]"


Manual testing of SARIF report visualizing on Problems tab

Initial set-up
Check that the IntelliJ Idea UTBot plugin can be successfully installed

[x] Get plugin build from #1364
[x] Download plugin
[x] Check downloaded zip-file size < 100 MB
Bug reproducing: - #1333
[x] Open IntelliJ IDE
[x] Remove previously installed UTBot plugin
[x] Clone or reuse UTBot project (https://github.com/UnitTestBot/UTBotJava.git)
[x] Open the project in the IDE
[x] Install the downloaded plugin
[x] Turn on Problems view in Settings -> Tools -> UnitTestBot

IDE

[ ] IDEA 2022.1.4
[x] IDEA 2022.2.3
[ ] EAP 223

Samples to check

[x] Nested classes
[x] inner calls
New bug: Incorrect line addressed from Problems view for InnerCalls.doubleCallFactorial() error test with StackOverflowError
[ ] recursion
[ ] Sandboxing
[ ] objects package
[ ] mixed.Overload
[ ] enums
[ ] casts
[ ] natives

Settings to check

[ ] math.OverflowExamples - check with settings overflow as errors
[ ] Sandboxing - check with permissions
[ ] Timeout failing tests

Bug found:
https://github.com/UnitTestBot/UTBotJava/pull/1364#issuecomment-1315431686


Should energietransitiemodel.nl redirect to energytransitionmodel.com?

When browsing to http://energietransitiemodel.nl, I get redirected to https://energytransitionmodel.com. Given that most of our users are Dutch, I would prefer to not redirect to the English URL and leave the user on http://energietransitiemodel.nl
How do you feel about this, @AlexanderWirtz , @ChaelKruip , @ antw, @michieldenhaan and @MartLubben ? And how difficult would it be to change this, @antw ?
Also, https://energietransitiemodel.nl/ gives a certificate error. Can this be fixed easily, @antw ?

I like the Dutch URL. Is it possible to detect whether someone is visiting the page from a non-Dutch IP-address and redirect them to the .com site only in that case??

I'm trying to remember why we standardised only on using the .com domain, but I'm coming up blank. It might be related to CORS, which restricts requesting resources across different domains (e.g. ETModel on .nl, ETEngine on .com, avoided by them both being on sub-domains of *.energytransitionmodel.com). I'm sure we can set this up so it's not a problem.
There's some other stuff which will need to be done on the servers first, so while I don't think this is difficult, it will take a little time.

Is it possible to detect whether someone is visiting the page from a non-Dutch IP-address and redirect them to the .com site only in that case?

We can indeed do this. :+1:


test(otel): add linking matchers for unit tests

Part of https://github.com/googleapis/google-cloud-cpp/issues/12528

This change is

Also, FYI you fixed #11236


Option to create an account key

Suggestion: It would be nice if you could a command (or integrate it into the "register" command) to create an account key. Or it at least describe how to create one (with keytool or openssl). Thanks.

See the documentation on how to create an account key: https://github.com/porunov/acme_client/wiki/Get-a-certificate-for-multiple-domains


Lottie files don't play (or work at all) on Android if width or height is a not-whole number

Description
I've been having issues with various lottie files displaying on React Native in Android (not IOS), and it only happened for some files and not others.
I checked the feature compatibility chart to make sure we weren't using any After Effects features that weren't compatible with Android, but no dice.
Eventually I stumbled across this issue, which matched my issues completely.
Example animation: https://app.lottiefiles.com/share/de484dcb-86d0-462e-9cc0-3cb84fadba03
The user eventually resolved their issue by editing their lottie file to have a full-number for width and height.
However, this isn't documented anywhere on the lottie-react-native docs that I can find, nor is it intuitive. If my designer makes a lottie animation for me to use in the app, I expect it to work if I've followed all of lottie-react-native's setup steps.
This is a bug that should be addressed, either by rounding the width/height automatically within LRN (preferred) or by adding to the documentation that this is a known issue on Android that won't be fixed (not-preferred).
Steps to reproduce

Create a lottie file with non-whole numbers for width and height, e.g. "h":90.84,"w":97.12
Try to load it into lottie-react-native on Android
It won't work

Lottie React Native version
6.7.2
React Native version
0.73.1
Platforms
Android
Workflow
Expo Dev Client
Architecture
Paper (Old Architecture)
Build type
Debug app & dev bundle
Device
Android emulator
Acknowledgements
Yes

Hi @jvgeee
While I understand your frustration, reality is that Lottie RN just uses whatever behavior Lottie Android and Lottie iOS have on their perspective platforms. A solution that edits the file is not viable because A) What about files that are not locally loaded JSONs (like remote files or dotlottie files), you can not edit those B) Who is to say what the correct behavior is at that point? Rounding is making an assumption, one that is not shared on any of the underlying platforms.
If you wish, I can add a line under the README's trouble shooting, but that is about as far as we can do on this side. There are logs provided by the underlying SDKs in Log cat / iOS's console that will show up naturally, if that is of any use. However we can not implement any change that goes against the spec

@TheRogue76 That's totally fine, I understand the reason for not wanting to edit the files. Adding it to the documentation would be a great first step.


Update nav.xsl to fix collapsible TOC

Update "children" parameter in collapsible-toc template. Issue #160

I updated the edit after the Prettier check failed.

@lakokkonen Thanks for submitting this. 🙏
I pushed one more tweak and squashed the result as 0134aa7.


Not getting callback on subscribe

Hi Knolleary,
I am able to publish the data on the topic and it is also subscribed to that topic but i do not receive any message in the call back , the call back function is not called. Could you help me with this
#include <ESP8266WiFi.h>
#include <PubSubClient.h> // https://github.com/knolleary/pubsubclient/releases/tag/v2.3
//-------- Customise these values -----------
const char* ssid = "username";
const char* password = "password";
#define ORG "myorg"
#define DEVICE_TYPE "trial"
#define DEVICE_ID "5CCF7FB8969"
#define TOKEN "hgsdfj234kjds)"
//-------- Customise the above values --------
char server[] = ORG ".messaging.internetofthings.ibmcloud.com";
char topic[] = "iot-2/evt/status/fmt/json";
char authMethod[] = "use-token-auth";
char token[] = TOKEN;
char clientId[] = "d:" ORG ":" DEVICE_TYPE ":" DEVICE_ID;
WiFiClient wifiClient;
PubSubClient client(server, 1883, callback, wifiClient);
void setup() {
Serial.begin(115200);
Serial.println();
Serial.print("Connecting to ");
Serial.print(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("WiFi connected, IP address: ");
Serial.println(WiFi.localIP());
}
int counter = 0;
void loop() {
if (!!!client.connected()) {
Serial.print("Reconnecting client to ");
Serial.println(server);
while (!!!client.connect(clientId, authMethod, token)) {
Serial.print(".");
delay(500);
}
Serial.println();
}
String payload = "{"d":{"myName":"ESP8266.Test1","counter":";
payload += counter;
payload += "}}";
Serial.print("Sending payload: ");
Serial.println(payload);
if (client.publish(topic, (char*) payload.c_str())) {
if (client.subscribe("iot-2/type/+/id/+/evt/status/fmt/+"))
{
Serial.println("subscribed");
client.setCallback(callback);
}
else
{
Serial.println("failed sub");
}
Serial.println("Publish ok");
client.loop();
// delay(500);
// if (client.subscribe(topic)){
//  Serial.println("Successfully subscribed");
//}
} else {
Serial.println("Publish failed");
}
++counter;
delay(10000);
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.println("***************** data received *********************");
Serial.println("callback invoked");
}

Hi, there are a few issues with your code.

You need to subscribe to a topic you want to receive messages on before you publish to it. You appear to be subscribing to the topic after each successful publish - don't do that. Subscribe once after you connect.

You call client.loop which is good. But the. You delay for 10seconds. You must call client.loop regularly so it can maintain the connection and process and messages being sent to the client.

This looks like you are connecting as a registered device into the Watson IOT platform. So despite the above two issues, you need to understand there are restrictions as to what a device may subscribe to. It may only subscribe to its own command topic. It is not allowed to subscribe to the event topic as you are doing. I dont have a link to the device docs to hand as I'm on my phone here. But trying to subscribe to this topic will cause the server to kick your client off.


Accessibility: how to give focus to the selected heading

I think that for accessibility, specifically for people using the keyboard to navigate, it's a good idea to give focus to the h2 element that has been clicked.
I achieved that using the onScroll option:
scrollnav.init(content, {
  // ...
  onScroll: () => {
    const hash = window.location.hash;
    const heading = document.querySelector(hash);
    heading.focus();
  }
});

To make the h2 element accept focus, you also have to add tabindex="-1" to it.
(I'm posting this here if it can help others. Feel free to move it to the wiki or to the project documentation!)
Now I'm wondering what would be the best way to help the user go back to the "table of contents". If anyone has advice on the best way to do it, I would be happy to hear it!

Hey @Spone, glad to have more people thinking about accessibility, thanks for starting this discussion. I've thought a lot about this as well and there's a few issues with moving away from the default browser behavior I have yet to solve.

If you move the user from the nav to the heading, how do you inform them of that change? What do we do about the text between the link and heading matching so it essentially repeats the text without a lot of context as to why.
Headings aren't traditionally focused landmarks, so if the user tabs from the heading they'll jump to the next interactive landmark which might not even be within the content.
Getting back to the nav is also a serious issue and I'm not sure there's any easily discoverable pattern we could include.

Have you seen any other examples out there that solve this while taking into account these concerns? Do you have any ideas on a solution that considers all of them? Keep in mind keyboard only users are already used to the current pattern. By default an ID link doesn't focus that ID, it only jumps the page, and tabbing after the page jumps takes you to the first item on the page, not the content after the ID.

Thanks for the feedback. I agree we need more feedback from keyboard-only users!
I have trouble finding recommendations about this particular design pattern. I read that but there are no details about implementation: https://www.nngroup.com/articles/in-page-links/
A quick sidenote (from the link above):

When users click an in-page link, the associated content should be scrolled close to the top of the screen, to make it easy for users to read as much as possible of the section.

With scrollnav, the content is scrolled until the heading reaches the middle of the screen. Any idea how to change that?

That scrolling to the ~2/3 window height is intentional. I created a "zone" that's active and if we scrolled all the way to the top the section could be outsize that zone. The reason I had to create a zone at all is because when the plugin just relied on whatever section was at the very top, it was possible for a section that was at the very end of the container to never be activated.

Yes I understand the reasoning, and I also think it's a good idea to have the active element near the middle of the screen instead of the top. It also prevent issues with fixed headers. But maybe it could be configurable? In my case I would prefer it to be in the first third of the screen.

It's definitely possible to make it configurable, I used to do that with the jQuery version but when I rewrote it for es6 in v3, I decided to reduce the configuration as much as possible because it was leading to bugs and extra maintenance. If you have some ideas on how to make it configurable without a ton of overhead I'm open to a PR.


Need further documentation for Slot Swap / AppInitialization / WarmUp cycles

Should probably look into integrating / adding some of the following issues / gotchas for slot warmup when using AppInitilization module
https://ruslany.net/2017/11/most-common-deployment-slot-swap-failures-and-how-to-fix-them/
(Note: I'm not the original author, but have found this valuable since it seemed this was the only place this information was available)

:derp: Forgot to link in the original documentation..
https://docs.microsoft.com/en-us/azure/app-service/web-sites-staged-publishing#custom-warm-up-before-swap

Closed issue - opened issues directly from feedback button #14667


Popover timeout handlers

Addresses #13.

Current coverage is 29.27% (diff: 16.12%)

Merging #77 into master will increase coverage by 0.16%

@@             master        #77   diff @@
==========================================
  Files            45         45
  Lines          1340       1346     +6
  Methods         170        173     +3
  Messages          0          0
  Branches        315        315
==========================================
+ Hits            390        394     +4
- Misses          950        952     +2
  Partials          0          0

Powered by Codecov. Last update c70fe96...b2cc745

Now addresses #57. Still has an issue in this area.
Also cleaned up some issues. Planning to resolve more tomorrow.

More unit tests, any e2e tests would be awesome here

+1 for tests
I got distracted improving the code cov score.

Got stuck on testing mouseout closing popovers in protractor. If you have any hints, let me know?
Moving to unit testing for now.

More info on doing that here:
http://stackoverflow.com/a/28301469/6744582

I think I'm done here. I'd like to get to 💯 but all checks are passing and I'm ready to move on and resolve these two issues.


Cuztomizable keymap

It would be nice to be able to remap shortcuts (like the tools) to different keys. I think the default keys are pretty good actually, but it would still be a nice addition.

This is beeing worked on by @MrApplejuice. See: https://github.com/mbrlabs/Lorien/discussions/144


error in bitbox new if .bitboxrc does not exist

I'm not ready to do pull requests so I will describe the issue.
In line 61 of index.js there is an error if config file does not exist. Obviously config is not defined. Work around is to create empty .bitboxrc file with contents {}
C:\Users\Dave\AppData\Roaming\npm\node_modules\bitbox-cli\index.js:61
} else if(config.new && config.new.environment) {
^
TypeError: Cannot read property 'new' of undefined
at ReadFileContext.fs.readFile [as callback] (C:\Users\Dave\AppData\Roaming\npm\node_modules\bitbox-cli\index.js:61:24)
at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:437:13)

Nice catch! I think this change to bitbox-cli fixes the issue. Basically I just needed to code more defensively and check that those objects exist before trying to access one of their properties.
Please let me know if you continue to see the problem. Thanks again!


Basic cli frontend

Integrating the command line frontend and the Web Frontend onto the main branch

@wxz472 I deleted the branch. Feel free to restore or create a new branch for the batch event extension to the CLI FE.


Add VPCSC tests for ServiceMonitoringService

This is a refresh of the auto-generated tests to include ServiceMonitoringService, which is a newly public API in the client lib.

Hi @chingor13, could you help review the PR? Since service monitoring service is newly released, this PR adds VPCSC tests for them. Thanks!


[FEATURE] Migrate from environment fields to targets field

Is your feature request related to a problem? Please describe.
Bundles have renamed experiments to targets. This needs to be done to avoid issues in the future with bundles. This requires changes on the auto bundle creation.
It will go from:
environments:
  test-project-dev:
....

to
targets:
  test-project-dev:
....

this can be done along with #77


Vue2: v-icon

Hi There!
Apologies if this has been mentioned. vicon has since been renamed to v-icon. This causes the icons not to appear due to it being registered as a 'custom element'.
Thanks!

Neeeevermind,
Needed to import the a-la-carte plugin instead.
import VImageInput from 'vuetify-image-input/a-la-carte';

Glad it worked.

I have the vicon problem too, but the a-la-carte.js doesn't work for me.
I also tried to import the component in my module :
import { VBtn, VCard, VIcon, VProgressCircular, VSlider, VSpacer } from 'vuetify/lib';
but I get an "Unexpected identifier" error with the trace below
I use it with Nuxt, so could be a Nuxt problem ?
I checked the vuetify-image-input/a-la-carte.js exists in my node_modules/ folder.
Any clue ?
Thanks in advance !
vm.js:83:7 new Script
vm.js:277:10 createScript
vm.js:329:10 Object.runInThisContext
internal/modules/cjs/loader.js:710:26 Module._compile
internal/modules/cjs/loader.js:787:10 Module._extensions..js
internal/modules/cjs/loader.js:653:32 Module.load
internal/modules/cjs/loader.js:593:12 tryModuleLoad
internal/modules/cjs/loader.js:585:3 Module._load
internal/modules/cjs/loader.js:690:17 Module.require
internal/modules/cjs/helpers.js:25:18 require
webpack:/external "vuetify-image-input/a-la-carte":1: Object.vuetify-image-input/a-la-carte
webpack/bootstrap:25: __webpack_require__
pages/index.js:13:88 Module../node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./pages/index.vue?vue&type=script&lang=js&
webpack/bootstrap:25: __webpack_require__
pages/index.vue:1: Module../pages/index.vue?vue&type=script&lang=js&

@julianlecalvez Did you manage to fix this issue? I'm facing the same issue.

Clarify on this one
You use import VImageInput from "vuetify-image-input/a-la-carte"; on the component you want to use this image input in.
Then register VImageInput to the component
export default {   name: "GenericComponent",   components: {     VImageInput   } }


Roadmap is stale

Sorry @slack, @technosophos said to pin this one on you!

Tag, I'm it!

Sorry? Isn't this like telling someone they have to eat dessert for dinner? :ice_cream:

Closing - Should be in the docs project


Optimization of row-wise histogram construction

This PR is to optimize row-wise histogram construction. For dense multi-value bin, the original bins, without offsets added, are stored, which saves memory when the max bin number per feature is small. For both dense and sparse multi-value, we try to use single precision floating point in histogram buffers, and use avx-256 instructions to speedup histogram construction.

The vectorization turns out to be not very useful. Currently the best solution is floating point in histogram buffer, without vectorization. This solution shows slight speedup in large datasets, and random accuracy changes across datasets. Following table shows the results wit.

Dataset
Metric
Floating Hist
Double Hist
Floating Hist Time
Double Hist Time
Speedup

higgs
auc
0.845811
0.845724
134.585092
154.115949
1.15

yahoo
ndcg@1
0.731416
0.733282
112.459163
137.843498
1.23

yahoo
ndcg@3
0.733377
0.73663
112.459163
137.843498
1.23

yahoo
ndcg@5
0.752274
0.754196
112.459163
137.843498
1.23

yahoo
ndcg@10
0.793193
0.794285
112.459163
137.843498
1.23

msltr
ndcg@1
0.519446
0.521958
144.633843
158.432796
1.10

msltr
ndcg@3
0.503264
0.504317
144.633843
158.432796
1.10

msltr
ndcg@5
0.50779
0.507863
144.633843
158.432796
1.10

msltr
ndcg@10
0.524606
0.524642
144.633843
158.432796
1.10

dataexpo_onehot
auc
0.778948
0.776935
70.260478
76.838947
1.10

allstate
auc
0.608945
0.609072
175.234117
172.642842
0.99

adult
auc
0.916585
0.916585
0.928749
1.009391
1.09

amazon
auc
0.825397
0.825397
0.684966
0.687232
1.00

appetency
auc
0.841312
0.841312
1.334963
1.73577
1.30

click
auc
0.718594
0.718689
24.588892
18.845999
0.77

internet
auc
0.94492
0.94492
0.325923
0.430719
1.32

kick
auc
0.647318
0.645391
3.406247
3.644793
1.07

upselling
auc
0.853112
0.853283
2.97424
2.96426
1.00

nips_b
auc
0.618597*
0.618246
73.157293
60.538565
0.83

nips_c
auc
0.689041
0.689041
8.809957
8.274977
0.94

year
rmse
8.64985
8.64991
43.75554
44.528458
1.02

The vectorization turns out to be not very useful.

Yeah, I remember XGBoost was also experimenting with AVX instructions but removed code later: https://github.com/dmlc/xgboost/pull/3752/.

The speed is bounded by memory access, not the computation. So it is expected.

@shiyu1994 maybe we can implement both double and float histograms. By default, it uses double as before, and we add a new parameter that can turn on float histogram.

for these negative speed-up, the additional cost is from histogram merge?

The negative speedup is due to inappropriate block size in row-wise histogram construction. When the total number of bins is large, and the number of data in a leaf is small, using too small block size causes a small computation with large memory footprint. I will fine tune the block size according to the bin number.

@shiyu1994 you can limit the min_block_size as before.

Add both float and double histogram buffer. The buffer type is chosen by parameter single_precision_hist_buffer. The Float version is removing offsets in bin values of MultiValDenseBIn (stores the original bin values instead), together with single precision floating point histogram buffers in row-wise histogram construction. The Double version is simply removing offsets in bin values of MultiValDenseBIn. The accuracy changes of using single precision buffers can be found in the previous table. Following table show the training time for 3 versions.

Dataset
Float Time
Double Time
Master
Float Speedup
Double Speedup

higgs
133.34±2.75
137.79±3.10
155.33±2.60
1.16
1.13

yahoo
111.20±1.46
117.27±3.91
146.13±1.99
1.31
1.25

msltr
144.14±1.95
150.42±3.90
163.52±1.29
1.13
1.09

dataexpo_onehot
70.73±0.99
74.10±2.19
78.62±1.47
1.11
1.06

allstate
173.97±1.81
178.49±5.79
182.61±2.44
1.05
1.02

adult
0.95±0.02
1.01±0.04
1.17±0.04
1.23
1.16

amazon
0.66±0.01
0.73±0.02
0.71±0.04
1.07
0.97

appetency
1.43±0.14
1.66±0.04
1.62±0.11
1.14
0.97

click
20.15±0.51
19.72±1.49
19.24±0.68
0.95
0.98

internet
0.31±0.01
0.34±0.05
0.43±0.02
1.39
1.27

kick
3.26±0.11
3.83±0.31
3.78±0.09
1.16
0.99

upselling
2.82±0.11
3.33±0.23
3.11±0.20
1.10
0.93

nips_b
60.28±1.29
59.04±0.67
62.93±0.66
1.04
1.07

nips_c
8.42±0.49
8.74±0.50
8.71±0.30
1.03
1.00

year
38.79±0.40
39.05±0.52
46.94±0.61
1.21
1.20

@shiyu1994 you can fix the cpp lint error: https://travis-ci.org/github/microsoft/LightGBM/jobs/742932255

Still testing the performance of two-row-wise histogram construction. It seems that using two separate row-wise histogram constructions for sparse and dense features does not necessarily speedup training. I'm trying to tune the block size to see if any improvements.

Update row-wise and sep-row-wise time. The master branch uses row-wise. N/A's in sep-row-wise mean degenerating to row-wise.

Dataset
Rowwise Time
Sep Rowwise Time
Master Rowwise Time
Rowwise Speedup
Sep Rowwise Speedup

higgs
137.19±1.81
N/A
155.33±2.60
1.13
N/A

yahoo
116.79±0.61
108.46±3.87
146.13±1.99
1.25
1.35

msltr
149.59±0.94
169.43±2.30
163.52±1.29
1.09
0.97

dataexpo_onehot
70.97±0.60
N/A
78.62±1.47
1.11
N/A

allstate
174.22±2.97
185.05±2.81
182.61±2.44
1.05
0.99

adult
0.99±0.02
1.33±0.06
1.17±0.04
1.18
0.88

amazon
0.70±0.01
N/A
0.71±0.04
1.02
N/A

appetency
1.65±0.08
1.94±0.11
1.62±0.11
0.98
0.84

click
18.74±0.51
N/A
19.24±0.68
1.03
N/A

internet
0.33±0.01
0.36±0.03
0.43±0.02
1.28
1.20

kick
3.68±0.10
N/A
3.78±0.09
1.03
N/A

upselling
3.23±0.12
3.59±0.15
3.11±0.20
0.96
0.87

nips_b
58.80±0.99
N/A
62.93±0.66
1.07
N/A

nips_c
8.41±0.24
9.71±0.44
8.71±0.30
1.04
0.90

year
39.27±0.61
N/A
46.94±0.61
1.20
N/A


Master

Change getter and setter return type

I have made two comments to your patch, but those are mostly nitpicks, and i can fix them myself after merging if your prefer

To make sure I understand the status return issue, you want to return
status via mStatus rather than as the read/write return value? Why - does
this reduce stack usage or something?

Well, yeah, that's one less variable on the stack ... i guess, not entirely sure what the compiler does with the unused return values.
Anyway, in current function, i sometime use it, sometime not, and i am moving to using it everywhere for style consistency.
As i said, mostly nitpick ;-)

I have tested it and all look good, just update your test cases to the new return types, and i can merge it.
Thanks again!


ArrayList iterator, unifying API of HashMap and its derivatives

This PR just does a small little unification; adding 'count' function to hashmap, arraylist, bufmap, and bufset (which just returns the inner storage value), this is more intended for as we extend the amount of data structures it is nice to have a set of API functions to follow for example having a 'count' function and so on, this makes it easier for library builders to utilise duck typing and support multiple collections in their libraries 😄.
Secondly it adds an iterator to ArrayList, again for the above reason.  All iterators also have a reset function attached.
Motivation
Again to bring up my Lazy library, I support you doing queries on slices such as Lazy.init(slice[0..]).where(odd).select(pow).toArray(buf[0..]), and when I wanted to extend it to supporting ArrayLists and Hashmaps I found a problem, they had conflicting APIs (and ArrayList had no iterator), so overall this fixes that by providing a consistent API.

Thanks! Looks good


Fixes issue #1431

@Neverbirth @elsassph @Meychi please review this PR

I think it's OK, but have to check against some local changes when I have time.

Thanks)

@Neverbirth what about this PR?

Didn't check yet. Will try during this week.

Looks good.

Everything working, such much needed.
Could it be approved?

IMHO "much needed" seems overestimating it as creating classes with the same name as a parent class is uncommon and I think it should be avoided as much as possible except for extreme cases heh.
I will finish with this during this week.

@andrew-git , sorry

@Neverbirth, ok for merge?

bump


If connection to db lost then deno process die and pup/sub not resuming.

How to handle connection (and other) DB  error?

import { connect } from "https://denopkg.com/keroxp/deno-redis/mod.ts"

const redis = await connect({
  hostname: "<IP_ADDRESS>",
  port: 6379,
})

const redisSub = await connect({
    hostname: "<IP_ADDRESS>",
    port: 6379,
  })

const redisPub = await connect({
    hostname: "<IP_ADDRESS>",
    port: 6379,
})

  setInterval(async ()=>{
      console.log(new Date())
      try{
            console.log("==>redis get:",await redis.get("test"))
            await redisPub.publish("test",JSON.stringify({time:new Date()}))
      }catch(err){
          console.log("==>error:",err)
      }
  },3000)

  var sub = await redisSub.subscribe("test")

  for await (const { channel, message } of sub.receive()) {
    console.log(">>>>>>>>>>>message from redis sub, channel:",channel,", message",message)
  }

Then I kill redis db process on server (emulating of problem with connections) then this app just die...
error: Uncaught Error: Invalid state
  throw new Error("Invalid state");
        ^
    at readLine (https://raw.githubusercontent.com/keroxp/deno-redis/master/io.ts:102:9)
    at async readArrayReply (https://raw.githubusercontent.com/keroxp/deno-redis/master/io.ts:141:16)
    at async RedisSubscriptionImpl.receive (https://raw.githubusercontent.com/keroxp/deno-redis/master/pubsub.ts:64:20)
    at async file:///Users/alex/Documents/Material%20Design%20Web/webserver/test_deno.js:85:39

And if use try/catch, after I restart DB on server, redis.get, pub, sub not resume connection and not working.
  try{
  var sub = await redisSub.subscribe("test")

  for await (const { channel, message } of sub.receive()) {
    console.log(">>>>>>>>>>>message from redis sub, channel:",channel,", message",message)
  }
}catch(err){console.log("==>sub error:",err)}

==>error: BrokenPipe: Broken pipe (os error 32)
    at unwrapResponse ($deno$/ops/dispatch_minimal.ts:63:11)
    at Object.sendAsyncMinimal ($deno$/ops/dispatch_minimal.ts:106:10)
    at async Object.write ($deno$/ops/io.ts:65:18)
    at async BufWriter.flush (https://deno.land/std@v0.51.0/io/bufio.ts:475:25)
    at async sendCommand (https://raw.githubusercontent.com/keroxp/deno-redis/master/io.ts:62:3)

So how to handle pub/sub error and resume connection and working state?

Any news?

Nicely documented! I think the next step here is for another person to reproduce this(probably not so hard), and make a suggestion on how to improve it.

As a first step, I created a test to reproduce the issue that @devalexqt reported. If it makes sense, I can look into suggesting a fix. https://github.com/keroxp/deno-redis/pull/91

Problem
I think the problem is that once connection is lost, the subscriber never resumes.
Solutions
To resolve the above problem, I think that deno-redis should do the following things:

provide a way to reconnect the lost connection.
resume (all?) subscribers when reconnected.

What about the other libraries?
ioredis provides the auto-reconnect and auto-resubscribe features:
new Redis({
  maxRetriesPerRequest: 5,
  autoResubscribe: true, // When reconnected, the subscriber will also resume.
  retryStrategy: times => computeNextTimeout(times),
});

go-redis

PubSub automatically reconnects to Redis Server and resubscribes to the channels in case of network errors.

https://pkg.go.dev/github.com/go-redis/redis@v6.15.8+incompatible?tab=doc#PubSub

@devalexqt @Terkwood @sebastienfilion I'm sorry for the delay response.
I've organized my thoughts.
If you have any other good ideas, please leave comments! :smile:

I vote to resume all subscribers when reconnected.
If others like the idea of auto-reconnect, that sounds good to me, too.

@Terkwood that was my idea. I’ve been working on a solution for the past few days; finishing testing. I hope I can push tomorrow for you all to see.


[nrf toup] arch: Allow removing drivers while keeping arch and kernel

Add dummy interrupt handlers and driver functions.
Rename CONFIG_KERNEL to CONFIG_DRIVERS and have it affect drivers only.
This helps with porting B0 to use more native Zephyr code.

cc @sigvartmh @hakonfam @osaether

I get the idea, but do we want to have this dummy stuff in the zephyr repo?

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 12 committers have signed the CLA.:x: sigvartmh:x: hakonfam:x: nordic-krch:x: rlubos:x: thst-nordic:x: ioannisg:x: ChristopherBittner:x: oyvindronningstad:x: SebastianBoe:x: jtguggedal:x: ru-fu:x: nvlsianpuYou have signed the CLA already but the status is still pending? Let us recheck it.

Found the following issues, please fix and resubmit:
Gitlint issues
Commit 8e197eb43a:
1: UC2 Body does not contain a 'Signed-off-by:' line
Identity/Emails issues
8e197eb43a31a2d91132fa2f522b1208136b3de4: author email (Øyvind Rønningstad<EMAIL_ADDRESS>needs to match one of the signed-off-by entries.

Not needed now.

Is closing this related to my PR upstream? I am not sure that this will be accepted.


zncc performance

Hey, I've noticed there is an undocumented unstructured encoding method. I've tried it out, and it looks like it would consume a lot of memory to decode. Anything above  100 x 100 pixel does not seem practical on my machine
import structuredlight as sl
import matplotlib.pyplot as plt

us = sl.Unstructured()
imlist_pattern = us.generate((100,100), 10, 32)
res = us.decode( imlist_pattern, imlist_pattern )

plt.imshow( res[0] )

Would you share some insights if this method is useful for any real projector sizes like 1920x1080 at all? It seems the memory needed for decoding would be quite excessive.
Also, in any of the other decoding methods, what would you normally recommend?

Hello @jakobs ! Thanks for waiting for my response.
As you mention, my implementation of the ZNCC decoder isn't practical. It requires enormous memory and calculation time.
There are two reasons.

Theoretically, calculating all ZNCC values requires a massive cost.
Our problem is to find the correspondence points between a projector and a camera. To solve that, the ZNCC decoder calculates a zncc value in all combinations of projector-camera, which is (width x height)_projector x (width x height)_camera times. If you use same resolution at 1920x1080, the decoder calculates a zncc value (1920x1080)x(1920x1080)=4299816960000 times. It costs a lot.

My implementation in NumPy is inefficient
You can see my implementation from here. output = ( a.T @ b ) / np.sqrt( aa_sum @ bb_sum.T ) is the bottleneck.
The shape of  ( a.T @ b ) and np.sqrt( aa_sum @ bb_sum.T )  is same as output. It means this code uses more than x2  memory than . And more, memory access efficiency inside the for-loop is low.

def calculate_zncc(a: np.ndarray, b: np.ndarray) -> np.ndarray:
    a = a - np.average(a, axis=0)
    b = b - np.average(b, axis=0)
    aa_sum = np.expand_dims(np.sum(a*a, axis=0), -1)
    bb_sum = np.expand_dims(np.sum(b*b, axis=0), -1)
    output = ( a.T @ b ) / np.sqrt( aa_sum @ bb_sum.T )
    return output

To improve efficiency, I need to reimplement it using C++-like code, such as CPython, Numba, or Pybind11. But I'm so busy.


Read nullability information of response body type.

Without depending on a ridiculously massive library...

Will this handle kotlin.KotlinNullPointerException in CoroutineCallAdapterFactory.kt:102 in case of a non-existent body?

We're seeing this issue when sending HTTP DELETE request that is returning a 204 with no response body.

@AndrewWestberg @itsmortoncornelius do you have any workaround for this?

@davyskiba I don't use this library in this case but return a call which I by myself wrap in a GlobalScope.async.

@davyskiba We do the same. Wrap Call with GlobalScope.async. It's pretty ugly and I'd rather be able to use this Call Adapter for all calls instead.

@itsmortoncornelius @AndrewWestberg thanks, will try this approach

I created a pull request that should fix this issue: https://github.com/JakeWharton/retrofit2-kotlin-coroutines-adapter/pull/36

Your PR ignores any nullability declaration and allows the propagation of null into a non-null type.

@JakeWharton Is this really a problem in practice?
I don't care having a NPE in library code (that I don't really control) when it would happen anyway in my code.
In fact, I think it's better to have the library not check for nulls there.
If you want a nullable type or use Void for existing API definition from Kotlin code with coroutines, you're out of luck.
On the other hand, having an NPE in your code because something went wrong, instead of inside library code, is not a big deal IMO.

Of course, #36 doesn't really fixes this issue since it does not read nullability, but I think it's a pragmatic solution.

I don't

I don't want to pursue this debate for too long, but in Java, you don't have this issue, and you have null unsafety everywhere (or annotations everywhere), and that didn't prevent people from debugging nullability issues they may have encountered with code using Retrofit.
If you have reasons behind your opinion that I may not be aware of, I'm still interested to know about them.

Well yes, that's true you end up with a null in a non-null type, didn't think of that. Only had the "Void" case in mind, and didn't want the call adapter to crash.
But I don't think you'll be able to solve it the way you want, and I honestly don't think you should. Since the Retrofit repsonse.body is annotated @Nullable you technically always have to expect a null body, and since you lose the generic type info at runtime there's no way to know if it's nullable or not.
If you know in advance that a response is not going to provide an answer use Void response type to make it obvious. If you're not sure, you're better off checking the HTTP Status Code for 204/205, see also: https://github.com/square/retrofit/blob/9a1b08e4fbb5cc56dd6e3f93ef4d99e386fa8064/retrofit/src/main/java/retrofit2/OkHttpCall.java#L216

@JakeWharton is there any possible workaround for this? I have a call that always returns HTTP/1.1 204 No Content with no response body and I'm getting kotlin.KotlinNullPointerException in CoroutineCallAdapterFactory.kt:102.

I created a copy of the adapter to handle this. Seems to work:
https://gist.github.com/kevindmoore/769328e5a256080706cd23029c622e7b


No info about DB while using "Edit data" view.

Is your feature request related to a problem? Please describe.
While working on multiple DB connections, "Edit data" view is not showing what is the DB context used for that. That means that if I have multiple "Edit data" views opened I am not able to know for which DB connection it is used.
Describe the solution or feature you'd like
Add in the header of of Card info about DB or like in "Select data" view info about DB that is used for that query.

@smartguest this would be a nice enhancement to make to the edit data experience.


Ghost swipe occurs when using domEvents: true

I'm using hammer in a jQuery widget:
this.carousel.hammer({ domEvents: true });
And using it to call a swipeLeft event:
this._on(this.carousel, {
        swipeleft: function (e) {
                // some code
        }
}

Once I added domEvents: true, I noticed an extra swipe was occuring. So '//some code'' was executing twice.
Here is what console.log(e) shows on swipeleft:

w.Event {originalEvent: Event, type: "swipeleft", isDefaultPrevented: ƒ, target: div.section-content.container, currentTarget: main#main.carousel, …}
w.Event {type: "swipeleft", gesture: {…}, timeStamp:<PHONE_NUMBER>758, jQuery331004431692218889283: true, isTrigger: 3, …}

The first dot point is the first swipe event (the one that occurs normally).
The second dot point is the swipe that now occurs because I've set domEvents to true.
Anyone have any ideas why this is happening?

Have you ever resolved this issue?


Add npm shrinkwrap?

Closed as this is an end user/project issue and shouldn't be dictated in the kit.


esy bootstrap error on OSX

OSX 10.14.6
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: @esy-ocaml/libffi@github:onivim/libffi#590b041
    # esy-build-package: pwd: /Users/nielmond/.esy/3/b/esy_ocaml__s__libffi-4e776efc
    # esy-build-package: running: 'find' './' '-exec' 'touch' '-t' '200905010101' '{}' '+'
    # esy-build-package: running: 'bash' '-c' 'CFLAGS=-fPIC ./configure --enable-shared=no --enable-static=yes --prefix /Users/nielmond/.esy/3________________________________________________________________/s/esy_ocaml__s__libffi-4e776efc'
    checking build system type... x86_64-apple-darwin18.7.0
    checking host system type... x86_64-apple-darwin18.7.0
    checking target system type... x86_64-apple-darwin18.7.0
    continue configure in default builddir "./x86_64-apple-darwin18.7.0"
    ....exec /bin/sh .././configure "--srcdir=.."  GNU
    checking dependency style of gcc... gcc3
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking dependency style of g++... gcc3
    checking dependency style of gcc... gcc3
    checking whether gcc and cc understand -c and -o together... yes
    checking how to print strings... printf
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
    checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 196608
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-apple-darwin18.7.0 file names to x86_64-apple-darwin18.7.0 format... func_convert_file_noop
    checking how to convert x86_64-apple-darwin18.7.0 file names to toolchain format... func_convert_file_noop
    checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... no
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking for dsymutil... dsymutil
    checking for nmedit... nmedit
    checking for lipo... lipo
    checking for otool... otool
    checking for otool64... no
    checking for -single_module linker flag... yes
    checking for -exported_symbols_list linker flag... yes
    checking for -force_load linker flag... yes
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... no
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... no
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... no
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... yes
    checking for gcc option to produce PIC... -fno-common -DPIC
    checking if gcc PIC flag -fno-common -DPIC works... yes
    checking if gcc static flag -static works... no
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... darwin18.7.0 dyld
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... no
    checking whether to build static libraries... yes
    checking how to run the C++ preprocessor... g++ -E
    checking for ld used by g++... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
    checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
    checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
    checking for g++ option to produce PIC... -fno-common -DPIC
    checking if g++ PIC flag -fno-common -DPIC works... yes
    checking if g++ static flag -static works... no
    checking if g++ supports -c -o file.o... yes
    checking if g++ supports -c -o file.o... (cached) yes
    checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... darwin18.7.0 dyld
    checking how to hardcode library paths into programs... immediate
    checking size of size_t... 0
    checking for C compiler vendor... clang
    checking CFLAGS for maximum warnings... -Wall
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking sys/mman.h usability... yes
    checking sys/mman.h presence... yes
    checking for sys/mman.h... yes
    checking for mmap... yes
    checking for mkostemp... yes
    checking for sys/mman.h... (cached) yes
    checking for mmap... (cached) yes
    checking whether read-only mmap of a plain file works... yes
    checking whether mmap from /dev/zero works... no
    checking for MAP_ANON(YMOUS)... yes
    checking whether mmap with MAP_ANON(YMOUS) works... yes
    checking for ANSI C header files... (cached) no
    checking for memcpy... yes
    checking for size_t... yes
    checking for working alloca.h... yes
    checking for alloca... yes
    checking size of double... 0
    checking size of long double... 0
    checking whether byte ordering is bigendian... no
    checking assembler .cfi pseudo-op support... yes
    checking for _ prefix in compiled symbols... yes
    checking whether .eh_frame section should be read-only... no
    checking for __attribute__((visibility("hidden")))... no
    clang: error: unsupported option '-print-multi-os-directory'
    clang: error: no input files
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating include/Makefile
    config.status: creating include/ffi.h
    config.status: creating Makefile
    config.status: creating testsuite/Makefile
    config.status: creating man/Makefile
    config.status: creating libffi.pc
    config.status: creating fficonfig.h
    config.status: linking ../src/x86/ffitarget.h to include/ffitarget.h
    config.status: executing buildir commands
    config.status: create top_srcdir/Makefile guessed from local Makefile
    config.status: buggy sed found - it deletes tab in "a" text parts
    config.status: build in x86_64-apple-darwin18.7.0 (HOST=)
    config.status: executing depfiles commands
    config.status: executing libtool commands
    config.status: executing include commands
    config.status: executing src commands
    # esy-build-package: running: 'make'
    MAKE x86_64-apple-darwin18.7.0 :        0 * all-all
    /Applications/Xcode.app/Contents/Developer/usr/bin/make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-fPIC  -Wall -fexceptions' 'CXXFLAGS=-g -O2' 'CFLAGS_FOR_BUILD=' 'CFLAGS_FOR_TARGET=' 'INSTALL=/usr/local/bin/ginstall -c' 'INSTALL_DATA=/usr/local/bin/ginstall -c -m 644' 'INSTALL_PROGRAM=/usr/local/bin/ginstall -c' 'INSTALL_SCRIPT=/usr/local/bin/ginstall -c' 'JC1FLAGS=' 'LDFLAGS=' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=/Applications/Xcode.app/Contents/Developer/usr/bin/make' 'MAKEINFO=/bin/sh /Users/nielmond/.esy/3/b/esy_ocaml__s__libffi-4e776efc/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET=' 'RUNTESTFLAGS=' 'SHELL=/bin/sh' 'exec_prefix=/Users/nielmond/.esy/3________________________________________________________________/s/esy_ocaml__s__libffi-4e776efc' 'infodir=/Users/nielmond/.esy/3________________________________________________________________/s/esy_ocaml__s__libffi-4e776efc/share/info' 'libdir=/Users/nielmond/.esy/3________________________________________________________________/s/esy_ocaml__s__libffi-4e776efc/lib' 'mandir=/Users/nielmond/.esy/3________________________________________________________________/s/esy_ocaml__s__libffi-4e776efc/share/man' 'prefix=/Users/nielmond/.esy/3________________________________________________________________/s/esy_ocaml__s__libffi-4e776efc' 'AR=ar' 'AS=as' 'CC=gcc' 'CXX=g++' 'LD=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld' 'NM=/usr/bin/nm -B' 'RANLIB=ranlib' 'DESTDIR=' all-recursive
    Making all in include
    make[3]: Nothing to be done for `all'.
    Making all in testsuite
    make[3]: Nothing to be done for `all'.
    Making all in man
    make[3]: Nothing to be done for `all'.
    depbase=`echo src/prep_cif.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src   -fPIC  -Wall -fexceptions -MT src/prep_cif.lo -MD -MP -MF $depbase.Tpo -c -o src/prep_cif.lo ../src/prep_cif.c &&\
    	mv -f $depbase.Tpo $depbase.Plo
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -fPIC -Wall -fexceptions -MT src/prep_cif.lo -MD -MP -MF src/.deps/prep_cif.Tpo -c ../src/prep_cif.c -o src/prep_cif.o
    In file included from ../src/prep_cif.c:28:
    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:66:
    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/wait.h:110:
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:196:2: error: unknown type name 'uint8_t'
            uint8_t  ri_uuid[16];
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:197:2: error: unknown type name 'uint64_t'
            uint64_t ri_user_time;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:198:2: error: unknown type name 'uint64_t'
            uint64_t ri_system_time;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:199:2: error: unknown type name 'uint64_t'
            uint64_t ri_pkg_idle_wkups;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:200:2: error: unknown type name 'uint64_t'
            uint64_t ri_interrupt_wkups;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:201:2: error: unknown type name 'uint64_t'
            uint64_t ri_pageins;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:202:2: error: unknown type name 'uint64_t'
            uint64_t ri_wired_size;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:203:2: error: unknown type name 'uint64_t'
            uint64_t ri_resident_size;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:204:2: error: unknown type name 'uint64_t'
            uint64_t ri_phys_footprint;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:205:2: error: unknown type name 'uint64_t'
            uint64_t ri_proc_start_abstime;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:206:2: error: unknown type name 'uint64_t'
            uint64_t ri_proc_exit_abstime;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:210:2: error: unknown type name 'uint8_t'
            uint8_t  ri_uuid[16];
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:211:2: error: unknown type name 'uint64_t'
            uint64_t ri_user_time;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:212:2: error: unknown type name 'uint64_t'
            uint64_t ri_system_time;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:213:2: error: unknown type name 'uint64_t'
            uint64_t ri_pkg_idle_wkups;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:214:2: error: unknown type name 'uint64_t'
            uint64_t ri_interrupt_wkups;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:215:2: error: unknown type name 'uint64_t'
            uint64_t ri_pageins;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:216:2: error: unknown type name 'uint64_t'
            uint64_t ri_wired_size;
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/resource.h:217:2: error: unknown type name 'uint64_t'
            uint64_t ri_resident_size;
            ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    make[3]: *** [src/prep_cif.lo] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all] Error 2
    make: *** [all-all] Error 2
    error: command failed: 'make' (exited with 2)
    esy-build-package: exiting with errors above...

  building @esy-ocaml/libffi@github:onivim/libffi#590b041

I got past this by renaming /usr/local/include, as suggested here https://github.com/libffi/libffi/issues/128
I got this same error when trying to run node install-node-deps.js (tried that, even though it came later in the instructions.

Now esy bootstrap fails with a different error
info building esy-skia@github:revery-ui/esy-skia#d60e5fe@d41d8cd9
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: esy-skia@github:revery-ui/esy-skia#d60e5fe
    # esy-build-package: pwd: /Users/nielmond/.esy/3/b/esy_skia-106e9465
    # esy-build-package: running: 'bash' './esy/build.sh' 'darwin' '/Users/nielmond/.esy/3________________________________________________________________/i/esy_libjpeg_turbo-dc3b4679'
    buildtools                           @ 505de88083136eefd056e5ee4ca0f01fe9b33de8
    common                               @ 9737551d7a52c3db3262db5856e6bcd62c462b92
    third_party/externals/angle2         @ b001528ffa00e7c15a5002124f707570e59a5697
    third_party/externals/dng_sdk        @ 96443b262250c390b0caefbf3eed8463ba35ecae
    third_party/externals/expat          @ android-6.0.1_r55
    third_party/externals/freetype       @ fa6da7bf6dcbcfa22d2464259ad1cccee3233189
    third_party/externals/googletest     @ dd43b9998e9a44a579a7aba6c1309407d1a5ed95
    third_party/externals/harfbuzz       @ 1.4.2
    third_party/externals/icu            @ ec9c1133693148470ffe2e5e53576998e3650c1d
    third_party/externals/imgui          @ 6384eee34f08cb7eab8d835043e1738e4adcdf75
    third_party/externals/jsoncpp        @ 1.0.0
    third_party/externals/libjpeg-turbo  @ 1.5.3
    third_party/externals/libpng         @ v1.6.33
    third_party/externals/libwebp        @ v0.6.1
    third_party/externals/lua            @ v5-3-4
    third_party/externals/microhttpd     @ 748945ec6f1c67b7efc934ab0808e1d32f2fb98d
    third_party/externals/piex           @ bb217acdca1cc0c16b704669dd6f91a1b509c406
    third_party/externals/rapidjson      @ af223d44f4e8d3772cb1ac0ce8bc2a132b51717f
    third_party/externals/sdl            @ 5d7cfcca344034aff9327f77fc181ae3754e7a90
    third_party/externals/sfntly         @ b18b09b6114b9b7fe6fc2f96d8b15e8a72f66916
    third_party/externals/spirv-headers  @ 661ad91124e6af2272afd00f804d8aa276e17107
    third_party/externals/spirv-tools    @ e9e4393b1c5aad7553c05782acefbe32b42644bd
    third_party/externals/swiftshader    @ cbb80f5f0078a9941f3ec43e83e52c3d15a43bea
    third_party/externals/zlib           @ e7afdfe128e01ca480a28f757b571957befdd962
    Traceback (most recent call last):
      File "tools/git-sync-deps", line 254, in <module>
        exit(main(sys.argv[1:]))
      File "tools/git-sync-deps", line 249, in main
        os.path.join(os.path.dirname(deps_file_path), 'bin', 'fetch-gn')])
      File<EMAIL_ADDRESS>line 185, in check_call
        retcode = call(*popenargs, **kwargs)
      File<EMAIL_ADDRESS>line 172, in call
        return Popen(*popenargs, **kwargs).wait()
      File<EMAIL_ADDRESS>line 394, in __init__
        errread, errwrite)
      File<EMAIL_ADDRESS>line 1047, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory
    llvm toolset-7.0 does not need to be manually activated
    ./esy/build.sh: line 44: bin/gn: No such file or directory
    error: command failed: 'bash' './esy/build.sh' 'darwin' '/Users/nielmond/.esy/3________________________________________________________________/i/esy_libjpeg_turbo-dc3b4679' (exited with 255)
    esy-build-package: exiting with errors above...

  building esy-skia@github:revery-ui/esy-skia#d60e5fe
esy: exiting due to errors above

The above error looks very much like https://github.com/revery-ui/revery/issues/686. python --version is 2.7.18. I also have python2 --version resulting in the same version. I do think I have python 3 installed somewhere on my machine.

When I run  esy run -f --checkhealth I get the same error but with a little more info included:
    error: RPC failed; result=56, HTTP code = 200
    fatal: The remote end hung up unexpectedly
    fatal: early EOF
    fatal: index-pack failed

Eh, that might have been a glitch. Running it a second time just resulted in the same error as before.

Coming back to this. I realized the instance of Python that was being used in the stacktraces is not the same Python I have on my path. It seems to be installed from brew, but trying to upgrade it didn't work. I moved the location of that Python installation, and then it worked!
How does one specify which instance of python to use?
When oni runs the fonts are messed up, but that's a separate issue. I'm unstuck here, but it does seem like there is room to improve the installation process so I guess I'll leave this open.

Anyway, I moved the location of that Python installation so esy wouldn't find it, and then it worked!

One question is: How does one specify which instance of python to use?

Glad you got it working, @nielmond !
The actual source of the failure is the esy-skia project - that's where python2 is required, and does the detection: https://github.com/revery-ui/esy-skia/blob/c8bded8894f6624a0c1b0b1b2736630754bef62b/esy/build.sh#L6

I'm unstuck here, but it does seem like there is room to improve the installation process so I guess I'll leave this open.

Since the root cause is with esy-skia - we should probably move the issue there. I don't think there's any action here in Onivim 2 for this particular issue (although there is certainly room for improvement in the chain of dependencies!)

When oni runs the fonts are messed up, but that's a separate issue.

Hmm, are the fonts not showing at all? Or corrupted? Wondering if it's an issue if we have tracked already or not. You'll need to run esy bootstrap and node install-node-deps.js to get all the dependencies set up.

There were fonts, they just looked bad, like fonts were being replaced inappropriately, and overall looked much worse than the paid version. I went back just now and pulled from master and went through the steps again and it looks OK now. I had run esy bootstrap and and node install-node-deps.js before, things weren't working so I tried a bunch of things in the process and may have reverted something? So either going through the steps again fixed it or you guys fixed a bug, but either way seems resolved!

So either going through the steps again fixed it or you guys fixed a bug, but either way seems resolved!

Great news! Thanks @nielmond for the update.  It's possible - been a bunch of work on fonts lately (ie, we bundled and defaulted to JetBrains Mono now). In any case, glad it's working for you now 😄


Remove use of Spring Cloud's bootstrap context

Spring Cloud's bootstrap context is problematic for things that need to react to the environment early, such as the wavefront integration. Could you please upgrade to a more recent version of Spring Cloud that doesn't require this?

@snicoll, @patsevanton I will try to upgrade the Spring Cloud version in the next few weeks.


Fails to build with msvc target

I tried to cargo install Racer today, but it failed because libz-sys failed to compile. I have cargo installed Racer before, but I think it was with the gnu target. I recently switched to msvc, partially because that's what ring recommends. I'm using
rustc 1.29.0-nightly (54628c8ea 2018-07-30)
i686-pc-windows-msvc
Windows 10 64-bit
Visual Studio 2017 15.7.3

When it wouldn't build with Visual Studio 2017 RC, I updated to 15.7.3 today, but no change.
I just cloned the libz-sys repository, opened a PowerShell window, and it gives the same error:
PS C:\Files\Projects\libz-sys> cargo build
   Compiling cc v1.0.18
   Compiling vcpkg v0.2.4
   Compiling pkg-config v0.3.12
   Compiling libc v0.2.42
   Compiling libz-sys v1.0.18 (file:///C:/Files/Projects/libz-sys)
error: failed to run custom build command for `libz-sys v1.0.18 (file:///C:/Files/Projects/libz-sys)`
process didn't exit successfully: `C:\Files\Projects\libz-sys\target\debug\build\libz-sys-933099ae9f1330d8\build-script-build` (exit code: 1)
--- stdout
cargo:rerun-if-env-changed=LIBZ_SYS_STATIC
cargo:rerun-if-changed=build.rs
note, vcpkg did not find zlib: Could not find Vcpkg tree: No vcpkg.user.targets found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'
running: "nmake.exe" "/nologo" "/f" "C:\\Files\\Projects\\libz-sys\\target\\debug\\build\\libz-sys-7b5cb260792e8afa\\out\\build/win32/Makefile.msc" "zlib.lib"

failed to execute command: The system cannot find the file specified. (os error 2)
Is `nmake.exe` not installed?

Since ring successfully builds, and it also uses the MSVC toolchain, it seems libz-sys should be working too. Looks like VS isn't being detected properly? I tried running nmake from a VS command prompt and that works. (I haven't tried running Cargo from a VS command prompt yet.)

I spent a few minutes investigating where the problem is. I tried calling find_tool("i686-pc-windows-msvc", "nmake.exe") and of course it returns None. Looking into the code, vs15_vc_paths is returning bin_path =
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x86

But there's no nmake.exe in that folder. It has cl.exe, lib.exe, and link.exe, but no nmake.exe, so tool_from_vs15_instance will return None. The folders with nmake in them:
Hostx64\x64   yes
Hostx64\x86   no
Hostx86\x64   no
Hostx86\x86   yes

Besides nmake.exe, there are other tools missing from those two folders, including cvtres.exe, pgocvt.exe, pgomgr.exe, pgosweep.exe, undname.exe, and xdcmake.exe.
Looks like the x64_x86 command prompt that VS installs falls back to Hostx64\x64 for missing tools and the x86_x64 command prompt falls back to Hostx86\x86.

I've retooled the build in https://github.com/alexcrichton/libz-sys/pull/40, so this should be fixed now


auth.logout() Redirect URL in Config Setting

Hi Sahat,
I understand the auth.logout() takes redirect url as a parameter. I was wondering, is there a way to set a Global Config value for auth.logout() url?? Something similar to $authProvider.loginUrl, but like $authProvider.logoutUrl?
Thanks.

@Mr-Anonymous I think it is better to have the logout destination flexible... loosely coupled..
If a user is logging out from a back-end profile > send the user to the home page
if a user is logging out from a video chat session > send the user to public session list page
Here is the example where I answered your question... https://github.com/sahat/satellizer/issues/1028


added heap sort for hacktoberfest

Added an efficient heap sort implementation with well defined comments

Thank you for your contribution


Enhancement - Handle RaftError properly

Change error handling logic properly instead of just raising RuntimeError

Now only decode methods in the raftpb_bindings crate use to_pyresults.
This could also be improved by making DecodeError, but I think I have to take care of other things first.

I think it could be already properly handled, so I close this issue


how can we remove "."

every time the recognizedFinished to the end of the text "." is getting added

Set enableAutomaticPunctuation to false


Fixed silder image not work #4408

BUGS:
Link: https://github.com/bagisto/bagisto/issues/4408

@devansh-webkul
two slider created with same ID when trying to create only single slider. https://prnt.sc/wct3g8

Hi @vaishaliwebkul,
The mentioned issue has been fixed.


Fix URL to rqlite page

I had the wrong URL to your site in the original PR (https://github.com/asg017/sqlite-vec/pull/80)

I made another small clean-up to the rqlite instructions while I was at it.


[REQUEST]COMBOTYPE IDENTIFIER

Is your feature request related to a problem? Please describe.
I have a website which allows only certain email domains, and usernames. So i want make
`IF COMBOTYPE EqualsTo "EmailPass" then convert them into UserPass by removing email domain part.
`Describe the solution you'd like
I dont know what best would be to do that, add function Email to User or COMBOTYPE IDENTIFIER
Describe alternatives you've considered
Write regex to get rid of domain part but cant control if is combotype is correct or not.

IF "<USERNAME>" Contains "@"
FUNCTION Replace<EMAIL_ADDRESS>"" UseRegex=True "<USERNAME>" -> VAR "CLEAN-USERNAME"
ENDIF

IF "<USERNAME>" Contains "@"
FUNCTION Replace<EMAIL_ADDRESS>"" UseRegex=True "<USERNAME>" -> VAR "CLEAN-USERNAME"
ENDIF

Tried but would screw User combos which include @

You can improve the regex by adding something like @.*\..*$ which will make sure there is a dot after the at symbol. There is a VERY THIN chance that a username has both of them in that sequence.

For the whitelisted email domains you could make something like
KEYCHECK BanOnToCheck=False
  KEYCHAIN FAILURE AND
    KEY "<USERNAME>" DoesNotContain<EMAIL_ADDRESS>    KEY "<USERNAME>" DoesNotContain<EMAIL_ADDRESS>    etc...

ok thanks i got your idea, i'm waiting for answer in forum :D


Include template size in status message

This will include the template size in the message, so there's more transparency when an app may be getting close to the CloudFormation template size limit.

👍

👍


demo code is not working

Is your feature request related to a problem? Please describe.
no
Describe the solution you'd like
the demo code is not working: https://github.com/capacitor-community/admob/tree/feat/demo

@BrunoUY The demo code is confirmed to work by the maintainer; is your version of Android Studio or Xcode up to date? Have you changed the certificate to your own?
With only this information we can not support you.

Hi,
I mean when you click on he demo code it appears a "Page not found" 404 error
https://github.com/capacitor-community/admob/tree/feat/demo
thank you.

Sorry, I understood!!
demo code is here: https://github.com/capacitor-community/admob/tree/master/demo/angular
I will update README. Thanks.


Add logs to identify intermittent failure

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #20418 into release-stage will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release-stage   #20418   +/-   ##
==============================================
  Coverage          15.21%   15.21%
==============================================
  Files                 50       50
  Lines               1341     1341
  Branches             208      208
==============================================
  Hits                 204      204
  Misses              1121     1121
  Partials              16       16

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 5476395...f2a0a57. Read the comment docs.


Introduce raise_on_error_status flag

Closes https://github.com/openapi-generators/openapi-python-client/issues/491
This behaves similarly to raise_on_unexpected_status introduced in https://github.com/openapi-generators/openapi-python-client/pull/593.
Partially implements and inspired by the "Ability to raise exception for failed responses" from https://github.com/openapi-generators/openapi-python-client/pull/722, but I decided to go for a much simpler implementation without an x-response-type property. I'm not sure it is useful to go against the standard that error codes are 4xx and 5xx.
This will conflict with https://github.com/openapi-generators/openapi-python-client/pull/729. To combine both, we need to introduce a common base class for the different exception types, e.g. ApiException, that handles the extra arguments.

I realized that setting this option in the Client will never allow us to get the request functions' return types right.
What do you think about adding both the existing raise_on_unexpected_status and the new raise_on_error_status to the generation config file instead? Then we can get rid of None in the return type annotations if both flags are set. We can additionally allow setting raise_on_unexpected_status in the Client for backwards-compatibility.

We also need this feature in our team, it would be great if you add this

@dbanty which one do you like better: A runtime flag with overloads to get type annotations working or a flag in the generation config file?
I think for most APIs it's OK if the person generating the client makes the decision on how error response codes are handled. This does not need to be done differently by every user of the generated client. It would save us a lot of typing complexity in the generated code.

The fact that exceptions bypass the type system is the entire reason I resisted adding any exceptions for so long 😅. For the folks who want exceptions instead of statically-typed errors (and I know a lot of you exist), do you care about static types at all? I feel like mixing and matching the error handling is just going to be annoying, and that a generated client should either throw exceptions for all errors or return types which represent those errors. That means the documented error types from OpenAPI should also become generated exceptions rather than attrs classes.
As a side note, rather than maintaining this code ourselves, we should expose the httpx client and let folks set up event hooks (there's an example that raises exceptions on 4xx/5xx here). I know there are a lot of people using custom templates to set up hooks for other things already, so this would also enable a bunch of other features that folks are requesting without adding a bunch more code for us to maintain. That's not to say that this PR can't land, just that it will cause future breaking changes/tech debt that needs to be considered.

Thanks for the response!
I definitely prefer getting errors as exceptions. I want to use the sync function's response value without first checking its type: Ideally it would have only one return type.
I don't personally care so much about this, but I think the exceptions can be typed: The generated client could provide a different exception class for every combination of status code and response schema and then raise the correct exception types. I would make the decoded response body a member of the custom exception types though, to be able to inherit from httpx.HTTPStatusError:
class CustomResponseType422(httpx.HTTPStatusError):
    def __init__(self, *args, decoded: CustomResponseType, **kwargs):
        super().__init__(*args, **kwargs)
        self.decoded = decoded
...
try:
    my_request.sync(client)
except CustomResponseType422 as err:
    handle_422(err.decoded)

Using what httpx offers is a good idea. However, if we expose the client to allow adding a raise_on_4xx_5xx hook, sync methods would still have unions as return type annotations. I would like to introduce the raise_on_unexpected_status and raise_on_unexpected_status as config flags at generation time to get rid of the union return types. I will open a new PR for that.


Feat - Price formatter classes

This PR intends to move the price formatting into a separate class which you can swap out in the configuration.
Currently formatting of prices are tied to the Lunar implementation and we should be allowing developers to provide their own methods.

Currently I'm not too sure on the implementation 🤔 as it stands it's just a copy of the existing methods and moved to a class reference, but I'm not sure how correct...

I think the function parameters probably need to be flexible, as if someone isn't using PHP's NumberFormatter class it wouldn't make sense.

Updated to decouple the arguments from the price datatype so it's up to the formatter itself what it supports. Also added a prices reference which should hopefully provide enough guidance 🤞

Do we need to add something to the upgrade guide for the config value?

Do we need to add something to the upgrade guide for the config value?

It's not a requirement to add it when updating, Lunar would still function. It would only be relevant if the developer was to change the class and they'd get that info from the other docs.

Do we need to add something to the upgrade guide for the config value?

It's not a requirement to add it when updating, Lunar would still function. It would only be relevant if the developer was to change the class and they'd get that info from the other docs.

No, but it is a change. Are we only showing breaking changes in the upgrade guide?

Do we need to add something to the upgrade guide for the config value?

It's not a requirement to add it when updating, Lunar would still function. It would only be relevant if the developer was to change the class and they'd get that info from the other docs.

No, but it is a change. Are we only showing breaking changes in the upgrade guide?

My take is that the upgrade guide is for steps which are required for the upgrade to be successful. For example Laravel has this statement:

We also encourage you to view the changes in the laravel/laravel GitHub repository. While many of these changes are not required, you may wish to keep these files in sync with your application. Some of these changes will be covered in this upgrade guide, but others, such as changes to configuration files or comments, will not be.


Location and orientation query parameters

The CesiumViewer app looks for a location query parameter and pipes that value through to the Geocoder.
It will also send the value (heading,pitch,roll) of the orientation query parameter, if defined.
Replaces #2500
I also added GeocoderViewModel.onSuccess, an event for the geocoder's flight completion (#1262)

This doesn't currently update the query string.  Is that something we want?  Once #2704 goes in, I can update the query string on camera move so the camera will reload.  Or I could update the query string when the geocoder is used.

Or I could update the query string when the geocoder is used.

The Geocoder could (should?) fire an event when it's used, and app-specific code can listen for that event and update the URL per the app's own URL routing system.

This doesn't currently update the query string. Is that something we want?

For sure.

Once #2704 goes in, I can update the query string on camera move so the camera will reload

We should just need to do this, and not worry about using the geocoder event (but keep the event since it could be useful to others).

Does location have to be a string?  Can it also be (longitude, latitude)/(longitude, latitude, height) in degrees/meters?  When you update CHANGES.md, can you add some examples?
Also, we use position throughout Cesium, not location.

Don't forget to update this comment :smiley:

@pjcozzi i chose location cause it can take either a string (like Exton,PA) or (longitude, latitude)/(longitude, latitude, height)

but I can change it to position

Nah, I don't care that much since this is a Viewer-level thing.  If folks feel otherwise, they can chime.

location seems better given @hpinkos' description.

@hpinkos we just merged #2704.

@pjcozzi @emackey ready for review.
I added a saveCamera query parameter to so the app will only update the location and orientation query parameters if that is set to true.  I thought saving the camera would be a less common use case than going to the default home view after refresh.

I added a saveCamera query parameter to so the app will only update the location and orientation query parameters if that is set to true. I thought saving the camera would be a less common use case than going to the default home view after refresh.

We should default this to true (and maybe even remove it) since the idea is to make it really easy to capture and share these views.  Check out Google Maps, which always updates the query string.

Update CHANGES.md.

@mramato is there a reasonable way to test this?

Is a space (%2C) a better token than the comma we used in #2500?  It is not as readable, which isn't critical but has some value.

How hard is it to make this work with Sandcastle?

Is a space (%2C) a better token than the comma we used in #2500?

%2C is a comma after it is URL encoded.  You can type location=45,20,90 in and it will work.

How hard is it to make this work with Sandcastle?

The Sandcastle examples are in an iframe.  If you want to save the camera position, that info would need to propagate out to the main Sandcastle framework URL and back in.  Currently the Sandcastle framework isn't aware of the viewer widget, and doesn't require a viewer widget to be present in any given demo.  Off the top of my head I can't think of a good clean way to implement this.

We should default this to true (and maybe even remove it) since the idea is to make it really easy to capture and share these views. Check out Google Maps, which always updates the query string.

Oh okay, gotcha.  I made that change.

%2C is a comma after it is URL encoded. You can type location=45,20,90 in and it will work.

Ah, OK.

This is no good if you're using a string for the location (ie Exton, PA)

Do we care about having a string as the query parameter?  Perhaps we just drop it.  When will it be used in practice?  The Bing geocoder also fails sometimes so I would not want to rely on it to send people links.

that info would need to propagate out to the main Sandcastle framework URL and back in.

How ugly is that?  For using this feature for development, e.g., performance testing a particular view or sharing a bug, we would want to use it with Sandcastle.

I'm closing this PR to separate out the CesiumViewer changes from the other things.  I just pushed some updates to @pjcozzi's PR #2500 instead for the app changes.
I'll do the tiny geocoder change in a different PR.


Sensor ms5837

This is a repeat of #48490, which couldn't be re-opened.

Hi @MaureenHelm would you be able to review this MR again please


Scripting Error on Page Load

When logging into hydroshare, the landing page shows
Production

Dev7

This is in beta and all other environments, including local developer setups.
Similar 404 js.1.27 errors appear on every HydroShare page

removed with the PR mentioned above.  @cuahsimarko has expressed that he feels django-freshly might present more problems than it solves.  Since he leads the frontend development effort, I'm following his advice and removing it.  I've logged an issue with the django-freshly repo with a test that reproduces this bug at https://github.com/un33k/django-freshly/issues/2.


Can i use ViroReact for a React js (PWA) application instead of a react-native aplication

I want to use the Viro Image recognition to Trigger a function on my app when the user points to an image (Heart, smiley face, or some target) , I don't want to render a 3D model or anything, i just want to redirect somewhere inside the app.
Is it possible to use it with React instead or react native? Do you know if i should be using other library instead?

Hi,
You can accomplish this by simply adding a <ViroImageMarker /> component and adding an onAnchorFound callback. Then when that image is found, the callback will be triggered and you can do whatever you want at that point.
Unfortunately our platform only works with React Native and is meant only for mobile applications. I'm not aware of any React libraries that do the same (it would require browser support for ARcore and ARKit).

hi @booleanaVillegas I've had some success messing with this web-based AR library and i'm not sure it exactly fits your use case but its worth checking out https://github.com/jeromeetienne/AR.js


Delete the local folder contents

It would be great if deleting the local folder contents were possible again. It would be conceivable to delete all folder contents per account or to offer an option in the folder itself.
This was possible in the old version and is totally helpful. Because you don't always want to have the data of an archive folder on your mobile device, then you download it briefly and then delete the local data again.
The old Option (Delete all data (Caution!!!)): https://www.internet-tipps.eu/wp-content/uploads/2016/02/K9-Konto-Optionen.png

Agreed! Not sure why this was removed, but it is missed.

It is still possible to delete the local messages belonging to a folder. Go to Manage folders ->  -> <3 dot menu> -> Clean local messages
But yes, it seems that the option to remove all the local content of an account is no longer there. As well as the option to compat the database of an account.
Dear devs, was that intentional? Do you plan to add back some options to see the size of different folders and manage it somehow?

Thank you for clarifying. It's the option to delete all messages for an account (or better yet, all messages) that I'm missing.
The current method is tedious, unless you make a list of all the folders that have mail first, then go into manage folders. Otherwise you need to keep switching back and forth between interfaces, which is a lot of touches/clicks.


RuntimeException while trying to release SpeechRecognizer

Describe the bug
Trying to release the SpeechRecognizer on Activity destroy lifecycle while the recognition is happening is causing runtime exceptions. This throws IllegalStateException from activity during destroy.
We are using speechRecognizer.recognizeOnceAsync()  for recognition.
To Reproduce
Steps to reproduce the behavior:

On button click we call speechRecognizer.recognizeOnceAsync() and when we move to a different screen we try
releasing with  speechRecognizer.close() which is called in onPause() lifecycle of Activity

Expected behavior
It should have canceled the recognition and given priority to release. Or is there a way safe way to stop recognition and release
Version of the Cognitive Services Speech SDK
1.12.1
Platform, Operating System, and Programming Language

OS: Android
Hardware - x64, x86, ARM,
Programming language: Java

Additional context
Caused by java.lang.IllegalStateException: Cannot dispose a recognizer while async recognition is running. Await async recognitions to avoid unexpected disposals.
       at com.microsoft.cognitiveservices.speech.Recognizer.close(Recognizer.java:78)
       at com.byjus.ela.repositories.speech.microsoft.MicrosoftSpeechRecognitionManager.close(MicrosoftSpeechRecognitionManager.java:144)
       at com.byjus.ela.repositories.speech.SpeechRecognitionRepository.stopAudioRecognition(SpeechRecognitionRepository.java:69)
       at com.byjus.ela.repositories.speech.SpeechRecognitionRepository.stopSpeechRecognition(SpeechRecognitionRepository.java:56)

Fatal Exception: java.lang.RuntimeException: Unable to pause activity {com.byjus.tle/com.byjus.ela.home.view.HomeActivity}: java.lang.IllegalStateException: Cannot dispose a recognizer while async recognition is running. Await async recognitions to avoid unexpected disposals.
       at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:4194)
       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4149)
       at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4101)
       at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:45)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)

@rahul-ravindra As an asynchronous method, you should probably wait for the completed task of recognizeOnceAsync() before performing other operations on the speechRecognizer object. If you absolutely must destroy everything, call stopContinuousRecognitionAsync(), but that is asynchronous and the completed task for that call also must be awaited. So I'd recommend:```
            final Future<Void> task = reco.recognizeOnceAsync();
            setOnTaskCompletedListener(task, result -> {
                // some external event has happened, and closeReco has been set to true
                if (closeReco) {
                    reco.close();
                };
            });

Closing this as there hasn't been any activity in a while. @rahul-ravindra feel free to reopen if you need more help.


Datakit / Github API bridge

This PR allows to interact with the GitHub API using only a Git branch and Git operations. This is still experimental and needs more tests and fixes, but the main part of the feature is there.

I start to be happy with the unit tests: repositories are monitored properly and user changes are reflected back as GitHub API calls (only the status updates currently). Next step is ignoring the changes induced by the webhook (to avoid triggering unnecessary API calls) and test end-to-end deployments. Will do that tomorrow. Given the complexity of the beast, I'd say this might be ready on Friday.