Adding flexibility for the authority and audience to support Azure AD v2.0

Adding flexibility for the authority and audience  (to enable the Azur…e AD v2.0 endpoint)
Summary of the changes (Less than 80 chars)

Improving the XML comments for AzureADOptions (to help for Azure AD v2.0 and sovereign cloud support)
Adding the notion of Authority which is now computed from the Instance and ClientId, so that AzureAD v2.0 can be supported (Authority would therefore be https://{Instance}/{TenantId}/v2.0)
Adding the notion of Audience for Web APIs so that it can be set (for instance to api://{tenantId} in v2.0)

Addresses requests for supporting Azure AD v2.0 (Microsoft identity platform for developers)
This is similar to https://github.com/aspnet/AADIntegration/pull/49, but without breaking changes. This will enable supporting Azure AD v2.0 naturally (from the templates)

looking at the test failures

Thanks for the contribution!
The overall changes look good, but there are a few things I think we need to consider (or I would like to understand better) before we move forward with this:

Adding the notion of Authority which is now computed from the Instance and ClientId, so that AzureAD v2.0 can be supported (Authority would therefore be https://{Instance}/{TenantId}/v2.0)
Adding the notion of Audience for Web APIs so that it can be set (for instance to api://{tenantId} in v2.0)

Are these just fixed ways of configuring the OIDC options to match what the endpoints for AzureAD V2 expect?
Is the format for the Azure AD V2 endpoints fixed but just different or do we truly need for you to be able to put anything on the Authority and Audience fields.

If we were to only support V2, could these be computed from the inputs that we already collect?

Are the V1 endpoints going to be working (which I presume for at least some time)?
Are the V2 endpoints GA?
Can users be switched from V1 to V2 endpoints without any visible changes to the responses produced by Azure AD (Response formats, claims, required parameters, etc)?

Based on what I can see from looking at the code I think we can do this without explicitly introducing Audience and Authority explicitly on the Options type and on the templates.
We can simply tag this information to each of the mappings in
https://github.com/aspnet/AspNetCore/blob/master/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADSchemeOptions.cs
Flow it from
https://github.com/aspnet/AspNetCore/blob/master/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADAuthenticationBuilderExtensions.cs#L99
and use it
https://github.com/aspnet/AspNetCore/blob/master/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADOpenIdConnectOptionsConfiguration.cs#L32
To configure the values appropriately.
Startup wise there are several ways we can do this, including not doing anything at all.
Implicit version on the method name.
services.AddAuthentication().AddAzureADV2

Explicit as a parameter
services.AddAuthentication().AddAzureADV2(
    AzureADEndpointVersion.2_0,
    options => Configuration.Bind(options));

As part of the options type
services.AddAuthentication().AddAzureAD(options => { Configuration.Bind(options); options.EndpointVersion = AzureADEndpointVersion.2_0 });

We migrate users forward (if endpoints are forward compatible)
services.AddAuthentication().AddAzureAD(options => Configuration.Bind(options));

With an additional extension method (if endpoints are forward compatible)
services
   .AddAuthentication()
   .AddAzureAD(options => Configuration.Bind(options))
   .(Enable/Use/Configure/Other/)AzureADEndpointVersion(AzureADEndpointVersion.Latest);

We just patch the OIDC and JwtBearer options respectively on the template:
services
   .AddAuthentication()
   .AddAzureAD(options => Configuration.Bind(options))
   .(Enable/Use/Configure/Other/)AzureADEndpointVersion(AzureADEndpointVersion.Latest);

services.Configure<OpenIdConnectOptions>(options => {
    options.Audience = $"api://{options.ClientId}",
    options.Authority = $"{options.Authority}/v2.0"
});

No matter what, this needs input from our PM team as it changes the templates and introduces new concepts in the users faces, either in config or in startup.
For the rest of the ASP.NET Team, we would need to explicitly test the templates for this change before merging.

@javiercn : thanks for your review and feedback. To answer your questions:

Are these just fixed ways of configuring the OIDC options to match what the endpoints for AzureAD V2 expect?
Is the format for the Azure AD V2 endpoints fixed but just different or do we truly need for you to be able to put anything on the Authority and Audience fields.

The Microsoft identity platform (fomerly AAD v2.0) supports the notion of authority in the following way. For the AzureAD.UI components, we don't need to bother here about B2C and ADFS, but giving the big picture.

If we were to only support V2, could these be computed from the inputs that we already collect?
I guess yet.

This might not be completely natural, but you provided good alternative ideas here. (See at the end of this comment)

Are the V1 endpoints going to be working (which I presume for at least some time)?
Yes the v1.0 endpoints still work and will be maintained.

Are the V2 endpoints GA?
It depends on the scenario, but for Web App (which are the target of the changes below), this has been availble since Connect (Nov) 2017, and has GAed in 2018.

Can users be switched from V1 to V2 endpoints without any visible changes to the responses produced by Azure AD (Response formats, claims, required parameters, etc)?

That's a good question which I had a bit overlooked: there are actually changes in the claims as, if going to the v1.0 authorize endpoint, Web apps will receive a v1.0 token, whereas when going to the v2.0 authorize endpoint, they will receive a v2.0 tokens. More about the tokens differences here: IDToken and AccessToken. In particular the name is, in v2.0 prefered_username
@javiercn : overall thanks for your feedback on the alternatives. Interestingly some are quite close to some of our implementation in the Web App tutorial. Could you please have a look at the following code and give your feedback (it's very small).
https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/78a07c913eced00c0a128fbbb11b2c1449ee404e/Microsoft.Identity.Web/StartupHelpers.cs#L28-L95
I'm starting to think that this might be what we to do, and not change the templates

@jmprieur / @javiercn - are we clear on the next steps for this? Are we waiting for feedback?

@Eilon I think if we are willing to take a breaking change here, we can update the implementation to point to the 2.0 endpoints, and 3.0 is a good timeframe to do so. We don't need to add new concepts, simply change the implementation.
We would have to take a look at the claim-set difference between 1.0 endpoints and 2.0 endpoints, but I don't expect it to be an issue.
From the sample @jmprieur provided seems that there might be smaller tweaks we can do to improve the E2E experience (like around account selection) so  I think there's some value in moving to the 2.0 endpoints.
That said, we need a PM on our team to chime in. @danroth27 or @blowdart should be the ones to say something. I expect this to be an M sized workitem.

Sounds good @javiercn . We'll review with @blowdart this week.

The token differences concern me, everything must map the same to the resulting identity, no matter what version of the endpoint is used. That needs to be guaranteed :)

@blowdart not necessarily. If AAD versioned the endpoints I imagine is because they wanted to do breaking changes.
We can take the 3.0 opportunity to update. I’m not concerned about the fundamental claims of the token changing.
But whatever you guys feel like.

Waiting here for a decision fro @blowdart on whether or not we should do anything here. @Eilon if the answer is we don't want to update, then I think we can close this PR, as you can still manually update the config to target 2.0 endpoints if you choose do to so.

The change of the email address claim to a very non-standard "preferred_username" would need addressing, otherwise it's never going to work for people upgrading and who are using email as their default key, rather than sub (because sub isn't obviously the right one to use).
The sample tokens also show "given name" / "family name" changing to "name".
So, I'd need to see token contents for exactly the same user before decided if we can afford the change in 3.0, given the possibility of extra work, because it doesn't look like it's just pointing to the new endpoint.

@blowdart You can get the email on the email claim by asking for the email scope (which we can ask for by default and is more standard compliant).
This is the V1 token

Claim
Value

aud
b14a7505-96e9-4927-91e8-0601d0fc9caa

iss
https://sts.windows.net/fa15d692-e9c7-4460-a743-29f2956fd429/

iat
Thu Sep 06 2018 16:05:24 GMT-0700 (Pacific Daylight Time)

nbf
Thu Sep 06 2018 16:05:24 GMT-0700 (Pacific Daylight Time)

exp
Thu Sep 06 2018 17:10:24 GMT-0700 (Pacific Daylight Time)

aio
AXQAi/8IAAAAqxsuB+R4D2rFQqOETO4YdXbLD9kZ8xfXadeAM0Q2NkNT5izfg3uwbWSXhuSSj6UT5hy2D6WqApB5jKA6ZgZ9k/SU27uV9cetXfLOtpNttgk5DcBtk+LLstz/Jg+gYRmv9bUU4XlphTc6C86Jmj1FCw==

amr
rsa

email
<EMAIL_ADDRESS>

family_name
Lincoln

given_name
Abe

idp
https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/

ipaddr
<IP_ADDRESS>

name
abeli

nonce
123523

oid
05833b6b-aa1d-42d4-9ec0-1b2bb9194438

rh
I

sub
5_J9rSss8-jvt_Icu6ueRNL8xXb8LF4Fsg_KooC2RJQ

tid
fa15d692-e9c7-4460-a743-29f2956fd429

unique_name
<EMAIL_ADDRESS>

uti
Lxe_46GqTkOpGSfTln4EAA

ver
1.0

This is the V2 token

Claim
Value

ver
2.0

iss
https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0

sub
AAAAAAAAAAAAAAAAAAAAAIkzqFVrSaSaFHy782bbtaQ

aud
6cb04018-a3f5-46a7-b995-940c78f5aef3

exp
Fri Sep 07 2018 16:03:31 GMT-0700 (Pacific Daylight Time)

iat
Thu Sep 06 2018 15:58:31 GMT-0700 (Pacific Daylight Time)

nbf
Thu Sep 06 2018 15:58:31 GMT-0700 (Pacific Daylight Time)

name
Abe Lincoln

preferred_username
<EMAIL_ADDRESS>

oid
00000000-0000-0000-66f3-3332eca7ea81

tid
3338040d-6c67-4c5b-b112-36a304b66dad

nonce
123523

aio
Df2UVXL1ix!lMCWMSOJBcFatzcGfvFGhjKv8q5g0x732dR5MB5BisvGQO7YWByjd8iQDLq!eGbIDakyp5mnOrcdqHeYSnltepQmRp6AIZ8jY

We can likely configure the V2 default set of claims to include the email and other claims based on open id. Overall I think it's worth pointing the size reduction of the token and the standarization.

As long as the claims that the eventual identity is constructed from will match from one version to the next, so there's no unexpected loss then I'm ok with it.

@jmprieur Do you think this can be achieved? Or is there any claim that is gone forever (that matters) that we can't bring back.

@javiercn @blowdart - just to note that Jean-Marc is OOF until 30th, please expect delays in his answers.
You can have a look at the optional claims you can request for v1 and v2 endpoints here: https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-optional-claims

@blowdart if the tokens contain different claims, the ClaimsIdentity will not be the same.

We're not going to be able to take this in 3.0. We can revisit in 3.1.


Debug Configuration Stopped Working After Updating to Version 1.52.0

VSCode Version:
Version: 1.52.0
Commit: 940b5f4bb5fa47866a54529ed759d95d09ee80be
Date: 2020-12-10T22:46:53.673Z
Electron: 9.3.5
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0

OS Version:
MacOS Catalina 10.15.7

Steps to Reproduce:
I have this Debug Configuration setup.
{
    "version": "0.2.0",
    "configurations": [
     {
      "name": "Debug",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "runtimeVersion":"10.15.3",
      "runtimeExecutable": "npm",
      "runtimeArgs": [
       "run-script",
       "debug"
      ],
      "port": 9229,
      "console": "integratedTerminal"
     }
    ]
   }

It was working on Friday. I came back to my computer, which I haven't touched since Friday, and  saw that VSCode updated. Now when I try to run debug it doesn't spin up the server.
This is what is the debug script in my package.json file.
node --inspect ./node_modules/.bin/serverless offline --noPrependStageInUrl
Running node --inspect ./node_modules/.bin/serverless offline --noPrependStageInUrl directly in the integrated terminal works without a problem. This only is an issue when I run the Debug configuration.
It shows some configurations related to NODE_OPTIONS but then it just ends. There are no errors shown.
 /usr/bin/env PATH=/Users/xxxxxxxxxxxxxxx/.nvm/versions/node/v10.19.0/bin:/Users/xxxxxxxxxxxxxxx/google-cloud-sdk/bin:/Users/xxxxxxxxxxxxxxx/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/xxxxxxxxxxxxxxx/.pyenv/shims:/Users/xxxxxxxxxxxxxxx/.sdkman/candidates/maven/current/bin:/Users/xxxxxxxxxxxxxxx/.sdkman/candidates/java/current/bin:/Users/xxxxxxxxxxxxxxx/.nvm/versions/node/v10.19.0/bin:/Users/xxxxxxxxxxxxxxx/.composer/vendor/bin:/usr/local/bin:/Users/xxxxxxxxxxxxxxx/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Applications/Postgres.app/Contents/Ve
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
rsions/latest/bin:/Library/PostgreSQL/9.6/bin 'NODE_OPTIONS=--require /var/folders/_6/f2pzswnd5wx0c5f4ct33nksc0000gn/T/vscode-js-debug-bootloader.js' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/var/folders/_6/f2pzswnd5wx0c5f4ct33nksc0000gn/T/node-cdp.23438-5.sock","deferredMode":false,"waitForDebugger":"","execPath":"/Users/xxxxxxxxxxxxxxx/.nvm/versions/node/v10.19.0/bin/node","onlyEntrypoint":false,"autoAttachMode":"alwayxxxxxxxxxxxxx:/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/xxxxxxxxxxxxxxx/.pyenv/shims:/Users/xxxxxxxxxxxxxxx/.sdkman/candidates/maven/current/bin:/Users/xxxxxxxxxxxxxxx/.sdkman/candidates/java/current/bin:/Users/xxxxxxxxxxxxxxx/.nvm/versions/node/v10.19.0/bin:/Users/xxxxxxxxxxxxxxx/.composer/vendor/bin:/usr/local/bin:/Users/xxxxxxxxxxxxxxx/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Library/PostgreSQL/9.6/bin 'NODE_OPTIONS=--require /var/folders/_6/f2pzswnd5wx0c5f4ct33nksc0000gn/T/vscode-js-debug-bootloader.js' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/var/folders/_6/f2pzswnd5wx0c5f4ct33nksc0000gn/T/node-cdp.23438-5.sock","deferredMode":false,"waitForDebugger":"","execPath":"/Users/xxxxxxxxxxxxxxx/.nvm/versions/node/v10.19.0/bin/node","onlyEntrypoint":false,"autoAttachMode":"alway

Does this issue occur when all extensions are disabled?: No

Is there an option to figure out what extension might be causing this outside of disabling them one-by-one?

@selected-pixel-jameson search the Command Palette for "bisect" and use this new-in-1.52 command to bisect extensions.

Looks like the culprit is the Live Server Extension.

On a different project I was having the same issue and disabled all extensions and the issue still persisted. I removed the '   runtimeVersion":"10.19.0" argument from my debug configuration and the problem went away.

On a different project I was having the same issue and disabled all extensions and the issue still persisted. I removed the '   runtimeVersion":"10.19.0" argument from my debug configuration and the problem went away.


Re-enable java/util/concurrent/SynchronousQueue/Fairness.java in JDK21+

Issue: eclipse-openj9/openj9#18771.

In draft mode pending merges of these pull requests:

https://github.com/ibmruntimes/openj9-openjdk-jdk22/pull/29
https://github.com/ibmruntimes/openj9-openjdk-jdk21/pull/133

The proposed changes cause other problems; the tests will need to remain disabled.


Babel feature detection

This fixes #348. It uses babel-preset-features to auto-detect ES6 features. Also includes tests.
Enjoy!

Grr... A dependency has a require with an uppercase letter, which is killing travis. I submitted a PR, but the author is on the other side of the world. Give it a few hours, then it should be ready.

I like the idea, but I'm a bit wary of it. What if the native implementation has bugs and we want to use Babel for that?  And https://github.com/hax/babel-features doesn't look very actively maintained nor used much https://www.npmjs.com/package/babel-features.
I just don't want this to cause us a lot of extra overhead with support issues, etc.

// @hax

@sindresorhus: Check the 2.x (currently in beta) branch, it was last worked on 5 days ago :wink:. It even already supports Babel 6.
I think there's a little overhead, but not a whole lot. I'm not sure how we'd go about it any other way, regardless. And I guess we'd just assume that V8 isn't going to ship something horrifically broken. The overhead is going to down once we move babel to the main thread.

I think there's a little overhead, but not a whole lot. I'm not sure how we'd go about it any other way,

We could create a preset for each Node.js major version  →https://github.com/sindresorhus/ava/issues/148. Albeit that won't work when we eventually add browser support → https://github.com/sindresorhus/ava/issues/24.

And I guess we'd just assume that V8 isn't going to ship something horrifically broken.

They do all the time. That's the price for rapid evolution.

The overhead is going to down once we move babel to the main thread.

That's a good point.

Sorry I have cold last week and not check the github notifications.

The runtime overhead of feature detection < 10ms, so I think it's ok for most applications.

What if the native implementation has bugs and we want to use Babel for that?

Yes they have. But Babel also have :grinning: . So we need to check it case by case. For example, whether to use regenerator. (node 0.12+ have generators, but missing some minor features such as Generator.prototype.return. babel-preset-es2015-node-5 decide to not use regenerator. If there is any other case like that please let me know.)

There's also the case of many of the ES2015 features being a lot slower than the transpiled ones.

@sindresorhus
This is due to V8 (and other implementations) seem focus on es2015 features not performance up to now. Even simple const/let could cause deoptimization.
But I never see a real case such performance degradation is significant for a webapp (browser-side) in my daily work. Maybe heavy-load Node.js apps would affected by it. Anyway they can just switch from babel-preset-es2015-node-* to normal babel-preset-es2015.

My vote is to punt on this until a later date. AVA and Babel both are currently moving at breakneck speed. I would prefer not to introduce an extra layer of complexity.

Closing due to inactivity. #148 is the issue for this feature. Would love your help if you have the time @ariporad!


Setup a Newsletter Sign Up Form

Need to create a newsletter sign up form on the website.

We have to setup our own service and database or use an existing provider. There's a couple of great providers out there. Here's a short overview of the services I know.

Provider
Monthly Price
Discount
Price after Discount
Notes

Revue
$24 for < 4k subscribers
-
-

Mailchimp
$50 for < 5k subscribers
15%
$42.5
Has probably the best templates and event management. You can easily create a nice workflow. E.g. register => confirm => welcome. Also supports nice tracking features.

Sendy
<$1 at 4k mails per month
-
-
Uses Amazon SES. Therefore requires lots of manual configuration and creating email templates kind of sucks. It's not like modern HTML. I suggest using mjml if we were to go this route. I'm using this for dethlify.

SendInBlue
19€ at 40k mails per month
Yearly payment discount
17.10€
Looks like Mailchimp.

Awesome overview, thanks.  From your point of view, which one is the easiest to manage and still looks professional?

Imo the one we can get the most value out of is mailchimp. If we have the budget I'd use that service. If not, then I suggest we simply try out multiple ones. All services allow you to export all contacts so switching is rather simple.

Mailchimp is always a good choice


cannot download pretrain model

pretrain model cannot download ? Can someone provide the basetrain model for coco?

同问


feat: move doc-gen CI here

Creates a Github Action which runs doc-gen4 from within the mathlib4.
This is done due to the speed issues of the original doc-gen4 CI
as suggested on Zulip.
While I ran these scripts locally it might very well be that I made some
mistake that will mess this up in CI. Furthermore someone with privileges
needs to configure a secret MATHLIB4_DOCS_KEY with an ed25519 SSH key
that has push access to leanprover-community/mathlib4_docs in order for
the script to upload the generated docs.

I've added the MATHLIB4_DOCS_KEY and changed the workflow so that it runs on the Hoskinson center machines.

git exits with code 128.  Not sure what's going on here.

Well that panic is new! I'm afraid I don't know why it is complaining either...

bors merge


Support Material Symbols (Icon v2)

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
Google has recently introduced a new major iteration on their icon system: Material Symbols: https://material.io/blog/introducing-symbols. This is an awesome new iteration on their icon system, and more importantly, they have made it the default! Proof https://fonts.google.com/icons. This new iteration seems much better.

For SVGs, we might be able to implement the weight with the stroke-width attribute, see: https://feathericons.com/ but we might have to build these SVGs ourselves: https://github.com/google/material-design-icons/issues/1360.
Examples 🌈

https://developers.google.com/fonts/docs/material_symbols
https://github.com/angular/components/issues/24845
https://github.com/google/material-design-icons

Motivation 🔦
We will need to update our icons to reflect this change, both for font and SVG icons. It's an important step forward in terms of icon

Is there anything left in this issue?

@gautamV19 Everything is left to be done, in case it's something you would like to have a look at.

@oliviertassinari
here it is a react based material symbols maybe using the same patter to create this iteration of Material Symbols

Any plans to include Material Symbols in @mui/icons-material or create a separate package (e.g. @mui/symbols-material) to cover this gap?

@ErreMalote It does work, using https://github.com/marco-prontera/vite-plugin-css-injected-by-js to inject the CSS and Material System font into the page:

import Icon from "react-material-symbols/dist/rounded";

export default function App() {
  return (

      <Icon icon="folder" size={24} fill grade={-25} color="red" />

  );
}

https://codesandbox.io/s/nifty-poincare-nfduo3?file=/src/App.js

I think that it would make sense to have a first experimental API using the font.

In my opinion, the primary issue with using the font is the flash of ligature text on slow internet connections.(https://github.com/vercel/next.js/discussions/42881#discussioncomment-4758644).
Imagine what a <ListItemIcon /> component might look like showing the text "sentiment_very_satisfied" instead of the correct icon.
https://user-images.githubusercontent.com/69400730/214441378-75549bbd-02ff-45b1-a30e-8282f0252454.mov

I think that it would make sense to have a first experimental API using the font.

In my opinion, the primary issue with using the font is the flash of ligature text on slow internet connections.(vercel/next.js#42881 (comment)).
Imagine what a <ListItemIcon /> component might look like showing the text "sentiment_very_satisfied" instead of the correct icon.
Screen.Recording.2023-01-25.at.00.00.50.mov

Use font-display: block then it won't show the text before the font is loaded.
I've been using Material Symbols with MUI for months now and 0 problems regarding that.

I think that it would make sense to have a first experimental API using the font.

In my opinion, the primary issue with using the font is the flash of ligature text on slow internet connections.(vercel/next.js#42881 (comment)).
Imagine what a <ListItemIcon /> component might look like showing the text "sentiment_very_satisfied" instead of the correct icon.
Screen.Recording.2023-01-25.at.00.00.50.mov

Use font-display: block then it won't show the text before the font is loaded. I've been using Material Symbols with MUI for months now and 0 problems regarding that.

It is true that the font-display: block option is the best choice for icon fonts, however, it does not completely solve the issue. font-display: block gives the font face a longer block period than font-display: swap, font-display-fallback and font-display: optional, but it's typically limited to 2-3 seconds.
You can encounter this problem by simulating slow network conditions in Chrome, such as "Slow 3G" or "Fast 3G" (and obviously disabling the cache).
https://web.dev/font-best-practices/#choose-an-appropriate-font-display-strategy

@simonecervini With slow 3g and disable cache the font is not going to be the only thing that takes long to load or that gets partially loaded, the full website will do; so that you get to see the text of the icon is probably the least of your concerns in that scenario.
If I see that the page is loading very slowly, getting partial portions of UI here and there in the span of several seconds, that I see the icon text during that time is not gonna affect me much given the overall state, I can tell the website is loading slowly so it won't surprise to see text replaced by an icon once is done.
Already if you are taking care of slow connections most probably you are already implementing caching, preloading the font, etc; even with all that it will not prevent that to happen 100% if is the user's first time on the page, but it will prevent it for the next times.
I don't see why to make it look like a big deal for something that is not a new issue, that already has ways to be mitigated and that probably you were already handling for other cases (including other fonts).

@rodrigonzalz Honestly, I personally see this as a big problem, at least for the use cases I am used to.
We don't all have the same requirements, honestly I very often work with pages that need to perform well even with very slow connections and with this implementation I certainly couldn't use @mui/symbols-material in production (as opposed to the “previous" @mui/icons-material).

I don't see why to make it look like a big deal for something that is not a new issue, that already has ways to be mitigated and that probably you were already handling for other cases (including other fonts).

Honestly, this is not true. Showing text with a different font during slow loads is very different from showing strings like "sentiment_very_satisfied" instead of specific icons.
It is even worse than loading a blank image replaced by the alt text, because often the ligature text of these icon fonts is completely disconnected from the actual icon description (also because it is not designed for that). MUI itself uses the equivalent of the "history_toggle_off" icon on the pricing page to represent the "work in progress" status. It is objectively not okay to show the text "history_toggle_off" on a pricing page, even in a loading phase, even with very slow connections.
With static pages, fonts, and images loaded correctly (with fallback fonts and blurred placeholder images for example), it is possible to create pages that perform perfectly well even with very slow connections, right from the first load without cache. Therefore, no, it is not true that this is a problem we would probably handle anyway.
Maybe these are not everyone's use cases and the tradeoff is acceptable. I am simply expressing my opinion based on my own experiences and usage.

@simonecervini Honestly, I think you are under some misunderstanding and that's why you take it as a big issue.

We don't all have the same requirements, honestly I very often work with pages that need to perform well even with very slow connections and with this implementation I certainly couldn't use @mui/symbols-material in production (as opposed to the “previous" @mui/icons-material).

Of course we don't all have the same requirements, and as you say, if the use of font icon doesn't work for you then you always have the option to use the svg icons as you are currently doing.
This issue doesn't say anything about replacing the current icons exclusively with the material-symbols font, that somehow svg icons are gone. As stated in the original issue comment:

We will need to update our icons to reflect this change, both for font and SVG icons. It's an important step forward in terms of icon

The whole svg vs font icons tradeoff has been already stated on the documentation since a long time, here. That's why I am saying this is nothing new, neither that such a big issue, you would use what is better for your use case, that's why different options are provided.

@rodrigonzalz I understand that this conversation doesn't affect @mui/icons-material at all. If the same flexibility to choose between fonts and SVGs will be maintained for @mui/symbols-material as well, I apologize because I misunderstood.

Hi there - Was hoping to start using the latest material symbols, as several symbols look new & improved compared to legacy iconography. Great initiative, looking forward to this!

+1 this would be useful as more and more Material Symbols get added but don't get added to the legacy set.
the new set also gives more stylistic flexibility.

I will note that if somebody doesn’t like the “flash” of changeover where a whole big ligature collapses to an icon during font loading (FOUT), they could instead reference the icons by codepoints. That would generally result in a single notdef until the icon loads, which might be less disruptive.
I don’t mean to suggest this is a perfect solution, just might be a slightly less disruptive choice, as far as the effect of FOUT.

One thing that I don't think has been mentioned yet is theming support. The existing material icons respect the text color and font size set by the theme. Any implementation of the Material Symbols should also respect these settings, regardless of whether it's rendered as a font or an svg.

In my opinion, the primary issue with using the font is the flash of ligature text on slow internet connections.(vercel/next.js#42881 (comment)).

@simonecervini You can use the codepoints instead:
https://github.com/mui/material-ui/assets/19274317/c68d0333-c5e1-49dd-8ea5-ad1bc41ec3f9
There's some CLS in my video, but there are ways to fix that with a fallback font as well.
I'd like to have fonts over SVG because of the animations, but I'm worried about the 2MB file size if all variants are included (even the 300KB baseline is a lot).

In my opinion, the primary issue with using the font is the flash of ligature text on slow internet connections.(vercel/next.js#42881 (comment)).

@simonecervini You can use the codepoints instead (optimally the library would do the transformation):
Screen.Recording.2023-12-07.at.12.18.11.mov
There's some CLS in my video, but there are ways to fix that with a fallback font as well.
I'd like to have fonts over SVG because of the animations, but I'm worried about the 2MB file size if all variants are included (even the 300KB baseline is a lot). Creating an optimized font file at build-time based on whatever icons you imported would be the optimal solution, but that sounds more like a bundler plug-in than a MUI component.

@N2D4 I personally ended up creating a custom script that fetches the SVGs I want from fonts.gstatic.com with the font settings I want, optimize them with SVGR, convert them to react components and compile everything into a single large icons.tsx server component.
This approach works very well with server components since it enables you to create a single large file, without sending all the icons to the client.

Installation
Install the package in your project directory with:

npm install @mui-symbols-material/w400

To install icons of a different weight, simply replace 400 with the desired weight in the installation command.
These components use the Material UI's SvgIcon component to render the SVG path for each icon.
If you are not already using Material UI in your project, you can add it with:
npm install @mui/material

Usage
Once installed, you can use the icons in your React components:
import React from 'react';
import {
  FavoriteOutlined,
  FavoriteRounded,
  FavoriteSharp,
  FavoriteFilledOutlined,
  FavoriteFilledRounded,
  FavoriteFilledSharp,
} from '@mui-symbols-material/w400'; // Replace 400 with your desired weight

/**
 * Renders all variants of the favorite icon from Material Symbols.
 */
function MyComponent() {
  return (
    <>
      <FavoriteOutlined />
      <FavoriteRounded />
      <FavoriteSharp />
      <FavoriteFilledOutlined />
      <FavoriteFilledRounded />
      <FavoriteFilledSharp />
    </>
  );
}

Available Weights
The following weights are available, providing a range of design options:

@mui-symbols-material/w100
@mui-symbols-material/w200
@mui-symbols-material/w300
@mui-symbols-material/w400
@mui-symbols-material/w500
@mui-symbols-material/w600
@mui-symbols-material/w700

Once installed, you can use the icons in your React components. Here's an example showing how to use icons of two different weights:
import React from 'react';
import { FavoriteOutlined as FavoriteRegular } from '@mui-symbols-material/w400'; // Regular weight
import { FavoriteOutlined as FavoriteBold } from '@mui-symbols-material/w700'; // Bold weight

function MyComponent() {
  return (

      <FavoriteRegular /> {/* Regular weight icon */}
      <FavoriteBold /> {/* Bold weight icon */}

  );
}

Install the package in your project directory with:
npm install @mui-symbols-material/w400

For transparency, it's worth noting that these packages aren't officially maintained by the mui team but instead @RubtsovAV themself
Repo: https://github.com/RubtsovAV/mui-symbols-material

@Codex- Thank you. And it's based on the mui-icon package where you can use a new set of icons. I believe the MUI team, for version 7, will incorporate symbols, and creating a fork of this package will save them time.

@Codex- Thank you. And this is built on the mui-icon package, introducing a fresh collection of Google icons. I believe the MUI team, for version 7, will incorporate symbols, and creating a fork of this package will save them time.

The Material Design team changed a bit their language with those: https://fonts.google.com/icons?icon.set=Material+Icons

It also seems that some SVGs are available now too, e.g. https://www.npmjs.com/package/@material-symbols/svg-400.

@tphinney Are there plans to rename Material Symbols to something like Material Icons v2? I suspect that "symbols" confuse a lot of people. I imagined this was already discussed internally.

As a contractor, it is not generally my place to comment on future plans of Google’s.
But that said, I can explain some background and implications that may not be obvious.
Note that every renaming of the font is going to be treated by all other infrastructure as a DIFFERENT FONT. Basically, you just committed to either building and maintaining a whole additional set of fonts, or to also keeping the last shipping version of the old set around for years to come.
Remember also that Google hosts the fonts by name. If the “v2” is not part of the literal font name, then all existing sites using hosted fonts get automatically swapped to the new icons.
Or, one could put “2” in the literal name. In fact, that is what Adobe just did with Minion 3 and Trajan 3 in recent years. (The initial “Pro” OpenType releases were the virtual version 2, not explicitly named as such.)
BUT... after the “new font” has already been shipping for several years is not the ideal timing for a rename, one really wants to get it right the first time. Renaming it if you are NOT making Big Changes at the same time would be surprising/confusing. Especially when that is a revert to an old name. I think a lot of people would assume that Material Icons 2 was much more similar to Material Icons (v1) than Material Symbols is, and if they still wanted the latest and greatest, they would assume that Material Icons 2 was not the place for that!
Regardless of whether it was Material Icons 2 or Material Symbols, some kind of rename of the font was a Very Good Idea. It isn’t just all the variant icons going away that previously indicated fill status. The new size axis means that the icons will automatically adjust depending on size, so if you were using a 24 px icon at any other size before, it will look different now if you are using the font. Giving the font a different name so that the font does not just swap out on people is good. (And for those people using previously downloaded fonts rather than fonts served by Google, without a rename, they could also have to contend with swaps in the opposite direction: where they are using a new font but somebody else involved in their ecosystem has the same-named old Material Icons font.)

@RubtsovAV  solution just uses the woff2 and CSS for the icons which is not ideal for me at least. (I want the flexibility of SvgIcon component)
I wrote a rust program that fetches the latest woff2, and redraws each and every icon/glyph inside the font to svg.
Then it transforms them into tsx SvgIcon components.

It is really really fast!

@oliviertassinari
I do not know if mui is planning to use them just as variable fonts or not, but i can share the code which does this if it helps or even write a package for it @mui/material-symbols maybe? :D

@nikandlv I don't know why you tag me. I also agree that it's not good and that because this package exists https://github.com/mui/material-ui/issues/32846#issuecomment-1951241800


Add ability to toggle window state via hotkey.

Adds the possibility to define a optional hotkey for toggling between maximized window state and previous window state.
A possible use case would be in case of a 50/50 split to shortly maximize one window e.g. for better readability and then go back to the 50/50 split.
There might be a better way to do this, especially to get the full grid dimensions but it seems to work as indented.

Yeah, I think this is a good addition. I'll review today, thanks!

I've made adjustments to account for tranparent borders, window restore and persisting previous_resize & active_window when the grid is regenerated (be it monitor change, profile change or toggling grid)

Can you test on your end and confirm it is still working as you intended? I think I've thoroughly tested, trying every combination of events, and nothing seems off, but I'd like a second pair of eyes.

Everything still works after your changes.
I did some minor refactoring in regards to border adjustment.

Awesome! Thanks for the refactor.


Deprecate Type#getJavaType and Type#getFixedStorageSize

Type#getJavaType and Type#getFixedStorageSize are mostly unused, but causing unnecessary tight coupling. They would be finally removed in Embulk v0.10 or v0.11.

Thanks!


Yatin: Watch talentshiksha.com

Yatin requests the watch of the watch_keyword talentshiksha\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

talentshiksha\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

talentshiksha\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ

Approved by tripleee in Charcoal HQ


Description

Configuration

Regression?

Other information

Where you trying to report that the action was not working? I think I fixed the settings now.


Refresh images after modifications made

Thanks a lot for your efforts to develop this plugin. I benefit a lot. But I found a issue when using this plugin. I enabled the preview mode of neo-tree so that it will use 3rd/image plugin to preview images in the explorer. When I used it to preview the image in the explorer, it functions well. But after I change the figure (for example, use Python to generate the image file with the same name), it won't refresh. It still shows the previous state. How can I turn on the refresh configuration each time I want to preview the images in the explorer?
Thanks in advance!

Hey, can you try this branch? https://github.com/3rd/image.nvim/tree/feat-handle-source-image-external-changes
It was ok for other people, I'm thinking of merging that in.


[Bug]: cannot compatible the ~ in less-loader

Version
System:
    OS: macOS 12.7.2
    CPU: (8) arm64 Apple M1
    Memory: 135.14 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Browsers:
    Chrome: 128.0.6613.138
    Safari: 15.6.1
  npmPackages:
    @rsbuild/core: ^1.0.1 => 1.0.1
    @rsbuild/plugin-less: ^1.0.1 => 1.0.1
    @rsbuild/plugin-react: ^1.0.1 => 1.0.1

Details

this is an error when compiler the less file

less-loader,although the ~ has been deprecated, But when migrating some old projects to Rsbuild, I don't want to change a lot of existing CSS file.
it's working in  rsbuildv0.5.9

Reproduce link
https://github.com/priority3/rebuild-less-loader/blob/main/src/App.less#L1
Reproduce Steps
change @import '~@animate' to @import '@animate' everything is working.

I will work on it this weak.


[AutoPR advisor/resource-manager] Add metadata api

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5826

(message created by the CI based on PR content)

Codecov Report

Merging #5027 into restapi_auto_advisor/resource-manager will decrease coverage by <.01%.
The diff coverage is 41.66%.

@@                            Coverage Diff                            @@
##           restapi_auto_advisor/resource-manager    #5027      +/-   ##
=========================================================================
- Coverage                                  49.08%   49.07%   -0.01%
=========================================================================
  Files                                       6506     6510       +4
  Lines                                     182346   182429      +83
=========================================================================
+ Hits                                       89502    89536      +34
- Misses                                     92844    92893      +49

Impacted Files
Coverage Δ

azure-mgmt-advisor/azure/mgmt/advisor/version.py
100% <100%> (ø)
:arrow_up:

...or/azure/mgmt/advisor/advisor_management_client.py
100% <100%> (ø)
:arrow_up:

...-advisor/azure/mgmt/advisor/operations/__init__.py
100% <100%> (ø)
:arrow_up:

...r/operations/recommendation_metadata_operations.py
32% <32%> (ø)

...r/azure/mgmt/advisor/models/metadata_entity_py3.py
36.36% <36.36%> (ø)

...mgmt-advisor/azure/mgmt/advisor/models/__init__.py
59.37% <50%> (-2.17%)
:arrow_down:

...isor/models/metadata_supported_value_detail_py3.py
57.14% <57.14%> (ø)

.../advisor/models/metadata_entity_list_result_py3.py
66.66% <66.66%> (ø)

... and 2 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 bd28199...864244a. Read the comment docs.

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/5133


Don't turn off the sandbox.

Disable the file-based sandbox only. This way the kernel level sandboxing still takes effect for security.

Using this we still get the yellow bare "You are using an unsupported command-line flag". Is there any way around this?
With the recipe from
https://github.com/probonopd/AppImageKit/wiki/Bundling-Google-Chrome
I can build a Chrome AppImage that does not complain but I didn't succeed doing the same with Chromium yet. Why?

Because Chromium is meant for developers who go through the process of setting up the sandbox. At least this mattered until a short while ago. Lately some changes were made so the sandbox file itself isn't required because the Linux Kernel now has the API's to handle it. So, now we rely on the kernel APIs. The sandbox check however, as remained for legacy reasons (older kernel support.)
There is an open bug to have the check removed since it is no longer strictly required. Until then though, this command line flag --disable-setuid-sandbox is the best way to handle this case. It turns off the check for the sandbox (that is hardly needed anymore) but still uses the kernel sandboxing APIs. Providing security to end-users. This infobar has never been updated to explain the current usage better. That being said, it is best to provide security to users and just let them know the infobar is a thing and soon it shouldn't be an issue at all.
Chrome itself doesn't complain because it sets up the sandbox properly in case it is needed on its own. Unless AppImage can do a root ownership sandbox file internally, that isn't possible. The only other trick I know to prevent an abort during start and not deal with the infobar about this flag is to rename the sandbox from the appspot build to chrome-sandbox. While this works, why it works exactly and what it does is completely unknown. So best not do that.

Thanks for your explanation, merged this for now although I am still interested in getting rid of the warning since it is misleading. So let's try to find out what renaming the file to chrome-sandbox actually does.

Just did a quick test: touch chrome-sandbox is enough to have Chromium launch and not need any unsupported command-line flag. There doesn't even have to be a real binary there. So I assume it's safe to do?

"Safe to do" ... Absolutely not considering we have no idea what that actually does. If something does need the sandbox, there will be no clear failure or resolution step.
Once the bug is fixed so the check for the setuid sandbox isn't needed we can simply remove the flag on our end entirely. Then there will be no more problems. Until then, the infobar is an inconvenient nuisance but allows for full security.

OK Garbee

The change seems to have caused trouble:
http://discourse.appimage.org/t/chromium-xubuntu-16-04-does-not-work/51/2

Responded asking for some system info. Running a test on Chromium 55.0.2841.0 it is running fine on a 16.04 base for me without any sandbox toggle flags.
Seeing Xubuntu, I have a strong hunch they are using a 32bit build which is no longer supported.

Hm, just looked into the commit itself. It landed in 399361 while commit 382149 was the base for the version the issue reporter is running. Therefore, it won't land in ApppImage until the 52 build gets built it looks like.

Chromium 55 should no longer have this issue.

m53 should be where we don't see this anymore technically. Not sure when that stable patch will hit so the AppImage can get built for it.


Submission rejection with 2.1.2 from releases

While I was dealing with the issues with Carthage early, I used the zip from the releases tab.
It gets rejected when uploaded.
ERROR ITMS-90171: "Invalid Bundle Structure - The binary file
'REDACTED.app/Frameworks/Sentry.framework/libswiftRemoteMirror.dylib' is not permitted. Your
app can’t contain standalone executables or libraries, other than the CFBundleExecutable of
supported bundles. Refer to the Bundle Programming Guide at
https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle
structure."

Thanks for reporting this.
This happened because of the last change in 2.1.2 which we will revert again in 2.1.3 ...
It's currently building, will ping you when the release is ready.

Don't stress, as I managed to get my build working with carthage earlier 😛
Still useful for others, of course.

2.1.3 is released, please give it a try

I will close this issue for now since this should be fixed


Allow user to remove image attachment.

Currently, there is no way to remove image attachment once it's selected. Add a cross button, clicking on that it should remove the image attachment.
Ref design:

Hi! I would like to take part of it.  So how can I run the messaging page in my local host, so that I can manipulate the button there?

Ok I've found the way out, simply just make a ID number like http://localhost:3000/chat/123/ hahahahaha
Can I work with this issue?


Fix ill-formatted csv results

As per title, avoid https://huggingface.co/datasets/fxmarty/transformers-regressions/blob/main/raw_results/2023-09-20_14%3A18%3A49_f29fe7458953dbf00addaf793d95ea1965bc8441/bert_1gpu_training/0/training_results.csv

can you fix this one last typo as well (samles -> samples)
https://github.com/huggingface/optimum-benchmark/blob/90ad2ea78d23ad59ef23ee9552a1c484706ec336/optimum_benchmark/benchmarks/training/benchmark.py#L53

sure!


Please advise me why my result photo can not show mask and damage percent. It just shows No instance to display at inspect_custom_model.ipynb

No instance to display means that no object was detected by the model in that image. Try lowering your confidence threshold and see if that helps. If not, then you will need to add some of these samples to your train data and retrain


[Bug]: Uncaught TypeError: t.webContents.getZoomFactor is not a function at e.updateStatus (app.js:1:1411275)

What happened?
Plainly trying to export my md to HTML (web server), some SVG files (formatted correctly), images, PDFs and obviously *.md.
The content of the output is empty, though the sidebar renders properly, as does the graph.

Reproduction
Honestly not sure, seems to be really inconsistent
Last Working Version
Same on the latest stable release
Version
1.8.1-2b
Operating System
Windows 11
Obsidian Version
v1.5.8
Which browsers can you reproduce this in?
Firefox
Relevant log output
Log:
[INFO] 	Including stylesheet: svelte-11adhly
[INFO] 	Including stylesheet: svelte-hup5mn
[INFO] 	Including stylesheet: svelte-1wbh8tp
[WARNING] Failed to load search-index.json. Creating new index.	 Creating new index.

Disabling incremental export appears to fix the problem

Subsequent exports enter a crash loop though with the same error as title

Okay, I think I've fixed it. It was either dataview, PDF++, Tasks or better word count causing the problem. Whatever the case, enabling the CSS has resolved the issue


Adding Forms

Adding atlaskit forms with wrappers and perhaps an additional custom wrapper for easy handling like the ui-utils with renderTextfield, renderSelectfield, ...

Done


AAD Debug multitenant not working

1. Describe the bug
Debugging on multitenant BC onprem fails when using AAD login.
"?tenant=xxx" is not added to URL opened by browser. You can workaround by adding tenant to URL manually.
2. To Reproduce

Setup multitenant BC instance with AAD login.
Using any al project. Add AAD login config pointing to multitenant instance and tenant to launch.json.
F5 and select AAD login config.

3. Expected behavior
Browser opened to:
https://localhost:8080/? tenant=xxx &redirectedfromsignup=1&debuggingcontext=6853c81f-4b1a-47f8-be66-294d95d6a303&page=22
4. Actual behavior
Browser opened to:
https://localhost:8080/?redirectedfromsignup=1&debuggingcontext=6853c81f-4b1a-47f8-be66-294d95d6a303&page=22
No "?tenant=xxx" in URL.

5. Versions:

AL Language:v10.0.687650
Visual Studio Code:1.72.2
Business Central: NO Business Central 19.2 (
List of Visual Studio Code extensions that you have<EMAIL_ADDRESS>All other extn are disabled.

Duplicate of #7100


Protection branch rule for main

Main needs to block direct commits from developes. Need to allow from PR and github actions (For package version update on files).

https://github.com/orgs/community/discussions/13836


MonitorControl consumes combo keypresses (⌘ + F15) instead of only F15/F14

I have an obscure global keyboard shortcut setup on ⌘+F15.  MonitorControl consumes any presses for media keys like F15, even when they're used with modifiers keys that have on effect on MonitorControl.
MonitorControl should only react when media keys are pressed by themselves, or when pressed with modifiers MonitorControl recognizes.  So F15, Ctrl+Shift+F15 (small increment) and Ctrl+F15 (internal display), should all continue to work, but ⌘+F15, Ctrl+⌥+F15, etc, should not work and should not be consumed/blocked by MonitorControl.
Not sure if MediaKeyTap already supports aborting a key press consumption or not?  But if it does, then fixing this might be as simple as observing unrecognized modifier key combinations in the delegate method here, and aborting.

Glad I was able to find out the culprit for killing my ⌘ + F15 custom app shortcut haha. Was wondering what it was that caused this issue. Agree it's relatively minor but would be very nice if it didn't block modifiers. Will have to map my shortcut to something else in the meantime.

+1 for this. For me brightness control works perfectly with the dedicated brightness keys on the external keyboard (F1, F2), and even touchbar brightness controls are working great. Thus, I don't need F14 and F15 to control brightness, but I was using them for other purposes which I would still need. It would be nice to have an option to disable these 'secondary' hotkeys, if it's not feasible to make it fully customizable. Regardless, this is an excellent app, thank you.

I think there should be an option to customize keyboard shortcuts. I am trying to focus and consolidate all issues like this into #118. I'll close this one as a duplicate now. Thank you!


States root should be calculated once, not twice

Currently, we only save a state in two places:

Checkpoint sync (anchor block)
After state transition.

In both cases we know the hash tree root of the state before saving it to the db, as we need it to verify that it's consistent with the block's state_root. However, the db method recalculates the root. We should reduce this to one calculation, as it's an expensive one, and it's currently done in the cache, which makes its response time higher.

I'll take a similar approach I had with block roots: I'll create a StateInfo struct with metadata like the root, so it's passed around like that and the root doesn't need to be calculated multiple times.


Planify crash on task completion

Describe the bug
A clear and concise description of what the bug is.
Steps To Reproduce
Steps to reproduce the behavior:

Have Planify 4.7.2
Add a task
Complete a task by clicking the checkbox
Observe Planify crashing

Expected behavior
A clear and concise description of what you expected to happen.
Planify does not crash
eenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Here's the last line of logging:
(io.github.alainm23.planify:917866): GStreamer-Play-ERROR **: 10:25:35.910: GstPlay: 'playbin' element not found, please check your setup

And the backtrace:
#0  0x00007f337a57b137 in g_log_structured_array () from /nix/store/3xsbahrqqc4fc3gknmjj9j9687n4hiz0-glib-2.80.0/lib/libglib-2.0.so.0
#1  0x00007f337a57b58e in g_log_default_handler () from /nix/store/3xsbahrqqc4fc3gknmjj9j9687n4hiz0-glib-2.80.0/lib/libglib-2.0.so.0
#2  0x00007f337a57b800 in g_logv () from /nix/store/3xsbahrqqc4fc3gknmjj9j9687n4hiz0-glib-2.80.0/lib/libglib-2.0.so.0
#3  0x00007f337a57baaf in g_log () from /nix/store/3xsbahrqqc4fc3gknmjj9j9687n4hiz0-glib-2.80.0/lib/libglib-2.0.so.0
#4  0x00007f3353061f08 in gst_play_main () from /nix/store/dsmhmyzw6yxp4z3rvqzk26iqk4h3ghhw-gst-plugins-bad-1.24.2/lib/libgstplay-1.0.so.0
#5  0x00007f337a5a03ad in g_thread_proxy () from /nix/store/3xsbahrqqc4fc3gknmjj9j9687n4hiz0-glib-2.80.0/lib/libglib-2.0.so.0
#6  0x00007f3373ea1272 in start_thread () from /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6
#7  0x00007f3373f1cdec in clone3 () from /nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6

It seems that Planify is trying to play a sound on completion (added in 4.7, so this could have been introduced by #308302), but fails because it's missing a part of GStreamer.
Notify maintainers
@dtzWill & @bobby285271
Metadata

system: "x86_64-linux"
host os: Linux 6.1.84, NixOS, 23.11 (Tapir), 23.11.20240511.71bae31
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.22.0

Add a :+1: reaction to issues you find important.

Going to "Preferences > Task Settings" and disabling "Task Complete Tone" does prevent the app from crashing.

Thanks for the issue. Looks like it crashes when doing Gtk.MediaFile.for_resource ("/io/github/alainm23/planify/success.ogg");.


Addition of Material Design Snackbar and Toast

https://www.google.com/design/spec/components/snackbars-toasts.html
http://www.getmdl.io/components/#snackbar-section

Nice work :+1:


DS-2687 Check group origin before deletion

Jira Ticket: When deleting a collection role the group is also deleted, which is not appropriate for non-system-created groups
This work utilizes the Group.Permanent property and a syntactical check function on the group name during the community/collection deletion flow, before the group is deleted, to verify that the group is 1. Not the system Administrator or Anonymous group & 2. To verify that the group is still system created by matching on the naming convention in which system groups are created. Deletions of the system Administrator group,  the system Anonymous group, and user created groups via the community collection deletion flow is not appropriate behavior.

tested in Vagrant-DSpace, confirmed working

Closing, as this appears to be fixed slightly differently in 7.0.  This 6.x version looks outdated & would require updates


Added depositToVault dftx to transaction builder.

What kind of PR is this?:

/kind feature
What this PR does / why we need it:
Add depositToVault dftx
Which issue(s) does this PR fixes?:

Fixes part of #532
Additional comments?:

I shall review this before end of today

there are loan related errors in the tests

test failure in setCollateralToken due to https://github.com/DeFiCh/ain/issues/769
hold for that


Voicemail .wav file attached instead of link

Hi,
I would like to know if there is any option that I can use to attach the recorded message instead of link which is default solution.
I saw thanks to this #78 that it's doable probably with axios and some changes in the code... But I'm not sure. I hope we can find a good way to do it. Attaching recording as a file is better for my purpose just because of the access issues.
If you have any snippets, templates or ideas please share 😁
Thanks in advance!

Hi, I found a way to achieve this kind of solution, maybe somebody else will be happy with this, please find below:
1. Add this:
const AWS = require("aws-sdk");
const s3 = new AWS.S3();

2. Modify sendMail with your adaptation:
[
... Rest of the code
return new Promise((s, i) => { ...
]

const bucketName = "<YOUR-BUCKET-NAME>";

// Extract the filename from the preSignedUrl provided in the r object
const filename = r.preSignedUrl.url.split("/").pop().split("?")[0];

const objectKey = "recordings/" + filename;

s3.getObject({ Bucket: bucketName, Key: objectKey }, (err, data) => {
  if (err) {
    console.log("Error fetching the file from S3:", err);
    return i(err);
  }

  mailOptions.attachments = [
    {
      filename: "voicemail.wav",
      content: data.Body,
      contentType: "audio/wav", // Specifying the MIME type
    },
  ];

  this.transporter.sendMail(mailOptions, (e, t) => {
    if (e) {
      console.log("Error while sending email:", e); // Debug log
      return i(e);
    }
    s(t);
  });
});

The file is fetched from S3 Bucket so normally the recording.wav is added to an email as an attachment.
Hope you enjoy it! 😁


high: new flow brainstorm (signal.combine consistency)

test('should work signal combine', async () => {
  const spy = jest.fn();
  const v = value(1);
  const s = signal.from(v.select(v => v + v));

// `signal.from` should be a stoppable selector, not a new signal, with a change argument subscription.
// `flow` - is a stoppable selector (maybe simple selector is enough, and make another way to create stopping for flow)
// for example `flow.filter`, and `wrap.filter` for making stoppable flow, maybe its enough. Because breaking flow a change type to `Ensurable`

// but stoppable selector is very very interesting - is the possibility to stop flow, without the creation of new `on` subscription.

// simplest way for `sel` and `on` - is making stop exception.
const s = sel(() => {
  if (v.val > 0) stop(); // This will be next exported function from reactive-box
  // It is a special exception throwing
});

// It's possible to use in another case:
on(() => {
  if (v.val > 0) stop(); // <-- its will work automatically)) because `on` used `sel` inside.
}, fn);

// ===

  const c = signal.combine(v, s);
  c.watch(v => spy(v));

  expect(c.val).toEqual([1, 2]);
  s(10);
  s(10);
  v(2);
  v(2);

  expect(spy).toHaveBeenNthCalledWith(1, [1, 10]);
  expect(spy).toHaveBeenNthCalledWith(2, [1, 10]);
  expect(spy).toHaveBeenNthCalledWith(3, [2, 10]); // Todo: hmm
  expect(spy).toHaveBeenNthCalledWith(4, [2, 4]);
  expect(spy).toBeCalledTimes(4);
});

Probably combine function not so good decision. Another way:
export const allReady = ready.from(() => {
  if (!frontReady.val) return;
  if (backReady.val || !sharedCardPage().card?.image_fullscreen_back) {} else return;
  return true;
});

or
export const allReady = ready.from(
  signal.from(() => {
    if (!frontReady.val) return;
    if (backReady.val || !sharedCardPage().card?.image_fullscreen_back) {} else return;
    return true;
  }).flow.filter(v => v)
);

Liked https://github.com/betula/realar/issues/70 (about stoppable/stop and flow breaking)

Task: The flow implementation: https://github.com/betula/reactive-box/issues/9

Flow on discussion.
The "combine" implemented as "value.combine" in 0.6.0


Pin memory thread exited unexpectedly

it is weird that when I run the command :python classification.py --config configs/cls_m40_hrnet.yaml SOLVER.alias time
Pin memory thread exited unexpectedly,
but when I change the  Lenet, everything is ok.

Sorry, I have not noticed this issue before.

Sorry, I have not noticed this issue before.

Thanks


fix: No active SSH connection found

Fixes #8

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


Add license

It's better to squash the commits.

@zengbing15 I suggest to use  merge with squash, check the commits,only need one instead of five. and there's dup

ok, I try to understand it.


Add D-M-test.zip to test models

@Rick-Methot-NOAA suggested adding the
D-M_test.zip to the test model files in ss3-source-code PR #542.
@Rick-Methot-NOAA can you tell me more about this model?

Simple model with generalized size comp data with D-M

This model is a derivative of simple.

two areas with identical fisheries and surveys in both areas
two seasons of unequal durations with all catch in season 1
adds fleet 7 as a depletion survey
adds generalized size comp data in same units as the length comp data (2 cm bins).  Data are identical to the length comp data, so logL should be the same.
adds D-M for fleets 1, 2, 3, 4 and all use the same shared parameter.
note that fleet 3 has no comp data so D-M is irrelevant; note that fleet 5 has comp data but does not have D-M so provides a comparison to fleet 2.


Better performance

Can you add better performance? Whenever I open PowerToys settings, it takes 4-5 seconds. And when I open PowerToys Run and type somthing, it lags sometimes. Please fix this.

Thank you for the note. But this issue is written down in many other issues. That's why I mark this as duplicate.


BufferAttribute

Made updates so to make the class have varying types of TypedArrays internally (not just Float32Arrays) using a "tagged union" technique.


Bugsnag Direct Log:error calls

Currently if we call Log::error it doesn't go to Bugsnag, would be great if we have an option to send all Log calls by default to Bugsnag too.
Could  be easily done with event illuminate.log on logs with error flag...
But i think if i do that unhandled exceptions would send it twice, i guess...

Unfortunately, it's not possible to rebind the Log facade without making a mess in Laravel, so you'll need to resolve the contract using the app() helper in order to log, then things should go to Bugsnag.

i don't think you need to rebind log facade... all log calls this event: https://github.com/laravel/framework/blob/5.4/src/Illuminate/Log/Writer.php#L201
So if you add something like should work:
Log::listen(function() {
    Bugsnag::notify()
})

The only trick part is that unhandled exception also add a record to log, so you would add twice to bugsnag... i think...

So if you add something like should work:

The trouble with this, is Laravel's logger already notifies Bugsnag, it's only the facade that can't be rebound. If you do app('Psr\Log\LoggerInterface')->error(...) it will work fine.

Alternatively, upgrading to Laravel 5.4+ will actually fix this bug.

Alternatively, upgrading to Laravel 5.4+ will actually fix this bug, since I've fixed this in the framework: https://github.com/laravel/framework/pull/15855.

Cool, another reason to upgrade my app then 👍 which i was already planning to do soon. Thx

You can create your custom Log facade in your app dir which use the 'Psr\Log\LoggerInterface', change the illuminate one to your new custom one in the aliases and bumm.

Your new custom facade:
<?php
namespace App\Facades;
/**
 * @see \Illuminate\Log\Writer
 */
class Log extends \Illuminate\Support\Facades\Facade
{
    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor()
    {
        return 'Psr\Log\LoggerInterface';
    }
}

register it in config/app.php
'aliases' => [
    'Log' => App\Facades\Log::class
];


[PE-D][Tester C] Noticeable lag when running list command

Your browser does not support the video tag.video:https://raw.githubusercontent.com/ghos7ie/ped/main/files/c1051e5a-8828-4bc4-8896-a1e02abb3691.mp4
Noticeable 3 second lag when running list command, clip starts when i pressed enter. Im sorry but onscreen keyboard can't be recorded so  i can't show

Labels: severity.Low type.FunctionalityBug
original: ghos7ie/ped#12

We can increase max allowance time in NFR. But tested with 500 and no lag. :(


Clean up of VS2015 warnings - Part 4

Changes from SageService Launcher and MiniClient Launcher applied to Launcher
Resolve Compile and Static Analysis warnings
Change to MS safe/secure functions
Reinstate field in GetMapStringValue in jni-util.cpp and jni-util.h
Tidy up indentation in WindowsServiceControl.cpp
Correct comments in MiniClientLauncher.cpp and ServiceControlLaunch.cpp

Sorry, real life has intervened and I no longer have time to work on this


Fix databricks notebook link

Please write a description in this text box of the changes that are being
made.

Fix link for Databricks notebook

Please ensure that you have written units tests for the changes made/features
added.

Tested locally with docker run --rm -it  --volume="$PWD:/srv/jekyll" -p 4000:4000 sameerz/jekyll:0.1 jekyll serve
Will need to push to gh-pages after this.

build


Somthing wrong in the path to ghostscript

AI2021
Here's the error msg
The path to the ghostscript executable
(gswin32c.exe, gswin64c.exe) seems to
be wrong. Please select the correct path
otherwise LaTeX2Al can not be used!

I've tried to set Environment Variables and reinstall GhostScript. But it's of no use.

Did you try to click OK and select the path manually? Also can you post the location of your GhostScript executables?

Did you try to click OK and select the path manually? Also can you post the location of your GhostScript executables?

thx, this method works(●'◡'●)


Refactor api

Refactor API so that it's more restful:
pattern:
rest/collectionName/{identifier}/actionName

Codecov Report
Patch coverage: 69.49% and project coverage change: -0.31 :warning:

Comparison is base (80f40bd) 35.84% compared to head (2d8a7f9) 35.54%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #121      +/-   ##
==========================================
- Coverage   35.84%   35.54%   -0.31%
==========================================
  Files           9        9
  Lines         636      633       -3
==========================================
- Hits          228      225       -3
  Misses        385      385
  Partials       23       23

Impacted Files
Coverage Δ

pkg/wallet/wallet.go
0.00% <0.00%> (ø)

internal/handler/wallet/export.go
47.05% <50.00%> (-1.52%)
:arrow_down:

internal/handler/wallet/import.go
50.00% <50.00%> (ø)

internal/handler/wallet/sign.go
55.55% <50.00%> (ø)

internal/handler/wallet/get.go
68.18% <78.57%> (-0.48%)
:arrow_down:

internal/handler/wallet/create.go
84.09% <88.88%> (-0.36%)
:arrow_down:

internal/handler/wallet/api.go
100.00% <100.00%> (ø)

internal/handler/wallet/delete.go
81.25% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


error in example

I've tried to use the example for permalink but have the following error in console:
"L.Control.Permalink is not a constructor  at permalink.html:27".
l.27 is "map.addControl(new L.Control.Permalink({text: 'Permalink', layers: layers}));"
the .js permalink are correctly referenced (no error finding them in console).
An idea why?
Thanks

I can run the example provided in the repo without any error, can't help you without a link to a fiddle showing the bug.


adds badges for new org

Coveralls is set up, I'm still waiting for Travis to detect the new Org. Once Travis is set up I'll merge in this PR.

Looks like travis picked it up :)
closes #40


App can't find the folder I set in the config

The app neither shows already existing clips nor saves new clips, error in DevTools:
asyncToGenerator.js:6 Uncaught (in promise) Error: Error invoking remote method 'getVideos': Error: ENOENT: no such file or directory, <scandir path to the game, censored>

Try selecting the directory that contains the “StreamingAssets” folder for now.  It just now occurred to me that it probably wasn’t the most logical directory to make you select.  Next version I will just have you select the base directory for it.  Give that a try and let me know if it works.

And thank you for reporting the bug =).


fix ssh connection failures

Ha. So that chomp command fixes ssh issue?

At least the issue I was seeing. A line feed was breaking the ssh command. It would ssh in, but not run the command that followed.

Nice, thanks a lot!


feat: login and register done

What does this PR do?
Implementing login and register on frontend.
Description of  the task to be completed?
I have done implementation of login and register on frontend part with user
How should this be manually tested?
Check out this repo and then run npm i after successful installation run npm run dev then go into browser at this URL {BASE_URL}/auth/login or {BASE}/auth/register for register.
Any background context you want to provide?
I have used react-query so someone implementing other request via frontend should understand it.
What are the relevant pivotal tracker stories?
Screenshots (if appropriate)

Remember to check UI/UX before pushing !!

Let me solve that

Or do npm install before you push


TypeError: load() missing 1 required positional argument: 'Loader'

I run with the command below, but your code makes error message like above.
python test_single.py --image examples/imagenet/imagenet_patches_ILSVRC2012_val_00008210_input.png --mask examples/center_mask_256.png --output examples/output.png
how can i fix that?

Could you post your error message or logs here?

i resolved with !pip install pyyaml==5.4.1
https://stackoverflow.com/questions/69564817/typeerror-load-missing-1-required-positional-argument-loader-in-google-col

Fixed by replacing return yaml.load(stream) with return yaml.load(stream, Loader=yaml.FullLoader) on line 476 of /utils/tools.py


[BUG] NoClassDefFoundError When initiating ClientSecretCredential

Describe the bug
NoClassDefFoundError when using attempting to use ClientSecretCredential from azure-identity
Exception or Stack Trace
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/TSFBuilder
at com.fasterxml.jackson.dataformat.xml.XmlMapper.(XmlMapper.java:122)
at com.azure.core.implementation.serializer.jackson.JacksonAdapter.(JacksonAdapter.java:75)
at com.azure.core.implementation.serializer.jackson.JacksonAdapter.createDefaultSerializerAdapter(JacksonAdapter.java:108)
at com.azure.identity.implementation.IdentityClient.(IdentityClient.java:60)
at com.azure.identity.implementation.IdentityClientBuilder.build(IdentityClientBuilder.java:50)
at com.azure.identity.ClientSecretCredential.(ClientSecretCredential.java:48)
at com.azure.identity.ClientSecretCredentialBuilder.build(ClientSecretCredentialBuilder.java:39)
To Reproduce
Use:

com.azure
azure-identity
1.0.0

in pom.xml and then init the credentials:
new ClientSecretCredentialBuilder()
.clientId(%CLIENT ID%)
.tenantId(azureConfig.getString(%TENANT ID%))
.clientSecret(azureConfig.getString(%CLIENT SECRET%))
.build();
Code Snippet
new ClientSecretCredentialBuilder()
.clientId(%CLIENT ID%)
.tenantId(azureConfig.getString(%TENANT ID%))
.clientSecret(azureConfig.getString(%CLIENT SECRET%))
.build();
Expected behavior
Authenticate with Azure using the client secret auth mode.
Screenshots
None
Setup (please complete the following information):

OS: Ubuntu
IDE : IntelliJ
Version of the Library used: 1.0.0

Additional context
None
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ v] Bug Description Added
[ v] Repro Steps Added
[ v] Setup information Added

@joshfree - can you route this?

@jclarkk
It seems like there's a mismatch of Jackson versions. We are using 2.10.0 version of Jackson and you may have another version in your classpath.
Would you be able to run mvn dependency:tree from your project directory and paste the output here? That will help us identify the conflicting dependencies and take appropriate actions. Thanks!

Solved.
Forced jackson to be version 2.10.0.
Thanks!


SwitchMultiPos not correctly accounting for PIN_NC and instead sends the PIN_NC value

In working with SwitchMultiPos we have a 8 position switch with pin 1 not connected.
when we switch between positions on the switch the not connected pin gets sent between each position (ie on a  non-shorting switch)
so for example,  say an 8 position switch and position 1 is not connected.
you start on position 2,
you move to position 3.
soon as position 2 disconnects position 1 (this PIN_NC pin) is sent so in DCS commands coming from the switch you see this
INS_SW 2
INS_SW 1
INS_SW 3
and if you continue sweeping the switch you get
INS_SW 1
INS_SW 4
INS_SW 1
INS_SW 5
INS_SW 1
INS_SW 6
INS_SW 1
INS_SW 7
INS_SW 1
INS_SW 8
INS_SW 1
INS_SW 7
and so on
from looking at the code for SwitchMultiPos
	class SwitchMultiPosT : PollingInput, public ResettableInput
	{
	private:
		const char* msg_;
		const byte* pins_;
		char numberOfPins_;
		char lastState_;
		bool reverse_;
		char readState() {
			unsigned char ncPinIdx = lastState_;
			for (unsigned char i=0; i<numberOfPins_; i++) {
				if( pins_[i] == PIN_NC)
					ncPinIdx = i;
				else
				{
					if (digitalRead(pins_[i]) == LOW && reverse_ == false) return i;
					else if (digitalRead(pins_[i]) == HIGH && reverse_ == true) return i;
				}
			}
			return ncPinIdx;
		}
		void resetState()
		{
			lastState_ = (lastState_==0)?-1:0;
		}
		void pollInput() {
			char state = readState();
			if (state != lastState_)
			{
				char buf[7];
				utoa(state, buf, 10);
				if (tryToSendDcsBiosMessage(msg_, buf))
					lastState_ = state;
			}
		}
	public:
		SwitchMultiPosT(const char* msg, const byte* pins, char numberOfPins, bool reverse = false) :
			PollingInput(pollIntervalMs),
			lastState_(0)
		{
			msg_ = msg;
			pins_ = pins;
			reverse_ = reverse;
			numberOfPins_ = numberOfPins;
			unsigned char i;
			for (i=0; i<numberOfPins; i++) {
				if( pins[i] != PIN_NC)
					pinMode(pins[i], INPUT_PULLUP);
			}
			lastState_ = readState();
		}

		void SetControl( const char* msg )
		{
			msg_ = msg;
		}

		void resetThisState()
		{
			this->resetState();
		}
	};
	typedef SwitchMultiPosT<> SwitchMultiPos;

in the public section you skip setting the pinMode for any PIN_NC which would seem to be correct.
then in the private section is where I beleive the issue to be
here is readState
		char readState() {
			unsigned char ncPinIdx = lastState_;
			for (unsigned char i=0; i<numberOfPins_; i++) {
				if( pins_[i] == PIN_NC)
					ncPinIdx = i;
				else
				{
					if (digitalRead(pins_[i]) == LOW && reverse_ == false) return i;
					else if (digitalRead(pins_[i]) == HIGH && reverse_ == true) return i;
				}
			}
			return ncPinIdx;
		}

you check if the pin is a PIN_NC and if so set ncPinIdx to the loop counter then return the the value of the loop count via return ncPinidx
now in Private pollInput()
		void pollInput() {
			char state = readState();
			if (state != lastState_)
			{
				char buf[7];
				utoa(state, buf, 10);
				if (tryToSendDcsBiosMessage(msg_, buf))
					lastState_ = state;
			}

you get the state which for the PIN_NC is going to be the ncPinidx value
since laststate was 2 and ncPinidx contatins 1 it will enter the if (state != lastState_) and then do the tryToSendDcsBiosMessage(msg_, buf) which we dont' want for a PIN_NC.  we need it to not send a DcsBiosMessage in that case
one way around this would be to set ncPinidx to PIN_NC
		char readState() {
			unsigned char ncPinIdx = lastState_;
			for (unsigned char i=0; i<numberOfPins_; i++) {
				if( pins_[i] == PIN_NC)
					ncPinIdx = PIN_NC;
				else
				{
					if (digitalRead(pins_[i]) == LOW && reverse_ == false) return i;
					else if (digitalRead(pins_[i]) == HIGH && reverse_ == true) return i;
				}
			}
			return ncPinIdx;
		}

then in
		void pollInput() {
			char state = readState();
			if (state != lastState_)
			{
				char buf[7];
				utoa(state, buf, 10);
				if (tryToSendDcsBiosMessage(msg_, buf))
					lastState_ = state;
			}

check for PIN_NC and skip if that value is used
		void pollInput() {
			char state = readState();
			if (state != lastState_ || state != ncPinidx)
			{
				char buf[7];
				utoa(state, buf, 10);
				if (tryToSendDcsBiosMessage(msg_, buf))
					lastState_ = state;
			}

this way when state is PIN_NC the if loop is not entered so no DCS bios message is sent

my logic may be off in
void pollInput() {
char state = readState();
if (state != lastState_ || state != ncPinidx)
{
char buf[7];
utoa(state, buf, 10);
if (tryToSendDcsBiosMessage(msg_, buf))
lastState_ = state;
}
the idea is that a non-connected pin should not result in a tryToSendDcsBiosMessage being sent
maybe this approach is better
		void pollInput() {
			char state = readState();
			if (state != PIN_NC) {  // do not send dcs a message if a non connected pin
				if (state != lastState_)
				{
					char buf[7];
					utoa(state, buf, 10);
					if (tryToSendDcsBiosMessage(msg_, buf))
						lastState_ = state;
				}
			 lastState_ = state;  // not sure this is needed
			}
		}

looking thru history, I see why this was implemented this way as a default position for a multipostion switch
but it's had a side effect that when a non-shorting switch is used you get messages sent during the time the switch is between 2 positions which is not desirable.


Issue hosting Map Tour on iPage

Reported on Forum https://geonet.esri.com/thread/159095
In developer console I get
Failed to load resource: the server responded with a status of 404 (Not Found)
for http://ddaintern4.com/baywalk_kangleton/resources/font/OpenSans-Regular-webfont.woff

This was not an issue in the app but rather a server configuration issue