RefreshIndicatorState._handleScrollNotification calls SetState during performLayout

RefreshIndicatorState._handleScrollNotification sometimes calls SetState during performLayout, which is not allowed.
One instance where this happens is when associated with a CustomScrollView with overflowing scrollOffset.
Repro:
import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: MyHomePage()));

class MyHomePage extends StatelessWidget {
  final controller = ScrollController(initialScrollOffset: -1000);
  @override
  Widget build(BuildContext context) => RefreshIndicator(
        child: CustomScrollView(controller: controller),
        onRefresh: () async {},
      );
}

The stack trace below says it all
Encountered on Flutter 1.20.4, channel stable
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
Build scheduled during frame.
[...]

The relevant error-causing widget was:
  CustomScrollView
  file:///Users/yuanyuanxie/AndroidStudioProjects/refresh_indicator_repro/lib/main.dart:9:16

When the exception was thrown, this was the stack:
#0      WidgetsBinding._handleBuildScheduled.<anonymous closure> (package:flutter/src/widgets/binding.dart:736:9)
#1      WidgetsBinding._handleBuildScheduled (package:flutter/src/widgets/binding.dart:759:6)
#2      BuildOwner.scheduleBuildFor (package:flutter/src/widgets/framework.dart:2524:23)
#3      Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:4230:11)
#4      State.setState (package:flutter/src/widgets/framework.dart:1260:14)
#5      RefreshIndicatorState._handleScrollNotification (package:flutter/src/material/refresh_indicator.dart:225:7)
#6      NotificationListener._dispatch (package:flutter/src/widgets/notification_listener.dart:131:41)
#7      Notification.visitAncestor (package:flutter/src/widgets/notification_listener.dart:49:20)
#8      ViewportNotificationMixin.visitAncestor (package:flutter/src/widgets/scroll_notification.dart:33:18)
#9      Element.visitAncestorElements (package:flutter/src/widgets/framework.dart:4033:39)
#10     Notification.dispatch (package:flutter/src/widgets/notification_listener.dart:65:13)
#11     ScrollActivity.dispatchScrollStartNotification (package:flutter/src/widgets/scroll_activity.dart:93:65)
#12     ScrollPosition.didStartScroll (package:flutter/src/widgets/scroll_position.dart:751:14)
#13     ScrollPosition.beginActivity (package:flutter/src/widgets/scroll_position.dart:743:7)
#14     ScrollPositionWithSingleContext.beginActivity (package:flutter/src/widgets/scroll_position_with_single_context.dart:118:11)
#15     ScrollPositionWithSingleContext.goBallistic (package:flutter/src/widgets/scroll_position_with_single_context.dart:150:7)
#16     IdleScrollActivity.applyNewDimensions (package:flutter/src/widgets/scroll_activity.dart:163:14)
#17     ScrollPosition.applyNewDimensions (package:flutter/src/widgets/scroll_position.dart:559:14)
#18     ScrollPositionWithSingleContext.applyNewDimensions (package:flutter/src/widgets/scroll_position_with_single_context.dart:108:11)
#19     ScrollPosition.applyContentDimensions (package:flutter/src/widgets/scroll_position.dart:502:7)
#20     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1350:14)
#21     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#22     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#23     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#24     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#25     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#26     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#27     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#28     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#29     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#30     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#31     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#32     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#33     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#34     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#35     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#37     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#38     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#39     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#40     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:562:15)
#41     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#42     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#43     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#44     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#45     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#46     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#47     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#48     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#49     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#50     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#51     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#52     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#53     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#54     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#55     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#56     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#57     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3228:13)
#58     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#59     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#60     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#61     _RenderTheatre.performLayout (package:flutter/src/widgets/overlay.dart:702:15)
#62     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#63     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#64     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#65     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#66     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#67     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#68     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#69     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#70     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#71     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#72     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#73     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:13)
#74     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
#75     RenderView.performLayout (package:flutter/src/rendering/view.dart:170:13)
#76     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1632:7)
#77     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:889:18)
#78     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:404:19)
#79     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:867:13)
#80     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
#81     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
#82     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1056:9)
#83     SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:865:7)

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.4 19E2269, locale en-IN)
    • Flutter version 1.20.4 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision fba99f6cf9 (7 days ago), 2020-09-14 15:32:52 -0700
    • Engine revision d1bc06f032
    • Dart version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (2 available)
    • Android SDK built for x86 (mobile)  • emulator-5554
      • android-x86 • Android 10 (API 29) (emulator)
    • iPhone SE (2nd generation) (mobile) • 312977A7-2DB1-4737-AEBB-35FA6522A309
      • ios         • com.apple.CoreSimulator.SimRuntime.iOS-13-5 (simulator)

• No issues found!

Hi @coupestartup, Thanks for filing the issue. I can no longer reproduce the issue on the latest master 3.6, Looks like this might have been fixed. I am going to close this issue as no longer reproduceible, in Incase you still encounter the issue. Feel free to write back in the comments with more details and we will reopen it.

flutter doctor -v (mac)
[✓] Flutter (Channel master, 3.6.0-6.0.pre.33, on macOS 12.6 21G115 darwin-arm64,
    locale en-IN)
    • Flutter version 3.6.0-6.0.pre.33 on channel master at
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a9858ec524 (72 minutes ago), 2022-11-21 10:58:11 -0500
    • Engine revision 46a6b54295
    • Dart version 2.19.0 (build 2.19.0-406.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however it is
      recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64
      • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript
      • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Thank you.


Repl command shouldn't eval ~/.ammonite/predef.sc

My ~/.ammonite/predef.sc is project independent file which contains imports of libraries for common daily use and it contain conflict libraries and/or versions with project libraries/versions use.
Probably this behaviour should be configurable at least.
UPD: I should clarify that it happens with mill -i repl command.

Should be fine in 0.2.0. @narma may we close it?

@Baccata I should clarify that ammonite's predef.sc is used when I execute mill -i module.repl. In my scenario this is not preferred behavior. I don't want global ammonite's predef in my project's REPL.

I'm no maintainer, but I no the codebase a bit and maybe I could have helped. As @rockjam (who is a maintainer) says, this should be fixed in version >= 0.2.0. Which version are you running ?

@Baccata we were actually talking about two different things.
First I thought that the issue is that predef of ammonite is used when you run mill itself, but it turns out that it happens only in repl command. This may for instance lead to a situation when there are conflicting versions of libraries in the classpath - one from your project's classpath and another from ammonite's predef

I think I'm going to call this a wontfix; Mill's Ammonite using ~/.ammonite/predef.sc behaves the same as using Ammonite from SBT. If you wish to override the default, you can do so by overrideing def repl and passing in the --predef foo.sc flag to point your predef at whatever file you wish


Quick opening of "Regional format"

Type of issue
Other (describe below)
Feedback
Hi there!

I can't find the appropriate "ms-settings:..." to open this particular window — how do I open it?

Hello. It doesn't appear that there is a URI to open that Settings page. I don't have any additional content for your scenario, over and above what's in the documentation. So, it might be worth pursuing this as feedback about Windows. You can use the Feedback app in Windows to request this be added to the operating system in a future release.


Anyway to get the state of the mouse other than position, i.e. clicked/clicking.

-I can get the cursor position data and if it is currently scrolling, but can I get any other data?
-Self-explanatory, would like to add a listener of some kind if at all possible.

Edit: found out that the locked value at least on my mouse is a boolean if the middle mouse button is clicked. Supper useful would still be nice to have access to the info on the left and right mouse buttons, as well as maybe some other info on the scroll wheel like which direction is it scrolling.

Ah ok, the locked value applies to all three buttons. My bad. Having scroll data would be useful though.

Yes, it's on the list (all mouse events will be available)


Allele type warning to fix automatically

There are lots of warnings like this from the Canto load:
warning in 073951bf43ce4011: allele_type for new allele "cdc19-D8(other)" does not match the existing allele with the same name "cdc19-D8(partial_amino_acid_deletion)" (from session 073951bf43ce4011)
Can we assume that when one allele type is "other" that the two alleles are the same?

I fixed a bunch of these yesterday (after the 06-Aug load started), and all of the ones I did were indeed the same allele description; just the type got botched somehow. Don't know how many are left now, but might be worth an auto-fix for future-proofing.

OK, this doesn't sound so urgent so I'll bump this to the next release.

One odd thing now: the canto log for the latest build now (log.2015-08-07-02-51-46.curation-tool-data-load-output) still has warnings for the "other" alleles that I fixed. I know I would've missed the 06-Aug load, but am surprised the fixes didn't make it into the 07-Aug build. Am I just being impatient?

Am I just being impatient?

Hopefully it's just a timing problem.  Another load is running and will be done in 4-ish hours.  If it's not fixed then let me know and I'll dig into it.

Hmm. They are still there in log.2015-08-09-07-00-30.curation-tool-data-load-output
example:
warning in 073951bf43ce4011: allele_type for new allele "cdc19-D8(other)" does not match the existing allele with the same name "cdc19-D8(partial_amino_acid_deletion)" (from session 073951bf43ce4011)
... and all the other warnings from the same session, as well as a few others

Sorry about that.  I've had a look now.  You had fixed the warning (by deleting the alleles by the look of it).  They are still hanging around in the database but not visible from the interface.
It's a problem that I sort-of caused on purpose.  Currently when you edit an allele or remove a genotype, it doesn't clean up the alleles that are now unused.  Deleting from database always makes me nervous so I thought I'd leave that problem for a while until everything was working.  I was hoping that wouldn't cause problems but it is causing warnings.
Those invisible, deleted alleles shouldn't cause Mark trouble because they don't have annotation attached.
I'll remove those unused alleles and fix the Canto code before the next release.

OK. Thanks for the explanation. I was starting to wonder if I'd really fixed what I thought I had .. if it weren't for that it wouldn't have been a problem.

I'll remove those unused alleles and fix the Canto code before the next release.

The Canto database is now fixed and I'm running a new load.

I think this is fixed now.  Please re-open if there is still a problem.


Fix model maxUnitValues

Fixed model maxUnitValue in co_models and fixed file path issue in co_slrScalars in FrEDI_config.xlsx

Mean to merge into branch state_code_initial


chore: add workflow to validate the structure of case studies

Related issue(s)
Resolves #1501.

@tthijm please allow maintainers to update the PR, so that they can merge latest changes.

@akshatnema, thank you for your feedback. Since scripts/casestudies/schema.json is currently not being used, what would your thoughts be on moving the schema there?

@akshatnema, thank you for your feedback. Since scripts/casestudies/schema.json is currently not being used, what would your thoughts be on moving the schema there?

I don't what @derberg meant by creating this file as schema.json as I can see the JSON data of the Adeo group inside it. So, it's better if you ask @derberg regarding his plan to structure the case studies inside website.

we should keep scripts/casestudies/schema.json where it is, to be consistent

@akshatnema @derberg, could either one of you provide me with feedback regarding the latests changes made?

@tthijm Also, please specify the link of Github Action where you have run your workflow in forked repo, so that we can check the working of the same before merging it to master.

@tthijm one you update schema, and test it in your fork, please provide direct link to the run of the workflow after schema update

@derberg Kindly review the PR based on these test runs of the workflow - https://github.com/tthijm/website/actions/runs/4959164494

@derberg I have updated the branch.

/rtm

@allcontributors please add @tthijm for infra


[tool_crash] RPCError Oops; flutter has exited unexpectedly: "_flutter.screenshotSkp: (-32000) Could not capture SKP screenshot.".

Command
flutter screenshot --type=skia --observatory-url=http://<IP_ADDRESS>:55893/MlN5Xp9Cpo8=/

Steps to Reproduce

flutter attach
flutter screenshot --type=skia --observatory-url=http://<IP_ADDRESS>:55893/MlN5Xp9Cpo8=/

Logs
RPCError: _flutter.screenshotSkp: (-32000) Could not capture SKP screenshot.
#0      new _OutstandingRequest (package:vm_service/src/vm_service.dart:1718:45)
#1      VmService._call (package:vm_service/src/vm_service.dart:2225:21)
#2      VmService.callServiceExtension (package:vm_service/src/vm_service.dart:2188:14)
#3      FlutterVmService._checkedCallServiceExtension (package:flutter_tools/src/vmservice.dart:776:28)
#4      FlutterVmService.screenshotSkp (package:flutter_tools/src/vmservice.dart:937:12)
#5      ScreenshotCommand.runSkia (package:flutter_tools/src/commands/screenshot.dart:141:54)
<asynchronous suspension>
#6      ScreenshotCommand.runCommand (package:flutter_tools/src/commands/screenshot.dart:113:19)
<asynchronous suspension>
#7      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1161:27)
<asynchronous suspension>
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#9      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#13     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>

[✓] Flutter (Channel stable, 2.10.4, on Microsoft Windows [Version 10.0.19044.1645], locale zh-CN)
    • Flutter version 2.10.4 at E:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c860cba910 (3 weeks ago), 2022-03-25 00:23:12 -0500
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at D:\Android\Sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = D:\Android\Sdk
    • Java binary at: D:\android-studio-2<IP_ADDRESS>\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[✗] Visual Studio - develop for Windows
    ✗ Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[✓] Android Studio (version 2021.1)
    • Android Studio at D:\android-studio-2<IP_ADDRESS>
    • 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.11+9-b60-7590822)

