[Question]: How to test this package in cli-project

Hi @sindresorhus ,
There is a CLI tool to find good-first-issues for Open Source Projects. It opens the browser with the good-first-issue page.
I'm not sure how to test if the browser was opened properly. Then I looked at the test-case of opn package. You have mentioned that it can not be tested
Is it still true that it can not be tested?

You cannot really test that it actually opens something, but you could mock the call to opn and ensure at least that is correct.


mwc-menu expose anchor margin

There is currently no way to specify the anchor margin which makes it difficult to adjust where a menu appears relative to an anchor. For instance, I usually want to move the anchor by about 10 pixels from the bottom of the anchor so it's not directly against it.
If a property could be added for anchorMargin that takes an object like : {top, right, bottom, left} or something similar, that would help.
The x,y properties do end up setting margin for top left, but seems like they are designed for absolutely positioned menus.

We currently do not have any specs describing a margin distance between an anchor and its menu, so we likely won't be implementing something into the component.
However, it's fairly trivial to do this yourself. You can add padding to a container element around your anchor and use that as the anchor instead. See https://stackblitz.com/edit/typescript-wsrfng for an example.

@asyncLiz, what do you mean you do not have any specs? Its already a feature of mdc-menu-surface you just need to expose it in the web component: https://github.com/material-components/material-components-web/blob/781434a92f4dddc9b2d39853e1f5792e89e7b45b/packages/mdc-menu-surface/foundation.ts#L137
Also your given example doesn't work if you only want the padding to affect the menu. If you simply add padding to the anchor any items in the page (siblings) will also be affected by that padding which I wouldn't want. For instance imagine a button in a header where if you added bottom padding it would affect its centering etc.
Please reconsider as its already implemented and just needs to be exposed.

There is a difference between internal behavior and behavior described in the menu spec at https://material.io/components/menus/.
According to spec, the menu should be flush against the bottom edge of its anchor.
We want to avoid increasing the API surface of our components where it is not needed. It's very easy to get carried away with making lots of options configurable, and then we're stuck supporting non-spec variations.
Instead, we want to encourage users to extend these components and add their own Material-inspired, but not spec compliant, functionality.

I'd be fine with that, except why is it exposed in the mdc layer, then?
The main reason for my request is that we used to get menu functionality by using the mdc-menu component which allowed us to set this. Now that there is a web component we'd like to transition to mwc-menu so we no longer have to wrap mdc-menu, but we can't because this property is no longer configurable.
If we wanted to implement this functionality ourself we would have to extend both mwc-menu and mwc-menu-surface and then completely copy the mwc-menu render function to use our custom implementation.

I'll reopen this and put it in our backlog for now to investigate further with design.

Hello, this is currently possible with absolute on menu. Simply add an anchor to it as well. e.g.
<mwc-button label="this is my anchor"></mwc-button>
<mwc-menu
    absolute
    .anchor=${this.buttonElement}
    x="20"
    y="0">
  <mwc-list-item>...</mwc-list-item>
  ...
</mwc-menu>

In the above example, menu is +20 pixels margined from the button. Just make sure that BOTH x and y are defined, and the mwc-menu's position:absolute is relative to body and not an intermediate ancestor.
Unfortunately, there seems to be a bug setting these values when corner="BOTTOM_*".

Closing this issue, but will file another to investigate why bottom corners are failing

What if I don't want to position it absolutely but I do want the margin?

Sorry, I was shooting from the hip earlier without access to the code.
It is fully supported by simply setting x and y. You may actually be running into #949. You simply have to set those values and add and anchor and it should work the margins for you given the corner. There should be a PR coming very soon


[BUG] containerless kantra needs to remove the exploded Java binary dir

Is there an existing issue for this?

[x] I have searched the existing issues

Konveyor version
latest
Priority
Major
Current Behavior
No response
Expected Behavior
No response
How Reproducible
Always (Default)
Steps To Reproduce
No response
Environment
- OS:

Anything else?
No response

Hi @eemcmullan hope you are doing well. I want to work on this issue, with my initial analysis I am thinking of a approach where we
ensure exploded Java binaries are included in the a.tempDirs list for cleanup or adding explicit logic to clean them. I will be grateful for any specific guidance from you.


Error when running on nightly, invalid arguments reported when no arguments are supplied

On nightly:
Default host: x86_64-unknown-linux-gnu

installed toolchains
--------------------

stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)

active toolchain
----------------

nightly-x86_64-unknown-linux-gnu (default)
rustc 1.26.0-nightly (75af15ee6 2018-03-20)

Installed cargo-tree ok. When running:
$ cargo tree
error: Invalid arguments.

Usage: cargo tree [options]

The same thing happens with cargo-outdated, so this might be a problem/change in cargo itself that is now showing itself here. However, cargo clippy works fine.
Should say that the same thing happens with a direct run of cargo-tree.

Can also confirm that switching to stable, it works fine.

Cargo invokes subcommands with the first argument being its name, so you need to run cargo-tree tree <ARGS> to run it directly. It seems to work just fine for me running cargo +nightly tree though. There was a bug in Cargo recently that broke subcommands but I think it's fixed in the current nightly.

Ah, I rebuilt my PC this week and it seems I hit that bug. I updated to latest nightly and it works again now. Sorry to waste your time, closing issue.


Unable to draw with 3.5

