[RFC] [ROM] Support vendor customizations

Description
Problem Statement
Currently, OpenTitan mask ROM implementations lack customization options for silicon creators and vendors. While discrete OpenTitan ROMs can be directly built upon the upstream implementation, the same isn't true for integrated OpenTitan top ROMs.
Integrated OpenTitan ROMs configure, initialize, and interact with external subsystems specific to the platform. These interactions often vary between vendors and platform variants. A single, fixed ROM implementation prevents downstream silicon creators and vendors from directly utilizing the upstream code, forcing them to fork the project and maintain custom versions internally.
Requirements
To enable direct vendor contribution and consumption of OpenTitan upstream ROM implementations, the project architecture and source code for ROMs must meet the following requirements:

Vendor customization: OpenTitan ROM code should allow silicon creators and vendors to customize the upstream ROM execution flow with vendor-specific initialization and configuration sequences.
Controlled customization points: OpenTitan ROMs should be customizable at specific, predefined execution points. Vendors can only modify ROM behavior at these designated points.
Support for closed-source customization: The OpenTitan ROM build infrastructure should support linking ROM images with externally stored, vendor-specific customization code, allowing vendors to keep their customizations private.
Default functionality: By default, OpenTitan ROMs should function without any vendor-specific customizations.

Proposed Approach
At a high level, the proposed solution involves implementing an OpenTitan ROM as a state machine. Each state in this state machine is semantically defined by the upstream ROM code and represents a customizable execution step.
As the ROM progresses through its state machine, it executes the current state and then transitions to the next one. A state execution consists of the following three sequential steps:

Pre-run Hook: Executed before the primary ROM state function.
ROM State Run: The core execution of the ROM state.
Post-run Hook: Executed after the primary ROM state function.

By structuring the ROM as a state machine with these hooks, vendors can customize the ROM's behavior at specific points without modifying the upstream ROM code.
            By default, these hooks are empty.
The main ROM state implementation, the run callback, is executed in step 2. All ROM state run callbacks are defined by the upstream ROM implementation and are not customizable.
Crucially, only the run callback determines the next state in the ROM state machine. Pre-run and post-run hooks cannot override these transitions, preventing vendors from directly modifying the ROM's execution flow.
In essence, this proposal enables vendors to customize the execution of individual ROM states, but it strictly controls the overall ROM execution flow.
ROM states
Each OpenTitan ROM defines a set of execution states and associates each state with a specific ROM state run callback. A ROM state run callback takes an opaque pointer argument (which is shared with the state hooks) and returns the next state in the sequence.
To enable effective vendor customization, ROM states should be clearly defined and map to specific functional steps in the ROM's execution flow. For instance, kRomStateBootstrap is a well-defined state, while kRomStateStep3 is too generic.
The more precisely a ROM state is defined, the easier it is for vendors to understand and customize its behavior.
ROM state hooks
Pre-run and post-run ROM state hooks are executed by the ROM state machine before and after each state run callback, respectively. They share state with the state run callbacks through an opaque pointer argument.
Unlike the state run callback, ROM state hooks cannot determine the next state in the ROM state machine. Vendors can customize specific ROM state execution steps through these hooks by providing custom implementations in an external repository.
Similar to the existing manufacturing and test hook customization framework, custom ROM state hooks can be included in a ROM image by specifying the path to the vendor hook implementations in an environment variable passed to the ROM build system:
ROM_HOOKS_DIR=/PATH/TO/LOCAL/ROM/HOOKS ./bazelisk.sh build //sw/device/silicon_creator/rom:mask_rom

cc @rsahita @andreaskurth @Razer6 @adurbin-rivos @loiclefort @timothytrippel @cfrantz

CC @mundaym and @luismarques for the attention of the SW WG

I think your proposal is feasible and a valid way of solving those requirements, however I have some concerns that turning the ROM into a state machine could complicate the flow and make it harder to reason about. I would like to know your thoughts on this rough outline of an alternative, and am not suggesting that current design wouldn't work.
Recently an "immutable ROM extension" feature was added to OpenTitan in which the mask ROM checks the hash of a flash region against one stored in OTP before booting it. This is currently optional and happens after the signature check of the existing mutable ROM extension.
I would propose that we change the ROM to do its current silicon initialization and then unconditionally perform the immutable ROM extension digest check and jump to it. The mask ROM would no longer validate the mutable ROM extension as it currently does. Instead, the sigverify check would be moved to the immutable ROM extension implementation which would then boot the mutable ROM extension afterwards. Other vendor-specific features such as DICE, different key signature algorithms, vendor specific initialization, etc. would be implemented in the immutable ROM extension.
The idea would be to compose the immutable ROM extension as a linear program for each different top using code provided by the silicon creator libraries. I can see several advantages:

The mask ROM is greatly reduced in size and complexity, derisking tapeouts.
Arbitrary vendor behaviour can be built into immutable ROM extensions for the same design.
Immutable ROM code can be updated and fixed after tapeout during personalization.
The boot process is now entirely linear. There are no optional jumps or different combinations of code execution that need to be considered and verified.

The disadvantages I can think of would be:

Flash space would always be required for the immutable ROM. The current mask ROM is 32KiB total, so this impact seems small.
There can be no vendor-specific code inserted before the hash check. This might be an issue if some early silicon initialization is required, however I would prefer conditional compilation into the mask ROM for that design instead.

I don't want to derail or delay your proposal with this comment, but would be interested in any thoughts. Thanks.

Recently an "immutable ROM extension" feature was added to OpenTitan in which the mask ROM checks the hash of a flash region against one stored in OTP before booting it. This is currently optional and executes after the signature check of the mutable ROM extension and instead of the jump to said mutable ROM extension.

When there isn't on-die flash there's no such thing as immutable anything aside from the ROM. And really, even with flash it can be erased and rewritten. That's mutable code regardless of the naming. The protection one has is the hash algorithm tied to OTP values along with no signature check. Is everyone OK with purely a hash protection scheme for this mutable code?

I would propose that we rearchitect the mask ROM so that it does its current silicon initialization and then unconditionally performs the immutable ROM extension digest check and jumps to it. The mask ROM would no longer validate the mutable ROM extension as it currently does. Instead, the sigverify check would be moved to the immutable ROM extension implementation which would then boot the mutable ROM extension if successful. Other vendor-specific features such as DICE, different key signature algorithms, vendor specific initialization, etc. would be implemented in the immutable ROM extension.

Aside form trying to de-risk ROM, one has to think about chain loading these stages. Discrete vs integrated currently has a distinct difference that no flash exists in the latter. Therefore, code resources are not free and one needs to load into SRAM to execute.

