Job timeout isn't throwing an exception

Laravel Version: 7.18.0
PHP Version: 7.4.2
Database Driver & Version: /

Description:
When a long job has a specific timeout, then no exception is thrown. There is only an exception if the job doesn't have a timeout but for example Horizon has a timeout. Therefore if you say a job can only have maximum 1 exception but can try 10 times but the timeout for one job run is 100s, then it will try 10 times for 100s every time. I expect an exception to be thrown because all the retries will fail because of the timeout for this long job.
Real life example: When using cache locks in job to release a job, the lock can't be released because there's no exception and the "failed" method is not called so you can't cleanup the lock. The second try for the job, the lock is still set but you can retrieve it anymore because that retried job isn't the owner. Therefore job will still retry x amount of times, then fails, and then forceReleased the lock. Not the expected behaviour.
Steps To Reproduce:

Create job with a sleep for 20s
Set the job timeout to 10s
Set amount of tries to 6
Set amount of maximum exceptions to 1
Dispatch the job
60s will pass and the job will eventually fail after 6 tries with MaxAttemptsExceededException

I guess this is a bug, because the failed job will never be successful for the timeout that has been set to the job. Now the function markJobAsFailedIfWillExceedMaxAttempts has been called by registerTimeoutHandler (in src/Illuminate/Queue/Worker.php). The name of called function (markJobAsFailedIfWillExceedMaxAttempts) indicates it should only check if it exceeds the max attempts. Therefore instead of calling this method it should throw a new 'jobTimedOutException' (or something similar) so the user is in control to catch it or to let the job fail and look at the tries and maximum exceptions, the default behaviour of Laravel.
I would expect the same behaviour as when Horizon-process has been killed by the specified timeout of the worker. Then the default Laravel behaviour is working fine.
If wanted, I can submit a PR with a proposal.

So... what were you expecting to happen? I'm not clear on that.
Were you expecting it to only attempt once because of "maximum exceptions"?

Not clear what you expect here. You want to consider a job timeout as an exception and fail right away since you have maxExceptions=1?

Sorry for the misunderstanding. The expectation was the same behaviour like hitting the timeout only in horizon/queue command. There it will fail after one long attempt that is hitting the timeout of the process. So yes, failing because of the maxExceptions=1.
The registerTimeoutHandler uses the function timeoutForJob on the Worker-class:
protected function timeoutForJob($job, WorkerOptions $options)
{
        return $job && ! is_null($job->timeout()) ? $job->timeout() : $options->timeout;
}

But the behaviour is different in the end. When horizon kills the process, you get the wanted exception right after hitting the timeout (so no additional retries because of the maxExceptions variable set to 1) and the failed method on the job is called (when it exists). The latter isn't happen when set a timeout on the job that is smaller then horizon timeout (like advised in the documentation).

Sorry I still don't understand. What do you mean by the Horizon timeout?
What is the bug here? Is it that the job retries while you have maxExceptions=1?

In Horizon you can set a timeout for the supervisor. If no job timeout is specified, the timeout set by the worker (Horizon) is used in the function timeoutForJob (see above). The difference in behaviour is, that on that moment when there's a timeout at "horizon/queue" level, an exception is thrown (the expectation), but not when the job itself is timed out when the job has a timeout for itself. (not correct behaviour). Therefore you can't release a cache lock or something else (in failed method) when you're job has been timed out because of the timeout set in the job-class.
In my opinion instead of calling the markJobAsFailedIfWillExceedMaxAttempts in in src/Illuminate/Queue/Worker.php:162 it should it should throw a timeout exception so as an develop you have control of the timeout of your job.
In the documentation https://laravel.com/docs/7.x/queues#cleaning-up-after-failed-jobs :

You may define a failed method directly on your job class, allowing you to perform job specific clean-up when a failure occurs. This is the perfect location to send an alert to your users or revert any actions performed by the job. The Exception that caused the job to fail will be passed to the failed method.

Problem is the "cleanup" can only be done after the amount of retries in case of a timeout due to job timeout.
If it's "work as intended". How can you release a cache-lock if the job is running too long, so it goes in timeout. Without waiting to al its retries happened (because maxExceptions is not taken into account for a timeout)

The failed() method is only called when the job runs out of tries, this is the expected behaviour. You can clear the lock when the job starts again to use a backoff that pushes the job back to queue to be retried after the lock expires.

Why is there then a change in behaviour if no timeout is set? When the supervisor kills the process by hitting the timeout, a retry isn't happen.
Can you give an example for the cache lock. Our cache lock hasn't an expire time. We use it to fulfill the jobs in sync for specific client and release it to the queue if lock is already used by other job. But when the job with the lock hits its own timeout, then retries can't require the lock. This is also not wanted because the job hits the timout once, and will timeout all the other times too. How can this be managed? If timeout happend, it shouldn't retry again and use resources.

I think you're confusing things. I suggest you try post a sample code on the forums and see if people can help explain what's going on in your job.
As for Horizon, the timeout works the same as in a regular worker. When a timeout happens the worker will exit but the job is still in queue and is going to be retried if you have tries available.

It would be a pretty huge change of behavior for us to start calling failed() for every timeout? We have never before called failed multiple times for the same job (once for each timeout if it times out 3 times)...

Converting to discussion pending inactivity.


ADD privacry policy  && Terms and conditions page to the website

Assigned

@rishicds #144 #142 Already Done
@shubhagarwal1

@rishicds #144 #142 Already Done @shubhagarwal1 Don't waste time on things already done I just saw the issue and thought maybe You both Forgot to check closed PRs so.

Hey @inkerton Thankyou so much for bringing this to my attention, will make it more organised then

@rishicds #144 #142 Already Done @shubhagarwal1 Don't waste time on things already done I just saw the issue and thought maybe You both Forgot to check closed PRs so.

Hey @inkerton Thankyou so much for bringing this to my attention, will make it more organised then, i will work on how to apply and who can apply page.


No  download

Update your module.json file to include a download location. Right now no one can download and use this library.

Thanks for letting me know. I will update it after I get off work.

It's fixed now. Enjoy!


[test] Some lines are skipped by coverage test after upgrading to 2.8.0

Steps to Reproduce

Flutter project + simple freezed Union class

Add this line on pubspec.yaml dependencies
  freezed_annotation:

Add this line on pubspec.yaml dev_dependencies
  build_runner:
  freezed:

Add these code on main.dart file
import 'package:freezed_annotation/freezed_annotation.dart';

part 'main.freezed.dart';

@freezed
class Union with _$Union {
  const factory Union(int value) = Data;
  const factory Union.loading() = Loading;
  const factory Union.error([String? message]) = ErrorDetails;
}

Generate Freezed classes
flutter pub run build_runner build --delete-conflicting-outputs -v

Add test group on widget_test.dart
  group('union', () {
    test('default', () async {
      expect(const Union(1), const Union(1));
    });
    test('loading', () async {
      expect(const Union.loading(), const Union.loading());
    });

    test('error', () async {
      expect(const Union.error(), const Union.error());
    });
  });

Run Tests with Code Coverage on 2.8 and 2.5.3

flutter test --coverage
genhtml coverage/lcov.info -o coverage
open coverage/index.html

See the difference - attaching screenshot for reference

Expected results:  v2.5.3
code coverage should not have red lines for this union class as those lines are covered under test

Actual results:  v2.8
code coverage says these union class code is not covered under test

Reproducible on latest stable and master but not stable 2.5.3.

screenshots

2.5.3
2.8.0 && master

code samples
main.dart
import 'package:flutter/material.dart';

import 'package:freezed_annotation/freezed_annotation.dart';

part 'main.freezed.dart';

@freezed
class Union with _$Union {
  const factory Union(int value) = Data;
  const factory Union.loading() = Loading;
  const factory Union.error([String? message]) = ErrorDetails;
}

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

test/widget_test.dart
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';

import 'package:some/main.dart';

void main() {
  testWidgets('Counter increments smoke test', (WidgetTester tester) async {
    // Build our app and trigger a frame.
    await tester.pumpWidget(const MyApp());

    // Verify that our counter starts at 0.
    expect(find.text('0'), findsOneWidget);
    expect(find.text('1'), findsNothing);

    // Tap the '+' icon and trigger a frame.
    await tester.tap(find.byIcon(Icons.add));
    await tester.pump();

    // Verify that our counter has incremented.
    expect(find.text('0'), findsNothing);
    expect(find.text('1'), findsOneWidget);
  });

  group('union', () {
    test('default', () async {
      expect(const Union(1), const Union(1));
    });
    test('loading', () async {
      expect(const Union.loading(), const Union.loading());
    });

    test('error', () async {
      expect(const Union.error(), const Union.error());
    });
  });

}

logs
flutter test --coverage logs
coverage_stable_2_5.txt
coverage_stable_2_8.txt
genhtml coverage/lcov.info -o coverage logs
gen_rep_2_5.txt
gen_rep_2_8.txt
NB: master produces the same results as latest stable

