first draft of schema management

related to issue #26

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@mehranshakeri Would recommend using JSON-LD schemas and utilize context files for data schema management and subsequent validation through a JSON-LD checker.
Example data schema here:
{     "$id": "https://w3id.org/traceability/schemas/LegalEntityIdentifierCredential.json",     "$schema": "http://json-schema.org/draft-07/schema#",     "$comment": "{\"term\": \"LegalEntityIdentifierCredential\", \"@id\": \"https://w3id.org/traceability#LegalEntityIdentifierCredential\"}",     "title": "LegalEntityIdentifierCredential",     "description": "GLEIF verifiable Legal Entity Identifier Credential (verifiable leiCode Credential)",     "type": "object",     "properties": {         "@context": {             "type": "array"         },         "type": {             "oneOf": [                 {                     "type": "string"                 },                 {                     "type": "array"                 }             ]         },         "leiCode": {             "$comment": "{\"term\": \"leiCode\", \"@id\": \"https://schema.org/leiCode\"}",             "title": "leiCode",             "description": "leiCode - An organization identifier that uniquely identifies a legal entity as defined in ISO 17442",             "type": "string"         },         "certificateName": {             "$comment": "{\"term\": \"certificateName\", \"@id\": \"https://schema.org/name\"}",             "title": "certificateName",             "description": "Specific name of issued legal entity certificate",             "type": "string"         }     },     "required": [         "leiCode",         "certificateName"     ],     "additionalProperties": false,     "examples": [] }
context file example:
{   "@context": {     "@version": 1.1,     "name": "http://schema.org/name",     "description": "http://schema.org/description",     "identifier": "http://schema.org/identifier",     "image": {       "@id": "http://schema.org/image",       "@type": "@id"     },     "id": "@id",     "type": "@type", "LegalEntityIdentifierCredential": {       "@id": "https://w3id.org/traceability#LegalEntityIdentifierCredential",       "@context": {         "leiCode": {           "@id": "https://schema.org/leiCode"         },         "certificateName": {           "@id": "https://schema.org/name"         }       }     } }
We also need application interop as this is just like data interop:
example of an app spec within a VC's credentialSubject:
{   "@context": "https://baseline.org/baseline-business-services/spec/v1",   "service": [{     "id": "did:ethr:dc2bfb8d330a75bd6368468ad36dcd5a12ed4de69fd3b851d7dfc6f6efcd3912#keys-1",     "type": "WholeSaleVoice_ACME",     "serviceEndpoint": "https://u0yzz5mtif-u0ss36yzrk.us0-aws.acme.io/"   }],   "SupportedApplications": [{   "BaselineApplicationType": "WholeSaleVoice",   "BaselineApplicationName": "WholeSaleVoice_NA",   "BaselineApplicationID": "did:ethr:ef2bfb8d330a75bd6368468ad36dcd5a12ed4de69fd3b851d7dfc6f6efcd4012",   "BaselineApplicationProvider": "did:ethr:ef2bfb8d330a75bd6368468ad36dcd5a12ed4de69fd3b851d7dfc6f6efcd3912",   "BaselineApplicationVersion": "1.0",   "DLTSupported": ["Hyperledger_Besu_1.4.1", "Hyperledger_Fabric_2.0"}],   "ApplicationAPIspecs": "https://u0yzz5mtif-u0ss36yzrk.us0-aws.acme.io/swaggerapis/?swagger?from=account1?source=wholesalevoicev1.0.json",   "RPCApplicationEndpoint": "https://u0yzz5mtif-u0ss36yzrk-rpct.us0-aws.acmer.io",   "WebhooksApplicationEndpoint": "https://u0yzz5mtif-u0ss36yzrk-connVCt.us0-aws.acmer.io"   }],   "created": "2020-10-10T17:00:00Z",   "updated": "2021-10-17T02:41:00Z"   }
The above needs to be discoverable -> use DID docs for that where the VC with the spec is hosted at a service endpoint from the DID doc e.g.:
"service": [{     "id": "did:ethr:dc2bfb8d330a75bd6368468ad36dcd5a12ed4de69fd3b851d7dfc6f6efcd3912#keys-1",     "type": "WholeSaleVoice_ACME",     "serviceEndpoint": "https://u0yzz5mtif-u0ss36yzrk.us0-aws.acme.io/"   }]
Then once you have that you need service negotiation since not everyone supports all versions and DLTs etc.
see example here taken from a telco context:

@mehranshakeri given the nascent stage of the PR, I would recommend to covert this to a draft PR until it is fully PR ready. What do you think?

Can we agree to discussing this requirement in the context of "unchecked" schemas as described in this comment?
https://github.com/ethereum-oasis/baseline-standard/pull/52#discussion_r623478415

Can everyone please comment on the problem description? I want to make sure we all agree on the problem, why it needs to be addressed as part of core specs and what happens if we don't?
e.g. if prior to any Baseline transactions, Parties need to sign Commercial Agreements, it means there will be an initial manual setup and during that phase they can agree on a schema set, configure their Baseline stacks if necessary and let it run. Do we really need an automated negotiation as part of core specs or are we over engineering? In this case, we only need to standardize minimum schemas for different APIs and objects which is happening in BRI.
@kthomas Are we talking about the same thing?
cc @Therecanbeonlyone1969 @humbitious

@mehranshakeri ... negotiation can be as simple as storing acceptable configurations and schemas at .well-known under e.g. baslineconfiguration.json or .jsonld ... that would allow entities, for example, to start baselining by simply hitting a published endpoint to create an account etc. -> enables enterprise IT departments to easily build services and integrate them in their architecture without having to rely on 3rd parties.
As to commercial agreements, only if you are actually doing commerce, do you need a commercial agreement signed outside of the baseline context -- otherwise go ahead without one. The digital fingerprint of the commercial agreement aka hash value can be used as an initial input value into the baselined commercial contract.

@mehranshakeri ... negotiation can be as simple as storing acceptable configurations and schemas at .well-known under e.g. baslineconfiguration.json or .jsonld ... that would allow entities, for example, to start baselining by simply hitting a published endpoint to create an account etc. -> enables enterprise IT departments to easily build services and integrate them in their architecture without having to rely on 3rd parties.
As to commercial agreements, only if you are actually doing commerce, do you need a commercial agreement signed outside of the baseline context -- otherwise go ahead without one. The digital fingerprint of the commercial agreement aka hash value can be used as an initial input value into the baselined commercial contract.

+1 -- the agreements already exist today. Just memorialize them by reference and be done. No engineering needed...
As far as counterparty resolution and handshaking, we can describe the data models and APIs we have created to do this in PR #1.
cc: @LucasRodriguez

@mehranshakeri ... negotiation can be as simple as storing acceptable configurations and schemas at .well-known under e.g. baslineconfiguration.json or .jsonld ... that would allow entities, for example, to start baselining by simply hitting a published endpoint to create an account etc. -> enables enterprise IT departments to easily build services and integrate them in their architecture without having to rely on 3rd parties.
As to commercial agreements, only if you are actually doing commerce, do you need a commercial agreement signed outside of the baseline context -- otherwise go ahead without one. The digital fingerprint of the commercial agreement aka hash value can be used as an initial input value into the baselined commercial contract.

Then can we say this is more of an implementation details that could be recommended but not a core spec?


When ignoring vertical padding, Paddy misbehaves

This is an issue template.
Please fill in the relevant fields – whether this is a Feature request or a Bug report
Remove any sections that are not relevant to you.
Bug report
Expected behavior:
I would expect paddy to apply 15px padding from both top and bottom when I give it a rule of [15 x]
Actual behavior:
(Please include a screenshot or screen recording if possible)
Paddy keeps applying the 15px padding from top, but bottom padding is suddenly smaller.
Steps to reproduce:
(Please attach a Sketch file if poss
ible)
Create a button with text, aligned which has "auto" alignment. Set paddy padding to [15 x]. Resize the container shape of the button and watch the padding change in a wrong way.
Sketch file:
Tinkamo App Design.zip
Video:
Paddy misbehaving Video.zip

Can you check if this is still an issue? When I open your file and resize the instance it goes back to the proper height.

Thanks a lot @blaskotron, I've installed the beta of Paddy 2, very happy to discover all the new features, as well as the fact that this is working fine now :) Good times! 👍


Add Rails/RakeEnvironment cop

This pull request will add Rails/RakeEnvironment cop to check rake task definition without :environment dependency.
Please read the cop's documentation comment for the motivation for the cop.
rubocop-rake
I'm developing rubocop-rake. It is a RuboCop plugin for rake. I was trying to implement the cop to rubocop-rake, but I thought it should be implemented to rubocop-rails on second thought.
Because most of the rubocop-rails users can enable the cop, but not all rubocop-rake users need the cop.
auto-correct
I think we can implement auto-correction for the cop, but this pull request omits it. I think it is enough for the first step.
I guess implementing auto-correction is a bit of difficult. Because Rake has many styles to define a task.
task :foo
task foo: :dep
task foo: [:dep1, :dep2]
task :foo, [:arg_name]
taks :foo, [:args_name] => :dep
taks :foo, [:args_name] => [:dep1, :dep2]

Aggressive offense
The cop is not aware of nested dependencies.
task bar: :environment
task foo: :bar

In this case, bar invokse environment, so the cop should not add any offenses to foo.
But the cop is not aware of the nested dependencies. It means the cop does not know bar to invoke environment.
We can choose the following two styles.

Do not add any offenses if the task has dependencies.
Add an offense even if the task has dependencies.

I choose the latter, which is a more aggressive style, for the first implementation.
I think someone can implement another style in the future if necessary.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Hm. I tend to have quite a few tasks with other dependencies, e.g.:
task prime: "db:setup"

so the less aggressive style would be nice.

so the less aggressive style would be nice.

That is a good point. I agree with you.
I concerned the cop overlooks missing environment without the aggressive style. But the dependency is also checked by the cop in many cases, so totally the cop will not overlook it.
# `foo` task is not checked by the cop
task foo: :bar

# `bar` task is checked by the cop, so totally the cop detects an offense expectedly.
task :bar do
end

I updated the cop to not add offense aggressively.
If you need, I'll rebase and squash commits.

I’d like to review this one. Please wait a moment.

Thank you for your review! @koic
I updated them.
I'll squash the commits to one if you need.
note: The failing CI builds will be solved by #146

rebased. THanks!

Thanks!

