Failing to run buildpack tests on MacOS Arm

I was trying to run tests for the nodejs buildpack (to ensure the behavior around alternative package manager selection is tested, since it appears to have changed in the past two days) but am encountering an error:
# install rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# clone the buildpack repo
git clone https://github.com/heroku/buildpacks-nodejs.git heroku/buildpacks-nodejs

# setup rust for the buildpack
cd heroku/buildpacks-nodejs
rustup update
rustup target add x86_64-unknown-linux-musl

# change to the buildpack in question
cd buildpacks/nodejs-npm-install

# attempt to run tests
INTEGRATION_TEST_CNB_BUILDER=heroku/builder:22 cargo test --locked -- --ignored --test-threads 16

Output
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
    Finished test [unoptimized + debuginfo] target(s) in 0.36s
     Running unittests src/main.rs (/Users/josediazgonzalez/go/src/github.com/heroku/buildpacks-nodejs/target/debug/deps/heroku_npm_install_buildpack-887ff546bb0ac9e4)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/integration_test.rs (/Users/josediazgonzalez/go/src/github.com/heroku/buildpacks-nodejs/target/debug/deps/integration_test-ecd4a784e3c3adea)

running 6 tests
test test_npm_install_with_lockfile ... FAILED
test test_npm_install_caching ... FAILED
test test_npm_install_new_package ... FAILED
test test_npm_start_script_creates_a_web_process_launcher ... FAILED
test test_npm_build_scripts ... FAILED
test test_npm_build_scripts_prefers_heroku_build_over_build ... FAILED

failures:

---- test_npm_install_with_lockfile stdout ----
thread 'test_npm_install_with_lockfile' panicked at /Users/josediazgonzalez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libcnb-test-0.15.0/src/test_runner.rs:121:42:
Test references buildpack `heroku/nodejs`, but this directory wasn't packaged as a buildpack. This is an internal libcnb-test error, please report any occurrences

---- test_npm_install_caching stdout ----
thread 'test_npm_install_caching' panicked at /Users/josediazgonzalez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libcnb-test-0.15.0/src/test_runner.rs:121:42:
Test references buildpack `heroku/nodejs`, but this directory wasn't packaged as a buildpack. This is an internal libcnb-test error, please report any occurrences

---- test_npm_install_new_package stdout ----
thread 'test_npm_install_new_package' panicked at /Users/josediazgonzalez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libcnb-test-0.15.0/src/test_runner.rs:121:42:
Test references buildpack `heroku/nodejs`, but this directory wasn't packaged as a buildpack. This is an internal libcnb-test error, please report any occurrences
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- test_npm_start_script_creates_a_web_process_launcher stdout ----
thread 'test_npm_start_script_creates_a_web_process_launcher' panicked at /Users/josediazgonzalez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libcnb-test-0.15.0/src/test_runner.rs:121:42:
Test references buildpack `heroku/nodejs`, but this directory wasn't packaged as a buildpack. This is an internal libcnb-test error, please report any occurrences

---- test_npm_build_scripts stdout ----
thread 'test_npm_build_scripts' panicked at /Users/josediazgonzalez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libcnb-test-0.15.0/src/test_runner.rs:121:42:
Test references buildpack `heroku/nodejs`, but this directory wasn't packaged as a buildpack. This is an internal libcnb-test error, please report any occurrences

---- test_npm_build_scripts_prefers_heroku_build_over_build stdout ----
thread 'test_npm_build_scripts_prefers_heroku_build_over_build' panicked at /Users/josediazgonzalez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libcnb-test-0.15.0/src/test_runner.rs:121:42:
Test references buildpack `heroku/nodejs`, but this directory wasn't packaged as a buildpack. This is an internal libcnb-test error, please report any occurrences

failures:
    test_npm_build_scripts
    test_npm_build_scripts_prefers_heroku_build_over_build
    test_npm_install_caching
    test_npm_install_new_package
    test_npm_install_with_lockfile
    test_npm_start_script_creates_a_web_process_launcher

test result: FAILED. 0 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `--test integration_test`

Of note, I'm on MacOS Venture 13.6 on a Macbook Air M2, so maybe its an architecture thing?

@jose-fully-ported Thank you for filing an issue.
When I run the tests locally I don't get that error message.
I notice in the STR, there's no mention of brew installing the cross-compilation requirements. If they are missing, then the framework should tell you to install them - or at least it used to. Perhaps this is an error message UX regression after the refactoring in #666 or one of the other similar PRs?
If you run cargo install libcnb-cargo (to install the libcnb cargo plugin) and then run cargo libcnb package from the  buildpacks/nodejs-npm-install directory, do you get the instructions about installing the needed requirements?
If not, then for now could you follow these steps and see if that allows the tests to succeed?
https://github.com/heroku/libcnb.rs/blob/cdd2eb4b4df8706ddee968bba05237ea90a1ffed/libcnb-package/src/cross_compile.rs#L21-L28

Thank you.
Tomorrow I'll look into why libcnb-test isn't surfacing that more helpful error message - since it should have shown it too.

Ok so this is a regression from #666 in libcnb-test 0.15.0:
https://github.com/heroku/libcnb.rs/commit/b59a9ce1e55190dbeb45a509519575affe0dbb89#diff-6889e352ea9b53638ed05fa3483ecc6259b1d24abff88b0180be53cafc25d000L108
The previous implementation had to unwrap a temp dir path at one point, and used the ~"but crate wasn't packaged as a buildpack" message for that.
In #666 the code was refactored and the same error message used when unwrapping a completely different return value (the result from packaging).
Before when packaging failed a "Could not package current crate as buildpack" error was returned instead:
https://github.com/heroku/libcnb.rs/commit/b59a9ce1e55190dbeb45a509519575affe0dbb89#diff-6889e352ea9b53638ed05fa3483ecc6259b1d24abff88b0180be53cafc25d000L97

Ah so there are two parts to the regression:

The error message shown is misleading (the text refers to an unrelated issue) for both packaging the current create, and packaging other crates.
When packaging other crates specifically, the error message is also now missing the debug representation of the underlying error, since that codepath uses panic! rather than .expect() - and when using panic! one has to manually include the underlying error in the message to fully replace the same behaviour as .expect() (because expect is equivalent to panic!("{msg}: {error:?}") not just panic!("{msg}")).

In fact, it seems the regression was actually caught be the tests, but rather than the issue being investigated/fixed, the tests were rewritten to use catch_unwind, which will catch the lower level error rather than the expect/panic usage:
https://github.com/heroku/libcnb.rs/commit/b59a9ce1e55190dbeb45a509519575affe0dbb89#diff-6a86c81613708c6f5b78432f6f55d3a8de0a6c98ca1babdcb4ae8e683401f8f3L135

In fact, it seems the regression was actually caught be the tests, which is why they ended up being changed in:
https://github.com/heroku/libcnb.rs/commit/b59a9ce1e55190dbeb45a509519575affe0dbb89#diff-6a86c81613708c6f5b78432f6f55d3a8de0a6c98ca1babdcb4ae8e683401f8f3L135
The problem is that assert!s and Error return types are being mixed and matched - and the test tested a case which is now handled by an assert lower down the call stack than the now-broken error message.
IMO we should only be using asserts/panics/expects at the runner top level, and not in lower down helper functions.


Confirmation heading: French isn't displayed on toggle

This is a general bug after app-router!
When I toggle the language to French, it does not update the confirmation h1 to french

Which lang toggle?
I see this when I use the "site level" toggle

Validated that this isn't a bug


feature(ui): override the default search react app from invenio-app-rdm

The look of the result entries should now be the same as on the frontpage.
The main difference from the default layout is that the access badge is not more a
badge. It is now in the footer on the right side. The main reason is that the
green color of the badge could lead to the wrong conclusion that if this record
has the access right "Open Acess" it would be a "Green Open Access" record.
NOTES:
It was necessary to import also some React classes into the components.js file
which were not really overriden. This was because it was not possible to import
it from invenio-app-rdm/search/components.js directly. This should be repaired
in some ways.

Merging with:

Merging with:

The records landing page badge colors went crazy, have a look at the screenshot:

The records landing page badge colors went crazy, have a look at the screenshot:

i close this PR. It is messed up with a wrong merge of the master into the branch. The new PR is #142

i close this PR. It is messed up with a wrong merge of the master into the branch. The new PR is #142


Checks the target and the source book before performing the sort.

Fixes #638
TODO

[x] Update the 'Books' sidebar list on the sort page to only show books the user has permission to update.
[x] Add test cases.

Signed-off-by: Abijeet<EMAIL_ADDRESS>

Not Working!

Hey @ssddanbrown - Ready for your review.

@yoginth - Can you please tell me what you are testing? The page you are accessing is not found?

Thanks for tackling this @Abijeet. Happy (early) new year to you too!
Tested and all works fine in normal use.
I do have a concern though about an unlikely scenario. Basically, As it currently stands, The permission checks are done during the sort process.
If a permission check was to fail mid-way, Which would stop execution of the sort by throwing an exception, then it would leave the database in a dirty state since the book relations would be updated but the joint permissions would not be rebuilt and no activity would be added for the sorted books.
This should never happen as the user shouldn't be able to select books they don't have permissions for but if permissions were to change while a user is sorting a book then this scenario could play out.
Instead the following process would be safer:

Get the books being updated.
Check permissions on those books.
Only if all permission checks pass, Then proceed with any sort operations.

Let me know if you need me to explain this better at all. I'm happy to continue from this pull request if the above does not make sense.

@ssddanbrown  - Makes sense, I'll make the changes tomorrow. My only concern is that I'll have to loop over sortMap twice, but I should be able to cache some of the details during this time.

Couldn't take it up today, will try to handle it sometime this week.


