Add Check_lsvmbus in utils.sh and gpu-driver-install.sh

If we run GPU area test cases against the custom kernel, the  running kernel does not match installed version of linux-tools. So we need wget lsvmbus.
Before fix:
The GPU area test cases are failed for lack of lsvmbus tool when testing against backports kernel.
After fix:
The GPU area test cases are passed.

[LISAv2 Test Results Summary]
Test Run On           : 08/05/2020 07:39:08
VHD Under Test        : https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd
Initial Kernel Version: 4.4.211-20200731t0557587381-custom
Final Kernel Version  : 4.4.211-20200731t0557587381-custom
Total Test Cases      : 4 (4 Passed, 0 Failed, 0 Aborted, 0 Skipped)
Total Time (dd:hh:mm) : 0:0:28

   ID TestArea             TestCaseName                                                                TestResult TestDuration(in minutes)
-------------------------------------------------------------------------------------------------------------------------------------------
    1 CORE                 VMBUS_VERIFY_HEARTBEAT_PROPERTIES                                                 PASS                 1.41
      OsVHD: https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd, SetupType: OneVM, TestLocation: west
us2, VMGeneration: 1
    2 GPU                  NVIDIA-CUDA-DRIVER-VALIDATION                                                     PASS                  6.5
      OsVHD: https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd, OverrideVMSize: Standard_NC6s_v2, Se
tupType: OneVM, TestLocation: westus2, VMGeneration: 1
      Using nVidia driver : CUDA
      lsvmbus: Expected "PCI Express pass-through" count: 1, count inside the VM: 1 : PASS
      lspci: Expected "3D controller: NVIDIA Corporation" count: 1, found inside the VM: 1 : PASS
      lshw: Expected Display adapters: 1, total adapters found in VM: 1 : PASS
      nvidia-smi: Expected GPU count: 1, found inside the VM: 1 : PASS

    3 GPU                  GPU-PCI-RESCIND                                                                   PASS                 8.03
      OsVHD: https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd, OverrideVMSize: Standard_NC6s_v2, Se
tupType: OneVM, TestLocation: westus2, VMGeneration: 1
      Using nVidia driver : CUDA
      Successfully disabled and reenabled the PCI device. :
      lsvmbus: Expected "PCI Express pass-through" count: 1, count inside the VM: 1 : PASS
      lspci: Expected "3D controller: NVIDIA Corporation" count: 1, found inside the VM: 1 : PASS
      lshw: Expected Display adapters: 1, total adapters found in VM: 1 : PASS
      nvidia-smi: Expected GPU count: 1, found inside the VM: 1 : PASS

    4 GPU                  NVIDIA-GRID-DRIVER-VALIDATION                                                     PASS                 4.78
      OsVHD: https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd, OverrideVMSize: Standard_NV6, SetupT
ype: OneVM, TestLocation: westus2, VMGeneration: 1
      Using nVidia driver : GRID
      lsvmbus: Expected "PCI Express pass-through" count: 1, count inside the VM: 1 : PASS
      lspci: Expected "3D controller: NVIDIA Corporation" count: 1, found inside the VM: 1 : PASS
      lshw: Expected Display adapters: 1, total adapters found in VM: 1 : PASS
      nvidia-smi: Expected GPU count: 1, found inside the VM: 1 : PASS

[LISAv2 Test Results Summary]
Test Run On           : 08/05/2020 07:38:29
VHD Under Test        : https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd
Initial Kernel Version: 4.4.211-20200731t0557587381-custom
Final Kernel Version  : 4.4.211-20200731t0557587381-custom
Total Test Cases      : 1 (1 Passed, 0 Failed, 0 Aborted, 0 Skipped)
Total Time (dd:hh:mm) : 0:0:3

   ID TestArea             TestCaseName                                                                TestResult TestDuration(in minutes)
-------------------------------------------------------------------------------------------------------------------------------------------
    1 CORE                 LSVMBUS                                                                           PASS                 1.28
      OsVHD: https://lisawestus2.blob.core.windows.net/vhds/EOSG-AUTOBUILT-Canonical-UbuntuServer-18.04-LTS-latest-LV58.vhd, OverrideVMSize: Standard_DS4_v2, SetupType:
 OneVM, TestLocation: westus2, VMGeneration: 1

@lubaihua33 Are you working or it? Or, close it?


Proof of Concept for a CommandResponse Class

hi @neomatamune, what do you think ? Do we proceed ?

I think we could proceed with adding this class into Babylon. We could then be able to use it in different pocs for macro commands.


FIX: also do root-checking for unstage

@danielballan

I simultanously discovered this at CHX. Sorry, guys.


KAFKA-12633: Remove deprecated APIs in TopologyTestDriver

As well as related test classes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

ping @vvcephei for reviews.

Looks like there are some related test failures, though.

Looks like there are some related test failures, though.

Thanks! I have fixed the unit test, will merge after confirming green builds locally.


node: run_cqlsh: add timeout parameter

Set by default to 10 minutes to prevent blocking in communicate forever.
Blocked run_cqlsh was seen in https://jenkins.scylladb.com/view/master/job/scylla-master/job/dtest-daily-release/244/testReport/cqlsh_tests.cqlsh_copy_tests/TestCqlshCopy/Run_Dtest_Parallel_Cloud_Machines___FullDtest___full_split000___test_copy_to_with_child_process_crashing/
https://jenkins.scylladb.com/view/master/job/scylla-master/job/dtest-daily-release/244/artifact/logs-full.release.000/dtest-gw3.log
13:13:59,598 751     cqlsh_tests.cqlsh_copy_tests   DEBUG    cqlsh_copy_tests.py :1525 | test_copy_to_with_child_process_crashing: Exporting to csv file: /tmp/tmpqskw5279 with {"exit_range": {"start": 0, "end":<PHONE_NUMBER>000000000}}
...
13:58:50,244 751     errors                         ERROR    conftest.py         :203  | test_copy_to_with_child_process_crashing: test failed:

Damn seems like there's an issue with the ccm dependencies I'll need to look into

It worked :)
https://jenkins.scylladb.com/view/master/job/scylla-master/job/dtest-daily-release/249/testReport/cqlsh_tests.cqlsh_copy_tests/TestCqlshCopy/Run_Dtest_Parallel_Cloud_Machines___FullDtest___full_split000___test_copy_to_with_child_process_crashing/
Not that it helps in finding out why cqlsh timed out, but at least the command timed out and not the whole test.
Further investigation in https://github.com/scylladb/scylla-cqlsh/issues/37


Convert to Python2/3 compatible

using : find . -name *.py | xargs 2to6 -w

Thank you for your PR!
Could you also, please, update .travis.yml to enable Py2 tests and update README.md file


Use trick to get width 3 merkle trees

...at almost no additional cost compared to binary Merkle trees, but allowing much more leaves!
As far as I understand, the trick works as follows:
For every pair of tree nodes x, y that are hashed, we add a third element z to the hash to get the parent of x, y, z.
$$\mathrm{parent} = \mathrm{hash}(x, y) + z$$

Possible attack scenario:
The adversary wants to prove an arbitrary y'. They could just calculate h2 = hash(x, y') and set the witness z' = hash(x, y) - h2 + z.
With x, y', z' as the witness this would still compute the same root but with any chosen values for y. (This would also work for x, though not for z i think)

Oh thanks for pointing that out @rpanic!

I still think verkle trees are the way to go, though I still haven't found a commitment scheme which works well within snarkyjs


Feature importance is zero!!!

I am using a dataset to compute feature importance using permutation. Have checked results with R implementation, I am getting non zero var importance. What could be the reason? Here is my code
from rfpimp import *
from sklearn.ensemble.forest import _generate_unsampled_indices

# TODO: add arg for subsample size to compute oob score

def oob_classifier_accuracy(rf, X_train, y_train):
   X = X_train.values
    y = y_train.values

    n_samples = len(X)
    n_classes = len(np.unique(y))
    predictions = np.zeros((n_samples, n_classes))
    for tree in rf.estimators_:
        unsampled_indices = _generate_unsampled_indices(tree.random_state, n_samples)
        tree_preds = tree.predict_proba(X[unsampled_indices, :])
       predictions[unsampled_indices] += tree_preds

    predicted_class_indexes = np.argmax(predictions, axis=1)
    predicted_classes = [rf.classes_[i] for i in predicted_class_indexes]

    oob_score = np.mean(y == predicted_classes)
    return oob_score

def permutation_importances(rf, X_train, y_train, metric):
    """
    Return importances from pre-fit rf; metric is function
    that measures accuracy or R^2 or similar. This function
    works for regressors and classifiers.
    """
    baseline = metric(rf, X_train, y_train)
    imp = []
    for col in X_train.columns:
        save = X_train[col].copy()
        X_train[col] = np.random.permutation(X_train[col])
        m = metric(rf, X_train, y_train)
        X_train[col] = save
        imp.append(baseline - m)
    return np.array(imp)
rf = clone(base_rf)
rf.fit(X_train, y_train)
oob = oob_classifier_accuracy(rf, X_train, y_train)
print("oob accuracy",oob)

imp = permutation_importances(rf, X_train, y_train,
                              oob_classifier_accuracy)
imp

Gives an output of:
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

I also computed the oob_classiifer_accuracy() by permuting all the variables, the accuracy reported doesn't change at all. The event rate is data is rather low around 5%.

What you mean by you've checked with R? how does it compare?  If the variables are highly collinear then you will see this sort of behavior, although all of them being exactly zero doesn't make a lot of sense. I suggest that you use the actual rfpimp python package which has improved versions of those routines.

Hello I am attaching the result comparison for both default Random Forest feature importance (mean decrease in accuracy). As you can see in the results, the current python implementation results in zero value for all variables while the R results are different (all the values are rather low in magnitude though). I can share this data for reproducibility.
comparsions_feature_imp.zip