flutter doctor -v
[✓] Flutter (Channel unknown, 2.5.3, on macOS 11.6 20G165 darwin-arm, locale en-GB)
    • Flutter version 2.5.3 at /Users/nexus/dev/sdks/flutter_rc/flutter
    • Upstream repository unknown
    • Framework revision 18116933e7 (8 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.11.2

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

[✓] Android Studio (version 2020.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 11.0.10+0-b96-7249189)

[☠] IntelliJ IDEA Community Edition (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
    ✗ FormatException: Unexpected extension byte (at offset 5)
    • #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1788:7)
      #1      Utf8Decoder.convert (dart:convert/utf.dart:318:42)
      #2      InputStream.readString (package:archive/src/util/input_stream.dart:199:30)
      #3      new ZipDirectory.read (package:archive/src/zip/zip_directory.dart:40:30)
      #4      ZipDecoder.decodeBuffer (package:archive/src/zip_decoder.dart:19:30)
      #5      ZipDecoder.decodeBytes (package:archive/src/zip_decoder.dart:14:12)
      #6      IntelliJPlugins._findPluginXml (package:flutter_tools/src/intellij/intellij.dart:130:44)
      #7      IntelliJPlugins._readPackageVersion (package:flutter_tools/src/intellij/intellij.dart:141:40)
      #8      IntelliJPlugins.validatePackage (package:flutter_tools/src/intellij/intellij.dart:63:35)
      #9      IntelliJValidator.validate (package:flutter_tools/src/intellij/intellij_validator.dart:103:15)
      #10     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
      #11     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
      #12     _rootRun (dart:async/zone.dart:1428:13)
      #13     _CustomZone.run (dart:async/zone.dart:1328:19)
      #14     _runZoned (dart:async/zone.dart:1863:10)
      #15     runZonedGuarded (dart:async/zone.dart:1851:12)
      #16     runZoned (dart:async/zone.dart:1782:12)
      #17     asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
      #18     Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:200:9)
      #19     Doctor.diagnose (package:flutter_tools/src/doctor.dart:304:47)
      #20     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:47)
      #21     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1274:12)
      <asynchronous suspension>
      #22     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1125:27)
      <asynchronous suspension>
      #23     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #24     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
      <asynchronous suspension>
      #25     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
      <asynchronous suspension>
      #26     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #27     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
      <asynchronous suspension>
      #28     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
      <asynchronous suspension>
      #29     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #30     main (package:flutter_tools/executable.dart:92:3)
      <asynchronous suspension>

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 7515F01A-C1B6-456E-8559-8D2383D3719D • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 11.6 20G165 darwin-arm
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 96.0.4664.93

! Doctor found issues in 1 category.

[✓] Flutter (Channel stable, 2.8.0, on macOS 11.6 20G165 darwin-arm, locale en-GB)
    • Flutter version 2.8.0 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cf44000065 (2 days ago), 2021-12-08 14:06:50 -0800
    • Engine revision 40a99c5951
    • Dart version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

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

[✓] Android Studio (version 2020.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 11.0.10+0-b96-7249189)

[☠] IntelliJ IDEA Community Edition (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
    ✗ FormatException: Unexpected extension byte (at offset 5)
    • #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1789:7)
      #1      Utf8Decoder.convert (dart:convert/utf.dart:318:42)
      #2      InputStream.readString (package:archive/src/util/input_stream.dart:207:30)
      #3      new ZipDirectory.read (package:archive/src/zip/zip_directory.dart:40:30)
      #4      ZipDecoder.decodeBuffer (package:archive/src/zip_decoder.dart:19:30)
      #5      ZipDecoder.decodeBytes (package:archive/src/zip_decoder.dart:14:12)
      #6      IntelliJPlugins._findPluginXml (package:flutter_tools/src/intellij/intellij.dart:130:44)
      #7      IntelliJPlugins._readPackageVersion (package:flutter_tools/src/intellij/intellij.dart:141:40)
      #8      IntelliJPlugins.validatePackage (package:flutter_tools/src/intellij/intellij.dart:63:35)
      #9      IntelliJValidator.validate (package:flutter_tools/src/intellij/intellij_validator.dart:103:15)
      #10     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
      #11     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
      #12     _rootRun (dart:async/zone.dart:1428:13)
      #13     _CustomZone.run (dart:async/zone.dart:1328:19)
      #14     _runZoned (dart:async/zone.dart:1863:10)
      #15     runZonedGuarded (dart:async/zone.dart:1851:12)
      #16     runZoned (dart:async/zone.dart:1782:12)
      #17     asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
      #18     Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:197:9)
      #19     Doctor.diagnose (package:flutter_tools/src/doctor.dart:301:47)
      #20     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:53:47)
      #21     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1290:12)
      <asynchronous suspension>
      #22     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1140:27)
      <asynchronous suspension>
      #23     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #24     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
      <asynchronous suspension>
      #25     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
      <asynchronous suspension>
      #26     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #27     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
      <asynchronous suspension>
      #28     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
      <asynchronous suspension>
      #29     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #30     main (package:flutter_tools/executable.dart:94:3)
      <asynchronous suspension>

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 7515F01A-C1B6-456E-8559-8D2383D3719D • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 11.6 20G165 darwin-arm
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 96.0.4664.93

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.6.0-12.0.pre.984, on macOS 11.6 20G165 darwin-arm, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.984 at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6b51924de3 (17 hours ago), 2021-12-09 16:49:10 -0500
    • Engine revision 2516ea636d
    • Dart version 2.16.0 (build 2.16.0-85.0.dev)
    • DevTools version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

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

[✓] Android Studio (version 2020.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 11.0.10+0-b96-7249189)

[☠] IntelliJ IDEA Community Edition (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at
      https://github.com/flutter/flutter/issues.
    ✗ FormatException: Unexpected extension byte (at offset 5)
    • #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1789:7)
      #1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
      #2      InputStream.readString (package:archive/src/util/input_stream.dart:207:30)
      #3      new ZipDirectory.read (package:archive/src/zip/zip_directory.dart:40:30)
      #4      ZipDecoder.decodeBuffer (package:archive/src/zip_decoder.dart:19:30)
      #5      ZipDecoder.decodeBytes (package:archive/src/zip_decoder.dart:14:12)
      #6      IntelliJPlugins._findPluginXml (package:flutter_tools/src/intellij/intellij.dart:130:44)
      #7      IntelliJPlugins._readPackageVersion (package:flutter_tools/src/intellij/intellij.dart:141:40)
      #8      IntelliJPlugins.validatePackage (package:flutter_tools/src/intellij/intellij.dart:63:35)
      #9      IntelliJValidator.validate (package:flutter_tools/src/intellij/intellij_validator.dart:103:15)
      #10     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
      #11     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
      #12     _rootRun (dart:async/zone.dart:1426:13)
      #13     _CustomZone.run (dart:async/zone.dart:1328:19)
      #14     _runZoned (dart:async/zone.dart:1861:10)
      #15     runZonedGuarded (dart:async/zone.dart:1849:12)
      #16     runZoned (dart:async/zone.dart:1780:12)
      #17     asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
      #18     Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:198:9)
      #19     Doctor.diagnose (package:flutter_tools/src/doctor.dart:302:47)
      #20     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:48)
      #21     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1320:12)
      <asynchronous suspension>
      #22     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1161:27)
      <asynchronous suspension>
      #23     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #24     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
      <asynchronous suspension>
      #25     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
      <asynchronous suspension>
      #26     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #27     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
      <asynchronous suspension>
      #28     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
      <asynchronous suspension>
      #29     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #30     main (package:flutter_tools/executable.dart:94:3)
      <asynchronous suspension>

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 7515F01A-C1B6-456E-8559-8D2383D3719D • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 11.6 20G165 darwin-arm
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 96.0.4664.93

! Doctor found issues in 1 category.

The change in behavior started with https://github.com/dart-lang/sdk/commit/32914654bd3a2a927347ab5019f3c7f20f49b337
@alexmarkov

It looks like we should ignore redirecting factories in the source coverage reports, because front-end replaces calls to redirecting factories with calls to their targets.

The fix landed in Dart SDK: https://github.com/dart-lang/sdk/commit/d950043abde92f73492d2ca29805ac228c9e2fcc. Please give it a few days to roll into Flutter.

The fix rolled into Flutter in https://github.com/flutter/flutter/commit/77402ce59426d4c4cd726ca2e3da943f0e6a1803.


Onboarding of Renovate

What does this do?

What does this do?

Allows the usage of automatic updates via Renovate. Currently mostly for auto-merging updates to Github Actions.


feat(models): make DeploymentLog explicitly inheritable

fix #199
This pr enables SQLAlchemy polymorphism to allow outside use (such as tdp-server), to cleanly inherit from this table and enrich it with more data.

Closing this PR


Update README.md

Greetings from the Netlify Docs team!
I’m proposing a small update to your README. The goals:

Ensure that users learn how to install through the Netlify UI
Align it with some recent changes we’ve made to our file-based installation instructions for Build Plugins

Feel free to edit and merge as you see fit.

Thanks again :)


Should NOOP in the form of ArrowFunctionExpression be better than FunctionDeclaration?

description
NOOP in rattail is using FunctionDeclaration. But I find the same NOOP in Vue and Vueuse is using ArrowFunctionExpression. So should NOOP in the form of ArrowFunctionExpression be better than FunctionDeclaration?

Thank you for your explanation. ♥


Fix quickReload

This does exactly the same.

Maybe, but now code more consistent. Lets keep Osiris beauty :smile:


feat: create component for rendering page title for use cases page

This PR:

adds a new component for handling page titles in the use case pages
Updates all the use cases pages to use the component

Steps to test

Open any of the pages in the use case section
See the title on the tab, it must match the title of the page

Before this PR

After this PR

Hi @xmulligan @hacktivist123, I believe you can add metadata for pages by using the gatsby Head function instead of react-helmet. Please see the example here.

Hello @vannyle you're absolutely correct and it looks like I over-engineered the solution, thanks for catching that. I have not written Gatsby in a while so I forgot Gatsby has this inbuilt already. I have gone ahead to make the required changes in my most recent PR, kindly let me know what you think.


Refactor PutObject API calls to add context and additional metadata.

Fixes #700, #747, #759

Add additional Api calls PutObjectWithContext, GetObjectWithContext,
FPutObjectWithContext and FGetObjectWithContext to allow request cancellation.

Remove PutObjectWithSize,PutObjectStreaming,PutEncryptedObject,PutObjectWithMetadata
calls and fold into a single PutObject call which accepts a pointer to PutObjectOptions
struct. PutObjectOptions struct allows user to enter custom metadata, Content-Encoding,
Cache-Control, Content-Type and Content-Disposition headers, configure number of threads
for multipart PutObject calls, and set Encryption materials module to encrypt data.

Change FPutObject API signature to add additional parameter - a pointer to PutObjectOptions struct.

Number of workers used in multipart Put operation is now configurable by setting the number of threads as an optional field in the PutObjectOptions struct.

@vadmeste  and @harshavardhana , this needs reviews.

One suggestion is

Add additional Api calls PutObjectWithContext, GetObjectWithContext,
FPutObjectWithContext and FGetObjectWithContext to allow request cancellation.
Remove PutObjectWithSize,PutObjectStreaming,PutEncryptedObject,PutObjectWithMetadata
calls and fold into a single PutObject call which accepts a pointer to PutObjectOptions
struct. PutObjectOptions struct allows user to enter custom metadata, Content-Encoding,
Cache-Control, Content-Type and Content-Disposition headers, configure number of threads
for multipart PutObject calls, and set Encryption materials module to encrypt data.

^^ This paragraph can be worded a bit better.

Pass pointer to PutObjectOptions struct as argument to FPutObject call.
This is a not a commit body worthy message can can be fixed.

Core API methods PutObject, NewMultipartUpload, PutObjectPart and PutObjectPartWithMetadata
signatures have changed.
This can be moved above.

Remove go 1.5,1.6 from Travis. Add 1.9

We can say Deprecated support for Go versions 1.5.x, 1.6.x,  Add support for 1.9.x

@harshavardhana, reworded commit message.

@vadmeste, updated the PR with your suggestions.Could you please review?


double API key , resolved in swagger-js but not here

This issue
https://github.com/swagger-api/swagger-js/pull/633
is not updated

I have no idea what is being requested.  Can you give more details?  As for "resolved in swagger-js but not here", swagger-tools doesn't use swagger-js.  The only thing I can gather is that you want the bundled swagger-ui updated to reflect the change you linked against?

I've updated the swagger-ui shipped with swagger-tools.  That's the best I can do without anymore information.  This will be in the next release.

<EMAIL_ADDRESS>is released with this fix in it.


Proposal: Include a SWAP widget by default

I wrote one myself but it would probably be a good idea to include it by default folloding the specification of the memory widget as it is something quite core.
    "custom/swap": {
        "interval": 5,
        "on-click": "swaymsg exec \\$term_scratch htop",
        "format": " {}%",
        "tooltip": true,
        "tooltip-format": "4.1Gb used",
        "exec": "free | grep 'Swap' | awk '{t = $2; f = $4; printf(\"%.0f\", (t/t))}'"
    }

tooltip-format doesn't seem to accept a command, like I could do in exec, which makes hard for me to edit it in a simple way.

    "memory": {
        "interval": 5,
        "format": " {percentage}%  {swapPercentage}%",
        "tooltip-format": " {used}/{total}\n {swapUsed}/{swapTotal}",
        "states": {
            "warning": 70,
            "critical": 90
        },
        "on-click": "swaymsg exec \\$term_scratch htop"
    },

Hey codeswhite notified me you are implementing this. Thank you so much!!
Only once thing, decimals need to be limited to 2 positions, to behave consistently with the rest of widgets.

I see you tried to do this, but for some reason position limit is not been applied as it should.
auto total_ram_gigabytes = memtotal / std::pow(1024, 2);
auto total_swap_gigabytes = swaptotal / std::pow(1024, 2);

Ok my bad, code told me the right format:
    "memory": {
        "interval": 5,
        "format": " {percentage}%  {swapPercentage}%",
        "tooltip-format": "  {used:.1f}Gb / {total:.1f}Gb\n {swapUsed:.1f}Gb / {swapTotal:.1f}Gb",
        "states": {
            "warning": 70,
            "critical": 90
        },
        "on-click": "swaymsg exec \\$term_scratch htop"
    },


Fix KVSSINK State Transition Deadlock

Move parent state transition to be in between upward and downward element transitions as per GStreamer documentation.
Tested using kvssink_gstreamer_sample to successfully ingest stream and cleanly exit upon sigint with videotestsrc, filesrc, and rtspsrc sources.

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (486cb35) 16.34% compared to head (04017ad) 16.38%.

:exclamation: Current head 04017ad differs from pull request most recent head 3002def. Consider uploading reports for the commit 3002def to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1102      +/-   ##
===========================================
+ Coverage    16.34%   16.38%   +0.04%
===========================================
  Files           51       51
  Lines         6846     6852       +6
===========================================
+ Hits          1119     1123       +4
- Misses        5727     5729       +2

Files
Coverage Δ

src/gstreamer/gstkvssink.cpp
0.00% <0.00%> (ø)

... and 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


noms tutorial for nodejs developers

Is there any tutorial complete available for nodejs developers?
Is it possible to replace MongoDB with noms?
Is data aggregation possible with noms?
Is noms production ready?

On Fri, Mar 3, 2017 at 7:20 AM, Zafar Ansari<EMAIL_ADDRESS>wrote:

Is there any tutorial available for nodejs developers?

There is this: https://github.com/attic-labs/noms/blob/master/doc/js-tour.md
But it was removed from the main page because we are significantly
reworking the way that JS interacts with Noms.  Basically, we are going to
remove the Noms/JS implementation and have JS talk to Go via GraphQL.
It would also be possible to embed the Go implementation of Noms as a
native module for Node and build your own bindings, but that would be a
large amount of work.

Is it possible to replace MongoDB with noms?

Theoretically yeah. But...

Is noms production ready?

No.

Is data aggregation is possible with noms?—

That is what Noms does best. Can you provide more detail of what you are
trying to do?

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/attic-labs/noms/issues/3247, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAE6BJzS1n0rL8GdKHppW4u3XALnpt9Sks5riC_MgaJpZM4MSYXj
.

I am working on a Nodejs/VueJs/MongoDB project (A subscription based marketplace for office supplies). I am looking for a better option to replace MongoDB, Why?
No support for ACID transactions.
Limited support for relationships between collections.
Aggregation pipeline is insufficient.

Can you provide more detail of what you are
trying to do?

I am aggregating Subscriptions/Orders /Sales data from different collections for a Dashboard page.
If GraphQL is the primary QL to access a noms db from JavaScript then:

Will noms provide a client module like Apollo-client? http://dev.apollodata.com/
Is it possible to write custom GraphQL query/mutations at the back-end (NodeJS)?
How authentication/authorization is performed at the DB level for GraphQL requests initiating from from-end.

I don't mind working on bleeding edge. A comprehensive GraphQL tutorial/guide showing how to store, index, query and aggregate data stored in nomsDB will greatly help developers new to noms.

We've just removed the noms JS implementation, perhaps file separate issues on graphql?


feishin: 0.4.1 -> 0.5.1

Description of changes
Feishin: 0.4.1 -> 0.5.1
Changelog:
https://github.com/jeffvli/feishin/releases/tag/v0.5.1

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 265186 at 3fd47fc9 run on aarch64-darwin 1

1 package built successfully:

feishin


Add --yes option to run non-interactively

Fix #56

Codecov Report

Merging #58 into master will increase coverage by 6.4%.
The diff coverage is 90.32%.

@@            Coverage Diff            @@
##           master      #58     +/-   ##
=========================================
+ Coverage   81.81%   88.22%   +6.4%
=========================================
  Files          12       12
  Lines         407      433     +26
  Branches       51       52      +1
=========================================
+ Hits          333      382     +49
+ Misses         53       29     -24
- Partials       21       22      +1

Impacted Files
Coverage Δ

src/towncrier/test/test_cli.py
100% <100%> (ø)
:arrow_up:

src/towncrier/__init__.py
83.6% <100%> (+15.27%)
:arrow_up:

src/towncrier/_git.py
72% <40%> (+50.26%)
:arrow_up:

src/towncrier/_writer.py
90.47% <0%> (+14.28%)
: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 e07a7b7...2718891. Read the comment docs.


getting Warning: Executable "get" after upgrading to flutter 2.8.0

running flutter pub global activate get_cli is giving me the below error
Warning: Executable "get" runs "bin/get.dart", which was not found in get_cli.
Warning: Executable "getx" runs "bin/get.dart", which was not found in get_cli.
and I am not able to use get or getx commands

dart pub global activate get_cli


pagedpageview can't scroll in desktop web

mobile web is ok

hi @nicelogic, I've tested it, and it works just fine for me. Can you provide some code?

hi, @caiombueno
the default behavior for scrolling in a PageView widget is to respond to touch events, not mouse drag events. However, starting from Flutter 2.5.0, the framework introduced device-based dragging for scrolling to better match platform expectations. By default, dragging to scroll with a mouse is disabled on desktop.
so  i need to modify the scroll behavior of my application, it's my responsibility
i will close this issue


List of Open and Closed Issues

This list has been updated for commit e7df513 on 28MAY20, see individual listings for last commit where testing occurred.
Issues

2020-05-28 - tc1514 M2SS "isTRUE(time_min_range <= lastttime)" execution error introduced with e7df513 (#250)

last tested e7df513

2020-05-21 tc131 & tc133 M1SS + tc1514 M2SS "tau < orig_time..." execution error with actual time introduced with 786bf37 (#249)

blocked by (#250)
last tested 786bf37

2020-05-14 tc1513 M2SD weight-normalised parameters provided when NORMBSU is not valid
(#247)

last tested e7df513

2020-05-14 tc119 M1SD KEL NA for unknown reason when OPTIMIZEKEL == 1 for two profiles (#246)

last tested e7df513

2020-05-13 tc158 M1SS AUCTAU2 not matching partial AUC for same time period (#244)

blocked by (#250)
last tested f5bfc3a

2020-05-12 tc1510_M1SD-1 testcase variant fails with "interpolate_lin" error (#238)

last tested e7df513

2020-05-09 tc1510_M1SD CTOLDesti parameter not generated (#233)

last tested e7df513

2020-05-08 tc1513 M2SD unit_conversion warning messages falsely lists columns as missing from mct/data (#232)

last tested e7df513

2020-04-23 Add TIME UNIT of "H" to option of "HR" in unit_conversion.R to avoid warning messages that "H" is inappropriate. (#230)

candidate for closure
last tested 8e304f8

2020-04-17 tc1518_M4SS - concerning warning message from run_computation (#229)

last tested e7df513

2020-04-07 tc157 incorrect DOSE units doesn't always trigger warning and continues to produce parameter data (#225)

last tested ee41560

2020-04-06 tc015 M3SD mct$DOSEOUTPUTUNIT does not influence unit conversion (#222)

last tested ed0aed3

2020-04-03 tc111 M4 TMAXRATE selecting wrong interval when RATE is NaN (#206)

last tested e7df513

2020-04-03 tc111 M4 RATEN returning NaN instead of NA when mct$ACTENDTIME <= mct$ACTTIME (#205)

last tested e7df513

2020-04-02 tc1572 M4SS - CONC and CONCTIME, parameter outputs not provided in results from run_computation (#202)

last tested e7df513
linked with (#239)

2020-04-01 tc155 M1SS computation engine doesn't generate error when duplicate time values appear with different concentration values (#201)

last tested f5bfc3a

2020-04-01 tc152 M1SD TLAG values are incorrect (#199)

last tested  9994c29
linked with (#199, #220, #221, #240)

2020-02-06 tc119 OPTIMIZEKEL results not consistent with generated FLGEXKEL values, generated parameters nor FLGACCEPTKELCRIT settings (#173)

last tested 6fd6d56

2020-01-31 FLGEXKEL computation error when using OPTIMIZEKEL in five testcases introduced with a6cb6ff (#169)

last tested a1fb2f9

Performance characteristics for computation engine execution not acceptable (#159)
2020-01-17 tc125 M1SS fails to find TAU/TOLD values in either input concentration dataset or flags dataset (#158)

potential data issue

2020-01-07 tc120 M3SS missing DOSE2U definition causes crash (#149)

last tested 8c3ed54

2019-12-18 tc113 M3SD doesn't generate CMINDN (#124)

last tested ed0aed3

Documentation

TAUi/TOLDi sourced from FLAGS if present and parameterset=="PARAMETERDISPLAYLIST" (#139)  - documentation
2019-12-20 Running M4 methods with OPTIMIZEKEL == 1 results in computation error (#135) - documentation
Updated Computation Engine Specification Document in master branch with definition of CMINDN (#125) -  documentation
Updated definitions of CENDINF/TENDINF in the documentation in master branch (#122) - documentation
2019-12-17 openNCA commit 42ede0d code review (#119)  - documentation
2019-12-13 Documentation of partial AUC handling (#115)  - documentation
ACCEPTANCE FLAGS must be incorporated into PARAMETERDISPLAYLIST, PARAMETERLIST for them to be included in output (#75) - documentation
new MCT item: DATADISPLAYLIST (#1) - documentation

Closing this as it has served its purpose. Can reopen if it is needed again in the future for tracking.


Separate test cases by a new line.

As you can see on screenshots it was quiet hard to maintain each test case separately. But now it is more readable.

P.S. rename local variable name to more applicable.

Thanks! 👍

Coverage increased (+0.02%) to 93.67% when pulling a3e76a308a687537ca66fccbbdd6d33597228647 on Abrasha:fix/local-variable-names into b155e6461adb72087b6f575f4e01f8ca1e624a30 on apache:master.


请问什么时候可以兼容spring cloud gateway呢？

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

English only. Requirement only accept when some contributor wants it.

spring cloud gateway 现在不兼容


Work around kubectl bug in 1.22

By default, Kubectl does not exit properly after long-running commands
like kubectl run starting in 1.22
(https://github.com/kubernetes/kubectl/issues/1098). This change
disables the new feature to work around the problem, as suggested in the
issue itself.
Tested: hierarchical network policy test hangs without this change,
passes with it.

/assign @rjbez17


vuex-router-sync@next dependencies

vuex-router-sync@next depends on RC verions of vuex and vue-router
Can it support current versions of both?

done.


Include all SSDP data in discovery info

Breaking Change:

Structure and constant names for SSDP discovery data has changed. All UPnP device description data is now made available, but the previously available host and port no longer are -- they can be obtained by urlparsing the ATTR_SSDP_LOCATION value if needed. Consult homeassistant.components.ssdp for the new attribute name constants.
Description:
Some data is missing from SSDP discovery info, not sure why all of it wouldn't be passed on. See #28196 for some more info and an alternative PR.
Related issue (if applicable): #28196
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[ ] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

#28196 merged, but I'll leave this open for a bit in case people find it desirable.

Ouch, will do -- I think those were kind of bugs to begin with as the ssdp steps should have used the same named constants from ssdp, not core const.

Ok, should be in order now. I went a bit wild and changed attribute names to ATTR_UPNP_* while at it for clarity. But did that in a separate commit, if that's seen too much, it can be backed out. But I think it's fine as this is already a breaking change for external users before that, might as well go all the way.

Sorry, I made some changes to the Hue flow. This is ok after merge conflicts resolved.


add a fallback button on the homepage to access the online version of the documentation if the first button with the opds protocol failed !!

see https://github.com/edrlab/thorium-reader/issues/2581

There is no online version for thorium 3 documentation, only support (Faq, keyboard shortcuts and contribute pages).

The deeplink integration is not consistent across platforms and thorium installation method. We have to use it like a bonus but not as the only way to access the opds-feed. Moreover you use an external service called githack.com, this external service can failed, its better to use a clean url, served by the github pages instead.
I don't really understand why, change suddenly the way to read the thorium documentation. I prefer by default read it on a webpage and download the epub if needed, but why force the user to use a complex pipeline to download the epub throw an opds feed, When we know the difficulty to versionning an epub.
When a user download an epub from opds feed there are a cache mechanism to do not download the same epub again, but if the documentation evolve, how the user knows if it read the good documentation. With a web reading, don't worry about that. The readium web reader can be in fact the solution if epub only is keeped.

There are 2 main issues to resolve :

the "documentation" button on homepage (this issue)
https://thorium.edrlab.org/docs/ need to be redirected to https://thorium.edrlab.org/en/docs/ at least


crashing

cant even load a multiplayer game with my friend without crashing everytime i dont have chroma installed and it crahses everytime i start a custom song

Please get a log of the crash, you can get one using SideQuest for example, or get the tombstone file.
Get tombstones for Beat Saber from the Quest

Open SideQuest and goto Manage files on the headset.
Go to the following path sdcard/Android/data/com.beatgames.beatsaber/files/ and there you should see your tombstones
Download them and attach them to this issue.

How to get logs on SideQuest

Click the Run ADB command button on the top right of SideQuest and click logcat
Choose an output folder and press start
Run the game with the Quest connected to your PC, and reproduce the problem you are experiencing wether that be a crash, or other mod failiure.
Once you're done with it, close SideQuest and send the log that just got generated by dragging and dropping it into discord.

I sent everything to discord due to files not being able to attach


:lipstick: Update the input field color coding

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #1676
Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[x] I have added any strings visible on UI components to the strings.xml file
[x] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

Borrowed from https://github.com/opensrp/fhircore/pull/1678
@LZRS thanks for the fix.


Travis integration tests are failing

https://travis-ci.org/eregs/regulations-site/jobs/140047238
I'm betting this stems from defaulting to having the external citations active now. This would probably be a good time to remove the dummy data and do a full set of integration tests using 27 CFR 646 or 479 (both of which parse relatively quickly)

This was resolved with #443


Native pivot table from Qlik not loading

Hello,
We are migrating our mashups from Capabilities API to Nebula.JS, we are using the visualizations from Nebula. The versions of our packages are those:

<EMAIL_ADDRESS>"^3.0.4"
<EMAIL_ADDRESS>"^1.19.1"
<EMAIL_ADDRESS>"^1.25.0"
<EMAIL_ADDRESS>"^1.20.0"
<EMAIL_ADDRESS>"^1.19.6"
<EMAIL_ADDRESS>"^1.0.1"
<EMAIL_ADDRESS>"^3.32.0"

We are not rendering the visualizations on the fly, we are using the id from Qlik to render existing master objects. All the visualizations are working fine except the pivot-table, which we are not able to render and no errors are displaying.
Can you give us some help? We also tried it using stardust  2.x version and is not working.
Thanks,
Pau Garrido

Hi @pau-garrido
If you are still having issue I would advise you to use then nebula.js channel in https://qlikdeveloper.slack.com/ instead. You will gett better discussions and answers there


Species:wikidata hints dropdown became invalid

URL
No response
How to reproduce the issue?
Now, if you select the species:wikidata key for the tree node, now with hints it contains labels [object Object] instead of the necessary hint. Everything was working correctly before
Screenshot(s) or anything else?

Which iD Editor versions do you see the issue on?
Released version at openstreetmap.org/edit
Which browsers are you seeing this problem on?
Chrome

This is a duplicate of #9067. Make sure to check for similar issues using the :detective: search function.


chore(deps): update pubspec.yaml of firebase_core_web. bump web from 0.5.1 to 1.0.0

updating firebase_core_web , web dependency due to dependency constraints

Note that https://github.com/firebase/flutterfire/blob/c0e0c99703ea394d1bb873ac225c5fe3539b002d/packages/firebase_messaging/firebase_messaging_web/pubspec.yaml#L4 in firebase_messaging_web will also need to be updated.

#13191 updating web dependency in all the packages from 0.5.1 to 1.0.0

As you can see in https://pub.dev/packages/web/changelog (and it was explained in already 2 issues)
Require Dart ^3.4.0.

We are not going to drop support for Dart < 3.4.0 right away. If you have an issue with this, you can use
dependency_overrides:
  web: ^1.0.0


[BUG]: Package manager detection could be more precise

dmno version
0.0.21
Steps to reproduce
If you have dangling lockfiles from another package manager, things get complicated

have pnmp-lock.yaml and bunb.lock files in your directory
run dmno init

What is expected?

Error that package managers can't be resolved because there is multiple lockfiles
Maybe query the package.json packageManager field first before going to lockfile detection.

What is actually happening?
It's running the first package manager identified based on lockfile. which in my case was no longer installed
System Info
No response
Any additional comments?
No response

@theoephraim relevant to PR #121

I'm a bit wary of involving the packageManager field, since technically only pnpm and yarn are supported. Although I suppose I could check it as an additional signal and throw an error if we find it doesn't match the others?
One thing that does make things a bit more complicated is that in a monorepo, we could be walking up the folder tree and find multiple lockfiles at multiple levels. I don't think there's a perfect way to know which file is abandoned.
Another signal I can use is process.env.npm_config_user_agent which gets injected by the package managers when running scripts (ex: npm run dev) or for executing dependency binaries (ex: npm exec dmno init, npx dmno init). This of course will not be present if not running something via the package manager (ex: node main.js). Currently I only use this if we did not find any lockfiles.
For now, I'll add the additional check that we did not find 2 lockfiles at the same level before returning. (see https://github.com/dmno-dev/dmno/commit/1a4cd5d0ac3e87da167bc99df3997bfad1731e96)

closing for now - as we did add the additional check. Let us know if you run into another related problem.


Sankey: Failed to execute 'getComputedStyle' on 'Window'

When I deploy the Basic Sankey in a Next.js application, I get the following error:
Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.
    at getCSSVariableValue (misc.js:36:12)
    at getCSSVariableValueInPixels (misc.js:39:17)
    at get bleed [as bleed] (index.js:75:167)
    at Sankey._render (index.js:123:25)
    at Sankey.render (index.js:56:14)
    at SingleContainer._render (index.js:82:19)
    at eval (index.js:63:22)

Reproduction: Link

@asterikx Next.js throws an error because it tries to compile the app on the server side but Unovis doesn't support Server Side Rendering.
Usually workarounds like these make it work. I've tried a few of them today they didn't solve the issue. I'll take a deeper look later and let you know.

@asterikx I've tried to initialize a new Next.js app and Unovis worked there out of the box. You can use that as a temporary solution. I'm still not sure why your example doesn't work even when SSR is disabled.

@rokotyan That's not really an option.
However, I can workaround the issue by passing config.labelFontSize:
https://github.com/f5/unovis/blob/555e78dab536a89224713cf3a3ff4ee4f5565ca1/packages/ts/src/components/sankey/index.ts#L79

@rokotyan  I have another problem with the Sankey component when wrapping it. I'm not sure if it's possibly related to this one.
When the wrapped Sankey is re-rendered it throws an error:
react.js?13db:12 Uncaught TypeError: Cannot read properties of null (reading 'props')
    at arePropsEqual (react.js?13db:12:26)
    at updateMemoComponent (react-dom.development.js?ac89:19329:1)
    at beginWork (react-dom.development.js?ac89:21673:1)
    at HTMLUnknownElement.callCallback (react-dom.development.js?ac89:4164:1)
    at Object.invokeGuardedCallbackDev (react-dom.development.js?ac89:4213:1)
    at invokeGuardedCallback (react-dom.development.js?ac89:4277:1)
    at beginWork$1 (react-dom.development.js?ac89:27451:1)
    at performUnitOfWork (react-dom.development.js?ac89:26557:1)
    at workLoopSync (react-dom.development.js?ac89:26466:1)
    at renderRootSync (react-dom.development.js?ac89:26434:1)
    at performSyncWorkOnRoot (react-dom.development.js?ac89:26085:1)
    at flushSyncCallbacks (react-dom.development.js?ac89:12042:1)
    at eval (react-dom.development.js?ac89:25651:1)

Maybe there is an unbound this in the VisSankey component (or somewhere else in the callstack)?
Link to reproduction.

@asterikx That's a different issue, thanks for reporting. It's fixed in version 1.0.3-beta.3.


Feat  separate message from stack trace

The CTRF Test objects has a message and a trace attribute. According to
the documentation, the message should contain a description of the test
result and the trace should contain the stack trace of a failed test.
The reporter receives the assertion description and the stack trace
intermingled and stores them both, redundantly, in the message and trace
attributes.
This change splits the assert description from the stack trace as shown
stores them separately. Everything above the dashed line is stored in
message while lines below are stored in trace.
```
Error: expect(received).toStrictEqual(expected) // deep equality

- Expected  - 1
+ Received  + 1

@@ -23,11 +23,11 @@
          "isSelected": true,
        },
      ],
      "damper_setup": "damper_1,damper_2",
      "driver": "driver1",
-     "id": 0,
+     "id": 1,
      "isCurrentlyUsedInProfile": true,
      "isIntermediateState": true,
      "isSelectedForAll": false,
      "lap": "LapName1",
      "lap_id": 1,
-------------------------
    at lap-channel-type-table-data-creation.service.spec.ts:185:26
    at zone-testing-bundle.umd.js:409:30)
    at zone-testing-bundle.umd.js:3830:43)
    at zone.js/bundles/zone-testing-bundle.umd.js:408:56)
```

This simplifies processing of both values for later tools when eval-
uating the test results.
Note: I'm totally new to TypeScript, got a short introduction from my co-worker today to be able to start this. Hints on style are welcome, therefore.

Great work for your first contribution in typescript!
Please run the following static analysis checks -
npm run format
npm run lint


AE2 Spatial Dimension Generation Crash

https://gist.githubusercontent.com/Rongmario/aad9fa9e5286bf436744b06815f3d545/raw/512a1c2e95b9e0717c8bdd9a681632309b758e4e/gistfile1.txt

This was with the above setting in AE2's worldgen:

Disabled all ores (charged/normal certus quartz)
Disabled Chest Loot
Disabled Meteor Generation

It's not a world generation crash, it's AE 2 spatial dimension generator crash.

Fixed title

For the record: this is a crash due to AE's very lazy ChunkGenerator code. For me it didn't crash, but on trying to move something to spatial dimension the same Error appeared.
Can be fixed by giving AE2 some proper chunk generator code.

Since this doesn't appear to be fixable in CC, moving to compatibility reports and closing.


Update the "Download" page on zmap.io

https://zmap.io/download.html is now quite out-of-date relative to INSTALL.md.
Related thought: add an automated version comment in INSTALL.md so it is easier to see when it and the web site get out of sync.

We've migrated documentation from the zmap.io website to our Github Wiki. Closing this accordingly.


Webvr fixes

Tested on the oculus rift DK2, WebVR is now supported (both orientation and correctly displaying).
A new requestVRFullscreen is available, this will send the entire canvas to the VR device chosen by the camera.

You should update readme as well :)

WOOHOO!!!!!!!!!!!!!!!!!!!!!!!

Just noticed something might be missing in certain cases.
Fixing!


Update the XSL file for conversion of XML to html

This is one in a string of issues that aims to improve the format of the XML version of the standard name table files, see https://github.com/cf-convention/cf-convention.github.io/issues/457 for background and overview.
With the implementation of #511 Appendix B: New element in XML file header to record the "first published date"  the XLS file governing how the XML standard name table is converted  into the HTML version. The specific reason is that the publication data is now recorded in a different tag, <first_published_date>, than before. The previously used tag, <last_updated> is now used to record exactly what is says.
At the same time, it would be useful to make the minor changes to also display the content of the new <conventions>  tag in the HTML version.

This is the final issue  in a string of issues that aims to improve the format of the XML version of the standard name table files, see https://github.com/cf-convention/cf-convention.github.io/issues/457 for background and overview.
I have now tested the full chain of changes and how the new XML format may look when transformed to HTML. There are some small changes to the XSL stylesheet file that governs the translation from XML to HTML. Before making a PR I just want to share the only small layout change that was not necessary, but maybe useful. The only change is related to the header information, here is a screen clip:

This is just an example, please feel free to comment.
The other mateial change in the format was how duplicate aliases are represented in the XML file. It works out nicely without any changes. This is the result if I search for surface_carbon_dioxide_mole_flux:

These changes look good to me. I agree the new information is useful in the header. Thanks for opening this issue, and for the large amount of careful work you've done on the whole series of them, @larsbarring.


Add requirements.txt file

Hi, could you add a requirements.txt file of the versions of the python packages used for this paper?

I did.
Thank you for your suggestion!


retrofit.dart/generator/pubspec.yaml Retrofit version should be updated/synced/

retrofit_generator dependency retrofit version different than the current retrofit version.
So I can't install latest version both of them.

@iamriajul  Please try generator 1.0.0+1


Make the title more searchable friendly and standard

Thanks!

Thank you for your suggestion. I'm sorry, but we cannot make changes as it needs to be consistent with the notation of the repository.

@taishi-i Thanks for your reply.
I have no means to break your custom. Just to keep with your habit as shown in the hugging face interface:

This name would be more searchable than before.

I apologize. The inconsistency in the naming on the Hugging Face site is due to my mistake. Ideally, I'd like to standardize to this repository name.

I apologize. The inconsistency in the naming on the Hugging Face site is due to my mistake. Ideally, I'd like to standardize to this repository name.

Thanks for your reply, I wonder why we use hyphen-separated cases for repo names, actually, a great portion of repo names do NOT have a hyphen at all, only GitHub website adds hyphens exclusively for HTTP link purposes.


Add support for KHR_materials_clearcoat to gltfio

Here is an example of gltf_viewer after loading the official Khronos clear coat sample asset:

p.s. I should try adding this asset to the model-viewer test suite :)

Thanks for adding support for this extension. I have confirmed that this extension works with gltf-test.


Snippets don't work in Vim Mode

When Vim Mode is enabled, no sinppets are triggered when I type e.g. mk. No Errors in the console either.

After first enabling vim mode, snippets will work after you close & reopen the file you're editing. (Or after you reload Obsidian.) After this, the plugin should continue to work as usual for any new files you open.
Does this work for you?
(It's currently like this because I wasn't able to find a way to add an event listener that fires when the user changes the vim mode setting.)


Add DocC documentation for swiftly

Create a plugin and tool that can generate a CLI reference for swiftly and generate the current latest document.
Organize the help into a GSG (Getting Started Guide), a selection of HOWTOS, and Reference topics. Write an initial version of each.
Create a Swift Package Index metadata file so that swiftly can be submitted there once the documentation is ready.
Update the RELEASING.md file to check the documentation sanity and command-line reference, regenerating it if necessary.

@swift-server-bot test this please

It would be nice to bring this plugin to argument parser for other users too!

This one is highly specialized to suit swiftly at the moment. Perhaps it can be generalized to suit any project in the future.

Are we not able to use the standard docc plugin for generating documentation?

The docc plugin is being used here to generate the documentation. It appears to me that this might be the first time that someone has attempted to generate a command-line reference from the argument parser to docc.

@swift-server-bot test this please

@swift-ci test macOS

@swift-ci test macOS


Add gn build support for crosswalk-linux

BUG=XWALK-3674

The modification in BUILD.gn seems messy,  actually all the modifications is like below:
--------------start  -------------
declare_args() {
build_xwalk = ""
}
if (build_xwalk) {
group("xwalk") {
testonly = true
deps = [
"xwalk:xwalk",
]
}
}
if (!build_xwalk) {
.... the original contents...
}
--------------end --------------
I use the build_xwalk variable to controll whether to build crosswalk  or  upstream targets like  content_shell.
I run the "gn format" command on BUILD.gn because our build server has the format check. that's why it looks messy.

@rakuco @halton @PeterWangIntel Please have a look, thanks.

LGTM， as our offline discussion. Maybe, the splited patch is eaier to be review.

LGTM

A less intrusive approach is to just add a xwalk directory to build/secondary with one or more empty targets with the same name as the ones you want in src/xwalk/BUILD.gn itself. This way, if only chromium-crosswalk is checked out and src/xwalk is not present, the targets in build/secondary will be used, otherwise the real versions in src/xwalk are used instead.

Testing patch series with heke123/chromium-crosswalk@78e49e1 as its head.

See my previous comment about the build/secondary approach. Changing BUILD.gn like that is a complete no-go and totally unmaintainable across rebases.

See my previous comment about the build/secondary approach. Changing BUILD.gn like that is a complete no-go and totally unmaintainable across rebases.

And another, simpler approach, is to just change root_extra_deps in Crosswalk and not do anything in src/BUILD.gn itself.


Augment map state

This PR saves centre and zoom to be consumed by the state definition model in Builder.
Related to https://github.com/CartoDB/cartodb/issues/11846

:+1: thanks 💋


Rails assets uploads

Proposal to add rails assets to s3 by using the precompiled assets in the docker
image. For now, we use only static and frontend as test cases.
The deployment process for static and frontend app is as follows:

a new resource monitors the app image container with tag:
deployed-to-production, when the sha256/digest of the image changes
because a new container image has been deployed in the gov.uk
production environment, a new app deploy happens.
Later, we can filter via semantic versioning later when we integrate fully
the AWS ECR.

The app image already contains the precompiles assets and are
uploaded to S3, we uploaded all the public assets of an app to
<bucket_name>/assets/<app_name>. While there will be only assets
directory in the bucket, this is easier since no S3 rerouting rule
needs to be added.

The task definition uses the sha256/digest rather than the tag.
This can be changed later when we moved to semantic versioning.

Ref:

trello card

Nice.
So you've needed to model docker images as concourse resources, since we need the contents of the image now (previously we just worked out the tag based on the git repo, and then set that in ECS). Rather than running the image, concourse just lets you pull its root filesystem, from where you can just sync the assets to S3 :)
You haven't gone all the way to using images from ECR, because that's an unrelated (and probably hairy) yak shave. I think using the deployed-to-production tag is a bit of a change though - at the moment we use the git hash matching the release_* tag filter. Those tags get created before the deploy to integration (I think). It would be a shame for us to be downstream of production, even temporarily. It looks like there are release_3719 tags in docker hub too, and a release tag which is presumably the latest release - could we use those instead perhaps?

Nice.
So you've needed to model docker images as concourse resources, since we need the contents of the image now (previously we just worked out the tag based on the git repo, and then set that in ECS). Rather than running the image, concourse just lets you pull its root filesystem, from where you can just sync the assets to S3 :)
You haven't gone all the way to using images from ECR, because that's an unrelated (and probably hairy) yak shave. I think using the deployed-to-production tag is a bit of a change though - at the moment we use the git hash matching the release_* tag filter. Those tags get created before the deploy to integration (I think). It would be a shame for us to be downstream of production, even temporarily. It looks like there are release_3719 tags in docker hub too, and a release tag which is presumably the latest release - could we use those instead perhaps?

Thanks. The reasons why I choose the deployed-to-production tag are:

Incomplete tests before a release tag mean we are not sure about the quality of the images. Fewer things to troubleshoot if we go with the Production images for now.
The concourse resource does not understand non semver versioning of the images that we use in docker hub, i.e. release_. This is solved with the ECR images though.


Create a separate requirements file for the CI

Context: The requirements.txt file has packages unpinned. This is contrary to the convention of pinning packages in the requirements.txt file.
Description of the Change: Create a separate requirements.txt (pinned) and requirements-ci.txt (unpinned). This latter is used by the CI.
Benefits: CI environment will behave closely as when installing the package with setup.py
Possible Drawbacks: Version conflicts on (unpinned) dependencies potentially will only appear on CI environment.
Related GitHub Issues: #582

@thisac, following the discussion on issues #582, this is the reply from @antalszava:

Yes! The idea would be to only pin only those packages to a certain version in the requirements-ci.txt file where there is a specific constraint (i.e., SF only works with a certain version of the dependency). The rest of the packages would stay unpinned so that when issuing pip install -r requirements-ci.txt, the latest version for each package is installed by the continuous integration check.

In contrast, in the requirements.txt file we would like to provide the user with a working setup to use Strawberry Fields. We provide a list of dependencies with pinned versions, such that by doing pip install -r requirements.txt, they will get a working combination of dependencies and be able to use Strawberry Fields.

Thanks @sduquemesa! We should update the recently merged .github/workflows/upload.yml file to use pip install -r requirements-ci.txt as well, so that we're testing with the same package versions for release. Looks good otherwise! 💯


[CocoFmtDataset] unexpected keyword argument 'min_gt_size'

when I train P2PNet with command
export GPU=4 && LR=1e-4 && B=2 && WH=(640 640) && CONFIG="TinyPersonV2/p2p/p2p_r50_fpns4_1x_fl_sl1_TinyPersonV2_640" && \
CUDA_VISIBLE_DEVICES=0,1,2,3 PORT=10000 tools/dist_train.sh configs2/${CONFIG}.py $GPU \
--work-dir ../TOV_mmdetection_cache/work_dir/${CONFIG}/trainval${WH[0]}x${WH[1]}_adamlr${LR}_1x_b${B}${GPU}g_coarse/ \
--cfg-options optimizer.lr=${LR} data.samples_per_gpu=${B} \
 data.train.ann_file="data/tiny_set_v2/anns/release/corner/coarse/noise_rg-0-0.25_1/corner_w640_h640/pseuw16h16/rgb_train_w640h640ow100oh100_coarse.json" \
 data.val.ann_file="data/tiny_set_v2/anns/release/rgb_test.json"

I get the following error
Traceback (most recent call last):
  File "/home/yq223369/.local/lib/python3.7/site-packages/mmcv/utils/registry.py", line 51, in build_from_cfg
    return obj_cls(**args)
  File "/disk2/yaoqi/workspace/Det/PointTinyBenchmark/TOV_mmdetection/mmdet/datasets/cocofmt.py", line 98, in __init__
    **kwargs
TypeError: __init__() got an unexpected keyword argument 'min_gt_size'

Is the CocoFmtDataset out-dated? if I comment the 'min_gt_size' in config file, like the following
data = dict(
    samples_per_gpu=1,
    workers_per_gpu=1,
    train=dict(
        # min_gt_size=2,  # add
        type=dataset_type,
        ann_file=data_root + 'anns/release/corner/rgb_train_w640h640ow100oh100.json',
        img_prefix=data_root + 'imgs/',
        pipeline=train_pipeline),
    val=dict(
        type=dataset_type,
        ann_file=data_root + 'anns/release/rgb_valid.json',
        img_prefix=data_root + 'imgs/',
        pipeline=test_pipeline),
    test=dict(
        type=dataset_type,
        ann_file=data_root + 'anns/release/rgb_test.json',
        img_prefix=data_root + 'imgs/',
        pipeline=test_pipeline))

I would get the follow error
 File "/disk2/yaoqi/workspace/Det/PointTinyBenchmark/TOV_mmdetection/mmdet/models/dense_heads/base_dense_head.py", line 54, in forward_train
    losses = self.loss(*loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
  File "/disk2/yaoqi/workspace/Det/PointTinyBenchmark/TOV_mmdetection/mmdet/models/dense_heads/p2p_head.py", line 184, in loss
    assert len(gb) > 0, gt_bboxes
AssertionError: [tensor([[101.8500, 130.5420, 117.8500, 146.5420],
        [239.7760, 117.2900, 255.7760, 133.2900],
        [257.2470, 113.8140, 273.2470, 129.8140],
        [ 36.9550,  43.2810,  52.9550,  59.2810]], device='cuda:2'), tensor([], device='cuda:2', size=(0, 4))]

I guess the 'min_gt_size' means each image should have at least 'min_gt_size(here=2)' points?

Code of P2PNet have been updated and have been tested on coco dataset. You can try to have a run : -)

code related to min_gt_size is showing as following:
    def _filter_imgs(self, min_size=32):
        valid_inds = super(CocoFmtDataset, self)._filter_imgs(min_size)

        # filter image only contain ignore_bboxes or too small bbox
        if self.min_gt_size:
            new_valid_inds, valid_img_ids = [], []
            for i, img_id in enumerate(self.img_ids):
                valid = False
                for ann in self.coco.imgToAnns[img_id]:
                    if 'ignore' in ann and ann['ignore']:
                        continue
                    if ann['bbox'][-1] > self.min_gt_size and ann['bbox'][-2] > self.min_gt_size:
                        valid = True
                if valid:
                    new_valid_inds.append(valid_inds[i])
                    valid_img_ids.append(img_id)
            self.img_ids = valid_img_ids
            valid_inds = new_valid_inds

        print("valid image count: ", len(valid_inds))   # add by hui
        return valid_inds

when it is set, It will filte out the images(pure-background image) only have ignore bbox or bbox whose size is less than 2.

I've run P2PNet training successfully on SeaPerson dataset with the latest code, thanks for your help


Transductive Learning

Adds basic version of pseudolabeling specifically designed for test data. The new argument added is unlabeled_test_data as the transductive setting is sufficiently distinct from the semi-supervised setting, especially as we add shift-detection and other test-data-specific functionality, it will be crucial to have a dedicated argument that makes it clear the resulting models are specifically designed for the test data (rather than any new data).  This also avoids merge conflict with the TabTransformer PR's use of unlabeled_data argument.
Example code:
from autogluon import TabularPrediction as task

label_column = 'class'

train_data = task.Dataset(file_path='https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv')
val_data = train_data[1000:1500]
train_data = train_data.head(500)
test_data = task.Dataset(file_path='https://autogluon.s3.amazonaws.com/datasets/Inc/test.csv')
test_data = test_data.head(5000)
y_test = test_data[label_column]
test_data_nolab = test_data.drop(labels=[label_column],axis=1)

hyperparameters = {'GBM': {},'CAT':{}}  # Just here to ensure quicker run

# Transductive learning w validation data:
predictor = task.fit(train_data=train_data, tuning_data=val_data, unlabeled_test_data=test_data_nolab, label=label_column, hyperparameters=hyperparameters)

# Transductive learning:
predictor = task.fit(train_data=train_data, unlabeled_test_data=test_data_nolab, label=label_column, hyperparameters=hyperparameters)

# Transductive learning w stacking:
predictor = task.fit(train_data=train_data, unlabeled_test_data=test_data_nolab, label=label_column, auto_stack=True, hyperparameters=hyperparameters)

y_pred = predictor.predict(test_data_nolab)
perf = predictor.evaluate_predictions(y_true=y_test, y_pred=y_pred)
predictor.leaderboard(test_data)

## Transductive regression:
label_column = 'age'
y_test = test_data[label_column]
test_data_nolab = test_data.drop(labels=[label_column],axis=1) # delete labels from test data since we wouldn't have them in practice

predictor = task.fit(train_data=train_data, unlabeled_test_data=test_data_nolab, label=label_column, hyperparameters=hyperparameters)
predictor.leaderboard(test_data)

## Transductive multiclass classification:
label_column = 'native-country'
y_test = test_data[label_column]
test_data_nolab = test_data.drop(labels=[label_column],axis=1) # delete labels from test data since we wouldn't have them in practice

predictor = task.fit(train_data=train_data, unlabeled_test_data=test_data_nolab, label=label_column, hyperparameters=hyperparameters)
predictor.leaderboard(test_data)

Job PR-668-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-668/1/index.html

Job PR-668-2 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-668/2/index.html

Job PR-668-3 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-668/3/index.html

Closing this for now, please re-open if updates are made to incorporate with latest AutoGluon


fix illegal char on windows

colon not allowed on windows

hey @gtfierro , did you do a release for this change?


Augeas errors arise when applying yum settings on Cent OS 6 clients

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 4.10.0
Ruby: shippe with Puppet
Distribution: Cent OS 6
Module version: 1.0.0

How to reproduce (e.g Puppet code you use)
Install puppet-yum:
# puppet module install puppet-yum

Assign yum module to all nodes in site.pp on puppetserver:
node default {
    class {yum:}

     file_line { 'yum_proxy':
       path => '/etc/yum.conf',
       line => "proxy=$proxy",
     }
}

Apply yum setting on the client node:
client# cat /dev/null > /etc/yum.conf; puppet agent --verbose --debug -t

What are you seeing
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): Augeas version 1.4.0 is installed
Warning: Augeas[yum.conf_main_keepcache](provider=augeas): Loading failed for one or more files, see debug for /augeas//error output
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): sending command 'set' with params ["/files/etc/yum.conf/main/keepcache", "0"]
Debug: Augeas[yum.conf_main_keepcache](provider=augeas): Closed the augeas connection
Error: /Stage[main]/Yum/Yum::Config[keepcache]/Augeas[yum.conf_main_keepcache]: Could not evaluate: Saving failed, see debug
Debug: Yum::Config[keepcache]: Resource is being skipped, unscheduling all events
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): Augeas version 1.4.0 is installed
Warning: Augeas[yum.conf_main_debuglevel](provider=augeas): Loading failed for one or more files, see debug for /augeas//error output
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): sending command 'set' with params ["/files/etc/yum.conf/main/debuglevel", "2"]
Debug: Augeas[yum.conf_main_debuglevel](provider=augeas): Closed the augeas connection
Error: /Stage[main]/Yum/Yum::Config[debuglevel]/Augeas[yum.conf_main_debuglevel]: Could not evaluate: Saving failed, see debug
Debug: Yum::Config[debuglevel]: Resource is being skipped, unscheduling all events
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): Augeas version 1.4.0 is installed
Warning: Augeas[yum.conf_main_exactarch](provider=augeas): Loading failed for one or more files, see debug for /augeas//error output
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): sending command 'set' with params ["/files/etc/yum.conf/main/exactarch", "1"]
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): Closed the augeas connection
Error: /Stage[main]/Yum/Yum::Config[exactarch]/Augeas[yum.conf_main_exactarch]: Could not evaluate: Saving failed, see debug
Debug: Yum::Config[exactarch]: Resource is being skipped, unscheduling all events
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): Augeas version 1.4.0 is installed
Warning: Augeas[yum.conf_main_obsoletes](provider=augeas): Loading failed for one or more files, see debug for /augeas//error output
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): sending command 'set' with params ["/files/etc/yum.conf/main/obsoletes", "1"]
Debug: Augeas[yum.conf_main_obsoletes](provider=augeas): Closed the augeas connection
Error: /Stage[main]/Yum/Yum::Config[obsoletes]/Augeas[yum.conf_main_obsoletes]: Could not evaluate: Saving failed, see debug
Error: /Stage[main]/Yum/Yum::Config[obsoletes]/Augeas[yum.conf_main_obsoletes]: Could not evaluate: Saving failed, see debug
Debug: Yum::Config[obsoletes]: Resource is being skipped, unscheduling all events
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): Augeas version 1.4.0 is installed
Warning: Augeas[yum.conf_main_gpgcheck](provider=augeas): Loading failed for one or more files, see debug for /augeas//error output
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): sending command 'set' with params ["/files/etc/yum.conf/main/gpgcheck", "1"]
Debug: Augeas[yum.conf_main_gpgcheck](provider=augeas): Closed the augeas connection
Error: /Stage[main]/Yum/Yum::Config[gpgcheck]/Augeas[yum.conf_main_gpgcheck]: Could not evaluate: Saving failed, see debug
Debug: Yum::Config[gpgcheck]: Resource is being skipped, unscheduling all events
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): Augeas version 1.4.0 is installed
Warning: Augeas[yum.conf_main_installonly_limit](provider=augeas): Loading failed for one or more files, see debug for /augeas//error output
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): sending command 'set' with params ["/files/etc/yum.conf/main/installonly_limit", "5"]
Debug: Augeas[yum.conf_main_installonly_limit](provider=augeas): Closed the augeas connection
Error: /Stage[main]/Yum/Yum::Config[installonly_limit]/Augeas[yum.conf_main_installonly_limit]: Could not evaluate: Saving failed, see debug
Debug: Yum::Config[installonly_limit]: Resource is being skipped, unscheduling all events
Notice: /Stage[main]/Yum/Exec[package-cleanup_oldkernels]: Dependency Augeas[yum.conf_main_installonly_limit] has failures: true
Warning: /Stage[main]/Yum/Exec[package-cleanup_oldkernels]: Skipping because of failed dependencies
Debug: /Stage[main]/Yum/Exec[package-cleanup_oldkernels]: Resource is being skipped, unscheduling all events

What behaviour did you expect instead
Yum settings should be applied on to the client node.
Output log
Any additional information you'd like to impart
The same configuration works well for Cent OS 7 clients.

Hi @weijianwen, thanks for the issue. Can you provide us the error message you get?

@bastelfreak thank you for your quick response. I accidentally clicked the "Send" button in the middle of typing. Now more information is added. Please tell me if anything else if required.

Can you run the agent with --debug? There should be more information for the Augeas[yum.conf_main_keepcache]` resource and others.

Sure. I'll replace the logs with --debug option.

Log updated. I am not sure what  /augeas//error output  refers to since I found no dirs with names like that.

It refers to these lines in the debug output:

Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error = parse_failed
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/pos = 7
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/line = 2
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/char = 0
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/yum.aug:49.13-.41:
Debug: Augeas[yum.conf_main_exactarch](provider=augeas): /augeas/files/etc/yum.conf/error/message = Get did not match entire input

There's an issue with line two of the /etc/yum.conf file. Either:

It has invalid syntax, edit and fix the file manually, then re-run the module.
There's a bug in the Augeas lens for yum.conf, where it should accept something that's valid syntax and doesn't.
Augeas is out of date (1.4.0 vs 1.8.0), which is being fixed in puppet-agent.

@domcleal I empty my /etc/yum.conf file then rerun it. The same issue persists. I guess I'll wait Augeas to be updated in puppet.

What is the new error message precisely? It can't be exactly the same, as the previous error was about line two.
I didn't mean to say that just updating Augeas will fix it, just that if it were a bug fixed between those versions that it may start working.

I figured out why. It is my fault. I tried to modify /etc/yum.conf outside yum module without specifying operation order between them. It seems Puppet scheduled to operate /etc/yum.conf concurrently (?) which leads to such issues. Adding require solves this issue. Issue description has been updated.
WRONG configuration:
node default {
    class {yum:}

     file_line { 'yum_proxy':
       path => '/etc/yum.conf',
       line => "proxy=$proxy",
     }
}

Correct configuration:
node default {
    class {yum:}

     file_line { 'yum_proxy':
       path => '/etc/yum.conf',
       line => "proxy=$proxy",
       require => Class['yum']
     }
}

proxy setting in yum.conf is useful but not supported in puppet-yum yet. Any plan to add this variable? I am new to Puppet but I can help to send a PR.

proxy and any valid yum.conf option can be set via config_options on the yum class or by using yum::config, no?

It seems Puppet scheduled to operate /etc/yum.conf concurrently (?) which leads to such issues. Adding require solves this issue.

More likely that the file can't be parsed by Augeas after being modified, perhaps the modification is creating invalid syntax or it's unable to parse whatever syntax is given. Can you attach the resulting file that fails?

Sure. The generated /etc/yum.conf from the failing run has the following contents in which http://proxy.mysite.com:4000 is my proxy address.
proxy=http://proxy.mysite.com:4000

If that's the entire file then it's missing a [main] section, which is why Augeas fails to parse it.

Thank you, @domcleal . I'll close this issue.


ARXIVNG-978 implemented feature to hide abstracts in search results

Users can indicate whether to show or hide abstracts in search results. The last selection made by the user is stored in the preferences cookie. I would have preferred a checkbox, but since browsers don't send False values for checkboxes, we end up in an indeterminate situation when we're using the cookie. Hence the radio field.
Here's the simple search form:

Here's the advanced search form:

Coverage increased (+0.05%) to 82.658% when pulling d3486d111834c1891951351e7d9bc191dcf7bd4d on feature/ARXIVNG-978 into fb82483991129b8d3aaa237ee37eac77becd03a6 on develop.

@eawoods Not sure how that would work, since we don't have a form on that page. What would they do if they selected one or the other from the advanced search results?

Yeah, I realize there isn't a form on that page...for searching. We do have the form for adjusting number of results per page and sort order, which is the grouping that show/hide abstracts is in for the advanced form. That's kind of why I was rambling about grouping "results controls" together...but it's a half-formed thought. I would want a little time to think about design and layout if we went with that.

Oh yeah, I see what you mean. Yes, I guess we do have a form. We can definitely add it, but makes sense not to rush it.


Add tolerations to Placement for GRC

Policy and PolicySets should not respond to unreachable clusters, so we need to add tolerations to Placement by default. Tolerations didn't exist previously, so I've added them to PlacementSection through a defaultPlacementSpec.
In addition:

Removes references to "ManagedClusterSetBindings" (since this is a kind the console user doesn't need to know about on the GRC page)
Updates tooltip wording to be more accurate
Surfaces a previously commented out "description" for Placement

ref: https://issues.redhat.com/browse/ACM-10200

/hold for reviews
/cc @mprahl @yiraeChristineKim

/approve

Please take another look. I've made some updates:

Changed the tolerations property to defaultPlacementSpec to provide additional flexibility for the future
Enabled and edited a previously commented-out "description" (to be reviewed also by the Doc team)
Updated some tooltip wording (the ClusterSet tooltip had been copied from Label expressions so was inaccurate)
Moved the ClusterSet alert up for visibility and in an attempt to decouple it from the ClusterSets field.

/unhold

Thanks for the reviews, all! I think all relevant parties have reviewed this PR, so it should be good to re-review and merge.

...and by "ready", I mean as soon as I fix the linting... 🤦♂

Obligatory screenshots:

/cherry-pick release-2.10


v20160208 is not available nor on MavenCentral nor on bintray

According to https://github.com/google/closure-compiler/wiki/Releases version v20160208 was released 20 days ago, but i do not see it deployed to neither of
http://mvnrepository.com/artifact/com.google.javascript/closure-compiler
https://bintray.com/bintray/jcenter/com.google.javascript%3Aclosure-compiler/view
Is there something wrong with deployment?

Duplicate of #1485.