Inline HTML snippet in Markdown rendered with an extra divs

This snippet in the markdown document:

is rendered to:

The div here is redundant and breaks the layout (I have tons of inline element that now becoming blocks)
Originally reported here: https://github.com/styleguidist/react-styleguidist/issues/402

Hm why aren't you using a markdown link?
On Wed, Apr 26, 2017 at 7:01 AM Andrey Okonetchnikov <
<EMAIL_ADDRESS>wrote:

This snippet in the markdown document:

is rendered to:
[image: 2017-04-20 at 13 43]
https://cloud.githubusercontent.com/assets/11071/25229117/52b63c96-25cf-11e7-992d-27ea1f5ac8d5.png
The div here is redundant and breaks the layout (I have tons of inline
element that now becoming blocks)
Originally reported here: styleguidist/react-styleguidist#402
https://github.com/styleguidist/react-styleguidist/issues/402
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/probablyup/markdown-to-jsx/issues/101, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAiy1r4JMywD56Kj9-L3j7M5yTuWtexEks5rzyQJgaJpZM4NIs4C
.

OpenCollective submitted a PR with this snippet so I don't want to rewrite it. Either way, this won't solve the issue with div and nested content.

I'll take a look at this case. It's inline, so it should work. Thanks for
reporting
On Wed, Apr 26, 2017 at 11:44 AM Andrey Okonetchnikov <
<EMAIL_ADDRESS>wrote:

OpenCollective submitted a PR with this snippet so I don't want to rewrite
it. Either way, this won't solve the issue with div and nested content.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/probablyup/markdown-to-jsx/issues/101#issuecomment-297453130,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiy1owk77XpYwuXU24v0dXzjqgjwa8Dks5rz2ZBgaJpZM4NIs4C
.


Fix conflict between Laravel Envoy and Illuminate/Support/functions.php

With Laravel envoy we have this error:
user@linux:/path/laravel-project$ envoy run local_to_preprod
PHP Fatal error:  Cannot redeclare Illuminate\Support\defer() (previously declared in /home/steph_d/.config/composer/vendor/illuminate/support/functions.php:17) in /media/steph_d/data_sd/www/apps/perso/laravel-cms/vendor/laravel/framework/src/Illuminate/Support/functions.php on line 26
PHP Stack trace:

We need to add function_exists to avoid these errors.
Thanks.

The tests are finally passed

@s-damian Can you provide a reproducing step for this? I tested with having illuminate/support available via Composer Global and Laravel app and doesn't have this issue. Furthermore, there are namespaced functions within other components.

Install Composer :
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Install Laravel Envoy :
cd ~
composer global require laravel/envoy
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc

Use Laravel Envoyr :
cd :/path-to-your-laravel-project

envoy run deploy_to_remote_server

envoy run deploy_to_remote_server return PHP Fatal error.

Still unable to replicate the issue. Which version of Composer are you using (Run composer diagnose and share the output)?

The latest version
user@linux:/laravel-path$ php artisan --version
Laravel Framework 11.25.0
user@linux:/laravel-path$ composer --version
Composer version 2.7.9 2024-09-04 14:43:28
PHP version 8.3.12 (/usr/bin/php8.3)
Run the "diagnose" command to get more detailed diagnostics output.
user@linux:/laravel-path$ composer about
Composer - Dependency Manager for PHP - version 2.7.9
Composer is a dependency manager tracking local dependencies of your projects and libraries.
See https://getcomposer.org/ for more information.

I believe this is caused by requiring the app's autoloader as described in https://laravel.com/docs/11.x/envoy#setup
@servers(['localhost' => '<IP_ADDRESS>'])

@include('vendor/autoload.php')

@task('inspire')
    php artisan inspire
    echo 'Run `inspire` command'
@endtask

I have already this:
@include('vendor/autoload.php')

With:
@servers(['localhost' => '<IP_ADDRESS>'])

@task('inspire')
    php artisan inspire
    echo 'Run `inspire` command'
@endtask

And without With @include('vendor/autoload.php'):, I have others errors:
PHP Fatal error:  Uncaught Error: Class "Dotenv\Dotenv"
Because I use this:
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);


Updates Packages

Upgraded from Angular 13 to 14
No packages remain that require legacy Angular renderer
Upgraded from deprecated tslint to eslint

Found one issue, the expansion panel arrow on saved searches/filters is partially hidden


Tec 715

Testable here: http://umbobabo.github.io/component-navigation/
I will remove a couple of fixes in a component-balloon refactor.

Bravo, Umberto!
We have tappable area :)

@keithamus Can we merge?

http://cdn.newsbusters.org/images/2013/June/Yes We Can.jpg


Status: Receiving Data (always)

Seems GA is not receiving my data. In my module I have this pseudo code
angular.module('videomailApp', [
        '...',
        'angular-google-analytics'
    ])

    .config(function($routeProvider, $locationProvider, $logProvider, AnalyticsProvider) {
        $locationProvider.html5Mode(true)

        // https://github.com/revolunet/angular-google-analytics
        AnalyticsProvider.setAccount(clientSettings.analytics.account)
        AnalyticsProvider.trackPages(true)
        AnalyticsProvider.setDomainName(clientSettings.analytics.domainName)

        // It has both ga.js (Classic) and and analytics.js (Universal) support.
        // Call AnalyticsProvider.useAnalytics(true); to use the new Universal Analytics.

        AnalyticsProvider.useAnalytics(true)

        $routeProvider ...
    })

    // Anything inside run(...) will be run on initialization
    .run([
        '$rootScope',
        '$location',
        '$anchorScroll',
        '$compile',
        '$templateCache',
        '$log',
        'Analytics',

        // Since we are relying on automatic page tracking, we need to inject Analytics
        // at least once in your application (for example in the main run() block)

        function($rootScope, $location, $anchorScroll, $compile, $templateCache, $log, Analytics) {

           ...
        }])

    ...

Maybe you spot something I am doing wrong here or it could be a bug?

Closing issue as stale. Assumably the OP figured out what was not working and resolved it. Please re-open or submit a new issue if that is not the case.


Monitoring arbitrary functions

Is there an API to monitor the return value of a function, rather than the value of an object property? This would add a lot of flexibility to what a tweakpane can be used to monitor.
Right now I’m using a workaround like this:
// Some function whose return value we want to monitor
function funcToMonitor() { return Math.random(); }

pane.addMonitor(
  { get value() { return funcToMonitor(); } },
  'value',
  { interval: 500 },
);

but it would be nice if there were a more ergonomic API, for example just pane.addMonitor(funcToMonitor).
A “perfect” API in my book would allow monitoring the awaited return value of functions that return promises, as well.

Thank you for your opinion. To be honest I'm not a big fan of this kind of “works like a charm” style I/F. This may be useful in some cases, but it complicates the I/F and the internal structure. It doesn't also go well with typings.

I think it's better to handle them with helper functions outside the API. They are easy to understand, and can keep simplicity and maintainability.
// Wrapper style

function addFunctionMonitor(pane: Pane, fn: Function, opts: MonitorParams) {
  return pane.addMonitor(
    {get value() {return fn();}},
    'value',
    opts,
  );
}

addFunctionMonitor(pane, fn, {interval: 500});

// Proxy style

function createProxy(fn: Function) {
  return [
    {get value() {return fn();}},
    'value',
  ];
}

pane.addMonitor(
  ...createProxy(fn),
  {interval: 500},
);

Feel free to reopen the issue if you have any updates.


Error is throwing while installing Hellinger distance criterion from setup as suggested in https://github.com/EvgeniDubov/hellinger-distance-criterion

Error is throwing while installing Hellinger distance criterion from setup as suggested in https://github.com/EvgeniDubov/hellinger-distance-criterion
Here is the screenshot
Kindlly help...

Refer #13

Use sklearn version 1.0.2. The compilation of the .pyx file will work.


Is it possible to compare folders?

I mean showing the differences of remote and local folder, including the modified files, deleted files or new files. It is a feature that PyCharm has. Like this:

You should create a feature request issue for this.


Subfeatures for later additions

Most features are launched with an initial API shape and then evolve in many steps over time. Fetch is an example of this, where fetch() became Baseline in 2017, and the Request destination property followed in 2018. So far we've just excluded such later additions from our source YAML files, and left a lot of TODOs.
So far we've had two ideas for how to handle this:

Just add new features with their own identifier, name, description, etc.
Allow features to be a more living concept, and make it clear what the status of every part is via https://github.com/web-platform-dx/web-features/issues/979, giving the BCD keys individual Baseline statuses.

Because most features evolve in many steps, the overhead of handling minor additions is a major consideration. This is the main drawback of the first option above, that we'd need to name and describe lots of such features.
Brainstorming with @atopal @nairnandu @petele @rachelandrew we have a third option, which is a kind of "light" features. By example:
subfeatures:
  picture-in-picture-window:
    name: enterpictureinpicture event pictureInPictureWindow property
    compat_features:
      - api.PictureInPictureEvent
      - api.PictureInPictureEvent.PictureInPictureEvent
      - api.PictureInPictureEvent.pictureInPictureWindow
  picture-in-picture-pseudo:
    name: ":picture-in-picture pseudo-class"
    compat_features:
      - css.selectors.picture-in-picture

This requires an identifier and a name per subfeature, but nothing else.
@ddbeck WDYT?

This requires an identifier and a name per subfeature, but nothing else.

I think there will be cases where we'll also need to describe those sub-features. Whether we do this by adding a description field, or just by making the name longer, I sense that it will be similar work than option 1 above.
I'm not saying I'm against this solution though. It does seem like in many cases, it will be less work.

This came up in our bi-weekly Baseline call today: notes.