The idea would be to compose the immutable ROM extension as a linear program for each different top (or vendor's version of a top) using code provided by the silicon creator libraries.

A linear flow can also be modeled as a state machine as well. I don't believe anyone was considering overly complex state transitions.

The advantages I have in mind are:

The mask ROM is greatly reduced in size and complexity, derisking tapeouts.
Arbitrary vendor behaviour can be built into immutable ROM extensions.
Immutable ROM code can be updated and fixed after tapeout during personalization.
The boot process is now entirely linear. There are no optional jumps or different combinations of code execution that need to be considered and verified. EDIT: besides the bootstrap and RMA loops.

The disadvantages I can think of would be:

It would not be possible to add vendor-specific early silicon initialization code needed to access HMAC and flash.

Perhaps conditional compilation into the mask ROM could add this early silicon initialization, however it sounds like that would be similar to what your RFC is trying to avoid.

It's a significant redesign of the ROM.

Initially it can be rearchitected with no functional changes. Additional features would be necessary with any proposal for vendor extensions.

Flash space would always be required to fit the immutable ROM.

The current mask ROM is 32KiB total, so this impact seems small.

I don't want to derail or delay your proposal with this comment, but would be interested in any thoughts. Thanks.

Dependening on each tops' architecture silicon specific code is inherently needed to boot beyond ROM.  Each instance of a top will inherently have silicon specific needs as the architectures are not always the same. I believe this proposal is to accept that reality to accommodate those differences. That said, even punting to an "immutable ROM extension" doesn't change the necessity of differences required for chain loading when doesn't have "free" resources like XIP form on-board flash.

Similar to the existing manufacturing and test hook customization framework, custom ROM state hooks can be included in a ROM image by specifying the path to the vendor hook implementations in an environment variable passed to the ROM build system:
ROM_HOOKS_DIR=/PATH/TO/LOCAL/ROM/HOOKS ./bazelisk.sh build //sw/device/silicon_creator/rom:mask_rom

Just an implementation nit: It would be nice if we could avoid more environment variable dependencies. Perhaps bazel's --override_module could help here instead, where we define a rom_hooks module (which contains the upstream implementations) that could be overridden.

Thanks @adurbin-rivos,

When there isn't on-die flash there's no such thing as immutable anything aside from the ROM. And really, even with flash it can be erased and rewritten. That's mutable code regardless of the naming. The protection one has is the hash algorithm tied to OTP values along with no signature check. Is everyone OK with purely a hash protection scheme for this mutable code?

Is this not essentially the same mechanism we use to trust the mutable ROM extension before jumping to it? We definitely trust that protection scheme. To be honest I'm not overly familiar with how the external flash RoT designs work. Based on your other comment, do we always load into SRAM and never execute directly from flash? In that case, the same mechanism would happen here: the immutable code would be hashed and checked after it has been moved to SRAM.

A linear flow can also be modeled as a state machine as well. I don't believe anyone was considering overly complex state transitions.

I'm not sure I understand. If the execution is always linear then I don't necessarily see the advantage of states. In any case, I agree that the original proposal doesn't require a complicated transition table.

Dependening on each tops' architecture silicon specific code is inherently needed to boot beyond ROM. Each instance of a top will inherently have silicon specific needs as the architectures are not always the same. I believe this proposal is to accept that reality to accommodate those differences.

I think this does nullify my proposal as an alternative to the original. I wonder if there's still value in moving some (but not all) vendor-specific code out of the mask ROM into immutable ROM_EXT even if it doesn't solve the issue presented in this RFC. That can be considered separately to this proposal, however.

Is this not essentially the same mechanism we use to trust the mutable ROM extension before jumping to it? We definitely trust that protection scheme.

Yes, partially. But that hash is encrypted with a key. That's the full verification scheme.

Based on your other comment, do we always load into SRAM and never execute directly from flash?

For the current integrated design, yes. There's no "free" address space resources. All assets need to be moved in-core before using them.

the immutable code would be hashed and checked after it has been moved to SRAM.

Yes, that's needed for TOCTOU protection.

I think this does nullify my proposal as an alternative to the original. I wonder if there's still value in moving some (but not all) vendor-specific code out of the mask ROM into immutable ROM_EXT even if it doesn't solve the issue presented in this RFC. That can be considered separately to this proposal, however.

Depends what the end-goal is w.r.t. optimization points of ROM.  We'd have to collectively decide what's a common boot architecture and assume no one can deviate.

Yes, partially. But that hash is encrypted with a key. That's the full verification scheme.

My understanding is that checking for an exact hash match is stronger / more restricted than checking for a signature on the hash. Is that incorrect?

Depends what the end-goal is w.r.t. optimization points of ROM. We'd have to collectively decide what's a common boot architecture and assume no one can deviate.

Yes, I think this will need a much larger discussion and would need a full separate proposal.

My understanding is that checking for an exact hash match is stronger / more restricted than checking for a signature on the hash. Is that incorrect? It lacks authentication, but that's irrelevant here.

Verification is:

decrypt the signature -> hash value
compare hash value from step 1 with calculated hash

hashing is part of the verification. Based on how good of a hash algorithm there can be collisions. Signatures (hash values  encrypted) have additional protection of the signing and who's in control of the private key.

I think it's the hash that's signed in OpenTitan so a collision will affect both mechanisms equally. Signatures themselves can collide, too. I don't think authentication applies here since it's the same party/person that sets the public key in OTP as who sets the IRE digest in OTP. We trust both of these things implicitly.

Thanks everybody - we have reserved a slot in the upcoming Sec WG meeting this week and are happy to continue discussions. cc @vogelpi

Overall, this proposal LGTM. We should look at all existing integration hooks  (1. closed source DV MANUFACTURER_HOOKS_DIR, 2. personalization PROV_EXTS_DIR, 3. ROM ROM_HOOKS_DIR, 4. etc), to determine if it makes sense to provide more generic hook infrastructure.
Immutable hashes versus  signature verification
The current RFC for immutable flash requires the immutable section to be executed after signature verification. This is to cover authorization requirements.
In practice, this is way of implementing ROM patching in Earl Grey. For integrated (e.g. Darjeeling), we have hardware architecture support for ROM patching and the proposed implementation requires patch authentication before execution.
State machine considerations
We are still working on evaluating the effectiveness of hardware countermeasures with respect to fault attacks. Until then, we recommend to maintain the level of hardening present in the upstream version of the ROM.
In practice, it is very difficult to harden code with too many branches. Ideally, we should aim as much as possible to maintain a linear execution sequence. I propose we define a requirement to cover this.
out of band verification
Are we planning to define additional requirements for out of band verification? For example, can we ask silicon integrators to document the expected ROM version and associated hash for any given silicon release?

The information can be used to perform out of band checks against the device attestation (e.g. it may help in providing additional supply chain hardening).
The information can be classified as public or restricted depending on the silicon integration requirements.
The information can be incorporated into OCP's S.A.F.E framework for integrations requiring third party audits; or by Common Criteria certification.

However, without the private key one cannot sign despite trying to attack by way of hash collisions.

If you can get a collision with a signed hash then you’ve already got the signatures, I think.

That trust may work when there is on-die flash. When working with external flash trust breaks down where a hash alone is not sufficient.

I don’t think there’s a difference between on- and off-die flash if you’re reading into SRAM anyway. Both can be changed pre-boot via bootstrapping.
I’m hesitant to continue this discussion since it distracts from the original proposal. I will submit a new proposal where these issues can be clarified if I want to peruse this proposal.

Overall, this proposal LGTM. We should look at all existing integration hooks (1. closed source DV MANUFACTURER_HOOKS_DIR, 2. personalization PROV_EXTS_DIR, 3. ROM ROM_HOOKS_DIR, 4. etc), to determine if it makes sense to provide more generic hook infrastructure.

Agreed. As @a-will proposed, we could look at using Bazel's module override and make all external hooks expose themselves as an external module to OpenTitan.

State machine considerations
We are still working on evaluating the effectiveness of hardware countermeasures with respect to fault attacks. Until then, we recommend to maintain the level of hardening present in the upstream version of the ROM.

One interesting side effect of defining the ROM as a state machine is that you can systematically include CFI within the state machine walking routine. I have a pending patch to show this in practice, but the idea is that each ROM state would be protected by its implicit CFI counter so that the ROM state machine flow is controlled.

In practice, it is very difficult to harden code with too many branches. Ideally, we should aim as much as possible to maintain a linear execution sequence. I propose we define a requirement to cover this.

That makes sense, yes. To be clear here, the current ROM is not linear and has many branches, mostly for error handling but also for the bootstrap and immutable ROM extension flows for example. If anything, I feel that explicitly defining the ROM as a state machine would allow for more easily tracking those branches than the current implementation.

out of band verification
Are we planning to define additional requirements for out of band verification? For example, can we ask silicon integrators to document the expected ROM version and associated hash for any given silicon release?
* The information can be used to perform out of band checks against the device attestation (e.g. it may help in providing additional supply chain hardening).

I am expecting a device attestation report to include its boot ROM hash, and that could be used by a verifier against a set of reference values that thus would need to include the expected ROM hash and version. Those reference values are typically built and signed by the silicon creators, so this is even more than just documenting.
Also, this should already be a requirement today, independent of this RFC proposal here.

Hi @sameo,  I brought this up because in cases where there are no customization hooks, the verifier can perform an out of band check by building the ROM from source. I understand that the out of band measurement is a requirement from the verifier's perspective, but thought it would be good to have this included in the documentation. Mentioning that this is covered by an attestation report is sufficient from my perspective.

Hi @sameo, I brought this up because in cases where there are no customization hooks, the verifier can perform an out of band check by building the ROM from source. I understand that the out of band measurement is a requirement from the verifier's perspective, but thought it would be good to have this included in the documentation. Mentioning that this is covered by an attestation report is sufficient from my perspective.

hey @moidx. I see, this makes sense.
I will add an attestation/verification requirement to the proposal in that issue, and will actually move it to the PR (#25642). This way people can properly review and comment on specific points of the proposal.

In practice, it is very difficult to harden code with too many branches. Ideally, we should aim as much as possible to maintain a linear execution sequence. I propose we define a requirement to cover this.

That makes sense, yes. To be clear here, the current ROM is not linear and has many branches, mostly for error handling but also for the bootstrap and immutable ROM extension flows for example. If anything, I feel that explicitly defining the ROM as a state machine would allow for more easily tracking those branches than the current implementation.

As @Razer6 pointed out privately, with an actual state machine we might be able to more easily enforce that ROM states functions are actually linear (except for error paths) and branches are the state machine transitions.

@a-will @adurbin-rivos @moidx @andreaskurth @johannheyszl @jwnrt @vogelpi
In order to have a more structured and trackable review of this document, I added it to the related PR (#25642). It's sitting under the sw/device/silicon_creator/rom/doc/ folder as I could not find a better place for it. Maybe we should create a top-level doc/rfc/ folder for holding in-flight RFCs?
Please add any further comments (even generic ones) to the PR itself.


Proxy do not connect to worker in the same pods.

Alluxio Version:
2.6.0
Describe the bug
Proxy and worker in the same Pod or same Node. But proxy always connect to another worker. So domain socket and loadbalance will not work.

@jingcheng88  Thanks for reporting this issue. do you have proxy.log that you can share?
Also, this might be the case when the proxy and worker do not use the same host-name or IP (as they belong to different Pods).

Can you check documentation here: note that Proxy is simply a long-running Alluxio client here
https://docs.alluxio.io/os/user/stable/en/deploy/Running-Alluxio-On-Kubernetes.html#enable-short-circuit-access

@apc999
The  configuration  is right. May be It's caused by issue #13808

Similar to https://github.com/Alluxio/alluxio/issues/13808

looks similar to https://github.com/Alluxio/alluxio/pull/13825/


[AutoPR datafactory/resource-manager] [Datafactory] Add AzureMLExecutePipeline activity and AzureMLService linked service

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

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


Q: Is there a way to access search results (hits)?

Thanks for the plugin.  Great work.
I'd like to leverage formatting and calculations using the  documents returned from the underlying search as opposed to creating aggregation columns and derived columns.
Syntax might be doc['json.path'].
Current alternative is to use a 'saved search' on the dashboard, but columns need to be calculated and formatted on the backend and stored in the index.  Additionally, saved search does not allow export as a CSV

Hi,
Well, in enhanced table, when I want to list documents, and not aggregations, I make a first terms aggregation that is unique, for example, based on _id field. Then I do a terms sub aggregation with size "1" for each field I want to display. Finally, I hide first column (id)
Concerning standard saved search, you can do a CSV export.
If you Kibana 6.3 or later, you go to Discover screen, open your saved search, then click on "Share" button, "CSV Reports" link" and "Generate CSV" button.
That said, it's not perfect, as you can't generate CSV in Dashboard view.
Concerning computed and formatted columns, you can add scripted fields in Kibana, it lets you add new computed columns based on document fields, and format the result using a standard Kibana formatter. Then, you can reference these scripted fields in Saved Searches. By the way, the name of scripted field (so the column name in Saved Search) is free: you can use space chars or any other special chars.

Finally, I hide first column (id)

Perfect. That works like a charm.  Thanks very much for the quick answer.

Nice!
Happy to help :)


Requesting --help for ng commands fails with "Local workspace file ('angular.json') could not be found"

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

Windows 10
NodeJS 9.8.0
NPM 6.4.1
Angular CLI 6.1.3 and 6.2.4
Angular CLI: 6.2.4
Node: 9.8.0
OS: win32 x64
Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.8.4
@angular-devkit/core         0.8.4
@angular-devkit/schematics   0.8.4
@angular/cli                 6.2.4
@schematics/angular          0.8.4
@schematics/update           0.8.4
rxjs                         6.2.2
typescript                   2.9.2

Repro steps

Go to arbitrary folder that doesn't contain angular cli application (specifically angular.json file) and execute  ng build --help
The log given by the failure

Local workspace file ('angular.json') could not be found.
Error: Local workspace file ('angular.json') could not be found.
    at WorkspaceLoader._getProjectWorkspaceFilePath (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\workspace-loader.js:44:19)
    at WorkspaceLoader.loadWorkspace (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\workspace-loader.js:31:21)
    at BuildCommand._loadWorkspaceAndArchitect (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\architect-command.js:189:32)
    at BuildCommand.<anonymous> (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\architect-command.js:55:25)
    at Generator.next (<anonymous>)
    at C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\architect-command.js:14:71
    at new Promise (<anonymous>)
    at __awaiter (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\architect-command.js:10:12)
    at BuildCommand.initialize (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\architect-command.js:54:16)
    at Object.<anonymous> (C:\Users\Svincho\AppData\Roaming\npm\node_modules\@angular\cli\models\command-runner.js:101:23)

Desired functionality

Help must be available regardless whether there is angular cli project in the current folder or not.
Mention any other details that might be useful

ng new --help does not produce error and gives help information.
ng build --help in angular cli project folder gives help for the build command as expected.

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


feat(issue): close stale issues

PR Checklist
Please check if your PR fulfils the following requirements:

[x] The commit message follows our guidelines
[x] Tests for the changes have been added/updated (for bugfix/feature)
[x] Docs have been added/updated (for bugfix/feature)
[x] Contributing implementation have been added/updated (for bugfix/feature)

PR Type
What kind of change does this PR introduce?

[x] Feature (a new feature)
[ ] Bugfix (a bug fix)
[ ] Style (changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc))
[ ] Refactor (a code change that neither fixes a bug nor adds a feature)
[ ] Perf (a code change that improves performance)
[ ] Test (adding missing tests or correcting existing tests)
[ ] Build (changes that affect the build system, CI configuration or external dependencies)
[ ] Docs (changes that affect the documentation)
[ ] Chore (anything else), please describe:

What is the current behaviour?

What is the new behaviour?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Closes #30

View rendered CONTRIBUTING.md
View rendered README.md

Codecov Report

Merging #118 (e7f9a54) into develop (9c39147) will decrease coverage by 12.73%.
The diff coverage is 95.52%.

@@             Coverage Diff              @@
##           develop     #118       +/-   ##
============================================
- Coverage    99.40%   86.67%   -12.74%
============================================
  Files           39       43        +4
  Lines          677      743       +66
  Branches        63       68        +5
============================================
- Hits           673      644       -29
- Misses           4       99       +95

Flag
Coverage Δ

integration
86.67% <95.52%> (+0.85%)
:arrow_up:

unit
?

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

Impacted Files
Coverage Δ

...ub/api/issues/constants/github-api-issues-query.ts
100.00% <ø> (ø)

.../labels/constants/github-api-add-label-mutation.ts
100.00% <ø> (ø)

...labels/constants/github-api-label-by-name-query.ts
100.00% <ø> (ø)

...abels/constants/github-api-labels-by-name-query.ts
100.00% <ø> (ø)

...bels/constants/github-api-remove-label-mutation.ts
100.00% <ø> (ø)

src/github/api/labels/github-api-labels.service.ts
54.90% <ø> (-45.10%)
:arrow_down:

...ub-api-timeline-items-issue-labeled-event-query.ts
100.00% <ø> (ø)

src/github/api/issues/github-api-issues.service.ts
83.78% <72.72%> (-16.22%)
:arrow_down:

src/core/issues/issue-close-stale-processor.ts
100.00% <100.00%> (ø)

src/core/issues/issue-processor.ts
100.00% <100.00%> (ø)

... and 22 more


Site header nav wraps at medium widths

Describe the bug
At widths just greater than the 40rem breakpoint between narrow and wide (less than 15px wider), the site nav wraps. When the current-page indicator is present, this is especially jarring.
To reproduce
Steps to reproduce the behavior:

Go to the Index page: http://floeproject.org/
Set the viewport width to just greater than 40rem (approximately 645 pixels with default settings)
See error

Expected behavior
The header navigation links should not wrap.
Screenshots

Technical details
Desktop

OS: Windows 10 Pro 20H2
Browser: Chrome 96, Firefox 95

Smartphone / tablet
N/A
Assistive technology used
N/A
Additional context or notes
I have partially solved this issue, though it is a work in progress and needs some more iteration and testing.

@BlueSlug can I work on it ?

@BlueSlug can I work on it ?

You are certainly welcome to work on this issue! I recommend taking some time to review our code of conduct and contribution guidelines before tackling the work.


Http error callback

Summary

This PR adds an onHttpError callback which notifies the host app that an error http status code is received.
After finishing the code I found out there's already a closed PR for this feature but it never get merged, so I figure I'll just mention it here and I've also addressed to most of the comments in that PR.
Http error callback (Catch http error statuscode) #558
It's useful to be able to get the error status code in the webview, so that we can have different error handlings based on the status code (e.g. refresh token on 401).
Requests for nested frames are filtered out, so onHttpError will only be called on the main frame.
The native event returned from this callback will contain:
statusCode: The http error status code.
description: Description of the error status code (only on Android).
Implementation:
iOS: decidePolicyForNavigationResponse
Android: onReceivedHttpError (introduced in API level 23)
Fixes #189
Fixes #807
Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
✅ (only on >= 6.0)

Checklist

[X] I have tested this on a device and a simulator
[X] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[x] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

What is the difference between that and onLoadingError ?

@Titozzz I assume you are talking about the onError callback. onError is called when the webview failed to load the content, usually means there's no internet connection. The error code in the onError callback is not an http status code, but something like this on iOS and this on Android.
On the other hand onHttpError catches the http error status code (e.g. 4xx, 5xx).


Add TotalWordLength primitive

Gets the total of all the word lengths.

Done
https://github.com/alteryx/nlp_primitives/pull/79


Fix syntax warnings due to comparison of literals using is.

Description
Fix syntax warnings due to comparison of literals using is.
GitHub Issues
Fixes #2048

Coverage decreased (-18.8%) to 54.134% when pulling eec39f7c32b3ca1fa10272e3d5eb042adce4718c on tirkarthi:fix-syntax-warning into b9c161c297be4cf614f6a7d634863f65ba37aaf0 on Miserlou:master.

Please rebase as the example/authmodule.py modification is worth landing.

Thanks @cclauss . Rebased.


tolerance as input arguments + modified documentation

Tolerances can now be passed as input arguments. The corresponding documentation gave been added.
Modeling of the chianed rosenbrock problem with ipopt added

Thanks for the PR, it looks good to me.


Shorten regular expression for panzy script.

The sections too hard and to hard are identical except one letter, so I made that extra letter optional and removed the second item. This simplified version is much easier to read.

Thank you!


Add the tool data_product_writer with unit test.

Related Issue(s)

Has Unit Tests (y/n)

Documentation Included (y/n)

Change Description
Added the Data Product writer tool which reads a data product binary file and deserializes the data into a JSON output file.
The binary file may contain 1 or more Records which are specified in the FPP.
A unit test is also added which reads in a collection of binary files and produces the resultant JSON data.
The unit test includes a JSON Dictionary which is a manual translation of the DpTool component's FPP.
By running the DpTool component's unit test will generate a collection of binary files.  DpTool and its unit test are in the F prime repo under FpTools/dpTool
In addition another JSON file is part of the tool which encapsulates the specification of the data product header information.
Rationale
A tool to deserialize and display F prime data products.
Testing/Review Recommendations
The data_product_writer.py is located in src/fprime_gds/executables
The unit test is located in test/fprime_gds/executables
Run test_data_product_writer.py.  The tool will be invoked for each *.bin file in this directory.  All the JSON output is placed in JSONoutput
Future Work
Once the F prime JSON dictionary is part of the build, the tool will need to be changed to access this file.

Often times data products wind up storing opaque binary data - it might be nice to provide a mode that decodes the DP header/metadata to a json file but stores the contents of the dp as a binary data instead.


hide option on mobile

hide option on mobile
虽然界面还是没有很适配, 但起码能操作了
https://github.com/joye61/pic-smaller/issues/19

Multi-end support is being implemented, please refer to the branch feature-responsive. Thank you for your submission. This PR will be rejected.
多端支持正在实现中，请参考分支feature-responsive，感谢你的提交，这个PR就直接关闭了


Running snapd inside lxd in 21.10 fails with: Permission denied errors from udev

Required information

Distribution: Ubuntu
Distribution version: 21.10
The output of "lxc info" or if that fails: lxc-info.txt

Issue description
In 21.10 our snapd lxd test is failing currently. I extracted a minimal reproducer in the script: lxd-reproducer.sh.txt
Steps to reproduce
#!/bin/sh

set -e
set -x

lxd.lxc stop my-ubuntu || true
lxd.lxc delete my-ubuntu  || true

lxd.lxc launch "ubuntu:21.10" my-ubuntu
lxd.lxc exec my-ubuntu echo hello

lxd.lxc exec my-ubuntu -- apt autoremove --purge -y snapd ubuntu-core-launcher
lxd.lxc exec my-ubuntu -- apt install -y snapd
lxd.lxc exec my-ubuntu -- systemctl daemon-reload
lxd.lxc exec my-ubuntu -- systemctl restart snapd.service
lxd.lxc exec my-ubuntu -- snap wait system seed.loaded

lxd.lxc exec my-ubuntu -- snap install test-snapd-sh

The errors I see with that are:
...
+ lxd.lxc exec my-ubuntu -- systemctl daemon-reload
+ lxd.lxc exec my-ubuntu -- systemctl restart snapd.service
+ lxd.lxc exec my-ubuntu -- snap wait system seed.loaded
+ lxd.lxc exec my-ubuntu -- snap install test-snapd-sh
error: cannot perform the following tasks:
- Setup snap "core" (11993) security profiles (cannot run udev triggers: exit status 1
udev output:
LNXSYSTM:00: Failed to write 'change' to '/sys/devices/LNXSYSTM:00/uevent': Permission denied
...

This could be related to https://github.com/snapcore/snapd/pull/11039 or our switch to cgroups v2 so it might be something that we need to fix on the snapd side. So any hints are appreciated.
Information to attach
Happy to attach more output but it should be fairly easy to reproduce on a 21.10 system.

udevadm trigger changed in 21.10 to return errors for conditions that didn't use to trigger one.
After some discussions upstream, the compromise made to still have LXD behave was that their systemd unit (systemd-udev-trigger.service) would be configured to ignore non-zero return values from udevadm. I believe snapd needs to do the same here, call udevadm trigger but not fail when it returns non-zero.

There should be a proper fix in upstream systemd for this:

discussion: https://github.com/systemd/systemd/pull/18559
fix: https://github.com/systemd/systemd/pull/18684

To get the old behavior you can pass --quiet to udevadm.

You guys rock, thank you so much! I think we can close this one then.


How to optimize L

Hi and thanks so much for making this tool open source, this is really helpful!
While I understand how to find the most appropriate K/lambda (the demo is pretty explicit), I am wondering if there would be a way to optimize L (find the exact sequence length). Right now, in cases with prominent and reliable sequences, I can vary L and the reconstruction will still work fine (every occurence is found, cell order is consistent) however H will not necessarily point to the actual beginning of the sequence (and in some cases give the false impression that the sequence starts earlier). Would you recommend any specific method to determine the best appropriate L (that is, without any prior over the type of behaviour being performed and/or neural activity)? Perhaps iteratively, just like for K/lambda?
Thanks a lot and take care!
Guillaume

Hi Guillaume! Since different sequences in the dataset might be different lengths, I wouldn't suggest optimizing L across the entire dataset.  One thing I've done to get a sense of the length and start time of a sequence is look at the cross correlation between each neuron's timecourse and the H.  Define participating neurons as neurons with a significant peak in the cross correlation (compared to circularly shifted data).  Then, you can see where the first and last participating neurons tend to fire relative to the H's by looking for what time lag has high peak cross correlation.  Hope this helps, let me know if you have questions! Also, sorry for the delay responding... I didn't have notifications set up properly and only just saw this.


"Cannot assign requested address" error in wal_acceptor

I got an unexpected CI failure, with this in wal_acceptor log:
https://app.circleci.com/pipelines/github/zenithdb/zenith/1303/workflows/d5d95541-50e7-41e3-8a14-5ce9e7cacddb/jobs/7372
Aug 24 19:41:57.535 INFO Invalid WAL file<PHONE_NUMBER>00000000000001.partial magic 0
Aug 24 19:41:57.535 INFO Start replication from 0/1699D10 till 0/0
Aug 24 19:41:57.540 INFO Switch to new epoch 1
Aug 24 19:41:58.532 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:41:59.534 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:00.538 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:01.541 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:02.544 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:03.547 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:04.550 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:05.553 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:06.556 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:07.890 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:08.893 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:08.894 ERRO Failed to connect to pageserver postgresql://no_user:@localhost:64000/no_db: error connecting to server: Cannot assign requested address (os error 99)
Aug 24 19:42:09.894 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'
Aug 24 19:42:09.896 ERRO Failed to connect to pageserver postgresql://no_user:@localhost:64000/no_db: error connecting to server: Cannot assign requested address (os error 99)
Aug 24 19:42:10.896 INFO requesting page server to connect to us: start postgresql://no_user:@localhost:64000/no_db callmemaybe ff4af1daab9b0ac7b6e87c2115ad20a3 fb5e67b5e2d202b0e3bca47dee1483f8 host=localhost port=54321 options='-c ztimelineid=fb5e67b5e2d202b0e3bca47dee1483f8'

Os error 99 is none other than EADDRNOTAVAIL, per man 2 connect:
EADDRNOTAVAIL
      (Internet  domain  sockets)  The  socket  referred to by
      sockfd had not previously been bound to an address  and,
      upon  attempting to bind it to an ephemeral port, it was
      determined that all port numbers in the  ephemeral  port
      range  are  currently  in  use.   See  the discussion of
      /proc/sys/net/ipv4/ip_local_port_range in ip(7).

Happened again: https://app.circleci.com/pipelines/github/zenithdb/zenith/1746/workflows/999057a9-bf5a-4d3e-8613-584716a2bf6e/jobs/11086

Hm. The first link
https://app.circleci.com/pipelines/github/zenithdb/zenith/1303/workflows/d5d95541-50e7-41e3-8a14-5ce9e7cacddb/jobs/7372
points to 'pg_regress tests debug' green job where safekeepers are not involved, and in the second
https://app.circleci.com/pipelines/github/zenithdb/zenith/1746/workflows/999057a9-bf5a-4d3e-8613-584716a2bf6e/jobs/11086
test_race_conditions failed, but I don't see Cannot assign requested address (os error 99). The failure is due to WAL corruption (marker for that is query handler for b"START_WAL_PUSH\0" failed: invalid xl_tot_len 0 at 0/10000A0) on walproposer restart, which shouldn't happened in this test at all. Both things -- WAL corruption on walproposer restart and wasteful restarts themselves -- have been fixed since then.
I'm not sure where 'os error 99' comes from. The only direction I have in mind is some leakage of these callmemaybe reconnections, especially when walproposer -> safekeeper often restarts due to some other bug (e.g. above), but let's see this at least once more before speculating.

Got another failure with the same error:  https://github.com/neondatabase/neon/runs/7250242872?check_suite_focus=true
2022-07-08 11:20:44.809 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 0 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16153), [Errno 99] Cannot assign requested address
2022-07-08 11:20:44.809 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute1_key65536"
2022-07-08 11:20:44.809 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:44.954 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 1 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16154), [Errno 99] Cannot assign requested address
2022-07-08 11:20:44.955 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute2_key131072"
2022-07-08 11:20:44.955 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:45.103 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 2 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16155), [Errno 99] Cannot assign requested address
2022-07-08 11:20:45.104 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute3_key196608"
2022-07-08 11:20:45.104 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:45.249 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 3 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16156), [Errno 99] Cannot assign requested address
2022-07-08 11:20:45.250 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute4_key262144"
2022-07-08 11:20:45.250 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:45.397 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 4 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16157), [Errno 99] Cannot assign requested address
2022-07-08 11:20:45.398 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute5_key327680"
2022-07-08 11:20:45.398 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:45.580 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 5 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16158), [Errno 99] Cannot assign requested address
2022-07-08 11:20:45.581 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute6_key393216"
2022-07-08 11:20:45.581 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:45.738 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 6 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16159), [Errno 99] Cannot assign requested address
2022-07-08 11:20:45.738 INFO [neon_fixtures.py:1212] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id f48c635d39e440c0a636f188f685a5a0 bgcompute7_key458752"
2022-07-08 11:20:45.738 INFO [neon_fixtures.py:1213] Running in "/tmp/test_output/test_concurrent_computes/repo"
2022-07-08 11:20:45.898 INFO [test_wal_acceptor_async.py:338] BackgroundCompute 7 query failed: Multiple exceptions: [Errno 111] Connect call failed ('<IP_ADDRESS>', 16160), [Errno 99] Cannot assign requested address

