Components won't build in Gatsby SSR

Describe the bug
When using these components in Gatsby, they work in the develop stage but not when building for server-side rendering.
To Reproduce
Steps to reproduce the behavior:

Create new Gatsby site and yarn add @trussworks/react-uswds
Use any components in pages
gatsby develop works
gatsby build fails

Expected behavior
Initial issue is with use of window in index.js:
ERROR #95312
"window" is not available during server side rendering.

This can be fixed by using setting gatsby-node.js to use webpack null-loader for /react-uswds/, per instructions at https://www.gatsbyjs.org/docs/debugging-html-builds/#fixing-third-party-modules
Subsequent issue is harder to debug, errors when using any of these components and building.
  Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for  the full message or use the non-minified dev environment for full errors and additional helpful warnings.

Because there's not a lot of information in this error message, it's difficult to tell what's going on. And since there's no error when running develop, there's not a lot more to go on here.
Additional context
My example site in development is at https://github.com/spacedogXYZ/crush2020, if this is helpful to debug. Other React USWDS implementations do not appear to have this problem (eg, https://github.com/18F/federalist-uswds-gatsby) but this repo looks like it is currently under development and would be great if it worked for this use case.
Environment:

Mac OS Catalina 10.15.5
Node versions v13.8.0 and v12.18.3 (LTS)

@haworku let me know if you'd like me to do any other debugging. I'm not super familiar with typescript, but I can send along any compile logs that might be helpful...

Hey thanks @jlev for filing this issue and for this comment! The information you already provided is enough.   @ahobson is looking into things a bit