There are some things that I like and dislike about this idea, but I want to tease apart some goals of this first. What I'm hearing here (and from the discussion on the Baseline call earlier today) is threefold:

There ought to be an easy way to get status information for some slice of a broader feature. Sometimes you want to show a whole feature's status, description, etc. (e.g., a webstatus.dev entry, a caniuse entry, or an API overview page on MDN for Picture-in-Picture), while sometimes you want to show the status of some slice of that feature (e.g., a web.dev article about Picture-in-Picture events or an MDN reference page for requestPictureInPicture() of Picture-in-Picture). Both should practical and straightforward.

There ought to be an easy way to author (or otherwise cut) a slice of a feature. I shouldn't have to make a whole new file, from scratch, to get at these slices. The absurdist rejection of this idea would be to create 10,000 single-compat-key web-features features so that MDN can show accurate statuses for every reference page.

There ought to be no fixed size to slices of features. That is, there should be some resolution to feature descriptions in between the whole API from inception and a single BCD key and points in between.

I think these are all reasonable aims. I'm not sure we have to fix them all in one change, however.
Things I like about this proposal:

It gives structure to later additions.
It puts that structure alongside the existing feature information.

Things I don't like about this proposal:

It's only marginally easier than creating individual feature files for each slice. I still have to give an identifier and name to each cluster of compat keys. I have to decide whether those clusters are meaningful to developers' long-term.
It makes the lumping and splitting exercise smaller, but it doesn't actually dispense with it. I now get to move a bunch of "should this be its own feature?" questions into "should this be its own slice?" questions. It's probably easier to decide to slice than it is to mint a new feature, but I still have to draw the line.

Now for the "yes, and…" bit: one thing that might tip me to pro from anti would be anonymous slices. That is, something like this instead:
name: Picture-in-picture (video)
description: The picture-in-picture API allow websites to create…
compat_features:
  - - api.Document.exitPictureInPicture
    - api.Document.pictureInPictureElement
    - api.Document.pictureInPictureEnabled
    - api.HTMLVideoElement.disablePictureInPicture
    - api.HTMLVideoElement.enterpictureinpicture_event
    - api.HTMLVideoElement.leavepictureinpicture_event
    - api.HTMLVideoElement.requestPictureInPicture
    - api.PictureInPictureWindow
    - api.PictureInPictureWindow.height
    - api.PictureInPictureWindow.resize_event
    - api.PictureInPictureWindow.width
    - api.ShadowRoot.pictureInPictureElement
  - - api.PictureInPictureEvent
    - api.PictureInPictureEvent.PictureInPictureEvent
    - api.PictureInPictureEvent.pictureInPictureWindow
  - css.selectors.picture-in-picture
  - http.headers.Permissions-Policy.picture-in-picture