Is there a workaround for this till this issue is closed ?


Experimental solution to BC selection issue in ex1 and ex1p [mark-external-faces-dev]

PR #4484 corrects an issue with reading periodic meshes which happen to contain internal boundaries. Our mesh reader would remove such boundaries because the periodic surfaces are often defined in terms of boundaries which become internal when the mesh is stitched together. MFEM's mesh reader makes the assumption that this particular internal boundary will not be needed. This may or may not be a correct assumption. However, MFEM goes a step further and removes all internal boundaries. This is clearly overly aggressive so PR #4484 does the right thing by leaving internal boundaries in place.
PR #4484 exposes an issue with examples ex1 and ex1p which make the assumption that an essential boundary condition should be applied to all boundaries in the supplied meshes. However, the original intention of examples ex1 and ex1p would seem to have been that an essential boundary condition should be applied to all exterior surfaces of the supplied meshes.
This PR seeks to provide functionality in the (Par)FiniteElementSpace classes to easily identify degrees of freedom lying on the exterior surfaces regardless of what surfaces the mesh designer chose to label with boundary attributes.
There is, of course, the possibility that this PR will still lead to differences in certain test runs of examples ex1 and ex1p. For example if a mesh does not tag all of its exterior surfaces with boundary attributes this PR will produce a larger set of essential DoFs than the original code would have.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#4630
@mlstowell
@tzanio
@tzanio + @jandrej + @v-dobrev + @bslazarov + @hughcars
12/14/24
⌛due 12/28/24
⌛due 1/4/25

PR Checklist

[ ] Code builds.
[ ] Code passes make style.
[ ] Update CHANGELOG:

[ ] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[ ] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[ ] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[ ] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[ ] New examples:

[ ] All sample runs at the top of the example source file work.
[ ] Update examples/makefile:

[ ] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[ ] Add any files generated by it to the clean target.
[ ] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Since #4484 in already in next, it will be better for this PR to be merged there instead of directly into master.

I don't think we need to add the new methods,(Par)FiniteElementSpace::GetExterior{VDofs,GetExteriorTrueDofs}, to solve the issue at hand. These seem too specialized and in example 1/1p we should illustrate the general approach we want users to use for handling boundary conditions -- using the boundary-attribute marker arrays. This approach is used in all examples and using a different approach in example 1/1p is not appropriate in my view.
I can suggest a few approaches that do not go around the use of boundary-attribute marker arrays:

Add a virtual method, e.g. called (Par)Mesh::RemoveInternalBoundaries(Array<int> &bdr_marker), that we can call after the lines ess_bdr = 1; to un-mark boundary attributes corresponding to interior boundaries; or
Add a virtual method, e.g. called (Par)Mesh::MarkExternalBoundaries(Array<int> &bdr_marker) that we call instead of ess_bdr = 1; to mark boundary attributes corresponding only to real "exterior" boundaries; or
Add another optional parameter to (Par)FiniteElementSpace::GetEssentialTrueDofs -- bool remove_interior = false that we can set to true in example 1/1p; this parameter will probably need to be propagated to other methods used by GetEssentialTrueDofs, e.g. GetEssentialVDofs.

I think the methods proposed by @v-dobrev could each be useful but they all involve assumptions. We have no control over which surfaces mesh designers will choose to mark with boundary attributes. There is no guarantee that every exterior face will have a boundary attribute. There is no guarantee that every boundary attribute will contain only interior or exterior faces, some could be a mixture of the two.
On the other hand I do agree that these examples should showcase the preferred manner of setting boundary conditions. We could add a small amount of logic to handle both options. Perhaps offer a command line option to input the boundary attributes. If this option is not used then set all exterior DoFs as in this PR.
If the consensus is that this PR does not resolve the issue in the best way, I certainly don't mind withdrawing it.


kickoff them strategy

Currently we don't have a kickoff them strategy. Now we are sometimes so aggresive we actually take the kickoff instead, so it should be less aggressive.

fixed in #380


Consolidate form validators into common library

The dispatch app contains many form validators that are copied throughout the app. These should be consolidated into a single library to make changes more manageable.

I thought this as well and started towards this goal in 030f1b84efc3d58b8eebc066ad73a8bdbb4c5b03 where I created a module that exports some form validator functions in shared/ui. I imagine there are other validators still to be consolidated, just noting the existence of that module here for future reference.


Remove a Mistral example that is causing deadlock in DB

+1
Is there a mistral bug to track the issue?

I have to pinpoint where the actual problem is before I can file a bug at mistral.

I have to pinpoint where the actual problem is before I can file a bug at mistral.

We have a test i.e. a repro scenario so figuring out the issue is now part of fixing the bug.


[stable/sentry] fix: reverts changes to sentry secrets template

What this PR does / why we need it:
Fixes regression created in #19938
This if was leftover from an approach later abandoned in favor of the current. Sorry it got merged in, I looked over it when submitting :neckbeard:
Which issue this PR fixes
https://github.com/helm/charts/pull/19938#discussion_r365110150
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

@donbeave Could you verify if this fixes the regression?

@wilmardo LGTM

/ok-to-test

/lgtm


Some weapon sounds overlap equipped weapon sounds

Example, if an abyssal whip is equipped and you transmog a viggora's chainmace, the attack sound of the abyssal whip occurs before the chainmace. Is it possible to completely replace the sound with the transmogged item?

I only hear the whip sound effect when I attack using a viggora's chainmace item override and viggora's chainmace animation override.
Are you sure you're not mistaking the enemy hit sound as the viggora's chainmace attack sound?
What do you have set in the plugin?

This is what I currently have, the sound of chainmace occurs about 1 tick after the sound of the whip. I've tested it on multiple creatures and I get the same results.

does it happen with the regular whip?

Yep, same sound delay when I have the viggoras as an override

I still hear the exact same thing whether I have this swap enabled or not. Using regular whip.

Does it happen when you disable the override or when you use some weapon that isn't overridden to viggora's chainmace?

ahhhh I hear it now, it's an area sound and I had those muted.

some animations have sounds attached to them. I'll keep this in mind if I ever add sound replacement.

btw as a workaround you can use the Annoyance Mute hub plugin to mute sound ids 303, 229, and 2379 and it will remove this sound effect.


Added test for usecase where seshat is not available.

Codecov Report

Merging #43 into master will increase coverage by 0.78%.
The diff coverage is 82.14%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
+ Coverage   71.98%   72.77%   +0.78%
==========================================
  Files           4        4
  Lines         332      360      +28
  Branches       56       57       +1
==========================================
+ Hits          239      262      +23
- Misses         51       55       +4
- Partials       42       43       +1

Impacted Files
Coverage Δ

libseshat/src/libseshat.c
68.46% <42.85%> (-1.46%)
:arrow_down:

libseshat/tests/simple.c
79.26% <95.23%> (+5.49%)
: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 eb88afd...23a4175. Read the comment docs.


fix: switch to pushpad for notifications

This switches us to using the PushPad notification widget and removes the homegrown solution.

NOTE: The correct project id needs to be added to src/index.html

@schalkneethling please check that you're happy with my additions due to this note:

@schalkneethling please check that you're happy with my additions due to this note:

@schalkneethling please check that you're happy with my additions due to this note:

So, I had that, but it sounded like if you have an existing service worker you do not need to inject that one, but only need to add the updateViaCache entry. I had a read over this issue on Workbox and it kinda sounded like they take care of it internally.
With that, I removed the importScripts and, testing it, it still seemed to work just fine(perhaps it was a fluke).
The serviceWorkerPath path docs is a little odd though:

String serviceWorkerPath: the default location is '/service-worker.js'. If your service worker really needs to be in a different location you can set its path here, however remember that the location of the service worker can affect its behavior and you usually want to put it at the root of your website: don't put the service worker outside the root path unless you know exactly how service workers work. If your web app already registers the service worker, you should set this option to null, however in this case make sure that your application calls navigator.serviceWorker.register with the option updateViaCache: 'none', otherwise your notifications may stop working when we release new updates.

Specifically this piece:

If your web app already registers the service worker, you should set this option to null, however in this case make sure that your application calls navigator.serviceWorker.register with the option updateViaCache: 'none', otherwise your notifications may stop working when we release new updates.

 I thought so as well, but when I removed it and everything still worked, I thought the docs were saying

Inject this but,
if you have your own existing service worker, do the things as indicated at https://pushpad.xyz/docs/javascript_sdk_reference#pushpad_init_docs

@schalkneethling please check that you're happy with my additions due to this note:

So, I had that, but it sounded like if you have an existing service worker you do not need to inject that one, but only need to add the updateViaCache entry. I had a read over this issue on Workbox and it kinda sounded like they take care of it internally.
With that, I removed the importScripts and, testing it, it still seemed to work just fine(perhaps it was a fluke).
The serviceWorkerPath path docs is a little odd though:

String serviceWorkerPath: the default location is '/service-worker.js'. If your service worker really needs to be in a different location you can set its path here, however remember that the location of the service worker can affect its behavior and you usually want to put it at the root of your website: don't put the service worker outside the root path unless you know exactly how service workers work. If your web app already registers the service worker, you should set this option to null, however in this case make sure that your application calls navigator.serviceWorker.register with the option updateViaCache: 'none', otherwise your notifications may stop working when we release new updates.

Specifically this piece:

If your web app already registers the service worker, you should set this option to null, however in this case make sure that your application calls navigator.serviceWorker.register with the option updateViaCache: 'none', otherwise your notifications may stop working when we release new updates.

 I thought so as well, but when I removed it and everything still worked, I thought the docs were saying

Inject this but,
if you have your own existing service worker, do the things as indicated at https://pushpad.xyz/docs/javascript_sdk_reference#pushpad_init_docs

yeah - I suspect it might have worked accidentally, perhaps our push even handler was coincidentally compatible with theirs?

yeah - I suspect it might have worked accidentally, perhaps our push even handler was coincidentally compatible with theirs?

yeah - I suspect it might have worked accidentally, perhaps our push even handler was coincidentally compatible with theirs?

Perhaps 🤷♂ 🙃

yeah - I suspect it might have worked accidentally, perhaps our push even handler was coincidentally compatible with theirs?

Perhaps 🤷♂ 🙃


input[type=number] placeholder clipped in Firefox

The placeholder is clipped in an input of type number in Firefox on Windows 10. This only happens with a class of form-control.
Minimal working example with latest dev:
https://codepen.io/anon/pen/NvRpgJ

