Map does not load on Android: Cannot read property 'insertAdjacentHTML' of null

I'm submitting a ...  (check one with "x")

[ ] question
[x] any problem or bug report

OS:  (check one with "x")

[x] Android
[ ] iOS
[ ] Browser

cordova information:  (run $> cordova plugin list)
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-googlemaps 2.4.6 "cordova-plugin-googlemaps"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 2.1.4 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"

If you use @ionic-native/google-maps, please tell the package.json (only @ionic-native/core and @ionic-native/google-maps are fine mostly)
@ionic-native/core : 4.15.0
@ionic-native/google-maps : 4.14.0

Current behavior:

map does not load
Expected behavior:

map should load
Related code, data or error log (please format your code or data):
Plugin fails on this line (https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/bfb18137d08f050232854a162b6144e3eac2fd5e):
  document.body.insertAdjacentHTML('afterbegin', envTestDiv);

TypeError: Cannot read property 'insertAdjacentHTML' of null

What OS version do you use?

I tried Android 9.0.0 and 7.0.0, both fail.

Please share your project files on Github, because document.body should not be null.

I'm reopening this issue. Yes it is an issue. I think it qualifies as an issue because I am no longer the only one to report it and it has returned even on my new project without any code changes.
Please DO NOT close this issue until it is resolved. I will look into it and for now I think wrapping that entire section in a setTimeout works, but needs more testing.

I close this issue because you don't share the reproduce project files. No contribution, no help.

Can you read JavaScript code?
document.body.insertAdjacentHTML('afterbegin', envTestDiv);

https://github.com/mapsplugin/cordova-plugin-googlemaps/blob/d50dc31/www/pluginInit.js#L72
Then guess the reason from your error message

Cannot read property 'insertAdjacentHTML' of null

document.body is null?
This is not normal behavior. That's why I ask you share your project files.
Since this plugin is open source library, you have to contribute open source community.
Just crime is just a spam.
If you don't share the project files that reproduce your issue 100%, please find another plugin.

I am looking into it and will submit a PR
Clearly I know where the message is coming from and why, as outlined above (maybe a second read?)
Just because you close an issue does not mean it is not an issue and doesn't require fixing. Even if YOU won't fix it, someone else might.

Ok, I wait someone.

I have a fix, needs testing, using observer to check for existence of document.body.

I don't have a test environment to test right now, but in theory should work. From stack overflow, start at line 69 through end of section:
var envTestDiv = '

';

  (function() {
    "use strict";

    var observer = new MutationObserver(function() {
      if (document.body) {
        document.body.insertAdjacentHTML('afterbegin', envTestDiv);

        var testElement = document.getElementById('envTest');
        var computedStyles = window.getComputedStyle(testElement);
        var testResult = computedStyles.getPropertyValue('margin-top');

        document.body.removeChild(testElement);

        // if browser supports env() or constant(), returns a pixel value as string, even if 0px
        if (testResult != '-99px') {
          viewportTagContent += ', viewport-fit=cover';
        }

        // Update viewport tag attribute
        viewportTag.setAttribute('content', viewportTagContent);
        observer.disconnect();
      }
    });
    observer.observe(document.documentElement, {childList: true});
  })();

That works, but we can't rely solely on the MutationObserver. If the body is already loaded, there is no guarantee that the document changes.
Tested on android 7 and 9, and iPhone 5s (simulated) and iPhone X (simulated).
I would submit a PR but github is having issues, I'll try again in the morning.

We can check if document.body is null, if null then mutation observer, if exists just do test.

@cpamp give this a try?
var envTestDiv = '

';

var test = function() {
  document.body.insertAdjacentHTML('afterbegin', envTestDiv);

  var testElement = document.getElementById('envTest');
  var computedStyles = window.getComputedStyle(testElement);
  var testResult = computedStyles.getPropertyValue('margin-top');

  document.body.removeChild(testElement);

  // if browser supports env() or constant(), returns a pixel value as string, even if 0px
  if (testResult != '-99px') {
    viewportTagContent += ', viewport-fit=cover';
  }

  // Update viewport tag attribute
  viewportTag.setAttribute('content', viewportTagContent);
}

var testWithMutationObserver = function() {
  var observer = new MutationObserver(function() {
    if (document.body) {
      test();
      observer.disconnect();
    }
  });
  observer.observe(document.documentElement, {childList: true});
}

if (document.body) {
  test();
} else {
  testWithMutationObserver();
}