(I suspect, in practice, most slices would end up being—in the absence of functional subfeatures—"1st generation of interoperable items", "2nd generation of interopable items", and so on.)
Perhaps we could do something on the dist side to make addressing slices in a stable way (e.g., annotating each slice with a permanent key), or just expect consumers to query slices by key (e.g., get me the slice containing…). We'd then leave it to consumers to make contextual decisions about how to name these things (e.g., you write your own description and say, "Events of <insert official feature name>").
(This also implies we'd still allow https://github.com/web-platform-dx/web-features/issues/979.)

@ddbeck I agree with the goals you listed earlier in your comment.
I would argue that anonymous slices are also marginally easier to create than named sub-features though.
Sure, you don't have to write a name in the file, but you still have decide whether those features are meaningful to developers.
In the end, I don't think using separate files, or named subfeatures in the same file, or anonymous slices will end up making a terribly huge difference in the time it takes us to maintain the data.
As you said, someone still has to do the legwork of figuring out what slices of features are, and whether they make sense to devs.
I think I have a preference for @foolip's named subfeature proposal. Creating new files everytime there's a later addition feels unnecessary, and having all of the incremental steps of a feature within the same file feels cleaner/easier to maintain.
@foolip wrote:

most features evolve in many step

Is this an intuition, or based on facts somehow? I would like to get a sense for the size of the problem in front of us. My, probably incorrect, assumption so far was that this wasn't most features, and the number of noteworthy steps were limited to just a few.
Another example to consider:
An engineer on the MS Edge team just shipped a minor addition to the Gamepad API in Chromium (Edge 126), which extends the GamepadHapticActuator with a new type of vibration (see https://chromestatus.com/feature/5162940951953408). If we had an gamepad-vibration feature (or similar), would we consider this a later addition that needs to be tracked on our repo? Should this
be a new subfeature? Or just a new BCD key in the initial "living" feature?

most features evolve in many step

Is this an intuition, or based on facts somehow? I would like to get a sense for the size of the problem in front of us. My, probably incorrect, assumption so far was that this wasn't most features, and the number of noteworthy steps were limited to just a few.

I feel very confident about this claim based on the experience of trying to compose many features from BCD keys. For most feature consisting of more than a handful of BCD keys, they won't have all shipped together, and often in multiple waves.
To put a number on it, I checked how many unique combinations of browser numbers there are in BCD for the 7 browsers in the core browser set. Excluding the webdriver and webextensions data, there are currently 14681 BCD entries, and there are 3047 unique combinations of the 7 browser versions.
My estimate is that we'll end up with around 500-1000 features in web-features, so there are many more unique slices of BCD features than features.

Another example to consider:
An engineer on the MS Edge team just shipped a minor addition to the Gamepad API in Chromium (Edge 126), which extends the GamepadHapticActuator with a new type of vibration (see https://chromestatus.com/feature/5162940951953408). If we had an gamepad-vibration feature (or similar), would we consider this a later addition that needs to be tracked on our repo? Should this be a new subfeature?

Even though the API surface is small, this is a new capability, so I would lean towards a new feature named "Gamepad trigger rumble" or similar.

Or just a new BCD key in the initial "living" feature?

This isn't currently possible, and is the problem we need to solve. If we did add Request's destination property to a living Fetch feature, it would change the browser versions and Baseline date. We would need to override it. Over time we'd have such overrides almost everywhere, and we the snapshotted data would likely end up out of sync in BCD in small and large ways. I think it's important that we can handle living features with generated statuses.

There ought to be an easy way to get status information for some slice of a broader feature

Yes, but https://github.com/web-platform-dx/web-features/issues/979 is overwhelmingly the most important part of this. That's a slice of a single key. I think compute-baseline should also support computing the status for two or more keys of a feature.
In the WebDX call I said it was important to have a name for such slices, but after further discussion with @rachelandrew we don't have concrete examples of it. The two examples we examined were https://web.dev/articles/user-valid-and-user-invalid-pseudo-classes but those two pseudo-classes are already a single feature in web-features, no slicing needed. The other example was Grid vs. Subgrid and those are also distinct features.
There will probably be cases where a slice of a feature needs to be referenced by name, but it seems prudent to wait and see how common it will be.

There ought to be an easy way to author (or otherwise cut) a slice of a feature

Yes! This doesn't require exposing anything to consumers of web-features, so we could first experiment with the idea of comment blocks.

There ought to be no fixed size to slices of features. That is, there should be some resolution to feature descriptions in between the whole API from inception and a single BCD key and points in between.

I didn't understand this part. @ddbeck do you mean that the number of BCD keys in a slice can vary wildly? Or that it would be good to be able to describe the evolution of a feature in terms of steps with human readable names and/or descriptions?

There will probably be cases where a slice of a feature needs to be referenced by name, but it seems prudent to wait and see how common it will be.

Wait and see is music to my ears. 😄

There ought to be no fixed size to slices of features. That is, there should be some resolution to feature descriptions in between the whole API from inception and a single BCD key and points in between.

I didn't understand this part. @ddbeck do you mean that the number of BCD keys in a slice can vary wildly? Or that it would be good to be able to describe the evolution of a feature in terms of steps with human readable names and/or descriptions?

The former. I think that some slices are going to be big (for instance, I bet that many API features will have a big giant feature-inception slice that will hold 90%+ of whatever that feature represents for all time—think of something like fetch or Temporal), some will be a few keys (e.g., some CSSOM or attribute reflection lands late), and some will be single-key (which I think we already have an answer for in compute-baseline).

@ddbeck can you explain how those issues will solve this?

Good question. I think not everything is satisfied by those PRs, but they provide a way to:

Add later additions to features (while preserving a feature's initial status)
Get status information for some slice of a feature

Those two PRs would not provide IDs or names to slices. Philip suggested that could be a wait-and-see item in https://github.com/web-platform-dx/web-features/issues/1160#issuecomment-2141858343.


Expose container ports to host

Subj. Currenntly, if user exposes ports from container, they will be available inside WSL, but not on host system.

Note to myself: netsh interface portproxy add v4tov4 listenport=2375 connectport=2375 connectaddress=$ip

It turns out... Everything just works. I'm not sure how and why.


fix: add optional vendor matrix for UI

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


refactor: use a Map instead of an Object in dom/data

Fixes #32123
Preview: https://deploy-preview-32180--twbs-bootstrap.netlify.app/

@XhmikosR I realised something in the dom/data spec https://github.com/twbs/bootstrap/blob/main/js/tests/unit/dom/data.spec.js#L30-L44
The test says 'should change data if something is already stored' but it expects the bsKey to be defined. Also if data.test is updated, there would be no need to call setData again as the object from the first call remains the same.

FYI this results in a nice size decrease 🙂 https://ja2r7.app.goo.gl/5pUhLMyZD1iuZgYe9
I move this to beta1 @Johann-S. Tests do seem to pass, although I notice a few of them are removed.

Yes, we discussed the tests here: https://github.com/alpadev/bootstrap/pull/1, though
Few of them are removed, I am not sure which tests should be added again 🙂

LGTM 👍 since we don't allow different instance on an element 👌

@Johann-S My only concerns are:

if the removed tests should all be removed and if we still cover all cases we did before, like passing non-bs prefixed data attributes etc
I suppose if we want to support multiple keys in the future it shouldn't be a lot of work, right?

All in all, I love this change; it makes the code simpler and also saves us a good amount of code. I just want to make sure we aren't missing anything and that we won't be circling around in the future 🙂

If it's expected to have multiple keys/instances on one element in a closer future, this might be not the ideal implementation to go with, I guess.
This basically removes the circuit of mapping a UID (and an DATA_KEY), that both been stored in an object at the elements' bsKey, to an instance that is saved in the mapData, and instead uses the 1:1 relationship of element and instance directly with the element being the key to the mapDatas' instance.
So before it was like:
A PluginInstance <> mapData.id <> element.bsKey.id mapping, with the DATA_KEY only being some kind of validation to check if Data.getData or Data.removeData is called with the same DATA_KEY that has been stored in element.bsKey when Data.setData was called (the first time).
Now it's like:
A PluginInstance <> mapData.element <> element mapping, with the DATA_KEY not being used here at all.
Another thing to mention, is that Plugin.getInstance(element) isn't "type-safe" anymore. Before if I had a Tooltip bound to an element, Tooltip.getInstance(element) would return some Tooltip-Instance, while Button.getInstance(element) returned null. Now every Plugin.getInstance returns whatever is saved in mapData for that element or null.

Sounds like we need to rethink this. Let's keep this on hold for a few days
until we get more feedback
On Sat, Nov 21, 2020, 19:45 alpadev<EMAIL_ADDRESS>wrote:

If it's expected to have multiple keys/instances on one element in a
closer future, this might be not the ideal implementation to go with, I
guess.
This basically removes the circuit of mapping a UID (and an DATA_KEY),
that both been stored in an object at the elements' bsKey, to an instance
that is saved in the mapData, and instead uses the 1:1 relationship of
element and instance directly with the element being the key to the
mapDatas' instance.
So before it was like:
A PluginInstance <> mapData.id <> element.bsKey.id mapping, with the
DATA_KEY only being some kind of validation to check if Data.getData or
Data.removeData is called with the same DATA_KEY that has been stored in
element.bsKey when Data.setData was called (the first time).
Now it's like:
A PluginInstance <> mapData.element <> element mapping, with the DATA_KEY
not being used here at all.
Another thing to mention, is that Plugin.getInstance(element) isn't
"type-safe" anymore. Before if I had a Tooltip bound to an element,
Tooltip.getInstance(element) would return some Tooltip-Instance, while
Button.getInstance(element) returned null. Now every Plugin.getInstance
returns whatever is saved in mapData for that element or null.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/pull/32180#issuecomment-731611595, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACVLNNCPAEPZ42CF2D3JXDSQ74C7ANCNFSM4TZA7NYQ
.

If I was to propose some implementation for the data, it should look something like this:
const elementMap = new Map();

export default {
  set(element, key, instance) {
    if (!elementMap.has(element)) {
      elementMap.set(element, new Map());
    }

    const instanceMap = elementMap.get(element);

    // make it clear we only want one instance per element
    // can be replaced at a later time when multiple key/instances are allowed
    if (!instanceMap.has(key) && instanceMap.size !== 0) {
      throw new Error(
        "Sorry, we currently allow only one instance per element."
      );
    }

    instanceMap.set(key, instance);
  },

  get(element, key) {
    if (elementMap.has(element)) {
      return elementMap.get(element).get(key) || null;
    }

    return null;
  },

  remove(element, key) {
    if (elementMap.has(element)) {
      const instanceMap = elementMap.get(element);

      instanceMap.delete(key);

      // free up references if there are no instances left for an element
      if (!instanceMap.size) {
        elementMap.delete(element);
      }
    }
  }
};

This uses both an element and a key to be used to store some data/instance. It'd also allow for multiple key<>interface mappings.

Sent from my Verizon, Samsung Galaxy smartphone
Get Outlook for Androidhttps://aka.ms/ghei36

From: alpadev<EMAIL_ADDRESS>Sent: Saturday, November 21, 2020, 11:49 AM
To: twbs/bootstrap
Cc: Subscribed
Subject: Re: [twbs/bootstrap] refactor: use a Map instead of an Object in dom/data (#32180)
If it's expected to have multiple keys/instances on one element in a closer future, this might be not the ideal implementation to go with, I guess.
This basically removes the circuit of mapping an UID (and a DATA_KEY), that both been stored in an object at the elements' bsKey, to an instance that is saved in the mapData, and instead uses the 1:1 relationship of element and instance directly with the element being the key to the mapDatas' instance.
So before it was like:
A PluginInstance <> mapData.id <> element.bsKey.id mapping, with the DATA_KEY only being some kind of validation to check if Data.getData or Data.removeData is called with the same DATA_KEY that has been stored in element.bsKey when Data.setData was called (for the first time).
Now it's like:
A PluginInstance <> mapData.element <> element mapping, with the DATA_KEY not being used here at all.
Another thing to mention, is that Plugin.getInstance(element) isn't "type-safe" anymore. Before if I had a Tooltip bound to an element, Tooltip.getInstance(element) would return some Tooltip-Instance, while Button.getInstance(element) returned null. Now every Plugin.getInstance returns whatever is saved in mapData for that element or null.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/twbs/bootstrap/pull/32180#issuecomment-731611595, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APV6C4UUQTIUJG2BPZE4L3TSQ74RHANCNFSM4TZA7NYQ.

@alpadev yup, that sounds like a better approach since that seems closer to what we have right now :)

@alpadev said :

Another thing to mention, is that Plugin.getInstance(element) isn't "type-safe" anymore. Before if I had a Tooltip bound to an element, Tooltip.getInstance(element) would return some Tooltip-Instance, while Button.getInstance(element) returned null. Now every Plugin.getInstance returns whatever is saved in mapData for that element or null if nothing saved.

The old behavior should be kept here, it's important to be type safe.
And I like your other implementation (https://github.com/twbs/bootstrap/pull/32180#issuecomment-731640223)
BTW when I created Data object, I tried to be as close as possible to how jQuery store data when we call .data on a jQuery object

So, assuming we follow @alpadev's [suggestion(https://github.com/twbs/bootstrap/pull/32180#issuecomment-731640223), would this still be considered a breaking change? If so, we need to get this done in beta1, otherwise we can move it to beta2.

It is not a breaking change then IMO 🤔
Because as per the comment of @alpadev the old behaviour would be kept here.

Yep I agree with @rohit2sharma95 👍

Alright, then. I think, we could've reimplemented the type-safety by adding instance checks, if it was only for that reason tho.
Then I'm reseting and updating my branch with the latest proposal.
That also means we won't get that nice improvement in bundle size (as most of it results from removing the KEY_DATA), I'm sorry @XhmikosR :). Maybe it makes sense to consider some kind of generic plugin base class that gets extended by each plugin. That maybe could allow for some generalization and thus some savings in that regard.
@Johann-S we usually develop solutions to a certain requirement or problem. Like you said, things may change and so eventually the implementation does. 👍

Maybe it makes sense to consider some kind of generic plugin base class that gets extended by each plugin. That maybe could allow for some generalization and thus some savings in that regard.

@alpadev yeah, it's already in the TODO list, see #29370, although the size increases, it's not a big increase.

I guess, for the spec it would be better to export the map and validate on it directly but my experience in writing tests is rather basic.

Just pushed changes in regard to the received feedback:
It now uses a Map instead of a WeakMap. Leaking should be prevented by checking for instanceMap.size === 0 and removing the element.
Instead of throwing an error, it now uses console.error with the following message Notice: The design of Bootstrap currently discourage to use more than one instance per element. Bound instance(s): ${instanceMap.keys().join(', ')}., and continues to set additional keys/instances. Or do you rather want to return from there?

For now, Bootstrap is not supporting multiple instances on a single element though but IMO it is a good addition @XhmikosR
And this feature should not break anything :thinking: @alpadev

@rohit2sharma95 Ideally it shouldn't break something. The signature remains unchanged. If someone uses it with multiple instances on one element, he would get a console.error with the information about using it inappropriate, while fixing the problem with the key.
Like I mentioned before - Old behaviour: if someone was to use multiple keys on one element, it would only use the first key and overwrite that on additional calls. Now: it uses multiple keys.
It's possible to mimic the old behaviour exactly like it has been, tho. (But imo I'd consider the old behaviour a bit flawed).

Agree with your comment: https://github.com/twbs/bootstrap/issues/32123#issuecomment-729107917
And thanks for the explanatory demo :smile:

So, I don't think we should console.error. We should stick to the current behavior, unless we can't find another way. Otherwise, this could be considered a breaking change AFAICT.

@XhmikosR Not sure if I agree on this.
I mean officially it's not a supported feature to use multiple instances on one element according to https://github.com/twbs/bootstrap/issues/32123#issuecomment-731020351. If someone is currently using it, I wouldn't consider it even a bad practise to throw an error, since it's against this intention. Neither do I consider it a breaking change - it's not breaking something that is supported behaviour.
I agree tho, that since it's not nice to break user code, it might be a better approach to not make things fail, but rather to give the implementor some hint that he might use it in an inappropriate way. That's whats the console.error is doing.
I'd consider this an edge case anyway, since the documentation doesn't mention it. However, using multiple instances can cause things to break (intransparently) with the current behaviour like in this demo https://codepen.io/-alpa-/pen/KKMExwM. That's why I kinda dislike to keep it the way it is.
Enabling multiple keys allows Data.set/Data.get, to work properly with multiple instances (That's what's causing that many tooltips to spawn in the demo). The behaviour with one instance on one element isn't changed here.

I'm not a big fan on console.logs in build files, but in this case I think it make sense to let people know why it doesn't work.
Personally I'm still against allowing people to have multiple plugin instances I think we'll have weird behavior and I don't see any valid use cases currently, that's all for my two cents 😄

I'm not a big fan on console.logs in build files, but in this case I think it make sense to let people know why it doesn't work.
Personally I'm still against allowing people to have multiple plugin instances I think we'll have weird behavior and I don't see any valid use cases currently, that's all for my two cents 😄

I didn't mean to enforce my opinion here 🙂. My intention was just to explain my standpoint and to receive some input.
As I see it we have those options:
Allow the use of multiple components per element

Just let it happen and have the implementers figure out problems that may occure
Allow it but show a message (console.error/warn/log) to give them a hint <-- this is how it is for now

Disallow the use of multiple components

Throw an error describing the problem
Overwrite the first component but disposing it before (with or without a message)
Overwrite the first component without cleaning up (with or without a message)
Ignore the second component (with or without a message)

There are some last comments to address

Yeah sorry.. I got my chance to try that thing called Covid and been totally mashed potato in my head for the last week or so. I'm on it.


Implement Product Search

Implement a way for users to search for a product within the small businesses in their area. Lead: abakir@, frontend help: ethanimooney@ .

Update:
lewiskopf@ is now lead, will add in upcoming PR, minus styling
ethanimooney@ will assist with styling once initial PR is approved


Windows 11 Enterprise vs Pro table missing

The table comparing enterprise and pro for windows 11 is missing.

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

ID: 3cf22b00-1c7f-5fd8-7e21-f3a50da00a15
Version Independent ID: f118fd3a-d0b3-ae53-0b59-a049fe18eb15
Content: Windows 10/11 Enterprise E3 in CSP - Windows Deployment
Content Source: windows/deployment/windows-10-enterprise-e3-overview.md
Product: w10
Technology: windows
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

@aczechowski Please help us in resolving this issue. Thanks

Thanks @htcfreek for the feedback. This article needs some general rework, at 16 minutes in length it's quite long. I can't promise we'll be able to rework it for several months, but can keep this issue open to track it.

Thank you for the feedback @htcfreek. We have opened an internal task to investigate reworking this article including creating the missing table.


Add resources and my self

Hacktoberfest 202

@EyeOfCode good work make sure you star and follow me in order to get updates about the project and do contribute to the project during October month in Hacktoberfest.


more description for max basal rate

added bit more description to the example, but mainly added key search terms to the text to help numpties like me find the answer quicker.
Sorry - read the docs 101

That better


tests: add few new tests for ODataHttpRequest.custom()

Cover uncertainities exposed by questions in issue #216.

Thank you!


Lab2 task3 step 20. Not clear that you need to use the azure portal on the cl vm

Module: 01
Lab/Demo: 02
Task: 03
Step: 20
Th instruction says "Within the Remote Desktop session to az140-cl-vm11a, search for and select Azure Virtual Desktop and, on the Azure Virtual Desktop blade, select Application groups."
It should be "Within the Remote Desktop session to az140-cl-vm11a open edge and go to the azure portal, search for and select Azure Virtual Desktop and, on the Azure Virtual Desktop blade, select Application groups.

Pls provide the full module name, exercise number, task number, and step number you're referring to
rgds
Marcin

LAB_02L01_Create_and_configure_host_pools_and_session_hosts_AADDS.md
Lab - Create and configure host pools and session hosts (Azure AD DS)
Exercise 1: Configure an Azure Virtual Desktop environment
Task 3: Configure Azure Virtual Desktop application groups
step 20
"Within the Remote Desktop session to az140-cl-vm11a, search for and select Azure Virtual Desktop and, on the Azure Virtual Desktop blade, select Application groups."

Appreciate the clarification. Is there a reason you wound want to start another web browser window and sign in to the Azure portal again? This already happened in step 1 of that task
rgds
Marcin

closing due to lack of response


Added helloWorld

Description

added hello world
Types of changes

[ ] Bug fix or improving code quality
[ ] New language
[ ] New feature

Checklist:

[x ] My code follows the code style of this project.
[ x] I have updated the documentation accordingly.

23 oct 2018 Added Omer Qureshi


Add more fediverse alternatives

See Table of Fediverse replacements.
A few that were recently suggested to me, Lotide and Pinetta, don't have a dedicated page on joinfediverse.wiki.

that is only a small list, there are ALOT more I have listed here https://joinfediverse.wiki/Fediverse_project_branding

This is great, thank you for sharing @wakest!

you are welcome!

I think Lemmy in particular would be worth adding to the "If you like... Reddit/HN" row of the table.

Hi @josephrocca, thank you for the suggestion! Please see the FAQ on why Lemmy was removed.
https://github.com/jointhefediverse-net/jointhefediverse.net#why-was-lemmy-removed-from-the-list-of-fediverse-alternatives

I can't see the devs having as much control over the platform as I think you and some others do (relative to the community in general, and server admins in particular, for example), and it does seem a shame given that Lemmy seems to be "taking off" and might be our one shot (at least for a while) at breaking Reddit's grip over that type of community/software, but despite the disagreement, I respect that it's your site, and you're making the call based on what you think is best for the world in the long term.

Thank you, I appreciate your understanding.
I know there are some instances that distance themselves from the original developer. I am now thinking, it might make sense to perhaps list a few instances for each platform. That way I could include Lemmy while steering people away from the most problematic instances that use it.
Let me give this some more thought.

(You've likely already heard about it, but just in case - this has been really useful to me for researching instances: https://lemmyverse.net - includes uptime, activity, etc.)

I did not, but this is very useful, thank you!


write a test for make generate on PRs

I've mistakenly forgotten to run make generate twice now, resulting in #134 and #132. We should add a check to see if the user needs to run make generate on their PRs.

I think this is just something we're going to have to look out for and keep in mind. Calling make generate at any time will change the timestamp on the generated files.


Ethereum

1."hosted_ur1":http://commerce.coinbase.com/charges
2."time":"2020.03.01T13:35Z"
3."status":"new"
4."metadata":{}
5."payments":[0,5,]
6."adresses":{0xAcCfC8b51C709525AA6Fc87D9a4150Fc16B58Ee2

1."hosted_ur1":"http://commerce.coinbase.com/charges/66BEOV2A"
2."time":"2020.03.01T13:50Z"
3."status":"new"
4."metadata":{}
5."payments"[0.5]
6."adresses":{0xAcCfC8b51C709525AA6Fc87D9a4150Fc16B58Ee2
7."0x419f91df39951fd4e8acc8f1874b01c0c78ceba6"
8.         }
9.      }
10. }

1."hosted_ur1":"http://commerce.coinbase.com/charges/66BEOV2A"
2."time":"2020.03.01T13:50Z"
3."status":"new"
4."metadata":{}
5."payments"[0.5]
6."adresses":{0xAcCfC8b51C709525AA6Fc87D9a4150Fc16B58Ee2
7."0x419f91df39951fd4e8acc8f1874b01c0c78ceba6"
8.         }
9.      }
10. }

1."requested_info=["Anna<EMAIL_ADDRESS>

1."requested_info=["Anna<EMAIL_ADDRESS>

@Annasadra Hi there, looks like this issue might have been opened by mistake? Closing it now but feel free to ask the community any questions you may have.


HTTP Error 403

Below is an error received using youtube-dl.  Submitting here as requested.
youtube-dl --verbose -o "~/Videos/Rainierland Movies/Tomorrowland.mp4" "https://lh3.googleusercontent.com/EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', '-o', '~/Videos/Rainierland Movies/Tomorrowland.mp4', 'https://lh3.googleusercontent.com/EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22']
[debug] Encodings: locale 'UTF-8', fs 'UTF-8', out 'UTF-8', pref: 'UTF-8'
[debug] youtube-dl version 2014.02.17
[debug] Python version 2.7.6 - Linux-3.16.0-49-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] Proxy map: {}
[generic] EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22: Requesting header
WARNING: Falling back on generic information extractor.
[generic] EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Forbidden; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 191, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 1157, in urlopen
return self._opener.open(req)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

