[stable/chartmuseum] Add option to specify priorityClass to deployment

What this PR does / why we need it:
Add new 'priorityClass' value which would allow us to specify a
priorityClass name for the deployment
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

cc @jdolitsky @yurrriq

/ok-to-test

/lgtm


Restore link to indicators page, as item under "browse" menu

As noted in #799, it might be handy to have a link to the indicators page.
This page is not actively linked but is useful to keep around as

a list of all "my" indicators in one list
it doesnt run any aggregating queries so it is very fast

This would partially reverse #663

@axoplasm Just curious -- is that menu automatically sorted alphabetically, or was that manually organized -- which wouldn't work in all languages?

The Indicators option appears in the Browse menu and loads the "master indicator list" as expected.


Angular module using gf command

Hello,
Great work, nice to have this info! Not sure if relevant for you, but just wanted to let you know that I created an angular module to control the GF via web bluetooth.
https://github.com/abroekhuis/angular-grainfather-controller
Ps: do you mind if I make a copy of the commands from your work?

Cool stuff, you're free to do whatever you'd like with it, it's why I made this repo in the first place.


fork-ts-checker-webpack-plugin incompatible with Yarn

OS: Windows 10
Node version: 12.4.0
Create-react-app version: 3.1.0
I cannot create a new react app. I get the following output in my console after running create-react-app test:
Creating a new React app in C:\Users\username\desktop\test.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...

yarn add v0.24.5
[1/4] Resolving packages...
[2/4] Fetching packages...
warning<EMAIL_ADDRESS>The platform "win32" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
warning<EMAIL_ADDRESS>The platform "win32" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
error<EMAIL_ADDRESS>The engine "yarn" is incompatible with this module. Expected version ">=1.0.0".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Aborting installation.
  yarnpkg add --exact react react-dom react-scripts --cwd C:\Users\username\desktop\test has failed.

Deleting generated file... package.json
Deleting generated file... yarn.lock
Deleting test/ from C:\Users\username\desktop
Done.

Updating to latest version of Yarn fixed it.
npm i -g yarn

Uninstalling yarn solve the issue.
sudo rm -rf /usr/local/Cellar/yarn/0.20.3


Add support to Scala products for Sink and OutputFormat

Inspired by Cassandra connector with respective PR

@0xNacho please take a look


(WIP) MySql Record Change Repository

Fixes #176

Closing this for the time being, as there maybe further optimizations needed as a result of perf testing.  Reviews would be premature


Towards Vue 3 / Nuxt 3

Migration Roadmap click here

Is your feature request related to a problem?
Since we have Nuxt Bridge

#2677

we should leverage the latest features