Hello,
We're using the chart js package within Salesforce and have been drawing correctly with v2.8 and we've attempted to upgrade to a newer version so we can look into using some newer features.
However no chart is being rendered when we run the code. Here is the below code which is functional on 2.8:
loadScript(this, chartjs)
    .then(async() => {
        const ctx = this.template
            .querySelector('canvas')
            .getContext('2d');

            const data = {
                labels: [
                  'Eating',
                  'Drinking',
                  'Sleeping',
                  'Designing',
                  'Coding',
                  'Cycling',
                  'Running'
                ],
                datasets: [{
                  label: 'My First Dataset',
                  data: [65, 59, 90, 81, 56, 55, 40],
                  fill: true,
                  backgroundColor: 'rgba(255, 99, 132, 0.2)',
                  borderColor: 'rgb(255, 99, 132)',
                  pointBackgroundColor: 'rgb(255, 99, 132)',
                  pointBorderColor: '#fff',
                  pointHoverBackgroundColor: '#fff',
                  pointHoverBorderColor: 'rgb(255, 99, 132)'
                }, {
                  label: 'My Second Dataset',
                  data: [28, 48, 40, 19, 96, 27, 100],
                  fill: true,
                  backgroundColor: 'rgba(54, 162, 235, 0.2)',
                  borderColor: 'rgb(54, 162, 235)',
                  pointBackgroundColor: 'rgb(54, 162, 235)',
                  pointBorderColor: '#fff',
                  pointHoverBackgroundColor: '#fff',
                  pointHoverBorderColor: 'rgb(54, 162, 235)'
                }]
              };

            const config = {
                type: 'radar',
                data: data,
                options: {
                  elements: {
                    line: {
                      borderWidth: 3
                    }
                  }
                },
              };

        this.chart = new Chart(ctx, config);

Has there been any changes to how we should be using the package?
Thanks,
Dom

Are you not able to get any console output from Salesforce? I'd expect some error message if nothing is rendered.
How is the library integrated to Salesforce?

We took the chart.min.js from the 3.5 release and placed it in our static resource, we can then import the method into the JS to run the code.
We can add console logs to our code to see where it is failing but we aren't getting any other logs/errors

Only thing I can think of is the casing change Chart.min.js to chart.min.js. You could also add a console.log(Chart.version) that should output 3.5.0 if the lib is properly loaded.

I think we had an incorrect reference like you suggested, this has now been resolved.
Thanks for the suggestion!


Fix issues on our Swift Package Index listing

Describe the issue
With the completion of #505, aws-sdk-swift is now listed on the Swift Package Index.  I submitted the package for automatic indexing, and it is listed here.
However, our build is shown as broken for all platforms and Swift versions.  From the SPI maintainer:

We're having some build machine issues at the moment (nothing to do with this package being added!) and so the build results aren't coming out quite right at the moment. I do believe that for your linux builds you'll need to use our base image that includes openssl via the .spi.yml file (more information here). The build failures for the other platforms may be our issue, though. We're looking into it.

Create a config file as described in the link, and perform any other config changes as needed to show correct build status on Swift Package Index.
Links
https://swiftpackageindex.com/swiftpackageindex/spimanifest/0.12.0/documentation/spimanifest/commonusecases#Images-for-Linux

Reopening while I verify that SPI builds are fixed


Add likes and follows

This pr implements a basic like and follow system. Remember to redo the migration and update database to make it work.

I have two design concerns that I would like some feedback on:

Is it okay to have the CheepRepository depend on other repositories (AuthorRepository and FollowRepository)?
In our data model, can we implement/should there exist some king of foreign key constraint on the like and follow repositories?

I have two design concerns that I would like some feedback on:

Is it okay to have the CheepRepository depend on other repositories (AuthorRepository and FollowRepository)?
In our data model, can we implement/should there exist some king of foreign key constraint on the like and follow Entities

I have no real issue with a depedency on likes and follows since they're a part of a cheep. It really depends from person to person.
I think we should consider a key constraint, since we're referencing existing users.


Reuse build targets from Packit as a Service in CLI

At this moment my .packit.yaml file looks like this.
# See the documentation for more information:
# https://packit.dev/docs/configuration/

specfile_path: specfiles/restraint-upstream.spec

# add or remove files that should be synced
synced_files:
  - src: restraint-upstream.spec
    dest: restraint.spec

upstream_package_name: restraint
# downstream (Fedora) RPM package name
downstream_package_name: restraint

jobs:
- job: copr_build
  trigger: pull_request
  metadata:
    targets:
      - centos-stream-aarch64
      - centos-stream-ppc64le
      - centos-stream-x86_64
      - fedora-30-aarch64
      - fedora-30-armhfp
      - fedora-30-i386
      - fedora-30-ppc64le
      - fedora-30-s390x
      - fedora-30-x86_64
      - fedora-31-aarch64
      - fedora-31-armhfp
      - fedora-31-i386
      - fedora-31-ppc64le
      - fedora-31-s390x
      - fedora-31-x86_64
      - fedora-rawhide-aarch64
      - fedora-rawhide-armhfp
      - fedora-rawhide-i386
      - fedora-rawhide-ppc64le
      - fedora-rawhide-s390x
      - fedora-rawhide-x86_64
      - rhel-8-aarch64
      - rhel-8-ppc64
      - rhel-8-ppc64le
      - rhel-8-x86_64

As you can see we are running huge number of build targets.
I would like to run build before I create the PR in GH.
This means I have to put there manually 25 targets. It would be nice if we can unify this so my packit copr-build will use the same targets as PR.

It would be nice if we had a way in the copr-build command to use the job definitions, in some sensible way.

Side note: some lines can be saved with aliases:

@lachmanfrantisek love it! Thank you!

But, what will happen if Fedora will scrape one arch in Fedora Rawhide? For example, killing 32 bits arch @lachmanfrantisek

But, what will happen if Fedora will scrape one arch in Fedora Rawhide? For example, killing 32 bits arch @lachmanfrantisek

Then you can use fedora-stable and fedora-development:
fedora-development-arch1
fedora-development-arch2
fedora-stable-arch1
fedora-stable-arch2
fedora-stable-arch3

What about these options?

Use targets from the config by default. (Instead of the fedora-rawhide-x86_64)
Add a new option for that -- something like -c/--configured-targets, -t/--targets-from-config,  --all, -a/--all-targets, -a/--all-configured

It would be nice to have the same approach also for other subcommands like propose-update.

It would be nice to have the same approach also for other subcommands like propose-update.

Not sure about this one. dist-git branch != build target.
For example, in my case, I defined 6 architectures to build, however, 6 architectures  == 1 dist-git branch -> master. This approach would work w/ BREW (build target define all available archs by default), but COPR giving you more ability to build exactly what you need.

Not sure about this one. dist-git branch != build target.

I know. Consistency is maybe a better word -- to load metadata for other subcommands in the same way (e.g. same/similar name of the option, same default behaviour,...).

I'm sad to say this, but I agree with stale bot here. It's very clear to me that we won't have time to work on this request for the next 3 months. Also it may seem like a simple one, but to make it work in a generic way - let packit CLI to process a defined job, we would need to write a ton of code. I hope then the aliases are a decent compromise for you. Thank you for opening this request.

Well.. I tried


Controls and Gestures

FEATURE REQUEST
SUMMARY
Capacity to show/hide controls
DETAILS
UI controls should be manage like Google Maps does.
UiSettings.setZoomControlsEnabled(true)

Controls and Gestures
PLATFORMS

[x] Android
[x] iOS
[x] UWP

Hi @davidtavarez ,
I can't found how to disable zoom control in UWP(Bing map).
Probably I will implement for Android and iOS only.

According to this: https://social.msdn.microsoft.com/Forums/en-US/a647e305-a05e-4cf8-a33b-13e4388dbfba/remove-zoom-or-map-type-controls?forum=bingmapswindows8
Set ShowNavigationBar to false.

Thanks @deextercz ,
Let me show my plan:
New API
Map.UiSettings.ZoomControlsEnabled = true/false

Implementations - wraps each native APIs

Android - UiSettings.setZoomControlsEnabled(true / false)
iOS - No operation because Google Maps SDK for iOS does not have Zoom In/Out buttons
UWP - ShowNavigationBar(true / false)

I searched again a little bit and for UWP it looks like solution is MapControl Template
http://stackoverflow.com/questions/38547023/mapcontrol-template10?rq=1
http://stackoverflow.com/questions/34329963/how-make-controls-on-map-like-in-windows-map-app

I released Xamarin.Forms.GoogleMaps 2.1.0-beta2 that contains #8.
You can use Map.UiSettings.ZoomControlsEnabled = false for hiding zoom controls in UWP.


Feature: Add Puppet Classes view

Hello,
Recently, in order to better monitor our Puppet nodes, we needed to add a Class view in Puppetboard.
This view lists the Puppet classes that have had at least one of their resources changed (event). It consists of extracting the resource events from the last report of each node and grouping these events by class.
For each class, we display the number of nodes having executed a resource declared in this class, as well as the number of events by status ('failure', 'success' and 'noop').
The main drawback of this view (which is disabled by default) is that it is potentially resource-consuming since it requires parsing the last report of each node and classifying the events by class.
This heavy processing pushed us to add a cache system to store the results but also a scheduler to pre-compute these results so that they are available more quickly to the user.
If you have more than one worker, it is recommended to use a shared backend like Memcached (that's what we do).
To display the class view, we retrieve the pre-computed result (by a scheduled job triggered at regular intervals, every 5mn in our case) from the cache and we parse only the new reports (i.e. those generated after the caching and which are therefore not present in the cache). We take advantage of this to update the cache. For information, we automatically run Puppet agent every 4 hours.
When we click on a class, we display the view by class. This view allows listing all the nodes whose last report has executed (event) at least one resource declared in the class. The status of the node is also displayed as well as the status of the class (which corresponds to a global status of the resource events).
I submit this new feature without knowing if it can interest the Puppet community.
Screenshot (Classes view)

Screenshot (Class view)

docker-compose configuration used to test this new view:
services:
  puppetboard:
    container_name: puppetboard
    hostname: puppetboard
    image: puppboard:4.2.3_xxx
    restart: always
    ports:
    - <IP_ADDRESS>:8082:80
    volumes:
    - "/etc/puppetlabs/puppetdb/ssl:/etc/puppetlabs/puppetdb/ssl:ro"
    extra_hosts:
    - hostname-puppetdb:<IP_ADDRESS>
    environment:
    - PUPPETBOARD_WORKERS=5
    - PUPPETDB_HOST=hostname-puppetdb
    - PUPPETDB_PORT=8081
    - PUPPETDB_PROTO=https
    - PUPPETDB_SSL_VERIFY=/etc/puppetlabs/puppetdb/ssl/ca.pem
    - PUPPETDB_KEY=/etc/puppetlabs/puppetdb/ssl/private.pem
    - PUPPETDB_CERT=/etc/puppetlabs/puppetdb/ssl/public.pem
    - ENABLE_CLASS=True
    - SCHEDULER_ENABLED=True
    - CACHE_TYPE=MemcachedCache
    - UNRESPONSIVE_HOURS=16
    networks:
      app_net:
        ipv4_address: <IP_ADDRESS>
  memcached:
    container_name: memcached
    hostname: memcached
    restart: always
    image: memcached:latest
    networks:
      app_net:
        ipv4_address: <IP_ADDRESS>

networks:
  app_net:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: <IP_ADDRESS>/24

Hi @lcharreau!
Thank you for your contribution. I think that it’s ok to merge it if the added feature is behind a feature flag and if it requires Memcache config to start the app only if this feature flag is enabled. Does it work this way?


nextcloud-reloaded branch: Issues when deploying non-locally

I'm using this role to spin up nextcloud on Ubuntu 20.04 LTS with the latest nextcloud (v 20.0.0), where the control node is my desktop and the managed node is a VM with the fqdn of "nc.test".
There's a few issues/improvements I'd like to discuss, and I've broken them down below.

[Disclaimer: I thought these issues were related to something else at first, but I've realized almost of all of them are from deploying non-locally. I've edited this issue to reflect the problems I've encountered and my attempts to rectify them.]

1.) Wrong configuration in config.php to access redis over a socket?
The configuration in /var/www/nextcloud/config/config.php (which I believe is set from vars in group_vars/all.yml and a template in the redis role) gives
'redis' =>
array (
  'host' => "{{ hostvars[groups['redis'][0]].ansible_default_ipv4.address }}"
  'port' => 6379
  'timeout' => 0
  'password' => 'abcdefg'

When installing on my setup, with Redis and Nextcloud running on the same machine, I believe the configuration should render to the following, so that redis is connected via a unix socket.
'redis' =>
array (
  'host' => "/run/redis/redis.sock"
  'port' => 0
  'timeout' => 0
  'password' => 'abcdefg'

2.) Wrong user added to redis group?
Second, the permissions of the redis socket are set to 770. In the group_vars/all.yml file, the web user is set to nginx for Debian-type operating systems; this user is subsequently added to the redis group in roles/redis/tasks/main.yml.
I believe this is a mistake; as far as I can tell, user nginx does not need to be in the redis group, while www-data does.
I'm not familiar with php, but I believe php-fpm runs as www-data (given the configuration files under /etc/php/7.4/fpm), and I think this is what is accessing Redis.
Changing the configuration to meet these two requirements allows nextcloud to run successfully.
3.) Use APCu for local caching and Redis for distributed?
The latest administration docs recommend using APCu for local caching and Redis for distributed caching and file locks.
I suggest that, given the setup above, the entries in config.php should look like
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
     'host' => '/run/redis/redis.sock',
     'port' => 0,
     'timeout' => 0,
     'password' => 'abcdefg'
]

4.) TLS certificate generation succeeds, but debug check fails
The first time the playbook is run, the debug check fails on lookup of /etc/ssl/private/nc.test/ca.cert.

Figured out some of this. One of the issues was that I am not deploying locally; the control node is my desktop, and the managed node is a VM with the fqdn of "nc.test".
1.)
Since I was not using "localhost" as the name of the node in the inventory, but "nc.test", I need to change the following lines in roles/nextcloud/default/main,yml from
- "redis host --value='{% if groups['redis'][0] == 'localhost' %}{{ redis_socket.path }}{% else %}{{ redis_tcp.address }}{% endif %}'"
  - "redis port --value='{% if groups['redis'][0] == 'localhost' %}0{% else %}{{ redis_tcp.port }}{% endif %}' --type=integer"

to
- "redis host --value='{% if groups['redis'][0] == groups['webserver'][0] %}{{ redis_socket.path }}{% else %}{{ redis_tcp.address }}{% endif %}'"
  - "redis port --value='{% if groups['redis'][0] == groups['webserver'][0] %}0{% else %}{{ redis_tcp.port }}{% endif %}' --type=integer"

