TypeError: can't access property "click", this.currentVideovideo.querySelector(...) is null

Hi @Wilmox
Thanks for the script idea! Unfortunately, I just learned about the 5000 limit and there's no way to delete the actual playlist, so I've been trying a bunch of things.
I was excited by your script as it seems most of the ones out there delete one video at a time, which would take days.
When I try to run it (I made sure to switch from Dutch), I'm running into the following issue:
Uncaught (in promise) TypeError: can't access property "click", this.currentVideovideo.querySelector(...) is null
    deleteVideoFromWatchLater debugger eval code:23
    run debugger eval code:65
    async* debugger eval code:83
debugger eval code:23:32
    run debugger eval code:74
    InterpretGeneratorResume self-hosted:1455
    AsyncFunctionNext self-hosted:852
    (Async: async)
    <anonymous> debugger eval code:83
    getEvalResult resource://devtools/server/actors/webconsole/eval-with-debugger.js:238
    evalWithDebugger resource://devtools/server/actors/webconsole/eval-with-debugger.js:166
    evaluateJS resource://devtools/server/actors/webconsole.js:940
    evaluateJSAsync resource://devtools/server/actors/webconsole.js:846
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103

Any chance you have an idea?
Thank you a lot in advance 🇳🇱

Ah, found the issue: Action Menu vs Action menu. I don't think it's batching also but not a big deal. Going to let it run for a while.

Hey @scalp42!
Thanks for checking out my tool!
My bad for the typo in the README. So the fix is just the lowercase m?
Greetings


fix(types): pass CachedQuery TError down to CachedQueryState

Changes

Allow passing CachedQuery<T, TError> down to CachedQueryState<T, TError> for casting purposes

Usage
When you know the query typings you expect (such as when wrapping with your own abstraction like we do), you should be able to safely cast the type of CachedQuery.
interface MyCustomResult<TResult, TError> {
  data: TResult | undefined
  error: TError | null
}

// Somewhere else...

function wrap(): MyCustomResult<TResult, TError> {
  const queryData = queryCache.getQueryData<TResult>(queryKey);
  const query = queryCache.getQuery(queryKey) as CachedQuery<TResult, TError> | undefined ;

  return {
    data: queryData,
    error: query?.state.error ?? null
  }
}

:tada: This PR is included in version 2.4.21 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Enable integration testing with postgres and check in failing test with secondary relationship

I tried reasonably hard (~1 day) to fix the actual bug, but I don't understand sqlalchemy's relationship inspection well enough.
The local remote pairs on the Employee.departments.property is:
[(Column('e_id', Integer(), table=<employee>, primary_key=True, nullable=False), Column('employee_id', Integer(), ForeignKey('employee.e_id'), table=<employee_department_join_table>, primary_key=True, nullable=False)), (Column('d_id', Integer(), table=<department>, primary_key=True, nullable=False), Column('department_id', Integer(), ForeignKey('department.d_id'), table=<employee_department_join_table>, primary_key=True, nullable=False))]

So our strategy of filtering on in_(tuple([getattr(self, local.key) for local, _ in local_remote_pairs])) falls through.
local_columns more helpfully shows just e_id, so maybe there's a way we can join on the local entity and filter on that.
I think if we instead passed the key as only local_columns and changed the query to:
related_model = relationship.entity.entity
self_model = relationship.parent.entity
query = (
    select(
        related_model, self_model
    )
    .join(relationship.secondary, relationship.secondaryjoin)
    .join(self_model, relationship.primaryjoin)
    .filter(tuple_(*[column for column in relationship.local_columns]).in_(keys))
)

and changed our grouping to be on getattr(row[1], local.key)
it should work, but I'm not sure if there are corner cases with composite foreign keys, which my team doesn't use.

Checks in the test that demonstrates #19

Haven't lost track of this just got busy at work! Looking to pick it back up next week, thanks for the comments.

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


[nrf noup] drivers: spi: dw: turn on FAST_ACTIVE1 domain

FAST_ACTIVE1 domain needs to be kept ON while the peripheral is active (always in this driver).

Perhaps we should also enable the FAST_DOMAIN in
https://github.com/nrfconnect/sdk-zephyr/blob/9ff506841d0ef3c3ada27f1e65c92385093c5ee3/drivers/spi/spi_dw.c#L80

I am not sure how this will behave without that - we might not be turning off EXMIF and not notice it

I'd say we should wrap the configure section with it, to make sure everything is powered at least for the whole time that it gets configured.

What happened to clearing retain for dq0, dq1 and clock pins? Is that not needed as well or is this elsewhere?

Our tests pass on this PR

What happened to clearing retain for dq0, dq1 and clock pins? Is that not needed as well or is this elsewhere?

solved in the chat, retain never gets set. somewhat unintentionally


Exclude public folder

JSX files may not be in the public, so it is better to exclude this folder.

Thanks again for the PR 💃


A labview GUI application

Hi，I recently found the Tensorflow have a graph visualization called TensorBoard
It's really cool and I think the Keras should have some thing like a Labview,
I mean you can drag and drop a layer into the canvas, connect each other to organise the model Sequence.configure the layer's params in a form.
finally the graph can be export to some python code.
And then what the user need to do is just prepare the data and pass it in the model we just create.
so every user can be a deep learning "expert" :)
Maybe we can gather some people to make it happen.the deep learning will become really really easy for a newbie if he can use this.

This model builder for keras is what http://aetros.com/trainer is trying to do. It will probably for free for researcher and individuals, so if you write me your mail (to<EMAIL_ADDRESS>I can add you to the already closed beta registration so you can play with it soon.

Hi @marcj .  How inviting is that invitation? =)

@braingineer pretty inviting :P Feel free to mail me also, although we already exceeded our capacity. :) Hopefully not everyone is using the app in day 1, because we have probably not enough GPUs for more people when everyone is trying the free GPU training. Guess I need to buy some extra GPUs 😄

Alright guys, since already over a dozen people wrote me via email, we've reopened the registration form as its easier for us to track the invitation (email is not so appropriate to handle such stuff :) ).
We're making sure you get enough resources! Feel free to register http://aetros.com/contact

Good job ~~

Awesome!  Thanks, @marcj

@marcj 's project is really a big one.
I make a simple demo like this,just do the code generator's job.
Drag the layer from left to the middle part, connect each other by draging the small blue rect to red,the params for the layer will placed on the right.
When we have this graph,it's easy to generate the python code when we have all the info.
I'll make it usable if I can make time.

@justdark yeah, the current model designer is actually almost like this. See the video:
https://www.youtube.com/watch?v=_oTZVSyPW44

Heads up, http://aetros.com/trainer is now available for everyone for free. Basically the missing GUI for Keras (model designer, monitoring, prediction servers, etc)

Great project.


use common core for DBMolecules

@IAlibay reduces the time for cdk2 input from 12mins to 12 seconds, same similarity results.  Other sets from the PLB show some improvements, p38 1m46->10s,  pde2 1m51->6s, all for unchanged results.


Possible issue when loading luarock modules.

This plugin (mine) https://github.com/ilAYAli/scMRU.nvim works with Packer et al. but not with Lazy.
I followed this guide when I wrote it.
The mentioned sqlite3 lua rocks module is fairly old so I should probably just replace it. Regardless, other plugins might use a similar pattern, so the issue might be of interest.
Which version of Neovim are you using?
NVIM v0.8.0-1210-gd367ed9b2
Steps to reproduce the behavior:
Lazy fails during installation with a minimal config file.
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  'ilAYAli/scMRU.nvim',
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

:checkhealth and Lazy log does not contain any errors, but the following is printed to :messages

Failed to source `/Users/username/.local/share/nvim/lazy/scMRU.nvim/plugin/mru.vim`
...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:185: Vim(lua):E5108: Error executing lua ...er/.local/share/nvim/lazy/scMRU.nvim/lua/mru/display.lua:1: module 'ljsqlite3' not found:
^Ino field package.preload['ljsqlite3']not found in lazy cache
^Ino file './ljsqlite3.lua'
^Ino file '/Users/runner/work/neovim/neovim/.deps/usr/share/luajit-2.1.0-beta3/ljsqlite3.lua'
^Ino file '/usr/local/share/lua/5.1/ljsqlite3.lua'
^Ino file '/usr/local/share/lua/5.1/ljsqlite3/init.lua'
^Ino file '/Users/runner/work/neovim/neovim/.deps/usr/share/lua/5.1/ljsqlite3.lua'
^Ino file '/Users/runner/work/neovim/neovim/.deps/usr/share/lua/5.1/ljsqlite3/init.lua'
^Ino file '/Users/username/.local/share/nvim/lazy/scMRU.nvim/plugin/../lua/mru/deps/lua-ljsqlite3/init.lua'
^Ino file './ljsqlite3.so'
^Ino file '/usr/local/lib/lua/5.1/ljsqlite3.so'
^Ino file '/Users/runner/work/neovim/neovim/.deps/usr/lib/lua/5.1/ljsqlite3.so'
^Ino file '/usr/local/lib/lua/5.1/loadall.so'ljsqlite3 not found in lazy plugins
stack traceback:
^I[C]: in function 'require'
^I...er/.local/share/nvim/lazy/scMRU.nvim/lua/mru/display.lua:1: in main chunk
^I[C]: in function 'require'
^I...etter/.local/share/nvim/lazy/scMRU.nvim/lua/mru/init.lua:1: in main chunk
^I[C]: in function 'require'
^I[string ":lua"]:1: in main chunk
^I[C]: in function 'cmd'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:185: in function <...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:184>
^I[C]: in function 'xpcall'
^I.../.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/util.lua:77: in function 'try'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:184: in function 'source'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:178: in function 'source_runtime'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:149: in function 'packadd'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:133: in function 'load'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:64: in function 'startup'
^I...etter/.local/share/nvim/lazy/lazy.nvim/lua/lazy/init.lua:58: in function 'setup'
^I/Users/username/sync/config/nvim/init.lua:19: in main chunk
stacktrace:

Probably because of the clearing of the rtp path. set config.performance.rtp.reset = false

I get the exact same error with this:
require("lazy").setup("plugins", {
  performance = {
    rtp = {
       reset = false,
    },
  },
  debug = true,
})

