T265:Possible regression in behaviour of get_static_node()

Hi,
I'm noticing a possible regression in behaviour of get_static_node. My current firmware version is <IP_ADDRESS>2, SDK 2.30.1, master branch
Maybe two weeks ago I could get_static_node() over several sessions with the T265 (USB not unplugged/replugged during runs), and I always got my marker back, w/o having to store/reload the map between runs. The marker was found within 30 s after start.
I also don't notice the RELOCATION event anymore in realsenseviewer, over several starts.
This seems to have changed. It seems, that the map does no longer return the marker after restart, if there is one set.
get_static_node() works fine, if I load the map immediately at start. But as said: That wasn't always necessary. In fact, during my tests it was sometimes counterproductive to see the map relocating, so that I was forced to make the T265 forget the map by unplugging/replugging...
But now I miss that :)
Does that sound familiar?

Same behaviour as described with firmware <IP_ADDRESS>7. Adapting now to firmware <IP_ADDRESS>9. I'm sure I was able to proceed on a map in memory between different sessions. I want that back :)

Also not with <IP_ADDRESS>9 anymore. Very strange... Not a firmware issue?

Hello @neilyoung,
Could you please help me sharing the importing-exporting map code? I really don't know how to implement the it.
Thank you very much,
Giovanni

This is my experimental way, but you might find a more sophisticated approach in this PR
https://github.com/honpong/librealsense/blob/ar-advanced/examples/ar-advanced/rs-ar-advanced.cpp
I'm reading a map if provided in the args. I'm not sure, if my way is correct at all, since I need to start the pipe first in order to obtain a pose_sensor object, but I didn't spent much energy in optimizing this
    // Declare RealSense pipeline, encapsulating the actual device and sensors
    rs2::pipeline pipe;
    // Create a configuration for configuring the pipeline with a non default profile
    rs2::config cfg;
    // Add pose stream
    cfg.enable_stream(RS2_STREAM_POSE, RS2_FORMAT_6DOF);
    // Start pipeline with chosen configuration
    auto profile = pipe.start(cfg);
    auto device = profile.get_device();
    rs2::pose_sensor pose_sensor = device.first<rs2::pose_sensor>();

    if (argc == 2)
    {
        pipe.stop();

        printf("%s\r\n", argv[1]);
        std::vector<uint8_t> readfile;

        std::ifstream infile(argv[1], std::ios_base::binary);

        std::istreambuf_iterator<char> iter(infile);
        std::copy(iter, std::istreambuf_iterator<char>(), std::back_inserter(readfile)); // this leaves newVector empty

        infile.close(); // close  for consistency

        std::string str;
        str.assign(readfile.begin(), readfile.end());
        std::vector<uint8_t> vec(str.begin(), str.end());

        printf("%s, read size=%lu\r\n", argv[1], vec.size());
        if (pose_sensor.import_localization_map(vec))
        {
            printf("%s successfully imported\r\n", argv[1]);
        }
        else
        {
            printf("import failed, starting from scratch\r\n");
        }
        pipe.start(cfg);
    }

Then I'm having a kbhit/getch pattern, which allows me to non-blocking wait for inputs. On "Enter" I'm waiting a while and saving the map.
        if (kbhit())
        {
            int c = getch();

            if (c == 0x0d)
            {
                printf("stopping pose_sensor\r\n");
                pipe.stop();
                std::printf("exporting map ... sleeping 5s \r\n");
                std::this_thread::sleep_for(std::chrono::seconds(10));
                std::vector<uint8_t> map = pose_sensor.export_localization_map();
                printf("map exported, result: %lu bytes\r\n", map.size());
                printf("writing map to file\r\n");

                std::ofstream outfile("./map", std::ios::out | std::ofstream::binary);
                std::copy(map.begin(), map.end(), std::ostreambuf_iterator<char>(outfile));
                outfile.flush();
                outfile.close();
                break;
            }
       }

kbhit and getch are here:

#include <chrono>
#include <thread>
#include <iterator>
#include <iostream>
#include <fstream>
#include "boost/asio.hpp"

using namespace boost::asio;
struct termios orig_termios;

void reset_terminal_mode()
{
    tcsetattr(0, TCSANOW, &orig_termios);
}

void set_conio_terminal_mode()
{
    struct termios new_termios;

    /* take two copies - one for now, one for later */
    tcgetattr(0, &orig_termios);
    memcpy(&new_termios, &orig_termios, sizeof(new_termios));

    /* register cleanup handler, and set the new terminal mode */
    atexit(reset_terminal_mode);
    cfmakeraw(&new_termios);
    tcsetattr(0, TCSANOW, &new_termios);
}

int kbhit()
{
    struct timeval tv = {0L, 0L};
    fd_set fds;
    FD_ZERO(&fds);
    FD_SET(0, &fds);
    return select(1, &fds, NULL, NULL, &tv);
}

int getch()
{
    int r;
    unsigned char c;
    if ((r = read(0, &c, sizeof(c))) < 0)
    {
        return r;
    }
    else
    {
        return c;
    }
}

int kbhit()
{
    struct timeval tv = {0L, 0L};
    fd_set fds;
    FD_ZERO(&fds);
    FD_SET(0, &fds);
    return select(1, &fds, NULL, NULL, &tv);
}

int getch()
{
    int r;
    unsigned char c;
    if ((r = read(0, &c, sizeof(c))) < 0)
    {
        return r;
    }
    else
    {
        return c;
    }
}

You need to call  set_conio_terminal_mode() somewhere in the beginning of you "main" and find a way to reset the console behavior by  reset_terminal_mode()... Not sure, if this asio stuff is still required or just debris of previous tests. The new console behavior requires \r\n printfs.

Optimized version appreciated :)

@neilyoung your way to get a pose_sensor is a good one, here's a more minimal version:
#include <librealsense2/rs.hpp>
#include <fstream>

std::vector<uint8_t> load_file(const char * filename)
{
    std::ifstream stream(filename, std::ios::binary);
    std::vector<uint8_t> contents((std::istreambuf_iterator<char>(stream)), std::istreambuf_iterator<char>());
    return contents;
}

int main(int argc, char * argv[])
{
    rs2::log_to_console(RS2_LOG_SEVERITY_INFO);
    rs2::pipeline pipe;
    rs2::config cfg;
    cfg.enable_stream(RS2_STREAM_POSE, RS2_FORMAT_6DOF);

    auto tm_sensor = cfg.resolve(pipe).get_device().first<rs2::pose_sensor>();
    auto map = load_file("map.map");
    // you can only import a map before the pipe has started
    tm_sensor.import_localization_map(map);

    pipe.start(cfg);
    // your program here
    pipe.stop();

    // currently, you can only export a map once the pipe has stopped
    std::vector<uint8_t> map_to_export = tm_sensor.export_localization_map();
    return 0;
}

Thanks for sharing, Brian :) Is it still suggested to wait a couple of seconds before saving after stopping? I guess, if one can ignore the rest in the pipes, he can save right away after stopping, right?

@neilyoung in my testing on #5213 there is no need to wait once you have called pipe.stop() and the call has completed

Thank you both of you. I will try it as soon as possible.

hello @neilyoung,
Just two super simple question for you,
I was trying the sample ar-advanced. I noticed that it can't import and export the map, probably because I didn't specified the path to the localization map.
The sample say to this:
Users should specify the path(s) to the localization map data file(s) by using command line arguments. For example, to set input map file src_map.raw at current directory:
rs-ar-advanced --load_map src_map.raw
To set both input map file src_map.raw and output map file dst_map.raw at current directory:
rs-ar-advanced --load_map src_map.raw --save_map dst_map.raw
Then, the application will import localization map data from src_map.raw at the beginning of tracking and will export the modified map including a virtual object as a static node to dst_map.raw.
Note: if neither input nor output path is given, this application will behave exactly the same as the rs-ar-basic example.
I new in programming and I don't know where add this code line:
rs-ar-advanced --load_map src_map.raw --save_map dst_map.raw
The other question is related to your code and @bfulkers-i, where do you specify the map path for import/export ?
Thank you for your help and patient!!

@giovannicairoli Sorry for the late reply.
I new in programming and I don't know where add this code line:
rs-ar-advanced --load_map src_map.raw --save_map dst_map.raw

These are not code lines, but bash command lines. They show how to specify in and out path/names for the maps on start of the rs-ar-advanced sample.
But I'm not the author of this example.

@neilyoung hello,
Thank you for your answer. So also you are not able to run the sample and import export the map?
Thank you

@giovannicairoli  No not yet. I'm a bit swamped with other things, sorry.

Thanks @neilyoung.  I think we have found the issue here.

@radfordi I would say you should leave it as is now. This is really the best option to "OPT-IN" explicitly.
Thanks. I will close this now.

@radfordi Tested your sample code. It misses a "save_file" function. And for some reasons this sequence
pipe.stop();
std::vector<uint8_t> map_to_export = pose_sensor.export_localization_map();

ends up in
RealSense error calling rs2_get_raw_data(buffer:nullptr):
    null pointer passed for argument "buffer"

Just in case you have something, don't waste your time.

The current #5213 does not reliably save the map if you don't wait after pipe close. In most cases the response to an immediate save after pipe close on macOS is:
RealSense error calling  rs2_get_raw_data (buffer:nullptr): null pointer passed for argument "buffer"

I think this is fixed (not sure), will reopen in case

Hi @neilyoung
Are you still having this issue in the latest librealsense 2.32.1?

@RealSenseCustomerSupport No. As Jim stated here, it was indeed a kind of regression, since the map preservation - default before 2.32.1 - does now need an explicit enabling. Jim explained it here https://github.com/IntelRealSense/librealsense/issues/5343#issuecomment-562363468 and it was OK for me, so this issue has been closed and is fixed for me

Hi.
Will you be needing further help with this? If we don’t hear from you in 7 days, this issue will be closed.
Thanks