So that the proper values are applied.
2.)
The issue here is that the backup: true option is given to the configure php task in roles/php/tasks/main.yml. The backed up file is superseding the www.conf file, because it appears alphabetically later in the /etc/php/7.4/pool.d/ directory which is globed by the line
include={{ php_www_conf[ansible_distribution] | dirname }}/*.conf

in roles/php/templates/php-fpm.conf.j2.
Changing this to
include={{ php_www_conf[ansible_distribution] | dirname }}/www.conf

resolves the issue (but may break other installations.)

Before I do some more testing and submit a pull request, I should ask:
@ReinerNippes, are you interested in making this playbook suitable for non-local deployment? I thought my issues here were related to something else at first, but then realized that I was just using it in a way that wasn't originally intended.
If so, I'll do some testing to make sure that everything still works for local deployment.

Hi Peter,
the original intention was to be able to install Nextcloud also in a distributed environment. That is to say to have Redis, DB, Office and so on  on different machines (or e.g. use AWS RDS).
Therefore you find in the inventory (and the playbook) each "service" assigned to a "server" or a group of server.
https://github.com/ReinerNippes/nextcloud/blob/485394d3859629e20cd4d689259c19dc63daa0c3/inventory#L111
The bad news: That's not yet finished. And I'm not sure if it will ever be. In terms of: If two or more Redis machines are defined install a HA Redis cluster.
I run successfully some tests installing Redis and the database on separate machines. But I think I never run the "nextcloud" play on non localhost.
Which of your items would be related to the fact that you try to run the play on "nc.net" instead localhost?

Hi Riener, thanks for your response!
Items 1 and 4 were related to not deploying locally.
For Item 1.)
The first issue was that the fqdn of "localhost" was hardcoded -- the comparison was
groups['redis'][0] == 'localhost'

rather than something like
groups['redis'][0] == groups['webserver'][0]

which, given a single redis server and single web-server works fine.
For Item 4.)
The fourth item used the "lookup" plugin to ensure that a certificate was generated successfully -- but "lookup" only looks on the control node. Changing this to a "stat" ansible module fixes the problem.

Items 2 and 3 were different issues

Hi Peter,

redis socker & 3. APCu cache should be fixed now.

https://github.com/ReinerNippes/nextcloud/blob/nextcloud-reloaded/roles/nextcloud/defaults/main.yml

nginx user: On my Test Ubuntu system both nginx and php-fpm are running as nginx not www-data. www-data although is the standard apache user. So I think it should work this way.

The other two items I have to check still. Or do you have already a PR for them?
Thanks for your contribution.

Sorry for reviving this again. Almost everything works now remote for the reloaded branch except for the self-signed stuff.
I got an initial version up and running with quite some code. Are you interested, to get that in as well? If so I would try to get that in as well
roles/tls-certificate/tasks/selfsigned.yml
- stat:
    path: "{{ tls_certificate_ca }}"
  register: tls_certificate_ca_flag
- debug:
    msg: "{{ tls_certificate_ca }} file exists"
  when: tls_certificate_ca_flag.stat.exists

- stat:
    path: "{{ tls_certificate_file }}"
  register: tls_certificate_file_flag
- debug:
    msg: "{{ tls_certificate_file }} file exists"
  when: tls_certificate_file_flag.stat.exists

- name: get content of tls_certificate_ca
  slurp:
    src: "{{ tls_certificate_ca }}"
  register: tls_certificate_ca_encoded

- name: get content of tls_certificate_file
  slurp:
    src: "{{ tls_certificate_file }}"
  register: tls_certificate_file_encoded

- name: decode remote content
  set_fact:
    tls_certificate_file_content: "{{ tls_certificate_file_encoded.content | b64decode}}"
    tls_certificate_ca_content: "{{ tls_certificate_ca_encoded.content | b64decode}}"

- name: create fullchain certificate
  copy:
    dest: "{{ tls_certificate_fullchain }}"
    content: |
      {{ tls_certificate_ca_content }}

      {{ tls_certificate_file_content }}
    owner: "{{ tls_certificate_owner | default('root') }}"
    group: "{{ tls_certificate_group | default('root') }}"
    mode: '0644'


about error propagation

See this gist and comments for details: https://gist.github.com/1723027
In my implementation  (which learns a lot from q) i modified the specified code about how reject wrapping works :
https://github.com/kissyteam/kissy/blob/0fe750597c5e7444fcd9425652ffb115c40889eb/src/seed/src/promise.js#L195
Then the result is right, am i making a mistake?

thanks to @DomenicDenicola
i misunderstood the error callback of promise at first, i thought it is just used for error propagation and notification.
Now i see it can also be used for recovery :)


Angular SSR: ReferenceError - window is not defined

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.14.2
Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
2.0.0-beta.2
Description
We are using MsalGuard to protect certain routes, as always, and we have noticed that this routes are broken in production due to SSR. Our error points directly to MsalGuard.ActivateHelper.
Taking a look at the code we have seen that there are references to window object, concreteñy in msal.guard.ts, un line 113
if (UrlString.hashContainsKnownProperties(window.location.hash) && BrowserUtils.isInIframe()) {
I'd say that the same hint that is given the the msal angular developers that want to use with SSR should be used here...
Error Message
No response
Msal Logs
No response
MSAL Configuration
msalConfig: {
    logLevel: LogLevel.Warning,
    piiLoggingEnabled: false,
    authorityDomain: '###{TenantName}###.b2clogin.com',
    credentials: {
      clientId: '###{SPA-ClientId}###',
      tenantId: '###{TenantId}###'
    },
    authorities: {
      signUpSignIn: {
        authority: 'https://###{TenantName}###.b2clogin.com/###{TenantName}###.onmicrosoft.com/b2c_1_susi',
      },
      forgotPassword: {
        authority: 'https://###{TenantName}###.b2clogin.com/###{TenantName}###.onmicrosoft.com/b2c_1_reset',
      },
      editProfile: {
        authority: 'https://###{TenantName}###.b2clogin.com/###{TenantName}###.onmicrosoft.com/b2c_1_edit_profile'
      }
    },
    b2cPolicies: {
      names: {
        signUpSignIn: 'b2c_1_susi',
        forgotPassword: 'b2c_1_reset',
        editProfile: 'b2c_1_edit_profile'
      }
    },
    resources: {
      logtripApi: {
        resourceUri: '###{API-BaseUrl}###',
        resourceScopes: ['openid ###{SPA-ApiScope}###']
      }
    }
  },

Relevant Code Snippets
{
    path: 'protected-path',
    component: ProtectedComponent,
    canActivate: [ MsalGuard ]
  },

Reproduction Steps

Follow the steps to use MSAL Angular with SSR (https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/angular-universal.md)
build SSR
run
go to a protected URL

Expected Behavior
This protected URL should redirect the user to AD B2C in order to login or register
Identity Provider
Azure B2C Basic Policy
Browsers Affected (Select all that apply)
Chrome, Firefox, Edge, Safari, Internet Explorer
Regression
No response
Source
External (Customer)

@JuanGarciaCarmona Thanks for your patience. I haven't been able to reproduce this error, however this seems like a reasonable ask, and I have made a change to the line you described in the linked PR. Can you check if this solves your reference error?

I've just seen your changes and it looks like it will fix the issue. I've just told our team to check it out. I'll let you know.
Thank you!

Hi,
We haven't found an easy way to test this part of the code in a real scenario. Use SSR and security mechanisms (API calls over SSL) in our environments requires to pass through our build and release pipelines, even in DEV environment.
We've seen the changes and that protection against null reference using the window object seems enough. There is another usage of window in the guard, but that shouldn't be a problem in an SSR scenario.
We can wait to see it in next release (Alpha / Beta) so let us know.
BR,
Juan (and the entire Logtrip Development Team)

@JuanGarciaCarmona Can you or someone on your team provide a simple working sample demonstrating this issue? Or you can try to reproduce it on one of our samples. Our team feels it would be good to be able to reproduce this issue before making a change.

@jo-arroyo ,
Hi, the only thing that we can do is to give you a recipe, it is simple:

Create an Angular project. You could use your own sample project, the one referenced in the SSR documentation section should be perfect. (https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/angular-universal.md )
Follow those instructions to use angular universal (is just a matter of installing it and apply very basic configuration, probably your sample will work at the first try if it follows the SSR rules (don't use browser objects or be protected and ensure they exists before use them)
Create a route and protect it with Msalguard, you could try both, can load and can activate mechanisms.
Build (with the SSR command) & deploy it in a testing environment similar to a real one, with an AD B2C, Https traffic, and, what is most important, using SSR, which will require to use Node Js & express and maybe deal with your web.config regarding the paths and routes (it will depend on your environment and your pipelines).
Once it runs (not an easy goal) then you could try the protected route. If the usage of browser objects like window is well protected then you should be forced to login, as usual, otherwise you'll see an exception in the server output and probably nothing will hapen the browser.

I hope you have more time and resources to setup all this stuff than us. I am not even sure on how to do it to grab your changes considering that in order to be tested this have to be build which gets npm packages.
Another possibility: I am open for a call and maybe I could follow some instructions from your side to build locally with these changes and deploy manually.
I hope you can try it and automate my suggestions for next SSR rekated tests.
BR,

@JuanGarciaCarmona Thank you for your patience. We were able to reproduce the error, and after some consideration, have updated the MsalGuard as well as our guidance around using Angular SSR with msal-angular. As the core libraries do use browser-only objects, much of msal-angular's login and token acquisition would have to occur client-side, although we have made a few changes so that using msal-angular should no longer break your app. Please take a look at the linked PR for other mitigating steps for your app, and let us know if you have further questions. We will continue to make changes to msal-angular that make it more SSR-friendly, and this current change will be available in the next msal-angular release.


⚠ Bofrost.com has degraded performance

In 29fa0ab, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 782 ms

Resolved: Bofrost.com performance has improved in 18befb4.


Bad state: A decorated type for Future* loadLibrary() should have been stored by the NodeBuilder via recordDecoratedElementType at offset 1113

When running dart migrate got following exception report:
Bad state: A decorated type for Future<dynamic>* loadLibrary() should have been stored by the NodeBuilder via recordDecoratedElementType at offset 1113 in /Users/Admin/Development/flutter/AgForce/treckerflutter/lib/common/lang/l10n/messages_all.dart (loadLibrary)

#0      Variables._createDecoratedElementType (package:nnbd_migration/src/variables.dart:382:7)
#1      Variables.decoratedElementType (package:nnbd_migration/src/variables.dart:100:9)
#2      EdgeBuilder.getOrComputeElementType (package:nnbd_migration/src/edge_builder.dart:301:38)
#3      EdgeBuilder.visitSimpleIdentifier (package:nnbd_migration/src/edge_builder.dart:1603:16)
#4      SimpleIdentifierImpl.accept (package:analyzer/src/dart/ast/ast.dart:8889:50)
#5      EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2207:24)
#6      EdgeBuilder._handlePropertyAccess (package:nnbd_migration/src/edge_builder.dart:2976:14)
#7      EdgeBuilder.visitPrefixedIdentifier (package:nnbd_migration/src/edge_builder.dart:1405:14)
#8      PrefixedIdentifierImpl.accept (package:analyzer/src/dart/ast/ast.dart:8179:50)
#9      EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2207:24)
#10     EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2331:20)
#11     EdgeBuilder.visitMapLiteralEntry (package:nnbd_migration/src/edge_builder.dart:1237:5)
#12     MapLiteralEntryImpl.accept (package:analyzer/src/dart/ast/ast.dart:6806:50)
#13     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2207:24)
#14     EdgeBuilder._handleCollectionElement (package:nnbd_migration/src/edge_builder.dart:2441:14)
#15     ListMixin.forEach (dart:collection/list.dart:86:13)
#16     EdgeBuilder.visitSetOrMapLiteral (package:nnbd_migration/src/edge_builder.dart:1568:23)
#17     SetOrMapLiteralImpl.accept (package:analyzer/src/dart/ast/ast.dart:8644:50)
#18     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2207:24)
#19     EdgeBuilder._handleAssignment (package:nnbd_migration/src/edge_builder.dart:2331:20)
#20     EdgeBuilder.visitVariableDeclarationList (package:nnbd_migration/src/edge_builder.dart:1924:11)
#21     VariableDeclarationListImpl.accept (package:analyzer/src/dart/ast/ast.dart:10565:15)
#22     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2207:24)
#23     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1340:9)
#24     GeneralizingAstVisitor.visitAnnotatedNode (package:analyzer/dart/ast/visitor.dart:137:48)
#25     GeneralizingAstVisitor.visitDeclaration (package:analyzer/dart/ast/visitor.dart:231:44)
#26     GeneralizingAstVisitor.visitCompilationUnitMember (package:analyzer/dart/ast/visitor.dart:205:7)
#27     GeneralizingAstVisitor.visitTopLevelVariableDeclaration (package:analyzer/dart/ast/visitor.dart:558:7)
#28     TopLevelVariableDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:9825:15)
#29     EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2207:24)
#30     EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1340:9)
#31     GeneralizingAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:202:52)
#32     CompletenessTracker.visitCompilationUnit.<anonymous closure> (package:nnbd_migration/src/utilities/completeness_tracker.dart:52:24)
#33     PermissiveModeVisitor.reportExceptionsIfPermissive (package:nnbd_migration/src/utilities/permissive_mode.dart:26:24)
#34     CompletenessTracker.visitCompilationUnit (package:nnbd_migration/src/utilities/completeness_tracker.dart:43:5)
#35     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2111:50)
#36     NullabilityMigrationImpl.processInput (package:nnbd_migration/src/nullability_migration_impl.dart:244:12)
#37     NonNullableFix.processUnit (package:nnbd_migration/src/front_end/non_nullable_fix.dart:164:15)
#38     _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1152:19)
#39     _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:1150:28)
#40     _FixCodeProcessor.processResources (package:nnbd_migration/migration_cli.dart:1079:30)
<asynchronous suspension>
#41     _FixCodeProcessor.runLaterPhases (package:nnbd_migration/migration_cli.dart:1150:5)
<asynchronous suspension>
#42     MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:747:24)
<asynchronous suspension>
#43     MigrateCommand.run (package:nnbd_migration/migration_cli.dart:184:7)
<asynchronous suspension>
#44     CommandRunner.runCommand (package:args/command_runner.dart:196:13)
<asynchronous suspension>
#45     DartdevRunner.runCommand (package:dartdev/dartdev.dart:199:18)
<asynchronous suspension>
#46     runDartdev (package:dartdev/dartdev.dart:53:16)
<asynchronous suspension>
#47     main (file:///opt/s/w/ir/cache/builder/src/third_party/dart/pkg/dartdev/bin/dartdev.dart:11:3)
<asynchronous suspension>

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 2.1.0-13.0.pre.86, on Mac OS X 10.15.7 19H524 darwin-x64, locale en)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 2.3)
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.54.3)
[✓] Connected device (4 available)

• No issues found!

@oligazar thanks for the bug report!  Are you able to make progress by running the tool with the command-line argument --ignore-exceptions?

I was able to reproduce this bug by trying to migrate the following code snippet:
// @dart=2.9

import 'test.dart' deferred as test;

f() => test.loadLibrary;

I'll get to work on a fix.


Create issue templates

Done with https://github.com/CodeForAfricaLabs/sensors.AFRICA-SeaSensors/commit/bb1e508fb08761bc6d79ff1506f0196e62dfb5bd


Documentation missing a step.

At the end of the steps to create an Azure Automation account, https://docs.microsoft.com/en-us/azure/virtual-desktop/set-up-scaling-script states "To check if your webhook is where it should be, go to the Resources list on the left side of your screen and select Webhook."
It seems to be missing a pre-requisite step, as there is no Resources list or Webhook item in the resource group panel:  I think it should tell the user to select the runbook first.  Also, it should be "Webhooks" instead of "Webhook".

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

ID: 24a6c4e2-702f-2b17-3e2d-c86f33b13beb
Version Independent ID: 1e7811d8-668a-db98-34ca-eaf4d7ee8c1f
Content: Scale session hosts Azure Automation - Azure
Content Source: articles/virtual-desktop/set-up-scaling-script.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@3vi1
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@Heidilohr
Can you please check and add your comments on this doc update request as applicable.

Any update on this?

This has been updated.
Thanks for bringing this to our attention. We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.


Added a pytorch test file and run it and slycot test on ci.

The pytorch test failed:
Traceback (most recent call last):
  File "D:\a\anaconda-dee-config\anaconda-dee-config\tests\test_pytorch.py", line 5, in <module>
    import torch
  File "C:\Users\runneradmin\miniconda3\Lib\site-packages\torch\__init__.py", line 130, in <module>
    raise err
OSError: [WinError 182] The operating system cannot run %1. Error loading "C:\Users\runneradmin\miniconda3\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.
Error: Process completed with exit code 1.


Adding team members

Step ONE: Add fellows

Create a second section in our people called "Fellows" = each needs to folder with a markdown in authors!
List of fellows:
Satyam, Matt, Jia, Mai, Elizabeth, Bryan, Harshan, Iryna, Shatayu
Copy the folder from sabine; Folder name: lower case
adjust the .md - you change the user group to Research Fellows, and ## for the twitter and linkedin.
Add the sentence/statement about them under undernath ---
Add the avatar.jpg (rename the image from the original page as avatar.jpg)

Step TWO: alumni
See above

Almost done, I have to mirror author names w/in .md to match folder name. Then to alumni!

There were a few errors in the latest commit. I've fixed them and pushed it back to GitHub now. Make sure you have a look at the correct syntax before you update the next round.
https://github.com/RCODI/rcodi-blog/blob/master/content/authors/bryan-jacobs/_index.md

Alumni done


fix(region): avoid timeout for waiting azure async task

这个 PR 实现什么功能/修复什么问题:

[x] 功能、bugfix描述
[x] 冒烟测试
[ ] 单元测试编写

是否需要 backport 到之前的 release 分支:

release/3.5

/area region
/cc @zexi

Codecov Report

Merging #9240 (ab8d123) into master (5475984) will decrease coverage by 1.90%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #9240       +/-   ##
==========================================
- Coverage    5.85%   3.95%    -1.91%
==========================================
  Files         835     170      -665
  Lines      129726   25154   -104572
==========================================
- Hits         7601     995     -6606
+ Misses     121440   24047    -97393
+ Partials      685     112      -573

Flag
Coverage Δ

aFlag
3.95% <ø> (-1.91%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/mcclient/options/k8s/cluster_resource.go

pkg/hostman/system_service/kube_agent.go

pkg/util/cloudinit/cloudconfig.go

pkg/compute/models/cloudproviderschedtags.go

pkg/multicloud/aws/loadbalancerlistenerrule.go

pkg/compute/models/hoststorages.go

pkg/apigateway/handler/dispatcher.go

pkg/keystone/models/rolepolicies.go

pkg/monitor/alerting/conditions/nodataquery.go

pkg/compute/models/guests.go

... and 655 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5475984...ab8d123. Read the comment docs.

/lgtm
/approve


Revert "fix swagger spec"

This reverts commit 3fbf65bfda45af0aa348c66aede720cf637929bb.
The referenced commit made changes to the Swagger spec of the app
that resulted in its import into fuse no longer working. However,
in the installer, even though the image tag references a commit
after this commit, none of these changes are included.
My guess is that a manual build of the image was done using an old
commit but given a later commit tag. So the changes in the reverted
commit were never included in Integreatly until yesterday.

@sedroche This seems to be the cause of the issue in the spring boot app. The commit message describes what's happening but basically we had an image that was built on an old commit (pre-3fbf65b) but used a newer commit tag in Quay.
When https://github.com/integr8ly/installation/pull/334 was merged, the image it referenced did include the changes made in 3fbf65b and fuse began to break.
As these changes weren't even included in Integreatly until yesterday, and even then they were included unknowingly. I think we can revert them and revisit the "fix the Swagger warnings" issue that this commit resolves at a later time.

@aidenkeating Is the ticket for the warnings reopened?

@sedroche It was originally a Trello card, this is the open Jira I created https://issues.jboss.org/browse/INTLY-886

Cool. All good so


Drop usage of private httpx ContentStreams

Rejig the auth flow slightly, so as to not rely on httpx's private ContentStreams.
After this fix I believe authlib should be compatible with httpx 0.12, the upcoming 0.13, and the planned 1.x series.
What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[x] Refactor
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
(If no, please delete the above question and this text message.)

[x] You consent that the copyright of your pull request source code belongs to Authlib's author.

Thanks


refactor: remove unnecessary if condition for linear element onKeyDown

While correct, can we refactor both branches so it's easier to reason about, like this?
if (selectedElements.length === 1) {
  if (isLinearElement(selectedElements[0])) {
    /* ... */
  } else {
    /* ... */
  }
}