Then it's not lazy that is doing something. Where did you install that module?
Be aware that Lazy does not support luarocks like PAcker. Is that what you're trying to achieve?

Good point, the dependencies are installed as git submodules.

and is the so built?

The dependencies only contain .lua files, no binaries.

Should be fixed now!

Should be fixed now!

Indeed, great work!


Frontend cannot assign type to modulo operation

Hello, CPG team,
Currently, in de.fraunhofer.aisec.cpg.frontends.Language, the modulo operator % is not handled in the method propagateTypeOfBinaryOperation, which causes BinaryOperator nodes with the operatorCode % to be assigned the UNKNOWN type, at least using the JavaLanguage . That should be a quick bug to fix, I think.
Cheers!

Hello, CPG team, Currently, in de.fraunhofer.aisec.cpg.frontends.Language, the modulo operator % is not handled in the method propagateTypeOfBinaryOperation, which causes BinaryOperator nodes with the operatorCode % to be assigned the UNKNOWN type, at least using the JavaLanguage . That should be a quick bug to fix, I think.
Cheers!

Hi! Would you be able to supply a PR for this?

I'd be happy to, see #1449

Fixed by https://github.com/Fraunhofer-AISEC/cpg/pull/1449


Nudge 2.0 post release bug - When using sofa feed the requiredMinimumOSVersion may not be honored

if requiredMinimumOSVersion is manually set to a value that is lower than the current latest OS version for a major version, Nudge chooses the latest version and not the one actually set.
Ex: setting 14.3 still results in 14.5

This is now addressed with https://github.com/macadmins/nudge/commit/cb9a634085bf676973cf803090f8766602fdb680


SupportsRound does not seem to work

Environment data

Language Server version: 2021.2.2
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.9.1

Expected behaviour
I have a custom number class that overrides __round__ (among other methods) to return my custom class. When I use round on an instance of my class, it correctly returns another instance of said class and should be considered as such by pylance.
I included a MWE below.
Actual behaviour
pylance error reported:
Expression of type "float" cannot be assigned to declared type "MyNumber"
  "float" is incompatible with "MyNumber"

Logs
I don't think this is relevant, but I can add if necessary.
Code Snippet / Additional information

I'm not sure if the SupportsRound["MyNumber"] should even be necessary, but I get the error both with and without it. I can't rule out that I'm doing something wrong, but google has yielded close to nothing on this topic...
from typing import SupportsRound

class MyNumber(float, SupportsRound["MyNumber"]):
    def __new__(cls, value: float):
        return super().__new__(cls, value)

    def __round__(self, ndigits: int = 0):
        return MyNumber(super().__round__(ndigits))

n: MyNumber = round(MyNumber(3.14), 0) # pylance error here

assert isinstance(n, MyNumber) # no problem here

The problem here is that MyNumber inherits from float, so it is matching on this overload for round:
@overload
def round(number: float, ndigits: int) -> float: ...

You were expecting it to match on this overload, which is below:
@overload
def round(number: SupportsRound[_T], ndigits: None) -> int: ...

But overloads are evaluated in the order they were declared, so it's correct for pyright to select the first one.
One potential workaround:
class MyNumber(SupportsRound["MyNumber"]):
    def __init__(self, value: float):
        self._value = value

    def __round__(self, ndigits: int = 0):
        return MyNumber(round(self._value, ndigits))

    def __float__(self):
        return self._value

Ah, I see what you mean. I have to think about whether I really need to inherit from float...
Thank you!
I think I was expecting it to match this one:
@overload
def round(number: SupportsRound[_T], ndigits: int) -> _T: ...

I'm assuming that order of overloads is specific?
I can't reason out the logic that would dictate the order...

Yes, the ordering of overloads is sometimes very important. Other times it's not.
Arguably, the first of the two overloads (the one with the float) is unnecessary because the float class implements the SupportsRound protocol. So maybe the right answer here is to delete the unnecessary one. If you'd like, you could file a bug (or a PR) in the typeshed repo. That's the source of the stdlib type stubs that we ship with Pyright and Pylance.

Given this is in typeshed, there's not really much we can do here; we're just following the stubs. I'll close this, but feel free to cross link this if you do open a bug or PR.


fix(anvil): add missing predates fork handlers

Motivation
Closes #3700
Add missing predates_fork checks for:

getBalance
getStorage

Solution

Is this CI failure related?

merging since unrelated, looks like mycrypto API error

If you run into BlockOutOfRangeError error (in general, completely independently of Anvil), you can likely fix it by resetting your Metam*sk wallet. More info here: https://twitter.com/norswap/status/1642865751399833603
Posting this here because this is one out of three google results for "BlockOutOfRangeError".


Block access to PPP on EBI/Sanger Guest wifi network

These are the public IP ranges for both guest networks and Eduroam as sent by the Sanger IT team. We can exclude/blacklist these IP ranges from access to PPP.
EBI/Sanger Guest wifi IP blacklist.docs
We need to place DENY rules before the ALLOW rules then we will effectively allow access for Sanger, but exclude any non-sanger networks.
This should prevent people connected to the Guest wifi from accessing PPP even when they are redirected from platform or use the direct URL.
People who are part of the consortium when visiting the campus and using Guest wifi can use their company's official VPN to still access the PPP.

I tested the PPP dev access on

EBI network - ✔
Sanger network - ✔
Guest network - ✘
Eduroam network - ✘
Guest or Eduroam network with Sanger/EBI VPN - ✔


feat(ingest): include instance in container dataPlatform when provided

Supersedes https://github.com/datahub-project/datahub/pull/4665.
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

When I raised this topic:

Being Containers a hierarchy on top of Datasets we feel like natural that Containers are aligned with their children Datasets for the platform_instance and the environment, so they can be filtered in the search too. No need to mention the chance of collision if two Containers have the same name for different platform_instance and/or environment.

This PR addresses the missing platform instance. What's your thought about the environment? It's likely that the eg customers database will exist in eg both DEV and PROD, how can we differentiate them?

@sgomezvillamor to distinguish in that case, I'd recommend setting platform instance to prod.customers and dev.customers - it's not ideal since some of the table browse paths might have a bit of redundancy.
Unfortunately we can't add an env field to the container for backwards compat reasons.

From my point of view that would be even worse because filters would be totally unaligned.
In order to find both containers and datasets it would require to search for:

containers with platform instance eg “prod.customers”
and datasets with platform instance “customers” and env “prod”
Quite complex IMO and hard to understand for the users.
Filters should be transversal for datasets and containers.

What about defining “env” as optional for containers so it keeps backward compatibility? Ingestion recipes may have a flag to enable “env” field in the containers, otherwise it remains as null and backwards compatible. Alternatively it could be a datahub deployment setting. Just anyway to opt-in and enable the feature.

Agree that it's not great. I chatted with the team internally and wanted to explain some of the thinking here.
Our long-term intention is that env is no longer is part the urns, but instead the platform instance is how you identify it. In the current model, "a dataset has env in its urn, and a dataset can be part of a platform instance". We want to move towards a model where "a dataset/container is in a platform instance and hence part of the urn, and the env is just an attribute of the platform instance". Basically, urns should only contain things about identity, and env isn't really identity but platform instance is.
Towards this goal, our plan is to add an env attribute to platform instances soon. Basically, you'd name your platform instance "dev_customers" or whatever, and also set env=DEV. The UI would enable search / filtering on this attribute.
In the short term I realize that it's not a great user experience. A minor correction though: because we currently include the platform instance name as part of the dataset urn, searching for "prod_customers" should surface both containers and datasets. The piece that won't work is that setting the env "prod" filter won't show any containers.

Thanks for sharing the long-term plans. The reasoning about dataset identity and so moving env to the platform instance makes sense.
It's unfortunate that we break the alignment during the transition and the cost is the user experience, as you said. The use case my organization is facing now is about glue databases and tables and it's weird not having them aligned and supporting the filters in a homogeneous way.
In order to mitigate that cost, what about adding env to the platform instance as part of the work done in this PR? Wit that,

container would support env via platform instance
and datasets would support env via both identity and platform instance

With this approach, the env is duplicated in the dataset entity and so the cost is to ensure the consistency and likely more complex graphql queries. So the cost impacts developer experience, not user experience. And also, this would mean moving a step closer to the long-term vision.
Coincidentally, I also have another PR for extending the features of the Platform Instance entity. https://github.com/datahub-project/datahub/pull/5728 Opportunistically sharing it here 🙄  We may easily add Factory (dev, pre, pro, ...) too 😄

We could do that, but I worry about making this PR huge in scope. Adding an env attribute to platform instance and/or containers isn't quite enough, since we'd also need to add support for filtering using that on the backend and frontend. I'm not sure I have bandwidth for taking that whole thing on right now, but I'd be happy to hand this PR over if you're interested.


drivers: dma_mcux_lpc: Fix potential NULL pointer dereferences

Dereference variables after NULL checking.

Hi @jsiverskog, thanks for this PR. Do you want to try to get this merged prior to the 3.4 release? If so, a bug report should be created outlining the issue so this PR can be linked to it, as the repository is currently frozen to PRs implementing new features

hi,
i'm not sure this actually is an issue - i have not seen it myself - but i would rather reorganize the code like in this MR than remove the check. i don't feel that it's super important to get it into 3.4 to be honest.
thanks, jacob


Provide Apple's cctools

https://github.com/tpoechtrager/cctools-port
As an example building compiler-rt needs lipo https://github.com/llvm/llvm-project/blob/df3e903655e2499968fc7af64fb5fa52b2ee79bb/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake#L323

Turns out I can get lipo from llvm-lipo

cctools is available in the gcc shard on Darwin: https://github.com/JuliaPackaging/Yggdrasil/blob/master/0_RootFS/gcc_common.jl#L353-L362

I should have mentioned that I encountered this specifically during bootstrapping. So I didn't have the darwin environment


integrations: Update notifications for commented events in Jira integration.

This PR fixes:

Comment-related events not containing issue links.
Outdated instructions to set up the Jira integration.

Fixes part of: CZO
Screenshots and screen captures:

Current commented event notification.

Updated "comment" event notification.

"New" Jira Site administration page.

Updated Jira doc.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@zulipbot add "buddy review"
@kennethnrk Please review this!

We should add the Jira webhook events documentation in the related documentation section, just like we do for GitHub and similar webhooks.

