Feature Request: Key binding

Hi Timmeey86! Thank you for the mod that early in FS25 history!
Apparently the key binding for unloading unfinished bales is hard coded, am I right?
I'm playing FS25 primarily with a XBox controller atm and have two key bindings in the F1 menue for "Unload unfinished bale early". One is the standard key binding for unloading (finished) bale (RB + Y) and additionally there is LS + DPdown. As I accidentally unloaded unfinished bales by mistake I wanted to reset the default RB + Y to not take effect for the mod but only for the ingame standard (unloading finished bales) and only use the second LS + DPdown I figured there is no key binding option for this mod in the key binding screen but think that would be great (in my case especially for avoiding unloading unfinished bales by mistake via the standard key binding RB + Y).
Long story short: As long this isn't a bug on my side I would like to suggest to implement the possibilty to set the key bindings – if you like and if it's possible.
Thanks for reading!

Hi, I'll try implementing this, it might take a while

FS25_UnloadBalesEarly.zip
Here you go

Thank you so much, Timmeey86 for taking a look into it. It works nicely so that you can assign individual keys to the function. Great!
I don't want to come off picky but the action to unload an unfinished bale is still as well set to the default keys. I assume it is bound to the default key binding of unloading bales from basegame. Would it be possible to set the default key binding of the mod to the same? So that when a user changes the key bindings in the key binding screens it won't be left on the default key binding (RB + Y)?
It's just a question. This is you mod of course. I can live with it so I have to learn to be careful when having less than 100 % in the baler. :D But thanks anyway!!

I think the default binding just uses "Tool Function 4". I don't think it's a good idea for a mod to change the binding for Tool Function 4 since there are also other things bound to that by the base game


