Undocumented v4 change:  does not preserve query string

I’m in the process of migrating from 2.x to 4.x and loving it, but I came across a change in functionality that I don’t see documented anywhere: <Redirect> no longer preserves the query string.  Specifically:
// Given this:
<Redirect from='/foo' to='/bar' />

// pre-v4 behavior:
/foo?some=thing → /bar?some=thing

// v4 behavior:
/foo?some=thing → /bar

This is an issue for our codebase because we maintain a list of redirects on the client to account for legacy URL structures as our app evolves. In this case the redirects function more as 301s rather than a navigation event triggered by the user. (This list should probably be maintained on the server but let’s assume I (and probably others) don’t have that option 😅.)
I’m not advocating going back to the old logic or adding a prop to enable this behavior (though we could debate that if people wanted to I suppose), but it was a bit surprising that it isn’t mentioned anywhere in the migration docs.
Shall I open a PR to update those docs? Are there other places this should be documented?
FWIW, I plan on getting around this by rolling my own <Redirect> component, something like this:
const MyRedirect = withRouter((props) =>
  <Redirect {...props} to={props.to + props.location.search} />
)

(The above is just pseudocode to illustrate the approach, I know it’s not very robust 😉.)

I’ve had a chance to actually implement my component. Sharing it here in case it’s useful to anyone:
import _ from 'lodash'
import { Redirect as RRRedirect } from 'react-router-dom'
import { extract, stringify, parse } from 'query-string'

const mergeQueryStrings = (...args) => {
  const queryString = stringify(_.transform(args, (result, value) => {
    _.assign(result, _.isString(value) ? parse(value) : value)
  }, {}))
  return queryString ? '?' + queryString : ''
}

const Redirect = ({ preserveQueryString, ...props }) => {
  if (_.isUndefined(preserveQueryString)) {
    preserveQueryString = _.has(props, 'from')
  }
  if (!preserveQueryString || !location.search) {
    return <RRRedirect {...props} />
  }
  const { to, ...rest } = props
  const toSearch = _.isString(to) ? extract(to) : _.get(to, 'search', '')
  const search = mergeQueryStrings(location.search, toSearch)
  const nextLocation = _.isString(to)
    ? { pathname: to.split('?')[0], search }
    : { ...to, search }
  return <RRRedirect to={nextLocation} {...rest} />
}

Redirect.propTypes = {
  preserveQueryString: React.PropTypes.bool,
  // and RRRedirect propTypes, of course :)
}

export default Redirect

Example Usage:

Old Location
Redirect
New Location

/foo?a=b
<Redirect to='/bar'>
/bar

/foo?a=b
<Redirect to='/bar' preserveQueryString>
/bar?a=b

/foo?a=b
<Redirect to='/bar?c=d'>
/bar?c=d

/foo?a=b
<Redirect to='/bar?c=d' preserveQueryString>
/bar?a=b&c=d

/foo?a=b
<Redirect from='/foo' to='/bar'>
/bar?a=b

/foo?a=b
<Redirect from='/foo' to='/bar' preserveQueryString={false}>
/bar

/foo?a=b
<Redirect from='/foo' to='/bar?c=d'>
/bar?a=b&c=d

/foo?a=b
<Redirect from='/foo' to='/bar?c=d' preserveQueryString={false}>
/bar?c=d

@AuthorProxy it will be implemented in 4.3.0. See release notes here: https://github.com/ReactTraining/react-router/releases/tag/v4.3.0-rc.1


Package

I just discover your work, I come from Python.
Would be great if there were a package.
Bests regards,

Thanks for your interest!

Would be great if there were a package.

