Add Set Allowed TPs step to multi-node procs in App Dev Guide

Signed-off-by: Anne Chenette<EMAIL_ADDRESS>

I tested the Docker and Kubernetes procedures, but cannot test the Ubuntu proc.  I hope a kind reviewer can help out with this test. My thanks in advance!

I pushed a fixup commit that changes "Configure the Allowed Transaction Processors" as suggested by @aludvik. Please see the following steps in the Docker, Ubuntu, and K8s procedures:
Docker - Step 5: https://build.sawtooth.me/job/Sawtooth-Hyperledger/job/sawtooth-core/job/PR-1849/3/artifact/docs/build/html/app_developers_guide/creating_sawtooth_network.html#step-5-configure-the-allowed-transaction-processors-optional
Ubuntu - Step 5: https://build.sawtooth.me/job/Sawtooth-Hyperledger/job/sawtooth-core/job/PR-1849/3/artifact/docs/build/html/app_developers_guide/creating_sawtooth_network.html#configure-txn-procs-ubuntu-label
Kubernetes - Step 6: https://build.sawtooth.me/job/Sawtooth-Hyperledger/job/sawtooth-core/job/PR-1849/3/artifact/docs/build/html/app_developers_guide/creating_sawtooth_network.html#step-6-configure-the-allowed-transaction-processors-optional


Libgdx hide node of a 3d model

I need to change cloths in 3 model with different meshes all meshes sharing same skeleton and imported as single g3db model, How to hide specific nodes

please use discord instead for help requests : https://libgdx.com/community/


Diaspora likes

After a couple of years [?] I'm back on Hubzilla and first off all: Great job guys!
Hubzilla is my central control for contacts on all networks like GNU-Social, Mastodon, Friendica, Quitter, Diaspora and of course Hubzilla now. So I added all my contacts to Hubzilla an will leave all other networks.
But there's an issue with diaspora likes:
Likes don't arrive to Diaspora.
This is not only important to me but of course to photographers and autors on diaspora also 😊

maybe you can report here https://github.com/redmatrix/hubzilla-addons/issues .

Fixed in 32ceecaf086a2bd0350a1340813453b269652c45


chore: revert solid-js-form to patch-packaged version

Revert package to "patch-packaged" version and disable auto-update in renovate.

👍🏻


PayPal button displays in dropin

When I use the dropin for a new user who doesn't yet have any payment options, it also displays the PayPal button even though I've not selected PayPal as one of my options in setup().
braintree.setup(client_token, "dropin", {
container: container,
paymentMethodNonceReceived: function (event, nonce) {
...
}
});
Note that I've only seen this behavior in the sandbox.

@jeffhoye the decision to display the PayPal button in Drop-in is determined by settings in your Control Panel. If you contact<EMAIL_ADDRESS>and mention this issue, they can help you get that disabled.

Ok, apparently it can't be disabled in the sandbox.  This is what it says about PayPal in the sandbox Processing Options (Support | Processing):
Accept PayPal
PayPal is enabled by default in the Sandbox.

That is correct, however if you contact<EMAIL_ADDRESS>they should be able to disable the PayPal button on your behalf.

How can i disable paypal option in BTDropInViewController,Please give me any suggestion. i am using sandbox account, paypal disable option is available in android not  IOS.

@baisani This issue is for the JavaScript (web) SDK. BTDropInViewController is part of the Braintree iOS SDK. If you still need help, you can contact Braintree Support.

How can i disable paypal option in IOS.

@baisani as @intelliot mentioned before, this repo is and this issue are for the web SDK, for iOS there is a separate repository.
However since you're not asking about a bug in the library, the most appropriate venue for your question would be to contact support: https://www.braintreepayments.com/contact


Implement the cache for routes

Feature description
This cache will hold any data in memory that is needed by the user regarding routes, so continuous access to the POD is not needed.
Expected behaviour: The cache will hold data and will prevent as much as possible the accessing to the user's POD.
Other development information, extensions and problems: none
Acceptance criteria

[x] Implement the method to get all the routes.
[x] Implement the method to get a specific route by identifier (name).
[x] Implement the method to delete a route.
[x] Implement the method to add a route.
[ ] Implement pagination behaviour.

Completed (commits):

64047990964096feb2368b70ecc670271e9cfdfc
b8fa69a4c8b57f2c36caaf64c9a561cd4e062aa7
e077b71b9c04cdf08da2d7b79921d00c757024dd

Testing scenarios

[x] When adding a new route, the cache calls the gateway to add it.
[x] When adding a new route with a repeated name, the route is not added.
[x] When listing routes, check the cache calls to the gateway if it's the first time.
[x] When finding a route, the cache should return it if it's saved.
[x] When finding a route, the cache should call to the gateway if it is not saved.
[x] When deleteting a route, the cache should always be called.

Linked pull requests

Pull request 1

Started to write tests for the implemented methods (add, getRoutes, getRoute).

Cache repaired in this issue. Now a single instance of the class can be used in the application.


OutOfMemory due to results in chain retained

What version of bluebird is the issue happening on?
3.5.1

What platform and version? (For example Node.js 0.12 or Google Chrome 32)
Node v8.11.1 on osx Darwin Kernel Version 17.5.0 x86_64

Did this issue happen with earlier version of bluebird?
Not sure

Using promise chains can cause unexpected OutOfMemory situations as the partial results in the chain seam to be retained until the entire chain is settled.
For example in this promise-chain-retain.js:
// global.Promise = require('bluebird');
console.log('Using', Promise.version || 'vanilla Promises');
logMemoryUse('before all');

Promise.resolve()
.then(() => {
  logMemoryUse('build result');
  const rows = [];
  for (let i = 0; i < 1000000; i += 1) {
    rows.push([`Example ${i}`, i, i * 2]);
  }
  return Promise.resolve({ rows });
})
.then((result) => {
  logMemoryUse('use result');
  // this then gets the large result
  return { len: result.rows.length };
})
.then((summaryResult) => {
  logMemoryUse('use summary');
  // this then should not need the 'result' and be free to reuse heap
  console.log(summaryResult);
})
.catch((err) => {
  console.log('caught error: ', err);
});

setTimeout(() => logMemoryUse('after all'), 3000);

function logMemoryUse(prefix = '') {
  global.gc();
  global.gc();
  const toMiB = b => (b / 1048576).toFixed(2);
  const mem = process.memoryUsage();
  console.log([
    'memoryUsage:',
    prefix.padEnd(20),
    `rss ${toMiB(mem.rss)} Mb`.padStart(20),
    // `heapTotal ${toMiB(mem.heapTotal)} Mb`.padStart(20),
    `heapUsed ${toMiB(mem.heapUsed)} Mb`.padStart(20),
  ].join('  '));
}

Using node 8 vanilla promises this works as expected in a chain and in "use summary" step the big result is no longer retained and can be GC:ed:
❯ NODE_ENV="production" node --expose-gc promise-chain-retain.js
Using vanilla Promises
memoryUsage:  before all                    rss 21.21 Mb    heapUsed 3.95 Mb
memoryUsage:  build result                  rss 21.28 Mb    heapUsed 3.94 Mb
memoryUsage:  use result                   rss 192.95 Mb    heapUsed 151.17 Mb
memoryUsage:  use summary                  rss 134.85 Mb    heapUsed 4.20 Mb <== GC worked!
{ len: 1000000 }
memoryUsage:  after all                     rss 44.03 Mb    heapUsed 4.22 Mb

When using Bluebird as Promise things do not work as expected. The result of the first then is still retained in  "use summary" step.
❯ NODE_ENV="production" node --expose-gc promise-chain-retain.js
Using 3.5.1
memoryUsage:  before all                    rss 25.03 Mb    heapUsed 4.77 Mb
memoryUsage:  build result                  rss 25.12 Mb    heapUsed 4.75 Mb
memoryUsage:  use result                   rss 194.18 Mb    heapUsed 152.00 Mb
memoryUsage:  use summary                  rss 195.88 Mb    heapUsed 152.00 Mb  <== WHY?
{ len: 1000000 }
memoryUsage:  after all                    rss 113.99 Mb    heapUsed 5.05 Mb

Thus long chains in a request do not GC as expected if resolving large values. This example is simplified but imagine building a large object, converting to JSON, compressing and then sending to an external service - if at any step resolving the large object will not allow it to be GC:ed until the entire chain is done. Essentially at least doubling the memory requirement (or OOM given contained resources and large objects).

until the entire chain is done

My quick guess would be that it doesn't have to do with the chain ending, but rather with your callbacks not doing anything asynchronous - bluebird might schedule all of them on the same tick, and keep the promises until the current round of synchronous work is over. Can you test by introducing a .delay(…) in the chain?

Bluebird keeps a circular buffer around as a queue that grows the more callbacks you have - its size is constant and it stays in the background for fast scheduling. It never shrinks but the memory isn't "leaked" - that is - the next time you'll schedule a promise it will be reused.

You can see it here: https://github.com/petkaantonov/bluebird/blob/master/src/queue.js

Introducing a .delay(1) after "use result" in the script above will allow GC and "use summary" will not have the large heapUsed value. A useful workaround.
The queue probably helps (or helped in earlier runtime versions) performance, but if this is what keeps a reference it has the effect that one must be careful of what is in closure of the callbacks if using large part of the available heap for one chain. This is not uncommon in for instance serverless microservices processing data.
I am a complete noob to bluebird internals, but also wonder why there is a reference kept as shift() appears to dereference the entry in the queue (as used from async). Perhaps there is another problem (related to the scheduling?)
I am not sure what an appropriate course of action is, but this is quite a gotcha so perhaps at least worth adding somewhere in the doxs? (and at least this issue might help others for now)


Licensing for commercialisation

It seems that the ESP SDK is complex enough, let alone this open source HomeKit collection of dependancies. Can anyone help me figure out if a fork of this codebase can be legally packaged into an off-the-shelf product (eg. Sonoff Basic, etc) and then sold?

esp-homekit is published under MIT license and ESP_OPEN_RTOS under BDS 3-clause. So, both are permissive.

You will get into legal trouble if you sell the Sonoff Basic with the esp-homekit based firmware commercially:

The esp-homekit code is based on the non-commercial specification of HomeKit and while using it you agree to the terms that you are not allowed to sell this commercially without entering the Apple MFI program.
Modifying and reselling the Sonoff will get you into legal trouble with iTead


[WFLY-14860] sort attributeRemoved in distributed setup