You are using an outdated version of youtube-dl. Read our FAQ if you have troubles updating.

I've installed the current version.  Wanna try again with your sarcasm?
youtube-dl --verbose -o "~/Videos/Rainierland Movies/Tomorrowland.mp4" "https://lh3.googleusercontent.com/EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'-o', u'~/Videos/Rainierland Movies/Tomorrowland.mp4', u'https://lh3.googleusercontent.com/EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.09.09
[debug] Python version 2.7.6 - Linux-3.16.0-49-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: avconv 9.18-6, avprobe 9.18-6, rtmpdump 2.4
[debug] Proxy map: {}
[generic] EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22: Requesting header
WARNING: Could not send HEAD request to https://lh3.googleusercontent.com/EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22: HTTP Error 403: Forbidden
[generic] EZSKUui-PCahXLmuDVeeCg8SQCGgAxB_-Gv1nwcqO0I=m22: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 326, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1865, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)


Provide SQL interface for Key management

TDE extension needs to provide the SQL interface to work in multi-tenant environment to manage master keys.
TDE extension must provide interfaces to perform the following functions.

SQL function to assign a specific master key to the database
SQL function to rotate a master key of the database
SQL function to get the master key name of any specific database.

Fixed as


Update Azure Load Test ApiVersion

Finally made some progress here.
Still missing:

[ ] AppComponents, commented out to make progress on the important parts
[ ] Test doesnt succeed :)
[ ] Test result conversion doesnt happen either

Looks good to me. Good work!


