[ios] scenario_app flakey: timeout finding platform view

example log:
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8875143050159392704/+/steps/Scenario_App_Integration_Tests/0/stdout?format=raw
failure notice:
MultiplePlatformViewsBackgroundForegroundTest
  testPlatformView, failed - It took longer than 30 second to find the platform view.There might be issues with the platform view's construction,or with how the scenario is built.
  GoldenPlatformViewTests.m:45

PlatformViewMutationClipRectTests
  testPlatformView, failed - It took longer than 30 second to find the platform view.There might be issues with the platform view's construction,or with how the scenario is built.
  GoldenPlatformViewTests.m:45

test results log:
https://ci.chromium.org/p/flutter/builders/try/Mac iOS Engine
cc @jmagman @zanderso @blasten

This flake is blocking an unhealthy number of outstanding engine PRs, so I am going to mark this P0, and assign @gaaclarke and @jmagman, but please reach out to others for help as needed. Thanks!
FYI @xster @tvolkert

@cyanglaz @blasten for the platform view test

https://docs.google.com/spreadsheets/d/1973hyqNxiaTKiddPeZgUkmTIAtrFj64ut3Wsv1xkjfQ/edit#gid=0
10 of the last 50 runs (20%) were scenario_app failures.  None of them match the original reported issue and almost none of the failures match each other.

In ScenariosUITests: I've been running Xcode 11.0 like the bot and @gaaclarke is running Xcode 11.5 and running from the command line we both get:
    t =     4.09s             Assertion Failure: GoldenPlatformViewTests.m:40: Failed to get matching snapshots: Lost connection to the application (pid 68532).

at
https://github.com/flutter/engine/blob/91ccdbe7f1593f21a224a2859e15e657bac573c2/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.m#L40
In Xcode 12 I don't see that error.  I ran the test 50 times and it failed 7 times, though again not in the same way:
    t =     4.95s     Checking `Expect predicate `exists == 1` for object TextView`
    t =     4.95s         Checking existence of `TextView`
    t =     4.97s Tear Down
    t =     4.97s Checking for crash reports corresponding to unexpected termination of dev.flutter.Scenarios

But there's no crash found.  And in the simulator logs it shows the view is being found.
I haven't seen
testMultiplePlatformViewsWithOverlays, ((platform_view1.exists) is true) failed
-[_NSStdIOFileHandle writeData:]: Broken pipe
or any of the other ways this gas flaked on the bots.
Some suggestions for tracking this down:

Upgrade the test bots to Xcode 11.5 and macOS 10.15.2.
Remove xcpretty to see all the Xcode logging.
Turn off screen shot UI testing to get rid of all the Details:  Error writing attachment data to file (which I don't see in Xcode 12, which is only in beta so at least they fixed that).  Note I mean this checkbox, not the golden vs XCTAttachment checks:

Audit work being done in -[XCTestCase init] methods and move to -setUp (I don't think this is actually causing problems leaking state between tests because there only seems to be one test per XCTestCase class that's doing that.  It may cause issues when the second test is someday added, though.
Run flutter log -d <simulator-id> right when the XCUITest starts, then output that somewhere so we can see engine and other app process logging.

FWIW I've run the tests about a hundred times inside of Xcode.  The only test i've seen fail occasionally is testPlatformViewsMaxOverlays randomly, XCTAssertEqual(overlay.frame.origin.x, 75); is showing up 25.  That doesn't match any of the failures of the bot.

@godofredoc mentioned this may be related to https://github.com/flutter/flutter/issues/61238

XCTAssertEqual(overlay.frame.origin.x, 75);` is showing up 25

I forgot to mention I also saw that occasionally, most recently in Xcode 12 (not command line)

I'm also seeing this crash, which isn't in any bot failures I can see:
    t =     1.24s             Assertion Failure: <unknown>:0: Scenarios crashed in main

Scenarios.crash.txt
Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called
CoreSimulator 725.10 - Device: iPhone 8 (C92DFEF9-00FD-4E4D-A3C9-EDAC2B8C44BE) - Runtime: iOS 13.0 (17A577a) - DeviceType: iPhone 8

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff5137833a __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff51422e60 pthread_kill + 430
2   libsystem_c.dylib             	0x00007fff51308a5c abort + 120
3   Flutter                       	0x0000000111fff405 fml::LogMessage::~LogMessage() + 117
4   Flutter                       	0x0000000111fff555 fml::LogMessage::~LogMessage() + 21 (logging.cc:94)

Alongside Assertion Failure: PlatformViewGestureRecognizerTests.m:31: Failed to get matching snapshots: Error getting main window kAXErrorServerNotFound messages @gaaclarke was also seeing.

Here is another example of scenario_app failing as a result of a broken pipe:
2020-07-10 15:11:49.083 xcodebuild[40597:525294] NSFileHandle couldn't write. Exception: *** -[_NSStdIOFileHandle writeData:]: Broken pipe

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8875129437967701888/+/steps/Scenario_App_Integration_Tests/0/stdout
We've seen this a few times on the bots.  This seems to point to something funky happening on these test machines.  That error is never reproduced locally and sounds like it could have some hardware dependency.

Edit: this could also be the result of maxing out the number of open files: ulimit -n

Android tests set the file descriptor limit at https://github.com/flutter/engine/blob/a0ec52886b5858076f330221864f6580e69ad041/testing/scenario_app/android/gradlew#L98

@jmagman Currently, the Android tests aren't running on LUCI

This flake caused https://github.com/flutter/engine/pull/19709 to be closed.

Happened here on one of my PRs: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8875119833665730656/+/steps/Scenario_App_Integration_Tests/0/stdout

I ran the tests with MallocPreScribble enabled eliminate the possibility that there is some non-deterministic bug with memory management.  The tests all passed.

I asked @godofredoc to check the ulimit values for the machine and they don't seem problematic:
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 2500
virtual memory          (kbytes, -v) unlimited

One race may be that the platform_view existence is being checked right after the app is launched a split second before the engine has rendered it.  https://github.com/flutter/engine/pull/19725

There's a few things going on here, put in the following categories:
Flaky tests
UnobstructedPlatformViewTests
Assertion Failure: UnobstructedPlatformViewTests.m:132: ((platform_view.exists) is true) failed

Fixed with https://github.com/flutter/engine/pull/19725.
testPlatformView, failed - It took longer than 30 second to find the platform view
This error is accompanied by logs that say attachment data can't be saved:
2020-07-10 12:30:43.222 xcodebuild[47613:166731] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEFoundation/ProjectModel/ActionRecords/IDESchemeActionTestAttachment.m:218
Details:  Error writing attachment data to file /Users/swarming/Library/Developer/Xcode/DerivedData/Scenarios-efgskbqbyxwwrrfdsxqpswpwbbkb/Logs/Test/Test-Scenarios-2020.07.10_12-30-25--0700.xcresult/Staging/1_Test/Attachments/Screenshot_CDDA8491-5F82-41CF-ABFE-DDBD1FA6F1CB.jpg: Error Domain=NSCocoaErrorDomain Code=4 "The folder “Screenshot_CDDA8491-5F82-41CF-ABFE-DDBD1FA6F1CB.jpg” doesn’t exist." UserInfo={NSFilePath=/Users/swarming/Library/Developer/Xcode/DerivedData/Scenarios-efgskbqbyxwwrrfdsxqpswpwbbkb/Logs/Test/Test-Scenarios-2020.07.10_12-30-25--0700.xcresult/Staging/1_Test/Attachments/Screenshot_CDDA8491-5F82-41CF-ABFE-DDBD1FA6F1CB.jpg, NSUserStringVariant=Folder, NSUnderlyingError=0x7f8a5a7053a0 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
Object:   <IDESchemeActionTestAttachment: 0x7f8a5a732590>
Method:   -_savePayload:
Thread:   <NSThread: 0x7f8aaa4153d0>{number = 1, name = main}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.

I saw this warning from the command line with Xcode 11.0 and Xcode 11.5, but I never saw the timeout.  It seems to be fixed in Xcode 12.
I believe https://github.com/flutter/engine/pull/19668 will mitigate this one, no more screenshot attachments saved by Xcode automatically, or by our tests unless they are actually needed).  The Real Fix may not happen until the bots are updated to Xcode 12.
My guess is that Xcode is continuously trying and failing to save attachments?  And maybe even getting stuck from previous tests?
NSFileHandle couldn't write. Exception: *** -[_NSStdIOFileHandle writeData:]: Broken pipe
Hoping this is also mitigated by https://github.com/flutter/engine/pull/19668 but it may not be related.  We'll see when that merges.  Maybe an environment issue in the bots?
Diagnostic issues

We couldn't see the actual logging of what was failing.  xcpretty was removed with https://github.com/flutter/engine/pull/19667
The golden tests weren't passing locally, making it difficult to reproduce. Fixed with https://github.com/flutter/engine/pull/19658.  XCTAssertEqual(overlay.frame.origin.x, 75) failure was fixed in the same PR.
Bots are running Xcode 11.0.  This was easy to download, but the Apple certs have expired.  Had to use pbzx to unarchive.  After that, xcode-select -s and it wasn't really an issue.
Random crash only seeing locally, not on bots: https://github.com/flutter/flutter/issues/61402

Other notes

We had different test failures on Xcode 11, Xcode 11.5, and Xcode 12.  There's no action item here (for Flutter anyway), it just sucked.
Bots are running macOS 10.14.6, which is lower than our laptops, so we couldn't get the same test environment locally.  I don't have proof any issues were due to this OS version.

Next steps

Merge https://github.com/flutter/engine/pull/19668
Run a bunch of builds of master with led and see if we get any Scenario app failures.

Logs still showing test failures:
	ScenariosUITests:
		-[MultiplePlatformViewsBackgroundForegroundTest testPlatformView]
		-[PlatformViewMutationClipRRectTests testPlatformView]
		-[UnobstructedPlatformViewTests testTwoIntersectingOverlays]

scenario_app_log_5658.txt
It's really not finding any platform views for 30+ seconds.
    t =    32.59s     Checking `Expect predicate `exists == 1` for object TextView`
    t =    32.59s         Checking existence of `TextView`
    t =    32.60s         Capturing element debug description
[attachment saving error]
    t =    32.69s Checking existence of `TextView`
    t =    32.70s Assertion Failure: GoldenPlatformViewTests.m:45: failed - It took longer than 30 second to find the platform view.There might be issues with the platform view's construction,or with how the scenario is built.
    t =    32.70s Tear Down

After @jmagman patch removing xcpretty this appears to be a bug in the simulator, we should upgrade xcode.  The app is getting terminated.  That's why there are timeouts from the test.
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8874782287806430560/+/steps/Scenario_App_Integration_Tests/0/stdout
Test Suite 'MultiplePlatformViewsBackgroundForegroundTest' started at 2020-07-14 10:00:38.808
Test Case '-[MultiplePlatformViewsBackgroundForegroundTest testPlatformView]' started.
    t =     0.00s Start Test at 2020-07-14 10:00:38.809
    t =     0.00s Set Up
    t =     0.00s     Open dev.flutter.Scenarios
    t =     0.00s         Launch dev.flutter.Scenarios
    t =     0.00s             Terminate dev.flutter.Scenarios:77984
2020-07-14 10:00:40.079 xcodebuild[77689:758507] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/DVTiOSFrameworks/DVTiOSFrameworks-14802/IDEiOSSupportCore/DVTiPhoneSimulator.m:1890
Details:  [DVTiPhoneSimulator -primaryInstrumentsServer was called from the main thread
Object:   <DVTiPhoneSimulator: 0x7fb2a57f8020>
Method:   -primaryInstrumentsServerWithError:
Thread:   <NSThread: 0x7fb2a54153b0>{number = 1, name = main}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.

We should keep xcpretty removed from CI - it tends to swallow information when errors occur :\

@dnfield maybe we could store both logs since it is still nice having the xcpretty output.  If we have to chose just one, without xcpretty is better.

This SO article seems to suggest this bug was fixed in iOS 13.2 https://stackoverflow.com/a/58752523

That should be possible - you cna add attachments in LUCI, so we could have something in there that just pipes the output through XCPretty and attaches it.

I don't think xcpretty is worth it unless we're displaying something to users.  In CI either the test is passing and you don't need to look at it, or the test is failing and you need as much information as possible.

The test has not failed in a couple of days. I am dropping this from P0 -> P3.
@godofredoc @jmagman @gaaclarke Please file new issues for follow-on work, if any, and let's close this one.

The remaining is work is to identify why the machines in 1808 are failing tasks more frequently and randomly. This is the bug tracking the remaining work:
https://github.com/flutter/flutter/issues/61620

@godofredoc Thanks! Closing this one.


Serialization transfer.

Transferred:

[x] Serialization base;
[x] Serialization box;
[x] Serialization collection;
[x] Serialization composits;
[x] Serialization core;
[x] Serialization integrated types;
[x] Serialization export file;
[x] Serialization metadata;
[x] Serialization optionals;
[x] Serialization public API;
[x] Serialization struct;
[x] Serialization TypeMetaData;
[x] Text path;
[x] Text tokenizer;

Also:

[x] Optimized StructCttiDef;
[x] Fixed some namespace issues;
[x] Added missing CTTI file;
[x] Minor code formatting;

Please format "" in Cardinal.CTTI.Minimal.TypeTraits.StructDefintionBuild.h

Move second argument to next line https://github.com/nsubaru/Cardinal/blob/df223ea93216096d15cc67a05da609239cd2f225/Cardinal/Cardinal.Exceptions.Internals.ixx#L44

Remove export as it's private part
https://github.com/nsubaru/Cardinal/blob/df223ea93216096d15cc67a05da609239cd2f225/Cardinal/Cardinal.Serialization.TypeMetaRecord.ixx#L514

Remove anonymous namespace https://github.com/nsubaru/Cardinal/blob/df223ea93216096d15cc67a05da609239cd2f225/Cardinal/Cardinal.Text.Path.ixx#L778

Remove anonymous namespace
https://github.com/nsubaru/Cardinal/blob/df223ea93216096d15cc67a05da609239cd2f225/Cardinal/Cardinal.Text.Path.ixx#L787


Allow a callback to be passed as a parameter to withMessage()

Is it possible to have withMessage() accept a callback that would construct the message string ? For example to have access to VM instance.
Like this:
ValidationRules
  .ensure('field')
  .satisfies(() => !this.error)
  .withMessage(() => {
    return "There is an error " + this.error.message
  )

Try using:
const error = this.controller.addError(`There is an error  ${this.error.message}`, myObject, 'myField');
... later ...
this.controller.removeError(error);


Adding Unit Test from .NET Microframework

Adding Unit Test from .NET Microframework
Description
Adding Unit Test from .NET Microframework
Motivation and Context

related to #704
Still some Decoder tests will have to be added, none were existing

How Has This Been Tested?

All tests run and all is green

Screenshots

Types of changes

[x] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)

Checklist:

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

Note: SonarCloud adjusted to avoid security anyalize on Tests/**


Issues with two TCK tests

I'm struggling with these two tests
[ERROR]   EnforceQualifierTest>Arquillian.run:164->testFailureResponsePayload:57 expected [204] but found [200]
[ERROR]   NoProcedureSuccessfulTest>Arquillian.run:164->testSuccessResponsePayload:55 expected [200] but found [204]

As best as I can tell, they both mean that there are no checks, but for different reasons.  I cannot tell why they expect two different response codes.  There's potential data leakage if we leave it like this.
I would recommend that both tests look for 204's.

204 means no procedures found, in contrary to 200. The enforcer test should find a procedure, but the otherone not. If both fail, something must be wrong with your setup, rather than the test themselves

You're correct, this is the output from two different test runs.  Sorry if that wasn't clear.
Why do you believe the enforcer test should find a health check?  My understanding of @Health is that it causes the check to not be discovered.

Quite the contrary: @Health should be used for discovery

Take a look at the readme

Then why is NoProcedureSuccessfulTest expecting a 200 instead of a 204?

ok, I see what's going on. The above description I supplied are not valid anymore. With #3 (See Scott changes), the the way to identify the case of "no procedures installed" is no longer 204, but 200 with an empty body instead.
So if your impl still returns 204 for the NoProcedureSuccessfulTest then it probably needs to be updated to reflect the changes in #3. The other test EnforceQualifierTest should return 200 with empty body as well (no procedures should be found when the annotation is not present), but apparently this wasn't updated with #3. We need to fix that assertion.

@johnament I've merged #72 to correct the assertion

Ok, that looks better.
#70 is my last issue as of now.


torchmetric freezes the training

When I use torchmetrics in my pytorch code, training gets stuck in waiting for a process.
Please consider this code:
metrics_avg = ["micro", "macro", "weighted"]
self.metrics = [Accuracy(average=t, num_classes=n_classes) for t in metrics_avg]
self.metrics_avg = metrics_avg
[...]
print("resetting metrics")
for m in self.metrics:
      m.reset()
 print("done")

# epoch
for bi, (images, labels, text) in enumerate(dl):
       if bi == 0:
           print("IMAGES:", images.shape)
           print("LABELS:", labels.shape)
           print("TEXT:", text.shape)

       _, _, semantic_features = self.cnn(images)

      [...]
      # > 1
      for m in self.metrics:
            m(semantic_features, labels.long())
      # < 1
[...]

The training very often, but not always, gets stuck and only the information on the batch are printed. If I interrupt the process while nothing is happening, I get this error message:
^CError in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/opt/conda/envs/torch/lib/python3.8/multiprocessing/popen_fork.py", line 27, in poll
    pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt

As soon as I remove the code for the metrics (indicated with #>1 and #<1) everything goes back to normal.
What am I doing wrong?
Using:
  - pytorch
  - pytorch=1.11.0=py3.8_cuda11.3_cudnn8.2.0_0
  - pytorch-mutex=1.0=cuda
  - torchaudio=0.11.0=py38_cu113
  - torchmetrics=0.8.2=pyhd8ed1ab_0
  - torchvision=0.12.0=py38_cu113

Hi @thistlillo,
Could you please provide what the shape of semantic_features and labels are in the case when the code gets stuck?
This can probably help me figure out what is happening.

Sorry @SkafteNicki I would have replied later. I am still fighting against that freezing: it is the pytorch dataloder that gets stuck waiting for some process to end, torchmetrics had no fault. It does not happen 100% of the times and sometimes it does not freeze for several trainings: it happened to NOT have frozen when I removed torchmetrics, but then it started again after a while.

Alright, then I will close this issue as it seems the problem is unrelated to torchmetrics


Minor Terminology Fixes

Minor terminology fixes renaming ROS 2 to colcon in most cases.
The only major notable change is the function copy_ros2_workspace() is renamed to copy_colcon_workspace().
Let me know if it breaks anything!

Changes look good to me.


Npot texture fallback

Addressing #568 , fallback to linear filtering when repeat or mipmaps is used for npot textures.

Lookin' good with our eraser-map icons.


fix: remove last allowedDomains reference

Closes #230
All the work was done in last PR.
The doc already contains the deprecation mention of allowedDomains and introduces issuersWhitelist.
The only thing remaining was remove the last reference outside of the docs.

this change will be a breaking change, requiring a major release. can you please mark the commit as such by following the conventions in https://www.conventionalcommits.org/en/v1.0.0/?

@jack-robson that's not the right way :) please reread the docs

I see what you mean. Please see now @simoneb


Implmentation?

I'm trying to give this package a go but I can't seem to get it to do anything.
Am I right in thinking I don't have to do anything other than use it? or do I need to implement turbolinks separately?
How can I tell if its running? it appears to be still doing page reloads.
Any clarification our implementing this would be super helpful 👍🏻

Yeah, no worries -- ask away!
A bundler like webpack is probs the way to do it these days, but not required.
I didn't test this, but you should be able to drop a script tag like this in your HTML head:
<head>
  <script<EMAIL_ADDRESS>/>
</head>

☝ That should do the all the Turbolinks.start() for you (I'm pretty sure), so you no longer have to do that yourself.

Awesome, that worked a treat. I can see it working its magic now!
I'll investigate/learn webpack now and work towards using that in future. Thanks so much for the help!

Awesome! Anytime!


hotfix: invalid OpenAPI spec versions causing the app to crash

OpenAPI specs do not support the number datatype for $.info.version.  Only string is supported.

In Insomnia, if you change this field to a number, you will see a lint error.

Unfortunately, if you make this change and then flip to the dashboard, the following error appears:

This leaves your application in a totally broken state and there is literally nothing you can do in the app, or do about it to fix it.

This change was introduced in https://github.com/Kong/insomnia/pull/4319 and would be preventable by spec validation (i.e. AJV) and/or functional TypeScript typings.
Our code is correct in the sense that it follows the spec.  The problem is there's a failure-mode for an error case that is quite breaking.

update: I figured out a temporary workaround while we get a patch released.  see it here: https://youtu.be/D6yT20GPjZI


LICENSE file missing

Just wanted to note, that the LICENSE file mentioned in the main README.md does not exist (it does in the slurm-charms repo):
https://github.com/omnivector-solutions/slurm-bundles/blob/6c43f88cf8c6a8dda2c8cff84c8bce7377e27438/README.md?plain=1#L45

Hi @dlaehnemann! Thank you for contacting us! We will fix that.


Negative send rate can be observed in reports

In some instances it is possible to observe a negative send rate in the reports.
This appears to occur in short round durations, and a quick set of logging in the report generation side (within getResultValues) reveals that there may be any issue in the txUpdate phase, since:
results.getFirstCreateTime()<PHONE_NUMBER>354
results.getLastCreateTime()<PHONE_NUMBER>519

At no point should the last create time be less than the first create time.

I think this is the problem:
https://github.com/hyperledger/caliper/blob/363a6ddf34f084dbd9a54cdc08e21413d521f843/packages/caliper-core/lib/common/core/transaction-statistics-collector.js#L330-L334
firstCreateTime is calculated from firstFinishTime during stat merge 😅

confirmed above, by locally fixing code and re-running


Support contnt calls from other files, i.e., call_flag

See contnt.js

Closing now. Will address this after removing PLI and doing web based PCyl.


Launch error

There is an error while launching simulation.launch saying spawn failed.

added joint_state_publisher and robot_state publisher nodes. Error resolved.


Standard convention for public/private autocorrect cop methods

As a developer of Rubocop, I would like to see a standard location and access level for our autocorrect methods. Currently, the standard location for the investigation and on_type(node) methods are at the top of a Cop Class as public methods. autocorrect methods are a mix of public and private throughout the codebase. When they are allocated as private, they may be at the top of the private section, or they may be further down.
Part of the reason for this is that here in the AutocorrectLogic Module, respond_to? is passed a second argument to include methods of all access levels.
I purpose we make all our Cop autocorrect methods public, placed just before the private access modifier as they mostly are now. This convention can remain enforced by removing the second argument to respond_to? linked above.

I purpose we make all our Cop autocorrect methods public, placed just before the private access modifier as they mostly are now. This convention can remain enforced by removing the second argument to respond_to? linked above.

I agree. autocorrect is definitely part of the public API at this point. I'm guessing the current situation is just a historical leftover.

Great! I'll open a PR for this in the next few days.


login/registration

Don't close until finished

^ Why close it when it's not done? It still needs to be finished.

It is finished.

Oh, sorry, I didn't hear. :P


Plotting a Box plot twice at same vertical line view

Hi,
Trying to plot the box plot twice(positive and negative values) at the same vertical line but can't able to plot it, please find the attachment.

Top and bottom (zero is divider) view on the different lines. attached sample image for your reference.
Line plotting axis is different from the box plot axis.

Sample Image:

Actually, I'm trying to plot the above graph but the box plot view doesn't align properly. Can you please tell me, if is it possible to plot the same graph attached?
Link: https://codepen.io/partha_sj/pen/xxyjygZ

You posted this same question in Discussions. Please do not double post.

Sure @brianlagunas, Need your inputs.


URL encode database connection URI components

Database passwords frequently contain characters that must
be URL encoded when put in the Postgres connection URI. If
not, the URI is invalid and will not work. This addresses
bug report in #199.

Dependent on #202 (CI passes once the 202 gets in)


big neon-green vertical line on the left side of H.264  codec videos windows 10 newest ff.  see tweet to openh264

i also disabled the ff add-on.  i haven't restarted yet.  will this cause me troubles with all videos?
@OpenH264
is it possible you are causing the big neon-green vertical line to  appear on the left side of H.264  codec videos (like yours) only?  line is 2" wide.  new windows 10.  new hp pavillion.  newest firefox.  almost 2 mos.  thanks
2:56 PM · May 4, 2019 · Twitter Web App
https://twitter.com/mrjyn/status/1124764706164629504

Where could I see the green line video?
btw: how about enabling the add-on? Openh264 is activated by addons.

i have it activated in settings.  i tried to screenshot it, but it doesn't show up.


[4.0.0-beta-17] shadow of ion-split-pane missing when used in shadow:true Stencil component

Bug Report
Ionic version:
[x] 4.0.0-beta-17
Current behavior:
The shadow of the overyling content is missing when ion-split-pane is used inside a Stencil component that has shadow: true set.
Looks without shadow: true (correct):

Looks with shadow not present (broken):

Expected behavior:
The shadow appears.
Steps to reproduce:
Demo repo: https://github.com/bitflower/ionic-shadow-dom-shadow-issue

Basically this issue has a bit more "weight" to me because I wonder what other "problems" I might run into when using shadow: true in all my comps. However I really believe in you "web standards" everywhere philosophy and wanna go this way as much as possible together with you (Love CSS vars n stuff).
Let me know if you need anything and as always - thanks for the awesome work ;-)

More info: Running the repo with npm run start --es5 and opening it in Edge works too. This is the looks I get:

Actually found the problem: You are selecting the element for the shadow with this:
.md .menu-content-reveal

which will of course not work when the ion-split-pane is inside a shadow-domed component.
Wouldn't this need to be a CSS var ?

Could this be solved in https://github.com/ionic-team/ionic/issues/16819 ?

Still applies in beta-19 and rc0


Clean up coordinate transforms

This improves validation messages and code structure by:

Having Scale/Translation objects that have both vector and path fields, but validate that only one of them is not None.
Improving the error message when validating the type of transform

Fixes https://github.com/BioImageTools/ome-zarr-models-py/issues/94 - the error message if the transform is (incorrectly) translation then scale is now
E       pydantic_core._pydantic_core.ValidationError: 3 validation errors for ImageAttrs
E       multiscales.0.datasets.0.coordinateTransformations
E         Value error, The first element of `coordinateTransformations` must be a scale transform. Got type='translation' translation=[0.5, 0.5, 0.5] instead. [type=value_error, input_value=[{'translation': [0.5, 0.... 5.0], 'type': 'scale'}], input_type=list]
E           For further information visit https://errors.pydantic.dev/2.10/v/value_error
E       multiscales.0.datasets.1.coordinateTransformations
E         Value error, The first element of `coordinateTransformations` must be a scale transform. Got type='translation' translation=[0.5, 0.5, 0.5] instead. [type=value_error, input_value=[{'translation': [0.5, 0....10.0], 'type': 'scale'}], input_type=list]
E           For further information visit https://errors.pydantic.dev/2.10/v/value_error
E       multiscales.0.datasets
E         Tuple should have at least 1 item after validation, not 0 [type=too_short, input_value=[{'coordinateTransformati...'scale'}], 'path': '1'}], input_type=list]
E           For further information visit https://errors.pydantic.dev/2.10/v/too_short

IMO this is not the most elegant solution to that error message. If we go by the structure of the data defined in the spec, there are 4 types of transforms, not 2. I think a better solution to that error message is to write our own error message, instead of deviating from the types defined in the spec (even though they are very clunky types)

Hmm, I dunno - https://ngff.openmicroscopy.org/0.4/index.html#trafo-md doesn't seem to explicitly define 4 data structures, just says that on the data structures either path or  can be defined.

Okay, I unded my over-zealous refactoring, and this is a minimal change needed to make the error message nicer now

Hmm, I dunno - https://ngff.openmicroscopy.org/0.4/index.html#trafo-md doesn't seem to explicitly define 4 data structures, just says that on the data structures either path or "name of vector" can be defined.

In python we can't really model a type with an optional (i.e. potentially missing) attribute, only an attribute might be None. Put another way, Python types require "optionality" to be expressed as a kind of value, not in the structure of the type itself. The python type system also doesn't really let us express types defined by statements like "if such and such a field is None, then this other field must not be None". So with that in mind, if we want to closely model the transforms defined in the spec as types, we basically have write out 4 separate types. In a type system that allowed dict-like types with truly missing fields and fields that exist conditioned on the values of other fields, then maybe we could do it with just 2 types, but we don't have a language like that :)

fwiw I tried using just 2 types in pydantic-ome-ngff, but I ended up writing a lot of input validation and special serialization logic, and the actual data structures were confusing because they had a combination of fields (path and translation) that could never appear in actual metadata. So I just accepted that the spec does define 4 types, even if I would rather it only defined 2.

That all makes sense - thanks for taking the time to explain!


Update UI to make text more readable in all conditions as requested by community

Got a picture of this new ui?

Here's the current look:
https://i.imgur.com/bhc4unx.jpg
Someone suggesting changing it to this:
https:////i.imgur.com/X1VT9xt.jpg

Looking good, we will test and merge with the next release!

Updated UI some more... added background to lead car text also.
https://i.imgur.com/yyiCQGi.jpg

This good to merge? Will test tomorrow if so?

Yep!


CookieStore is not initializing/syncing correctly

In version 4.0.0, a new method _initialize() was added to help instantiate the cookie store from the adaptive store. However, if you are explicitly extending the cookie store, this method is never called, therefore no syncing is enabled. This prevents handleAuthentication/handleInvalidation from being called across tabs/windows

Thanks for creating the issue!
I'm having trouble understanding what could be going wrong and how the cookie store is extended.
Could you provide a reproduction or code samples?


Update CODE_OF_CONDUCT.md

@AbdelkhalekBakkari why the minor change?
Did we missed something?

@AbdelkhalekBakkari why the minor change?
Did we missed something?

I just correcte some minor formatting and ready to help in coding if you may need.


Fordpass connection stopped working in evcc

Describe the bug
After a few weeks of no issues evcc can no longer login to fordpass.
my ford account is not locked and is working fine in both fordpass and home assistant.
User and pass are correct
please help
Steps to reproduce
Nothing special… i just start evcc addon in homeassistant
Configuration details
Standard config:
name: Kuga
type: template
template: ford
title: Kuga
user<EMAIL_ADDRESS>pass: ****
capacity: 12

Log details
[main ] ERROR 2024/05/18 17:36:15 creating vehicle Kuga failed: cannot create vehicle type 'template': cannot create vehicle type 'ford': login failed: self-assert failed

What type of operating system are you running?
HomeAssistant Add-on
Version
No response

Mit der Core Version 2024.4.1 Supervisior 2024.05.1 geht es bei mir alle Daten vom Ford werden angezeigt

Also die FordPass integration nicht die EVCC

okay, i have not updated to version 2024.05.4 i had problems with automatic integration. The integration with FordPass still works with this  Core Version 2024.4.1

siehe #13949

Already tried the domain part but i had no luck


Change precedence of quiet and JSON output to favour JSON

This is a pretty small change that enables something I think is useful.
At the moment if you want all three of:

JSON output on stdout
No banner / progress bar
To still get errors on stderr

There's no easy way to do it. If you redirect stderr to /dev/null you lose the error messages, if you use -s/silent/quiet mode you lose the JSON output.
This change in precedence allows you to use both the -s and -json flags to achieve the above, and shouldn't break any existing use-cases as the -json flag currently does nothing if you're also using the -s flag.

Sorry for the long wait in the queue. LGTM and merging now.

Thank you for the merge! :)


new syntax and semantics around groups and users

Fixes #6 and #8
This PR also adds tox, precommit and github CI workflows

@negillett   I'm getting some strange static check errors in CI, which I am not getting when I run tox locally:
Collecting types-PyYAML
  Downloading types_PyYAML-6.0.7-py3-none-any.whl (13 kB)
Installing collected packages: types-PyYAML
Successfully installed types-PyYAML-6.0.7
osc_trino_acl_dsl/dsl2rules.py:92: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:104: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:121: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:145: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:148: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:158: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:159: error: Unsupported left operand type for | ("Dict[str, Any]")
osc_trino_acl_dsl/dsl2rules.py:161: error: Unsupported left operand type for | ("Dict[str, Any]")


Fill nested input when clicking "add query"

Is your feature request related to a problem? Please describe.
When I insert a query or mutation it just gives me ___ for the input fields. This is good enough for situations where I have a primitive input (e.g. a string), but doesn't work so well when what I want to fill is nested and takes e.g. an id and an update object or an id and list of relation ids, or other things that are created out of the box by nestjs-query.
Describe the solution you'd like
At minimum I'd like to have the insertion go through each required input field recursively and generate the code until it gets to a primitive field. For example if the query looks like
type Mutation {
  exampleMutation(input: exampleInput!): exampleResponse!
}
input exampleInput {
  id: String!

  relationIds: [String!]!
}

type exampleResponse {
id: String

Then when I insert the mutation it should give me something like:

mutation{
  exampleMutation(input: {
    id: ___
    relationIds: [___]
  }){
	id
  }
}

Maybe this would be too much to ask for, but honestly what would be coolest would be if it automatically filled in values as well. If it takes in a number give me a number. If it takes in a string give me a string. I'll probably have to change them anyway, but there's a chance I won't and that's less typing for me.
Describe alternatives you've considered
Right now I have to fill in all the values myself.
Additional context
I'd be happy to work on the implementation. Let me know if you'd be okay with including this in the project.

Thanks for reporting this! It has been reported previously as well. I'd look into it as soon as I can, but that will take some time. Note that you can create a PR to resolve this issue faster


Critical: Not loading user/pass forms after default install

Was alerted to this after an operator updated via the commands here.
Afterwards, user/pass box not loading in admin:

This has been replicated with a fresh droplet using the lamassu-install script, therefore affecting all new setups.
This persists after updating to<EMAIL_ADDRESS>

Resolved.


Try llvm commit 59548fe873d8d98e359fb21fbb2a0852fed17ff5 to see if it works for macos

Signed-off-by: Tung D. Le<EMAIL_ADDRESS>

The new llvm commit works for me.

@jenkins-droid test this please

Jenkins Linux s390x Build #7118 [push] Try llvm commit 59548fe8... started at 21:28

Jenkins Linux amd64 Build #7103 [push] Try llvm commit 59548fe8... started at 20:28

Jenkins Linux amd64 Build #7103 [push] Try llvm commit 59548fe8... passed after 1 hr 51 min

Jenkins Linux s390x Build #7118 [push] Try llvm commit 59548fe8... passed after 2 hr 54 min


empty option "iops" on root_block_device causes syntax error

On root_block_device, with type "standard", iops are not normally provided.  The generated output from terraforming however is an iops variable set to nothing, which causes syntax errors.
    root_block_device {
        volume_type           = "standard"
        volume_size           = 8
        iops                        =
        delete_on_termination = true
    }

Causes a syntax error when running terraform plan.  Removing the empty iops deifnition resolves it.

@colinmutter Sorry for late response... I've fixed this bug at #132 and released as v0.3.2 :shipit:
If you still have any problem, please reopen this issue.


Non-Existent References to "MainPage"

Page says

Open MainPage.xaml, which contains the XAML markup for our main UI page.

There is no MainPage.xaml in the Project Solution
Page says

Also, add the following include directive to MainPage.h

There is no MainPage.h in the Project Solution

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

ID: 7aad2d1a-fe9c-04ed-2fae-545f071c1f46
Version Independent ID: f8d878ef-1d8d-9b12-5ac9-f7b936916fea
Content: Build XAML controls with C++/WinRT - Windows apps
Content Source: hub/apps/winui/winui3/xaml-templated-controls-cppwinrt-winui-3.md
Product: reunion
Technology: winui-conceptual
GitHub Login: @drewbatgit
Microsoft Alias: drewbat

Thanks for catching this. The pages have been updated to use MainWindow instead of MainPage to match the current templates.


Fetch scan back and add Job Summary

Adds support for fetch the scan results back from the Wiz API (as JSON) so we can summarize things and report a Job Summary. The new inputs motivated some refactoring in that area too, as well as a script for testing it.

Gonna break this up.


You need to update to the latest version of makemkv

Hey!
I keep getting this error that says I have to update to the latest version of makemkv. In your README you say I just can open a issue and you will update it to the latest version :+1:
Logs:
MSG:5075,131072,2,"The new version 1.15.3 is available for download at http://www.makemkv.com/download/","The new version %1 is available for download at %2","1.15.3","http://www.makemkv.com/download/"
Thanks in advance for the help!

I built a new stack with this container and I am not experiencing this error. Maybe you can just refresh yours?

I triggered the rebuild last night. Latest version should be up


Update security-center-partner-integration.md

Correcting wrong link for Supported SIEMs

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

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

@GeoffWaye, feel free to sign-off

Signed-off-by: Geoff Waye<EMAIL_ADDRESS>

Adding #sign-off for @GeoffWaye

@ShannonLeavitt: I'm sorry - only the author of this article, @memildin, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@memildin looks like I can't sign off here. Do you want to sign off?

Sorry I am new on GitHub. Im not sure what I need to do to sign-off

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


Documentation

Added the complete suite of documentation

Apologies for changing actual code in this PR, but the process of writing examples illuminated some small compatibility issues for Python3, which have now been remedied. Explicit testing for different python versions was also added.


Status not updated since Server v. 3.12.1

My Setup

Operating System: Win 10
App Version: 3.1.1
Installation type: exe

[x] I have tested with the latest version
[x] I can simulate the issue easily

Description
The status of user isn't updated. only a restart of the application update the status
Current Behavior
The status doesn't change since the start of application
Expected Behavior
Status should be updated automatically

Could be related to https://github.com/RocketChat/Rocket.Chat.Electron/issues/1812

Doesn't seems so.
user sees their own status correctly and Ctrl + R update /display it correctly for everyone.

This is still happening with server version 3.13.2 (snap)

There is still something wrong :
On this screenshot, we use both Client v. 3.2.2
Server (snap) v. 3.13.2 :

Server (snap) v. 3.13.2

That is the root cause of your problem. There was both rocket chat server and desktop client user status issues.
Client bug fixed in 3.2.2
Server bug should be fixed in 3.14

Please test if the latest release did solve this. If not please reopen the issue or create a new one and tell us. I will be closing this one for now.
Thank you!


[Snyk] Security upgrade gatsby from 3.15.0 to 4.5.0

Snyk has created this PR to fix 1 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

docs/package.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Cross-site Scripting (XSS) SNYK-JS-AXIOS-6671926
  551

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Cross-site Scripting (XSS)

:tada: Snyk checks have passed. No issues have been found so far.
:white_check_mark: code/snyk check is complete. No issues have been found. (View Details)


[TASK] HERON with New SyntheticHistory/TSA ROMs

Issue Description
Is your feature request related to a problem? Please describe.
HERON should switch to using Synthetic History ROMs from RAVEN to replace the old ARMA ROMs.
Describe the solution you'd like
We should add new versions of the same Sine and NYISO but trained using the Synthetic History and TSA modules in RAVEN. Existing regression tests should use these new ROMs to check that they are compatible.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[ ] 1. Is it tagged with a type: defect or task?
[ ] 2. Is it tagged with a priority: critical, normal or minor?
[ ] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[ ] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[ ] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] 5. If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

approved to close via #319.


The light intensity of the HDR panorama needs to be multiplied by a coefficient to adjust, otherwise it will be too dark.

It is a great honor for me to study your results.After I estimate the HDR panorama with the model, I use it to render virtual objects in blender.
I've noticed that rendering directly from the output results in very dark renders. I had to multiply the light intensity by a factor of 100 to get a visually ideal rendering.

I would like to know what are the reasons for this? Looking forward to your reply!

I closed the issue. If you have other questions, you could re-open or raise a new issue.


Create EarthSource.java

Please help me ,  if you know how can I use vtkNamed colors member functions in java.

Until I find how to use vtkNamedColors in java, I’ll be using setColor. I’ll make changes once I’ll get the solution.
Can’t it be merged till then ?

@ajpmaclean : Am able to use vtkNamedColors in java. Thank you for your inputs. I'll be using vtkNamedColors in all of my upcoming examples.
@ajpmaclean , @lorensen : Request you both to review the same.

Good to see vtkNamedColors is the jar file. Since I won't be merging until sometime tomorrow, please add vtkNamedColors into this example.

@ajpmaclean : I have added vtkNamedColor in the example program. You can review and merge

Please update the webpage. (
https://lorensen.github.io/VTKExamples/site/Java/Geovis/EarthSource/) with
updated code.
On Tue, 11 Dec 2018 at 16:22, Andrew Maclean<EMAIL_ADDRESS>wrote:

Merged #254 https://github.com/lorensen/VTKExamples/pull/254 into
master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lorensen/VTKExamples/pull/254#event-2017879827, or mute
the thread
https://github.com/notifications/unsubscribe-auth/APf6kp0LIeQbN0l4g1RUJ5i908lMyTuWks5u310jgaJpZM4ZLUph
.

--
Thanks & Regards!
Bharatesh Chakravarthi SB

Keep up the good work, The java examples need lots of attention.
On Mon, Dec 10, 2018 at 11:40 PM Bharatesh Chakravarthi S B <
<EMAIL_ADDRESS>wrote:

Please update the webpage. (
https://lorensen.github.io/VTKExamples/site/Java/Geovis/EarthSource/) with
updated code.
On Tue, 11 Dec 2018 at 16:22, Andrew Maclean<EMAIL_ADDRESS>wrote:

Merged #254 https://github.com/lorensen/VTKExamples/pull/254 into
master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lorensen/VTKExamples/pull/254#event-2017879827, or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/APf6kp0LIeQbN0l4g1RUJ5i908lMyTuWks5u310jgaJpZM4ZLUph
.

--
Thanks & Regards!
Bharatesh Chakravarthi SB
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lorensen/VTKExamples/pull/254#issuecomment-446102171,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUFDBcRwQd3lX8T9fmuY1LIqVFc0rIJks5u32FhgaJpZM4ZLUph
.

--
Unpaid intern in BillsParadise at noware dot com

@lorensen : I'll come up with few more examples.


Former editors

Do we need to parse Former editors?

If yes what type of contributor shuld we use?

@andrew2net it would be better to handle them. Maybe we can add a type of contributor as "former contributor"?
Ping @opoudjis . This will have to go into relaton-model?

Yes it will, but no need to change relaton-models, the relation can already be expressed.
<role type="editor">
<description>former editor</description>
</role>

Recall that we want to keep role/@type very tightly constrained, whereas the description lets us refine the 6 types of contributor as much as you want.
I really, really don't see that we need to add different types of contributors or roles here; this works fine. We will need the caveat that former editors may need to be treated separately from current editors; but usually those former editors will be included in the bibliographic entry anyway.

I can't close this issue, btw...

Not trying to crash the party but CSA documents have roles for “contributor to 1.0”, “contributor to 2.0” etc (suppose the version now is 2.0). Maybe there is a need for slightly more complex relations here?

Exactly the same solution: "description" after all is free text.
I see the temptation to link editors to editions by expanding the metadata around the role. DO NOT. The proper way to do this is to embed those editors of previous versions into related bibliographic items:
<bibitem>
<contributor>
<role type="editor">
<person>CURRENT EDITOR</person>
</contributor>
<edition>2.0</edition>
....
<relation type="instance">
<bibitem>
<contributor>
<role type="editor">
<person>PREVIOUS EDITOR</person>
</contributor>
<edition>1.0</edition>
</bibitem>
</relation>
</bibitem>

Rendering can be made to navigate that; but making role into spaghetti helps nobody.

The proper way to do this is to embed those editors of previous versions into related bibliographic items.

You're right. Now the question becomes -- can a document carry the previous version's metadata?

The document has Former editors:

Manu Sporny (Digital Bazaar) (v1.0)
Markus Lanthaler (Google) (v1.0)

but it's previous version has Editors:

Gregg Kellogg (v1.0 and v1.1)
Pierre-Antoine Champin (LIRIS - Université de Lyon) (v1.1)
Dave Longley (Digital Bazaar) (v1.1)

seems the former editors don't match to the editors of the previous document version.

I'm not seeing what you mean?
https://www.w3.org/TR/2020/CR-json-ld11-20200305/

https://www.w3.org/TR/2020/CR-json-ld11-20200316/

I only see "Markus Lanthaler (Graz University of Technology)" changing to "Markus Lanthaler (Google)".
The actual JSON-LD 1.0 document seems to be this: https://www.w3.org/TR/2014/REC-json-ld-20140116/
Linked from the latest document:

@ronaldtse you are right. "Latest Recommendation" or "Previous Recommendation" is the link to the previous version. Suppose we should include the previous version as "obsoleted" relation, do we?

Suppose we should include the previous version as "obsoleted" relation, do we?

Agree!

Yup, that's the way forward. A bit of pain for your traversal, because "former editor" is so much easier; but it will pay off.
In the worst case that you cannot recover the edition that the former editors were invovled with, just make up a dummy record with no edition number that this work obsoletes, and stick them in there. But it sounds like you can recover it from this presentation.


inference speed

Can you provide some compare about TensorRT and Pytorch at inference speed? thanks.

For our searched architecture (FasterSeg):
TensorRT: 163.9 FPS
Pytorch: 89.8 FPS

OK, thanks.
TensorRT can process arbitrary pytorch model?

I think Pythorch supports more layer types and configurations. But for most common layer's, yes TensorRT does support.

in the compare list ,does fast scnn or else use tensorrt?

ENet, ICNet, CAS, Fast-SCNN: they did not release their code for latency.
BiSeNet: They released their code. I can reproduce their FPS using TensorRT (but not with Pytorch).
DF1-Seg-d8 (Li et al., 2019): yes they used TensorRT.

More works used TensorRT:

SpineNet: Learning Scale-Permuted Backbone for Recognition and Localization.
Pelee: A Real-Time Object Detection System on Mobile Devices.
IRLAS: Inverse Reinforcement Learning for Architecture Search.

@zhangyunming fast scnn use the TensorRT and its pytorch speed is only 70+ FPS

@lxtGH Where did you find this? I did not see this in Fast-SCNN paper.

@chenwydj  I email to the author and also I test it in my implementation.

@lxtGH Thanks for sharing the info!

@chenwydj Could you share your speed on Camvid and BDD without using the Tensor-RT ??

@lxtGH Pytorch version FPS
CamVid (720x960): 131.8
BDD (720x1280): 127.3


Roku throws exception

Home Assistant release with the issue:
0.73.1
Last working Home Assistant release (if known):
0.73.0
Operating environment (Hass.io/Docker/Windows/etc.):
Raspberry Pi 3, Docker
Component/platform:
media_player/roku
Description of problem:
Upon start, HASS throws an error about not being able to configure the Roku platform.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
media_player:
  - platform: roku
    host: roku-1.localdomain

Traceback (if applicable):
Error while setting up platform roku
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/lib/python3.6/asyncio/tasks.py", line 352, in wait_for
    return fut.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 244, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/media_player/roku.py", line 56, in setup_platform
    new_roku = RokuDevice(host)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/media_player/roku.py", line 92, in __init__
    self.update()
  File "/usr/lib/python3.6/site-packages/homeassistant/components/media_player/roku.py", line 99, in update
    self.device_info = self.roku.device_info
  File "/config/deps/lib/python3.6/site-packages/roku/core.py", line 213, in device_info
    resp = self._get('/query/device-info')
  File "/config/deps/lib/python3.6/site-packages/roku/core.py", line 172, in _get
    return self._call('GET', path, *args, **kwargs)
  File "/config/deps/lib/python3.6/site-packages/roku/core.py", line 192, in _call
    raise RokuException(resp.content)
roku.core.RokuException: b''

Additional information:
I can confirm that the hostname roku-1.localdomain is reachable from the Docker container:
# ping roku-1.localdomain
PING roku-1.localdomain (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=64 time=3.241 ms
64 bytes from <IP_ADDRESS>: seq=1 ttl=64 time=1.675 ms
64 bytes from <IP_ADDRESS>: seq=2 ttl=64 time=1.814 ms
64 bytes from <IP_ADDRESS>: seq=3 ttl=64 time=1.836 ms
64 bytes from <IP_ADDRESS>: seq=4 ttl=64 time=1.851 ms
--- roku-1.localdomain ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 1.675/2.083/3.241 ms

Found this recent posting: https://forums.roku.com/viewtopic.php?t=116457. Of specific interest:

For security reasons, you will need to use the target IP address directly

Closing as not a HASS or dependency issue.


byfn.sh: CURRENT_DIR issue with long paths fixed

Double quoted CURRENT_DIR var to allow right expansion for long paths. Before it caused a "too many arguments" for cd command

Thank you for your contribution! This is a read only mirror, however. Please submit your change using gerrit.
you would need to check out the repo here: https://gerrit.hyperledger.org/r/#/admin/projects/fabric-samples and make your edits, pushing them to gerrit
here is a walkthrough for zephyrproject which is much the same WRT setting up an LFID, adding ssh keys, etc:
https://www.zephyrproject.org/doc/1.1.0/collaboration/code/gerrit_accounts.html
feel free to ask on rocket.chat - https://chat.hyperledger.org/ - discuss in #fabric
one note: when you set up your LFID do not use social logins the first time, create the account and you can add social logins later

sorry but how to pull to gerrit?
using
git push origin HEAD:refs/for/branch
doesn't grant me write access for reviews


[Security] Fixing File Upload Vulnerabilities on Web Servers with Kali linux

Topic Suggestion
Fixing file Upload Vulnerabilities
Pre-submission advice
The transmission of a file from one computer system to another, generally bigger computer system, is known as uploading. From the perspective of a network user, uploading a file means sending it to another machine that is configured to receive it. People who use bulletin board services (BBS) to share photographs with others submit files to the BBS.
When a web server lets users to upload files to its filesystem without properly validating things like their name, type, contents, or size, it creates file upload vulnerabilities.
Existing important files can thus be replaced, with the. htaccess file implanted to run specified scripts. Inject phishing pages into the web application to make it look bad. Error messages containing vital internal information, such as server-specific paths, may be exposed during file uploads.
Key takeaways

How to prevent executables in file uploading (php, exe).
How to check the file type and it File extensions.
Analyzing the uploaded file itself, recreating and renaming it.

Article quality
The most important thing to remember is that you should never enable individuals to submit executables such as php, bash scripts, or exe programs. There's a good chance these files will harm the server. In these lesson we will guide you through the important steps to take in preventing executables and also provide you with in-depth knowledge on these topic

Good afternoon and thank you for submitting your topic to the EngEd program.
After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations. We're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
We typically refrain from publishing content that is covered widely on the net or other blogs. We're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
But in order to approve the topic it has to serve value to the larger developer community at large. Please feel free to suggest an alternate topic to explore. 🚀
https://www.google.com/search?q=Fixing+File+Upload+Vulnerabilities+on+Web+Servers+with+Kali+linux&rlz=1C1CHBF_enUS891US891&sourceid=chrome&ie=UTF-8


Upgrade Sanic dependency

Description of Problem:
Sanic dependency is lock to 19.3.1, which use websockets <7
Sanic is now at 19.6.3 and supports websockets <8 (not the last, but at least more recent)
Overview of the Solution:
Could you update setup.py with new minor version of Sanic ?

Thanks for submitting this feature request 🚀@federicotdn will get back to you about it soon!✨

Hi @wibimaster, I'm sorry that we never answered your enhancement request. We hope not to miss any of these in the future! I'm closing this issue as the sanic version was upgraded to 19.6.3 last month.


Cannot analyze BIDS dataset

Using this command
docker run -i --rm -v /Users/andek/Research_projects/BIDSSPM/test/ds003:/bids_dataset -v /Users/andek/Research_projects/BIDSSPM/test/results:/outputs bids/spm /bids_dataset /outputs participant --participant_label 01
For this BIDS dataset
https://drive.google.com/open?id=0B2JWN60ZLkgkSEtlSl8wd0xhbzQ
I got this error
SPM12: BIDS PARTICIPANT sub-01                     13:08:04 - 27/02/2017
Execution failed: /opt/spm12/pipeline_participant.m
Execution failed: /opt/spm12/spm_BIDS_App.m
Reference to non-existent field 'filename'.
Error in spm (line 1202)
Error in spm (line 1202)
Error in spm_standalone (line 47)

Not sure what is going on as I don't get the same message:
docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v /home/gflandin/data/anders/ds003:/bids_dataset -v /home/gflandin/data/bids_tmp:/outputs bids/spm /bids_dataset /outputs participant --participant_label 01
SPM12 (6906): /opt/spm12/spm12_mcr/spm12
 ___  ____  __  __
/ __)(  _ \(  \/  )
\__ \ )___/ )    (   Statistical Parametric Mapping
(___/(__)  (_/\/\_)  SPM12 - http://www.fil.ion.ucl.ac.uk/spm/

SPM12: BIDS PARTICIPANT sub-01                     14:00:29 - 27/02/2017
========================================================================

------------------------------------------------------------------------
Running job #1
------------------------------------------------------------------------
Running 'Realign: Estimate & Reslice'

SPM12: spm_realign (v6070)                         14:00:30 - 27/02/2017
========================================================================
Completed                               :          14:00:48 - 27/02/2017

Have you built the container yourself or is it the one from Docker Hub (in case there is a mismatch or if I am myself using a different cached one)?
I also just pushed a few changes I made earlier and will trigger a new build.
Also note that in its current form, the SPM BIDS-App expects the user to provide a configuration file describing the pipeline to execute:
docker run ... --config /bids_dataset/pipeline.m

If none is provided, a default one pipeline_participant.m or pipeline_group.m is used but is just for illustration on how to write one.

With the bids/spm pre-built container the realign works but then I get this
error
Running 'Coregister: Estimate'
Failed  'Coregister: Estimate'
Error using read_hdr (line 32)
Error reading header file
"/outputs/sub-01/anat/sub-01_T1w.nii/sub-01_inplaneT2.nii".
In file<EMAIL_ADDRESS>(???),
function "read_hdr" at line 32.
In file<EMAIL_ADDRESS>(???), function "nifti"
at line 26.
In file "/opt/spm12/spm12_mcr/spm12/spm_select.m" (???), function
"spm_select_get_nbframes" at line 268.
In file "/opt/spm12/spm12_mcr/spm12/spm_select.m" (???), function
"spm_select_expand" at line 254.
In file "/opt/spm12/spm12_mcr/spm12/spm_select.m" (???), function
"spm_select" at line 130.
In file "/opt/spm12/spm12_mcr/spm12/config/spm_run_coreg.m" (???), function
"spm_run_coreg" at line 17.
2017-02-27 15:29 GMT+01:00 Guillaume<EMAIL_ADDRESS>
Not sure what is going on as I don't get the same message:
docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v /home/gflandin/data/anders/ds003:/bids_dataset -v /home/gflandin/data/bids_tmp:/outputs bids/spm /bids_dataset /outputs participant --participant_label 01
SPM12 (6906): /opt/spm12/spm12_mcr/spm12

/ )(  _ (  /  )
_ \ )/ )    (   Statistical Parametric Mapping
(/(_)  (_//_)  SPM12 - http://www.fil.ion.ucl.ac.uk/spm/
SPM12: BIDS PARTICIPANT sub-01                     14:00:29 - 27/02/2017

Running job #1
Running 'Realign: Estimate & Reslice'
SPM12: spm_realign (v6070)                         14:00:30 - 27/02/2017
Completed                               :          14:00:48 - 27/02/2017
Have you built the container yourself or is it the one from Docker Hub (in
case there is a mismatch or if I am myself using a different cached one)?
I also just pushed a few changes I made earlier and will trigger a new
build.
Also note that in its current form, the SPM BIDS-App expects the user to
provide a configuration file describing the pipeline to execute:
docker run ... --config /bids_dataset/pipeline.m
If none is provided, a default one pipeline_participant.m or
pipeline_group.m is used but is just for illustration on how to write one.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BIDS-Apps/SPM/issues/6#issuecomment-282735511, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEGryJXsssmwZbMEzV6uzq2PEsuUkjAZks5rgt3MgaJpZM4MNGQU
.

--
Anders Eklund, PhD

Yes, the default within-subject pipeline expects a single anatomy file per subject. Commit b93a8e82 should fix this. I'll tag this version to trigger a new Docker Hub build.
Or you can copy and modify pipeline_participant.m to fit your needs and use it through the --config flag, without having to rebuild the container.

The preprocessing now works, but no statistical analysis is performed.
2017-02-27 17:04 GMT+01:00 Guillaume<EMAIL_ADDRESS>
Yes, the default within-subject pipeline expects a single anatomy file per
subject. Commit b93a8e8
https://github.com/BIDS-Apps/SPM/commit/b93a8e82459ba89d0baa06e9edbc0985121203d0
should fix this. I'll tag this version to trigger a new Docker Hub build.
Or you can copy and modify pipeline_participant.m to fit your needs and
use it through the --config flag, without having to rebuild the container.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BIDS-Apps/SPM/issues/6#issuecomment-282763674, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEGryK5FiTPgL1oFKAB3FfYgIhRinkLmks5rgvQpgaJpZM4MNGQU
.

--
Anders Eklund, PhD

Without the BIDS extension on model and hypothesis specification I cannot see how you can perform any statistical analysis automatically, apart from something anecdotal.
Once again, the way this App works is that the user provides the MATLAB script detailing the analysis to perform, with the help of the BIDS structure. The default scripts are just here to illustrate how to write your own one.


Disallows the updating GlobalRoles to be builtin.

Issue:

Problem

Users could update a globalRole that was not a builtIn to be a builtin role.
Solution

When a previously non-builtIn role is updated we check if it is being changed to a builtIn role.
CheckList

[x] Test

[ ] Docs No docs change needed

@maxsokolovsky

I think the docs might need a small addition. When you update a non-builtIn global role, the only thing you can update is metadata.

I don't think that this is true - when updating a non-builtIn global role you can change rules, newUserDefault, inheritedClusterRoles - in short, a lot of other fields. Can you clarify what is making you think this?

My bad, I read some code paths wrong, no issues found.


Large Bundle Size - Angular

I tried compiling the angular 6 project with and without devexteme-angular. I just used simple customer grid in the app.component and build the project using ng build --configuration production. main.*.js bundle seems to be too large for such a small demo app. I did set AOT, buildOptimizer and other configurations for the prod.
Versions:
"devextreme": "^17.2.7",
"devextreme-angular": "^17.2.7"
Here's the screenshot

Please let me know if I'm missing anything in the configuration or any optimization strategy needs to be done.
Cheers,
Aniket

Check issue 592. dxvladislavvolkov has posted a solution at the bottom of the thread.

Thanks @hakimio Unfortunately doesn't make any difference even after referencing only the used module; bundle size remains same.
import { DxDataGridModule } from 'devextreme-angular/ui/data-grid';

Did you replace all the places where you are importing something from "devextreme-angular"?

@hakimio This is just a demo app containing a datagrid, so only imported in the app.module.ts.

@default23 It does make sense if you want to reduce your bundle size. See the comment I linked in my previous post.
2MB is the normal size for DevExtreme + DevExtreme-Angular (comment from one of DevExtreme devs).
If you are using gzip compression on your http server, the size should be around 4 times less than the number you get when you run "ng build --prod". For example, 2.37MB "main.js" file when transferred with gzip only weighs 584KB.
Also, if initial load time is so important for you, you can use server side rendering.

@hakimio is all of your library code using in the data-grid? Why u shouldn't use tree-shaking?

@webcat12345 same here. Why do we have every widgets in the bundle ? I'm using only 5 widgets from "devextreme-angular" (with the correct imports).

my final decision was just don't use this library. Its optimization is bad.

@webcat12345 same here. Why do we have every widgets in the bundle ? I'm using only 5 widgets from "devextreme-angular" (with the correct imports).

Most likely because you are importing modules and components wrong way.
Don't do the following:
import { DxButtonModule } from 'devextreme-angular';

Do this instead:
import { DxButtonModule } from 'devextreme-angular/ui/button';

And this applies both to modules and components:
import { DxButtonComponent } from 'devextreme-angular/ui/button';

If you do that it should only pull required modules.

my final decision was just don't use this library. Its optimization is bad.

It's your loss. Should have read the README. DevExtreme is an awesome UI component library.

@hakimio this is exactly what I am doing.
My imports :

and my bundle:

Maybe some of the components you are using are importing other components. For example, data grid has a lot of dependencies.

I can't remember exactly but I think I used this way to import only for a timepicker. Let me walk through Git history if I was wrong.

Also, here are few recommendations to improve initial app load time:

Use gzip compression
Set "cache-control" and "expires" headers:

cache-control: max-age=31536000
expires: Sat, 16 May 2020 09:38:43 GMT

Enable http/2 protocol
Use CDN (AWS CloudFront, Azure CDN, Cloudflare, etc)

I tried to gzip compression actually, and http/2 protocol couldn't be used because we were using Heroku. And from my understanding even if we import libraries without targetting the specific destination, it should be handled by tree-shaking automatically, isn't it? Readme says that exactly here, but obviously it didn't work. Or is this feature introduced recently?

And from my understanding even if we import libraries without targetting the specific destination, it should be handled by tree-shaking automatically, isn't it?

It should but with DevExtreme Angular, it never did work that way and it doesn't work right now. That section of the readme should be fixed. Even in all official examples where they are using Angular CLI, they are still importing using specific modules / long paths. Otherwise you get a huge bundle.

That document update is quite important for these guys otherwise they could lose users and I can certainly say that they could write it on medium or twitter which is the worst case (I think I have read about it on medium 6 months ago or not sure), for me I was able to reduce 2.0 MB by removing dev extreme from the project and the entire team was happy with it. :D
Looking forward to updated documentation!

FYI - I created a new project with one page, and implemented this widget: https://js.devexpress.com/Demos/WidgetsGallery/Demo/DataGrid/Overview/Angular/Light/
I ran two tests, one using the long path, one using the short path imports.
In both cases main.js came out at 2.43MB using:
ng build --project=myproj --configuration=production
configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "apps/myproj/src/environments/environment.ts",
                  "with": "apps/myproj/src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "5mb"
                }
              ]
            }

Reviewing the stats.json I can see that what is imported is (plausibly) needed for all the various bits (it's a very full featured grid).
IMHO: Tree shaking I guess is either working, or the library imports are using short paths and pulling in everything. I couldn't verify using short paths making a difference to my build with prod settings as above.
Mine is for an internal app, meaning that size is (ahem) less of a priority - I've now got to go down the PWA route and see if that helps.  The usual things to improve server configs will help, sure - but I totally see webcat12345's point, serving this over 3G to a tablet would be less than great where your trying to ensure that only the absolute necessities are downloaded.

@StevenFewster Try to make the same test with textbox or some other smaller component.
And no, Tree Shaking is not supported according to one of the developers. See issue #353.

Absolutely right - I guess if using DataGrid (Pivot too, probably) you're going to have to accept a large bundle size. DxButtonGrid came in at 858kB for main.js, and unaffected by full/partial path.

there are some infos in the roadmap
https://js.devexpress.com/Roadmap/#Performance

I am also using the DxDataGrid.  It doesn't matter how I import the Modules/Components, my bundle size does not change.  Main.js is 2.9mb and Vendor.js is 5.4 mb.
I've tried this:
import { DevExtremeModule } from 'devextreme-angular'; -- in app.module only
this:
import { (ControlModule) } from 'devextreme-angular';  -- in all modules that contain the specified control
this:
import { (ControlModule) } from 'devextreme-angular/ui/(control name)';  -- in all modules that contain the specified control
Main and Vendor files remains the same.  Yes, I am using a production build.  With a dev build, Main.js is 3.8mb and Vendor.js is 16.5mb.

@OmniAndy you have to import everything from "devextreme-angular" library using long paths ("devextreme-angular/ui/(control name)" or similar) from specific sub-folders, no matter if it's UI module, component or "DxServerTransferStateModule". If you have import {SomeThing} from 'devextreme-angular' anywhere in your code, it will result in a huge bundle. Normally DevExtreme Angular app (JS + CSS) weighs between 2 and 3MB. Try to build devextreme-angular-template example project to see how much the bundle should weigh when everything is imported correctly.

@hakimio ... like I said.  I tried that.  Bundle was the same exact size.  I think people are right when they say Data-Grid has so many dependencies that it ends up importing everything anyway.

@OmniAndy we also use the data grid (and many other widgets), but we don't generate separate vendor.js - everything's included in main.js. The output looks like this:
$ ng build --prod

Date: 2019-06-27T13:16:32.868Z
Hash: cd5d65433cfd386e034b
Time: 42819ms

chunk {0} runtime.a5dd35324ddfd942bef1.js (runtime) 1.41 kB [entry] [rendered]
chunk {1} main.3b629f44655bed6ddbac.js (main) 2.82 MB [initial] [rendered]
chunk {2} polyfills.1cd3466dbc8de4b5c45c.js (polyfills) 41 kB [initial] [rendered]
chunk {3} styles.0fbb3dafd701930074f1.css (styles) 638 kB [initial] [rendered]

Done in 55.03s.

@hakimio How do you not use a vendor file?  Is that the "vendorChunk" flag in angular.json?

What helped me was take a look at your Component import not anly at your Module import, some of my Component imports where also from devextreme-angular/ui/all..

https://github.com/DevExpress/devextreme-angular/issues/811#issuecomment-493388263
This worked succesfully on my project.
Thanks @hakimio

I did the same thing and my vendor bundle size is less large then before.

For me the update to 19.2.3 helped a lot.
before:

after:

Any news about this issue?

@pedrofurtado major improvements should come in DevExtreme 20.1 once they split DevExtreme into modules.

@hakimio Thanks for feedback! It's a great news that devextreme 20.1 will provide this feature 🎉

20.1 Is out, any news on this issue? Bundle optimization seam planned for 20.2

They postponed it until v20.2.

@hakimio Thanks for feedback! It's a great news that devextreme 20.1 will provide this feature 🎉

Not yet... 🙁

20.2 Is in the pre-release https://github.com/DevExpress/DevExtreme/releases/tag/20.2.1-sprint.2 any news on bundle optimization?

@BingoRUS @DevExpress Any news available for us?

No bundle optimization yet?

Hi @all,
Let me share our current progress with you. We prepared our codebase migration to ES6 modules and these modules will be available in v20.2. Our next goal is to properly support tree shaking and perform code splitting. We have plans to introduce tree shaking in the next major release (v20.2) if it all goes well. As for the code splitting, this task requires more time and I can't give you any estimates.

We're going to deliver a set of ES6 modules starting with v20.2, see https://github.com/DevExpress/DevExtreme/issues/14351 for more details.

LoL I don't know what you guys are expecting. The DataGrid is the most complex component and it uses nearly every other component (Button, Popup, Form, all the editor). It's the way this library is designed.
I don't know if there is a way datagrid automatically import required module depend on configuration ?

Hi @dathoang,

The DataGrid is the most complex component and it uses nearly every other component

That's true.

It's the way this library is designed.

That's also true, but that's what we want to change - redesign it.

I don't know if there is a way datagrid automatically import required module depend on configuration ?

If we are talking about static imports, the only way to achieve this goal is to let developers import what's required. For instance, if you need to enable data editing and Filter Row in our DataGrid, you will import a set of modules that contains required child components as follows:
import { DxDataGridBaseModule, DxDataGridEditingModule, DxDataGridFilterRowModule } from 'devextreme-angular';

...

@NgModule({
    imports: [
        ..
        DxDataGridBaseModule,
        DxDataGridEditingModule,
        DxDataGridFilterRowModule
    ],

...

<dx-data-grid>
  <dx-data-grid-editing />
  <dx-data-grid-filter-row />
</dx-data-grid>

So, if we treat each child component as a 'plugin', it won't be bundled until it's manually imported as a module. Each plugin can have its own configuration properties. That's the way we consider for better code splitting. Any feedback on this approach is welcome.

How this goes? Any news or dates here? I'm trying to adopt dev-extreme in my company due I think is the best actor in the market, but the bundling size & tree shacking is kinda stopper. Thx in advance.

@danigt91 https://github.com/DevExpress/DevExtreme/issues/14351#issuecomment-717278424

20.2.4 bundle is still quite big for the few controls that I am using :(

20.2.4 bundle is still quite big for the few controls that I am using :(

Any official updates on it?

Any official updates on it?

It's not in v20.2. Check the link I've posted.

It's not in v20.2. Check the link I've posted.

Ah thanks @hakimio what's the eta?

Ah thanks @hakimio what's the eta?

If DX release schedule doesn't change, v21.1 should be out around May this year.

If DX release schedule doesn't change, v21.1 should be out around May this year.

By adding

@webcat12345 same here. Why do we have every widgets in the bundle ? I'm using only 5 widgets from "devextreme-angular" (with the correct imports).

Most likely because you are importing modules and components wrong way.
Don't do the following:
import { DxButtonModule } from 'devextreme-angular';

Do this instead:
import { DxButtonModule } from 'devextreme-angular/ui/button';

And this applies both to modules and components:
import { DxButtonComponent } from 'devextreme-angular/ui/button';

If you do that it should only pull required modules.

It helped me: from 5.9MB to 500 kB

I am using the report designer and the report viewer. The Js is in production build at 5.34 MB. Is this serious?

Hi everyone,
We have released the ES6 modules feature. It is the first step to reducing bundle size. You can find detailed information here. Try the feature in your application and let us know if you encounter issues. Also, please share your project bundle size with and without the ES6 modules feature. This information will help us plan future enhancements.

Hi everyone,
We have released the ES6 modules feature. It is the first step to reducing bundle size. You can find detailed information here. Try the feature in your application and let us know if you encounter issues. Also, please share your project bundle size with and without the ES6 modules feature. This information will help us plan future enhancements.

Does this import style still useful to reduce bundle size ?
import { DxButtonModule } from 'devextreme-angular/ui/button';

@dathoang No.

My problem is related to this, my build time increased up to 160% after adding the DE library, any tips?

I believe the same issue here. An very simple app (just one component) with a very reasonable subset of DX elements:
import { DxChartModule,
  DxPieChartModule,
  DxDataGridModule,
  DxAutocompleteModule,
  DxTextBoxModule,
  DxButtonModule,
  DxDropDownButtonModule,
  DxPopupModule,
  DxCheckBoxModule } from 'devextreme-angular';

Any ideas how to reduce this?

That's way too much for production bundle. Have you enabled all optimizations? "ng build --environment production"?

Just thought I'd add a note here with my findings - as I felt the thread was a bit confusing.
When I test it now with devex 21.2:

Empty angular project - 60.11 kB
Install devex but don't use it - 60.11 kB
Use devex button with 'devextreme-angular' imports - 122.62 kB
Use devex button with 'devextreme-angular/ui/button' imports - 122.62 kB

Based on the discussion in https://github.com/DevExpress/DevExtreme/issues/14351#issuecomment-717278424 and @hakimo 's comments
It looks like:

If you are using devex 21.1+ - you don't need to worry about how you import stuff anymore!
If you are using older versions - you may need to worry about it

Versions I used:
$ ng --version
Angular CLI: 13.1.2
Node: 14.18.2
Package Manager: npm 6.14.15
OS: linux x64

Angular: 13.1.1
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1301.2
@angular-devkit/build-angular   13.1.2
@angular-devkit/core            13.1.2
@angular-devkit/schematics      13.1.2
@angular/cli                    13.1.2
@schematics/angular             13.1.2
rxjs                            7.4.0
typescript                      4.5.4

Empty angular project: (60.11 kB)
# Benchmark setup
$ npm i -g @angular/cli
$ ng new angular-devex-test --minimal --routing --style css
$ cd angular-devex-test

$ npm run build
> ng build
Initial Chunk Files           | Names         |  Raw Size | Estimated Transfer Size
main.efb0a080abc6a125.js      | main          | 178.82 kB |                48.05 kB
polyfills.b5b0149eb4f94cba.js | polyfills     |  36.21 kB |                11.47 kB
runtime.511212c3af742c14.js   | runtime       |   1.06 kB |               602 bytes
styles.ef46db3751d8e999.css   | styles        |   0 bytes |                       -
                            | Initial Total | 216.09 kB |                60.11 kB

Install devex but don't use it: (60.11 kB)
$ npm i --save devextreme devextreme-angular
# In package.json these were added:
#       "devextreme-angular": "^21.2.4",
#       "devextreme": "^21.2.4",

$ npm run build
Initial Chunk Files           | Names         |  Raw Size | Estimated Transfer Size
main.efb0a080abc6a125.js      | main          | 178.82 kB |                48.05 kB
polyfills.b5b0149eb4f94cba.js | polyfills     |  36.21 kB |                11.47 kB
runtime.511212c3af742c14.js   | runtime       |   1.06 kB |               602 bytes
styles.ef46db3751d8e999.css   | styles        |   0 bytes |                       -
                            | Initial Total | 216.09 kB |                60.11 kB

Use devex button with 'devextreme-angular' imports: (122.62 kB)
# Diff of changes done to `app.component.ts`:
+import { DxButtonComponent } from 'devextreme-angular';
...
+  constructor() {
+    DxButtonComponent; // just use it here
+  }

# Diff of changes done to `app.module.ts`:
+import { DxButtonModule } from 'devextreme-angular';
...
-  imports: [BrowserModule, AppRoutingModule],
+  imports: [BrowserModule, AppRoutingModule, DxButtonModule],
+  exports: [DxButtonModule],

$ npm run build
Initial Chunk Files           | Names         |  Raw Size | Estimated Transfer Size
main.76d364d8c9e2ba24.js      | main          | 453.00 kB |               110.50 kB
polyfills.b5b0149eb4f94cba.js | polyfills     |  36.21 kB |                11.47 kB
runtime.f0b34f53f7009121.js   | runtime       |   1.23 kB |               661 bytes
styles.ef46db3751d8e999.css   | styles        |   0 bytes |                       -

                            | Initial Total | 490.44 kB |               122.62 kB

Use devex button with 'devextreme-angular/ui/button' imports: (122.62 kB)
# Diff of changes done to `app.component.ts`:
+import { DxButtonComponent } from 'devextreme-angular/ui/button';
...
+  constructor() {
+    DxButtonComponent; // just use it here
+  }

# Diff of changes done to `app.module.ts`:
+import { DxButtonModule } from 'devextreme-angular/ui/button';
...
-  imports: [BrowserModule, AppRoutingModule],
+  imports: [BrowserModule, AppRoutingModule, DxButtonModule],
+  exports: [DxButtonModule],

$ npm run build
Initial Chunk Files           | Names         |  Raw Size | Estimated Transfer Size
main.76d364d8c9e2ba24.js      | main          | 453.00 kB |               110.50 kB
polyfills.b5b0149eb4f94cba.js | polyfills     |  36.21 kB |                11.47 kB
runtime.f0b34f53f7009121.js   | runtime       |   1.23 kB |               661 bytes
styles.ef46db3751d8e999.css   | styles        |   0 bytes |                       -

                            | Initial Total | 490.44 kB |               122.62 kB

Here are the numbers when I use a single module one by one (for the modules I am interested in) ... if it helps anyone get a benchmark
 - NO Devex Module       -  216.09 kB (transfer size:  60.11 kB)
 - DxDataGridModule      -    2.01 MB (transfer size: 456.46 kB)
 - DxButtonModule        -  490.44 kB (transfer size: 122.62 kB)
 - DxAccordionModule     -  532.60 kB (transfer size: 135.66 kB)
 - DxCheckBoxModule      -  600.51 kB (transfer size: 146.85 kB)
 - DxDateBoxModule       -    1.10 MB (transfer size: 249.78 kB)
 - DxDropDownBoxModule   -  823.09 kB (transfer size: 190.71 kB)
 - DxFileUploaderModule  -  640.07 kB (transfer size: 154.39 kB)
 - DxListModule          -  950.25 kB (transfer size: 216.42 kB)
 - DxLoadIndicatorModule -  338.45 kB (transfer size:  94.10 kB)
 - DxLoadPanelModule     -  485.68 kB (transfer size: 124.67 kB)
 - DxNumberBoxModule     -  710.36 kB (transfer size: 167.73 kB)
 - DxPopoverModule       -  729.09 kB (transfer size: 173.72 kB)
 - DxRadioGroupModule    -  638.58 kB (transfer size: 156.24 kB)
 - DxScrollViewModule    -  492.81 kB (transfer size: 127.05 kB)
 - DxSelectBoxModule     -  977.27 kB (transfer size: 218.51 kB)
 - DxSwitchModule        -  500.09 kB (transfer size: 128.31 kB)
 - DxTabsModule          -  694.76 kB (transfer size: 164.95 kB)
 - DxTagBoxModule        - 1002.96 kB (transfer size: 222.74 kB)
 - DxTemplateModule      -  255.70 kB (transfer size:  71.66 kB)
 - DxTextAreaModule      -  648.38 kB (transfer size: 157.03 kB)
 - DxTextBoxModule       -  688.89 kB (transfer size: 162.69 kB)
 - DxTooltipModule       -  729.61 kB (transfer size: 173.85 kB)
 - DxTreeViewModule      -  858.30 kB (transfer size: 198.77 kB)
 - DxMenuModule          -  899.05 kB (transfer size: 206.56 kB)
 - ALL the above Modules -    2.32 MB (transfer size: 485.06 kB)
 - ALL the above Modules (except data grid) - 1.50 MB (transfer size: 298.96 kB)

Note: As you can see - data-grid does use most of these internally.
All the tests:

Use a template created by ng new --minimal --routing --style css
Directly import from 'devextreme-angular'
Use devextreme and devextreme-angular v21.2.4
Use angular 13.1.2, Node 14.18.2

For those who want to see the project in more detail:
angular-devex-test.zip
Overall - it seems ES6 modules and tree shaking is working to a particular degree. So, that is much much better than the previous versions :+1:
I still feel that for the amount I use devex ( I use datagrid :) ), I wouldn't want to make my bundle increase by 2MB (400kb in transfer size)...
To give you a comparison the size after minification (without going into functionality comparison):

jquery+datatables is: 87KB (datatable) + 88KB (jquery) = 175 KB
angular-datatables is: 402.56 kB - 216.09 kB = ~200kb
Angular + devex data grid is: 2.01 MB - 216.09 kB = ~1.8MB

So, it feels like there is definitely a scope for some sort of improvement here in terms of modularization. (Devex's datagrid is around 9x larger)
Maybe that should be captured in a separate more specific ticket.
The idea put forth in https://github.com/DevExpress/devextreme-angular/issues/811#issuecomment-717791571 seems to be intuitive and reasonable


fix: renamed getDeflatedObjectCached to getGzipObjectCached

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


ScaleManager. Unable to get property 'then' of undefined or null reference.

Version

Phaser Version: 3.19.0

Operating system: Microsoft Windows 10 Pro / Version 1809 / Build 17763.775

Browser:  Microsoft Edge 44.17763.771.0

Description
I am using ScaleManager's  this.scale.startFullscreen()  function and it works ok in all browsers exept Edge. In Edge when I try to call the method I get an error in the console :  Unable to get property 'then' of undefined or null reference.
Image of error:

Example Test Code

const config = {
   type: Phaser.AUTO,
   width: 600,
   height: 600,
   scene: { create: create },
   scale: {
      mode: Phaser.Scale.FIT,
      autoCenter: Phaser.Scale.CENTER_BOTH
   },
   backgroundColor: 0xFFFF00
};

const game = new Phaser.Game(config);

function create() {
   const button = new Phaser.GameObjects.Rectangle(this, 300, 300, 300, 100, 0xFF0000);
   button.setInteractive();
   this.add.existing(button);

   button.on("pointerdown", () => {
      if (this.scale.isFullscreen) {
         this.scale.stopFullscreen();
      } else {
         this.scale.startFullscreen();
      }
   });

   const title = new Phaser.GameObjects.Text(this, 300, 300, "CLICK ME TO\nCALL FULLSCREEN", {
      color: "#ffffff",
      fontSize: "20px",
      align: "center"
   });
   title.setOrigin(0.5);
   this.add.existing(title);
}

Additional Information

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

I have tested 3.20.0v and everything works well. Thank you for your quickly answer.