Issue: https://issues.redhat.com/browse/WFLY-14860

@pferraro  as per discussion.


Installing extension from extension page "Install" button keeps the notification baloon in bottom right

Issue Type: Bug
I noticed when I install extension by clicking on the green "Install" button from within the VScode extension page, as opposed to the "Would you like to install..." notification/chat bubble in the lower right corner of the editor, the chat bubble stays there, asking me if I want to install the extension I just installed.
Would be great if the state was in sync and the bubble would be dismissed when I installed the extension, no matter how.

Screenshot after installation

VS Code version: Code 1.33.1 (51b0b28134d51361cf996d2f0a1c698247aeabd8, 2019-04-11T08:22:55.268Z)
OS version: Darwin x64 18.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.79GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (19)

Extension
Author (truncated)
Version

project-manager
ale
10.5.1

solargraph
cas
0.19.6

bracket-pair-colorizer
Coe
1.0.61

vscode-eslint
dba
1.8.2

es7-react-js-snippets
dsz
2.2.2

gitlens
eam
9.7.1

prettier-vscode
esb
1.9.0

rails-snippets
Hri
1.0.8

rest-client
hum
0.21.2

vscode-codemetrics
kis
1.18.0

vscode-language-babel
mgm
0.0.22

ruby-rubocop
mis
0.8.0

sublime-keybindings
ms-
4.0.0

debugger-for-chrome
msj
4.11.3

JavaScriptSnippets
nat
0.2.0

ruby
reb
0.22.3

code-settings-sync
Sha
3.2.9

change-case
wma
1.0.0

JavaScriptSnippets
xab
1.7.2

@sandy081 , I would like to try this , Some starter and code pointers would be helpful :)

It depends on how @vfonic got this notification. @vfonic can you please let us know how you got this?

It shouldn't depend on that.
I got it by clicking install button in VS Code Extension Marketplace
website, in the browser.
On Thu, May 16, 2019, 01:15 Sandeep Somavarapu<EMAIL_ADDRESS>wrote:

It depends on how @vfonic https://github.com/vfonic got this
notification. @vfonic https://github.com/vfonic can you please let us
know how you got this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/73341?email_source=notifications&email_token=AAAQO3JVP64PZG4N26BCTFTPVRHNHA5CNFSM4HK67US2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVPP4KA#issuecomment-492764712,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAQO3OZNBWANLVHJ7DSLYLPVRHNHANCNFSM4HK67USQ
.

@skprabhanjan This notification comes from here - https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/contrib/extensions/node/extensionsWorkbenchService.ts#L1083

@sandy081 , I checked the code but just wanted to discuss on one thing .
Is that notification needed in the first place , clicking on install button on top will do the same job , Also removing that notification will keep the two scenarios  consistent and same (Normally opening that extension page and opening the extension page from browser)
We can remove the notification prompt to fix the inconsistency .

@sandy081 , were you able to look into this ?
I can remove the notification bubble and send a PR, please confirm :)

@skprabhanjan Yeah it look unnecessary for me. Please remove it.


Add the ability to make codeblocks ltr in rtl languages

Feature Request
Summary
Making codeblocks more sane and correct behaving. There's no need for them to ever be rtl in my opinion.
Motivation
Comments in a codeblock may or may not be in the rtl language at hand, however there is no need for the code itself to be rtl, in fact it looks very wrong and weird most of the times.
Detailed Description
I suggest adding code,pre {direction: ltr} to sass/parts/_code.scss or at least adding a shortcode that adds such feature
Additional Context
Code editor(ltr)

Website(rtl)

Makes sense to me.
Would the header (colour bar) be okay as is?

Yes actually the header is just fine as it is. It's just the alignment of code below it that is quite irritating.


Feature Required

Kindly add this line in {themes}.json files
 list.focusBackground: '#006600';
It will provide a visual indicator when moving around using arrow keys in sidebar.
Whenever a new update comes it removes this line from theme settings.

Thank you for opening the issue. I have updated the theme with that setting added.
By the way, if you want your customizations to persist across updates you can add those to your VS Code settings, eg:
"workbench.colorCustomizations": {
    "[Night Coder*]": {
      "list.focusBackground": "#006600"
    }
}

Thank you for creating such an amazing theme :) i really love it!


make sure sdist uses fastbinary

Previously, running python setup.py sdist produced a source distribution that did not link the binary for accelerated protocols. Adding the appropriate manifest fixes this issue.
Without the manifest, not all the files in src/ext are copied over to the source distribution.  Building fastbinary.so fails.  The code here then causes the thrift library to default to using pure python for serialization and deserialization, which is significantly slower than using plain HTTP.

 This is the currently-deployed version with the fastbinary change.


Implement swift_build_sdk_interfaces.py using libSwiftDriver

This PR is an implementation of swift_build_sdk_interfaces.py using
libSwiftDriver. The tool is used to traverse an entire SDK to find
Swift interface files and to generate prebuilt module cache for each one
of them. Comparing to the python implementation, this implementation generates
the prebuilt modules in the dependency order so that:
(1) It's more performant than the python counterpart. Several preliminary
experiments showed an average of 40% less CPU time spent on generating modules in an SDK.
(2) It fails fast. If an interface is broken in the SDK, this new implementation
won't schedule jobs for building other modules depending on this interface. It should help us avoid
issues like rdar://76201633

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


[image_picker][video_player] Black space on some video on iOS

Some videos are not displayed properly using video_player on iOS (i did not faced this issue on android)
I noticed that if i replace image_picker by wechat_assets_picker this error does not occur.
Steps to Reproduce
I actually created a repository to reproduce this problem (only using video_player and image_picker dependencies)
This problem occur only on some videos, but i am unable to find the reason.
I always have this issue with this video:
https://user-images.githubusercontent.com/22376981/146317252-c784f6fd-33f5-4e45-b5be-d7a30f921fbe.mov
This video was recorded with my iphone 11 pro.
Expected results:
The video should be displayed without the black space
Actual results:
the only error i found in log is :
[core] "Error returned from daemon: Error Domain=com.apple.accounts Code=7 "(null)""

Code sample
https://github.com/LeGoffMael/example_video_black_borders

Logs
[core] "Error returned from daemon: Error Domain=com.apple.accounts Code=7 "(null)""

I think the error is that the orientation of the video is considered horizontal when it is not

I finally managed to find a fixed process to reproduce this error:
this error occurred every time on : recorded video on portrait, cropped from the gallery.
to reproduce:

open a video recorded with an iPhone (in portrait orientation)
crop it and change the ratio (make it more narrow for example)
save it
when reloading the video with image picker this issue should appear

Hi @LeGoffMael, it looks like this has already been reported in https://github.com/flutter/flutter/issues/71299.
Kindly follow up there for more information.
Closing from here as duplicate.
Thank you


Add support for DDP fork

What does this PR do?
Fixes #7550
Fixes #8230
Adds support for DDP Fork. This version of ddp can be used in Jupyter notebooks with GPU unlike ddp_spawn!!!
Usage:
trainer = Trainer(
    accelerator="gpu",
    devices=2,
    strategy="ddp_fork",
)

See the added docs for a comparison of ddp_spawn vs. ddp_fork
Remarks:

Thanks for the advice and support by @justusschock
DDP fork should be faster to launch the processes. We could consider replacing ddp_spawn with ddp_fork in some tests to speed up CI, but one should be careful as process forking is considered unsafe in general.
The device parser changes can be split out to an independent PR

Q: Why did we need to replace almost all instances of torch.cuda.device_count() and torch.cuda.is_available()?
A: These function calls unfortunately create a CUDA context, i.e., they init the CUDA memory and tie it to the current process. Once this happens, we won't be able to re-initialize the CUDA anymore in the forked processes. This is a limitation of torch + forking.
Q: Now that we support two different start methods in DDPSpawnStrategy, shouldn't we rename the strategy?
A: Yes technically we should. Especially since TPUSpawnStrategy is also using the fork start method and does not even support spawn. However, renaming everything here is too premature, considering that in the longterm the strategies DDPSpawn and DDP will get merged eventually anyway. What we can do in a follow up is renaming the internal launcher classes _SpawnLauncher and _XLASpawnLauncher, and  associated terminology in docs, comments, etc.
Open questions

Should DDP fork become the default when strategy=None and devices>1 in a Jupyter notebook?
Investigate forkserver

Does your PR introduce any breaking changes? If yes, please list them.
No known ones.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃
cc @borda @justusschock @kaushikb11 @awaelchli @akihironitta @rohitgr7

@SeanNaren Thanks and yes, that's exactly the main reason why and how.


DG fix

Pull Request Test Coverage Report for Build 646

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.154%

Totals

Change from base Build 645:
0.0%

Covered Lines:
3009

Relevant Lines:
3301

💛  - Coveralls


Added logger timestamp.

This makes it easier to monitor queue durations.