Works fine with Bootstrap alpha-6.
https://codepen.io/anon/pen/oezpKq

I'm using the latest from v4-dev, not the cdn.

Then please make a bin with rawgit and the files from the v4-dev branch.
On Aug 3, 2017 11:11, "judowalker"<EMAIL_ADDRESS>wrote:

I'm using the latest from v4-dev, not the cdn.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/issues/23209#issuecomment-319899599,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVVtZABuRh_WbFBk6ldXa0CgUQjkmxLks5sUYCdgaJpZM4Orv9K
.

OK, confirmed: https://codepen.io/anon/pen/MvjXYj
/CC @mdo: did something change markup-wise or is the markup used fine?

I played around a bit with your demo and it looks like increasing line-height from 1.25 to anything over 1.39948 will fix it.
It's weird because it's not a progressive thing, it's fully clipped at 1.39947 and fully visible at 1.39948.

I don't see the issue in Firefox 53 on macOS.

I definitely see it on Windows with FF 55 and 56 with the codepen I pasted above which is using the latest v4-dev version.

For me, it gets fixed with >= 1.381. I believe it's due to the font being used on Windows; Segoe UI. If I switch the font to Arial, it's OK with 1.25.

IE 11 and Edge work fine on the same Windows system.

Hmm, I just noticed. The pen above doesn't include <meta name="viewport" content="width=device-width, initial-scale=1">. After adding that it is fine. Also, the inputs are of type number yet their placeholder was text in the original codepen.
So I believe this is a non issue after all. See https://codepen.io/XhmikosR/pen/zdzvad

If that's the case we should also close #23227 too.

/CC @Johann-S

@XhmikosR your example is not showing the bootstrap styles because it has a console error:
Refused to execute script from 'https://github.com/twbs/bootstrap/raw/v4-dev/dist/js/bootstrap.min.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.

It also doesn't have a placeholder.
It also doesn't include <meta name="viewport" content="width=device-width, initial-scale=1"> which you stated fixes the issue.

Also, the inputs are of type number yet their placeholder was text in the original codepen.

I don't understand what you are saying here. Why can't a placeholder be text?

Please check the codepen above. I'm still not sure your codepen is right or not and I don't have the time to investigate this more.
Someone else will have to have a look.

That's the one I checked. See the screenshot below. It doesn't even have a placeholder and there's no Bootstrap styling.

Appears other input types have issues, too, with Firefox :. #23355

@mdo don't see this issue any other input type. its appear only in number type.

Can confirm this for Windows 10, Firefox 55:

No problems in Windows 10, Chrome 60:

Also clipped in Firefox 55/Linux. Setting the line-hight to 1.35 in $input-btn-line-height fixes it.
Screenshots: https://github.com/twbs/bootstrap/issues/23347#issuecomment-324674515

Consolidating issues; closing for #23347.


Make sure users can reset the resources.limits override

Remove resources.limits field from reconciler manager allowList:
Previous reconciler manager allowList related logic added resources.limits to allowList to ignore the differences between declared and current deployments on this field when the declared deployment does not have resources.limits defined. However, this did not consider the case when user want to reset the resources.limits override, the declared deployment will also not have resources.limits fields defined.
Rename some functions in reconciler_base

/retest

/lgtm
/approve
/meow


Add tutorial for LOJ-1164 Horrible Queries

closes: #471
Problem link: Horrible Queries
Description:
Wrote an English tutorial for the problem.

@rebornplusplus
Hi! Can you check it now? Sorry for the inconvenience. It got messed up with my previous tutorial.

@rebornplusplus

@rebornplusplus Hi! Can you check it as per your convenience?


Inconsistent rule for 'scss/at-import-partial-extension'

Problem
The rule in https://github.com/xojs/stylelint-config-xo-scss/blob/master/index.js#L21 requires an extension for all imports. But the next line prohibites to use the .scss extension.
If I want to import e.g some color values from an seperated color.scss to an other scss file, then I want to use it like that:
Minimal Reproducible Example
@import './color.scss'

body {
    background: $color-silver;
}

But the config does not allow this.
If I remove the scss extension at the end, the rule scss/at-import-partial-extension throws an eror.
If I add the scss extension the scss/at-import-partial-extension-blacklist rule throws an error.
So it's not possible to solve the errors at this point.
Possible Solution
IMO it would be more consistent if we delete the scss/at-import-partial-extension-blacklist. Then just every import needs the extension.
OR
We modify the scss/at-import-partial-extension to something like that (needs extra PR in stylelint-scss):
'scss/at-import-partial-extension': ['always', , { "except": ["scss"] }]

I'm changing it to enforce no extension for Sass files. I wanted to make it explicit that Sass files are used as they share @import with plain CSS, so there could be ambiguity, but it seems that decision is unpopular. Also, the future of Sass is @use instead, so doesn't really matter.


Introduce a default object lifetime bound