Puppet 6 support

This PR adds Puppet 6 gems and configuration to the CI builds for octocatalog-diff.

This will require a substantial refactor to work with Puppet 6 due to the removal of the puppet master subcommand. I'm closing this PR.

@kpaulisse Did you see https://github.com/github/octocatalog-diff/issues/186#issuecomment-503405107 ?


anagram: Fix assertEquals()'s param order in test testIdenticalWordIsNotAnagram()

This is what we have:

Which produces confusing AssertionErrors because assertEquals()'s params are passed in the wrong order:

First off, @ZacharyRSmith, we really appreciate you calling this out!
When we sat back and thought about it, the output from the test suite is the most important aspect of the user experience of Exercism.  Since then, we've been intolerant to outright defects and really nitpicky about keeping the signal-to-noise ratio as high as possible.
Your pointing out what might seem like a little thing is actually a great help to something we deeply care about.  Thanks! 🏆
...
The even better news is that @sit fixed this specific defect in 3fdc2d1b9c8749bee26140c359d93fc3a2681889 and @FridaTveit adjusted it to use the included Hamcrest matchers in 8c00848b13cc3c828798cf4c16e464f9c7c7297a.
That first commit was from almost exactly a year ago.  Not sure how that is coming down through a recent fetch.  I checked it myself and got @FridaTveit's version of it.
Bottom-line: if you see things like this, please continue to report them!


When PEP 484 will be implemented in PTVS?

Hello.
I found, that PTVS is not support PEP 484, especially #type: TypeName .
There are a lot of questions could be found in Internet about PTVS and PEP 484, they are dated from 2015 year and still not resolved. For example, this - https://github.com/Microsoft/PTVS/issues/82 .
Microsoft, why you don't want to solve that issue? )))

We do want to implement that feature, it's just not a high enough priority to overtake the other work that we are doing right now.
Follow issue #82 for updates.


Compiling typescript to javascript

Hi, when i run the tsc command, i get the following error. I suspect it may be an error in the SDK. Any advice on how to proceed?
node_modules/retell-sdk/lib/security.d.ts:8:69 - error TS2304: Cannot find name 'ErrorOptions'.
8     constructor(code: SecurityErrorCode, message: string, options?: ErrorOptions);
~~~~~~~~~~~~
Found 1 error in node_modules/retell-sdk/lib/security.d.ts:8

Could you try installing the latest version of this package and see if that fixes it.

Is there any working solution to this issue yet? I've encountered this issue today

This was fixed by adding "ES2022" to the lib array within tsconfig.json file


Add wrapping to columns

The columns currently overflow in the x axis, I suggest that we put a flex wrap on the columns containers to split it up automatically.

The horizontal scrolling is intentional and keeps the sticker display at the top in view. I don't think making it wrap is an improvement.


Add Decipher post-training methods

*TODO: merge trajectory methods PR into this PR (chunked for ease of review)
Adds the following downstream methods to the Decipher class.

rotate_decipher_components
compute_imputed_gene_expression
compute_decipher_time
compute_gene_patterns

This is the remaining functionality desired to transfer from the original implementation.
Note, this implementation takes a more scvi-tools-esque approach to each of the methods,
avoiding saving results to the anndata object directly.
cc @ANazaret

LGTM. Please merge other PR into this one and this one into main.

@canergen addressed the comments!


Typescript Typings

I would like to see if there are any interests or existing efforts to add typings for Ember CLI Page Object to help work with Typescript support and general editor support and suggestions/autocompletes.

Yea, this would be awesome 😄

Glad to see the ticket.
I've made some progress with definitions recently.
It auto-completes sub-components and attrs:
const p = create({
  scope: '.AComponent',

  b: { ... },

  doSomething: clickable()
});

a.b.isVisible;
a.b.click();
a.doSomething().b.focus();

// it fails:
a.isVisible.b
a.isVisible.click();
a.click().isVisible

There is still lots of work to be done yet.
TS with pojos is problematic. Custom PO methods have this: any by default. Maybe public typing for component should be providedm like
export { Component } from 'ember-cli-page-object';

const Def = {
  doIt(this: Component) {
  }
};

Will try to come up with some PR.

I'm not a typescript user (yet) but this looks amazing 👏👏

This is incomplete, but this is what I have so far:
// types/ember-cli-page-object/index.d.ts
type Options = {
  multiple?: boolean;
};

export function create(page: object): any;
export function collection(selector: string, page: object): any;
export function clickable(selector?: string): any;
export function isVisible(selector?: string, options?: Options): boolean;
export function fillable(selector?: string): any;
export function text(selector?: string): string;
export function count(selector?: string): number;
export function is(selector?: string): boolean;
export function property(selectorOrProperty?: string, selector?: string): string;
export function hasClass(className: string): boolean;
export function isPresent(selector?: string): boolean;

// types/ember-cli-page-object/macros.d.ts
export function getter<T>(fn: () => T): T;

@NullVoxPopuli you might be interested in https://github.com/san650/ember-cli-page-object/pull/458

Ambient types was included to 1.16.0 release, thank you all for the patience!


Compute real filters for DICS

I added the option to compute real filters for DICS and set it to True.
Please check whether it is appropriate to set it to True and carefully look at consistency across modules.

@brovelli do you have a ref for this one, or is this from the same paper?

Oh the ref is in #3840. Can you add a ref to the docstring with a [1]_ and References section like here:
https://github.com/mne-tools/mne-python/blob/master/mne/stats/regression.py#L165

The first time I saw the use of real filters was in this paper:
Hipp JF, Engel AK, Siegel M. Oscillatory synchronization in large-scale cortical networks predicts perception. Neuron. 2011 Jan 27;69(2):387-96.
https://www.ncbi.nlm.nih.gov/pubmed/21262474
The details are given in the supplementary material. See #3840

thx @brovelli
we'll take over.
any volunteer?
@brovelli just a last request. What is for you a good test that this works as expected?

eh eh good question. I found the bug because I was comparing the same results I obtained in Matlab using Fieldtrip. I guess the best way would be through simulations. Instead of testing your code on real data, you may envision producing a simulated dataset:
i) generate a small network (say n=4) of source-level data with oscillatory component + an evoked response. You can use a neural mass model from spm (I can show you how) to simualted LFPs in a network where you can set the connections between nodes (you know the structure of the network).
ii) Place these source data on n patches of cortex with realistic anatomy
iii) Project it sensor-space and produce a dataset (EEG, MEG)
If you want more biologically realistic stuff, a better option is to use The Virtual Brain (http://www.thevirtualbrain.org/). If you want, I can ask the people here in Marseille (Demian Battaglia, Viktor Jirsa) if they have this kind of dataset.
Maybe this kind of dataset already exists, but I am not aware of. This would be very usefull for other sorfwares as well (Fieldtrip, Brainstorm, SPM).
I'll keep thinking about that....

eh eh good question. I found the bug because I was comparing the same
results I obtained in Matlab using Fieldtrip. I guess the best way would
be through simulations. Instead of testing your code on real data, you
may envision producing a simulated dataset:
i) generate a small network (say n=4) of source-level data with
oscillatory component + an evoked response. You can use a neural mass
model from spm (I can show you how) to simualted LFPs in a network where
you can set the connections between nodes (you know the structure of the
network).
ii) Place these source data on n patches of cortex with realistic anatomy
iii) Project it sensor-space and produce a dataset (EEG, MEG)
If you want more biologically realistic stuff, a better option is to use
The Virtual Brain (http://www.thevirtualbrain.org/). If you want, I can
ask the people here in Marseille (Demian Battaglia, Viktor Jirsa) if
they have this kind of dataset.
Maybe this kind of dataset already exists, but I am not aware of. This
would be very usefull for other sorfwares as well (Fieldtrip,
Brainstorm, SPM).
I'll keep thinking about that....
Le 14/12/2016 à 09:47, Alexandre Gramfort a écrit :

thx @brovelli https://github.com/brovelli
we'll take over.
any volunteer?
@brovelli https://github.com/brovelli just a last request. What is
for you a good test that this works as expected?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/pull/3841#issuecomment-266976866,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASrbq_86-tdr5sgs14D8SUhyVutv26tbks5rH60jgaJpZM4LLnur.


Angular 18 Update

I was wondering if there are any plans to update this library to support Angular 18?

@behdi thank you for the reminder, will do it now!

https://github.com/stevermeister/ngx-wig/pull/209


Added public key compression for NIST P-256 keys

Problem
The did:key spec says that NIST P-256 keys should be represented as the base58 encoding of the 33-byte compressed public key. Currently, we were base58 encoding the spki public key representation.
Solution
Export keys as the raw 65 byte public key & compress keys before creating DID. When moving from DID to public key, we have to decompress the keys.
Note: I only implemented this for NIST P-256, not P-384 or P-521. It's the same algorithm but different curve params
Closes https://github.com/ucan-wg/ts-ucan/issues/80

How much effort would implementing this for P-384 and P-521 be? Is it just a matter of plugging in the right curve parameters in exactly the same algorithm?
Yeah same algo, just different params. I don't know of anyone that's using those curves, so I'm leaning towards just cutting them out for now & we can easily add them back in if someone needs them (we can leave the magic bytes around for now so we don't have to do any recalculating)

I know you probably just haven't gotten around to it yet, but I'd love to test the did-key-method test vectors against this implementation (they include the corresponding private keys as JWKs).

Yes that sounds great to me! Maybe we can get those in with the refactor

I think this is ready to go :man_dancing:

Can we get in just a couple of those test-vector tests, please? That's the thing that went wrong the last time we merged something like this, so I'd love to do it right this time around :sweat_smile:
Literally just copying over the test vector secret keys from the DID spec I linked to, importing them into WebCrypto as JWKs, turning those keys into EcdsaKeypair and seeing if .did() matches up with what's in the test vectors :pray:

Yeah can do 👍

Alrighty sweet got those added in 👍 lmk how that looks


Redis Benchmarks

Create redis benmchmarks and compare it with other existing scala redis integrations.
See redis4cats, laserdisc, zio-redis...

I'll try this issue

@GKhotyan there is a lot of methods to be tested within redis, I don't think we need to benchmark each of them since it will be difficult to maintain. It would be good to compare it with other libraries to actually see if the fact of using the underlying lettuce a constrain on terms of performance.
So I would start with a couple of methods of each module. Excluding PubSub, Server and Stream, since they are incomplete.


podlet: init at 0.3.0

https://github.com/containers/podlet
podlet init at 0.3.0
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 347281 run on aarch64-darwin 1

1 package built:

podlet

@ofborg build podlet

How hard would it be to add a passthru test? This seems like a good candidate: https://github.com/containers/podlet#generate-from-existing. Or generate and run a trivial container.

I'm so sorry. I really don't have any experience in writing test suits. It seems quite complex and difficult to me. Any suggestions are welcome.😭

I'm so sorry. I really don't have any experience in writing test suits. It seems quite complex and difficult to me. Any suggestions are welcome.😭

Don't worry about it then. I'll approve this.


[SYSTEMDS-273] Refactor Compressed Package

Hi, I think this is ready to merge :grinning:, @mboehm7 , and I will continue work in other branches :factory_worker:.
Note that tests of:
Sample based estimation tests are disabled, but can be enabled inside:
src/test/java/org/apache/sysds/test/component/compress/colgroup/JolEstimateTest.java
DDC share dictionary is disabled, but can be enabled inside:
src/test/java/org/apache/sysds/test/component/compress/CompressedTestBase.java
both are disabled because of :bug:.
Further work is added as tasks inside /docs/task.
SYSTEMDS-270 Compressed Matrix Blocks

273a Redesign allocation of ColGroups in ColGroupFactory
274 Make the DDC Compression dictionary share correctly
275 Include compressionSettings in DMLConfiguration
276 Allow Uncompressed Columns to be in sparse formats
277 Sampling based estimators fix
278 Compression-CoCode algorithm optimization
278a Return ColGroups estimated compression ratio to Factory
279 Add missing standard lossless compression techniques
279a ColGroup FOR (Frame of reference) encoding
279b ColGroup DEL (Delta) encoding
MINOR Reduce memory usage for compression statistics.
MINOR Make ContainsAZero() method in UncompressedBitMap

SYSTEMDS-360 Lossy Compression Blocks

361 ColGroup Quantization
362 ColGroup Base Data change (from Double to ??)

COMMIT MESSAGE:
Major refactor of compressed Matrix Block to "simplify" responsibilities.
The main goal of the refactoring was to reduce the amount of bindings
to CompressedMatrixBlock from the different types of ColGroups, to enable
easy addition of new types of groups. (without reducing performance!)
A list of new groups and other tasks associated with this is added to
/docs/tasks.txt .
Furthermore, the tests added for the compression work based on an
estimation tolerance, allowing the estimations inside the system to be
off by a set factor. In the tests, this has to be expanded upon to
enable better precision in how the estimations are calculated.
Bellow is an extract of the different changes:

Separated sub-parts of compression into different packages.

Array memory footprint worst case calculations.

Moved Compressed Size Estimation Calculation to specific ColGroups

Extensive testing of size Estimation of ColGroups and compression

Jol Memory Estimate tests for compression blocks
Using worst case Jol Estimate JVM using uncompressed 64-bit JVM
Ideal input generator for testing Col groups compression.

Factory pattern added for selected constructors

ColGroups

NameChange from ColGroupCompressor to ColGroupFactory

CompressedMatrixBlock

Enable the parallel execution of the ColGrouping (previously disabled)

Settings File added for Compression to enable selection of specific
compression types. This can be extended with settings loaded from
DMLConfig

This is constructed using a builder pattern such that invocation is
private.

Added abstract compressed block for overwriting default MatrixBlock

Add Test Libs to pom.xml

Memory estimator framework JOL from OpenJDK to measure object sizes

Major refactor of compressed Matrix Block to "simplify" responsibilities.
Many changes in compression planning especially in memory estimation.
Feedback appreciated :+1:
The remaining errors, are mainly in the sparse estimation of compression sizes. But include

Sparse estimation of Number of Distinct values is off when the input is sparse the wrong sample based estimators are used.
The bitmaps encoded for extracting column facts does not contain information of if there is a 0 present in the column.
A bug (intend to fix today) in unary operators when compressing with a specific compression scheme.

Hopefully if we merge the bugs mentioned above can be fixed within reasonable time.
Bellow is an extract of the different changes:

Separated sub-parts of compression into different packages.

Array memory footprint worst case calculations.

Moved Compressed Size Estimation Calculation to specific ColGroups

Extensive testing of size Estimation of ColGroups and compression

Jol Memory Estimate tests for compression blocks
Using worst case Jol Estimate JVM using uncompressed 64-bit JVM
Ideal input generator for testing Col groups compression.

Factory pattern added for selected constructors

ColGroups

NameChange from ColGroupCompressor to ColGroupFactory

CompressedMatrixBlock

Enable the parallel execution of the ColGrouping

Settings File added for Compression to enable selection of specific
compression types.

Added abstract compressed block for overwriting default MatrixBlock

Add Test Libs to pom.xml

Memory estimator framework JOL from OpenJDK to measure object sizes

Furthermore there are some remaining issues in the estimation of joined colGroups, containing multiple columns that estimate to large sizes.

LGTM - overall this is great @Baunsgaard. During the merge, I just fixed a few typos, and minor warnings (generics, static methods).
Additionally, you might want to consider moving the ColGroupSizes into the class hierarchy of column groups to avoid string-based dispatching (including abstract classes that could never be instantiated) and bring this closer to their implementation. Also, please reconsider the unnecessary indirection of AbstractCompressedMatrixBlock and CompressedMatrixBlockFactory. Is there any intention behind them other than splitting CompressedMatrixBlock into smaller files?

LGTM - overall this is great @Baunsgaard. During the merge, I just fixed a few typos, and minor warnings (generics, static methods).

Thanks @mboehm7  for the fixes :+1:, our editors detect different things, so I think it is a fine trade-off unless it required significant changes :smile:.

Additionally, you might want to consider moving the ColGroupSizes into the class hierarchy of column groups to avoid string-based dispatching (including abstract classes that could never be instantiated) and bring this closer to their implementation.

Yes I could move it back into the specific ColGroup classes, but the important thing is that they are static methods, not requiring you to construct an object of the ColGroup to calculate the sizes. Therefore I had some difficulties because static methods if can't be overwritten in java. Therefore I decided to have the logic separated into another class, instead of having "Semi Random" names for getting size of objects inside the individual classes. I hope you have a better suggestion, because I two do not like the ColGroupSizes class as it is now.

Also, please reconsider the unnecessary indirection of AbstractCompressedMatrixBlock and CompressedMatrixBlockFactory. Is there any intention behind them other than splitting CompressedMatrixBlock into smaller files?

The reason was that I wanted to make an LossyMatrixBlock object, that also pointed to the abstract CompressedMatrixBlock, such that we had the option to select compression also based on Object type. I did this before our discussion on keeping everything colocated inside CompressedMatrixBlock,  but while adding the lossy compression logic I will reconsider what could be smartest. That said, i 100% agree that the separation right now is unnecessary.

ok that makes a lot of sense - I though of lossy compression techniques as ColGroups but you're right it might be better to indicate that at global level (lossy if at least one lossy ColGroup).


[Error] Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues

[12-01-2016 15:02] Error downloading stash for Standard, exception details: System.Exception: Downloading stash, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues
at POEApi.Model.POEModel.logNullStash(Stream stream, String errorPrefix)
at POEApi.Model.POEModel.GetStash(Int32 index, String league, String accountName, Boolean forceRefresh)
at POEApi.Model.POEModel.GetStash(String league, String accountName)
[12-01-2016 15:02] System.Exception: Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues
at POEApi.Model.POEModel.GetStash(String league, String accountName)
at Procurement.ViewModel.LoginWindowViewModel.LoadStashItems(Character character)
at Procurement.ViewModel.LoginWindowViewModel.d__6.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Procurement.ViewModel.LoginWindowViewModel.<>c__DisplayClass2.b__1()
at System.Threading.Tasks.Task.Execute()

Have you tried Procurement 1.9.8-RC1 ?
https://github.com/Stickymaddness/Procurement/releases/tag/1.9.8-RC1


drop cancelled bid from results

@yarsanich в тебе ще й тести попадали

Coverage increased (+0.02%) to 82.7% when pulling bbea71c4dcfa7e6b57de11e1d285326aa5b5e7c9 on fix_post_results_with_cancelled_bid into 2037a25f3de88fcece69a987ca7673923a7e8381 on sandbox.

Coverage increased (+0.02%) to 82.7% when pulling c3215ea92582c974021b7e153f8fb57b98dfab4d on fix_post_results_with_cancelled_bid into 2037a25f3de88fcece69a987ca7673923a7e8381 on sandbox.

Coverage increased (+0.03%) to 82.717% when pulling e7bab83b700f87a01b067e51c92f7d1e35849ff0 on fix_post_results_with_cancelled_bid into 2037a25f3de88fcece69a987ca7673923a7e8381 on sandbox.


Could not invoke WebSocketModule.connect