[✓] Android Studio (version 4.1)
    • Android Studio at E:\android-studio-4.1.2
    • 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 1.8.0_242-release-1644-b01)

[✓] IntelliJ IDEA Community Edition (version 2021.3)
    • IntelliJ at E:\ideaIC-2021.3.win
    • 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

[✓] Connected device (4 available)
    • S20iQ19 (mobile)  • c21c813c • android-arm64  • Android 9 (API 28)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19044.1645]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 100.0.4896.88
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 98.0.1108.62

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: module
Version: 1.0.0+1
Material: true
Android X: true
Module: true
Plugin: false
Android package: com.huya.hive.dartmodule
iOS bundle identifier: com.huya.hive.dartmodule
Creation channel: dev
Creation framework version: 83b9e99cfbb8be5215514d7fa21191961b4a620d
Plugins
fluttertoast-8.0.9
video_player-2.3.0
video_player_android-2.3.2
video_player_avfoundation-2.3.1
video_player_web-2.0.7
webview_flutter-2.8.0
webview_flutter_android-2.8.5
webview_flutter_wkwebview-2.7.2

Labeling this for further investigation as I cannot find any existing open issues and I cannot also reproduce locally.


Support for dataform core >3.0  -  dataform.json deprecated

Description:
I am encountering an issue with the VSCode Dataform Tools extension when working on a Dataform project. we are on version >3 where dataform.json is deprecated
Environment:

Dataform Core Version: 3.0.2
Dataform CLI Version: 3.0.4
VSCode Dataform Tools Extension: Installed and configured.

Setup:

The Dataform project is set up and working correctly using the Dataform CLI within VSCode.
dataform.json is not present in the repository as it is deprecated in favor of workflow_settings.yaml.

Problem:
When attempting to use the VSCode Dataform Tools extension, the following error occurs:
Error compiling Dataform: Dataform encountered an error: c:\Users\PaulvanOorschot\Ubuntu\repos\dataform does not appear to be a dataform directory (missing dataform.json file).
Error: ~\dataform does not appear to be a dataform directory (missing dataform.json file).

This suggests that the extension is expecting a dataform.json file that is no longer required or used in dataform >3
Request:
Can i configure the VSCode Dataform Tools extension to work with the new workflow_settings.yaml format, or do you expect to provide support for this version in the future?
Steps to Reproduce:

Set up a Dataform project using workflow_settings.yaml (without dataform.json).
Install Dataform Core 3.0.2 and Dataform CLI 3.0.4.
Open the project in VSCode.
Attempt to use the VSCode Dataform Tools extension.
Observe the error indicating the missing dataform.json file.

Thanks!

Hi @pvoo ,
Thanks for creating the detailed issue. the extension supports both major versions (2.x, 3.x) of Dataform. It is very likely that you do not have dataform cli version 3 or higher installed in global scope npm i -g<EMAIL_ADDRESS>Can you please put a screenshot of dataform --version when you have the folder open in VSCode workspace ?

If installing cli in global scope does not work can you please try to reproduce the same issue with with this sample repo  and do the following

dataform --version
dataform compile
Screenshot of output when you open the project in vsocde and save the document

I expect you to get the following output

Thanks @ashish10alex ,   after a resetup of my local environment and packages it works.  I suspect it might have been related to my use of WSL2, for other users with this issue, please double check your vscode is correctly connected to the WSL2 remote environment.

closed


add hexo-photoswipe

hexo-photoswipe is a fine gallery to exhibit photos in vanilla hexo blog. For more information , see github repository

Thank you for your contribution 😄


ADJ Close and Close converge at the end of the download.

When downloading a stock price using
df = yf.download(selected, start=request.form.get("start"), end=request.form.get("end"), auto_adjust = False, prepost = False, threads = True, proxy = None)[["Adj Close", "Close"]].dropna(axis=1, how='all')
where Start date is 01-01-2015 and End date is 01-01-2020 the resulting ADJ close price and Close price are different all across the date range but converge at the last 100 rows. Am I missing something here ot there is an issue?
I used the ticker OCFC in my last examination, but it seems to presist across all tickers.

Adjusted price is a historical adjustment to account for stock splits. The current adjusted price of a stock is always the same as the current raw price because there's nothing to adjust. If you look back in time, say 1 year ago, and there was a split in that time, then the historic prices before the split need to be adjusted.


iOS: Make flutter doctor unhappy if CocoaPods is missing.

FYI @johnmccutchan @cbracken

Add a new test in test/src/ios/ios_workflow_test.dart to cover this. Other than that, LGTM!


Why not use the copy and paste function to solve text input problems in windows?

[x] I have checked that a similar feature request does not already exist.

Is your feature request related to a problem? Please describe.
It seems that physical keyboard simulation does not work in windows with mirroring. Therefore, it is a disaster when entering large amounts of text. We can only type non-English words by plainly switching between mouse with keyboard. Why not use existing methods to solve non-English text input problems?
Describe the solution you'd like
As the documentation says, adb only supports the English alphabet, but the clipboard is unaffected. I have tested it this many times, which can type large sections of non-English text by copying and pasting. I input the text in Notepad first and then copy and paste it into SCRCPY when I'm done typing. I think this way is ok with any text editing software. The only problem is to  switching between Notepad and SCRCPY. However, this is still a relatively efficient method of text input.
so, why not add a input box and a "send" button at the edge of the SCRCPY window. we can type text in the box and click the button (or shortcut keys) to cut the text in box then paste it to SCRCPY.

A method to send text to Scrcpy by AutoHotkey on windows system
Introducing a method of using AutoHotkey to send text to Scrcpy in Windows systems, which is alternative  way to resolve the problem of special-characters-do-not-work. (only test chinese input, but theoretically universal for all languages.
)
Principle: Use the AutoHotkey to call out the input box, and then paste the text in the input window into the Scrcpy window. As long as the input box of the device in scrcpy is focused, the text will be automatically pasted into it. It uses the clipboard and does not rely on the input method app on Android.
Instructions

Download and install AutoHotkey
Create the ahk script and double-click to run it.
Open the scrcpy window, click on the input text box, press the F1 key, an input window will pop up, enter the text you need to enter, press Enter or click OK.

script
#HotIf WinActive("GM1911") ; limited to GM1911 windows
F1:: ; respond to F1 key
{
    OutputVar := InputBox("input what you want to send to scrcpy", "SCRCPY INPUTBOX").Value
    A_Clipboard := OutputVar  ; Start off empty to allow ClipWait to detect when the text has arrived.
    ClipWait  ; Wait for the clipboard to contain text.
    Send "^v"
    Sleep 500  ; Wait a bit for Ctrl+V to be processed
}

Script interpretation and application

Create a text file at will, paste the above content into it, change the suffix name to "ahk", and double-click to run it.
GM1911 is the name displayed in the title bar of the window when my device is connected to scrcpy. You need to make substitutions based on your own names. This command let AutoHotkey respond to commands only in the GM1911 window.
F1 is my customized hotkey. You can also change it to other ones. Please check the official tutorial for specific settings.


Drop GHC 9.2, make 9.6 the default