Add a default lifetime bound for object types, so that it is no longer necessary to write things like Box<Trait+'static> or &'a (Trait+'a). The default will be based on the context in which the object type appears. Object types that appear underneath a reference take the lifetime of the innermost reference under which they appear, and otherwise the default is 'static.
Examples:

&'a &'b SomeTrait becomes &'a &'b (SomeTrait+'b)
&'a Box<SomeTrait> becomes &'a Box<SomeTrait+'a>
Box<SomeTrait> becomes Box<SomeTrait+'static>
Rc<SomeTrait> becomes Rc<SomeTrait+'static>

Cases where the lifetime bound is either given explicitly or can be inferred from the traits involved are naturally unaffected.
Rendered view.

I wholeheartedly support this RFC. Besides the quantitative data presented here, I feel that these defaults closely match the intuitions I generally have about ownership and trait objects.
The interaction with lifetime elision seems similar to the use of sugared Fn notation (with HRTB), in that the interior lifetimes of a type are considered opaque from the point of view of lifetime elision. This, again, supports an ownership intuition where &Trait represents a single "unit" of borrowing, for lack of a better term.
I also support the idea of opt-in for "hidden reference" types -- that is, rather than making & special, allowing any "reference-like" type to participate in these rules.
I wonder how much extra work such an opt-in would be? There's some urgency because, presumably, one cannot decide to have a type opt in after it has already been stabilized. Since we already have some reference-like types in std, it seems prudent to get the story sorted out before 1.0.

@aturon Hmm, I hadn't considered the fact that we could allow types to opt-in. I thought of it as backwards compatible, but you're right. Doesn't seem like it should be that hard, we mostly need to devise a syntax.

+1, + 'static everywhere gets tiresome very quickly.

So as both @aturon and @bill-myers pointed out, it is perhaps a good idea to consider if we can adopt an extensible default scheme now. In the RFC I proposed (and rejected) building on the existing T:'a annotations that appear in types. I'd like to reconsider that idea as a strawman proposal. Consider what a Ref type looks like today
struct Ref<'a, T:'a> {
    x: &'a T
}

We could say that if the struct declaration specifies exactly one bound of the form T : 'a for some type parameter T, then this is the default lifetime bound for values of that parameter (after suitable substitutions). If multiple bounds are given, then there is no default bound (as today, an explicit value would be required). If no bounds are given, then the default is inherited from the environment.
Some examples:
struct RefStatic<T:'static> { ... }
struct Ref0<'a,T> { ... }
struct Ref1<'a,T:'a> { ... }
struct Ref2<'a,'b,T:'a+'b>{ ... }

RefStatic<Writer> --> RefStatic<Writer+'static> // as in the RFC
&'a RefStatic<Writer> --> &'a RefStatic<Writer+'static> // explicit 'static overrides the 'a, unlike RFC
Ref0<'a, Writer> --> Ref0<'a, Writer+'static> // as in the RFC
Ref1<'a, Writer> --> Ref1<'a, Writer+'a> // unlike RFC
Ref2<'a, Writer> --> Ambiguity error // as today, unlike RFC

In the future, we could potentially try to handle multiple bounds, but only if one of them is unambiguously "biggest". For example struct Ref2<'a,'b:'a,T:'a+'b> -- but in that case, why use both T:'a+'b and not just T:'b which implies both?
The advantage of this is that it is guided by the existing type annotations and tries to pick a type that best meets what the struct said is required. However, it is subtle and may be hard to explain. Moreover, if we do decide to infer the T:'a annotations, I don't think we'll be able to use the results of inference to drive defaults, since it's very awkward to have to do inference when you don't even know the types of the fields (and we can't figure out the full types without knowing what defaults to apply). So we'd presumably still require explicit annotations if you want to guide this lifetime bound default.
I'm mildly concerned that this matter of lifetime bounds is a kind of obscure concern. I simultaneously don't want to dedicate a big keyword to it (pro to this comment's proposal) but also don't want it to ride on some subtle bit of syntax that is so easily overlooked and maybe confusing (con to this comment's proposal).

I'm normally suspicious of such inference, but this RFC seems remedy a situation where rustc helped you uncharacteristically little, so +1.
Less sure about the previous comment, bounds on parameters doing that just spooks me out.

I'm in favor of this RFC in general, and also think it would be a good idea to generalize the defaulting behavior behind reference types as proposed in @nikomatsakis last comment.
It feels more consistent if both the build-in and custom reference types behave the same in regard to the proposal. Otherwise, custom ones might feel a bit second-class due to added lifetime verbosity.

Big :+1: from me here, this matches my intuitions as well.

+1 from me (I do kind of like the inference idea as well).

I'm in favour.
Another way to make avoiding default 'static bounds easier would be to support some marker (e.g. _) to introduce an explicit anonymous lifetime, i.e. fn foo(x: Box<Trait + '_>) == fn foo<'a>(x: Box<Trait + 'a>).
(The precise '_ notation may not be the best, since it differs slightly to _ in types.)

@huonw I would very much like some sort of marker like that, and I've considered just that syntax. I actually think it fits ok -- that is, _ in fn signatures could correspond to "fresh parameter", and _ in bodies could mean "fresh type variable". This is precisely analogous to what we do with omitted lifetimes and I personally find it ok. ymmv.
Anyway, the other use cases where I would like that in the compiler is this:
fn foo<'a>(x: &SomeContext<'a,'tcx>, ...)

Here I only need the 'a so that I can specify the 'tcx. I'd rather write:
fn foo(x: &SomeContext<'_,'tcx>, ...)

This comes up fairly regularly in the compiler anyhow, and I suspect it will come up in other programs that are making aggressive use of lifetimes/arenas/etc.

For the record, I continue to be worried about the subtle implicit sugar that Rust is growing. Hard to know what's going on.

I adapted the text to describe driving defaults based on user annotations, as discussed in this comment.

@nikomatsakis

I adapted the text to describe driving defaults based on user annotations, as discussed in this comment.

Looks great! I'm happy with this RFC.

This RFC has received broad support, and is a blocker for Send changes. We have decided to move forward with it, including the updates for annotation-driven defaults.
Tracking issue

This change made &mut Trait references essentially useless, since &'a mut Trait + 'a can allow the borrow to escape into the object, therefore making it indefinite. Is this a foreseen consequence or was it unintentional?


[INFINITY-1201] jenkinsfile pipeline for pull request job

The only initial benefit we get when this hits master (and we adjust jenkins to use this) is that test-orchestration will run in a 1GB context instead of a 4GB one, which means 4x as many test orchestrations per hardware.  Of course others will use those resources besides us, so we won't see 4x parallelism but it's still an improvement.
Further improvement: run the build and set up a cluster in parallel.

retest this please

retest this please

3c26a98 failed on elastic upgrade/downgrade.  I thought that was supposed to be fixed?

retest this please

retest this please

This time: EOFError in paramiko.

retest this please

Heh, this time it WAS KAF-326.

Er?
2017-04-25 09:42:12,074 dcos-commons-test All (tested) requirements met.
Traceback (most recent call last):
  File "./test.py", line 632, in <module>
    if not main():
  File "./test.py", line 598, in main
    lib_dir = os.path.join(get_work_dir(), 'lib', 'python')
  File "/usr/lib/python3.5/posixpath.py", line 89, in join
    genericpath._check_arg_types('join', a, *p)
  File "/usr/lib/python3.5/genericpath.py", line 143, in _check_arg_types
    (funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'
Build step 'Execute shell' marked build as failure

That Er? is from https://github.com/mesosphere/dcos-commons/pull/898  which PASSED.
Which suggests the whole of our CI is untrustworthy.


Updated link to new version of CNTK

Tutorial fails because the ResNet model/CNTK version mismatch at Step 2. Updated CNTK install to 2.3

Thanks for the feedback. We need to do more testing (esp deployment which right now is using CNTK 2.0 also) before supporting CNTK 2.3. Hence for now this PR cannot not be merged.

@PatrickBue - To resolve this pull request, add an appropriate comment so automation can take the corresponding action.  Thanks

#please-close


cdn

Hi!
If need CDN dont hesitate to ping me here ot at my website www,nsh.su we can Deliver any type of the content FLV, RTMP, HLS, LL-HLS, WEBRTC all over the globe :)
Ofc we provide free trials :)


Data Factory: Web Activity Basic authentication: Password disappeared?

Hi team,
There is issue we are facing in basic authentication inside ADF : web activity (in both GIT and data factory mode).
Actually earlier both options i.e. username and password use to appear in basic authentication type
but from last few days option to fill password is not available. Earlier we did a work around for the same as we changed the password in json file of the activity and then saved pipeline but that also not working now. Pipeline results in error that access is denied.
Also option of basic authentication is totally gone from ADF GIT mode.
Please look into this asap.
Thanks,
Mandeep Singh

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

ID: 34b3d465-6a2b-88ad-6e80-4fb784cd489e
Version Independent ID: 51b70888-d089-7352-4abd-7d587726700a
Content: Web Activity in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/control-flow-web-activity.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@MandeepSingh93 Can you please provide us with the URL of the Azure Doc you are having issues with? We look forward to your reply.

hi,
We are referring to below mentioned link:
https://docs.microsoft.com/en-us/azure/data-factory/control-flow-web-activity
Thanks & Regards,
Mandeep Singh

@djpmsft Can you please take a look at this ?

Hi all,
This is a duplicate of #43723
As mentioned, the fix is currently awaiting deployment. You should see the all authentication modes supported in the Web Activity starting middle of this week.
Heads up, you will need to use Azure Key Vault to store your passwords as we do not store them in Git mode (which is why the feature didn't exist at first).

#please-close

I don't believe this is a resolved issue. I do have a git enabled data factory and have a web activity using the basic authorization. For the password I have it saved in Azure Key Vault. The web activity fails with a 403 error. I am able to see the password with a GET request using MSI authentication. What I need is to pass the user credentials ina POST request with user/pswd and other details into the header section. I would like to replace user/pwd values from key vault on runtime, in other words would like to read the secret directly into the web activity using the connection to the AKV.


what's mean of "vm.instance_view.statuses"

code
vm = compute_client.virtual_machines.get(GROUP_NAME, 'cdh-1', expand='instanceView')
for stat in vm.instance_view.statuses:
        print "  code: ", stat.code
        print "  displayStatus: ", stat.display_status

result:
VM instance status
  code:  ProvisioningState/succeeded
  displayStatus:  Provisioning succeeded
  code:  PowerState/running
  displayStatus:  VM running

Q:
why double result return?
what's mean of ProvisioningState/succeeded or PowerState/running
what's mean of Provisioning succeeded or VM running
what's difference of them ?
are there have some doc whih this case ?
Thank you .

Statuses store the status of the VM other time:
https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/get#instanceviewstatus

Name
Type
Description

code
string
The status code.

displayStatus
string
The short localizable label for the status.

level
StatusLevelTypes
The level code.

message
string
The detailed status message, including for alerts and error messages.

time
string
The time of the status.


Merge with upstream babel

Just updating our fork, has some issues with rtt and general convergence right now

full path rtt does not work


[ENH] Validator inheritance support

As discussed 2 weeks ago, the XS validator does not cover inheritance, a BIDS feature which may or may not cause more issues than it's worth.
Should work but needs more work, draft for now.

@tsalo interested in reviewing this as well?

@tsalo better?

@effigies interested in merging? :)

Haven't had a chance to review yet.

for codespell I have submitted separate https://github.com/bids-standard/bids-specification/pull/1148 to fix it asap.

@effigies interested in approving this? I can merge it myself now, but I heard 2 approvals before go is best practice :)

@effigies interested in approving this as well? I knew there was something I wanted to bring up in the meeting today :)

@sappelhoff interested in merging this? :)

thanks @TheChymera


Is there a way of looking up the current price via CUSIP?

No, that feature is not supported by yfinance.


Fix 'openssl s_client -engine' support

The support for '-keyform engine' in s_client got lost between 1.0.2 and 1.1.
Also, we don't actually call ENGINE_init() before we try to use a key from the engine, which is moderately suboptimal. This only ever worked for engine_pkcs11 because of a bug in engine_pkcs11 which I have now fixed in https://github.com/OpenSC/libp11/pull/108 — it registered its hardware-specific methods as generic RSA/EC methods for OpenSSL to use instead of just installing them on any EVP_PKEY it handed out. So when we used ENGINE_set_default() with engine_pkcs11, bad things happen.
But historically this did result in an implicit initialisation of the engine, as its methods were erroneously installed as our defaults.

The ENGINE_init() one for 1.0.2 too please. The breakage there is going to manifest itself the moment we merge https://github.com/OpenSC/libp11/pull/108
I suppose we could work around it by allowing the engine to register default methods for something really esoteric that nobody's ever going to use. Or maybe just registering a default method for anything, and calling through to the original OpenSSL implementation. But that's horrid :)

../util/shlib_wrap.sh /usr/bin/perl -I ../test/testlib ./generate_ssl_tests.pl ../test/ssl-tests/18-dtls-renegotiate.conf.in > 18-dtls-renegotiate.conf.38674.tmp => 0
==39089== WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f090d14b338 in dtls_get_reassembled_message /home/travis/build/openssl/openssl/ssl/statem/statem_dtls.c:737:9
    #1 0x7f090d14b338 in dtls_get_message /home/travis/build/openssl/openssl/ssl/statem/statem_dtls.c:338
    #2 0x7f090d136de6 in read_state_machine /home/travis/build/openssl/openssl/ssl/statem/statem.c:528:23
    #3 0x7f090d136de6 in state_machine /home/travis/build/openssl/openssl/ssl/statem/statem.c:385
    #4 0x7f090d0d8aeb in dtls1_read_bytes /home/travis/build/openssl/openssl/ssl/record/rec_layer_d1.c:857:13
    #5 0x7f090d0f70a6 in ssl3_read_internal /home/travis/build/openssl/openssl/ssl/s3_lib.c:3834:9
    #6 0x7f090d11b348 in SSL_read /home/travis/build/openssl/openssl/ssl/ssl_lib.c:1552:16
    #7 0x7f090d65ab28 in do_reneg_setup_step /home/travis/build/openssl/openssl/test/handshake_helper.c:642:11
    #8 0x7f090d65ab28 in do_connect_step /home/travis/build/openssl/openssl/test/handshake_helper.c:742
    #9 0x7f090d65915e in do_handshake_internal /home/travis/build/openssl/openssl/test/handshake_helper.c:952:13
    #10 0x7f090d65779c in do_handshake /home/travis/build/openssl/openssl/test/handshake_helper.c:1044:14
    #11 0x7f090d65d2c6 in execute_test /home/travis/build/openssl/openssl/test/ssl_test.c:291:14
    #12 0x7f090d65d2c6 in test_handshake /home/travis/build/openssl/openssl/test/ssl_test.c:324
    #13 0x7f090d663009 in run_tests /home/travis/build/openssl/openssl/test/testutil.c:76:32
    #14 0x7f090d65c60f in main /home/travis/build/openssl/openssl/test/ssl_test.c:344:14
    #15 0x7f090bb937ec  (/lib/x86_64-linux-gnu/libc.so.6+0x217ec)
    #16 0x7f090d602fe0 in _start (/home/travis/build/openssl/openssl/test/ssl_test+0x43fe0)

SUMMARY: MemorySanitizer: use-of-uninitialized-value /home/travis/build/openssl/openssl/ssl/statem/statem_dtls.c:737 dtls_get_reassembled_message
Exiting
    not ok 3 - running ssl_test 18-dtls-renegotiate.conf

/me paints that one pink and puts a "Someone Else's Problem" field around it....

please make a separate PR for the ENGINE_init issue for 1.0.2

pushed to master, thanks.

We reverted this because it leaks; ENGINE_finish() needs to be called.  An alternate fix (which only does the init/finish in load_key) is forthcoming.