I get an error after use socketcluster-client. I think this is related to RN WebSocketModule, not the module (https://github.com/SocketCluster/socketcluster-client/issues/55)

Tested on RN 0.29 Android. Use npm version 3.
EDIT:
I remove socketcluster-client and change it with native websocket module. I still get same error. But when I comment the code, it didn't throw an error. So I'm sure this is a bug from WebSocket.
This is how I reproduce that error:
const ws = new WebSocket('ws://anything-host')

I can confirm on this problem with RN 0.20 Android

I think this would need more sample code to be reproducible. I'm going to close this issue but please feel free to file a new one if it is still a problem and you have a sample app to reproduce it.

I have the same error  @lacker

OK - please open a new issue including code that reproduces it like a rnplay.org link.

I dont use any code about WebSocketModule.I fetch data from Android native。I  dont know why throw this error.


Wrong preditiction

Things to check

Have you forced a refresh in your browser (e.g. ctrl+F5 in Chrome/Firefox)?

yes

Have you made sure the first time buyer option is correct? If you're unsure, try it both ways

yes

Have you time-travelled this week? Travelling backwards resets the prices, and therefore you must not put prices in from both before & after the time-travel

no

Describe the bug
Predicted 100% minimum price 99/ max 153 for this Saturday afternoon. The price is 56. The prediction was wrong.
To Reproduce
Steps to reproduce
Permalink to your prices
Please click the Copy Permalink button and paste it here
**
Predicted 100% minimum price 99/ max 153 for this Saturday afternoon. The price is 56. The prediction was wrong.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

iPhone 7
OS:
Browser Safari
Version [e.g. 22]

Additional context
Add any other context about the problem here.

No permalink specified, marking issue invalid


AccessDenied exception when adding nori plugin to lambda from CustomResourceStack

Problem
Received response status [FAILED] from custom resource. Message returned: Error
: An error occurred (AccessDeniedException) when calling the AssociatePackage o
peration: User: arn:aws:sts:::assumed-role/AdvancedRAG-CustomResour
ceStack-LambdaRole3A44B857-A7hVeQM1M3my/AdvancedRAG-CustomResourc-CustomResourc
eLambda42C1-UMoCMt1di8Cs is not authorized to perform: es:AssociatePackage on r
esource: arn:aws:es:us-west-2::domain/rag-hol-mydomain because no i
dentity-based policy allows the es:AssociatePackage action

Logs: /aws/lambda/AdvancedRAG-CustomResourc-CustomResourceLambda42C1-UMoCMt1di8
Cs

at invokeUserFunction (/var/task/framework.js:2:6)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async onEvent (/var/task/framework.js:1:369)
at async Runtime.handler (/var/task/cfn-response.js:1:1676) (RequestId: 0472957
c-42cc-4aa3-9bcd-024dd4931383)

Solution

Fixed
#10


Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory

Hi,
I got error Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'F:\anitha\jofoz-web\src'
resolve './$$_gendir/app/app.module.ngfactory' in 'F:\anitha\jofoz-web\src'
My angular cli version
"@angular/cli": "^1.5.0"
My global angular cli version
Angular CLI: 6.1.3
How can i fix this problem.
Kindly advice me,
Thanks

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.
If you file a new issue, please follow the template and provide a reproduction.


question: how to skip the ui an go straight to OIDC provider login page

A clear and concise description of what you want to accomplish.

Hi, can we configure the plugin to skip the UI portal and directly redirect the unauthenticated user to OIDC provider login page?
Thanks

@rucciva , that’s easy. Please share your current config and I will explain based on it.

Hi @greenpau , actually i havent yet tried to deploy it, but what i'm trying to achieve is something like this

Check incoming request.
If not from certain IP, assert jwt from certain cookies
If JWT is valid, continue processing the request to the next handler and ignore next step.
If JWT is invalid, redirect to oidc provider authorization url.
Upon succesful login with oidc and after being redirected back to caddy, set certain cookies with oidc access token (JWT)
Redirect back to url visited in step 1

Note that the OIDC provider is a generic one.
Thanks

Yes, it would work.

@rucciva , here are the various oauth config examples https://github.com/authp/authp.github.io/tree/main/assets/conf/oauth

Thanks for the link @greenpau .
So i suppose i should start with https://github.com/authp/authp.github.io/blob/main/assets/conf/oauth/generic/Caddyfile right?
So what are the the lines to be added/modified if i want to avoid showing the ui and redirect to oidc provier's login page instead?

hi @greenpau , i've tried the config but i was faced with error due to the oidc provider is also behind the same caddy instance
run: loading initial config: loading new config: loading http app module: provision http: server srv0: setting up route handlers: route 4: loading handler modules: position 0: loading module 'subroute': provision http.handlers.subroute: setting up subroutes: route 0: loading handler modules: position 0: loading module 'authentication': provision http.handlers.authentication: loading authentication providers: module name 'authorizer': provision http.authentication.providers.authorizer: loading security app module: provision security: server initialization failed: failed configuring identity provider: failed to fetch metadata for OAuth 2.0 authorization server: Get "https://censored/.well-known/openid-configuration": dial tcp <IP_ADDRESS>:443: connect: connection refused

<IP_ADDRESS>:443 is where caddy is listening

@rucciva , you have connectivity issues. dial tcp <IP_ADDRESS>:443: connect: connection refused

yes, thats because caddy won't start because the caddy-security is not yet starting because it cannot contact the oauth2 provider that is behind caddy. so it's chicken-egg problem i guess?

@rucciva , there is a fix for that.it is called delayed start. Please try it out https://authp.github.io/docs/authenticate/oauth/backend-oauth2-endpoint

Hi @greenpau , it's working now, thanks.
but i keep getting forbidden error
caddy-caddy-1  | {"level":"error","ts":1661929993.5077934,"logger":"http.handlers.authentication","msg":"auth provider returned error","provider":"authorizer","error":"user authorization failed: src_ip=<redacted>, src_conn_ip=<redacted>, jti=M3hZVAdPUCUaXEP6vgdaOYjQ8KtmPa6YnNKn, sub=0158ee285e3d26744a65b47d133d5f9848d976aacbfe8997430ae054f046e8e3, email=<redacted>, name=<redacted>, reason: user role is valid, but not allowed by access list"}

my config is like this
{
order authenticate before respond
	order authorize before basicauth

   security {
		oauth identity provider generic {
			realm generic
			driver generic
			client_id <redacted>
			client_secret <redacted>
			scopes openid email profile
			base_auth_url <redacted>
			metadata_url <redacted>
         delay_start 15
		}

		authentication portal authentik {
			crypto default token lifetime 3600
			crypto key sign-verify <redacted>
			enable identity provider generic
			cookie domain <redacted>
		}

		authorization policy authentik {
			set auth url <redacted>
			crypto key verify <redacted>
			validate bearer header
         acl default allow
         inject headers with claims
		}
	}
}

The error tells you that your role (probably guest) is not enough to access protected content. Please read docs on “User Transforms” and RBAC.
https://authp.github.io/docs/authenticate/user-transforms
https://authp.github.io/docs/authorize/acl-rbac

So what does acl default allow do?
I was under the expression that this will allow any logged-in user to access the protected endpoint

It does what it says here: https://authp.github.io/docs/authorize/acl-rbac#default-allow-acl
however, it allows user and admin. It is likely you are guest.

however, it allows user and admin. It is likely you are guest.

Ah, i didn't get this one from the doc. So it should be okay if i add user (or authp/user?) roles to all users right? If i'm not mistaken, the current roles given includes "authp/guest"

Hi @greenpau , i still cant get acl default allow to work
here is the cookies
{
  "addr": "redacted",
  "email": "redacted",
  "exp":<PHONE_NUMBER>,
  "family_name": "",
  "given_name": "I Putu Ariyasa",
  "iat":<PHONE_NUMBER>,
  "iss": "redacted,
  "jti": "f1U721kijukCe5YZMC5lwDBjAxzn31X7msDlHqTIX7",
  "name": "I Putu Ariyasa",
  "nbf":<PHONE_NUMBER>,
  "origin": "generic",
  "realm": "generic",
  "roles": [
    "user",
    "authp/user"
  ],
  "sub": "0158ee285e3d26744a65b47d133d5f9848d976aacbfe8997430ae054f046e8e3"
}

and here is the config
{
   order authenticate before respond
   order authorize before basicauth

   security {
      oauth identity provider generic {
	realm generic
         driver generic
         client_id redacted
         client_secret redacted
         scopes openid email profile
         base_auth_url redacted
         metadata_url redacted
         delay_start 15
      }

      authentication portal authentik {
         crypto default token lifetime 3600
         crypto key sign-verify redacted
         enable identity provider generic
         cookie domain redacted
         transform user {
            exact match realm generic
            action add role user
            action add role authp/user
         }
      }

      authorization policy authentik {
         set auth url redacted
         crypto key verify redacted
         validate bearer header
         acl default allow
      }
   }

but i can get it work with allow roles authp/user instead of acl default allow

@rucciva, remove “action add role user”, “ acl default allow”.  Add “ allow roles authp/user authp/admin”

noted @greenpau , that is what my current config looks like. Just wondering why acl default allow didn't work at all. Thank you very much.
btw, what do you think of this. instead of using delay_start x, why not make the plugin ignore error when requesting metadata_url at load time and let the authenticate and authorization fail while keep retrying to contact the metadata_url?.
I mean in a scenario where we need to run caddy at the first time with a lot of certificate to be generated, we usually don't have clue when will the certificate generation is finished, hence we usually don't know how much time it takes for the oauth2 provider behind caddy to be ready.

hi @greenpau , sorry for another question. is it possible to remove the httponly attribute from the cookie generated by the authenticate plugin?

@rucciva , I am looking to add testimonial sections to https://authcrunch.com. Could you please write one and send it to me at<EMAIL_ADDRESS>