At the moment the module is unfinished and mostly at the prototype stage: I haven’t had time to implement a prefix syntax (#1), and doing so is nontrivial.
That said, this will (probably) never be published as a package, since I’m not a fan of the R package mechanism. Coming from Python, you might be able to empathise. Instead, I would publish this as a ‘box’ module. For all intents and purposes I consider ‘box’ modules as the modern replacement of R packages.

That said, this will (probably) never be published as a package, since I’m not a fan of the R package mechanism. Coming from Python, you might be able to empathise. Instead, I would publish this as a ‘box’ module. For all intents and purposes I consider ‘box’ modules as the modern replacement of R packages.

I saw your box project, it's very interesting.
I've not deeped into yet, but I definetely  would, if you show an example with decorator.
I let you close the issue. Thanks again.

I really need to clean up this repository. The runnable examples are currently not in the README but rather in the examples.rmd file.
But bear in mind that I’m working on changing the API. That is, instead of
echo = logged(stdout()) %@% twice %@% function (msg) {
    message(msg)
}

The aim of this module is to support writing
logged[stdout()] %@%
twice %@%
echo = function (msg) {
    message(msg)
}

I.e. to be closer to the placement in the corresponding Python syntax.
However, getting this to work is unfortunately quite tricky (and already contains concessions to R’s syntax — note the square brackets in logged[stdout()]; they’re necessary since having a function call in this syntactic position doesn’t work).

Just piling on here. I find this code extremely useful, as it is now. Would be great as a standalone package with no dependencies.
It's pretty syntactically pleasing...
library(decorator)

task <-
log %@%
time %@%
function(a, b, sleep=0.02) {
    for (i in seq(a, b)) {
        cat(i)
        cat("..")
        Sys.sleep(sleep)
    }
}


Merge first_name and last_name into single column

Closes #130.

@jwalton512 This looks fantastic. Really great work! If you wouldn't mind updating the down(), this is ready to merge.

@mattstauffer should be good to go now.

Let's GOOOOOOOOOO


Require Global Variable

Investigative information
Please provide the following:

Timestamp:2020-12-24T00:27:24.318Z
Function App name:
Function name(s) (as appropriate):
Invocation ID:96e59651-920e-44dc-b6af-c9aa2bd8c594
Region:US-East

Repro steps
Provide the steps required to reproduce the problem:

Here's my function.json
{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "route": "email",
      "methods": [
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]
}

My function looks like this (I modified it, so it's easier to read)
var inversify = require('inversify');
const EmailService = require('../services/EmailService');

module.exports = async (req, context) => {
  inversify.decorate(inversify.injectable(), EmailService);
  const container = new inversify.Container();
  container.bind('emailService').to(EmailService).inSingletonScope();

  context.res = {
    status: 200,
    body: 'body'
  };
  context.done();
};

When I run this function locally everything works well the first time I call POST /email, but when I call POST /email again it always fails with an inversify error that lets me know that I can't call decorate multiple times.
The error happens on inversify.decorate(inversify.injectable(), EmailService); because var inversify = require('inversify'); is only called once after starting the function, but inversify.decorate(inversify.injectable(), EmailService); gets called each time I call POST /email.
How can I prevent this from happening? context.done() doesn't help. I also tried moving var inversify = require('inversify'); inside the module.exports function.
Expected behavior
Provide a description of the expected behavior.
var inversify = require('inversify'); should be called each time after context.done(); or adding var inversify = require('inversify'); in the module.exports function should prevent the function from remembering the first initialization of inversify.

Actual behavior
Provide a description of the actual behavior observed.
var inversify = require('inversify'); only gets called once, and inversify.decorate(inversify.injectable(), EmailService); gets called each time I run the function which causes an error

Known workarounds
Provide a description of any known workarounds.
I'm able to fix the issue by calling inversify.decorate outside module.exports. I don't like that solution since even though it seems to work locally, I'm not sure if it will once in production when many users call POST /email at the same time.
var inversify = require('inversify');
const EmailService = require('../services/EmailService');

inversify.decorate(inversify.injectable(), EmailService);

module.exports = async (req, context) => {
  const container = new inversify.Container();
  container.bind('emailService').to(EmailService).inSingletonScope();

  context.res = {
    status: 200,
    body: 'body'
  };
  context.done();
};

Related information
Provide any related information

Programming language used
Links to source
Bindings used

@nsd-david Yes what you have there should work. At startup, the Node worker requires/imports each function module and the initialization code outside the function body runs once and this is cached by Node. I don't believe the worker does anything to the require cache that can cause things to be reimported, but @mhoeger can confirm.
As you've noticed, the exported function itself will be run on every invocation. I don't know enough about inversify but it feels like these lines should be outside the function as well so they are only called once:
const container = new inversify.Container();
container.bind('emailService').to(EmailService).inSingletonScope();

What you also have to be careful about is if you have more than one function in your app and you need to set up inversify in multiple functions. I would recommend that you put all the code that need to run once at startup into its own module and require it from all functions files that need it, so that that code is in one place and executed once. I also think the container setup code should be in there as well, and the module should export the container. Each place that you need a service from inversify, you probably should use the exported container.
Another small thing to point out is that you don't need to call context.done() if your function is async (returns a promise). context.done() is required for functions that aren't async, and can cause issues in async functions.

@nsd-david Yes what you have there should work. At startup, the Node worker requires/imports each function module and the initialization code outside the function body runs once and this is cached by Node. I don't believe the worker does anything to the require cache that can cause things to be reimported, but @mhoeger can confirm.
As you've noticed, the exported function itself will be run on every invocation. I don't know enough about inversify but it feels like these lines should be outside the function as well so they are only called once:
const container = new inversify.Container();
container.bind('emailService').to(EmailService).inSingletonScope();

What you also have to be careful about is if you have more than one function in your app and you need to set up inversify in multiple functions. I would recommend that you put all the code that need to run once at startup into its own module and require it from all functions files that need it, so that that code is in one place and executed once. I also think the container setup code should be in there as well, and the module should export the container. Each place that you need a service from inversify, you probably should use the exported container.
Another small thing to point out is that you don't need to call context.done() if your function is async (returns a promise). context.done() is required for functions that aren't async, and can cause issues in async functions.

@anthonychu I'll remove context.done() from my async functions. The reason I can't move
const container = new inversify.Container();
container.bind('emailService').to(EmailService).inSingletonScope();

outside is because I need req in some cases
for example
const container = new inversify.Container();
container.bind('emailService').toDynamic(new EmailService(req.query.param)).inSingletonScope();

In order to re-use inversify in all my functions I created a wrapper function
startup contains the inversify code, and I just re-use it in all functions
const startup = (func) => {
   // inversify code
   return func;
}

function 1
const startup = require('../startup');
module.exports = startup(async (req, context) => {
  // function code
})

function 2
const startup = require('../startup');
module.exports = startup(async (req, context) => {
  // function code
})

Do you see any issues with doing that?

@anthonychu I'll remove context.done() from my async functions. The reason I can't move
const container = new inversify.Container();
container.bind('emailService').to(EmailService).inSingletonScope();

outside is because I need req in some cases
for example
const container = new inversify.Container();
container.bind('emailService').toDynamic(new EmailService(req.query.param)).inSingletonScope();

In order to re-use inversify in all my functions I created a wrapper function
startup contains the inversify code, and I just re-use it in all functions
const startup = (func) => {
   // inversify code
   return func;
}

function 1
const startup = require('../startup');
module.exports = startup(async (req, context) => {
  // function code
})

function 2
const startup = require('../startup');
module.exports = startup(async (req, context) => {
  // function code
})

Do you see any issues with doing that?

+1 to what @anthonychu has said!
I think rather than doing the above, you're going to want to just setup the "inversify" object once.
Example (sorry for not great names):
inversifyInstance.js
const inversify = require('inversify');
const EmailService = require('../services/EmailService');
inversify.decorate(inversify.injectable(), EmailService);

module.exports = inversify;

Any index.js
const inversifyInstance = require('./inversifyInstance');
module.exports = async (req, context) => {
  const container = new inversifyInstance.Container();
  container.bind('emailService').to(EmailService).inSingletonScope();

  context.res = {
    status: 200,
    body: 'body'
  };
};

+1 to what @anthonychu has said!
I think rather than doing the above, you're going to want to just setup the "inversify" object once.
Example (sorry for not great names):
inversifyInstance.js
const inversify = require('inversify');
const EmailService = require('../services/EmailService');
inversify.decorate(inversify.injectable(), EmailService);

module.exports = inversify;

Any index.js
const inversifyInstance = require('./inversifyInstance');
module.exports = async (req, context) => {
  const container = new inversifyInstance.Container();
  container.bind('emailService').to(EmailService).inSingletonScope();

  context.res = {
    status: 200,
    body: 'body'
  };
};

@mhoeger @anthonychu thank you for helping me with this. You're both going way above and beyond what I was expecting for help.
The reason I can't just create inversifyInstance.js is because my inversify instance depends on variables from req.
What I'm doing right now, and it seems to be working locally (I haven't tested remote yet)
Any index.js
const startup = require('../startup');

// I add as many services as I need here
const main = async (emailService, ...) => {
  const container = new inversifyInstance.Container();
  container.bind('emailService').to(EmailService).inSingletonScope();

  context.res = {
    status: 200,
    body: 'body'
  };
};

module.exports = startup(main);

startup.js
const inversify = require('inversify');
const EmailService = require('../services/EmailService');

const startup = (mainFunc) => {
  return async (context, req) => {
    const container = new inversify.Container();
    container.bind('emailService').toDynamicValue(() => new EmailService(req.query.paramSentInRequest)).inSingletonScope();

    // get a list of function parameters (emailService in this example)
    const funcParams = getFuncParams(mainFunc);

    // loop through all function parameters and call container.get for each one, so now requestedServices has an instance of EmailService
    const requestedServices = createRequestedServices(container, funcParams);

     // inject all created instances into original function
    await mainFunc(...requestedServices);
  }
}

@mhoeger @anthonychu thank you for helping me with this. You're both going way above and beyond what I was expecting for help.
The reason I can't just create inversifyInstance.js is because my inversify instance depends on variables from req.
What I'm doing right now, and it seems to be working locally (I haven't tested remote yet)
Any index.js
const startup = require('../startup');

// I add as many services as I need here
const main = async (emailService, ...) => {
  const container = new inversifyInstance.Container();
  container.bind('emailService').to(EmailService).inSingletonScope();

  context.res = {
    status: 200,
    body: 'body'
  };
};

module.exports = startup(main);

startup.js
const inversify = require('inversify');
const EmailService = require('../services/EmailService');

const startup = (mainFunc) => {
  return async (context, req) => {
    const container = new inversify.Container();
    container.bind('emailService').toDynamicValue(() => new EmailService(req.query.paramSentInRequest)).inSingletonScope();

    // get a list of function parameters (emailService in this example)
    const funcParams = getFuncParams(mainFunc);

    // loop through all function parameters and call container.get for each one, so now requestedServices has an instance of EmailService
    const requestedServices = createRequestedServices(container, funcParams);

     // inject all created instances into original function
    await mainFunc(...requestedServices);
  }
}

@nsd-david - I believe that will work! If it all works as expected locally, then there shouldn't be any difference when deployed (each Functions instance is its own Node.js process, where each Functions instance can can process multiple Function invocations in parallel)

@mhoeger okay that makes sense. I feel better about pushing these changes to our remote functions. Thanks again for your help.

@mhoeger okay that makes sense. I feel better about pushing these changes to our remote functions. Thanks again for your help.


Second row of tabs [request]

Rarely do I need to immediately know the full path of a tab's file, as I can hover:

What I do need plenty of, is tab space. It's not simply two clicks away, it's two clicks and skimming a dropdown away. Not a huge deal, but I'd appreciate it as a QoL addition.

even dropping the .py from the filename would possibly squeak in a tab or two

@Dan-Patterson Agreed, not like I use Spyder for anything other than .py anyway

@OverLordGoldDragon, have you tried using the outline explorer to navigate across all the files?

@andfoy If you refer to below, sure, but it's fairly less convenient than seeing all tabs at once. I'm not necessarily aware of their order so need to skim the entire list - not horrible, but can be better. (also cluttered with full filepaths)

I was referring to the outline explorer pane, (leftmost panel on the image). You can find it under View → Panes → Outline Explorer, there you can select the option Show all files to get a list of all the files opened

@isabela-pf @ccordoba12, we might need to consider this issue for the upcoming UX improvements

That's effectively a permanent dropdown, which is fine for those who already dedicated the window, but to me it's an extra window, which is overkill.

This has been requested several times, but I'm still unsure if we should do something about it. We'll discuss it with the team and come back to you.

@ccordoba12 If this is troublesome I'd settle for dropping the .py; after some getting used to, the existing dropdown option has become acceptable. What'd also save lots space is an option to drop the "x" (can still Ctrl + W or right-click), or only show it when hovering over the tab:

Significant shortening.

@ccordoba12 If this is troublesome I'd settle for dropping the .py

Not all files end in .py.

after some getting used to, the existing dropdown option has become acceptable

Yeah, I think your proposal is a good idea and we'll try to implement it in the future. However, it's not so easy as it sounds.

Not all files end in .py.

Right but I imagine most of us work almost exclusively with .py, so every other extension could be kept - and worst case, .py can be kept via Preferences. I understand if making it optional is somehow difficult - just noting.

Fully used to Ctrl + P at this point, others are free to reopen if they wish.


【Seeking Help】 When modify annotations templation to delete extra space, Zotlit cannot create or update any notes