While correct, can we refactor both branches so it's easier to reason about, like this?
if (selectedElements.length === 1) {
  if (isLinearElement(selectedElements[0])) {
    /* ... */
  } else {
    /* ... */
  }
}

sure done 👍🏻


feat: Implement CreateLink and setup linker test in go-service-s3

feat: Implement CreateLink and setup linker test in go-service-s3

We need to start an RFC for s3 before we implement virtual_link.

We need to start an RFC for s3 before we implement virtual_link.

OK, I'm already working on it.

We need to start an RFC for s3 before we implement virtual_link.

I have a question, does this RFC go in go-storage or go-service-s3?

We need to start an RFC for s3 before we implement virtual_link.

I have a question, does this RFC go in go-storage or go-service-s3?

In go-service-s3.


Fix the build and simplify the patching + directory structure

Coverage remained the same at 100.0% when pulling 28e7ab9257451c21086113dcd84069a8ba48155f on jdh-fix-the-build into f88ac0ddf87018afa7ffa99b51ba3c0f13b3c3b0 on master.

Coverage remained the same at 100.0% when pulling 3953b3ad6681d8efce8aa9640575a6c2a13ca6e8 on jdh-fix-the-build into f88ac0ddf87018afa7ffa99b51ba3c0f13b3c3b0 on master.

Coverage remained the same at 100.0% when pulling ad93a8bfd10e4d11e9175bbd9867e826ea669484 on jdh-fix-the-build into f88ac0ddf87018afa7ffa99b51ba3c0f13b3c3b0 on master.


As a Team Member I want to have a Code of Conduct so that we can follow the best Practices

Acceptance Criteria


Full Sidechain Replay Polling Times

As a private node operator, I would like to build the sidechain with my own local steemd node (without a third party blocks.log file), so that I can verify the sidechain.
The problem is that, by default, it now takes about three days to rebuild the sidechain using nothing but steemd as a source for transactions.  This will only get longer over time.
It is possible to reduce the replay time from three days to about 8 hours if you modify the source code:
https://github.com/harpagon210/steemsmartcontracts/blob/1856691530cf969daaa9a39eed6fd198a63c7fa3/libs/Streamer.js#L12
https://github.com/harpagon210/steemsmartcontracts/blob/bffa07a2670ca0595e18640b1da15a5e369c909a/plugins/Streamer.js#L256
So, normally, when it's all caught up, 200 (libs) and 100 (plugins) seems fine (as addressed in issue: #18).  But when rebuilding the entire sidechain from steemd, pooling takes too long.
For example, if the polling time is modified to 20/10, this significantly reduces the time it takes to rebuild the sidechain from steemd.  However, I am not suggesting that we change these polling times to something static.  Instead, I'm recommending that it become calculated, based on how far behind main chain streaming is.