Pinia could be considered (#4755)
Composition API (#4750)
blocker https://github.com/kodadot/nft-gallery/issues/2692
#2081
@nuxtjs/apollo next
@nuxtjs/i18n #3916

Nuxt 3 Docs
Nuxt Bridge
Those looking for chart
Ref

https://github.com/kodadot/nft-gallery/issues/4704

Putting p5 as major release nuxt/vite by all hands call will be in June so it's not a hurry nor we are not gaining any edge having it.

library/tools recommended for vue3: https://v3-migration.vuejs.org/recommendations.html#new-framework-level-recommendations

New versions of Router, Devtools & test utils w/ Vue 3 support
Build Toolchain: Vue CLI -> Vite
State Management: Vuex -> Pinia
IDE Support: Vetur -> Volar
New command line TypeScript support: vue-tsc
SSG: VuePress -> VitePress
JSX: @vue/babel-preset-jsx -> @vue/babel-plugin-jsx

IDE Support: Vetur -> Volar

I already switched to Volar

Some notes to help us migrate to vue3/nuxt3:
We need to reduce using nuxt-property-decorator first and use composition API instead. It will help us to migrate to vue3/nuxt3
https://github.com/nuxt-community/nuxt-property-decorator/issues/83#issuecomment-1245139696. at least for newer components
related: https://github.com/kodadot/nft-gallery/issues/2893
And I think we face this problem also https://github.com/nuxt-community/nuxt-property-decorator/issues/83#issuecomment-1246615441; most of the library is still not ready in nuxt3. And maybe some libs/modules are not compatible also in nuxt-bridge

@preschian
just as a sidenote:
afaik Class API is not going to be supported in Vue3/Nuxt3 whatsoever. So we are kind of forced to rewrite everything to Composition API/Options API before we can upgrade to Nuxt3

So we are kind of forced to rewrite everything to Composition API/Options API before we can upgrade to Nuxt3

reduce using nuxt-property-decorator

#4750

What's about libraries? @preschian

nuxt-buefy

what's issue with nuxt-buefy? jtommy (buefy author) can help us push things and happy to pay/sponsor repo as I bet we will be not only one stuck here. If you can get back to me with issue what's there we can put spotlight on that to remove one blocker

https://github.com/buefy/nuxt-buefy/issues

several days ago I'm trying to upgrade to nuxt3, but still got blocked by these modules

Did you manage to build anything?

* nuxt-buefy

This one IMO won't update in the upcoming month, we can try to wrap buefy config & import each components or replace buefy code with oruga-ui.
it may help rewritte some of the components If we can list what is still being used.

* @nuxtjs/apollo

@nuxtjs/apollo next

* @nuxtjs/i18n

i18n v8 is in beta

I think this is the goal.

608 results in 149 files 👯♀

What need to be done:

[ ] finish #4755, remove vuex & vuex-persist (&patch)
[ ] replace all buefy components with Neo lib or oruga and remove buefy
[ ] complete #4750
[ ] Audit Vue3 compatibility with some packages (tippy, infinite-loading, markdown-render)
[ ] replace Identicon implementation for Vue3 (ping me)
[ ] upgrade to nuxt3, remove nuxt-bridge & edge
[ ] upgrade i18 #3916
[ ] upgrade @nuxtjs/apollo
[ ] upgrade nuxt3 plugins
[ ] update layouts & page with vue3 composition (

replace Identicon implementation for Vue3 (ping me)

The polkadot package should be usable for Vue3 too

The polkadot package should be usable for Vue3 too

https://github.com/polkadot-js/ui/issues/747
&
https://stackblitz.com/edit/vue3-vite-starter-efpvnz?file=src%2FApp.vue,src%2Fcomponents%2FHelloWorld.vue

several days ago I'm trying to upgrade to nuxt3, but still got blocked by these modules

Did you manage to build anything?

nuxt-buefy

This one IMO won't update in the upcoming month, we can try to wrap buefy config & import each components or replace buefy code with oruga-ui. it may help rewritte some of the components If we can list what is still being used.

@nuxtjs/apollo

@nuxtjs/apollo next

@nuxtjs/i18n

i18n v8 is in beta

Hello @roiLeo What's the issue you encounter with @nuxtjs/apollo?

Hello @roiLeo What's the issue you encounter with @nuxtjs/apollo?

I didn't encounter issue yet, we need to fix #4750 first.

Continue to

https://github.com/kodadot/nft-gallery/issues/7034


Deprecation notices

1x: The "Zalas\Injector\PHPUnit\TestListener\ServiceInjectorListener" class implements "PHPUnit\Framework\TestListener" that is deprecated Use the TestHook interfaces instead.
1x: The "Zalas\Injector\PHPUnit\TestListener\ServiceInjectorListener" class uses "PHPUnit\Framework\TestListenerDefaultImplementation" that is deprecated The TestListener interface is deprecated.

I am getting these deprecation notices with PHPUnit 9.2.2.

@gjuric yes, I'm afraid this extension will stop working in PHPUnit 10 due to BC incompatible changes in PHPUnit.

I've been digging around this a little bit and it seems like the TestHooks in PHPUnit 9.5 are currently not a suitable replacement for TestListeners since they provide only the class name of a test being run and not the actual Test.
I've managed to create a PoC that works by putting the code that is currently in ServiceInjectorListener into a class that is extending PHPUnit\Framework\TestListener, running the code that is in ServiceInjectorListener::startTest() in a setUp() method of this class and making my tests extend this.
I am not really a fan of this approach since one has to remember to call parent::setUp() otherwise this will not work.
Do you have any other ideas/plans on how to approach or do you even plan to work on this? Also, do you need any help?

@gjuric I don't have the capacity to work on this at the moment, so feel free to take over! I'll be happy to review your POC too.

OK, looking into it. Unfortunately my idea falls apart if you already need to extend another TestCase class (not the original, PHPUnit one). I've opened an issue on https://github.com/sebastianbergmann/phpunit/issues/4541 but it looks like there will be no suitable replacement for the current implementation.

@gjuric looks like they won't support it "by design". All's left is to wait and see what kind of support PHPUnit will get for real annotations.

There's one more thing to check. In the past, I played with AOP to do similar kind of injections. However, with PHPUnit it wasn't possible as AOP frameworks usually hook into the autoloading process and PHPUnit wasn't using composer autloading. Mind checking if that's still the case or have they switched to autoload test classes with composer?

Perhaps the new event system will somehow enable this: https://github.com/sebastianbergmann/phpunit/issues/4676

I have migrated another extension to PHPUnit 10: https://github.com/jakzal/phpunit-globals/pull/31

For anyone who'd like to pick this up, the PHPUnit globals extension also supports attributes now: https://github.com/jakzal/phpunit-globals/blob/main/src/GlobalsAttributeReader.php

I have found a pretty straightforward solution for me, but I am not sure if it is suitable for everyone:
I already have this class in the Symfony project:
abstract class WebTestCase extends SymfonyWebTestCase implements ServiceContainerTestCase

Then everything I needed was to update my setUp method like this:
protected function setUp(): void
{
    parent::setUp();

    $injector = new Injector(new TestCaseContainerFactory($this), new DefaultExtractorFactory([TestCase::class, Assert::class]));
    $injector->inject($this);
}

@jakzal I understand, I have tried the trait way, but the method from trait is not called, if I move it to the Test class, it works correctly.
https://github.com/TomasLudvik/phpunit-injector/commit/56f4398a0c728820472dbe2215c59c1993f5baa0


WIP on Concurrency work

This is a new PR as I moved the code to the TomEE repo in order to allow people to fork and directly PR this branch. FYI @jgallimore

@jgallimore there are currently 2 tests failing, could you check it?
https://ci-builds.apache.org/job/Tomee/job/pull-request-manual/65/
CustomInjectionTest defines a ManagedExecutorService
.property("concurrent/es", "new://Resource?type=ManagedExecutorService")
and tests the injection, which is null:
    @Resource(name = "concurrent/es")
    private ManagedExecutorService es;

The only failing test related to this change is ManagedExecutorServiceGetPrincipalInTaskTest. I guess, that wiring up the security service with async/managed executors isn't complete. FYI @jgallimore

Full build looks good now. Only the usual toggles are failing: https://ci-builds.apache.org/job/Tomee/job/pull-request-manual/69/#showFailuresLink

Yeah 🙏 so lets merge?

Yeah 🙏 so lets merge?

Yup. Think we are good to go now (at least with this first impl), full build is ok and we can take care of the new tck later.


Hotplugged devices are not being detected by X

So all my devices are detected and function normally when they are known upon starting X. However, if I attempt to hot plug a device, it is not recognized. Similarly, when I unplug a device, X doesn't notice its disappearance. Restarting X allows the new devices to be correctly detected, so seems like an issue with hotplugging.
I'm using the uevent method. I'm using a custom device manager, but it is similar to smdev. And in regards to uevent files, the same as the helper scripts provided in that it just dumps the environment to /tmp/.libudev-zero/uevent.XX. The uvent files are generated correctly. I also using the provided uevent helper scripts to no avail.
I'm using the latest libudev-zero (6685cfa). Made sure I was at the latest version of recompiled libinput and xf86-input-libinput. Also undid any patches I made to X.
Interestingly enough, I have Xorg in debug mode and I see messages like input-thread: InputThreadDoWork waiting for devices when I unplugging/re-plugging devices

Hotplugging just works for me without any issues. I'm using xorg-server 1.20.11 and busybox mdev with provided contrib/mdev.conf + some modifications. Are you sure that kernel is properly configured? Permissions of /dev/* are set correctly? Are you using modular(external modules) or monolithic(builtin modules) kernel?

I can confirm that the uevent helper is being triggered so assume the kernel is fine.
Running x as a non-root users who is part of a group that has read/write access to relevant /dev/ files. Also if it was a permission issue, I'd always have an issue and not just with hotplugging. Did try running X as root and that didn't help.
Some combination. The ones from these input devices are modules which are loaded currently shortly after boot. Can confirm the modules get loaded correct as the devices are at one point detected and usable.
I'm sure it is something I have configured somewhere... But I seem to have issues like this often where a given device isn't behaving as expected (other cases where my devices being detected as the wrong type and ignored by X). May be useful to have some debug logging? Like device {name} added/removed or device {name} detected as DEVICE_TYPE

Please attach the xorg log and uevent files.

But I seem to have issues like this often where a given device isn't behaving as expected

What do you mean?

May be useful to have some debug logging? Like device {name} added/removed or device {name} detected as DEVICE_TYPE

I'll think about it.

I also encountered this while testing in qemu. I started X in VM and then added usb-mouse via device_add. The proper node appeared in /dev, uevent was created and was detected by inotifywait but X didn't detect it until restart

@illiliti Attached Xorg log. After starting X, waited a while unplugged/replugged devices (no change in the logs) and then restarted X. I turned off debug logging because that seemed to be too verbose and contain irrelevant info other than the input-thread: InputThreadDoWork waiting for devices which show up when the device is removed.
The uvent files are just a dump of the environment. The SUBSYSTEM is input and the DEVNAME is input/event* and the ACTION is either add or remove. SEQNUM, MINOR and DEVPATH tend to also be set

But I seem to have issues like this often where a given device isn't behaving as expected

What do you mean?

For the other commits I've submitted, had a similar problem of not knowing where the disconnect was between libudev-zero and X. In those cases it was because the devices weren't tagged correctly, but the X log just said X was ignoring the device. So it wasn't immediately clear what the problem was.

@illiliti
Think I found the problem area
udev_monitor.c
    while (epoll_wait(udev_monitor->efd, epoll, 2, -1) != -1) {
        for (i = 0; i < 2; i++) {
            if (epoll[i].data.fd != udev_monitor->pfd[0]) {
                continue;
            }

            read(udev_monitor->pfd[0], data, 1);
            write(udev_monitor->pfd[1], "1", 1);
            pthread_barrier_wait(&udev_monitor->barrier);
            return NULL;
        }

        len = read(udev_monitor->ifd, data, sizeof(data));

        if (len == -1) {
            continue;
        }

        for (i = 0; i < len; i += sizeof(struct inotify_event) + event->len) {
            event = (struct inotify_event *)&data[i];

            // TODO directory is removed
            if (event->mask & IN_IGNORED) {
                break;
            }

            send(udev_monitor->sfd[1], event->name, event->len, 0);
        }
    }

Seem to be stuck in epoll_wait and don't reach read(udev_monitor->ifd, data, sizeof(data)); Replacing the while condition with while(1) and skipping the inner for loop, allows for hotplugging.
Upon further investigation, it seems like epoll_wait is returning -1 (I imagine errno=EINTR). I'll send fix shortly

@illiliti
Think I found the problem area
udev_monitor.c
    while (epoll_wait(udev_monitor->efd, epoll, 2, -1) != -1) {
        for (i = 0; i < 2; i++) {
            if (epoll[i].data.fd != udev_monitor->pfd[0]) {
                continue;
            }

            read(udev_monitor->pfd[0], data, 1);
            write(udev_monitor->pfd[1], "1", 1);
            pthread_barrier_wait(&udev_monitor->barrier);
            return NULL;
        }

        len = read(udev_monitor->ifd, data, sizeof(data));

        if (len == -1) {
            continue;
        }

        for (i = 0; i < len; i += sizeof(struct inotify_event) + event->len) {
            event = (struct inotify_event *)&data[i];

            // TODO directory is removed
            if (event->mask & IN_IGNORED) {
                break;
            }

            send(udev_monitor->sfd[1], event->name, event->len, 0);
        }
    }

Seem to be stuck in epoll_wait and don't reach read(udev_monitor->ifd, data, sizeof(data)); Replacing the while condition with while(1) and skipping the inner for loop, allows for hotplugging.
Upon further investigation, it seems like epoll_wait is returning -1 (I imagine errno=EINTR). I'll send fix shortly

Just tested your patch with my qemu setup, it didn't work.
Uevents are created, so helper works as expected.

@phkrl "it didn't work" is very descriptive. My patches solves the issue I was having so maybe we just had similar symptoms?
Are the inotify events being generated for you (or do you even reach the line where they are read)? Can you confirm that the you were exiting this while loop prematurely and now aren't?

I found the problem: in my case it was caused by permissions of uevents created by mkstemp (i used helper.c). If i set permissions to 644, hotplug works

@phkrl i added extra fchmod(2) call to ensure that file is readable.

@illiliti Just tested HEAD and I still have the same hotplugging issue.

This is very odd. I'm still trying to understand what is the root of problem? I can't figure that out because i can't reproduce it.
@TAAPArthur please try to debug it or provide more useful information.

@illiliti I get that my last message wasn't the most useful. But from my standpoint, I had provided a complete fix that was quietly ignored in favor of the current solution, which doesn't solve the problem. Now I'm being asked to further debug why the new "solution" didn't work?
Was there something wrong with the original fix that I have tested and confirmed works?


First/Last item in the Carousel has incorrect width

Carousel's first and last item's width are off by a few pixels, but this is enough to cause borderRadius to look terrible.

See how the border radius is off on the first item. You don't see the last item on the screenshot but it is the same - width is off by a few pixels, hence the white bars at the top/bottom, causing borderRadius to be not round.

Here, the Carousel has a viewportFraction property which sets the width based on the carousel's width in percentage. Now I tried adding the leadingGap and trailingGap as a margin of the item but it affects the width of the item. See the below image.

Temporarily we can fix it by changing the image BoxFit.fill solving the issue to make the corner radius but the Nike width is smaller than the Adidas.

We can't do fill or any other fit because some of the logo is elongated

Internally the carousel_slider uses the viewportFraction of PageController. So the widget uses the size of the viewport.
The problem here, The first item width is not adjusted to the padding, it shrinks the widget when added with padding instead of expanding with the padding so the image height is shrinked here.

@vinothvino42 let's implement the multi-view as a ListView or Row, but plese support all existing inputs.


Dispose not called on VRHelper from Scene

Switching from one PG to another won't release the VR button created by the VRHelper as it's not called from the Scene onDispose logic. This test: https://github.com/BabylonJS/Babylon.js/blob/master/src/babylon.scene.ts#L3830 always returns false.
We would need to register to scene.onDisposeObservable

Link with #3352


#1083 - Interceptor Exact Match check before Reg Exp

See #1083
Currently the intercept("url", ...) command does new RegExp(url) behind the scenes to match against request URLs. This does not escape special RegExp characters e.g. . or ?
This PR implements a simple String match against the intercept URL & Request URL and then does a more complex Reg Exp match if that fails.
This allows us to intercept requests which have query parameters e.g. https://host.com?query=value which currently does not work without explicitly escaping the special characters e.g. https://host\\.com\\?query=value

@gaugebot recheck the pull request.

Fixes #1083
(Adding keyword to trigger automatic closing of the issue on merge)


Add support for Markdown

Is it possible to add markdown syntax highlight to the theme? that would be great

What exactly would you like to see? There are no keywords, variables or functions in Markdown so it would be hard to get a sense of what the syntax would be working on.

@karloluis for example
which highlights the headline tags, quotes, italic and etc.

Okay now, THIS is sexy! Is this a plug-in for some other software? Maybe there is a language package in apm that sets the grammars for seti-ui to go through.

the above screenshot is from http://macdown.uranusjr.com/

Atom somewhere recently added support for theming Markdown preview: https://github.com/atom/markdown-preview/pull/298
It's on my todo list, but will happily accept a PR is somebody wants to beat me to it :)

this is a better representation could be implemented

Oh. It is so cool to add the syntax for markdown!

Depending on the implementation it seems this would work for asciidoctor highlighting also: https://github.com/asciidoctor/atom-language-asciidoc/blob/master/styles/asciidoc.atom-text-editor.less Currently Seti is acceptable for Asciidoc editing, but not as awesome as it is for other source code highlighting. Therefore it would be great to see this Markdown support drop.

Any progress on this? Markdown preview is one of the best features in Atom, and having a good syntax for editing it in Seti would be nice.

Why not use https://atom.io/packages/language-markdown ?

I submitted a PR to improve markdown syntax colors with Seti Syntax. I also made it available as a gist: you can copy-paste it in your Atom styles.less file. It works with both language-markdown and language-gfm.
Link to gist: Atom stylesheet customizations for markdown


Semi-colon requirements/spec for TypeScript-specific concepts

I apologise for deviating from the standard template, but I strongly feel this low-level question can only be answered by a member of the TypeScript team.
I began asking this in the gitter channel but I think this is more appropriate in this case.
Background
I am a member of the ESLint team working on the typescript-eslint-parser project. We are super excited to bring TypeScript support to ESLint and be able to bring together two awesome communities.
We are currently looking into how we could extend existing rules to "just work". Early findings and more background to that is available here: https://github.com/eslint/typescript-eslint-parser/issues/77
Specifically this has led me to need to determine how semi-colon behaviour is defined for TypeScript-specific statements?
For example, if we want want to extend the semi or no-extra-semi rules in ESLint to take TypeScript specific nodes into account, we first need to define when a semi-colon could be used (whether required or not).
Some examples:
Type aliases seem to work just fine with or without semi-colons:
type Result<T> = Success<T> | Failure
type Result<T> = Success<T> | Failure;

Interfaces seem to allow pretty much anything as a delimiter:
interface Foo {
	bar: boolean
	baz: string;
	qux: any,
}

Is it spec'd somewhere, officially or unofficially, how these statements and delimiters should behave?
Many thanks in advance!

The grammar is specified in the TS spec, see https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#A. The TS grammar is defined as an addition to the ES6 grammar. so it only handles TS specific.
I would consider the spec "correct". but there are productions that the compiler would allow and are not mentioned in the spec. e.g. allowing missing ; for type alias declaration. i would consider this a bug in the compiler.
So in general, I would refer to the spec for the expected behavior. if the expected behavior is inconsistent with other parts of the language, or if the implementation deviates from the spec, these should be either spec or implementation bugs, and we can address these.

e.g. allowing missing ; for type alias declaration. i would consider this a bug in the compiler.

That's an interesting point of view. ASI in JavaScript is relied upon by many who prefer to write their code with no (extra) semi-colons (myself included), so it seems very natural to me that TypeScript, as a superset of JS would have its own notion of ASI...
As someone who prefers no extra semis for example, I have always written type alias statements and interface members without semi-colons - I never looked that up when learning, it just seemed a natural extension of my JavaScript.
How do you feel about looking at it from the opposite standpoint - rather than a bug in the compiler, it is a feature missing from the docs?

I am thinking about it from my "user perspective" here because the linter's job is naturally to lint what ever is valid and being used by people. I am sure many will write their TS in the way I have described above

I would love for semicolons to be officially optional in the TS spec. I'm another one of those 'no extra semis' people.

well semicolons are not required after declarations. e.g. interface, namespace, enum, etc.. they are not part of the production. so a semicolon after an interface is parsed as an empty statement (i.e. error in a .d.ts file). and personally i believe allowing semicolons here would be wrong.
Semicolon is optional for JS declarations e.g. const, let, var, etc.. (following the ASI rules)
The only place that it is required by the grammar is the type alias declaration.  and the implementation enforces the same ASI rules.
so i do not think there is a general issue here. it is only type alias declarations. personally i believe it should have a semicolon. but we would be open to change the rules for this one.

Thanks @mhegazy, that has definitely clarified things a bit.
I am sorry for the confusion around semi-colons and interfaces - I didn't mean after the interface declaration I meant after the member(s) within the interface, as in my example above:
interface Foo {
    bar: boolean
    baz: string;
    qux: any,
}

; or , should be required i would say. ; would be my pick for style, if i may.

Ok great. I think in the case of interface members, then, we would look implement an additional rule, whereas we will probably extend the core rule to account for the type alias declaration statement as it behaves much more like a JS VariableDeclaration.

For the record, you can get get a sense of the right behavior by looking for occurrences of canParseSemicolon(), and scanner.hasPrecedingLineBreak() in the parser.


iOS 11 - safeAreaInsets gets messed up on rotate

On iOS 11, if you have both the front and back view controllers visible, rotating the device will cause the front view controller to have incorrect safe area insets, and therefore the content will be misaligned. It goes away when you hide the back view controller (slide the menu off).

Can you upload a screenshot?

Here is a screenshot going through each step.

I don't know what I did... but the problem appears to be gone. I wish I knew what the solution was so I can help the next poor sucker to experience this.


Browser addon support seems has issue

Describe the bug
There isn't content in unknown project. But the time is recorded

How is it show in wakatime

System information
Please provide information on:

Wakapi version: docker latest tag. Should be 2.7.0 that I've tried pull and up to date

If Docker: which image and tag? https://github.com/muety/wakapi/pkgs/container/wakapi

Database (SQLite, MySQL, ... ?) postgres:12.3

Hi @SettingDust, thanks for reporting this. Unfortunately, I can't really reproduce this. Seems to be working for me:

Can you tell which version of the browser plugin you are using and potentially even show your config (with API key redacted)?

Firefox. Addon 3.0.12.

And there is an error

MB. After look into the addon console. Caused by CORS. Seems the addon haven't grant the permission for the host. Should be reported to addon repo

The original WakaTime browser add-on does only have permissions for wakatime.com. The issue was discussed in https://github.com/muety/wakapi/issues/237, as a result of which we developed chrome-wakapi which (a) also has permissions for wakapi.dev and (b) allows to relay heartbeats to any other host (e.g. wakapi.example.org) through the official Wakapi instance, so no additional host permission are required for self-hosted instances.
However, since of course only works for publicly accessible instance, you won't be able to reach localhost this way. If you want the add-on to send data to localhost, there's no way around building the plugin yourself with custom host permissions compiled in.

But why is there time recorded

Could be coincidence? Are you using Wakapi with any other plugins (e.g. VSCode, IntelliJ, etc.)? If yes, probably one of them has sent heartbeats for "unknown" project.

Well. Grant permission should be a feature for the addon

Permissions must be defined at compile time via host_permissions in the manifest.json file. That's a requirement of the WebExtension API and adds to security. In my understanding, there's no way to retroactively allow an add-on to make requests to hosts that were not specified in the manifest. The whole discussion in https://github.com/muety/wakapi/issues/237 is around just that. Please correct me if I'm wrong.

https://github.com/SettingDust/obsidian-web-clipper/blob/main/src/app/options/general/general.component.ts#L46-L52
Can grant permission with this

Very cool, didn't know that! I filed an issue with the official plugin, see https://github.com/wakatime/browser-wakatime/issues/209. Maybe we can even get rid of chrome-wakapi in the long run.

https://github.com/wakatime/browser-wakatime/pull/221


Add disabled input box that displays the implied dt for a time course

Add to https://run.biosimulations.org/create

:tada: This issue has been resolved in version 2.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


ng new --next

🚀 Feature request
Command (mark with an x)

[X] new

Description
For prerelease testing, it's pretty common to make a new application, switch it to next dependencies, and then test out a new feature. As it stands, we have to:

ng new a new application.
Update package.json to use next for all the Angular versions (where it is easy to miss one).
Run npm install to get updated dependencies.

Describe the solution you'd like
Ideally we could just do something like ng new --next and generate the application with next in package.json. This would be useful for prerelease testing as well as for communicating to GDE's and other prerelease testers "Just run ng new --next and then try out the feature!"

At the moment this can be done via npx @angular/cli@next new ....

Closing as per offline convo.


Provide quick fixes (editor actions) for violations

Extensions could register code actions, which could be invoked by user to provide fast syntax fixes.
For some violations it could be just simple find and replace (for example S2006). When SC2006 violation occurs you simply select quick fixes -> Convert backticks to subshell notation and vscode automatically change it for you.
Same for double quotes (SC2086), let (SC2219), ...

Typescript as example: https://code.visualstudio.com/Docs/languages/typescript#_quick-fixes

It's definitely a great feature, but I'm sorry to tell you I may not implement that myself :(  (PRs are welcome though)
Just because ’quick fix‘ is not that easy to implement well, unless you roll your own language server, and I got little spare time...

The latest shellcheck release notes say the next version has work on:

Preliminary support for fix suggestions

https://github.com/koalaman/shellcheck/blob/master/CHANGELOG.md
:)

#70 Provide basic support to "Auto Fix" feature, shellcheck v0.7.0 or better is required.
For early birds builds, please visit: https://timonwong.visualstudio.com/_apis/resources/Containers/4316436?itemPath=vsix%2Fshellcheck-1.0.0-alpha.vsix

v0.9.0 released. In order to get this work,  shellcheck v0.7.0 or better is required, and, "shellcheck.enableQuickFix" should be "true" as well.


Cannot set the text value for TextField inside a AutoComplete component.

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
import React, {useRef } from "react";

export default function App () {
const entryRef = useRef();
return(
<Autocomplete
        multiple
        id="tags-filled"
        options={[]}
        freeSolo
        renderTags={(value: string[], getTagProps) =>
          value.map((option: string, index: number) => (
            <Chip
              variant="outlined"
              label={option}
              {...getTagProps({ index })}
            />
          ))
        }
        renderInput={(params) => (
          <TextField
            {...params}
            variant="filled"
            label="freeSolo"
            placeholder="Favorites"
            onChange={(e) => {entryRef.current.value = e.target.value.replace(/[^A-Za-z0-9]+/, "") }
            value={entryRef.current.value}
            inputRef={entryRef}
          />
        )}
      />)
}

Expected behavior 🤔
The value of the TextField input is not updated through the ref like usual. On a regular TextField input the same ref setup will result in the value of the text being updated to the version filtered by the regex.
Steps to reproduce 🕹
Steps:

Context 🔦
I have a simple regex filter for removing symbols using a useRef and onChange event listener to update the value.  Any help would be much appreciated, thanks!

  Output from `npx @mui/envinfo` goes here.

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-latest), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-latest), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

@mnajdova Here is a Codesandbox showing the problem: link to Codesandbox. Hope this is helpful.

Here is a working sandbox - https://codesandbox.io/s/mui-autocomplete-filtering-forked-owxpzm?file=/src/Comp.tsx
You can use the inputValue and onInputChange for validating the input value.


🎮 Game Request
This is a Basic game , there are two players
the dice on which large number appears will win the game.
Point down the features
Game points
Two Player
On refreshing the page the dice will roll up and from two dice the one with large number will win the game
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Maheshwari-Love !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign


Different Parcel.Serialization from Base class

Suppose I use a library A. this library has a class called BaseClass that use Parceler and it's Parcel Serialization method is Parcel.Serialization.FIELD. I create a new class (MyClass extends BaseClass) that extends BaseClass. I want to use Parcel.Serialization.BEAN in MyClass but it's failed because there is no setter/getter in BaseClass. And if I create the setter/getter in MyClass it's not really solve the problem because if there's new property in BaseClass I should always create new setter/getter for it.
My question is, is it possible Parceler has different parcel treatments for MyClass and BaseClass. I expect BaseClass' properties parceled using Parcel.Serialization.FIELD and for MyClass it will parcel it using Parcel.Serialization.BEAN.
if I use value = Parcel.Serialization.BEAN, analyze = {MyClass.class}, properties from BaseClass will not be parceled.
Please help, thank you

Not currently.  Maybe this is a shortcoming, but I consider this a pretty exotic case.

You could accomplish this if you favor composition over inheritance:
@Parcel(Parcel.Serialization.FIELD)
public class One {
    String value;
}

@Parcel(Parcel.Serialization.BEAN)
public class Two {

    One one;
    String value;

    public One getOne() {
        return one;
    }

    public void setOne(One one) {
        this.one = one;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}


The function to push transactions to Stoa does not work.

I create an issue because there is a phenomenon
that transaction data received from Agora has not been delivered to Stoa.
Agora uses Stoa's endpoint /transaction_received
to communicate the transactions received.
Endpoint information for Agora to forward to Stoa is recorded in the config file.

I'll fix it.

I'll fix it.


matplotlib 3.3 or newer needed

Hey - great repo!
Calling matplotlib.axis.Axis.set_major_formatter with a function was introduced in matplotlib v3.3.0. Added this requirement to the setup.py.

Good catch, thanks!


Update README.md

I'm not sure, if we gain something from displaying this badge in the README. It just indicates whether the GitHub action ran successfully. This may be misleading since this does NOT mean that the tests ran successfully.

I'm not sure, if we gain something from displaying this badge in the README. It just indicates whether the GitHub action ran successfully. This may be misleading since this does NOT mean that the tests ran successfully.

That should be the case. If the badge does not sho if tests ran sucessfully then it is in fakt useless.


Adding the gauges package to indigo/jade/kinetic.

Thanks for fixing the name as mentioned in #13167, however you cannot just duplicate the content to each rosdistro. You need to run bloom-release for each rosdistro because it generates rosdistro specific tags in the release repo to support the different target platforms.
You can either edit this branch to just be for indigo or open a new pull request with bloom-release using the -p option on indigo again. And you'll need to run bloom-release for jade and kinetic as well.


Can't delete non-empty folder.

When I try to delete a non-empty folder in the environment the system throws an error, I have to manually delete all files within the folder beforehand for it to work. Which is tedious even with just two files...
https://user-images.githubusercontent.com/54936808/120731235-32795500-c4b1-11eb-89ac-5b5685aa61f7.mov

And here I delete the files and then its ok to delete:
https://user-images.githubusercontent.com/54936808/120731323-5fc60300-c4b1-11eb-9243-31d33e11926f.mov

This is more of an issues with jupyterhub. I don't think we can do anything about it.  It a bit of a linux limitation/backstop.  You can do this  from a bash shell either (at least not by default).
There is a workaround. In a terminal try this:
#This should fail
rm /path/to/folder/that/is/not/empty
#This should work but us VERY POWERFUL and cannot be undone! Use with caution!
rm -r /path/to/folder/that/is/not/empty

This is a jupyter interface issue.


In insert mode at end of the line, <ctrl-> puts cursor in wrong position if ale_echo_cursor is enabled and there's a warning/error on that line

Information
VIM version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec  7 2017 15:46:44)
macOS version
Included patches: 1-1376
Operating System: macOS High Sierra 10.13.2
:ALEInfo
Current Filetype: ruby
Available Linters: ['brakeman', 'rails_best_practices', 'reek', 'rubocop', 'ruby']
Enabled Linters: ['brakeman', 'rails_best_practices', 'reek', 'rubocop', 'ruby']
Linter Variables:
let g:ale_ruby_brakeman_options = ''
let g:ale_ruby_reek_show_context = 0
let g:ale_ruby_reek_show_wiki_link = 0
let g:ale_ruby_rubocop_executable = 'rubocop'
let g:ale_ruby_rubocop_options = '--lint'
let g:ale_ruby_ruby_executable = 'ruby'
Global Variables:
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {}
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {}
let g:ale_open_list = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_offset = 1000000
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_warn_about_trailing_whitespace = 1
Command History:
(executable check - failure) reek
(started) ['/usr/local/bin/bash', '-c', '''rubocop'' --format json --force-exclusion --lint --stdin ''/tmp/b.rb'' < ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/20/b.rb''']
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''ruby'' -w -c -T1 ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/21/b.rb''']
<<>>
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/21/b.rb:1: syntax error, unexpected end-of-input
<<>>
(executable check - failure) reek
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''rubocop'' --format json --force-exclusion --lint --stdin ''/tmp/b.rb'' < ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/22/b.rb''']
<<>>
{"metadata":{"rubocop_version":"0.50.0","ruby_engine":"ruby","ruby_version":"2.4.2","ruby_patchlevel":"198","ruby_platform":"x86_64-darwin16"},"files":[{"path":"../../tmp/b.rb","offenses":[{"severity":"error","message":"unexpected token $end\n(Using Ruby 2.1 parser; configure using TargetRubyVersion parameter, under AllCops)","cop_name":"Lint/Syntax","corrected":false,"location":{"line":2,"column":1,"length":0}}]}],"summary":{"offense_count":1,"target_file_count":1,"inspected_file_count":1}}
<<>>
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''ruby'' -w -c -T1 ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/23/b.rb''']
<<>>
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/23/b.rb:1: syntax error, unexpected end-of-input
<<>>
(executable check - failure) reek
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''rubocop'' --format json --force-exclusion --lint --stdin ''/tmp/b.rb'' < ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/24/b.rb''']
<<>>
{"metadata":{"rubocop_version":"0.50.0","ruby_engine":"ruby","ruby_version":"2.4.2","ruby_patchlevel":"198","ruby_platform":"x86_64-darwin16"},"files":[{"path":"../../tmp/b.rb","offenses":[{"severity":"fatal","message":"unterminated string meets end of file\n(Using Ruby 2.1 parser; configure using TargetRubyVersion parameter, under AllCops)","cop_name":"Lint/Syntax","corrected":false,"location":{"line":1,"column":9,"length":1}}]}],"summary":{"offense_count":1,"target_file_count":1,"inspected_file_count":1}}
<<>>
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''ruby'' -w -c -T1 ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/25/b.rb''']
<<>>
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/25/b.rb:1: unterminated string meets end of file
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/25/b.rb:1: warning: assigned but unused variable - input
<<>>
(executable check - failure) reek
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''rubocop'' --format json --force-exclusion --lint --stdin ''/tmp/b.rb'' < ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/26/b.rb''']
<<>>
{"metadata":{"rubocop_version":"0.50.0","ruby_engine":"ruby","ruby_version":"2.4.2","ruby_patchlevel":"198","ruby_platform":"x86_64-darwin16"},"files":[{"path":"../../tmp/b.rb","offenses":[{"severity":"fatal","message":"unterminated string meets end of file\n(Using Ruby 2.1 parser; configure using TargetRubyVersion parameter, under AllCops)","cop_name":"Lint/Syntax","corrected":false,"location":{"line":1,"column":14,"length":1}}]}],"summary":{"offense_count":1,"target_file_count":1,"inspected_file_count":1}}
<<>>
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''ruby'' -w -c -T1 ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/27/b.rb''']
<<>>
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/27/b.rb:1: unterminated string meets end of file
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/27/b.rb:1: warning: assigned but unused variable - input
<<>>
(executable check - failure) reek
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''rubocop'' --format json --force-exclusion --lint --stdin ''/tmp/b.rb'' < ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/28/b.rb''']
<<>>
{"metadata":{"rubocop_version":"0.50.0","ruby_engine":"ruby","ruby_version":"2.4.2","ruby_patchlevel":"198","ruby_platform":"x86_64-darwin16"},"files":[{"path":"../../tmp/b.rb","offenses":[{"severity":"fatal","message":"unterminated string meets end of file\n(Using Ruby 2.1 parser; configure using TargetRubyVersion parameter, under AllCops)","cop_name":"Lint/Syntax","corrected":false,"location":{"line":1,"column":9,"length":1}}]}],"summary":{"offense_count":1,"target_file_count":1,"inspected_file_count":1}}
<<>>
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''ruby'' -w -c -T1 ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/29/b.rb''']
<<>>
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/29/b.rb:1: unterminated string meets end of file
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/29/b.rb:1: warning: assigned but unused variable - input
<<>>
(executable check - failure) brakeman
(executable check - failure) rails_best_practices
(executable check - failure) reek
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''rubocop'' --format json --force-exclusion --lint --stdin ''/tmp/b.rb'' < ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/30/b.rb''']
<<>>
{"metadata":{"rubocop_version":"0.50.0","ruby_engine":"ruby","ruby_version":"2.4.2","ruby_patchlevel":"198","ruby_platform":"x86_64-darwin16"},"files":[{"path":"../../tmp/b.rb","offenses":[{"severity":"fatal","message":"unterminated string meets end of file\n(Using Ruby 2.1 parser; configure using TargetRubyVersion parameter, under AllCops)","cop_name":"Lint/Syntax","corrected":false,"location":{"line":1,"column":9,"length":1}}]}],"summary":{"offense_count":1,"target_file_count":1,"inspected_file_count":1}}
<<>>
(finished - exit code 1) ['/usr/local/bin/bash', '-c', '''ruby'' -w -c -T1 ''/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/31/b.rb''']
<<>>
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/31/b.rb:1: unterminated string meets end of file
/var/folders/4k/s75803_94kqg5tr4fdcfg4740000gn/T/vnEykgQ/31/b.rb:1: warning: assigned but unused variable - input
<<>>
What went wrong
In insert mode at the end of a line, hitting <ctrl-\><ctrl-o> leaves the cursor
one position left of where it should be.
Reproducing the bug
Steps for repeating the bug:

Open a blank Ruby source file.

:e /tmp/blank.rb

Enter insert mode on the first line:

i

Type the following:

input = '

Hit <ctrl-\><ctrl-o>

This key sequence puts Vim in insert-normal mode. The cursor should be in the virtual position to the right of the ' character. Instead, the cursor ends up on the ' character. This breaks the MacVim <D-v> paste mapping, which uses <ctrl-\><ctrl-o>.
The issue only occurs if ale_echo_cursor is enabled and if there is a warning or error on that line. If I turn ale_echo_cursor off, the issue does not occur. I noticed in autoload/ale/cursor.vim, EchoImpl() checks that Vim is in normal mode before doing anything. Unfortunately, mode() also returns 'n' in insert-normal mode so there may not be a simple way to fix it.

I can't repeat the bug myself. You might want to record it with asciinema https://asciinema.org/. It sounds like you have to type a very specific sequence of characters.

Here are my recordings:

With g:ale_echo_cursor = 1 in my vimrc:
https://asciinema.org/a/RrAZFnXdtADzL8L0tpZgUQz8a
With g:ale_echo_cursor = 0 in my vimrc:
https://asciinema.org/a/CK28vFG7fqRO0gL0ommouOhhX

I couldn't find a way to make asciinema toast the keystrokes on playback so I'm not sure if it is clear what's happening. I paused for a while after hitting <ctrl-\><ctrl-o> in each video to show the difference in cursor position.