When I change the annotation templation like
[!note] Page <%= it.pageLabel %>
<%= it.imgEmbed %><%= it.text**.replace(/\s*/g,"")** %>
Zotlit cannot work!
Anyway, Zotlit is a very excited add-on, I really really appreciate it!
Thanks!

You should get rid of * within <%= ... %> tag
[!note] Page <%= it.pageLabel %>
<%= it.imgEmbed %><%= it.text.replace(/\s*/g,"") %>


ORION-2683: remove whitelisted file extensions to support blob properties..

Description
To support blob properties fsoc should allow any file extensions.
Type of Change

[x] New Feature

Checklist

[x] I have read the contributing guidelines
[x] Existing issues have been referenced (where applicable)
[x] I have verified this change is not present in other open pull requests
[x] Functionality is documented
[x] All code style checks pass
[x] New code contribution is covered by automated tests
[x] All new and existing tests pass

LGTM!


Unclosed "{" in circuit.cc

My generated circuit.cc has unclosed "{" so that at some point of compilation I get
a function-definition is not allowed here before '{' token

Maybe it is due to replace.sh file? How can I debug that?

 However, this is too aggressive, it does not work for my case.
Can we modify the sed command like this?
sed -e '/delete \[\] [^;]*;/d'

This new pattern matches lines that contain delete [] followed by any number of characters that are not a semicolon (indicating the end of the statement) and then a semicolon, thus ensuring that only the line with the delete statement is removed.

this one is correct
-e '/delete \[\][^;]*;/d'


Pull the stateful services images while installing admiral in case of dev mode.

https://github.com/Shippable/pm/issues/10352

this is done, closing


Feature: Match Repository Insight Edit Page to Workspace UI

Type of feature
🍕 Feature
Current behavior
This PR https://github.com/open-sauced/app/pull/2949 updated the creation flow for Insights, but missed the edit flow.

Suggested solution
Match the Workspace experience.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

Probably worth updating the Contributor Insights edit page as well.


Request for data

I came across your paper titled, "Copula-based transferable models for synthetic population generation" and this accompanying repository, which is relevant to my PhD dissertation topic. I am studying the methods and trying to replicate the results presented in the referenced paper, and I would be happy if you could make the data available. Thank you!

Hi William,
Thanks for your interest in our project. Attached is the data used for the experiments.
Best,
Pascal
data.zip

Hello Pascal,
Thank you so much for sharing the data with me. I really appreciate it.
Thanks again,
William


Failed to restart Home Assistant

"The system cannot restart because the configuration is not valid: Platform error sensor.paxcalima - Integration 'paxcalima' not found."
Any thoughts on how i can fix this? calima commands are working, but HA isn't finding the custom component..
My custom components folder has theese files:
drwxr-xr-x 2 kim root 4096 jan.  25 10:43 .
drwx------ 7 kim root 4096 jan.  25 10:05 ..
-rw-r--r-- 1 kim root    1 jan.  25 10:06 init.py
-rw-r--r-- 1 kim root  149 jan.  25 10:43 manifest.json
-rw-r--r-- 1 kim root 8654 jan.  25 10:05 sensor.py

You did not say what version of HA you are using, but HA's python is updated to 3.10 in v. 2022.7. I'm still using v.2022.6.7 and not updating until necessary. The bluetooth interface also changes because the one I used does not work in python 3.10.
You should try the new version of integration in https://github.com/eriknn/ha-pax_ble


Did your model predicts the task’s objective directly, without any post-processing steps?

@jananithangavel No, there are some post-processing steps in our models.


Should I add on wiki that bats is available via brew for OSX ?

Hi !
I needed bats on OSX, and I just found it on brew.
Installed and worked like a charm.
Should I add it on the wiki on https://github.com/sstephenson/bats/wiki/Install-Bats-Using-a-Package ?
Thanks in advance, great work guys

Hi, @neonsoftware! That would be great!

Done. Have a great week-end @ztombol

Cool! You too have a great weekend!


Tasks Checklist not visible

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
When creating a new Task, you should be able to click on the right sidebar on "Task list", which shows you all created tasks.
Current behaviour
No button for showing the tasks list.
Steps to reproduce

Install tasks
Add a page in the vault -> create a task

I also tried setting a #tasks global task filter.

Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[ ] macOS
[X] Windows

Obsidian Version
1.5.12
Tasks Plugin Version
7.4.0
Checks

[X] I have tried it with all other plugins disabled and the error still occurs

Possible solution
No response

Please point me to wherever suggested to you that such a feature existed in Tasks? There is no such feature.

Damn... a friend told me last week.. found out after reading your comment and calling him it's another extension.
I am sorry for the unnecessary inconvenience...

Thanks for the update.


Fix for GPMONGODB-124 and GPMONGODB-131

The solution isn't very elegant, in fact it queries the database when inserting a new object with an assigned ID, which is definitely not the best way to do it.  However, I know of no other way and the rest of it works so that an assigned ID may be used with mongo, and possibly other data sources.
Fixes for GPMONGODB-124 were also included, reverted, then re-included and finally fixed.  The solution isn't terribly elegant, but the main idea was toString() had to be changed to name() since this is present on all enums.  This is also fixed for collections of enums.

Just a note - I incorrectly believed that hasMany enum collections were set correctly when retrieving the data, but they are still strings coming back out.  That will work for our purposes, but it is something that needs to be mentioned, an incomplete fix.  At least they are now persisted which is more than was done before.

It seems there is some changes related to assigned identifiers in the pull request. These seem incorrect/incomplete. Could you please remove these from the pull request?

Not a git master obviously, but I just reverted the commit to do with assigned IDs.  Will change the title of the pull request to reflect that this doesn't contain the fix for GPMONGODB-131.  What do you suggest doing with the assigned IDs?  It does work, but it's not the best solution I know.


Full-fledged JS Query Builder

In this PR a proper QueryBuilder akin the one in spine-client is implemented in spine-client-js.
Along with it were implemented:

an AnyPacker;
a new Type class mapping type URLs to JS message classes;
TypedMessage static factories for primitive wrappers;
all thrown strings were replaced with errors.

@armiol PTAL.


Upgrade elasticsearch and remove logstash

Why remove logstash?
It's not very useful right now since I disabled full logging (requests), but I'm planning to add logging for requests in a nice JSON format.

As we do not heavily process log in logstash we could use directly https://github.com/internetitem/logback-elasticsearch-appender


otp_net.c: use EAI_OVERFLOW when it is defined

Closes: https://github.com/atomvm/AtomVM/issues/1254
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

We probably should use cmake macro check_symbol_exists instead of C #ifdef which doesn't catch enums.
In src/platforms/generic_unix/lib/CMakeLists.txt, we check for EAI_BADHINTS only. Is EAI_OVERFLOW the only undefined symbol on your platform? Could you please confirm the darwin version you are using?

We probably should use cmake macro check_symbol_exists instead of C #ifdef which doesn't catch enums.
In src/platforms/generic_unix/lib/CMakeLists.txt, we check for EAI_BADHINTS only. Is EAI_OVERFLOW the only undefined symbol on your platform? Could you please confirm the darwin version you are using?

@pguyot I actually found this old issue now: https://github.com/OpenSMTPD/OpenSMTPD/issues/1246
Specifically, see: https://github.com/OpenSMTPD/OpenSMTPD/issues/1246#issuecomment-1980085841
There the solution was https://github.com/OpenSMTPD/OpenSMTPD/commit/276e064723bfdc81548950b752595183ea610800 instead?
P. S. My original fix was borrowed from https://github.com/mojca/luasocket/commit/4189bd5c8ca34b02131fc35c432659453340c3ff

@pguyot And yes, that was the only problematic define for me. I am on 10.6 ppc, which is somewhat in between 10.5.8 and 10.6.8 in terms of SDK features.

@pguyot I have updated the patch here.

Sorry for the late review, if you don't mind it would be great having this in release-0.6 branch, so we can include it with next v0.6.6 release.


Action Bar - Experimental component

Create a new experimental component called ActionBar which is a horizontal list of icon buttons to be used in the Comment Editor.
Here's a demo of the storybook complete with overflow behaviour
https://github.com/primer/react/assets/417268/7670f321-0df9-4925-ba47-ddc25788bf2a
Closes #https://github.com/github/primer/issues/3020
Changelog

New
In this PR

Add an experimental component ActionBar identical to functionality of its rails counterpart.
Add overflow behaviour with resize observer
Add size attribute
Add divider and icon component
Add documentation
Add storybook with 3 stories.

Rollout strategy

[ ] Patch release
[ ] Minor release
[ ] Major release; if selected, include a written rollout or migration plan
[x] None; if selected, include a brief description as to why