Here's an example of what the logging looks like:
INFO 22-04-05 12:30:33 apache_beam.runners.dataflow.dataflow_runner: 2022-04-05T11:30:32.218Z: JOB_MESSAGE_DEBUG: Adding StepResource setup and teardown to workflow graph.
INFO 22-04-05 12:30:33 apache_beam.runners.dataflow.dataflow_runner: 2022-04-05T11:30:32.241Z: JOB_MESSAGE_DEBUG: Adding workflow start and stop steps.
INFO 22-04-05 12:30:33 apache_beam.runners.dataflow.dataflow_runner: 2022-04-05T11:30:32.264Z: JOB_MESSAGE_DEBUG: Assigning stage ids.
INFO 22-04-05 12:30:33 apache_beam.runners.dataflow.dataflow_runner: 2022-04-05T11:30:32.374Z: JOB_MESSAGE_DEBUG: Executing wait step start13
INFO 22-04-05 12:30:33 apache_beam.runners.dataflow.dataflow_runner: 2022-04-05T11:30:32.429Z: JOB_MESSAGE_BASIC: Executing operation GroupBy request limits/GroupByKey/Create
INFO 22-04-05 12:30:33 apache_beam.runners.dataflow.dataflow_runner: 2022-04-05T11:30:32.469Z: JOB_MESSAGE_DEBUG: Starting worker pool setup.```


fix: updated deps

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Security Exception on Squishit.mvc

I'm trying to use the latest version of the Squishit Mvc asp.net 3. But when I publish the application, it gives the following error:
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.
Exception Details: System.Security.SecurityException: Request failed.
Line 11 @ (Bundle.Css ()
Line 12:. Add ("~ / Content / css / base.css")
What can I do to fix this problem?

I´m using Squish.Framework and Squishit.MVC

SquishIt has problems with medium trust, specifically due to the fact that it writes out files to disk in its default mode. From the security exception you are getting, it is hard to tell exactly what is happening though.

I've tried to sign the assembly with a strong name and put the property [assembly: AllowPartiallyTrustedCallers ()], but to no avail. It's the same error. Is there something I Can-do??
I also tried converting the project to design Squishit.Framework Framework 4.0 and it gave me the following error:
Attempt by security transparent method 'SquishIt.Framework.Utilities.FilePathMutexProvider.CreateSharableMutex (System.String)' method to access critical security 'System.Threading.Mutex .. ctor (Boolean, System.String, Boolean ByRef, System.Security.AccessControl . MutexSecurity) 'failed.
Assembly 'SquishIt.Framework, Version = <IP_ADDRESS>, Culture = neutral, PublicKeyToken = 68fce8aa8e734067' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the transparency level 2 security model. Level 2 transparency causes all methods in assemblies To Become AllowPartiallyTrustedCallers security transparent by default, Which may be the cause of this exception.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it Originated in the code.
Exception Details: System.MethodAccessException: Attempt by security transparent method 'SquishIt.Framework.Utilities.FilePathMutexProvider.CreateSharableMutex (System.String)' method to access critical security 'System.Threading.Mutex .. ctor (Boolean, System.String, Boolean ByRef System.Security.AccessControl.MutexSecurity) 'failed.
Assembly 'SquishIt.Framework, Version = <IP_ADDRESS>, Culture = neutral, PublicKeyToken = 68fce8aa8e734067' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the transparency level 2 security model. Level 2 transparency causes all methods in assemblies To Become AllowPartiallyTrustedCallers security transparent by default, Which may be the cause of this exception.
Source Error:
Line 91: / / an existing one, in a thread-safe Manner
Line 92: bool createdNew;
Line 93: return new Mutex (false, name, out createdNew, MutexSecurity);
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it Originated in the code.
Exception Details: System.MethodAccessException: Attempt by security transparent method 'SquishIt.Framework.Utilities.FilePathMutexProvider.CreateSharableMutex (System.String)' method to access critical security 'System.Threading.Mutex .. ctor (Boolean, System.String, Boolean ByRef System.Security.AccessControl.MutexSecurity) 'failed.
Assembly 'SquishIt.Framework, Version = <IP_ADDRESS>, Culture = neutral, PublicKeyToken = 68fce8aa8e734067' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the transparency level 2 security model. Level 2 transparency causes all methods in assemblies To Become AllowPartiallyTrustedCallers security transparent by default, Which may be the cause of this exception.

We are using a Mutex to help rendering across web gardens so that multiple processes don't try to render files to disk at the same time.. That code would need to be rewritten to detect the current trust level of the asp.net application and not use the mutex if it detects that the application is not running with sufficient permissions.

We already need to handle mutex creation differently for mono, this might not be terribly difficult

@edubauer can you pull from my branch at the referenced commit and let us know if it works in medium trust?  If we can confirm that this fix will work in your situation, and doesn't break the existing code, then I think we can clean up the new code and get this merged into the trunk.

@edubauer can you pull from my branch at the referenced commit and let us know if it works in medium trust? If we can confirm that this fix will work in your situation, and doesn't break the existing code, then I think we can clean up the new code and get this merged into the trunk.

I tried to test this this morning, and I can't seem to get Jurassic to load successfully when running the AspNetTest site in medium trust (though I think the updated mutex code will work).  I'm pretty sure Jurassic does support medium trust, so it may be a problem with the setup of our test project.
Anyway, I'll wait to hear back from you on whether it works or not :)

I don't know, I guess it depends on how Jurassic works, but if it does any sort of runtime code generation or reflection, then by default it won't run under medium trust.

Yeah all I can find is a hint over here by Jurassic's author suggesting that it works in medium trust (I wouldn't expect it to either).  I wonder if @edubauer's host might be using a customized medium trust config, because it definitely seems he was able to get farther than I was.
Even if there are more issues with medium trust (writing to absolute instead of relative paths could cause problems), this approach to dealing with the mutex feels a bit cleaner to me.

Yeah, I completely agree, I think that having the mutex in there only in high trust environments will be a good thing.

I didn´t understand. The problem in Medium Trust is the Jurassic or Mutex?
I had to reassembly Jurassic.dll with a strong name to be loaded. The problem that there were errors in the mutex as I demonstrated. But I'll try to use the solution "Isolating mutex code from bundlebase w / scope" to see if it works in medium trust environment.

The mutex is definitely an issue, and should be resolved. We will no longer use the Mutex in medium or low trust environments. We aren't sure about Jurassic though, but it could be. The current release of SquishIt removes the mutex in medium trust, but we can't guarantee that you won't run into other problems.

I haven't merged that code into the trunk yet, but will at lunchtime today
so we can get it into the next release.  Just want to do a bit of
refactoring that @cjberg suggested over on #138.
Ill keep an eye out here to see how things work out with your strong-named
build of Jurassic.

Oh crap, I thought you did, I did a release this morning. I thought you said you were ready for a release.

Doh.   I should have merged it in once I got the feeling the critical
section scope would be better anyway.  I just submitted a pull request with
those changes (saw that you had at least 1 commit, didn't want to step on
each others toes), we can get it into the next release if its a pain to
repackage everything.
On Feb 23, 2012 9:44 AM, "Justin Etheredge" <
<EMAIL_ADDRESS>wrote:

Oh crap, I thought you did, I did a release this morning. I thought you
said you were ready for a release.

Reply to this email directly or view it on GitHub:
https://github.com/jetheredge/SquishIt/issues/153#issuecomment-4137465

I've actually been meaning to figure out all the nuget stuff, if there's a way to update published packages with hotfixes I can probably get it done this afternoon

hi,
i have the same problem:
our project is signed for generating strong names for the output assemby. i needed to sign squishit.framework.dll because i got
Assembly generation failed ... Referenced assembly does not have a strong name
errors before.
i signed it by using this approach: http://stevenharman.net/blog/archive/2009/10/01/signing-3rd-party-assemblies-without-recompiling.aspx
however because of embedded resource i've changed it to:
ilasm SquishIt.Framework.il /dll /RESOURCE=SquishIt.Framework.res /key=C:\our.snk
Finally the MVC project worked after i had signed it that way when using
<compilation debug="true" targetFramework="4.0"> in web.config.
However when i change it to:
<compilation debug="false" targetFramework="4.0">
i get the exception:
Attempt by security transparent method 'SquishIt.Framework.Utilities.FilePathMutexProvider.CreateSharableMutex(System.String)' to access security critical method 'System.Threading.Mutex..ctor(Boolean, System.String, Boolean ByRef, System.Security.AccessControl.MutexSecurity)' failed.

Assembly 'SquishIt.Framework, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=9c0fd48c2d83f9b1' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the level 2 security transparency model.  Level 2 transparency causes all methods in AllowPartiallyTrustedCallers assemblies to become security transparent by default, which may be the cause of this exception.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.MethodAccessException: Attempt by security transparent method 'SquishIt.Framework.Utilities.FilePathMutexProvider.CreateSharableMutex(System.String)' to access security critical method 'System.Threading.Mutex..ctor(Boolean, System.String, Boolean ByRef, System.Security.AccessControl.MutexSecurity)' failed.

Assembly 'SquishIt.Framework, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=9c0fd48c2d83f9b1' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the level 2 security transparency model.  Level 2 transparency causes all methods in AllowPartiallyTrustedCallers assemblies to become security transparent by default, which may be the cause of this exception.

I really have no clue why i'm getting this error only by switching debug in the web.config.
When do you commit your fixes for that?
Please excuse me, i don't have much knowledge of signing assemblies and .net security/trust levels.
Are there any plans for SquishIt to sign it out of the box? (I know that the 3rd party library log4net comes already signed i.e.) Would that fix it?
BTW: I know that i could checkout the latest squishit code and sign the compiled output using visual studio without doing the stuff i did with ildasm and ilasm.
thanks


Dev express

Add ReactiveUI.Events.Dx15.Winforms_Net40

Pretty sure this was an accidental PR. Out of interest; are you using RxUI with dotnet 4.0?


Critical step missing

In order to ensure sensitivity labels are available to SharePoint, Teams and Azure AD they need to be synchronized from the Security & Compliance center. This step is included in a related article, but missing from this one. There was a statement in this article that no additional steps were required which was not correct. This resulted customer escalations. Proposing adding a link to article with step. Also need to call out this step in the troubleshooting section.
Thanks!

@kellybos : Thanks for your contribution! The author(s) have been notified to review your proposed change.

While I'm resolving the merge conflict, I'll make the revision requested by @curtand

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@curtand Is this OK to merge? Thanks.

Yes, please @ktoliver
#sign-off


Fix metrics docs formatting

reformatting this as real JSON so its easier to paste back into stoplight

🚀 Deployed on https://65d6641cd64de6095133fe41--cozy-fox-0defec.netlify.app


Upgrade deps

#569  👈
feature/proof-of-stake

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @lazynina and the rest of your teammates on  Graphite

Merge activity

Apr 11, 3:29 PM EDT: @lazynina started a stack merge that includes this pull request via Graphite.


Allow to change the rendering of the name of a day in the calendar

First of all, thank you for the amazing work you do!
Is your feature request related to a problem? Please describe.
I wanted to use your Calendar outside of a picker so I took your Calendar component and implemented renderDay to add a Badge and some margin to the display of a day. But now, the names of the days are not aligned with the numbers and there is no way to modify them.

Describe the solution you'd like
Would it be possible to add a method like renderDay to personalize the render of the name of the days in the CalendarHeader?
Describe alternatives you've considered
I used some global css to do the trick but the code is kind of ugly.

You can override them with a help of overrides or using global css. https://material-ui-pickers.dev/guides/css-overrides

Sorry I didn't see this page, this is exactly what I needed, thank you!


plans to publish to npm?

Hi!
any plans to publish the generated wasm packages to npm? Maybe in a @biowasm scope?

That's a great idea! I'll look into that

Hey Luiz,
Since I wanted to be able to use the wasm packages from a hosted site as well without managing two sources, I ended up making a small CDN for those wasm packages: cdn.sandbox.bio (it's hosted on Cloudflare to ensure speed and reliability) 😀
That means it's really easy to get started with an app, see here for an app that runs samtools on a file provided by the user.
I've also created a biowasm scope in npm to host Aioli (the JS library for launching/managing biowasm modules in a webworker): https://www.npmjs.com/package/@biowasm/aioli

That's awesome, thanks!


Update cloudwatch, dynamodb, kinesis, s3, sns, ... to 2.17.144

Updates

software.amazon.awssdk:cloudwatch
software.amazon.awssdk:dynamodb
software.amazon.awssdk:kinesis
software.amazon.awssdk:s3
software.amazon.awssdk:sns
software.amazon.awssdk:sqs
software.amazon.awssdk:sts

from 2.17.130 to 2.17.144.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #833.


Improve AutoHelp and AutoVersion handling

This PR adds the ability to give --help and --version the standard shortnames of -h and -V, controlled by two ParserSettings properties. It also allows specifying --help and --version anywhere in command line rather than only at the start of the command line, as per the GNU Coding Standards for the --help and --version options.
This PR also includes many unit tests to verify that all the possible --help and --version scenarios work properly
This is essentially #608 rebased on top of the develop branch. Note that some tests rely on the new GetoptMode feature introduced in #684. I've written this PR so that it can be merged as-is, so those unit tests are commented out at the moment. But if #684 is merged first (as I would prefer) then I'll rebase this PR on top of the post-merge state of develop and uncomment those unit tests so that they will work.
Fixes #600.
Fixes #596.

What about logging options? In our project we use -v to enable verbose logging, will this conflict with the version option?

The version option is -V (uppercase), precisely because lowercase -v is so often used for --verbose. That's a de facto standard in all the Linux software I've seen, so that's what I set it to.

@rmunn Is it possible to override? So if I want to use -v / --verbose + -h / --help I could? (that was the request in #585 at least).

@rubin55 Assuming you meant -v / --version, then the way I wrote this, it's not possible to override the shortname for the automatically-generated --help and --version options. (You could always go with AutoVersion = false and then create your own and handle it yourself, of course). I decided to do it that way because this library is designed to mimic the behavior of getopt, the standard option-parsing library on Unix. And although getopt doesn't specify what the shortname of --version should be, there's general consensus among authors of Linux-based command-line software to use -V (uppercase) as the shortname of --version. See http://www.catb.org/~esr/writings/taoup/html/ch10s05.html where there's a list of more or less standard single-character options and what they usually mean. Note how -v (lowercase) is used for --version in only a few utilities, and the page says "More usually this action is invoked by -V." (Uppercase). So I decided to try to guide people towards following the standard rather than using non-standard shortnames for --version.
Now, having said that, there is a way that you can cause -v (lowercase) to be accepted as the shortname for --version. Just put CaseSensitive = false in your parser settings. Then both -H and -h will be accepted for --help (and --HELP and --Help and --hElP will also be accepted), and both -V and -v will be accepted for --version, and so on.
A second reason for hardcoding the shortnames in this PR is that I wanted the settings to be booleans, not characters. If I made the settings characters then a lot of people (including myself) would be annoyed by the inconsistency of having AutoHelp be a boolean but AutoHelpShortName be a character. If it's an AutoSomething property, I thought to myself, it should just be a "turn this on and the library will do everything for me" feature, which means choosing the shortname. And so I looked up what the de facto standard is for --version, discoverd it was uppercase -V, and went with that.

P.S. http://www.catb.org/~esr/writings/taoup/html/ch10s05.html also says of the -V (uppercase) switch that "It would be quite surprising for this switch to be used in any other way." Now, he meant that it would be quite surprising if -V (uppercase) were to mean something other than --version, which is not quite the same thing as saying that it would be surprising if --version's abbreviation were not -V (uppercase). But that does go to illustrate the point that there's a de facto standard in Unix (and now Linux) utilities, and it's the uppercase -V.
Now, having said that, I'd like to take a poll. Please use GitHub reactions on this comment to indicate your preference:

If you want -V and -h hardcoded as the shortnames for --version and --help respectively, please give this comment a :+1:
If you want to be able to choose the shortnames for --version and --help (by having char, rather than bool, values for those parser settings), please give this comment a :-1:
If you want something else (the "other" choice without which no poll is complete), please give this comment a :eyes: and leave a comment explaining what you wanted that wasn't one of these two choices.

I normally don't like to bump issues/PRs but seeing as it's been 2 years since the last comment I think it's worth following up on. What would it take to get this merged? Perhaps it's something simple and just requires a volunteer?

Soo in 2024 when we expect to get this -h (or custom short name) implemented?

Could we also address this shortcoming here: #841


[iOS] Not showing notification banner when app running in Background

@evollu I have created a React Native Project and added the "react-native-fcm" for the Push Notification Support. In android i am able to run the app as expected.
But in iOS, if the app is in foreground, I am getting the notification(I have added some console.log in the "notification" event). But when I push the app background then I am not able to see the notification Banner.
Is I am missing anything?

APN sometimes delay the notification to save battery. Try add priority: 'high' into payload

@evollu May be I am sending the Payload in the wrong format. Can you share me the sample format of the message.
I am using FCM console to send the message.

post to https://fcm.googleapis.com/fcm/send
{
"to":"some_device_token",
  "content_available": true,
  "notification": {
      "title": "hello",
      "body": "yo",
      "click_action": "fcm.ACTION.HELLO"
  },
  "data": {
      "extra":"juice"
  },
  "priority": "high"
}

I am trying from Firebase console to send message. Following is the format I am using for sending the message. Is I am missing anything.

firebase console is limiting and I experienced some delay sometime too. Try to send with postman?
Also does app receive notification when it is killed?

Thanks @evollu. Issue is resolved now.
I was not using the proper certificate.

@ashwinpreet I am currently facing the same issue, can you describe your situation in more detail ?
I double checked my certificate but the banner still not showing. Any help will be appreciated.

Thanks @evollu and @ashwinpreet. Issue is resolved now.
I miss this code .
"notification": {
"title": "hello",
"body": "yo",
"click_action": "fcm.ACTION.HELLO"
},`