Thank you for the recording, that helped.
It turns out that using :norm! :echomsg can move the cursor off the end of the line, and you need to use :norm! to make sure the message is truncated. So you can't print a truncated message without moving the cursor like this. What you can do however is reset the cursor position if it did move, and that fixed the bug.

I updated to the latest ale and I can confirm that it fixed the issue. Thanks.


New Rule: Base64

Rule Name: Base64
Rule Description:
The field under validation must be a valid Base64 encoded
Rule Usage Example:
reqs = {"data" : "VmFsaWRhdG9yIEZUVyE="}
rule = {"data" : "base64"}
validate(reqs, rule) # True

reqs = {"data" : "Not Encoded"}
rule = {"data" : "base64"}
validate(reqs, rule) # False, It fails because...

Before contributing please review RULES.md (check for duplication), also check CONTRIBUTING.md for more details :100:

The base64 library just ignores invalid literals while decoding, i.e.  "!@#$%^VmFsaWRhdG9yIEZUVyE=" will still be decoded to "Validator FTW!". Should I address this by giving an error message for invalid literals or just let it work as it is?

Pull request for this issue: #113


sparkSession.newSession(): Can't inherit Root SparkSession's UDF and temporary tables.

When the rest service is invoked and sessionPerUser equals to true, a new SparkSession will be created from Root SparkSession， but it can't inherit Root SparkSession's UDF and temporary tables.