Apologies for that. I had pondered it briefly but figured since this was app not library code, a leak was purely cosmetic. I should have mentioned it explicitly.
Btw, what manner of reference do we currently hold, between setup_engine() and load_key()?
Empirically, it looks like e->struct_ref==2 when ENGINE_by_id() returns, and we immediately drop one of those... is the other one "ours" such that we are even allowed to keep the ENGINE * pointer between then and our load_key() call? And if so... if we care about leaks before exit(), when do we ENGINE_free() that one?

Although, the change to apps/s_client.c should have stayed.  It should really be in its own PR...

That change, which was a separate commit, did stay.

Oh goodie!

There, the alternate fix is in place.

See previous question about "if you drop the ref, why are you allowed to keep that pointer?"
==63534== Invalid read of size 4
==63534==    at 0x514B12: engine_unlocked_init (eng_init.c:20)
==63534==    by 0x514D24: ENGINE_init (eng_init.c:88)
==63534==    by 0x405E1D: load_key (apps.c:695)
==63534==    by 0x42EDA4: rsautl_main (rsautl.c:177)
==63534==    by 0x421427: do_cmd (openssl.c:471)
==63534==    by 0x420BD8: main (openssl.c:177)
==63534==  Address 0x5653ab0 is 160 bytes inside a block of size 192 free'd
==63534==    at 0x4C2CD5A: free (vg_replace_malloc.c:530)
==63534==    by 0x53EB15: CRYPTO_free (mem.c:179)
==63534==    by 0x51514B: engine_free_util (eng_lib.c:93)
==63534==    by 0x51516F: ENGINE_free (eng_lib.c:99)
==63534==    by 0x40716D: setup_engine (apps.c:1277)
==63534==    by 0x42EC2E: rsautl_main (rsautl.c:104)
==63534==    by 0x421427: do_cmd (openssl.c:471)
==63534==    by 0x420BD8: main (openssl.c:177)
==63534==  Block was alloc'd at
==63534==    at 0x4C2BBAD: malloc (vg_replace_malloc.c:299)
==63534==    by 0x53E8C2: CRYPTO_malloc (mem.c:92)
==63534==    by 0x53E8F5: CRYPTO_zalloc (mem.c:100)
==63534==    by 0x514EE4: ENGINE_new (eng_lib.c:31)
==63534==    by 0x515F49: ENGINE_by_id (eng_list.c:306)
==63534==    by 0x406F6C: try_load_engine (apps.c:1236)
==63534==    by 0x407050: setup_engine (apps.c:1258)
==63534==    by 0x42EC2E: rsautl_main (rsautl.c:104)
==63534==    by 0x421427: do_cmd (openssl.c:471)
==63534==    by 0x420BD8: main (openssl.c:177)
==63534==

Please make that a separate issue, so we don't keep discussing things in a closed PR.


add openapi body name

What this PR does / why we need it:
Add openapi v2 specs field, body.name.
Specs docs here, https://swagger.io/docs/specification/2-0/describing-request-body/ ,search name: .
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):

Special notes for your reviewer:
/cc @your-reviewer

Release note:

NONE

Forced pushing fixed parent from my featured branch to origin master branch.

/lgtm


option show legend has no effect on  plotly pie widget (javascript)

for javascript plotly pie widget
The option show legend in graphical properties has no effect

It's done.
See integration branch.


Question: Form wrapper

Hello,
I'm sorry for the vague question, but I'm running into a small issue that I would like some input on.
We recently upgraded to Rails 4, and upgraded simple_form in the process as well, taking quite a huge leap in versions.
We have a small custom method that generates our form:
def rm_form_for(object, *args, &block)
    options = args.extract_options!
    options[:html] = {autocomplete: 'off'}.merge(options[:html] || {})
    simple_form_for(object, *(args << options), &block)
end

When this was used with our form object Admin::SupplierFormObject for example, this would always generated the complete <form> and wrap all elements inside the admins_supplier_form_object key of the params hash. Our entire code was based on this.
Now in the new version we are using (3.2.0) when we use the same code, the entire form is now wrapped in supplier, breaking our existing controller code as we needed to change from params[:admins_supplier_form_object] to params[:supplier].
Can the old behaviour be configured again somewhere?

Can you check if it is working with form_for instead of simple_form_for?

will give it a spin when I'm at work again and let you know the results