I am geting a callback in my code when I recieve a push notification, but when in background i cant see the banner or any any kind or notification that push notification has beeen recieved.


[GLUTEN-7489][INFRA] fix: allow to fetch artifacts from workflow Velox backend Github Runner in upstream repo

What changes were proposed in this pull request?
This PR aims to set allow_forks as true in Report test results workflow.
(Fixes: #7489)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

we can check velox surefire reports now, for example: https://github.com/apache/incubator-gluten/pull/7478/checks?check_run_id=31438454517
@zhouyuan maybe we need to update dev docs to help developer, if you agree, I will update :-)

we can check velox surefire reports now, for example: https://github.com/apache/incubator-gluten/pull/7478/checks?check_run_id=31438454517 @zhouyuan maybe we need to update dev docs to help developer, if you agree, I will update :-)

Sure, this is quite useful to me. Please kindly help to update the doc


[FEATURE] Support for inserting an item in a CSSList

This is based on and will supersede #115. Suggestions from the original PR are incorporated, and the initial authorship is preserved.

I fixed the Static Analysis errors. Do I need to fix the unit test? They are working with PHP 8.

I fixed the Static Analysis errors.

Thanks! :pray:

Do I need to fix the unit test? They are working with PHP 8.

Yes, please. AFAICT, the mixed type annotation is the culprit, as it's only available in PHP 8 and up, not in PHP 7.x: https://www.php.net/manual/en/language.types.mixed.php

Fixed it.

I rebased onto the current main, while I was at it.

TLDR: Is there anything left open that needs addressing?
IMHO, this PR can be considered thoroughly reviewed in 53 comments, with about ten commits for one mere conditional and two function calls in one new method (not counting the testing code). I started this because since 2016, Moodle has been dragging PR #115 with every update to the PHP-CSS-Parser lib, and I wanted to fix this properly.


Don't create new DType instances for primitive FormulaType classes

Small perf improvement: we don't need to create new DType instances for primitive types.

✅ No public API change.


Use symlinks in docs/ to configure redirects?

An alternate way to configure the redirections would be to use symlinks in the docs/ directory. That way it would not require editing the mkdocs.yaml file for every redirect and might be an easier way to manage the files.

Personally, I'm not sure about this. I have many redirects configured at the moment (300+) and I prefer to have them explicitly configured on a centralized location. It also makes it easier to see the changes to the redirects in the git history.

I'm using symbolic links to create the docs/ (docs_dir) content as the repository file-layout is not inherently compatible with the docs/ (docs_dir) base in Mkdocs. This works very well with Mkdocs and turning all those into redirects would not work.
So to answer your question raised with this issue:  No, do not use symlinks in docs/ to configure redirects as they first of all work for the actual content which is incompatible with redirects.
To generalize: Such a change would break compatibility with Mkdocs. Symbolic links have a different meaning for Mkdocs already, it is not possible to use them as redirects as well.
Please let me know if you think this is an over-generalization.

@ktomk made a good point, and even without considering backward-compatibility with MkDocs, symlinks have all kinds of quirks that would make such a feature unreliable IMO. I'll close this :slightly_smiling_face:

Symbolic links make the Unix file system non-hierarchical, resulting in multiple valid path names for a given file. This ambiguity is a source of confusion, especially since some shells work overtime to present a consistent view from programs such as pwd, while other programs and the kernel itself do nothing about the problem.

don't think it must become necessarily unreliable, but "quirks" reminded me of this paper @pawamoy
btw. having all redirects in a catalog as commented enhances the maintainability of a site in my practice (and this is not specifically mkdocs, more general feedback).


Add accessibilit features

Is it possible to add accessibility features like tab navigation and opening the picker with the space and enter button?
This would greatly increase the ability to use this plugin.

Since this is a form element, not providing tab navigation is a no go. Looks good, but is unusable in pur context.
I wuld really appreciate the possibilty to use keyboard navigation.

Welcome to take a peek at the nighty v1.0.0-beta.2 🌱 version.
It's available in yarn/npm as well.
yarn add vue2-timepicker@beta

or
yarn upgrade vue2-timepicker@beta

Documentation for the 1.0.0-beta goes here.


MyBaseController clarity

In the example of creating a base api controller, should it inherit from ControllerBase? It's currently not clear. Should it be updated to?
    [ApiController]
    public abstract class ApiControllerBase : ControllerBase { /* ... */ }

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