In MLSQL, there is always have a Root SparkSession, and any SparkSession belongs to a specific user should be created from the root SparkSession.
We hope they inherit the UDF/Temporary tables from Root SparkSession.
However, we should provide a selection to user by startup-config or request parameters.
We will try to fix this in MLSQL-1.1.5 since MLSQL 1.1.4 will be  freezed the next week.


Fixed Minor bug of Viscosity Calculator in Fluid Mechanics inside Classical Mechanics

Related Issue

fixed minor bug Steps to Viscosity Calculator in Fluid Mechanics inside Classical Mechanics.

Fixes: #487
Describe the changes you've made
I have fixed minor bug in the solution section to the viscosity calculator in classical mechanics.
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.

Screenshots

Original
Updated

@Amit366 I  have fixed the bug mentioned in issue #508


Responsive Aspect-Ratio Sizing with padding-top css Technique

This PR shows how the styles on the divs of ControlledPiano and Keyboard could be adapted to responsively resize the keyboard without resorting to the DimensionsProvider workaround. It uses the padding-top css Technique.
I'm aware that this PR could be improved a little before merge, I just wanted to ask if you were open to this technique of responsive resizing. Especially functions from Keyboard.js could be extracted to be usable from ControlledPiano.js as well, as the latter needs to know and set the aspect ratio on the container div.

A maybe even cleaner alternative to extracting helper functions from Keyboard.js would be to move the container div from the ControlledPiano component to the Keyboard component. I‘ll try that when I get to that

Ok, I created a new div inside the Keyboard component instead of moving the one from ControlledPiano, because the one in the latter is needed for catching mouse events. I also adapted the readme and the demo, works great!
If you decide to merge this, the CodeSandbox also would need an update. I didn't want to fork it and reference my fork from the readme, as it's your project and this way you can more easily update the CodeSandbox in the future. Also the old CodeSandbox should still work without problems.

What do you think of 4e9477e? This would satisfy your requirement to be able to size the component completely from the outside, and still allows to have an aspect ratio mode, without introducing new props. The keyWidthToHeight isn't used in the case no width is provided anyways, so it's possible to use it to decide whether to let the aspect ratio sizing kick in or not. It even works when combining with width: in that case the keyboard will have the exact provided width, and still size itself in a way to satisfy the keyWidthToHeight ratio.
It's a non-backwards-compatible change though, because for clients not providing the keyWidthToHeight prop, the appearance will change when updating, they just need to add it client side, so a minor version bump should be ok I guess.

While this now works, I'm not convinced that it provides the best experience for a client. When not setting the keyWidthToHeight prop explicitly, and not sizing it via a container div explicitly, the height will be 0. Maybe an additional prop with the sizing mode would be better afterall?

hey, sorry I haven't looked at this yet - I will take a look this weekend.

Don‘t worry, it‘s not pressing, just an offer 😉


Transition snapshots

Hi,
This component is awesome. I was testing it and I get stuck trying to reload a collectionview in the original view with data added in stack view. I was debugging layers and I realize that screen snapshoots on transitions are not updated.
I was trying snapshotViewAfterScreenUpdates and all related methods but I couldn't solved it.
I'm newbie in iOS transitions, I don't know if that's correct.
Original Screen:

After add 1 player:

After add 2 player:

Thanks in advance!

Hello @TGNA
I am not sure what you are trying to achieve. This controller will present modally a ViewController. You don't need to use iOS Transitions API, the controller will automatically do it for you.
Can I see some code? It is tricky to answer your questions just by looking at some screenshots.
It looks to me that you are misusing the transitions API and stacking one screenshot on top of another (which you shouldn't). Try to delete all the snapshot related code and just present the viewController using the CardStackController.
I'd suggest you download the example project and take a look.
I am closing the issue as it is not related to the library.
Let me know if you solve it!

I think this issue actually has merit... it seems the UIImageView snapshots don't get removed from the CardStackController's view. You can actually see this in @TGNA's view hierarchy screenshots (there's an extra snapshot view in the bottom one).
Digging into the code shows no sign of removing these snapshots. So I guess it's just a matter of figuring out the best place to do it, i.e. viewWillDisappear, dismissCard...


docs: update library descriptions

Closes https://github.com/carbon-design-system/carbon-platform/issues/1027
See https://github.com/carbon-design-system/carbon-platform/issues/1109
{{short description}}
What did you change?
How did you test and verify your work?

New descriptions:

Confirmation that this fixes the missing thumbnail identified here: https://github.com/carbon-design-system/carbon-platform/pull/1127#issuecomment-1211433470

@cameroncalder can you review the updated IBM Security library description here? https://github.com/carbon-design-system/ibm-cloud-cognitive/pull/2197#issuecomment-1219894824
You can see all of the new library descriptions here: https://airtable.com/shrdwElZNyJdGtZkS/tblE2Y75BfY0Z0T2O

Confirmed that Security description was reviewed by @amtoussam and @jlongshore initially.


Options to modify topology: Add/Remove edges.

It would be interesting to have such a future to work on the underlying graph of the system adding and deleting edges.
@duchaoyu is working on a graph object to be associated to the scene. I believe this options could be an enhancement on top to this future data structure.
With such an option, studying different topologies would become easier.

as mentioned in the comments of the PR, i think adding the graph to scene makes more sense than duplicating the form diagram...


[LICM] Code Hygiene - rip out sinkCondFail

radar rdar://problem/40073634
Removing this optimization from SIL: It is not worth the extra code complexity and compilation time.
More in-depth explanation for the reasoning behind my decision:

What is being done there is obviously not LICM (more below) - even if it is useful it should be its own separate optimization
The regression that caused us to add this code is no longer there in most cases - 10% in only one specific corner-case
Even if the regression was still there, this is an extremely specific code pattern that we are pattern-matching against. Said pattern would be hard to find in any real code.

There is a small code snippet in rdar://17451529 that caused us to add this optimization. Looking at it now we see that the only difference is in loop1 example -
The only difference in SIL level is in loop 1:
%295 = tuple_extract %294 : $(Builtin.Int64, Builtin.Int1), 0
%296 = tuple_extract %294 : $(Builtin.Int64, Builtin.Int1), 1
cond_fail %296 : $Builtin.Int1
%298 = struct $Int (%295 : $Builtin.Int64)
store %298 to %6 : $*Int
%300 = builtin "cmp_eq_Int64"(%292 : $Builtin.Int64, %16 : $Builtin.Int64) : $Builtin.Int1
cond_br %300, bb1, bb12
The cond_fail instruction in said loop is moved below the store instruction / above the builtin.
Looking at the resulting IR. And how LLVM optimizes it. It is almost the same.
If we look at the assembly code being executed then, before removing this optimization, we have:
LBB0_11:
testq	%rcx, %rcx
je	LBB0_2
decq	%rcx
incq	%rax
movq	%rax, _$S4main4sum1Sivp(%rip)
jno	LBB0_11
After removing it we have:
LBB0_11:
incq	%rax
testq	%rcx, %rcx
je	LBB0_2
decq	%rcx
movq	%rax, %rdx
incq	%rdx
jno	LBB0_11
There is no extra load/movq which was mentioned the radar.

Per @atrick comments in PR https://github.com/apple/swift/pull/17194 , merging this commit to master

@swift-ci Please smoke test and merge


Form in the navbar expands the height of the navbar in 2.0-wip

Adding a search bar in the navbar expands the height of the navbar.
An example of this can be seen in the example: container-app.html
The problem is due to the universal margin-bottom of 18px for the  element.

Fixed in 2.0-wip.


Maintained?

Not sure if you are following dndKit from react they had a release 2 moths ago just wondering if you still keep track and if this project aims to give best dnd experience for solid?

Dndkit was an inspiration early on, but this is not a port of it and I don't track that project.
In terms of maintaining this project - I do open source for me and so work on it when I have time and interest 😀 I don't follow any particular schedule or expectation.

It would be great if projects like this could get financial support from SolidJS (via Open Collective maybe?). If that’s the wish of the maintainer of course.
At the moment I’m hesitant to use SolidJS because of the lack of plugins in the ecosystem.
Features like auto-scrolling #57 are essential for drag and drop reordering and SolidJS can’t provide that so it’s very limiting.


Change the Dockerfile RUN bash to RUN sh

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
The alpine oracle Docker image doesn't have bash
Change the RUN command
RUN sh -c 'touch /app.jar'

Ouch, good catch . I should have spotted that.

This caught me out too, an update on the guide may help others


warn that custom-elements cannot use type-arguments

I extended a DivElement with a mixin, and got surprising behavior when compiled to JS (works just fine in Dartium). Upon closer inspection, it turned out that the example works if we either not use mixin, or not call methods on the created instance (such as '..classes.add('tree-view')').
See the code and the exception below:
import 'dart:html';

class TreeViewNode<TValue> { }

class TreeViewGroup<TGroupValue, TItemValue> extends DivElement
    with TreeViewNode // works if we remove this line
{
  static final String tagKey = 'tree-view-group';
  int level = 0;

  TreeViewGroup.created(): super.created() {
    appendText('I am a tree view');
  }

  factory TreeViewGroup() => new Element.tag('div', tagKey);
}

main() {
  document.registerElement(TreeViewGroup.tagKey, TreeViewGroup, extendsTag: "div");

  document.body.append(new TreeViewGroup()
    ..classes.add('tree-view') // works if we remove this line
  );
}

<!doctype html>
<html>
<head>
    <script defer type="application/dart" src="index.dart"></script>
    <script defer src="packages/browser/dart.js"></script>
</head>
<body>
</body>
</html>

Exception:
Uncaught TypeError: Cannot set property '$$TreeViewGroup_level' of undefined
    at _callConstructor_closure.TreeViewGroup$created [as $constructor]

@frank-rollpin  thanks for filing the bug.
It seems the issue here is actually a result of the type-arguments in TreeViewGroup. We add the arguments to the constructor even though the html library doesn't expect them to be there.
Sometimes dart2js is able to optimize away how the type arguments are used, and you found two ways in which it does that :), that's why it looks so strange.
Because it is not possible to create custom elements without going through the DOM API, I don't believe we will have a way to specify the type-arguments in the DOM calls. Even now that we have generic methods, a single API like document.createElement won't work for different number of type-arguments.
I learn towards providing a warning about it instead, and practically ignore the type-arguments in dart2js. Meanwhile, you should be able to workaround this by removing the type-arguments in TreeViewGroup.