the streamer has been reworked, it is now working in a synchronous way meaning that there is no pollings anymore, when a Steem block is parsed and it has SSC transactions in it, the block is directly sent to the blockchain public in a synchronous way, the streaming resumes whenever the blockchain plugin is done processing the block (see commit https://github.com/harpagon210/steemsmartcontracts/commit/861ff6f3948da6b666eddc3df85558c8fa557b8a)


Update README.md

Features list mentioned using chi as a router, but gorilla/mux is the one being used

Oops, thank you!


retdec.py has same name as retdec module, causing unhandled exception

Repro: Uninstall the retdec-python module, start gdb with extra_plugins_dir set.
What'll happen is retdec will __import__("retdec") which'll import itself, because the plugin path has been added to sys.path. This'll cause a failure because GenericCommand doesn't exist in this context.

I am aware of this bug. My intention was to totally replace the python-retdec module with the code from https://github.com/hugsy/binja-retdec/blob/master/retdec.py. This way it would work as standalone, and support Python2 (where  python-retdec  doesn't)... But no time :cry: Feeling up for it @Grazfather ?

Probably not :( Super busy until defcon.

Anyway we shouldn't bother with this plugin anymore, see https://github.com/hugsy/binja-retdec/issues/11

We could abandon this, or perhaps add a configuration to point to a specific host, in case the end user is running their own service.


Camera not working properly with Galacticraft

Description
Camera not going up/down according to size, fog changes according to size.
To reproduce
Using any size recalibrator
Expected behavior
Camera going up/down.
Screenshots

Additional information:

Installed mods:
crash-2020-03-24_20.18.24-client.txt A crash log not related to the mod, but has the mod list.

Forge version: <IP_ADDRESS>47

Mod version: 1.12.2-<IP_ADDRESS>.jar

Well this is one of the main functions of the mod which obviously worked, so this must be caused by yet another mod compatibility issue, I will check your mods too at some point.

Same issue, but the only mod I have found to be common ground is
MicdoodlePlugin (MicdoodleCore-1.12.2-<IP_ADDRESS>.jar)
Standby for further testing...

This helped :)

confirmed by @LorenzoPapi on discord

Fixed in ede2651


[Feature] Support compression to CompactReceipt through the protobuf client/server API

Feature
Support compression to CompactReceipt through the protobuf client/server API
Motivation
Currently, compression to CompactReceipt is only possible when using LocalProver built using the -F prove flag.
As a result, users that install r0vm with cargo-binstall will not be able to produce compact (Groth16) receipts via the comperes method, even on x86 machines with Docker installed.
Note that users can still produce compact receipts by passing receipt_kind = ReceiptKind::Compact with their initial request to prove.
Related: https://github.com/risc0/risc0/issues/1749

@nategraf is this done with #1762?

No. That doesn't have any methods to send a request to run the Groth16 step over protobuf.


Retire quarkiverse-apicurio-registry-client

Per discussion with Clément and Ladislav.
@gastaldi I would appreciate if you could drop it from the database afterwards.

@gsmet will do, shall we archive the repo as well?


MusicXML: fix wedge endpoints order if wedge end is found before wedge start

Similar to slurs (which are handled in #286), wedge end can be found before wedge start in a MusicXML file. The code responsible for reading wedges has a provision for this case so such wedges are already imported. However order of endpoints of such wedges is wrong which leads to a crash on an attempt to render such wedge. A minimal example of this case can be given by this file:
wedge.musicxml.zip
This pull request changes handling of wedges' endpoints in the same way as it has been done for slurs in #286, so order of wedge endpoints is corrected so that wedge stop always goes last. This allows to properly import and display such wedges.
This pull request though doesn't deal with the reason of the crash itself, so an incorrect MusicXML file still can lead to a crash if trying to engrave such score. So in the future some fix for this crash could still be useful (for example, by not assuming a correct order or endpoints on engraving stage or by validating endpoints order after reading a MusicXML file).

Thanks for this PR.
I will review it as soon as possible.

Thank you for this PR.
I've reviewed the changes and they are OK for me. Unit test passes as well as regression tests, so I will merge this.
As to your point:

This pull request though doesn't deal with the reason of the crash itself, so an incorrect MusicXML file still can lead to a crash if trying to engrave such score.

I'm not sure what you mean by “fixing the reason of the crash itself”. The cause of the crash is incorrect order of start/end points in lomse internal model. In lomse, spanners are modeled as ImoRelObjs attached to ImoStaffObjs (e.g. notes), and the start and end of the spanner are always in music time order (time position). Thus, the note (ImoStaffObj) to which the end of a spanner is attached must have a time position equal or greater than the note to which the start of the spanner is attached. Thus, as this is now fixed in MusicXML importer the last cause of the crash is already fixed.
Nevertheless, the crash takes place during engraving. When an ImoRelObj is engraved, if it is the end of the spanner lomse invokes ShapesCreator::finish_engraving_relobj(). Lomse assumes (by the internal model constrains explained above) that the start of the wedge has already been processed and, thus, that a WedgeEngraver object has been created. So, in ShapesCreator::finish_engraving_relobj() it is assumed that pEngrv is not nullptr.
Checking there (and probably in other places) for nullptr would fix the crash. But I'm not sure if this is needed. The important point is to ensure the validity of the internal model: than the start object of a spanner is defined before its end object. And this should be the responsibility of all importers and, thus, of MusicXML importer. As this PR fixes this a malformed MusicXML file will not cause a crash.
Nevertheless, if really required for robustness, I see two options:

The best one: a check could be added in lomse_model_builder.cpp (an additional step in ModelBuilder::structurize() ). This check could also fix any issue by reversing the start/end positions when incorrectly defined. But forces to do more computational work for any operation requiring to rebuild the internal model, and IMO this burden should be only in importers.

A quick and probably more simple fix/bypass: Checking in ShapesCreator::finish_engraving_relobj() (and probably in other places) that pEngrv is not nullptr.

But I would not do anything for now unless new crashes with MusicXML files are detected. And in those cases I would first explore the feasibility of fixing the importer and making it more robust against malformed files.
Is there something that I missed?

As this PR fixes this a malformed MusicXML file will not cause a crash.

Actually this PR fixes the case when a valid MusicXML file causes a crash. The importer still relies on <wedge> tag attributes to sort wedge endpoinds, and if a MusicXML file marks wedge endpoints in an incorrect order then the crash will occur. For example, consider this file (wedge_wrong.musicxml.zip): this is just the previous example but with diminuendo and stop being swapped for the wedge number 2. This MusicXML file is incorrect since those attributes should also follow music time order, but it would anyway be better not to crash because of it. So maybe some sort of validation after or during the import would indeed help.

if a MusicXML file marks wedge endpoints in an incorrect order then the crash will occur.

Thank you. You are right and the sample is illustrative. I will study in more detail the options to avoid crashes and implement something to fix this.


[SPARK-44343][CONNECT] Prepare ScalaReflection to the move to SQL/API

What changes were proposed in this pull request?
This PR moves all catalyst specific internals out of ScalaReflection into other catalyst classes:

Serializer Expression Generation is moved to SerializerBuildHelper.
Deaerializer Expression Generation is moved to DeserializerBuildHelper.
Common utils are moved to EncoderUtils.

Why are the changes needed?
We want to use ScalaReflection based encoder inference both for SQL/Core and Connect.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing tests.

cc @amaliujia


Weighting of Fourier modes in quasisymmetry target

When targeting quasisymmetry in stellopt, chisq_helicity.f90 applies a surface-dependent weight to each Fourier mode in the Boozer spectrum. At first glance, it appears that this weight also depends on the poloidal mode number m:
https://github.com/PrincetonUniversity/STELLOPT/blob/38c832062fb298165b07f96a0627f1f0f1d16c01/STELLOPTV2/Sources/Chisq/chisq_helicity.f90#L97-L105
However, this bit of code is not in a loop over Fourier modes, so m in these lines ends up being the last value of m from a loop above (lines 61-92), not the actual value of m for each given mode. In contrast, when TARGET_HELICITY_OLD is used instead of TARGET_HELICITY, so chisq_helicity_ornl.f90 is run, it appears that the weight is actually m-dependent:
https://github.com/PrincetonUniversity/STELLOPT/blob/38c832062fb298165b07f96a0627f1f0f1d16c01/STELLOPTV2/Sources/Chisq/chisq_helicity_ornl.f90#L74-L79
That logic in chisq_helicity.f90 is misleading, so it should be corrected or removed.
It also seems suspicious that in chisq_helicity.f90 the radius-dependent weight is applied only when sigma is >0, whereas in chisq_helicity_ornl.f90 the radius-dependent weight is applied only when sigma is <0.

@landreman Good point.  The radial weighting needs to be adjusted.  The +/- behavior is based on keeping with the PPPL convention used in NCSX.


Postgresql - Find database objects -Full-text search - not all tables are taken into account

Doing a Full-text search over the database objects, it seems that not all tables are searched -
e.g. creating the following table:
CREATE TABLE public.search_test4 (
	id bigserial,
	src_id varchar(64) NULL,
	uuid uuid NULL,
	creation timestamp NULL DEFAULT now(),
	last_modified timestamp NULL DEFAULT now(),
	language varchar(10) NULL,
	title varchar(255) NULL,
	description text null,
	CONSTRAINT search_test_pkey4 PRIMARY KEY (id)
)
WITH (
	OIDS=FALSE
);

Inserting a new row with title 'This is the Beaver test'. Then refresh (F5) the database metadata - the new table appears in the database navigator.
Now doing a Full-text search with Beaver or %Beaver% - the row in the table public.search_test4 is not found
Postgresql 9.5, DBeaver 3.6.6

Probably fixed in  #214


Disable text selection

Disable text selection for all elements except <input>
Add box shadow to the slides in the slide list

@paulathevalley it's working locally for me as well. 👍


add html5 doctype and px units

fixes #4, except for editor demo (editor watcher has its own unitless values)
editor demo is not broken with this PR

I've made a typo in the description of this PR.
It says "editor demo is not broken with this PR", but should "editor demo is now broken with this PR". You may want to revert this commit.

Ok, I've added px everywhere in editor.ts and shape.ts in PR witheve/Eve#822. Should fix the broken editor. Please test before merging :)


ImageOverlay load event

This is somehow related to issue #83 and the need to notify users when Leaflet is waiting for data to be loaded. In the case of ImageOverlay, an image is requested using a GET request to a defined URL with unknown wait times.
The original Leaflet.js API describes a load event in ImageOverlay which seems to suit this need:
https://leafletjs.com/reference.html#imageoverlay-load
I can see events are mentioned in the dash-leaflet wrapper:
https://github.com/thedirtyfew/dash-leaflet/blob/95d9f868cde0443e8093db356bd84886b96e642a/src/lib/components/ImageOverlay.react.js#L96
But I don't know enough about the internals of dash-leaflet to understand if this load event is available or how it can be used in Dash.
Thanks for your help and happy to turn this into a stackoverflow question if it's better suited.

The event is currently not available from Dash. I guess it could be exposed as a load prop, possibly in combination with an n_load prop.

I have just drafted a very simple implementation. It simply a new property loaded which is initialised to null. Once the image finished loaded, it it set to true. Would this implementation fit your use case? Here is a small example,
import json
import dash_leaflet as dl
from dash import Dash, html, Output, Input

lena_url = "https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png?20111103160805"

app = Dash()
app.layout = html.Div([
    dl.Map([
        dl.TileLayer(),
        dl.ImageOverlay(url=lena_url, bounds=[(56, 10), (55, 13)], id="lena")
    ], style={'width': '100%', 'height': '50vh', 'margin': "auto", "display": "block"}),
    html.Div(id="log")
])

@app.callback(Output("log", "children"), Input("lena", "loaded"))
def on_load(loaded):
    print(loaded)
    return str(loaded)

if __name__ == '__main__':
    app.run_server(port=7777)

You should be able to run it if your install dash-leaflet==0.1.26rc1.

This is exactly what we needed!. Thank you so much @emilhe

Hi @emilhe, I think there is some kind of problem with this last release 0.1.26
Browsers report an error when loading your example above that wasn't happening before:
DevTools failed to load source map: Could not load content for http://<IP_ADDRESS>:7777/_dash-component-suites/dash_leaflet/leaflet.js.map: HTTP error: status code 500, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Looks like one of the Javascript libraries is missing?

Also, I think this prop is not working as I would have expected. Here is a sample code modified from your example. This updates the overlay to a random image with a button but the "loaded" callback is only firing once at the beginning:
import json
import dash_leaflet as dl
from dash import Dash, html, Output, Input
import random

tile = "https://a.tile.openstreetmap.org/6/38/19.png"

app = Dash()
app.layout = html.Div([
    dl.Map([
        dl.TileLayer(),
        dl.ImageOverlay(url=tile, bounds=[(56, 10), (55, 13)], id="overlay")
    ], style={'width': '100%', 'height': '50vh', 'margin': "auto", "display": "block"}),
    html.Div(html.Button("Update", id='update')),
    html.Div(id="log")
])

@app.callback(Output("overlay", "url"), Input("update", "n_clicks"))
def update(_):
    return f"https://a.tile.openstreetmap.org/6/{random.randint(0,24)}/{random.randint(0,24)}.png"

@app.callback(Output("log", "children"), Input("overlay", "loaded"))
def on_load(loaded):
    print(loaded)
    return str(loaded)

if __name__ == '__main__':
    app.run_server(port=7777, debug=True)

@prl900 This is actually expected behaviour. With the current design (a bool), there value only changes the first time (from null to bool).
If you want the callback to fire every time, the property value should either be reset, when a new image url is set - or the loaded property should hold more information (e.g. what image was loaded, how long time it took, ...). I believe the latter approach is the most dash-like (this is also the idea behind props like n_clicks etc.).
I have pushed a version 0.1.27rc1 that changes the property to include the event time stamp and url; with this information present (in fact, I guess the timestamp would be enough), the value will set will be unique, and the callback is Dash should thus fire every time.

Thank you very much @emilhe for explaining the conventions for Dash callbacks firing. It all makes sense now.
The new approach you propose is good.
I believe this new method should be enough to cover our needs. The new release candidate hasn't been published yet though, but I will test it and confirm once you push it.

Ah yes, sorry, I can see that the upload failed. I have re-uploaded it now :)

Perfect. this works perfectly and solves our problem. I have just tested and works very well.
In our case, we just need the callback to fire and can ignore the contents of the variable as it's usually the case with button clicks. From a design perspective, it makes sense to use just the timestamp though.
Thanks again for your help with this!


[feature] Exclude muted watches from the RSS feed

Version and OS
For example, 0.123 on linux/docker
Currently running v0.45.17 in a docker container
Is your feature request related to a problem? Please describe.
Muted watches show up in the RSS feed. Muted watches are muted by the user because they are deemed low priority. They don't alert the user when a change has occurred, instead they quietly keep a watch going. However, the RSS feed does not take 'mute' status into consideration. All changes, muted or not, are treated equally and are all sent in this feed. For users with several muted watches that see frequent changes, this is annoying and alert fatiguing.
Describe the solution you'd like
Muted watches should not appear in the RSS feed. By excluding watches that are muted, the user will only receive meaningful changes in the RSS feed, making it far more useful.
Describe the use-case and give concrete real-world examples
Additional context
Add any other context or screenshots about the feature request here.

yeah this could also be a nice setting

yeah this could also be a nice setting
I created a new request for this to be configurable.

I used to have a mix of high-priority (Apprise) and low-priority (muted + RSS) notifications, but it no longer works with this change.


Expose type of WDI5Control to consumers

Describe the bug
Hi everyone,
I'm currently updating wdi5 to v2 in my project, and I'm using TypeScript. However, I noticed an issue with the newly enforced restrictions on importing things: https://github.com/ui5-community/wdi5/blob/main/package.json#L20-L23
In my project, I slightly extend the browser object and was, in the past, able to reuse the types that wdi5 offered. For that, I just had an ambient type definition (global.d.ts) in which I imported the library types:
type WDI5Selector = import("wdio-ui5-service/dist/types/wdi5.types").wdi5Selector;
type WDI5Control = import("wdio-ui5-service/dist/lib/wdi5-control").WDI5Control;

With the update, I'm now restricted to importing only what is explicitly defined in the package.json -- which is valid and good. I still get access to the wdi5Selector type, as that is exported by index.ts: https://github.com/ui5-community/wdi5/blob/main/src/index.ts#L11. WDI5Control, however, is not, meaning I am not able to use the type.
You don't even need an esoteric use case for that, perhaps you only want to have your test types a bit better under control:
// I don't want myControl to have all UI5 types of https://github.com/ui5-community/wdi5/blob/main/src/types/browser-commands.ts#L18
const myControl: WDI5Control = myControl: browser.asControl({...});
// not allowed to use UI5-Control-specific methods on myControl, just the wdi5 basics

I tried to work around this by trying to use ReturnType<WebdriverIO.Browser.asControl>, but wasn't getting anywhere (and I would have had to remove the Promise and the & T as well...
It would be better if I could just import the type directly. Please consider it as a (type) export to your index.ts.
Thank you very much for your support!
Kind regards
Lukas
To Reproduce
Start a project with wdi5 and TypeScript. Try to import WDI5Control (as a type).
Expected behavior
Be able to import WDI5Control as a type. I don't need to be able to import WDI5Control as value, because I shouldn't be able to instantiate it myself (this should be done by the framework). But as I am supposed to work with objects of type WDI5Control in my code, I should also be able to import the type.
Runtime Env (please complete the following information):

wdi5/wdio-ui5-service-version: 2.0.0
UI5 version: 1.118.0
wdio-version (output of wdio --version): 8.16.11
node-version (output of node --version): v18.17.1
OS: Win 11
Browser + Version: n/a

Additional:

Typescript 5.2.2
package.json: "type": "module" (not commonjs, as that doesn't fly with wdio 8)
tsconfig:{
  "compilerOptions": {
    "moduleResolution": "Node16",
    "target": "es2022",
    "module": "Node16",
    "strict": true,
    "types": [
      "node",
      "@sapui5/types",
      "@wdio/globals/types",
      "expect-webdriverio",
      "@wdio/mocha-framework",
      "wdio-ui5-service"
    ],
    "skipLibCheck": true
  }
}

Hi Lukas, totally get your point, it's actually almost a bug 😁
Would you mind slapping in additional exports into https://github.com/ui5-community/wdi5/blob/main/src/types/wdi5.types.ts for WDI5Control in a PR? That would be awesome ☺
Generally speaking, we're unfortunately not in a good shape yet with types in wdi5;
specifically for UI5 controls retrieved from the browser scope at test-time: they require dynamic typing at runtime, which we simply haven't figured out properly yet.
Ideally, the returned object in Node.js-scope should be of the same type the browser control is.
const control = await browser.asControl($sap_m_Button)
// control should be of type sap.m.Button without having to cast it

Probably https://www.typescriptlang.org/docs/handbook/2/typeof-types.html might be worth a shot, but time...
You don't happen to have some TS type wizardry 🧙 at hand, do you...?!?

I'll have a look at exporting it. WDI5 Control actually is over here: https://github.com/ui5-community/wdi5/blob/main/src/lib/wdi5-control.ts, not in the types. But I could have a look at building a proxy with just the type of it in the types file, if that is what you are looking for :)

The main problem is that you'll need to tie the runtime back to the design time. The only idea I'd have for that would be using the element type given in the selector. But I guess you'd need to have an exhaustive map of types for that to work (and thus that map would be non-extensible):
import Input from "sap/m/Input";
import Text from "sap/m/Text";
import Control from "sap/ui/core/Control";

type TypeMap = {
  "sap.m.Text": Text,
  "sap.m.Input": Input,
  "": Control,
};

function getInstanceOfByName<Name extends keyof TypeMap>(name: Name): TypeMap[Name] {
  return undefined as unknown as TypeMap[Name]; // dummy
}

const text = getInstanceOfByName("sap.m.Text");
const input = getInstanceOfByName("sap.m.Input");
const anythingElse = getInstanceOfByName("");


Amazing Repo

Hi Mate, I just wanted to say Fantastic Article, and AMAZING Repo you have here! Great work.
Your repo confirmed a few things I was wondering if was possible. I do alot of work for clients, whom already have existing stuff. I was saavy with vue cli (and I love it), but often would not get to work with it on clients software.
What you have provided here is a means of integrating multiple mini spas accross multiple razor pages and I rekon this is awesome.
cheers

Hi, hearing this kind of feedback really means a lot!
I was facing the same questions so this repo was born and am glad it also helps other ppl. I have further plans and improvements in the next releases so drop by here and then for the update.
Happy developing :)

I can't agree more.  This is an amazing template sample.  You saved me a ton of hours worth of work!

AGREE


CliRunner: add stdout / stderr, allow separating standard streams

attempt resolution of #371 (adding stdout / stderr)
This changes the internal API such that a singular out is never returned - it's either (stdout, stderr) when not mixed or (stdout_and_stderr, False) when mixed
This defaults to mixed to preserve old use cases (and tests); the runner switches to non-mixed via mix_stderr

When will this be released?

(the failures are 2.6 and 3.3 not being able to install test coverage, not this code)
@untitaker care for a review of this, please?  Thanks


cloudregions: 统一"OneCloud" provider过滤条件

这个 PR 实现什么功能/修复什么问题:
networks: 改进创建错误处理
cloudregions: 统一"OneCloud" provider过滤条件

是否需要 backport 到之前的 release 分支:

release/2.12.0

/area region
/cc @ioito @tb365 @swordqiu

/lgtm

Codecov Report

Merging #3787 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #3787      +/-   ##
=========================================
+ Coverage    6.93%   6.94%   +<.01%
=========================================
  Files         499     499
  Lines       84275   84264      -11
=========================================
+ Hits         5848    5850       +2
+ Misses      77930   77918      -12
+ Partials      497     496       -1

Flag
Coverage Δ

#aFlag
6.94% <0%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/models/wires.go
2.02% <ø> (ø)
:arrow_up:

pkg/compute/models/networks.go
0.56% <0%> (ø)
:arrow_up:

pkg/compute/models/zones.go
2.46% <0%> (ø)
:arrow_up:

pkg/compute/models/cloudregions.go
1.93% <0%> (-0.02%)
:arrow_down:

pkg/compute/models/skus.go
1.31% <0%> (+0.01%)
:arrow_up:

pkg/appsrv/response.go
69.23% <0%> (+3.07%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 30b3d67...7b21658. Read the comment docs.

/lgtm

/lgtm

/approve


Change chapters ordering

Fixes #10629

I prefer -  for unordered lists... :)
https://github.com/dotnet/docs/blob/481c63c7a3f411aca1a73d8c1ba98a7df0e95518/styleguide/template.md#L203-L209


Recalculate offset when wrapper layout changes

Fixes #46

Is there anything else I need to do in order. to get this merged?


Add buster to repository

For Ubuntu 18.04 LTS and Debian 10

Release v1.4.22 is published for Debian 10. Thx for reporting.


Bumped the standard version to C++14 for latest V8

Hi!
Thanks for this awesome library, I'm using it in my app built on Electron as a native module. Latest V8, as well as Electron, require std=c++14, otherwise this error is thrown:
2020-11-19T14:26:52.8560846Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:38: error: ‘remove_cv_t’ is not a member of ‘std’
2020-11-19T14:26:52.8562332Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8562962Z                                       ^~~~~~~~~~~

Full error log
2020-11-19T14:26:52.5780752Z   g++ -o Release/obj.target/usb_bindings/src/node_usb.o ../src/node_usb.cc '-DNODE_GYP_MODULE_NAME=usb_bindings' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DV8_COMPRESS_POINTERS' '-DV8_31BIT_SMIS_ON_64BIT_ARCH' '-DV8_REVERSE_JSARGS' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I../src -I../../nan -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/src -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/deps/openssl/config -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/deps/openssl/openssl/include -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/deps/uv/include -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/deps/zlib -I/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/deps/v8/include -I../libusb/libusb  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -std=c++0x -MMD -MF ./Release/.deps/Release/obj.target/usb_bindings/src/node_usb.o.d.raw   -c
2020-11-19T14:26:52.8531926Z In file included from /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8.h:30:0,
2020-11-19T14:26:52.8539748Z                  from ../src/node_usb.h:12,
2020-11-19T14:26:52.8540713Z                  from ../src/node_usb.cc:1:
2020-11-19T14:26:52.8544484Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h: In function ‘void v8::internal::PerformCastCheck(T*)’:
2020-11-19T14:26:52.8560846Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:38: error: ‘remove_cv_t’ is not a member of ‘std’
2020-11-19T14:26:52.8562332Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8562962Z                                       ^~~~~~~~~~~
2020-11-19T14:26:52.8564637Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:38: note: suggested alternative: ‘remove_cv’
2020-11-19T14:26:52.8565990Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8566699Z                                       ^~~~~~~~~~~
2020-11-19T14:26:52.8567137Z                                       remove_cv
2020-11-19T14:26:52.8568557Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:38: error: ‘remove_cv_t’ is not a member of ‘std’
2020-11-19T14:26:52.8570682Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:38: note: suggested alternative: ‘remove_cv’
2020-11-19T14:26:52.8572047Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8607919Z                                       ^~~~~~~~~~~
2020-11-19T14:26:52.8608452Z                                       remove_cv
2020-11-19T14:26:52.8610410Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:50: error: template argument 2 is invalid
2020-11-19T14:26:52.8611708Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8612260Z                                                   ^
2020-11-19T14:26:52.8613974Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:63: error: ‘::Perform’ has not been declared
2020-11-19T14:26:52.8615251Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8615800Z                                                                ^~~~~~~
2020-11-19T14:26:52.8617257Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8-internal.h:418:63: note: suggested alternative: ‘perror’
2020-11-19T14:26:52.8618721Z              !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
2020-11-19T14:26:52.8619301Z                                                                ^~~~~~~
2020-11-19T14:26:52.8620975Z                                                                perror
2020-11-19T14:26:52.9181362Z In file included from ../src/node_usb.h:12:0,
2020-11-19T14:26:52.9181996Z                  from ../src/node_usb.cc:1:
2020-11-19T14:26:52.9183706Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8.h: At global scope:
2020-11-19T14:26:52.9186100Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8.h:9182:75: warning: ‘MicrotasksCompletedCallback’ is deprecated [-Wdeprecated-declarations]
2020-11-19T14:26:52.9188214Z    void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback);
2020-11-19T14:26:52.9189700Z                                                                            ^
2020-11-19T14:26:52.9191594Z /home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/11.0.1/include/node/v8.h:9190:78: warning: ‘MicrotasksCompletedCallback’ is deprecated [-Wdeprecated-declarations]
2020-11-19T14:26:52.9193765Z    void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback);
2020-11-19T14:26:52.9194858Z                                                                               ^
2020-11-19T14:26:53.0606786Z ../src/node_usb.cc: In function ‘void handleHotplug(std::pair<libusb_device*, libusb_hotplug_event>)’:
2020-11-19T14:26:53.0608754Z ../src/node_usb.cc:151:58: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
2020-11-19T14:26:53.0609998Z   Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv);
2020-11-19T14:26:53.0610560Z                                                           ^
2020-11-19T14:26:53.0611089Z In file included from ../src/helpers.h:3:0,
2020-11-19T14:26:53.0611627Z                  from ../src/node_usb.h:21,
2020-11-19T14:26:53.0612103Z                  from ../src/node_usb.cc:1:
2020-11-19T14:26:53.0612612Z ../../nan/nan.h:1001:46: note: declared here
2020-11-19T14:26:53.0613287Z    NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
2020-11-19T14:26:53.0613864Z                                               ^~~~~~~~~~~~
2020-11-19T14:26:53.1741922Z make: *** [Release/obj.target/usb_bindings/src/node_usb.o] Error 1
2020-11-19T14:26:53.1744402Z usb_bindings.target.mk:128: recipe for target 'Release/obj.target/usb_bindings/src/node_usb.o' failed
2020-11-19T14:26:53.1746011Z make: Leaving directory '/home/runner/work/keeweb-native-modules/keeweb-native-modules/node_modules/usb/build'
2020-11-19T14:26:53.1751462Z ✖ Rebuild Failed
2020-11-19T14:26:53.1757771Z
2020-11-19T14:26:53.1772714Z An unhandled error occurred inside electron-rebuild