Hello,
from my side it can be close.
Thank you
Il giorno lun 6 apr 2020 alle ore 22:58 RealSense Customer Support <
<EMAIL_ADDRESS>ha scritto:

Hi.
Will you be needing further help with this? If we don’t hear from you in 7
days, this issue will be closed.
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/5343#issuecomment-610033179,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHBSLKODIWS3TU6W5TXE5LRLI67DANCNFSM4JST25XQ
.


Discrepancy Between Summarizer Evaluation Results

Evaluating TFIDFSummarizer in develop a3794b7 yields below result which is different than README table. I can't validate BM25's success over TFIDF until a result is fixed.
| Method & Tokenizer                                                                       |   ndcg(k=0.1) |   ndcg(k=0.5) |   ndcg(k=0.8) |
|------------------------------------------------------------------------------------------|---------------|---------------|---------------|
| TFIDF Summarizer (tf=binary, idf=smooth, tokenizer=bert)                                 |        0.6782 |        0.7593 |        0.8507 |
| TFIDF Summarizer (tf=binary, idf=probabilistic, tokenizer=bert)                          |        0.6707 |        0.7376 |        0.8344 |
| TFIDF Summarizer (tf=raw, idf=smooth, tokenizer=bert)                                    |        0.6767 |        0.7588 |        0.8509 |
| TFIDF Summarizer (tf=raw, idf=probabilistic, tokenizer=bert)                             |        0.6624 |        0.7241 |        0.8225 |
| TFIDF Summarizer (tf=freq, idf=smooth, tokenizer=bert)                                   |        0.5340 |        0.6729 |        0.7885 |
| TFIDF Summarizer (tf=freq, idf=probabilistic, tokenizer=bert)                            |        0.5265 |        0.6652 |        0.7834 |
| TFIDF Summarizer (tf=log_norm, idf=smooth, tokenizer=bert)                               |        0.6755 |        0.7595 |        0.8504 |
| TFIDF Summarizer (tf=log_norm, idf=probabilistic, tokenizer=bert)                        |        0.6609 |        0.7270 |        0.8261 |
| TFIDF Summarizer (tf=double_norm, double_norm_k=0.25, idf=smooth, tokenizer=bert)        |        0.6708 |        0.7483 |        0.8447 |
| TFIDF Summarizer (tf=double_norm, double_norm_k=0.5, idf=smooth, tokenizer=bert)         |        0.6780 |        0.7539 |        0.8479 |
| TFIDF Summarizer (tf=double_norm, double_norm_k=0.75, idf=smooth, tokenizer=bert)        |        0.6799 |        0.7589 |        0.8508 |
| TFIDF Summarizer (tf=double_norm, double_norm_k=0.25, idf=probabilistic, tokenizer=bert) |        0.6410 |        0.7186 |        0.8204 |
| TFIDF Summarizer (tf=double_norm, double_norm_k=0.5, idf=probabilistic, tokenizer=bert)  |        0.6559 |        0.7270 |        0.8265 |
| TFIDF Summarizer (tf=double_norm, double_norm_k=0.75, idf=probabilistic, tokenizer=bert) |        0.6651 |        0.7342 |        0.8312 |

Thanks for the great catch. The major change is with 0.17

Previously raw_tf is calculated at document level which is not the expected definition  given that sentence level requires within sentences count, document level requires document level

This in return changes raw_tf, freq, log_norm and double_norm as they are all based on raw_tf numeric value
Binary tf is not effected because it is simply raw_tf > 0

More over normalization at freq_tf was based on document count. Now it is based on sentence raw_tf sum for sentence, document  raw_tf sum for document.

Please do the cross check by comparing 0.16.2..0.17.1

I will also document this on summarize/README


Create alpine release of revive compiler (musl.libc)

Create the release workflow for revive compiler.
As artefacts provide:

revive-musl version
alpine docker
revive-glibc version

The musl build should be beneficial for the remix backend.

Glibc version should not be necessary. A statically linked revive-musl should have zero dependencies.

@wpt967 Can you take care of this and then go back to the debugging work?

Sure.

@wpt967 thanks a lot!
I think how we should do it for now: The musl workflow should only run on pushes to the main branch and depend on the success of build-ubuntu-x86 (see here). This second workflow can then just build musl, build revive linked against musl, and finally build and publish an alpine Docker image containing the musl revive build.
Should probably also just add a Makefile target install-musl that produces a release build of revive linked against musl.
So, essentially each time we push something to main and the CI passes we'll get a fresh image, which should be good to iterate quickly. Later we can think how to do releases properly (we also want some matrix testing against solc versions etc., but thats for later).

In the Docker image, we need to include both 'resolc-musl' and 'solc-musl'. I would like to ask you to create the first revive release, which I can use as the base for the revive-remix-backend.

I wouldn't add the musl suffix to resolc. We should not do any dynamically linked releases anyways as they wouldn't be portable. Or is there any reason to do so?

I just wanted to emphasize that we need both in the musl versions. We shouldn't have any suffix.

https://gitlab.com/taricorp/llvm-sys.rs/-/issues/44
With this we can give it at shot again. Just need to make sure we pull in the latest version through inkwell. Probably our best bet is on using https://github.com/rust-cross/rust-musl-cross as cross-compilation ought to work even with proc-macros.

So there is an issue with llvm-system which is fixed on master but no release, yet?

No, sorry I didn't realize it. They backported the fix to llvm-sys 181.2.0 which is published. So probably only a matter of bumping it in inkwell


Challenge 'remote control': Not pushing

I'm doing the Git-it 'Remote Control' challenge. I have followed every step of initializing, commiting, connecting to remote and pushing.
When running the $ git remote -v command i get this output:
origin  https://github.com/plammel/hello-world.git (fetch)
origin  https://github.com/plammel/hello-world.git (push)

But if i click the "Verify" button i get this message:
Error: Command failed: "<PATH>" reflog show origin/master fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'
Also, when i refresh my remote repository page, i see no file has been uploaded, i see the Quick setup info instead.
Im on Windows 10, using Git Bash.
What am i doing wrong?

Still don't know what i was missing, but my solution was to fetch origin from the Github Desktop.


[core/auto]  Cannot reproduce Hyperparameter Tuning tutorial due to an import error on v0.13.0