FYI - I just updated the title of the issue now that we know what's the underlying problem. Based on your examples, here is another repro that isolates the issue without mixins:
import 'dart:html';

class A<T> extends DivElement {
  int level = 0;
  A.created(): super.created();
}

main() {
  document.registerElement('x-a', A, extendsTag: 'div');
  var x = new Element.tag('div', 'x-a');
  document.body.append(x);
  print(x.runtimeType);
}

Turns out there is a secondary issue here: the order of the arguments in the constructor we generate are wrong and the type arguments should be added at the end.
Today we have:
A$created: function($T, receiver) {
    receiver.$$A_level = 0;
    return receiver;
}

but we should generate receiver first.
For your specific example, this could circumvent the issue, but in the end you wont be able to provide type-arguments for this type, so I'd still recommend not using type arguments here.
The reason it might be useful is that if you have another subclass that always provides concrete types for the type-arguments and you only instantiate the subclass, then that code will be able to work if we fix the arguments order.
For example if we had:
class B extends A<int> {
   ...
}

and we never created A, but create B instead.

We're going to deprecate this API.


Update Grants Status

PR to update grants overall status and milestones.
The following grant status has been updated. Please refer to the Changelog:
        modified:   grants/csprusd/data.md
        modified:   grants/csprusd/m1.md
        modified:   grants/csprusd/m2.md
        modified:   grants/disputedao/data.md
        modified:   grants/router_protocol/data.md
        modified:   grants/router_protocol/m1.md
        modified:   grants/shiboo/data.md
        modified:   grants/shiboo/m1.md
        modified:   grants/tornado_master_game/data.md
        modified:   grants/tornado_master_game/m1.md
        modified:   grants/tornado_master_game/m2.md
        modified:   grants/tornado_master_game/m3.md
        modified:   grants/tornado_master_game/m4.md
        modified:   grants/tubbly/data.md

Another change - To fix the tag from "Bridges" to "Bridge" in Nitro by Router Protocol.

Could you also fix "Helix Markets" status to from "Complete" to "Completed" ?

Thanks @wojtek-blockbites , I've now fixed it in the latest commit.

@alejandro-blockbites please review

sometimes we use Complete and sometimes Completed are we okay with this @devendran-m ?

Hi @yetson0 ,
"Completed" is used at the grant entry level - i.e. in the data.md whilst "Complete" is used for individual milestones.

some errors reported after PR by @devendran-m
curl: (28) Failed to connect to webhook.gatsbyjs.com port 443 after 133610 ms: Connection timed out
Error: Process completed with exit code 28.

please check @wojtek-blockbites @alejandro-blockbites


Blog Post: jb55 LTS

Build preview:

/blog/jb55-receives-lts-grant

Social preview:

Ready for review by @OpenSats/volunteers

Read and reviewed. All links work and reads well. Nice post @Arvin21M @dergigi

Read and reviewed - all links working and good to go!  DaMoose .. love it :-D


Precisely define casting to float behavior for strings that aren't standard base 10 numbers

For python, this throws. For JS, this returns null. Should probably be NaN.

spec should be: parsed like JSON, but only if a valid number


feat:  Efficiently Sampling Functions from Gaussian Process Posteriors

Wilson and Terenin introduced "Efficiently Sampling Functions from Gaussian Process Posteriors" which is now widely used for, as the title states, efficient sampling (and won an honourable mention for best paper at ICML 2020).
The technique is clearly described in this blog post
https://sml-group.cc/blog/2020-gp-sampling/
and code for use with GPFlow (built on Tensorflow) is provided here.
https://github.com/j-wilson/GPflowSampling
I think it would be an extremely good addition to an GP library for JAX.

Thanks for raising this @adam-hartshorne, this is very much on our radar. We are hoping to sketch out an initial idea of an implementation next week. If you have any thoughts or ideas about how you'd like to see this in GPJax, then please do raise them here, even if it's as simple as some pseudocode.

Just a note that I have an ultra-lightweight research prototype on what pathwise conditioning support in a JAX-based package might look like here: https://github.com/aterenin/SparseGPAX.
I'd be delighted to help however I can for this to be implemented! Thank you very much for the interest in our work! 😊

Obviously, you will have lots of different features to work on, but wondering if there has been any progress on this feature?

Hey @adam-hartshorne. In short, things are moving a little slower than I would like as I'm in the process of finishing up my thesis. I'd hope to have this feature merged within the next 4-6 weeks though.