This PR does not need a changeset since it only introduces a draft or experimental component.
Testing & Reviewing
Please test using the storybook deployment
Merge checklist

[ ] Added/updated tests
[x] Added/updated documentation
[x] Added/updated previews (Storybook)
[ ] Changes are SSR compatible
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[ ] Tested in Edge
[ ] (GitHub staff only) Integration tests pass at github/github (Learn more about how to run integration tests)

How are you assessing for accessibility for this component?

@JoseInTheArena - My first tests will be to use VoiceOver and makes sure the announcements are coherent. Along with that I also test keyboard accessibility and support for 200% zoom. After this I will ask accessibility team for help with further review by applying to attend office hours.


[WB-4107]: dont store secret info

Link to Jira ticket:
https://wandb.atlassian.net/browse/WB-4107

@raubitsj mentioned that he thought it should be a setting. I can remove that aspect of it.

@raubitsj mentioned that he thought it should be a setting. I can remove that aspect of it.

I don't think this should be a setting. We just should just never store auth information, it's a major security issue. Potentially one day we let people specify auth when running git restore but we should absolutely never store a users secrets if we can avoid it.

I think it should be a setting because we dont know what is a secret.

The default should be to strip url passwords from git URLs.

I dont think hide is the right term either,  hide implies we are actually tracking it but we arent showing it.   Maybe:
wandb.Settings(git_strip_password=False)
where the default is True.

code is overaggressively mangling the url, it should just mess with the password field

So:
https://user:pass@host.xz:1234/path/to/repo.git/
Should turn into:
https://user@host.xz:1234/path/to/repo.git/
Currently this PR would turn that url into:
https://host.xz/path/to/repo.git/
And in this case:
git clone<EMAIL_ADDRESS>would by default turn into:
git clone<EMAIL_ADDRESS>

I don't think this should be a setting. We just should just never store auth information, it's a major security issue. Potentially one day we let people specify auth when running git restore but we should absolutely never store a users secrets if we can avoid it.

I think it should be a setting because we dont know what is a secret.

The default should be to strip url passwords from git URLs.

I dont think hide is the right term either,  hide implies we are actually tracking it but we arent showing it.   Maybe:
wandb.Settings(git_strip_password=False)
where the default is True.

code is overaggressively mangling the url, it should just mess with the password field

So:
https://user:pass@host.xz:1234/path/to/repo.git/
Should turn into:
https://user@host.xz:1234/path/to/repo.git/
Currently this PR would turn that url into:
https://host.xz/path/to/repo.git/
And in this case:
git clone<EMAIL_ADDRESS>would by default turn into:
git clone<EMAIL_ADDRESS>

@raubitsj we should sync.  It's my thought that we should never store customer secrets.  If a user needs a git secret they need to manage it themselves and we could allow users to pass credentials to wandb restore or otherwise configure an agent with secrets.  Ever storing secrets in our config store seems like a bad idea.

@raubitsj we should sync.  It's my thought that we should never store customer secrets.  If a user needs a git secret they need to manage it themselves and we could allow users to pass credentials to wandb restore or otherwise configure an agent with secrets.  Ever storing secrets in our config store seems like a bad idea.


SAM_GMAC appears to drop packets larger than ~500 bytes

Describe the bug
When using the atmel,sam-gmac driver, the driver appears to silently discard packets larger than about ~500 bytes
To Reproduce
# build the echo server example
west build -b atsame54_xpro -s samples/net/sockets/echo_server -p
# connect to shell
picocom -b 115200 /dev/ttyACMX
# in another terminal send some bytes
# 20 bytes (OK)
head -c 20 /dev/zero | sed 's/\x00/a/g` | nc x.x.x.x 4242
aaaaaaaaaaaaaaaaaaaa
# 500 bytes (FAIL)
head -c 500 /dev/zero | sed 's/\x00/a/g` | nc x.x.x.x 4242

Expected behavior
I would expect the Zephyr OS to receive 500 bytes just as well as 20 bytes. And if I exceed some kind of byte limit then I would expect a log to acknowledge the dropped packet, (and perhaps a comment explaining why)
Impact
In order to use the network on this hardware we have to keep our bytes under 500 length which is not really usable outside of small prototypes. ("show stopper")
Logs and console output
I've attached logs with ETHERNET_LOG_LEVEL_DBG=y. Happy to provide more
Environment (please complete the following information):

OS: Linux
Zephyr 3.2 and Zephyr 3.3
4538-g8da815f94a2a

Additional context
We first investigated this in the Zephyr network layer over discord chat but the consensus there was that there was either a network issue on our local testing network filtering the packet, or the driver is not forwarding the packets up the stack. We rule out the local area network by testing the echo server on the native system and it works ok.  For reference, here is link to discord chat: https://discord.com/channels/720317445772017664/733037635194585148/1067800347684376618
I've tried adjusting the following parameters to no sucess:
CONFIG_NET_RX_DEFAULT_PRIORITY=7
CONFIG_ETH_SAM_GMAC_BUF_RX_COUNT=32
CONFIG_NET_PKT_RX_COUNT=64
(happy to assist with other suggestions and or patches)
Additionally - we experience this packet drop in a real world application we are developing, but selected the echo server as a convenient demonstration for the issue because of it's familiarity with zephyr users and it's smaller surface area for potential application bugs being the issue.
And the attached logs (demonstrating 20 byts (OK) and silence when 500 bytes are received)
gmac.txt

I started looking into this last week. Adding GMAC_DCFGR_RXBMS(3) to GMAC_DCFGR fixes the issue for 500 bytes, but it still doesn't work for 1200 bytes. GMAC_DCFGR_RXBMS(3) combined with CONFIG_NET_BUF_DATA_SIZE=256 effectively removes the cap.

@delbel thanks for looking into this.
So it looks like the default is 4KB / 8 which is 512. So when accounting for packet headers adds up to why my packets were dropped.
Out of curiosity, what is expected when an Ethernet driver has no place to put the incoming bytes?  Can the driver not signal to kernel too block or is there a queue mechanism?  For example, if I were to transfer 4KB payloads instead of 512, i expect the same phenamena to happen and that large payloads will still be dropped. Perhaps when this happens we can also add a LOG_WRN message to others who run into packet size limitation?
Anyway, 4KB packets are usable for us and is no longer a blocking issue for our team, so we are happy for the fix!