I can't find any official reference about this requirement, but here's a question on StackOverflow, and there are several issues about it on GitHub that make me think C++14 is a hard requirement for V8.
This PR bumps the standard version to C++14. It works for me on Linux, macOS, and Windows.

I can confirm that this change worked for me to get node-usb building on Electron 12.

This needs to get merged! I can confirm the patch works to completely unblock a downstream build using Electron 11 for an app that depends on this package.

This needs to get merged! I can confirm the patch works to completely unblock a downstream build using Electron 11 for an app that depends on this package.

@antelle we have now switched to using a GitHub action to create the prebuild binaries instead of travis.
Would you mind rebasing your PR to see if the CI passes?

@antelle we have now switched to using a GitHub action to create the prebuild binaries instead of travis.
Would you mind rebasing your PR to see if the CI passes?

I assume, it's no longer needed since you already have another MR with the same change, right?
Thanks a lot for making it! 💯

I assume, it's no longer needed since you already have another MR with the same change, right?
Thanks a lot for making it! 💯


Card broken in Homeassistant App and some android devices since latest Homeassistant Update

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Card looks like this:

Rollback to HA 2024.7.4 fixed the issue. Not sure if new version requires code update in card or basic code in HA is broken.
Steps To Reproduce
Update HA to 2024.8
Expected behaviour
Correct Style
Card Version
4.44.0
Home Assistant Version
2024.8.0
Configuration
No response
Relevant log output
No response