when I switched to form_for, I receive the following error in my controller specs and views:
ActionView::Template::Error: undefined method `input' for #<ActionView::Helpers::FormBuilder:0x007ff640940a78>

regenerated the initializers for SimpleForm, and now at least all specs seem to be passing. will now manually go through our pages and see if they are working properly.

here's the output from Jenkins to demonstrate the error:
 1) admins/suppliers/edit.html.erb renders the form-tag with the correct wrapper
     Failure/Error: expect(rendered).to include(
       expected "\n<form autocomplete=\"off\" class=\"simple_form form-horizontal\" novalidate=\"novalidate\" id=\"edit_supplier_1\" action=\"http://test.riskmethods.net/admins/suppliers/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"✓\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" />\n
\n
\n
Eco vadis integration
<input class=\"string optional\" type=\"text\" name=\"supplier[eco_vadis_integration_id]\" id=\"supplier_eco_vadis_integration_id\" />

\n
\n        <input type=\"submit\" name=\"commit\" value=\"Lieferant aktualisieren\" class=\"btn btn-primary load-ajax-spinner\" />\n        Zurück\n
\n
\n
\n</form>" to include "<input class=\"string optional\" type=\"text\" name=\"admins_supplier_form_object[eco_vadis_integration_id]\" id=\"admins_supplier_form_object_eco_vadis_integration_id\" />"
       Diff:
       @@ -1,2 +1,13 @@
       -<input class="string optional" type="text" name="admins_supplier_form_object[eco_vadis_integration_id]" id="admins_supplier_form_object_eco_vadis_integration_id" />
       +
       +<form autocomplete="off" class="simple_form form-horizontal" novalidate="novalidate" id="edit_supplier_1" action="http://test.riskmethods.net/admins/suppliers/1" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="patch" />
       +

       +

       +
Eco vadis integration
<input class="string optional" type="text" name="supplier[eco_vadis_integration_id]" id="supplier_eco_vadis_integration_id" />

       +

       +        <input type="submit" name="commit" value="Lieferant aktualisieren" class="btn btn-primary load-ajax-spinner" />
       +        Zurück
       +

       +

       +

       +</form>

okay never mind.
One of our developers introduced a model_name attribute one the parent form objects which introduced this behaviour.....


Content of Node is not refreshing

Hey,
we use BloC to handle our state of the View. After a navigation event and returning to the view that contains the ListTreeView i reload the Data that is displayed by the ListTreeView.
If i set the treeData() a second time, the itemBuilder of the ListTreeView uses the old data of the initial TreeData() call.
How can i force the ListTreeView to reload the Data so changes are displayed?
In my example i have an item with an int value that is display in the ListTreeView. Inside the itemBuilder i do something like this:
treeViewController.treeData(lChecklistNodeData);
return ListTreeView(
      controller: treeViewController,
      itemBuilder: (BuildContext context, NodeData data) {
        ChecklistNodeData item = data as ChecklistNodeData;

return Text('${item.intValue}');
});

As i said this is working fine the first time, but when i reload the data and the build() method is retriggered the Data in the itemBuilder function is not refreshed. I checked the data i pass to treeData() and it is definitly the new data. But still the itemBuilder uses the data of the first set of treeData().
I managed to refresh the Parent items by resetting the TreeViewController
treeViewController = new TreeViewController();
but this leads to only the parents showing up. All child elements are missing after the second rebuild if i do this.
Thanks in advance

Ok, I will try the situation you said, please wait a moment.

Hi buddy, now you can refresh the data with _controller.rebuild(). I'll make it easier to refresh the data and fix it when I have time.

Hi buddy, now you can refresh the data with _controller.rebuild(). I'll make it easier to refresh the data and fix it when I have time.

Thanks for your response! Could you reproduce the issue?
I will give it a try on Monday and I will let you know if it worked.
Thanks

Hi buddy, now you can refresh the data with _controller.rebuild(). I'll make it easier to refresh the data and fix it when I have time.

Hey you did not update the extension. There is no new version.
If i use _controller.rebuild() nothing happens. The Values of the TreeView still do not update.

Hey, have you found any solution for content refreshing?

这是一封自动回复邮件。已经收到您的来信，我会尽快回复。

Hey, have you found any solution for content refreshing?

Nope. Still no solution.

Hey! I got the solution for a content refresh.
_controller!.dispose();
_controller = TreeViewController();
// -- Call function to fetch updated data
setState(() {
_controller!.rebuild();
});

@Bonnyfication   You can use this function
_controller!.rebuild();

这是一封自动回复邮件。已经收到您的来信，我会尽快回复。

这是一封自动回复邮件。已经收到您的来信，我会尽快回复。


Key Vault: updated keyvault release notes

@iscai-msft are all the pip install links and links in the table up to date as well?

@kaerm forgot to change those, just added those changes to this pr


KeyError in describe_location on user movement

Hey Brandon--
I hate to open an issue on code that hasn't been touched for two years, but I was playing python-adventure today (I recently watched your python/unix keynote and was so happy you ported adventure to python) and hit a bug.
I was going to try to do some debugging myself but I saw a few too many spoilers in the source code.
The exception didn't crash the game but it did occasionally reoccur. I tried rerunning python-adventure with the same sequence of commands a few times but didn't see the error again. I believe the error has to do with the random dwarf movements.
I've attached the markdown snippet of the first error traceback. I also have a gist of the complete game session as well as a filtered version with just my python commands.
This obviously isn't very important, but I thought you may want to give it a look!
 >>> down
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/personal/python-adventure/adventure/prompt.py", line 18, in __repr__
    output = self.game.do_command(self.words)
  File "~/personal/python-adventure/adventure/game.py", line 437, in do_command
    self._do_command(words)
  File "~/personal/python-adventure/adventure/game.py", line 506, in _do_command
    self.dispatch_command(words)
  File "~/personal/python-adventure/adventure/game.py", line 553, in dispatch_command
    return self.do_motion(word1)
  File "~/personal/python-adventure/adventure/game.py", line 701, in do_motion
    self.move_to(move.action)
  File "~/personal/python-adventure/adventure/game.py", line 186, in move_to
    self.move_dwarves()
  File "~/personal/python-adventure/adventure/game.py", line 325, in move_dwarves
    self.describe_location()
  File "~/personal/python-adventure/adventure/game.py", line 379, in describe_location
    self.write(obj.messages[prop])
KeyError: 0

Thank you! I had of course hoped after all these years that the code was finally perfect, but if it's not, then it's best that I know so that I can tackle it at some point. Let's leave this issue open until either I have time to return to the project, or so that other folks maybe learning Python see that there's an interesting bug to tackle.

Sounds good. I'll try giving this a look once I've gotten a bit further in the game.

I found the bug. There is a confusion in the code between the game.dwarf and game.dwarves objects that causes buggy behavior with dwarf interactions.
Here's a way-too-detailed bug explanation, mainly so that I can remember everything I looked at today.
The original KeyError
When does it happen?
You see a dwarf. You pick him up. You drop him. You perform another action.

YOU'RE IN DIRTY PASSAGE.

THERE IS A LITTLE AXE HERE.

> take dwarf
OK

> drop dwarf
OK

> d
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/zhammer/code/python-adventure/adventure/__main__.py", line 48, in <module>
    loop()
  File "/Users/zhammer/code/python-adventure/adventure/__main__.py", line 45, in loop
    baudout(game.do_command(words))
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 437, in do_command
    self._do_command(words)
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 506, in _do_command
    self.dispatch_command(words)
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 553, in dispatch_command
    return self.do_motion(word1)
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 769, in do_motion
    self.move_to()
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 186, in move_to
    self.move_dwarves()
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 325, in move_dwarves
    self.describe_location()
  File "/Users/zhammer/code/python-adventure/adventure/game.py", line 379, in describe_location
    self.write(obj.messages[prop])
KeyError: 0

What causes the bug?
You see a dwarf.
There's a dwarf in game.dwarves where dwarf.room == game.loc.
>>> w.game.loc
<room 108 at 0x10177bda0>
>>> pprint([dwarf for dwarf in w.game.dwarves if dwarf.room == w.game.loc][0].__dict__)
{'has_seen_adventurer': True,
 'old_room': <room 108 at 0x10177bda0>,
 'room': <room 108 at 0x10177bda0>}

You pick him up.
When the user enters take(dwarf), def dispatch_command(self, words) is called with words passed as the tuple: ('take', 'dwarf').
dispatch_command finds the model.Word mapped to each user-input string using the game.vocabulary dict.
# game.py:519-521 with added debug prints
print('string words: {}'.format(words)) # DEBUG
words = [ self.vocabulary.get(word) for word in words ]
if None in words:
   return self.dont_understand()
print('mapped Words: {}'.format(words)) # DEBUG

# cli
>>> take(dwarf)
string words: ('take', 'dwarf')
mapped Words: [<Word take>, <Word dwarf>]
OK
>>> pprint(w.game.vocabulary['dwarf'].__dict__)
{'kind': 'noun',
 'n': 1017,
 'synonyms': [<Word dwarf>, <Word dwarves>],
 'text': 'dwarf'}

dispatch_command then finds the Object to which <Word dwarf> is mapped via a call to self.referent.
# game.py:574
obj = self.referent(noun)
print('obj: {} found from noun: {}'.format(obj, noun)) # DEBUG

# cli
>>> take(dwarf)
obj: <Object 17 dwarf/dwarves 105f102e8> found from noun: "<Word dwarf>"

The issue here is that <Object 17 dwarf/dwarves 105f102e8> is different from the Dwarf the user has encountered.
<Object 17 dwarf/dwarves 105f102e8> is a model.Object in game.object_list that is parsed from section 4 of adventure.daton startup. This is the object referenced by game.dwarf.
>>> w.game.vocabulary['dwarf']
<Word dwarf>
>>> w.game.referent(_)
<Object 17 dwarf/dwarves 10d9c10b8>
>>> w.game.dwarf
<Object 17 dwarf/dwarves 10d9c10b8>
>>> w.game.object_list[16]
<Object 17 dwarf/dwarves 10d9c10b8>
>>> pprint(w.game.dwarf.__dict__)
{'contents': None,
 'inventory_message': '',
 'is_fixed': False,
 'is_toting': False,
 'is_treasure': False,
 'messages': {},
 'n': 17,
 'names': ['dwarf', 'dwarves'],
 'prop': 0,
 'rooms': [],
 'starting_rooms': []}

This is a different object from the model.Dwarf in the user's room, which is a member of game.dwarves.
>>> pprint(w.game.dwarves)
[<adventure.model.Dwarf object at 0x10d9e2f60>,
 <adventure.model.Dwarf object at 0x10d9e2f98>,
 <adventure.model.Dwarf object at 0x10d9e2fd0>,
 <adventure.model.Dwarf object at 0x10d9e8048>]
>>> [dwarf for dwarf in w.game.dwarves if dwarf.room == w.game.loc][0]
<adventure.model.Dwarf object at 0x10d9e2fd0>
>>> _.__dict__
{'room': <room 108 at 0x10d95eb70>, 'old_room': <room 106 at 0x10d95ea90>, 'has_seen_adventurer': True}

After some logic (game.py:574-582) correctly checks whether a dwarf in game.dwarves is in the same room as the user, dispatch_command dispatches a call to t_carry, passing the game.dwarf (<Object 17 dwarf/dwarves 10d9c10b8>) sentinel dwarf object as the obj argument.
t_carry calls obj.carry on game.dwarf which switches is_toting to True.
>>> w.game.dwarf.is_toting
False
>>> w.game.inventory
[<Object 2 lamp/headlamp/lantern 10d9bcc50>, <Object 4 cage 10d9bccf8>]
>>> take(dwarf)
OK

>>> w.game.dwarf.is_toting
True
>>> w.game.inventory
[<Object 2 lamp/headlamp/lantern 10d9bcc50>, <Object 4 cage 10d9bccf8>, <Object 17 dwarf/dwarves 10d9c10b8>]

You drop him.
Calling drop(dwarf) triggers the same sequence of commands in dispatch_command is with take(dwarf). t_drop is called, with its obj argument being a reference to game.dwarf.
This calls obj.drop on game.dwarf, which sets is_toting to False AND also sets game.dwarfs room to game.loc.
# model.py:138-140
def drop(self, room):
    self.rooms[:] = [ room ]
    self.is_toting = False

#cli
>>> w.game.dwarf.is_toting, w.game.dwarf.rooms
(False, [])
>>> take(dwarf)
OK

>>> w.game.dwarf.is_toting, w.game.dwarf.rooms
(True, [])
>>> drop(dwarf)
OK

>>> w.game.dwarf.is_toting, w.game.dwarf.rooms
(False, [<room 108 at 0x10ae2e0f0>])

You perform another action.
When a user performs a new action, describe_location is called. Part of describe_location writes the associated message of each object ingame.objects_here, which is the list of objects that are in the user's room.
for obj in self.objects_here:
   ...
   self.write(obj.messages[prop])

Since game.dwarf is a sentinel Object representing 'dwarf' and isn't intended to ever actually be 'in' a room, game.dwarf does not have any messages.
# 'spelunker', a tangible object, has a populated message dict
>>> w.game.object_list[15]
<Object 16 magazine/issue/spelunker/"spel 10ae89588>
>>> _.messages
{0.0: 'THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE.\n'}

# 'dwarf', a 'sentinel' object, has an empty message dict
>>> w.game.object_list[16]
<Object 17 dwarf/dwarves 10ae895f8>
>>> _.messages
{}

KeyError: 0; the game crashes.
Indexing into the empty game.dwarf.messages dictionary throws a KeyError. game.dwarf should have never been in game.objects_here at all.
Expected behavior
I don't have access to the original Fortran copy, but I tried the version on http://www.amc.com/shows/halt-and-catch-fire/exclusives/colossal-cave-adventure. This is the behavior on that game, which makes sense to me.
There is no way to go that direction.
There is a threatening little dwarf in the room with you!

> take(dwarf)

I don't understand that!

Bugginess on attack
attack also has some buggy behavior, though it doesn't cause a crash. The attack(dwarf) command will call t_attack on the game.dwarf sentinel object. The attack command (without the 'dwarf' noun) will call t_attack on the actual model.Dwarf in the user's room.
I added a print statement to the top of t_attack to print out the obj arg being passed in the following examples.
def t_attack(self, verb, obj):  #9124  (but control goes to 9120 first)
    print('t_attack obj: {}'.format(obj)) # DEBUG

attack(dwarf)
What happens here is the same as with take(dwarf) or drop(dwarf). dispatch_command eventually maps the 'dwarf' noun to game.dwarf and passes game.dwarf to t_attack.
>>> attack(dwarf)
t_attack obj: <Object 17 dwarf/dwarves 106dc82e8>
WITH WHAT?  YOUR BARE HANDS?

t_attack handles the case where obj is self.dwarf, printing the 'WITH WHAT?' message.
# game.py:1336-1339
elif obj is self.dwarf:
    if self.is_closed:
        self.wake_repository_dwarves()
        return
    self.write_message(49)

attack without a noun
>>> attack
t_attack obj: <adventure.model.Dwarf object at 0x106df0240>
THERE IS NOTHING HERE TO ATTACK.

Without a noun, i_attack is called. i_attack checks for dangers: any enemies that are in the user's room. This list includes the model.Dwarfs from game.dwarves. If there is just one danger, i_attack calls t_attack on the danger (in this case the dwarf in the room).
# game.py
def i_attack(self, verb):  #9120
    enemies = [ self.snake, self.dragon, self.troll, self.bear ]
    if self.dwarf_stage >= 2:
        enemies.extend(self.dwarves)
    dangers = list(filter(self.is_here, enemies))
    print('enemies: {}\ndangers: {}'.format(enemies, dangers)) # DEBUG
    if len(dangers) > 1:
        return self.ask_verb_what(verb)
    if len(dangers) == 1:
        return self.t_attack(verb, dangers[0])

# cli
>>> attack
enemies: [<Object 11 snake 10ebafeb8>, <Object 31 dragon 10ebb4400>, <Object 33 troll 10ebb44e0>, <Object 35 bear 10ebb4588>, <adventure.model.Dwarf object at 0x10ebcef60>, <adventure.model.Dwarf object at 0x10ebcef98>, <adventure.model.Dwarf object at 0x10ebcefd0>, <adventure.model.Dwarf object at 0x10ebd9048>]
dangers: [<adventure.model.Dwarf object at 0x10ebcefd0>]
t_attack obj: <adventure.model.Dwarf object at 0x10ebcefd0>

The t_attack conditional only checks if obj is self.dwarf. Since obj here is a model.Dwarf in game.dwarves, t_attack defaults to calling sef.write_message(44), which is the 'THERE IS NOTHING HERE TO ATTACK' message.
Expected behavior
Also from playing with the AMC website version:
> attack

With what? Your bare hands?
There is a threatening little dwarf in the room with you!
One sharp, nasty knife is thrown at you!
It misses!

> attack dwarf

With what? Your bare hands?
There is a threatening little dwarf in the room with you!
One sharp, nasty knife is thrown at you!
It misses!

Fix
Fixing this just requires a few code changes to correctly handle game.dwarf vs game.dwarves. game.dwarf seems to be the sentinel dwarf object used for understanding player commands. game.dwarves represent the actual model.Dwarfs the player encounters.
I've forked the repo; once I have some time I'll try to work on a patch for this! Really love the game, and this is like a great easter egg.

It never would have occurred to me to try picking up a dwarf — thanks for uncovering this, and thanks for writing up your investigation in such detail! I look forward to seeing your pull request, if you find the time to get one written!

^ accident

(@zhammer I'm re-assigning this to myself since it looks like you didn't find the time for a pull request — let me know if I missed it!)

ah yes i've gotten distracted with other work. if you do get around to doing this feel free to tag me on the PR! if you don't get around to it i'll remind myself to put up a PR soon.

@brandon-rhodes I put up a PR! it is a simple 'catch this situation' fix, as i'm a little nervous to make too many changes to the code.
Added a test case to make sure that when we try to pick up a dwarf, we get a dont_understand error message!

I merged your PR (thanks!), and then made two improvements.
First, not needing more than one dwarf in the room, I simplified the test to do
game.dwarves[0].room = game.rooms[75]

And second, I tracked down the root problem. No objects were getting marked as is_fixed because of a bug in the import routine! So the check:
        if obj.is_fixed or len(obj.rooms) > 1:

was never triggering because objects were marked as being impossible to pick up.
Let me know if the issue now looks resolved from your end, and thanks again for letting me know about it!


Parser CI trigger

trigger CI of parser changes

cc @joshpoll

Odd. has the docker install script been rerun on the gpu since antlr was added to it?

The docker is updated to the latest. You can  reproduce locally via docker/bash tvmai/ci-gpu then run build

@tqchen I fixed ci locally on the relay-text-format branch. It should now (hopefully) fail with assert False inside the tests indicating the parser tests run and antlr is found.

@joshpollseems there is still a problem

I changed the docker install scripts with my most recent commit. Does that require a different sort of update?

Ah, OK, so you need to run the parser test in CPU right? Yes, the docker is not instant, since we cache the docker image locally and rebuilt only if necessary.

Can you send the Docker change as a separate PR? Let us also keep antlr installation in GPU docker, so that we can turn it on later.

I moved to cpu docker so I could reproduce locally. In principle there's no reason it couldn't run on gpu I just wanted to eliminate potential sources for error.

#2191.

@joshpoll see latest error http://ci.tvm.ai:8080/blue/organizations/jenkins/tvm/detail/PR-2153/4/pipeline

I wasn't sourcing /etc/profile to update $JAVA_HOME. Fixed in text format branch.

@joshpoll can you update your PR so that it does not rely on the change of the install_java.sh(which requires us to update java all over again. Likely you can source it in Jenkinsfile before you run cmake.

Ok. I moved it to the make function in the Jenkinsfile

everything looks good. I think we need to enable antlr on GPU again so it will run the parser tests

unfortunately it may require another dockerfile retrigger

nevermind it won't be required

I modified the Jenkinsfile to use antlr on gpu.


tun not ready should not be a critical error

Launching dvb-gse creates a tun interface. If this interface is not up, and dvb-gse receive some bbframe, it exits with
Error: failed to send PDU to TUN device
Caused by:
    Input/output error (os error 5
```)
Usually, an external script makes the interface up, but if some bbframe arrives in the meantime, dvb-gse breaks.