@TomzBench When I increase CONFIG_ETH_SAM_GMAC_BUF_RX_COUNT from 12 to 13 after my RXBMS patch, incoming data is no longer dropped silently. For example head -c 65535 /dev/zero | sed 's/\x00/a/g' | nc x.x.x.x 4242 results in the following output on my atsame54_xpro:
[00:00:15.062,000] <inf> net_echo_server_sample: TCP (IPv4): Accepted connection
[00:00:15.063,000] <inf> net_echo_server_sample: Waiting for TCP connection on port 4242 (IPv4)...
--- 8 messages dropped ---
[00:00:15.068,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
--- 23 messages dropped ---
[00:00:15.068,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.069,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.071,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.071,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 180 bytes
[00:00:15.072,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.073,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.074,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.075,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.076,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.076,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.078,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.086,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.109,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.110,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.110,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.111,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.112,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.113,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.114,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.115,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.115,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.117,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.118,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.118,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.120,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.121,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.121,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.123,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.124,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.124,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.126,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.127,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.127,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 360 bytes
[00:00:15.128,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.129,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 1280 bytes
[00:00:15.130,000] <dbg> net_echo_server_sample: handle_data: TCP (IPv4): Received and replied with 195 bytes
[00:01:04.839,000] <inf> net_echo_server_sample: IPv4 TCP: Received 1 KiB/sec
[00:02:05.038,000] <inf> net_echo_server_sample: TCP (IPv4): Connection closed

It seems as though CONFIG_ETH_SAM_GMAC_BUF_RX_COUNT=12 should work with CONFIG_NET_BUF_DATA_SIZE=128 because 12 * 128 = 1536 is the max frame size, so I'm not sure why it looks like the last buffer is being ignored. Frames larger than 11 * 128 = 1408 are silently dropped, which makes me think either the GMAC DMA is not copying the last buffer or the driver is not reading the last buffer.

@delbel thanks for digging deeper, good catch.
It looks like the code that checks for enough buffer space is adding a +1 during the assertion check

But when assignment happens (which allocates for the rx queue's) does not add the same +1

So perhaps the +1 should be added to the MAIN_QUEUE_RX_DESC_COUNT to match the assertion expectation?  Perhaps this could be patches in a separate PR since your PR was merged already

@TomzBench I had the same thought about adding a +1 to MAIN_QUEUE_RX_DESC_COUNT. I've already confirmed this works and will open a new PR.


Data Visualization: UW Alert Map heat map visualization

Goal: Visualize the most prominent/dangerous parts of Udistrict on a map

Use a heatmap and size of markers to represent more incidents

A basic heatmap is currently implemented into the get_folium_map function. I will update the code accordingly when we determine an urgency mechanic. I think it is unlikely for two alerts to be in the same location, UW edits alerts with updates instead of sending out another alert.


It is recommended to exclude the SecretKeyPrefix

When connecting to a proxy server that is not an openai official server, a problem occurs because the key form is different.

I think I need more information on what you're trying to describe the problem is.
Also, check and see how the proxy in this project works. Maybe you should just use the proxy I provide for you.


Open source?

Is the the team willing to open source this repo? I think there are many people with ideas on how this can be improved and the rate of progress can be significantly improved

Is the the team willing to open source this repo? I think there are many people with ideas on how this can be improved and the rate of progress can be significantly improved

I bet they use operational transformations. In fact, they promised to open the code a long time ago. It seems very strange that they haven't done this yet.


Add a .editorconfig

Only thing perhaps controversial here is 4 spaces for an indent, as much of this code uses 2 spaces (👋  at @DavidM-D). But as a project it's good to pick one level of indent to aim at.

I would add a warning for windows users due to the LF option: they should disable auto.clrf in git,  take care of not copy external files with CR/LF and change its editor configuration to take .editorconfig if it is supported (or change it manually if not)
I think i had to install a vscode extension to make it honour .editorconfig and for other editors a plugin is defintely needed (following editorconfig.org)

Where would we put the warning so Windows users would see it? In my view, the auto.clrf thing should never be turned on by any Windows users - it's like the auto crlf thing in tar and WinZip - a constant source of pain for the benefit of those users who want to edit text files in a version of Notepad on Windows ME. </rant>

Well, i think that, by default, almost all windows editors use cr/lf for new files, although they don't change them if you uses an existing one, right?
So you have to ensure your editor uses by default lf (convince it to use .editorconfig or change its configuration globally). In my experience users does not change the default, by default :wink: so a warning could be useful.
Otoh if you move a file from other location with cr/lf without editing it you'll leak it in the repo too.
I agree with you on git auto.crlf but the fact is git for windows suggest you enable it and quite users will have it (myself!) so add a note in the contributing section could help too.

Added in https://github.com/digital-asset/ghcide/pull/463.


[Swift 2.2.1] SR-2015: [ClangImporter] Correctly set up inherited protocol conformances

What's in this pull request?
Backport #1820 to Swift 2.2, resolving a crash involving imported Objective-C protocols that inherit from other protocols.
Resolves SR-1015 "Swift 2.2/Xcode 7.3 Segmentation fault in release build" and rdar://problem/24547884.

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci Please test


Feat: parse isLive in CompactVideo

Feat: parse isLive in CompactVideo
Description
This looks for a badge to determine if a CompactVideo is live
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes
[x] I have checked my code and corrected any misspellings

Using this video https://youtu.be/jfKfPfyJRdk I find that you can consistently find live and non live videos in the watch_next_feed


Spelling and Link fixes

Category

[x] Content fix
[ ] New article

Contents of the Pull Request
Corrected some minor spelling mistakes. Did some renamings (Flow/PowerAutomate). Also fixed some broken links

Docs Build status updates of commit d7a038e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/all-about-groups.md
:bulb:Suggestion
View
Details

Community/basic-security-set-up-for-microsoft-365.md
:bulb:Suggestion
View
Details

Community/defining-a-power-platform-environment-strategy.md
:bulb:Suggestion
View
Details

Community/glossary.md
:bulb:Suggestion
View
Details

Community/how-to-share-org-wide-communications-in-microsoft-365.md
:bulb:Suggestion
View
Details

Community/information-architecture-managed-metadata-vs-lookup-column.md
:bulb:Suggestion
View
Details

Community/microsoft365-maturity-model--how-to-elevate-collaboration.md
:bulb:Suggestion
View
Details

Community/microsoft365-maturity-model--how-to-elevate-communication.md
:bulb:Suggestion
View
Details

Community/should-everyone-create-teams.md
:bulb:Suggestion
View
Details

Community/why-sharepoint-training-is-important.md
:bulb:Suggestion
View
Details

Community/working-with-cascading-lists-in-sharepoint-and-powerapps.md
:bulb:Suggestion
View
Details

Community/auto-apply-retention-labels-in-office-365-using-content-types-and-metadata.md
:white_check_mark:Succeeded
View

Community/all-about-groups.md

Line 27, Column 259: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/hybrid/whatis-azure-ad-connect' will be broken in isolated environments. Replace with a relative link.
Line 27, Column 406: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/groups-create-rule' will be broken in isolated environments. Replace with a relative link.
Line 33, Column 110: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/directory-assign-admin-roles' will be broken in isolated environments. Replace with a relative link.
Line 37, Column 143: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-groups-create-azure-portal' will be broken in isolated environments. Replace with a relative link.
Line 39, Column 73: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/groups-settings-v2-cmdlets' will be broken in isolated environments. Replace with a relative link.
Line 43, Column 81: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/licensing-groups-assign' will be broken in isolated environments. Replace with a relative link.
Line 49, Column 1: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/create-groups/office-365-groups' will be broken in isolated environments. Replace with a relative link.
Line 55, Column 164: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/solutions/manage-creation-of-groups' will be broken in isolated environments. Replace with a relative link.
Line 83, Column 156: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/features/groupify/groupify-overview' will be broken in isolated environments. Replace with a relative link.

Community/basic-security-set-up-for-microsoft-365.md

Line 51, Column 243: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/fundamentals/concept-fundamentals-security-defaults#enabling-security-defaults' will be broken in isolated environments. Replace with a relative link.
Line 83, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-admin-mfa#create-a-conditional-access-policy' will be broken in isolated environments. Replace with a relative link.
Line 84, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-all-users-mfa#create-a-conditional-access-policy' will be broken in isolated environments. Replace with a relative link.
Line 96, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/sign-out-inactive-users#specify-idle-session-sign-out-settings-in-the-new-sharepoint-admin-center' will be broken in isolated environments. Replace with a relative link.
Line 129, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/conditional-access/block-legacy-authentication' will be broken in isolated environments. Replace with a relative link.
Line 144, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/manage/set-password-expiration-policy' will be broken in isolated environments. Replace with a relative link.
Line 145, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/add-users/set-password-to-never-expire' will be broken in isolated environments. Replace with a relative link.
Line 153, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/authentication/tutorial-configure-custom-password-protection' will be broken in isolated environments. Replace with a relative link.
Line 161, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/turn-external-sharing-on-or-off' will be broken in isolated environments. Replace with a relative link.
Line 169, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/authentication/howto-password-smart-lockout' will be broken in isolated environments. Replace with a relative link.
Line 186, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/mem/intune/apps/app-protection-policies' will be broken in isolated environments. Replace with a relative link.
Line 217, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/manage-apps/configure-user-consent' will be broken in isolated environments. Replace with a relative link.
Line 218, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/manage-apps/configure-admin-consent-workflow#enable-the-admin-consent-workflow' will be broken in isolated environments. Replace with a relative link.

Community/defining-a-power-platform-environment-strategy.md

Line 98, Column 14: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/power-platform/admin/environments-overview' will be broken in isolated environments. Replace with a relative link.

Community/glossary.md

Line 201, Column 34: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/organization-news-site' will be broken in isolated environments. Replace with a relative link.
Line 203, Column 127: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/SharePoint/home-site' will be broken in isolated environments. Replace with a relative link.
Line 339, Column 1: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/windows-server/administration/windows-commands/powershell' will be broken in isolated environments. Replace with a relative link.

Community/how-to-share-org-wide-communications-in-microsoft-365.md

Line 57, Column 304: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/organization-news-site' will be broken in isolated environments. Replace with a relative link.
Line 61, Column 1: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/Exchange/recipients/dynamic-distribution-groups/dynamic-distribution-groups' will be broken in isolated environments. Replace with a relative link.
Line 73, Column 40: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoftteams/create-an-org-wide-team' will be broken in isolated environments. Replace with a relative link.
Line 117, Column 101: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/create-groups/compare-groups#microsoft-365-groups' will be broken in isolated environments. Replace with a relative link.
Line 125, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/evolution-of-company-wide-email-communication-to-sharepoint-news' will be broken in isolated environments. Replace with a relative link.

Community/information-architecture-managed-metadata-vs-lookup-column.md

Line 41, Column 1: [Suggestion-duplicate-alt-text] Alt text 'lookupcolumn' is duplicated. Within an article, alt text must be unique.
Line 43, Column 1: [Suggestion-duplicate-alt-text] Alt text 'lookupcolumn' is duplicated. Within an article, alt text must be unique.
Line 66, Column 1: [Suggestion-duplicate-alt-text] Alt text 'mmd' is duplicated. Within an article, alt text must be unique.
Line 68, Column 1: [Suggestion-duplicate-alt-text] Alt text 'mmd' is duplicated. Within an article, alt text must be unique.
Line 70, Column 1: [Suggestion-duplicate-alt-text] Alt text 'mmd' is duplicated. Within an article, alt text must be unique.
Line 72, Column 1: [Suggestion-duplicate-alt-text] Alt text 'mmd' is duplicated. Within an article, alt text must be unique.

Community/microsoft365-maturity-model--how-to-elevate-collaboration.md

Line 23, Column 5: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--collaboration' will be broken in isolated environments. Replace with a relative link.
Line 28, Column 157: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/introduction' will be broken in isolated environments. Replace with a relative link.
Line 49, Column 31: [Suggestion-disallowed-html-tag] HTML tag 'person' isn't allowed. Disallowed HTML poses a security risk and must be replaced with approved Docs Markdown syntax.
Line 54, Column 238: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/versioning-basics-best-practices' will be broken in isolated environments. Replace with a relative link.
Line 74, Column 142: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/external-sharing-overview' will be broken in isolated environments. Replace with a relative link.
Line 86, Column 424: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/create-and-manage-terms' will be broken in isolated environments. Replace with a relative link.
Line 86, Column 512: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/declarative-customization/get-started-create-site-design' will be broken in isolated environments. Replace with a relative link.
Line 153, Column 117: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/knowledge/topic-experiences-overview' will be broken in isolated environments. Replace with a relative link.
Line 180, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--intro' will be broken in isolated environments. Replace with a relative link.
Line 181, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--collaboration' will be broken in isolated environments. Replace with a relative link.

Community/microsoft365-maturity-model--how-to-elevate-communication.md

Line 23, Column 5: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--communication' will be broken in isolated environments. Replace with a relative link.
Line 58, Column 281: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/declarative-customization/site-design-overview' will be broken in isolated environments. Replace with a relative link.
Line 58, Column 438: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/organization-assets-library' will be broken in isolated environments. Replace with a relative link.
Line 63, Column 172: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/stream/overview' will be broken in isolated environments. Replace with a relative link.
Line 70, Column 280: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com//power-automate/getting-started' will be broken in isolated environments. Replace with a relative link.
Line 87, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--intro' will be broken in isolated environments. Replace with a relative link.
Line 88, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--communication' will be broken in isolated environments. Replace with a relative link.
Line 89, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/principles-of-communication' will be broken in isolated environments. Replace with a relative link.
Line 90, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/how-to-share-org-wide-communications-in-microsoft-365' will be broken in isolated environments. Replace with a relative link.
Line 91, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/evolution-of-company-wide-email-communication-to-sharepoint-news' will be broken in isolated environments. Replace with a relative link.

Community/should-everyone-create-teams.md

Line 217, Column 101: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/power-platform/admin/powerapps-flow-licensing-faq' will be broken in isolated environments. Replace with a relative link.

Community/why-sharepoint-training-is-important.md

Line 141, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/office365/customlearning/' will be broken in isolated environments. Replace with a relative link.

Community/working-with-cascading-lists-in-sharepoint-and-powerapps.md

Line 40, Column 64: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/declarative-customization/column-formatting' will be broken in isolated environments. Replace with a relative link.
Line 95, Column 286: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/customize-list-form' will be broken in isolated environments. Replace with a relative link.
Line 105, Column 15: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/functions/function-choices' will be broken in isolated environments. Replace with a relative link.
Line 111, Column 13: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/functions/function-filter-lookup' will be broken in isolated environments. Replace with a relative link.
Line 111, Column 132: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/functions/operators#in-and-exactin-operators' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 26b9a6d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/all-about-groups.md
:bulb:Suggestion
View
Details

Community/basic-security-set-up-for-microsoft-365.md
:bulb:Suggestion
View
Details

Community/defining-a-power-platform-environment-strategy.md
:bulb:Suggestion
View
Details

Community/glossary.md
:bulb:Suggestion
View
Details

Community/how-to-share-org-wide-communications-in-microsoft-365.md
:bulb:Suggestion
View
Details

Community/microsoft365-maturity-model--how-to-elevate-collaboration.md
:bulb:Suggestion
View
Details

Community/microsoft365-maturity-model--how-to-elevate-communication.md
:bulb:Suggestion
View
Details

Community/should-everyone-create-teams.md
:bulb:Suggestion
View
Details

Community/why-sharepoint-training-is-important.md
:bulb:Suggestion
View
Details

Community/working-with-cascading-lists-in-sharepoint-and-powerapps.md
:bulb:Suggestion
View
Details

Community/auto-apply-retention-labels-in-office-365-using-content-types-and-metadata.md
:white_check_mark:Succeeded
View

Community/information-architecture-managed-metadata-vs-lookup-column.md
:white_check_mark:Succeeded
View

Community/all-about-groups.md

Line 27, Column 259: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/hybrid/whatis-azure-ad-connect' will be broken in isolated environments. Replace with a relative link.
Line 27, Column 406: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/groups-create-rule' will be broken in isolated environments. Replace with a relative link.
Line 33, Column 110: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/directory-assign-admin-roles' will be broken in isolated environments. Replace with a relative link.
Line 37, Column 143: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-groups-create-azure-portal' will be broken in isolated environments. Replace with a relative link.
Line 39, Column 73: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/groups-settings-v2-cmdlets' will be broken in isolated environments. Replace with a relative link.
Line 43, Column 81: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/users-groups-roles/licensing-groups-assign' will be broken in isolated environments. Replace with a relative link.
Line 49, Column 1: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/create-groups/office-365-groups' will be broken in isolated environments. Replace with a relative link.
Line 55, Column 164: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/solutions/manage-creation-of-groups' will be broken in isolated environments. Replace with a relative link.
Line 83, Column 156: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/features/groupify/groupify-overview' will be broken in isolated environments. Replace with a relative link.

Community/basic-security-set-up-for-microsoft-365.md

Line 51, Column 243: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/fundamentals/concept-fundamentals-security-defaults#enabling-security-defaults' will be broken in isolated environments. Replace with a relative link.
Line 83, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-admin-mfa#create-a-conditional-access-policy' will be broken in isolated environments. Replace with a relative link.
Line 84, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-all-users-mfa#create-a-conditional-access-policy' will be broken in isolated environments. Replace with a relative link.
Line 96, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/sign-out-inactive-users#specify-idle-session-sign-out-settings-in-the-new-sharepoint-admin-center' will be broken in isolated environments. Replace with a relative link.
Line 129, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/conditional-access/block-legacy-authentication' will be broken in isolated environments. Replace with a relative link.
Line 144, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/manage/set-password-expiration-policy' will be broken in isolated environments. Replace with a relative link.
Line 145, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/add-users/set-password-to-never-expire' will be broken in isolated environments. Replace with a relative link.
Line 153, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/authentication/tutorial-configure-custom-password-protection' will be broken in isolated environments. Replace with a relative link.
Line 161, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/turn-external-sharing-on-or-off' will be broken in isolated environments. Replace with a relative link.
Line 169, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/authentication/howto-password-smart-lockout' will be broken in isolated environments. Replace with a relative link.
Line 186, Column 23: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/mem/intune/apps/app-protection-policies' will be broken in isolated environments. Replace with a relative link.
Line 217, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/manage-apps/configure-user-consent' will be broken in isolated environments. Replace with a relative link.
Line 218, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/azure/active-directory/manage-apps/configure-admin-consent-workflow#enable-the-admin-consent-workflow' will be broken in isolated environments. Replace with a relative link.

Community/defining-a-power-platform-environment-strategy.md

Line 98, Column 14: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/power-platform/admin/environments-overview' will be broken in isolated environments. Replace with a relative link.

Community/glossary.md

Line 201, Column 34: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/organization-news-site' will be broken in isolated environments. Replace with a relative link.
Line 203, Column 127: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/SharePoint/home-site' will be broken in isolated environments. Replace with a relative link.
Line 339, Column 1: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/windows-server/administration/windows-commands/powershell' will be broken in isolated environments. Replace with a relative link.

Community/how-to-share-org-wide-communications-in-microsoft-365.md

Line 57, Column 304: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/organization-news-site' will be broken in isolated environments. Replace with a relative link.
Line 61, Column 1: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/Exchange/recipients/dynamic-distribution-groups/dynamic-distribution-groups' will be broken in isolated environments. Replace with a relative link.
Line 73, Column 40: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoftteams/create-an-org-wide-team' will be broken in isolated environments. Replace with a relative link.
Line 117, Column 101: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/admin/create-groups/compare-groups#microsoft-365-groups' will be broken in isolated environments. Replace with a relative link.
Line 125, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/evolution-of-company-wide-email-communication-to-sharepoint-news' will be broken in isolated environments. Replace with a relative link.

Community/microsoft365-maturity-model--how-to-elevate-collaboration.md

Line 23, Column 5: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--collaboration' will be broken in isolated environments. Replace with a relative link.
Line 28, Column 157: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/introduction' will be broken in isolated environments. Replace with a relative link.
Line 49, Column 31: [Suggestion-disallowed-html-tag] HTML tag 'person' isn't allowed. Disallowed HTML poses a security risk and must be replaced with approved Docs Markdown syntax.
Line 54, Column 238: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/versioning-basics-best-practices' will be broken in isolated environments. Replace with a relative link.
Line 74, Column 142: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/external-sharing-overview' will be broken in isolated environments. Replace with a relative link.
Line 86, Column 424: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/create-and-manage-terms' will be broken in isolated environments. Replace with a relative link.
Line 86, Column 512: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/declarative-customization/get-started-create-site-design' will be broken in isolated environments. Replace with a relative link.
Line 153, Column 117: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/knowledge/topic-experiences-overview' will be broken in isolated environments. Replace with a relative link.
Line 180, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--intro' will be broken in isolated environments. Replace with a relative link.
Line 181, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--collaboration' will be broken in isolated environments. Replace with a relative link.

Community/microsoft365-maturity-model--how-to-elevate-communication.md

Line 23, Column 5: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--communication' will be broken in isolated environments. Replace with a relative link.
Line 58, Column 281: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/declarative-customization/site-design-overview' will be broken in isolated environments. Replace with a relative link.
Line 58, Column 438: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/organization-assets-library' will be broken in isolated environments. Replace with a relative link.
Line 63, Column 172: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/stream/overview' will be broken in isolated environments. Replace with a relative link.
Line 70, Column 280: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com//power-automate/getting-started' will be broken in isolated environments. Replace with a relative link.
Line 87, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--intro' will be broken in isolated environments. Replace with a relative link.
Line 88, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/microsoft365-maturity-model--communication' will be broken in isolated environments. Replace with a relative link.
Line 89, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/principles-of-communication' will be broken in isolated environments. Replace with a relative link.
Line 90, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/how-to-share-org-wide-communications-in-microsoft-365' will be broken in isolated environments. Replace with a relative link.
Line 91, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoft-365/community/evolution-of-company-wide-email-communication-to-sharepoint-news' will be broken in isolated environments. Replace with a relative link.

Community/should-everyone-create-teams.md

Line 217, Column 101: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/power-platform/admin/powerapps-flow-licensing-faq' will be broken in isolated environments. Replace with a relative link.

Community/why-sharepoint-training-is-important.md

Line 141, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/office365/customlearning/' will be broken in isolated environments. Replace with a relative link.

Community/working-with-cascading-lists-in-sharepoint-and-powerapps.md

Line 40, Column 64: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/sharepoint/dev/declarative-customization/column-formatting' will be broken in isolated environments. Replace with a relative link.
Line 95, Column 286: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/customize-list-form' will be broken in isolated environments. Replace with a relative link.
Line 105, Column 15: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/functions/function-choices' will be broken in isolated environments. Replace with a relative link.
Line 111, Column 13: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/functions/function-filter-lookup' will be broken in isolated environments. Replace with a relative link.
Line 111, Column 132: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/powerapps/maker/canvas-apps/functions/operators#in-and-exactin-operators' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Thanks, @modery!


Error class to support native error cause

Suggestion

🔍 Search Terms

Error Native Cause Stacktrace
✅ Viability Checklist

My suggestion meets these guidelines:

✅ This wouldn't be a breaking change in existing TypeScript/JavaScript code
✅ This wouldn't change the runtime behavior of existing JavaScript code
✅ This could be implemented without emitting different JS based on the types of the expressions
✅ This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
✅ This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

Error class constructor should support native error cause as per new ECMAScript standards
📃 Motivating Example
https://v8.dev/features/error-cause

💻 Use Cases
Implementing custom business errors which extend the base Error class while supporting error cause as another error natively, while capturing the stacktrace correctly for both errors.

Duplicate of #47019. Used search terms: error cause in:title


2FA can be disabled without verifying 2FA token

It's possible to disable a users 2FA authentication status if the user is already logged in, for example when a users forgets to logout.
Is it possible to ask for a valid 2FA token when disabling 2FA?

No, you currently cannot verify with a 2fa token when disabling.

Is this something that could be added to the roadmap of the plugin?

Sorry @Zae, I think Craft CMS itself is going to have 2FA in a short time, so there isn't much of a roadmap anymore.

HI @roelvanhintum ,
Thanks for letting me know! I'll just enable forceBackEnd until that option become available in craft then!


ui: self assign rfid

users (on their user profile page) should use the self assign rfid endpoint /member/assignRFID/self

This has been resolved


Introduce a new jax/jaxlib versioning scheme.

Adds a design note that describes the scheme and how the jax and jaxlib versions
are related.

I revised this PR significantly. PTAL.

PTAL.

This is really great, Peter – thanks for putting it together!


Error in install.

Hi, I just tried installing this on my mac, and received the issues below. I successfully installed the package on my RStudio server, however.
Downloading github repo hadley/readxl@master
Installing readxl
Installing dependencies for readxl:
Rcpp
trying URL 'http://mran.revolutionanalytics.com/snapshot/2014-10-01/bin/macosx/mavericks/contrib/3.1/Rcpp_0.11.3.tgz'
Content type 'application/octet-stream' length 2717447 bytes (2.6 MB)
opened URL
==================================================
downloaded 2.6 MB

The downloaded binary packages are in
	/var/folders/yb/f6mkd27553j90cdnlwk7yz800000gn/T//RtmpKd5Vgt/downloaded_packages
'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL  \
  '/private/var/folders/yb/f6mkd27553j90cdnlwk7yz800000gn/T/RtmpKd5Vgt/devtoolsb0df38a6f206/hadley-readxl-0d444af'  \
  --library='/Library/Frameworks/R.framework/Versions/3.1/Resources/library'  \
  --install-tests

* installing *source* package ‘readxl’ ...
** libs
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -Iunix -I. -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"  -std=c++11 -fPIC  -Wall -mtune=core2 -g -O2  -c RcppExports.cpp -o RcppExports.o
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -Iunix -I. -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"  -std=c++11 -fPIC  -Wall -mtune=core2 -g -O2  -c XlsWorkBook.cpp -o XlsWorkBook.o
In file included from XlsWorkBook.cpp:2:
In file included from ./XlsWorkBook.h:6:
./CellType.h:31:13: error: no member named 'warning' in namespace 'Rcpp'
      Rcpp::warning("Unknown type '%s' at position %i. Using text instead.",
      ~~~~~~^
In file included from XlsWorkBook.cpp:2:
./XlsWorkBook.h:28:39: error: too many arguments to function call, expected single argument 'message', have 2 arguments
      Rcpp::stop("Failed to open %s", path);
      ~~~~~~~~~~                      ^~~~
/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/exceptions.h:195:5: note: 'stop' declared here
    inline void stop(const std::string& message) {
    ^
In file included from XlsWorkBook.cpp:3:
./XlsWorkSheet.h:127:19: error: no member named 'warning' in namespace 'Rcpp'
            Rcpp::warning("Expecting numeric in [%i, %i] got `%s`",
            ~~~~~~^
./XlsWorkSheet.h:138:19: error: no member named 'warning' in namespace 'Rcpp'
            Rcpp::warning("Expecting date in [%i, %i] got %d",
            ~~~~~~^
./XlsWorkSheet.h:146:19: error: no member named 'warning' in namespace 'Rcpp'
            Rcpp::warning("Expecting date in [%i, %i] got '%s'",
            ~~~~~~^
XlsWorkBook.cpp:16:3: error: no matching function for call to 'stop'
  stop("Couldn't find sheet called '%s'", name);
  ^~~~
/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include/Rcpp/exceptions.h:195:17: note: candidate function not viable: requires single argument 'message', but 2 arguments were provided
    inline void stop(const std::string& message) {
                ^
6 errors generated.
make: *** [XlsWorkBook.o] Error 1
ERROR: compilation failed for package ‘readxl’
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/readxl’
Error: Command failed (1)

> sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.2 (Yosemite)

locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] devtools_1.6   httr_0.5       RCurl_1.95-4.3 stringr_0.6.2
[5] tools_3.1.3

You need the latest version of Rcpp

I received that notification when installing on the server. I ran install.packages("Rcpp") before running the github_install command but looking on CRAN I see there is a newer version than the one that was installed. I installed that one via command line and now it works.


Setting DigestMethod to SHA256

Following on from Issue #122 it looks like it is still not possible to set the DigestMethod.
In the signMetadata function in the Metadata class a $digestAlgorithm parameter can be passed in but it is always set to SHA1 and is never overridden.
I think this is something that should be configurable in the settings, but I am not 100% sure if it is needed so I wanted to ask.
And also if the digestAlgorithm is used anywhere else in the code that would also need to be updated.
If it is needed I am happy to create a pull request for this.
James

You are right, as digestMethod is always used xmlsec.TransformSha1.
We should extend add_sign to support a digest_method. And also extend sign_metadata.
As you can see, this is only used to sign metadata, at the method to sign the authnrequest I don't see that we set a DigestMethod.

Hi @pitbulk
I was looking at the php-saml library, where the addSign and signMetadata functions do already have support for the digestAlgoritm.
So we would just need to add a digestAlgorithm to the advanced settings and pass it through to the sign metadata here

Yes on php-saml I added the digestAlgorithm to [signMetadata](added https://github.com/onelogin/php-saml/blob/master/lib/Saml2/Metadata.php#L181) and addSign but as you saw I didn't add a new setting parameter to the settings file and I'm not using it on the getSPMetadata method, the reason was that I don't wanted to add another parameter and turn the settings even more complex...

But I do not see a need of adding it to the signMetada and addSign if it is not going to be used in the getSPMetadata.
If we want the digestMethod algoritm to be SHA256 and we are using the getSPMetadata function then there is currently no way of doing this unless it is added to the settings.
Unless there is another way?

yeah, that why I gonna say that its ok to add that method to the settings, if not instead the getSPMetadata you will need to extend the Metadata and that method to support the digestAlgorithm

Also please add a default value as we do for the digestAlgorithm value

Ahh yes, I knew I had seen that somewhere but couldn't find it when adding the digestAlgorithm.
Thanks

Currently the test for the signMetadata does not check if the proper signatureAlgorithm and digestAlgorithm where used. If you have spare time to create such test .. :)

I have added the default digestAlgorithm now...
Not right this minute, but I shall try add the test later today :)

Thanks, appreciate!


ulid: init at 2.1.0

https://github.com/oklog/ulid
Description of changes
closes #242115

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Ofborg says it is failing on intel apple:
https://github.com/NixOS/nixpkgs/pull/249153/checks?check_run_id=15884252225

skipped the test since I can't reproduce the failure


Recording and converting audio in Chrome not working

Hi, we use this in our project together with RecordRTC, suddenly it does not work in Chrome anymore. The console shows no errors and the audio tag is just not working. See the demo to reproduce the error:
https://www.webrtc-experiment.com/ffmpeg/wav-to-ogg.html
It works fine in Firefox.

The issue is with the newest version of Chrome:
Version 49.0.2623.87 m


QuickAccent disable per application

Description of the new feature / enhancement
An option to disable quick accent from happening on certain applications
Scenario when this would be used?
in applications where there is a need for controlling something, like a camera in a 3d view where one tends to use multiple keys, as it would cut down the time that it takes to manually open the config menu and disable it
Supporting information
No response

There is an option to set "excluded apps"


Fixing some typos and  report of minor errors for integration tests

I apologize that I could not finish reviewing for release v1.4 before the deadline. This pull request is to fix some typos I noticed during the review and report some minor errors for the integration tests. I have confirmed that all the basic tutorials and integration tests except for the followings passed without any problem with the release version 1.4.
I am sorry for listing several things at the same time, and thank you very much for the confirmation in advance.

[ ] I would like to confirm whether the change of the file path in the retrieval tutorial (0af60abd305a04aed50889d158c9f9e77c337c70) is correct or not. I think it is more straightforward to mention the tutorial notebook itself. Or did you intend to mention this python file? (In the latter case, some parts need to be fixed to be compatible with the current version.)
[ ] I got the following error for tests/integration/premodit/checindex.py due to the change of the input parameters of init_premodit.

  File "/home/kawashima/exojax/tests/integration/premodit/checkindex.py", line 28, in <module>
    ngamma_ref_grid_H2O, n_Texp_grid_H2O, R_H2O, pmarray_H2O = initspec.init_premodit(
TypeError: init_premodit() got an unexpected keyword argument 'interval_contrast'

[ ] I got the following error for tests/integration/premodit/line_strength_comparison_exomol.py due to the change of the input parameters of unbiased_ngamma_grid. Could you add Tref_broadening parameter? The same thing applies to tests/integration/premodit/line_strength_comparison_hitemp.py. Thank you.

Traceback (most recent call last):
  File "/home/kawashima/exojax/tests/integration/premodit/line_strength_comparison_exomol.py", line 78, in <module>
    ngamma_grid = unbiased_ngamma_grid(Ttest, P, ngamma_ref_grid, n_Texp_grid,
TypeError: unbiased_ngamma_grid() missing 1 required positional argument: 'Tref_broadening'

[ ] I got the following errors for tests/integration/moldb/comparison_api.py and tests/integration/moldb/comparison_api_xs.py. I think these two tests are no more needed given that MdbExomol and MdbHit have been discarded in exojax.spec.moldb.

Traceback (most recent call last):
  File "/home/kawashima/exojax/tests/integration/moldb/comparison_api.py", line 8, in <module>
    from exojax.spec.moldb import MdbExomol as MdbExomol_orig
ImportError: cannot import name 'MdbExomol' from 'exojax.spec.moldb' (/home/kawashima/anaconda3/lib/python3.9/site-packages/ExoJAX-1.4-py3.9.egg/exojax/spec/moldb.py)

Traceback (most recent call last):
  File "/home/kawashima/exojax/tests/integration/moldb/comparison_api_xs.py", line 28, in <module>
    mdbCO_moldb = moldb.MdbHit('~/exojax/data/CO/05_hit12.par', nus)
AttributeError: module 'exojax.spec.moldb' has no attribute 'MdbHit'

[ ] I got the following error for tests/integration/moldb/quantum_states_filter_exomol.py. Maybe v_u and v_l should be replaced by j_upper and j_lower?

Traceback (most recent call last):
  File "/home/kawashima/exojax/tests/integration/moldb/quantum_states_filter_exomol.py", line 31, in <module>
    mask = mdb.df["v_u"] - mdb.df["v_l"] == dv
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/vaex/dataframe.py", line 5395, in __getitem__
    self.validate_expression(item)
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/vaex/dataframe.py", line 3446, in validate_expression
    raise NameError(str(e)) from None
NameError: Column or variable 'v_u' does not exist. Did you mean: 'v_l'

[ ] I got the following errors, saying that the lengeth of mdb.Sij0 is just 1,  for tests/integration/moldb/quantum_states_filter_hitemp.py and tests/integration/moldb/quantum_states_filter_hitran_co.py.
I cannot recognize the line where the line strength is assigned when the activate function is used. Or do I misunderstand?

Traceback (most recent call last):
  File "/home/kawashima/exojax/tests/integration/moldb/quantum_states_filter_hitemp.py", line 32, in <module>
    plt.plot(1.e4 / mdb.nu_lines,
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/pyplot.py", line 2740, in plot
    return gca().plot(
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 1662, in plot
    lines = [*self._get_lines(*args, data=data, **kwargs)]
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 311, in __call__
    yield from self._plot_args(
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 504, in _plot_args
    raise ValueError(f"x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (1300,) and (1,)

Traceback (most recent call last):
  File "/home/kawashima/exojax/tests/integration/moldb/quantum_states_filter_hitran_co.py", line 28, in <module>
    plt.plot(1.e4 / mdb.nu_lines,
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/pyplot.py", line 2740, in plot
    return gca().plot(
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 1662, in plot
    lines = [*self._get_lines(*args, data=data, **kwargs)]
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 311, in __call__
    yield from self._plot_args(
  File "/home/kawashima/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 504, in _plot_args
    raise ValueError(f"x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (634,) and (1,)

@ykawashima
Thanks!
I will release this change as v1.4.1.
Can you change the direction of the branch from develop to releasev1.4.1 ?

Thank you! I have changed the branch to be merged.