BUG: error messages get swallowed up by dev agents

     at Azure.Core.HttpPipelineExtensions.ProcessMessageAsync(HttpPipeline pipeline, HttpMessage message, RequestContext requestContext, CancellationToken cancellationToken)
     at Azure.AI.OpenAI.OpenAIClient.GetEmbeddingsAsync(EmbeddingsOptions embeddingsOptions, CancellationToken cancellationToken)
     at Microsoft.SemanticKernel.Connectors.OpenAI.ClientCore.RunRequestAsync[T](Func`1 request)
     --- End of inner exception stack trace ---
     at Microsoft.SemanticKernel.Connectors.OpenAI.ClientCore.RunRequestAsync[T](Func`1 request)
     at Microsoft.SemanticKernel.Connectors.OpenAI.ClientCore.GetEmbeddingsAsync(IList`1 data, Kernel kernel, CancellationToken cancellationToken)
     at Microsoft.SemanticKernel.Embeddings.EmbeddingGenerationExtensions.GenerateEmbeddingAsync[TValue,TEmbedding](IEmbeddingGenerationService`2 generator, TValue value, Kernel kernel, CancellationToken cancellationToken)
     at Microsoft.SemanticKernel.Memory.SemanticTextMemory.SearchAsync(String collection, String query, Int32 limit, Double minRelevanceScore, Boolean withEmbeddings, Kernel kernel, CancellationToken cancellationToken)+MoveNext()
     at Microsoft.SemanticKernel.Memory.SemanticTextMemory.SearchAsync(String collection, String query, Int32 limit, Double minRelevanceScore, Boolean withEmbeddings, Kernel kernel, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()

2
at Microsoft.AI.Agents.Orleans.AiAgent`1.AddKnowledge(String instruction, String index, KernelArguments arguments) in /Users/ryan/src/project-oagents/src/Microsoft.AI.Agents.Orleans/AiAgent.cs:line 68
at Microsoft.AI.DevTeam.ProductManager.CreateReadme(String ask) in /Users/ryan/src/project-oagents/samples/gh-flow/src/Microsoft.AI.DevTeam/Agents/ProductManager/ProductManager.cs:line 65
Microsoft.AI.DevTeam.ProductManager: Error: Error creating readme
Microsoft.SemanticKernel.HttpOperationException: This model's maximum context length is 4095 tokens, however you requested 5730 tokens (5730 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.
Status: 400 (model_error)
Content:
{
"error": {
"message": "This model's maximum context length is 4095 tokens, however you requested 5730 tokens (5730 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.",
"type": "invalid_request_error",
"param": null,
"code": null
}
}

Error is in the logs but what the bot posts in issues isn't helpful: "Sorry, I got tired, can you try again please?"

I can understand not wanting to include the error in the comment but could it maybe link to log analytics?


[microNPU] Adding rounding mode attribute to operators

Allows rounding mode to be specified for each supported operator. By default "TFL" is used, which matches that of the behavior of TFLite. Other rounding mode options include "NATURAL" which rounds to the nearest value and "TRUNCATE" which rounds towards zero.
cc @ekalda @manupa-arm @NicolaLancellotti @dchauhan-arm @mbaret

Thanks @NicolaLancellotti, @manupa-arm for the reviews! Yes, I think it would be quite difficult to test each rounding scheme fully. The implementation of MEAN would rely on all three schemes being used, so this would be a good E2E test.

Thanks @lhutton1 @NicolaLancellotti . This is merged now!.


ERROR - Dismiss not working

The dissmiss function is not working and breaking the toaster. This is the code im running. Very simple.
toast.dismiss(toastId)

and its returning
Uncaught (in promise) Maximum recursive updates exceeded in component . This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.

@xiaoluoboding please see this has it breaks the code. New toasts WONT work

I have this same issue 🖐
Minor difference in my implementation, but the error is similar.
const toastId = toast('Event', { duration: 10000 });
toast.dismiss(toastId)

@Froelund its ridiculous. i fixed this by emitting emit('closeToast') inside the component

@Froelund é ridículo, eu consertei isso emitindo emit('closeToast') dentro do componente

I'm having the same problem. I'm using Vue3's Composition API.
Could you give me an example of how you solved it?
Thanks


🐞 Bug – Page doesn't load if the path has more than two components /one/two

Problem
After upgrading to 0.20.0, the app just shows a blank page for pages that have nested routes, after looking at the console I see that the html points to <script type="module" src="./.elm-land/server/main.js"></script> so the resolved route gets a 404 from the server
Your setup

node -v: v20.11.1
elm-land -v: 🌈  Elm Land (v0.20.0) is currently installed.

Thank you, @ludat – this issue has been fixed in a PR that will go out later tonight! 🚀

Just checked and this is fixed by #175, thanks!


[Bug]: engin， engin_task, 服务一直重启

Preflight Checklist

[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for an issue that matches the one I want to file, without success.
[X] I am not looking for support or already pursued the available support channels without success.

Version
1.1.3
Installation Type
Official Docker Compose
Service Name
DongTai-Engine
Describe the details of the bug and the steps to reproduce it
重启engin之后，就出现这个问题了
Additional Information
No response
Logs
No response

Upgrading the version to 1.1.4 will directly solve this problem
If you want to keep it at version 1.1.3
docker rm dongtai-iast_dongtai-engine_1 sudo docker rm dongtai-iast_dongtai-engine-task_1
./dtctl upgrade -f 1.1.3 -t 1.1.3


Can I use javascript logic in json files?

I have problem.
At example, I have this line in my json locale file. In angular1 it worked, but ng2-translate just prints this line as it is.
{
"floors": "{{ (floor !== null) ? ((floor > 0) ? floor : (floor === 0) ? \"semi-basement\" : \"basement\") : \"-\" }}/{{ (floors_total !== null) ? ((floors_total > 0) ? floors_total : (floors_total === 0) ? \"semi-basement\" : \"basement\") : \"-\" }}",
}

But if I use simple value output in json, like this: "floors": "hello {{ floor }}",
It works. So question is, is ng2-translate supporting logic that I described in first example, or no ?
If no, what I need to change so there would be support for that ?
Thanks.

Hello !
No you cannot do that, it only supports variables (like you said), but it doesn't execute code. In Angular 1 there was a parser available that you could use (and that angular-translate used) for transpolations (that's the technical name when you use {{ }}), but there is nothing like that in Angular 2 yet.
They are talking about adding this, but for now I had to write my own parser and it's much simpler.

@ocombe
Thanks for fast reply.
Thats bad, will need to implement temporary workaround.
What about pluralisation? I assume that it ins't implemented too ? :(
total-count: '{total, plural, one{дизайн} few{дизайна} many{дизайнов} other{дизайнов}}'

no, it isn't available :)


Fixing an issue where the calico-node service failed to start

The container existed and this caused the service to fail to start.
Also surfacing service errors up to the user via juju status

This fixes https://github.com/juju-solutions/layer-canal/issues/23


Add rexml dependency for Ruby 3.0

Starting in Ruby 3.0, many gems are now "bundled gems" which are not required by default. I believe the recommended fix for a gem like geokit which requires rexml is to use add_dependency in the gemspec as I've done here. I'm also adding a condition to limit this to Ruby 3.0+ which may not be necessary.
Re: https://bugs.ruby-lang.org/issues/5481
Details: https://stackoverflow.com/questions/65479863/rails-6-1-ruby-3-0-0-tests-error-as-they-cannot-load-rexml/66427936#66427936
Gemspec workaround via: https://www.tiredpixel.com/2014/01/05/curses-conditional-ruby-gem-installation-within-a-gemspec/
/cc @ioquatix who informed me of the issue.
Note that geokit users can also simply add rexml to their Gemfile to work around the issue in the meantime.

Coverage remained the same at 96.321% when pulling c421ab378bfdda9fddabcd3507362bd0e1ab98e0 on trevorturk:rexml into 130ac22bb4e71b7b2c97ba5ce088863d1437ec62 on geokit:master.

Thanks, @trevorturk, not only for your contribution here but also for all the provided context. I think we can use this approach at the moment and see how the gem evolves, dropping the support to old Ruby versions soon.


:sparkles: Add basic embedded app

#180

Add a new arg initial_path. If set to null then there will be nothing on the root, so same 404 as what it is currently
If any route is defined, it will then return a plain App Installed
This endpoint would also check hmac so it can only be accessed by Shopify

@rahulpatidar0191 Do you know why the test is failing at tox step?


Pencil does not cover entire canvas area

Issue resolved in latest commit

Similar issue shows up again sometimes

closing. seems to be okay as long as window is not resized, out of scope for now.


Expose Frame load state via [loaded] attribute

Closes https://github.com/hotwired/turbo/issues/429

Introduce the <turbo-frame loaded> boolean attribute. The attribute's
absence indicates that the frame has not yet been loaded, and is ready
to be navigated. Its presence means that the contents of the frame have
been fetch from its [src] attribute.
Encoding the load state into the element's HTML aims to integrate with
Snapshot caching. Once a frame is loaded, navigating away and then
restoring a page's state from an Historical Snapshot should preserve the
fact that the contents are already loaded.
For both eager and lazy loaded frames, changing the element's
[src] attribute (directly via JavaScript, or by clicking an <a>
element or submitting a <form> element) will remove the [loaded]
attribute. Eager-loaded frames will immediately initiate a request to
fetch the contents, and Lazy-loaded frames will initiate the request
once they enter the viewport, or are changed to be eager-loading.
When the [src] attribute is changed, the FrameController will only
remove the [loaded] attribute if the element isConnected to the
document, so that the [loaded] attribute is not modified prior to
Snapshot Caching or when re-mounting a Cached Snapshot.
The act of "reloading" involves the removal of the [loaded] attribute,
which can be done either by FrameElement.reload() or
document.getElementById("frame-element").removeAttribute("loaded").
A side-effect of introducing the [loaded] attribute is that the
FrameController no longer needs to internally track:

how the internal currentURL value compares to the external
sourceURL value
whether or not the frame is "reloadable"

By no longer tracking the sourceURL and currentURL separately, the
implementation for the private loadSourceURL method can be simplified.
Since there is no longer a currentURL property to rollback, the try { ... } catch (error) { ... } can be omitted, and the this.sourceURL
presence check can be incorporated into the rest of the guard
conditional.
Finally, this commit introduce the isIgnoringChangesTo() and
ignoringChangesToAttribute() private methods to disable
FrameController observations for a given period of time. For example,
when setting the <turbo-frame src="..."> attribute, previous
implementation would set, then check the value of a
this.settingSourceURL property to decide whether or not to fire
attribute change callback code. This commit refines that pattern to
support any property of the FrameController, including the
"sourceURL" or "loaded" value. When making internal modifications to
those values, it's important to temporarily disable observation
callbacks to avoid unnecessary requests and to limit the potential for
infinitely recursing loops.

It's worth highlighting that a [loaded] element attribute collides with the FrameElement.loaded property that exposes the underlying Promise instance used during loading.
This is probably a bad collision for a Boolean attribute, since myFrame.loaded will never evaluate to false, even when the  <turbo-frame> element is missing the attribute and when the frame isn't loaded (since the default value for loaded is Promise.resolve().
We have two options:

Rename the FrameElement.loaded property and replace it with a .loaded boolean reader that wraps the [loaded] attribute
Rename the [loaded] attribute and introduce (or omit) a FrameElement.thatProperty reader and writer.

Options 1. involves breaking changes.
Option 2. is viable, but [loaded] is a really good attribute name! The front-runner competitor is probably [complete], since it'd correspond to the FrameElement.complete property, which itself draws inspiration from the HTMLImageElement.complete property.

Hi @seanpdoyle, thanks for this PR. I can confirm that this does fix the issue I was having in #429.
I agree that [loaded] would be the best name for the attribute. I always found the FrameElement.loaded property referring to a Promise a bit counter-intuitive anyway – I would've expected it to return a boolean value before reading the docs. However if it's desirable to maintain BC in this case, that would be very understandable, and [complete] is a good runner-up.

I think [complete], and it's parity to a similar attribute on image, is excellent. In some ways even preferable. Let's roll with that!


Error in the vlcd script

in line 10, it should be "chown" and not "chmod". You're changing the owner of /home/pi/.config/vlc/ to pi, group pi, not changing permissions.

Good spot- thank you! Not sure how this issue fell off my radar, but I've fixed it now.


Node commissioning fails @ TASK [contiv_network : set aci mode]

Docker - 1.11.1.cs2
UCP - 1.1.0
Contiv Network - v0.1-05-24-2016.05-32-00.UTC
Contiv Network Mode - ACI
While commissioning 1st service-master node, deployment fails with following error -
**May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="TASK [contiv_network : set aci mode] *****************************************"
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="fatal: [contiv-aci-scale-2-FCH1924V2EK]: FAILED! => {"changed": true, "cmd": "contivctl net global set --fabric-mode aci", "delta": "0:00:00.008676", "end": "2016-05-25 03:38:30.786940", "failed": true, "rc": 3, "start": "2016-05-25 03:38:30.778264", "stderr": "time=\"2016-05-25T03:38:30-07:00\" level=error msg=\"Post http://netmaster:9999/api/globals/global/: dial tcp <IP_ADDRESS>:9999: getsockopt: connection refused\" ", "stdout": "", "stdout_lines": [], "warnings": []}"
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="\tto retry, use: --limit @/home/cluster-admin/ansible/site.retry"
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg=
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="PLAY RECAP *********************************************************************"
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="contiv-aci-scale-2-FCH1924V2EK : ok=79   changed=37   unreachable=0    failed=1   "
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg=
May 25 03:38:30 contiv-aci-scale-1.cisco.com clusterm[21209]: level=error msg="configuration failed, starting cleanup. Error: exit status 2"
These nodes does not required Proxy settings. Tried with 2 older contiv network released versions, ended with the same error.

clusterm-0525.txt

@rkharya

Post http://netmaster:9999/api/globals/global/: dial tcp <IP_ADDRESS>:9999: getsockopt: connection refused

this indicates that netmaster/netplugin is not running. Can you also collect journalctl -xu netmaster and journalctl -xu netplugin, that shall give some further hints

Unfortunately there is nothing on both -
[cluster-admin@contiv-aci-scale-1 ~]$ sudo journalctl -xu netmaster
-- Logs begin at Tue 2016-05-24 02:04:37 PDT, end at Wed 2016-05-25 09:25:19 PDT. --
[cluster-admin@contiv-aci-scale-1 ~]$ sudo journalctl -xu netplugin
-- Logs begin at Tue 2016-05-24 02:04:37 PDT, end at Wed 2016-05-25 09:25:27 PDT. --

can you check contiv-aci-scale-2, somehow the clusterm logs that you have collected show error on this node and not contiv-aci-scale-1 , so may be they have something
May 25 02:23:39 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="TASK [contiv_network : set aci mode] *******************************************"
May 25 02:23:39 contiv-aci-scale-1.cisco.com clusterm[21209]: level=info msg="fatal: [contiv-aci-scale-2-FCH1924V2EK]: FAILED! => {\"changed\": true, \"cmd\": \"contivctl net global set --fabric-mode aci\", \"delta\": \"0:00:00.008610\", \"end\": \"2016-05-25 02:23:39.543197\", \"failed\": true, \"rc\": 3, \"start\": \"2016-05-25 02:23:39.534587\", \"stderr\": \"time=\\\"2016-05-25T02:23:39-07:00\\\" level=error msg=\\\"Post http://netmaster:9999/api/globals/global/: dial tcp <IP_ADDRESS>:9999: getsockopt: connection refused\\\" \", \"stdout\": \"\", \"stdout_lines\": [], \"warnings\": []}"

Ooops.. my bad, here are those -
netplugin.txt
netmaster.txt

May 25 03:38:27 contiv-aci-scale-2.cisco.com netmaster[27785]: time="May 25 03:38:27.200749231" level=error msg="Failed to connect to etcd. Err: client: etcd cluster is unavailable or misconfigured"
May 25 03:38:27 contiv-aci-scale-2.cisco.com netmaster[27785]: time="May 25 03:38:27.200782556" level=error msg="Error creating client etcd to url <IP_ADDRESS>:2379. Err: client: etcd cluster is unavailable or misconfigured"
May 25 03:38:27 contiv-aci-scale-2.cisco.com netmaster[27785]: time="May 25 03:38:27.200799520" level=fatal msg="Error connecting to state store: etcd://<IP_ADDRESS>:2379. Err: client: etcd cluster is unavailable or misconfigured"
May 25 03:38:27 contiv-aci-scale-2.cisco.com systemd[1]: netmaster.service: main process exited, code=exited, status=1/FAILURE
May 25 03:38:27 contiv-aci-scale-2.cisco.com systemd[1]: Unit netmaster.service entered failed state.
May 25 03:38:27 contiv-aci-scale-2.cisco.com systemd[1]: netmaster.service failed.
netplugin -
May 25 03:38:26 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:26.043434649" level=info msg="Initing service plugin"
May 25 03:38:26 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:26.044109887" level=info msg="Creating a new bridge: etcd://<IP_ADDRESS>:2379"
May 25 03:38:26 contiv-aci-scale-2.cisco.com netplugin[27360]: 2016/05/25 03:38:26 Extension point components: {map[consul:0x17596e8 etcd:0x17596e8]}
May 25 03:38:26 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:26.044184759" level=info msg="Using%!(EXTRA string=etcd, string=service adapter:, *url.URL=etcd://<IP_ADDRESS>:2379)"
May 25 03:38:26 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:26.044251754" level=info msg="Connecting to backend (0/0)"
May 25 03:38:26 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:26.044944616" level=error msg="Service plugin not connecting to backend client: etcd cluster is unavailable or misconfigured"
May 25 03:38:28 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:28.046719186" level=info msg="Failed to read driver oper state for key "contiv-aci-scale-2.cisco.com". Error: client: etcd cluster is unavailable or misconfigured"
May 25 03:38:28 contiv-aci-scale-2.cisco.com netplugin[27360]: time="May 25 03:38:28.046756343" level=fatal msg="Failed to initialize the plugin. Error: client: etcd cluster is unavailable or misconfigured"
May 25 03:38:28 contiv-aci-scale-2.cisco.com systemd[1]: netplugin.service: main process exited, code=exited, status=1/FAILURE
May 25 03:38:28 contiv-aci-scale-2.cisco.com systemd[1]: Unit netplugin.service entered failed state.
May 25 03:38:28 contiv-aci-scale-2.cisco.com systemd[1]: netplugin.service failed.

thanks @rkharya
Looks like etcd is busted and netplugin won't start without it.
Can you please also collect systemctl status etcd and journalctl -xu etcd from this node?

Netmaster stopped originally due to this -
May 25 01:58:44 contiv-aci-scale-2.cisco.com netmaster[20006]: time="May 25 01:58:44.040451800" level=info msg="Received GlobalUpdate: &{Key:global Name:global NetworkInfraType: Vlans:1-4094 Vxlans:1-10000}. Old: &{Key:global Name:global NetworkInfraType:default Vlans:1-4094 Vxlans:1-10000}"
May 25 01:58:44 contiv-aci-scale-2.cisco.com netmaster[20006]: time="May 25 01:58:44.040509878" level=error msg="Error creating global config {&{Key:global Name:global NetworkInfraType:default Vlans:1-4094 Vxlans:1-10000}}. Err: Invalid fabric mode"
May 25 01:58:44 contiv-aci-scale-2.cisco.com netmaster[20006]: time="May 25 01:58:44.040526816" level=error msg="GlobalUpdate retruned error for: &{Key:global Name:global NetworkInfraType: Vlans:1-4094 Vxlans:1-10000}. Err: Invalid fabric mode"
May 25 01:58:44 contiv-aci-scale-2.cisco.com netmaster[20006]: time="May 25 01:58:44.040539693" level=error msg="CreateGlobal error for: {Key:global Name:global NetworkInfraType: Vlans:1-4094 Vxlans:1-10000}. Err: Invalid fabric mode"
May 25 01:58:44 contiv-aci-scale-2.cisco.com netmaster[20006]: time="May 25 01:58:44.040553563" level=error msg="Handler for POST /api/globals/global/ returned error: Invalid fabric mode"
May 25 01:58:45 contiv-aci-scale-2.cisco.com systemd[1]: Stopping Netmaster...
-- Subject: Unit netmaster.service has begun shutting down

[cluster-admin@contiv-aci-scale-2 ~]$ sudo systemctl status -l -n 100 etcd.service
● etcd.service - Etcd
Loaded: loaded (/etc/systemd/system/etcd.service; static; vendor preset: disabled)
Active: failed (Result: start-limit) since Wed 2016-05-25 03:37:08 PDT; 6h ago
Main PID: 22073 (code=exited, status=1/FAILURE)
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: etcd.service: control process exited, code=exited status=1
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: Unit etcd.service entered failed state.
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: etcd.service failed.
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: etcd.service holdoff time over, scheduling restart.
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: start request repeated too quickly for etcd.service
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: Failed to start Etcd.
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: Unit etcd.service entered failed state.
May 25 03:37:08 contiv-aci-scale-2.cisco.com systemd[1]: etcd.service failed.

etcd.txt

yes it starting with --rm flag -
#start etcd
echo "==> starting etcd with environment:" env
/usr/bin/docker run -t --rm --net=host --name etcd \
Full /usr/bin/etcd.sh -
[cluster-admin@contiv-aci-scale-2 ~]$ cat /usr/bin/etcd.sh
#!/bin/bash
usage="$0 <start|stop|post-stop>"
if [ $# -ne 1 ]; then
echo USAGE: $usage
exit 1
fi
export ETCD_NAME=contiv-aci-scale-2-FCH1924V2EK
export ETCD_DATA_DIR=/var/lib/etcd
export ETCD_INITIAL_CLUSTER_TOKEN=contiv-cluster
export ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
export ETCD_ADVERTISE_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
export ETCD_INITIAL_ADVERTISE_PEER_URLS=http://<IP_ADDRESS>:2380,http://<IP_ADDRESS>:7001
export ETCD_LISTEN_PEER_URLS=http://<IP_ADDRESS>:2380
export ETCD_HEARTBEAT_INTERVAL=1000
export ETCD_ELECTION_TIMEOUT=10000
set -x
case $1 in
start)
# on master nodes, if the cluster is being initialized for first time then initialize it
if [ ! -f /tmp/etcd.existing ]; then
touch /tmp/etcd.existing
export ETCD_INITIAL_CLUSTER_STATE=new
export ETCD_INITIAL_CLUSTER="contiv-aci-scale-2-FCH1924V2EK=http://<IP_ADDRESS>:2380,contiv-aci-scale-2-FCH1924V2EK=http://<IP_ADDRESS>:7001"
else
echo "==> no peer found or single member cluster at time of commission, failing now"
exit 1
fi
#start etcd
echo "==> starting etcd with environment:" `env`
/usr/bin/docker run -t --rm --net=host --name etcd \
    -e ETCD_NAME=${ETCD_NAME} \
    -e ETCD_DATA_DIR=${ETCD_DATA_DIR} \
    -e ETCD_INITIAL_CLUSTER_TOKEN=${ETCD_INITIAL_CLUSTER_TOKEN} \
    -e ETCD_LISTEN_CLIENT_URLS=${ETCD_LISTEN_CLIENT_URLS} \
    -e ETCD_ADVERTISE_CLIENT_URLS=${ETCD_ADVERTISE_CLIENT_URLS} \
    -e ETCD_INITIAL_ADVERTISE_PEER_URLS=${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
    -e ETCD_LISTEN_PEER_URLS=${ETCD_LISTEN_PEER_URLS} \
    -e ETCD_HEARTBEAT_INTERVAL=${ETCD_HEARTBEAT_INTERVAL} \
    -e ETCD_ELECTION_TIMEOUT=${ETCD_ELECTION_TIMEOUT} \
    -e ETCD_INITIAL_CLUSTER=${ETCD_INITIAL_CLUSTER} \
    -e ETCD_INITIAL_CLUSTER_STATE=${ETCD_INITIAL_CLUSTER_STATE} \
    -e ETCD_PROXY=${ETCD_PROXY} \
    quay.io/coreos/etcd:v2.3.1
;;

stop)
echo "==> no peer found or single member cluster at time of commission"
exit 1
/usr/bin/docker stop etcd
/usr/bin/docker rm etcd
;;
*)
echo USAGE: $usage
exit 1
esac

@mapuri
@shaleman
Tried with etcd workaround without much luck. etcd still fails to start and subsequently netmaster and netplugin both fails to start.
It looks like etcd container get created once again and is at stopped state. Also etcd service anyway is in failed state.
So if i start etcd container manually, i can start both netplugin and netmaster services successfully. And also i can see netmaster started listening on 9999.
Is there any conflict between the etcd container and etcd services, while we do commissioning?

@rkharya

ried with etcd workaround without much luck. etcd still fails to start and subsequently netmaster and netplugin both fails to start.

yes, netplugin/netmaster won't start without etcd. Did you happen to check why etcd failed? From your following comment So if i start etcd container manually, i can start both netplugin and netmaster services successfully. And also i can see netmaster started listening on 9999. , looks like etcd does came up for you, what steps did you do differently from the workaround to bring it up?

Is there any conflict between the etcd container and etcd services, while we do commissioning?

No, I am not aware of an issue here.  Can you describe you steps a bit more? Is it just that commission fails for you? Are any services manually started/stopped before commission?

looks like etcd does came up for you, what steps did you do differently from the workaround to bring it up?

When i manually start the etcd container, netmaster/netplugin works fine on manual start. Though etcd service is still in stopped state, as we did stopped it before.

Steps -

Start commissioning

Commissioning fails due netmaster connection refusal

Applied work-around -
systemctl stop etcd
docker rm etcd
rm /tmp/etcd.existing
systemctl start etcd

etcd still fails to start

Re-commission the node again

Commissioning fails again, and does the cleanup jobs of stopping all services including container

This time start docker and etcd container manually

Start netmaster/netplugin serivces manually

Both starts successfully, and netmaster is listening on the port 9999

etcd 'service' still in stopped state

tried to recommission the node again at this same state, it fails once again.

Can you describe your steps a bit more? Is it just that commission fails for you?

as above

Are any services manually started/stopped before commission?

For the first time commissioning no services were started manually. OS was infact re-installed.

When i manually start the etcd container, netmaster/netplugin works fine on manual start. Though etcd service is still in stopped state, as we did stopped it before.

thanks for clarifying. Can you please collect etcd logs journalctl -xu etcd when it stops after the workaround (i.e. after 3. Applied work-around) ? May be etcd is failing for a different reason now.

etcd-new.txt


Please add support for Windows 7 32-Bit v 6.1.7601.24260 after KB4462923

Hi,
after the last monthly Rollup (KB4462923) multiple user login doesn't work anymore
on my Windows 7 Ultimate 32-Bit with latest RDPWRAP Updates.
RDPConf doesn't show any problems, everything is supported/green
MS Info on updated termsrv.dll
Termsrv.dll,6.1.7601.24234,"1,283,072",13-Aug-18,15:27,IA-64,None,Not applicable
thank you in advance, best regards J

RDPConf doesn't show any problems, everything is supported/green

There is nothing to fix then.

Well, looks like 32-bit version is not added yet, I'll look into that.

I had the same problem on my windows 10 computer after the 1803 update.   In rdpconf, set the Authentication Mode to GUI Authentication Only.   This resolved the problem for me.

Hope this helps!

Please add support for 10.0.14393.2906
Thank You

I have the installation of Windows 10 1903, compilation 18362.32, I disabled the firewall, the smart screen and the antivirus and I still can not run multiple users.

hi how are you how can i get rdp wrapper for instal