Also see same. The full card still works if you need a temporary fix

I cant reproduce this one yet. Tested on ipad, android mobile and windows. Chrome and companion app with latest 2024.8.0. Is anyone else seeing this?

Same for me after updating to 2024.8
Card is rendered like the picture above on my iPad, but iPhone app on the other hand works fine.

App and tablet at same time.. Excuse the camera shot but it's a pain to sign into

Same problem on the iPhone everything as always and on the tablet the identical error.

Here are my results:

MacOS Chrome ✅
MacOS Safari ✅
iOS Safari ✅
iOS Chrome ✅
Homeassistant App MacOS ❌
Huawei Matepad 7 ❌

It happened to me on an iPad where I updated iOS to 17.6.1. Web interface ok, app error. Interestingly, the error is only with card style litle, if I switch it to full or compact it is OK

I have same problem at Galaxy Tab with Kiosk 6.0.1. Only full style working.

Another custom card also shows some strange values „xx px“ with that new version. So I guess there was a breaking change in HA and some cards have to be updated. The channelog however is huge.

@jzielke84  Are you seeing any errors in the logs? Whats other custom cards are not working for you?
I've also tested FireFox on Windows with no Issues
@Pho3niX90 do you have a Mac to check on your end?

Are you seeing any errors in the logs?
Unfortunately the HA companion app neither the browser in my tablet (Fully Kiosk) offers a debug mode like Chrome.

Whats other custom cards are not working for you?
https://github.com/Yevgenium/weather-chart-card

OK seems to be a bigger issue affecting other cards
https://github.com/home-assistant/iOS/issues/2908

As the „bigger issue“ is closed now (without any fixes), how can this be solved? The issue is present on my iPad too…

@parkflyer all custom cards using dynamic CSS have to do change their code.

Hi All, The card makes extensive use of dynamic css and styles and so the work around here is to either:

Stay on 2024.7.4
Upgrade your device/browser
Change/spoof your user agent string

Stay on 2024.7.4
Out of the question

Upgrade your device/browser
Would like to but can't do it on my Tablet

Change/spoof your user agent string
Tried but didn't solve the problem.

So I guess I'l gave to go back to power-flow-card-plus which does the job...

Please note that I am not talking about any browser here, I'm using the Home Assistant app on my iPad.
So also for me your options are not really helping.
Or should we contact the guys for the HA iPadOS app? Because on the iPad in the Safari browser there is no problem, just in the app...

@parkflyer Well Homeassistant is not responsible for 3rd party cards. So if they change the codebase it's up to the maintainers of the corresponding card to fix it. Hence they probably won't change anything on their companion app, since it runs fine with the stock cards.