ID: b391017f-25e1-d5e1-c4f7-020408ade7b5
Version Independent ID: 263a7b64-2e42-bbfc-c1d3-61680438e1e4
Content: Build web APIs with ASP.NET Core
Content Source: aspnetcore/web-api/index.md
Product: aspnet-core
GitHub Login: @scottaddie
Microsoft Alias: scaddie

(sorry in my example I used "ApiController" base as that's what I'm going for in my app, but in the doc it corresponds with "MyBaseController" which could probably also be renamed to "MyBaseApiController" for clarity anyway.
Makes me wonder, why wouldn't this be included in the framework by default?

Before ASP.NET Core, MVC and API had different controllers. That's no longer the case.

Hi @Rick-Anderson , yep I'm aware of that. Still doesn't make the docs any clearer on how to do your own base API controller.
I just want to know, do I do this (my thinking);
[ApiController]
public abstract class ApiControllerBase : ControllerBase
{ }

Or this, as in doc:
[ApiController]
public class MyBaseController
{ }

@benmccallum I think you're right - fixing in #11706

Awesome, thx guys!


R8 default optimizations flatten interfaces causing lookup infinite recursion in DI with interface inheritance hierarchies

R8 is the optimizer that will soon be added to the Android toolchain to replace proguard.
However, one of its optimizations is to flatten interfaces where applicable, which can cause our DI container's runtime runtime lookup of objects by interface to fail if there's an interface hierarchy depth greater than 1.
container.register(
    Scope.Singleton,
    GeofenceServiceInterface::class.java
) { resolver -> resolver.resolveSingletonOrFail(GoogleGeofenceServiceInterface::class.java) }

Is getting optimized into:
container.register(
    Scope.Singleton,
    GoogleGeofenceServiceInterface::class.java
) { resolver -> resolver.resolveSingletonOrFail(GoogleGeofenceServiceInterface::class.java) }

Which naturally will recurse infinitely until overflowing the stack.
Reported by Morten Krogh-Jespersen on the R8 team at Google.
Potential solutions:

Add a consumer-proguard-rules.pro to the library to add a Keep rule for GeofenceServiceInterface and anything else in a similar situation (although this is undesirable because it could add brittleness to the integration process for customers; by design we avoided use of reflection so that no proguard customization to use Rover would be necessary);
avoid registering any parent interfaces which can cause the optimizer in R8 to flatten them and thus produce this bug.  Remove GoogleGeofenceServiceInterface which is frankly unnecessary, and any others like it.

Note: this only happens when the current in-development version of R8 is configured with additional passes.  This cannot be reproduced in the wild right now, and may never.
However, it may still be worth quickly removing that extra layer of interfaces.

This was only an internal google experiment. For now does not affect us.  Closing for now unless the issue comes up after a toolchain update.


Uncaught Exception: Cannot read property '1' of null

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.3.0
Time: Fri Jul 22 2016 21:30:22 GMT-0500 (Central Daylight Time)
Error:
Cannot read property '1' of null
TypeError: Cannot read property '1' of null
    at Request._callback (**REDACTED**\GPMDP_3\app-3.3.0\resources\app\build\main\features\core\lyrics\source_lyricsFreak.js:9:1201)
    at Request.self.callback (**REDACTED**\GPMDP_3\app-3.3.0\resources\app\node_modules\request\request.js:200:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.<anonymous> (**REDACTED**\GPMDP_3\app-3.3.0\resources\app\node_modules\request\request.js:1067:10)
    at emitOne (events.js:101:20)
    at Request.emit (events.js:188:7)
    at IncomingMessage.<anonymous> (**REDACTED**\GPMDP_3\app-3.3.0\resources\app\node_modules\request\request.js:988:12)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:185:7)

This issue was created automatically inside the uncaughtException handler

Closing this automatically reported issue as a duplicate of #1281


Enhances command flow run get

Closes #2584
I also noticed that this command contained defaultProperties. I have removed those as this is a get command.
I've also noticed that the value outputLinks in the results properties is only available for some triggers, which is why I added a check for this in the code. For example: using a recurrence trigger will not include any trigger information so this would throw an error. I've also specified this in the docs.

Great work @MathijsVerbeeck! We'll review it ASAP!

Hi @Adam-it
This should be fine now 😄
Could you please have another look?

 Will get into resolving the feedback either today or tomorrow!

 Will get into resolving the feedback either today or tomorrow!

no rush at all. Health and family first 😍.
Also, if you feel like it, I may do it for you and move on with this PR so that you have time for the more important/fun stuff to code 🙂👍.
Let me know if you need any help 👍

@Adam-it I've added the md-output.
Could you please have another look?

@Adam-it I've added the md-output.
Could you please have another look?

sure will do it in a bit. If you are ready with the changes I will mark this as 'ready for review' 👍

@Adam-it I've merged the main branch into this one and I hope that it's fine now 😄
Could you have another look?

ready to be merged 🚀
🥳🥳🥳🥳🥳🥳

merged manually 👍


docs(i18n): add new features

@vicb please review that everything I said about ICU and CLDR are correct.
I ignored the plural/select with markup until https://github.com/angular/angular/issues/12636 is resolved.
There is an alert that starts with "repeat the extraction process ..." I don't know where to put it :/
And there are a few links that would be nice to add, somewhere:
http://formatjs.io/guides/message-syntax/
http://cldr.unicode.org/index/cldr-spec/plural-rules
http://www.unicode.org/cldr/charts/29/supplemental/language_plural_rules.html (This one could be good into "Plurals" too)
http://userguide.icu-project.org/formatparse/messages

I ignored the plural/select with markup until angular/angular#12636 is resolved.

Could you please have a PR ready ?

For @wardbell:
There is a section that says:
* The first parameter is the key, which is a variable in your component that counts how many wolves we have.
* The second parameter indicates that you are using the `plural form`.
* The third parameter is the matches, in other words, how you define your plurals.

Reason is that verbose is because this page defines the syntax like {key, plural, matches} so I tried to map that syntax there. If you decide to leave that, you could add the link as well as context.

When I do the translate, I show everything (that is our way at the end), but the part of the ng-container / comment / i18n-alt doesn't show too much new. We say "You don't need to know spanish" so I didn't want to let people imagine how to translate those things to spanish so I show that anyway.
We show the entire file a bit ahead, so up to you.

What is the status of this PR ?
Would love to see doc updated soon.
/cc @wardbell

I squashed the original 3 commits and added a 4th with my touches.
@vicb should give it a quick look before we merge.
I'm concerned that a few things do NOT work as advertised:

I couldn't get any of the spelled out plural categories to work (zero, one, two). Fortunately, "other" works.

The i18n-alt isn't translating the text for the logo. Hover over the logo in Spanish ... nothing.

The elements that aren't supposed to show (<ng-container> and the i18n in a comment) DO show

I don't know if these are bugs in i18n or in our effort to document it. Either way, I'd like to know before I approve for merge into master.

Replaced alt (which doesn't work) with title (which does).

It it is the case it's a bug. Do you have a repro ?

en locale has only one and other (category and their ~range is defined per locale)
show where ?

@vicb Looks like with my last updates all pending concerns have been addressed. Ready to merge.


v0.1.3

Current dependencies on/for this PR:

main

PR #19   👈

This comment was auto-generated by Graphite.


Add ormar support

Hi,
Since I am lazy and want the tools to do boring work for me I installed and used:

flake8 - to check styles, pep8, complexity etc. with set of plugins to check different style related issues
black  - installed with flake8 (one of plugins) to format code in a consistent way -> always the same regardless who is making the change, I especially like how it breaks long lines
mypy - to check the types annotations

I also modified the code to pass all those test/ tools which mean a lot of minor changes basically everywhere, added missing types, fixed types enough to pass mypy checks (although it's not done fully), remove unused imports, reorder import etc. You still have few minor issues like some too complex methods according to those checks but that I didn't want to change.
I also extracted creation of the items in pagination tests into fixtures and changed it's scope (scope is now class so they run once per implementation), as before they were running per every parametrization and in effect the tests for all backends were running several minutes and now they run like 40s, and tests should run quickly or you end up not running them often enough. Since you test creation in the separate tests I think it's beneficial as you do not create the same items 20-30 times in those few tests.
I know that you might not like such a massive changes (although they are all style related - there is no logic change - apart from ormar implementation of course :) ), so if you refuse it we can just extract ormar files (tests and backend) with docs.
It was still easier for me to check my ormar implementation this way even if you would want to discard those changes.
But I think the project would benefit from tiding up that was done in this PR, so please review the PR and let me know what you think.

Thanks for setting up Flake and Black. I've been meaning to get around to that. I do agree that having a consistent code style would be of great benefit to the project!  Hoping to merge soon, I just want to take a closer look later tonight.

LGTM! Thanks so much for all the great work. The Ormar backend will be release once this is merged. I just have to write some release notes first.
By the way, what is the maturity of this project, will there be breaking changes in the future?

Actually @collerek I have one more question. Correct me if I am wrong, but isn't one of the main selling points of ormar is the fact that you don't have to maintain both a pydantic and database model.  However, in the OrmarCRUDRouter we are requiring the user to pass both a db_model and a schema. It might be better if we removed the db_model kwarg and passed the Ormar model as the 'schema'. Or vice versa.
Thoughts?

Haha,, good point, that's what you end up if you copy too much from other backends 😂 for autoincrement or pk with default function you do not require the create model as with ormar they are optional and pydantic will not complain. So it should work pretty much straight out of the box. You prefer to keep schema or db model?

OK, so you can use just ormar but then the autoincrement primary key fields become optional, yet they are still there (as you very can overwrite autoincrement pk if needed). And since you actually pass the id=0 in your sample (which I also don't like as usually it should start from 1 not 0, but I assume you had to pass any integer in order to create pydantic model as field was required).
As in I think 100% of test you later call model.dict() to be able to either send the data or compare it to response I simply changed them to dicts (and adjusted tests). That way the useless id can be dropped, and id is not explicitly passed to API (unless required like in string pk tests. I think it's also cleaner as you don't have to explicitly call dict() so many times)
I unified the name of the primary key field in backends, as it was different in some of them (now it's always self._pk, maybe it should also be set explicitly in mem backend), and the actual name of the pk was not passed to schema generation function, when the custom id was used (it was always hardcoded 'id').
Let me know what you think about the changes.

It all looks good to me on my end. Thank so much for your help!

Happy to help and keep up the great work!
Let me know if you want me to do anything else before you can merge this :)

My last concern before we merge this is the potential for database IntegrityError's in the create and update routes.  In the sqlalchemy router as an example, we try catch both the create and update queries (Returning a 422 should it fail). Not sure how this is handled in Ormar.
fastapi_crudrouter/core/sqlalchemy.py
    def _create(self, *args: Any, **kwargs: Any) -> Callable:
        def route(
            model: self.create_schema,  # type: ignore
            db: Session = Depends(self.db_func),
        ) -> TM:
            try:
                db_model = self.db_model(**model.dict())
                db.add(db_model)
                db.commit()
                db.refresh(db_model)
                return db_model
            except IntegrityError:
                db.rollback()
                raise HTTPException(422, "Key already exists")

        return route

    def _update(self, *args: Any, **kwargs: Any) -> Callable:
        def route(
            item_id: self._pk_type,  # type: ignore
            model: self.update_schema,  # type: ignore
            db: Session = Depends(self.db_func),
        ) -> TM:
            try:
                db_model = self._get_one()(item_id, db)

                for key, value in model.dict(exclude={self._pk}).items():
                    if hasattr(db_model, key):
                        setattr(db_model, key, value)

                db.commit()
                db.refresh(db_model)

                return db_model
            except IntegrityError as e:
                db.rollback()
                raise HTTPException(422, ", ".join(e.args))

        return route

Thoughts? After this I am good to merge.

Now it does nothing :)
So will just throw IntegrityError (db backend specific, so one of different 3 for sqlite, mysql and pg).
You want to return 422 in this case?

Now it does nothing :)
So will just throw IntegrityError (db backend specific, so one of different 3 for sqlite, mysql and pg).
You want to return 422 in this case?

Yup that sounds good to me. #49

Ok I:

added IntegrityError to ormar for all database backends.
checked ormar backend also with mysql and postgress -> that's why I changed TestClient to context_managers, that way startup/shutdown events are triggered and i.e. db is connected (this is not required for sqlite but is for other db backends).
Refactored sqlalchemy integrity test into a common one, as you probably would want to add this for other backends too, and now it's a new implementation/client as other tests.

Awesome thanks for all the help. Great work as always.  Been meaning to refactor out the integrity error tests so thanks for that


nvidia-settings terminated by signal SIGSEGV

Describe the bug
nvidia-settings tries to access /usr/share/glvnd/egl_vendor.d instead of /run/opengl-driver/share/glvnd/egl_vendor.d then crashes.
Snippet from strace:
openat(AT_FDCWD, "/etc/glvnd/egl_vendor.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 11
newfstatat(11, "", {st_mode=S_IFDIR|0755, st_size=0, ...}, AT_EMPTY_PATH) = 0
getdents64(11, 0x1cc4c40 /* 2 entries */, 32768) = 48
getdents64(11, 0x1cc4c40 /* 0 entries */, 32768) = 0
close(11)                               = 0
openat(AT_FDCWD, "/usr/share/glvnd/egl_vendor.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
futex(0x7f73b6f1f240, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
futex(0x7f73b1dbe544, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x103} ---

A bit more digging:
This doesn't run
> __EGL_VENDOR_LIBRARY_DIRS=/run/opengl-driver/share/glvnd/egl_vendor.d/ nvidia-settings

This runs
> __EGL_VENDOR_LIBRARY_DIRS= nvidia-settings

Steps To Reproduce
Run nvidia-settings on X11 (not XWayland).
Tested with version 510.60.02.

find library=libEGL.so.1 [0]; searching
    search path=/nix/store/dh82g04aigzpkx1777zxai1sm6fgz5fd-pipewire-0.3.51-jack/lib               (LD_LIBRARY_PATH)
    trying file=/nix/store/dh82g04aigzpkx1777zxai1sm6fgz5fd-pipewire-0.3.51-jack/lib/libEGL.so.1
    search path=... (RUNPATH from file /nix/store/041cbywg8gl0pini28dkvky0awr2akkn-nvidia-settings-510.68.02/lib/libnvidia-gtk3.so.510.68.02)
    trying file=/nix/store/9nyx7b6hz5adnbdd6rhgz68jywfp1zss-cairo-1.16.0/lib/libEGL.so.1
    trying file=/nix/store/0dd91b1ljj30nb1izbgcyq3np4lsp8m3-pixman-0.38.4/lib/libEGL.so.1
    trying file=/nix/store/y1ifzmrmfrl04xss0h8pqx1fkx7gylzx-fontconfig-2.13.94-lib/lib/libEGL.so.1
    trying file=/nix/store/486nv7nxzl9cd7zsjf28xspj7bbchshd-freetype-2.12.0/lib/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/glibc-hwcaps/x86-64-v3/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/glibc-hwcaps/x86-64-v2/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/tls/x86_64/x86_64/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/tls/x86_64/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/tls/x86_64/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/tls/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/x86_64/x86_64/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/x86_64/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/x86_64/libEGL.so.1
    trying file=/nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/libEGL.so.1
...
calling init: /nix/store/6qkc1lyfaqx3h5l3gs0xhmq6nc9v9wgg-libglvnd-1.4.0/lib/libEGL.so.1
...
calling init: /nix/store/s1hcp4n0k7s978fq2savk3nv8886xjw6-nvidia-x11-510.68.02-5.17.5/lib/libEGL_nvidia.so.0
...
calling init: /nix/store/56jjbrm8iczyvrfv9z3jvlkpxpfifpjb-mesa-22.0.2-drivers/lib/libEGL_mesa.so.0

I just encountered this issue as well. Any ideas @abdelq ? Here's my output:
$ env LD_DEBUG=libs nvidia-settings 2>&1 | grep libEGL
     31359:	find library=libEGL.so.1 [0]; searching
     31359:	  trying file=/etc/sane-libs/libEGL.so.1
     31359:	  trying file=/nix/store/361la7kki1jhy1kbh226d4pxnapmklxw-cairo-1.16.0/lib/libEGL.so.1
     31359:	  trying file=/nix/store/gyyjf66hpmqqza2y6c5pj4flp2kzkzgr-pixman-0.42.2/lib/libEGL.so.1
     31359:	  trying file=/nix/store/i2q7hxf8pz4jy5255758msppdscqh6gi-fontconfig-2.14.2-lib/lib/libEGL.so.1
     31359:	  trying file=/nix/store/2f8d23294hw4wcxwy748qrr1279vfk4y-freetype-2.13.0/lib/libEGL.so.1
     31359:	  trying file=/nix/store/1k87lf3ar245hg06kw4fynv4vmcj6pzc-libglvnd-1.6.0/lib/glibc-hwcaps/x86-64-v3/libEGL.so.1
     31359:	  trying file=/nix/store/1k87lf3ar245hg06kw4fynv4vmcj6pzc-libglvnd-1.6.0/lib/glibc-hwcaps/x86-64-v2/libEGL.so.1
     31359:	  trying file=/nix/store/1k87lf3ar245hg06kw4fynv4vmcj6pzc-libglvnd-1.6.0/lib/libEGL.so.1
     31359:	calling init: /nix/store/1k87lf3ar245hg06kw4fynv4vmcj6pzc-libglvnd-1.6.0/lib/libEGL.so.1

@doronbehar That trace appears to be working as intended, its using the patched glvnd loader.
Could it be that your issue is actually https://github.com/NixOS/nixpkgs/issues/248119?


Authentication error

Getting below error during app installation.
GuzzleHttp\Exception\ClientException
Client error: POST https://deroy-theme-app.myshopify.com/admin/oauth/access_token resulted in a 400 Bad Request response:
https://simple-wishlist.test/authenticate?code=d422372968fe1ff0369ceca20cbb5194&hmac=0369aefe2eb0a0e3b8ff00276dfd91f7cfc8875656cf5f75973d44deea4933ee&shop=deroy-theme-app.myshopify.com&timestamp=1595496677

Please fill in template.


improve project description

The description of BibJSON on this page is an excellent conceptual introduction to the idea of a standard JSON format for specific domains. Mimic some of the prose from this page in improving the way Daffodil is explained.

This repo already follows a fairly similar and readable format. Closing this for now.


Fix typo in README of Storytelling module

 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.


Installation Problem

I am trying to install this widget in mac machine. I went to my Yii2-advanced project folder in terminal and I ran this command

composer require 2amigos/yii2-date-picker-widget:~1.0

After that it gives me this error:-

Your requirements could not be resolved to an installable set of packages.

Problem 1

2amigos/yii2-date-picker-widget 1.0.5 requires bower-asset/bootstrap-datepicker 1.4.0 -> no matching package found.
2amigos/yii2-date-picker-widget 1.0.4 requires bower-asset/bootstrap-datepicker 1.4.0 -> no matching package found.
2amigos/yii2-date-picker-widget 1.0.3 requires bower-asset/bootstrap-datepicker 1.4.0 -> no matching package found.
2amigos/yii2-date-picker-widget 1.0.2 requires bower-asset/bootstrap-datepicker 1.4.0 -> no matching package found.
2amigos/yii2-date-picker-widget 1.0.1 requires bower-asset/bootstrap-datepicker 1.4.0 -> no matching package found.
2amigos/yii2-date-picker-widget 1.0.0 requires bower-asset/bootstrap-datepicker 1.4.0 -> no matching package found.
Installation request for 2amigos/yii2-date-picker-widget ~1.0 -> satisfiable by 2amigos/yii2-date-picker-widget[1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5].

Side Note:- I don't have bootstrap-datepicker in my composer.json file

@yogeshs1989 is on our composer: https://github.com/2amigos/yii2-date-picker-widget/blob/master/composer.json#L31
Do you have the bower plugin installed for composer?

Yeah, it is installed, I forgot to mention the minimum stability is set to stable in my composer.

"minimum-stability": "stable",

And because of that this error was occurring. After using below line the problem is resolved.

"2amigos/yii2-date-picker-widget": "@dev"

I am getting below error while installing plugin using composer in yii2. Any help or suggestion.

$ php composer.phar require 2amigos/yii2-gallery-widget:~1.0

./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- 2amigos/yii2-gallery-widget 1.0.3 requires bower-asset/blueimp-gallery ~2.17.0 -> no matching package found.
- 2amigos/yii2-gallery-widget 1.0.2 requires bower-asset/blueimp-gallery ~2.15.0 -> no matching package found.
- 2amigos/yii2-gallery-widget 1.0.1 requires bower-asset/blueimp-gallery ~2.15.0 -> no matching package found.
- 2amigos/yii2-gallery-widget 1.0.0 requires bower-asset/blueimp-gallery ~2.15 -> no matching package found.
- Installation request for 2amigos/yii2-gallery-widget ~1.0 -> satisfiable by 2amigos/yii2-gallery-widget[1.0.0, 1.0.1, 1.0.2, 1.0.3].
Potential causes:

A typo in the package name
The package is not available in a stable-enough version according to your minimum-stability setting
see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details.

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Installation failed, reverting ./composer.json to its original content.


Check Javascript Payload Formatter examples

Summary

Received feedback that the Javascript payload formatters do not work when copy and pasted in the Console. Also, more examples would be useful.
https://www.thethingsindustries.com/docs/integrations/payload-formatters/javascript/

I just reproduced this and the output was slightly different than what's in the doc (setup instead of button), so I fixed that.
Then I tried reproducing this and got stuck. It seems that the output is always the same (FF), no matter which color index one tries to return. I wanted to test the function outside TTS environment so I tried this:
var input = '{"data":{"color":"green"}}';

function encodeDownlink(input) {
  var colors = ["red", "green", "blue"];
  var parsed_input = JSON.parse(input);
  var color = parsed_input.data.color;
  return {
    bytes: [colors.indexOf(color)],
    fPort: 4,
  };
}

console.log(encodeDownlink(input));

and I'm getting the expected result, although I had to implement the JSON.parse() method in order to make this code work. I tried the same thing on TTS side without success (getting an error errorSyntaxError: invalid character 'o' looking for beginning of value at parse (native)), so now I'm not sure if I'm missing something related to this method or there's really an issue with this? @kschiffer any ideas?

I can confirm this issue and this appears to be an issue originating from the backend. @johanstokking do you know what is going on?
I've output the input also to the warning array and it gets output as an empty string:
function encodeDownlink(input) {
  var colors = ["red", "green", "blue"];
  return {
    bytes: [colors.indexOf(input.data.color)],
    warnings: [input.data.color],
    fPort: 4,
  }
}

// Test payload
{
  "data": {
    "color": "blue"
  }
}

// POST http://localhost:8080/api/v3/as/applications/arsars/devices/eui-1231231231212123/down/encode
{
   "downlink":{
      "f_port":4,
      "frm_payload":"/w==", // 0
      "decoded_payload":{
         "data":{
            "color":"blue"
         }
      },
      "decoded_payload_warnings":[
         ""
      ]
   }
}

It looks like the encoders and decoders are messed up here.
The encoded frm_payload in the last snippet above (/w==) is 0xFF. That can only be the result of the uplink decoder, not the downlink encoder.

Ok, I get what the problem is:
{
  "data": {
    "color": "blue"
  }
}

like the docs suggest is not the correct structure. It's not required to include the data prop.
{ "color": "blue" }

Works.

Ok, I get what the problem is:
{
  "data": {
    "color": "blue"
  }
}

like the docs suggest is not the correct structure. It's not required to include the data prop.
{ "color": "blue" }

Works.

I've been trying to reproduce this, but some things are confusing me and I'd like to understand them in order to make the documentation as clear as possible. I have to highlight that I don't have a connected device at the moment, so I'm just blindly scheduling downlinks to see what's happening in the Console.
When I use the following downlink formatter:
function encodeDownlink(input) {
  var colors = ["red", "green", "blue"];
  return {
    bytes: [colors.indexOf(input.data.color)],
    warnings: [input.data.color],
    fPort: 4,
  }
}

and schedule a downlink message from the Console with the following payload on FPort 1:
{
    "color": "blue"
}

I get three events as a result. The first one is as.down.data.receive containing the following fields (I'm posting only relevant fields):
"data": {
    "f_port": 1,
    "decoded_payload": {
      "color": "blue"
    }
  }

The second one is as.down.data.encode.warning, containing these fields:
"data": {
    "f_port": 4,
    "frm_payload": "Ag==",
    "decoded_payload": {
      "color": "blue"
    },
    "decoded_payload_warnings": [
      "blue"
    ]
  }

where we can clearly see the frm_payload as a result of the encodeDownlink() function. The third event is as.down.data.forward, containing the same fields as in as.down.data.receive:
"data": {
    "f_port": 1,
    "decoded_payload": {
      "color": "blue"
    }
  }

I understand the first and the second event, but third event is confusing me. I was expecting that the AS would be forwarding an encoded message.
Now, the second scenario. When I remove this line warnings: [input.data.color] from the formatter, i.e.:
function encodeDownlink(input) {
  var colors = ["red", "green", "blue"];
  return {
    bytes: [colors.indexOf(input.data.color)],
    fPort: 4,
  }
}

and schedule the downlink with the same payload and on the same FPort as above, I only see two events, as.down.data.receive and as.down.data.forward. Both of those events contain the same data as in the first scenario, but neither of those events contains the frm_payload. Is this expected? It was not really intuitive to me that I only see the encoding output when I use warnings.

I also cannot figure out how to use decodeDownlink() function. Do I need to put it after encodeDownlink()?
As far as I understand from here, the downlink payload formatter would have both of these functions one after another, and when I schedule a downlink with the following JSON payload:
{
    "color": "blue"
}

I would see event containing both frm_payload and decoded_payload fields, but I don't see that. I also don't see downlink_message field at all, I only see data field. Is this because I don't have a device connected?
This confuses me because, for example, when I schedule an uplink from the Console, I can see the as.up.data.forward event and uplink_message field in it.

I submitted a fix for the issue that the forwarded downlink event does not contain the data that is actually being forwarded to NS, namely the encoded and encrypted downlink. See #5241. Hope that clarifies.
Regarding the downlink decoder; it's the inverse of the downlink encoder. The downlink decoder decodes decrypted FRMPayload into an object, just like the uplink decoder. The reason we have a downlink decoder is to represent the data structure if we only have the binary payload available, i.e. when a downlink related event was received from the Network Server.

I would see event containing both frm_payload and decoded_payload fields, but I don't see that. I also don't see downlink_message field at all, I only see data field. Is this because I don't have a device connected?

Can you clarify this?

I submitted a fix for the issue that the forwarded downlink event does not contain the data that is actually being forwarded to NS, namely the encoded and encrypted downlink. See https://github.com/TheThingsNetwork/lorawan-stack/pull/5241. Hope that clarifies.

This will for sure eliminate some questions.

Can you clarify this?

This section says that if the downlink payload formatter looks like this:
function decodeDownlink(input) {
  switch (input.fPort) {
  case 4:
    return {
      data: {
        color: ["red", "green", "blue"][input.bytes[0]]
      }
    }
  default:
    throw Error("unknown FPort");
  }
}

and you schedule a downlink on an FPort 4 with payload as bytes 02, the resulting downlink message would contain the following:
{
  "downlink_message": {
    "f_port": 4,
    "frm_payload": "Ag==",
    "decoded_payload": {
      "color": "blue"
    }
  }
}

meaning the bytes from the payload (02) should be decoded using the function above and visible under decoded_payloadobject. The issue is that I don't see that. I see this:
"data": {
    "f_port": 4,
    "frm_payload": "Ag=="
  }

Now I'm not sure if the problem is me misinterpreting the docs (or missing something else), or the docs aren't accurate 🤷♀

The issue is that I don't see that. I see this a downstream event that contains:
"data": {
    "f_port": 4,
    "frm_payload": "Ag=="
  }

The downstream event indeed doesn't run the decoder.
If you would be listing the downlink queue, or if you would be observing downlink events like downlink sent, you should see them.
I think that indeed we have a discrepancy between downlink message events that are generated by AS (like queued) and by NS (like sent), where the former aren't ran through the downlink decoder but the latter are.

Downlink messages sent upstream as part of events or downlink queue operations are therefore decoded, just like uplink messages.

but I don't see any upstream event in the Console when I schedule the above mentioned downlink. Is this maybe why I don't see the decoded payload anywhere?

So I think indeed the answer is yes.

This object does contain decoded_payload indeed, but that field isn't a result of downlink payload decoding, because I see the same content in this event even when I completely remove the decodeDownlink() from payload formatter. I again don't see any upstream events though..

Right, that decoded downlink is what you scheduled, not what has been decoded from binary payload.

@adriansmares if binary payload is being scheduled and there is a downlink decoder, should we also run the downlink decoder on the binary payload, just to complete the decoded_payload in any upstream messages, including downlink queued events?

@adriansmares if binary payload is being scheduled and there is a downlink decoder, should we also run the downlink decoder on the binary payload, just to complete the decoded_payload in any upstream messages, including downlink queued events?

The answer is obviously yes, but isn't this happening already ? We run the downlink decoder on:

Downlink queue list
Downlink nack/queued/sent/failed/ack

What other call sites are we missing ? Maybe we're sending the pre-decoded message in some events.

Downlink nack/queued/sent/failed/ack

What other call sites are we missing ? Maybe we're sending the pre-decoded message in some events.

I'm specifically talking about the downlink queued event. It looks like we have two occasions it gets sent:

https://github.com/TheThingsNetwork/lorawan-stack/blob/v3.18/pkg/applicationserver/applicationserver.go#L732-L733. However, I don't think Network Server sends this event at all
https://github.com/TheThingsNetwork/lorawan-stack/blob/v3.18/pkg/applicationserver/observability.go#L352-L357. This is called directly from the downlink queue operation method on a queue push or replace call. There is no code path here that decodes downlink

I think we can remove (1) and call decodeDownlink() on the downlink queue operation.
ACK?

ACK x2.

@nejraselimovic this issue now also tracks the TTS changes mentioned in https://github.com/TheThingsIndustries/lorawan-stack-docs/issues/710#issuecomment-1049622876. I'll pick that up.
Is everything clear for your for the documentation part now?

@nejraselimovic this issue now also tracks the TTS changes mentioned in #710 (comment). I'll pick that up.
Is everything clear for your for the documentation part now?

Yes, thank you for explaining and for suggesting those changes!

I decided to file an actual issue for this so I can track it in a version milestone.


Searching for \ gives a 404.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to https://docs.raku.org/
Click on the search bar
Type \
Press enter to accept the first entry, for the syntax documentation for \.
You will be sent to https://docs.raku.org/syntax/\ , which is a 404 page.

Expected behavior
Searching for \ should return syntax documentation for \.
Desktop (please complete the following information):

OS: Linux
Browser: Vivaldi (Chromium-based)
Version 6.1.3035.302

Thank you for the report.
It seems to me that this URL is actually invalid, with a couple of others that the search can recommend. Both archive.org and Altai_man's still running alternative site miss content for it.
I found a few similarly problematic recommendations when typing . into the search bar:

the first one points to https://docs.raku.org/routine/ which is 404 on the new site and checking the archive version, it was outright faulty on the old site, resolving to index. Altai_man's version returned a dummy page which I think is still more valid
the second one points to https://docs.raku.org/syntax/ which is currently an arbitrary "From language/5to6-nutshell" entry, even though it didn't use to exist and it's a custom 404 site on Altai_man's site as well
the third one seems to act as a "folder up" hard link and takes you outright to https://docs.raku.org/

For comparison, the ... entry of the search works properly.

One of these cases, \ does not cause a problem with the new search routine. It should be linking to UNSPACE in syntax.

@defaultxr @2colours The fault for . is due to incorrect escaping. The regex is fixed in the new search routine. Please test on new-raku development site
\ is not working with new-raku, but works with cro-app. More investigation is needed.
The problem is only with \ on its own. When used with another character, it works, eg. \c.

Please test on new-raku development site

. works on the new site, but \ does not appear to work on it (as you mentioned).

Fortunately, I decided to check it for myself. I don't know what you guys mean by "works". For me, it's the exact same behavior as it used to be, yes, on the new-raku development site. The . from language/regexes points to https://new-raku.finanalyst.org/syntax/ which is still a "Perl to Raku" introduction, the . from language/operators points to https://new-raku.finanalyst.org/routine/ which is still a custom 404 page, and .. from language/operators still takes back to the main site https://new-raku.finanalyst.org/.

@2colours I just checked the behaviour on new-raku. Like @defaultxr , searching on . gives me a few options. The one labelled 'from /regexes' generates a URL with .../syntax/. and opens to a valid file, the one labelled 'from /operators' generates a URL with .../routines/. and also opens to a valid file.
Please make sure that you are not getting an old cached version of the web site. Let me know if you still have a problem with . and ...
I'm very puzzled by the \ candidate, so I'm looking at it soon.

@finanalyst I have just opened it in a different browser that I haven't used in years and I get the same (wrong) behavior.

@2colours please share which browsers you have tested, and which OS.

I am wondering whether the problem is related to using URLs with '.' '..' '' (when they are the only characters) as file names (when \ or . are combined with another character, the problem disappears). I think we are at the bleeding edge here.
We may need to rename the source so that eg '.' is rewritten as . <character> and \<space>

Running a Windows 10, build 19045, main browser is Maxthon <IP_ADDRESS>0 (with useragent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36) but I get the same behavior with Microsoft Edge 117.0.2045.43 (user agent is Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/117.0.2045.43).
And indeed I can type the link with syntax/. all I want, I get syntax/.

@2colours The URL actually passed by the search engine is 'syntax/%2E' which should be shown as syntax/. This is the behaviour for all other Unicode characters.
So I think the safest workaround is to change the source for these three items. They are all in Language/operators.rakudoc (I think).
Also, just for clarity, the section on 'UNSPACE' should be labelled in some way as \ followed by space, because it should be \    , not \. The trailing white space is trimmed by the regexes.
My suggestions would be

. (single period)
.. (double period)
\  (backslash followed by space[s])

I think that's fair enough. (By the way, indeed: even if I type syntax/%2E in the URL, it wil still be reduced to nothing after the slash.)

@2colours I am trying to fix this in the secondaries plugin, so that it doesn't NEED fixing in the sources. However, I think the sources should be fixed in any case for the sake of clarity.
Also I discovered another anomaly. Some composite files are named syntax/ and others routine/. The changes are related to how the information is gathered. But I do not see any reason for this distinction.
In particular there is a file syntax/. and also routine/. The logic of having Composite pages is to gather information about the same name but in different contexts. So I would think there should only be one . (as a name) composite file.
What do you think? Unless you can think of a reason, I will raise an issue in the Docs/ repo.

Yes, probably... honestly, I don't know how this works. There are a lot of syntax/ links out there, even for stuff that doesn't seem like syntax to me. But if there is some basis to the distinction, probably the only reason why both syntax/. and routine/. should exist is if the dot is so overloaded that it has meaning for both categories.

@2colours I just discovered that if you type \ into the browser, you get it automatically made into a / !!!

@2colours @defaultxr I think I have solved this problem.
Try new-raku eg reference
Try typing \ or . (there are two separate entries, try both) or ..
They all should go to some appropriate content
If you can get these to work, then I'll put in a PR here.

This is now fixed. Closing. @2colours please re-open if you still get problems.

Yes, this looks good. Thank you.


[MM-40860] Fix long translations in status update modal

Summary
This PR fixes longer translations in the status update modal

Ticket Link
Fixes: https://mattermost.atlassian.net/browse/MM-40860
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

@calebroseland nowrap will not fix that. This will still happen because there is not enough real estate, when we compress the page.

Without compression it looks good either way.

Thoughts what could be done?


ignores in config not work

I want to ignore some directories once the rsync is launched to the remote but it doesn't work. My "doc" directory is still present
module.exports = shipit => {
  require("shipit-deploy")(shipit);

  const cakeShared = require("./shared/cake");

  shipit.initConfig({
    default: {
      servers: "...",
      repositoryUrl: "git@github.com:.../...",
      shallowClone: false,
      keepReleases: 3,
      deleteOnRollback: false,
      ignores: [
        "doc"
      ],
    },
    preprod: {
      deployTo: "/.../preprod",
      branch: "develop",
      workspace: "/tmp/app-develop"
    },
    production: {
      deployTo: "/.../production",
      branch: "master",
      workspace: "/tmp/app-master"
    }
  });
};

@ozee31 Is the "doc" folder inside the root project directory?

@utkarsh-dixit yes workspace path is /tmp/app-develop/doc

I am having the same issue. Did you find a solution for this?


Remove force unwrap

This PR remove some force unwrap that were unnecessary, to avoid crashes at runtime.

Any news on this?

Will take a look once i test your changes!


Implementing a Link struct and improving testing

I've done #2 by implementing a struct Link in a minimal way, but it does make the function calls cleaner and easier to follow.
I've improved the testing so that it is no longer hard coded but instead takes a (very specifically formatted) data file as input. Since this is just meant to be mostly lightweight testing, I think a cheap implementation is okay. If we wanted something more robust, I could re-implement some things of the testing in C++ or python, but that would likely require a more complicated build system.
With that, I am done editing.

Okay, I need to implement the additional test data on this side

I had to fight a little bit with the line endings, but I got the test suite working. (For some reason my editor wanted to make everything end like it was in windows.)
Once this PR is done, you can cut a new tarball/release and we can include that into Sage.

Right now, make test doesn't do anything, does it?
Also, I would like to fix som subtleties about the symbols exposed (the library should expose homfly_str, homfly and c_homfly, right?

make check runs the test suite, which in turn runs the tests/run_tests script.
Go ahead and fix what you need to.

I have pushed a small change in the Makefile.am that makes the compiler expose the three homfly symbols.


Add tests for English transcriptions with J and EE

Added Jack, happy, style, yellow, and phone to the list of English transliterations. I also fixed "green" and "there".

Pending discussion on design direction #31


Shorter symbol names for generated GPU code

Looking at (pull-g ...) output is very hard due to long prefixes for symbol names.
(c (sin (+ t1 (cos t1))))

CEPL_SHADERTOYUV_2594V.y = (CEPL_SHADERTOYX1_2596V * (sin(CEPL_SHADERTOYTT_2595V) * (CEPL_SHADERTOYY1_2597V * cos(CEPL_SHADERTOYTT_2595V))));

I am assuming this is due to global symbol space on the GPU?  Two solutions jump to mind:

pick short symbol prefix
while displaying, do not show the prefix (at least as an option)

Yes these names are terrible :D It was the fastest path to unique names but they do need fixing.
The way I expect I'll fix it is to:

add a 'seen names' pool to the compile task
if your name isnt in the pool you just use your name. So i in lisp would be i in the shader.
if you name is in the pool then a number is added to the end. So if there is a symbol called i from another namespace then it becomes i1 (or whatever)

This should give is the shortest no clashing names

Sounds good.

Moved to https://github.com/cbaggers/varjo/issues/50


API Integration for Search Order

Search order on the basis of application number, filing no, cnr number etc along with unit testing

This is implemented


Authenticode signing NuGet package

This is an amazing project! We're looking to use it internally at Microsoft and wondering whether you're willing to Authenticode sign your the DLLs in Scriban.Signed NuGet package

Hm, personally I would not pay for that from my pocket... but I think that dotnet foundation might be able to provide that.
I can see how much work it would be to require to move Scriban to the .NET foundation if you want?


Upgrade dbus from 1.15.2 to 1.15.8

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[ ] The toolchain has been rebuilt successfully (or no changes were made to it)
[ ] The toolchain/worker package manifests are up-to-date
[ ] Any updated packages successfully build (or no packages were changed)
[ ] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[ ] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[ ] All package sources are available
[ ] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[ ] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[ ] All source files have up-to-date hashes in the *.signatures.json files
[ ] sudo make go-tidy-all and sudo make go-test-coverage pass
[ ] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

Upgrade dbus for 3.0 from 1.15.2 to 1.15.8
Change Log

Update version
Update source tar
Update spec build bits

Does this affect the toolchain?
NO
Associated issues
Links to CVEs
Test Methodology

https://dev.azure.com/mariner-org/mariner/_build/results?buildId=483059&view=results

validated RPM install locally using VM:
rpm -Uv --nodeps $(ls dbus*)
Verifying packages...
Preparing packages...
dbus-1.15.8-1.azl3.x86_64
dbus-devel-1.15.8-1.azl3.x86_64
dbus-debuginfo-1.15.8-1.azl3.x86_64
dbus-1.15.2-4.azl3.x86_64

should dbus-daemon be added? it is needed for some of the testing in libvirt 10.0.0.

needed for testing tpm2-pkcs11 specifically (which is needed for swtpm ... which is a dependency for libvirt)

should dbus-daemon be added? it is needed for some of the testing in libvirt 10.0.0.

needed for testing tpm2-pkcs11 specifically (which is needed for swtpm ... which is a dependency for libvirt)

can be added when tpm2-pkcs11 is added.