The changes fix the issue of the comment related messages not containing links, other than comment_created_no_issue_details (I'm assuming no issue details means we don't have the url so that's fine).
Left one suggestion, but LGTM.
@zulipbot remove "buddy review"

Updated commit summary and description.
@sbansal1999 Thanks for the review :+1:

Marking this for maintainer review. @laurynmm
@zulipbot add "maintainer review"

@zulipbot remove "mentor review"

Also, just looking at your screenshot from the Jira admin UI, if you navigate to the Settings page at the very top, is that different from navigating to Jira settings via the Overview page? If so, could we simplify these instructions to use that navigation?

Unfortunately it doesn't go to the same page..

Updated the doc to address reviews, reformatted the note about compatible Jira version, and updated the doc screenshot in the PR description.
@laurynmm Thanks for the review! Let me know whether the changes have addressed your comments or not

@PieterCK - Thanks for making those updates! I was a bit unclear with one of my comments, so I went ahead and pushed a revision here. See updated documentation screenshot below. Going to go ahead and mark for integration review.

Updated Jira integration doc
current documentation

Looks great, merged, thanks @PieterCK!

This was backported in #31355.


VEN-35 Go to home URL when switching stores

When we switch stores -> go to /admin/orders page of newly selected Store. Related to the weird behavior occuring during QA of https://getvendo.atlassian.net/browse/VEN-35

@damianlegawiec So from the failing specs I can see that we want to be redirected to the same path (example /products) when we switch stores. Do I fix the specs and continue with this approach or do I go for another approach to fix this?


Ability to write properties across the Smart Contracts and Functions

VerX provides the way to write properties across the smart contracts and functions. For example, if a variable change in contract A happens then there must be some change in contract B. This sort of stuff. Better understandable through their documentation. VerX Multi contract Invariants
Can we do something like this with Scribble?

Good question. VerX expresses multi-contract invariants using temporal logic, which is a fairly expressive logic.
In scribble we can do something more limited - you can write an invariant over one contract, that holds at all observable points on that contract. If you want to access the state of another contract, you can only access whatever is returned by existing view functions on that contract.  Also you don't have access to the 'temporal' modalities, that allow you to specify orders on events.
So in the VerX documentation they have the following example:
// escrow is in state success only if the amount of raised
// funds exceed the goal of the crowdsale
property success_implies_goal_is_reached {
  always((Escrow.state == 1) ==> (Crowdsale.goal <= Crowdsale.raised));
}

If the Escrow.state variable is public, and you have a reference to Escrow in the Crowdsale contract, you can express a slightly weaker version of this in Scribble as follows:
contract Escrow {
    public uint8 state;
    ...
}

/// invariant escrow.state() == 1 ==> goal <= raised;
contract Crowdsale {
    Escrow escrow;
    uint goal;
    uint raised;
}

This property is slightly weaker than the original temporal invariant in VerX, as the condition is not checked immediately when state is set by 1, but instead its checked the first time that we call into Crowdsale, after setting Escrow.state to 1.
I hope this answers your question.

Thanks for the elaboration. Is there any possibility that in future we can do it in Scribble exactly the way VerX allows?

We have been discussing adding some form of temporal logic to Scribble which should get you close. Whether the semantics will be exactly the semantics of VerX is still unknown. The subtleties arise when you decide at what "ticks" in time the properties are checked. So short answer - there is a strong possibility you can get close to the VerX semantics, but there may be some multi-contract properties that are not easy to express in the exact same way.

@dearzubi  If this answers your question, may I close this issue?


All images are localized in tab: 🔥 Languages & Frameworks & Tools & Abilities 🔥

All links that start with "src="https://github.com/zumrudu-anka/zumrudu-anka/blob/master/images/" changed to "images/" to edit it quicker

Thank you


I hope it support bypass china great firewall....

I hope it support bypass china great firewall....
add a encrypt function?

Please be more clear next time.
If not code related, please go to pivpn subreddit.
Kind regards.


Removing diagrams that are no longer in solution

Gary and Brad this linked document to Vehicle Telemetry has edits as well

@DataSnowman,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@DataSnowman : Thanks for your contribution to the Azure documentation! The author, @bradsev, has been notified to review your proposed change.

#sign-off


Use mutex instead of combiner in client channel data plane.

The following factors may impact performance here:

Moving from combiner to mutex means adding lock contention, so threads could now be blocked in scenarios where there are multiple calls starting at the same time.  This could decrease performance.
Moving from combiner to mutex means no more thread hops in cases where there are multiple calls starting at the same time.  This could increase performance.
Due to the fact that the combiner mechanism is tied to our current closure mechanism, which we know has too much overhead, this change may improve performance by eliminating two callbacks for every pick (one to enter the combiner and another to leave it).

That last factor is somewhat orthogonal to the main purpose of this change.  In particular, any performance gains that might be caused by that could also be ameliorated by our plan to decouple the combiner from the closures, so it's hard to tell how much of a factor that is.
The fullsuite benchmarks don't show any notable performance change one way or the other.  However, the code is somewhat simpler this way, so it's probably a good simplification anyway.

This is now ready for review.  I've updated the description to explain the possible performance impacts.  I'd appreciate review from both @AspirinSJL and @soheilhy.
Please let me know if you have any questions.  Thanks!

I moved some more unrefs out of the critical section in another point.  Note that this required adding a swap() method to RefCountedPtr<>.
PTAL.

Known issues: #20095 #20075


Update headless example to warn on missing dep

Fix #324

We can't put this warning into the lib (opposed to example) as it would throw on a normal import of the lib

CI failing on repo pending https://github.com/akira-cn/node-canvas-webgl/pull/11 merge and release


Add Neo Siren alarm driver

Dear @JohanBendz,
After having waited some time, I decided to try by myself and I get something which works well for #52 ! I have to learn node.js and homey programming so sorry if everything is not properly done.
My work wand highly inspired from those 2 thinks:

https://raw.githubusercontent.com/kkossev/Hubitat/main/Drivers/Tuya Smart Siren Zigbee/Tuya Smart Siren Zigbee.groovy
https://github.com/mruiter/com.neo/tree/V3/drivers/NAS-AB01ZE

Also by the ay, I don't know if you know this... really interesting: https://github.com/zigpy/zha-device-handlers/tree/dev/zhaquirks/tuya
I think that it should work for NEO and regular Tuya siren but it will required some logic that I did not yet introduced to decide which command to send. Also I did not yet implemented the temperature and humidity alarm as this is not really needed by me.
I don't know if the behavior that I gave to the driver is the correct one because I decided to update the configuration if some  action card are used (i.e: I update the siren melody using action card, this keeps the config aligned). I don't know how to do it differently as I don't know yet how to request for attribut reporting when I need it.
Best,
Jerome
P.S: I really would like to have battery reporting on one of your other app for SONOFF devices and I would be really happy to do it but it seems close source... any way to help also here ?

Nice PR @jrevillard, thanks.
Merging.
I'll have a look at the info you provided.


[Adaptive] selectors and conditions

Description

Added selectors in botbuilder-dialogs-adaptive
Refactored conditions in botbuilder-dialogs-adaptive
Specific Changes

Testing

Is the 4.Future branch the right target?

Is the 4.Future branch the right target?

Yes, we are going to merge these changes into 4.future.


Docker-compose up error

Hi,
there is error
=> ERROR [examsimulator_app 3/5] COPY target/universal/examsimulator-1.0.zip ./

Thanks for the feedback. I have update the Read me file to fix this . There were 2 missing steps:

Install SBT
run in sbt console the cmd dist which will. produce the missing file.


appveyor enable build matrix

@MaEtUgR let's give this another try.

k, sure. Let's do one thing at a time. I added it to the project kanban.

@dagar can you rebase?


Using Hubflow

Using HubFlow
Why?
Hi, our development team uses HubFlow and think it might be a good tool to use for this project.
You don't need HubFlow to follow the proposed git flow, but it makes things much easier.
HubFlow also enforces things like tagging, changelogs, and releases. This makes it easier to develop things for the project, submit pull requests, and generate releases.
Details
Starting a New Feature
Basically, the idea is that you have a develop branch that's the main branch by default. Then if you're working on a new feature you create a branch executing: git hf feature start my-feature
Submitting a Pull Request
Once the branch is ready for review a pull request (can be labeled WiP) is submitted against the default branch on github. Once the PR is reviewed and approved it is merged into develop.
A pull request must also update the ChangeLog describing the changes.
Generating a Release
Once the release is ready the developer can tag it and merge it with master by doing: git hf release start 0.1.0 depending on the version.
Notes
This is just a suggestion based on how our team works with HubFlow. If it's too complex for this open source project please don't hesitate to close this issue.
Resources
ChangeLog: https://keepachangelog.com/en/1.0.0/
HubFlow: https://datasift.github.io/gitflow/

Thanks for this @therevoltingx. As this project matures, I think that having a bit of structure in place is a good idea. We could also ease into it by simply following the underlying git flow for now (e.g using develop as the default branch).
What do you think @kfichter ?

@barrasso
Ah that's a great idea! Yeah i think just using develop as the default branch would be a great way to go IMHO.

I'm going to close this for now. I don't think we're scaling far enough to make this necessary yet.


Azure Resources Missing

Type: Bug
Not all of my Azure Resources are showing up in Visual Studio Code.  I see most of them, but some of them are missing.
 It looks like you may be using an old version of VS Code, the latest stable release is 1.78.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Sounds like this is related to the vscode-azureresourcegroups extension. If so, please report it there. The Report Issue option from VS Code's Help menu may assist in routing your report correctly.

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines. If you don't know which extension is causing the problem, you can run Help: Start extension bisect from the command palette (F1) to help identify the problem extension.
Happy Coding!


[Meta] MarkUp? Markup?

https://en.wikipedia.org/wiki/Markup_language
We should use Markup for this meaning.

But this name is also making collision with this project.

https://github.com/SwiftDocOrg/SwiftMarkup

Maybe totally different name is better.


access stored swagger document for particular api (support)

Is it possible to access the documents generated by swagger inside the spring boot app, eg;
I have four APIs in an application
GET /api/read-api

PATCH /api/update-api

DELETE /api/delete-api

POST /api/create-api

and I have swagger configured in the application.
I have another class in the same project where I wanted to access the document for a particular input URL
public class SwaggerDocument{

    Map<String, Document>getDocument(String url){

       //I wanted to search generated document for input url

    }

}

Any help would be highly appreciated.

Do you use swagger-core or springfox?

Hey @webron ,
Yes, I can see the springfox-core:2.9.2 in the dependency tree because I have included these dependencies in my pom.
<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.9.2</version>
    </dependency>

Then you should be filing the issue with Springfox. While it uses some of our libraries, its parsing is different and not something we can address.


Invert Camera's rotate direction.

We have invert the View Matrix but that inversion only affect the position (or move direction) of the object.
When rotate Camera in one direction, the rendered object should be rotate in opposite direction, or the camera rotation should be inverted as well.

Isn't it easier to just rotate the rotation axis to {0.0f, 0.0f, -1.0f} ?

Sorry, I forgot that positive angle increment is counter-clockwise. Thanks for pointing that out.
This PR can be closed.


DSD-1490: Storybook 7 doc links

Fixes JIRA ticket DSD-1490
This PR does the following:

Adds additional component code to render headings and links in MDX somewhat better. Clicking on the anchor link element won't add the hash to the URL and clicking on any link in a TOC also won't add the hash to the URL. But now it will jump to the correct location.
Updating the hash is a general issue. I can't seem to get it to work and the documentation says one thing but that doesn't work. This is good for now and we can further update soon after.

How has this been tested?
Locally.
Accessibility concerns or updates

N/A

Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[ ] All new and existing tests passed.

Front End Review:

[ ] Review the Vercel preview deployment once it is ready.

Yeah, I think that's expected. Storybook loads the main content inside an iframe so links open in the iframe and remove the sidebar. Something we can do is map the storybook a with something like  {children}.
The target="_self" will allow the anchored link to stay within the iframe and on the main storybook doc page. However, any regular links to an external page open with in the iframe:

Another approach is to update all the TOC from
- [Overview](#overview)
- [Component Props](#component-props)
- [Accessibility](#accessibility)
- ...

to (with additional styles and also the Link component does not accept a target prop...)
- Overview
- Component Props
- Accessibility
- ...

I do not mind redo-ing all the TOC to add explicit links. It's annoying but will make the user experience better. The problem still exists, however, where the hash is not added to the URL. That I can't figure out yet.

I think we need to make that custom change to the TOC links and add the target attribute.  Otherwise, the UX, as you noted, will be poor and very confusing.  Is there any way I can help with that?
When you say the Link component does not accept a target prop, which Link component are you referring to?  Ours or somethign offered by Storybook?  I recall that there is a Storybook link add-on, but I didn't think we were using it.

Ok, np. I can make the TOC update in this PR by EOD.
The documentation here: https://storybook.js.org/docs/react/writing-docs/mdx#linking-to-other-stories-and-pages does not seem to work for me which makes this very confusing. There are some open issues regarding others encountering this as well. The workarounds do not work for me.
Our own Link component does not seem to take the target prop. That can be a minor separate PR and ticket. Maybe it can just be bundled into this PR? I don't mind making that update. It could update the suggested TOC approach to
- <Link href="#overview" target="_self">Overview</Link>

This will also help with styling now. So how about I add that to the Link component?

Ok, np. I can make the TOC update in this PR by EOD.
The documentation here: https://storybook.js.org/docs/react/writing-docs/mdx#linking-to-other-stories-and-pages does not seem to work for me which makes this very confusing. There are some open issues regarding others encountering this as well. The workarounds do not work for me.
Our own Link component does not seem to take the target prop. That can be a minor separate PR and ticket. Maybe it can just be bundled into this PR? I don't mind making that update. It could update the suggested TOC approach to
- <Link href="#overview" target="_self">Overview</Link>

This will also help with styling now. So how about I add that to the Link component?

Yes, that would be great.  Thanks.

Updated.

TOC now looks like this:

- {<Link href="#overview" target="_self">Overview</Link>}
- {<Link href="#component-props" target="_self">Component Props</Link>}
- {<Link href="#accessibility" target="_self">Accessibility</Link>}

It was the easiest way to make it look right.

Internal links have been updated. Now links are relative rather than absolute. To do this, the URL has to be prefixed with ../ along with the id of the story or doc url.

Before:
[HelperErrorText Storybook documentation](https://nypl.github.io/nypl-design-system/reservoir/v1/?path=/docs/components-content-display-helpererrortext--helper-error-text-with-controls)

Now:
[HelperErrorText Storybook documentation](../?path=/docs/components-content-display-helpererrortext--docs)


Create 2023-02-02-BonqDAO-AllianceBlock.md

@kishoian, you need to mark the conversations as resolved and ping the reviewers in the comment section if you want them to check your pull request again. Otherwise, it will be considered as work in progress.

@kishoian status?

/payout


Kubelet Service Kill / Node Drain - Wrong Node-Selector

What happened: Creating kubelet-service-kill or node-drain workflow assigns nodeselector as node02 or node03
What you expected to happen: Nodename for pod to be deployed should be input or valid
How to reproduce it (as minimally and precisely as possible): Create workflow -> kubelet-service-kill -> Enter NodeName -> Add Experiment -> Finish adding experiment -> Construct workflow -> Check yaml -> nodeselector has kubernetes.io/hostname: node02
Anything else we need to know?: Version: Litmus 2.0
Kubelet-service-kill pod event:
Warning  FailedScheduling  44s (x5 over 5m13s)  default-scheduler  0/3 nodes are available: 3 node(s) didn't match node selector.

Closing this issue as it is not reproducible with the latest litmus version. You can re-open it, if you are still facing this issue with latest version


Add a sample please using PowerShell

Hi,
Can you kindly add instructions and a sample when using PowerShell ?

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

ID: a06f1183-a468-8a9c-1dc4-4fb5dab23397
Version Independent ID: 6314fa56-29a9-293a-bd68-08593dab5e10
Content: Use Azure Active Directory for cache authentication - Azure Cache for Redis
Content Source: articles/azure-cache-for-redis/cache-azure-active-directory-for-authentication.md
Service: cache
GitHub Login: @flang-msft
Microsoft Alias: franlanglois

@HAL377 Thank you for your feedback. We will review and make change if needed.

+++ @philon-msft

@shpathak-msft are we planning docs/samples for how to configure AAD using management clients rather than the Portal (PowerShell, az CLI, ARM templates, etc?)

@HAL377 - Thanks for your dedication to our documentation. We do not have plans for a Powershell sample at this time. However, we have added information the CLI reference on identity.
We have ARM and Bicep templates available as well for use in creating caches with Microsoft Entra ID.
We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


color is not being properly forwarded to badge

Seems like color is not being properly forwarded to the batch. It also seems like the echo statement shows that it is not properly extracted:
![Screenshot 2021-06-01 at 16 15 23](https://user-images.githubusercontent.com/23721977/120338574-a6223300-c2f4-
11eb-8dde-5104a4173e8b.png)
(screenshot taken from actions on this Github)

Thanks for the reporting. Fixed the issue (see the workflow)


New changes to table

I'm not sure if my last pull request went through; please use this version to merge with master and push to staging

Q
A

content fix?
yes

New article?
no

Fixes to update tables

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/themes-colors.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update opt out link detection

We need to update the Do Not Sell link detection. Two points:

Expand the regex: As @katehausladen was saying:

10/40 The link is now named some iteration of "Your Privacy Choices"/"Your Privacy Options"/"Manage Your Privacy Choices." If this terminology is accepted as equivalent to a DNSL, we should expand the regular expression to include variations of this.

Expansion of the regex should also include "Limit the Use of My Sensitive Personal Information" links (see below).

Detect icon or icon text (the latter via regex): There is now an official Do Not Sell icon and accompanying text sanctioned by the California regulator. So, let's check if we can search for the [icon and/or icon text].

These changes are based on the new (and final CCPA) regulations:

§ 7015. Alternative Opt-out Link.
(a) The purpose of the Alternative Opt-out Link is to provide businesses the option of providing consumers with a single, clearly-labeled link that allows consumers to easily exercise both their right to opt-out of sale/sharing and right to limit, instead of posting the two separate “Do Not Sell or Share My Personal Information” and “Limit the Use of My Sensitive Personal Information” links. The Alternative Opt-out Link shall direct the consumer to a webpage that informs them of both their right to opt-out of sale/sharing and right to limit and provides them with the opportunity to exercise both rights.
(b) A business that chooses to use an Alternative Opt-out Link shall title the link, “Your Privacy Choices,” or, “Your California Privacy Choices,” and shall include the following opt-out icon adjacent to the title. The link shall be a conspicuous link that complies with section 7003, subsections (c) and (d), and is located at either the header or footer of the business’s internet homepage(s). The icon shall be approximately the same size as other icons used by the business in the header or footer of its webpage.
(c) The Alternative Opt-out Link shall direct the consumer to a webpage that includes the following information:
(1) A description of the consumer’s right to opt-out of sale/sharing and right to limit, which shall comply with section 7003, subsections (a) and (b); and
(2) The interactive form or mechanism by which the consumer can submit their request to opt-out of sale/sharing and their right to limit online. The method shall be easy for consumers to execute, shall require minimal steps, and shall comply with section 7004.

Here is how the icon looks (as developed by Lorrie Cranor and her team as we heard in the Shasha Seminar):

@OliverWang13 will take the lead on this with the help of @sophieeng.

I have created a branch (422) in the crawler repo and changed the regex to include the following
Your Privacy Choices
Your Privacy Options
Manage Your Privacy Choices
Limit the Use of My Sensitive Personal Information
Your California Privacy Choices
As well as a few other possible combinations. @katehausladen, do you know some sites that use these phrasings so I can test the new regex?

I uploaded the changed regex but for this change to take effect we still need to repackage the extension as an xpi file for the crawler to load.

I changed the regex and created the xpi file, and tests show that the regex is able to capture a lot more now. This issue should be resolved, so I will be closing it.


WIP: Migrate to BCrypt hashes

When users login, their passwords will be updated to the new BCrypt hashes.
For the next two releases the old sha password hashes will be supported.
After that the old password hashes are not usable anymore.
Resolves #34

Sorry, forgot to comment that this PR is WIP.
We need to talk about:

How long we want to support both encoder, stop after two releases is what @wallner suggested
The strength of the gensalt, I chose 12, based on recommendation I read somewhere (sorry, post the link later)
How we deal with old hashes after the support for the old encoder ends, @wallner suggested to lock the users with a Flyway migration
The search needs to be updated, the password should not be recognized

Corresponding ITs https://github.com/osiam/connector4java-integration-tests/pull/305

How long we want to support both encoder, stop after two releases is what @wallner suggested

"after two releases" a little bit ambiguous. Does it mean we remove support for old hashed passwords in OSIAM 3.3 or 3.4?

The strength of the gensalt, I chose 12, based on recommendation I read somewhere (sorry, post the link later)

12 is the currently recommended default. Or is it 13 already? I think this should be made configurable. After all BCrypt is designed to get slower over time to compensate increasing computing power. Let's start with 12 as the default value and revise the default every year. Is it possible to change the value without invalidating all current passwords, i.e. is the number of rounds stored with the hash?

How we deal with old hashes after the support for the old encoder ends, @wallner suggested to lock the users with a Flyway migration

They're locked anyway, because there's no way to generate the old hash anymore. I think users that missed the grace period should just reset their password or create a new account, ore something else, depending on the application. But why bother the users of OSIAM which such hassle?
At this time we store salted SHA-512 hashed 1000 times. Why not use these hashes to bootstrap BCrypt? We could just create a combined password encoder that will work forever by first hashing the password with SHA-512 a thousand times before passing it to BCrypt. And a thousand times isn't really much. My Laptop makes 1200 rounds each millisecond. So it would not even bother the server's CPU to calculate this hash for each login. The actual migration to a BCrypy hash can then be made automatically (flyway or other migration) or when the user logs in the next time (like planned).

The search needs to be updated, the password should not be recognized

Do you mean this: #56?

Another question: Is this scheduled for 3.0?

Yes. Any comments on this?

Yes. Any comments on this?

I don't understand the question.

I don't understand the question.

Sorry, I meant do you have any questions about this PR changes?

Yes, I do: https://github.com/osiam/osiam/pull/53#issuecomment-160771026 :)

"after two releases" a little bit ambiguous. Does it mean we remove support for old hashed passwords in OSIAM 3.3 or 3.4?

Yes, that's ambiguous. What about to remove it with OSIAM 4.0?

12 is the currently recommended default. Or is it 13 already? I think this should be made configurable. After all BCrypt is designed to get slower over time to compensate increasing computing power. Let's start with 12 as the default value and revise the default every year. Is it possible to change the value without invalidating all current passwords, i.e. is the number of rounds stored with the hash?

I guess it's possible, but I need to spend more time on that. I don't know if the rounds stored, but I check this.

They're locked anyway, because there's no way to generate the old hash anymore. I think users that missed the grace period should just reset their password or create a new account, ore something else, depending on the application. But why bother the users of OSIAM which such hassle?

I hope that we provide a password reset functionality when integrating the self-administration in the core service ;)

At this time we store salted SHA-512 hashed 1000 times. Why not use these hashes to bootstrap BCrypt? We could just create a combined password encoder that will work forever by first hashing the password with SHA-512 a thousand times before passing it to BCrypt. And a thousand times isn't really much. My Laptop makes 1200 rounds each millisecond. So it would not even bother the server's CPU to calculate this hash for each login. The actual migration to a BCrypy hash can then be made automatically (flyway or other migration) or when the user logs in the next time (like planned).

@wallner mentioned that it is not a good idea to hash a hash. Again, also to this topic I ask google.

The search needs to be updated, the password should not be recognized

Do you mean this: #56?

Yes, I updated the todo list in my comment

Updated and rebased

Doing a little bit of research I found this paper about combining hashing algorithms and comes to the conclusion that combining hash algorithms might not be the best idea. I realize, that this is something other than what @tkrille has in mind, however, I would still recommend avoiding mixing hash-alogrithms.

Updated

Before this is mergeable I need to check what the recommend default for the strength of the gensalt

@wallner I did some research, too. Seems that somehow combining hash functions is not a problem at all, but the way they are combined is. Neither simple concatenating nor composition provide sufficient security. Thanks to the paper you've linked, XOR'ing has been finally proven insecure. There seems some new and exciting ways to securely combine hash functions, but I don't think it's worth the effort. After all, BCrypt is already secure enough and we don't strive to make it more secure by pre-hashing passwords, we only want to keep the migration efforts to a minimum. There are also a bunch of problems with losing entropy, depending on the password lengths, key sizes and the hash function's output format.
So long story short, we should stick with the initial idea: migrate the users to bcrypt and throw the old hashes away.

@dacrome I think it's 13 nowadays.

So, @dacrome I'm fine with this PR and will happily merge it, but as far as I can tell it's missing tests for the crucial logic of it. Please add some.

@tkrille ok, I will update to the gensalt strength of 13... sadly, I have to update all database seeds in the ITs
@wallner damn, off course I have to!

@tkrille updated strength of gensalt to 13, also all database seeds in the IT

@wallner I add some unit tests later. I can think of mainly test the change in the InternalAuthenticationProvider, right?

Yes. Please.

@wallner added some unit tests

I changed the description https://github.com/osiam/osiam/pull/53#issue-113182274

Thank you for the work!


make use of k8s prow owners meachanism

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

cc @nlgwcy @YaoZengzeng


Investigate issue with Ubuntu 16.04

https://github.visualstudio.com/virtual-environments/_build/results?buildId=101792&view=results

GCC packages are fixed in - http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu


Cleanup: removed unused vars

Coverage increased (+0.21%) to 79.08% when pulling 5fa05b71ab858bfe580963f559b9dbb5362f20d5 on ins0:fix/cleanup into 077b1e2356b663e5893986fbbb2e039abfe126e5 on EvanDotPro:master.

Thanks @ins0


Backend is pulling system images from private registry even though cluster registry is not set to default registry

Version: Master (4/19/19)
What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

In the UI, create any RKE cluster and add a private registry
Use a fake URL, username, and password, leave "System Default Registry" unchecked
UI will POST to create the cluster with the private registry not set to default (so shouldn't pull system images)

Result:
The cluster will fail to provision because ClusterController appears to be attempting to pull system images even though this is not the default registry.
Error in rancher server logs:
2019/04/19 22:27:12 [ERROR] ClusterController c-h7m8t [cluster-provisioner-controller] failed with : [Error checking if image [https://test1.test.com/rancher/rke-tools:v0.1.28] exists on host [IP-ADDRESS-REDACTED]: Error response from daemon: no such image: https:/test1.test.com/rancher/rke-tools:v0.1.28: invalid reference format]

Snippet of HTTP POST to create cluster:
privateRegistries: [{isDefault: false, type: "privateRegistry", url: "https://test1.test.com", user: "testuser",…}]
0: {isDefault: false, type: "privateRegistry", url: "https://test1.test.com", user: "testuser",…}
isDefault: false
password: "testpassword"
type: "privateRegistry"
url: "https://test1.test.com"
user: "testuser"

API confirms is not default registry:
privateRegistries": [
{
"isDefault": false,
"type": "/v3/schemas/privateRegistry",
"url": "https://test1.test.com",
"user": "testuser"
}
],

Other details that may be helpful:
Required fix in order to validate (test) #19325

Added triaged label; we need this in JIRA to connect with ER-92

➤ David Nuzik commented:
Closing this issue and I will remove the blocking links in JIRA. This issue was created due to a misunderstanding. When a private registry is provided when creating a cluster this is for system images. It should always pull system images and we were providing an invalid URL (fake one) so this is completely expected.
The confusion was around another issue that states a non-default registry should not pull system images which is not true. Again, registries provided when creating a cluster are for system images. For non-system images – you should create a registry under the project in Rancher. In a situation where a registry is not default it still gets used if is only entry.


VPE: component palette panel should be resizable

Is your feature request related to a problem? Please describe.
Component category names don't necessarily fit into the fixed space provided by the palette, leading to truncation:

Currently one has to hover over a category name to read the complete text.
Describe the solution you'd like
Mirror the behavior of the properties panel, which can be resized.

Is resizing of the palette something the canvas could support natively? (The capability to resize the properties panel shown in the screen capture above was added to the Elyra pipeline editor, but we are trying to avoid the need to reimplement the palette panel to accomplish the same.)

Yes, it is possible however it seems like a lot of work to just get some text to display. In the nodes in the palette we wrap the text. Would it work for you to do the same in the category text? Alternatively what about if we allowed you to set a different width for the palette?

If neither of these are acceptable it would be great if you could work on the feature in Elyra Canvas and contribute it back. (It would have been useful if that could have been done with the right flyout too.)

@ptitzler   ⬆

Yes, sorry Craig. I would probably favor the text wrapping approach, even though that might potentially yield (visually) awkward results for very long category names.

@ptitzler What size names are you using?  Why are they so long ?

Most category names are provided by the user when they add components to the registry, which populates the palette:

For the "defaults" Elyra provides (see highlights) the current width is just fine:

How about restrictig the number of characters they can enter for a category name?  It doesn't make sense to have really long string for what is essentially a tab title.


Wiki / systemd system unit -> Session timeout when following wiki instructions, recent libseat changes

The cage wiki instructions at https://github.com/cage-kiosk/cage/wiki/Starting-Cage-on-boot-with-systemd following https://lists.freedesktop.org/archives/wayland-devel/2017-November/035973.html don't work as is (libseat/logind: "timeout waiting session to become active" in wlroots), need to add one ExecStartPre=+chvt ....
See https://todo.sr.ht/~kennylevinsen/seatd/25

Done


Finished hero section

Let me know if this looks alright. I can pull and merge the previous changes first if that makes things easier for you.

Also since there are conflicts in this PR, it'll be a great learning opportunity! If you are joining Wednesday we can go over it as a class. If not then we'll resolve these first thing on Saturday!

I won't be able to make it tomorrow unfortunately, so I guess we'll just resolve it on Saturday?


"Secondary Engine Range" Unavailable when 0

"Secondary Engine Range" is reporting the sensor as Unavailable when value is 0. The sensor should still show as available, but display 0.
2024-04-11 06:00:02.276 DEBUG (MainThread) [custom_components.audiconnect.audi_models] Found and appended state with timestamp: name=secondaryEngineRange, tsoff=-2, loc=['fuelStatus', 'rangeStatus', 'value', 'carCapturedTimestamp'], val=0, ts=2024-04-11 04:17:04+00:00

audi_connect_account.py
# Current Logic
    @property
    def secondary_engine_range_supported(self):
        check = self._vehicle.state.get("secondaryEngineRange")
        if check and check != "unsupported":
            return True

# Logic to test
    @property
    def secondary_engine_range_supported(self):
        check = self._vehicle.state.get("secondaryEngineRange")
        if check is not None and check != "unsupported":
            return True


Did not like teh new UI... too bad..cant open multiple windows and test

Did not like teh new UI... too bad..cant open multiple windows and test
Expected outcome
No good UI design... bad..cant open multiple windows and test
Actual outcome
.cant open multiple windows and test
Versions
App: <IP_ADDRESS>-stable
Chrome: 49.0.2623.112
Platform: Windows (7)
Steps to reproduce

Hi,
Thank you for issue report.
New window open button is in left nav panel:

I'll close this issue as WAI.


libdivsufsort: fix cross-compilation

Issue before: malloc not found on architecture
Adding cmake fixed this for me.
make[1]: Entering directory '/build/libdivsufsort-2.0.1/examples'
aarch64-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include     -g -O2 -c suftest.c
/nix/store/p6dlr3skfhxpyphipg2bqnj52999banh-bash-5.2-p15/bin/bash ../libtool --tag=CC   --mode=link aarch64-unknown-linux-gnu-gcc  -g -O2   -o suftest suftest.o ../lib/libdivsufsort.la
libtool: link: aarch64-unknown-linux-gnu-gcc -g -O2 -o suftest suftest.o  ../lib/.libs/libdivsufsort.a
/nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: suftest.o: in function main': /build/libdivsufsort-2.0.1/examples/suftest.c:128: undefined reference to rpl_malloc'
/nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: /build/libdivsufsort-2.0.1/examples/suftest.c:129: undefined reference to rpl_malloc' /nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: ../lib/.libs/libdivsufsort.a(libdivsufsort_la-divsufsort.o): in function divsufsort':
/build/libdivsufsort-2.0.1/lib/divsufsort.c:343: undefined reference to rpl_malloc' /nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: /build/libdivsufsort-2.0.1/lib/divsufsort.c:344: undefined reference to rpl_malloc'
/nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: ../lib/.libs/libdivsufsort.a(libdivsufsort_la-divsufsort.o): in function divbwt': /build/libdivsufsort-2.0.1/lib/divsufsort.c:371: undefined reference to rpl_malloc'
/nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: ../lib/.libs/libdivsufsort.a(libdivsufsort_la-divsufsort.o):/build/libdivsufsort-2.0.1/lib/divsufsort.c:372: more undefined references to `rpl_malloc' follow
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:290: suftest] Error 1
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] 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
[ ] 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.

Did you compare output on x86 (e.g. with diffoscope)? Adding cmake will probably change the build process, so keep in mind that this may break things. Also consider building some reverse dependencies

Result of nixpkgs-review pr 246588 run on x86_64-linux 1

2 packages built:

flips
libdivsufsort

@Mindavi This software only includes a CMakeLists.txt, so no autotools or Makefile support upstream. I only made the cmake dependency explicit.

Interesting, when the project moved from google code to Github, they dropped the autotools support. https://github.com/y-256/libdivsufsort

Result of nixpkgs-review pr 246588 run on x86_64-linux 1

2 packages built:

flips
libdivsufsort

@Mindavi


Virtual or software synth output

We need the ability to preview sounds in the browser. We may want to use a software synth plugin like Jazz or generate raw MIDI data using an oscillator. A wrapper may be the best solution to this problem.

Decided to use a square wave oscillator in the same way that they do it at the Qwerty Hancock demo site as the built in output synth for now. In a future enhancement, I should look at using sound fonts or web synth links.


Dodanie nowej uczelni

@MAGBUT First stage of verification passed, official domain is ans-ns.edu.pl as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@MAGBUT Thank you for your patience while waiting for a review and processing your request. Pull request merged.


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.12 to before v5.12.10",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ae81feb7338c89cee4e6aa0424bdab2ce2b52da2",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2411c02d03892a5057499f8102d0cc1e0f852416"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "ae81feb7338c89cee4e6aa0424bdab2ce2b52da2",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "2411c02d03892a5057499f8102d0cc1e0f852416",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "sch_htb: fix refcount leak in htb_parent_to_leaf_offload\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.12.10 by commit 2411c02d03892a5057499f8102d0cc1e0f852416, it was introduced in version v5.12 by commit ae81feb7338c89cee4e6aa0424bdab2ce2b52da2. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1000802


[Feature]: Enhancing jest.mock with Reference Validation Functionality

Feature Proposal
I propose an enhancement to the jest.mock function in Jest by implementing a mechanism that allows validation of the string provided to jest.mock. The primary aim of this feature is to improve reliability when mocking dependencies by ensuring the references used in mocks remain accurate, even if the referenced modules or dependencies are moved or removed. Unlike the automatic reference updates in import('module'), this feature would not auto-update the string, but it would facilitate tools such as ESLint to identify when a module reference is invalid and allow them to perform such updates.
Motivation
Currently, the jest.mock function allows us to mock both external dependencies (libraries) and internal modules (JS/TS files). When leveraging tools like VSCode, ESLint, and TypeScript, changes in internal modules and the removal of dependencies are detected before they can cause runtime issues. However, changing the reference of what's being mocked doesn't update the string provided to jest.mock, which can introduce undetected problems during the development cycle. By enabling reference validation, we could circumvent these issues, thereby enhancing Jest's reliability.
Example
If a mock is created for a module called './module', and this module is later moved to a different location, say './new-module', the string provided to jest.mock would still refer to './module'. With the proposed feature, Jest wouldn't automatically update the reference, but it would enable tools like ESLint to identify the invalid reference, and facilitate their mechanisms for updates:
jest.mock('./module', ...);
...
// The module is moved to a new location
import NewModule from './new-module';

// ESLint, or a similar tool, identifies the outdated reference
jest.mock('./new-module', ...);

Pitch
The proposed feature would significantly enhance the Jest testing library, making it more resilient to changes in the code base and the testing environment. It facilitates the use of mocks by ensuring their accuracy and relevance, thus increasing test reliability. Given the crucial role that jest.mock plays in many testing scenarios, it's evident that enhancing its functionality in this manner is a valuable addition to the Jest core platform.

Not sure if Jest can provide this functionality. Sounds like that could be done by IDE extension. See https://github.com/jest-community/vscode-jest/issues/946


#151 Matrix Column

As per #151
Column introduced.

@rultor merge

@rultor merge

@vssekorin OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@vssekorin Done! FYI, the full log is here (took me 10min)


Generate a logo

Generate a logo for the webiste using Dall-E

Logo generated and located in google drive.


http: enable to configure core retry policy as stream options

Signed-off-by: Shikugawa<EMAIL_ADDRESS>
Commit Message: The conversion from core::RetryPolicy to route::RetryPolicy is essential for basic stream option setup. But in current impl, that is isolated on JWK fetcher and needed to use https://github.com/envoyproxy/envoy/pull/17469. This refactor includes to the solution of them.
Additional Description:
Risk Level: Low
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

/assign-from @envoyproxy/maintainers
for non-Tetrands review

@jmarantz Could you take a look?

@lizan Could you take a look?

@jmarantz mind doing a non-tetrands check?

/retest

/retest

/retest


[Error Analysis]: X axis in data explorer missing for classification outcome

I believe this was already fixed with https://github.com/microsoft/responsible-ai-widgets/pull/322

closing as it was verified this was fixed by @nushib


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:22: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:27: python_build_tool_in_run: The python build tool setuptools is in run depends
ERROR: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:32: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:39: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:39: missing_description: The recipe is missing a description
ERROR: /tmp/abs_73rirx_6ni/clone/recipe/meta.yaml:39: missing_dev_url: The recipe is missing a dev_url
Errors were found


Improper initial values when supports of the prior distribution are themselves random

While trying out my first example in Turing I ran into an issue (see discussion here: https://discourse.julialang.org/t/help-with-first-non-trivial-turing-example/38964/14)
Apparently Turing does not provide proper initial values when supports of the prior distribution are themselves random. Below is an example in which the issue arises. Note that the example may have other issues as well:
# Import Turing and Distributions.
using Turing, Distributions

n = 1000
m = 10
k = 4
theta = randn(n)
b = zeros(k,m)
for i in 1:m
    b[1,i] = randn()
    for j in 2:k
        dd = truncated(Normal(), b[j-1,i], Inf)
        b[j,i] = rand(dd)
    end
end

logit = x -> log(x / (1 - x))
invlogit = x -> exp(x)/(1 + exp(x))
y = zeros(m,n)
probs = zeros(k,m,n)
for p in 1:n
    for i in 1:m
        probs[1,i,p] = 1.0
        for j in 1:(k-1)
            Q = invlogit(theta[p] - b[j,i])
            probs[j,i,p] -= Q
            probs[j+1,i,p] = Q
        end
        y[i,p] = rand(Categorical(probs[:,i,p]))
    end
end

# Graded Response Model
@model function grm(y, n, m, k, ::Type{TC}=Array{Float64,3}, ::Type{TM}=Array{Float64,2}, ::Type{TV}=Vector{Float64}) where {TC, TM, TV}
    b = TM(undef, k, m)
    for i in 1:m
        b[1,i] ~ Normal(0,1)
        for j in 2:k
            b[j,i] ~ truncated(Normal(0,1), b[j-1,i], Inf)
        end
    end
    probs = TC(undef, k, m, n)
    theta = TV(undef, n)
    for p in 1:n
        theta[p] ~ Normal(0,1)
        for i in 1:m
            probs[1,i,p] = 1.0
            for j in 1:(k-1)
                Q = invlogit(theta[p] - b[j,i])
                probs[j,i,p] -= Q
                probs[j+1,i,p] = Q
            end
            y[i,p] ~ Categorical(probs[:,i,p])
        end
    end
    return theta, b
end;

result = sample(grm(y, n, m, k), MH(), 1)

With error
Sampling: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| Time: 0:00:01
ERROR: ArgumentError: Categorical: the condition isprobvec(p) is not satisfied.

Here probs[:i,p] should be guarenteed to be a probability vector as long as the b[:,i] are in ascending order. If we put in some debugging print statements we find that at times the b[:,i] are not in ascending order.

Thanks @bdeonovic for opening this. Fixing this issue requires a non-trivial redesign of parts of DynamicPPL. I am on it though.

Btw this particular case can be worked around using a custom distribution and a custom bijector:
using Distributions, Bijectors

struct MyDistribution <: ContinuousMultivariateDistribution
    n::Int
end

function Base.rand(d::MyDistribution)
	b = zeros(d.n)
    b[1] = rand(Normal(0,1))
	for i in 2:d.n
        b[i] = rand(truncated(Normal(0,1), b[i-1], Inf))
    end
    return b
end
function Distributions.logpdf(d::MyDistribution, b::AbstractVector)
    l = logpdf(Normal(0,1), b[1])
	for i in 2:d.n
        l += logpdf(truncated(Normal(0,1), b[i-1], Inf), b[i])
    end
    return l
end

struct MyBijector <: Bijectors.Bijector{1} end
function (b::MyBijector)(x::AbstractVector)
	y = similar(x)
	y[1] = x[1]
	for i in 2:length(x)
		y[i] = bijector(truncated(Normal(0,1), x[i-1], Inf))(x[i])
	end
	return y
end
function (b::Inverse{<:MyBijector})(y::AbstractVector)
	x = similar(y)
	x[1] = y[1]
	for i in 2:length(y)
		x[i] = inv(bijector(truncated(Normal(0,1), x[i-1], Inf)))(y[i])
	end
	return x
end
function Bijectors.logabsdetjac(b::MyBijector, x::AbstractVector)
	l = float(zero(eltype(x)))
	for i in 2:length(x)
		l += logabsdetjac(bijector(truncated(Normal(0,1), x[i-1], Inf)), x[i])
	end
	return l
end
Bijectors.bijector(d::MyDistribution) = MyBijector()

Thanks @mohamed82008, could you point me towards some material for how I can now use the defined custom distribution and bijector in order to sample from the posterior distribution?

Once you have the above definitions you can use MyDistribution as a prior in the model like any other distribution. So your model becomes:
# Graded Response Model
@model function grm(y, n, m, k, ::Type{TC}=Array{Float64,3}, ::Type{TM}=Array{Float64,2}, ::Type{TV}=Vector{Float64}) where {TC, TM, TV}
    b = TM(undef, k, m)
    for i in 1:m
        b[1,:] ~ MyDistribution(k)
    end
    probs = TC(undef, k, m, n)
    theta = TV(undef, n)
    for p in 1:n
        theta[p] ~ Normal(0,1)
        for i in 1:m
            probs[1,i,p] = 1.0
            for j in 1:(k-1)
                Q = invlogit(theta[p] - b[j,i])
                probs[j,i,p] -= Q
                probs[j+1,i,p] = Q
            end
            y[i,p] ~ Categorical(probs[:,i,p])
        end
    end
    return theta, b
end;

Currently getting this error:
julia> result = sample(grm(y, n, m, k), MH(), 10)
ERROR: MethodError: no method matching reconstruct(::Array{MyDistribution,1}, ::Array{Float64,1})

This works for me:

using Turing
using Distributions, Bijectors

struct MyDistribution <: ContinuousMultivariateDistribution
    n::Int
end

function Base.rand(d::MyDistribution)
    b = zeros(d.n)
    b[1] = rand(Normal(0,1))
        for i in 2:d.n
        b[i] = rand(truncated(Normal(0,1), b[i-1], Inf))
    end
    return b
end
function Distributions.logpdf(d::MyDistribution, b::AbstractVector)
    l = logpdf(Normal(0,1), b[1])
    for i in 2:d.n
        l += logpdf(truncated(Normal(0,1), b[i-1], Inf), b[i])
    end
    return l
end

struct MyBijector <: Bijectors.Bijector{1} end
function (b::MyBijector)(x::AbstractVector)
    y = similar(x)
    y[1] = x[1]
    for i in 2:length(x)
        y[i] = bijector(truncated(Normal(0,1), x[i-1], Inf))(x[i])
    end
    return y
end
function (b::Inverse{<:MyBijector})(y::AbstractVector)
    x = similar(y)
    x[1] = y[1]
    for i in 2:length(y)
        x[i] = inv(bijector(truncated(Normal(0,1), x[i-1], Inf)))(y[i])
    end
    return x
end
function Bijectors.logabsdetjac(b::MyBijector, x::AbstractVector)
    l = float(zero(eltype(x)))
    for i in 2:length(x)
        l += logabsdetjac(bijector(truncated(Normal(0,1), x[i-1], Inf)), x[i])
    end
    return l
end
Bijectors.bijector(d::MyDistribution) = MyBijector()

n = 10
m = 10
k = 4
theta = randn(n)
b = zeros(k,m)
for i in 1:m
    b[1,i] = randn()
    for j in 2:k
        dd = truncated(Normal(), b[j-1,i], Inf)
        b[j,i] = rand(dd)
    end
end

logit = x -> log(x / (1 - x))
invlogit = x -> exp(x)/(1 + exp(x))
y = zeros(m,n)
probs = zeros(k,m,n)
for p in 1:n
    for i in 1:m
        probs[1,i,p] = 1.0
        for j in 1:(k-1)
            Q = invlogit(theta[p] - b[j,i])
            probs[j,i,p] -= Q
            probs[j+1,i,p] = Q
        end
        y[i,p] = rand(Categorical(probs[:,i,p]))
    end
end

# Graded Response Model
@model function grm(y, n, m, k, ::Type{TC}=Array{Float64,3}, ::Type{TM}=Array{Float64,2}, ::Type{TV}=Vector{Float64}) where {TC, TM, TV}
    b = TM(undef, k, m)
    for i in 1:m
        b[:,i] ~ MyDistribution(k)
    end
    probs = TC(undef, k, m, n)
    theta = TV(undef, n)
    for p in 1:n
        theta[p] ~ Normal(0,1)
        for i in 1:m
            probs[1,i,p] = 1.0
            for j in 1:(k-1)
                Q = invlogit(theta[p] - b[j,i])
                probs[j,i,p] -= Q
                probs[j+1,i,p] = Q
            end
            y[i,p] ~ Categorical(probs[:,i,p])
        end
    end
    return theta, b
end;

result = sample(grm(y, n, m, k), HMC(0.01, 4), 100)

Thanks a lot @mohamed82008! I've simplified the code a bit (and allowed the categories to be variable for each item. The following code is a bit shorter. Only problem is that it is a bit slow to sample. Any suggestions?
# Import Turing and Distributions.
using Turing, Distributions, Bijectors

struct MyDistribution <: ContinuousMultivariateDistribution
    n::Int
end

function Distributions.length(d::MyDistribution)
    d.n
end

function Base.rand(d::MyDistribution)
	b = zeros(d.n)
    b[1] = rand(Normal(0,1))
	for i in 2:d.n
        b[i] = rand(truncated(Normal(0,1), b[i-1], Inf))
    end
    return b
end
function Distributions._logpdf(d::MyDistribution, b::AbstractVector)
    l = logpdf(Normal(0,1), b[1])
	for i in 2:d.n
        l += logpdf(truncated(Normal(0,1), b[i-1], Inf), b[i])
    end
    return l
end

struct MyBijector <: Bijectors.Bijector{1} end
function (b::MyBijector)(x::AbstractVector)
	y = similar(x)
	y[1] = x[1]
	for i in 2:length(x)
		y[i] = bijector(truncated(Normal(0,1), x[i-1], Inf))(x[i])
	end
	return y
end
function (b::Inverse{<:MyBijector})(y::AbstractVector)
	x = similar(y)
	x[1] = y[1]
	for i in 2:length(y)
		x[i] = inv(bijector(truncated(Normal(0,1), x[i-1], Inf)))(y[i])
	end
	return x
end
function Bijectors.logabsdetjac(b::MyBijector, x::AbstractVector)
	l = float(zero(eltype(x)))
	for i in 2:length(x)
		l += logabsdetjac(bijector(truncated(Normal(0,1), x[i-1], Inf)), x[i])
	end
	return l
end
Bijectors.bijector(d::MyDistribution)= MyBijector()

n = 1000
m = 3
ks = [3,4,5]
theta = randn(n)
b = Array{Float64,1}.(undef, ks)
for i in 1:m
    b[i] .= rand(MyDistribution(ks[i]-1))
end

y = zeros(m,n)
for p in 1:n
    for i in 1:m
       y[i,p] = rand(OrderedLogistic(theta[p], b[i]))
    end
end

# Graded Response Model
@model function grm(y, n, m, ks, ::Type{TV}=Vector{Float64}) where {TV}
    b = TV.(undef, ks)
    for i in 1:m
      b[i] ~ MyDistribution(ks[i]-1)
    end
    theta = TV(undef, n)
    for p in 1:n
        theta[p] ~ Normal(0,1)
        for i in 1:m
            y[i,p] ~ OrderedLogistic(theta[p], b[i])
        end
    end
    return theta, b
end;

result = sample(grm(y, n, m, ks), HMC(0.01,4), 10);

Try:
using ReverseDiff, Memoization
Turing.setadbackend(:reversediff)
Turing.setrdcache(true)

before the sample line.

Hmm actually the caching may not work well with OrderedLogistic because it has branches inside. So ignore the Turing.setrdcache(true) and if you set it true already, set it back to false.

Alternatively, we can define a ReverseDiff custom adjoint for the logpdf of OrderedLogistic and then caching should work.

Hmm on third thought, caching should work fine because the branch taken by the logpdf function for each loop iteration is the same each time the function is called because y is fixed. So ignore my previous comment :)

You may need to call Turing.emptyrdcache() when changing y though.

I just tried it....I tabbed over to read about something else and when I looked back the sampling was already done! I'm rerunning it out of disbelief.

Hahaha that's ReverseDiff for you! Check the results against other backends for a small data case before committing fully.

Always good to run some sanity tests :)

One more thing; For the bijector, if I wanted MyDistribution to take in as another parameter a "base" distribution
struct MyDistribution <: ContinuousMultivariateDistribution
  d::ContinuousUnivariateDistribution
  n::Int
end

(rather than have a Normal(0,1) hardcoded everywhere) how would I modify the inverse bijector properly? I think I figured out the other parts.

You want to store that base distribution in your custom bijector. Then instead of bijector(truncated(Normal(0, 1), x, Inf)) do bijector(truncated(b.dist, x, Inf)). Make sure you use type parameters for performance though.

The bijector definition makes sense to me, but I don't understand how to make the inverse work
struct OrderedNormalBijector <: Bijectors.Bijector{1}
    d::ContinuousUnivariateDistribution
end

function (b::OrderedNormalBijector)(x::AbstractVector)
	y = similar(x)
	y[1] = x[1]
	for i in 2:length(x)
		y[i] = bijector(truncated(b.d, x[i-1], Inf))(x[i])
	end
	return y
end
function (b::Inverse{<:OrderedNormalBijector})(y::AbstractVector)
	x = similar(y)
	x[1] = y[1]
	for i in 2:length(y)
		x[i] = inv(bijector(truncated(b.d, x[i-1], Inf)))(y[i]) ## !!!! ???
	end
	return x
end

Yes that's correct. But use a type parameter for the d field.

Sorry, I'm not sure I'm following. I think I understand what you mean by parameterizing the bijector (ie something like)
struct OrderedNormalBijector{T <: ContinuousUnivariateDistribution} <: Bijectors.Bijector{1}
    d::T
end
```

but in the inverse function how do I reference this distribution? In the inverse function `b` doesn't have parameter `d`.

Oh sorry it should be b.orig.d.

@bdeonovic it would be nice if you could write a blog post or something about this if you can. This is an important side of Turing, custom distributions and bijectors, that I think deserves more people to be talking about :) If you have no time, that's ok, just thought it was worth asking :)

I would love to as soon as I get everything sorted out and looking nice :)
I've never seen this orig notation, where can I read more about this?
BTW thanks for all of your help!

Well, inv(b::Inverse) is equivalent to b.orig so may be use the first if you don't want to access internal field names. The bijector type Inverse just stores the original bijector in a field called orig.

Thanks for your kind words :)

Btw I am almost done with a more "proper" fix for this stochastic support issue but it does add a fair bit of complexity to the internals. So we still need to decide whether we should have this fix or just error when we detect a change in the support and refer the user to the custom distribution and bijector trick.

Perhaps a different AbstractSampler would also do if it means less methods to define but a context makes more sense since optimization is not sampling.

For some reason this issue came to my attention now, and I just wanted to add that defining such a Bijector should be trivial in the future when we have CouplingLayer from https://github.com/TuringLang/Bijectors.jl/pull/48. With that PR the impl is just
function Bijectors.bijector(d::MyDistribution)
    n = length(d)

    bs = map(2:n) do i
        # 1. use `x[i - 1]` to parameterize transformation of `x[i]`
        m = PartitionMask(n, [i], [i - 1])
        # 2. Create the coupling transformation
        CouplingLayer(θ -> TruncatedBijector(θ...), m, x -> (first(x), Inf))
    end

    # 3. Since we want to parameterize the transformation of `x[i]` using `x[i - 1]`,
    # in contrast to using `y[i - 1]`, we apply from highest-to-lowest, e.g.
    #     1. Y₁ := [x₁, …, xₙ₋₁, yₙ] = bs[n](x)
    #     2. Y₂ := [x₁, …, yₙ₋₁, yₙ] = bs[n - 1](Y₁)
    #     ...
    #     n. Yₙ := [y₁, …, yₙ₋₁, yₙ] = bs[1](Yₙ₋₁)
    # And `Composed` will apply from left-to-right, so we have to `reverse` `bs` to
    # get the above behavior.
    return Composed(reverse(bs))
end

then
julia> d = MyDistribution(100);

julia> b = bijector(d);

julia> x = rand(d);

julia> y = b(x);

julia> inv(b)(y) ≈ x
true

julia> x[1:5]
5-element Array{Float64,1}:
 -1.0337803916080368
 -0.9118248542646143
 -0.5002510997246266
  1.4872200369231863
  1.5833536203613594

julia> y[1:5] # notice `y[1]` unchanged as desired
5-element Array{Float64,1}:
 -1.0337803916080368
 -2.1040987486809284
 -0.8877670415353908
  0.6868630449995462
 -2.3420165605974854

I'm not suggesting using this ongoing work instead of the fix suggested earlier in the issue; best to use the currently working approach:)


remove Projects section from home page

Actual Behaviour
There is an unwanted project section in homepage
Expected Behaviour
Should be deleted

Can you attach a screenshot?

It seems that projects section is already removed:
https://github.com/CodeLanka/codelanka.github.io/blob/master/index.html#L452-L507


Ability to specify base url

Adds the ability to specify a base url to use when performing configuration.
This allows you to follow the following pattern:
const BinWrapper = require('bin-wrapper');

const bin = new BinWrapper()
	.baseUrl('https://github.com/imagemin/gifsicle-bin/raw/master/vendor')
	.src(`/linux/x64/gifsicle`, 'linux', 'x64')
	.src(`/linux/x86/gifsicle`, 'linux', 'x86')
	.dest(path.join('vendor'))
	.use(process.platform === 'win32' ? 'gifsicle.exe' : 'gifsicle')

Additionally added the ability for developers to allow for this base url to be easily configured when this library is used to expose a binary.
For example, in the below example when the GIFSICLE_BIN__MIRROR env var is set, this will be used as the base location from which to perform the download:
const BinWrapper = require('bin-wrapper');

const bin = new BinWrapper()
	.baseUrl('https://github.com/imagemin/gifsicle-bin/raw/master/vendor')
        .baseUrlOverrideEnvName('GIFSICLE_BIN__MIRROR')
	.src(`/linux/x64/gifsicle`, 'linux', 'x64')
	.dest(path.join('vendor'))
	.use(process.platform === 'win32' ? 'gifsicle.exe' : 'gifsicle')

This allows for developers to easily add support for configuring the binary download location, this allows developers to easily support 3rd party binary mirrors and cases where due to security considerations downloading from an external source can not be considered.

Hi @sindresorhus,
Sorry to chase but keen to get this issue looked at, in order to make changes on projects which use this as a dependency,

Hi @sindresorhus , could you please review and merge this PR ?
We can only use internal network due to security consideration.

+1

we should add support with npm_config_<env_name>


ciao-launcher:  Add unit tests for the instanceLoop

These commits add some unit tests to the instanceLoop go routine.  The tests work by using channels and interfaces to fake the overseer and the connection to the SSNTP server, allowing us to fully test the instanceLoop.  A few small changes were needed to the launcher code to permit this.  The travis build file also needed to be changed to pre-create the /var/lib/ciao/instances directory.  Doing this in the travis files allows the launcher unit tests to run as non-root.
This commit should bring the test coverage of launcher up to 16.2%.

Rebased against master at 14:20 BST.  I also ran a quick test on BigNuc.  Was able to start and delete 100 instances.

Coverage increased (+2.5%) to 56.923% when pulling 159fb27dc198348743afb1a74410a2e2d2b225d3 on markdryan:master into 72cb4e961a8b627acffab9b33b6135261cf082bd on 01org:master.


WIP: First attempt to create a config flow

Took a first stab and it's still work in progress.

[x] How to set up the platform? Does async_create_platform exist?
[x] Add missing stop name field
[x] Figure out how to query api and allow the user to select the right stop in a second step

@vas3k this is almost ready to review, just need to fix the last linting issue. Feel free to take a look already.

@vas3k this is ready for review


Bump dbt to v0.18.0

Description & motivation
dbt v0.18.0 release
Checklist

[ ] I have verified that these changes work locally
n/a I have updated the README.md (if applicable)
n/a I have added tests & descriptions to my models (and macros if applicable)

Notes
I noticed that the version: param gets populated in this project — do you want me to update that?

All g!


Fix the term 'Modulus' to 'Modulo'

I've found out that the term for indicating % is currently Modulus, but I believe it should be Modulo.
Reference

Definition of Modulo: https://en.wikipedia.org/wiki/Modulo_operation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.079%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/ast/operator.rs
0
1
0.0%

src/parser.rs
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5557

Relevant Lines:
6169

💛  - Coveralls

cc @Dandandan and @andygrove

Thanks @MRGRAVITY817

Thanks @MRGRAVITY817

You're welcome 😀


Failed to authenticate with Teletype

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

Steps to Reproduce

Expected behavior:

To authenticate my token with teletype.
Actual behavior:
Gave this error:
Failed to authenticate to teletype
Signing in failed with error: Unexpected response

Reproduces how often:
Every Single time I try to authenticate, even with different code

Versions

Atom    : 1.44.0
Electron: 4.2.7
Chrome  : 69.0.3497.128
Node    : 10.11.0
Additional Information

I've reinstalled atom and teletype multiple times(completely brand new), and It still gives me the exact same error. I've looked at the IceServer and all that and i've even done Window: Reload but it was still futile.

Hello @GalaxyCode001 thanks for the report.
We'll need you to fill the reproduction steps more thoroughly to be able to address your ticket more efficiently from creating the token to how you authenticate.
Feel free to attach screenshots, records (video/gif), etc and make sure you redact any sensitive information.


Replace deprecated Pybind11 get_type() usages by py::type::of()

Summarize your change.
I noticed while working on the docs for the Python bindings that the case base had a reference to a deprecated Pybind11 method, get_type. As stated in https://pybind11.readthedocs.io/en/stable/upgrade.html#v2-6, the replacement is py::type::of.
Quote from the doc:

The undocumented h.get_type() method has been deprecated and replaced by py::type::of(h).

This PR replaces the get_type call with py::type::of.

Codecov Report

Merging #1194 (86b21d9) into main (1e44ca2) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1194   +/-   ##
=======================================
  Coverage   86.08%   86.08%
=======================================
  Files         191      191
  Lines       19228    19228
  Branches     2292     2292
=======================================
  Hits        16552    16552
  Misses       2123     2123
  Partials      553      553

Flag
Coverage Δ

unittests
86.08% <100.00%> (ø)

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

Impacted Files
Coverage Δ

...lineio/opentime-bindings/opentime_rationalTime.cpp
96.15% <100.00%> (ø)

Continue to review full report at Codecov.

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