@chadevans I was testing with something similar to this on the devices listed above and it was working. However, I think this is over complicating the problem. We should always have document.head available, do you see any issues using this instead? Thoughts @wf9a5m75 ?
Note these commits: 57da061 44a8403
While testing I also found that when requesting a 3rd party library is when document.body is null, but only for the first load (I'm assuming because subsequent loads are cached). The issue is easily reproduced with a minimal project by just adding the plugin and requesting a library via CDN (such as bootstrap).

@chadevans I already changed the code. plugininit.js executes after document.body is ready.

Fixed in 7ae660d

@chadevans I already changed the code. plugininit.js executes after document.body is ready.

Hello Masashi
Is this change available in the new upcoming version?
How should i update my 2.4.6 google map plugin version to use your code changes in plugininit.js?
Thanks.

@pawangjain Use 2.4.4 until the next release.

hope It can help, I encountered this one and fixes it by moving  as the last js import.

@jeromediaz thanks man! You saved my life!


Chat table styles updates

What

updated table border colors
updated table selection color for the rich text editor
updated rooster js dependencies

Why

How Tested

storybook
Process & policy checklist

[x] I have updated the project documentation to reflect my changes if necessary.
[x] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Tested with sample and storybook. Light and dark mode look good.


TypeError: state.talkback is not a function

Hi, I am having issue with next & getStaticProps. I am getting a weird wonka runtime error.
Here is a sample of my code (still WIP)
let getStaticProps: Next.GetStaticProps.t(props, {.}) =
  _context => {
    let request =
      GetItems.make(
        ~first=perPage,
        ~pageSlug="noop",
        ~categorySlug="",
        // ~tagSlug=None,
        // ~cursorAfter=None,
        (),
      );

    Client.query(~client=Graphql.client, ~request, ())
    |> Js.Promise.then_(data => {
         switch (Client.(data.response)) {
         | Data(d) =>
           {"props": makeProps(~items=Js.Nullable.return(d), ())}
           ->Js.Promise.resolve
         | Error(e) =>
           {"props": makeProps(~items=Js.Nullable.null, ())}
           ->Js.Promise.resolve
         | Empty =>
           {"props": makeProps(~items=Js.Nullable.null, ())}
           ->Js.Promise.resolve
         }
       })
    |> Js.Promise.catch(err => {
         Js.log2("Failure!!", err);
         {"props": makeProps(~items=Js.Nullable.null, ())}
         ->Js.Promise.resolve;
       });
  };

Here is the runtime error I got
Failure!! TypeError: state.talkback is not a function
    at _0 (webpack-internal:///./node_modules/wonka/src/operators/wonka_operator_take.js:62:28)
    at eval (webpack-internal:///./node_modules/wonka/src/operators/wonka_operator_takeLast.js:18:18)
    at eval (webpack-internal:///./node_modules/wonka/src/wonka_helpers.js:21:12)
    at eval (webpack-internal:///./node_modules/wonka/src/operators/wonka_operator_take.js:50:14)
    at Module._1 (webpack-internal:///./node_modules/bs-platform/lib/es6/curry.js:55:12)
    at Module.captureTalkback (webpack-internal:///./node_modules/wonka/src/wonka_helpers.js:16:73)
    at eval (webpack-internal:///./node_modules/wonka/src/operators/wonka_operator_takeLast.js:10:79)
    at Module._1 (webpack-internal:///./node_modules/bs-platform/lib/es6/curry.js:55:12)
    at eval (webpack-internal:///./node_modules/wonka/src/web/wonka_sink_toPromise.js:10:75)
    at new Promise (<anonymous>)

I have no clue on how to fix this problem...

Hey @MoOx, sorry to hear you're having issues – that's a pretty bizarre runtime error to be hitting. Your code looks correct to me (assuming that GraphQL.client is your urql client instance). Can you try the following:

Switch to using Client.executeQuery and Wonka.subscribe and see if the issue persists? This should help us figure out if there's an issue in our implementation of Client.query. You can see an example of this here.
Can you paste the compiled ReScript (BuckleScript) output of the original sample (the code above) here? I want to see if, with the compiled JS in hand, we can better narrow down the runtime error.

My guess is one of two things:

It may be related to running in a Node environment. getStaticProps will run on the server only at build time. We haven't verified reason-urql in that environment – we've only verified that binding to next-urql can work for getInitialProps.
It may be related to the version of wonka that comes along with the urql v1.7.0. I wouldn't expect that, but you never know. Looking at the source, the talkbackPlaceholder is defined here: https://github.com/kitten/wonka/blob/v3.2.1/src/wonka_helpers.re#L3 in v3.2.1 (which urql v1.7.0 uses) and should be compiled to a noop function just fine.

Please give the steps above a shot. I'll try to get a minimal reproduction going as well once I hear back from you. Thanks!

Hey @MoOx @parkerziegler , just so you know, this error is related to Wonka and it should happen only in BuckleScript > 8.0 (but not only, the type checking before the fix was way looser).
It's been reported here: https://github.com/kitten/wonka/issues/85, and fixed here: https://github.com/kitten/wonka/pull/88
Wonka 5.0.0-rc does fix it. That being said, since urql and reason urql are using Wonka 4* it's a bit hard to update to BS > 8.0 with Reason Urql now 😕  (is it worth having an issue?)

Thanks for the notice @gaku-sei ! I guess I will revert bs until this is fixed :)

@MoOx I'd be curious if you'd be able to use yarn resolutions to force your wonka version to v5.0.0-rc.0. If you're using yarn you should be able to add the following to your package.json:
{
  "resolutions": {
    "wonka": "5.0.0-rc.0"
  }
}

reason-urql uses whatever version of wonka is shipped with the urql version it binds to. So by using resolutions, you could force wonka v5 to be resolved. It's not guaranteed it'll work (urql hasn't been tested against that version), but may be worth a quick shot.
@kitten any timeline on upgrading urql core to use wonka v5?

@parkerziegler I don't have any timeline yet. The problem is that it's a change that'll need to happen across all packages as there's no path for backwards compatibility; When a user has multiple @urql/* packages installed but doesn't upgrade all of them then this will potentially break. So we're basically delaying this ... because we're afraid of what may happen 😆
For now, all I can recommend is to stick to Wonka 4 and BuckleScript <8.0, or to use BuckleScript >=8.0 and to use a resolution.

Note sure what's happening today to me... I just tried to get back on this topic (I am migrating a site that where using reason-apollo and and old ssg to next+reason+urql).
I deleted my yarn.lock+node_modules, installed reason-url (got 2.1.0-rc0) and I am getting
Error: package gentype not found or built
- Did you install it?
- If you did, did you run `bsb -make-world`?

I am not using gentype by my own. Is this Wonka or something else that's needs it?

wonka does use genType under the hood. Did you try including wonka in your bs-dependencies array?

👋 Hey folks, the fix for this has been merged into main and released on v3.0.0-rc.0. Docs are in the README for using yarn resolutions to resolve a compatible wonka version: https://github.com/FormidableLabs/reason-urql#1a-important-note-for-users-of-bs-platform800


Add support for SSH git repositories

We should be able to support SSH git repositories in addition to HTTPs repos. In addition, we should make it possible/easy for a user to supply an SSH key to use when cloning/retrieving SSH repos.

Also needed for GitHub Enterprise

This is possible now! (though not directly via the UI) refer to #1052 for more details


dbt >= 1.6 breaks cosmos

Kubernetes Airflow provider and dbt Core released new versions and these are breaking our build. We should look into this and address it.

@harels does this issue relate to this PR: https://github.com/astronomer/astronomer-cosmos/pull/426 ?

This was released as part of 1.2:

https://pypi.org/project/astronomer-cosmos/1.2.0/
https://github.com/astronomer/astronomer-cosmos/releases/tag/astronomer-cosmos-v1.2.0


Adding Vilniaus Licejus (licejus.lt)

Adding Vilniaus Licejus (licejus.lt)

@KirylKrutsko I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host licejus.lt.edu not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Support finer-grained progess bars

The Block Elements unicode block contains the following characters that can be used to draw fine-grained progress bars:
▏
▎
▍
▌
▋
▊
▉

One possible way to support this would be to allow more than three progress chars, with progress chars in the middle being used for intermediate states:
style.progress_chars(" ▏▎▍▌▋▊▉")

Actually, I just realized that this already works (although with the opposite character order), so maybe that's needed is documentation.

Some additional documentation for this behavior would be welcome.

Back when I added support for this, I put in an example, maybe that just needs to be linked to?


[ApplicationVerification] Attachment cannot be downloaded for verify application view

Describe the bug
In the application verification view the attachment cannot be downloaded (as it requires a user to be logged in).
To Reproduce

Create an application with an attachment
Look up the accessKey of the application verification in the database and navigate to /antrag-verifizieren/{accessKey}
Try downloading the attachment
See error

Expected behavior
The attachment can be downloaded
Additional context
Currently an attachment requires the user to be logged in. That means an authorization header has to be sent together with the download request. However an organization also has an accessKey, which could be used instead of the authorization token.

its questionable if this 100% needed for the verification organization because they should know the applicant and should have created this attachment but it would be nice to have

the current agreement is to display a message that the attachment can not be viewed for applicants and verificators


Board Review: Azure Communication Services (SPOOL) Mobile UI Library (Android)

Service team responsible for the client library.
ACS- Mobile UI team
Link to documentation describing the service.
MSDocs
Quickstart
GitHub
Contact email (if service team, provide PM and Dev Lead).
EM<EMAIL_ADDRESS>PM<EMAIL_ADDRESS>Name of the client library.
Mobile UI Library
Languages for this review.
Java
Theming
Artifacts per language.
Champion scenarios.
Image avatar injection
Artifacts per language.
Champion scenarios.

scheduled for 5/18 2-4pm pst

Localization
UI Library now provides Localization APIs which accept Locale object and optional LayoutDirection to support customize layout direction to support different languages. It provides the Locales which are supported by the library and also a list of the Locales as well. As a fallback mechanism, it accepts any Locale and as for unsupported Locales, the library by default localize the experience with en-US locale.
Localization API Usage
CommunicationUISupportedLocale exposes the supported static Locale objects and also API to get the full list of supported Locales. A Locale is injected to the LocalizationConfiguration with optional LayoutDirection. By injecting the LocalizationConfiguration into the CallComposite before launching, the library gets localized with the supported locale.
Contoso can use the Localization API in numerous ways:
LocalizationConfiguration localConfig = new LocalizationConfiguration(CommunicationUISupportedLocale.FR);
LocalizationConfiguration localConfig = new LocalizationConfiguration(CommunicationUISupportedLocale.FR, LayoutDirection.LTR);
// Developers can choose to provide their own locale object too. If the library does not support that locale it will by default localize with en-US
LocalizationConfiguration localConfig = new LocalizationConfiguration(Locale.US);
LocalizationConfiguration localConfig = new LocalizationConfiguration(new Locale("en","US"));
// Getting the list of locales for pickers or checking
Collection<Locale> supportedLocales = CommunicationUISupportedLocale.getSupportedLocales();

CallComposite callComposite = new CallCompositeBuilder().localization(localConfig).build();

LocalizationConfiguration & CommunicationUISupportedLocale signature:
public final class LocalizationConfiguration {
    private Integer layoutDirection;
    private final Locale locale;

    public LocalizationConfiguration(@NonNull final Locale locale);
    public LocalizationConfiguration(@NonNull final Locale locale, final int layoutDirection);
}

public final class CommunicationUISupportedLocale {

    public static final Locale EN = new Locale("en");
    public static final Locale EN_US = new Locale("en", "US");
    public static final Locale EN_UK = new Locale("en", "GB");
    public static final Locale ZH = new Locale("zh");
    public static final Locale ZH_CN = new Locale("zh", "CN");
    public static final Locale ZH_TW = new Locale("zh", "TW");
    public static final Locale ES = new Locale("es");
    public static final Locale ES_ES = new Locale("es", "ES");
    public static final Locale RU = new Locale("ru");
    public static final Locale RU_RU = new Locale("ru", "RU");
    public static final Locale JA = new Locale("ja");
    public static final Locale JA_JP = new Locale("ja", "JP");
    public static final Locale FR = new Locale("fr");
    public static final Locale FR_FR = new Locale("fr", "FR");
    public static final Locale PT = new Locale("pt");
    public static final Locale PT_BR = new Locale("pt", "BR");
    public static final Locale DE = new Locale("de");
    public static final Locale DE_DE = new Locale("de", "DE");
    public static final Locale KO = new Locale("ko");
    public static final Locale KO_KR = new Locale("ko", "KR");
    public static final Locale IT = new Locale("it");
    public static final Locale IT_IT = new Locale("it", "IT");
    public static final Locale NL = new Locale("nl");
    public static final Locale NL_NL = new Locale("nl", "NL");
    public static final Locale TR = new Locale("tr");
    public static final Locale TR_TR = new Locale("tr", "TR");

    public static Collection<Locale> getSupportedLocales();
}

Recording (MS INTERNAL ONLY)


Vsync not working with Nvidia render offloading only with DXVK games

Hi,
I am setup two laptop to use the prime render offloading (one with GTX 980M under ubuntu Budgie and one with a GTX 1060 Max-Q under Solus OS Budgie).
Everything works fine, except the vsync when using games with DXVK (D9VK or DXVK).
When using dxvk vsync remains disabled.
I have tried using a conf file with these values :
dxgi.syncInterval = 1
d3d9.presentInterval = 1
or
__GL_SYNC_TO_VBLANK=1
Could this be linked to this issue? https://forums.developer.nvidia.com/t/hangs-freezes-when-vulkan-v-sync-vk-present-mode-fifo-khr-is-enabled/67751#5359836
There is a thread opened with nvidia here  (I replied today) : https://forums.developer.nvidia.com/t/hangs-freezes-when-vulkan-v-sync-vk-present-mode-fifo-khr-is-enabled/67751#5359836
The offload mode works properly the performance is on part if not better than the default prime-sync. it basically works the way the laptop is supposed to work (better performance, less power consumption and the laptop runs cooler than before).
Is there any other option I could use to force vsync under DXVK games?
Could we keep this threat open in case as a reference for other with the same issue?
Could we try to troubleshoot it to see where it is coming from and if this comes from nvidia, I can send all the info and logs to them?

I think you have prime sync disabled. Prime sync takes care of synchronizing that the dGPU is rendering with what the iGPU is presenting. Even if the game has vsync enabled, if prime sync is disabled you will get tearing.
Check out this thread on how to enable it: https://forums.developer.nvidia.com/t/how-to-enable-prime-synchronization/55972.
With prime sync I get no tearing even if vsync is off, but if I turn vsync on in a vulkan game I get the freezes mentioned in the issue you link. So for nvidia optimul laptops you don't really need vsync now other than limiting the framerate. You can limit the framerate with libstrangle without enabling vsync to circumvent the freezes.

Known issue, not our bug.

I think you have prime sync disabled. Prime sync takes care of synchronizing what the dGPU is rendering with what the iGPU is presenting. Even if the game has vsync enabled, if prime sync is disabled you will get tearing.
Check out this thread on how to enable it: https://forums.developer.nvidia.com/t/how-to-enable-prime-synchronization/55972.
With prime sync I get no tearing even if vsync is off, but if I turn vsync on in a vulkan game I get the freezes mentioned in the issue you linked. So for nvidia optimus laptops you don't really need vsync now other than limiting the framerate. You can limit the framerate with libstrangle without enabling vsync to circumvent the freezes.

Is prime sync mandatory when using prime render offloading?
prime render offload = intel for the desktop and normal task, offloading heavy task to the nvidia GPU (like under windows).

I'm not sure actually. I use full prime, so what I said may not apply 100% to prime offloading. But there must be some synchronization between the dGPU and iGPU. Do you get any tearing when using just the intel card?

No tearing at all when using the intel GPU.
Does libstrangle works with DXVK?

Yes: https://gitlab.com/torkel104/libstrangle

Known issue, not our bug. DXVK enables vsync correctly from the Vulkan side, there's not much more we can do.

Thank you for confirming this. Will try working with nvidia on this one.

@dv-longinus

No tearing at all when using the intel GPU.

There is tearing when offloading rendering from AMD dGPU to Intel iGPU (and probably other way round, but I couldn't test that). It's an xorg limitation, it can't trigger page flipping that way. This needs to be mitigated by leaving on TearFree or the window compositor.
Though it might be that using the compositor as mitigation might not even work for these cases on Nvidia due to their cr.. weird Xorg driver. I remember having tearing issues with it for Vulkan fullscreen windows in general, without any GPU load offloading involved at all.

@dv-longinus

No tearing at all when using the intel GPU.

There is tearing when offloading rendering from AMD dGPU to Intel iGPU (and probably other way round, but I couldn't test that). It's an xorg limitation, it can't trigger page flipping that way. This needs to be mitigated by leaving on TearFree or the window compositor.
Though it might be that using the compositor as mitigation might not even work for these cases on Nvidia due to their cr.. weird Xorg driver. I remember having tearing issues with it for Vulkan fullscreen windows in general, without any GPU load offloading involved at all.

Using prime-sync, the screen tearing was gone.
Under prime offloading, using the intel GPU for the xserver an the normal activities (internet, email, coding), I have no tearing.
Using the Nvidia GPU for gaming, I have screen tearing.
Libstrangle works to limit the fps.
However the vsync remains broken.


ci: fix formatting checks

Some of the options specified in the current rustfmt.toml do not work on the current stable toolchain which the CI format is set to use. Changing to nightly for the format check means that the check can now actually pass with proper formatting.
This does raise the question though as to whether it may be more sensible to just remove the nightly options in rustfmt.toml to ensure no weird comparability issues that may arise through mixing and matching use of stable vs nightly compiler.

My local dev for shuttle uses stable. So personally, I would prefer the formater to also use stable to have less of an inconvenience. :man_shrugging:


Ghosts Node

My Environment

ArangoDB Version:     3.5.1
Storage Engine:        RocksDB
Deployment Mode:     Cluster
Deployment Strategy:  Manual Start
Configuration:
Infrastructure:       own
Operating System:    Debian 9
Total RAM in your machine:    16Gb * 6
Disks in use:    1To * 6
Used Package:       .deb

Problem: I have an issue with 2 ghosts node dbserver. I can't delete them with the API or with the web UI.
I tried to follow instructions in the documentation with Coordinator shutdown ...
The ghosts nodes are a duplicate version of up dbserver. We can see below two dbserver on the same machine.

any solution for remove this ghosts nodes without erase cluster ?

You can try https://github.com/arangodb/debug-scripts and post the analyze result here. It might give some more insight into the issue.

Hi @citarf,
Did you have a chance to run the debug-script with task analyze as suggested?
This will most likely detect the ghost nodes and suggest to run the cleanup task remove-dead-primaries in order to remove those.


How to subscribe on value changes of hidden field?

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[X] support request

Let's say I have two hidden fields as following:
          {
            className: 'col-md-4',
            key: 'selectTwo',
            type: 'select',
            templateOptions: {
              label: 'Select Two',
              placeholder: 'Select Two',
              required: true,
              options: [],
            },
            hideExpression: 'model.selectOne !== "1"',
            lifecycle: {
              onInit: (form, field) => {
                field.formControl.setValue('');
                field.templateOptions.options = this.selectService.getSelectTwoOptions();
              },
            },
          },
          {
            className: 'col-md-4',
            key: 'selectThree',
            type: 'select',
            templateOptions: {
              label: 'System Concentrator Port',
              placeholder: 'System Concentrator Port',
              required: true,
              options: [],
            },
            hideExpression: 'model.selectOne !== "1"',
            lifecycle: {
              onInit: (form, field, model) => {
                field.formControl.setValue('');
                // Here the "selectTwo" formControl does not exist yet,
                // so I cannot subscribe to its value changes, that is I cannot do:
                form.get('selectTwo').valueChanges.pipe(
                   takeUntil(this.onDestroy$),
                   startWith(form.get('selectTwo').value),
                   tap(selectTwoId => {
                     field.formControl.setValue('');
                     field.templateOptions.options = this.selectService.getSelectThreeOptions(Number(selectTwoId));
                   }),
                ).subscribe();
              },
            },

having the same hideExpression related to the value of another non hidden field (selectOne).
Now, as you can see from the previous pice of code, I would like to subscribe to valueChanges on the selectTwo hidden field, inside the selectThree hidden field.
As expected, it's not going to work inside the onInit lifecycle hook, since at that time none of the hidden fields exist yet.
I think I can subscribe inside another lifecycle hook, e.g., doCheck or afterViewChecked, but I don't know if that is the right way to go since I want to subscribe only once while those hooks are fired several times.
Another options I was thinking is to subscribe directly to the form value changes, i.e., form.valueChanges.subscribe().
Any suggestion on this?

I found the following solution:
  lifecycle: {
    onInit: (form, field) => {
      form.valueChanges.pipe(
        takeUntil(this.onDestroy$),
        filter(fields => ( fields.selectTwo
                           && ( fields.selectTwo !== '' )
                           && ( form.get('selectTwo').dirty ))),
        tap(fields => {
          // This is required to avoid the "Maximum call stack size exceeded" ERROR
          form.get('selectTwo').markAsPristine();

          field.formControl.setValue('');
          field.templateOptions.options = this. selectService.getSelectThreeOptions(Number(fields.selectTwo));
        }),
      ).subscribe();
    },
  },

So, please close this.

or subscribe to field.formControl

@aitboudad can you show me an example of subscribing to formControl ?

@ugogiordano87 try with:
const selectTwoField = field.parent.fieldGroup.find(f => f.key === 'selectTwo');
selectTwoField.formControl.valueChanges.
....


[TE] frontend - harleyjj/edit-alert - use new yaml components in edit…

…-alert
This commit helps prepare the manage/yaml route (edit alert) for full-ui.  The PR:

Implements edit-alert using new separate yaml components
Migrates shared props to the controller
Fixes bug where preview button doesn't show unless user types
Fixes bug where template yaml text is shoved into editor when copy-pasting content
Makes all subscription groups available in dropdown on Edit Alert, since subscription group editing has been separated on Edit Alert anyway

As discussed offline, in the dropdown on Edit Alert, could you use make it into two separate sections to show subscribed groups and all other groups? Probably that's the most flexible design. This should be doable in ember power select component. https://ember-power-select.com/docs/groups


Add convenience constants to Krikri::MappingDSL

Add Krikri::MappingDSL::DCMITYPE_LABELS
Add Krikri::MappingDSL::GENRE_LABELS

Note that the proposed genre labels may be out of alignment with MAPv4, and dpla/map (which suggests that all terms assigned to genre/edm:hasType should be from AAT).

Since we decided this was an enrichment, I'm going to close this PR.


AttributeError: type object 'Agent' has no attribute 'from_spec'

Hi Adam,
I found the following exception, is that a version problem?
Thanks.
Traceback (most recent call last):
File "train_and_evaluation.py", line 62, in
strategy = TensorforceTradingStrategy(environment=environment, agent_spec=agent_spec, network_spec=network_spec)
File "/home/simon/anaconda3/lib/python3.6/site-packages/tensortrade/strategies/tensorforce_trading_strategy.py", line 50, in init
self._agent = Agent.from_spec(spec=agent_spec,
AttributeError: type object 'Agent' has no attribute 'from_spec'

I ran into the same problem with Tensorforce 0.5.1, downgraded to version 0.4.4 and it fixed the issue for me along with the 'from tensorforce.contrib.openai_gym import OpenAIGym' issue I was having.

Agent.from_spec(spec=agent_spec)
is now
       self._agent = Agent.create(agent=self._agent_spec,                                         environment=self._environment,                                         kwargs=dict(network=network_spec,                                                     states=environment.states(),                                                     actions=environment.actions()))
in tensorflow 0.5.1
Another change would be needed in trading_environment.py
OpenAIGym.state_from_space(..)
is now
OpenAIGym.specs_from_gym_space(self.observation_space, ignore_value_bounds=False)

@codeninja check out https://github.com/notadamking/tensortrade/tree/tensorforce0.5.1-upgrade


Problems when compile with emscripten

Hi,
Im trying compile this library into my wasm project, but receive this error:
-- Build files have been written to: /Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/build_subfolder
Scanning dependencies of target SQLiteCpp_cpplint
Scanning dependencies of target SQLiteCpp_cppcheck
Scanning dependencies of target SQLiteCpp
[ 14%] Building CXX object source_subfolder/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o
[ 28%] Building CXX object source_subfolder/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o
[ 28%] Built target SQLiteCpp_cppcheck
[ 42%] Building CXX object source_subfolder/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o
In file included from /Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/src/Backup.cpp:12:
In file included from /Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/include/SQLiteCpp/Backup.h:14:
In file included from /Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/include/SQLiteCpp/Database.h:14:
/Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/include/SQLiteCpp/Utils.h:61:17: error: expected unqualified-id
const nullptr_t nullptr = {};
                ^
/Users/paulo/.conan/data/emsdk_installer/1.38.29/bincrafters/stable/package/16edc5c715408e005b54d61db41959d8f63a70c2/emscripten/1.38.29/system/include/libcxx/__config:359:20: note: expanded from macro 'nullptr'
#   define nullptr __nullptr
                   ^
1 error generated.
shared:ERROR: compiler frontend failed to generate LLVM bitcode, halting
gmake[2]: *** [source_subfolder/CMakeFiles/SQLiteCpp.dir/build.make:64: source_subfolder/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/src/Database.cpp:11:
In file included from /Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/include/SQLiteCpp/Database.h:14:
/Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/include/SQLiteCpp/Utils.h:61:17: error: expected unqualified-id
const nullptr_t nullptr = {};
                ^
/Users/paulo/.conan/data/emsdk_installer/1.38.29/bincrafters/stable/package/16edc5c715408e005b54d61db41959d8f63a70c2/emscripten/1.38.29/system/include/libcxx/__config:359:20: note: expanded from macro 'nullptr'
#   define nullptr __nullptr
                   ^
1 error generated.
shared:ERROR: compiler frontend failed to generate LLVM bitcode, halting
gmake[2]: *** [source_subfolder/CMakeFiles/SQLiteCpp.dir/build.make:92: source_subfolder/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:169: source_subfolder/CMakeFiles/SQLiteCpp.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 42%] Built target SQLiteCpp_cpplint
gmake: *** [Makefile:130: all] Error 2
sqlitecpp/2.4.0@bincrafters/stable:

MAIN ERROR
/Users/paulo/.conan/data/sqlitecpp/2.4.0/bincrafters/stable/build/715d19bc9fa9aaa80ac84f55174150f37b73b167/source_subfolder/include/SQLiteCpp/Utils.h:61:17: error: expected unqualified-id
const nullptr_t nullptr = {};
                ^
/Users/paulo/.conan/data/emsdk_installer/1.38.29/bincrafters/stable/package/16edc5c715408e005b54d61db41959d8f63a70c2/emscripten/1.38.29/system/include/libcxx/__config:359:20: note: expanded from macro 'nullptr'
#   define nullptr __nullptr
                   ^
1 error generated.

Can you help me?
Thanks.

Oh, sorry for never getting back to you. To me the issue is that in Util.h I was redefining "nullptr" on compilers not having it, but as I never tried with wasm it is probably conflicting here.
I have now removed this old compatibility layer in new 3.x C++11 upcoming version on master branch.

Hi,
Ok, so this will be in new version 2.60 probably?
Thanks.

I keep the 2.x branch for future bugfix releases...
so it will be a 3.0.0, hopefully quite soon
Would you be able to have a go at it (next week?)

Hi,
Don't worry my code with wasm is on stalled branch waiting for this fix, but it is not an emergency, keep your time.
Thanks.

It is working:
https://github.com/nativium/nativium
and
https://github.com/nativium/nativium-modules


Location of browser version?

Does this exist on a specific CDN?
Are there any instruction for building the browser version?

fwiw I forked and stripped down a version of this for the browser, because I needed it that way: https://github.com/rvagg/ripemd160, you could probably use unpkg or skypack or something like that for it.
I'll be getting around to doing an ESM-only version upgrade of it soon, it's on my list ... like a lot of things.

I get that ESM is 'cool', but when has it ever fixed a problem rather than breaking something that previously worked?
Why not make it more compatible rather than making it cooler?

It's not about making it cooler, it's about compatibility and this project library is part of a much larger suite of libraries that will inevitably get bundled together ... with a bundler, or a native ESM loader like Node.js or the browser. I'm no super-fan of ESM, but it's like Promises, that's where the tide went and fighting it is a painful game and I don't care enough to fight those battles anymore tbh. Upstream from here I need to be ESM compatible, so that's what's going to happen. If you can see a way to make that work for what you need then I'd be happy to integrate. Alternatively, maybe just fork this and modify it for your use? It's simple enough.

Common.js is ESM compatible. Both in browsers and in node.
Nothing that works has ever been broken by not being ESM.
All bundles support commonjs and window and they're not going to drop support for it any time soon.
There's no "tide" to fight against. If you make your stuff compatible, everyone wins.
If you never convert anything to ESM, no one who uses ESM ever loses anything at all.
That said, https://www.npmjs.com/package/@dashincubator/ripemd160

I'm literally going through several modules, forking them, converting them to plain javascript, and at the end of it a bunch of 1.5mb+ bundles from crappy bundles are turning into a few kilobytes.
Everything in the cryptocurrency space depends on about the same 10 modules - this being one of them, which I assume you know because you probably wouldn't be relying on insecure, broken hashes otherwise -  all of which were designed for some insanely old version of node (which you know the perils of), and all they need are a few lines changed here and there to work in browsers (Buffer => Uint8Array, the module.exports/window line, etc).
The truth is, most people are still using jQuery. This stuff is just too complicated, and needlessly so. There are simple solutions that require little effort and little education (not your fault, of course).

@coolaj86 Hey this is kind of unrelated, but would you mind enumerating these 10 modules? We're working on a TypeScript Wasm runtime and it would be great to know which packages are mostly used, I'm here trying to get this one to work for some Bitcoin functionality.


Enhancing the UI

Hello @AyushSarode . I would love to contribute by making a few enhancements in the UI, like adding a hover effects to the buttons, fixing the footer links hovering effect and spacing. Also fixing Navbar icon onclick and spacing of Navbar items. Can you assign this issue to me?

Hello @AyushSarode . Can you please add the "hacktoberfest" label before merging this PR after reviewing ?


fix: typo

Just fixing a small typo - added a missing "a"

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

line 80 should probably either delete "the" before 'fuel' or add a word after 'fuel'.


CPU workload caused by PostgreSQL

Is this a bug or a feature request?
Bug
What happened?
After starting a test with more than 150 nodes, the CPU workload was almost 200% (red arrow, two cores).

What version are your using?
LoRa-App-Server: v2.6.1
PostgreSQL v9.6-alpine
How can your issue be reproduced?
By unchecking a service user as global admin (in the app-server)
The service user is used to allow the application to transmit downlink to each node. In our test setup of 150 nodes, we saw that the CPU workload increases to almost 200% (red arrow). After unchecking the service user as global admin (green arrow), the CPU workload was decreased. This CPU workload was caused by PostgreSQL which uses the following query.

This query takes a lot of processing time.
Is it possible to simplify the query whether the user is allowed to transmit downlink?
Best regards
DHintCo

I believe this issue has already been addressed by #300 (and pull-request #302).

I'm closing this issue as I think hit has been addressed by the above changes. I've also started making the query more specific for each validator, as it is not always needed to join in all tables. This should also increase the performance.


Handle the session exception for all kyuubi operations during running

:mag: Description
Now only the LaunchEngine and BatchJobSubmission handle the kyuubi session exception.
We shall handle the session exception for all kyuubi operations, so that the user can get the correct KyuubiSessionEvent with RESTful API.
Issue References 🔗

This pull request fixes #
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklists
📝 Author Self Checklist

[x] My code follows the style guidelines of this project
[ ] I have performed a self-review
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] This patch was not authored or co-authored using Generative Tooling

📝 Committer Pre-Merge Checklist

[x] Pull request title is okay.
[ ] No license issues.
[ ] Milestone correctly set?
[ ] Test coverage is ok
[ ] Assignees are selected.
[ ] Minimum number of approvals
[ ] No changes are requested

Be nice. Be informative.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (3478fc9) 61.35% compared to head (5d9d4dc) 61.34%.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5725      +/-   ##
============================================
- Coverage     61.35%   61.34%   -0.02%
  Complexity       23       23
============================================
  Files           607      607
  Lines         35820    35819       -1
  Branches       4914     4914
============================================
- Hits          21979    21972       -7
- Misses        11459    11465       +6
  Partials       2382     2382

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

cc @pan3793

Thanks, merged to master/1.8


neo4j DB support?

Hello,
I am planning to use hydra and wondering if you have plans to support neo4j graph daatbase as a storage backend. We are heavy on neo4j and bringing up another DB just for this is one more thing to maintain and manage. Thanks in advance!

No, Neo4j will not be supported officially. You can always try to implement your own adapters, but they have to be maintained by you.

Thanks for the response!

Thanks for the response!


[Feature] Image Reordering

Description

In a digital library card, images can be added and deleted once the card is created. However, the order of the cards cannot currently be changed.
We need a way to drag and drop images around and allow for the images to be reordered. Drag and drop is the preferred method but please contact the EM if you have another way to effectively reorder the images.

Acceptance Criteria

[ ] Images can be reordered easily within an already created digital library card.
[ ] The reordering also changes the ordering in the backend (the reordering must be persistent, it should not just happen in the frontend).
[ ] The reordering uses a drag and drop method.
[ ] Images can only be reordered in "edit" mode.
[ ] The first image in the ordering should become the thumbnail for this card (this should happen automatically but if it doesn't then this will need to be implemented).

Other Notes

To get to a digital library card, first log in as an admin (message EM for details if needed). Then click a building type and a category. Click on any given card. There is a small edit button in the top right, click this and this allows you to see edit mode.

Instead of a drag-and-drop interface, you could allow users to assign a numerical order to each image. Or you can make a dropdown menu next to/on each image where users can select their desired position in the sequence.
if you want to use drag and drop each image can be wrapped in a draggable element and implement js to track the event and a function that handles the actual reordering


Need teardown instructions

Would like to see instructions for deleting a app once it has been created.
Would like to see steps to reverse install and tear down the deployment.

Hi @doddatpivotal Thanks for reaching out. Yes we have this feature in our list. we will try to priorities it and release it soon. thanks you for your feedback

We released v0.2.1 which now have delete apps, provider and resource capability built in


Fix intermittent failure in nodeos_high_transaction_test.py

Change Description
EPE-1631
Integration test nodeos_high_transaction_test occasionally  fails due to error "Trace API: transaction trace missing." Since the 8 nodes in the test adopt ring topology and waiting for 5 seconds for a trx arriving in a block didn't work all the time, increasing waitForTransInBlock timeout to default value 10 from 5. Before the change, test nodeos_high_transaction_lr_test failed 5 out of 200 times, and it failed 0 our of 200 times after the change.
Change Type
Select ONE:

[ ] Documentation

[ ] Stability bug fix

[x] Other

[ ] Other - special case

Testing Changes
Select ANY that apply:

[ ] New Tests

[X] Existing Tests

[ ] Test Framework

[ ] CI System

[ ] Other

Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Superseded by PR#10884.


cmd/pprof: redundant TMPDIRs

Using go1.7beta2
The pprof tool has at least two TMPDIRs:

One that it can take from $PPROF_TMPDIR, and defaults to $HOME/pprof. As far as I can tell, this directory is only ever used when pprof is operating remotely. This pprof directory is never deleted after it is used. So if pprof is used locally, it keeps generating empty pprof directories in a user $HOME directory and never cleans them up.
The other temporary directory, it generates on the fly when it needs to invoke some type of visualizer for HTML, SVG, GIF, etc... pprof now properly cleans this directory up.

Why have two different variations of TMPDIRs? Why doesn't pprof clean itself up?

I believe the idea behind $HOME/pprof was to save profiles for future reference. If everything written there is being deleted by pprof when it exits, that kind of defeats the point and I agree that either we should just not use that directory or else we should not delete those profiles from it.
/cc @rauls5382

Yes, the idea behind $HOME/pprof is to save profiles retrieved over http and save them for future reference. pprof does not delete them so that you can examine them in the future.
The other temp directory is used to store actual temporary files, for example to communicate with dot or other tools. This directory is cleaned up when pprof exits.
I think this is working as intended.

Yes, the idea behind $HOME/pprof is to save profiles retrieved over http and save them for future reference.

If that's the case, I would argue that $HOME/pprof only be generated when pprof is invoked when retrieving the profile over HTTP, rather is all uses of pprof.

I agree. I'll clean this up on the upstream pprof.


Helm chart has misconfigured service ports

The Service defined by the Helm chart has hardcoded targetPorts but configurable pod containerPorts. This only works with the default chart values and breaks if any other ports are configured.
I recommend setting the targetPort to the name of the containerPort.

Thanks for reporting this issue, this should be fixed with #690 and helm chart version 0.11.2.


package awslabs/aws-sdk-go hangs during reporting

Whether it's locally using the library I extracted (see issue #28) or online using http://goreportcard.com/report/awslabs/aws-sdk-go it seems this package hangs halfway through.

Works for me on goreportcard, just takes a long time

takes time indeed. it works now, especially after updating to the latest rev.
I had a gateway error yesterday on grc.com but it seems fine now.


drop saving data to files, incorporate database instead

add a db util
change all save/load to file methods to use db

database util done, need to start adding stuff to it


[3pt] Create main.rb and implement startup

Create a main.rb file that will serve as your console app entry-point.
Implement startup actions:

Present the user with a list of options to perform.
Let users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.

Closing the issue as the task has been completed in Pull Request No. 27


Is there a way to use this with rehype-highlight?

Hi there,
Thanks for this, it works great for passing down the metadata as props, but I have hit a problem: It breaks syntax highlighting with rehype-highlight.
import { compile } from '@mdx-js/mdx'
import codeMeta from 'remark-mdx-code-meta'
import rehypeHighlight from 'rehype-highlight'

compile(md, {
  outputFormat: 'function-body',
  remarkPlugins: [
    codeMeta, // adding this breaks syntax highlighting
  ],
  rehypePlugins: [
    [rehypeHighlight, { plainText: ['http'] }],
  ]
})

Result with your plugin:

Result without your plugin:

If you had any pointers on how to make this plugin play nice with rehype-highlight I would very much appreciate hearing about them :pray:
thank you
joost

Ideally this would just work, but I see why it doesn’t.
This plugin transforms markdown code blocks into MDX elements, skipping all rehype transformations. To fix this issue, the syntax highlighter would need to run before this plugin. That means this plugin will need to become a rehype plugin instead of a remark plugin. I would love to fix this, but at the moment I’m working on some other issues that will take longer.
The project I use this with uses client side syntax highlighting instead of build time. As a workaround you could use that for now.
TL;DR I would love to fix it, but not right now.

I'm facing the same issue, I'm trying to use it along with Astro's shiki highlighter. The syntax highlighting is lost when I use this plugin. Could you please help with this if you get time or guide on how to implement this?

I just released rehype-mdx-code-props which should be used instead.


feat: columnbus-5 liq warning

Codecov Report

Merging #176 (adf6ef5) into master (719e396) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master    #176      +/-   ##
=========================================
- Coverage    4.07%   4.06%   -0.01%
=========================================
  Files         573     574       +1
  Lines       10329   10354      +25
  Branches     3023    3032       +9
=========================================
  Hits          421     421
- Misses       9908    9933      +25

Impacted Files
Coverage Δ

.../src/pages/borrow/components/Col5LiqMessageBox.tsx
0.00% <0.00%> (ø)

app/src/pages/borrow/index.tsx
0.00% <ø> (ø)

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 719e396...adf6ef5. Read the comment docs.


Transport-level query batching

Adds transport-level query batching support to Apollo Client (see #505).
TODO:

[ ] Update CHANGELOG.md with your change
[ ] Make sure all of the significant new logic is covered by tests
[ ] Rebase your changes on master so that they can be merged easily
[ ] Make sure all tests and linter rules pass

This is great. We should do some things before merging and shipping the feature:

Which server implementations currently support batching? Of course, apollo-server. What about graphql-ruby, sangria, express-graphql with https://github.com/nodkz/react-relay-network-layer? Can we make this solution work with those as well? There is no spec for how this stuff should work, but perhaps we can build something close enough that people can use it with different servers. (see here as well: https://github.com/graphql/express-graphql/pull/100)
We should write documentation, both for how to use this feature on the client and how one might add this to their server (with appropriate links to various server docs etc)

@nodkz I'm curious - what is the id for in your react-relay-network-layer? I think this is the right API and @Poincare is in the process of implementing batching for Apollo Client - would it be reasonable for us to just implement an array of requests and array of responses?

Shortly, id is the Relay request id.
When Relay provides a list of queries for fetching. I can pass it back in any order, but should know for which query which payload addressed. So I combine all queries with id into an array, then send them to the server. Server proceeds all queries and passes array payloads with its ids back. Client gets the response, traversing by the array and maps by id which payload corresponds to which relay query.
https://github.com/nodkz/react-relay-network-layer/blob/master/src/relay/queriesBatch.js#L6
Example of batch request:
[
  {
    "id": "q0",
    "query": `
      query ViewerQueries {
        viewer {
          ...F0
        }
      }
      fragment F0 on Viewer {
        id,
        usersCount
      }
    `,
    "variables": {}
  },
  {
    "id": "q1",
    "query": "query ViewerQueries { ... }",
    "variables": {}
  }
]

Batch response:
  {
    "id":"q0",
    "payload":{
      "data": {
        "viewer": {
          "id": "Q2FiaW5ldDo1N2FjOWE2NDVhZTUxYTI1ZmYxZGNkMzg=",
          "usersCount": 0,
        }
      }
    }
  },
  {
    "id":"q1",
    "payload": {
      "data": null,
      "errors": [ ... ]
    }
  }
]

OK, so the idea is that Relay batching is built with the idea that requests might arrive out of order or separately, even if they were sent as a batch? This seems like it would never come up with HTTP batching, right? So maybe we could remove the id from the HTTP batching implementation?

@stubailo if https://github.com/graphql/express-graphql/issues/100 will be accepted, then I'll remove id from request, cause express-graphql will guarantee order of returned payloads according to queries.
But if I realize network layer via WebSockets, then I'll return ids back. To have ability pass fetched data to relay, while other queries in progress.

I'm not sure if batching is necessary at all over a WebSocket transport since the concept of a "roundtrip" no longer exists.

Nice catch. @Poincare totally agreed with you.

Ooops. Not agree again.
Suppose the following scenario: We have 4 queries from relay q1, q2, q3, q4, and put them all to WebSocket.
We should wrap it in something with id that will be correlated returned payloads in different order, e.g. p3, p1, p4, p2.

@Poincare @stubailo what's left to do here other than rebasing? If possible, I want to merge this next week.

This PR works (tested on GitHunt), but if we merge the typescript compiler options PR first, it will require a few changes so it is waiting for that.


fix: type coercion for expr/subquery in InSubquery

Which issue does this PR close?
Closes #.
Rationale for this change
What changes are included in this PR?
type coercion should do for expr/subquery.
Are these changes tested?
Add UT test for expr/subquery in Insubquery
Are there any user-facing changes?

thanks @liukun4515 , has resolved them


haskellPackages.hakyll: make buildable by Hydra

Motivation for this change
https://github.com/NixOS/nixpkgs/pull/104273#discussion_r527318036
Things done

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

[ ] NixOS
[ ] macOS
[x] other Linux distributions

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

Thanks!

/* hackage-packages.nix is an auto-generated file -- DO NOT EDIT! */
You should

Edit pkgs/development/haskell-modules/configuration-hackage2nix.yaml instead
Target against haskell-updates branch
See #73755 as example
cc @peti

/* hackage-packages.nix is an auto-generated file -- DO NOT EDIT! */
You should remove it from pkgs/development/haskell-modules/configuration-hackage2nix.yaml see #73755

@gnidorah Hey, sorry for the confusion here.
The pkgs/development/haskell-modules/hackage-packages.nix file is automatically generated using the settings in pkgs/development/haskell-modules/configuration-hackage2nix.yaml on the haskell-updates branch (and then merged into master).
However, after we split off a release, we no longer automatically regenerate/update the pkgs/development/haskell-modules/hackage-packages.nix file, so it is necessary to edit it directly.  This only applies for the release branches though.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/new-ghc-default-version-8-10-2-package-versions-now-from-stackage-nightly/10117/31

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/new-ghc-default-version-8-10-2-package-versions-now-from-stackage-nightly/10117/31


Move analytics server sessionId to localstorage; rename.

Problem

Currently the frontend uses a session cookie (one that expires upon the user closing their browser) to store a persistent identifier for Openverse users. This is a randomly generated v4 uuid.
https://github.com/WordPress/openverse-frontend/blob/4dc241dbdd8d1a9e103ea0742d9c17850db3c96c/src/utils/session-id.js#L26
We would like to remove cookies from Openverse, as this allows us to aggressively cache our frontend to reduce cost and traffic to our origin servers.
Description

We should consider using localStorage or sessionStorage. The later and lesser-known sessionStorage is perhaps the most accurate representation of a 'session' here—it persists for the lifespan of a browser tab. So switching to that could actually give us more useful data in the analytics server.
Alternatives

We could keep this as a cookie and lose the ability to cache or pages, or consider removing session data from our analytics server.
Additional Information
Doing this would also allow us to remove cookie related js dependencies.
Implementation

[x] 🙋 I would be interested in implementing this feature.

SessionStorage does indeed seem to be the better choice for this.

This needs a little thought put into it, in particular around how to ensure that we're actually using the correct session id when SSRing a page within the same session.
@zackkrida and ideas of how to do that?
The initial render is easy enough, just have the SSR generated session ID stored in the Vuex store and upon client-side hydration push that into session storage.
The only thing I could think is to do something like always generate a new ID on the SSR side, and upon client-side hydration, check if the generated session ID matches the one in session storage. If not, replace the session storage with the SSR one and then send some kind of signal to the analytics server tying the two together?
Unless we're defining a "session" as a single SPA load of the page. That's probably the main use case anyway and we don't necessarily need "long lived session ids" do we? It could be useful to tie multiple session ids to each other when possible, I don't think that would violate any privacy promises we've made as it wouldn't aid in identifying a user any more than the existing session ID would.
Maybe let's stick with the short-lived, ephemeral session IDs that only exist once per SPA load? In that case we don't even need to store it in session storage at all. If in the future we want to be able to analyse longer-lived sessions then we can look into tying sessions together into a linked-list type structure of session ids stored on the analytics server.


JSONDecode Error with dataset containing CAN-Bus signals

Hello,
as mentioned in the "README.md incorrect" issue, I have a problem with importing a dataset of an imc cronos measurement.
I get an JSONDecode Error (s. below). In the meantime I discovered, that the error only is raised, if the dataset contains CAN-Bus signals. If I remove them, I do not get this error.
But nevertheless, reading the data seems then only work for one channel - in all other channels the xdata and ydata are empty.
Please find below the error and attached an exemplary dataset.
Measurement.zip
---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
Input In [18], in <cell line: 1>()
----> 1 data = raw.get_channels(True)

File IMCtermite.pyx:25, in IMCtermite.imctermite.get_channels()

File ~\.conda\envs\myAnaconda\lib\json\__init__.py:346, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    341     s = s.decode(detect_encoding(s), 'surrogatepass')
    343 if (cls is None and object_hook is None and
    344         parse_int is None and parse_float is None and
    345         parse_constant is None and object_pairs_hook is None and not kw):
--> 346     return _default_decoder.decode(s)
    347 if cls is None:
    348     cls = JSONDecoder

File ~\.conda\envs\myAnaconda\lib\json\decoder.py:337, in JSONDecoder.decode(self, s, _w)
    332 def decode(self, s, _w=WHITESPACE.match):
    333     """Return the Python representation of ``s`` (a ``str`` instance
    334     containing a JSON document).
    335
    336     """
--> 337     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338     end = _w(s, end).end()
    339     if end != len(s):

File ~\.conda\envs\myAnaconda\lib\json\decoder.py:355, in JSONDecoder.raw_decode(self, s, idx)
    353     obj, end = self.scan_once(s, idx)
    354 except StopIteration as err:
--> 355     raise JSONDecodeError("Expecting value", s, err.value) from None
    356 return obj, end

JSONDecodeError: Expecting value: line 1 column 400 (char 399)
[Measurement.zip](https://github.com/RecordEvolution/IMCtermite/files/9615982/Measurement.zip)

is there any solution for multiple channel raw file?

`import IMCtermite
import json
import os
import datetime
import pdb
declare and initialize instance of "imctermite" by passing a raw-file
try :
imcraw = IMCtermite.imctermite(b"dn1.raw") # multiple channel raw file
except RuntimeError as e :
raise Exception("failed to load/parse raw-file: " + str(e))
pdb.set_trace()
obtain list of channels as list of dictionaries (without data)
channels = imcraw.get_channels(False)
print(json.dumps(channels,indent=4, sort_keys=False))
print("number of channels: " + str(len(channels)))
#pdb.set_trace()
obtain all channels (including full data)
channelsdata = imcraw.get_channels(True)
everything that follows is an example that specifically makes use only of
the first (index = 0) channel ...
idx = 0
if len(channelsdata) > 0 :
# get first channel's data
chnydata = channelsdata[idx]['ydata']
chnxdata = channelsdata[idx]['xdata']
print("xdata: " + str(len(chnxdata)))
print("ydata: " + str(len(chnydata)))

# extract trigger-time
trigtim = datetime.datetime.fromisoformat(channels[idx]["trigger-time"])
print(trigtim)

# file output of data with absolute timestamp in 1st column
filname = os.path.join("./",channelsdata[idx]['name']+".csv")
print("writing output into " + filname)
with open(filname,'w') as fout :
    # include column header
    fout.write( str(channelsdata[idx]['xname']) + '[' + str(channelsdata[idx]['xunit']) + "]"
              + ","
              + str(channelsdata[idx]['yname']) + '[' + str(channelsdata[idx]['yunit']) + "]"
              + "\n" )
    # add data (introduce time shift according to trigger-time)
    for row in range(0,len(chnxdata)) :
        fout.write( str( (trigtim + datetime.timedelta(seconds=chnxdata[row])).isoformat() )
                  + ","
                  + str( chnydata[row])
                  + "\n" )
`

@Priyanka260895 on https://github.com/RecordEvolution/IMCtermite/commit/ef0bb7550d4845bc4481783e22e885a90b62e2d6#commitcomment-100284938 : Have you tried installing the latest version 2.0.6 of the package (https://pypi.org/project/IMCtermite/) ? Any of the given Python examples should be appropriate to decode a multichannel dataset. Are you able to share a sample file of the data you're trying to read?

@mario-fink yes, sure
Trail1_1cycle.zip

In order to extract the different channels of the above Measurement.raw file you might, for instance, use the following snippet:
import IMCtermite
import pandas

if __name__ == "__main__" :

    imctm = IMCtermite.imctermite(b"Measurement.raw")

    chns = imctm.get_channels(True)

    df = pandas.DataFrame()

    for idx,chn in enumerate(chns) :
        xcol = (chn['xname'] if chn['xname'] != '' else "x_"+str(idx))+" ["+chn['xunit']+"]"
        df[xcol] = pandas.Series(chn['xdata'])
        ycol = chn['yname']+" ["+chn['yunit']+"]"
        df[ycol] = pandas.Series(chn['ydata'])

    print(df)
    df.to_csv("Measurement.csv",header=True,sep='\t')

that writes all 12 channels and their specific dependencies in the time domain in individual columns.

@mario-fink Thankyou so much

Thankyou for your Continuous support.
It is work fine but, I have converted "Measurement.raw" file into csv format using FAMOS software and I am getting the data with timestamp in first column.
Data example:
meas.csv
could we get the output csv file in the same format (with time stamp) as given above?

@Priyanka260895  Please check out the new Python example https://github.com/RecordEvolution/IMCtermite/blob/ff69c329ccc45c2f7ad5944f24f76573460d98cf/python/examples/multichannel.py in order to get the requested output format.

@mario-fink Thankyou I have updated the version but for given code output is as below:-
    time [s]  AI_a01_x [m/s^2]  ...  AI_p05 [bar]  AI_p06 [bar]

0        0.00000         -0.119239  ...      1.480193      1.022401
1        0.00005         -0.124917  ...      1.480193      1.037661
2        0.00010         -0.068136  ...      1.464933      1.022401
3        0.00015         -0.096527  ...      1.419154      0.976622
4        0.00020         -0.238478  ...      1.464933      0.976622
...          ...               ...  ...           ...           ...
112791   5.63955          0.198731  ...      1.525972      1.052921
112792   5.63960          0.102205  ...      1.525972      1.068180
112793   5.63965          0.193053  ...      1.449673      1.083440
112794   5.63970          0.227122  ...      1.434414      1.052921
112795   5.63975          0.153307  ...      1.480193      1.068180
[112796 rows x 13 columns]
but is it possible to change the time column value as date & time as below:-
17-02-2023  22:04:22

To get the full timestamp and a comma delimiter you might consider using:
import IMCtermite
import pandas
import datetime

def add_trigger_time(trigger_time, add_time) :
    trgts = datetime.datetime.strptime(trigger_time,'%Y-%m-%dT%H:%M:%S')
    dt = datetime.timedelta(seconds=add_time)
    return (trgts + dt).strftime('%Y-%m-%dT%H:%M:%S:%f')

if __name__ == "__main__" :

    # read file and extract data
    imctm = IMCtermite.imctermite(b"Measurement.raw")
    chns = imctm.get_channels(True)

    # prepare abscissa
    xcol = "timestamp ['%Y-%m-%dT%H:%M:%S:%f']"
    xsts = [add_trigger_time(chns[0]['trigger-time'],tm) for tm in chns[0]['xdata']]

    # sort channels
    chnnms = sorted([chn['name'] for chn in chns], reverse=False)
    chnsdict = {}
    for chn in chns :
        chnsdict[chn['name']] = chn

    # construct dataframe
    df = pandas.DataFrame()
    df[xcol] = pandas.Series(xsts)
    for chnnm in chnnms :
        chn = chnsdict[chnnm]
        ycol = chn['yname']+" ["+chn['yunit']+"]"
        df[ycol] = pandas.Series(chn['ydata'])

    # show entire dataframe and write file
    print(df)
    df.to_csv("Measurement.csv",header=True,sep=',',index=False)

@mario-fink Thankyou so much

@mario-fink Hi, I have a multipage UI python program
I am not destroying the previous page when I navigate to new page
due to this I am getting an error for icon and program stops working
any solution ??
Note: I cannot destroy the pervious pages as they are dependent as holds processing data
i am using below code for change icon in title bar.
#set the path to set icon
p1 = PhotoImage(file = r'logo.png')
root.iconphoto(False, p1)
i am getting below error
self.tk.call('wm', 'iconphoto', self._w, *args)
_tkinter.TclError: can't use "pyimage7" as iconphoto: not a photo image

@mario-fink Hi, could you please help me to this issues it would be great help.
https://github.com/blackary/st_pages/issues/27#issue-1630263816


FAT32 USB flash, can't copy/paste anything

What system are you running Yazi on?
Linux X11
What terminal are you running Yazi in?
kitty 0.37.0
yazi --debug output
Yazi
    Version: 0.4.2 (c78f39b5 2024-12-12)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.82.0 (f6e511ee 2024-10-15)

Ya
    Version: 0.4.2 (c78f39b5 2024-12-12)

Emulator
    Brand.from_env      : Some(Kitty)
    Emulator.detect     : Emulator { kind: Left(Kitty), light: false, cell_size: Some((10, 23)) }
    Emulator.detect_full: Ok(Emulator { kind: Left(Kitty), light: false, cell_size: Some((10, 23)) })

Adapter
    Adapter.matches: Kgp

Desktop
    XDG_SESSION_TYPE           : Some("tty")
    WAYLAND_DISPLAY            : None
    DISPLAY                    : Some(":0")
    SWAYSOCK                   : None
    HYPRLAND_INSTANCE_SIGNATURE: None
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

NVIM
    NVIM          : false
    Neovim version: 0.10.2

Variables
    SHELL           : Some("/bin/bash")
    EDITOR          : Some("nvim")
    VISUAL          : Some("nvim")
    YAZI_FILE_ONE   : None
    YAZI_CONFIG_HOME: None
    YAZI_ZOXIDE_OPTS: None
    FZF_DEFAULT_OPTS: Some("--color=fg:#af00ff,bg:#011627,hl:#ffffff --color=fg+:#011627,bg+:#af00ff,hl+:#ffffff --color=info:#af00ff,prompt:#ffffff,pointer:#011627 --color=marker:#FFFFFF,spinner:#af00ff,header:#0000ff,gutter:#011627,border:#011627")

Text Opener
    default     : Some(Opener { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })
    block-create: Some(Opener { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })
    block-rename: Some(Opener { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })

Multiplexers
    TMUX               : 0
    tmux version       : tmux 3.5a
    tmux build flags   : enable-sixel=Unknown
    ZELLIJ_SESSION_NAME: None
    Zellij version     : No such file or directory (os error 2)

Dependencies
    file          : 5.45
    ueberzugpp    : No such file or directory (os error 2)
    ffmpeg/ffprobe: 6.1.2 / 6.1.2
    pdftoppm      : No such file or directory (os error 2)
    magick        : 7.1.1-41
    fzf           : 0.56.3
    fd/fdfind     : 10.1.0 / No such file or directory (os error 2)
    rg            : 14.1.1
    chafa         : 1.10.3
    zoxide        : 0.9.4
    7z/7zz        : 16.02 / No such file or directory (os error 2)
    jq            : 1.7.1

Clipboard
    wl-copy/paste: No such file or directory (os error 2) / No such file or directory (os error 2)
    xclip        : 0.13
    xsel         : 1.2.1

Describe the bug
yazi seems to be extremely sluggish when I copy files on an external fat 32 drive (I've tried two different ones and had the same issue). it takes about an hour maybe even more to transfer less than 1000 MB. if I do the same using cp or ranger it takes just several minutes
Minimal reproducer

format a usb stick to fat 32
copy a bunch of files (300-500 mb total)
progress goes from 0 to 93% pretty fast
...
you are stuck and nothing happens

Anything else?

Checklist

[X] I tried the latest nightly build, and the issue is still reproducible
[x] I updated the debug information (yazi --debug) input box to the nightly that I tried
[x] I can reproduce it after disabling all custom configs/plugins (mv ~/.config/yazi ~/.config/yazi-backup)

It looks like a duplicate of https://github.com/sxyazi/yazi/issues/1858. Yazi simply calls Rust's std::io::copy() when copying files, which could be a bug in Rust itself. I have a few things to confirm:

Does this issue exist in the previous version v0.3.3? Yazi 0.4 changed the file copy API from std::fs::copy() to std::io::copy() because fs::copy() had a bug causing network file permission errors.
Is the file you're copying never completing, or does it eventually complete but take a long time? Are there any error logs—can you inspect the task in Task Manager by pressing <enter>?
Does this happen occasionally, or is it 100% of the time? Does it happen with a single file or only when copying multiple files?
What happens if you manually call std::io::copy() on these files in a Rust app?

yazi 0.3.3

yazi 0.4.2

I've done a couple more tests, and the yazi version doesn't affect the behavior, what usb stick I use and how many files are copied at a time does.

Actions Semiconductor Co., Ltd D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player - I can reproduce the issue every time as long as I transfer more than 20-25 files (each from 5 - 10mb), but when the files are compressed into a zip archive, everything works flawlessly.
SanDisk Corp. Cruzer Blade - works fine either way, even tho it has the same FAT32 fs

cp gives consistent results for both drives:

What happens if you manually call std::io::copy() on these files in a Rust app?

I have no idea. I've never messed with rust before. Is there any way to launch yazi in debug mode, so it would generate a log file with the last file operations?

In this case, if it only happens on certain USB drives, I guess it might be a hardware issue — some hardware might have issues with concurrent read/write operations, although I can't reproduce it on my FAT32 USB.
You could try setting both micro_workers and macro_workers to 1 to revert the cp behavior, meaning force Yazi to only use a single thread for file copying, and see if it works:
https://github.com/sxyazi/yazi/blob/c78f39b50f04fb23c8376369d6c9a21226002d9c/yazi-config/preset/yazi-default.toml#L81-L83

I think it did the trick. Thank you

Nice to see it's working!
I'll create a PR later to choose more conservative values for the preset micro_workers and macro_workers, even though it might be a bit slower, but the goal is to ensure it's safe for all users as much as possible.
But of course, users can always adjust them in their own config as needed, I think that's enough.


Updated code directory to build correctly

The solutions directory had already been updated to use the correct
libraries and the updated path and packages (com.allendowney.thinkdast),
but there was no build.xml in the code directory, and the one in the
(obsolete?) lab01 directory used the old path and package
(com.flatironschool.javacs).  This commit adds an updated build.xml to
the code directory and removes the lab01 directory.

I just bought this book and I have been banging my head against the wall for an hour trying to figure out why I couldn't build it. Thank you so much for recognizing this issue and submitting a fix. Everything now builds for me.


Avert about weird behaviors with Pretrained models in the README

Hi there,
First I would like to thank you for your work and releasing your code and pre-trained models!
I have been playing with the code and ran into some troubles in the results obtained with the pre-trained models.  This is due to three facts.  First, "align_corners=True" should be added to the upsample functions for Pytorch version higher than 0.4.  Second, with SceneFlow and the pre-trained model, the output disparities should be multiplied by 1.17.  And finally, with torchvision > 0.2.0, RGB images should be loaded without adding ".astype('float32'))".
I think you should add these pieces of information in the README.md, so people don't get confuse and don't lose too much time trying to fix these issues.
Thansk again for sharing your code.
Cheers,
Maxime

Hi@ferreram,
My torchvision is 0.2.1. I got " AttributeError:'Nonetype' object has no attribute 'size'  " ,when I loaded images.
I rewrite dataL = np.ascontiguousarray(dataL,dtype=np.float32) to dataL = np.ascontiguousarray(dataL) But it doesn't work.
Which other codes should I rewrite?

Hi @Ihiceu,
The "astype(np.float32)" to remove is in the submission.py file.  Beside that, the dataloader works well.  From the error you're getting, I'd say that images are not loaded correctly as dataL is empty in your case.  You should check if you provide the good path to your dataset and if the images are organized as expected.
Cheers

@ferreram Why the factor of 1.17? How does it come into existence?

@WASCHMASCHINE I have no idea and did not have the time to dive into this but it was reported by other as well #64

@ferreram
Thanks for your comment!
I will add those notices to README.

@ferreram
Thanks for your comment!
I will add those notices to README.

This may also explain my error: #113


Building more extensions

Except for grpc due to https://github.com/grpc/grpc/issues/9281

@dazuma Can you take a look?
cc @bshaffer

I found a workaround for grpc, and added it too.


" undefined symbol: _ZTIN10tensorflow8OpKernelE" when loading op library

Branch/Tag/Commit
r5.1
Docker Image Version
nvcr.io/nvidia/tensorflow:22.05-tf2-py3
GPU name
T4
CUDA Driver
11.7
Reproduced Steps
1. docker run  -it --gpus '"device=0"' nvcr.io/nvidia/tensorflow:22.05-tf2-py3
2. git clone https://github.com/NVIDIA/FasterTransformer.git && \
    cd FasterTransformer && git reset --hard a44184afa1320ffb2571f978868531bc1d373a22 && \
    mkdir build && cd build && \
    cmake -DSM=75 -DCMAKE_BUILD_TYPE=Release -DBUILD_TF=ON -DTF_PATH=/usr/local/lib/python3.8/dist-packages/tensorflow .. && \
    make
3. python

import tensorflow as tf
import os
tf.load_op_library(os.path.join('/workspace/FasterTransformer/build/lib/libtf_bert.so'))

Exception:
root@15a3dd99c9c7:/workspace/FasterTransformer/build# python
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> import os
>>> tf.load_op_library(os.path.join('/workspace/FasterTransformer/build/lib//libtf_bert.so'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/load_library.py", line 54, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: /workspace/FasterTransformer/build/lib//libtf_bert.so: undefined symbol: _ZTIN10tensorflow8OpKernelE

We only test and develop on TF1, never test on TF2.
To run on TF2, you may need to modify something.

i just tested on tf1 as well, having the same error

docker run
docker run -ti --rm nvcr.io/nvidia/tensorflow:22.04-tf1-py3 bash
git clone fastertransformer
git clone https://github.com/NVIDIA/FasterTransformer.git &&     cd FasterTransformer && git reset --hard a44184afa1320ffb2571f978868531bc1d373a22
build
mkdir build && cd build &&     cmake -DSM=80 -DCMAKE_BUILD_TYPE=Release -DBUILD_TF=ON -DTF_PATH=/usr/local/lib/python3.8/dist-packages/tensorflow_core ..
make
python:

root@eeeb7a9c224a:/workspace/FasterTransformer/build/lib# python
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow as tf
2022-10-21 04:51:39.036932: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
WARNING:tensorflow:Deprecation warnings have been disabled. Set TF_ENABLE_DEPRECATION_WARNINGS=1 to re-enable them.
import os
tf.load_op_library(os.path.join('/workspace/FasterTransformer/build/lib//libtf_bert.so'))
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.8/dist-packages/tensorflow_core/python/framework/load_library.py", line 61, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: /workspace/FasterTransformer/build/lib//libtf_bert.so: undefined symbol: _ZTIN10tensorflow8OpKernelE

I have no idea for this bug. But I find it only happens on some docker. Can you try nvcr.io/nvidia/tensorflow:22.07-tf1-py3

tried this one as well, same error when loading the (libtf_bert.so)
docker run -ti --rm nvcr.io/nvidia/tensorflow:22.07-tf1-py3  bash
root@fcc2f09d212c:/workspace# python
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow as tf
2022-10-21 17:14:34.860167: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
WARNING:tensorflow:Deprecation warnings have been disabled. Set TF_ENABLE_DEPRECATION_WARNINGS=1 to re-enable them.
tf.version
'1.15.5'
exit

Have you rerun the cmake script and rebuild the project in the new docker?


Add Test for Variable Components in Benchmarking

This is a test that shows an example of how you can use an expression for a lower_bound of a benchmark.
I tried to add:
	// mutation arm to look for an expression for param_from.
	(
		{ $( $instance:ident )? }
		$name:ident
		{ $( $where_clause:tt )* }
		{ $( $parsed:tt )* }
		{ $eval:block }
		{
			let $param:ident in $param_from:expr .. $param_to:expr => $param_instancer:expr ;
			$( $rest:tt )*
		}
		$postcode:block
	) => {
		$crate::benchmark_backend! {
			{ $( $instance)? }
			$name
			{ $( $where_clause )* }
			{ $( $parsed )* }
			{ $eval }
			{
				let $param in ( $param_from ) .. $param_to => $param_instancer;
				$( $rest )*
			}
			$postcode
		}
	};

But got the error:
error: `$param_from:expr` is followed by `..`, which is not allowed for `expr` fragments
   --> frame/benchmarking/src/lib.rs:480:41
    |
480 |             let $param:ident in $param_from:expr .. $param_to:expr => $param_instancer:expr ;
    |                                                  ^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`

So instead we take advantage of this matching arm:
	(
		{ $( $instance:ident )? }
		$name:ident
		{ $( $where_clause:tt )* }
		{ $( $parsed:tt )* }
		{ $eval:block }
		{
			let $param:ident in ( $param_from:expr ) .. $param_to:expr => $param_instancer:expr;
			$( $rest:tt )*
		}
		$postcode:block
	) => {
		$crate::benchmark_backend! {
			{ $( $instance)? }
			$name
			{ $( $where_clause )* }
			{
				$( $parsed )*
				PARAM { $param , $param_from , $param_to , $param_instancer }
			}
			{ $eval }
			{ $( $rest )* }
			$postcode
		}
	};

Where the param_from:expr is wrapped in parenthesis.
@thiolliere is there a cleaner way to do this?

I don't really see other solution, you could read token by token until .. but this could break if user use .. inside the expression

I don't really see other solution, you could read token by token until .. but this could break if user use .. inside the expression

maybe doc could emphasize it in a note ?

maybe doc could emphasize it in a note ?

bot merge

bot merge

@kianenigma the .. syntax is pretty natural to me. What would be your alternative?

@kianenigma the .. syntax is pretty natural to me. What would be your alternative?


[Tables] Add samples for how to get timestamp and etag of an entity

This PR added samples for how to get etag and timestamp for an entity which was asked by some customers.
Also introduced TypedDict in entity metadata type.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-data-tables

/check-enforcer override

/azp run python - tables - tests


Get parts of system running on docker containers

Ideally split up each process to their own container, shared file system / DB

I was able to get the system pulled and unittests passing on a ubuntu docker container with the following commands:
docker run -ti ubuntu:20.04 bash to get the 20.04 ubuntu image (latest fails apt-gets as of Apr 28, 2023)
cd /home
apt update
apt install python3.9 python3.9-distutils curl git -y
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.9 get-pip.py
git clone https://github.com/Elucidation/mapf-multiagent-robot-planning.git
cd mapf-multiagent-robot-planning/
pip install -r requirements.txt
cd dev/
python3.9 -m unittest

Results in
...
Ran 13 tests in 0.060s

OK

Missing zmq pip install zmq and freeze shows:
pyzmq==25.0.2
zmq==0.0.0

Adding this to requirements, and minor fixes check for windows/linux for ctypes and log changes up to 5711fe7935c73a9f7aa36c9ec9ed27049086d075 gets us running the world_sim in the container
root@8cbc33f7455b:/home/mapf-multiagent-robot-planning/dev# python3.9 -m world_sim reset
Setting up 0MQ Publisher to port 50523
Resetting database
...
Main loop start...
Step 5 1,1|2,1|3,1|4,1|5,1|6,1|7,1|8,1|9,1|10,1
Step 10 1,1|2,1|3,1|4,1|5,1|6,1|7,1|8,1|9,1|10,1
Step 15 1,1|2,1|3,1|4,1|5,1|6,1|7,1|8,1|9,1|10,1

Now we just need to convert this into a docker file

Putting together a dockerfile to be tested here
Assuming shared volume vol1 with git project mapped to /home/app so we don't need to install and git clone
docker run -d -it --name bob1 --mount source=vol1,destination=/home/app ubuntu:20.04

To get the volume ready we'll need to
cd /home/app
apt-get update && DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get install -y python3.9 python3.9-distutils curl git && rm -rf /var/lib/apt/lists/*
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3.9 get-pip.py && rm get-pip.py

git clone https://github.com/Elucidation/mapf-multiagent-robot-planning.git

Then for a separate container that will use that volume
WIP
FROM ubuntu:20.04

cd /home/app

RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get install -y python3.9 python3.9-distutils curl && rm -rf /var/lib/apt/lists/*

RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3.9 get-pip.py && rm get-pip.py

cd mapf-multiagent-robot-planning/
RUN pip install --requirement requirements.txt
cd dev/
python3.9 -m unittest

Some partial success with alpine container but lots of pip installs failing and not sure it's worth the effort yet

possible instead of build-base can use some subset of
(1/10) Installing libmagic (5.43-r0)
(2/10) Installing file (5.43-r0)
(3/10) Installing libstdc++-dev (12.2.1_git20220924-r4)
(4/10) Installing musl-dev (1.2.3-r4)
(5/10) Installing libc-dev (0.7.2-r3)
(6/10) Installing g++ (12.2.1_git20220924-r4)
(7/10) Installing make (4.3-r1)
(8/10) Installing fortify-headers (1.1-r1)
(9/10) Installing patch (2.7.6-r9)
(10/10) Installing build-base (0.5-r3)

apk update && apk add --no-cache build-base python3 python3-pip

apk add py3-matplotlib

if we have cache, rm /var/cache/apk/*

Working Dockerfile, if placed in root of repo (next to requirements)
FROM ubuntu:20.04

# Load dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get install -y python3.9 python3.9-distutils curl && apt-get clean && rm -rf /var/lib/apt/lists/* && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3.9 get-pip.py && rm get-pip.py

COPY requirements.txt .
RUN pip install -r requirements.txt

CMD ["/bin/bash"]

The assumption then is to start a container mounted to a volume with the git repo in it at /home/app/ to start the individual processes with:
docker run -d -it --name aw3 --mount source=vol1,destination=/home/app auto_warehouse1:latest
TODO : expose ports and add start commands to the container

docker run -w /home/app/mapf-multiagent-robot-planning/dev -d -it --name aw_unittest --mount source=vol1,destination=/home/app auto_warehouse1:latest python3.9 -m unittest creates a new container and runs the unittests in it, showing in the logs

Added Dockerfile with 35fe

WIP docker run containers
# Shared network for containers to talk on
docker network create aw-net

# World Sim
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -d -it --name aw_world_sim --mount source=vol1,destination=/home/app auto_warehouse1:latest python3.9 -m world_sim reset

# Order Processor
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -d -it --name aw_order_processor --mount source=vol1,destination=/home/app auto_warehouse1:latest python3.9 -m inventory_management_system.order_processor reset

# Robot Allocator
docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net --env ZMQ_WORLD_SIM_HOST=aw_world_sim -d -it --name aw_robot_allocator --mount source=vol1,destination=/home/app auto_warehouse1:latest python3.9 -m robot_allocator

# Flask IMS webserver (access via port 5000)
 docker run -w /home/app/mapf-multiagent-robot-planning/dev --net aw-net -p 5000:5000 -d -it --name aw_web_inventory --mount source=vol1,destination=/home/app auto_warehouse1:latest flask --app inventory_management_system.order_tracking_web_server run --host=<IP_ADDRESS>

These docker runs work well, next step is to put them into a compose file #63


Description appears in the same line as the badges

I think there is a line break missing in the template

@hsanjuan I am unable to reproduce this. I fixed the tests so that they work; can you create a test case for where this happens?

I think this is fixed and existing test case should cover it

Thanks @hsanjuan!


Add to general (and/or porn?) list

[DO NOT VISIT; NSFL]
kekma (dot) net
kekma (dot) ga
[DO NOT VISIT; NSFL]
These two shock sites show extremely gore images and loud screams without a proper warning.
Source:
https://knowyourmeme.com/memes/kekmaga
https://old.reddit.com/r/AskReddit/comments/knavy4/people_who_accidentally_visited_kekmanet_what/?rdt=51409

Thank you Jan @GabiBCN.
Ping @sinfonietta for addition to snuff sites.


Opsman should be associated with an elastic ip address

The terraform scripts for provisioning an opsman vm should associate an elastic ip address with the opsman vm, otherwise the upgrade scripts for opsman tends to fail as it tries to associate the non-elastic ip to the new instance and fails.

Closing this in favor of https://github.com/pivotal-cf/pcf-pipelines/issues/51, as this repo is now deprecated.


fix(cache) utilize luarocks purge --old-versions to keep our luarocks current

The following PR https://github.com/Kong/kong/pull/6361/files per

should have upgraded both lua-resty-worker-events and lua-resty-healthcheck but fails.

I believe this design is correct / safe but as a result we should make sure the openresty container we build our test container on top of doesn't have any installed luarocks

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


Run on Windows Server OS

Run on Windows Server with IIS.

Make T2WML backend into a service
Use IIS reverse proxy to access the T2WML backend service

@ChanaChelem , you need to turn the t2wml backend into a service. We already use pyinstaller to create t2wml-server.exe (you can look at the script backend/packaging/prepare_installation.py - it runs pyinstaller with the proper flags, before packaging electron as well).
First thing you need to do figure out how to add waitress to t2wml - waitress is the Windows equivalent of gunicorn - it will run multiple backend instances and load balance requests between them. Start by creating a t2wml-waitress.py that will run t2wml under waitress. Once it runs (python t2wml-waitress.py starts the backend with waitress), use pyinstaller to create t2wml-waitress.exe .
Now you need to turn this into a service. Create a file called t2wml-service.py that will implement the technique mentioned [here] (https://metallapan.se/post/windows-service-pywin32-pyinstaller/) . You will probably need to replace MyService() with a class that starts and stops the waitress server.

For now the CX folks just want something that can run on Windows. Integration with IIS is not needed.

@zmbq @ChanaChelem Can we get a version that runs on Windows first without the integration with IIS?


when training and converting, I econtered the problem of "RuntimeWarning: divide by zero "

The divide by zero problem occurs at the training begins and converting, I trained a sf1-sm1 model for two days using GTX1080, the converted result was not so good as you demo .
Most importantly, the divide by zero error should be handled.
(t18) hu@hu-D520MT-K:~/disk1/Voice_Converter_CycleGAN$ python convert.py --model_dir ./model/sf1_sm1 --model_name sf1_sm1.ckpt --data_dir ./data/evaluation/SF1 --conversion_direction A2B --output_dir ./converted_voices
WARNING:tensorflow:From /home/hu/anaconda3/envs/t18/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py:497: calling conv1d (from tensorflow.python.ops.nn_ops) with data_format=NHWC is deprecated and will be removed in a future version.
Instructions for updating:
NHWC for data_format is deprecated, use NWC instead
WARNING:tensorflow:From /home/hu/anaconda3/envs/t18/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
2018-07-23 09:02:21.888616: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-07-23 09:02:22.022387: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-07-23 09:02:22.022923: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1344] Found device 0 with properties:
name: GeForce GTX 1080 major: 6 minor: 1 memoryClockRate(GHz): 1.835
pciBusID: 0000:01:00.0
totalMemory: 7.92GiB freeMemory: 7.37GiB
2018-07-23 09:02:22.022942: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1423] Adding visible gpu devices: 0
2018-07-23 09:02:22.828472: I tensorflow/core/common_runtime/gpu/gpu_device.cc:911] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-07-23 09:02:22.828522: I tensorflow/core/common_runtime/gpu/gpu_device.cc:917]      0
2018-07-23 09:02:22.828537: I tensorflow/core/common_runtime/gpu/gpu_device.cc:930] 0:   N
2018-07-23 09:02:22.829284: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1041] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7119 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0, compute capability: 6.1)
/home/hu/disk1/Voice_Converter_CycleGAN/preprocess.py:170: RuntimeWarning: divide by zero encountered in log
f0_converted = np.exp((np.log(f0) - mean_log_src) / std_log_src * std_log_target + mean_log_target)
Thanks for regrading my proposal.

Hi hujinsen,
I did not get a chance to formally train sf1-sm1, so I am not able to say if the performance is good or not.
Regarding your second question, please check #1 .
Thanks for your interest.
Lei

I don't think so. Because the audio data content is the same for different people in the dataset, if the conversion is not good as what you have found, it must be due to that the model is not trained well as expected. You may upload some demos on your GitHub and try to troubleshoot by optimizing the hyperparameters used during the training. Please check the demos on the NTT group. If their conversion is doing well, there is no doubt that this model could be further improved.