Rdrp 532

Pull Request submission

There were no errors in the output intram by itl as such.
Yet, in staging, the postcodes were not staged if reading from feather, and that prevented the regional outputs
Restored the postcode staging and validation the way it was in branch 468. This may need to be revised, but works for now.

Code

[ ] Code runs The code runs on my machine and/or CDSW
[ ] Conflicts resolved There are no conflicts (I have performed a rebase if necessary)
[ ] Requirements My/our code functions according to the requirements of the ticket
[ ] Dependencies I have updated the environment yaml so it includes any new libraries I have used
[ ] Configuration file updated any high level parameters that the user may interact with have been put into the config file (and imported to the script)
[ ] Clean Code

[ ] Code is as PEP 8 compliant as I can humanly make it
[ ] Code passess flake8 linting check
[ ] Code adheres to DRY

[ ] Type hints All new functions have type hints

Documentation
Any new code includes all the following forms of documentation:

[ ] Function Documentation Docstrings within the function(s')/methods have been created

[ ] Includes Args and returns for all major functions
[ ] The docstring details data types

[ ] Updated Documentation: User and/or developer working doc has been updated

Data

[ ] All data needed to run this script is available in Dev/Test
[ ] All data is excluded from this pull request
[ ] Secrets checker pre-commit passes

Testing

[ ] Unit tests Unit tests have been created and are passing or a new ticket to create tests has been created

Peer Review Section

[ ] All requirements install from (updated) environment.yaml
[ ] Documentation has been created and is clear - check the working document
[ ] Doctrings (Google format) have been created and accurately describe the function's functionality
[ ] Unit tests pass, or if not present a new ticket to create tests has been created
[ ] Code runs The code runs on reviewer's machine and/or CDSW

Final approval (post-review)
The author has responded to my review and made changes to my satisfaction.

[ ] I recommend merging this request.

Review comments
Insert detailed comments here!
These might include, but not exclusively:

bugs that need fixing (does it work as expected? and does it work with other code
that it is likely to interact with?)
alternative methods (could it be written more efficiently or with more clarity?)
documentation improvements (does the documentation reflect how the code actually works?)
additional tests that should be implemented (do the tests effectively assure that it
works correctly?)
code style improvements (could the code be written more clearly?)
Do the changes represent a change in functionality so the version number should increase? Start a discussion if so.
As a review you can generates the same outputs from running the code

Your suggestions should be tailored to the code that you are reviewing.
Be critical and clear, but not mean. Ask questions and set actions.

The changes were implemented in outputs bug fix branch.


Change Button Edit user profile

Is your feature request related to a problem? Please describe.
The label "Edit profile" should be shorten.
Describe the solution you'd like
the label "Edit" only in user profile view should be enough.
Describe alternatives you've considered
N.A.
Additional context
N.A.

This is already done...


fix: enhance interpretation of fragments

Summary
Recently it was discovered that our interpretation for certain variants of documents are not handled correctly.
Documents that are identified with a DID but revoked with an Ethereum Doc Store will be unhandled thus producing a generic error which might be confusing to the user.
This pr enhances the interpretation of the fragments, by making the interpretation of revocation stricter by handling the OpenAttestationDidSignedDocumentStatus fragment.
Changes

add new function that checks the OpenAttestationDidSignedDocumentStatus fragment
add tests to test new functionality

Issues
https://www.pivotaltracker.com/story/show/184277110

Also if anyone needs an explanation of the different variants of documents, can reference the documentation or feel free to ping me.

Documents issued and revoked by DocStore (vanilla flow)
Docs identified by DID and revoked by DocStore
Docs identified by DNS-DID and revoked by DocStore.
Docs identified by DID and revoked by OCSP responder

https://github.com/Open-Attestation/adr/blob/master/issuing_using_did.md
https://www.openattestation.com/docs/integrator-section/verifiable-document/did/revoking-document
https://www.openattestation.com/docs/integrator-section/verifiable-document/did/revoking-document-ocsp


Hubble timestamp bug fix

Changed the logic to fetch osquery results from current time to the timestamp of event.
As a result now events will be published in splunk with their intended timestamp rather than time of ingestion of events.

Interesting catch


Document "new" managed types

There is now some code generation in place so abstract types can be used for extensions, tasks, etc.
Let's add some documentation for it.

Can we do the RC without this?


[WIP] Improvements to SwiftRemoteMirrors

@bitjammer Since this is my first set of changes for the reflection stuff, you mind doing a pre-commit review?

Looks fantastic to me.
The make_shared -> create changes remind me - when we hand over a typeref pointer to the client, which will be opaque to them, they may eventually hand it back asking more questions about it. How do you think we should handle that re: shared pointers vs. a bump pointer allocator or something?

@bitjammer I'm inclined to believe we should switch to a bump allocator and unique TypeRefs, instead of reference counting them. I'd like to use TypeRefs as keys in cache tables (for the struct layout stuff I'm working on).

@swift-ci Please test


Problem with calling the function

Challenge Write Reusable JavaScript with Functions has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Example
function ourReusableFunction() {
  console.log("Heyya, World");
}

ourReusableFunction();

// Only change code below this line
function reusableFunction() {
  console.log('Hi World');
}
reuseableFunction();

@illertimes I believe this is caused by a typo in your function call. reuseableFunction should be reusableFunction(). Remove the extra 'e' in reuseable an you'll be in business.

@dhcodes  Thanks man I appreciate it... embarrassing to say the

least

I did the same thing!


change devrant.io to devrant.com

For issue #20

Did you check that the endpoints are working correctly for all API calls? The unit tests wont confirm it as we are mocking the devrant API response. Or you can use samples/Demo.py to check all APIs are working correctly.

Thanks for your contribution. Please comment in the issue before you start working on it. This will help everyone to contribute to different issues.
There is already a PR which covered all changes required for the issue. Hence, I will close this PR.


Decrease RAM usage. Cover case compiler not support mforce_l32

Cover case compiler not support mforce_l32 flag such as Windows UDK

Work in progress.

Saves around 640 Bytes of RAM for platforms where mforce_l32 flag is not used. Also, using theflag will force all read operations to be 4byte aligned so there will be a code/performance hit if the flag is used...

More agressive saving possible (see commit 2) but additional code needed (https://github.com/SmingHub/Sming/tree/develop/Sming/Wiring/FakePgmSpace.cpp)

@igrr any chance to merge this soon?

Cherry-picked in feed1ca, thanks for the PR!

Ok sorry for not having more time to finish this on myself:(
Thanks for the extra work


Plugin management system for Ralph

Purpose
Reference on @jmaupetit issue #219
Inpiration from commit openfun/warren/pull/7
Proposal and Questions
Each backend is a plugin
Each plugin has it own pyproject.toml
Core directory with pyproject.toml
Find a way to manage update of core with update of plugins
Use of importlib (importlib_metadata or importlib.metadata depending on python version)
Install plugin through pip
New version pattern for plugins
Which entry points ?
fs => builtin per default ?
When register plugins => check performances
Next Version
Use of Cookiecutter to bootsrap project efficiently ?
Still editing...

Redundant with #219


Figure Out Starting Point for Angel

All of her paperwork is in it seems. Idk if it needs to go through @nniiicc or not?

I don't know what you are asking

Angel submitted all of her paperwork to the Undergrad UW iSchool Admin to do a research capstone with CDP for tagging special interest groups.
I am just trying to keep things moving. This is the only thing on the Undergrad research capstone details page that is next:

The Informatics chair will approve or decline research proposals to ensure that the proposed work constitutes a significant research experience.

Which isn't either of us but I am wondering when Angel can actually start working on the project. Just trying to plan like "Hey Angel, with your submission of the paperwork, we are waiting on the undergrad chair, but we should be able to start on Nov. 3. Want to stop by the datalab and we can chat about first steps?"
That type of deal. The question is really: "what is the timeline for the final administrative stuff so I can coordinate with her."

Got it - you can coordinate with her now (or when it is convenient). The approval from INFO chair is pro-forma - they will send me an email at some point and I will confirm.


Not working on Chrome despite success error firing

I've implemented this and it's working brilliantly in browsers as documented, except Chrome (46). The success event fires and using console I can see that e.Text contains the right text but nothing is actually added to the clipboard (I'm on Windows ).

I ran document.queryCommandSupported('copy') in console and it reported false but then Googled and saw Chromium bug 476508 and your polyfill. I've added the polyfill into my page and whilst document.queryCommandSupported('copy') now reports true, clipboard adding still doesn't work.

I have somthing similar in IE 11. It worked once, but after that it never works again although I get a succes event fired

Everything seems to be working fine here. Please share a minimal JSFiddle like this so we can investigate properly.

Closing this one since there was no response. Let me know if you're still facing this error or not.


Add markdown linting to the lint command

Fixes #655 by adding in markdownlint as a check via the liniting process. This is widely used and follows CommonMark to ensure consistency in the mard down files. It is also configurable. There are thee items ignored for this repo and they are documented in the configuraiton file.
{
  "MD013": false, // Ignore the line length rule.
  "MD025": false, // Allow the title in the front matter and markdown heading one to match.
  "MD033": false // Allow Inline HTML.
}

Hi @sytone - I should probably have said this earlier, but for the avoidance of doubt, I am really looking forward to seeing linting enabled. some general comments, following up on advice that was probably unclear earlier...
However, can I please request that in making PRs, you try to think about likely future merge conflicts, to aid in the mergeability of yours and other people's PRs?
For example, we have 2 PRs in flight and under review that modify markdown already: #636 and #644.
There is also your other large and parallel PR #653 that also changes markdown.

Is it possible to enabling linting in a way that is optional? When I (think I) mentioned earlier about incrementally rolling out linting earlier, this is the kind of thing I have found works well on a multi-person project:

Create a PR which adds the configuration to enable consistent linting of markdown files, but to have this disabled - and which only adds the configuration, and does not change any markdown files.
Merge that PR
Developers can then experiment with the linting and learn from it.
At an agreed time, add a PR to apply the linting to the markdown on main
Then another PR enables turns on markdown checking, ideally initially as warnings and not errors
Verify that this runs correctly in GitHub Actions, same as on developer machines
Then make linting of markdown fail both developer and GitHub Actions builds
If people have open branches on their own forks, with in-flight development, they have the option to cherry-pick the first PR and fix the formatting of their own markdown edits, perhaps just of the files that they have modified.

Ignore #653, it should really be draft as a discussion point but I have no idea how to change it after creation.
I am assuming that anyone working on a change in a fork/branch is going to get main from upstream at a regular occurrence. Otherwise, they may miss significant changes and it also allows them to validate a merge in their branch and not just hope GIT got it right.
For these changes, the merges would be straight forward, and I have no issues doing it post or pre my change and doing all the updates and merges.
There were not a whole lot of issues to start with and it took a minute to resolve them out, I would expect it to be very minimal for the documentation post this and most of the catches being automatic via the linting anyway.

For my education, I'm trying to understand how this will work in practice.
Summary

The checks and auto-fixes work well when running yarn lint manually
They do not yet trigger on commit, allowing files with both fixable and unfixable markdown issues to be committed
They do trigger on push, preventing pushing of unfixable errors
I suspect if they fixed fixable errors on push, they would leave the working directory with modified files. (This will go away once the pre-commit runs on markdown files correctly)

Making an auto-fixable markdown error
Here's what I've learned, by making a change that I know that markdown lint will fix (removing punctuation from the end of a heading):

If I make the edit, and then run yarn lint, the punctuation is silently removed.
If I make the edit and then commit, the commit is made with the punctuation included. So committing a modified .md file does not apply then linting.
If I then run yarn lint, the punctuation is then removed and I have an uncommitted edit in my project.

Making a non-auto-fixable markdown error

If I broke Heading levels should only increment by one level at a time, I was still able to commit fine, with no warning.

Trying to push with a non-auto-fixable markdown error
The push did fail:
Linting: 24 file(s)
Summary: 1 error(s)
README.md:36 MD001/heading-increment/header-increment
Heading levels should only increment by one level at a time [Expected: h3; Actual: h4]
error Command failed with exit code 1.

Thoughts?
I think that if *.md was added to the pre-commit hook in left hook.yml, this would all work brilliantly.
Having said that, I've just changing making this change to left hook.yml and then trying to commit a markdown file with both a fixable and unfixable error:
diff --git a/lefthook.yml b/lefthook.yml
index 5a8c30a..4746749 100644
--- a/lefthook.yml
+++ b/lefthook.yml
@@ -12,7 +12,7 @@ pre-commit:
   parallel: true
   commands:
     lint:
-      glob: "*.ts"
+      glob: "*.ts" "*.md"
       run: yarn lint {staged_files} && git add {staged_files}
     test:
       glob: "*.ts"

Both the fixable and unfixable errors made it in to the commit, so I'm stumped at this point!
(I also tried glob: "*.ts *.md")

Separated out the mark down lint so left hook can call it independently on *.md changes. That way it is not combined with the other lint commands.

Separated out the mark down lint so left hook can call it independently on *.md changes. That way it is not combined with the other lint commands.

Thanks - nice idea.
@schemar Is it intentional that there is no hook for merging? I assume so, so any lint errors can be fixed before pushing, but just wanted to check.

@schemar Is it intentional that there is no hook for merging? I assume so, so any lint errors can be fixed before pushing, but just wanted to check.

I am not sure what you mean, can you please elaborate?

@schemar Is it intentional that there is no hook for merging? I assume so, so any lint errors can be fixed before pushing, but just wanted to check.

I am not sure what you mean, can you please elaborate?

Sure: When I do git commit and git push there there is a long pause, whilst checks are done.
When I do git merge, the merge happens immediately, and so a new revision is created that may have errors in.
This is because the hooks file has lines for commit and push, but not merge.
I think this is a feature, in that if fix-up is required after a merge, it's in a separate revision, which I think is a Good Thing (TM) when reviewing code... In a complex merge, combining the fixes in to the same commit as the features would make future review a lot harder...
It probably makes it easier to fo merges via github's web UI, and then fix any issues locally later.
But I was just asking if it is intentional that there is no checking of merge commits.

Super - thanks!


opencl_kernels_xfeatures2d.cpp not found when compile with CUDA

When choose to compile with CUDA 6.5, cmake in gui will ask for opencl_kernels features2d.cpp cause the visual studio solution fail to build.

@mshabunin this can also be closed down - it is known that the world module does not build stable on each possible configuration but the wide range of possibilities for that is probably due to an underlying module not building.


Contributors missing in tier

See https://opencollective.com/xr-belgium/contribute/after-party-12957

Expected result: I (Xavier) should show up as a contributor (€20) but also other people.
It looks like one of the issues comes from the fact that it doesn't create a new row in Members if the contributor is already a member of the collective.
I've updated manually the row with id 65319 (in the Members table) but it still doesn't show up (maybe caching?)

The row with id 65319 is not you but "Leen". It's now correctly appearing.
Effectively, because of internal caching, it's possible that manual edits to the database are not appearing immediately.

It's not only caching, there is also another issue as I don't show up despite my donation (I manually fixed it for Leen's), and also the total raised sor far €156 doesn't match with the only 3 contributors that show up so far (€60)

It looks like one of the issues comes from the fact that it doesn't create a new row in Members if the contributor is already a member of the collective.

That's probably the root cause, I've recently spotted a similar issue.
The amount difference seems to be related to that as well, it's missing your contribution and the ones from 3 other contributors.

@xdamman I never implied the problem was due to caching. I was just explaining why manual edits to edit the database were not appearing.


Feature/add colors

Adds the ability to render log messages with colors.
The styling code is largely from limira-rs/wasm-logger, though I cleaned it up a bit. I've put it behind a "color" feature flag and it is off by default.
What it looks like:

Between console_log and wasm-logger, I decided to submit the PR here since this already integrates with fern.

Oh yeaps, good points! (eagle eye for that detail)

Version 0.2.0 has been published with this change.


Refactor Get mock-data set API

Description
We need to support the on prem instances as well for mock data set workflow. The main problem in achieving this with migration script is that DatabaseChangelog class doesn’t have access to any of the spring services. Hence we will not be able to create a template datasource for these mock datasets using datasourceService.create. Directly inserting them in the datasource collection in a migration would mean hardcoding the datasource structure in a migration, as well as including the passwords of mock databases in plaintext in the migration’s source code.
So we had to involve cloud service where we store the mock database credentials and available mock datasets in its database.
Right now the GET mocks on the backend-server gets these info from appsmith mongo database. With the new flow this will call cloud service API and cache this info for 2hrs approximately. Now when the user clicks on create mock data -
Current flow clones the datasource from the template datasource.
New flow will fetch the necessary credentials from the cloud services API and then calls create method of datasource service class
Fixes #5582
Type of change

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Unit Tests
Manual Test via postman

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@nayan-rafiq @sharat87 Ready for review. Want to get this to merged to release tomorrow :)

@sharat87 Ready for review.

@sharat87 Ready for review :)


v1.0.0-beta.14-release

Versioning
Which Crates to Increment
To check if any of the top-level crates need version increments:

Go to the zebra GitHub code page: https://github.com/ZcashFoundation/zebra
Check if the last commit was a Zebra version bump, or something else

Alternatively you can:

Use the github compare tool and check the main branch against the last tag (Example)
Use git diff --stat <previous-release-tag> origin/main

Once you know which crates have changed:

[x] Increment the crates that have new commits since the last version update
[x] Increment any crates that depend on crates that have changed
[x] Keep a list of the crates that haven't been incremented, to include in the PR

How to Increment Versions
Zebra follows semantic versioning.
Semantic versions look like: MAJOR.MINOR.PATCH[-TAG.PRE-RELEASE]

Pre-Release Crates
Pre-Release versions have a TAG like "alpha" or "beta". For example: 1.0.0-alpha.0

Increment the PRE-RELEASE version for the crate.

Unstable Crates
Unstable versions have a MAJOR version of zero. For example: 0.1.0

Follow stable crate versioning, but increment the MINOR version for breaking changes

Stable Crates
For example: 1.0.0
Increment the first version component in this list, and reset the other components to zero:

MAJOR versions for breaking public API changes and removals

check for types from dependencies that appear in the public API

MINOR versions for new features
PATCH versions for bug fixes

includes dependency updates that don't impact the public API

Reviewing Version Bumps
Check for missed changes by going to:
https://github.com/ZcashFoundation/zebra/tree/<commit-hash>/
Where <commit-hash> is the hash of the last commit in the version bump PR.
If any Zebra or Tower crates have commit messages that are not a version bump, we have missed an update.
Also check for crates that depend on crates that have changed. They should get a version bump as well.

Version Locations
Once you know which versions you want to increment, you can find them in the:

[x] zebra* Cargo.tomls
[x] tower-* Cargo.tomls
[x] zebra-network protocol user agent: https://github.com/ZcashFoundation/zebra/blob/main/zebra-network/src/constants.rs
[x] README.md
[x] book/src/user/install.md
[x] Cargo.lock: automatically generated by cargo build

Version Tooling
You can use fastmod to interactively find and replace versions.
For example, you can do something like:
fastmod --extensions rs,toml,md --fixed-strings '1.0.0-beta.11' '1.0.0-beta.12'
fastmod --extensions rs,toml,md --fixed-strings '0.2.26' '0.2.27' tower-batch tower-fallback

If you use fastmod, don't update versions in CHANGELOG.md.
README
We should update the README to:

[x] Remove any "Known Issues" that have been fixed
[x] Update the "Build and Run Instructions" with any new dependencies.
Check for changes in the Dockerfile since the last tag: git diff <previous-release-tag> docker/Dockerfile.

Checkpoints
With every release and for performance reasons, we want to update the zebra checkpoints. More information on how to do this can be found in the zebra-checkpoints README.
To do this you will need a synchronized zcashd node. You can request help from other zebra team members to submit this PR if you can't make it yourself at the moment of the release.
Change Log
Important: Any merge into main deletes any edits to the draft changelog.
Once you are ready to tag a release, copy the draft changelog into CHANGELOG.md.
We follow the Keep a Changelog format.
We use the Release Drafter workflow to automatically create a draft changelog.
To create the final change log:

[x] Copy the draft changelog into CHANGELOG.md
[x] Delete any trivial changes. Keep the list of those, to include in the PR
[x] Combine duplicate changes
[x] Edit change descriptions so they are consistent, and make sense to non-developers
[x] Check the category for each change

Prefer the "Fix" category if you're not sure

Change Categories
From "Keep a Changelog":

Added for new features.
Changed for changes in existing functionality.
Deprecated for soon-to-be removed features.
Removed for now removed features.
Fixed for any bug fixes.
Security in case of vulnerabilities.

Create the Release
Create the Release PR
After you have the version increments, the updated checkpoints and the updated changelog:

[x] Make sure the PR with the new checkpoint hashes is already merged.
[x] Push the version increments and the updated changelog into a branch
(name suggestion, example: v1.0.0-alpha.0-release)
[x] Create a release PR by adding &template=release-checklist.md to the
comparing url (Example).

[x] Add the list of deleted changelog entries as a comment to make reviewing easier.
[x] Also add the list of not-bumped crates as a comment (can use the same comment as the previous one).

[x] Turn on Merge Freeze.
[ ] Once the PR is ready to be merged, unfreeze it here.
Do not unfreeze the whole repository.

Create the Release

[ ] Once the PR has been merged,
create a new release using the draft release as a base,
by clicking the Edit icon in the draft release
[ ] Set the tag name to the version tag,
for example: v1.0.0-alpha.0
[ ] Set the release to target the main branch
[ ] Set the release title to Zebra  followed by the version tag,
for example: Zebra 1.0.0-alpha.0
[ ] Copy the final changelog of this release to the release description
(starting just after the title ## [Zebra ...)
[ ] Mark the release as 'pre-release' (until we are no longer alpha/beta)
[ ] Publish the release

Final Testing

[ ] After tagging the release, test that the exact cargo install command in README.md works
(--git behaves a bit differently to --path)
[ ] Turn off Merge Freeze for the whole repository

If the build fails after tagging:

Fix the build
Increment versions again, following these instructions from the start
Update README.md with a new git tag
Update CHANGELOG.md with details about the fix
Tag a new release

I bumped all crates, and I didn't omit any PRs.

Note for reviewers: Teor updated the checkpoints two days ago, so it wasn't worth updating them again.

A couple docs PRs (https://github.com/ZcashFoundation/zebra/pull/4817 and https://github.com/ZcashFoundation/zebra/pull/4973) are missing in the Changelog.

Out of curiosity, how did you spot that?

A couple docs PRs (https://github.com/ZcashFoundation/zebra/pull/4817 and https://github.com/ZcashFoundation/zebra/pull/4973) are missing in the Changelog.

Fixed.

We probably want to highlight some breaking changes at the top of the release notes

I tried to write the summary in a concise way, but I'm not sure about the phrasing. Please feel free to refactor it.

A couple docs PRs (#4817 and #4973) are missing in the Changelog.

Out of curiosity, how did you spot that?

I checked that every PR number in the releases draft was referenced

I checked that every PR number in the releases draft was referenced, a lot of ctrl-f

Great job. Sorry about omitting those PRs, I don't know how I managed to delete them from the original list.

I wouldn't worry about it too much, it's ok to leave out some minor PRs.
We did some unofficial test releases to test continuous deployment, that might have made release drafter delete some things.

I'm happy for anyone to approve once we've re-worded the breaking changes so they repeat the information that users need.

I committed the changes in 14fd552.
Thanks for the rewording, it think it's much more user-friendly.

I'm going to cheat and bump this to "critical" priority, so it starts merging in 2 minutes rather than 20.


Update to Version 3.0

I am currently on version 2.  How do I upgrade to version 3?

@devansinleesburgva , Thank you for reporting this.
Kindly follow this link to upgrade TEOC app to the latest version.


Server is down??????

Login Error, server busy
But i can play with my phone, what happen??

Seems like your computer using another server which is currently down. Try again later.

The servers might be down, please try again later. Closing this for now.
/closed


Bug: session expire mess

When the session times out there is a mess of errors that occur, and really the user ends up having to refresh the page.
At least that's what the students are telling me -- I should probably confirm this bug myself as well...

Perhaps I should do an AJAX check on mouseMove() to see if we're still logged in, and send them to the login page when not... doing so would definitely clean up this mess... although it would be a bit of programming...


Implemented assertion.py rdf functions and tests

I implemented the rdf functions for assertion.py file and some tests in test_assertion.py. I did run into a few problems though.

According to the OWL doc, the ObjectPropertyAssertion needs ObjectProperty not ObjectPropertyExpression. So I'm not quite sure if that's correct.

I'm not really sure about the implementation with ObjectInverseOf in the ObjectPropertyAssertion.to_rdf() function. Seems like we just need to call ObjectInverseOf function in the test cases and call the ObjectPropertyAssertion.to_rdf() function as usual.

The test codes that I commented out in the test_assertion.py file didn't pass for some reason. Can you please take a look?

Responses:
Item 1:  I'm looking at https://www.w3.org/TR/owl2-syntax/#Definitions_of_OWL_2_Constructs which says:
ObjectPropertyAssertion := 'ObjectPropertyAssertion' '(' axiomAnnotations ObjectPropertyExpression sourceIndividual targetIndividual ')'
Where did you get the information that it should be ObjectProperty?
Item 2: Take a look at my latest attempt -- that was a really unusual conversion element.
Item 3: Seems to work now


Add support for Swift Package Manager

Almost all tests from iosMathTests pass, except there are some numerical differences in MTTypesetterTest, probably coming from iOS/MacOS platform changes and unrelated to SPM.
The following things were added to satisfy the Swift Package Manager requirements:

Adds include folder under iosMath with symlinked headers. SPM will automatically create module.modulemap from these headers for interoperability with Swift
Symlinks fonts folder under iosMath so that the folder is packaged into a module bundle. Pointing to ../fonts in Package.swift didn't work.
Use the SWIFTPM_MODULE_BUNDLE preprocessor to access the module bundle. See: https://github.com/apple/swift-evolution/blob/master/proposals/0271-package-manager-resources.md

cc @kostub


Change how eval function works

the eval function will now take an options.yaml as the train function to evaluate the RMSE if such data is available. The user can also just removes the targets if he doesn't have target data. Then we only predict and write a file without prompting the RMSE values.
the internal functions of eval will now also be used to report the test, train and validation rmse at the end of the training.
TODO

[x] finish implementation of actual target evaluation
[x] Add documentation
[x] Write tests*

Especially that the test splits are the same between train and eval.

I'm not sure I understand why this is needed? In case we want to eval only energies and not forces?

@frostedoyster do you have an idea why the regression test is failing?


Calling Model::getOriginal() resets attribute to original value when using custom cast

Laravel Version: 7.11.0
PHP Version: 7.2.24
Database Driver & Version: MySQL 5.6

Description:
When you call getOriginal() on a model instance, its properties using custom casts will be reset to their original value. This seems to be the issue causing https://github.com/laravel/nova-issues/issues/2574.
Steps To Reproduce:
Model:
use App\Casts\Encrypted;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = [
        'title'
    ];

    protected $casts = [
        'title' => Encrypted::class,
    ];
}

Custom cast:
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;

class Encrypted implements CastsAttributes
{
    public function get($model, string $key, $value, array $attributes)
    {
        return $value === null ? null : decrypt($value);
    }

    public function set($model, string $key, $value, array $attributes)
    {
        return $value === null ? null : encrypt($value);
    }
}

Steps:

(new Post(['title' => 'Foo']))->save();;

=> true

$post = Post::find(1);

=> Post {#3203
     id: 1,
     title: "eyJpdiI6IjFzcEVrM2cyZFUvaXFTTTl2MzdBNEE9PSIsInZhbHVlIjoiWGl4MmZ1ZC9wNmVacTZRR3NCOUVKdz09IiwibWFjIjoiYTc0YmFhMTg2OGMzNzk0OGQ2N2JmNmVkZTNmOGFhNDk4NjJiODRkNjdhMWRmYTFmMWVmOTkzMDQ1MDM3YTU1NiJ9",
     created_at: "2020-05-13 09:22:03",
     updated_at: "2020-05-13 10:06:57",
   }

$post->title = 'Bar';

=> "Bar"

$post->getOriginal();

=> [
     "id" => 1,
     "title" => "Foo",
     "created_at" => Illuminate\Support\Carbon @1589361723 {#3885
       date: 2020-05-13 09:22:03.0 UTC (+00:00),
       timezone_type: 3,
       timezone: "UTC",
     },
     "updated_at" => Illuminate\Support\Carbon @1589364417 {#4079
       date: 2020-05-13 10:06:57.0 UTC (+00:00),
       timezone_type: 3,
       timezone: "UTC",
     },
   ]

$post->title;

=> "Foo"

Fixed in next patch release. Thanks.


KAFKA-4012: Added #toString() to KerberosShortNamer

Done

Fixed both, https://github.com/apache/kafka/pull/1694/commits/19fa7c62afaceff561887e3d2282c94197c17d32

Thanks, LGTM.

There's a checkstyle failure in the Jenkins run, can you please fix?

Done

Thanks for the PR, LGTM. Merged to trunk.


SEO : optimize dojo page & event page

One clue so far, use schema.org
Dojo page : http://schema.org/Organization
Event page: http://schema.org/Event

Example : when using social groups like Slack, it should show up with minimal information of the event

Open graph has been implemented for Dojo listing as well as Event listing, but can still be extended for other pages/protocols


how to delete the filed been register

const { getFieldDecorator } = form;
getFieldDecorator('name', { initialValue: 'test' })

how to delete the filed name? thank you.

const { resetFields } = form;
resetFields('name');

I think it should be this method.

@mintsweet
l mean delete the field "name" not the "name" field's value "test".
resetFields can delete the value of field can't delete the field;

oh, sorry.
It should not has a method to help you delete field "name" .
Maybe you can manually delete.

Just unmount the component which is register.

As far as I know, the field is still registered then even if the component that registered it was removed. I would have to unmount the component with the form itself.
Thanks anyway.

@Ai01 As far as I know there is no way to do it still? Please correct me if I'm wrong.
There is new form API discussion here https://github.com/ant-design/ant-design/issues/10640, so maybe you can propose a solution (like a method called removeFieldDecorator). Not sure though if this issue is to post feature request or just to discuss the hooks vs. props

I'm also looking to have this functionality.
I have dynamic fields set up as per the Ant Design example https://ant.design/components/form/#components-form-demo-dynamic-form-item
However, I need to keep the form object to show another step of the submission process.
Luckily, getFieldDecorator() has a nice option called preserve: true that does exactly that.
Unfortunately though, this doesn't work nicely with dynamic fields.
When the user removes a field, the field stays in the form object, which is expected as the field is set to preserve.
I'd need a way to manually remove this field from the form object programmatically without relying on the mount/unmount of the page.


Impossible to create a getter on app.config.globalProperties

What problem does this feature solve?
In Vue 2 I had a getter defined as Vue.prototype.$app – this wasn’t a static value but rather computed for each component (walking up the parents chain until the right component was located). Doing the same with Vue 3 turned out impossible: getters on app.config.globalProperties aren’t transferred to the instance. Instead, they are resolved with app.config.globalProperties as this.
What does the proposed API look like?
Maybe the code behind processing app.config.globalProperties should recognize getters and setters, calling them appropriately when proxy handler’s get() and set() methods are called.

I think you can use global mixins as an alternative?

In what way? Define a created() method and set a property there? Sounds like a rather wasteful and non-straightforward approach.
Note that personally I’m not looking for a work-around, I solved this in another way already. That’s a capability which was present in Vue 2 however and makes migration harder.

Vue components don't have a prototype anymore.
We could kind of replicate the behavior with something like this inserted here:
https://github.com/vuejs/vue-next/blob/a2e65ef85352d6233db0839befbe2eec7bae397c/packages/runtime-core/src/componentPublicInstance.ts#L328-L333
else if (hasOwnProperty(globalProperties, key)) {
  const descriptor = Object.getOwnPropertyDescriptor(globalProperties, key)
  if (descriptor.get) {
    return descriptor.get.call(instance.proxy)
  } else {
    return globalProperties[key]
  }
}

and likewise we would likely adjust the behavior when trying to set a property that exists in globalProperties, but has a setter?
I'm personally torn - does this overcomplicates the behavior of globalProperties that is right now just a simple object, or is the use case mentioned by @palant worth it?
Such a getter would definitely be cheaper than a global mixin that adds a property to each instance, but would it actually have a measurable impact?

I did something similar in some of my Vue 2 applications. I needed access to this and didn't want to add any extra overhead to components that didn't use the property. A getter on Vue.prototype worked perfectly.
So far I've only migrated one, very small application to Vue 3. I switched it to use a global mixin with a computed property instead. That did work in that case but the application was far too small to assess the performance impact.
I've worked on large applications (a long time ago, pre-Vue) where performance became a major problem because of several, very small inefficiencies. That experience has always made me very wary of features like global mixins.
If it were possible to use a getter with globalProperties I would definitely have used that instead.

I did something similar in some of my Vue 2 applications. I needed access to this and didn't want to add any extra overhead to components that didn't use the property. A getter on Vue.prototype worked perfectly.
So far I've only migrated one, very small application to Vue 3. I switched it to use a global mixin with a computed property instead. That did work in that case but the application was far too small to assess the performance impact.
I've worked on large applications (a long time ago, pre-Vue) where performance became a major problem because of several, very small inefficiencies. That experience has always made me very wary of features like global mixins.
If it were possible to use a getter with globalProperties I would definitely have used that instead.

Hi there,
Any news on this issue ? I'm in the same situation, I need to use a getter for a globalPropertie but it seems there's no way to do that ?

If you need to define a dynamic global property, for example, a $store per Storybook story, try this.
app.mixin({
  beforeCreate() {
    this.$store = $store
  }
})

It works because Vue3 allows defining $xxx properties in VM. However, an attempt to define $store as a computed property would fail.
https://github.com/vuejs/core/blob/f73925d76a76ee259749b8b48cb68895f539a00f/packages/runtime-core/src/componentPublicInstance.ts#L344-L347


Unlock "check mode" in micromapping mode

Hi,
today I noticed that, while switching from "micromapping mode" to "amenity mode", this screen was visible for a fraction of a second:

I guess this is not intended. But it would be cool to have this "mode" available, so we can update and check also micromapping elements that weren't checked in years. At the moment there's no way to know if an element wasn't checked in years if you don't click on it (as far as I know).

I noticed you can get into that view (and see the yellow highlighted elements) if you zoom out and click a cluster of points, but I still wonder if it could be a stand-alone view that can be accessed normally.


[6832][a11y] - landmarks (feedback banner)

Context
https://trello.com/c/DxIZIya0/6832-a11y-131-info-and-relationships-page-regions-not-identified-with-aria-landmarks
in a nutshell - missing role tag for the feedback banner
Changes proposed in this pull request
adds "status" as the role for the feedback banner

 [A11y] 1.3.1 Info and Relationships - Page Regions Not Identified with ARIA Landmarks


Share my experience OSX 10.10 Yosemite Boost 1.55.0 NDK r10e

0, the way to build is
./build.py path_to_your_ndk_folder

1, you need to download Boost by yourself and put it inside the Boost-for-Android folder, for details of building Boost-for-Android check Boost-for-Android share my experience.
2, if Boost-for-Android is successfully built, then you have files like "libboost_xx-gcc-mt-1_55.a" in "Boost-for-Android/build/lib" folder, now when you build again, you may have
warnings:
Android NDK: WARNING:/Users/ABC/Work/Libs/caffe-android-lib/caffe-mobile/jni/Android.mk:caffe: non-system libraries in linker flags: -lboost_random-gcc-mt-1_55 -lboost_math_tr1-gcc-mt-1_55 -lboost_system-gcc-mt-1_55 -lboost_thread-gcc-mt-1_55 -lboost_date_time-gcc-mt-1_55
Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK:     current module

and errors:
[armeabi-v7a] Compile++ arm  : caffe <= math_functions_eigen.cpp
[armeabi-v7a] Compile++ arm  : caffe <= upgrade_proto.cpp
[armeabi-v7a] SharedLibrary  : libcaffe.so
./boost/exception/detail/type_info.hpp:68: error: undefined reference to 'std::type_info::before(std::type_info const&) const'
./boost/exception/detail/type_info.hpp:68: error: undefined reference to 'std::type_info::before(std::type_info const&) const'
./boost/exception/detail/type_info.hpp:68: error: undefined reference to 'std::type_info::before(std::type_info const&) const'
./boost/exception/detail/type_info.hpp:68: error: undefined reference to 'std::type_info::before(std::type_info const&) const'
./boost/atomic/detail/lockpool.hpp:36: error: undefined reference to 'boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
./boost/atomic/detail/lockpool.hpp:36: error: undefined reference to 'boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
./boost/atomic/detail/lockpool.hpp:36: error: undefined reference to 'boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
./boost/atomic/detail/lockpool.hpp:36: error: undefined reference to 'boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
collect2: error: ld returned 1 exit status
make: *** [/Users/ABC/Work/Libs/caffe-android-lib/caffe-mobile/obj/local/armeabi-v7a/libcaffe.so] Error 1

The reason for the warning is because the Boost-for-Android libraries built right now are static libraries, but in "caffe-mobile/jni/Android.mk" file, it uses "LOCAL_LDLIBS += ..." to link these static libraries,
#LOCAL_LDLIBS += -lboost_random-gcc-mt-1_55 \
                -lboost_math_tr1-gcc-mt-1_55 \
                -lboost_system-gcc-mt-1_55 \
                -lboost_thread-gcc-mt-1_55 \
                -lboost_date_time-gcc-mt-1_55

which i guess could be wrong. So i comment these lines and the correct way to link static libraries in Android.mk file is first:
include $(CLEAR_VARS)
LOCAL_MODULE := ANameYouLike
LOCAL_SRC_FILES := PathToTheStaticLibFolder/lib***.a
include $(PREBUILT_STATIC_LIBRARY)

then link to it:
include $(CLEAR_VARS)
LOCAL_STATIC_LIBRARIES := ANameYouLike
include $(BUILD_SHARED_LIBRARY)

Above gives an example to link to one static library, now we need to link to multiple static libraries, then have to repeat
include $(CLEAR_VARS)
LOCAL_MODULE := ANameYouLike
LOCAL_SRC_FILES := PathToTheStaticLibFolder/lib***.a
include $(PREBUILT_STATIC_LIBRARY)

multiple times and then link to all of them
include $(CLEAR_VARS)
LOCAL_STATIC_LIBRARIES += ANameYouLike1 ANameYouLike2
include $(BUILD_SHARED_LIBRARY)

So finally the corresponding part in my Android.mk file are:
# C++ full library
# =======================================================
## Import Protocolbuffer
include $(CLEAR_VARS)
LOCAL_MODULE := protobuf
LOCAL_SRC_FILES = $(LOCAL_PATH)/../../protobuf/obj/local/$(TARGET_ARCH_ABI)/libprotobuf.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../protobuf/jni/src
include $(PREBUILT_STATIC_LIBRARY)

## Import Boost
include $(CLEAR_VARS)
LOCAL_MODULE := boost_random
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../Boost-for-Android/build/lib/libboost_random-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_math_tr1
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../Boost-for-Android/build/lib/libboost_math_tr1-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_system
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../Boost-for-Android/build/lib/libboost_system-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_thread
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../Boost-for-Android/build/lib/libboost_thread-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_date_time
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../Boost-for-Android/build/lib/libboost_date_time-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_atomic
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../Boost-for-Android/build/lib/libboost_atomic-gcc-mt-1_55.a
include $(PREBUILT_STATIC_LIBRARY)

and
LOCAL_STATIC_LIBRARIES += protobuf
LOCAL_CPPFLAGS += -pthread -fPIC -fexceptions -frtti -std=c++11 -DUSE_EIGEN -DCPU_ONLY

# boost
LOCAL_LDLIBS += -lm -llog -L$(LOCAL_PATH)/../../Boost-for-Android/build/lib/
#LOCAL_LDLIBS += -lboost_random-gcc-mt-1_55 \
                -lboost_math_tr1-gcc-mt-1_55 \
                -lboost_system-gcc-mt-1_55 \
                -lboost_thread-gcc-mt-1_55 \
                -lboost_date_time-gcc-mt-1_55 \
                -lboost_atomic-gcc-mt-1_55
LOCAL_STATIC_LIBRARIES += boost_random boost_math_tr1 boost_system boost_thread boost_date_time boost_atomic

the correct way of linking static libraries will get rid of the warning and errors involved "type_info.hpp", adding link to "libboost_atomic-gcc-mt-1_55.a" will get rid of the error involved "lockpool.hpp".
After these steps, i can finally build successfully with "libcaffe.so" and "libcaffe_jni.so" generated in folder "caffe-mobile/libs/armeabi-v7a".

Thanks for sharing your experience. I just noticed that gcc-4.6 toolchain was removed in ndk-r10e, and thus I made some fixes on this. Now, it should be okay to use build.py direclty. Please feel free to let me know if there are any problems.

There are two things which i don't understand now
1, it seems in you build.py file, you are using LOCAL_LDLIBS += -l... to link Boost-for-Android, Do you compile Boost-for-Android to be shared libraries? because i can only compile it to be static libraries and then use the way i mentioned above to link to these static libraries, so i am wondering how you do that?
2, in my MainActivity, i can create an CaffeMobile instance, but when i call enableLog() method, it generates errors, here is my LogCat:
06-12 21:04:37.920    2183-2183/com.rzheng.deepandroid D/dalvikvm﹕ Trying to load lib /data/app-lib/com.rzheng.deepandroid-2/libcaffe.so 0x4357e240
06-12 21:04:37.950    2183-2183/com.rzheng.deepandroid D/dalvikvm﹕ Added shared lib /data/app-lib/com.rzheng.deepandroid-2/libcaffe.so 0x4357e240
06-12 21:04:37.950    2183-2183/com.rzheng.deepandroid D/dalvikvm﹕ No JNI_OnLoad found in /data/app-lib/com.rzheng.deepandroid-2/libcaffe.so 0x4357e240, skipping init
06-12 21:04:37.950    2183-2183/com.rzheng.deepandroid D/dalvikvm﹕ Trying to load lib /data/app-lib/com.rzheng.deepandroid-2/libcaffe_jni.so 0x4357e240
06-12 21:04:37.950    2183-2183/com.rzheng.deepandroid D/dalvikvm﹕ Added shared lib /data/app-lib/com.rzheng.deepandroid-2/libcaffe_jni.so 0x4357e240
06-12 21:04:37.990    2183-2183/com.rzheng.deepandroid I/MainActivity:﹕ Loading caffe successfully
06-12 21:05:40.710    2868-2868/? D/dalvikvm﹕ Trying to load lib /data/app-lib/com.rzheng.deepandroid-1/libcaffe.so 0x43573d20
06-12 21:05:40.740    2868-2868/? D/dalvikvm﹕ Added shared lib /data/app-lib/com.rzheng.deepandroid-1/libcaffe.so 0x43573d20
06-12 21:05:40.740    2868-2868/? D/dalvikvm﹕ No JNI_OnLoad found in /data/app-lib/com.rzheng.deepandroid-1/libcaffe.so 0x43573d20, skipping init
06-12 21:05:40.740    2868-2868/? D/dalvikvm﹕ Trying to load lib /data/app-lib/com.rzheng.deepandroid-1/libcaffe_jni.so 0x43573d20
06-12 21:05:40.740    2868-2868/? D/dalvikvm﹕ Added shared lib /data/app-lib/com.rzheng.deepandroid-1/libcaffe_jni.so 0x43573d20
06-12 21:05:40.780    2868-2868/? I/MainActivity:﹕ Loading caffe successfully
06-12 21:05:40.780    2868-2868/? W/dalvikvm﹕ No implementation found for native Lcom/rzheng/deepandroid/CaffeMobile;.enableLog:(Z)V
06-12 21:05:40.780    2868-2868/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.rzheng.deepandroid, PID: 2868
java.lang.UnsatisfiedLinkError: Native method not found: com.rzheng.deepandroid.CaffeMobile.enableLog:(Z)V
at com.rzheng.deepandroid.CaffeMobile.enableLog(Native Method)
at com.rzheng.deepandroid.MainActivity.onCreate(MainActivity.java:29)
at android.app.Activity.performCreate(Activity.java:5249)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2154)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2239)
at android.app.ActivityThread.access$800(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5047)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)
I used the libcaffe.so and libcaffe_jni.so i built by myself, and my package name is com.rzheng.deepandroid, in issue #6, I saw that you mentioned that i have to build the library by myself instead of directly use the .so files in your caffe-android-demo project, but i use the .so files built by myself. I noticed that there is a '-L' option in build.py, does it have something to do with that? what could be the reasons?

My second question solved, have to change the 3 methods name in caffe_jni.cpp file to the names corresponds to my Android Project name and compile caffe-mobile again, now it works. But i am wondering can you make caffe_jni.cpp file more general, otherwise i have to change it and built it again each time i create a new Android project?

In the previous commit (6604a37), static boost libs can be linked simply by using LOCAL_LDLIBS (with warnings). In the latest commit (c021b34), boost is not required.
This repo is aim at providing a ported Caffe as a (general) lib on Android, where caffe_jni.cpp is no more than an example.
Trying to wrap all you need within jni and provide general interfaces for java is recommended. The jni part should be as general as possible and independent to your android projects.

@ZhengRui For more general  jni coverage see https://github.com/bytedeco/javacpp-presets/issues/34.

@sh1r0  and @bhack, now i want to make it able to train a neural network on Android, i found i need to compile caffe's tools folder's source codes (tools/caffe.cpp e.g.). I noticed how caffe-mobile compile all the src codes, my question is src codes are all functions, while tools codes are independent programs, should i change them into functions form if i want to compile tools for my ndk project.
Have you guys tried to build all the codes including caffe tools on android, if yes how to do it?


fix(core): revert css-loader to 5.x

Motivation
Fix https://github.com/facebook/docusaurus/issues/6408
Since css-loader 6.x (https://github.com/webpack-contrib/css-loader/releases/tag/v6.0.0), with esModules: true (default), url(./xyz.png) are handled differently and are using ES new URL() + new asset pipeline.
Code:
.demo {
	background-image: url('../../static/xyz.svg');
}

5.x (good):
.test1_src-pages-styles-module {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZ);
}

6.x (bad):
.test1_src-pages-styles-module {
    background-image: url(/3478086aa28a7459.svg);
}

Note it also works in 6.x + esModules = false,
Let's stick to 5.x for now. We'll upgrade to 6.x as part of https://github.com/facebook/docusaurus/pull/4708, while removing deprecated file-loader
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
none 😓 not even sure where we could dogfood this on our site in a place where missing images would be easily noticed

6.x + esModules = false should have the same behavior as before, so you can keep this workaround

Thanks, will do that then.
I thought it could eventually have some unwanted side-effects, so it looked safer to stick to v5


Replaced coordinates with actual address on the arrival notification

Description

I replaced the coordinates with the actual address on the arrival notification.
In order to do that, I also had to modify the missionscontrol source code. The PR for missioncontrol is here
Related Issue

#92
Motivation and Context

Open issue: #92
How Has This Been Tested?

It was tested throught npm test and manual flow testing
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@srfrnk Please review this and the Mission Control PR. See if it still works when not entering a location (just using the default coordinates)

@srfrnk I think disabling the search button is the better option. This way I can change only the client, plus it's more user-friendly. If you take the current location, and the user doesn't have a good network reception the area can be very large and the user can miss the pickup. What is your opinion?

@gabimoncha - I agree. Can you go ahead and make the change?

Sure thing @srfrnk

@srfrnk Mission accomplished :smile:

@srfrnk you are absolutely right. There was no reason. Now it is done

This looks way more elegant - Thank!
Do you think it's possible to make the button appear disabled rather then just not being there though?

@srfrnk it's done


does model.fit has a loss variable to monitor?

Hi there,
I was wondering if inside model.py is there a loss or cost value where it would change during training or fitting?

Or are we even retrain the backbone to the new datasets? is there even learning of backbone in the pipeline where you specify number of epochs?
I am particularly talking about PADIM. Thanks a lot for your support.
Best

Hi, there is no loss function, we are just storing the dataset.


Fix the node agent E2E test, manually tested.

Fixed several things to get it work:

Update outdated flags value.
In start_app.sh, retain the node agent process log, instead just run it in background.
Make sure the initial root and cert is loaded.

\We should also figure out how to not run apt-get install for every test run. Will follow up with key cert generation issue and then ensure it's stability before re-enabling it.
cc @wattli

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: wattli
Assign the PR to them by writing /assign @wattli in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Great instructions in the description!

/lgtm
/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: myidpt
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS [myidpt]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@incfly
These tests will have to be in a separate job that are not marked as "required". Racetests will be made required after it becomes stable.

New changes are detected. LGTM label has been removed.

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
e82d40ae2ba0dbc9f0d16f21241caf4f50197b2d
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
e82d40ae2ba0dbc9f0d16f21241caf4f50197b2d
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


DIsk size not working

I am trying to use the disk property. But I can not make it work, I am using it like this
disk {
    id = 0
    type = "virtio"
    storage = "local"
    storage_type = "lvm"
    size = "50GB"
    backup = true
  }

The disk is created but has always the default value "32GB". Am I doing something wrong ?

@sylflo You can try with:
size = "50G"
instead of
size = "50GB"
(GB to G)
I have try changed and it work.


Dependencies review required

Any plans to update dependencies and support react v17+ ?

I decided to move from redux-form to react-final-form only because it didn't support Reactv17. I found a solution to calling async actions from onSubmit which included installing react-redux-promise-listener and it looks like I now have the exact same problem...


[ETFE-3227] - Align CAM-ITM44 and CAM-ITM45 to check CN codes instead of EPC

If testing locally, run Oracle to access W200 EPC flow


refactor: Change is-active and is-disabled to modifiers

Related issue
Closes #766
Scope of work

Changed is-disabled and is-active to modifiers
Adjusted CSS after changes

Checklist

[x] No commented blocks of code left
[x] Run tests and docs
[x] Self code-reviewed

thanks @krystiansiwek it looks awesome 🚀


Update README doc

#12 revised the library doc. The README should be updated too (at least to point out try_cast).

Done in #15


i18n.languages were undefined or empty after updating to v3.0.0

Describe the bug
After updating to version 3.0.0 i get the following warning in the browser console: i18n.languages were undefined or empty
Your Example Website or App
https://github.com/sergiodxa/remix-i18next/compare/v2.3.0...v3.0.0
Steps to Reproduce the Bug or Issue
Follow the compare changelog
Expected behavior
I would like to have no warnings
Screenshots or Videos
No response
Platform

OS: macOS
Browser: Chrome
Version: 98.0

Additional context
No response

@hauptrolle could you provide a reproduction? I'm using the v3 on prod without this issue.
If you can, provide the reproduction with your v2 setup and the v3 upgrade so I can see what you changed, it sounds like something went wrong there.


Can't attach copied or cut Functional Group to atoms of structure

Steps to Reproduce

Open Ketcher
Add benzene ring to canvas
Add contracted Functional Group to canvas
Select Functional Group and copy (CTRL+C) then press (CTRL+V) or cut it (CTRL+X then CTRL+V)
Click on any atom of Benzene ring

Actual behavior
Can't attach copied or cutted Functional Group to atoms of structure
Expected behavior
Can attach copied or cutted Functional Group to atoms of structure
Screenshots
https://github.com/epam/ketcher/assets/62464241/11294ae0-96c9-4187-a328-a0a24196aff6
Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 112.0.5615.138 (Official Build) (64-bit)

Ketcher version
Version 2.10.0-rc.5

Connected issue (a reason for this new bug): #2425

@Zhirnoff could you check:
Currently, if we move sgroup to structure there is different type of attachment:

Template Tool - the group is merged as collapsed
Select tool - the group is merged as expanded
Paste tool - the group should be merged as expanded? or as collapsed? :monocle_face:

Test cases written by me.

Test cases written


Request max heap memory when starting worker process

Previously, we requested min heap memory when starting a worker process.  In the event that this was much different than max heap, then once the process grew to full size, we'd rely on reactive physical memory monitoring to shut down worker daemons which might not be aggressive enough.  Using max heap causes the memory management to be more aggressive and free up the maximum memory before starting the process.
Fixes #22977

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test APT

I've triggered the following builds for you:

AllPerformanceTestsReadyForRelease build

Looks like some builds in performance tests are failing on macos, e.g: https://ge.gradle.org/s/ilhcrgv3kwslm/tests/:performance:largeJavaMultiProjectPerformanceTest/org.gradle.performance.regression.java.JavaIncrementalExecutionPerformanceTest/assemble for non-abi change?expanded-stacktrace=WyIwIl0&focused-stack-frame=0-0&top-execution=1

@bot-gradle test APT

I've triggered the following builds for you:

AllPerformanceTestsReadyForRelease build

@bot-gradle test and merge

@ghale This looks like a useful fix that complements https://github.com/gradle/gradle/pull/23944. If 23944 ends up be backported to 7.x do you think we could get this backported too?


First version of displaying coordinates on map

Backend functionality to display location data and map on the frontend.

Regarding the png images, given their tiny sizes, I wonder if it's even worth the bother of regular vs 2x? Under the circumstances I think I would just always display the 2x variants; the browser will downscale them as appropriate...

Regarding the png images, given their tiny sizes, I wonder if it's even worth the bother of regular vs 2x? Under the circumstances I think I would just always display the 2x variants; the browser will downscale them as appropriate...

I think, this is how the leaflet plugin works. Of course, one could adjust it - but I don't think it's work the effort.

I hope I captured now all string constants.
Furthermore, I added an additional icon to this PR to visualize the direction of the image (needed by the PR of the front)

Codecov Report

Merging #339 into master will decrease coverage by 0.1%.
The diff coverage is 0%.


Adds function to simplify creating new event types

Adds the function reg-event to re-frame.core which takes a handling interceptor instead of a handler as its last argument. This makes it easier to create event registering functions with all standard interceptors added to the chain, even if changes are made to the standard interceptor chain.
reg-event-db, -fx and -ctx now wrap reg-event, passing their interceptor wrapped handlers.

This is a suggestion to make creating custom event types a tiny bit easier.
Here's an example use case. Let's say we want to catch exceptions and add exception traces. If we don't want to add the standard chain ourselves (adds maintenance risk, although a low risk as this isn't code that changes often), right now we could write this as:
(defn- interceptor->with-exception-tracing [f]
  (fn [context]
    (try (f context)
         (catch :default e
           (trace/merge-trace! {:tags {:exception e}})
           (throw e)))))

(defn- wrap-exception-interceptor
  [id]
  (let [interceptors (into [] (get-in @registrar/kind->id->handler [:event id]))
        last-interceptor (peek interceptors)
        wrapped-interceptor (update last-interceptor :before interceptor->with-exception-tracing)]
    (swap! registrar/kind->id->handler assoc-in [:event id]
           (conj (pop interceptors) wrapped-interceptor))))

(defn my-reg-event-db
  ([id handler]
   (my-reg-event-db id nil handler))
  ([id interceptors handler]
   (re-frame/reg-event-db id interceptors handler)
   (wrap-exception-interceptor id)))

If we don't mind adding the interceptors ourselves, we could shorten this a bit, but this adds some risk that changes to the standard interceptor chain aren't caught, and the event will act in a non-standard way:
(defn my-reg-event-db
  ([id handler]
   (my-reg-event-db id nil handler))
  ([id interceptors handler]
   (events/register id [cofx/inject-db fx/do-fx inject-global-interceptors interceptors
                        (-> handler
                            std-interceptors/db-handler->interceptor
                            (update :before interceptor->with-exception-tracing))])))

With the suggested edit the final registration is simpler:
(defn my-reg-event-db
  ([id handler]
   (my-reg-event-db id nil handler))
  ([id interceptors handler]
   (re-frame/reg-event id interceptors
                       (-> handler
                           std-interceptors/db-handler->interceptor
                           (update :before interceptor->with-exception-tracing)))))

Might not be a huge difference, but it feels a bit more ergonomic. And if changes are made to the standard interceptor chain, they are only made in one place.


Update board support for nRF52832-MDK and nRF52840-MDK from makerdiary

Dear friends,
I have updated the board support for nRF52832-MDK and nRF52840-MDK. This branch is pointing to the latest master. Please help to merge these commits.
Thanks,
Zelin

Hi!
How is this PR different from #10525 ?

@ioannisg
Hi,
These commits are based on the latest master of zephyr. I also update the documents from these two dev boards.

Codecov Report

Merging #10634 into master will decrease coverage by 0.15%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10634      +/-   ##
==========================================
- Coverage   53.34%   53.19%   -0.16%
==========================================
  Files         211      211
  Lines       25828    25828
  Branches     5686     5686
==========================================
- Hits        13779    13738      -41
- Misses       9734     9781      +47
+ Partials     2315     2309       -6

Impacted Files
Coverage Δ

include/posix/posix_sched.h
0% <0%> (-100%)
:arrow_down:

lib/posix/pthread_barrier.c
0% <0%> (-100%)
:arrow_down:

lib/posix/pthread_cond.c
62.5% <0%> (-20.84%)
:arrow_down:

lib/posix/pthread.c
68.03% <0%> (-12.33%)
:arrow_down:

lib/posix/pthread_mutex.c
76.38% <0%> (-1.39%)
:arrow_down:

lib/posix/pthread_sched.c
62.5% <0%> (+20.83%)
:arrow_up:

Continue to review full report at Codecov.

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

@ioannisg
Hi,
These commits are based on the latest master of zephyr. I also update the documents for these two dev boards.

If this is the same content as in #10525 , could you instead rebase #10525 over upstream master, and then force-push (push -f) to the branch of #10525? Would that be easy for you to do?

Ok. I am reviewing the PR from @jpsaman.


part1/Lists: exercise requires implicit function extentionality, which has not been mentioned

There is an exercise in chapter part1/Lists which appears to be unsolvable without a principle of extensionality for implicit functions, as in the following example:
open import Axiom.Extensionality.Propositional using (implicit-extensionality)
open import plfa.part1.Isomorphism using (extensionality; ∀-extensionality)

All-∀ : ∀ {A} {P : A → Set} xs → All P xs ≃ ∀ {x} → x ∈ xs → P x
_≃_.to (All-∀ []) All-P-xs ()
_≃_.to (All-∀ {_} {P} (x ∷ xs)) (P-x ∷ All-P-xs) (here y≡x) = subst P (sym y≡x) P-x
_≃_.to (All-∀ (x ∷ xs)) (P-x ∷ All-P-xs) (there y∈xs) = _≃_.to (All-∀ xs) All-P-xs y∈xs
_≃_.from (All-∀ []) y∈xs→P-y = []
_≃_.from (All-∀ (x ∷ xs)) y∈xs→P-y = (y∈xs→P-y (here refl)) ∷ _≃_.from (All-∀ xs) (y∈xs→P-y ∘ there)
_≃_.from∘to (All-∀ []) [] = refl
_≃_.from∘to (All-∀ (x ∷ xs)) (P-x ∷ All-P-xs) = cong (P-x ∷_) (_≃_.from∘to (All-∀ xs) All-P-xs)
_≃_.to∘from (All-∀ []) y∈xs→P-y = implicit-extensionality ∀-extensionality (λ {_} → extensionality λ ())
_≃_.to∘from (All-∀ (x ∷ xs)) y∈xs→P-y = implicit-extensionality ∀-extensionality (λ {_} → extensionality λ{ (here refl) → refl ; (there y∈xs) → cong-app (cong-app-impl (_≃_.to∘from (All-∀ xs) (y∈xs→P-y ∘ there)) _) y∈xs })
  where
  cong-app-impl : ∀ {A : Set} {B : A → Set} {f g : ∀ {x} → B x} → _≡_ {_} {∀ {x} → B x} f g → (x : A) → f {x} ≡ g {x}
  cong-app-impl refl _ = refl

In the book it is usually mentioned when an exercise requires extentionality, and it could be appropriate to do the same here, especially because it seems that implicit function extentionality has never been mentioned in the book (not in chapter part1/Isomorphism section extensionality, at least).
I think there are three main ways to resolve this issue:

Mentioning that implicit function extensionality is needed to solve the exercise, and possibly extending the section about extensionality in the Isomorphism chapter with a derivation of it;
Changing the goal type from All P xs ≃ ∀ {x} → x ∈ xs → P x to All P xs ≃ ∀ x → x ∈ xs → P x, so that ∀-extensionality is enough;
Leaving the exercise as it is (in case the principle was deliberately left unmentioned, to increase the challenge).

To expand on the possibility of extending the Isomorphism chapter, the proof that explicit function extensionality implies the implicit version is actually quite compact, but it does rely on the η-rule for functions (which I'm not sure was explicitly mentioned in the book). Also, the fact that Agda eagerly substitues implicit parameters means that the version of the proof with equational reasoning becomes quite cluttered:
explicit-to-implicit : ∀ {A : Set} {B : A → Set} → (∀ x → B x) → ∀ {x} → B x
explicit-to-implicit f {x} = f x

-- Compact version:
implicit-extensionality : ∀ {A : Set} {B : A → Set} → {f g : ∀ {x} → B x} → (∀ {x} → f {x} ≡ g {x}) → _≡_ {_} {∀ {x} → B x} f g
implicit-extensionality f-x≡g-x = cong explicit-to-implicit (∀-extensionality (λ x → f-x≡g-x {x}))

{-
-- What I'd like to write:
implicit-extensionality′ : ∀ {A : Set} {B : A → Set} → {f g : ∀ {x} → B x} → (∀ {x} → f {x} ≡ g {x}) → f ≡ g
implicit-extensionality′ {_} {_} {f} {g} f-x≡g-x =
  -- The outermost term must always be η-expanded, or else Agda will
  -- eagerly resolve the implicit argument
  begin
    f
  ≡⟨⟩
    (λ {x} → f {x})
  ≡⟨⟩
    explicit-to-implicit (λ x → f {x})
  ≡⟨ cong explicit-to-implicit (∀-extensionality (λ x → f-x≡g-x {x})) ⟩
    explicit-to-implicit (λ x → g {x})
  ≡⟨⟩
    (λ {x} → g {x})
  ≡⟨⟩
    g
  ∎
-}

-- What I have to write:
implicit-extensionality′ : ∀ {A : Set} {B : A → Set} → {f g : ∀ {x} → B x} → (∀ {x} → f {x} ≡ g {x}) → (λ {x} → f {x}) ≡ (λ {x} → g {x})
implicit-extensionality′ {_} {_} {f} {g} f-x≡g-x =
  -- The outermost term must always be η-expanded, or else Agda will
  -- eagerly resolve the implicit argument
  begin
    (λ {_} → f {_})
  ≡⟨⟩
    (λ {_} → (λ {x} → f {x}) {_})
  ≡⟨⟩
    (λ {_} → explicit-to-implicit (λ x → f {x}) {_})
  ≡⟨ cong explicit-to-implicit (∀-extensionality (λ x → f-x≡g-x {x})) ⟩
    (λ {_} → explicit-to-implicit (λ x → g {x}) {_})
  ≡⟨⟩
    (λ {_} → (λ {x} → g {x}) {_})
  ≡⟨⟩
    (λ {_} → g {_})
  ∎

Good point. It's easy enough to prove extensionality for an implicit function, but it is an unnecessary complication to the problem. I've rewritten to make the implicit argument explicit.

P.S. The eta rule for functions appears in chapter Connectives.


How to match on StartTLS for proxying Postgres?

The first packet from psql is 00 00 00 08 04 d2 16 2f, which I believe is related to StartTLS.
Either way, it doesn't send any SNI or ALPN information until later on in the handshake.
Is there a way that I could route based on the first 8 bytes?
I almost got around this by using sclient for TLS and piping the psql connection through with sslmode=disable, but I think my HTTP matcher is causing it to hang waiting for a \r\n that never comes.

Matching of PostgreSQL connections was recently merged in #186. Anything beyond matching and simple proxying/teeing will require custom handlers or matchers to be developed. My previous research indicates each database has its own packet structure, so each requires its own matching logic:
https://caddy.community/t/need-some-help-with-enabling-lets-encrypt-certificate-on-layer-4-module/18628/11
I can't come up with a UX-friendly way to match arbitrary bytes

@mohammed90 #186 is not actually detecting Postgres. It's detecting the StartTLS byte (SMTPS, SHTTP).
The "Version 3" byte refers to SSLv3, not pgsql v3.
The 2f byte refers to SSL/TLS whereas a 30 in that position would refer to GSSAPI (competing standard at the time which postgres also adopted). I'm not sure with all the specifics yet, but it may be a bitmask that signals either protocol.
See: https://github.com/traefik/traefik/issues/9929

I believe what's supposed to happen is that Caddy should send a "hello" / "accepted" style packet back, then the client will send SNI + ALPN like a normal TLS connection.
Then caddy would reconstruct the StartTLS byte to the correct server, eat the response, and forward the true TLS connection on from that point.

Looks like I was wrong. The packet is a postgres-specific SSLRequest: https://svn.nmap.org/nmap/nselib/sslcert.lua
  postgres_prepare_tls_without_reconnect = function(host, port)
    -- http://www.postgresql.org/docs/devel/static/protocol-message-formats.html
    -- 80877103 is "SSLRequest" in v2 and v3 of Postgres protocol
    local s, resp = comm.opencon(host, port, string.pack(">I4I4", 8, 80877103))
    if not s then
      return false, ("Failed to connect to Postgres server: %s"):format(resp)
    end
    -- v2 has "Y", v3 has "S"
    if string.match(resp, "^[SY]") then
      starttls_supported(host, port, true)
      return true, s
    elseif string.match(resp, "^N") then
      starttls_supported(host, port, false)
      return false, "Postgres server does not support SSL"
    end
    return false, "Unknown response from Postgres server"
  end,

So Caddy would have to respond with the byte S, after which the SNI information should come.
Is there currently a way to modify that matcher to send the S back so that it can get the rest of the information to match on?

Verified:
Terminal 1
printf 'S' | nc -l localhost 54321 | hexyl

Terminal 2
psql 'postgres://postgres:postgres@localhost:54321/postgres?sslmode=require'

Result (Terminal 1)
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 00 00 00 08 04 d2 16 2f ┊ 16 03 01 01 38 01 00 01 │⋄⋄⋄••×•/┊••••8•⋄•│
│00000010│ 34 03 03 91 93 fa f9 ce ┊ 9d 1c 06 d6 03 cf 6d be │4••×××××┊×••×•×m×│
│00000020│ 4e 72 e3 ea 30 d4 14 3d ┊ 6c 7b 3e 65 2a ea 63 cf │Nr××0×•=┊l{>e*×c×│
│00000030│ cc 71 bd 20 2e c2 b3 00 ┊ 6f 19 cc b5 ee 59 5a 1f │×q× .××⋄┊o•×××YZ•│
│00000040│ e3 81 33 66 0a e4 f8 cd ┊ 80 b0 b5 8e 7e 77 d2 3c │××3f_×××┊××××~w×<│
│00000050│ 48 48 2c 9e 00 3e 13 02 ┊ 13 03 13 01 c0 2c c0 30 │HH,×⋄>••┊••••×,×0│
│00000060│ 00 9f cc a9 cc a8 cc aa ┊ c0 2b c0 2f 00 9e c0 24 │⋄×××××××┊×+×/⋄××$│
│00000070│ c0 28 00 6b c0 23 c0 27 ┊ 00 67 c0 0a c0 14 00 39 │×(⋄k×#×'┊⋄g×_×•⋄9│
│00000080│ c0 09 c0 13 00 33 00 9d ┊ 00 9c 00 3d 00 3c 00 35 │×_×•⋄3⋄×┊⋄×⋄=⋄<⋄5│
│00000090│ 00 2f 00 ff 01 00 00 ad ┊ 00 00 00 0e 00 0c 00 00 │⋄/⋄×•⋄⋄×┊⋄⋄⋄•⋄_⋄⋄│
│000000a0│ 09 6c 6f 63 61 6c 68 6f ┊ 73 74 00 0b 00 04 03 00 │_localho┊st⋄•⋄••⋄│
│000000b0│ 01 02 00 0a 00 16 00 14 ┊ 00 1d 00 17 00 1e 00 19 │••⋄_⋄•⋄•┊⋄•⋄•⋄•⋄•│
│000000c0│ 00 18 01 00 01 01 01 02 ┊ 01 03 01 04 00 23 00 00 │⋄••⋄••••┊••••⋄#⋄⋄│
│000000d0│ 00 16 00 00 00 17 00 00 ┊ 00 0d 00 30 00 2e 04 03 │⋄•⋄⋄⋄•⋄⋄┊⋄_⋄0⋄.••│
│000000e0│ 05 03 06 03 08 07 08 08 ┊ 08 1a 08 1b 08 1c 08 09 │••••••••┊•••••••_│
│000000f0│ 08 0a 08 0b 08 04 08 05 ┊ 08 06 04 01 05 01 06 01 │•_••••••┊••••••••│
│00000100│ 03 03 03 01 03 02 04 02 ┊ 05 02 06 02 00 2b 00 05 │••••••••┊••••⋄+⋄•│
│00000110│ 04 03 04 03 03 00 2d 00 ┊ 02 01 01 00 33 00 26 00 │•••••⋄-⋄┊•••⋄3⋄&⋄│
│00000120│ 24 00 1d 00 20 92 9c 91 ┊ b3 48 c7 a8 fa 1e 1e d9 │$⋄•⋄ ×××┊×H×××••×│
│00000130│ 8e ff 94 51 5f 2b 93 5c ┊ 2b 0d 9c 7d 46 e2 08 3b │×××Q_+×\┊+_×}F×•;│
│00000140│ ba ba 78 d9 73          ┊                         │××x×s   ┊        │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘

Comparing that to the output of curl https://localhost:54321/hello:
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 16 03 01 01 3a 01 00 01 ┊ 36 03 03 6f c4 fa 4d 5c │••••:•⋄•┊6••o××M\│
│00000010│ 1c 91 f0 f1 85 98 b2 26 ┊ bc 27 95 01 7b 8d ef 0e │•××××××&┊×'×•{××•│
│00000020│ 8b 33 92 1e 89 98 55 4c ┊ 4b 2e e0 20 db b7 1a 80 │×3×•××UL┊K.× ××•×│
│00000030│ 0b 73 ea 87 38 17 f5 78 ┊ 01 9f 80 41 e9 1b 15 b1 │•s××8•×x┊•××A×••×│
│00000040│ e0 a4 c5 a6 81 7e 4f 24 ┊ 97 9d 2e 78 00 62 13 03 │×××××~O$┊××.x⋄b••│
│00000050│ 13 02 13 01 cc a9 cc a8 ┊ cc aa c0 30 c0 2c c0 28 │••••××××┊×××0×,×(│
│00000060│ c0 24 c0 14 c0 0a 00 9f ┊ 00 6b 00 39 ff 85 00 c4 │×$×•×_⋄×┊⋄k⋄9××⋄×│
│00000070│ 00 88 00 81 00 9d 00 3d ┊ 00 35 00 c0 00 84 c0 2f │⋄×⋄×⋄×⋄=┊⋄5⋄×⋄××/│
│00000080│ c0 2b c0 27 c0 23 c0 13 ┊ c0 09 00 9e 00 67 00 33 │×+×'×#×•┊×_⋄×⋄g⋄3│
│00000090│ 00 be 00 45 00 9c 00 3c ┊ 00 2f 00 ba 00 41 c0 11 │⋄×⋄E⋄×⋄<┊⋄/⋄×⋄A×•│
│000000a0│ c0 07 00 05 00 04 c0 12 ┊ c0 08 00 16 00 0a 00 ff │×•⋄•⋄•×•┊×•⋄•⋄_⋄×│
│000000b0│ 01 00 00 8b 00 2b 00 09 ┊ 08 03 04 03 03 03 02 03 │•⋄⋄×⋄+⋄_┊••••••••│
│000000c0│ 01 00 33 00 26 00 24 00 ┊ 1d 00 20 3e ad 97 0e a7 │•⋄3⋄&⋄$⋄┊•⋄ >××•×│
│000000d0│ a5 8a 6f b6 99 66 5c 1f ┊ b2 d7 64 42 25 1e b1 ee │××o××f\•┊××dB%•××│
│000000e0│ 65 2b 46 ba c3 47 1c e1 ┊ 65 fc 4b 00 00 00 0e 00 │e+F××G•×┊e×K⋄⋄⋄•⋄│
│000000f0│ 0c 00 00 09 6c 6f 63 61 ┊ 6c 68 6f 73 74 00 0b 00 │_⋄⋄_loca┊lhost⋄•⋄│
│00000100│ 02 01 00 00 0a 00 0a 00 ┊ 08 00 1d 00 17 00 18 00 │••⋄⋄_⋄_⋄┊•⋄•⋄•⋄•⋄│
│00000110│ 19 00 0d 00 18 00 16 08 ┊ 06 06 01 06 03 08 05 05 │•⋄_⋄•⋄••┊••••••••│
│00000120│ 01 05 03 08 04 04 01 04 ┊ 03 02 01 02 03 00 10 00 │••••••••┊•••••⋄•⋄│
│00000130│ 0e 00 0c 02 68 32 08 68 ┊ 74 74 70 2f 31 2e 31    │•⋄_•h2•h┊ttp/1.1 │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘

That very much appears that as soon as the character S is sent, the standard TLS connection resumes. The next 16 bytes are almost identical in both cases, aside from perhaps some size or version bytes being slightly different, and you can see the SNI localhost in both messages.

Thanks for digging into the SSL side of Postgres - it's certainly more complex and so I started by addressing the non-SSL side of things, for which I have #188 in progess, however it looks like there may be some hope from your comments.
Whats currently unclear to me is how Caddy L4 can match across multiple requests, I see some use of cx.Context and caddy.Context which is probably to way.
For other details on the Postgres protocol I have found a great resource in https://github.com/rueian/pgbroker

@metafeather Awesome, thanks. We'll probably be making some improvements to the matching algorithm here soon: https://github.com/mholt/caddy-l4/pull/192 -- just FYI. I don't know, maybe it won't affect your plugin (much).

FYI: I've submitted a request to Postgres to add a --tls option of some sort to the client - in which case the plaintext matching that caddy is already equipped to handle would be sufficient:
https://www.postgresql.org/message-id/ECNyobMWPeoCd4yj_5J0RsDL1yKC9MbbBwOGCYHgcts7v0BW_-znGIoxcvfzUsf3yKvUB6Lef22OBMZnJyZ-0T2U1qaVflQqEGO0RFHp1PE%3D%40proton.me
I probably didn't submit it to the right place, but perhaps it will get the conversation started.

Speak of the Zeitgeist!
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d39a49c1e459804831302807c724fa6512e90cf0
This discussed a little over a year ago, and the commits are beginning to land.

Heyo! Postgres 17 has landed with standard TLS!!
Now, I know many were looking forward for waiting the next 6 years for Debian and Ubuntu to include it but, for shame, I put together a script for so that anyone can compile it with fairly relocatable options (i.e. should work on Ubuntu 22 and 24, Debian Buster and Bookworm, etc, Alpine 3.18, 3.19, maybe even 3.20):
See pinned issues at: https://github.com/bnnanet/postgresql-releases/issues
And I made the binaries I've built with that process available on the same repo: https://github.com/bnnanet/postgresql-releases/releases/tag/REL_17_0
I had to set a few manual linker settings, so if there's any issue, just open an issue in that repo with OS version and such and I'll look into it.

Now, I know many were looking forward for waiting the next 6 years for Debian and Ubuntu to include it but, for shame, I put together a script for so that anyone can compile it with fairly relocatable options

I died. :laughing: Thanks AJ!

Closing.
We're now up to Postgres v17.2 and I've been able to test the BNNA build / Webi release of the psql client on multiple OSes and arches.
One important note is that setting alpn to postgresql is required.


Retire NonTrace tests, lift related STS Utxo(W) properties

… from Ledger to Chain level.
Closes #880
The NonTrace tests (using lower resolution generators) are replaced by existing TestUtxo/W tests (based on Ledger Traces).
As a further piece of technical debt, this PR

lifts the TestUtxo/W properties from LEDGER to CHAIN trace level - this is important because some coin Pots only change at Epoch Boundary - a property can hold trivially true at Ledger level
Further work: similar "lifting" needs to be done for some properties in TestPOOL/Ledger/PoolReap
TestUtxo/W properties lifted to Chain are mainly grouped into a single preservation property - this is an experiment in running more properties on longer (expensive) traces

NonTrace properties mapped to TestChain

propBalanceTxInTxOut -> preserveBalanceRestricted
propPreserveOutputs -> propPreserveOutputs
propEliminateInputs -> eliminateTxInputs
propNoDoubleSpend -> noDoubleSpend
propUniqueTxIds -> newEntriesAndUniqueTxIns + preserveOutputsTx

NonTrace properties discarded

propPositiveBalance (this is defunct since minUtxo)
propNonNegativeTxOuts (also defunct)
classifyInvalidDoubleSpend (property of an old generator)

Perhaps worth saving reviving as examples?

propCheckRedundantWitnessSet - redundant witnesses in a Tx are valid
propCheckMissingWitness - missing witnesses raise a MissingWitness predicate fail

glorious! thank you @uroboros !


fix(create-pr): clean up return_full_payload input

:pencil: Description

Fixes an issue where this input was being read twice.

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


Add rudimentary ES2015 module transpilation

The better approach is to run babel-loader before extract-loader, but this "transpilation" at least enables file-loader 1.0.0 to integrate without syntax errors.

Coverage increased (+0.07%) to 98.113% when pulling 2a539452afdfa05da502cc962120cfbb534f8755 on fix/es2015-module-run into dd1c106e3c5b24ae88d2a473456433a2beeee906 on master.


Restore gal.json

Hi,
How can we restore the gal.json backup? Thx

See here
https://github.com/jilleb/mib2-toolbox/issues/161

Hi snd thanks, but i don't know how is the procedure... What i have to do? Move manualy the original gal.json or other things?
Thx

No, i created a new script which is available in the latest commits.

So what are the steps? Copy the script ? Download it? And how to use in the greenmenu?
Thx

Using the green menu is kind of the base for using the toolbox.. Have you used the toolbox already?

I used it to patch aa, so at the moment I don't know what to do once I copy your new script (line 35 is right?).  where and how can I import / use in the toolbox?  thank you

Please download the entire zip:
https://github.com/jilleb/mib2-toolbox/archive/refs/heads/master.zip
Put it on SD-card and use the update function in the toolbox. Then there will be a new function, which allows you to recover gal.json from backup.

Hi, thanks for support i very appreciate.
Unfortunally it doesn't works: i wiped my SD and copied the zip file and that's the result.

Toolbox version is 4.12st
Thanks

Of course any new function in AA section is available. So something went wrong

Make sure you extracted the zipfile to the SD-card.. not just the zip

I also tried but non chance, i got the same screen. I also tried to install from original mib2 menu (update in top right) but doest detect the SD (strange)

Can you show me what the contens of the SD looks like?

please read the readme.
https://github.com/jilleb/mib2-toolbox#how-to-install
Just place the files from the zip onto the SD
so metainfo2.txt is in the root of the SD

Ok it worked, using the original menu "update". I restored the gal.json and then i unistalled the toolbox using the last command in "unistall" section. But it revoved only the "customization" menu. "Production" one remained.
Is there a way to restore to stock the discover pro?
The point is that after the mandatory ECU update in VW, they gave me back the car and now the park assist image of the sensors doesnt appear anymore on the screen (only acoustic beep). I would to restore fully to stock the discover pro to test if parking assist issue is related.
Thanks a lot for replies and support!

The production menu is there from stock, it's delivered with the unit from factory.
You can try a full software reinstall. But it sounds like they did a mis coding of your parking assist module or MIB, which wouldn't be fixed by a software reinstall because then all adaptation and coding would be the same as it is right now. If i were you, i would go back to the dealer to have them fix it for free.

I'm agree, i told her and she want me to drop back the car for a couple of days, what a inconpetence.
I was searching for the software but but i cannot find it.
Anyhow does the "test menu" in the service screen already exist in default?

Yes, it does exist, although it's hidden from view until it's set by adaptation of the MIB to be in dev mode.

Perfect thanks! Do you know if is possible to find the original software ?

It depends on what version you have. But you're better off going back to the dealer to have them fix the issue they causes.

I think the sw veraion is one of the last for mib2 high... I think 9130 and 1161 the MU version.
I'm managing the situation but they are speaking about the diagnostic (they did also one yesterday of course finding nothing!) And the want me to leave the car 😤.
Do you know if it is related to the update of ECU? or mib related?


chore(flake/nixvim-flake): 8be3f375 -> 79166f1b

Commit
Message

79166f1b
chore(flake/nixvim): 60ea38d2 -> 48141474

e6dbc20d
chore(flake/pre-commit-hooks): c8a54057 -> 1cd12de6

ce28ac95
chore(flake/nixvim): eac092c8 -> 60ea38d2

a73b2dc1
fix(workflows/ci) - Temporarily removing flake check to unblock pipeline

The build succeeds on my local machine. I'm not sure what's happening, but I think this is related to the GitHub actions runner. I think I need to investigate the build issues further.


[Communication] - All SDKs- Print headers

Note that CommunicationLoggerPolicy.java is currently duplicated in the SDKs. This is a temporary change and we will be moving this to azure-core-tests in the future and allow it to be shared between all clients.

/azp run java - communication -tests

/azp run java - communication -tests

/azp run java - communication - tests

/azp run java - communication - tests

/azp run java - communication - ci

/azp run java - communication - ci


[sub-issue] Fix memory leak on CourseUploadFrament

Fix memory leak on CourseUploadFragment

Fix memory leak on Course Upload Fragment

Screenshots

Would you like to work on the issue?
Yes

Hey guys! if no one is working on this issue now. I would like to work on this issue.

You can go ahead and work on it

@gconnect How can I reproduce this issue?

@gconnect How can I reproduce this issue?

Open the course upload fragment from your phone any leak would be shown, while on it you can also check the logcat

@gconnect Sorry! I can't reproduce the bug. In fact, the application crashes on the launch.

Okay


Autopopulate categories and admins

In the schema file, add upserts for categories and administrators. We want all the default categories autopopulated as well as Brandon and Aaron to be Admins by default

This has been addressed (in terms of populating categories) but Brandon and Aaron won't be added as admins in the schema file so as not to expose their pidms


Added an option to return resultsets as an array type.

This is for #770
You can use the rowsAsArray option to get the resultsets as an array type.
I hope this helps.

@dougwilson It seems to be a good opinion.
You can now set rowsAsArray option for each query request.
connection.query({
  sql: 'SELECT ....',
  rowsAsArray: true
}, function (err, rows) {
  ...
});

Hi @ifsnow sorry for the delay in feedback, I'm struggling a bit to download your pull request using git am. Is it possible you can rebase your PR to be on top of the master branch of this repository?

@dougwilson I noticed there are some trouble in my fork. I can't find dresende's commits in mysqljs:master. (https://github.com/mysqljs/mysql/compare/master...ifsnow:master) Perhaps these commits have been reset. I'll work on fixing it. Please wait a minute.

@dougwilson I fixed my repository and created a new PR.


Ruby pacts can have the spec version as camel case format

@adamtsis thanks for that, just want to double check the ruby pact files before closing this

👍

Here is the original issue: https://github.com/realestate-com-au/pact/issues/137
We need to be able to read both formats.


az network vpn-site not in 2.8.0

PS C:\Users> az network vpn-site
az network: 'vpn-site' is not in the 'az network' command group. See 'az network --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
PS C:\Users> az --version
azure-cli                          2.8.0
command-modules-nspkg              2.0.3
core                               2.8.0
nspkg                              3.0.4
telemetry                          1.0.4

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

ID: 8bc92fbe-8731-dc15-c23e-5b58163ee03a
Version Independent ID: 48314a31-ffc3-6896-38c2-aa3fa811c1af
Content: az network vpn-site
Content Source: latest/docs-ref-autogen/ext/virtual-wan/network/vpn-site.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

add to S173

it's in azure cli extension. Please run az extension add -n virtual-wan first.

close this issue since it's usage issue and should be solved.


chore: add bitcoin specific fee data and remove unused types

Add bitcoin specific fee data
Add tradeFee to account for trade fees taken out of the buy asset (needed for thor trades)
Remove statusReason & success from swapper types

This was not a patch release, but a breaking change for the web consumer.
@elmutt could you please make a web PR to handle it?


Fix query builder cross references in query

Refactored code
Removed cross references
Added tests (changed tests to workflow based unit tests)

Query before changes:
SELECT
  D1607_BlockA_37A_rvt_ThreeD_3D.Walls.ECInstanceId
FROM
  D1607_BlockA_37A_rvt_ThreeD_3D.Walls
  JOIN BisCore.ModelContainsElements ON BisCore.ModelContainsElements.SourceECInstanceId = BisCore.PhysicalModel.ECInstanceId
  JOIN BisCore.PhysicalModel ON BisCore.PhysicalModel.ECInstanceId = BisCore.ModelContainsElements.SourceECInstanceId
  JOIN BisCore.ModelModelsElement ON BisCore.ModelModelsElement.TargetECInstanceId = BisCore.PhysicalPartition.ECInstanceId
  JOIN BisCore.PhysicalPartition ON BisCore.PhysicalPartition.ECInstanceId = BisCore.ModelModelsElement.TargetECInstanceId
  JOIN BisCore.ElementHasLinks ON BisCore.ElementHasLinks.TargetECInstanceId = BisCore.RepositoryLink.ECInstanceId
  JOIN BisCore.RepositoryLink ON BisCore.RepositoryLink.UserLabel = 'D1607_Block A_37A_svy21defined.i.dgn'
WHERE
  D1607_BlockA_37A_rvt_ThreeD_3D.Walls.ECInstanceId = BisCore.ModelContainsElements.TargetECInstanceId

Query after changes:
SELECT
  D1607_BlockA_37A_rvt_ThreeD_3D.Walls.ECInstanceId
FROM
  D1607_BlockA_37A_rvt_ThreeD_3D.Walls
  JOIN BisCore.ModelContainsElements ON BisCore.ModelContainsElements.SourceECInstanceId = BisCore.PhysicalModel.ECInstanceId
  JOIN BisCore.PhysicalModel ON BisCore.PhysicalModel.ECInstanceId = BisCore.ModelModelsElement.SourceECInstanceId
  JOIN BisCore.ModelModelsElement ON BisCore.ModelModelsElement.TargetECInstanceId = BisCore.PhysicalPartition.ECInstanceId
  JOIN BisCore.PhysicalPartition ON BisCore.PhysicalPartition.ECInstanceId = BisCore.ElementHasLinks.SourceECInstanceId
  JOIN BisCore.ElementHasLinks ON BisCore.ElementHasLinks.TargetECInstanceId = BisCore.RepositoryLink.ECInstanceId
  JOIN BisCore.RepositoryLink ON BisCore.RepositoryLink.UserLabel = 'D1607_Block A_37A_svy21defined.i.dgn'
WHERE
  D1607_BlockA_37A_rvt_ThreeD_3D.Walls.ECInstanceId = BisCore.ModelContainsElements.TargetECInstanceId

@aruniverse please review.


Fix data recive bug

Some time data received is not an array.
I don't know why but try to fix issue

Thank you, @AliMD


Investigate new incremental compile improvements

As described in Reducing Rust Incremental Compilation Times on macOS by 70%
, Rust 1.51 has a new compilation option that is designed to reduce incremental compile times.
This is very relevant to Bevy's goals for fast, iterative game development, and IMO deserves investigation to see how it interacts with our other fast compilation options.
Associated reddit thread, in case some relevant details are found there.

The unstable version of this option has been used for ages. Now that cargo even enables it by default on nightly, https://github.com/bevyengine/bevy/pull/1913 removed the explicit setting of this option in the fast compile config.

Great. Thanks @bjorn3; I'm closing this now.


Add possibility to represent zero as length of zero vector

Related issue (#397), (#412 )
Implemented in the same way we make opaque "one" with length of normalized vectors.

Uh oh, didn't see that #432 PR, closing this one


Allow players to show a card they own.

Hi there,
I don't necessarily understand the rationale behind the showCard control being a GM-only option.
May I suggest changing the value of the 'showCard' disabled property from
  !game.user.isGM
to
  !card.isOwner or  !(card.isOwner or game.user.isGM)
instead?
I suppose this could become a module setting also.

So, the weird thing is that card.isOwner is always true for cards in your hand. Foundry kinda cheats its own permission system by making cards in a hand you own owned copies of the cards in the deck. So checking if a player owns a card is basically useless.
As for the "show card" thing... Yeah I could make it a setting whether or not to restrict this to the GM. The rationale is to prevent players from annoying each other by showing cards, as this will show everyone. But there are obviously situations where this would be useful, and it's probably not necessary to prevent players from doing it.

But there are obviously situations where this would be useful, and it's probably not necessary to prevent players from doing it.
Yes. I'd opt to leave this 'Prevent players from showing cards' option as off by default, with the rationale that it seems more natural to be permissive by default and leveraging the fact that 🦋 Monarch users probably haven't had enough time to get used to the default 'disabled for players' behavior since the feature is very new.