Very interesting. I'm surprised by the 0.0. I would imagine it would be very small, as R's are, but not exactly 0.   Are you sure that min_samples_leaf=100 is appropriate? I've never used a value that big. Another thing to keep in mind is that if your model is not very accurate, then the feature importance is not very meaningful. What does your OOB error/score show for the model? Any chance I could get access to the data to try it myself?

I am attaching the code where I've computed some accuracy metrics on oob data and I am also sharing the data files. Is there a possibility of some weird round off occurring some where? In this data the class prevalence is around 5%, have computed accuracy assuming 5% as the cutoff.
data_accuracy.zip

thanks. I'll look when I can.

Hey, I am encountering a similar (the same?) thing at the moment when calculating permutation importance for some random forest features. The same result as in this issue (everything is rated 0.0) occurs, when I use many features (86) at once. For comparision, the gini importance ratings are still "normal" for the same amount of features. I also tested the effect of removing the highest rated feature (according to gini) and it indeed had a (rather significant) effect on the result. Dunno if this helps, but it seemed to be related.

Weird. Is it possible there is lots and lots of collinearity? try running the feature dependence plot.

Yes, there is quite a bit of collinearity according to the dependence plot, but there are also some features which are not collinear at all. I also tried using the features that have some collinearity and it leads to the same result (0.0). And as in the previous test, removing the highest rated feature (according to gini) has an impact on the result.

Are you guys using the rfpimp package or the code from the article? the package has been tested much more.

I copy the following function from this repo:
importances
sample
plot_importances
and try to plot the feature importance.
My dataset comes from kaggle: https://www.kaggle.com/mlg-ulb/creditcardfraud/data
code is simple:
df = pd.read_csv('creditcard.csv') X, y = df.drop('Class', axis=1), df['Class'] base_rf = RandomForestClassifier(n_estimators=100,                                  min_samples_leaf=5,                                  n_jobs=-1,                                  oob_score=True) rf2 = clone(base_rf) rf2.fit(X, y) print(rf2.oob_score_) # oob: out-of-bag I2 = importances(rf2, X, y) plot_importances(I2)
However I also have zero importance

What is the err metric or out of bag score? If it is not a good classifier
you will not get good results
On Fri, Jul 24, 2020 at 12:09 AM Cecile Liu<EMAIL_ADDRESS>wrote:

I copy the following function from this repo:
importances sample plot_importances
and try to plot the feature importance.
My dataset comes from kaggle:
https://www.kaggle.com/mlg-ulb/creditcardfraud/data
code is simple:
df = pd.read_csv('creditcard.csv') X, y = df.drop('Class', axis=1),
df['Class'] base_rf = RandomForestClassifier(n_estimators=100,
min_samples_leaf=5, n_jobs=-1, oob_score=True) rf2 = clone(base_rf)
rf2.fit(X, y) print(rf2.oob_score_) # oob: out-of-bag I2 = importances(rf2,
X, y) plot_importances(I2)
However I also have zero importance
[image: image]
https://user-images.githubusercontent.com/26088078/88367908-785c8b80-cdbf-11ea-8081-5c17d4a5a92e.png
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/parrt/random-forest-importances/issues/12#issuecomment-663379187,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABLUWNCORLG2VROBY2MX5LR5EXQ3ANCNFSM4GAOMYSA
.

--
Dictation in use. Please excuse homophones, malapropisms, and nonsense.

Did you tray to get permutation importance on a test dataset ? If your classifier is very good on the train dataset  (e.g. score = 1) it could be possible that removing one variable don't change its "incredible" score and so importance could be 0 for all varaibles...

Any update regarding this problem?

Still not sure there is a problem...


Add Continuous and Count versions of Brier score

And make them the default measures for probalistic regression/count-regression.
Addresses #806
cc @giordano

Codecov Report

Merging #623 (7272b10) into dev (b95ccc3) will decrease coverage by 0.12%.
The diff coverage is 86.84%.

@@            Coverage Diff             @@
##              dev     #623      +/-   ##
==========================================
- Coverage   85.70%   85.57%   -0.13%
==========================================
  Files          37       37
  Lines        3267     3287      +20
==========================================
+ Hits         2800     2813      +13
- Misses        467      474       +7

Impacted Files
Coverage Δ

src/MLJBase.jl
100.00% <ø> (ø)

src/data/data.jl
93.68% <ø> (ø)

src/measures/meta_utilities.jl
28.57% <0.00%> (ø)

src/measures/continuous.jl
96.15% <88.23%> (-3.85%)
:arrow_down:

src/measures/measures.jl
91.37% <90.00%> (-2.63%)
:arrow_down:

src/measures/loss_functions_interface.jl
75.43% <0.00%> (-1.76%)
:arrow_down:

src/measures/finite.jl
92.41% <0.00%> (-0.31%)
:arrow_down:

src/composition/learning_networks/nodes.jl
69.93% <0.00%> (-0.21%)
:arrow_down:

src/univariate_finite/types.jl
91.50% <0.00%> (+0.85%)
: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 b95ccc3...7272b10. Read the comment docs.


Duo Security - Ability to specify integration keys to individual services

Feature Request to Duo Security MFA Integration
Currently the Duo Security integration, has one global integration key location set in the config file.  Using the attributes cas.authn.mfa.duo.duoSecretKey, cas.authn.mfa.duo.duoApplicationKey, cas.authn.mfa.duo.duoIntegrationKey, and cas.authn.mfa.duo.duoApiHost.  These settings apply to all services, making the same duo policy to apply to all services.
Requesting to have the ability to override the global duo settings on a per service bases.  Allows applications to have different duo policies applied.  A use case for this is that we have a service that contains sensitive data or requires a different policy for compliance reasons than the default policy that applies to more general applications and data.

I am interested in the same or similar feature.  I thought of it in terms of configuring another mfa-duo provider with a separate id and config params, so services that need a different duo policy could specify it to CAS via, e.g., authn_method=mfa-duo-different.  Could it be implemented in a general way, to allow such duplicates for any MFA provider?

You can definitely build your own mfa provider, but you then also need to accompany that with all other components that deal with MFA. It's not a task for the faint hearted.
What might be easier to implement as an option would be to allow services to define their duo config as properties to override the global. That's much easier to handle than a whole new MFA provider

That would be fine, whatever is easier.  The apps do not need to specify the policy themselves, e.g., to upgrade the user's authentication level within the same app.

This should now be supported in today's 5.1 snapshot.


Order nodes  when creating dnsdata

Otherwise dnsdata could be different in every reconciliation and this would result in a reconciliation loop as

NodeSet watches dnsmasq changes
dnsmasq watches dnsdata changes

Also adds a multinode kuttl test where we can test these things.

/retest

/test dataplane-operator-build-deploy-kuttl

recheck

/test functional

/retest-required


Problem with assigning objects as value in create parameters

I expect the following to work.
var user = User.create({ name: 'Brit' });
var token = Token.create({ value: 'abc1234', user: user });
user.save().then(function() { return token.save(); })

But it turns out that assigning user: user in the create does not actually do anything. The user is still undefined.

This should be fixed as of 39a2a77 and query support in d67ca71. Both of theses were release in v0.0.1-alpha.9. Can you check if you're using that version & see if this works for you now?

It still doesn't work for me with alpha 9 :(

Can you a full example script?

cocoabythefire / gist:17c21e7a3013b3704d3e

It looks like this will work and save both:
var user = User.create({ name: 'Brit' });
var token = Token.create({ value: 'abc1234', user: user });
token.save().then(function() {
  // both saved
});

I'll try to get that other one fixed.


[Untranslated]: Location - R&D Lab

Monster attack

I have found and translated this into Wing Crush.


SearchBar's onChange no trigger on Web

Steps to reproduce
From the official documentation URL: https://api.flutter.dev/flutter/material/SearchBar-class.html
Take this example and paste it into a new Flutter project.
Run it against the Chrome browser and set a breakpoint or write a print in the onChanged.
Then go into the text field (search bar) and start typing on your keyboard something
Expected results
The onChanged will not get triggered
Actual results
Nothing happens
Code sample
import 'package:flutter/material.dart';

/// Flutter code sample for [SearchBar].

void main() => runApp(const SearchBarApp());

class SearchBarApp extends StatefulWidget {
  const SearchBarApp({super.key});

  @override
  State<SearchBarApp> createState() => _SearchBarAppState();
}

class _SearchBarAppState extends State<SearchBarApp> {
  bool isDark = false;