I tried update my Galaxy Tab to Android 11, but card have same problem. Problem is strange because the card always works for a while. Sometimes an hour, sometimes a whole day.

Please note that I am not talking about any browser here, I'm using the Home Assistant app on my iPad. So also for me your options are not really helping. Or should we contact the guys for the HA iPadOS app? Because on the iPad in the Safari browser there is no problem, just in the app...

There was an issue with the companion app on the ipad that has already been addressed. So hopefully this is fixed in the next HA release

An update to the iOS app was released today. It's working properly on my iPad again.

As assumed a fix in the iPad app was necessary. Works for mee too.


Missing an OmniRunner tutorial notebook

At the moment we are looking to switch to using the OmniRunner, which has slightly different functionality to the existing runners, but there currently aren't any Jupyter notebooks that detail how this works. It might be worthwhile adding a notebook that details how to use the OmniRunner, and this would probably be best suited to the fundamentals directory.

all notebooks now use omni and https://github.com/IRL2/nanover-protocol/issues/256 will cover a more complex case


simulate_bundle rpc method does not return full result on transaction error

Problem
When calling the simulate_bundle RPC method and one of transactions fails due to e.g. custom thrown error from an instruction, the result does not contain neither logs nor consumed compute units, and the error itself is returned only as string which makes it cumbersome to parse.
example result:
Response { context: RpcResponseContext { slot: 290184069, api_version: Some(RpcApiVersion(Version { major: 2, minor: 0, patch: 5 })) }, value: RpcSimulateBundleResult { summary: Failed { error: TransactionFailure(<REDACTED>, "Error processing Instruction 3: custom program error: 0x1772"), tx_signature: Some("<REDACTED>") }, transaction_results: [] } }

As you can see, only summary field is returned; the transaction_results is empty.
Proposed Solution
transaction_results should be returned; It has all the fields that standard solana simulate_transaction rpc method returns: logs, consumed compute units etc. This helps to debug failures.

@segfaultdoc, pretty please, we really need it!


Incorrect filter_by case-sensitivity

when cohort.recon is called with filter_by option, no structures are pulled when the structure label has any upper case letters.
For e.g.
Option 1:
filter_rt = {'StructName': {'GTV': ['GTV''], 'Ring': ['Ring']}}
cohort.recon(parallelize=True, in_memory=True, path=BUILD, filter_by=filter_rt)

does not work
Option 2:
filter_rt = {'StructName': {'GTV': ['GTV','gtv'], 'Ring': ['Ring','ring']}}
cohort.recon(parallelize=True, in_memory=True, path=BUILD, filter_by=filter_rt)

however does work, as does
Option 3:
cohort.recon(parallelize=True, in_memory=True, path=BUILD)
Interestingly, in Option 2, the npy dictionary uses the correct case (GTV, Ring) in the labels for the array whereas in Option 3 the labels are (gtv, ring)

Sure, thats an easy fix. Which branch should I push it to for your workflow?

dev
Get Outlook for iOShttps://aka.ms/o0ukef

From: evan-porter @.>
Sent: Wednesday, February 16, 2022 6:55:28 PM
To: BAIRLab/DICOManager @.>
Cc: Zaid Siddiqui @.>; Author @.>
Subject: Re: [BAIRLab/DICOManager] Incorrect filter_by case-sensitivity (Issue #23)
Sure, thats an easy fix. Which branch should I push it to for your workflow?
—
Reply to this email directly, view it on GitHubhttps://github.com/BAIRLab/DICOManager/issues/23#issuecomment-1042421691, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKWF7VCNHUNF5ZP2NKX2OYLU3Q2O7ANCNFSM5OTCP77Q.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

when cohort.recon is called with filter_by option, no structures are pulled when the structure label has any upper case letters.
For e.g.
Option 1:
filter_rt = {'StructName': {'GTV': ['GTV''], 'Ring': ['Ring']}}
cohort.recon(parallelize=True, in_memory=True, path=BUILD, filter_by=filter_rt)

does not work
Option 2:
filter_rt = {'StructName': {'GTV': ['GTV','gtv'], 'Ring': ['Ring','ring']}}
cohort.recon(parallelize=True, in_memory=True, path=BUILD, filter_by=filter_rt)

however does work, as does
Option 3:
cohort.recon(parallelize=True, in_memory=True, path=BUILD)
Interestingly, in Option 2, the npy dictionary uses the correct case (GTV, Ring) in the labels for the array whereas in Option 3 the labels are (gtv, ring)

You sure it's not because of the double apostrophe in Option 1 after {'GTV': ['GTV'']}
I'm only a little bit trolling


Add link to the weekly board to README

@omesser, could you please check if this looks good?

@aguschin  - lgtm!
Only suggestion - maybe link to the current week view (because you're calling it "weekly board" in the link)


Add link to #6246

📝 Provide a description of requested docs changes
Add in config.yml in ISSUE_TEMPLATE a link to #6246 for reporting Video Conference Bugs

Wow, i had no clue this was even possible!!!


Backup for account failed with error closed stream

With one of my accounts, the backup always aborts - every time I try. The problem always occurs after about the same amount of time. Here is the error:
E, [2024-01-27T05:53:31.561444 #1] ERROR -- : Backup for account<EMAIL_ADDRESS>failed with error closed stream
/usr/local/lib/ruby/3.2.0/openssl/buffering.rb:354:in `syswrite'
/usr/local/lib/ruby/3.2.0/openssl/buffering.rb:354:in `do_write'
/usr/local/lib/ruby/3.2.0/openssl/buffering.rb:453:in `print'
/usr/local/bundle/gems/net-imap-<IP_ADDRESS>/lib/net/imap.rb:2809:in `put_string'
/usr/local/bundle/gems/net-imap-<IP_ADDRESS>/lib/net/imap.rb:2781:in `block in send_command'
/usr/local/lib/ruby/3.2.0/monitor.rb:202:in `synchronize'
/usr/local/lib/ruby/3.2.0/monitor.rb:202:in `mon_synchronize'
/usr/local/bundle/gems/net-imap-<IP_ADDRESS>/lib/net/imap.rb:2776:in `send_command'
/usr/local/bundle/gems/net-imap-<IP_ADDRESS>/lib/net/imap.rb:2858:in `block in fetch_internal'
/usr/local/lib/ruby/3.2.0/monitor.rb:202:in `synchronize'
/usr/local/lib/ruby/3.2.0/monitor.rb:202:in `mon_synchronize'
/usr/local/bundle/gems/net-imap-<IP_ADDRESS>/lib/net/imap.rb:2853:in `fetch_internal'
/usr/local/bundle/gems/net-imap-<IP_ADDRESS>/lib/net/imap.rb:2080:in `uid_fetch'
/usr/local/lib/ruby/3.2.0/forwardable.rb:240:in `uid_fetch'
/app/lib/imap/backup/client/automatic_login_wrapper.rb:28:in `method_missing'
/app/lib/imap/backup/account/folder.rb:94:in `block in fetch_multi'
/app/lib/imap/backup/retry_on_error.rb:18:in `retry_on_error'
/app/lib/imap/backup/account/folder.rb:93:in `fetch_multi'
/app/lib/imap/backup/flag_refresher.rb:30:in `refresh_block'
/app/lib/imap/backup/flag_refresher.rb:20:in `block in run'
/app/lib/imap/backup/flag_refresher.rb:19:in `each'
/app/lib/imap/backup/flag_refresher.rb:19:in `each_slice'
/app/lib/imap/backup/flag_refresher.rb:19:in `run'
/app/lib/imap/backup/account/folder_backup.rb:60:in `clean_up'
/app/lib/imap/backup/account/folder_backup.rb:36:in `run'
/app/lib/imap/backup/account/backup.rb:35:in `block in run'
/app/lib/imap/backup/account/backup_folders.rb:42:in `block in each'
/app/lib/imap/backup/account/backup_folders.rb:42:in `each'
/app/lib/imap/backup/account/backup_folders.rb:42:in `each'
/app/lib/imap/backup/account/backup.rb:34:in `run'
/app/lib/imap/backup/cli/backup.rb:36:in `block in run'
/app/lib/imap/backup/cli/backup.rb:34:in `each'
/app/lib/imap/backup/cli/backup.rb:34:in `run'
/app/lib/imap/backup/cli.rb:94:in `backup'
/usr/local/bundle/gems/thor-1.3.0/lib/thor/command.rb:28:in `run'
/usr/local/bundle/gems/thor-1.3.0/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/bundle/gems/thor-1.3.0/lib/thor.rb:527:in `dispatch'
/usr/local/bundle/gems/thor-1.3.0/lib/thor/base.rb:584:in `start'
/app/lib/imap/backup/cli.rb:69:in `start'
/app/bin/imap-backup:16:in `block in '
/app/lib/imap/backup/logger.rb:58:in `sanitize_stderr'
/app/bin/imap-backup:15:in `'

Serverside Mailcow/Dovecot:
Jan 27 05:53:48 fe4f90b52719 dovecot: imap(XX@XX.XX)<65397><5fK2B+YPPJisFgH4>: Disconnected: Logged out in=2235 out=22086 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0

Hi @stefangries
It's seems to be failing after login.
It looks like you're using the container here, but below I'll write the commands as though you had imap-backup installed locally. You'll need to prepend the Docker invocation.
Please try 2 things:

Run backup with double verbose to see in IMAP logging shows up anything more:

imap-backup backup --accounts<EMAIL_ADDRESS>--verbose --verbose --config foo.json

Try another commands that contact the server, e.g.:

imap-backup remote folders<EMAIL_ADDRESS>--verbose --verbose --config foo.json

I have tried everything you have written. No errors occurred. Then I went back to my initial command. No more errors either. I don't get it - but that's how it is.

I have tried everything you have written. No errors occurred. Then I went back to my initial command. No more errors either. I don't get it - but that's how it is.
But the next time I ran it, the error was there again. I think I will run your verbose commands a few more times and hopefully collect error messages.

Just to make sure I'm understanding this correctly: When using --verbose --verbose the string "failed with error closed stream" should be present in the log as well, right? The output is too long to check it by hand, so I just searched it for this string.

@stefangries Any updates on this?

Actually, I'm still on debugging this.

@stefangries I'll close for now. If you discover any new info, feel free to repoen.


libkbfs: refactor block put logic into helper functions

This includes:

Moving the parallel block put functions into block_util.go.
Removing the BlockOps.Put() method (since the block journal can't use
BlockOps, but still wants parallel puts).
Change stallingBlockOps into stallingBlockServer (since some tests need to
stall on Put, and now BlockOps.Put is gone).

In a future PR, I'll change the journal to use this.
Issue: KBFS-1275

lgtm after questions and nits

Thanks!  Made the changes you suggested, will push when CI passes.

CI failure is known (cc @jzila: TestMultipleDeviceReaderOffThenOn).  Merging.