From a different test this time, and from python rather than WAL receiver. But I think it's a similar resource exhaustio issue in the CI.

And a few more here: https://app.circleci.com/pipelines/github/neondatabase/neon/7822/workflows/71c87bd2-5707-40d0-aae1-4fc7993d09fe/jobs/80303, see tmp/test_output/test_unavailability/repo/pgdatadirs/tenants/57391c9e525f441bb18801c0dedaaf7d/test_safekeepers_unavailability_pg_node/pg.log
That was from the CI run for the same commit as above, but I don't think there was anything in the PR that could cause that.

Another one, from a docs-only PR: https://app.circleci.com/pipelines/github/neondatabase/neon/8150/workflows/ef2c3e04-1585-40c3-802b-7ebe7611c673/jobs/83441/steps

Another one, from a docs-only PR: https://app.circleci.com/pipelines/github/neondatabase/neon/8150/workflows/ef2c3e04-1585-40c3-802b-7ebe7611c673/jobs/83441/steps

Never mind, I this was different. I was looking at the postgres log, and it contained errors like this:
2022-07-18 10:49:03.595 GMT [18267] LOG:  connecting with node localhost:17119
2022-07-18 10:49:03.595 GMT [18267] WARNING:  failed to connect to node 'localhost:17119': connection to server at "localhost" (<IP_ADDRESS>), port 17119 failed: Connection refused
		Is the server running on that host and accepting TCP/IP connections?
	connection to server at "localhost" (<IP_ADDRESS>), port 17119 failed: Connection refused
		Is the server running on that host and accepting TCP/IP connections?
	connection to server at "localhost" (::1), port 17119 failed: Cannot assign requested address
		Is the server running on that host and accepting TCP/IP connections?