What happened + What you expected to happen
When trying to import from mlforecast.auto in a notebook I receive an ImportError: cannot import name '_get_model_name' from 'mlforecast.core'
Trying to reproduce the hyperparameter tuning guide (https://nixtlaverse.nixtla.io/mlforecast/docs/how-to-guides/hyperparameter_optimization.html#imports)
Versions / Dependencies
mlforecast is 0.13.0.
Reproduction script
import os
import tempfile
import lightgbm as lgb
import optuna
import pandas as pd
from datasetsforecast.m4 import M4, M4Evaluation, M4Info
from sklearn.linear_model import Ridge
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder
from utilsforecast.plotting import plot_series
from mlforecast import MLForecast
from mlforecast.auto import (
AutoLightGBM,
AutoMLForecast,
AutoModel,
AutoRidge,
ridge_space,
)
from mlforecast.lag_transforms import ExponentiallyWeightedMean, RollingMean
Issue Severity
High: It blocks me from completing my task.

Hey. How did you install the package? It's very unlikely that it has an incompatibility within itself, you may have mixed installs.

Hey. How did you install the package? It's very unlikely that it has an incompatibility within itself, you may have mixed installs.

Just installed with a normal "pip install mlforecast". I also did some test imports:
from mlforecast.core import _name_models
from mlforecast.core import Freq
Does not return an error, but
from mlforecast.core import _get_model_name
returns ImportError: cannot import name '_get_model_name' from 'mlforecast.core'

It's here https://github.com/Nixtla/mlforecast/blob/3eb62908cdb58d2c73684ecdb5f9c0aca767242b/mlforecast/core.py#L105
Is that the full error?

Yes, that's why I'm confused.
The full error, when running the import from  the tutorial is:
20
21 from . import MLForecast
---> 22 from .core import Freq, _get_model_name, _name_models
23 from .lag_transforms import ExponentiallyWeightedMean, RollingMean
24 from .optimization import _TrialToConfig, mlforecast_objective
ImportError: cannot import name '_get_model_name' from 'mlforecast.core' (/home//venv/lib/python3.10/site-packages/mlforecast/core.py)
I checked the core.py already, but no luck trying to import it.

Hmm, I'm not able to reproduce the issue. I just opened that notebook in colab, added %pip install datasetsforecast mlforecast as the top cell and ran all without a problem.

I've just had this same issue. v0.13.2

I had pre-installed AutoGluon, which had different package requirements. I did
! pip install --upgrade mlforecast
! pip install --upgrade utilsforecast

and now i can import properly


Feat/develop dashboard

Changes proposed in this PR:

added node dashboard made in nextJS

Pull the latest changes from origin develop to fix the tests

We also need to update the build process to include building this next.js app and including it in the express app.

Can you also please fix the linting issues, thanks


scripts/run_server.py --server=all broken in python=3.8.2

This used to work with 3.7, it's not used in prod but would be good to make sure this either works or is deprecated (preference for working).

Can you provide a traceback?

At least for me the error is,
Traceback (most recent call last):
I0415 18:03:27.733662<PHONE_NUMBER>03744 server.py:117] Access the backoffice at http://localhost:8890/bo/
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/rth/src/icubam/icubam/base_server.py", line 49, in run
    app.listen(self.port)
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/site-packages/tornado/web.py", line 2112, in listen
    server.listen(port, address)
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/site-packages/tornado/tcpserver.py", line 151, in listen
    sockets = bind_sockets(port, address=address)
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/site-packages/tornado/netutil.py", line 174, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 98] Address already in use
Process Process-2:
Traceback (most recent call last):
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1247, in _execute_context
    self.dialect.do_execute(
  File "/home/rth/miniconda3/envs/icubam/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 588, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: users.consent

OSError: [Errno 98] Address already in use

This looks like the same port was already used on the same host. Could it be that you have another instance of the server running?

sqlite3.OperationalError: no such column: users.consent

This looks like your DB is too old (before consent was stored). Could it be the case?
Did you confirm this still works with Python 3.7?

This looks like the same port was already used on the same host. Could it be that you have another instance of the server running?

Not sure what happened there, yes it was temporary and not reporoducible.

This looks like your DB is too old (before consent was stored). Could it be the case?

Well I can start www and backoffice service fine, but the messaging service does yield the above error.
The questions is what error @dulacarnold saw..

I get
Traceback (most recent call last):
  File "/Users/dulacarnold/Src/icubam/scripts/run_server.py", line 43, in <module>
    app.run(main)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "/Users/dulacarnold/Src/icubam/scripts/run_server.py", line 39, in main
    p.start()
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/context.py", line 283, in _Popen
    return Popen(process_obj)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/Users/dulacarnold/miniconda2/envs/icubam/lib/python3.8/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: 'NoneType' object is not callable```

I tried digging into it but couldn't quite figure out why, as the process_obj didn't seem to be None...


Add filter dropdowns and sort for alert page

Asana task: [Screenplay] Add primary filter dropdowns / sort
This PR adds filter dropdowns and enabled sorting of alerts by End time, either ascending (soonest end first) or descending (latest end first), and defaults to comparing alert start time when the End times are similar (for example if they are both null).
The filtering by mode or line works by leveraging the informed_entity field for Alerts data. If any of the informed entities in an alert match the Line or mode selected in the dropdown, it will be included in the result set. For Commuter Rail, Bus, and Ferry, we have some special handling to use the route_type field instead since those modes are not separated out by line in Screenplay.

Also, reminder to NOT merge this, though it may be tempting

@hannahpurcell reviving this one! I just added a commit that adds logic for filtering based on screen type which leverages (dummy) screens-by-alert data. I assume the logic will need to be revisited and tweaked once Jon's solution is fully implemented

Discussed with @cmaddox5 in a huddle and our changes only slightly overlap in the alert.ts model, but any merge conflicts should be pretty straightforward to resolve. Merging this PR into the alerts-feature branch!


A possible typo in scipy.stats.weightedtau

My issue is about a possible typo in line 4711 in file scipy/stats.py.
According to the SciPy documentation,

NaNs are considered the smallest possible score.

However, it seems that when there're NaNs in variable y, it would not be converted by __toint64() (unless x and y has different dtype).
Reproducing code example:

>>> from scipy import stats
>>> import numpy as np
>>> x = [12.0, 2.0, 1.0, 12.0, 2.0]
>>> y = [1.0, 4.0, 7.0, 1.0, 0.0]
>>> stats.weightedtau(x, y)
WeightedTauResult(correlation=-0.5669496815368272, pvalue=nan)
>>> y = [1.0, 4.0, 7.0, 1.0, np.nan]
>>> stats.weightedtau(x, y)
WeightedTauResult(correlation=-0.7722528001959581, pvalue=nan)

Scipy/Numpy/Python version information:

1.5.2 1.19.2 sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)

Fixed in #12955


Similar cards should skip orphans

Oprhan cards are often dupes of other cards

Also, have a 'orphaned' and 'not-orphaned' filter. Note that this doesn't work as naively expected because those cards don't actually exist in the all set (... also, isn't all misleading?)

Also search results should (by default), as should cards that link here

But do have a section that shows up in info panel only for admins that shows orphaned cards that link here, explicitly.

It's not skipping orphans--with #353 that will get more common. It's skipping cards that are dupes of other cards, or optionally raw cards, or whatever.

This is actually more general: it's "similar cards should be able to be intersected with an arbitrary filter", allowing us to have multiple similar card sections (e.g. "Raw cards", "Default" (content cards that are non-dupes))

Ideally the way this machinery would work is by having c/similar/CARD-ID work. That would allow a way to "see all" by opening a find dialog.
... That also implies a limit/n filter, that limits the results to the top n items

Configurable filters are currently passed func(card, cards) in their run. They could also take a third argument, nonce, which is an object that changes every run. Then in makeFilterFromConfigurableFilter it would create a new nonce right before iterating through each card. That would allow the configurable filter to detect when a new run had happened, and store state in its closure to count how many cards its seen. ... Although limit should only count cards that had already passed the other filters, and that approach would filter the raw set. Hmmm


Unclear how to create release builds suitable for time profiling

Where in the docs did you come across this?
time-profiling.md
Describe what about it does not make sense
npm run build-release and npm run build-debug are no longer used in the tutorial. Running them results in missing script errors.
$ npm run build-debug
npm ERR! missing script: build-debug

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/jake/.npm/_logs/2018-10-08T18_08_09_418Z-debug.log

$ cat /home/jake/.npm/_logs/2018-10-08T18_08_09_418Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node',
1 verbose cli   '/home/jake/.npm-global/bin/npm',
1 verbose cli   'run',
1 verbose cli   'build-debug' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose stack Error: missing script: build-debug
4 verbose stack     at run (/home/jake/.npm-global/lib/node_modules/npm/lib/run-script.js:155:19)
4 verbose stack     at /home/jake/.npm-global/lib/node_modules/npm/lib/run-script.js:63:5
4 verbose stack     at /home/jake/.npm-global/lib/node_modules/npm/node_modules/read-package-json/read-json.js:115:5
4 verbose stack     at /home/jake/.npm-global/lib/node_modules/npm/node_modules/read-package-json/read-json.js:418:5
4 verbose stack     at handleExists (/home/jake/.npm-global/lib/node_modules/npm/node_modules/read-package-json/read-json.js:382:20)
4 verbose stack     at fs.stat (/home/jake/.npm-global/lib/node_modules/npm/node_modules/read-package-json/read-json.js:390:33)
4 verbose stack     at /home/jake/.npm-global/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
4 verbose stack     at FSReqWrap.oncomplete (fs.js:155:5)
5 verbose cwd /home/jake/s/1/tutorial/rust/wasm-game-of-life/www
6 verbose Linux 4.15.0-36-generic
7 verbose argv "/usr/bin/node" "/home/jake/.npm-global/bin/npm" "run" "build-debug"
8 verbose node v10.11.0
9 verbose npm  v6.4.1
10 error missing script: build-debug
11 verbose exit [ 1, true ]

Why does it not make sense?
hello-world.md used to refer to these scripts, but were removed when switching to wasm-pack.
As this is written, the only mention of npm run build* is in time-profiling.md:
rustwasm-book$ rg "npm run build"
src/game-of-life/time-profiling.md
7:> project template, that means using `npm run build-release` instead of `npm run

How could we improve it?
Clarify how to make a release build suitable for time profiling, and ensure the method is consistent with the rest of the tutorial.

Woops, this is left over from an old iteration of the book -- fix incoming!


HDDS-7984. [Snapshot] Store Ozone keys ever renamed in renamedKeyTable for efficient lookup in SnapshotDeletingService

What changes were proposed in this pull request?
When keys are renamed in between snapshots, it is inefficient to find the renamed keys in the previous snapshot keyTable, This is because the TableKey for the renamed key has changed and it becomes impossible to find if the renamed key existed in the previous snapshot's keyTable since there is no way to index the keys with respect to objectID.
This patch proposes to add a new column family renamedKeyTable (objectID --> RenamedKeys) to store this information.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7984
How was this patch tested?
The patch was tested using Unit tests and CI

Thanks @smengcl and @prashantpogde, I have updated the PR with the suggestions. Please take a look at it.


Recover API numbers and include in chart

Hello everyone,
I am needing in my application to perform the query on an API that returns numbers and transform into graphics.
Does any developer know how I can do this in a simple way?

Hi,
May I ask you tell it more clearly?

This issue will be closed tomorrow If I don't receive any answer.

I solved the problem, thanks!


Refactor data handling

Resolves se-passau/VaRA#608
Resolves se-passau/VaRA#550
Open TODOs:

[ ] compress cache files (gzip/xz/etc.)
[ ] check if other plots can use this infrastructure
[ ] write docs

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/cache_helper.py  2
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/databases/database.py  7

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1

Clones removed
==============
+ varats/plots/blame_lorenz_curve.py  -1
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/commit_interactions.py  -2

See the complete overview on Codacy

Any resolution on the database name issue?

I kind of settled with this for now; couldn't find anything better. Maybe DataAccess?

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 4

Complexity increasing per file
==============================
- varats/data/cache_helper.py  2
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/database.py  7
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1

Clones removed
==============
+ varats/plots/blame_lorenz_curve.py  -1
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/commit_interactions.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- varats/data/databases/database.py  7
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/commit_interaction_database.py  1
- varats/data/cache_helper.py  2

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/commit_interaction_database.py  1

Clones removed
==============
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/blame_lorenz_curve.py  -1
+ varats/plots/commit_interactions.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/database.py  7
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/cache_helper.py  2

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1

Clones removed
==============
+ varats/plots/commit_interactions.py  -2
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/blame_lorenz_curve.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- varats/data/databases/blame_interaction_database.py  1
- varats/data/cache_helper.py  2
- varats/data/databases/database.py  7
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/databases/commit_interaction_database.py  1

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/databases/commit_interaction_database.py  1

Clones removed
==============
+ varats/plots/commit_interactions.py  -2
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/blame_lorenz_curve.py  -1

See the complete overview on Codacy

Any resolution on the database name issue?

I kind of settled with this for now; couldn't find anything better. Maybe DataAccess?

Or just add a prefix like: AnalysisDatabase, ReportDatabase or EvaluationDatabase
I pers. like EvalDatabase or EvaluationDatabase

One more thing, please switch the asserts with raise AssertionError so we also have for release version

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- varats/data/cache_helper.py  2
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/evaluationdatabase.py  5
- varats/data/databases/blame_interaction_degree_database.py  1

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1

Clones removed
==============
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/blame_lorenz_curve.py  -1
+ varats/plots/commit_interactions.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/data/cache_helper.py  2
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/evaluationdatabase.py  5
- varats/data/databases/blame_interaction_degree_database.py  1

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1
- varats/data/databases/blame_interaction_degree_database.py  1

Clones removed
==============
+ varats/plots/blame_lorenz_curve.py  -1
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/commit_interactions.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/data/databases/evaluationdatabase.py  5
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/cache_helper.py  2
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1

Complexity decreasing per file
==============================
+ varats/plots/commit_interactions.py  -4

Clones added
============
- varats/data/databases/blame_interaction_degree_database.py  1
- varats/data/databases/commit_interaction_database.py  1
- varats/data/databases/blame_interaction_database.py  1

Clones removed
==============
+ varats/plots/commit_interactions.py  -2
+ varats/plots/blame_interaction_degree.py  -1
+ varats/plots/blame_lorenz_curve.py  -1

See the complete overview on Codacy


Migrate to venomx metadata

Per convo with @caufieldjh @iQuxLE et al, change curategpt to use venomx for metadata

@cmungall - what are you thoughts?
It seems like it'd make sense to align with venomx, since most (all?) of the metadata is going to dataset and embedding-related

venomx assumes each indexed object has a unique id
curategpt doesn't make any assumptions about indexed objects, it can be any json obj / python dict.
some wrappers (e.g. ontology have a primary key)
but others like the maxoa wrapper return associations, which don't have a natural primary key
some options are

relax the venomx model so that objects don't require a PK
force everything in curgpt to have an ID, autogenerating if it doesn't exist

But I don't think either of these are ideal
I think it's best if we say the mapping is to vx is only supported if the collection declares an identifier field
https://github.com/monarch-initiative/curate-gpt/blob/main/src/curate_gpt/store/db_adapter.py#L342-L353

venomx assumes each indexed object has a unique id

Than it actually works well with DuckDB as this also wants unique ids for each indexed object.
ChromaDB does not necessarily need this.
I kind of like the idea 2.

force everything in curgpt to have an ID, autogenerating if it doesn't exist

Just a thought:
Can we use a UUID feature for this problem? For DuckDB this would mean a seperate column, in chromaDB I think it is already implemented.

I kind of like 2) also. For collections that have IDs it works fine, and for those that do not have IDs, it doesn't seem like it hurts anything. Maybe we can mint them using a hash function of all the fields?
def make_md5_id(data):
    # Concatenate data fields into a single string
    concatenated_data = f"{data['field1']}|{data['field2']}|{data['field3']}"

    # Create an MD5 hash
    id_hash = hashlib.md5(concatenated_data.encode()).hexdigest()

    return id_hash
```

(or is that too slow)

I'm hesitant to include autogenerated identifiers if the process is opaque to users, i.e., if it's just made by CurateGPT for purposes of fitting the metadata model, then it isn't clear whether the ID refers to the some original source or the newly created data (though in this case it will be the latter). It works in the KGs because most edges don't start with IDs but in this setting there's likely to be a mishmash of different sources with and without IDs, plus the newly generated things.
Perhaps a user-defined toggle for ID generation would work.


Auto Generate PRs for BCD

We want to be able to generate PRs based on what the update script has done. How should we do this? For example, how should we auto generate a PR for new FireFox releases/changes between major Firefox versions?
Opening this issue here to allow folks especially @Elchi3 @queengooborg  @foolip to begin thinking about this ahead of next Tuesday’s (03/10/2023) meeting.
cc @jugglinmike @mariestaver @mzgoddard

This project is already being tracked as an Open Web Docs project -- see https://github.com/openwebdocs/project/issues/168.


fix(python): add driver -> driver manager dependency

Fixes #307.

Might be missing the overall point of using no-deps here but the current issue only appears at runtime, which I don't think this would change? Or is the goal here just to be more explicit about there being a dependency while still leaving it up to the user to manually install things? @jorisvandenbossche

Hmm, which part of the docs are you looking at specifically then?
What this will do is when you pip install adbc-driver-postgresql it will also download and install adbc-driver-manager for you. Or was the issue that the docs didn't specify that you need to also build and install the driver manager manually for local development?

Ah OK I see what you are doing here with the scripts. In the issue I was mainly referring to the README instructions for how to install the postgres driver
https://github.com/apache/arrow-adbc/tree/main/python/adbc_driver_postgresql
As far as the scripts go this seems fine, though when following the README  pip install .  from the adbc_driver_postgresql folder would still grab the potentially incompatible adbc_driver_manager from pypi. Adding pip install . --no-deps doesn't fetch it from pypi, but still up to the user to build / install that the driver package separately (?) otherwise will get ModuleNotFoundError: No module named 'adbc_driver_manager'

In any case I still think worth doing what you have here - so lgtm

Thanks, I updated the READMEs as well.


Ubuntu build issues & README proposal

I'm still getting a grasp of Linux, so trying to follow the instructions verbatim caused me some issues. I finally found a fix, and would request a change to the README install instructions, since I believe it's out of date.
git clone --branch 3.0.4 --recursive https://github.com/jaagr/polybar
This caused me some build issues, running branch 3.0.4 is outdated and does include the 'example' polybar config. Just cloning the latest version fixed this for me.
The command
sudo apt install cmake cmake-data libcairo2-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-randr0-dev libxcb-util0-dev libxcb-xkb-dev pkg-config python-xcbgen xcb-proto libxcb-xrm-dev i3-wm libasound2-dev libmpdclient-dev libiw-dev libcurl4-openssl-dev
fixed all the dependencies for me, and I think most people would benefit from this. Yet, it's hidden away on the wiki page. I propose this also get moved to the README.

[...] Just cloning the latest version fixed this for me.

I will create a new release tag to bump the version to 3.1.0 to fix the out-of-date tag.

[...] Yet, it's hidden away on the wiki page. I propose this also get moved to the README.

I prefer having the distro specific build instructions on the wiki since it's writeable by everyone, so you could just edit it yourself and add the missing packages. A move to the README would require a pull-request merge for every change.


Command Weird Scroll Issue

https://github.com/shadcn-ui/ui/assets/138498695/245063d6-889e-4387-8ee5-13d8ca5b3e4d
https://v2.feds.lol/dash/biolink/manage/socials

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Reapply the change from #97

..which was lost somewhere in the schema updates.

Any chance that you can add a test so that this can't break in the same way in the future?

@bdash is this ok?

👍
Please squash down to one commit prior to merging.


Create attendee - dissemination mapping

Every farmer/attendee can belong to one or more dissemination. Define the schema to support this relation.
Refer
https://github.com/Scaler-Community-Projects/NGO-Farmer-Analysis/wiki/Dissemination-Form

Hi @ritesh-pandey . Added a table named dissemination_attendee_mapping which contains references to farmer,question and adoption. The schema is updated. Does this look good?
Also please assign the issue to me, I am unable to assign it to myself.

Hi @ritesh-pandey . Added a table named dissemination_attendee_mapping which contains references to farmer,question and adoption. The schema is updated. Does this look good?
Also please assign the issue to me, I am unable to assign it to myself.

Pankaj could you please list the table fields?

Hi @ritesh-pandey . Added a table named dissemination_attendee_mapping which contains references to farmer,question and adoption. The schema is updated. Does this look good?
Also please assign the issue to me, I am unable to assign it to myself.

Pankaj could you please list the table fields?

Following are the fields in the dissemination_attendee_mapping  table.
event_id(PK)
farmer_id  (FK)
question_id (FK)
adoption_id(FK)
dissemination_id(FK)
Also the schema is the PR #59 has updated schema which could be of help.

closing this issue as the PR is merged.


When trying to download a single track (happened with most of them) I get this error

I used all the steps mentioned here https://www.youtube.com/watch?v=b0U6q2lGHD8 (read the steps in the description under the video) downloading playlist works fine (although some songs dont download for some reason)
If I try to download a single track by getting its 21symbol "id" from spotify webplayer by entering this to my console
sudo spotify-ripper -u myspotifyusernamehere spotify:track:5VyPKrrpiLVwcvBAtQnbm2
I get this error and I get it with any track I tried to download. (I have premium and as said the playlists mostly download fine.. the last 130 track play-list i downloaded had successfully downloaded 126 tracks)
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/dist-packages/spotify_ripper-2.9.1-py2.7.egg/spotify_ripper/ripper.py", line 232, in run
    audio_file = self.format_track_path(idx, track)
  File "/usr/local/lib/python2.7/dist-packages/spotify_ripper-2.9.1-py2.7.egg/spotify_ripper/ripper.py", line 604, in format_track_path
    track.load()
  File "/usr/local/lib/python2.7/dist-packages/pyspotify-2.0.5-py2.7-linux-x86_64.egg/spotify/track.py", line 81, in load
    return utils.load(self._session, self, timeout=timeout)
  File "/usr/local/lib/python2.7/dist-packages/pyspotify-2.0.5-py2.7-linux-x86_64.egg/spotify/utils.py", line 242, in load
    _check_error(obj)
  File "/usr/local/lib/python2.7/dist-packages/pyspotify-2.0.5-py2.7-linux-x86_64.egg/spotify/utils.py", line 206, in _check_error
    error_type, ignores=[spotify.ErrorType.IS_LOADING])
  File "/usr/local/lib/python2.7/dist-packages/pyspotify-2.0.5-py2.7-linux-x86_64.egg/spotify/error.py", line 31, in maybe_raise
    raise LibError(error_type)
LibError: General permanent error

What OS are you using?


Necrosis Unholy Blight and Wandering Plague have damage modifiers applied to them.

Describe the bug
A clear and concise description of what the bug is.
Necrosis Unholy Blight and Wandering Plague have damage modifiers applied to them.
To Reproduce
Steps to reproduce the behavior:
Check the damage calculation in the log section of the sim and see that the base damage of those abilities is being modified.
Expected behavior
They should not interact with modfiers as the attack theyre generating the base damage from already interacted with them. This is according to what we know from retail and current beta behaviour
Sim Links and Screenshots
https://wowsims.github.io/wotlk/deathknight/#eJztUk0oRFEUfue8hzc3o0vKNaXGrKSm7nuPYjWPrY2ysWRhsrCQbFgNK7GwUEKRpZJSSjN+shjFbMyUMZOfJKIRYiklzp0Za5tZWPhu3c75vu9+53bfYw0mShyEYYgArAFsAqQAcgDvgCnETu5HCS70kmEqb6jBNvAtl01CefdQ/9jAiOnhzHcAjPOHLIrkNQbKt+OY+UJm8IkYMi9/2UNxRLy+kkBm8tNdFNFLVAdISF7RARL2osiq+DRpx+d6wKBWoz5HjuzGT1/JMzvkplolcf5M6sN6gTmJquzZfRS5DZ1Gz8TUBR631P66q/anpHJ8xlDcrOrFKnmplFlKZfQM3jboNnqN5mPU/lESjBsmCPyAOmYI+otqNJ+3uqC8hQT4YRqCQceWssVplQQ7aDtSOrSodWyrlSRpUW05lkOkdQvCXE4jf75HMZ9G/0IamxbOUC6eYQ6MN6hYAu0CtMCc7slPiYTd4rxat35pUSERai8wqVBjOI9MyL5Df4/AP/vhR91SpEQSh7/kdJVkjkLhjafibkeRcPvgG8JCf/M=
[0.40] [Player (#1)] Casting Attack (Off Hand) (Cast time = 0.00s, Cost = 0.0).[
0.40] [Player (#1)] [Target 1] {OtherID: 3, Tag: 2} [DEBUG] BaseDamage:931.5, AfterAttackerMods:1122.6, AfterResistances:699.7, AfterTargetMods:727.6, AfterOutcome:1498.9
[0.40] [Player (#1)] Attack (Off Hand) Crit Target 1 for 1498.95. (1199.16 Threat)[0.40] [Player (#1)] Aura refreshed: Fury of the Five Flights.
[0.40] [Player (#1)] Fury of the Five Flights stacks: 1 --> 2.[0.40] [Player (#1)] Casting Necrosis (Cast time = 0.00s, Cost = 0.0).[0.40] [Player (#1)] [Target 1] {SpellID: 51460} [DEBUG] BaseDamage:299.8, AfterAttackerMods:390.2, AfterResistances:390.2, AfterTargetMods:440.9, AfterOutcome:440.9
[0.40] [Player (#1)] Necrosis Hit Target 1 for 440.90. (352.72 Threat)
Its correctly passing the 1498.9 swing damage on as 299.8 base damage for necrosis however its then also affected by attacker and target mods, this is not the case in game, behaviour is the same on Unholy Blight and Wandering Plague.
Desktop (please complete the following information):
Win 10
Firefox

Fixed by #513


How to use ng2-completer with  Data Driven (Reactive) Form

I have following form which I use for validation. Now I want to use ng2-completer with this form. Is it possible?


More colorful file folder

Check for existing issues

[X] Completed

Describe the feature
All gray file tree sometimes is really bothering.
Maybe it can be polished that those file of less importance like config file (cargo.toml etc.) can be displayed in darker gray, and source code file (.rs .cpp etc.) can add a language icon to it? for example the Ferris for rust?
If applicable, add mockups / screenshots to help present your vision of the feature
this is my VSCode file icon screenshot

Looks like a duplicate of https://github.com/zed-industries/community/issues/206 ?

sorry for that

but, do post your screenshot there too, I prefer colourful icons as well


Quertion: Secrets update

Hi!
If the secret is updated on AKV the pods needs to be restarted t have that update or there is any automatic way to do it?
Thanks!

@tasb Thank you for opening an issue.
To enable update of the created Kubernetes secret and the mounted contents, we have introduced secret rotation alpha feature in Secrets Store CSI Driver v0.0.16.
Docs on how to enable secret rotation -
https://azure.github.io/secrets-store-csi-driver-provider-azure/configurations/enable-auto-rotation-secrets/

@tasb Did you get a chance to look at the docs and try out the feature?

Hi @aramase, thanks for your reply. Didn't got the chance yet.
I'll try during this week and give you some feedback.
Thanks!

@tasb Did you get a chance to try it out? Can we close this issue now?

Closing this issue now. Please feel free to open a new issue when you get a chance to try out and run into any issues.


Well done

Just popping in to say "well done" on this plugin. Best one I've found by far.

Nothing to execute


Populate course schedule

Figure out specific dates (or at least days of the week)

How many class periods are there Fall 2018?
Still need to decide on project frequency
Still need to decide on order of topics/tools


remove config toml file

Fixes

N/A

Proposed Changes

The TOML config file contents aren't important, so just use the template from cpg_utils

💯


Improve "Unsupported method 'virtual'" error message

Doing my first steps with TMT, this error message is not helpful at all and would deserve clarification:
$ tmt run
/var/tmp/tmt/run-030

/ci
Unsupported method 'virtual' in '/ci'.

I am tempted to leave it here without more details, because it is obvious what is going on, right :innocent:

$ rpm -qa tmt*
tmt-1.0-1.fc34.noarch

Please don't tell me that I should have installed tmt-provision-virtual. Update the error message instead to be helpful instead.

Or alternatively use the best method available, e.g. local

Hm, defaulting to local could be dangerous... I think we should improve the error message.

Hm, defaulting to local could be dangerous... I think we should improve the error message.

But can it pick anything except of the virtual, e.g. container?
Also, the local is not dangerous per se, because it needs root privileges (right?) and it could display big red warning that there were no better provisioner found, so that is the last, although dangerous option.

We can discuss if it would make sense to have some kind of a "dynamic" default in the future. I'm not completely sure about it. For now, I've improved the messaging so that it gives some useful hints:
> tmt run
/var/tmp/tmt/run-327

/plans/example
    hint: Install 'tmt-provision-virtual' to run tests in a virtual machine.
    hint: Use the 'local' method to execute tests directly on your localhost.
    hint: See 'tmt run provision --help' for all available provision options.
Unsupported provision method 'virtual' in '/plans/example'.

Also, the local is not dangerous per se, because it needs root privileges (right?)

Yes, that's right. But still, it can do a lot of things in your home ;-) And I remember the unpleasant surprise when standard-test-roles defaulted to run on localhost when the vm provisioning was not successful...

> tmt run
/var/tmp/tmt/run-327

/plans/example
    hint: Install 'tmt-provision-virtual' to run tests in a virtual machine.
    hint: Use the 'local' method to execute tests directly on your localhost.
    hint: See 'tmt run provision --help' for all available provision options.
Unsupported provision method 'virtual' in '/plans/example'.

It is better, but still, there is no virtual mentioned anywhere in my file, so that is what is confusing about this method. If there was visible where this comes from (e.g. some default template/configuration).

@voxik, do you suggest that tmt init or tmt plan create should explicitly include the default provision method when creating new plans? That would work fine. Except for the mini template which should be really minimal.

I got template from PR, so I am not sure that modifying tmt init or tmt plan create would help, if somebody deleted the statement.

If there was obvious the step from my ci.fmf to some fullyexpandedtemplatedusedtorunthetest.fmf, that is what would help.

Hmmm, perhaps tmt plan show -v could help here? It shows the default values for each step as well.

But I am looking for good UX. It is nice that there is command such as tmt plan show -v but the learning curve should not be that steep. I don't want to become expert on tmt, I just want to try the PR.

Understand, but I'm not sure how we can help here further. We can have some best practices for writing the very first pull requests which enable tmt tests so that they include something like this:
This pull request enables tests using tmt.

Run tests directly on your localhost:
sudo dnf install -y tmt
tmt run --all provision --how local

Run tests in a virtual machine:
sudo dnf install -y tmt-provision-virtual
tmt run

See also a couple of virtualization tips here:
https://tmt.readthedocs.io/en/latest/questions.html#virtualization-tips

Check the Quick Start Guide to get more detailed introduction:
https://docs.fedoraproject.org/en-US/ci/tmt/

Do you have any other suggestion how to make the first encounter with tmt even more intuitive?

$ tmt run
/var/tmp/tmt/run-030

/ci
Unsupported method 'virtual' in '/ci'.

This was my initial attempt. Let me comment it.

/var/tmp/tmt/run-030
There is not much explanation, but well, it mentions /var/tmp so I might guess that this is some temporary directory. But if there was Working directory: /var/tmp/tmt/run-030 it would give me more clue.

/ci
This is first magical thing. Ok, there is ci.fmf in my directory, but why it mentions /ci instead? If ti said ci.fmf I would understand what is going on. If it mentioned, what it does with the file, that would be even better.

Unsupported method 'virtual' in '/ci'.
If it said something like "'virtual' provisioner required to setup test environment for 'ci.fmf' is not available. Please choose different one using provision -h <provisioner>" that would be probably OKish. It does not need to go into installation business, because it it out of tmt scope on the first place. Being cmdline user, one can probably guess there is something like --help command or man page, which could provide more details. But in the current output, there is too much magic.

Thanks much for providing detailed feedback. Yeah, some output might be confusing at the first sight. On the other hand we try to make it also concise which brings value for actual test execution. And that happens many many times comparing with the first encounter. I've updated the #406 pull request to also explicitly mention that the /ci is a plan. We can address other improvements in separate issues.


AWS Control Tower Workshop broken link

There are a few broken links on the documentation page - https://github.com/aws-samples/aft-workshop-sample.
I want to thank you for creating such a great Control Tower Documentation. However, all of a sudden the link is broken, and not able to access it anymore.
Broken Link:
https://controltower.aws-management.tools/automation/
https://controltower.aws-management.tools/

Created pull request to address #26

Merged


Update logger

Fancy colored logs and a new way to initialize tests!

Codecov Report

Merging #40 into master will decrease coverage by 2.61%.
The diff coverage is 38.29%.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
- Coverage   56.35%   53.73%   -2.62%
==========================================
  Files          15       15
  Lines         543      562      +19
==========================================
- Hits          306      302       -4
- Misses        221      244      +23
  Partials       16       16

Impacted Files
Coverage Δ

dispatcher.go
67.39% <0%> (-0.7%)
:arrow_down:

client.go
3.88% <0%> (+0.03%)
:arrow_up:

server.go
0% <0%> (ø)
:arrow_up:

broadcaster.go
68.57% <100%> (ø)
:arrow_up:

session.go
86.81% <100%> (+0.44%)
:arrow_up:

request.go
72.72% <100%> (-27.28%)
:arrow_down:

middleware.go
32.35% <14.28%> (-4.32%)
:arrow_down:

app.go
11.76% <22.22%> (+11.76%)
:arrow_up:

cache.go
64.86% <50%> (-0.77%)
:arrow_down:

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 7fcb28c...b70246a. Read the comment docs.


how to output in stdout ?

thanks ~

Sorry, there's no way to do this. The point of outputting to $TMPDIR/q is to isolate just the debug log messages, because stdout is usually quite noisy with normal program output. Adding an stdout option would mean 1. adding a config file, 2. adding an env var, or 3. adding a q.Stdout() function. I don't want to do 1 or 2 because I want q to stay as a zero-configuration package. I might be persuaded to do 3 if there was a ton of support for it.
The good news is, if you add qq() and rmqq() to your shell config (e.g. .bash_profile), it makes it quite easy to read output from $TMPDIR/q.

Great idea!
thanks

I think user need simple to stdout ,can't you add a function direct to stdout
example
q.S() to stdout
q.Q() to $TMP


test(e2e): remove comment approval trigger

Fixes #
Description
Removing the CommentApproval workflow run option for now. Switching to manual trigger case. Will look at more improvements for dev flow as a follow up.
How was this change tested?
Nothing Additional
*
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

Release Note

NONE

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

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.702%

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
36313

Relevant Lines:
37167

💛  - Coveralls


[PUI] Raise translation/language support to CUI level

This PR raises the theoretical language support of PUI to CUI levels.
Closes #5729
### Changes
- [x] Add all CUI languages to PUI
- [x] Add translation stumps
- [x] Exclude locales from deepsource checks
- [x] Changes the language selction to use "full" language names

A question related to Crowdin, maybe you know @matmair - once we expose these new translations, will strings that have already been translated for the existing django interface be automatically translated? Or, will the community have to re-translate the same strings again?
If the second, perhaps we should write a script to scrape existing translations (where identical)

@SchrodingersGat I already transferred all translated strings into the new PO files. They should be automatically mapped by Crowdin during the import that way.

@matmair LGTM - happy to merge once checks pass

Maybe we need to document somewhere what needs to be changed to add one new language, as this are now 3 places as far as I can see.

Maybe we need to document somewhere what needs to be changed to add one new language, as this are now 3 places as far as I can see.

I think that should be an extra PR.

@SchrodingersGat is there anything else you would like to see implemented here?

Just tried out the netlify preview, getting some strange behaviour:

@matmair looks to be failing PUI build: https://app.netlify.com/sites/inventree-web-pui-preview/deploys/65360d6ce6ee7f0007f2a6f9

@SchrodingersGat it has proven difficult to get the language selection itself translateable. I would merge it in this state and get the language selector itself tackled later.

@matmair ok happy to merge. Sorry it looks like some conflicts from the translation merge have blocked this! If you can address, I'll merge ASAP

@SchrodingersGat issued a fix, should work now.


SPN login not working using 0.0.4

Hi,
I have a Azure AD enabled AKS cluster. I am trying non interactive login with a SP that has Cluster User role assigned to it. But when I execute via kubectl I get:
I0723 17:27:13.956018    6753 execCredentialPlugin.go:111] acquire new token
I0723 17:27:15.046242    6763 execCredentialPlugin.go:111] acquire new token
I0723 17:27:15.789685    6774 execCredentialPlugin.go:111] acquire new token
I0723 17:27:16.445092    6784 execCredentialPlugin.go:111] acquire new token
I0723 17:27:17.195349    6795 execCredentialPlugin.go:111] acquire new token
I0723 17:27:17.926715    6805 execCredentialPlugin.go:111] acquire new token
error: You must be logged in to the server (Unauthorized)
But if I use kubelogin get-token I get the token

do you use the new managed AAD or v1 AAD? SP is not supported on v1 AAD

my understanding based on offline conversation is that AADv1 cluster was used which is not supported as I stated earlier. closing the issue.


[Not ready] Add support for Bitlocker evidence

Tested locally with BitlockerGo image by running

turbiniactl -C bitlocker -e /evidence/incoming/test.dd -r [recovery key]
turbiniactl -C bitlocker -e /evidence/incoming/test.dd -p [password]

It is inefficient because Turbinia decrypts the disk as preprocess for every task. I will fix this in the next commit.

Thanks for the PR!  Let me know if you want me to review as is, or if I should wait until you do some investigation into the FUSE side of things.

Yes, I am implementing a FUSE integration right now - until that's completed, there is no need for review. I will rebase this once #349 is accepted, then will let you know once it's ready.

I'm going to close this PR for now, but we can re-open if/when there are updates.  Thanks!


How do I reset/change remembered configurations?

I have a bunch of configured servers in redis-commander and recently, most of them were decommissioned.  How do I remove them so that redis commander doesn't error out trying to connect?
Redis error Error: Redis connection to squawfish.redistogo.com:9754 failed - connect ECONNREFUSED
at RedisClient.on_error (/usr/local/lib/node_modules/redis-commander/node_modules/redis/index.js:149:24)
at Socket. (/usr/local/lib/node_modules/redis-commander/node_modules/redis/index.js:83:14)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickCallback (node.js:415:13)
Redis error Error: Redis connection to barreleye.redistogo.com:9985 failed - connect ECONNREFUSED
at RedisClient.on_error (/usr/local/lib/node_modules/redis-commander/node_modules/redis/index.js:149:24)
at Socket. (/usr/local/lib/node_modules/redis-commander/node_modules/redis/index.js:83:14)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickCallback (node.js:415:13)

Deleting the .redis-commander file did the trick for me!

The feature requested is available with latest version. There is a cli param to start redis commander with "--clear-config" which removes all server connections configured. Additionally disconnection from servers via the UI is available too.
If there is something missing at the implementation feel free to reopen issue with an updated description.


Fix: Both backend and frontend of donor's signin/login page

Description

Create a sign-in/login page for donors.
Add it to the existing route.

Screenshots
No response
Additional information
No response

If I create only front-end will it do?

If I only create the front-end , will it do?

Every contribution countd

Sorry what? I didn't get it

So what input fields do uall need in all the 3 registration pages? Like name , age, etc etc.
Do ya'll want all the three on separate pages or want it in a single page as a dropdown? so that people can select registration type from the same page.

@Vansh-Baghel it's already been fixed. I'll close this issue as soon as I make the PR. If you want to work on front end wait let me tag you on another issue.

Oh ok! How can I know that an issue has been fixed or not? Like I am new at contributing so need to understand

Well usually the issue is closed as soon as it's resolved but in cases like this you can only know when you ask for assigning the issue to you.


Add links to unlabeled issues to the contribution guide

If you rebase with major this should pass.

@chasenlehara ^^

Coverage remained the same at 96.396% when pulling 5cf54d0e55df5ff1ba311c1b07425eadb2a71e95 on major-unlabeled-issues into 7d051fed0fae96ad3b59fd728355ed936ec52953 on master.


Dockerfile update

Updating the Dockerfile to remove dtc compiler and add chip-dt-overlays apk due to CHIP_IO no longer requiring the dtc compiler as a build dependency.
chip-dt-overlays is required now due to CHIP_IO.OverlayManager using NTC dtbo files as they were way better than mine.

So I just tried running this @zerotri and it failed out on trying to find chip-dt-overlays.
Do you want me to remove that line?

Just fixed the Dockerfile for this PR so that it won't fail when building.


Look into using an ad-hoc network

Hey, this is Adam from ZeroTier!
You might look into an ad-hoc network for this use case:
https://www.zerotier.com/manual.shtml#2_2_6
It would be faster and eliminate a dependency on our operation of the "Earth" public network in case we take this away at any point in the future. (No plans to do so, but it's technically just a test network.)

Hi Adam, good to hear from you!
Yes, Im aware of ad-hoc networks. Currently using earth to get quick feedbacks about the tool.
Will move to ad-hoc networks soon. Thanks!

Once you're a bit further along we're going to link, tweet, etc. this project and give you some visibility. :beers:

You should also be getting contacted by Joseph Henry, who is the lead on the SDK project.


perf(context): skip expensive computation of Event.composedPath()

While profiling some Lit components we noticed that Event#composedPath() is in the hot path and that the browser spents a significant amount of time computing it.
For a particular use case (initial render of hundreds of components), ~29% of the time is spent in this function alone. ~A slight change to the bail out logic reduces this to ~17% (basically don't call it unless absolutely necessary). Keeping manual track of the original source of the event reduces this overhead completely.
Furthermore, this will also slightly reduce memory usage and time spent in garbage collection (for the same use case, Firefox Profiler shows a reduction in memory allocated by this function from ~998KB to ~511KB with the bailout logic and the complete elimination of this allocations with the manual tracking of the source of the event).
While this change is unlikely to make a difference for most consumers, it should slightly reduce the overhead of event dispatching, which seems to be non-trivial when lots of components that are both providers and consumers are present in the DOM.
Note that the prospect of Event#composedPath() being a potential performance bottleneck was raised in https://github.com/lit/lit/pull/2858#discussion_r873855309, where it was correctly dismissed. But https://github.com/lit/lit/pull/4014 reworked the implementation, and the original dismissal reason ("[...] is limited to host that consume and provide the same context, so it's not called on all events") no longer applies.

It would be great to add a benchmark test (in the benchmarks package) that validates this change.
Also, it might be worth considering supporting an optional rootElement on these events, with the idea that this would be purely an implementation detail to facilitate optimization.

@sorin-davidoi thanks for finding this!
Did you see the same perf hit on all browsers?

While this can effect all events, for sure, for initial render bound events (like context-request) would it be useful to submit an addition to the Context Protocol that included the composedTarget on the custom event so that the path does not need to be computed to complete the workflow proposed by the protocol?

Not squatting is a good call! I'm just looking to make sure this (and any of the other learnings this implementation has had) get brought back to the protocol. 🙏🏼

Did you see the same perf hit on all browsers?

Saw it in Chrome as well, didn't check WebKit-based browsers.

If you're up to it I do think it'd be better to put a contextTarget property on ContextEvent. I suspect that a majority of context use is with consumers in the shadow root of the provider, so this small addition check here won't help them that much, while contextTarget could eliminate the composed path check for all Lit-to-Lit context scenarios.

I gave it a shot, not entirely sure I've made the right changes though.

@justinfagnani Can you perhaps trigger the CI? The context tests are passing for me locally but some of the others are timing out (also on main, so probably related to my setup and not the changes).

@justinfagnani Can you perhaps trigger the CI? The context tests are passing for me locally but some of the others are timing out (also on main, so probably related to my setup and not the changes).

I don't have the usual button available to start the CI? It could be the length of time since the last changes? If you push new changes for my comments, I think I'll be able to again.

What incantation is needed to get a Tachometer Benchmark Results like this one?

What incantation is needed to get a Tachometer Benchmark Results like this one?

I'm not sure why PR doesn't have that comment but the benchmarks only test the core lit-html, reactive-element, and lit-element packages so they won't give us any insight for the changes here.


Make build error

Short summary about the issue/question:
I am doing kubeflow local file module, but when i make build,  an error :
# Building NNI Manager
cd src/nni_manager && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn build
yarn install v1.12.1
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
[4/5] 🔗  Linking dependencies...
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>[5/5] 📃  Building fresh packages...
✨  Done in 6.21s.
yarn run v1.12.1
$ tsc
training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:34 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                     ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:35 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                      ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:40 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                           ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:474:1 - error TS1160: Unterminated template literal.

474

Found 4 errors.

error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [build] Error 1

But i didn`t change the code here.
Brief what process you are following:

How to reproduce it:

nni Environment:

nni version: master
nni mode(local|pai|remote):
OS: macos
python version:
is conda or virtualenv used?:
is running in docker?:

need to update document(yes/no):
Anything else we need to know:
@yds05 @QuanluZhang

Could you check the version of your tsc? Upgrading tsc may fix this problem.

@QuanluZhang My tsc version is
$ tsc -v
Version 3.4.5

@chicm-ms Anybody help me.

@xieydd  Have you run make install-dependencies successfully?  if it succeeded, node v10.13.0 should be downloaded into your /tmp/$(USER)  directory and then extracted to bin under
python3 -c 'import site; from pathlib import Path; print(Path(site.getusersitepackages()).parents[2])'

(you can check Makefile for the logic)  it will be used for later make build
Would you please check your environment and ensure the downloaded node is used for make build?

Yep, i have run make install-dependencies
 make install-dependencies
# Extracting Node.js
rm -rf /tmp/xieyuandong/nni-node-darwin-x64
mkdir /tmp/xieyuandong/nni-node-darwin-x64
tar -xf /tmp/xieyuandong/nni-node-darwin-x64.tar.xz -C /tmp/xieyuandong/nni-node-darwin-x64 --strip-components 1
mkdir -p /Users/xieyuandong/Library/Python/3.7/bin
rm -f /Users/xieyuandong/Library/Python/3.7/bin/node
cp /tmp/xieyuandong/nni-node-darwin-x64/bin/node /Users/xieyuandong/Library/Python/3.7/bin/node
# Extracting Yarn
rm -rf /tmp/xieyuandong/nni-yarn
mkdir /tmp/xieyuandong/nni-yarn
tar -xf /tmp/xieyuandong/nni-yarn.tar.gz -C /tmp/xieyuandong/nni-yarn --strip-components 1

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [22:48:29]
$ make build
# Building NNI Manager
cd src/nni_manager && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn build
yarn install v1.12.1
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.30s.
yarn run v1.12.1
$ tsc
training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:34 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                     ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:35 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                      ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:40 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                           ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:474:1 - error TS1160: Unterminated template literal.

474

Found 4 errors.

error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [build] Error 1

And when i run import site; from pathlib import Path; print(Path(site.getusersitepackages()).parents[2])', i got this:
$ python3 -c 'import site; from pathlib import Path; print(Path(site.getusersitepackages()).parents[2])'
/Users/xieyuandong/Library/Python/3.7

Then you can run /Users/xieyuandong/Library/Python/3.7/bin/node -v to check node version, if it is v10.13.0 ,  probably the node v12.1.0  in your environment is used during make build, you can try to uninstall the v12.1.0 if it is OK for you, or remove v12.1.0 from your PATH when you build nni.

@chicm-ms   I remove the node from, /usr/local/bin/node. And i copy the node from /Users/xieyuandong/Library/Python/3.7/bin/node. But Same error:
$ node -v
v10.13.0

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [10:26:51]
$ make build
# Building NNI Manager
cd src/nni_manager && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn build
yarn install v1.12.1
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.30s.
yarn run v1.12.1
$ tsc
training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:34 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                     ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:35 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                      ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:40 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                           ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:474:1 - error TS1160: Unterminated template literal.

474

Found 4 errors.

error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [build] Error 1

@xieydd  Then the problem could be on tsc version,  you can check  /tmp/xieyuandong/nni-node-darwin-x64/bin/,  there should be node and npm,  you can try firstly uninstall your current tsc (npm uninstall -g typescript),  then use /tmp/xieyuandong/nni-node-darwin-x64/bin/npm install -g typescript to install tsc,  then check tsc version again.

@chicm-ms I am sorry , not work.
$ /tmp/xieyuandong/nni-node-darwin-x64/bin/npm uninstall -g typescript
up to date in 0.031s

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [16:37:25]
$ npm uninstall -g typescript
up to date in 0.033s

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [16:37:39]
$ node -v
v10.13.0

$ which node
/usr/local/bin/node

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [16:38:06]
$ rm -rf /tmp/xieyuandong/*
zsh: sure you want to delete all 4 files in /tmp/xieyuandong [yn]? y

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [16:38:27]
$ make install-dependencies
# Downloading Node.js
wget https://aka.ms/nni/nodejs-download/darwin -O /tmp/xieyuandong/nni-node-darwin-x64.tar.xz
--2019-05-08 16:38:35--  https://aka.ms/nni/nodejs-download/darwin
正在连接 <IP_ADDRESS>:8123... 已连接。
已发出 Proxy 请求，正在等待回应... 301 Moved Permanently
位置：http://nodejs.org/dist/v10.13.0/node-v10.13.0-darwin-x64.tar.xz [跟随至新的 URL]
--2019-05-08 16:38:36--  http://nodejs.org/dist/v10.13.0/node-v10.13.0-darwin-x64.tar.xz
正在连接 <IP_ADDRESS>:8123... 已连接。
已发出 Proxy 请求，正在等待回应... 200 OK
长度：11079660 (11M) [application/x-xz]
正在保存至: “/tmp/xieyuandong/nni-node-darwin-x64.tar.xz”

/tmp/xieyuandong/nni-node-darwin-x64.tar.xz        100%[================================================================================================================>]  10.57M  8.62MB/s  用时 1.2s

2019-05-08 16:38:38 (8.62 MB/s) - 已保存 “/tmp/xieyuandong/nni-node-darwin-x64.tar.xz” [11079660/11079660])

# Downloading Yarn
wget https://aka.ms/yarn-download -O /tmp/xieyuandong/nni-yarn.tar.gz
--2019-05-08 16:38:38--  https://aka.ms/yarn-download
正在连接 <IP_ADDRESS>:8123... 已连接。
已发出 Proxy 请求，正在等待回应... 301 Moved Permanently
位置：https://github.com/yarnpkg/yarn/releases/download/v1.12.1/yarn-v1.12.1.tar.gz [跟随至新的 URL]
--2019-05-08 16:38:39--  https://github.com/yarnpkg/yarn/releases/download/v1.12.1/yarn-v1.12.1.tar.gz
正在连接 <IP_ADDRESS>:8123... 已连接。
已发出 Proxy 请求，正在等待回应... 302 Found
位置：https://github-production-release-asset-2e65be.s3.amazonaws.com/49970642/28780d00-d772-11e8-8ed7-5f6bbc347e03?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190508%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190508T083840Z&X-Amz-Expires=300&X-Amz-Signature=dfc70963844bc8d2cac8453a230d34f4c0b110bf853b7fd0f7f4c11b646e82e8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dyarn-v1.12.1.tar.gz&response-content-type=application%2Foctet-stream [跟随至新的 URL]
--2019-05-08 16:38:40--  https://github-production-release-asset-2e65be.s3.amazonaws.com/49970642/28780d00-d772-11e8-8ed7-5f6bbc347e03?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190508%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190508T083840Z&X-Amz-Expires=300&X-Amz-Signature=dfc70963844bc8d2cac8453a230d34f4c0b110bf853b7fd0f7f4c11b646e82e8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dyarn-v1.12.1.tar.gz&response-content-type=application%2Foctet-stream
正在连接 <IP_ADDRESS>:8123... 已连接。
已发出 Proxy 请求，正在等待回应... 200 OK
长度：1150378 (1.1M) [application/octet-stream]
正在保存至: “/tmp/xieyuandong/nni-yarn.tar.gz”

/tmp/xieyuandong/nni-yarn.tar.gz                   100%[================================================================================================================>]   1.10M   223KB/s  用时 5.0s

2019-05-08 16:38:46 (223 KB/s) - 已保存 “/tmp/xieyuandong/nni-yarn.tar.gz” [1150378/1150378])

# Extracting Node.js
rm -rf /tmp/xieyuandong/nni-node-darwin-x64
mkdir /tmp/xieyuandong/nni-node-darwin-x64
tar -xf /tmp/xieyuandong/nni-node-darwin-x64.tar.xz -C /tmp/xieyuandong/nni-node-darwin-x64 --strip-components 1
mkdir -p /Users/xieyuandong/Library/Python/3.7/bin
rm -f /Users/xieyuandong/Library/Python/3.7/bin/node
cp /tmp/xieyuandong/nni-node-darwin-x64/bin/node /Users/xieyuandong/Library/Python/3.7/bin/node
# Extracting Yarn
rm -rf /tmp/xieyuandong/nni-yarn
mkdir /tmp/xieyuandong/nni-yarn
tar -xf /tmp/xieyuandong/nni-yarn.tar.gz -C /tmp/xieyuandong/nni-yarn --strip-components 1

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [16:38:48]
$ /tmp/xieyuandong/nni-node-darwin-x64/bin/npm install -g typescript
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
/usr/local/bin/tsserver -> /usr/local/lib/node_modules/typescript/bin/tsserver
+<EMAIL_ADDRESS>added 1 package from 1 contributor in 1.673s

# xieyuandong @ xieyuandongdeMacBook-Pro in ~/Workspace/nni on git:master x [16:39:01]
$ make build
# Building NNI Manager
cd src/nni_manager && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn && PATH=/Users/xieyuandong/Library/Python/3.7/bin:${PATH} /tmp/xieyuandong/nni-yarn/bin/yarn build
yarn install v1.12.1
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.30s.
yarn run v1.12.1
$ tsc
training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:34 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                     ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:35 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                      ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:429:40 - error TS1005: ',' expected.

429                 command: ["sh", `${path.join(trialWorkingFolder, runScriptFile)}`],
                                           ~

training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts:474:1 - error TS1160: Unterminated template literal.

474

Found 4 errors.

error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [build] Error 1

@chicm-ms Can you provided a image make environment?

@xieydd  We do not have image for make.
Can you ensure tsc is not available after uninstall typescript?
For further question, you can join gitter channel https://gitter.im/Microsoft/nni  to discuss with nni team and get faster response.
nni needs nodejs, yarn, tsc to build typescript code, these dependencies are downloaded  during build, however, if these tools are already on your system with different versions than that we tested, there could be problem building nni,  you need to ensure the existing installations of dependencies do not have impact on building.

ok, thx @chicm-ms , I have joined.

I write a Dockerfile , it works:
ROM ubuntu:16.04

RUN apt-get update -y && apt-get install -y wget python3 python3-pip curl
RUN cd && git clone https://github.com/Microsoft/nni.git
WORKDIR /nni/

RUN make install-dependencies
RUN make build && make dev-install
EXPOSE 8080
ENTRYPOINT ["/bin/bash"]


Relax DebugLine validation

In NonSemantic.Shader.DebugInfo.100, DebugLine validation should only check column end >= column start if line start == line end

See https://github.com/KhronosGroup/SPIRV-Registry/issues/302
cc @spencer-lunarg

awww, good catch, thanks for fixing


Library parameters on gcc invocation

Hi,
thanks for the tutorial, I'm enjoying it.
Just wanted to remark that I'm compiling the code on Ubuntu 16.04 and I couldn't get the compilation to work until I modified the gcc line to have all the library parameters after the source file, like below:
gcc -g -Wall -o build/hello_world 0_hello_world.c -lavformat -lavcodec -lswscale -lavutil -lz
Not sure what this means, I'm a total beginner on both C and ffmpeg.
Gianluca

Hi gianluca, thank you for your tip. I compiled the code on Ubuntu 18.04 with ffmpeg compiled from source (3.4.2) and I had to modify the Makefile line according to your suggestion, and I had to add the -lm -lpthread -ldl -lswresample switches in order to compile and run it.

with ffmpeg compiled from source (3.4.2)

Out of curiosity, is there any reason why you do not use 4.0?

Hi @leandromoreira , I tried the make run_hello command and the docker image executes smoothly, nice job.
Although I guess going through the pain of compilation is part of the process of learning ffmpeg :)


PermissionsAndroid request returns "never_ask_again" on popup dismiss

Description
On Android 11, dismissing the request permission popup by tapping outside of it or by pressing the hardware back button will result on a never_ask_again answer even if the permission is still requestable (it actually should be equal to denied then).
On this version, the "Never ask again" checkbox disappear. The user have to press "Deny" twice to achieve the same effect. See https://developer.android.com/about/versions/11/privacy/permissions#dialog-visibility.
PS: Dismissing the popup isn't the same as pressing the "Deny" button, since requesting the permission is possible after multiple (2+) popup dimiss.
I made a GIF to illustrate the issue:

React Native version:
System:
    OS: macOS 10.15.7
    CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
    Memory: 2.07 GB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.8.0
    Yarn: 1.22.5
    npm: 6.14.8
    Watchman: 4.9.0
  Managers:
    CocoaPods: 1.9.3
  SDKs:
    iOS SDK:
      Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 21, 28, 29, 30
      Build Tools: 27.0.3, 28.0.3, 29.0.1, 29.0.2, 29.0.3, 30.0.0, 30.0.2
      System Images: android-21 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
      Android NDK: 21.3.6528147
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>21437
    Xcode: 12.0.1/12A7300
  Languages:
    Java: 1.8.0_265
    Python: 2.7.17
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.3 => 0.63.3
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce

Try to request a permission on Android 11+
Dismiss the request popup by tapping outside of it or by pressing the hardware back button
The request resolves with never_ask_again

Expected Results
The permission is still requestable: It should resolves with denied

Any updated on this issue ?

I am also facing this issue...but I think this is an Android issue (not a React-Native one). These are my observations:
The documentation says that a permission request can be canceled (see here), in which case, the grantResults array will be empty. However, if you dismiss the permission system dialog by clicking outside, the request isn't canceled. Instead, it is considered as a denial (grantResults[0] is PackageManager.PERMISSION_DENIED).
And something even stranger: although it is considered a denial, activity.shouldShowRequestPermissionRationale() returns false.
We follow the rule that if a permission was denied and shouldShowRequestPermissionRationale returned false, then this implies a NEVER_ASK_AGAIN. So the logic is correct.
Android needs to either:

Return an empty grantResults array when you click outside the permission alert
Make shouldShowRequestPermissionRationale return true after a clicked-outside-denial.

I am also facing this issue...but I think this is an Android issue (not a React-Native one). These are my observations:
The documentation says that a permission request can be canceled (see here), in which case, the grantResults array will be empty. However, if you dismiss the permission system dialog by clicking outside, the request isn't canceled. Instead, it is considered as a denial (grantResults[0] is PackageManager.PERMISSION_DENIED).
And something even stranger: although it is considered a denial, activity.shouldShowRequestPermissionRationale() returns false.
We follow the rule that if a permission was denied and if shouldShowRequestPermissionRationale returned false, then this implies a NEVER_ASK_AGAIN. So the logic is correct.
Android needs to either:

Return an empty grantResults array when you click outside the permission alert
Make shouldShowRequestPermissionRationale return true after a clicked-outside-denial.

Then how is that in https://github.com/zoontek/react-native-permissions this problem is not present/was solved ?

I haven't looked closely at zoontek's implementation, but from what I saw, he's using a helper flag to check if the rationale was previously shown.
I don't like that approach because you have to consider many edge cases: what if you install an app, then immediately deny permissions from the settings without ever opening it, open it for the first time, and then request for permissions?  Because of the boolean flag, now this returns "DENIED" instead of "NEVER_ASK_AGAIN".

@HectorRicardo Indeed. It's far from perfect, but Android 11+ is completely broken.

I am not even getting popup can anyone know why??

I am not even getting popup can anyone know why??

same problem for me

I am asking multiple permissions, CAMERA permission pop-up is opening and working fine, but for WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE permissions pop-up is not even opening and returning never_ask_again.

I am also facing this, I think it is specific to devices. In my case even the request permission pop is also not showing. I am facing this issue on android above 11.

Facing the same issue.

From the Stackoverflow comment: we only need to ask for READ and WRITE Permission on Android API lower or equal 29.
However, still I get rejected without a popup opening on Android Api 30, 31, 32. 33 is working as it should when I set the targetSDK to 33 in the gradle.
Why is it simply rejecting the storage permissions for those three api levels inbetween?

I solved this by setting the Android Manifest:
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />   <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />   <uses-permission     android:name="android.permission.READ_EXTERNAL_STORAGE"     android:maxSdkVersion="32"     tools:replace="android:maxSdkVersion"   />   <uses-permission     android:name="android.permission.WRITE_EXTERNAL_STORAGE"     android:maxSdkVersion="32"     tools:replace="android:maxSdkVersion"   />
until 32 it would prompt and ask for permission now.
I tested from 32 down to 29, backward compatibility is given.

Same problem here. I am asking multiple permissions, CAMERA permission pop-up is opening and working fine, but for WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE permissions pop-up is not even opening and returning never_ask_again. I think the issue is specific to devices because on majority of devices functionality is working, but on emulator and some devices, application is not functional due to this issue.

I have the exact same issue and can't accept the permission and even if it should not be necessary anymore, I can't access the internal files using the ImagePicker.openPicker() from react-native-image-crop-picker

Same problem here. I am asking multiple permissions, CAMERA permission pop-up is opening and working fine, but for WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE permissions pop-up is not even opening and returning never_ask_again. I think the issue is specific to devices because on majority of devices functionality is working, but on emulator and some devices, application is not functional due to this issue.

do you got the solution for it?


Is there any c++ api examples for tensorflow lite？

I dont like java and swift.
I prefer c++.
However, I seldom see any c++ api helps.

There are two examples I found:
tensorflow/lite/examples/label_image
and
tensorflow/lite/tools/benchmark

@engineer1109 Did you get chance to review the link suggested by @lwu025

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!