GHC 9.2 shows runtime performance regressions in the system-level benchmarks, but the numbers look much better for 9.6, so it is very unlikely that Node releases will ever be built with GHC 9.2. Hence, we can drop it here, and switch the default to GHC 9.6.
Also update various tools.

Currently waiting for https://github.com/input-output-hk/ouroboros-network/pull/4716


error: Dependency 'fmake' could not be resolved

I could not compile the framework with ./compile_network_ios.sh.
$ ./compile_network_ios.sh
Fetching https://github.com/yury/FMake
Fetched https://github.com/yury/FMake (1.25s)
Computing version for https://github.com/yury/FMake
error: Dependencies could not be resolved because no versions of 'fmake' match the requirement 0.0.16..<1.0.0 and root depends on 'fmake' 0.0.16..<1.0.0.
error: 'xcfs': binary target 'ios_system' could not be mapped to an artifact with expected name 'ios_system'

I might need help with that one. I have no idea what's happening, and I don't see any significant difference with iOS_system's version of package.swift. There was a tiny difference, so I've pushed a new version.

It's probably because https://github.com/yury/FMake does not have any Git tag.
Replacing it with https://github.com/blinksh/FMake in xcfs/Package.swift resolves the issue. See https://github.com/l2dy-forks/network_ios/commit/994eabdbb3832d0329ff06db68720d1d27ccf913 for a patch.

Thanks a lot; I've pushed the version with your fix.

Fixed. Closing.


Downgrading requests as HomeAssistant doesn't currently allow version…

Hi,
Wondering if it is possible to downgrade requests library to version 2.28.1? as HomeAssistant doesn't allow 2.28.2 yet and won't be updated untill April.
Issue today is that https://github.com/mitch-dc/volkswagen_we_connect_id uses this library and it breaks cause of dependency missmatch.

I'm hoping they will include the change earlier. But i don't know yet:
https://github.com/home-assistant/core/pull/88956
A downgrade of the dependancy will fix the issue but i can understand that it's not really the best-practice.

@mitch-dc  saw that your PR has been merged to 2023.3.1 now so i will close this PR :)


Improve yii\db\Connection master and slave failover

no connection attempt was made when all servers are marked as
unavailable.
if server status cache is enabled and no server is available,
we now ignore the cache and try to connect anyway.
This helps to recover from short downtime much quicker.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
fixes #17991

Merged. Thanks!


Protocol steammobile not supported or disabled in libcurl

I know Trade offers works fine with PHP 5.6 from another server (with another configuration). But I have PHP 7.0.3. I configure it and install. Authentication work fine. But when I trying to execute
$tradeId = $trade->sendWithToken( $some_token );
$tradeId is return as 0.
To SteamCommunity.php in
public function cURL($url, $ref = null, $postData = null)
was added
echo curl_error($ch);
Result: Protocol steammobile not supported or disabled in libcurl.
How does enable steammobile protocol or make protocol redirect?

Show me your entire code, none of the above stuff has "steammobile" in the URL.

I don't find "steammobile" too. But can't find it error mean.
My code:
I had rewrite your example:
require '/web/composer/vendor/autoload.php';

use waylaidwanderer\SteamCommunity\Enum\LoginResult;
use waylaidwanderer\SteamCommunity\MobileAuth\WgTokenInvalidException;
use waylaidwanderer\SteamCommunity\SteamCommunity;

$settings   = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/_steam/settings.json'), true);
$steam      = new SteamCommunity($settings, $_SERVER['DOCUMENT_ROOT'] . '/_steam' );

$steam->setTwoFactorCode($steam->mobileAuth()->steamGuard()->generateSteamGuardCode());
$loginResult = $steam->doLogin();

while ($loginResult != LoginResult::LoginOkay) {
    if ($loginResult == LoginResult::Need2FA) {
        if ($steam->mobileAuth()->steamGuard() == null) {
            //$authCode = 'Enter 2FA code: ';
            //$steam->setTwoFactorCode($authCode);
        } else {
            $authCode = $steam->mobileAuth()->steamGuard()->generateSteamGuardCode();
            $steam->setTwoFactorCode($authCode);
            //echo 'Generated Steam Guard code: ' . $authCode . '
';
            $loginResult = $steam->doLogin();
        }
    } else if ($loginResult == LoginResult::NeedEmail) {
        $authCode = 'Enter Steam Guard code from email: ';
        $steam->setEmailCode($authCode);
        $loginResult = $steam->doLogin();
    } else if ($loginResult == LoginResult::NeedCaptcha) {
        $captchaCode = 'Enter captcha (' . $steam->getCaptchaLink() . '): ';
        $steam->setCaptchaText($captchaCode);
        $loginResult = $steam->doLogin();
    } else {
        break;
    }
    echo "Login result: ".$loginResult."
";
}

if ($loginResult == LoginResult::LoginOkay) {
    $tradeOffers = $steam->tradeOffers();
    //var_dump($tradeOffers->getTradeOffersViaAPI(true));

    $trade = $tradeOffers->createTrade($userToken);
    $trade->addOtherItem(730, 2, '4813427756');
    $tradeId = $trade->sendWithToken('307769701');
    //$tradeId = $trade->send();
    var_dump($tradeId).'
';

    try {
        $confirmations = $steam->mobileAuth()->confirmations()->fetchConfirmations();
        foreach ($confirmations as $confirmation) {
            $tradeIdConfirm = $steam->mobileAuth()->confirmations()->getConfirmationTradeOfferId($confirmation);
            echo $tradeIdConfirm.'
';
            if( $tradeId==$tradeIdConfirm ) {
                var_dump($steam->mobileAuth()->confirmations()->acceptConfirmation($confirmation));
            }
        }
    } catch (WgTokenInvalidException $ex) {
        // session invalid
        $steam->mobileAuth()->refreshMobileSession();
    }
}

Add one string to your function echo curl_error($ch); for troubleshooting:
public function cURL($url, $ref = null, $postData = null)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
        if (!empty($this->rootDir)) {
            curl_setopt($ch, CURLOPT_COOKIEFILE, $this->_getCookieFilePath());
            curl_setopt($ch, CURLOPT_COOKIEJAR, $this->_getCookieFilePath());
        }
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        if ($this->mobile) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-Requested-With: com.valvesoftware.android.steam.community"]);
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; Google Nexus 4 - 4.1.1 - API 16 - 768x1280 Build/JRO03S) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
            curl_setopt($ch, CURLOPT_COOKIE, $this->buildCookie(self::$DEFAULT_MOBILE_COOKIES));
        } else {
            curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0');
        }
        if (isset($ref)) {
            curl_setopt($ch, CURLOPT_REFERER, $ref);
        }
        if (isset($postData)) {
            curl_setopt($ch, CURLOPT_POST, true);
            $postStr = "";
            foreach ($postData as $key => $value) {
                if ($postStr)
                    $postStr .= "&";
                $postStr .= $key . "=" . $value;
            }
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr);
        }
		curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_ALL);
        $output = curl_exec($ch);
		echo curl_error($ch);
        curl_close($ch);
        return $output;
    }

One thing I noticed is that your trade token is incorrect. $tradeId = $trade->sendWithToken('307769701'); This is the accountId, not the tradeToken.

You can check "accountid_other" in this trade offer:
http://api.steampowered.com/IEconService/GetTradeOffer/v1/?tradeofferid=1034071107&language=english&key=<enter your api key here>
This code works correctly from another server. Your code work well, my data is correct. But I think I have wrong configuration of PHP. Main question: What does mean Protocol steammobile not supported or disabled in libcurl?

Ohh! I understand what you mean when say "This is the accountId, not the tradeToken". I send my trade offer to my friend and this is not important what I use like parameter for function. If I send my trade offer to stranger I get error Error: There was an error sending your trade offer. Please try again later. (15).

Before echo curl_error($ch);, can you also echo $url;?

This is last $url before error:
https://steamcommunity.com/mobileconf/conf?p=android:fab585dd-d3ce-85dd-85dd-85ddd3ce7d34&a=0&k=XDxAON/kRTpewIqWyz2cdHOKQYg=&t=1456278550&m=android&tag=conf

@saqwel &a parameter shouldn't be 0.


Revert "works with jquery 3.x"

there is a bug between jquery 3.x and jsdom < 9: https://github.com/tmpvar/jsdom/issues/653. we are using jsdom 7 so this change is not ready yet.

@leochen1216 reviewed over my shoulder 🚀


feat(codeeditor): support to extensions

Introduces the ability to load Codemirror extensions in the CodeEditor component, in two ways:

By SandpackCodeEditor props:

<SandpackProvider template="react">
  <SandpackThemeProvider>
    <SandpackCodeEditor
      extensions={[autocompletion()]}
      extensionsKeymap={[completionKeymap]}
    />
  </SandpackThemeProvider>
</SandpackProvider>

By Sandpack props:

<Sandpack
  options={{
    codeEditor: {
      extensions: [autocompletion()],
      extensionsKeymap: [completionKeymap],
    },
  }}
  template="react"
/>

Closes #280

Any ideas on when this will be merged?


Edits around Randomness Summit

Here are a few more details about the Randomness Summit happening next week 😄

@AnomalRoil Please update the preferred contacts to lower case as follows -
preferredContacts:

'twitter|https://twitter.com/drand_loe'
<EMAIL_ADDRESS>

@WinsCodes Done!


[5.x] Using SASS fails

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
I believe my issue is quite easy, but I seem to be unable to solve it. I want to make use of a SASS (style.scss) file. Importing it does not work. I tried adding a link element to the head section of the index.html as described here, but without success:
<link rel="stylesheet" href="style/style.scss">
The app compiles successfully using yarn start without errors, but no style changes are applied.

Console output when you run electron-forge with the environment variable DEBUG=electron-forge:*. (Instructions on how to do so here). Please include the stack trace if one exists.
myuser@mysystem:~/Documents/audienz/administration2$ yarn start
yarn run v1.13.0
$ electron-forge start
✔ Checking your system
✔ Locating Application
✔ Preparing native dependencies
✔ Launching Application

What command line arguments are you passing?
yarn start