I see several possible solutions to this problem:

We could encourage users to create and bring the tun interface up before running dvg-gse, by running something like

sudo ip tuntap add mode tun name tun0
sudo ip link set dev tun0 up

This approach already works, but if the user doesn't create the tun device beforehand, then dvb-gse will create, so the potential problem you mention appears. If the tun device has been created beforehand, then dvb-gse just uses it, without creating a new one. I think this is simply what happens with the ioctl() done to /dev/net/tun (see here), so it's not something that dvb-gse can control.

dvb-gse could try to bring the interface up before sending packets to it. I don't know how to bring an interface up in Rust or C code, but I guess it's not too difficult. Portability is not a concern, since using tun devices already restricts this part of the software to Linux only. Perhaps what I dislike about this solution is that we would be bringing up the tun device but not assigning an IP to it, which may or may not make sense.

When we fail to send a packet to the TUN device, we could log an error and continue instead of terminating the program. This is a simple solution, but it has the drawback that it doesn't discriminate between this problem and other errors that could happen during normal execution and that would be worthy of terminating the program. The error we get here is an input/output error returned by the write() system call to the file descriptor associated to the TUN device, so I don't think there's much we can do to tell if the problem is that the interface is down or something else (other than actually going and checking if the interface is up or down).

Which solution makes most sense to you? Can you think of another solution or some variation of these?

I have decided not to make the TUN errors critical, because I've seen a case in which a corrupted BBFRAME was received, which caused garbage GSE packets to be obtained and written into the TUN. Since these were badly formatted, the kernel returned an error. Given that this situation is unlikely but possible, it is better to continue running if there are TUN write errors. An error is logged.
Closing this issue as done.


Conversion to React & consolidation of Nest

The app has been remade with React.

Your Pull Request code is being promoted!  Please follow the link below.
Main Merge Workflow


Adding Routes When Sending A Message As A Client

Hey,
so I have been using this library's websocket-client for a project of mine and I'd like to know,
if possible, how I could add routes  to the URI specifically when sending a message to a websocket-server?

Can you clarify your problem? You should be able to pass it to WebSocketClient constructor.

No, this is not possible. There is no such functionality described in the Websocket specification. You would have to open a separate connection to send messages to a different path.


Fix typo in pathEq docs

R.pathEq now accepts a list rather than a period delimited string.

:deciduous_tree: Thanks, Michael!


added package attribute to ejabberd.nix module

@iElectric please review

@sjmackenzie so this PR does nothing and you found another way to achieve the result you wanted?
Should this PR be closed then?

Oh yeah the slaughter house for this!


IsExtendable

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is:
User input an Array or Object and check if it has been frozen / closed for modification.
Input
What parameters will be passed in or required?
And what is the prefered type of input?
Value: Array or Object or Object based instance like String or Number or Function.
Output
What will be the expected output?
And what type does it have?
Returns boolean.
Additional context
Add any other context or code-examples about the feature request here.
IsExtendable({}); // true.
Const obj = new Object()
obj.freeze(); // or equivalent
IsExtendable(obj); // false.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal & https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen & https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
UseFull linkes to check this.


helpers: Add option to transliterate content paths

Closes #9134

OK, arguments from your issue re our current solution:

Has no effect on non-composite characters (e.g., ß, ł, Ł)
Is not language aware (e.g., for German, ä should become ae)

I haven't looked at 1. but 2. The library in question does not look very complete re. the languages it supports. A random sample testing my name in my language failed (I expected Bjoern Erik Pedersen). I understand that this is fixable, but I fail to understand the scope of that work.
package main

import (
	"fmt"

	"github.com/alexsergivan/transliterator"
)

func main() {
	trans := transliterator.NewTransliterator(nil)
	fmt.Println(trans.Transliterate("Bjørn Erik Pedersen", "nn"))
}