Once we make a release, you should remove the null-loader config from gatsby-node.js (or remove the file entirely since it's not needed any more).

Thank you for the quick response! I've checked out the fix branch and built locally with yarn build and linked to my own package.json, and now the SSR with gatsby build works.
However, it now the regular gatsby develop does not, and has a lot of webpack errors and warnings for the generated lib...
I can wait for a real release to see if your release build is different, but at least from my end this doesn't appear to resolve the problem.
 ERROR #98123  WEBPACK

Generating development JavaScript bundle failed

/Users/jlev/Code/Spacedog/react-uswds/lib/index.js
  1:1      error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  1:128    error    'define' is not defined                                                no-undef
  1:139    error    'define' is not defined                                                no-undef
  1:410    warning  Unexpected use of comma operator                                       no-sequences
  1:440    warning  Unexpected use of comma operator                                       no-sequences
  1:543    error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  1:651    warning  Unexpected use of comma operator                                       no-sequences
  1:736    warning  Unexpected use of comma operator                                       no-sequences
  1:838    warning  Unexpected use of comma operator                                       no-sequences
  1:1101   warning  Unexpected use of comma operator                                       no-sequences
  6:3      error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:15     warning  'use strict' is unnecessary inside of modules                          strict
  6:342    error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:459    warning  'use strict' is unnecessary inside of modules                          strict
  6:472    error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:520    warning  Unexpected use of comma operator                                       no-sequences
  6:608    warning  'use strict' is unnecessary inside of modules                          strict
  6:621    error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:669    warning  Unexpected use of comma operator                                       no-sequences
  6:1537   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:1617   warning  Unexpected use of comma operator                                       no-sequences
  6:2528   warning  'use strict' is unnecessary inside of modules                          strict
  6:2541   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:2589   warning  Unexpected use of comma operator                                       no-sequences
  6:3509   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:3601   warning  Unexpected use of comma operator                                       no-sequences
  6:4231   warning  'use strict' is unnecessary inside of modules                          strict
  6:4244   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:4292   warning  Unexpected use of comma operator                                       no-sequences
  6:4753   warning  'use strict' is unnecessary inside of modules                          strict
  6:4766   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:4814   warning  Unexpected use of comma operator                                       no-sequences
  6:5731   warning  'use strict' is unnecessary inside of modules                          strict
  6:5744   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:5792   warning  Unexpected use of comma operator                                       no-sequences
  6:6753   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:6828   warning  Unexpected use of comma operator                                       no-sequences
  6:7455   warning  'use strict' is unnecessary inside of modules                          strict
  6:7468   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:7516   warning  Unexpected use of comma operator                                       no-sequences
  6:8694   warning  Unexpected use of comma operator                                       no-sequences
  6:9277   warning  Unexpected use of comma operator                                       no-sequences
  6:9390   warning  'use strict' is unnecessary inside of modules                          strict
  6:9403   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:9451   warning  Unexpected use of comma operator                                       no-sequences
  6:9773   warning  'use strict' is unnecessary inside of modules                          strict
  6:9786   error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:9834   warning  Unexpected use of comma operator                                       no-sequences
  6:10776  warning  'use strict' is unnecessary inside of modules                          strict
  6:10789  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:10837  warning  Unexpected use of comma operator                                       no-sequences
  6:10928  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:10948  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:11264  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:11275  warning  Unexpected use of comma operator                                       no-sequences
  6:11413  warning  Missing '()' invoking a constructor                                    new-parens
  6:11432  warning  'u' is a function                                                      no-func-assign
  6:11454  warning  Unexpected use of comma operator                                       no-sequences
  6:11736  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:11748  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:11828  warning  Unexpected use of comma operator                                       no-sequences
  6:12190  warning  'e' was used before it was defined                                     no-use-before-define
  6:12193  warning  Unexpected use of comma operator                                       no-sequences
  6:12262  warning  Unexpected use of comma operator                                       no-sequences
  6:12742  warning  'use strict' is unnecessary inside of modules                          strict
  6:12755  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:12803  warning  Unexpected use of comma operator                                       no-sequences
  6:17868  warning  'use strict' is unnecessary inside of modules                          strict
  6:17881  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:17929  warning  Unexpected use of comma operator                                       no-sequences
  6:19513  warning  'use strict' is unnecessary inside of modules                          strict
  6:19526  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:19574  warning  Unexpected use of comma operator                                       no-sequences
  6:19679  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:19699  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:20015  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:20026  warning  Unexpected use of comma operator                                       no-sequences
  6:20157  warning  Missing '()' invoking a constructor                                    new-parens
  6:20176  warning  'l' is a function                                                      no-func-assign
  6:20198  warning  Unexpected use of comma operator                                       no-sequences
  6:21623  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:21629  warning  Unexpected use of comma operator                                       no-sequences
  6:21746  warning  'use strict' is unnecessary inside of modules                          strict
  6:21759  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:21807  warning  Unexpected use of comma operator                                       no-sequences
  6:21894  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:21914  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:22230  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:22241  warning  Unexpected use of comma operator                                       no-sequences
  6:22427  warning  Missing '()' invoking a constructor                                    new-parens
  6:22446  warning  'c' is a function                                                      no-func-assign
  6:22468  warning  Unexpected use of comma operator                                       no-sequences
  6:25507  warning  'use strict' is unnecessary inside of modules                          strict
  6:25520  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:25526  warning  Unexpected use of comma operator                                       no-sequences
  6:25815  warning  'use strict' is unnecessary inside of modules                          strict
  6:25828  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:25834  warning  Unexpected use of comma operator                                       no-sequences
  6:26959  warning  'use strict' is unnecessary inside of modules                          strict
  6:26972  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:26978  warning  Unexpected use of comma operator                                       no-sequences
  6:27995  warning  'use strict' is unnecessary inside of modules                          strict
  6:28008  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:28056  warning  Unexpected use of comma operator                                       no-sequences
  6:28268  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:28280  warning  Unexpected use of comma operator                                       no-sequences
  6:29165  warning  'use strict' is unnecessary inside of modules                          strict
  6:29178  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:29226  warning  Unexpected use of comma operator                                       no-sequences
  6:29860  warning  'use strict' is unnecessary inside of modules                          strict
  6:29873  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:29921  warning  Unexpected use of comma operator                                       no-sequences
  6:30866  warning  'use strict' is unnecessary inside of modules                          strict
  6:30879  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:30927  warning  Unexpected use of comma operator                                       no-sequences
  6:31356  warning  'use strict' is unnecessary inside of modules                          strict
  6:31369  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:31417  warning  Unexpected use of comma operator                                       no-sequences
  6:32367  warning  'use strict' is unnecessary inside of modules                          strict
  6:32380  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:32428  warning  Unexpected use of comma operator                                       no-sequences
  6:32622  warning  'use strict' is unnecessary inside of modules                          strict
  6:32635  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:32683  warning  Unexpected use of comma operator                                       no-sequences
  6:33800  warning  'use strict' is unnecessary inside of modules                          strict
  6:33813  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:33861  warning  Unexpected use of comma operator                                       no-sequences
  6:34745  warning  Expected '===' and instead saw '=='                                    eqeqeq
  6:34776  warning  Expected '===' and instead saw '=='                                    eqeqeq
  6:34809  warning  Expected '===' and instead saw '=='                                    eqeqeq
  6:35155  warning  'use strict' is unnecessary inside of modules                          strict
  6:35168  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:35216  warning  Unexpected use of comma operator                                       no-sequences
  6:36135  warning  'use strict' is unnecessary inside of modules                          strict
  6:36148  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:36196  warning  Unexpected use of comma operator                                       no-sequences
  6:37160  warning  'use strict' is unnecessary inside of modules                          strict
  6:37173  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:37221  warning  Unexpected use of comma operator                                       no-sequences
  6:37581  warning  'use strict' is unnecessary inside of modules                          strict
  6:37594  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:37642  warning  Unexpected use of comma operator                                       no-sequences
  6:38055  warning  'use strict' is unnecessary inside of modules                          strict
  6:38068  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:38116  warning  Unexpected use of comma operator                                       no-sequences
  6:39212  warning  'use strict' is unnecessary inside of modules                          strict
  6:39225  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:39273  warning  Unexpected use of comma operator                                       no-sequences
  6:40183  warning  'use strict' is unnecessary inside of modules                          strict
  6:40196  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:40244  warning  Unexpected use of comma operator                                       no-sequences
  6:41298  warning  'use strict' is unnecessary inside of modules                          strict
  6:41311  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:41359  warning  Unexpected use of comma operator                                       no-sequences
  6:42285  warning  'use strict' is unnecessary inside of modules                          strict
  6:42298  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:42346  warning  Unexpected use of comma operator                                       no-sequences
  6:43289  warning  'use strict' is unnecessary inside of modules                          strict
  6:43302  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:43350  warning  Unexpected use of comma operator                                       no-sequences
  6:44712  warning  'use strict' is unnecessary inside of modules                          strict
  6:44725  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:44731  warning  Unexpected use of comma operator                                       no-sequences
  6:45448  warning  'use strict' is unnecessary inside of modules                          strict
  6:45461  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:45509  warning  Unexpected use of comma operator                                       no-sequences
  6:46521  warning  'use strict' is unnecessary inside of modules                          strict
  6:46534  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:46582  warning  Unexpected use of comma operator                                       no-sequences
  6:47674  warning  'use strict' is unnecessary inside of modules                          strict
  6:47687  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:47735  warning  Unexpected use of comma operator                                       no-sequences
  6:48548  warning  'use strict' is unnecessary inside of modules                          strict
  6:48561  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:48609  warning  Unexpected use of comma operator                                       no-sequences
  6:49451  warning  'use strict' is unnecessary inside of modules                          strict
  6:49464  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:49512  warning  Unexpected use of comma operator                                       no-sequences
  6:50682  warning  'use strict' is unnecessary inside of modules                          strict
  6:50695  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:50743  warning  Unexpected use of comma operator                                       no-sequences
  6:51851  warning  'use strict' is unnecessary inside of modules                          strict
  6:51864  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:51912  warning  Unexpected use of comma operator                                       no-sequences
  6:52829  warning  'use strict' is unnecessary inside of modules                          strict
  6:52842  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:52890  warning  Unexpected use of comma operator                                       no-sequences
  6:53063  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:53141  warning  Unexpected use of comma operator                                       no-sequences
  6:53977  warning  'use strict' is unnecessary inside of modules                          strict
  6:53990  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:54038  warning  Unexpected use of comma operator                                       no-sequences
  6:54858  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:54933  warning  Unexpected use of comma operator                                       no-sequences
  6:55552  warning  'use strict' is unnecessary inside of modules                          strict
  6:55565  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:55613  warning  Unexpected use of comma operator                                       no-sequences
  6:56483  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:56561  warning  Unexpected use of comma operator                                       no-sequences
  6:57264  warning  'use strict' is unnecessary inside of modules                          strict
  6:57277  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:57325  warning  Unexpected use of comma operator                                       no-sequences
  6:57896  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:57974  warning  Unexpected use of comma operator                                       no-sequences
  6:58627  warning  'use strict' is unnecessary inside of modules                          strict
  6:58640  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:58688  warning  Unexpected use of comma operator                                       no-sequences
  6:59021  warning  'use strict' is unnecessary inside of modules                          strict
  6:59034  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:59082  warning  Unexpected use of comma operator                                       no-sequences
  6:59979  warning  'use strict' is unnecessary inside of modules                          strict
  6:59992  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:60040  warning  Unexpected use of comma operator                                       no-sequences
  6:61368  warning  'use strict' is unnecessary inside of modules                          strict
  6:61381  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:61429  warning  Unexpected use of comma operator                                       no-sequences
  6:62388  warning  'use strict' is unnecessary inside of modules                          strict
  6:62401  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:62449  warning  Unexpected use of comma operator                                       no-sequences
  6:63553  warning  'use strict' is unnecessary inside of modules                          strict
  6:63566  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:63614  warning  Unexpected use of comma operator                                       no-sequences
  6:64560  warning  'use strict' is unnecessary inside of modules                          strict
  6:64573  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:64621  warning  Unexpected use of comma operator                                       no-sequences
  6:65577  warning  'use strict' is unnecessary inside of modules                          strict
  6:65590  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:65638  warning  Unexpected use of comma operator                                       no-sequences
  6:66588  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:66663  warning  Unexpected use of comma operator                                       no-sequences
  6:67263  warning  'use strict' is unnecessary inside of modules                          strict
  6:67276  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:67324  warning  Unexpected use of comma operator                                       no-sequences
  6:67450  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:67470  warning  Unexpected mix of '||' and '&&'                                        no-mixed-operators
  6:67786  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  6:67797  warning  Unexpected use of comma operator                                       no-sequences
  6:67961  warning  Missing '()' invoking a constructor                                    new-parens
  6:67980  warning  'u' is a function                                                      no-func-assign
  6:68002  warning  Unexpected use of comma operator                                       no-sequences

✖ 240 problems (76 errors, 164 warnings)
  0 errors and 61 warnings potentially fixable with the `--fix` option.

I'm not positive what the problem is with yarn link, but I speculate it's trying to compile the source to react-uswds which is in TypeScript.
If I simulate installing the new code, everything seems to work.
$ cd react-uswds
$ yarn build
$ cd ../crush2020
$ rsync -av ../react-uswds/lib/* node_modules/@trussworks/react-uswds/lib/
## this works fine
$ ./node_modules/.bin/gatsby develop
## this works fine
$ ./node_modules/.bin/gatsby build

Yeah, it might be due to the typescript compilation step. I told eslint to ignore that file, and the warnings were suppressed.
I may need to wait for a new release before deploying, because netlify does all the build steps for me, but this definitely helps me keep moving on this project.

This change is available on npm in version 1.9.0.


Time left to submit needs more work..

Self explanatory.

That's correct, it's just missing the "58 minutes" part.

why would the system need to show 0 days as well, would it not be better to just show 1 hour left or 58 minutes left? Maybe also turn the letters red when its under an hour would help students know that its really close to deadline

Working on this.

Also mentioned during the meeting this week:

Add 1 minute when checking the submissions so that when an assignment is due at 10:00pm and a user submits at 10:00:05pm, consider as "on time".


News_commentary Dataset Translation Pairs are of Incorrect Language Specified Pairs

I used load_dataset to load the news_commentary dataset for "ar-en" translation pairs but found translations from Arabic to Hindi.
train_ds = load_dataset("news_commentary", "ar-en", split='train[:98%]')
val_ds = load_dataset("news_commentary", "ar-en", split='train[98%:]')

# filtering out examples that are not ar-en translations but ar-hi
val_ds = val_ds.filter(lambda example, indice: indice not in chain(range(1312,1327) ,range(1384,1399), range(1030,1042)), with_indices=True)

I'm fairly new to using datasets so I might be doing something wrong

These ranges seem to be valid English. Closing.


js-interop: JS$ encoding scheme isn't working for @anonymous object literals declaration

I'm adopting Mongo Realm Web SDK in my Flutter Web app.
I've encountered problem with defining anonymous class for object literal in JS.
As far as Mongo Realm starts names for some fields with underscore ('_') and I cannot change this, I need to reflect this structure in Dart code.
So I have such declaration
@JS()
@anonymous
class CollectionFilter {
   external String? get _id;
   external String? get sessionId;

   external factory CollectionFilter({String? _id, String? sessionId});
}

Obviously, Dart doesn't except this with  "Error: An optional named parameter can't start with '_'."
In #26468 I have found a suggestion to use JS$ encoding scheme as a workaround for JS property names that are not public Dart names.
So, I changed my code to
@JS()
@anonymous
class CollectionFilter {
   external String? get JS$_id;
   external String? get sessionId;

   external factory CollectionFilter({String? JS$_id, String? sessionId});
}

But that didn't help (reflected JS object had field with exact name JS$_id as in Dart declaration).
So my question: is this behaviour expected? And if so, what is the right way to workaround JS property names with underscores in object literals?
I'm using Flutter 2.5.0 with Dart 2.14.0

Thanks for the question @richexp!
/cc @srujzs @rileyporter
I too was expecting also your second example to work. It appears that dart2js, our deployment compiler, supports it (which is enabled in the --release and --profile modes in flutter run), but DDC, our development compiler, does not.
We are moving in a direction where JS-interop is more static, and in doing so we'll be able to allow things like exposing Dart names differently than JS names. We hope this will have a cleaner solution going forward. Because of that, I believe it's unlikely we'll add support for JS$ in DDC at this time.
Today, one thing you can do is to use static extension methods to expose the name you want  and use dart:js_util to implement the underlying access. Unfortunately that means also using js_util to create an anonymous JavaScript object, instead of using the terse syntax of package:js for the constructor.
In your example this may look as follows:
@JS()
library foo;

import 'package:js/js.dart';
import 'dart:js_util' as js_util;

@JS()
@anonymous
class CollectionFilter {
}

// Note: ideally this would be a non-external factory constructor in CollectionFilter, but
// it appears DDC doesn't support that today either, so I had to move it to a top-level method.
CollectionFilter createCollectionFilter({String? id, String? sessionId}) =>
  js_util.jsify({'_id': id, 'sessionId': sessionId});

extension CollectionFilterExtension on CollectionFilter {
  // Note: external extension methods are not yet supported in 2.14, but starting in Dart 2.15, you
  // will be able to write this using package:js syntax, just like you do with static methods:
  //     @JS('_id')
  //     external String? get id;
  String? get id => js_util.getProperty(this, '_id');

  // this too, will just be:
  //     external String? get sessionId;
  String? get sessionId => js_util.getProperty(this, 'sessionId');
}

main() {
  var x = createCollectionFilter(id: '2');
  print(x.id);
}

Hope this helps get you unblocked!

Thanks for so fast and furious reply, @sigmundch @srujzs!
I will use suggested workaround while waiting for future js-interop enhancements


[WIP] Cancel Upload, cancel all or individually

Purpose
Allows users to cancel their uploads either all uploads or individual uploads in Files and Project Overview files widget. Fixing issue #1688
Changes

Uses the new multimodal notification system in treebeard, hence a new treebeard commit is used
There are new templates for updating view for canceling uploads
New function in fangorn called findByTempID, that finds a row based on their temporary ID, useful for temporary rows used in upload
new function in fangorn called cancelUploads that is a unified cancel location for all or individual files

Side effects
Not seing any yet but still testing.
Preview

@jmcarp can you do an initial review of this with me, the functionality is ready but it may need some refactoring.

Added a few questions inline, but otherwise LGTM :clap:

This PR is changing too much and too rough to be WIP. Retracting until a stable version is available.


Remove button not present on "This month" videos

the button does not show up, possible problem with finding the "This month" box?

Closed. Fixed when code cleanup occurred.


chore(upgrade): Fix scavenger to work in Angular8+

The imports for core-js seemed to have changed when updating to the new packages for Angular 8, this fixes that but likely makes it so you can not use scavenger in Angular lower than version 8. There might be a better solution but this works for Angular 8+ people for now.

Hi @timwright35!
Thank you for your feedback but I am not sure that core-js changed the paths recently.
Could you please reproduce the issue on Stackblitz?
Thank you in advance.

Hi @timwright35!
Thank you for your feedback but I am not sure that core-js changed the paths recently.
Could you please reproduce the issue on Stackblitz?
Thank you in advance.

I do not think core did change the paths. The issue I think stems from Angular and changes to shims etc. I might be wrong but when I researched it after I was getting the errors this was the solution.

This issue was fixed in latest release<EMAIL_ADDRESS>


Should mention what the risks are here if everything is stored in clear text

Suggested by @jonbgallant

After WiFi is configured, your credentials will be persisted on the device for that connection, even if unplugged. For example, if you configured the DevKit for WiFi in your home and then took the DevKit to the office, you will need to reconfigure AP mode (starting at step 3A) to connect the DevKit to your office WiFi.

as a devkit I think it's not a problem.


JMeter HTML report max value calculation issue

Expected behavior
show actual Max values in HTML Report
Actual behavior
I am using JMeter to perform load testing on my application and I have encountered an issue with the HTML report generation. The max value calculation for the response time is incorrect in the report.
Steps to reproduce the problem
Tried more Steps
JMeter Version
5.5
Java Version
17
OS Version
Windows 11

Hi,
Do you have the csv file which generate the HTML report?

Yes, I have but we need to submit html file to management team.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Antonio Gomes @.>
Sent: Wednesday, June 14, 2023 6:45:41 PM
To: apache/jmeter @.>
Cc: Naveen Immandi @.>; Author @.>
Subject: Re: [apache/jmeter] JMeter HTML report max value calculation issue (Issue #5983)
Hi,
Do you have the csv file which generate the HTML report?
—
Reply to this email directly, view it on GitHubhttps://github.com/apache/jmeter/issues/5983#issuecomment-1591190073, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BAR4ARVQTJJP6WG64U4UXN3XLG2P3ANCNFSM6AAAAAAZF3GTZE.
You are receiving this because you authored the thread.Message ID: @.***>


Redditor.get_comments() doesn't return all comments?

I'm trying to scrape and analyze Dan Harmon's most recent AMA, but I'm only getting 26 comments. Perhaps I'm doing it wrong? But from my undestanding, the default argument to time is 'all' (python 2.6.6)
import praw
from os import utime

r = praw.Reddit(user_agent=$BOTNAME)
dh = r.get_redditor('danharmon')
for c in dh.get_comments():
    id = c.id
    t = c.created_utc
    if c.link_id != u't3_yne9x': # Will break as soon as he comments on a different post, I know
        print 'done!'
        break
    with open(id, 'wb') as f:
        print "Writing comment", id
        f.write(c.body.encode("UTF-8"))
        utime(id, (t, t))

Appreciate your answer, @bboe. Unlike @Damgaard, it's actually helpful


preserve attributes/links

It'd be great if we could get the same functionality as cp -a

For the attributes, I assume you mean these: https://nodejs.org/api/fs.html#fs_class_fs_stats ?

Yes

Makes sense. Pull request welcome :)


Incompatible with Night Eye Chrome extension

Irrespective of which prefers-color-scheme value is set, the site contains some text that is very low contrast (though the low-contrast text varies based on light/dark) when the Night Eye Chrome extension is active. For this reason, I'm going to switch to using underline for emphasis.

I don't think there's anything actionable here, so best I can give you is 👍 I don't intend to make any changes to support third-party stuff.


[Bug]: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

What happened?
Hi, the error appear when the ksampling start with layerdiff 1.5. Reproduced on 2 different setup.
Steps to reproduce the problem
Load an image for the reverse noise sampler.
What should have happened?
Getting the sampling to work. It was working fine before but after coming back to LD after a few months it's now broken.
Commit where the problem happens
ComfyUI: latest
ComfyUI-layerdiffuse: latest
Sysinfo
Linux rtx 4090
Console logs
Error occurred when executing KSampler Adv. (Efficient):

Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

  File "/media/comfyui/ComfyUI/execution.py", line 151, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
  File "/media/comfyui/ComfyUI/execution.py", line 81, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
  File "/media/comfyui/ComfyUI/execution.py", line 74, in map_node_over_list
    results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
  File "/media/comfyui/ComfyUI/custom_nodes/efficiency-nodes-comfyui/efficiency_nodes.py", line 2206, in sample_adv
    return super().sample(model, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative,
  File "/media/comfyui/ComfyUI/custom_nodes/efficiency-nodes-comfyui/efficiency_nodes.py", line 713, in sample
    samples, images, gifs, preview = process_latent_image(model, seed, steps, cfg, sampler_name, scheduler,
  File "/media/comfyui/ComfyUI/custom_nodes/efficiency-nodes-comfyui/efficiency_nodes.py", line 537, in process_latent_image
    samples = KSamplerAdvanced().sample(model, add_noise, seed, steps, cfg, sampler_name, scheduler,
  File "/media/comfyui/ComfyUI/nodes.py", line 1378, in sample
    return common_ksampler(model, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise, disable_noise=disable_noise, start_step=start_at_step, last_step=end_at_step, force_full_denoise=force_full_denoise)
  File "/media/comfyui/ComfyUI/nodes.py", line 1314, in common_ksampler
    samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/animatediff/sampling.py", line 313, in motion_sample
    return orig_comfy_sample(model, noise, *args, **kwargs)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet/adv_control/control_reference.py", line 47, in refcn_sample
    return orig_comfy_sample(model, *args, **kwargs)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet/adv_control/utils.py", line 111, in uncond_multiplier_check_cn_sample
    return orig_comfy_sample(model, *args, **kwargs)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-Impact-Pack/modules/impact/sample_error_enhancer.py", line 22, in informative_sample
    raise e
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-Impact-Pack/modules/impact/sample_error_enhancer.py", line 9, in informative_sample
    return original_sample(*args, **kwargs)  # This code helps interpret error messages that occur within exceptions but does not have any impact on other operations.
  File "/media/comfyui/ComfyUI/comfy/sample.py", line 37, in sample
    samples = sampler.sample(noise, positive, negative, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 761, in sample
    return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 663, in sample
    return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 650, in sample
    output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 629, in inner_sample
    samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 534, in sample
    samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/media/comfyui/ComfyUI/comfy/k_diffusion/sampling.py", line 724, in sample_dpmpp_sde_gpu
    return sample_dpmpp_sde(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, eta=eta, s_noise=s_noise, noise_sampler=noise_sampler, r=r)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/media/comfyui/ComfyUI/comfy/k_diffusion/sampling.py", line 542, in sample_dpmpp_sde
    denoised = model(x, sigmas[i] * s_in, **extra_args)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 272, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 616, in __call__
    return self.predict_noise(*args, **kwargs)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 619, in predict_noise
    return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 258, in sampling_function
    out = calc_cond_batch(model, conds, x, timestep, model_options)
  File "/media/comfyui/ComfyUI/comfy/samplers.py", line 218, in calc_cond_batch
    output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet/adv_control/utils.py", line 63, in apply_model_uncond_cleanup_wrapper
    return orig_apply_model(self, *args, **kwargs)
  File "/media/comfyui/ComfyUI/comfy/model_base.py", line 97, in apply_model
    model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float()
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/media/comfyui/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 852, in forward
    h = forward_timestep_embed(module, h, emb, context, transformer_options, time_context=time_context, num_video_frames=num_video_frames, image_only_indicator=image_only_indicator)
  File "/media/comfyui/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 44, in forward_timestep_embed
    x = layer(x, context, transformer_options)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/media/comfyui/ComfyUI/comfy/ldm/modules/attention.py", line 644, in forward
    x = block(x, context=context[i], transformer_options=transformer_options)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-layerdiffuse/lib_layerdiffusion/attention_sharing.py", line 253, in forward
    return func(self, x, context, transformer_options)
  File "/media/comfyui/ComfyUI/comfy/ldm/modules/attention.py", line 531, in forward
    n = self.attn1(n, context=context_attn1, value=value_attn1)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-layerdiffuse/lib_layerdiffusion/attention_sharing.py", line 212, in forward
    q = self.to_q_lora[f](modified_hidden_states[f])
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/comfyui/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "/media/comfyui/ComfyUI/custom_nodes/ComfyUI-layerdiffuse/lib_layerdiffusion/attention_sharing.py", line 70, in forward
    final_weight = org_weight + torch.mm(up_weight, down_weight)

Workflow json file
error.json
Additional information
No response

same error, it broke my comfyui.


feat(notifications): Implement query by subscriptionName

Close #3378
Signed-off-by: weichou<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/master/.github/Contributing.md.
What is the current behavior?

Issue Number: #3378
What is the new behavior?
Implement Notification Get /notification/subscription/name/{name} V2 API , https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-notifications/2.x#/default/get_notification_subscription_name__name_
Does this PR introduce a breaking change?

[ ] Yes
[x] No

New Imports

[ ] Yes
[x] No

Specific Instructions
Are there any specific instructions or things that should be known prior to reviewing?
Other information

Codecov Report

Merging #3379 (dcffa27) into master (b1882ba) will decrease coverage by 0.03%.
The diff coverage is 35.06%.

@@            Coverage Diff             @@
##           master    #3379      +/-   ##
==========================================
- Coverage   42.39%   42.36%   -0.04%
==========================================
  Files         186      186
  Lines       16225    16302      +77
==========================================
+ Hits         6879     6906      +27
- Misses       8901     8951      +50
  Partials      445      445

Impacted Files
Coverage Δ

internal/pkg/v2/infrastructure/redis/client.go
0.00% <0.00%> (ø)

...ternal/pkg/v2/infrastructure/redis/notification.go
0.00% <0.00%> (ø)

internal/pkg/v2/infrastructure/redis/queries.go
0.00% <0.00%> (ø)

...pport/notifications/v2/application/notification.go
0.00% <0.00%> (ø)

...t/notifications/v2/controller/http/notification.go
84.76% <100.00%> (+2.24%)
:arrow_up:

Continue to review full report at Codecov.

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

Commit and PR title don't match actual feature implemented. Please fix.

Nevermind.


[BUG] When used the curl command to call the opensearch interface /_rollover to perform index rotation, the index did not rotate according to the rotation conditions of the passed parameters

Describe the bug
When I used the curl command to call the opensearch interface to perform index rotation, the index did not rotate according to the rotation conditions of the passed parameters. Here is my request:
curl -X POST "https://opensearch-master-headless.paas-middleware:9200/testindex/_rollover" -ku xxx:yyy -H 'Content-Type: application/json' -d '
{
  "conditions": {
    "max_docs": 1000
  },
  "settings": {
    "index.number_of_shards": 2,
    "index.number_of_replicas": 0
  }
}'

At the same time, I used the Java client to call the index rotation API, and the index did not rotate according to the rotation strategy.The code is as follows:
RolloverRequest request = new RolloverRequest("testindex", null);
request.addMaxIndexDocsCondition(1000);
request.getCreateIndexRequest().settings(Settings.builder()
        .put("index.number_of_shards", 2)
        .put("index.number_of_replicas", 0));
RolloverResponse rolloverResponse = client.indices().rollover(request, RequestOptions.DEFAULT);

Related component
Other
To Reproduce

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
When any one or more rotation policies are passed in, including index size, number of documents, and maximum indexing time, the index rotates according to the policies.
Additional Details
Plugins
Please list all plugins currently enabled.
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

OS: [e.g. iOS]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

[Triage - attendees 1 2 3 4 5]
@liuwz02 Thanks for filing this issue, we would gladly review a pull request for this feature.

[Triage - attendees 1 2 3]
Removing the ClusterManager label as the issue is related to Indexing

@liuwz02 have you checked this conditions for your index in which an index doesn't do rollover ? https://opensearch.org/docs/latest/im-plugin/ism/error-prevention/index/#rollover


Server CSS imports are a noop

Currently we throw an error apparently.
We should be able to fix this in the CSS plugin by checking if loader.builder is not true and returning an empty source in the fetch at https://github.com/systemjs/plugin-css/blob/master/css.js#L75.

This is definitely working fine.


Allow no tests to be considered passing tests.

I've run into an issue where no tests is considered test failure when running with --strict. Some of our suites have to be excluded from tests but this then breaks phing which expects a 0 error code.
This change would mean that $result->isPassed() would return true if the return code was 0 or -100 (no tests).
In the event that this breaks some kind of backwards compatibility, I'd also be happy to look at creating a new flag for this.

Well, if you want suites without tests to be considered as passing, don't run them in strict mode. The soft mode already allows such suites to be marked as passing

Thanks for your response. Because everything gets run in a big loop over a bunch of files, we don't know whether a test will have 0 suites or some until we run it.
I have considered writing a new assertion that just returns true. I could then use this to run everything with --strict and have at least one test suite run.
I suppose conceptually I am wondering whether running no tests should constitute a test failure.

Like @stof says this feels like something that you can solve by not using --strict.

I'm closing as there's a straightforward solution (don't use --strict)


Does Alamofire support Soap?

If Alamofire support Soap web service natively? Of if there are any extension of Alamofire support it? Thanks

Of course!
You need to post the data in the HTTPBody of an NSMutableURLRequest as XML and use the response serializer to parse the XML response NSData with an XMLParser of your choice.
Here is an example of how to do it with AFNetworking. The concepts are similar enough that it should translate to Alamofire.

I have created an extension for Alamofire to use soap request with alamofire.
please have a look
https://github.com/ShakeebM/AlamofireSoap


[1.9.4] Cable's can't extract RF

When connected to RF generators or power storage blocks from other mods the cables are unable to pull the energy from them and the blocks cannot push energy out into the cables even after changing the connection types on the cables themselves to push and pull.
However Mekanism Generators can push energy into cables and the blocks of other mods and the mekanism machines will accept power from other mods cables.

This is due to the way transmitters handle their contents now- everything is done with capabilities. Mekanism will be supporting the Tesla API which will allow this kind of power transfer to work again.


Bug fixed for not opening another "AboutDialog" if there is one open

If you press "F1" multiple times, the about dialog opens one after the other.

Fixed in the next release. Thanks for the report!


Issue 20 fix djcelery admin defaults

Please note that:

I removed the toggle enable state action because djcelery already provides enable/disable actions. I think at some point, we were replacing all actions and these default actions were not shown, which led you to create that enable state toggling action.

The "enabled" column is no longer editable. The reason is that we would need to modify Django to call PeriodicTasks.changed(...) every time the enable state changes. This is error-prone and I submitted a fix to djcelery for the default enable/disable actions.

Celery 4.0 is out. I believe only djcelery@master (unreleased) supports Celery 4, so I limited our support to Celery 3.

I might remove "kwargs" from "list_display" as it could turn out to be simply unreadable in the listing view for a task with lots of kwargs. Otherwise, g2g.

kwargs come by default with djcelery. Maybe I could dynamically add a property truncated_kwargs that only return the first 100 characters? I think kwargs can still be useful (I actually missed that property a few times in the past week).

That works too


Tundra2 admino fixes

I cherry picked commits that would be useful also in rex/tundra2 to this branch. Mostly touches SceneWidgetComponents (kind of plugin/components I maintain nowadays). We have some more stuff on top of this but there might be some controversial ones so I didn't want to include here.
On top of that there is a mac branch that hopefully could be merged at some point. At the moment its in a mac branch.
I'll do fixes/cleanups if you have requests. Thanks.

Just added some fixes that are in Admino <IP_ADDRESS> release. Again mostly my components, but also one Hydrax crash fix this time.
https://github.com/Adminotech/tundra/compare/f247542...66008a1

Looks good.


Improve the new bade-x components

Question
Answer

Issue or Enhancement
Enhancement

Laravel Version
>= 7.x

Project Version
dev-master

Note: this is not and issue, instead is a guide to help implement the new blade-x components with an standard. Also, it is expected to be updated from time to time.

I will try to explain a few ideas to improve the new incoming blade-x components, so we can approximate to a standard into this package. Lets starts with an example of how a component looks now:
Current Input Component
At next we can see the current component's class and his respective blade view:
Class: src/Components/Input.php
<?php

namespace JeroenNoten\LaravelAdminLte\Components;

use Illuminate\View\Component;

class Input extends Component
{
    public $type;
    public $id;
    public $name;
    public $label;
    public $placeholder;
    public $topclass;
    public $inputclass;
    public $value;
    public $disabled;
    public $required;
    public $step;
    public $max;
    public $maxlength;
    public $pattern;

    public function __construct(
            $type = 'text', $id = null, $name = null,
            $label = 'Input Label', $placeholder = null,
            $topclass = null, $inputclass = null,
            $value = null, $disabled = false, $required = false,
            $step = null, $max = null, $maxlength = null, $pattern = null
        ) {
        $this->type = $type;
        $this->id = $id;
        $this->name = $name;
        $this->label = $label;
        $this->placeholder = $placeholder;
        $this->topclass = $topclass;
        $this->inputclass = $inputclass;
        $this->value = $value;
        $this->required = $required;
        $this->disabled = $disabled;
        $this->step = $step;
        $this->max = $max;
        $this->maxlength = $maxlength;
        $this->pattern = $pattern;
    }

    public function render()
    {
        return view('adminlte::components.input');
    }
}

Blade: resources/views/components/input.blade.php

    {{$label}}
    <input type="{{$type}}" class="{{$inputclass}} form-control @error($name) is-invalid @enderror"
    id="{{$id}}" name="{{$name}}" placeholder="{{$placeholder}}"
    @if(!is_null($step))
    step="{{$step}}"
    @endif
    @if(!is_null($max))
    max="{{$max}}"
    @endif
    @if(!is_null($maxlength))
    maxlength="{{$maxlength}}"
    @endif
    @if(!is_null($pattern))
    pattern="{{$pattern}}"
    @endif
    value="{{$value}}"
    {{($required) ? 'required' : '' }}
    {{($disabled) ? 'disabled' : '' }}>

    @error($name)

            {{ $message }}

    @enderror

New Input Component
With a few tips that will be summary later we should approximate to something like next. First we define a base component for a generic input group element:
Class: src/Components/InputGroupComponent.php
<?php

namespace JeroenNoten\LaravelAdminLte\Components;

use Illuminate\View\Component;

class InputGroupComponent extends Component
{
    /**
     * The name and id attribute for the input group item. The input group item
     * may be an "input", a "select", a "textarea", etc.
     *
     * @var string
     */
    public $name;

    /**
     * The label of the input group.
     *
     * @var string
     */
    public $label;

    /**
     * The input group size (you can specify 'sm' or 'lg').
     *
     * @var string
     */
    public $size;

    /**
     * Extra classes for the label container. This provides a way to customize
     * the label style.
     *
     * @var string
     */
    public $labelClass;

    /**
     * Extra classes for the "form-group" element. This provides a way to
     * customize the main container style.
     *
     * @var string
     */
    public $topClass;

    /**
     * Indicates if the invalid feedback is disabled for the input group.
     *
     * @var bool
     */
    public $disableFeedback;

    /**
     * Create a new component instance.
     *
     * @return void
     */
    public function __construct(
        $name, $label = null, $size = null,
        $labelClass = null, $topClass = null, $disableFeedback = null
    )
    {
        $this->name = $name;
        $this->label = $label;
        $this->size = $size;
        $this->topClass = $topClass;
        $this->labelClass = $labelClass;
        $this->disableFeedback = $disableFeedback;
    }

    /**
     * Make the class attribute for the "input-group" element.
     *
     * @return string
     */
    public function makeInputGroupClass()
    {
        $classes = ['input-group'];

        if (isset($this->size) && in_array($this->size, ['sm', 'lg'])) {
            $classes[] = "input-group-{$this->size}";
        }

        return implode(' ', $classes);
    }

    /**
     * Make the class attribute for the "form-group" element.
     *
     * @return string
     */
    public function makeFormGroupClass()
    {
        $classes = ['form-group'];

        if (isset($this->topClass)) {
            $classes[] = $this->topClass;
        }

        return implode(' ', $classes);
    }

    /**
     * Make the class attribute for the input group item.
     *
     * @param string $invalid
     * @return string
     */
    public function makeItemClass($invalid)
    {
        $classes = ['form-control'];

        if (! empty($invalid) && ! isset($this->disableFeedback)) {
            $classes[] = 'is-invalid';
        }

        return implode(' ', $classes);
    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return \Illuminate\View\View|string
     */
    public function render()
    {
        return view('adminlte::components.input-group-component');
    }
}

Bade: resources/views/components/input-group-component.blade.php

    {{-- Input label --}}
    @isset($label)

            {{ $label }}

    @endisset

    {{-- Input group --}}

        {{-- Input prepend slot --}}
        @isset($prependSlot)

{{ $prependSlot }}

        @endisset

        {{-- Input group item --}}
        @yield('input_group_item')

        {{-- Input append slot --}}
        @isset($appendSlot)

{{ $appendSlot }}

        @endisset

        {{-- Error feedback --}}
        @if(! isset($disableFeedback))
            @error($name)

                    {{ $message }}

            @enderror
        @endif

So, next we can define an input group with an input element like this:
Class: src/Components/Input.php
<?php

namespace JeroenNoten\LaravelAdminLte\Components;

use JeroenNoten\LaravelAdminLte\Components\InputGroupComponent;

class Input extends InputGroupComponent
{
    /**
     * Create a new component instance.
     *
     * @return void
     */
    public function __construct(
        $name, $label = null, $size = null,
        $labelClass = null, $topClass = null, $disableFeedback = null
    )
    {
        parent::__construct(
            $name, $label, $size, $labelClass, $topClass, $disableFeedback
        );
    }

    /**
     * Get the view / contents that represent the component.
     *
     * @return \Illuminate\View\View|string
     */
    public function render()
    {
        return view('adminlte::components.input');
    }
}

Blade: resources/views/components/input.blade.php
@extends('adminlte::components.input-group-component')

@section('input_group_item')

    {{-- Input --}}
    <input id="{{ $name }}" name="{{ $name }}"
        {{ $attributes->merge(['class' => $makeItemClass($errors->first($name))]) }}>

@overwrite

With this new implementation you are able to create, for example,  the next form inputs:

Using the next code (inside a form):

Note: topclass is not a required attribute, but I use it to adequate the inputs inside a
...
 container.

 Actually, we are working on branch add-x-components until we approach to a first release. Please, take into consideration next recommendations:

Minimize the number of required attributes. Required attributes should be first ones on the component constructor.

Encourage the usage of $attributes->merge() when there are a lot of properties that target the same tag element.

On the improved example, all attributes defined on the x-component will be passed directly to the input tag. So for example, you can define <x-adminlte-input placeholder="fill me..." value="val" required/> without need to declare placeholder or any other property on the class constructor.

Add and follow the commentaries/documentation conventions you see on the example, this will helps to make an adequate documentation later.

Encourage the usage of methods on the component's class to remove logic from the blade view and keep it clean.

Check if the component can be generalized. For example, the input can be easily generalized to an input-group adding a prepend and append slots, as shown on the example.

If you want to help, please mention the component you are working (or expect to work on) on here, so we can keep track of the work. For example, I'm already working on the Input and other basic form elements, so they can be used as a reference later.

Improvement TODO
Form components

[x] DateRange (by @Shidersz )
[x] Input (by @Shidersz )
[x] InputColor (by @Shidersz )
[x] InputDate (by @Shidersz )
[x] InputFile (by @Shidersz )
[x] InputSlider (by @Shidersz )
[x] InputSwitch (by @Shidersz )
[x] InputTag (by @Shidersz dropped because no Bootstrap 4 support)
[x] Option (by @Shidersz dropped)
[x] Select (by @Shidersz )
[x] Select2 (by @Shidersz )
[x] SelectIcon (by @Shidersz renamed to SelectBs)
[x] Submit (by @Shidersz , replaced by Button)
[x] Textarea (by @Shidersz )
[x] TextEditor (by @Shidersz )

Widgets components

[x] Alert (by @Shidersz )
[x] Callout (by @Shidersz )
[x] Card (by @Shidersz )
[x] Datatable (by @Shidersz )
[x] InfoBox (by @Shidersz )
[x] Modal (by @Shidersz )
[x] ProfileFlat (by @Shidersz , merged into ProfileWidget)
[x] ProfileFlatItem (by @Shidersz , replaced by ProfileRowItem)
[x] ProfileWidget (by @Shidersz )
[x] ProfileWidgetItem (by @Shidersz , replaced by ProfileColItem)
[x] Progress (by @Shidersz )
[x] SmallBox (by @Shidersz )

Good job!! @Shidersz


CI tests for LSF profile

Great! So for testing, the ideal scenario would be to have a CI setup that executes an ad-hoc LSF cluster (e.g. via docker) to which we would automatically submit a few toy jobs. I am not sure whether such container images are available though.
Originally posted by @johanneskoester in https://github.com/Snakemake-Profiles/doc/issues/12#issuecomment-516745430

Actually probably best to open this in the LSF repo


Create docs or a even a pkg for the license checking mechanism here

@andfoy I do not want to impose this on you but you created a nice mechanism for dealing with rust licenses and it would be nice to have that streamlined for other projects that uses rust.
I'm not sure if that should be its own package, or conda-smithy, or both, like a tool to fetch the licenses and smithy to lint if they are correct.
Pinging @isuruf here b/c he may have better ideas.
PS: this is not an issue for pysyntect! However, it seems that this is the only feedstock that did the "right thing" for rust licenses.

@ocefpaf, I think it would great if we had some mechanism to detect if a recipe uses Rust, and then we could lint to highlight missing licenses

I think the detection would be rather easy, since we can lookup for rust in the recipe meta.yaml or look up for Cargo.toml files


[feature request] Media Picker Option to set image size

It would be very helpful to have the option in StoreCameraMediaOtions of setting an image size.

Can you try out https://www.nuget.org/packages/Xam.Plugin.Media/2.4.0-beta2
I added a "PhotoSize" for small, medium, and large for scaling 25, 50, and 75% for iOS and Android;

Thanks, that is awesome!

Also would we be able to force the orientation of the camera?

I have thought about doing a custom ratio and may change it in the future, but wanted to get some feedback. Just need to add a lot of logic. A scale was easier to implement that would cover most use cases.

When I set PhotoSize = Plugin.Media.Abstractions.PhotoSize.Small, the image become a square. If I don't set the PhotoSize property, the image is fine.
This happens on iOS. I tested it on an iPad mini but a colleague with an iphone 5 told me the same.

@jamesmontemagno First of all, I have been using your Media plugin for a while now. It works great, thanks for making this available for us.
Is there any news on this feature? I have been following it, and I see there is a beta version available. Is that version "safe" to use in a production app? I would like to use the plugin for another app, but I need the resizing and auto-rotate functionality for that one. Any idea on when this will be in a production version?
Thanks in advance.

This issue was moved to jamesmontemagno/MediaPlugin#24

very good

var mediaFile = await this._mediaPicker.TakePhotoAsync(new StoreCameraMediaOptions
{
DefaultCamera = CameraDevice.Front,
PhotoSize =  PhotoSize.Medium
            });

var pick = new PickMediaOptions();
pick.PhotoSize = PhotoSize.Medium;
            var mediaFile = await this._mediaPicker.PickPhotoAsync(pick);

Any updates on the MediaPicker yet?


Fix theme access in the Groups editor

Fixes https://github.com/godotengine/godot/issues/85992. This is unlikely to be the last of these issues. I will try to find some time to clean up theme usage throughout the editor.

Thanks!

Cherry-picked for 4.2.2.


Use sparkling-water-package as the artifact

This artefact contain all relevant sparkling water dependencies

@jakubhava I can take a look

I based this PR on https://github.com/h2oai/rsparkling/pull/76 where the versions are updated

I'm gonna close this PR. This change is good( and works on latest Sparkling Water for Spark 2.2, 2.1 and 2.0), however it would fail for older Sparkling Water versions for which the package sparkling-water-package does not exist.
The functionality of RSparkling remains unchanged


Build all windows targets on release

Summary
I missed adding the Windows ZIPs to the release pipeline. This PR adds those.
NONE

Cherry pick is scheduled.


2redbeans reporting that iOS Mobile SDK is causing crash for Mobile App

Our app: 2redbeans
My siftscience account<EMAIL_ADDRESS>Crash line:
16 dating_android 0x1000d098c -[SFUploader doUpload] (SFUploader.m:171)
Can you please take a look into this? I've attached the back trace.
cc: @garylee1
com.2redbeans.dating_issue_4160_crash_86c7590c44dd487ba1a199dc44aa7c89_3ff30d5eb6774766b975d0379e0b3ca3_0_v1.txt

This should be addressed by v0.9.5 – waiting for confirmation.


await error help needed

Hi, thanks for this code!
I'm trying to use it on my site, but got syntax error that await is a reserved word.
Can you please help me?
This is my error:
SyntaxError: C:/Users/Milan/Documents/dev/react-static/react-static-netlify-cms/react-static-netlifycms/static.config.js: await is a reserved word (100:28)
     98 |   renderToHtml: (render, Comp, meta) => {
     99 |     const sheet = new ServerStyleSheet()
  > 100 |     meta.faviconsElements = await reactStaticFavicons.render()
        |                             ^
    101 |     const html = render(sheet.collectStyles(<Comp />))
    102 |     meta.styleTags = sheet.getStyleElement()
    103 |     return html

This is my code:
renderToHtml: (render, Comp, meta) => {
    const sheet = new ServerStyleSheet()
    meta.faviconsElements = await reactStaticFavicons.render()
    const html = render(sheet.collectStyles(<Comp />))
    meta.styleTags = sheet.getStyleElement()
    return html
  },

You're missing the async in the renderToHtml declaration.
It should be renderToHtml: async (render, Comp, meta) => { instead of renderToHtml: (render, Comp, meta) => {

That's it, sloppy me... Thanks!


Support auto Increment primary key for MSSQL

For MSSQL must have a syntax like " IDENTITY(1,1) PRIMARY KEY," for an auto-increment primary key
example
CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

Implemented.


fixing bug in hotkey function

Bug occurs when you pass hotkey a pause value and then looks for a global _pause variable which does not exist. Look at #65 for more details.

Thanks! This was a big oversight on my part.


Reading from stdin via tmp file and pipe raise an exception

VSCode Version: 1.47.0
OS Version: Windows 10 Pro 1909

Steps to Reproduce:

Open PowerShell
Run echo "test" | code -
Observe exception in events.js:180
VSCode_Pipe_Error_CallStack.txt

Does this issue occur when all extensions are disabled?: Yes

@kleszcz thanks for finding this. a regression we should fix in our recovery release.

@bpasero I'm glad it helps you. I think this might be related to  #99815  but in my case file opens with content in it.

Yeah maybe related. Thanks for pointing that out.

Pushed to master and for June recovery.

Verification:

Open PowerShell
Run echo "test" | code -
There should be no exception


Error: 'Realm/RLMPlatform.h' file not found in Realm.h

Podfile:
pod "Realm+JSON"
Using Realm (0.90.1)
Using Realm+JSON (0.2.4)
I get that error after a fresh pod install.

Just updated the podspec for Realm 0.90.x
You shouldn't need to explicitly include the Realm pod


Use CSS z-index to order layers

@fredj it should be pretty easy to fix up these conflicts if we want to get this in.

@tschaub done


write unit tests

You could create a test folder and start to write unit tests with small data sets.

UnitTests created for every currently available method.


Support DAG outputs

I did ask in the slack channel, but unfortunately I was not able to get a response.
Summary
What do you want to know about this project?
Currently it is not possible to have dag-level outputs (referencing a step output) with the k8s api executor, as the validation doesn't allow outputs that don't reference a volumePath. Is this intended or is the validation just too strict for this particular use-case?
Motivation
I am currently evaluating how we can run argo on OpenShift 3.11 and therefore I am having a look at the k8s api executor.
I am currently using a workflow template which consists of a DAG that outputs an artifact from one of its subtasks (similar to the example below).
  templates:
    - name: dag
      outputs:
        artifacts:
          - name: artifact
            from: "{{ tasks.task-2.outputs.artifacts.artifact }}"
      dag:
        tasks:
          - name: task-1
            template: sleep-5-param-output
          - name: task-2
            template: sleep-5-artifact-output

I am using an emptyDir within the 'task-2' so the artifact can correctly be outputted by the step (I have verified this also).
However my 'dag' template is rejected by the validation with the message: invalid spec: templates.dag.outputs.artifacts.artifact: k8sapi executor does not support outputs from base image layer. must use emptyDir
I'm not sure if this kind of output-artifact from a dag is simply not supported by the k8s-api executor, or if the validation is too restrictive (a quick look at the code showed that this might be the case as the validation does not seem to consider this use-case).
Thank you for considering my problem! If this is indeed a bug and not intended behavior I would be more than glad to file a bug-report including all necessary information.

The K8S executor needs some attention.

Argo won't support the DAG level output artifacts/parameters. Can you provide us your usecase for this?

invalid spec: templates.dag.outputs.artifacts.artifact: k8sapi executor does not support outputs from base image layer. must use emptyDir

This is a fundamental limitation of the k8s executor, unrelated to the use of a DAG template. the K8s executor cannot retrieve artifacts of a completed container, unlike docker/pns. The error you are seeing is the validation detecting this.

Argo won't support the DAG level output artifacts/parameters. Can you provide us your usecase for this?

@sarabala1979 At least with the docker container this already works (maybe it's not intended and just a nice side-effect). I just came upon issues with this when I was using the k8s api executor, as it has validation that disallows this (maybe it would even work, if the validation was not applied to DAG-level outputs)
My use case is as follows:
We are generating YAML code for complex workflows. In order to make these more readable and especially more maintainable, we have several WorkflowTemplates which usually have DAGs or steps as their main template. In some cases we want to pass on an artifact from the WorkflowTemplate up to the main workflow. We are currently using DAG/step-level outputs for these.
One of these DAGs is used to (task-1) retrieve artifacts from an unsupported source (SVN), followed by another task (task-2) which publishes an AMQP message to let our system know some info about the artifact that has been retrieved. The artifact  then needs to be provided to the main workflow that uses this WorkflowTemplate. We are currently doing this with DAG/steps-level outputs.
I really do think this is an essential feature for utilizing the power of WorkflowTemplates.
Example:
WorkflowTemplate
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: artifact-svn-template
spec:
  templates:
    - name: artifact-svn
      inputs:
        parameters:
          - name: remote-path
          - name: filename
      outputs:
        artifacts:
          - name: artifact
            from: "{{tasks.artifact-svn-retrieve.outputs.artifacts.artifact}}"
      dag:
        tasks:
        - name: artifact-svn-retrieve
          template: artifact-svn-retrieve
          arguments:
            parameters:
              - name: remote-path
                value: "{{inputs.parameters.remote-path}}"
              - name: filename
                value: "{{inputs.parameters.filename}}"
        - name: mq-publish-download-status
          dependencies:
            - artifact-svn-retrieve
          templateRef:
            name: mq-publish-download-status
            template: mq-publish-download-status
          arguments:
            artifacts:
              - name: artifact
                value: "{{tasks.artifact-svn-retrieve.outputs.artifacts.artifact}}"
    - name: artifact-svn-retrieve
      inputs:
        parameters:
          - name: remote-path
          - name: filename
      outputs:
        artifacts:
          - name: artifact
            path: "/vol/{{inputs.parameters.filename}}"
      container:
        image: jgsqware/svn-client
        command:
          - sh
          - -c
        args:
          - "cd /vol && svn export --username=$SVN_USERNAME --password=$SVN_PASSWORD {{inputs.parameters.remote-path}} /vol --force && ls /vol"
        volumeMounts:
          - name: vol
            mountPath: "/vol"
      volumes:
        - name: vol
          emptyDir: {}

Main Workflow
apiVersion: "argoproj.io/v1alpha1"
kind: "Workflow"
metadata:
  generateName: "main-"
spec:
  entrypoint: "main"
  templates:
    - name: "main"
      dag:
        tasks:
          - name: "artifact-task"
            templateRef:
              name: "artifact-svn-template"
              template: "artifact-svn"
            arguments:
              parameters:
                - name: "remote-path"
                  value: "https://some-svn-url.com"
                - name: "filename"
                  value: "svn-file.xml"
          - name: "dependent-task"
            template: "some-template"
            dependencies:
              - "artifact-task"
            arguments:
              artifacts:
                - name: "50b9c723-4dda-4483-9f99-8a4c237db242"
                  from: "{{tasks.artifact-task.outputs.artifacts.artifact}}"

This is a fundamental limitation of the k8s executor, unrelated to the use of a DAG template. the K8s executor cannot retrieve artifacts of a completed container, unlike docker/pns. The error you are seeing is the validation detecting this.

@jessesuen Please excuse me for adding another question to this, because I'm not sure whether it applies in this case. In this case the artifact can be retrieved successfully from the template that outputs it and is stored in my configured artifactory. And it can also be passed on to another step successfully (with "{{tasks.artifact-task.outputs.artifacts.artifact}}"). My hypothesis would therefore be that "{{tasks.artifact-task.outputs.artifacts.artifact}}" is referencing to the output in the artifactory. Is this assumption correct? Because if it is, I don't believe that the k8s api executor is actually not able to do this. I'd expect that this is simply an issue with the validation being too restrictive (probably because DAG/steps-level outputs are not intended to be supported, if I underst @sarabala1979 correctly).
Thank you for considering my issue!

@sarabala1979 to do 1hr investigation.

Fixed and available in v2.10.0-rc5.

I am also creating reusable dag workflow templates (programmatically) that can expose an artifact which I can further pass to other workflow templates as inputs. In this context I find having DAG outputs an extremely powerful way to design composable workflows.
Can you confirm if DAG level outputs is an officially supported feature?

@dynamicmindset @alexec do you confirm Dag level outputs artifacts and parameters as a feature or this is not on the roadmap neither done?
As @dynamicmindset sais, it is a very strong feature to allow composable structures where subdags are built as WorkflowTemplate, being called with input parameters as steps or tasks, nested inside a dag.

@dynamicmindset @alexec do you confirm Dag level outputs artifacts and parameters as a feature or this is not on the roadmap neither done?
As @dynamicmindset sais, it is a very strong feature to allow composable structures where subdags are built as WorkflowTemplate, being called with input parameters as steps or tasks, nested inside a dag.


Determine and Fix Formatting

Determine a proper formatting for all of the currently implemented code.

I couldn't find a good formatter for the editor I use, instead the following guide will be the means of a "style guide" for the baseline: https://google.github.io/styleguide/javaguide.html.
Most of this formatting will revolve around:

Making sure each statement is ran on separate lines
Lines only go as far as 80 column width

I couldn't find a good formatter for the editor I use, instead the following guide will be the means of a "style guide" for the baseline: https://google.github.io/styleguide/javaguide.html.
Most of this formatting will revolve around:

Making sure each statement is ran on separate lines
Lines only go as far as 80 column width


Big buckets will not interact with Cauldrons and other blocks

I believe there is a bug in this mod because I am unable to pick up lava from cauldrons. It's intuitive that buckets should be able to pick up lava from cauldrons just like they can from regular lava source.
It would also be cool if big buckets could be inserted as fuel in furnaces.

Are you on fabric or forge?

I'm on fabric 1.19

Thanks. Also, does it not work with water cauldrons either?

Thank you. I'll look into this.


feat: add gemini support

Thanks, I'll verify it later.

@fangyinc fixed

thank you for your effort, it will be better declare in frontend. /web/utils/constants.ts MODEL_ICON_MAP. such as bard_proxyllm: { label: 'bard_proxyllm', icon: '/models/bard.gif' }

I checked but there's no icon for gemini yet...https://blog.google/technology/ai/google-gemini-ai/

https://blog.google/technology/ai/google-gemini-ai/

Can we use this icon? https://storage.googleapis.com/gweb-uniblog-publish-prod/images/final_keyword_header.width-1200.format-webp.webp

yes we can ....

https://blog.google/technology/ai/google-gemini-ai/

Can we use this icon? https://storage.googleapis.com/gweb-uniblog-publish-prod/images/final_keyword_header.width-1200.format-webp.webp

yes we can but it seems not the real icon..

thank you for your effort, it will be better declare in frontend. /web/utils/constants.ts MODEL_ICON_MAP. such as bard_proxyllm: { label: 'bard_proxyllm', icon: '/models/bard.gif' }

I checked but there's no icon for gemini yet...https://blog.google/technology/ai/google-gemini-ai/

how about using deepmind logo 😊, https://avatars.githubusercontent.com/u/8596759?s=200&v=4

https://blog.google/technology/ai/google-gemini-ai/

Can we use this icon? https://storage.googleapis.com/gweb-uniblog-publish-prod/images/final_keyword_header.width-1200.format-webp.webp

it is so BIG. not appropriate in icon.

https://blog.google/technology/ai/google-gemini-ai/

Can we use this icon? https://storage.googleapis.com/gweb-uniblog-publish-prod/images/final_keyword_header.width-1200.format-webp.webp

it is so BIG. not appropriate in icon.

yep, and there may be copyright issues, how about just draw one using AI

@Aralhi  I prefer the Google icon.  😄

Please review @csunny @Aralhi


Support Fluent Bit as a log forwarder

Is your feature request related to a problem? Please describe.
I'm interested in if the operator could replace our current Helm based deployment of collector -> forwarder architecture; but to do this we'd need Fluent Bit as the forwarder.
Describe the solution you'd like
I'd like to have the option to use Fluent Bit as the log forwarder.
Describe alternatives you've considered
N/A
Additional context
We've been running the collector -> forwarder architecture in production for a number of years and the benefits of Fluent Bit over Fluentd are significant.
I'm very familiar with this pattern (I maintain the Fluent Helm charts and the Fluentd Aggregator image) and would be interested in contributing if that helps.

This is coming up every now and then, but there are a few reasons against it:

label based routing is only available in fluentd, the tag based matching is not flexible enough to implement the "flow" model
syslog-ng is already implemented as a more performant and more flexible aggregator alternative with a growing number of outputs supported
there are plans to implement a new model which would supersede the current design and that will be the focus for the development team for the next few months


Fix osd startup failure in fedora

Runit is not part of the default package in fedora. This patch builds it
from source in the fedora base image.
Signed-off-by: Ganesh Maharaj Mahalingam<EMAIL_ADDRESS>

I understand the patch does the bad think of symlinking files to /usr/bin. Please let me know if you rather have 'my_init' script do a shutil.which('sv') instead of this and use that for making the calls.

I like the second option better, please keep the binary where it should be (/usr/sbin IIRC) and do a which in my_init. Thanks!

Thanks @leseb. Fixed the patch to do the second option. When compiled from source, it sticks it into /usr/local/bin.

Thanks @ganeshmaharaj


warning raised if targeting es2015

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

Versions.
@angular/cli: 1.5.0-beta.0
node: 8.5.0
os: linux x64
@angular/animations: 5.0.0-beta.7
@angular/common: 5.0.0-beta.7
@angular/compiler: 5.0.0-beta.7
@angular/core: 5.0.0-beta.7
@angular/forms: 5.0.0-beta.7
@angular/http: 5.0.0-beta.7
@angular/platform-browser: 5.0.0-beta.7
@angular/platform-browser-dynamic: 5.0.0-beta.7
@angular/router: 5.0.0-beta.7
@angular/cli: 1.5.0-beta.0
@angular/compiler-cli: 5.0.0-beta.7
@angular/language-service: 5.0.0-beta.7
typescript: 2.5.2
Repro steps.
ng new demo
update target in tsconfig.json to 'es2015'
ng build
The log given by the failure.
WARNING in<EMAIL_ADDRESS>5132:15-36 Critical dependency: the request of a dependency is an expression
    at ImportLazyContextDependency.getWarnings (/home/sander/Documenten/test/demo/node_modules/webpack/lib/dependencies/ImportContextDependency.js:28:4)
    at Compilation.reportDependencyErrorsAndWarnings (/home/sander/Documenten/test/demo/node_modules/webpack/lib/Compilation.js:694:24)
    at Compilation.finish (/home/sander/Documenten/test/demo/node_modules/webpack/lib/Compilation.js:552:9)
    at applyPluginsParallel.err (/home/sander/Documenten/test/demo/node_modules/webpack/lib/Compiler.js:512:17)
    at /home/sander/Documenten/test/demo/node_modules/tapable/lib/Tapable.js:289:11
    at _addModuleChain (/home/sander/Documenten/test/demo/node_modules/webpack/lib/Compilation.js:498:11)
    at processModuleDependencies.err (/home/sander/Documenten/test/demo/node_modules/webpack/lib/Compilation.js:468:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Desired functionality.
clear the warning, it's pushing essential information out of the view!

This likely means that lazy routes are not working properly under es2015 with Angular version 5 as well.

5132:15-36 Critical dependency: the request of a dependency is an expression

But I get this when targeting es5, and with no lazy routes involved.
What does it mean? What is the dependency involved here? What is the "request of a dependency"?


Split out postgres directory config

Split out a few pieces of postgres config into zulip::postgres_appdb_base and use them consistently in the erb files.  Make sure we make parent directories before making the postgres config file that is inside them.
Testing Plan: No-op applied on postgres2

This is a great cleanup, merged, thanks @alexmv!


AutoCorrect fix copywriting details index

Improve zh-CN translations copywriting by use AutoCorrect.
AutoCorrect is a linter and formatter to detect and correct copywriting in CKJ contents.
This PR changes by use AutoCorrect auto fix command.

There has too many change files, so I split them into multiple Pull Requests to let us easy to review.
All Pull Requests (32)

[ ] #20816
[ ] #20817
[ ] #20818
[ ] #20819
[ ] #20820
[ ] #20821
[ ] #20822
[ ] #20823
[ ] #20824
[ ] #20825
[ ] #20826
[ ] #20827
[ ] #20828
[ ] #20829
[ ] #20830
[ ] #20831
[ ] #20832
[ ] #20833
[ ] #20834
[ ] #20835
[ ] #20836
[ ] #20837
[ ] #20838
[ ] #20839
[ ] #20840
[ ] #20841
[ ] #20842
[ ] #20844
[ ] #20845
[ ] #20846
[ ] #20847

@huacnlee - Thanks for reaching out! We appreciate you taking the time to open all of these PRs. However, we don't accept changes to our translated files as we use an internal automated solution for translations. :yellow_heart:
See https://github.com/github/docs/blob/main/contributing/types-of-contributions.md#earth_asia-translations.
Please take a look at our help wanted section to find open issues you can work on.
I'm going to go ahead and close these PRs now. Thank you for your interest and passion for improving the docs! ✨


Improve gitignore

I noticed that the .gitignore entry for mac's DS_Store is wrong (the leading slash must be removed) and I suggest to add a couple of more things to the gitignore files:
I suggest using an auto generated one from gitignore.io that covers nearly all use possible temp files:
https://www.toptal.com/developers/gitignore/api/linux,macos,windows,intellij,eclipse

Done, added, thank you!


Blink main hand

okay yeah can the mod blink the main hand

It can blink the left or right arm, and therefore also the hands.


No 5ghz available for direct wifi pairing

We had been running our robot controller with version 5 from last season until tonight.  We are in a building that has lots of 2.4ghz wifi connections, so we switched to the 5ghz channel and have been running with no issues.  Since we upgraded to 6.0 robot controller it defaults to a 2.4ghz channel and we can't find any way to connect with 5ghz, its not an option!!!!!  Why? Please help, had to go back to the older robot controller version 5 so that we can use the 5ghz channels.

What phones are you using?

Moto g4's.  We have two rev expansion hubs with the latest firmware.

What phones are you using?
Moto g4's. We have two rev expansion hubs with the latest firmware. We are using blocks if that makes a difference.

When you go to the "Change Wifi Direct Channel" activity under "Advanced Settings" do you not see 5Ghz channels?  e.g.  These screenshots are from a Robot Controller running on an E4 running v6.0

No, only the 2.4ghz channels show up.  (1 through 11).  When we ran the older 5.0 version they showed up just like your pictures.  We can't figure out why, I thought maybe something changed in the new app or something.

Oops, my bad.  I thought you said E4.

@daven78 Do you have the Moto G4 or the Moto G4 Play? The Moto G4 is an unsupported/not-legal phone, and the Moto G4 Play does not have the hardware for 5 GHz WiFi.

Oh, I think it's a G4 Play.  I think we have some E4's also.

If it's a G4 Play that begs the question of how were you able to use 5GHz before, if it physically does not have a 5GHz radio?

Perhaps confusion between G4 and E4 phones?  As I demonstrated earlier today that's pretty easy to do. :-)

I will have to check with our programmer.  When I upgraded to 6.0, he may have given me the older phones instead of the ones we were already using.  If that's all it is, that will be easy to fix.  I will check it out and let you guys know.


[FR] Add docker-compose v2 support

Ref: https://github.com/inventree/InvenTree/issues/2092
docker-compose v2 is out, and breaks the current docker build for (as yet) unknown reasons.
Need to investigate if there is a way to support v2 and v2 of docker-compose simultaneously.

Temporary workaround from https://www.docker.com/blog/announcing-compose-v2-general-availability/.
You can switch back to compose V1 with docker-compose disable-v2 or via the desktop UI:

Latest docker compose scripts actually seem to work just fine now

@matmair upon further (closer) inspection I have found what the issue is, and unfortunately it is not "fixed" in master yet.
https://github.com/inventree/InvenTree/blob/6c71a26613c90032007e80eca82e143350103f2a/docker-compose.yml#L104
docker-compose v2 does not support relative paths for volumes
Even though I have migrated my test setup to docker-compose v2, my test machine had a legacy named volume which was created with v1, and so it was still valid.
Manually deleting the existing volume (docker volume rm) and then running docker compose up -d caused the same "init.sh not found" error as seen in other reports.
I guess this means we are also not testing this in our docker build CI checks!
So our options are:

Mandate that users must continue to run docker-compose v1
Work out a way around the relative path restriction
Wait for docker-compose to be patched

@matmair thoughts? I'd like to support v2 just because it's annoying to force users to downgrade. But we'd need to work out how to "fix" the docker-compose file
Note that this is only for the dev image. The production image requires the user to provide a qualified local path.

@SchrodingersGat as it only pertains to latest/dev I think 1/3 are both valid options. I think we add a short note for the devs that this problem exsists limited for dev and that v1 should be used for that. As no one should run the dev image in production anyway that seems like an adequate response.
On that note: should we maybe switch from latest to testing as a tag for the dev images? Seems a bit more appropriate to what they are in reality.

@matmair I actually found a way to do 2) - https://github.com/inventree/InvenTree/pull/3410

@SchrodingersGat a resolution is the best solution.