  @override
  Widget build(BuildContext context) {
    final ThemeData themeData = ThemeData(
        useMaterial3: true,
        brightness: isDark ? Brightness.dark : Brightness.light);

    return MaterialApp(
      theme: themeData,
      home: Scaffold(
        appBar: AppBar(title: const Text('Search Bar Sample')),
        body: Padding(
          padding: const EdgeInsets.all(8.0),
          child: SearchAnchor(
              builder: (BuildContext context, SearchController controller) {
            return SearchBar(
              controller: controller,
              padding: const MaterialStatePropertyAll<EdgeInsets>(
                  EdgeInsets.symmetric(horizontal: 16.0)),
              onTap: () {
                controller.openView();
              },
              onChanged: (_) {
                controller.openView();
              },
              leading: const Icon(Icons.search),
              trailing: <Widget>[
                Tooltip(
                  message: 'Change brightness mode',
                  child: IconButton(
                    isSelected: isDark,
                    onPressed: () {
                      setState(() {
                        isDark = !isDark;
                      });
                    },
                    icon: const Icon(Icons.wb_sunny_outlined),
                    selectedIcon: const Icon(Icons.brightness_2_outlined),
                  ),
                )
              ],
            );
          }, suggestionsBuilder:
                  (BuildContext context, SearchController controller) {
            return List<ListTile>.generate(5, (int index) {
              final String item = 'item $index';
              return ListTile(
                title: Text(item),
                onTap: () {
                  setState(() {
                    controller.closeView(item);
                  });
                },
              );
            });
          }),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
flutter doctor -v
[✓] Flutter (Channel stable, 3.19.5, on macOS 14.0 23A344 darwin-arm64, locale en-DE)
    • Flutter version 3.19.5 on channel stable at /opt/homebrew/Caskroom/flutter/3.13.7/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 300451adae (8 days ago), 2024-03-27 21:54:07 -0500
    • Engine revision e76c956498
    • Dart version 3.3.3
    • DevTools version 2.31.1

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/georgiossalonikidis/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS and macOS development.
      Download at: https://developer.apple.com/xcode/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.84.2)
    • VS Code at /Users/georgiossalonikidis/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.84.0

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64  • Android 14 (API 34) (emulator)
    • sdk gphone64 arm64 (mobile) • emulator-5556 • android-arm64  • Android 14 (API 34) (emulator)
    • macOS (desktop)             • macos         • darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 123.0.6312.107

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

child: SearchAnchor(
builder: (BuildContext context, SearchController controller) {
return SearchBar(

@georgiossalon Can you try SearchAnchor.bar instead and see if using it, you get expected behavior ?
See a related fix for your reference https://github.com/flutter/flutter/pull/136840

@darshankawar I found that using the SearchAnchor.viewOnChanged "solved" the issue. Still, this is misleading, since the SearchBar.onChanged doesn't do anything.

Still, this is misleading, since the SearchBar.onChanged doesn't do anything.

Please read https://github.com/flutter/flutter/issues/132915#issuecomment-1710917802 and https://github.com/flutter/flutter/issues/132915#issuecomment-1711387904 and see if it helps in your case or not.


local defines must appear first?

This example from the paper does not work:
; Add conference logos to the front and end of a video.
; Producer - > Producer
(define (make-talk-video main-talk)
  (playlist begin-clip
            (fade-transition 200)
            main-talk
            (fade-transition 200)
            end-clip)
  (define begin-clip (image logo #:length 500))
  (define end-clip (image logo #:length 500)))
; => begin (possibly implicit): no expression after a sequence of internal definitions

Oh ya...I need to update that.
The where macro was added much later, and I never bothered to bring it into the #lang. Do you think it should actually have it? I kind of think it loos a 'little' out of place now, but I could go either way. What do you think?

I didnt really like the where.

ya, it looks like we're just going to have define's semantics here for now. I guess in the future it might be interesting to add another form, like (make-video ...) that has these semantics, but not yet.
Thanks.

I'm reopening this as an issue for now. Perhaps we should use a binding syntax besides just define?

This issue is now resolved, using the lambda/video form.
We should probably come up with a better name for that though.


Question: How much custom data I can transmit with one frame?

Our client wants to send data from our device to BLE gateway. The device has to act as beacon. If i use eddystone beacon format, how much data it is possible to transmit to BLE gateway?

Never mind this. I just found out, that BLE packets are max 31 B size and we need to broadcast at least 100 bytes...

You can't "send data" over eddystone, you can only advertise up to 17 bytes of an URL address or a 16-byte UUID. If you want to transmit data over BLE you need to connect your peripheral device to a GATT server on your central device.


Introduce new Transaction type

This PR introduces the Transaction type a.k.a "Version 2 Deploy".  It is expected that further changes and additions will be needed to many of the new types as they are integrated into the EE and node codebases.
Much of the code is copied from Deploy, but there are some significant differences:

session code has been renamed body: TransactionKind which is a much more fine grained breakdown of the various execution modes compared to deploy's ExecutableDeployItem
there is no payment code: standard payment will be assumed unless the Transaction includes custom payment logic in provided body Wasm
~the TransactionHash is a hash over "signing hash + approvals", where the "signing hash" is a hash over the header and the body.  The signing hash is not recorded anywhere; it is calculated only when required (once for verification, and once per new approval added).  This approach, where the TransactionHash includes the approvals, means that there should be no need to record hashes of approvals in global state.~ This change was reverted on instructions of @EdHastingsCasperLabs
~the body hash has been removed from the header, since it served no useful purpose.  Transactions (and deploys) are never provided to clients or other nodes as just headers, they are always provided as full transactions/deploys, hence there is no benefit to recording the body hash in the header~ This change was reverted on instructions of @EdHastingsCasperLabs
the dependencies field has been removed from the header as it is also unused
the gas_price has been repurposed into a PricingMode where PricingMode::GasPriceMultiplier represents the current gas_price behaviour

Note that the "interesting" changes are contained within the first commit.  The second commit touches a lot of files, but is simply a cleanup of the runtime_args! macro.
Closes #181.
Closes #157.

@EdHastingsCasperLabs should look at it.

bors merge


Appears to work but zwavegraph.svg is empty.

I was so excited to try this one out. I'm on Ubuntu Server 18.04 LTS with PHP 7.2. Everything appears to run fine but the .svg file it generates is 0 bytes. Here's the log.. Anything I can do to try and debug?
Reading XML
1 => Aeotec ZW090 Z-Stick Gen5 EU
4 => Neo CoolCam Door/Window Detector
5 => Neo CoolCam Door/Window Detector
6 => Aeotec ZW096 Smart Switch 6
7 => Popp Unknown: type=0004, id=0014
8 => Neo CoolCam Unknown: type=0200, id=1027
9 => FIBARO System FGS223 Double Relay
10 => FIBARO System FGD212 Dimmer 2
11 => Ecolink Door/Window Sensor
13 => Ecolink Door/Window Sensor
15 => Philio Technology Corp PH-PAT02.eu Flood Multisensor 3in1
16 => AEON Labs ZW096 Smart Switch 6
17 => Ecolink Door/Window Sensor
18 => Ecolink Door/Window Sensor
19 => Ecolink Door/Window Sensor
20 => UFairy G.R. Tech GR105n Auto Valve
Reading OZW log
2020-05-01 01:00:26.666 Info, Node001,     Neighbors of this node are:
2020-05-01 01:00:26.666 Info, Node001,     Node 4
2020-05-01 01:00:26.666 Info, Node001,     Node 5
2020-05-01 01:00:26.666 Info, Node001,     Node 7
2020-05-01 01:00:26.666 Info, Node001,     Node 9
2020-05-01 01:00:26.667 Info, Node001,     Node 10
2020-05-01 01:00:26.667 Info, Node001,     Node 11
2020-05-01 01:00:26.667 Info, Node001,     Node 17
2020-05-01 01:00:26.673 Info, Node001,     Node 18
2020-05-01 01:00:26.673 Info, Node001,     Node 19
2020-05-01 01:00:26.673 Info, Node001,     Node 20
2020-05-01 01:01:35.082 Info, Node006,     Node 1
WARNING: 6 -> 1 listed before a list header, ignoring
2020-05-01 01:01:35.871 Info, Node008,     Node 1
WARNING: 8 -> 1 listed before a list header, ignoring
2020-05-01 01:01:36.724 Info, Node010,     Node 1
WARNING: 10 -> 1 listed before a list header, ignoring
2020-05-01 01:01:36.913 Info, Node016,     Node 1
WARNING: 16 -> 1 listed before a list header, ignoring
2020-05-01 01:02:05.472 Info, Node006,     Neighbors of this node are:
2020-05-01 01:02:05.472 Info, Node006,     Node 8
2020-05-01 01:02:05.472 Info, Node006,     Node 15
2020-05-01 01:02:05.472 Info, Node006,     Node 17
2020-05-01 01:02:05.478 Info, Node008,     Neighbors of this node are:
2020-05-01 01:02:05.478 Info, Node008,     Node 6
2020-05-01 01:02:05.478 Info, Node008,     Node 17
2020-05-01 01:02:05.478 Info, Node008,     Node 19
2020-05-01 01:02:05.483 Info, Node009,     Neighbors of this node are:
2020-05-01 01:02:05.483 Info, Node009,     Node 1
2020-05-01 01:02:05.483 Info, Node009,     Node 4
2020-05-01 01:02:05.483 Info, Node009,     Node 5
2020-05-01 01:02:05.483 Info, Node009,     Node 7
2020-05-01 01:02:05.483 Info, Node009,     Node 10
2020-05-01 01:02:05.483 Info, Node009,     Node 13
2020-05-01 01:02:05.483 Info, Node009,     Node 17
2020-05-01 01:02:05.483 Info, Node009,     Node 18
2020-05-01 01:02:05.483 Info, Node009,     Node 19
2020-05-01 01:02:05.483 Info, Node009,     Node 20
2020-05-01 01:02:05.488 Info, Node010,     Neighbors of this node are:
2020-05-01 01:02:05.488 Info, Node010,     Node 1
2020-05-01 01:02:05.488 Info, Node010,     Node 9
2020-05-01 01:02:05.488 Info, Node010,     Node 16
2020-05-01 01:02:05.488 Info, Node010,     Node 17
2020-05-01 01:02:05.488 Info, Node010,     Node 19
2020-05-01 01:02:05.493 Info, Node016,     Neighbors of this node are:
2020-05-01 01:02:05.493 Info, Node016,     Node 7
2020-05-01 01:02:05.493 Info, Node016,     Node 10
2020-05-01 01:02:05.493 Info, Node016,     Node 17
2020-05-01 01:02:05.498 Info, Node018,     Neighbors of this node are:
2020-05-01 01:02:05.498 Info, Node018,     Node 1
2020-05-01 01:02:05.498 Info, Node018,     Node 9
2020-05-01 01:02:05.503 Info, Node020,     Neighbors of this node are:
2020-05-01 01:02:05.503 Info, Node020,     Node 1
2020-05-01 01:02:05.503 Info, Node020,     Node 9
2020-05-01 01:35:23.670 Info, Node019,     Node 1
WARNING: 19 -> 1 listed before a list header, ignoring
2020-05-01 01:35:23.866 Info, Node019,     Neighbors of this node are:
2020-05-01 01:35:23.866 Info, Node019,     Node 1
2020-05-01 01:35:23.866 Info, Node019,     Node 8
2020-05-01 01:35:23.867 Info, Node019,     Node 9
2020-05-01 01:35:23.867 Info, Node019,     Node 10
2020-05-01 02:40:31.974 Info, Node004,     Node 1
WARNING: 4 -> 1 listed before a list header, ignoring
2020-05-01 02:40:32.093 Info, Node004,     Neighbors of this node are:
2020-05-01 02:40:32.093 Info, Node004,     Node 1
2020-05-01 02:40:32.093 Info, Node004,     Node 9
2020-05-01 03:10:21.963 Info, Node013,     Node 1
WARNING: 13 -> 1 listed before a list header, ignoring
2020-05-01 03:10:22.159 Info, Node013,     Neighbors of this node are:
2020-05-01 03:10:22.159 Info, Node013,     Node 9
2020-05-01 04:54:55.183 Info, Node011,     Node 1
WARNING: 11 -> 1 listed before a list header, ignoring
2020-05-01 04:54:55.226 Info, Node011,     Neighbors of this node are:
2020-05-01 04:54:55.226 Info, Node011,     Node 1
2020-05-01 19:18:13.658 Info, Node015,     Node 1
WARNING: 15 -> 1 listed before a list header, ignoring
2020-05-01 19:18:14.052 Info, Node015,     Neighbors of this node are:
2020-05-01 19:18:14.052 Info, Node015,     Node 6
2020-05-01 21:24:33.747 Info, Node006,     Neighbors of this node are:
2020-05-01 21:24:33.747 Info, Node006,     Node 8
2020-05-01 21:24:33.747 Info, Node006,     Node 15
2020-05-01 21:24:33.747 Info, Node006,     Node 17
2020-05-01 21:24:35.370 Info, Node008,     Neighbors of this node are:
2020-05-01 21:24:35.370 Info, Node008,     Node 6
2020-05-01 21:24:35.370 Info, Node008,     Node 17
2020-05-01 21:24:35.370 Info, Node008,     Node 19
2020-05-01 21:24:36.370 Info, Node009,     Neighbors of this node are:
2020-05-01 21:24:36.370 Info, Node009,     Node 1
2020-05-01 21:24:36.370 Info, Node009,     Node 4
2020-05-01 21:24:36.370 Info, Node009,     Node 5
2020-05-01 21:24:36.370 Info, Node009,     Node 7
2020-05-01 21:24:36.370 Info, Node009,     Node 10
2020-05-01 21:24:36.371 Info, Node009,     Node 13
2020-05-01 21:24:36.371 Info, Node009,     Node 17
2020-05-01 21:24:36.371 Info, Node009,     Node 18
2020-05-01 21:24:36.371 Info, Node009,     Node 19
2020-05-01 21:24:37.313 Info, Node010,     Neighbors of this node are:
2020-05-01 21:24:37.313 Info, Node010,     Node 1
2020-05-01 21:24:37.313 Info, Node010,     Node 9
2020-05-01 21:24:37.313 Info, Node010,     Node 17
2020-05-01 21:24:37.313 Info, Node010,     Node 19
2020-05-01 21:39:20.234 Info, Node006,     Neighbors of this node are:
2020-05-01 21:39:20.234 Info, Node006,     Node 8
2020-05-01 21:39:20.234 Info, Node006,     Node 15
2020-05-01 21:39:20.234 Info, Node006,     Node 17
2020-05-01 21:39:21.993 Info, Node008,     Neighbors of this node are:
2020-05-01 21:39:21.993 Info, Node008,     Node 6
2020-05-01 21:39:21.993 Info, Node008,     Node 17
2020-05-01 21:39:21.993 Info, Node008,     Node 19
2020-05-01 21:39:22.917 Info, Node009,     Neighbors of this node are:
2020-05-01 21:39:22.917 Info, Node009,     Node 1
2020-05-01 21:39:22.918 Info, Node009,     Node 4
2020-05-01 21:39:22.918 Info, Node009,     Node 5
2020-05-01 21:39:22.918 Info, Node009,     Node 7
2020-05-01 21:39:22.918 Info, Node009,     Node 10
2020-05-01 21:39:22.918 Info, Node009,     Node 13
2020-05-01 21:39:22.918 Info, Node009,     Node 17
2020-05-01 21:39:22.918 Info, Node009,     Node 18
2020-05-01 21:39:22.918 Info, Node009,     Node 19
2020-05-01 21:39:23.805 Info, Node010,     Neighbors of this node are:
2020-05-01 21:39:23.805 Info, Node010,     Node 1
2020-05-01 21:39:23.805 Info, Node010,     Node 9
2020-05-01 21:39:23.805 Info, Node010,     Node 17
2020-05-01 21:39:23.805 Info, Node010,     Node 19
2020-05-01 21:54:05.675 Info, Node019,     Neighbors of this node are:
2020-05-01 21:54:05.676 Info, Node019,     Node 9
Calculating hops
  4 has 1 hops to the controller
  WARNING: Node 5 has no neighbors
  WARNING: Node 7 has no neighbors
  9 has 1 hops to the controller
  10 has 1 hops to the controller
  11 has 1 hops to the controller
  WARNING: Node 17 has no neighbors
  18 has 1 hops to the controller
  20 has 1 hops to the controller
  13 has 2 hops to the controller
  16 has 2 hops to the controller
  19 has 2 hops to the controller
  8 has 3 hops to the controller
  6 has 4 hops to the controller
Rendering graph
  WARNING: Node 5 still doesn't have any neighbors (on battery?)
  WARNING: Node 7 still doesn't have any neighbors (on battery?)
  WARNING: Node 17 still doesn't have any neighbors (on battery?)
Image saved as ./zwavegraph.svg

Ah nevermind, I went through and installed all the dependencies one by one and it worked. Thanks for a super useful graph!!


MudList: Implement selection modes Single-, Toggle- and MultiSelection

Description
Adds SelectionMode like in MudChipSet, MudTreeView and MudButtonGroup
Renames parameter AdornmentColor to ExpandIconColor
Renames parameter OnClickHandlerPreventDefault to OnClickPreventDefault

How Has This Been Tested?

unit | visually
Type of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Checklist

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

@mckaragoz FYI, this implements multiselection like you suggested. Is it OK that the nesting items are not selectable themselves in multiselection or what do you say?

Having the nesting items selectable would be a big help to easily to select al sub-items,
provided there's a checkbox on the nested item.

Ok, makes sense. Interestingly in the current implementation (single-selection only) it is impossible to select a nested list item. If you click it, it just toggles expansion.

So I guess the best way would be to add Selectable to the items. If it is set, the nested item can be selected by a body click in single-selection as well as multiselection and can only be expanded by a click on the expand button. If unset, it behaves as before.

We may leave it at nesting items being only for nesting/grouping, not selection. Neither Vuetify nor MUI have such functionality, and I guess for good reason.

@ScarletKuro do you still want to review this?

added to v7.0.0 Migration Guide #8447


[bug] no ios simulators found (when android sdk is not installed)

Summary
no iOS simulators show up in menubar dropdown when android sdk is not installed. in pre-flight screen's spinners are spinning forever.
i tried complete reinstall by removing everything with AppCleaner and using the new version downloaded from the releases page.
i don't have android dev environment installed at all because of i don't need it right now. this might be the culprit but i don't know. i tried setting the android sdk path to something random but it did not result ios simulators to show up.
i have no idea what would help to debug this in more detail. if you'd like to you can reach me out on expo discord. i use the same nickname there.
Steps to reproduce

open up Expo Orbit and see pre-flight checklist screen
see spinners spinning forever trying to resolve something
no ios simulators show up in menubar dropdown menu

Environment
  expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 13.5
      Shell: 3.6.1 - /usr/local/bin/fish
    Binaries:
      Node: 20.5.0 - ~/n/bin/node
      Yarn: 3.5.0 - ~/n/bin/yarn
      npm: 9.8.0 - ~/n/bin/npm
      Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.12.1 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
    IDEs:
      Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
    npmPackages:
      expo: ^49.0.0 => 49.0.0
      react: 18.2.0 => 18.2.0
      react-native: 0.72.3 => 0.72.3
    npmGlobalPackages:
      eas-cli: 4.1.2
    Expo Workflow: managed

xcrun shows these things. i have no clue if any of this helps.
$ xcrun --show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

$ xcrun xcodebuild -version
Xcode 14.3.1
Build version 14E300c

$ xcrun --show-sdk-platform-version
13.3

$ xcrun --show-sdk-version
13.3

xcode-select shows the correct path where Xcode is installed
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

Hi @jozan, thanks for reporting this, can you please double-check that you have version 0.1.1 installed? You can check this by going to the settings windows

If so can you run this command on your machine and paste the output?

Hi @jozan, thanks for reporting this, can you please double-check that you have version 0.1.1 installed? You can check this by going to the settings windows

If so, can you run this command on your machine and paste the output?
# If have a M1/M2 computer
/Applications/Expo\ Orbit.app/Contents/Resources/orbit-cli-arm64 li
st-devices

# If you have an Intel
/Applications/Expo\ Orbit.app/Contents/Resources/orbit-cli-x64 list-devices

after having a quick debugging session with @gabrieldonadel on discord we concluded that there is, indeed, an issue. the cause is unknown as of now. investigation is ongoing as we speak.

After the debug session with @jozan, interesting things to note:

Running orbit-cli-x64 list-devices returns an output with a list of devices
This is an Intel Mac (not sure if this could be related)
The Preflight check window was being shown multiple times, (maybe @react-native-async-storage/async-storage is erroring out?)

Potentially also seeing this issue, can't see a list of devices on my intel Mac even though list-devices returns sims in them ⬇

Not sure if it's expected, but every time I open Select build from EAS... it goes to choosing account / project, and then even if I go into a build and press Open with Orbit, it just goes back to opening the menu. I assume it's ok if I had a device in there I could've selected it 🤔

Ok, I've set up a Hackintosh in an old Intel machine and I'm able to reproduce this, the problem seems related to the communication between menu-bar and the cli, maybe it's a sandbox configuration that we need to change? I'm installing Xcode in this other machine right and a fix should come soon!

A new version of Expo Orbit has just been released! v0.1.2 includes fixes for this and other issues, you can check the full details on the releases page. Please test it out and let us know if you find any other problems.


logic frequency rule

I am trying to define a rule that alerts when a certain event occurs 3 times in a 2 hour timeframe. I am employing the frequency rule but I am not sure about its logic. Please let me know if this is the correct description of its behaviour:

Suppose that the relevant event occurs at minutes 20, 25 and 30 and suppose that the event does not occur again after minute 30.

The first time that query runs after minute 30, the frequency rule alerts that the event occurred three times in the last two hours.

The second (third, fourth...) time that the query runs after minute 30, my rule does not alert me that the event occurred three times in the last two hours.

Is this the correct understanding of the rule?
If so, how could I try to define a rule that alerts me every time that the query is run and the event occurred 3 times in the last two hours (independently of whether I have already been alerted about the those three occurrences of the event)? That is, could I define a rule that alerts me every time that the query runs in the two hours after minute 20 in my example?
Thank you.

Hi,
Any advice of this topic?


Lack of implementation of the logic "readDiscontinuiny" in "HlsMediaPeriod.java"

Version
Media3 1.5.0
More version details
I have encountered a problem - when there is a discontinuiny in the live stream that is accompanied by a shift in timestamps, the player gets into a state of eternal buffering as soon as the timestamp before the discontinuiny goes beyond the boundaries of the playback window. This happens because there is no logic for processing the discontinuiny, the method that should contain this logic is just a stub and returns a constant value.
This issue also relevant for main branch, and ExoPlayer2 too.
Devices that reproduce the issue
Any device.
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps

Launch app
Play live stream that contains discontinuity with shift in timestamps
Wait until previous #EXT-X-PROGRAM-DATE-TIME will be removed from media-playlist.
Check that played time values corrupt
Wait until buffered playback ends
Check that new media-playlist not requested

Expected result
When a discontinuiny occurs, the #EXT-X-PROGRAM-DATE-TIME value that corresponds to this discontinuiny must be taken into account in order to adjust the timestamps and prevent playback from freezing.
Actual result
Playback freezes.
Media
The question is not specific to a particular media, there is no implementation of logic in the player code.
Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

hi @tianyif, is there a chance you could take a look at this?

hi @tianyif , do you have any comments?

Hi @marcbaechinger , I sent email with stream link and also attached adb report file.

@marcbaechinger have you had a chance to look at this? if it helps i can also send the HLS manifests

@marcbaechinger @tianyif any comments?


BUG(?) ISSUE - User can submit threads while AI is generating

Do we consider this a bug?

Umm I think we can just leave that for now but definitely fix that issue later on

#46 Reference to this


[SPIKE] A more strict approach for finding versions in commit messages

It's hard to satisfy the tests without making the assumption that the relevant version is located at the first line. I don't the like the implementation but I think the added tests is correct?
References #385

I have a couple of issues with this implementation.
In order to support:
        [TestCase("Finish Release-0.12.0", true, "0.12.0")] //Support Syntevo SmartGit/Hg's Gitflow merge commit messages for finishing a 'Release' branch
        [TestCase("Finish 0.14.1", true, "0.14.1")] //Support Syntevo SmartGit/Hg's Gitflow merge commit messages for finishing a 'Hotfix' branch

and not library updates in merge commits with an aggregated commit history like:
Merge pull request #1 in FOO/bar from feature/ISSUE-1 to develop
* commit '38560a7eed06e8d3f3f1aaf091befcdf8bf50fea':
  Updated jQuery to v2.1.3

We'll need to make some assumptions:
https://github.com/orjan/GitVersion/commit/db7beab257660a09586fdc2efa29ede40ee16e28#diff-ff51c8573866921bbeb1edf0998dc6f8R47
"^.*?(-|/|'|Finish )(?<PossibleVersions>\d+\.\d+\.\d+)"

The version is located at the first commit line
and starts with ', /, - or Finish

This makes the feature hard to understand for the users, why is my message picked up as a version or why not is it picked up. This makes the implementation error prone and fussy e.g. why if Finish a magical word?
Another option would be to make this feature optional and allow users to specify how to find the version in a commit message via configuration. But that will cause breaking changes.
Thoughts @JakeGinnivan?

This is fine, it passes all the tests so I am happy.


docs: advanced formik integration

Closes #407
📝 Description
I've created a recipe for advanced Formik integration.
🚀 New behavior
Now the users can see a more advanced example of how they can use ChakraUI with Formik, especially with Chakra components such as the radio button as an image. On top of that, I've created a SandPack since there were multiple files and I think that would be much better.
💣 Is this a breaking change (Yes/No):
No.

@nikolovlazar, should I add this page on the resources sidebar as well?

@aacevski we definitely should. I think it's better if we do the following changes:

Create a new group "Recipes"
Put the "Advanced Formik Integration" in the new Recipes group
Move the "Atlaskit editable" into the new Recipes group
Put the Recipes group between the "Advanced" and "Integrations" groups

Here's an idea of how it should look like:

I've done just that, thanks for the input!

@nikolovlazar this is ready to be reviewed again, I've changed the wording! 🚀


Upgrade to 1.17

probably butchered server side performance like they did with client side performance so we may have to wait for another minor release

I've found that 1.17.1 might stop alot of exploits in their tracks.


Matrix field don't delete a row if this is the last row present for the field

Describe the bug
Matrix field don't delete a row if this is the last row present for the field, because on MySQL return this error:
Check constraint 'people_chk_2' is violated. All changes were reverted (DDL statements can't be reverted).
It seems that on deleting the last row the field will be saved as NULL and not as empty JSON and constraint violation error break last row deletion.
To Reproduce
Steps to reproduce the behavior:

Try to add one or more rows to a matrix field
Try to delete the last row on the field --> field empty as result

Expected behavior
As expected the matrix field should be empty deleting last row present.
Screenshots
N/A
Desktop (please complete the following information):

OS: OSX 12.5 Monterey
Browser: Safari 15.6 (176<IP_ADDRESS>.5), Google Chrome 104.0.5112.79

Smartphone (please complete the following information):
Not tested yet
Server (please complete the following information):

Platfrom Version: 13.1.0
Laravel Version: 9.23.0
PHP Version:  8.1.9
Database:  MySQL
Database Version:  8.0.27

Additional context
Table field - emails in my case - is casted as array on model, and created as Jsonb on migration:
$table->jsonb('emails')->comment("Email addresses")->nullable();
When I have runned the migration MySQL create:
emails longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT Email addresses
CONSTRAINT people_chk_2 CHECK (json_valid('emails'))

This seems more like a problem on your side than an Orchid issue. The matrix field returns an array, and it is up to you what you do with that in your function.

This seems more like a problem on your side than an Orchid issue. The matrix field returns an array, and it is up to you what you do with that in your function.

I think isn't a problem on my side because I don't have find something on documentation about Matrix field that not save an empty array if you delete the entire field content.
Probably I don't know if I have used the correct field type definition on my migration (jsonb) because on deleting last value pair or array Orchid set field to NULL and not as an empty array.

Can you share a minimal reproducible example or screen where you obtain this behavior?

I will close this as it is inactive and probably not an Orchid issue.

I will close this as it is inactive and probably not an Orchid issue.

Why? Some issues still open for months...
But, anyway I think I have written all elements to reproduce this behavior. Screens are unuseful in this case.

We're working on improving the issues on this repository.
Orchid doesn't save/update anything on your database when you use an input field. It is up to you to save it (using a function) and treat it before saving. I asked for more code on your side because this doesn't seem like an Orchid issue.

We're working on improving the issues on this repository.
Orchid doesn't save/update anything on your database when you use an input field. It is up to you to save it (using a function) and treat it before saving. I asked for more code on your side because this doesn't seem like an Orchid issue.

I know this, in fact I save, edit and delete the matrix field (emails in my table) without problem with standard save function:
`public function save(People $people, Request $request)
{
$this->exists = $people->exists;
    $request->validate([
       (omissis)

        'people.emails' => [
            'nullable',
        ],

       (omissis)
    ]);

    $people
        ->fill($request->get('people'))
        ->save();

    $people->bndroles()->detach();

    $people->bndroles()->attach($request->input('people.bndroles'));

    Toast::info(__('Person was saved'));

    (omissis)

     return redirect()->route('platform.tables.people');
}`

I see the problem when I try to remove last element on emails matrix field.

For future reference if someone have same problem.
I have solved the problem on deleting last element on array on this way before fill people:
if( $request->input('people.emails') == null)
{
            $people_array = $request->people;
            $people_array['emails']  = [];

            $request->merge([
                'people' => $people_array,
            ]);
}


[Feature Request] Collect metrics in a fixed interval for the lifespan of a training job

Hi @XuehaiPan,
In your examples to collect metrics using ResourceMetricCollector inside a training loop, the collector.collect(), collects a snapshot at each epoch/batch loop which misses the the entire period between the previous and current loop.
If a loop takes 5 minutes, we have the metrics at 5 minutes interval.
I wonder if there is a way to run a process in background to collect the metrics at a certain interval let's say 5 seconds, during the lifespan of a training job?
Therefore if the entire job took 1hr, with the 5 sec interval, we collect 720 snapshots.
Thanks

@classicboyir Hi, thanks for the feedback.

I wonder if there is a way to run a process in background to collect the metrics at a certain internal let's say 5 seconds, during the lifespan of a training job?

I think this would be a good use case and I would like to add this into nvitop. It can achieve by running in a separate thread with a callback function, like:
import time
import threading

from nvitop import ResourceMetricCollector

def collect_in_background(
    on_collect,
    collector=None,
    interval=None,
    *,
    on_start=None,
    on_stop=None,
    tag='metrics-daemon',
    start=True,
):
    if collector is None:
        collector = ResourceMetricCollector()
    if interval is None:
        interval = collector.interval
    interval = min(interval, collector.interval)

    def target():
        if on_start is not None:
            on_start(collector)
        try:
            with collector(tag):
                try:
                    while on_collect(collector.collect()):
                        time.sleep(interval)
                except KeyboardInterrupt:
                    pass
        finally:
            if on_stop is not None:
                on_stop(collector)

    daemon = threading.Thread(target=target, daemon=True)
    if start:
        daemon.start()
    return daemon

def main():
    logger = ...

    def on_collect(metrics):
        if logger.is_closed():  # closed manually by user
            return False
        logger.log(metrics)
        return True

    def on_stop(collector):
        if not logger.is_closed():
            logger.close()  # cleanup

    background_collector = ResourceMetricCollector()
    collect_in_background(on_collect, background_collector, interval=5.0, on_stop=on_stop)

    # Use a separate collector for foreground
    # otherwise it will mess with the 'metrics-daemon' tag
    foreground_collector = ResourceMetricCollector()

    for epoch in range(100):
        with foreground_collector('epoch'):
            # Do something
            for batch in range(100):
                with foreground_collector('batch'):
                    # Do something
                    pass

You can define a on_collect, such as log the result to a logger, or just append it in a list:
lst = []

def on_collect(metrics):
    lst.append(metrics)
    return True

Love it, thanks for the quick response and look forward to seeing it being natively supported.

@classicboyir Hi, I create a PR #48 to resolve this. Could you try:
pip3 install git+https://github.com/XuehaiPan/nvitop.git@collector-daemon

and share some user experiences. Then we can get it to merge and release. Thanks!

thanks for the update, @XuehaiPan.
I gave this a try and it works as expected. I do have a suggestion on the design of the method.
I think it'd be better to define collect_in_background as a member of ResourceMetricCollector class and you call it like this: (and use something like begin_collecting_in_background as the function name)
collector = ResourceMetricCollector(interval=5.0)
daemon = collector.begin_collecting_in_background(on_collect, on_stop=on_stop)
Instead of passing a ResourceMetricCollector object, it uses self as the collector and might just need these parameters in the begin_collecting_in_background function:
on_collect,
on_start=None,
on_stop=None,
tag=''
And you don't need the start parameter as when you call the begin_collecting_in_background function the intention is to start the background thread. Similarly, interval could be eliminated as it grabs the interval parameter of the ResourceMetricCollector class. Finally it'd return the daemon  object to stop the job for the client to manage the thread.

@classicboyir Thanks for the advice, I add a new shortcut method daemonize to the class ResourceMetricCollector:
from nvitop import ResourceMetricCollector

collector = ResourceMetricCollector(...)
collector.daemonize(on_collect_fn, interval=inteval, on_start=on_start, on_stop=on_stop)

it is equivalent to:
from nvitop import ResourceMetricCollector, collect_in_background

collector = ResourceMetricCollector(...)
collect_in_background(on_collect_fn, collector, interval=inteval, on_start=on_start, on_stop=on_stop)

but has fewer imports.

And you don't need the start parameter as when you call the begin_collecting_in_background function the intention is to start the background thread. Similarly, interval could be eliminated as it grabs the interval parameter of the ResourceMetricCollector class.

As for the parameter on_start, I think the user may look up the collector.devices or some other attributes at start-up. This method not only initializes the collector but also does some necessary jobs on start.
For the interval argument, if you omit or pass interval=None, it will use collecor.interval.

This feature is included in nvitop 0.10.2.

Thanks @XuehaiPan for adding this feature promptly.
Would you also expose a function to stop the background thread when needed?

Would you also expose a function to stop the background thread when needed?

@classicboyir You can let the on_collect function return False to stop the thread. Also, the thread is a daemon thread, you can kill it anyway without breaking the main thread.


UI Changes - Namespace Access (Permissions)

Address the following:
User interface (buttons, links, and visual styling)
Interaction design
Labels, headlines, and written text
Navigation structures and content classification
Accessibility (contrast, visual focus indicators, text alternatives, etc.)


Add option to run Fastmail beta

On https://beta.fastmail.com you can already see the new Fastmail UI (see #8).
Perhaps you can add an config option to Fastmate to either use fastmail.com or beta.fastmail.com ?

Adding an option to run beta should be fairly simple - but I see that they went live with the new UI already (and it's turning up in Fastmate). Do you still need the option to run the beta version?

Ah, I indeed have the new UI now.
Still it might be nice to select/use beta in Fastmate (for example if you beta test for Fastmail, which I have done).

Added in 1.3.0. Thanks for all the issues reported, keep them coming!


Tabs: Active stripe width does not resize when browser width changes

Describe the bug (actual behavior)
When resizing the browser horizontally, the active stripe width of the borderless -> very long active tab example does not change accordingly.
However, the active stripe width becomes correct when clicking on another tab.
Video5.webm
Expected behavior
Active stripe width should be correct at all times, even when the browser width changes.
Steps to reproduce

Open /tabs HTML demo page
Scroll to the borderless -> very long active tab example
Change browser width
Notice that the active stripe width does not change
However, the width get corrected after clicking on a new tab

Additional information
Similar to #911, but this is in the CSS HTML demo pages and not in React/Storybook

The CSS/HTML demos are not meant to fully demonstrate JS behavior, so bugs are expected. We don't deliver the JS code in those demos to users, so this is a non-issue.


url contains "pages"

"Pages" should be removed from the url so that the standard form becomes "/#/...".

Turns out it doesn't on the live version


provide a way to stop servers by user

In our internal applications we essentially do this (skipping the error handling for brevity):
process, _ := os.FindProcess(os.Getpid())
process.Signal(syscall.SIGTERM)

Would that work for your use case too?

Want to avoid making the API bigger.


Stage config.json as config.json.example

Alteration of the config.json filename shipped with the project will allow users to update with git pull without overwriting a configured config.json file.
Additionally adds a section with "updating" steps to the readme for use for people running from a clone of the repo not the release version.

Look at the build commands.

Will close this out unless you are willing to provide a better system. This change does not have a point as cron jobs will overwrite this. Make a issue ticket if you want first. Will be willing to reconsider this at a future time.
This change will require alot more changes to work.


Update index.md

add solution link to 14th lines

Why:

What's being changed:

Check off the following:

[ ] All of the tests are passing.
[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

Thanks for opening a PR 👍 Please fill out the pull request template in the top comment in this pull request, then we'll get this up for review!

done

@lawalalao Can you answer the Why? and What's being changed? to help us understand why you want to add a solutions link? When I look at the staging link for the changes you've made, there isn't a new page listed.
What page are you looking to add a link to?

Thank you again for taking the time to contribute, @lawalalao! 😃 I'm going to close this PR for now, as we don't have a solution file to link to. Feel free to re-open, or open a new PR if you have any further suggestions 📝


Add ImageFolder dataset

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (b3030a0) 100.00% compared to head (35a378e) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         5    +1
  Lines           32        49   +17
  Branches         1         1
=========================================
+ Hits            32        49   +17

Impacted Files
Coverage Δ

src/gtvision/datasets/__init__.py
100.00% <100.00%> (ø)

src/gtvision/datasets/folder.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Type hints showing incorrect signature and annotations when custom annotations are used.

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

VS Code Version: 1.87.0
OS Version: Windows 10

Steps to Reproduce:
When a Callable class is created with overridden signature or annotations the type hints do not show the new annotations.
import inspect
from typing import Literal, Dict, Any

class CustomCallable:
    '''Function class with custom annotations.
    The primary use case for this type of class would be as a decorator class.
    '''
    def __init__(self):
        self._annotations = {}  # Initialize an empty annotations dictionary
        # Initialize default signature
        self._signature = inspect.Signature([
            inspect.Parameter('args', inspect.Parameter.VAR_POSITIONAL),
            inspect.Parameter('kwargs', inspect.Parameter.VAR_KEYWORD)
            ])

    def __call__(self, *args, **kwargs) -> Literal['Hello from CustomCallable!']:
        result = "Hello from CustomCallable!"
        return result

    @property
    def __signature__(self) -> inspect.Signature:
        '''The Signature can be set as an attribute.'''
        return self._signature

    @__signature__.setter
    def __signature__(self, sig: inspect.Signature) -> None:
        self._signature = sig

    @property
    def __annotations__(self) -> Dict[str, Any]:
        '''The annotations can be set as an attribute.'''
        return self._annotation

    @__annotations__.setter
    def __annotations__(self, anote: Dict[str, Any]) -> None:
        self._annotation = anote

# Create an instance of CustomCallable with a modified signature and annotation
my_callable = CustomCallable()
my_callable.__annotations__ = {"arg1": int, "arg2": str, "return": bool}
my_callable.__signature__ = inspect.Signature([
        inspect.Parameter('arg1', inspect.Parameter.POSITIONAL_OR_KEYWORD, annotation=int),
        inspect.Parameter('arg2', inspect.Parameter.POSITIONAL_OR_KEYWORD, annotation=str)
        ], return_annotation=Any)

This is what should be shown in the hints:
str(inspect.signature(my_callable))

'(arg1: int, arg2: str) -> Any'

my_callable.__annotations__

{'arg1': int, 'arg2': str, 'return': bool}

Instead the following prompt is given on hover:

"(*args, **kwargs) -> Literal['Hello from CustomCallable!']"

The annotation actually displayed can be obtained by accessing the .__call__ method directly rather than the class instance:
str(inspect.signature(my_callable.__call__))

"(*args, **kwargs) -> Literal['Hello from CustomCallable!']"

/extPython

It looks like this is caused by the Python extension. Please file the issue to the Python extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


fix: asset row skeleton loader

Try out Leather build 3aa03f4 — Extension build, Test report, Storybook, Chromatic

@alter-eggo what do you think of this, while the data is being initialized/fetched, we show a placeholder row that has the skeleton loaders for everything? It works well on my end, but we still need to understand what to show when it actually errors. I added an error component that has a reload icon so the user can refetch the balance. See image in comments.

Summary by CodeRabbit

New Features

Introduced CryptoAssetItemError component to display error messages for crypto asset items.
Added CryptoAssetItemPlaceholder component to render placeholder layouts for crypto asset items.

Enhancements

Updated StxBalanceLoader component to show a placeholder during data initialization.

Improvements

Enhanced query state management with new isInitializingData function and improved isFetchedWithSuccess function.
Made captionLeft property optional in ItemLayout component.

Maybe we can add a reload button for BTC and STX if there is an error loading those balances?

This change LGTM and I think it's good to fix bugs fast like this but I wonder about the urgency of it based on our current project priorities.
I can consume the change into my UI migration but it's similar to updating queries in the extension while the mono repo work is in flight.

This change LGTM and I think it's good to fix bugs fast like this but I wonder about the urgency of it based on our current project priorities.
I can consume the change into my UI migration but it's similar to updating queries in the extension while the mono repo work is in flight.

Not tot understanding this comment? This doesn't touch any UI component that is migrating, it is just using one which has to be handled when we install them back into the extension anyway ...what am I missing? It is not the same situ as actually changing an already migrated query?

I can consume the change into my UI migration but it's similar to updating queries in the extension while the mono repo work is in flight.

Actually, based on Kyran's comment that change to ItemLayout will be removed.

My point is more about distracting ourselves from other work we are doing to work on this as the bug was reported with hardly any information anyway and i'm not sure how urgent it is. Don't mind me! 😶🌫

I think you are failing to understand that these were changes I just made to the asset list when I refactored it, so I do feel like it was appropriate for me to take on and I did understand the 'bug' reported here w/out additional questioning: https://github.com/leather-wallet/extension/issues/5466#issuecomment-2138680538.

What do you think about this one? Thinking like this could be a better solution because the icon seems too subtle?

What do you think about this one? Thinking like this could be a better solution because the icon seems too subtle?

Curious to hear others chime in on this change, I find the button to be pretty big but open to changing ...also, do we just expect this for BTC and STX right now? We don't have to include this change if being done too quickly, but wanted to throw an idea out there bc it seems odd to just not show anything for BTC and STX if the query fails, but maybe I'm wrong here?

A button does seem overly big and out of place to me as well. I'd expect a refresh icon, even if it has to be accompanied by the word "Refresh" (better than "Reload"?) in small text size.

How about this?

How about this? We can use the ghost button with a leading icon

Not sure this looks right with the padding off from others?

IMO we should not leave retrying to the user. We can retry without the user doing anything. There should never be a need for the user to retry. It's either failed and retrying, which means it's loading, or it's failed.

@kyranjamie what should be shown in case of error then?

I vote to remove entirely.

I have the same question then as @alter-eggo, how do we handle in the UI when STX balance query errors? This was the bug that came in and is linked. We left the balance as undefined instead of using placeholder data to show the balance as 0, so the entire row isn't shown if the balance query fails ...which is happening with the rate limiting at times. Is it ok to just not show the entire row for BTC and STX until the query is successful? I think just for BTC and STX users expect to see something?
cc @mica000 on ideas here for error handling?

Could we show an inline error on the row, and a more general page  🟠 Some wallet services may be unavailable error underneath?
Problem with this pattern is that, if a user's connection goes down, and we see 20x Retry buttons.

Problem with this pattern is that, if a user's connection goes down, and we see 20x Retry buttons.

Will wait for feedback from designers, the intention wasn't to add this for all rows but just BTC and STX. I def don't want to show an error or reload button for each sip10 token, haha. I don't think this is urgent so will wait for feedback.

Mark's comment:
"Component design needs two new states:
Simple server-side loading error with no retry option
Error with retry option (e.g. for 429s)"

Adding two more states as per Mark's comment. I swapped the button for link without underline to fix the padding issue that Farah pointed out. Let me know your thoughts!

LGTM, thanks for working on it. 👍 Question for others, so the retry should only shown if the error code is 429?

so the retry should only shown if the error code is 429?

That's my recommendation since if the error is 429, then retrying has a decent chance of working, whereas if it's another error, then it doesn't presumably have a good chance (e.g. if the API has returned malformed data, then there's little reason to expect it to return properly on retry).


Added directions for configuring the npm proxy.

Added directions for configuring the npm proxy when on corporate networks.
Category

[x] Content fix
[ ] New article

Related issues
What's in this Pull Request?
When attempting to install npm packages, the command will fail if the user is on a corporate network with a proxy.  Added directions for configuring the npm proxy when on corporate networks to work around this issue.
Submission guidelines

Thanks for the submission... we've discussed this in the past and decided to not include this. The docs are intended to focus on the domain (SharePoint & SPFx), not every issue that can come up with a user's machine, tooling, their network, etc.

OK thanks for the feedback @andrewconnell


Add project veracioux/tuterm

Signed-off-by: Haris Gušić<EMAIL_ADDRESS>
[X] Created and filled out ./projects/veracioux/tuterm.mdx
[X] Added a Bash language entry in ./projects/_template.mdx

Note: My project doesn't have a picture, so I didn't include one here. I hope that isn't a problem.

@deammer Thank you very much! I'm super happy :DD


[Bug] Barcode detected as EAN13 not UPC

BUG REPORTS WITHOUT PROVIDING THESE INFORMATIONS WILL BE CLOSED DIRECTLY. DON'T REMOVE THE SECTIONS!
Describe the bug
Hello, I am trying this plugin to scan the barcode, it works fine in Android when using without options. The result is like this:
I/flutter ( 7122): Barcode
I/flutter ( 7122):<PHONE_NUMBER>49
I/flutter ( 7122): unknown
I/flutter ( 7122): UPC_A

However I need to restrict the barcode type so I give the options like this:
 var options = ScanOptions(restrictFormat: [
      BarcodeFormat.unknown,
      BarcodeFormat.ean13
    ]);
    var result = await BarcodeScanner.scan(options: options);

    print(result.type); // The result type (barcode, cancelled, failed)
    print(result.rawContent); // The barcode content
    print(result.format); // The barcode format (as enum)
    print(result
        .formatNote); // If a unknown format was scanned this field contains a note

However the result now is changed into EAN-13, it should be detected as UPC_A same like with no options.
flutter: Barcode
flutter:<PHONE_NUMBER>849
flutter: ean13
flutter:

Also in IOS the barcode is always detected as EAN13 not UPC.
To Reproduce
Steps to reproduce the behavior:

Add the options code in barcode scan
Scan the barcode image
Check the result

Expected behavior
It should be show as UPC_A Format
Screenshots
This is the image of barcode:

Logs
Second Result after restricted:
flutter: Barcode
flutter:<PHONE_NUMBER>849
flutter: ean13
flutter:

Environment (please complete the following information):

[X] iOS? Version: 12.4.6
[X] Android? Version: 9
[X] Real Device? Iphone 6, Asus Zenfone Max Pro M1
[ ] Emulator/Simulator? Which?: ...
Version of barcode_scan: barcode_scan: ^3.0.1
Output of flutter --version:

Flutter 1.17.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5f21edf8b6 (12 days ago) • 2020-05-28 12:44:12 -0700
Engine • revision b851c71829
Tools • Dart 2.8.3

Additional context
This is the result using online site barcode reader,it shows correct value and format:

EAN13 is compatible to UPC. On iOS the default AVFoundation barcode detection is used. I think we don't have a chance to fix this "problem". You can restrict the barcode formats in the scan options and exclude ean13 if you need to scan this type of codes as UPC.

If i exclude ean13 the app dont scan anything.


Pass require.config() data or app.build.js file to jam compile

Short version:
I'm using a hbs! plugin that's not in jam. I define the path in a require.config() call at the top of my main init.js file, but when I run jam compile, it doesn't parse that config and doesn't know the path to the plugin, and then chokes when the plugin gets called. How can I tell jam compile about that path?
Long version:
This is the start of my main init.js file:
require.config({
    hbs: {
        disableI18n: true,
        // write "templatename.handlebars" - this is required because we have some templates with the same name as .js
        // files and require.js gets confused since the normalized hanes have no file extension
        templateExtension: false
    },
    // todo: delete this once hbs is available in jam https://github.com/SlexAxton/require-handlebars-plugin/issues/79
    paths: {
        "hbs": "lib/require-handlebars-plugin/hbs",
        "handlebars": "lib/require-handlebars-plugin/Handlebars",
        "json2": "lib/require-handlebars-plugin/hbs/json2",
        "i18nprecompile":  "lib/require-handlebars-plugin/hbs/i18nprecompile"
    },
    baseUrl: "/scripts"
});

define([...

When I do my jam compile, I include that file first, but jam doesn't execute the file, so it never gets the configuration info from it. Then it chokes when looking for the hbs! plugin because it doesn't know the path to it.
This is the command I run:
jam compile -v --almond --wrap --out out/CUSTOMER_NAME.min.js -i CUSTOMER_NAME_config.js -i init.js -i modules/gallery/gallery -i modules/connector/connector -i modules/fblike/fblike -i modules/welcome/welcome -i modules/popularmos/popularmos -i modules/streampublish/streampublish -i modules/activitystream/activitystream

And this is the output from that command:
compiling out/CUSTOMER_NAME.min.js
include CUSTOMER_NAME_config.js, init.js, modules/gallery/gallery, modules/connector/connector, modules/fblike/fblike, modules/welcome/welcome, modules/popularmos/popularmos, modules/streampublish/streampublish, modules/activitystream/activitystream
using almond.js

Tracing dependencies for: requireLib
Error: ENOENT, no such file or directory '/usr/local/SociableLabs/1.553f5b0/conductor/webapps/rondavu.war/scripts/hbs.js'
In module tree:
    modules/gallery/gallery

Error: ENOENT, no such file or directory '/usr/local/SociableLabs/1.553f5b0/conductor/webapps/rondavu.war/scripts/hbs.js'
In module tree:
    modules/gallery/gallery

    at Object.fs.openSync (fs.js:338:18)

Failed

That hbs.js file it's choking on is actually located at /usr/local/SociableLabs/1.553f5b0/conductor/webapps/rondavu.war/scripts/lib/require-handlebars-plugin/hbs.js and it loads correctly when I'm running non-compiled js.
I've looked into this a little and found that r.js (which I think jam uses under the hood) has a -o app.build.js config flag where the app.build.js file includes this info. But with jam, the -o flag specifies the output file. (I tried it anyways, but it still failed with the same error. I assume if it had been successful, it would have overwritten my app.build.js file.)
Is it possible to do this with jam? If not, would you be willing to add this feature? I think if https://github.com/caolan/jam/issues/95 were done, that would do the trick too.

Any updates on this issue?  I'm really just looking to be able to support passing a "baseUrl" through to require.config.js.  I understand that JAM needs it's own packageDir and baseUrl to know things about site root, etc, but I really would prefer not to need to call every js file by doing:
require(["/assets/js/test.js"], function(){});

Putting the path seems a little redundant, when require.js already has the baseUrl functionality supported.
While it might not be accurate, it seems like development has gone a little stagnant on this repository, surprised that this issue hasn't been resolved in 2 years.

As an FYI, I've come up with a temporary solution for the problem... not a great solution, but it does seem to work (at least thus far).
First, my folder structure is built in the following format:

views

assets

js

lib

jquery [example package]

test.js

"jam": {
    "packageDir": "views/assets/js/lib",
    "baseUrl": "views/assets/js"
}

To temporarily solve for this problem

Sorry, I know I started this and then kind of abandoned it. I was hoping that I'd get a chance to send a PR, but I no longer work in that position and don't really use jam or require.js for much these days.
I'm pretty sure that they just got a hack similar to yours in place and left it at that.

@nfriedly Thanks for replying!  Do you happen to recall what issues you had with your code?  Or more accurately, how significant a fix would be?  Worth asking, but I'm not really familiar with the JAM code base; however, I'd love to see it finished, and might be willing to do it myself...  I'm just looking to start using JAM, as I have a real requirement for Require.JS, which server side dependency injection (like browserify) cannot solve for, and JAM seems like the best solution for handling dependencies with Require.JS, especially when a private (corporate) repository has been added.

Yea, it's been a couple of years and I don't remember so much now. Looking through the history here, it looks like I modified one of the other packages to work without any configuration, and then also modified JAM a bit - see https://github.com/nfriedly/jam/commits/extraconfig
However, that's so outdated that I'm not sure if it's still relevant.


error compiling on Visual Studio 2022

Hello
Is this supported on Visual Studio?
When I try to compile with VS2022, I get a number of C2026 errors on wxSimpleIconsArt.hpp, e.g.
1>C:\dev\wxMaterialDesignArtProvider\MaterialDesign\wxSimpleIconsArt.hpp(3615,1): error C2026: string too big, trailing characters truncated
indicating that string literals are too long.
Kind regards

Thanks for checking @ErikRomb. I don't have a MSVC solution handy but #4 should do the job.


Change the default package provider

Is there a way to change the default package provider ?
https://github.com/bartavelle/language-puppet/blob/master/Puppet/NativeTypes/Package.hs#L68

You mean picking it based on the facts ? It would require refactoring the whole post-test thingie so that it somehow has access to the state, or at least to the facts.

I might be able to fix my problem with a PR ;-)
According to the doc, the apt providers does support install_options. So I guess I just need to add here.


MultiJob build for Apache CloudStack

This PR adds bash scripts for every step of the build, and a JobDSL config that creates the respective jobs.

ping @remibergsma, @neubauerf, @wilderrodrigues can one of you guys review and merge this?

@miguelaferreira Awesome work, thanks a lot!


Add latest git version

Git should be updated to latest version to handle
--ignore-matching-lines command

Oh, thinking about it we should do all of this https://github.com/actions/virtual-environments/blob/main/images/linux/scripts/installers/git.sh just for consistency.

(git-lfs and hub is the only difference which we don't need but having the same env as hosted runners probably a good thing)

Sounds good.

Updated and released AMI.


No way to get stuff like heredocs working

Would be really neat to have heredocs for different scripting things.

You can just use -r or --raw-mode to get pipr to not do weird processing to newlines 👍🏻


Diseases which are also Genes

I have found some instances of diseases, e.g. MONDO:0020119 which have a child which is actually a gene - in this case ZC4H2. There are a few more.

@kshefchek did you say this is actually an issue with Monarch, not Mondo?

I suspect it's an integration bug with merging Ids from multiple sources, I can take a closer look

There are a few more.

@rgb4268 could you list these here? I can only find this one case.


Use .app for the site's name suggestion message.

- Summary
Updates the default domain for the site's name suggestion message during the creation process.

Thanks for the PR @afuh


updated .gitignore

Added validation/data to .gitignore

@DRosasMoctezuma it looks like this PR is adding files beyond just editing .gitignore. Can you clean it up?


Inconsistent naming of buttons on the Line tab for the widget

When creating lines from known coordinates, using "From: Points" the tool used to create the Start Point is called "Draw Line" but the tool used to create the End Point is called "Add Point" both should be called "Add Point"

@adgiles please add an estimate to this issue.

Fixed, pushed up to Devtopia in this PR https://devtopia.esri.com/WebGIS/arcgis-webappbuilder/pull/11973

@topowright @dfoll @ACueva
now showing in the daily build (01 Mar 18), good to test

verified fixed on the daily snapshot
If this needs tested explicitly on devext we need to move this back. Was not able to text on devext because I could not log in because I could not figure out what the password is.

@topowright Still impeded due to this topic being checked out.

Doc changes made and checked back in. FYI @dfoll

verified it's fixed on docdev ... removing G - QC Doc. changes should appear in the portal doc overnight


workflow flow build base should aware of Version change ?

Bug Report
Expected Behavior
workflow flow build base should be aware of Version change
Actual Behavior
workflow flow build base should not be aware of Version change

Steps to Reproduce the Problem

Additional Info

Kubernetes version:
Output of kubectl version:
(paste your output here)

kube-ovn version:
(paste your output here)

operation-system/kernel version:
Output of awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release:
Output of uname -r:
(paste your output here)

如果不感知version 文件变更，每次发版本应该就会触发一次 base 不构建的问题


Concurrency issue in DefaultReferenceResolver/JsonSerializer

Just saw the exception below with JsonSerializer being used in a multi-threaded environment, which I believe is due to the _referenceCount++ in DefaultReferenceResolver.GetReference() not being thread-safe (should be using Interlocked.Increment).
Also the internal dictionaries in BiDirectionalDictionary are not thread-safe either, and there's no synchronization mechanism around them.
System.ArgumentException: A different value already has the Id '181186'.
at Newtonsoft.Json.Utilities.BidirectionalDictionary`2.Set(TFirst first, TSecond second)
at Newtonsoft.Json.Serialization.DefaultReferenceResolver.GetReference(Object context, Object value)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.GetReference(JsonWriter writer, Object value)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.GetReference(JsonWriter writer, Object value)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteReferenceIdProperty(JsonWriter writer, Type type, Object value)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteObjectStart(JsonWriter writer, Object value, JsonContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)

I had the same bug in ASP.NET MVC Core Json formatter.
 Exception Message: Newtonsoft.Json.JsonSerializationException: Error writing object reference for 'PrintingStore'. Path '[25361]'. ---> System.ArgumentException: A different value already has the Id '88896085'.    at Newtonsoft.Json.Utilities.BidirectionalDictionary2.Set(TFirst first, TSecond second)
at Newtonsoft.Json.Serialization.DefaultReferenceResolver.GetReference(Object context, Object value)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.GetReference(JsonWriter writer, Object value)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.GetReference(JsonWriter writer, Object value)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteReferenceIdProperty(JsonWriter writer, Type type, Object value)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteObjectStart(JsonWriter writer, Object value, JsonContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)
at Microsoft.AspNetCore.Mvc.Formatters.JsonOutputFormatter.WriteObject(TextWriter writer, Object value)
at Microsoft.AspNetCore.Mvc.Formatters.JsonOutputFormatter.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ResultExecutedContext context)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ResourceExecutedContext context)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at iRIS.Framework.ServiceInformation.ServiceInfoMiddleware.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Services.Communication.AspNetCore.ServiceFabricMiddleware.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at iRIS.Framework.CrossCutting.Logging.SerilogMiddleware.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at iRIS.Framework.CrossCutting.Logging.UserNameExtension.UserNameMiddleware.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at iRIS.Framework.CrossCutting.Logging.ProcessKeyExtension.ProcessKeyMiddleware.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at CorrelationId.CorrelationIdMiddleware.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame1.<RequestProcessingAsync>d__2.MoveNext()
This is reproduced only in load perfomance with up 200 parallel users.
Has anyone information about this bug?

I believe this is the same bug as reported in #1452. I have submitted a PR that would fix it but it has not been responded to.