What does your config.forge data in package.json look like?
"config": {
    "forge": {
      "make_targets": {
        "win32": [
          "squirrel"
        ],
        "darwin": [
          "dmg"
        ],
        "linux": [
          "deb",
          "rpm"
        ]
      },
      "electronPackagerConfig": {
        "packageManager": "yarn"
      },
      "electronWinstallerConfig": {
        "name": "administration"
      },
      "electronInstallerDebian": {},
      "electronInstallerRedhat": {},
      "github_repository": {
        "owner": "",
        "name": ""
      },
      "windowsStoreConfig": {
        "packageName": "",
        "name": "administration"
      }
    }
  }

Any news on this? I am facing the same issue.

Hey, I had the same problem. Does your renderer console show CSS cannot be loaded from file: URLs unless they end in a '.css' file extension?
I solved this issue by suffixing my main SCSS file with ._compile.css as proposed in #601 by @MarshallOfSound. This will trigger electron-compile to compile the file.
so for your case:

Rename your main SCSS file to style.scss._compile.css
Edit this <link rel="stylesheet" href="style/style.scss"> and make it <link rel="stylesheet" href="style/style.scss._compile.css">

I hope this solves your issue!

Yet another problem that never get a solve.

In anticipation of The V6 Stable Release we are closing out all the v5 issues.  Once V6 stable is released it will be the only supported version of Electron Forge.


Fix incorrect ksm alert fixing on mimir

Before adding a new alerting rule into this repository you should consider creating an SLO rules instead.
SLO helps you both increase the quality of your monitoring and reduce the alert noise.

How to create a SLO rule: https://github.com/giantswarm/sloth-rules#how-to-create-a-slo
Documentation: https://intranet.giantswarm.io/docs/monitoring/slo-alerting/

This PR fixes the ongoing ksm alerts on grizzly, caused by some leftover slos (data being kept for 30 days, the initial query was counting them so firing for the wrong reasons).
Adding the regex of name ensures we only count the ksm generated alerts in the query.
Checklist

[x] Update CHANGELOG.md
[ ] Add Unit tests
[ ] Follow Alert structure
[ ] Consider creating a dashboard (guidelines) (if it does not exist already) to help oncallers monitor the status of the issue.
[ ] Request review from oncall area, as well as team (e.g: oncall-kaas-cloud GitHub group).

Can't we limit the query to more recent data? Because if it takes old data into account, it won't work as expected (ie alerting when there's no recent data from KSM)?

It does not take old data into account as it's using a count

oh, it's SLO-generated data, but not old data!

Yes that's what I explained by:
caused by some leftover slos (data being kept for 30 days, the initial query was counting them so firing for the wrong reasons).

Yes, but when I read "data being kept for 30 days" I understand "old data" :sweat_smile:
So the new query looks like this, which looks good :+1:

Good to know how I can improve :)


allowed_devices_room

Settings auf Mycroft.ai edited
Homebridge room on Fhem created
dummy Licht defined
genericDeviceType light set as attribute
--> getting following error
File "/opt/mycroft/skills/fhem-skill.domcross/init.py", line 156, in handle_switch_intent
fhem_device = self._find_device(device, allowed_types, room)
File "/opt/mycroft/skills/fhem-skill.domcross/init.py", line 740, in _find_device
device_candidates = self.fhem.get(room=self.allowed_devices_room,
AttributeError: 'FhemSkill' object has no attribute 'allowed_devices_room'
16:13:36.261 - ConfigurationSkill - INFO - Remote configuration updated
^--- NEWEST ---^

I don't know if the error ist related, but when I start Mycroft I also get this one:
CSRF token requested for server that doesn't know CSRF
--> The newest Fhem version is installed
also  attr WEB.* csrfToken  did not help

When self.allowed_devices_room is not initialized then there was no succesful connection to FHEM-Server during setup/initialization of the skill. Yes, this might be related to the CSRF-token error you get. I think the problem is the configuration of your FHEM system.
My FHEMWEB device for the Mycroft connection looks like following:
Internals:
   CSRFTOKEN  csrf_XXXXXXXXXXXXXXXX
   DEF        8087 global
   FD         XX
   FUUID      XXXX-XXXX-XXXX-XXXX
   FVERSION   01_FHEMWEB.pm:0.198780/2019-07-21
   NAME       WEBmycroft
   NR         XXX
   NTFY_ORDER 50-WEBmycroft
   PORT       8087
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2019-07-26 20:47:30   state           Initialized
Attributes:
   hiddenroom ...list of rooms I dont want the device to know...
   room       Homebridge,Unsorted

and here the is my allowed device that is "protecting" WEBmycroft:
Internals:
   FUUID      XXXX-XXXX-XXXX-XXXX
   FVERSION   96_allowed.pm:0.190460/2019-03-27
   NAME       allowedWEBmycroft
   NR         XXX
   STATE      validFor:WEBmycroft
   TYPE       allowed
   validFor   WEBmycroft
   READINGS:
     2019-07-26 20:47:30   state           validFor:WEBmycroft
Attributes:
   basicAuth  { "$user:$password" eq "user:pass" }
   disable    0
   validFor   WEBmycroft

User and password must match the skill configuration at home.mycroft.ai
Nevertheless thanks for reporting this. I will try to improve the skill by adding some more checks if FHEM is reachable and skill was properly initialized...

I got it to work over telnet. Simply entered a telnet password in fhem, changed to telnet in the skill and it all works smooth :-)
Nevertheless I gonna check out your configuration later! Thanks a lot for the skill!

Great! I did not test the telnet connection myself, good to hear that it works as designed.

closing issue as it seems to be working now


Ability to schedule NAT rules

I would like to be able to schedule a NAT rule to turn on and off at some time like firewall rules can be scheduled.
I have multiple servers behind my public IP and I would like to be able to use Let's Encrypt without having to manually renew certs. Currently I have a NAT rule for port 80 that is disabled most of the time. This allows web traffic to hit my web server. This also prevents any other internal servers from auto renewing their certs.
So when I want to renew I have to manually turn on the NAT rule that points to the other internal server and force a renew operation and then disable the NAT rule again.
Being able to schedule these usually disabled NAT rules would allow me to automate all my renewals.
I have not figured out how to do this using any other means with OPNsense.

You could use relayd and schedule the filter rule accordingly, no NAT required.

You could use relayd and schedule the filter rule accordingly, no NAT required.

I'm not sure I understand. I've never used relayd. It looks like relayd is a sort of proxy. Will it will allow multiple backend servers relaying off the same ip and port in it's config? If I set it up with multiple internal servers all coming from port 80 then what would I filter on? The internal servers should have connections allowed and available all the time through the firewall. The only change I would like to schedule is what internal server is connected to port 80 on my public IP. I'll have to think about this idea some more and see if there is a way I can setup a test network to try it out. Thanks for the idea.


Just a quick change to demonstrate how to contribute to a fork

DO NOT MERGE!
it is just a example

Closing because it is just for demo


[Snyk] Upgrade gatsby from 5.11.0 to 5.13.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade gatsby from 5.11.0 to 5.13.3.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 27 versions ahead of your current version.
The recommended version was released 3 months ago, on 2024-01-25.

The recommended version fixes:

Severity
Issue
PriorityScore (*)
Exploit Maturity

Heap-based Buffer Overflow SNYK-JS-SHARP-5922108
694/1000  Why? Mature exploit, CVSS 9.6
Mature

Denial of Service (DoS) SNYK-JS-SOCKETIOPARSER-5596892
694/1000  Why? Mature exploit, CVSS 9.6
No Known Exploit

Denial of Service (DoS) SNYK-JS-GRAPHQL-5905181
694/1000  Why? Mature exploit, CVSS 9.6
Proof of Concept

Denial of Service (DoS) SNYK-JS-MSGPACKR-6140431
694/1000  Why? Mature exploit, CVSS 9.6
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.

Release notes

Package name: gatsby

5.13.3 -<EMAIL_ADDRESS>

5.13.2 - 2024-01-23

5.13.1 - 2023-12-22

5.13.0 - 2023-12-18

5.13.0-next.3 - 2023-12-04

5.13.0-next.2 - 2023-11-16

5.13.0-next.1 - 2023-08-22

5.13.0-next.0 - 2023-07-25

5.13.0-alpha-fix-pnpm.21 - 2023-12-20

5.13.0-alpha-fix-pnpm.17 - 2023-12-15

5.13.0-alpha-fix-pnpm.16 - 2023-12-14

5.13.0-alpha-alt-image-cdn.38 - 2023-11-03

5.12.12 - 2023-12-07

5.12.11 - 2023-11-22

5.12.10 - 2023-11-21

5.12.9 - 2023-10-26

5.12.8 - 2023-10-20

5.12.7 - 2023-10-17

5.12.6 - 2023-10-09

5.12.5 - 2023-09-27

5.12.4 - 2023-09-05

5.12.3 - 2023-08-28

5.12.2 - 2023-08-28

5.12.1 - 2023-08-24

5.12.0 - 2023-08-24

5.12.0-next.1 - 2023-07-03

5.12.0-next.0 - 2023-06-15

5.11.0 - 2023-06-15

    from gatsby GitHub release notes

Commit messages

Package name: gatsby