But I think that was just IPv6 not working, which is OK. I'm not sure what caused the timeout in that CI run, though.

Got another example
https://neon-github-public-dev.s3.amazonaws.com/reports/pr-2710/release/3386856615/index.html#suites/82004ab4e3720b47bf78f312dabe7c55/7f6280bcd3ecab01/

I think this is no longer relevant. Issue in the last message is likely fixed by
https://github.com/neondatabase/neon/pull/2984


Updated FastQCRunner to pass output files

Small change allowing fastqc outputs to be captured by zippy so we can run multiqc

lgtm


Flutter Google Map: when having few markers on map, onTap is being activated for the last marker

short code
markers.value =
           await Future.wait(

              bikeStations.value!.stations!.getRange(0, 5).map((e) async {
            bikeNos++;
            // BitmapDescriptor icon = await getMarkerIcon(
            //     'assets/home/bike.png',
            //     Size(Get.width / 3, Get.width / 3),
            //     "Avail cycle ${e.cycleCount} \nDist ${e.distance}KM");

            BitmapDescriptor? icon = await getCustomIcon(bikeNos);

            return Marker(
              draggable: false,
              consumeTapEvents: false,

              onTap: () {
                print("bikeStation onTapped");
                // print(key);

                // bikeInfoDialog(bikeStations.value!.stations![key]);
                bikeInfoDialog(e);
              },
              markerId: MarkerId("${bikeNos}"),
              icon: icon ?? BitmapDescriptor.defaultMarker,
              position: LatLng(
                double.parse(e.lat!),
                double.parse(e.lng!),
              ),
            );
            // subMakers.add(marker);
          }).toList()

flutter doctor -v
[✓] Flutter (Channel stable, 2.10.0, on macOS 11.5.2 20G95 darwin-x64, locale en-ET)
    • Flutter version 2.10.0 at /Users/mac/Downloads/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5f105a6ca7 (6 days ago), 2022-02-01 14:15:42 -0800
    • Engine revision 776efd2034
    • Dart version 2.16.0
    • DevTools version 2.9.2

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mac/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio Preview.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • iPhone 12 (mobile) • 6B101D18-E8CB-484E-869C-3FB00F44A400 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Hi @yendu, please provide a complete minimal reproducible code sample as well as any screen recording that shows what exactly the issue you're experiencing is.
What version of google_maps_flutter are you using?
Also, what platforms are you experiencing this issue with?
Thank you


fix: trim .ext from title to optimize query.

The unexpected . field in the title directly
corrupts local.go:findFile, so that the last part
of the title never accurately matches the lrc file.

I'm using Rhythmbox to play local music and the lyrics are also local. Then I noticed that for files with missing metatags, sptlrx always confused different songs by the same artist.
After debugging, I found that the reason is that Rhythmbox will use the file name together with its extension as the fall-back title, and when matching local lyrics, the extension will be processed and glued together with another part at the end of the file name -- usually the real title of the song.
This means that unless this mechanism is known in advance and all lyric files are renamed accordingly, accurate matching is impossible to occur for a player like Rhythmbox.
This fix may also introduce new issues with certain file/player combinations, such as when the song title contains a dot but the url does not contain the file extension. But I think this situation should be rare enough.

Maybe it would be better to put meta["xesam:url"] into the player.State structure, so that local.go can compare the file extensions by itself, and also get the accurate lrc file with the same name based on the url without configuring the lyrics directory.

Works great, thank you!

Maybe it would be better to put meta["xesam:url"] into the player.State structure, so that local.go can compare the file extensions by itself, and also get the accurate lrc file with the same name based on the url without configuring the lyrics directory.

I agree. I'm planning a big rewrite of the project that will improve such scenarios (and maybe even allow us to use embedded lyrics), but those are just plans.

I agree. I'm planning a big rewrite of the project that will improve such scenarios (and maybe even allow us to use embedded lyrics), but those are just plans.

Sounds great, looking forward to new features coming!

Maybe it would be better to put meta["xesam:url"] into the player.State structure, so that local.go can compare the file extensions by itself, and also get the accurate lrc file with the same name based on the url without configuring the lyrics directory.

@YanceyChiew you may be interested that I made a PR for this in #53.


Info.plist must contain an NSCameraUsageDescription

Crashing with following error
This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

Solved by adding Privacy - Camera Usage Description


readme-update

Requirements for a pull request
Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.

[ ] Unit tests related to the change have been updated
[x] Documentation related to the change has been updated

Description of the Change
Added some docs to run metaflow-ui locally with metaflow-service

Alternate Designs

Possible Drawbacks

Verification Process

Release Notes

Added docs for local deployment

This looks good to me and is surely useful in some cases. @romain-intel Any comments?

Looks fine. Merging.


fix: Fixes foldername for Azure DevOps

Also fixes Docker image tag pushing for k8s rollout.

/azp run


context.authorization.userId is not defined.

I tried running your example and noticed I don't have a context.authorization defined like the example has here:
scope.setUser({
      id: context.authorization.userId,
    });

Are there any best practices or guides on setting up your app so this data is available. The only thing I pass in the headers is an authorization string set to Bearer k23lkjfwfjo3...
 And then read them like so:
scope.setUser({
      user_id: context.request.headers['user_id'],
      user_email: context.request.headers['user_email'],
      user_token: context.request.headers['user_token'],
      user_role: context.request.headers['user_role'],
      user_name: context.request.headers['user_name'],
    })

Hey! This will depend on the underlying server, as you'll be able to customize which information gets added to the context once a request comes in. And by that, everything added to the Context can be used 👍


Is paste_masks_in_image fixed?

I see this comment in the code and wondering if it's fixed:
https://github.com/pytorch/vision/blob/master/references/detection/engine.py#L73
If it isn't could I please get some information on how to fix it and I can submit a PR.

Please check #3115. Closing this as it's a duplicate, let's continue the discussion there to keep it in one place. :)


Check if a model is disposed before fetching its version

We ran into the same issue described in https://github.com/remcohaszing/monaco-marker-data-provider/issues/1 and we are on version 1.2.3 (where the fix is supposed to be). This issue is that model.getVersionId() throws the same error.
Instead this PR switches the check of model.isDisposed() to before model.getVersionId(). If the model is disposed then the condition will short-circuit and model.getVersionId() will never get called.

Makes sense! Thanks!


Bump ember-cli-babel

If I understand the package.json correctly, this says that it works with any version 7.5+, if we change this, doesnt it then say that it only works with 7.26.6+.   Is that what we want to say?  Was this PR required for you somewhere to fix something?

I was just seeing this package listed among many others in a v3.27 deprecation warning caused by ember-cli-babel, so I thought I would bump it:
Prior to v7.26.6, ember-cli-babel sometimes transpiled imports into the equivalent Ember Global API, potentially triggering this deprecation message indirectly, even when you did not observe these deprecated usages in your code.

Do you know if ember-cli-babel respects semver? I assumed a minor version bump from 5 to 26 would still be backwards compatible, but I'm not sure.

As I understand it, if your app is using 7.20, this says I work with 7.5+ so Ill use the 7.20, that would then trigger the deprecation. But if your app is using 7.26.6, this says hey I can use it, and so will use 7.26.6 and not trigger the warning. So really, the app. should be updated not the addon.
If we change this to 7.26.6+ then if your app is using 7.20 then it will say nope, I cant use it, and bring in a copy of 7.26.6 and use it. Not triggering a warning. So in effect, yes this does fix it by bringing in another copy. But by changing it here we are actually saying we require 7.26.6+ to work like we are relying on a feature that isnt in 7.25- which is not actually true and we could cause another copy that might not have been needed.
If this is all correct, I would then assume that addons should always specify the minimum requirement they need to work, not the most recent one.
Again this is just my understanding of how things work and would appreciate anyone correcting me if any of this is wrong.
All the above is for more generic dependancies,  this particular problem is unique though in that maybe this PR is the correct thing to do. Hoping someone smarter weighs in here.

Hey team, so I've come across what I initially thought was an issue of ember-cli-mirage using an outdated babel version when upgrading our Ember app from 3.24 to 3.28. Logs below (removed the bits from other dependencies to keep things shorter).
WARNING: [DEPRECATION] [DEPRECATION] Usage of the Ember Global is deprecated. You should import the Ember module or the specific API instead.

See https://deprecations.emberjs.com/v3.x/#toc_ember-global for details.

Usages of the Ember Global may be caused by an outdated ember-cli-babel dependency. The following steps may help:

* Upgrade the following addons to the latest version:
  * ember-cli-mirage
  ...
### Important ###

In order to avoid repeatedly showing the same deprecation messages, no further deprecation messages will be shown for usages of the Ember Global until ember-cli-babel is upgraded to v7.26.6 or above.

To see all instances of this deprecation message, set the `EMBER_GLOBAL_DEPRECATIONS` environment variable to "all", e.g. `EMBER_GLOBAL_DEPRECATIONS=all ember test`.

### Details ###

Prior to v7.26.6, ember-cli-babel sometimes transpiled imports into the equivalent Ember Global API, potentially triggering this deprecation message indirectly, even when you did not observe these deprecated usages in your code.

The following outdated versions are found in your project:

  *<EMAIL_ADDRESS>    * Depends on<EMAIL_ADDRESS>    * Added by<EMAIL_ADDRESS>    * Added by<EMAIL_ADDRESS>
Note: Addons marked as "Dormant" does not appear to have any JavaScript files. Therefore, even if they are using an old version ember-cli-babel, they are unlikely to be the culprit of this deprecation and can likely be ignored.

So from what I can tell the issue in my case was not that ember-cli-mirage brings in the wrong ember-cli-babel version, rather its transitive dependency of<EMAIL_ADDRESS>is using ember-cli-babel@6.
Looking at ember-cli-mirage's package.json we can see that it works with both ember-get-config ^0.2.4 and ^0.3.0 so if your application is using the latter there should be no deprecation warning as that one uses ember-cli-babel@7.
Generating a new Ember 3.28 app and doing ember install ember-cli-mirage does not reproduce the deprecation warnings for me which indicates that in my case I just have some dependency lock file management to do.
We use Yarn so I've used Yarn resolutions to explicitly tell my application to use<EMAIL_ADDRESS># package.json
  "resolutions": {
    "ember-get-config": "^0.3.0"
  }

For NPM users I'm not sure of a equivalent API sorry so probably so package-lock hacking for you.
This has removed the deprecation warning for me. I hope this helps someone. Cheers!

Thanks. Hoping that someone will be avail to merge and release

Per my earlier comment, I've raised https://github.com/miragejs/ember-cli-mirage/pull/2242 to get ember-get-config's minimum version updated to 0.3.0


global overrides not working for all after upgrade

I recently upgrade MUI from 4.2.1 to 4.7.2. Most of my global overrides not working any more, some still working. I replaced MuiThemeProvider with ThemeProvider as the document.
What is confused is that some are working some are not.
This is roughly my code:
import { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';
const myTheme = createMuiTheme({
  overrides: {
    MuiCssBaseline: {
        // working
        '@global': {
            body: {
                backgroundColor: 'white',
                overflowWrap: 'break-word',
                wordWrap: 'break-word',
            },
        },
    },
    MuiButton: {
        // not working
        root: {
            padding: '6px 24px',
            textTransform: 'none',
        },
        outlined: {
            padding: '5px 24px',
        },
        contained: {
            boxShadow: 'none',
        },
    },
    MuiDivider: {
        // not working
        root: {
            backgroundColor: 'blue',
        },
    },
    MuiDialogActions: {
        // not working
        root: {
            flexWrap: 'wrap',
            justifyContent: 'center',
            marginBottom: '1.5em',
        },
    },
    MuiChip: {
        // working
        root: {
            fontSize: 14,
        },
    },
  },
});

<ThemeProvider theme={myTheme}>
    ...
</ThemeProvider>

Any help is appreciated!

also posted there.

@drxcheng Were you able to find a solution?

@stephankaag I had multiple versions of MUI in my monorepo. Unify the version fixed the problem.


Validation: Fixed missing description

This PR addresses the following validation issue and includes an updated ms.date:
missing description

Docs Build status updates of commit 42c6a84:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/schema/property-element-list-instance.md
:warning:Warning
View
Details

docs/schema/property-element-list-instance.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f29da4d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/schema/property-element-list-instance.md
:warning:Warning
View
Details

docs/schema/property-element-list-instance.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

This PR addresses the following validation issue and includes an updated ms.date:
missing description
Global effort to fix build validation errors
@VesaJuvonen
The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. Please review within five business days and merge or comment in the PR with any changes you'd like to see. Thank you!


Where op for MoE

To match the torch op:
Where -> return indices of rows matching constant value (and values in that column)
(32, 1) -> (32, 1), (32, 1)
Context for Mixtral (internal only): https://tenstorrent.sharepoint.com/:p:/s/Jasmina/EUZv5VSt7IBKj5cI05eBSOsBeVSAt9S_k3B6FCfzyT5RdQ?e=zkg8rF
Open to better ideas for how to map the MoE branching operation than the torch approach, but this is our opening suggestion.

Already implemented! 🔥 https://tenstorrent-metal.github.io/tt-metal/latest/ttnn/ttnn/where.html#ttnn-where


release branch alderaan

If we separate alderaan from the master branch, we can make breaking changes on master even while stabilizing alderaan.  This issue keeps track of designing such branches, and write out when to do what on which branch.

when we need to patch Alderaan deployments
when we start deploying post-Alderaan contracts

What properties must always hold on alderaan?
What properties must always hold on master?

We use master as the release branch instead. We can still branch later.


Adding laposte.net a french mailbox provider

Hi !
I've seen your tool on n0where.net, and it interessed me.
It's really a child play to add modules congrats
So are you interessed if i develop some modules on french services ? (i'm french)

Hi downgade, glad to hear it was easy to add a module.
The code looks good. Ill merge it in. Feel free to keep contributing more modules :)


Bug: Crash occurs when opening Files via 3rd party app

Description
I was opening a specific folder holding images (from the app Launchbox).  Files opened but crashed while accessing the specified folder.  Tried it a few more times and it did not re-occur.

Steps To Reproduce
Click on 3rd party app shortcut that would normally open Windows Explorer to proper folder.
Requirements

e.g. Fix crash that occurs when...
Folder should open as expected without crashing Files.

Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.2215
Log File
debug.log

Thanks for the report, I've added this to the project board but since you said it's not constantly reproducible it might not be something Files can fix.

@tacogerbil were you able to reproduce the crash multiple times?

@tacogerbil were you able to reproduce the crash multiple times?

Yes but not very often and very randomly.  I couldn't pin down what I was doing that would trigger it.

I don't see anything that can be causing it but it's possible that it's a WinAppSdk issue. Is the issue still present in the latest preview build?

@tacogerbil


OCHRE Documentation

Documentation written in word

[x] OCHRE overview and scope (Jeff)
[x] Installation (Michael)
[x] Usage (Michael)
[x] License, citations, publishing, and contact information (Jeff)
Modeling Approach:

[x]  Envelope (Jeff & Michael)
[x] HVAC (Jeff and Sugi)
[x] Water Heating (Jeff)
[x] Batteries (Michael)
[x] Electric Vehicles (Michael)
[x] PV (Michael)
[x] Other Loads (Jeff & Michael)
[x] Co-simulation (Michael)
Input Files and Arguments:
[x] HPXML (Jeff)
[x] Occupancy Schedule (Jeff)
[x] Weather (Jeff & Michael)
[x] Generating Input Files (Jeff)
[x] Dwelling Arguments (Michael)
[x] Equipment Specific Arguments (Michael)
[x] Outputs & Analysis (Michael)
Controller Integration:
[x] External Control Singals (Michael)
[x] External Model Signals (Michael)

[x] Example Use Cases (Michael)
[x] Translated to .rst
[x] Hosted on readthedocs

Done! We'll probably have some follow up issues to improve the documentation, but we have everything we need documented


Override native IE10+ placeholder behavior, disappearing text on focus

modern IE native placeholder feature clears the text on Focus, which isnt so good when using JS to pre-select a textbox.
Is there a way to override this behavior? if not, would be a nice feature

:+1:

This script had one purpose only, which was to provide polyfills for old browsers.  It's out-of-scope for it to provide additional features.  If you code up your own solution I'll gladly add a link to it from the README.


NullPointerException

What is the purpose of the change
XXXXX
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

@wangnimaa pls. describe the PR more detailedly.

@wangnimaa
Hi, I think your pr is mainly optimized for a code format. Please modify the description of your pr to make it more in line with your original intentions.
@diecui1202 @htynkn
I think this string is more standardized in the previous way, so I merged it in this pr and hope it is merged into the master. What do you think?
https://github.com/apache/incubator-dubbo/pull/2571


Make WebGL renderer work on mediump devices

#111 will land a WebGL renderer that assumed highp in fragment shaders. Devices that don’t have highp in fragment shaders are going to get dropped to the un-animation 2D renderer.
I have an idea how we can make the WebGL renderer work reliably even if the fragment shader only has mediump accuracy:

Prepare the sprite coordinates in JavaScript
Make more the sprite smaller (512px? 768px?)
Multiple draw calls, rotating through the sprites, using 4 textures at most in any draw call. Tiles whose sprite is not available in the current draw call don’t get painted at all.

If we have time, I’ll take a look at that.

Inherently blocked on #111


Yeah I agree we overuse transparent here, but I think that's gonna need to be an ongoing project.


How to train a model on my own datasets with pretrained resnet152 model?

Thanks for your great codes! I want to train my own data with pretrained model when the backbone is resnet152. But I can not find the Corresponding model.May you give me some advice?Thank you!

We currently have only trained resnet50, as we have limited resources so we focus on just one backbone. If you've trained a resnet152 on COCO and would like to share it, hit me up on the #keras-maskrcnn Slack channel.

Okay.


Updating DLRM with learning rate warmup and decay policy

One bug with the get_lr() function:
If decay_start_step + num_decay_steps < total_steps, then the LR does the wrong thing after the decay period is over.  I assume it should keep the LR constant after the decay period is over.  You may need another conditional block to handle this case.
Minor suggestion with visualize:  Do some formatting of the long arrays, to make them easier to read.  e.g.
np.array([
39884406, 39043, 17289, 7420, 20263,
3, 7120, 1543, 63, 38532951, 2953546..]

I have updated PR based on Tayo's suggestions.


Update to use ecCodes 2.27.0

Could you please update ECCODES_VERSION to 2.27.0 (common.sh)
Many thanks

Any further updates?

A MILLION THANKS

ecmwflibs0.5.0 is now uploaded in pypi


Add images associated to the notification alert

This will improve the user experience to instead of just having a text on each notification, it'll be helpful if there's an image or even better a gif to display together with the motivation.

I was just goofing around and got something like this.
I never knew I wanted something so much.

It may require having internet though.

I was just goofing around and got something like this.

😂
Now we're talkin'! Would you like this to be included in WMP v1.2 instead of WMP v1.2.1 but we needed more assets for this.

It might be a good idea just to figure out what gifs/images that we would want to use. I think this feature it currently is technically feasible.
I'll have to look into this some more, because it is using assets not bundled in the plugin.

Okay, I figured out how to do it without always needing an internet connection.
I can elaborate on my thoughts on what I want to do if you want.

Oh yeah, if you want me to assign myself to issues, I can't do that at the moment.

My bad, I'll assign it to you then 😉

I really like this feature, so I am going to try my best to keep it small and focused.  (This feels like a larger milestone feature to me)
How this for start, I add the depicted gif above to the notification when tests pass? Then take it from there.

Sure! We can do that, as users can disable this. I'm also planning to add more settings as the notifications may get in the way especially when going for TDD as users will receive more notifs for the fail and pass tests. #106. We can move this issue to Milestone WMP 1.2 if you want as this feature is cool 🔥

We can move this issue to Milestone WMP 1.2 if you want as this feature is cool

Whatever works for you.
I just want Caramelldansen girls to show up when my tests pass :joy:

@zd-zero
One of the things I want to do is to be able to download the visual asset and have it available locally. That way this can be used offline and not always have to worry about having a steady internet connection (without it being in the plugin).
I've solved this problem before, I have set up a global CDN that looks a bit like this:

https://doki.assets.unthrottled.io/backgrounds/misato_dark.png
https://doki.assets.unthrottled.io/backgrounds/misato_dark.png.checksum.txt

I have the real asset, then I have the checksum. The checksum is used to determine if the locally installed asset is the same as the remote. If they differ, then I update the asset. I check like once a day to see is an update for an individual asset (the same could be done for these visual assets).
I use the checksum, because I pay for bytes across the wire, and it is cheaper send 32 bytes than always downloading something bigger :joy: .
I can set something up on my end (because I already have the tools/infrastructure), you could set up something on your end, or we could just use something like imgur.com and just always update at some interval.

Wow! I was actually thinking about this to not increase our plugin size. Initially, I want the plugin to consume an API and store it as a cache so we don't bundle the assets with the plugin (#123), we could go for this one and extend this with the API integration for some time, In future, we can use the API to have users so each user can provide their own assets and personalize it to whatever they want.

I check like once a day

Do you check on every startup of the project? or is it a CRON job?

Here is what I got so far.
This is not going to be a small PR, however, I am doing my best to keep the changes minimal and on target. I've only really changed how the test pass stuff works. I've got lot's of fun ideas, I just need to keep things focused.

That's lit 🔥
You never fail to amaze me, for now, let's keep it simple and we'll just extend it from here, let's aim for the low hanging fruit first.
Also, I would be off for a few days and if you're interested as you've made key features in this project I can invite you as a collaborator as I see that you're more experienced in doing this and I'll be glad to have you. Let's aim to have a waifu-ish theme to developer IDEs with both doki-theme and this plugin installed 😂

I'd be happy to help out as a collaborator. I've actually wanted a feature like this for a long time, I was actually stoked that this plugin existed.
I've spent a lot of time adding adding cute anime girls to things. Is Wafiu Driven Development a thing? (it should be) :joy:
Anyways no rush, I'll be working on this for a bit.

This is really a nice feature and now resolved by #126 🎉


Allow custom location for configuration file

It would be really useful if a custom file paths could be added to the list of allowed file paths
https://github.com/tinglesoftware/dependabot-azure-devops/blob/928d35912a33364e52ca3c65141225162de4b2a4/src/extension/task/utils/parseConfigFile.ts#L23
This would allow config files to reside in git submodules.

The docker container used to run this task checks for a configuration file in the .github folder. Migrate to it.
        Using the .azuredevops folder is deprecated and will be removed in version 0.11.0.\r\n

        See https://github.com/tinglesoftware/dependabot-azure-devops#using-a-configuration-file for more information.

If you only want to support a single location by default fine but please allow it to be overridden. This change will really inconvenience azuredevops users.

I have created PR to resolve this issue #382

@iantasker thanks for your suggestion. However, the warning messages is present intentionally because we read the configuration file in the Ruby script here whose data is then used to load ignore conditions and commit message options instead of wiring the logic afresh.
The repository that this extension is based on only reads from .github/dependabot.yaml or .github/dependabot.yml as is evident here.
First step is to update that logic in the core repository.


Get-DbaSsisExecutionHistory update

will start a review to show what i changed and why, one moment

@ChrisTuckerNM - can you test this against a server that has some executions on it, making sure to include various params like status, etc? ty

good now, except for no parametrized queries. Lemme know when I can chime in, so everyone can see how easy it is

I tested all parameters except for credentials and multiple instances... Is there an issue?

yeah, even if theoretically a user dabbling with dbatools is a "sane" user, constructing the query via string interpolation is susceptible to SQL Injection......

Oops, @potatoqualitee IS there an issue? I tested with all parameters against an instance with tons of executions, including failures and cancels.

@niphlod yeah, that last comment was meant for CL, not you, I agree on the injection, I was gonna have a crack at it but fire away..

I use this snippet, it's easily sprinkable throughout this module. If you have questions about implementing it ask away
function Get-SqlOrIfied([object[]]$element, [string]$keyprefix) {
            $stmt = ''
            $kv = [ordered]@{}
            for ($i=0; $i -lt $element.length; $i++) {
	            $kv["@$($keyprefix)_$($i)"] = $element[$i]
            }
            $stmt = '(' + ($kv.Keys -Join ', ') + ')'
            [pscustomobject]@{
                stmt = $stmt
                params = $kv
            }
        }
        ......
        $query_params = @{}

        if ($Status) {
            $piece = Get-SqlOrIfied -element $statuses[$Status] -keyprefix 'status'
            $query_params += $piece.params
            $statusq = "AND e.[Status] IN $($piece.stmt)"
        }
        else {
            $statusq = ''
        }

Note for later, we definitely need a -Since parameter (and maybe with a week old default that trims at a sane level the retrieved history)

this is breakin all my tests so imma merge

@niphlod unless you have been going through updating commands the method used in this command for dynamic T-SQL is how it is done in every command we have...and I mean every one literally.

@wsmelton : and that's exactly why we should change. BTW, it's not "safe by default" but others supposedly "interpolate" parameters that come from autocomplete, and things such databasename . Here there are several parameters "in free text" so it's more "urgent"


CSS: how to change image shape to circle?

Hi there and thank you for the great work! The plugin is amazing in many senses.
I have tried to apply CSS rules with border-radius: 50% and it worked on version 0.4.5, but does not work anymore in 0.5.1.
Could you please suggest any solution?

One possible solution on 0.4.5 is to add a nested  under the cropit-image-preview with white background-color and a border-radius: 50%. This solution no longer works for the newer version.

You need to do two things:

Class names and markup structure were changed in 0.5, and you need to set border-radius on .cropit-preview-image-container, not .cropit-image-preview.
The preview image used to be a background-image, and now it's an img tag. This seems to be an issue when you set border-radius and overflow: hidden on the container (.cropit-preview-image-container). Setting a z-index on the container seems to solve the problem. See this post for other solutions.

Perfect, thank you very much for the reply. It solved my problem


Added "std" feature for session-manager

Added "std" feature for session-manager which links the session-manager crate against veracruz-utils/std and ring/std.  This is part of the porting process for Veracruz on Linux.

AWS CodeBuild CI Report

CodeBuild project: Veracruz
Commit ID: 81f77e3e73859d7f82250f3280b509aceed2c4df
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: Veracruz
Commit ID: a68b89e4c7d6cda948b4459e21dd4f6cdac9ba04
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: Veracruz
Commit ID: ea912ef3ecc3d8c00aa39b78f6441396d38b751d
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: Veracruz
Commit ID: ea912ef3ecc3d8c00aa39b78f6441396d38b751d
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: Veracruz
Commit ID: 335d78356c301e232f09e1901fb1e8e5d5a31bd0
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@ShaleXIONG, as you have to run rustfmt on your branch before it can be merged, I will merge this change first.

reached, merging.


Create proxies.json for Swagger UI

Consider a default proxy for /swagger to redirect to the RenderSwaggerDocument endpoint.
See docs on proxies
@justinyoo @bradygaster

As discussed during the sync-up call, there are two options for us:

To provide the default value of /swagger through proxies.json out-of-the-box. ➡ It potentially overwrites existing proxies.json file.
To let developers add or create proxies.json by themselves ➡ It may scratch their development experiences.

I think the Option 1 would be our preference as long as we find a way to inject our proxy value to the existing one.
Can we use both proxy files? I mean, if there are two proxy files, can the AzFunc runtime merge them somehow automagically?

I prefer option 2 + docs

Oh, I see. Sounds good!

Added a doc for this: https://github.com/Azure/azure-functions-openapi-extension/blob/main/docs/shortening-swagger-ui-page-url.md @bradygaster @spboyer


function_clause when replicator receives a 401 or 402

Description
If incorrect authentication is entered into a replicator document, the replicator crashes with:
ChangesReader process died with reason: {function_clause,[{couch_replicator_api_wrap,'-changes_since/5-fun-2-',[401,[...

This should be cleaned up.
@willholley says "fwiw I've seen the same for 402 payment required errors which Cloudant sometimes sends."
Steps to Reproduce
Enable require_valid_user_true, set up user accounts, then attempt to replicate with missing or invalid credentials.
Expected Behaviour
Shouldn't result in a traceback in the logs.
Your Environment

CouchDB version used: 2.3.1
Browser name and version: n/a
Operating system and version: Linux x64

I don't see this as an issue.
If you want to replicate with invalid credentials (or logged out), you need to set the database as Public (go to Permissions under Fauxton). The error will be gone by then.

For reference, we consider any function_clause in the logs as a bug.
Pull requests welcome.

I can't reproduce the issue
I have tried to use CouchDB with plugin session, and without auth_plugins(auth_plugins = couch_replicator_auth_noop), but none of them can reproduce the problem.
Reproduce Steps
1. CouchDB with plugin session:
Compile and run CouchDB 3.x locally
make && ./dev/run --admin=adm:pass -n1

Set require_valid_user to true
curl -XPUT $DB/_node/_local/_config/chttpd/require_valid_user -d '"true"'

Replicate with invalid credentials, but there is no "function_clause" in the log.
curl -XPOST "$DB/_replicate"  \
  -H 'Content-Type:application/json' \
  -d "{\"source\": \"$DB/alice-db\", \"target\": \"http://adm:wrongpass@localhost:15984/alice-db-replicate\", \"create_target\": true }"

{"error":"unauthorized","reason":"unauthorized to access or create database http://adm:*****@localhost:15984/alice-db-replicate/"}

2. CouchDB without auth_plugins:
Set auth_plugins = couch_replicator_auth_noop in the "default.ini" file, and the follow the previous commands, but still cannot find "function_clause" in the log.
Environment

CouchDB version used: 3.x
Operating system and version: MacOS Big Sur 11.3.1

Thanks for trying it out @jiahuili430
I think we can close it as reproduce-able the latest release. If we get more details steps or  something we missed in our setup we can re-open it.


refactor(core): Rename "job" table to "runs" and "job_id" to "job_name"

Closes #2035

This appears to be a breaking change if you use a version of sqlite3 less that 3.25.1 (see changelog https://sqlite.org/releaselog/3_25_1.html for the addition of ALTER TABLE RENAME in that version). Notably, this means that meltano 2.1.0 works on ubuntu 18.04 but not meltano 2.2.0. This generates a syntax error for earlier versions of sqlite:
(sqlite3.OperationalError) near "job_id": syntax error
[SQL: ALTER TABLE job RENAME job_id TO job_name]
INFO - (Background on this error at: https://sqlalche.me/e/14/e3q8)

@pdebelak thanks for reporting! This sounds like something we should document 🙂
https://github.com/meltano/meltano/issues/6405


Trouble building as framework

#import "HOKDeeplinking.h" in HOKDeeplinking+Private.h fixes it.

Will fix it ASAP :), thank you!

Sure thing, thanks Ivan.


cmd: add error handling

Signed-off-by: hwdef<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
add error handling in cmd/supernode/app
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Why do you open 3 PR? Can you finish your work in #925 ?

@yeya24
because they are in different folder.
I don't know if they should handle together.


emoji are sent as code in a button or a card by bot framework

If I send message (e.g. hello! 😀😁), all emoji works (replace to pic) fine:
const msg = new builder.Message(session);
msg.text('hello! 😀😁');
session.send(msg);

But when I send emoji by card or by button (use HeroCard). emoji can not be shown on facebook. Example:
const card = new builder.HeroCard(session)
  .title('hello! 😀😁')
  .buttons([builder.CardAction.imBack(session, 'hello! 😀😁', 'hello! 😀😁')]
);
const msg = new builder.Message(session).attachments([card]);
session.send(msg);

How to fix it ? I found related issue (https://github.com/Microsoft/BotBuilder/issues/1920), but it haven't solution.
I used last bot builder (nodejs) version.

It's a facebook problem (not microsoft bot), in cards smile dont replace to image and displayed as native:

in mac, iphones and devices on android it's not problem
in lunix (tested on ubuntu) and windows <8 this smiles looks like code symbols
in windows 8,10 smile images exists but its not good


bin version of the firmware

Hy all, i'm having problems flashing my sonoff zigbee 3.0 plus-p. I found several threads about uploading the new firmware using ti flash programmer 2 solved using .bin files instead the .hex but i'm really noob and my poor english really don't help to understand how... Is there a way to have a ready bin file  of the https://github.com/Koenkk/Z-Stack-firmware/blob/master/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20220219.zip. I wish it could solve the problems i'm having with my ts0601 trvs that randomly miss commands and automations...

@IlGiock try these:
https://github.com/Koenkk/Z-Stack-firmware/tree/<IP_ADDRESS>/coordinator/Z-Stack_3.x.0/bin


Handle KeyboardInterrupt gracefully

Thank you for submitting a PR! I am currently headed out for the day, but am looking forward to trying this later this evening.

Did you happen to try this with run_jobs(in_background=True) ?

@aiqc Not yet. But I will try it out.

We're all set. This is isolated from background processing. FYI background jobs are one is interrupted by Batch.stop_jobs().
Thanks so much! Nice and simple!


swc-node/register make follow-on --import resolve to wrong path

Assume I have test.js, I can run node --import ./test1.js well.
But node --import @swc-node/register/esm-register --import ./test1.js fail:
node:internal/modules/run_main:129
    triggerUncaughtException(
    ^
Error: All of the aliased extensions are not found for /hax/test1.js: ./test1.js cannot be resolved in file:///hax/x/
    at resolve (file:///hax/x/node_modules/@swc-node/register/esm/esm.mjs:157:15)
    at async nextResolve (node:internal/modules/esm/hooks:866:22)
    at async Hooks.resolve (node:internal/modules/esm/hooks:304:24)
    at async MessagePort.handleMessage (node:internal/modules/esm/worker:196:18)

Node.js v20.16.0

I notice the dir seems become parent dir, and found that node --import @swc-node/register/esm-register/esm-register --import ./x/test1.js works.
Note, version 1.10.0 is ok (though not support --import ./test.ts). It seems become broken from 1.10.1 .

I am getting this same error when attempting to import bignumber.js using swc-node/register which I wasn't seeing previously utilizing ts-node. I've created a repo that reproduces the issue here:
https://github.com/benzittlau/swc-import-error-reproduction-repo
It seems like it may be related to it needing to be in a yarn workspace as I wasn't able to reproduce the issue without the yarn workspace hoisting involved:
Error: All of the aliased extensions are not found for /.../swc-import-bug/package/node_modules/bignumber.js: bignumber.js cannot be resolved in file:///.../swc-import-bug/package/src/index.ts
    at resolve (file:///.../swc-import-bug/node_modules/@swc-node/register/esm/esm.mjs:157:15)
    at async nextResolve (node:internal/modules/esm/hooks:865:22)
    at async Hooks.resolve (node:internal/modules/esm/hooks:303:24)
    at async MessagePort.handleMessage (node:internal/modules/esm/worker:196:18)


New Surface parameter resource file

addresses GEOSgcm_GridComp issue 145

note related GEOSgcm_App pull request 107

note related GEOSgcm_GridComp pull request 240

adds Surface parameter resource file:
./GEOSsurface_GridComp/Shared/GEOS_SurfaceGridComp.rc
to avoid having to add new parameters into AGCM.rc.tmpl and prepare for further science
development

NOT zero-diff for CatchmentCN

zero-diff tests conducted successfully.

GEOSldas modifications necessitated by GCM GridComp addition of Surface parameter resource file
Unverified, non-zero diff changes in CatchCN