Cannot read properties of undefined (reading 'queryClient')bug:

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
1.3.3
Current Behavior
This is really frustrating. why does wagmi feel buggy all of a sudden. nothing works anymore geez. i keep getting this error :
Cannot read properties of undefined (reading 'queryClient')
TypeError: Cannot read properties of undefined (reading 'queryClient')
    at WagmiConfig (http://localhost:3000/static/js/bundle.js:122154:22)
    at renderWithHooks (http://localhost:3000/static/js/bundle.js:54106:22)
    at mountIndeterminateComponent (http://localhost:3000/static/js/bundle.js:57392:17)
    at beginWork (http://localhost:3000/static/js/bundle.js:58688:20)
    at HTMLUnknownElement.callCallback (http://localhost:3000/static/js/bundle.js:43698:18)
    at Object.invokeGuardedCallbackDev (http://localhost:3000/static/js/bundle.js:43742:20)
    at invokeGuardedCallback (http://localhost:3000/static/js/bundle.js:43799:35)
    at beginWork$1 (http://localhost:3000/static/js/bundle.js:63673:11)
    at performUnitOfWork (http://localhost:3000/static/js/bundle.js:62920:16)
    at workLoopSync (http://localhost:3000/static/js/bundle.js:62843:9)

Expected Behavior
No response
Steps To Reproduce
Everything is set up properly. Here is my code
import {
  configureChains,
  createConfig,
  WagmiConfig,
} from 'wagmi';
import { mainnet, bsc, arbitrum } from 'wagmi/chains';
import { alchemyProvider } from 'wagmi/providers/alchemy';
import { publicProvider } from 'wagmi/providers/public';

import {
  RainbowKitProvider,
  darkTheme,
  getDefaultWallets,
} from '@rainbow-me/rainbowkit';

const { chains, publicClient } = configureChains(
  [mainnet, arbitrum, bsc],
  [
    alchemyProvider({ apiKey: "xxxxxx" }),
    publicProvider()
  ]
);

const projectId = "xxxxxxx";

const { connectors } = getDefaultWallets({
  appName: 'Sync main',
  projectId: projectId,
  chains
});

const wagmiConfig = createConfig({
  autoConnect: true,
  connectors,
  publicClient
})

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    {/* <ChakraProvider> */}
      <WagmiConfig client={wagmiConfig}>
        <RainbowKitProvider chains={chains} theme={darkTheme()} >
          <App />
        </RainbowKitProvider>
      </WagmiConfig>
    {/* </ChakraProvider> */}
  </React.StrictMode >
);

Please can anyone tell me what i'm doing wrong.
Link to Minimal Reproducible Example (StackBlitz, CodeSandbox, GitHub repo etc.)
No response
Anything else?
No response

Use the config prop instead of client
https://wagmi.sh/react/WagmiConfig#config


Task E5.3 Full comparative summary outputs

This task is for the rework of the summary panel to support comparisons between model runs and so it shows difference from base case as the default. This is currently implemented, as of filing the issue, but the following items are outstanding or known issues with the feature as-released:

[x] Fix options not displaying properly in Washington where menu has more than 3 items
[ ] Add summary of applied filters above the displays. We'll need to make sure to keep this up to date as/if we change the way filters are displayed.
[ ] checkboxes to remove items from summary table? Basically an options section where we can trim the table columns
[ ] tooltips to explain individual items in the table and what they mean
[ ] reminder that filters above are obeyed - need some way to indicate prominently that the results they're seeing are filtered data - Need to think about how to display this so that people remember it when they switch tabs
[ ] Basic text on interpreting table
[ ] Documentation for this new feature
[ ] Check for multipliers for individual columns, not for showing or not showing the table - I think this refers to how, in the code, we check to make sure all the multipliers exist to determine if we can display the table or not. We should check for each column's multipliers, that way the new feature degrades more gracefully and we have only one feature to maintain if we don't have IMPLAN data. If we do this, we need to remove the old fallback summary calculation display (which was never a full feature).
[ ] Fix -0 displaying - get it to not have a negative sign in front of zero. Presumably some kind of rounding error?
[ ] Changelog update
[ ] Should we actually do calculations by region and crop to support comparison to baseline? I think this item refers to whether or not we actually need to match individual rows for calculating comparison values or not. Or whether we can compare aggregates. I'll update this if I encounter the item I was thinking of. It was just an enhancement to make the code more flexible though.
[x] Move the table display to its own component, with the controls still in the main - this should clean things up a bit and make it more portable
[ ] Need to also consider how region group display will work and if we need those calculations to occur in a way that we can use them for tables and for mapping (and all of the UI concerns for that) - I think this one may be about another task though. Might be able to just check this one off and we'll figure this out when we come across it.

Created SummaryTable component to have methods and handlers for behaviors - all filter inputs still in DataViewer. This should allow us to better manage some of the additional behaviors we want and explanations without further bulking up DataViewer

Added tooltips to values in each comparison row to explain the meaning in plain english, but need additional explanation, especially because tooltips won't always be visible.


Add spike detection module

resolve #13

Codecov Report

Merging #18 (068c9e2) into update-0.0.2 (0437c64) will increase coverage by 7.03%.
The diff coverage is 46.55%.

@@               Coverage Diff                @@
##           update-0.0.2      #18      +/-   ##
================================================
+ Coverage         30.41%   37.45%   +7.03%
================================================
  Files                11       12       +1
  Lines               217      251      +34
  Branches             37       40       +3
================================================
+ Hits                 66       94      +28
- Misses              151      157       +6

Impacted Files
Coverage Δ

miv/signal/filter/__init__.py
100.00% <ø> (ø)

miv/signal/spike/detection.py
38.29% <36.95%> (+38.29%)
:arrow_up:

miv/signal/spike/protocol.py
77.77% <77.77%> (ø)

miv/signal/spike/__init__.py
100.00% <100.00%> (+100.00%)
:arrow_up:

miv/typing.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


PageView shows old page data if TextField inside its pages still keeps the focus while navigating between pages

Is there an existing issue for this?

[X] I have searched the existing issues
[x] I have read the guide to filing a bug

Introduction:
Pageview shows old page data.
When I make a list of pages for a pageview, where page 2 is dynamically chosen based upon the choice on page 1, flutter updates page 2 according expectations.
However, when you add a textfield to both page2A and page2B (as in the provided example code) and fill it with some text there is an issue where old data is shown.
Steps to reproduce:

Swipe to page 2
Put in some text into the text field (for example the text page2A) and do not press the keyboard 'done' button.
Swipe back to page 1
Toggle the checkbox to toggle page2A vs page2B
Swipe to page 2
Find your old text typed at step 2 in a different page / widget.

In my application the problem is even bigger, page2A and page2B are completely different forms, and when you fill in one of the textfields of the form, and change the choice on page1, and navigate back to page2, you get the previous choice of form as page contents. So not only the TextField contains old data, the whole page does not get updated and contains the wrong Text widgets.
Expected results
I expect to see the contents in the textfield that are from the page I selected.
Actual results
The contents of a textfield of a different page are shown.
Code sample
Code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter PageView weird behavior',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter PageView weird behavior'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;

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

class _MyHomePageState extends State<MyHomePage> {

  bool showPage2a = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme
            .of(context)
            .colorScheme
            .inversePrimary,
        title: Text(widget.title),
      ),
      body: PageView.builder(itemBuilder: (BuildContext context, int index) {
        List<Widget> pages = getPages();
        if (pages.length > index) {
          return pages[index];
        }
        else {
          return null;
        }
      }),
    );
  }

  List<Widget> getPages() {
    return [
      page1(),
      if(showPage2a) page2a(),
      if(!showPage2a) page2b(),
    ];
  }

  Widget page1() {
    return ListView(children: [
      Text("Page1"),
      CheckboxListTile(title: Text("Show page2a?") , value: showPage2a, onChanged: (value) {
        setState(() {
          showPage2a = !showPage2a;
        });
      }),

    ],
    );
  }

  Widget page2a() {
    return ListView(children: [
      Text("Page2a"),
      TextField(),
    ],
    );
  }

  Widget page2b() {
    return ListView(children: [
      Text("Page2b"),
      TextField(),
    ],
    );
  }
}

Screenshots or Video
On Samsung Galaxy S22 phone running android 13:
https://github.com/flutter/flutter/assets/87121128/af891512-1ad8-4027-bbbf-dd5d1b1dd373
On iOS simulator (iPhone SE 3rd generation) (can test a real iphone later)
https://github.com/flutter/flutter/assets/87121128/88ef1f70-8e55-4aa6-b819-da0138b207e3
On Android Simulator (Pixel_3a) running android 13:
https://github.com/flutter/flutter/assets/87121128/60ec4aa6-cfc2-4644-8105-c7c42010a03a
Logs
No response
Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.10.0, on Microsoft Windows [Version 10.0.22621.1702], locale en-NL)
    • Flutter version 3.10.0 on channel stable at c:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (6 days ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at C:\Users\Username\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    • All Android licenses accepted.

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

[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.5.4)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.5.33530.505
    • Windows 10 SDK version 10.0.22000.0

[√] Android Studio (version 2022.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)

[√] VS Code (version 1.78.2)
    • VS Code at C:\Users\Username\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (4 available)
    • SM S901B (mobile) • R3CT50J3RWA • android-arm64  • Android 13 (API 33)
    • Windows (desktop) • windows     • windows-x64    • Microsoft Windows [Version 10.0.22621.1702]
    • Chrome (web)      • chrome      • web-javascript • Google Chrome 113.0.5672.93
    • Edge (web)        • edge        • web-javascript • Microsoft Edge 113.0.1774.35

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

• No issues found!

Hi @PeperMarkreel
I'm also checking this issue on the latest stable channel but it seems to work as you expected. When navigating to page2b, the TextField will not show the old text from page2a:
https://github.com/flutter/flutter/assets/104349824/6c7977f5-b1c3-40e8-a2fe-e0df3b883728
Can you please share a demo video for this?

Thanks for the reply. I only tested on a Samsung Galaxy S22 phone.
Will make a video later this day.

Thanks for the update. I check this again on some Android device (Samsung, Pixel, Realme) but still can not reproduce this.

Demo - Samsung Galaxy Tab A7 Lite, Android 13
https://github.com/flutter/flutter/assets/104349824/13c62722-236a-49c8-be7f-0f671dea5fd7

What is the Android version on your devices?

Thanks for checking. Weird.
I can test more devices in the coming days.
The Galaxy S22 runs android 13,
The Galaxy S9 runs android 10,
The emulator runs android 13.
I can also reproduce it in the iOS simulator running iPhone SE 3rd generation running iOS 16.2 (I have added the video in the orignal report).
And if I build from android studio on macos on a different machine for the S22 the problem also exist.
My main development PC is brand new and has a fresh install of everything.

Added video of Nokia G21 phone running android 11 showing the issue.
Also tested with an ancient Samsung Note II running android 4.4.2 and the bug is reproducible.
I have built the sample with 2 different windows pc's (of which one is a brand new install of everything) and one macbook.

@PeperMarkreel Thanks for this detailed reports!
Unfortunately, as @huycozy, I'm not able to repro this using the Pixel 3A (API33) emulator
Can you check that the code sample is the exact one you used for the videos? I ask this because we both tried on the Pixel 3A emulator and it is very strange that it does not repro on my side.
Maybe you can also check that the code sample behave the same in a newly created flutter project.

Hi @bleroux thanks for the compliment and the check-in :). Very strange indeed.
I did already try to put the code example in a new project, on both the macbook and my old development PC. And I made sure to copy exactly the code from the report above in these new project. Still the same issue.
If it only was one pc I would consider reinstalling everything on my side, but since I have the problem with 3 machines of which one is just 2 weeks old and has everything freshly installed and one is a macbook, I struggle to see how all these different configurations could lead to the same error.
Any ideas how to proceed?
One thing I have come up with to find the origin is (if you might want to) to try the output of "flutter build apk --split-per-abi" running on one of your emulators/devices. The apk reproduces the issue here on 4 different emulators (pixel3a api29, pixel3a api33, pixel6 api33, pixelC api33).
If these apk's reproduce the error on your side it has something to do with my build environment. If these do not reproduce the error it's something in the execution environment, right?
app-arm64-v8a-release.zip
app-armeabi-v7a-release.zip
app-x86_64-release.zip
The issue is problematic for our main development.
It might be a localization (only reproducible in my country/settings) & optimization (reuse of old widget) issue.

@PeperMarkreel Thanks for providing more info. I installed you generated apk (app-arm64-v8a-release) on my device but still can not reproduce this. You may try my generated apk as well here: huycozy-app-release.apk.zip
I also try building app from Windows machine but still the same result (can not reproduce this).

On my side, the issue is reproducible when running the apk in app-x86_64-release.zip on the Android emulator.
And interestingly, as I wanted to try on another emulated device (Pixel 6), my previous version of the app was still installed and BEFORE installing @PeperMarkreel  apk, I tried  to see if the issue is reproducible, and it was!
Paying attention to the repro steps I followed, I found that the issue is not reproducible if we tap on the Android keyboard 'Done' button and this is what I did before. @huycozy Can you please try to reproduce without closing the keyboard when going back to the home page?
On this video, first half is when the issue does not repro because I tapped on the 'Done' button, second half is when the issue is reproducible:
bruno_126853_pixel6.webm

@bleroux great find!
I indeed tested without pressing the done button. If I do press the done button, the bug does not occur (in huycozy's and my build), on pixe3a api33 emulator and galaxy s22 device so can confirm :).
If I do not press the done button on the keyboard but just swipe back the bug is still there.
Glad we found this, a difference in the execution environment it was ;).

Thank @bleroux for the great insight. Now I can reproduce this issue.
Additional info

The issue happens if TextField still keeps the current focus while navigating between pages (can trigger this either by pressing Done or OS back button, depending on devices).

When I manually unfocus when the page changes (onPageChanged), the issue can be solved. I wonder if this behavior should be integrated into PageView's lifecycle or be a new option.

onPageChanged: (value) {
    FocusManager.instance.primaryFocus?.unfocus();
}

Labeling the issue for more insights. This issue is reproducible on the latest stable and master channels.
@PeperMarkreel It would be great if you could update the Steps to reproduce as Bruno found above. Thank you!

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.10.1, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.10.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d3d8effc68 (26 hours ago), 2023-05-16 17:59:05 -0700
    • Engine revision b4fb11214d
    • Dart version 3.0.1
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.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 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 113.0.5672.126

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

• No issues found!

[!] Flutter (Channel master, 3.11.0-6.0.pre.134, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.11.0-6.0.pre.134 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f31dae2a80 (3 hours ago), 2023-05-17 17:18:51 -0700
    • Engine revision d970370779
    • Dart version 3.1.0 (build 3.1.0-118.0.dev)
    • DevTools version 2.23.1
    • 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 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.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 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 113.0.5672.126

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

! Doctor found issues in 1 category.

Thanks for the help @huycozy @bleroux!
I updated the original report with a more clear list of steps to follow and bleroux addition.
I tested the workaround of huycozy and it fixes the issue in our app. Grateful & happy with that! So thanks for that too :)

@huycozy Great workaround!
Another way to avoid this issue is to associate a TextEditingController to each TextField.
Updated code sample with TextEditingController
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter PageView weird behavior !!!',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter PageView weird behavior !!!'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;

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

class _MyHomePageState extends State<MyHomePage> {

  bool showPage2a = true;
  TextEditingController controller1 = TextEditingController();
  TextEditingController controller2 = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme
            .of(context)
            .colorScheme
            .inversePrimary,
        title: Text(widget.title),
      ),
      body: PageView.builder(itemBuilder: (BuildContext context, int index) {
        List<Widget> pages = getPages();
        if (pages.length > index) {
          return pages[index];
        }
        else {
          return null;
        }
      }),
    );
  }

  List<Widget> getPages() {
    return [
      page1(),
      if(showPage2a) page2a(),
      if(!showPage2a) page2b(),
    ];
  }

  Widget page1() {
    return ListView(children: [
      Text("Page1"),
      CheckboxListTile(title: Text("Show page2a?") , value: showPage2a, onChanged: (value) {
        setState(() {
          showPage2a = !showPage2a;
        });
      }),

    ],
    );
  }

  Widget page2a() {
    return ListView(children: [
      Text("Page2a"),
      TextField(controller: controller1),
    ],
    );
  }

  Widget page2b() {
    return ListView(children: [
      Text("Page2b"),
      TextField(controller: controller2),
    ],
    );
  }
}

And doing so the content of each TextField will be properly saved/restored when pages changes:
bruno_126853_workaround.webm

For our production app adding a TextEditingController is not a workaround (the textfields in the form already have that).
In our production app the issue is bigger than shown in this bugreport, it is not only the contents of a textfield, but it keeps showing the full page2a when it should display page2b. So also the other widgets of page2a. I could not yet recreate that issue in a minimal code example.


Unable extract sub union object from a union object

TypeScript Version<EMAIL_ADDRESS>
Search Terms:
union
Code
interface TypeA {
  a: number;
  b: string;
}

interface TypeB {
  a: number;
  b: number;
}

type TypeC = TypeA | TypeB;

interface d {
  i: number;
  c: TypeC;
}

const cd: TypeB = {
  a: 1,
  b: 1
};

const cd1: TypeA = {
  a: 1,
  b: "1"
};

function get(d: d) {
  const a: TypeA = d.c;
}

get({
  i: 1,
  c: cd
});

get({
  i: 1,
  c: cd1
});

Expected behavior:
passed
Actual behavior:
error:
29:9 - error TS2322: Type 'TypeC' is not assignable to type 'TypeA'.
  Type 'TypeB' is not assignable to type 'TypeA'.
    Types of property 'b' are incompatible.
      Type 'number' is not assignable to type 'string'.

29   const a: TypeA = d.c;
           ~

This a question, this forum is not intended for beginner questions, use stackoverflow to ask such questions and read the docs on how union types work and type guards. This is the intended behavior, if something can be either TypeA or TypeB it is not safe to assign it so something typed as TypeA, what if at run-time it is actually TypeB ?

It is a problem of typescript, which declares to be the typed script and failed to check types at run time.
If union can not be exacted and recognized, then why union is introduced?
use any instead then.
This can be a bug or a feature request, but will never be a question.

Turns out we didn't ship a wrong implementation of union types for five years without noticing.
Seems we have some basic misunderstandings here. StackOverflow or the documentation would be a more appropriate venue to learn what unions do.

in effect
const a: TypeA = d.c;

can be corrected by
const a: TypeA = d.c as TypeA;

so why the compile can not deduce the type and force an as directive? when it is assigned to a specified type?


[release-v1.68] Pin previous release for upgrade tests to release-v1.67 branch

How to categorize this PR?

/area testing
/kind bug
What this PR does / why we need it:
This PR pins the previous release for upgrade test to release-v1.67.
The branch contains changes required to run on cgroupv2 nodes and there is not patch version which include those changes yet.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

/override pull-gardener-e2e-kind-migration-release-v1-68
This PR pins the previous gardener version for upgrade tests only. Migration tests currently fails for a different reason which is going to be fixed soon


Series Sidebar never opens - BUG

I downloaded new release built on meteor 1.5.  I'm using Standalone Viewer.
I set the leftSidebarOpen to true in Server.js file.  I gave it a try to make sure that the leftSidebar stays open under localhost:3000/testDICOMs.  To my surprise it was intermittent. In other words, sometime the leftSidebar would be open when I open my browser and sometime it would not be open when I open my browser.  And when it was not opened the toggle button would not make it open upon clicking.
I moved forward and created a client build.  But client build never showed the leftSidebar even by clicking the toggle button.
Many thanks!

same problem here :( - I don't have the time to investigate more atm. richsmith123 if you manage to fix it please share :)

Iron Router overwrites template data (as well as state reactive-dict) when it's called multiple times if state reactive-dict is assigned to template data. state reactive-dict is assigned to template instance instead of template data to fix this issue.

@richsmith123 - can you confirm the fix?  If it's good, please close this issue.  Thx.

Hi Rob,
I ran couple of test and it looks good.  I will let you know if I run into any issue on my thorough testing.
Many thanks for looking into this.  Much appreciated!
Warm regards,
Rick


Default Payload way too small

I would assume that most people who use and will use MeiliSearch will load more than 10mb of raw data into documents. I suggest we save folks a step by increasing it to a more realist value.

Is there a size you have in mind for the increased default limit?

I would say I didn't use anything lower than 100mb even for smaller tests.

Alright, I can work on making this update.

Awesome, thanks!

I have updated the maximum payload size to 100mb, but I have a couple questions about the tests. I am assuming I should update http_payload_size_limit: 10000000 to http_payload_size_limit:<PHONE_NUMBER> in meilisearch-http/tests/common.js  and the following test in meilisearch-http/tests/errors.js?
#[actix_rt::test]
async fn payload_too_large_error() {
    let mut server = common::Server::with_uid("test");
    let bigvec = vec![0u64; 10_000_000]; // 80mb
    assert_error!(
        "payload_too_large",
        "invalid_request_error",
        StatusCode::PAYLOAD_TOO_LARGE,
        server.create_index(json!(bigvec)).await);
}

If yes, I'm confused by the 80mb comment. Wouldn't 10_000_000 be 9.5mb? Can I update this to 100_000_000?

@Kerollmops can you answer that?
@sanders41 we will also need to update the documentation once changed.

10_000_000 bytes = 80_000_000 bits = 80 Megabits
(I think this is what the comment refers to, could also be a mistake)

@fharper I should submit a PR for the update, and then if it gets merged then create a PR for the documentation correct? Or should I create a PR for both at the same time?

This telefon belong to Kurt Jan Svendsby
So please do unsubscribe me from this is my telephone number is 9 7 3 03 0
69
And he is not allowed to use my phone for this purpose.
I know he have lost his phone
And only have a watch phone.
not send anymore mail to this telephone.
Thank you
Kurt Jan Svendsby
Snorres vei 13B
15 24 Moss
Norge
tir. 29. des. 2020, 22:19 skrev Paul Sanders<EMAIL_ADDRESS>
@fharper https://github.com/fharper I should submit a PR for the
update, and then if it gets merged then create a PR for the documentation
correct? Or should I create a PR for both at the same time?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/meilisearch/MeiliSearch/issues/1137#issuecomment-752244265,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOUX3ODFE42R7DBDKTDWR43SXJBUZANCNFSM4U7YA3GA
.

This telefon belong to Kurt Jan Svendsby So please do unsubscribe me from this is my telephone number is 9 7 3 03 0 69 And he is not allowed to use my phone for this purpose. I know he have lost his phone And only have a watch phone. not send anymore mail to this telephone. Thank you Kurt Jan Svendsby Snorres vei 13B 15 24 Moss Norge tir. 29. des. 2020, 22:19 skrev Paul Sanders<EMAIL_ADDRESS>…
@fharper https://github.com/fharper I should submit a PR for the update, and then if it gets merged then create a PR for the documentation correct? Or should I create a PR for both at the same time? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#1137 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUX3ODFE42R7DBDKTDWR43SXJBUZANCNFSM4U7YA3GA .

Hi Kurt, there is no way for me to do that. You need to unsubscribe yourself. Use the link provided in the email. If it doesn't work because it was used on your friend's account and you don't have access, contact GitHub support. Sorry about that!
Sorry for anyone else, but it's the only way I had to communicate with Kurt...

@fharper I should submit a PR for the update, and then if it gets merged then create a PR for the documentation correct? Or should I create a PR for both at the same time?

I see that you already created the PR, thanks

The PR was merged, so I'm closing it, thanks for the heads up @CaroFG ! Thanks @sanders41 and everyone who helped :)

The PR was merged, so I'm closing it, thanks for the heads up @CaroFG ! Thanks @sanders41 and everyone who helped :)


Windows PowerShell / PowerShell Core breaks to prompt when typing too fast with -AsSecureString

When running
Read-Host -AsSecureString and typing input at a fast pace, or pasting in text. One or two asterisk will display, followed by the breaking back to prompt with the remainder of the text type out at the prompt.
This occurs when using Windows PowerShell through the platformio-atom-ide-terminal or directly in PowerShell launched separately.
I found this report which describes the issue https://github.com/PowerShell/PowerShell/issues/3511.
Installing PowerShell Core 6.1.x it appears to resolve the issue when launching pwsh.exe outside of Atom; however, the issue still remains after adjusting the Atom plug-in setting to launch PowerShell Core C:\Program Files\PowerShell\6\pwsh.exe instead of the default Windows PowerShell.
Would there be any arguments/attributes that could be set that would contribute to this behavior within platformio? (Everything else is default values)

Seems to be fixed by the legacy console issues described here
https://github.com/jeremyramin/terminal-plus/issues/15#issuecomment-144618245
https://github.com/platformio/platformio-atom-ide-terminal/pull/575

I don't believe I retested this after 2.9.0 and have been running in legacy mode since. Recently I upgraded Windows 10 from 1703 to 1909 and ran into #780 resolved after disabling legacy console mode again. (Windows 10 1909, Atom 1.41.0, Platformio: 2.10.0)
After disabling legacy mode; I haven't replicated the original issue in this issue.


post-process.log containing syntax errors

Hi,
I have been executed dbt5 within this example code like;
dbt5-0.10.9-x86_64.AppImage run --tpcetools=/var/lib/pgsql/egen --dbaas -v -d 300 -u 1 -h "<IP_ADDR_OF_DB>" pgsql /tmp/dbt5_results
When scripts completed successfully but post-process does not creates any kind of statistical datas
// Finish Results
DBT-5
Workload consists of 4 stages:

Start of the Brokerage House server
Start of the Market Exchange server
Test (Start of the Customer Emulator)
Processing of results

Results will be found in: /dbt5_data_temp2
1. Starting Brokerage House server
Giving BrokerageHouseMain 1 second to start up.
2. Starting Market Exchange server
3. Starting Customer driver(s)

1 user starting every 1000 milliseconds.

1 user(s) started.

User ramp up to finish in 2 s.
Test expected to finish in 300 s.

4. Processing data
Primary Metric
0.00 TRTPS
// Summary.log file contents
==========================================  ==================================
Reported Throughput:            0.00 trtps  Configured Customers:         5000
==========================================  ==================================
==================  ==========  ==========  ==========  ==========
Response Times (s)     Minimum     Average  90th %tile     Maximum
==================  ==========  ==========  ==========  ==========
Broker Volume        0.00        0.00        0.00        0.00
Customer Position        0.00        0.00        0.00        0.00
Market Feed        0.00        0.00        0.00        0.00
Market Watch        0.00        0.00        0.00        0.00
Security Detail        0.00        0.00        0.00        0.00
Trade Lookup        0.00        0.00        0.00        0.00
Trade Order        0.00        0.00        0.00        0.00
Trade Result        0.00        0.00        0.00        0.00
Trade Status        0.00        0.00        0.00        0.00
Trade Update        0.00        0.00        0.00        0.00
Data Maintenance        0.00        0.00         N/A        0.00
==================  ==========  ==========  ==========  ==========
==================  ==========  ==========  ==========  ==========  ==========
Transaction Mix   Txn Count   Mix %tile  Rollbacks     Warnings     Invalid
==================  ==========  ==========  ==========  ==========  ==========
Broker Volume           0       0.000           0           0           0
Customer Position           0       0.000           0           0           0
Market Feed           0       0.000           0           0           0
Market Watch           0       0.000           0           0           0
Security Detail           0       0.000           0           0           0
Trade Lookup           0       0.000           0           0           0
Trade Order           0       0.000           0           0           0
Trade Result           0       0.000           0           0           0
Trade Status           0       0.000           0           0           0
Trade Update           0       0.000           0           0           0
Data Maintenance           0         N/A           0           0           0
==================  ==========  ==========  ==========  ==========  ==========
==================================================================  ==========
Test Duration and Timings
==================================================================  ==========
Ramp-up Time (minutes)         0.0
Measurement Interval (minutes)         0.0
Total Number of Transactions Completed in Measurement Interval           0
==================================================================  ==========
// post-process.log contents
cat post-process.log
Error: in prepare, near ")": syntax error
SELECT ( - ) / 60.0;
^--- error here
Parse error near line 1: near ";": syntax error
SELECT count(time) FROM mix WHERE time > ;
error here ---^
Parse error near line 1: near ",": syntax error
, count(time)      , 100.0 * count(time) /       , min(response)      , avg(r
error here ---^
Parse error near line 1: near "AND": syntax error
T txn      , count(time) FROM mix WHERE time >    AND time <    AND code = 1 G
error here ---^
Parse error near line 1: near "AND": syntax error
T txn      , count(time) FROM mix WHERE time >    AND time <    AND code < 0 G
error here ---^
Parse error near line 1: near "AND": syntax error
T txn      , count(time) FROM mix WHERE time >    AND time <    AND code > 1 G
error here ---^
/tmp/.mount_dbt5-0nwRfT4/usr/bin/dbt5-post-process: line 226: printf: N/A: invalid number
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '1'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '2'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '8'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '3'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '0'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '5'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '6'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '9'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '4'   AND time >    AND time <  ORDER BY respons
error here ---^
Parse error near line 1: near "AND": syntax error
response FROM mix WHERE txn = '7'   AND time >    AND time <  ORDER BY respons
error here ---^
// Could you please help? Thanks

This is an indication that the test actually didn't execute correctly.  The scripts aren't intelligent enough to check if things ran ok.
The first file to check are in the bh/ subdirectory.  Can you share those files?


broken dependencies in FNAL rpm group install

Following the directions from here: https://linux-mirrors.fnal.gov/linux/fermilab/almalinux/9/notes.html
# curl -o yum-conf-fermilab.rpm https://linux-mirrors.fnal.gov/linux/fermilab/almalinux/9/yum-conf-fermilab.rpm
# yum localinstall yum-conf-fermilab.rpm

[derekste@drbpm1 ~]$ sudo yum group install fermilab
Fermilab packages for EL9 - x86_64                                                                                11 kB/s | 833  B     00:00
Fermilab packages for EL9 - x86_64                                                                                3.2 MB/s | 3.3 kB     00:00
Importing GPG key 0xABEC1471:
 Userid     : "Fermilab RPM Key (Used for signing RPMs built at Fermilab<EMAIL_ADDRESS> Fingerprint: 04E5 A937 582A 5404 773F 2D09 D996 DC8F ABEC 1471
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-fermilab
Is this ok [y/N]: y
Fermilab packages for EL9 - x86_64                                                                                409 kB/s |  34 kB     00:00
No match for group package "krb5-workstation"
No match for group package "dnf-automatic"
Error:
 Problem 1: conflicting requests
  - nothing provides dnf-automatic needed by fermilab-conf_install-updates-1.0-1.1.el9.noarch from fermilab
 Problem 2: cannot install the best candidate for the job
  - nothing provides augeas needed by fermilab-conf_ocsinventory-2.9.1-1.1.el9.noarch from fermilab
 Problem 3: cannot install the best candidate for the job
  - nothing provides krb5-workstation needed by fermilab-base_on-site-1.0-7.el9.noarch from fermilab
 Problem 4: package fermilab-conf_doe-banner-1.0-6.1.el9.noarch from fermilab requires fermilab-conf_doe-banner-login-screen = 1.0-6.1.el9, but none of the providers can be installed
  - package fermilab-conf_doe-banner-login-screen-1.0-6.1.el9.noarch from fermilab requires (fermilab-conf_doe-banner-cockpit = 1.0-6.1.el9 if cockpit), but none of the providers can be installed
  - cannot install the best candidate for the job
  - problem with installed package cockpit-300.1-1.el9_3.alma.1.x86_64
  - nothing provides augeas needed by fermilab-conf_doe-banner-cockpit-1.0-6.1.el9.noarch from fermilab
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

most irritatingly, this does not pull in the correct repolist info from https://github.com/fermilab-context-rpms/yum-conf-fermilab-mirror

krb5-workstation is provided by the operating system.  There is something wrong with your network access.
If you need the fermilab mirrors due to network routing, you should install yum-conf-fermilab-mirror first.
yum-conf-fermilab provides the yum repo for fermilab specific rpms.
yum-conf-fermilab-mirror provides yum repo files for fermilab's mirror of various things.

yum-conf-fermilab-mirror was the step I was missing -- thanks!!


Release/0.1.0

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.5 out of 7 committers have signed the CLA.:white_check_mark: figi44:white_check_mark: kinow:white_check_mark: tbkr:white_check_mark: tlmquintino:white_check_mark: TomHodson:x: oiffrig:x: simondsmartYou have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report
Attention: Patch coverage is 96.21212% with 5 lines in your changes missing coverage. Please review.

Please upload report for BASE (master@b004bd5). Learn more about missing BASE report.

Files with missing lines
Patch %
Lines

setup.py
0.00%
4 Missing :warning:

tests/test_pyfdb.py
99.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #34   +/-   ##
=========================================
  Coverage          ?   94.77%
=========================================
  Files             ?        3
  Lines             ?      134
  Branches          ?        0
=========================================
  Hits              ?      127
  Misses            ?        7
  Partials          ?        0

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


Feature: Add @postlight/mercury-parser as an alternative to Readability

Summary
This PR add mercury-parser as a backend engine to extract meaningful content from HTML, as an alternative to Readability.

Mercury Parser powers the Mercury AMP Converter and Mercury Reader, a Chrome extension that removes ads and distractions, leaving only text and images for a beautiful reading view on any site.

mercury parser is also used by Newsblur, my favorite RSS Reader 😄
Changes these areas

[ ] Bugfixes
[x] Feature behavior
[ ] Command line interface
[x] Configuration options
[ ] Internal architecture
[x] Archived data layout on disk

Motivation
I'm trying to archive this article. https://bbs.pediy.com/thread-229215.htm
Readability could only extract the last code block inside this article.

Mercury Parser is able to extract the whole content

Added one more row but it looks a bit weird... 🤔

I also tried to let mercury get input from singlepage.html content, but it yielded a different result (i.e. not working). I add another wrapper script for testing. https://github.com/ttimasdf/ArchiveBox/commit/78477dc387908677fb65c7d0f1b09edd1063d970

This looks pretty good. @pirate should I merge it? I am missing some more manual testing, but the PR looks good to me.

This looks great! I'm going to merge it, we can fix any further issues in PRs off master. Thank you so much for this work @ttimasdf!


Add tests to localrpc package

Scope
Unit tests for localrpc package with 65% Coverage
Tests start an ethereumless validator node in 8889 with a minimal DB for handler testing
A bug was detected and fixed on validator.go. The error prevented the initialization of gossip handlers with chainIds other than 0
Todos
Add tests for mined transactions, currently only pending are tested

Please, merge the latest candidate branch on this PR and check if CI is going to pass. In case you find any problem with the CI, let me know!


Fix Consenting Fetching

Closes #423

Do you want to move the consent fetch over to TRPC as well?? Just whilst fixing this?

Maybe it already is and what is left in the REST router is legacy.. thought I noticed some consent get stuff there

Yes, it is in TRPC. Will remove the REST router for consent then.

check it isn't used somewhere else I guess...


Add support for thrown and one-handed ranged weapons for actors with Dual Thrower in the Double Slice macro

resolves #38

What this PR does:

Check if the actor has Dual Thrower feat when making the weapon list
If true, include thrown and ranged weapons (the function already checks if they're one handed, so no additional check is required for that)

It does not currently allow the user to select whether they want to make a ranged or melee attack in cases that should allow that choice (melee thrown weapons such as daggers).


What is the root password for Archiva Docker image?

Hi
I wanted to install an editor (vim/nano) to change the configuration (disable the password expiration), but sudo is not installed. Also su required a password. Please tell me what the password is.

@dungba88
Your question actually doesn't have anything to do with our image or archiva - in general, docker images shouldn't execute tasks as the root user or have sudo/su installed. So, what you're seeing is expected.
To your specific question, there is no root password. If you'd like to execute commands as the root user, use the docker exec command specifying the --user flag as root. (See https://docs.docker.com/engine/reference/commandline/exec/)
However, you probably shouldn't be editing configuration files in this image by hand. If you need to configure something differently in the image you should either...

Create a custom image, using this image as a base image
Overwrite the configuration file you want to modify using a custom volume mount
If the file you're changing is the Jetty configuration you can use the documented JETTY_CONFIG_PATH


Collapse JSONL command doesn't work

I tried using your tool to expand out a JSONL file, and it worked just fine.  However, the "Collapse JSONL" and "Collapse JSONL and Save" commands do not appear to do anything.  The file is not changed at all, and it doesn't throw an error.  I tried this on both a file that I had modified after expanding, and on a file that had just been expanded with no modifications.

Would you mind sharing the file? If it is not sharable, could you reproduce a similar structure with dummy data?

No problem at all, I greatly appreciate the bug report! I'll take a look soon.

@mcriscenzo I just published version 0.0.3 which I believe will solve this problem. Please let me know if it doesn't work.


How I can send message to thousand users (~10.000) in one time?

Hi everyone, I have a problem with my bot. I need to send a message (like notification) to thousands users, but when I send it my bot kills. How I can solve it?

What does it kill?
Can you show us code? Else we won't able to help you.

Telegram doesn't support mass notifications anyway. You need to split your requests in parts.
Also node-telegram-bot-api seems to have a memory leak somewhere. Especially visible (and painful) when sending files (in my case - Audio files from remote locations (http link)).

@kamikazechaser check this out and add a tag.
@dzek69 yeah, you have to send it one by one. Otherwise you'd have to use a channel, which is made for this purpose.

Channels aren't perfect solution too. If my users wants to subscribe to particular kind of events, I'd have to create a channel for each event. Which isn't always reasonable if you have unlimited events number (like getting notified when particular github library has new release).
Currently Telegram has limits like that:

My bot is hitting limits, how do I avoid this?
When sending messages inside a particular chat, avoid sending more than one message per second. We may allow short bursts that go over this limit, but eventually you'll begin receiving 429 errors.
If you're sending bulk notifications to multiple users, the API will not allow more than 30 messages per second or so. Consider spreading out notifications over large intervals of 8—12 hours for best results.
Also note that your bot will not be able to send more than 20 messages per minute to the same group.

So having a queuing system when dealing with mass notifications is a must or your messages won't be delivered (and I suspect if you keep trying to get over the limits you may even get a temporary (or permanent?) ban).

@NeroxFB use this: (https://github.com/saeedhei/node-telegram-bot-api-bulk-message)

This example is a memory leak, Interval is never stopped.

I use a method like (for 6k users more or less):

Save the users list in a table in my database
Get every X minutes N rows from that table
Send that messages
Repeat until rows in table are finished

I send 25 messages / seconds. it works like a charm.

The limit is about 30/s, so 25/s will work just fine.

You can use gochomugo/tgfancy which handles the rate limiting for you. Or manually limit it yourself. Other solutions provided are also correct.

I have a similar problem. I have more than 1,500 users, and the bot checks the site if products are available and sends you the users if they are available. I set that it checks the site every 50 seconds so that the users can get the notification before the stock runs out, but I faced a problem, which is that it is very late. In the transmitter


Convert VoeExtractor to shared lib

Tested on Aniflix(DE) and Moviesdream(DE).

you are doing god's work
ily


Disable italics

Would it be possible to add an option to disable italic text? I've seen this in other colorschemes.

Done! Use g:corvine_italics with 0 or 1.


WIP: Deploy Repairnator in Kubernetes #813

Ongoing work on Issue #813

Closed for now. Later a series of relevant PRs will be made followed by the "branch by abstraction" practice.


teamgooses

@nnnd82 can you resubmit your PR (Don't delete default json). We've fixed the issue in validating gentx


ERPNext Helm - Agriculture Module

Hello,
I'm using the ERPNext Helm and trying to install the agriculture module to it in the create-site job.. but I'm having some trouble (modulenotfounderror: no module named 'agriculture' during the ERPNext Wizard). Is there an appropriate way to install it ? Is it necessary to create a volume of the /apps directory?
Ty!

I got the answer at https://github.com/frappe/frappe_docker/wiki/Frequently-Asked-Questions#how-to-install-official-or-custom-apps..
Thanks


4556-verify-positions

a few issues, race condition: markets load before user logging in with meta mask. (not an issue using unlocked user).  Portfolio positions shows markets without Positions or Orders.
First saw issue when there are orders on outcome 0 on binary markets. Code not needed, not sure why my-positions relied on user orders to get market ids, when positions.js container merges in user open orders markets.

@bthaile tests still failing on Travis.

@tinybike — is this ready for my review?


Add IAM User Parameter to the Build Feature

Add IAM key id and secret parameters to build feature.  This is important when multiple users share a teamcity server that shouldn't be sharing the same AssumeRole privileges.
move aws sts client creation out of init method and avoid running sts assume role multiple times when there are multiple features attached to the build.
add screenshot
Update README.md

Anyone home?

Hello @KierranM   Thanks for the plugin.   Do you object to anything in this PR?


Transformation breaks on PHP 7.x

We use this library at PrestaShop to perform RTL transformations onto our CSS.
Recently we became aware that some of our CSS were getting broken by this transformation.
When calling CSSJanus::transform() with a sufficiently complex/long CSS (see a specific offender here), we were getting an empty string as return value.
After some investigation, we have found that this particular regex fails, only in PHP >= 7.x, resulting in an emtpy $css:
$css = preg_replace(self::$patterns['left'], self::$patterns['tmpToken'], $css);

When printing out the last preg error:
$css = preg_replace(self::$patterns['left'], self::$patterns['tmpToken'], $css);
var_dump(preg_last_error());

...we get an error code...
int(6)

...that matches the constant PREG_JIT_STACKLIMIT_ERROR (see here).
This points out that the performed regex is overflowing the stack limit of the PCRE JIT compiler found in PHP >= 7.
I don't know if this regex can be improved, it looks pretty complex and obscure to me:
var_dump(self::$patterns['left']);

string(275) "/(?<![a-zA-Z])(left)(?![a-zA-Z])(?!(?:[!#$%&*-~]|[\200-\377]|(?:(?:(?:\[0-9a-f]{1,6})(?:\r\n|\s)?)|\[^
0-9a-f]))*?['\"]?\s*\))(?!((?:[_a-z0-9-]|[\200-\377]|(?:(?:(?:\[0-9a-f]{1,6})(?:\r\n|\s)?)|\[^
?
|\s|#|\:|\.|\,|\+|>|\(|\)|\[|\]|=|\*=|~=|\^=|'[^']*'])*?{)/i"

A simple workaround is simply disabling the PCRE JIT compiler (with the performance impact that involves):
ini_set('pcre.jit', false);

I hope this can be fixed eventually 🙂

Same problem when transforming the Bootstrap CSS (~300kB of CSS).

One more observation: The workaround works.
What does not work is turning the JIT compiler off and back on again later, e.g. something like
$jitStatus = ini_set( 'pcre.jit', 0 );

$style = CSSJanus::transform( $style, true, false );

ini_set( 'pcre.jit', $jitStatus );

Turning the JIT compiler back on will for some reason trigger the error even though the offending operation is done already.

Yeah, the workaround that initially seemed to work didn't do the trick in the end. We fixed our problem by forking cssjanus and applying the patch in #13.

This was fixed by #19.


fix: update packages

:white_check_mark: Build TheIdServer 4.2.1-fix-dependencies1-0217 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/8f6311efb5 by @)


container logs: autoscroll to bottom or top

I think there should be a button to configure the logs (saved in the local storage?) so the user can choose if the log will start at the bottom instead of the top.
Right now, the behavior is kinda odd IMO as the logs have the tail -f feature but they start up at the top, and depending on the size of your logs you have to scroll a lot.
Maybe it should be a configuration set in a per container basis?

I think always starting at the bottom would be the reasonable default to match terminals tail -f behavior


sanity check of file type

Implement a sanity check of the filetype while uploading.
Save cleaned type in the database.
Affected files:

core/lib_classes/FileUtil.php
upload.php

See: https://www.php.net/manual/de/features.file-upload.post-method.php

Mime type is set according to file extension on upload now. Changed in bc84e08422fd72f55ac5879fd25befc29e4ff342.


Email ID is valid --This error is from the package-- XMLHttpRequest error. --End package error message--

Email ID is valid
--This error is from the package--
XMLHttpRequest error.
--End package error message--

Email ID is valid
--This error is from the package--
XMLHttpRequest error.
--End package error message--

Hi @macbethsoftwares  , The package is on an update, Kindly requesting you to wait until 31st 12:00 am, And also the update will be out sooner. For more details kindly go through this issue.
https://github.com/saran-surya/email_auth/issues/14

Hi All,
The steps to setup the production server are mentioned here in a detailed way, Kindly have a look at it.
https://saran-surya.github.io/email-auth-node/

Hi All, Kindly update the package, version 1.0.0 is out. And you can have a custom server with it 🚀


update by secondary index does not update the primary value

await db.offices.update({
  where: { name: "o1" },
  data: {
    address: "o1a",
  },
})
console.log(
  await db.offices.findMany({ where: { name: "o1" } })
)
// GOOD: [{ id: "XXX", address: "o1a", ... }]
console.log(
  await db.offices.findMany({ where: {} })
)
// BAD: [{ id: "XXX", ... }]

Is that intended?

Hey, this is definitely a bug, so thanks for opening this issue :)
Things like this is precisely why I opened #43 -- we should really rewrite the implementation.
I'll leave this open for now, and I'll add a note that a PR for #43 should also close out this issue.


Getting a wrong LogGroupName

The current approach of getting LogGroupName will obtain the first whatever log group of the same stage, but may not be the log group of the exact api gateway deployed.
To fix the issue, we have to find another way to obtain the api gateway ID.

I guess it would be possible to take the API gateway ID as stack output, given that the plugin runs after deploy.
If you have a PR with an improved detection, I'd be happy to include it.
As a general idea, this plugin was a stop-gap measure to adjust retention of our logs.
A better solution is to submit a PR against Serverless Framework repo that creates the execution log group as a stack resource (as part of the deployed stack template, meaning you can reference the API gateway ID), in the hope that API Gateway will find the log group and write logs to it.
This automatically solves the cleanup portion too; if the log group is part of the stack, it will get deleted on stack removal.


ClarityIcons svg not loaded when added via webpack to aspnetcore-spa

[x] bug
[ ] feature request
[ ] enhancement
Expected behavior
I expect clarity-ui, icons, and angular to load and run correctly in the new aspaspnetcore-spa project

https://github.com/aspnet/JavaScriptServices/tree/dev/templates/AngularSpa

Actual behavior
Everything works fine except the ClarityIcons are not shown on the browser. I suspect its related to how webpack loads the svg files since I can see the font-awesome svgs loaded on the browser dev tools but nothing else.

Clarity version:
0.9.14
OS and version:
Windows 8
Browser:
all

This is how I load the vendors
vendor: [
                '@angular/animations',
                '@angular/common',
                '@angular/compiler',
                '@angular/core',
                '@angular/forms',
                '@angular/http',
                '@angular/platform-browser',
                '@angular/platform-browser-dynamic',
                '@angular/router',
                'bootstrap',
                'bootstrap/dist/css/bootstrap.css',
                'es6-shim',
                'es6-promise',
                'event-source-polyfill',
                'jquery',
                'zone.js',

                'mutationobserver-shim/dist/mutationobserver.min.js',
<EMAIL_ADDRESS>
                'clarity-ui/clarity-ui.min.css',
                'clarity-icons/clarity-icons.min.css',

                'clarity-icons',
                'clarity-angular',

                'font-awesome/css/font-awesome.css'
            ]

This is the browser network tab. No svg files loaded. Only fonts.

Any pointers on how to make this work?
Luis

Related to #947, but not a dup since I'm not getting the same behaviour.

Looking a little bit deeper I got a little bit more info:

When inspecting the generated vendor.js and vendor.css files I can see all the code being added from the sources.

The problem is that the clr-icon is empty, no svg code therefore no icon will show up?
Does this help?

Luis

@luis-cortina
I'm not greatly familiar with aspnetcore-spa but I would advise checking in your console if ClarityIcons is defined, as well as getting a handle on whether this is a server-side rendering issue.
https://stackoverflow.com/questions/39719231/how-to-disable-server-side-rendering-on-an-asp-netcore-spa-application

@mathisscott
ClarityIcons is undefined, removing the server side rendering doesn't fix it.

@luis-cortina
That's probably the problem. The ClarityIcons object is loaded on the global window object by default. I don't know why aspnetcore-spa isn't allowing that. But it is likely the source of the issue.
CC: @Shijir

I got it to work now.
In my app.module.client.ts I added import 'clarity-icons';  and now it works.
I'm not sure what's going on, but that fixes the problem.
Closing now. Thanks for the pointers.


I always need to reload my page at least once for my full timetable to load

https://github.com/BetterSEQTA/BetterSEQTA-Plus/assets/105038085/c17c1c2f-0ee2-448a-9248-91bf979dd799
I think(?) this is important but the extensions I have are ublock origin (turned off for seqta), a citation generator (mybib) and some random tetris game
Though it really isn't that big of a deal, it's slightly annoying
Thank you!

Woah! That's weird. We'll definitely have to look into that. Although I'm not quite sure how to reproduce the bug at the moment.

I've reinstalled if a couple times, but I always get the same bug

I've reinstalled if a couple times, but I always get the same bug

Are you using plain google chrome or a fork of chromium?

I just use plain old google chrom I'm pretty sure. It was already installed on my school laptop when I got it, but I'll reinstall it again

I just use plain old google chrom I'm pretty sure. It was already installed on my school laptop when I got it, but I'll reinstall it again
Okay, so I reinstalled google chrome and the extension, but i still get the same thing

You said something about a tetris extension? if you reinstalled that, go to chrome://extensions and go to details for that extension and check the site access. What does it say?

There is no website that the extension can access in details (the extension: https://chromewebstore.google.com/detail/tetrys/cjobgkekcenldbaenikebmbhffhhffef).

I think it's got to do with your schools SEQTA. We'd just have to figure out what inside SEQTA is causing it on your end and fix that. Although it'll be hard to debug for us.

Yeah, that's an issue on your end. Are you running a lot of stuff on your computer? Is your school's internet throttled?

Need Bukart to close as no response for 2 months


Make the API asynchronous and prepare for "local symbol server API"

https://bugzilla.mozilla.org/show_bug.cgi?id=1637988
r? @gregtatum
This is still missing some comments. It's a significant enough rewrite that I recommend reviewing the entire repository. https://github.com/mstange/profiler-get-symbols/tree/async-stuff

Superseded by #9, and actually I'm just going to merge it all to master because I'm still changing everything so much and it's better to just review it once I'm done.


Need some actual real life samples

ALL of the included samples use hardcoded messages and converstations.
I am struggling to get a real-life example on how to get the data from an array of converstations.messages to appear in the components.
Here is an example of getting the messages out and putting them in the MessageList.
This is the DOM to display the Chat Dialog (converstations are hardcoded for now, as I suspect the same method for getting them from an array would be simular to how it would be done for messages):
            <MainContainer responsive>
                <Sidebar position="left" scrollable={true}>
                    <ConversationList>
                        <Conversation>
                            <Conversation.Content>

OMT
58SAM

                            </Conversation.Content>
                            <Conversation.Operations />
                        </Conversation>
                        <Conversation>
                            <Conversation.Content>

MTR
58PETER

                            </Conversation.Content>
                            <Conversation.Operations />
                        </Conversation>
                        <Conversation>
                            <Conversation.Content>

CTS
58MARK

                            </Conversation.Content>
                            <Conversation.Operations />
                        </Conversation>
                    </ConversationList>
                </Sidebar>
                <ChatContainer>
                <ConversationHeader>
                  <ConversationHeader.Back />
                    <Avatar src={require('../../../components/layouts/icons/plus.svg')} name="Zoe" />
                    <ConversationHeader.Content userName="Zoe" info="Active 10 mins ago" />
                    </ConversationHeader>
                            **<ChatMessageList messages={this.props.conversations[selected].messages}/>**
                <MessageInput  attachButton={false} placeholder="Type message here" value={this.state.messageInputValue} onChange={val => this.setMessageInputValue(val)} onSend={this.setMessageSend}/>
              </ChatContainer>
            </MainContainer>

I want this to product the MessageList:
class ChatMessageList extends Component {
    render() {
        let messageItems;

        if (this.props.messages) {
            messageItems = this.props.messages.map((message, index) => {
                return <ChatMessage
                    key={index}
                    isMyMessage={message.isMyMessage}
                    message={message} />;
            });
        }

        return (

                {messageItems}

        );
    }
}
export default ChatMessageList;

Messages are formatted here
import React, { Component } from 'react';
import { Message } from '@chatscope/chat-ui-kit-react';

class ChatMessage extends Component {
    render() {
        return (
            <Message model={{
                message:this.props.message,
                sentTime: this.props.sentTime,
                direction: this.props.direction,
                sender: this.props.sender,
                }}>
            </Message>
        );
    }
}
export default ChatMessage;

@Johnne25
I'm not sure if I understand well your question, but I'll try to answer :).
Your code probably isn't working, because ChatContainer allows placing only children with specified types.
If you want to place ChatMessageList instead of MessageList you should add "as" property to your component.
Please read more about this technique here:
https://github.com/chatscope/chat-ui-kit-react/issues/7#issuecomment-766789857
and here:
https://chatscope.io/storybook/react/?path=/docs/documentation-recipes--page#changing-component-type-to-allow-place-it-in-container-slot
and here is an example:
https://chatscope.io/storybook/react/?path=/docs/components-chatcontainer--wrapped-message-input#wrapped-messageinput
Instead changing the component type in the retured element:
return (

                {messageItems}

        );

You should add "as" property to your ChatMessageList directly:
<ChatMessageList as={MessageList} messages={this.props.conversations[selected].messages}/>

Please also don't use a second argument (index) of the map method as key in a list. It's not good practice. React documentation says:
"We don’t recommend using indexes for keys if the order of items may change. This can negatively impact performance and may cause issues with component state" Read more here: https://reactjs.org/docs/lists-and-keys.html#keys
To generate a unique id you can use the wonderful https://github.com/ai/nanoid library. But be careful theirs react example is not quite good ;)
I'll try to prepare some new examples in the documentation.


The "!=" character sequence (et.al.) is forcibly translated to "≠" and thus not a faithful representation

Windows Terminal version
1.14.2281.0
Windows build number
10.0.19044.0
Other Software
No response
Steps to reproduce

Launch any command interpreter
Type or display the following ascii sequence: "!=" (without quotes) anywhere in the terminal window
Window Terminal performs a unwarranted translation to the "≠" character, and thus not a true reproduction of, for example a file's content.

In a nutshell: "!=" != "≠"!
Expected Behavior
For Windows Terminal not to translate any character sequences allowing users to view file contents in particular, faithfully.
Actual Behavior
"≠"

UPDATE: It just struck me, fonts can technically re-render when presented an compound sequences, i.e. unicode.
The issue above was using CaskaydiaCove Nerd Font Mono (typically used with PoSH).
Simply reverting the font to Cascadia Mono restores the expected behavior.
To my surprise, Cascadia Code also exhibits this "translating" behavior but in a slightly different manner.
Apologies as this is not likely an issue with Windows Terminal but a bafflingly side-effect of using a "fancy" font for the terminal.

Thanks for the report! Fonts with "coding ligatures" will be rendered using coding ligatures. This part is expected :smile:


Removes unnecessary gradle properties

Description
Gradle properties seem to be directly pulled from OpenSearch gradle properties, this PR removes them as they are not necessary for this plugin. For example, systemProp.org.gradle.warning.mode=fail would fail a build outright when gradle APIs marked for future deprecation are used. This makes sense to set in OpenSearch to force a gradle version upgrade, but in this plugin's case, gradle version is only updated once OpenSearch does.
Testing locally, the build and integration test pass with these properties removed.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

I think this is used options.forkOptions.memoryMaximumSize=2g for the integTest cluster to determine heap size, not sure how it gets default otherwise

I think this is used options.forkOptions.memoryMaximumSize=2g for the integTest cluster to determine heap size, not sure how it gets default otherwise

Default if not specified is 1g.
Tests seem to be passing with this removed, though.

I think this is used options.forkOptions.memoryMaximumSize=2g for the integTest cluster to determine heap size, not sure how it gets default otherwise

Default if not specified is 512mb.
Tests seem to be passing with this removed, though.

sounds good, just checked also that :run also works


Third party dependencies issue

Hi Guys, I am currently using React ^16.3.2. I have material 0.x and Material 1 installed. My build in circle ci is failing and throwing following error. As i understand this error is because of the third parties are using different react versions. Is there anyone come across the issue and know how to fix it?

@pavanshinde47 We can't help without a reproduction but looking at the warnings, I don't think that their is anything we can do to help. You have more than 10 peer dependencies issues. Fix them!
If you can't upgrade to<EMAIL_ADDRESS>use<EMAIL_ADDRESS>it's still supporting react@15.


Disable virtual addressing when the endpoint contains port

What problem does this PR solve?
Issue Number: close https://github.com/pingcap/tiflash/issues/7284
Problem Summary:
When deployed with endpoint with a domain name, the AWS SDK will enable "virtual addressing", which prepend the bucket name to the endpoint (e.g. http://<bucket-name>.s3.us-west-2.amazonaws.com) and use that for S3 HTTP requests. This is good for routing different bucket requests to different servers by this way.
However, when deployed with local minio with a domain name like "http://minio-peer:9000", actually we can not enable the virtual addressing because <bucket-name>.minio-peer cause DNS resolving errors.
What is changed and how it works?
If the storage.s3.endpoint contains a defined port, then disable virtual addressing
Check List
Tests

[ ] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)

Deploy a cluster with s3.storage.endpoint: http://h85:9000
Check whether accessing minio is OK

[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

Fix the issue when connecting to minio by domain name

/merge


Add atom.observe()

Mixed feelings on this one. It seemed like a good idea when I started. It can be really useful to be able to observe atom in different areas of the app. For example, it came up in play app, where I had independent behaviours like
boom(atom) // fireworks
flash(atom) // error messages
orientation(atom) // tracking device orientation

But boom needed to also know when atom updated, to react to it and display the fireworks. So I couldn't just add it like flash and orientation. I had to move it to render function. Which seemed like, meh, that's not self contained.
Having said, mixed feelings, because maybe a better thing in that case would have been to render fireworks in the App component anyway and then I kinda wouldn't have had this problem tbh. So like, not a real use case.
Also, this messes up the "one way to do things" vibe. E.g. now you can use render or observe :( I'm considering removing render in favor of observe. But then you lose a tiny bit of that one liner simplicity.. So yeah, as I said, mixed feelings.
For example, if atom.observe() existed, you can make the ProvideAtom more easy to use where one doesn't need the extra render function wrapper. We could also provide the debouncing logic, since that's the best practise anyway. But without observe, it's not possibly to implement such feature easily. Which just shows that observe is really more powerful than render callback.
const atom = createAtom({ count: 1 }, evolve)
atom.observe(render)

2 lines now... :)
It's observe and not subscribe since that's still accurate, and fits well with the theme of atom and split.
So all in all, the options are:

Don't add observe
Add observe in addition to render
Replace render with observe (and make ProvideAtom observe+debounce+rerender)
Just use redux :-"

I'm actually leaning towards #3 (and then #1 and then #2).

This PR is best of both worlds. You use render which works, is simple and powerful. But observe is also there for when it's needed. At the cost of a few more lines of code, a potential yagni and larger api surface. But we'll see.


Scraper Crashes when sleep time is minimized.. solution that worked for me

_

_

[ ] I dont know If anyone Had the Problem of the scraper crashing when the sleep time is Set top a faster pace. Did it so it might have a slight time Advantage dir the announcement.

[ ] The Script startet to Crash every 2h or so. So i came Up with the Idea of keeping the sleeptime to a Minimum and simply restarting it hourly via bash Script.

[ ] Create a Folder in Home called Scripts

[ ] New File called restart-script.sh and Insert the following exactly

[ ] ------

[ ] #!/bin/bash

[ ] #gives you a timestamp

[ ] echo "###########"

[ ] date

[ ]

[ ] # don't change anything above this line

[ ]

[ ] # important: no spaces before or after equal sign

[ ] SCRIPT_DIRECTORY="/home/pi/gateio-crypto-trading-bot-binance-announcements-new-coins"

[ ] SCRIPT_NAME="main.py"

[ ] WAIT_SECONDS=3

[ ]

[ ] # don't change anything below this line

[ ]

[ ]

[ ] function start_script() {

[ ]     # save old working directory - only needed for manual testing

[ ]     # but doesn't matter for cron

[ ]     OLD_WD=$PWD

[ ]

[ ]     # change working directory

[ ]     cd "$SCRIPT_DIRECTORY"

[ ]

[ ]     # restart script

[ ]     echo "starting $SCRIPT_NAME in the background"

[ ]     python3.9 "$SCRIPT_NAME" &

[ ]

[ ]     # return to old working directory

[ ]     cd "$PWD"

[ ] }

[ ]

[ ] # kill script

[ ] SCRIPT_PID=$(pgrep -f "$SCRIPT_NAME")

[ ] if [ -n "${SCRIPT_PID}" ];

[ ] then

[ ]     echo "$SCRIPT_NAME running - killing it "

[ ]     pkill -f "$SCRIPT_NAME"

[ ] else

[ ]     echo "$SCRIPT_NAME not running"

[ ]     start_script

[ ]

[ ]

[ ] #Then open a cronjob: cronjob -e

[ ]

[ ] 0 * * * * /bin/bash /home/pi/scripts/restart-script.sh >> scripts/restart.log 2>1&

_
_

What was the time you used for sleep ? (it is in the sleep in main.py ?)
thanks

No, sleep in Listing scraper. Set it to a second


meeting results arent being filtered properly

meetings are being returned passed meeting time (including grace period)
for instance at 2pm in the afternoon on sunday a 7:30am meeting is being returned. this seems to have been introduced in 2.5.0 with introduction of Custom Query support. I will be submitting a PR that fixes this, not sure if we should cut a 2.5.x or something idk.  im just gonna submit to master.

send it to 2.5.0 branch that I'm about to make.

cool

branch is called 2.5.x


How to set 12 hours time format

This is nice library how to set time to 12 hours format instead of 24 hour format

Thank you for your kind words.
The feature you mentioned is not implemented yet, but your PR is welcome.
As a reference, I'd like to share which file should be changed to implement it:
https://github.com/llotheo/react-native-big-calendar/blob/master/src/CalendarBody.tsx#L38-L45

+1

I've implemented in https://github.com/acro5piano/react-native-big-calendar/pull/246


"arraySubtract" function behaviour correct after flipping params

I have seen some odd behaviour twice now in my code and I think I have found a problem but would need someone to check the implementation of the function to be sure.
The arraySubtract function has the following documented signature:

But, it is behaving as if X and Y are flipped, e.g. "Removes elements of x in y".

Looks right to me in the REPL:

OK thanks for looking, will go back and re-check my code.

I was able to reproduce the issue with the JavaScript backend, which returns [4] instead of [1].
It's definitely a bug.

Oh OK. So does ERGOTOP use a different engine, or is it the JS that is generated is being transformed incorrectly?

ERGOTOP uses an interpreter (which is meant to be used as a reference semantics). Cicero uses the compiler to JavaScript. So yes, this is a bug in the JavaScript compiler.
There is no transformation once the JavaScript code has been produced (unless you consider the NodeJS compiler as one such transformation but it's unlikely to be a bug there).

OK thanks for the explanation, good to know how these things work.
When do you expect to get a fix done? I ask because I am due to hand over the code to the client at the end of next week, and I will need to synchronise a new release of Cicero with a change to the code.

There is an upcoming major release which I thought this would go into. I could do a minor release just for this, but I'd rather not add that to my plate right now.

OK thats fine, do you have an ETA for the major release? If that is after we hand over the code then I will need to document this and tell the client they will have to make a code change.

As discussed, we will stay on 0.6.3/10.3 for the client to maintain stability and document why the params are flipped.

PR here: https://github.com/accordproject/ergo/pull/580

Done in 0.7.0


ErrorTag example for form

Good day!
https://surface-ui.org/builtincomponents/ErrorTag
<Form for={@changeset}>
  <Field name="email">
    <Label />
    <TextInput />
    <ErrorTag />
  </Field>
</Form>

Error tag does not work. When outputting form.errors, they always are empty list, altough @changeset has errors. Should the Form has parameter errors? Would it possible to have an example on documentation page?
Best regards!

Hi @mxrguspxrt !
Could you please provide a minimum project that reproduces the bug? I am not able to reproduce it.
Also, did you change the changeset action attribute? If no, you should do it.
Thanks!

What is changeset action attribute?

Map.merge(changeset, %{action: :insert})

Solved the issue, thank you @Malian ! :)

@mxrguspxrt good news!
For others who may come across this issue, the problem is not related to Surface, nor to PhoenixLiveView. It is a Phoenix HTML mechanism, which uses the action attribute of the changeset to decide whether or not to display the error.
See https://hexdocs.pm/ecto/Ecto.Changeset.html#module-changeset-actions for ore info:

Frameworks such as Phoenix use the action value to define how HTML forms should act.

Yeah, also got stuck on this again, you need to do this for your changeset:
    changeset = MyAwesomeSchema.changeset(%MyAwesomeSchema{}, data)
                |> Ecto.Changeset.apply_action(:insert)


Presence of JSON typing config forces reading only as NDJSON

Per the remarks in #2123:

This commit adds zson to the auto detector and arranges for zson to parse ndjson when auto-detected, unless a legacy ndjson type config is provided, in which case the ndjson parser is used.

However, the way this is currently implemented has an unfortunate side effect. Before #2123, even if a JSON typing config was supplied, data was still subject to auto-detection such that if the input wasn't actually NDJSON, it would still be read successfully. For instance, using zq commit 99713cb that was right before #2123, and the ZNG-format zq-sample-data:
$ zq -version
Version: v0.29.0-25-g99713cbc

$ zq -t -j ~/work/zq/zeek/types.json 'count()' dns.zng.gz
#0:record[count:uint64]
0:[53615;]

However, starting with zq commit d89b612 that's associated with #2123, this fails.
$ zq -version
Version: v0.29.0-26-gd89b6124

$ zq -t -j ~/work/zq/zeek/types.json 'count()' dns.zng.gz
dns.zng.gz: ndjson: line 1: Unknown value type

This is causing the Brim CI to fail because the app currently always posts a JSON typing schema, just in case the user dragged NDJSON logs into the app. However, this issue is causing things like ZNG format logs to fail import.

Verified in zq commit 7ca6e7ec.
Now even if a legacy JSON typing config is applied, ZNG data is still auto-detected and read successfully.
$ zq -version
Version: v0.29.0-41-g7ca6e7ec

$ zq -t -j ~/work/zq/zeek/types.json 'count()' dns.zng.gz
#0:record[count:uint64]
0:[53615;]

Likewise, in Brim commit a9bccfe which talks to zqd commit 7ca6e7e, I can once again import ZNG despite the app always posting its JSON typing config.

Thanks @henridf!


Fix issue where phylo tree modal was closing when mouse left browser.

Description
PhyloTreeCreationModal was originally inside <HoverActions> so it would unmount whenever hoveractions unmounted (which happened on onMouseOut, which would trigger when the user moved their mouse out of the browser).
Moved the PhyloTreeCreationModal higher up in the component tree so this doesn't happen.
Tests

Verified that the bug no longer occurs.
Verified that modal still behaves correctly.

Thoughts on cherry-picking this to staging? Some of our users had noticed the issue.

Thoughts on cherry-picking this to staging? Some of our users had noticed the issue.

Sounds like a good idea


Merge Quiet Mode and Turbo Mode into rotation speed?

The rotation speed currently has 5 steps but if you can add two more steps to the rotation speed you can get rid of the separate buttons for quiet mode and turbo mode with the lowest speed automatically turning on quiet mode and the highest speed automatically turning on the turbo mode.

风速总是和送风模式联动，应该是bug，风速里为啥没有自动模式

风速为 0 为自动模式。 “风速” 组件确实是专为“送风模式”添加的，当时更新的时候没注意命名，为了不影响在用用户，所以没有修改名称。

Just want it to be consistent with the familiar remote control, eliminating the need for an additional two steps. And Hey siri, turn on the powerful mode it the most frequent use case for me.


Remove transactions that cause invalid blocks to be created

If there's an inconsistency between the validation we use for the transactions in the mempool and the validation we use for the block we forged containing the transactions from the mempool, we end up making no progress and we get stuck. The mempool won't remove this transactions from the mempool, as they are valid and not in the current chain, but we cannot adopt the block as it is deemed invalid.
Note that #622 will eventually fix this.
Another idea: after adding a newly forged block to the ChainDB, check whether its point ends up in the set of invalid points. This can have false negatives: another chain was selected so our block was not validated yet. If the block point occurs in the invalid points set, we log it since it clearly is a bug and we purge all transactions in the invalid from the mempool.

this is a good idea. It will be the case (eventually) - even when the code is "perfect" where environmental factors will damage internal state (http://dance.csc.ncsu.edu/papers/ic2e2015.pdf captures such). Ensuring that systemic progress will be made in this eventually will be important.


(eos_cli_config_gen) Extend support for platform sand

Enhancement summary
Currently the platform sand command does not support specifying mdb configuration. At the moment any such configuration has to be done via eos_cli commands
Which component of AVD is impacted
eos_cli_config_gen
Use case example
For example, it would be great to support the following:
platform:
  sand:
     mdb_profile: <profile name>

Describe the solution you would like
platform:
  sand:
     mdb_profile: <profile name>

Describe alternatives you have considered
No response
Additional context
No response
Contributing Guide

[X] I agree to follow this project's Code of Conduct

Probably fixed by https://github.com/aristanetworks/ansible-avd/pull/3372


error trying to connect: unexpected EOF

cxp@R9000P:~/solana_learn/hackathon/orbit_len$ anchor deploy
Deploying cluster: https://devnet.helius-rpc.com/?api-key=f84a6f24-1feb-4290-bc2f-4fc95cf5e7f0
Upgrade authority: /home/cxp/.config/solana/id.json
Deploying program "orbit_len"...
Program path: /home/cxp/solana_learn/hackathon/orbit_len/target/deploy/orbit_len.so...
Error: RPC request error: cluster version query failed: error sending request for url (https://devnet.helius-rpc.com/?api-key=f84a6f24-1feb-4290-bc2f-4fc95cf5e7f0): error trying to connect: unexpected EOF
There was a problem deploying: Output { status: ExitStatus(unix_wait_status(256)), stdout: "", stderr: "" }.

@cxp-13  try another rpc

This looks like an RPC error unrelated to Anchor, so I'm closing this. Feel free to reopen if you think otherwise.


VMA production - files fetched to wrong interface

Metadata staff are working on setting up a number of interfaces to fetch files from OCLC WMS. Previously implemented was #915 to allow for connection using wms ssh key.
We noticed on production that files with incorrect names were fetched to WMS interfaces.
I am testing AIP update interface on stage and selected "process now". The DAG runs and I receive an email that files were fetched but the link in the email takes me to Springer interface (also WMS) where my AIP file has in fact been fetched.
Similarly on production an email for https://sul-libsys-airflow-prod.stanford.edu/vendor_management/interfaces/128 links to https://sul-libsys-airflow-prod.stanford.edu/vendor_management/interfaces/109 where I find the files.

Files are also failing processing https://sul-libsys-airflow-stage.stanford.edu/log?execution_date=2024-05-08T13%3A00%3A04.756246%2B00%3A00&task_id=setup&dag_id=default_data_processor&map_index=-1

Hi @ahafele, on stage (and in production) both AIP and SPRINGER have the same interface UUID of e5d49284-3228-4556-bf5e-9b4c61535fc7 which I think is causing the first problem because of a subtle bug in how the ftp_download_task is called.
When the DAG is initiated from the AIP Interface Process Now button  we are sending the following parameters to data_fetcher DAG:

vendor_interface_name: WMS
vendor_code: AIP-SUL
vendor_uuid: fd40d6ae-74f0-5156-9ac3-5d0c1e4949c6
vendor_interface_uuid: e5d49284-3228-4556-bf5e-9b4c61535fc7
dataload_profile_uuid: None
remote_path: /xfer/metacoll/out/ongoing/updates
filename_regex: ^metacoll.STF.+AIP.1.mrc$
download_path: /opt/airflow/vendor-data/downloads/fd40d6ae-74f0-5156-9ac3-5d0c1e4949c6/e5d49284-3228-4556-bf5e-9b4c61535fc7
environment: stage

In the ftp_download_task we are querying the database by the Interface UUID which returns the SPRINGER interface (because it was added to the database before the AIP interface, you can tell because the id is 171 verses the AIP interface id of 178) BUT because the other values from the parameters are from the AIP interface in VMA, we are using regex, remote_path, and download_path the download succeeds but the resulting VendorFiles like 19378 are now associated with the SPRINGER interface and not the AIP interface.
I can see in the FOLIO interface how you can share interfaces between organizations like AIP and SPRINGER but I think VMA assumes they are different.

Thanks for investigating this, Jeremy. I know we talked about this specific OCLC/Shared interface use case during the initial VMA work cycle but I don't know if/how it was accounted for - sounds like it wasn't. Is there anything we can change in VMA to allow for shared interfaces in FOLIO?

Thanks for investigating this, Jeremy. I know we talked about this specific OCLC/Shared interface use case during the initial VMA work cycle but I don't know if/how it was accounted for - sounds like it wasn't. Is there anything we can change in VMA to allow for shared interfaces in FOLIO? There is nothing limiting us from creating new interfaces in FOLIO but it will result in many with the same connection information. I think somewhere around 45 if I had to guess.

I've started work on a VMA fix now

@jermnelson on airflow stage I ran AIP and it fetches the correct file but the DAG shows as failing the archive task.
The email I received still links to the Springer Interface >WMS (AIP-SUL) - e5d49284-3228-4556-bf5e-9b4c61535fc7
I ran a test for Springer interface and that is working as expected - files are fetched, email is received with correct link.

@jermnelson I ran AIP and the data fetcher dag is now successful. The email is still incorrect. I will forward to call out and including content below. Filename is correct but references springer interface in text and subject and links to springer interface.
Data processor dag is successful but the processed files don't appear in the UI and their status remains "loading"

WMS (SPRING-SUL) - e5d49284-3228-4556-bf5e-9b4c61535fc7
File processed, but not loaded: metacoll.STF.updates.D20240507.T213015.AIP.1.mrc

Hi @ahafele, looking through the emails, I'm wondering if multiple emails are being generated. I found this email from 5:56 am (PDT) that seems correct for the AIP and looks like it was generated from this DAG run. Here is the screen-shot of the email:

At 6:00 AM (PDT) the following email was sent (that you included above) with SPRINGER vender ocde but having the first of the two files from the AIP DAG run:

At 6:05 AM (PDT) a second email was sent with the SPRINGER vendor for the second file:

The latter two emails were generated and sent well after the AIP DAG run was finished at 5:55 PDT.  These two follow-up emails come from default_data_processor DAG run that sends an email and looks related to the error you've noted about the processed files not showing up in the UI. I think the best approach is to get this PR approved and merged and create a follow-up ticket to fix the default_data_processor DAG, where it looks the code doesn't account for shared WMS vendor interfaces among different vendors.

Hi Jeremy, That sounds good. One thing to note - in the first email (first screen shot above) the link still goes to the Springer interface.

@jermnelson putting testing result here but let me know if a new ticket is preferred.

Fetch email no longer includes interface link and no longer lists the files fetched.
Prod

Stage

File processed email is missing Interface name and "Stage"
Prod

Stage

I see some failed file_loaded_email tasks e.g. here.

AIP files are still not being processed. https://sul-libsys-airflow-stage.stanford.edu/vendor_management/interfaces/178
They now have a status of fetched but are past the expected processing time and don't show processed files.


Apt

The code looks good.  The only thing I'd like to see would be putting links in the Confluence page to the docs/blogs/whatever you read to figure out how this works, so that if someone comes along later they have something to jump off of.