b4ce9e6 chore(release): Publish
c50e8f2 fix: add missing fs method rewrites to handle fetchRemoteFile in dsg/ssr engine (#38822) (#38823)
d328fd8 perf: use must-revalidate cache-control header as common and only create header routes for routes with different cache-control (#38820) (#38824)
b24134d chore(release): Publish
c74745c fix(gatsby): support builtin modules prefixed with `node:` on `build-html` (#38516) (#38818)
c9f8c24 chore: swap babel-plugin-lodash with updated version that doesn't use deprecated APIs (#38797) (#38803)
fc0eea1 fix(gatsby): fix webpack compilation when pnpm is used (#38757) (#38804)
f6ed443 fix(gatsby): try to automatically recover when parcel segfaults (#38773) (#38799)
68b0821 fix(gatsby): more robust adapter zero-conf handling (#38778) (#38800)
366b54c chore(release): Publish
4b892c5 chore(gatsby-cli,gatsby-source-wordpress): bump clipboardy (#38775) (#38776)
2c0622c chore(release): Publish
5d6bb65 fix(docs): update remote url docs (#38768) (#38770)
18ffcfa chore(release): Publish
1953e5c fix(gatsby): allow<EMAIL_ADDRESS><=1.0.3" for<EMAIL_ADDRESS>(#38758)
4a780fb feat: image and file cdn url generator adapter implementation (#38685)
f8c207b chore: move gatsby-plugin-netlify-cms to deprecated-packages (#38755)
6d1d97e chore(gatsby-plugin-netlify-cms): add deprecation notice  (#38753)
7a7fa5f chore(deps): update dependency @ types/jscodeshift to ^0.11.11 for gatsby-codemods (#38595)
8919982 fix(deps): update dependency gatsby-plugin-webpack-bundle-analyser-v2 to ^1.1.32 (#38722)
d148295 chore(deps): update [dev] minor and patch dependencies for gatsby-cli (#38592)
37f2288 chore(deps): update dependency rimraf to ^5.0.5 (#38596)
0faf0fe chore(deps): update dependency rimraf to ^5.0.5 for gatsby-telemetry (#38597)
31272e9 chore(deps): update dependency rimraf to ^5.0.5 for gatsby-worker (#38598)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

👷 Deploy Preview for radiant-beignet-d1e2e7 processing.

Name
Link

🔨 Latest commit
79a49d8c6edabb6df7950d57c3365d412a7f7ba4

🔍 Latest deploy log
https://app.netlify.com/sites/radiant-beignet-d1e2e7/deploys/662168586aec800008d16ea4


plots negative power too

Describe the bug
I plotted the live enphase data at 9:06pm IST against the fake data and i can see negative power in the curve

To Reproduce
Steps to reproduce the behavior:

Run the inverter_example.py file

Expected behavior
No negative power should be plotted
Additional context
Should the negative part be taken 0 or modded?

Is this still an issue, or did we sovle this?

Is this still an issue, or did we sovle this?

I think this is solved after taking 7day data

Shall we close this then?

Shall we close this then?

Yes this could be closed

Negative production still occurs for me wither I run it for a site in the Caribbean using the GFS model, example output:
Hourly Production (kWh):
2024-09-14 01:00:00: 0.00
2024-09-14 02:00:00: 0.00
2024-09-14 03:00:00: 0.00
2024-09-14 04:00:00: 0.00
2024-09-14 05:00:00: 0.00
2024-09-14 06:00:00: 0.99
2024-09-14 07:00:00: 7.25
2024-09-14 08:00:00: 8.76
2024-09-14 09:00:00: 1.04
2024-09-14 10:00:00: -1.35    <-----
2024-09-14 11:00:00: -1.47    <-----
2024-09-14 12:00:00: 0.63
2024-09-14 13:00:00: 3.66
2024-09-14 14:00:00: 4.09
2024-09-14 15:00:00: 1.59
2024-09-14 16:00:00: 3.03
2024-09-14 17:00:00: 1.63

ICON gives more negatives:
...
2024-09-14 08:00:00: 7.42
2024-09-14 09:00:00: 3.19
2024-09-14 10:00:00: -1.07    <-----
2024-09-14 11:00:00: 0.38
2024-09-14 12:00:00: 0.38
...
2024-09-15 05:00:00: 0.00
2024-09-15 06:00:00: 0.64
2024-09-15 07:00:00: 2.86
2024-09-15 08:00:00: 2.98
2024-09-15 09:00:00: -0.67    <-----
2024-09-15 10:00:00: -2.90    <-----
2024-09-15 11:00:00: -3.05    <-----
2024-09-15 12:00:00: -3.06    <-----
2024-09-15 13:00:00: -2.84    <-----
2024-09-15 14:00:00: -2.32    <-----
2024-09-15 15:00:00: -1.39    <-----
2024-09-15 16:00:00: 0.60
2024-09-15 17:00:00: 0.56
2024-09-15 18:00:00: 0.00

Negative production still occurs for me when I run the script for a site in the Caribbean using the GFS model, example output:
Hourly Production (kWh):
2024-09-14 01:00:00: 0.00
2024-09-14 02:00:00: 0.00
2024-09-14 03:00:00: 0.00
2024-09-14 04:00:00: 0.00
2024-09-14 05:00:00: 0.00
2024-09-14 06:00:00: 0.99
2024-09-14 07:00:00: 7.25
2024-09-14 08:00:00: 8.76
2024-09-14 09:00:00: 1.04
2024-09-14 10:00:00: -1.35    <-----
2024-09-14 11:00:00: -1.47    <-----
2024-09-14 12:00:00: 0.63
2024-09-14 13:00:00: 3.66
2024-09-14 14:00:00: 4.09
2024-09-14 15:00:00: 1.59
2024-09-14 16:00:00: 3.03
2024-09-14 17:00:00: 1.63

ICON gives more negatives:
...
2024-09-14 08:00:00: 7.42
2024-09-14 09:00:00: 3.19
2024-09-14 10:00:00: -1.07    <-----
2024-09-14 11:00:00: 0.38
2024-09-14 12:00:00: 0.38
...
2024-09-15 05:00:00: 0.00
2024-09-15 06:00:00: 0.64
2024-09-15 07:00:00: 2.86
2024-09-15 08:00:00: 2.98
2024-09-15 09:00:00: -0.67    <-----
2024-09-15 10:00:00: -2.90    <-----
2024-09-15 11:00:00: -3.05    <-----
2024-09-15 12:00:00: -3.06    <-----
2024-09-15 13:00:00: -2.84    <-----
2024-09-15 14:00:00: -2.32    <-----
2024-09-15 15:00:00: -1.39    <-----
2024-09-15 16:00:00: 0.60
2024-09-15 17:00:00: 0.56
2024-09-15 18:00:00: 0.00

@peterdudfield guess we'll have to reopen this? Can perhaps cap the values at 0 so that they don't go below

@aryanbhosale is your project / data / models trained only for the UK? The forecast of this lib for my system is completely off.

@aryanbhosale is your project / data / models trained only for the UK? The forecast of this lib for my system is completely off.

It's not exactly my project, I've only worked with integrating solar inverters to get live data,
@peterdudfield would you like to comment on this?

Yea we train on uk systems, but we would be very interested in testing it and possibly expanding it. In principle we should be able to make a global model.
Can you share any plots and code you used? Any comparisons with real data would be great
There could be a chance there are some timezone issues

Here is the code I used @peterdudfield
from quartz_solar_forecast.forecast import run_forecast
from quartz_solar_forecast.pydantic_models import PVSite
from datetime import datetime, timedelta
import json
import pandas as pd
from pv_params import LATITUDE, LONGITUDE, TOTAL_WATT_PEAK, TILT, AZIMUTH

# make a pv site object
site = PVSite(latitude=LATITUDE, longitude=LONGITUDE, capacity_kwp=TOTAL_WATT_PEAK / 1000, tilt=TILT, orientation=AZIMUTH)
# site = PVSite(latitude=51.75, longitude=-1.25, capacity_kwp=1.25)

# Set the timestamp to 5 AM on the previous day
ts = (datetime.now() - timedelta(days=1)).replace(hour=5, minute=0, second=0, microsecond=0)
# ts = datetime.today()
predictions_df = run_forecast(site=site, ts=ts, nwp_source="gfs")

# Save the original predictions to JSON
predictions_df.to_json("qsf.json")

# Load the JSON data
with open("qsf.json", "r") as f:
    data = json.load(f)

# Convert timestamps to datetime objects and power values to a pandas Series
timestamps = [datetime.fromtimestamp(int(ts) / 1000) for ts in data["power_kw"].keys()]
power_values = pd.Series(list(data["power_kw"].values()), index=timestamps)

# Calculate total production per day
daily_production = power_values.resample('D').sum()

# Calculate total production per hour
hourly_production = power_values.resample('H').sum()

# Output results
print("Daily Production (kWh):")
for date, production in daily_production.items():
    print(f"{date.date()}: {production:.2f}")

print("\nHourly Production (kWh):")
for datetime, production in hourly_production.items():
    print(f"{datetime}: {production:.2f}")

# Optionally, save the results to a file
with open("production_summary.txt", "w") as f:
    f.write("Daily Production (kWh):\n")
    for date, production in daily_production.items():
        f.write(f"{date.date()}: {production:.2f}\n")

    f.write("\nHourly Production (kWh):\n")
    for datetime, production in hourly_production.items():
        f.write(f"{datetime}: {production:.2f}\n")

It's kind of weird that a PV production forecast would ever return a negative value 🙃

Thanks. Yea negative numbers are odd.
What are the constant like lat and lon you used? Just so we can reproduce.

@peterdudfield I was checking it for Antigua.

Thanks. I'll have to test out there.
Ultimately the ML model is trained on UK sites, but it should work globally. We only trained on UK sites, as we have UK data

Hi @iRonin, I just ran a forecast for Antigua, I got some results like this. Is this what you get?

""" Example code to run the forecast"""
from quartz_solar_forecast.forecast import run_forecast
from quartz_solar_forecast.pydantic_models import PVSite
from datetime import datetime, timedelta
import plotly.express as px

def main():
    # make input data
    site = PVSite(latitude=17, longitude=-61, capacity_kwp=1.0)

    ts = datetime.now()

    # User has three options for the 'nwp_source': 'icon', 'gfs', or 'ukmo'.
    predictions_df = run_forecast(site=site, ts=ts, nwp_source="icon")

    print(predictions_df)
    print(f"Max: {predictions_df['power_kw'].max()}")

    fig = px.line(predictions_df.reset_index().rename(columns={"index": "date"}),
                  x="date", y="power_kw",
                  labels={"power_kw": "Power (kw)"},
                  title="Solar Energy Prediction")
    fig.show()

if __name__ == "__main__":
    main()

I'll email you my coordinates as these seem to still produce negative forecast values.

I'll email you my coordinates as these seem to still produce negative forecast values.

Thanks, and what about for the coordiantes above, does it work for you?

Thanks, and what about for the coordiantes above, does it work for you?

No negative values but your coordinates are somewhere close to St. Lucia.
It seems the negative values start happening once you add capacity. Try this:
site = PVSite(latitude=17.0742, longitude=-61.8869, capacity_kwp=15.48)

Ah interesting, out training set was using capacities from 1 - 4 is kwp, so could you try it with a smaller number?
We could also scale the results if the capacity is above 5. I.e

installed capacity need is 20
run forecast model with 4kwp and then
add warning, "The ML model was trained with system no larger than 4kwp, therefore we have run the model with 4 kwp and scaled up the results"
then scale the forecast from 4 kwp to 20

@zakwatts I'd be interested in your opinion on this?

Default 1kW works.


Problem with queue in Rails 7.2

Hello,
First of all, thanks for the great gem and all the effort!
In Rails 7.2 and sidekiq-cron 2.0, SomeJob.queue_name returns a proc if not set explicitly:
class SomeJob < ActiveJob::Base
end

SomeJob.queue_name
=> #<Proc:0x0000000331a82f08 activejob-7.2.2/lib/active_job/queue_name.rb:55 (lambda)>
Sidekiq::Cron::Job.new(name: 'something', class: 'SomeJob', cron: 'every 10 minutes')
=> #<Sidekiq::Cron::Job:0x00000003335ffdd0
 @active_job=false,
 @active_job_queue_name_delimiter=nil,
 @active_job_queue_name_prefix=nil,
 @args=[],
 @cron="every 10 minutes",
 @date_as_argument=false,
 @fetch_missing_args=true,
 @klass="SomeJob",
 @last_enqueue_time=nil,
 @message={"queue"=>#<Proc:0x0000000331a82f08 activejob-7.2.2/lib/active_job/queue_name.rb:55 (lambda)>, "class"=>"SomeJob", "args"=>[]},
 @name="something",
 @namespace="default",
 @queue=#<Proc:0x0000000331a82f08 activejob-7.2.2/lib/active_job/queue_name.rb:55 (lambda)>,
 @queue_name_with_prefix="some_prefix_#<Proc:0x0000000331a82f08 activejob-7.2.2/lib/active_job/queue_name.rb:55 (lambda)>",
 @retry=nil,
 @source="dynamic",
 @status="enabled",
 @symbolize_args=false>

This leads to inability to execute the scheduled job.
The workaround is either to pass queue: explicitly to Sidekiq::Cron::Job.new or define queued_as explicitly in SomeJob.
But I believe it might break some production code and get unnoticed.

Hey @pyromaniac Do you know when this started to happen? Do you detected this with the v2 release?

Hey @markets, sorry but no. Noticed it on 2.0 upgrade.

Would you like to explore a solution?

In my setup, the problem seems to stem from this line
https://github.com/sidekiq-cron/sidekiq-cron/blob/b93aec83d3a8c31834b071d4da61f4f48cf97aba/lib/sidekiq/cron/job.rb#L63
in which message_data['queue'] is a Proc.
This may or may not be related to an effort in Rails where they wanted to allow the QueueAdaptor to deceide on the default queue name, rather than ActiveJob asserting it, hence a Proc rather than a String (Sorry, couldn't find a link to that effort yet).

The matching line in v1.12.0
https://github.com/sidekiq-cron/sidekiq-cron/blob/3bce29b908239f5fb40ca0794582aaaf21e07079/lib/sidekiq/cron/job.rb#L308
gets message_data['queue'] as "default". I used Sidekiq 7.3.2 for both explorations.

I guess this is the root cause:
https://github.com/sidekiq-cron/sidekiq-cron/blob/v2.0.0/lib/sidekiq/cron/job.rb#L806-L807
It's new in v2.0.0, but since .queue_name is a Proc, this does not work as intended.

Thanks for the investigation @leoarnold 👌🏼 I think we can fix it by something like:
klass.queue_name.respond_to?(:call) ? klass.queue_name.call : klass.queue_name

Please, feel free to send a patch.

@markets not really:
SomeJob.queue_name.call
NoMethodError: undefined method `default_queue_name' for class Class
from gems/activejob-7.2.2/lib/active_job/queue_name.rb:55:in `block (2 levels) in <module:QueueName>'

I'm not sure yes what did they do there.

@pyromaniac PR #517 is up. Could you give it a test run on your systems?
gem "sidekiq-cron", github: "leoarnold/sidekiq-cron", branch: "leoarnold/queue_name"

@pyromaniac @leoarnold New version pushed to RubyGems: https://github.com/sidekiq-cron/sidekiq-cron/releases/tag/v2.0.1


DEC-950 (v3.0): Creating a new item does not show thumbnail on search

Added special handling of items after a honeypot job successfully saves. It will now reindex the item since the indexed doc depends on the thumbnail generated by honeypot.

Coverage increased (+0.005%) to 96.149% when pulling def5b18d8f28f55d798d954a0594d00144af7c55 on DEC-950-Bugfix-Index-new-item-thumbnail into 6704f038725d2b17d3d82fafa3c36988292a0398 on v3.0.

👍

👍


Find all references broken in standalone editor

https://microsoft.github.io/monaco-editor/
fyi @isidorn
simpleServices.ts:148 Error: [createInstance] ReferenceWidget depends on UNKNOWN service uriDisplay.
    at InstantiationService._createInstance (instantiationService.ts:88)
    at InstantiationService.createInstance (instantiationService.ts:73)
    at StandaloneReferencesController.ReferencesController.toggleWidget (referencesController.ts:101)
    at ReferenceAction.run (referenceSearch.ts:91)
    at ReferenceAction.EditorAction.runEditorCommand (editorExtensions.ts:218)
    at editorExtensions.ts:165
    at InstantiationService.invokeFunction (instantiationService.ts:57)
    at StandaloneEditor.CodeEditorWidget.invokeWithinContext (codeEditorWidget.ts:331)
    at ReferenceAction.EditorCommand.runCommand (editorExtensions.ts:158)
    at handler (editorExtensions.ts:90)

@alexandrudima appologies for breaking the standalone editor. And thanks for fixing this.


model data

Please approve my data request to your email. IP102: Insect Pest Recognition Database
I see no reply for several day now<EMAIL_ADDRESS>

The dateset used here (and linked in the README) is not provided or maintained by us. As such, we do not have any control over giving you access to it and approving your requests. Please contact the website linked for any clarifications.

ok, thanks. I got it from the owner github.


Add project website + docs (Docusaurus)

👋  Thanks for a great project! It's going to be awesome to transform all my Dynamo queries into something readable using this lib.
Many other projects in this space use Docusaurus as their website to get an easy website to setup + nice looking docs. Thought it might be a good idea also for this project to really showcase all it's glory 👏
This PR adds a new folder www with a complete website and all Docs of the current implemented Dynamo functions.
A lot of this PR is mostly a combination of Hasura, tRPC and Kysely which all use Docusaurus 🐲
Run instructions:
cd www
pnpm install
pnpm start

Here is some screenshots how it looks:

This is just compiled into JS + CSS + HTML so it can easily be hosted anywhere! Most projects I see tend to use Vercel (which has a free hobby plan that should suffice?) for this but it can be hosted anywhere. Don't know where tsynamo.dev currently is but it should be a breeze to deploy!
Let me know what you think 🎉

Thank you for creating this PR! ⭐  I will definitely spend some time to set it up and run it on my home server! 🚀


json mode outputs extra brackets or doesn't include

Description of the bug:
Experiencing very intermittent but troubling behavior where someone with response_mime_type set to 'application/json' and a schema in the prompt, gemini 1.5 pro either includes extra brackets or fails to close out with adequate brackets.
Actual vs expected behavior:
Actual behavior: gemini 1.5 pro outputs invalid json
Expected behavior: gemini 1.5 pro outputs valid json
Any other information you'd like to share?
here is an example I produced in colab to specifically repro and troubleshoot (note this has never happened in google AI studio where we prototype). This started happening in our production app. To repro started running my prompts in colab to could isolate to an API call vs something in our app.
Here is a snip of the json output:

Here is the error when ran through a simple formatter online:

I remove the 2 trailing brackets:

and it formats just fine
**Note, far more common is the last 2 brackets of the json output are not included. When we add it works fine.

@gitcagey, Running the example code in Generate JSON output with the Gemini API, I can see the response output in JSON format without any extra brackets. Can you please share an example code or gist to reproduce the issue on our end. Thank you!
Ref: screenshot below

@gitcagey  can i see your code and the prompt you are sending did you include the json mime type?

@singhniraj08 Didn't want to post the entire code/prompts here as is for a client. I put in a secret gist and can send to you. Also have a colab where was able to repro similar behavior. Our json is a bit more complicated than what is in the examples and cookbooks for gemini, like the recipe example, as ours is nested.
@LindaLawton yes, mime type is set to application/json but only passing schema in prompt. Not using response_schema yet.

Not using response_schema yet.

response_schema should work better, since that's necessary to engage the constrained decoding.

Colab

Now that I've seen this my main feedback is that you're asking it to do a lot in 1 request.
Consider using prompt chaining to make this easier for the model: "Generate the title, description and list of section titles", "for section {n}, {sections[n].title}, generate the detailed description (100 words) and the list of sub-sections"...
You can use a simpler schema for each, and join all the partial responses together to make that schema you actually want.

2 extra or missing brackets ... 2-3 minutes per call

I failed to replicate either of these, I was getting cut off for max_tokens, and is was sometimes taking >10min.

Okay, I'm able to reproduce this now. I'll come back with more details.

Oh, interesting. The success statistics are very different with response_schema if you drop the text copy of the schema from the system instructions.
I get:

Flash - 1/20

Can't match up the braces.

Pro  response_schema + text scehma in SI - 9/20

often rambles until max_tokens

Pro  text schema in si only- 19/20

rarely mixes up the braces

Pro response_schema only 20/20

seems good.


Automated Testing for OCM CLI

User Story:
As a developer or contributor to the OCM project, I want to have automated testing in place to ensure the reliability and functionality of the OCM CLI and related components. This will help identify and fix issues early, improve code quality, and provide a robust user experience.
Epic link:

open-component-model/ocm-project#125

List of Potential Tasks

Create end-to-end (E2E) tests for OCM commands and their common variants to cover different use cases.
Develop a simple OCM GitHub action that verifies the basic functionality of the CLI without requiring sources, resources, or components.yaml.
Implement test scenarios and scripts to cover 80% of the common use cases of OCM.
Set up a testing framework (e.g., using a testing library or framework) for automated testing of OCM.
Create test data and fixtures to simulate various scenarios and edge cases.
Write unit tests for critical functions, modules, or libraries used in the OCM project.
Integrate the automated tests into the project's continuous integration (CI) pipeline.
Define a code coverage threshold and ensure that the tests meet or exceed the defined coverage percentage.
Establish a process for regularly updating and maintaining the automated tests as new features and changes are introduced.

Definition of Done

[ ] E2E tests cover a comprehensive range of OCM commands and their common variants.
[ ] The simple OCM GitHub action is implemented and verifies the basic functionality of the CLI.
[ ] Test scenarios and scripts cover 80% of the common use cases of OCM.
[ ] A testing framework is set up and integrated into the CI pipeline.
[ ] Unit tests are written for critical functions, modules, or libraries.
[ ] Test data and fixtures are created to simulate various scenarios and edge cases.
[ ] The automated tests meet or exceed the defined code coverage threshold.
[ ] A process is established to update and maintain the automated tests regularly.

Related issues:

open-component-model/ocm-project#118 (just mention the number of the related issue here, it will appear as clickable link later)
open-component-model/ocm-project#117 (just mention the number of the related issue here, it will appear as clickable link later)

What remains to be done here? The integration test thingy is running and working, isn't it?


[Snapshot download] allow some filenames to be ignored

The snapshot is incredible useful if one doesn't know all the exact filenames, but it has the downside of always downloading all contents in a repo. While we can't prevent the model to re-download unchanged files if the sha of the whole model repo has changed, we could allow to only download certain files that pass a passed regex.
E.g. PyCTCDecode makes use of snapshot_download in https://huggingface.co/patrickvonplaten/wav2vec2-large-xlsr-53-spanish-with-lm/tree/main but in only needs the files language_model and alphabet.json. It would be nice to be able to specify this with a allowed_file_regex parameter. This would prevent to download all three model files in https://huggingface.co/patrickvonplaten/wav2vec2-large-xlsr-53-spanish-with-lm/tree/main unnecessarily.

Thanks for the pointer @osanseviero . I've slightly changed the PR to accept both allowed and ignored regex and to base the regex on Unix style rather than Python re-like style.
The reasons are:

Unix style is more intuitive in our case as we always deal with file names. E.g. it's a very common case to only download certain file extensions which is intuitively *.json with Unix style but not at all intuitive with Python's re regex (see https://stackoverflow.com/questions/16087450/python-regular-expression-match-with-file-extension)
Another common use case is to exclude certain files / file extensions. "Not"-matching regex is not really intuitive so I think it's nicer to just add another argument for this.

I've also added some docs. Would be great if you could take a second look @osanseviero @LysandreJik @stevhliu

Super cool feature! star_struck
One question I have (sorry if it is a bit naive or if this type of scenario isn't likely!) is will allow_regex also look inside a folder for a specific file? For example, in the repo here, if you only want json files, will allow_regex also look inside the language_model folder and download the attrs.json file in there?

Yes, this works as expected :-) In this case the filenames would be:

config.json
language_model/attrs.json

both those filenames would match the *.json regex

Thanks for the reviews! Think I got an F in spelling and grammar haha

CI failures seem unrelated -> merging


Very slow to upload on /bzz with HDD

Summary
Currently upload is a very slow procedure, that can't offer a good UX for large files. It should speed up data reception, return very fast the hash reference, and take its time for sync with the net.
Motivation
Upload UX would be very improved, permitting to disconnect uploading client in the shortest time.
Implementation
Chunks are stored locally on node with a "sync pool" that works like a buffer, and the sync task will consume chunk by chunk from the pool pushing to the net. Chunks on pool should be already accessible from node, and after they are synced, they can be removed from it, and eventually processed by GC.
Drawbacks
Pool could become full of unprocessed chunks, but this is anyway a lot better than keep all clients waiting looong time for upload and disconnect.

IIRC, uploads already stage the chunks locally and push them to the swarm without holding up the original requester by default.    There is a new upload parameter to deliver the chunks directly to the swarm, but the default is still to stage, respond, and then work off the pushing.  Someone please correct me if I'm wrong on this.

I see, on POST /bzz API there is a parameter swarm-deferred-upload set default at true.
Anyway, my test uploads are very very slow, I'm working with a local node connecting with Bee Dashboard. I see that he is passing on header also parameter swarm-collection: true. Maybe Bee is slowing down trying to interpretate file like a collection? (it isn't)
I don't see any relevant log on node.

Is the node you are uploading through running on an SSD and a reasonably fast processor?  Bee does need to split the file into chunks, store chose chunks, build a data structure to string the chunks together and finally put a manifest over the chunks before it can return the final content ID.  All of those chunks are stored to the disk by the original uploading node and that can take some time.  I don't deal with large files, so I cannot provide any timings for comparison.  I upload millions (literally) of small (~64KB) files in my OSM tile set and it does take days just to push them into the local node.

The node is running on a NAS, it doesn't have an SSD, but 4 HDD in raid5, and it wasn't at full charge.  It doesn't appear to be full, even if actually I can see a bottleneck on clef, that is not able to scale over a singole core. Process /usr/local/bin/bee-clef is always around 25% of cpu load.
I've tried to load a file of 72.991.431 bytes, and it kept 1h52m40s, for a speed of ~10kB/s of upload. Moreover, process ends with a 500 error, and node shutted down kademlia.
I will try to load on a node with ssd, anyway I'm sure that we can do better. For example, if clef is so slow to process (I'm using keys generated with --lightkdf option), don't try to sign everything during upload, put data in pool and sign chunks with the sync process.

I will try to use SSD, but un upload speed of ~10kB/s is a no-sense, in any case.
Clef have to scale on more cores, and this is a point (I will study more in deep), but I see an average disk load at ~70%. Trying to load again another file, I see now an average load of ~20%, so definitely not this.  Still seeing clef at 25% on cpu.

Thanks for opening this @tmm360.
Please bear in mind that using clef will significantly slow down uploads. It slows down our integration tests by a significant margin. Have a look here and here. These two runs are on the same PR. Have a look at the settlements test execution time. With clef it takes 5m33s and without 4m10s (25% difference). The test is not necessarily deterministic in the amount of time it needs to wait for certain conditions to be met so this is not really an exact number either. But you get the gist.
Clef does a lot of work when signing so on large uploads the performance impact will be noticeable.
Also, worth to note that we aren't taking spinning discs in mind right now. Storage on spinning discs is a complete paradigm shift and needs to be structured in a very specific way in order to leverage their properties in a way that keeps performance reasonable. Right now we do not operate under the assumptions that users will use spinning discs (in other words our storage abstractions aren't built to cater for this use-case). I also suspect that leveldb (which we use under-the-hood) will perform very badly on uploads due to constant sorting of the pages. A random HDD datasheet for a brand-new drive shows that random access time on average is 4.16ms(!!!). Leveldb inserts will almost never be sequential (except maybe for when the db is nearly empty (you get the point)...

general recommendation is to use SSDs
we will define more detailed hardware requirements in the near future.


Demos do not work

JSfiddle console:
Failed to load resource: the server responded with a status of 404 () - vue-notifyjs.min.js
Uncaught ReferenceError: vueNotifyjs is not defined at window.onload ((index):54)

Thanks @karambafe The demos should work now. They were pointing to some css/js files from the repo which were removed. Now they use unpckg directly


Can you mention whether the recommended flags should be added to CFLAGS or CPPFLAGS?

I'd say CFLAGS because it already contains -Os which should be removed as otherwise it would interfere.
https://git.suckless.org/dwm/file/config.mk.html#l31


Create es_CO.po

lang/es_CO: bring Colombian Spanish to 1% completed

Hi Pier, very glad to see this. :) Do you agree to license your translation work under the 2 Clause BSD license?

Hello, glad to meet you. Yes, i agree to license my translation work under the 2 Clause BSD license.

I hooked up the language file to the build system. We can enable this language's selection in the GUI when 30% is reached. How does that sound?

And thanks! :)


Testnet Encrypted ExtKey

Hi, I am having trouble generating an ExtKey, encrypting it, then restoring it - specifically with Testnet.  I can successfully get it to work with Main as shown here:
Network network = Network.Main;

ExtKey extKey = new ExtKey();
string extPubKey = extKey.Neuter().GetWif(network).ToWif();
// xpub661MyMwAqRbcFbAZaNJrgn2fBgjkFCWoBjUAnMisnMtt4qvtqNNESfAwusT31U4Eb43z8YdA36zrpf7vcsKvH5yi9vaYzMzftHZC7gb44n5
string extPrivateKey = extKey.GetWif(network).ToWif();
// xprv9s21ZrQH143K3766ULmrKe5vdeuFqjnwpWYZyyKGE2MuC3bkHq3ytrrU4biSM1nxfUDkXo4gopNSCkG4SnLf5TGd5m4mJ1FCqKHphSjUTa6
string encryptedPrivateKey = extKey.Key.GetEncryptedBitcoinSecret("abc123", network).ToWif();
// 6PYW7angZfaQ3SZdhDm8CsmzM9Gaue7LYxXwLCFXqgLEa96CeKTQMeNBfH

Key key = Key.Parse(encryptedPrivateKey, "abc123", network);
ExtKey extKey2 = new ExtKey(ExtPubKey.Parse(extPubKey), key);
string extPrivateKey2 = extKey2.GetWif(network).ToWif();
// xprv9s21ZrQH143K3766ULmrKe5vdeuFqjnwpWYZyyKGE2MuC3bkHq3ytrrU4biSM1nxfUDkXo4gopNSCkG4SnLf5TGd5m4mJ1FCqKHphSjUTa6

As you can see the private key's are the same.  However when changing the network to Network.TestNet I get the following error:
System.FormatException: Invalid network
at NBitcoin.Network.CreateFromBase58Data(String base58, Network expectedNetwork) in Network.cs:line 372
at NBitcoin.Network.CreateFromBase58Data[T](String base58, Network expectedNetwork) in Network.cs:line 381
at NBitcoin.Key.Parse(String wif, String password, Network network) in Key.cs:line 24

I'm not sure if I am doing something wrong in the above code, please advise.
Cheers

The root of the problem is that from BIP 38, there is no testnet base58 prefix specifically for testnet.
Thus, the network is not stored into the base58 string.
However, I admit such code should not break. I will update and release a new nuget version today fixing this problem. Thanks for reporting.

Fixed in f3dfe2dea17988717f161c34c340674114d177fa
Nuget NBitcoin updated, run,

Update-Package NBitcoin

More info.
Keep in mind that the base58 of your encrypted key do not store the Network information.
So if you generate an encrypted key on TestNet, and parse on MainNet you'll get "invalid password".
Reopen the issue if any remaining problem.

Thanks Nicolas, really enjoy using NBitcoin as well!


⚠ Samsung has degraded performance

In 2cfb24a, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2469 ms

Resolved: Samsung performance has improved in e834df6.


Android responisiveness

Having issues with the responsiveness in Android Gmail App. It used to work, but now I'm having issues. What I mean is when using the Grid layout, I have two images set next to each other. On iPhone and other mobile devices, the images stack, however on Android they still remain side to side
Example:
How it looks on Android

iPhone:

I'm positive this used to work in Android, though it seems something has changed. Is this an update on Android's part or on Zurb's?

Foundation for emails 1.x and now 2.x have never worked responsively for me in the Gmail app. I'm not aware that I am doing anything wrong... correct inlining, testing using pasted html using services like Putsmail and so on. Every other mail client seems fine. It has me stumped if others have this working.

My issue is I was using the grid layout instead of the block-grid layout. If you go the docs here and go to the compatibility section you'll find that only block-grid works with gmail

I am somewhat ashamed to say that I only read that afterwards. However it does not change the fact that v2.x is the same and gmail is simply ubiquitous. The system I reference and have used does not suffer from this problem.
From: Adam Voliva<EMAIL_ADDRESS>Sent: Thursday, 3 March 2016 3:30 p.m.
To: zurb/foundation-emails
Cc: tazzydemon
Subject: Re: [foundation-emails] Android responisiveness (#152)
My issue is I was using the grid layout instead of the block-grid layout. If you go the docs here http://foundation.zurb.com/emails/docs.html  and go to the compatibility section you'll find that only block-grid works with gmail
—
Reply to this email directly or view it on GitHub https://github.com/zurb/foundation-emails/issues/152#issuecomment-191547673 .  https://github.com/notifications/beacon/ABeowv_XDjxiDs7XgZU8oaP34Bm6nTeTks5ppkezgaJpZM4HAryQ.gif


use system() to avoid IPC::Cmd dependency;   fix PATH and PERL5LIB for module makefiles

this closes #349

yes -- forgot to add that..  thanks..


codeceptjs/puppeteer cannot find ANY of the elements on a page, waitForNavigation never finishes

Steps to reproduce
So I cannot load or find a single element on a page. I use I.amOnPage() to navigate to the correct page. but when the code gets to I.waitForNavigation it never resolves. it just pauses there forever. I tried everything suggested here but nothing changes that. so I tried I.waitForElement('.body') and nothing. according to puppeteer/codeceptjs there is no body element on this page. it can find the iframe alright but it cannot find the body or any other element by text, css or xpath. it seems the only stuff it can find is the navigation menu.
Tell us about your environment:

Puppeteer version: whatever the latest version is
Platform / OS version: Mac OS whatever the most recent is
URLs (if applicable):
Node.js version: most recent

What steps will reproduce the problem?
Please include code that reproduces the issue.
I.amOnPage('https://artemis-test2.atlassian.net/wiki/plugins/servlet/ac/com.nurago.confluence.plugins.treecopy/copy-page-tree-confluence?page.id=25821196&space.key=TEST1');
I.waitForNavigation();
I.wait(4);
I.waitForElement('.ap-iframe');
I.waitForElement('.body');

What is the expected result?
the expected result is that after I.waitForNavigation() the code then interacts within the body element. as it stands now it says there is no body element on the entire page. it is impossible to interact with any of the elements on the page.

I'm also a CodeceptJS uses i'd suggest that you open this issue on codecepts github: https://github.com/Codeception/CodeceptJS/issues Puppeteer project won't know anything about this syntax.
There is also a codeceptjs slack: http://bit.ly/chat-codeceptjs

I already posted it on the slack channel and haven't heard anything

puppeteer will just close this because not relevant to them, so raise it there:
From my experience you shouldn't use I.waitForNavigation like this because I.amOnPage waits for page load to have occurred so you don't need I.wantForNavigation afterwards.

I created a new issue on the codeceptjs. but even if I skip out on waitForNavigation() it still says there are no visible elements on the page. any experience with this issue?


fix: fix remove import

Signed-off-by: moweiwei<EMAIL_ADDRESS>
What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for reviewers:

Does this PR introduced a user-facing change?

Additional documentation, usage docs, etc.:

Codecov Report

Merging #297 (b8532c6) into release-1.3 (6b3cd56) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release-1.3     #297   +/-   ##
============================================
  Coverage        46.20%   46.20%
============================================
  Files                7        7
  Lines              606      606
  Branches           171      171
============================================
  Hits               280      280
  Misses             252      252
  Partials            74       74


Typo "Jupyter notebook"→"Jupyter Notebook"

https://docs.microsoft.com/en-us/azure/hdinsight/spark/apache-spark-custom-library-website-log-analysis

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

@hyoshioka0128 We've seen several of these pull requests already. To be more efficient, could you please do a single pull request that contains a bulk edit with this capitalization change across all of the affected documents?

Fixed this in a batch. #please-close


hyprland: 0.31.0 -> 0.32.0

Description of changes
Update 0.31,0 to 0.32.0

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] 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

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2896

I've already created a PR https://github.com/NixOS/nixpkgs/pull/266249.

I've already created a PR #266249.

oh sorry. Closing mine then.


chore: revert installation method change, dependency not yet published

Revert to old installation method until 'scheduled_task' cookbook is published to the community.

Linking issue this addresses: https://github.com/daptiv/dotnetframework/issues/48

@linusruth I use https://www.packer.io/docs/provisioners/powershell.html#elevated_execute_command to run Chef elevated, then your cookbook doesn't need to do anything fancy

Thanks for the tip, @sneal.  I'll give that a shot!


Mission & Vision Page Component

Deliverables

Add Mission & Vision Page's Component.
Color you can pick from here

Sample

Additional context

Tech/Framework:- React Js

@codewithvk can I work on this?

@vedikaag99 go ahead!

Hi @codewithvk does this look good to you? Or is there any changes that I need to do?
https://user-images.githubusercontent.com/67699840/112451590-b0b3cf80-8d7b-11eb-8f64-01ada97acbe7.mov

@vedikaag99 LGFM:)

Can I work for this issue?


Compile error  error: 'AWS_IO_INVALID_FILE_HANDLE' undeclared

Describe the bug
Building SDK 1.9.268 under Linux/gcc leads to the error above.
It looks like the symbol is renamed to DEPRECATED_AWS_IO_INVALID_FILE_HANDLE in aws-c-io/include/aws/io/io.h, but still in use in aws-c-io/source/windows/file_utils.c and aws-c-io/source/posix/file_utils.c
Expected Behavior
The code should compile
Current Behavior
Compilation stops with an error
Reproduction Steps
git-clone (with submodules) from gitlab on the tag 1.9.268
Configure with cmake 3.20.5 (I am using s3 and meteringmarketplace only)
Possible Solution
If the symbol is deprecated, stop using it in source/windows/file_utils.c or "fix" it by renaming as in source/io.c
Additional Information/Context
No response
AWS CPP SDK version used
1.9.268
Compiler and Version used
gcc 7.4.0
Operating System and version
CentOS 7

Also the include of aws/common/file.h (by file_utils.h) causes a conflicting definition for aws_path_exists().
Reverting the DEPRECATE_ marker and changing include aws/common/file.h to aws/io/io.h at least fixes the compilation.

Can you list the exact cmake command that you are using after git clone?
Also I don't see the file_utils.c that you mentioned in either location:
https://github.com/awslabs/aws-c-io/tree/main/source/windows
https://github.com/awslabs/aws-c-io/tree/main/source/posix


fix: handling of retried scan jobs

I noticed this error in one of our clusters today:
{"level":"error","ts":"2023-02-07T14:45:41.079Z","msg":"Reconciler error","controller":"job","controllerGroup":"batch","controllerKind":"Job","Job":{"name":"deployment-ois-oracle-18-ois-oracle-18-ee805-e7962","namespace":"image-scanner-jobs"},"namespace":"image-scanner-jobs","name":"deployment-ois-oracle-18-ois-oracle-18-ee805-e7962","reconcileID":"ef8bfc2d-a040-41c7-9ea2-870f81694323","error":"expected number of job pods to be 1, got 3 ","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.2/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.2/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.2/pkg/internal/controller/controller.go:235"}

And I think we introduced retries on scan jobs without thinking carefully about the error handling.
This PR handles the fact that there might exist more than one pod per scan job. The logic suggests using the newest pod as the source of truth for the scan job result.

Discussed in today's stand-up, and we agreed to instead return to backoffLimit: 1.


Get the date from the content filename

Summary
Jekyll uses a convention to name the files:
yyyy-mm-dd-slug.md
If the files could be created this way, many Jekyll users could switch to Gridsome without having to add the date manually.
Motivation
With this convention the files are sorted in the folder automatically.
It also takes the date from the url without having to add it inside the file and the slug to generate the url of the file inside the web.

-1, file name and publication date should be two separate things, especially considering the many possible data sources and headless CMS integrations. With API data sources, there is no filename.
Plus, what if I have some other file naming pattern? Also, ‘date’ can have many different meanings for a resource :)

I agree, I think you can put a 'date' field and a 'fileDate' field.
In the gridsome configuration file, you could specify which pattern you want to take for the filename


Not working correctly on Windows Server 2008 R2

Attempted to execute from Windows 2008 R2 server, but it appears it won't send special characters (eg. shift, Windows key), so it doesn't execute anything. It is able to still send normal letters though.
I did have to change AxMsRdpClient9NotSafeForScripting to AxMsRdpClient6NotSafeForScripting, as it's latest supported version on Server 2008. Also tried changing other settings with no success.

Changing the client and settings versions will give less features. I haven't tested on a Win Server 2008 R2 system. Was the language english? Seems weird it wouldn't send special characters.


Allow to install the latest version

It could be great to have a dctlenv install-latest or dctlenv upgrade or dctlenv use latest to automatically download, install and use latest available version 😉

Let's go for dctlenv install | use latest !

Please update dctlenv to 0.1.2 with git pull which added the keyword latest to install and use commands.