https://github.com/alexsergivan/transliterator/tree/master/languages
Supports nb, but not nn or no... so yes, language support is limited, with most falling back to default transliteration.
Another thing to consider with a language-specific implementation is whether to (a) base transliteration on the default content language (that's what this PR does), or (b) base transliteration on site language.

For the extended version, it might be an option to use https://github.com/djimenez/iconv-go instead. This binds to the libiconv or glibc iconv functions (whatever your system provides) using cgo. As this could be considered an "extended" feature, it would make sense to provide it with full language support, but only in the extended version of hugo.


Video player for Desktop

dart_vlc is working as a player but it isn't ideal and I can do better. Now, I am considering MPV as the player using its C interface. Linux might be easier if I use system but not sure for Windows and Mac OS.

Now, VLC is used if it is installed. Otherwise, the browser is used as a backup. MPV can also be checked if needed.

The player is working now on all platforms so it is safe to close this.


Update links to point to a feature branch

Follow-up to resolve release issue:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1187023&view=logs&j=a129effc-2dd1-54d1-fb5a-ad7bdc0e851d&t=617ceecd-bf48-5ce3-83e2-7468b1632a13
See https://github.com/Azure/azure-sdk-for-c/pull/1997#issuecomment-964647839


Add clearer error message to create agency form

Error message says to fix errors below, but it is not clear what field it refers to.

So here is the screenshot that I got for the new agencies page:

Since the only validation on agencies is the following:
class Agency < ActiveRecord::Base
...

  validates :name, presence: true
  validates :name, uniqueness: true
  validates :state_id, presence: true

It makes sense that the name would be highlighted. At the same time, there doesn't seem to be an error message for the state id, which could cause some confusion.

@trystant Please put an asterisk next to the state dropdown as well to indicate it's required.

i am surprised rails did not add the asterisk automatically based on the presence validation...

We can add a notifier at the top as well to increase clarity. Screenshot for example:

@IsaacBell updating the 'message' part of the validation, you're saying?

@trystant that too, but in this screenshot the errors are listed at the top ("2 errors prohibited this article from being saved") in addition to being highlighted red in their respective fields.
Could use some style cleanup on the error box as well, but I wanted to throw the idea out first.

I like where this is going. I say full speed ahead

In the error box, please put a colon after the field name.  So it looks like "Name: Agency names must be unique.  This agency already exists." for example.
Also, for the name message, it might be better to say something like this:
"Name: An agency with this name already exists and can be found here.  If you want to create a new agency, it must have a unique name."
The underline is meant to indicate that it's a link - it would be nice to link to the existing agency's page, so that if the user is looking to edit the agency, they can just click that and go straight to the page.  Of course, I'm assuming that someone gets to the page with the sole intention of adding a new agency - if they're doing this in the process of some larger goal, like adding a new case, then we might change the behavior.
Also, in the state message, it might be better to say something like this:
"State: You must specify the state in which the incident occurred."

It appears that this issue is addressed in a merged PR.


category tab icons missing

Some icons from category tab is missing and is not displaying.
 {         key: 'fue',         title: 'Frequently Used',         icon: props => (             <Icon name="clock" type="material-community" {...props} />         ),     },
I looked at the component and found it is using react native element which uses a set of icons.
In my mobile it is not showing any icons of type="material community"
I do not know its a bug or not but I think this should be fixed

Hi @aaeronn, sorry about the delay here. I was on conference travel. I can take a look shortly at this issue and see what's going on once I get back to my machine

@rijn Do you think you can look at this?

@sskhandek i think this could be fixed by running react-native link react-native-vector-icons or following the manual instructions for both platforms.
The issue seems to be that the library is not correctly installed


'same' rule not working properly

I am having an issue using the same rule.
My use case is I am matching password and confirm_password fields.
and the same rule always fails.
here's is the snippet I am using.
$password = $POST['password'];
$confirm_password = $POST['confirm_password'];

$myvalidator = $validator->make([
                    'password' => $password,
                    'confirm_password' => $confirm_password,

                ], [
                    'password' => 'required|min:6'
                    'confirm_password' => 'same:password',
                ]);

                $myvalidator->setAliases([
                    'confirm_password' => 'Confirm Password',
                ]);

                $myvalidator->validate();

                if ($myvalidator->fails()) {
                    $errors = $myvalidator->errors();
                    $vars['errors'] = $errors->firstOfAll();
                } else {
                    // DO Stuffs
                }

What error messages you get?
Can you make sure password and confirm_password is same by doing comparison like this:
var_dump("{$password} == {$confirm_password} =>", $password == $confirm_password);
exit;

I will close this for inactivity. You can open it again if this problem still happens.


Support blackboard bold for small letters and digits

Do you have a plan to add blackboard bold for small letters and digits?
Although we need to include another package, say bbold, to use them in ordinary LaTeX,
it would be useful if we can do it KaTeX in default.
(These blackboard bolds are also in Unicode.)

I think the biggest issue is fonts. There are no Computer Modern versions of those characters, right?

My installation of TeX Live 2013 (thanks, Ubuntu) does not include Computer Modern versions of these characters. You can check on your installation by running
\documentclass{article}

\usepackage{amsfonts}
\usepackage{pgffor}

\begin{document}

\def\printall#1{\foreach \x in {#1}{\x $\mathbb{\x}$\\}}

\section{Lowercase letters}
\printall{a,...,z}

\section{Digits}
\printall{0,...,9}

\end{document}

which for me renders like this (image is rather tall, so not displaying inline).
It is worth noting, though, that these characters exist in Unicode, starting at U+1D552 𝕒 MATHEMATICAL DOUBLE-STRUCK SMALL A and U+1D7D8 𝟘 MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO.

(None of lmodern, mathpazo, nor mathptmx has the glyphs, either.)

@i3vi3 what font are you using to render these glyphs?

I'm also needing this. I tried using the fact they exist in unicode, but they don't seem to render when escaped with \char, not sure why.

I'm also needing this. I tried using the fact they exist in unicode, but they don't seem to render when escaped with \char, not sure why.

They don't work because they're not in the KaTeX fonts, and they're not in the KaTeX fonts partly because they're not in any source fonts that we know of (see above). Do you know of a LaTeX package (or even any font) that provides them? Without that, I doubt KaTeX will be able to provide them...

They don't work because they're not in the KaTeX fonts, and they're not in the KaTeX fonts partly because they're not in any source fonts that we know of (see above). Do you know of a LaTeX package (or even any font) that provides them? Without that, I doubt KaTeX will be able to provide them...

@edemaine Sorry... my earlier comment was a bit lazy. I'm using an app called "iA Writer" (for which the KaTeX support isn't documented, and the toolchain inaccessible. The motivation is that I find "blogging with a sprinkling of math" to be more pleasant and frictionless in the markdown-based environment and IDE that "iA Writer" offers, than in a LaTeX environment.)
Anyway, here's the markdown I'm using as a test case in iA Writer:
`$\mathbb{X}\mathbb{1}$ 𝕏𝟙```
(I've written double struck X and 1 unicode characters at the end). Here's the corresponding rendered PDF output:

What's odd is that macOS has a builtin "Symbols" font (on my machine it is at /System/Library/Fonts/Apple Symbols.ttf) that does have glyphs for all the double struck symbols, and that's why they render in Notes, Safari, and in the editor IDE itself. Here's what they look like in FontForge:

@edemaine Sorry... my earlier comment was a bit lazy. I'm using an app called "iA Writer" (for which the KaTeX support isn't documented, and the toolchain inaccessible. The motivation is that I find "blogging with a sprinkling of math" to be more pleasant and frictionless in the markdown-based environment and IDE that "iA Writer" offers, than in a LaTeX environment.)
Anyway, here's the markdown I'm using as a test case in iA Writer:
`$\mathbb{X}\mathbb{1}$ 𝕏𝟙```
(I've written double struck X and 1 unicode characters at the end). Here's the corresponding rendered PDF output:

What's odd is that macOS has a builtin "Symbols" font (on my machine it is at /System/Library/Fonts/Apple Symbols.ttf) that does have glyphs for all the double struck symbols, and that's why they render in Notes, Safari, and in the editor IDE itself. Here's what they look like in FontForge:

They don't work because they're not in the KaTeX fonts, and they're not in the KaTeX fonts partly because they're not in any source fonts that we know of (see above). Do you know of a LaTeX package (or even any font) that provides them? Without that, I doubt KaTeX will be able to provide them...

The packages bbold and bbold-type1 provide these fonts in LaTeX. They can be loaded with
\DeclareSymbolFont{bbold}{U}{bbold}{m}{n}
\DeclareSymbolFontAlphabet{\mathbbold}{bbold}

which defines the command \mathbbold which supports an alternative blackboard bold font to the one in AMSMath. This includes the widely-used blackboard bold number one symbol in particular.

I'd love to have this symbol supported in KaTeX in the most appropriate manner.

Can KaTeX support unicode-math fonts like STIX?
PS: the 𝕏 seems to be the one used for Twitter, lol

The blackboard number 1 symbol is definitely useful as it represents the unit antiscalar in geometric algebra.

Yes, it would be super useful to be able to write \mathbb{1}

Specially as the identity matrix, which I use literally a lot in linear algebra, quantum mechanics, fluid mechanics, tensor algebra...there are some contexts where it's best to use \mathbb{1} than just I or \mathbb{I}.
How hard could it be to implement it?


Miscellaneous Documentation Updates / Structure Fixes

Pull Request Description
This PR updates the documentation and documentation structure, as well as a few minor changes to the repository structure to make it easier to navigate.
Important Notes
It doesn't change any code.
Checklist
Please include the following checklist in your PR:

[x] The documentation has been updated if necessary.
[x] All code conforms to the Scala, Java, Rust or Haskell style guides as appropriate.
[x] All code has been tested where possible.

Don't worry about reviewing this. It's putting you on it because you're code owners but this is docs and warning fixes.


Ensure DisconnectReason RLP header payload length is correct

The DisconnectReason RLP header is decoded here:
https://github.com/paradigmxyz/reth/blob/672bdcc57fe3924610e706ea682527ce4dd41121/crates/net/eth-wire/src/disconnect.rs#L131
But we do not check that the payload length is one. We should add a check that the payload length is one.
Tests should be added which ensure that the decoding fails if the payload length is zero

hi @Rjected can I take this one?
However, there is one thing regarding checking payload is one, should we check it? Since the check of buf.len() > 1 is needed because we want to advance the buf 1 since it's a list. And this piece of code applies for buf.len() == 1 case as well
if buf[0] == 0x00 {
            buf.advance(1);
            Ok(DisconnectReason::DisconnectRequested)
        } else {
            DisconnectReason::try_from(u8::decode(buf)?)
                .map_err(|_| RlpError::Custom("unknown disconnect reason"))
        }

hi @Rjected can I take this one? However, there is one thing regarding checking payload is one, should we check it? Since the check of buf.len() > 1 is needed because we want to advance the buf 1 since it's a list. And this piece of code applies for buf.len() == 1 case as well
if buf[0] == 0x00 {
            buf.advance(1);
            Ok(DisconnectReason::DisconnectRequested)
        } else {
            DisconnectReason::try_from(u8::decode(buf)?)
                .map_err(|_| RlpError::Custom("unknown disconnect reason"))
        }

We don't want to check that buf.len() == 1, we want to check that header.payload_length == 1 instead.

also assigned!


fix(ci): use CI-specific variable for conditional check

Description
Work to resolve an issue that blocks CI runs.
End to End Test:
(See Pepr Excellent Examples)
Related Issue
Fixes #
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Other (security config, docs update, etc)

Checklist before merging

[ ] Unit, Journey, E2E Tests, docs, adr added or updated as needed
[ ] Contributor Guide Steps followed

This was related to an issue with the initial release of node v23, and not something within our control.


System environment path is not available in the devenv shell

When trying Commitzen, I learned git command is not available. After some debugging realized most of the main paths of my NixOS system are not available in the devenv environment. Thus any command relying on them are going to fail, and is hard to debug.
How to reproduce
import subprocess

p = subprocess.Popen("whereis git")

Will return an empty response with return code of -8.
This apparently happens regardless of invoking pure or impure environment (using --impure flag) in devenv.

As a temporary solution, I'm going to add the requirements inside devenv until I find further resolution.


improved urlname function

improved urlname function
added code to fault

Codecov Report

Merging #22 (bec41c8) into main (5fb58b9) will decrease coverage by 0.25%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
- Coverage   79.97%   79.72%   -0.26%
==========================================
  Files          10       10
  Lines         799      789      -10
==========================================
- Hits          639      629      -10
  Misses        112      112
  Partials       48       48

Impacted Files
Coverage Δ

model.go
82.35% <ø> (ø)

smugmug.go
92.72% <100.00%> (-0.61%)
:arrow_down:

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 5fb58b9...bec41c8. Read the comment docs.