WIP on prototype for initial release

This PR exists for review of the code against the main branch.

Do you want reviews on this one as well?

Do you want reviews on this one as well?

All the work for this has moved to v1


Scrolling inertia should stop when touching the trackpad

It's expected on iPadOS, macOS, and Windows that if scrolling is being animated due to inertia from a trackpad swipe, the animation should stop when touching the trackpad. After recent changes to flutter trackpad handling, this isn't occurring.

Hi @moffatman, thanks for filing the issue.
It seems a regression issue due to it can reproduce master channel but it doesn't happen on stable channel.

When touching trackpad with two fingers, the list can stop immediately
When touching trackpad with one finger, the issue occurs on master channel.

Demo (using Trackpad on MacOS with one finger scrolling)

Stable
Master

Sample code
import 'package:flutter/material.dart';
import 'dart:math' as math;

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

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
        // This makes the visual density adapt to the platform that you run
        // the app on. For desktop platforms, the controls will be smaller and
        // closer together (more dense) than on mobile platforms.
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

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

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {

    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: ListView.builder(
        scrollDirection: Axis.vertical,
        shrinkWrap: true,
        itemCount: 200,
        itemBuilder: (context, index) {
          final color =
          Color((math.Random().nextDouble() * 0xFFFFFF).toInt()).withOpacity(1.0);
          return Column(
            children: [
              Container(
                width: 300,
                height: 50,
                color: color,
              ),
            ],
          );
        },
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.4, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.4 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 85684f9300 (3 days ago), 2022-06-30 13:22:47 -0700
    • Engine revision 6ba2af10bb
    • Dart version 2.17.5
    • DevTools version 2.12.2

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

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

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 103.0.5060.53

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

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1491, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.1.0-0.0.pre.1491 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c6ccf0df05 (2 hours ago), 2022-07-03 20:59:05 -0400
    • Engine revision d441d7964b
    • Dart version 2.18.0 (build 2.18.0-250.0.dev)
    • DevTools version 2.15.0

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

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

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 103.0.5060.53

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

! Doctor found issues in 1 category.

Can you retry from your side and confirm this behavior?

@huycozy Exactly, thanks for reproducing the bug. I have the fix here, it will take a few PRs to coordinate though.

@moffatman thanks for confirming. Labeling the issue for further updates!


x/website: /security is a redirection loop

Go version
not relevant
What operating system and processor architecture are you using (go env)?
not relevant

What did you do?
➜  ~ curl https://go.dev/security
Moved Permanently.

➜  ~ curl https://go.dev/security/
Moved Permanently.

➜  ~ curl https://go.dev/doc/security/
Moved Permanently.

What did you expect to see?
not a redirection loop
What did you see instead?
a redirection loop

cc @golang/tools-team


Dataset

Hi,
When will the dataset be released?
Thank You

Thanks for your interest in our work. We are currently organizing the dataset and will release it as soon as possible.


Add more OS Type

What version of fleet are you using (fleet version --full)?
[e@x ~]$ fleet version --full
fleet - version 2.0.2
branch:       master
revision:     8ca0358bf28173685815b79d8683a4239d629a14
build date:   2019-01-18T00:39:40Z
build user:   zwass
go version:   go1.11.3
What operating system are you using?
Red Hat Enterprise Linux Server release 7.6
What did you do?
What did you expect to see?
I see in the right panel this OS Type
macOS
Ubuntu
Centos
MS windows
What did you see instead?
I suggest to add other os type like
Debina
Red Had
Suse
Fedore
if the list could be to long, you can give the possibility to the admin to choose the os that is show in the right panel.
I know that is possibile to do with LABELS but i prefer if is possible to have this feature builtin :)
Thank you a lot

This looks to be a duplicate of #1909 - @zwass maybe we can merge these issues?


Revise Octavo digest structure

Currently I found that using octavo::digest is quite verbose, ex.:
use octavo::digest::Digest;
use octavo::digest::sha1::Sha1;

I am thinking about making all modules private and reexport hash functions as all of them currently has unique names (some ugly as Sha3224). But I am not so sure about it. What you guys think?
There are 3 options:

left as is
privatize and reexport
left as is and simplify Sha3XXX names to ShaXXX (possible name collisions between octavo::digest::sha2 and octavo::digest::sha3).

My personal preference would be as follows:
use octavo::digest::Sha1;
use octavo::digest::sha2::Sha512;
use octavo::digest::sha3::Sha256;

This fits my expectations as a user: I've never heard of the the SHA3 versions referred to as - e.g. sha3512. SHA1 is its own algorithm, whereas SHA2/3 are families of algorithms. And it's still easy to use both in the same program:
use octavo::digest::{sha2, sha3};
let digest1 = sha2::Sha512::default();
let digest2 = sha3::Sha512::default();

Me too, but as SHA-3 is fairly new I do not hear much about it. SHA-2 functions are commonly refereed as SHA-XXX not SHA2-XXX and only tool that support SHA-3 under that name (that I know) is rhash which refers to it as SHA3-XXX.
To make it more weird and complicated SHA-1 and SHA-2 was described in the same document FIPS 180-4 and SHA-2 hash family was refereed as SHA-XXX there, this make impression that SHA-1 and SHA-2 (namely SHA-XXX) are related and SHA-3 is whole new hash function family.

@Dr-Emann suggestion looks good to me, when in doubt naming should be obvious even if we need one more level for the namespace.

@arthurprs it also seems right to me, but I don't know if Sha1 should be reexported. It could be both, but I am still not sure.

This also leave us with whole MD family. It should be moved into one module named octavo::digest::md or should be left as is?

FIxed by #53


feat(mini-message): add Formatter#join

This PR adds a method to Formatter to join components using JoinConfiguration.

from what I can see, there is also a lastSeparatorIfSerial method which is mutually exclusive, in terms of functionality, with lastSeparator
should I add something like tag:separator:last_separator:serial? or tag:separator:last_separator:true? in order to use lastSeparatorIfSerial

from what I can see, there is also a lastSeparatorIfSerial method which is mutually exclusive, in terms of functionality, with lastSeparator should I add something like tag:separator:last_separator:serial? or tag:separator:last_separator:true? in order to use lastSeparatorIfSerial

IIRC lastSeparatorIfSerial is only used where there are three or more elements in the list (e.g. x, y, and z). It will still use lastSeparator in the case where there are two elements (e.g. x and y).

I already use such a resolver for my project but I don't use a collection of ComponentLike. Instead I use a Collection of TagResolvers instead, with:
  public static TagResolver joining(@TagPattern final @NotNull String key, final @NotNull Iterable<? extends TagResolver> components) {
    return TagResolver.resolver(key, (arguments, ctx) -> {
        String format = arguments.popOr("expected list format").value();
        String separator = arguments.popOr("expected separator").value();
        if (arguments.hasNext()) {
            String emptyVal = arguments.pop().value();
            if (resolvers.isEmpty()) return Tag.inserting(ctx.deserialize(emptyVal));
        }
        List<Component> components = resolvers.stream().map(r -> ctx.deserialize(format, r)).toList();
        Component separatorComponent = ctx.deserialize(separator);
        Component all = components.stream().collect(Component.toComponent(separatorComponent));

        if (arguments.hasNext()) {
            int amount = arguments.popOr("maximum amount").asInt().orElse(5);
            String lastInfo = arguments.popOr("last entry").value();
            String hoverFormat = arguments.popOr("hover").value();
            if (resolvers.size() > amount) {
                Component hover = ctx.deserialize(hoverFormat,
                        Formatter.number("total", resolvers.size()),
                        Formatter.number("remaining", resolvers.size() - amount),
                        Placeholder.component("all", all));
                Component remaining = ctx.deserialize(lastInfo,
                        Formatter.number("total", resolvers.size()),
                        Formatter.number("remaining", resolvers.size() - amount)).hoverEvent(hover);
                return Tag.selfClosingInserting(components.stream().limit(amount).collect(Component.toComponent(separatorComponent)).append(remaining));
            }
        }
        return Tag.selfClosingInserting(all);
  });
}

My implementation is complex and I don't think we should use that as api. However you can easily change the format of the list entries, e.g. with such a minimessage format string
Governors: <gray><governors:'<online:green:gray><name></online>':', ':'<dark_gray>-- no one --</dark_gray>':'5':'<gold> and <remaining> more</gold>':'<gold>Total <total> governors:<br><gray><all>'>

This will be formatted to:
Governors: First, second, third, forth, fifth and 3 more.

Where and 3 more has an hover effect.
I don't think we should add such complex logic to minimessage however I would add the TagResolver approach as you can easily modify the formatting.

I added an argument for lastSeparatorIfSerial.
I'm not sure if TagResolvers are the best approach here.
Personally, I think I think that using Components would be more convenient. If I needed a placeholder, I could render it myself.

any love? :slightly_smiling_face:

now if only I still played Minecraft... 😛


"Error relocating libhdfs3.so: backtrace: symbol not found" with linux alpine

Hello,
I'm using linux alpine 3.5 and have installed all dependencies for the compilation and installation of libhdfs3.
apk add openssh-client
apk add git
apk add netcat-openbsd
apk add gcc
apk add g++
apk add cmake
apk add boost
apk add protobuf
apk add protobuf-dev
apk add libxml2
apk add libxml2-dev
apk add krb5-libs
apk add krb5
apk add krb5-dev
apk add libuuid
apk add libgsasl
apk add libgsasl-dev
apk add openssl
apk add make
apk add curl-dev
apk add boost-dev
apk add libexecinfo-dev
apk add musl
apk add musl-dev
apk add musl-utils
apk add libstdc++
apk add bash

Compiles and installs without any problem but when using the library returns an error:
Error relocating //libhdfs3-downstream/libhdfs3/build/src/libhdfs3.so: backtrace: symbol not found
If I try to print shared object dependencies.
ldd /lib/libhdfs3.so
	ldd (0x7fa424b42000)
	libuuid.so.1 => /lib/libuuid.so.1 (0x7fa4243c5000)
	libprotobuf.so.11 => /usr/lib/libprotobuf.so.11 (0x7fa423fa9000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0x7fa423c7e000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x7fa4239ba000)
	libgsasl.so.7 => /usr/lib/libgsasl.so.7 (0x7fa4237a0000)
	libcrypto.so.38 => /lib/libcrypto.so.38 (0x7fa4233f6000)
	libcurl.so.4 => /usr/lib/libcurl.so.4 (0x7fa42318d000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7fa422e3c000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7fa422c2a000)
	libc.musl-x86_64.so.1 => ldd (0x7fa424b42000)
	libz.so.1 => /lib/libz.so.1 (0x7fa422a13000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x7fa4227fb000)
	libcom_err.so.2 => /lib/libcom_err.so.2 (0x7fa4225f7000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x7fa4223ec000)
	libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x7fa4221e8000)
	libidn.so.11 => /usr/lib/libidn.so.11 (0x7fa421fb6000)
	libssh2.so.1 => /usr/lib/libssh2.so.1 (0x7fa421d8e000)
	libssl.so.39 => /lib/libssl.so.39 (0x7fa421b3d000)
Error relocating //libhdfs3-downstream/libhdfs3/build/src/libhdfs3.so: backtrace: symbol not found

Is linux alpine incompatible with libhdfs3?
Thanks.

Is linux alpine incompatible with libhdfs3?

This is unknown. You could check out the conda-forge script for a working build process.
However, this package is not much maintained now, and, if it meets your needs, you may want to try accessing HDFS using arrow's JNI driver instead.


az extension add frozen

Describe the bug
install hangs at " - Installing .." and doesnt make progress for hours.
I've tried restarting my computer, and reinstalling az cli
I'm able to install other extensions (e.g. "account") this seems specific to "az extension add --name azure-devops"
Command Name
az extension add --name azure-devops
Errors:
did not receive error message, just hangs at installing.
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

fresh installation of "Microsoft.AzureCLI" from winget.
az extension add --name azure-devops

Expected Behavior
to install the extension
Environment Summary
Windows-10-10.0.22621-SP0
Python 3.10.10
Installer: MSI

azure-cli 2.47.0

Additional Context

Thank you for opening this issue, we will look into it.

Why was this issue closed? There is no resolution here for the az extension add --name ... command when there is an index-url in effect that requires artifacts-keyring installed to succeed.
A workaround is to open Task Manager to extract the command-line that is hung, and type that into the terminal with the modification of adding --isolated to the pip install command.
One solution would be to add a command-line parameter to az extension add so that the extension could be installed isolated. Such as, az extension add --name azure-devops --isolated.
Another solution would be to provide a command-line paramter to az to install artifacts-keyring so that future commands do not hang. For example: az install-artifacts-keyring.

I just ran into this issue, @vb3 is there a fix? Otherwise, I will create a new issue.

I just ran into this issue, @vb3 is there a fix? Otherwise, I will create a new issue.

I have a reference to a private artifact registry in my ~/.config/pip/pip.conf and as  @CoromT and @nextstate mentioned, I've just commented the two lines and everything went well.


Allow certain paths from being redirected.

My humble attempt to address Issue #25.

Might have gotten too ambitious, but once I started configing I could not be confining.

I think the redirects stuff isn't in the scope of this PR. Can we remove that for now? Let's revisit it in another issue or PR.

Yup.

You'd be able to fake that now with SSL_SKIPS if you included just a '/' to be skipped.

Hey, what was the format() thing?

See: https://github.com/kennethreitz/flask-sslify/commit/39223823d97eca91bf20eff9e18ce82b1973ec92

Okay, so is that what you meant?

Sorry for the lengthy review :)

What if we change the naming convention to SSLIFY_XXX and use the set default method?

Hm. I'm not too keen on a library mucking around with the app config as it may have unintended consequences and the end-user may not be aware that it's occurring. It still seems a lot more straightforward to continue using the arguments and to not introduce app.config settings. It's a lot more consistent with how the library currently works.

I looked at Flask-SQLAlchemy and copied the setdefault method. Was so proud, but you're the boss
Ehhh. I'd still be craving for those sexy/clean create_app functions. And really, how many people do you imagine could be using Flask-SSSLify and SSLIFY_XXX in config in someway that does not lineup (almost) exactly with what is going on on here? And this paves the way for something similar with app.testing as well when you get around to it.

Let me take a look at some other libraries to see if this is a consistent pattern.

Seems like a reasonable pattern, based on some other modules. Just need the updated docs and I think we're good to go.

👍

I've tested locally and everything is working well. Merging in.

Cool. And thanks for making my first experience contributing to an Open Source project so positive.

I'm not too keen on a library mucking around with the app config as it may have unintended consequences

e.g. if the app argument is in fact a flask blueprint, which used to work in 0.14 and now gives
AttributeError: 'Blueprint' object has no attribute 'config'


readme is very complex

Hi,
I just wanted to start using this library but I could not find any example that shows how to use it. I found and example but nowhere is something of how to use this example what is the proper command to use it and also overall the readme file is too complex to be understood by a new user to hardhat
Thanks

Hi @AhmadBan thanks for the feedback.
I welcome any suggestion to improve the README. Some examples are mentioned into it, see https://github.com/wighawag/template-ethereum-contracts
There is also a tutorial (that might not be fully up to date) mentioned in this section: https://github.com/wighawag/hardhat-deploy/#hardhat-deploy-in-a-nutshell
tutorial : https://github.com/wighawag/tutorial-hardhat-deploy
Hope that helps


Improve the effectiveness of pv and pvc Informer

What happened:
Currently, the pv and pvc Informer of the master cluster are created once when knode is created，this  will sync n* knode times when pv and pvc in master cluster changed.
What you expected to happen:
when the client receive pv and pvc event in master,knodemanager should synced once.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kosmos version:
Others:

/cc @wuyingjun-lucky
/cc @xyz2277


[Contributors Wanted] Add subset="both" functionality to {image|text}_dataset_from_directory()

Current if you want to load a dataset using {image|text}_dataset_from_directory() and split it into a training and validation set, you do:
train_ds = X_dataset_from_directory(..., validation_split=0.5, seed=1337, subset="training")
val_ds = X_dataset_from_directory(..., validation_split=0.5, seed=1337, subset="validation")

We'd like to introduce the following flow:
train_ds, val_ds = X_dataset_from_directory(..., validation_split=0.5, subset="both")

This applies to both image_dataset_from_directory() and text_dataset_from_directory().
If you're interested in contributing, please open a draft PR!

Would the previous methods stay?

Would the previous methods stay?

Yes. This is a pure addition. In general any change must be backwards compatible.

This has now been implemented! 👍


Increase default tsc --init target over time

Suggestion
🔍 Search Terms
increase tsc init target es2016 default
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
As of 2022, all releases within the last year of browsers serving >0.1% of worldwide users support at least all of ECMAScript 2019 and nearly all of ECMAScript 2020-2021, while the LTS-supported versions of Node.js support all of ECMAScript 2021. There's very little reason not to have a target at least as high as "es2019".
How about increasing the default tsc --init value for target in later TypeScript versions over time to match the highest ECMAScript version supported by all LTS Node versions? That'd be "es2021" today.
📃 Motivating Example
Higher targets by default for consumers running tsc --init means they'll be able to use more language features as String.replaceAll by default. It's confusing to tsc --init, then not be able to use them.
💻 Use Cases
Increasing default targets to emit code much cleaner in modern runtimes gives a nicer default output for new TypeScript projects. For beginners to TypeScript in particular, it makes the learning curve a little easier as they won't have to mess with configuration options to be able to use basic features.
This issue is thematically similar to but not the same as #47572 and #47573. Those issue are about changing the default compiler options when no value is specified on the CLI or in a TSConfig file. This issue is about changing the target specified when using tsc --init.

Related / duplicate in spirit: #39308


kv(ticdc): fix data loss when upstream txn conflicts during scan

What problem does this PR solve?
Issue Number: close #5468
What is changed and how it works?
Do not match prewrite and commit util it receives init event.
See more in #5468
Check List
Tests

Unit test

Will it cause performance regression or break compatibility?
It caches more events in memory during incremental scan, it cause OOM when upstream workload is write-heavy.
Do you need to update user documentation, design documentation or monitoring documentation?
No.
Release note
Fix data loss when upstream transaction conflicts during cdc reconnection

/merge

/merge

/merge


Notify agentInitDone after joining the cluster

Currently the initDone notification is provided immediately after
initializing the cluster. This may be fine for the first manager. But
for all subsequent nodes which join the cluster we need to wait until
the node completes the joining to the gossip cluster inorder to
synchronize the gossip network clock with other nodes. If we don't have
uptodate clock the updates that this node provides to the cluster may be
discarded by the other nodes if they have entries which are yet to be
reaped but have a better clock.
Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

@mrjana go routine that creates ingress network and sandbox waits on the channel agentInitDone. In scaled setups TCP sync could take longer. During that window if tasks get scheduled what would happen ? I am wondering if it can be lead to lot of thrashing in the scheduling especially if multiple nodes join around the same time and all of them are stuck longer on the initial bulk sync because they will all try to sync with the lead manager.

@sanimej Even of ingress network creation is delayed because of longer delays in gossip join that does not affect the task creation at all. The tasks will get created anyways and if the ingress network is not created during swarm join it will get created during task creation so we are not dependent on any particular sequence here. In fact this already happens sometimes.

ok.. sounds good. LGTM


remove NTS from Phalanx.  RIP 2022-02-11

Now, I will revoke the keys for the enclave, and delete the data from the enclave.


Maintenance status of dirty_equals?

Hi,
We started depending on dirty_equals in a couple of test suites instead of further complicating a bunch of ad-hoc, homegrown hacks.
However I noticed there hasn't been activity on this repo since November last year, so I want to kindly check on the maintenance status of this project.
Just to be sure we're not betting on the wrong horse (including contributing back).

Hi, sorry for the slow response.
We heavily use dirty-equals at Pydantic, it's definitely not unmaintained.
It hasn't received recent commits because for the most part it just works.

Very good. Hopefully we'll get around to porting over the few matchers that we've implemented beyond yours and raise a PR.

v0.8.0 released.


Best practices to go from raw data to a clean seqdataset

Hi,
thanks for developing such an efficient and needed tool!
I have been looking around this and other repositories of ML4GLand to find examples of best practices to read a genome fasta and a bam or bed file to produce one hot encoded sequences and corresponding coverage arrays. However, in most cases I see reference to an already existing zarr object. Is such an example of dataset making already available?
I saw the API documentation reference and can guess how to do it, but I am unsure whether I would end up doing it in the most efficient way. I hope I did not miss something...
Thanks very much in advance, best,
Miquel

Hi Miquel,
Thanks for working with the package!
We are working on releasing some documentation for this, but in the meantime here is draft tutorial for reading from bigwig and bam files: https://github.com/ML4GLand/SeqData/blob/docs/docs/tutorials/2_Reading_Tracks.ipynb
What kind of sequencing data are you working with? I think my current recommendation is to first generate bigwig files from bams and then load into SeqData. But whether that makes sense or not for you might depend on your data type.
Adam


TimeDistributed(Flatten()) gives the same output shape

I have the following model in Keras and TimeDistributed(Flatten())(x) does not work, it gives the same shape as output. I am using the latest version of Keras with Tensorflow backend and Python 3.5.3 on Windows 10. Am I doing something wrong? Is there an alternative solution?
rnn_size = 128

input_tensor = Input((width, height, 3))

x = input_tensor

x = Convolution2D(32, 3, 3, activation='relu', input_shape=[width, height, 3])(x)
x = Convolution2D(32, 3, 3, activation='relu')(x)
x = MaxPooling2D(pool_size=(2, 2))(x)

x = Convolution2D(32, 3, 3, activation='relu')(x)
x = Convolution2D(32, 3, 3, activation='relu')(x)
x = MaxPooling2D(pool_size=(2, 2))(x)

x = Convolution2D(32, 3, 3, activation='relu')(x)
x = Convolution2D(32, 3, 3, activation='relu')(x)
x = MaxPooling2D(pool_size=(2, 2))(x)

conv_shape = x.get_shape()
x = Reshape(target_shape = (int(conv_shape [1]), int(conv_shape[2] * conv_shape[3])))(x)

x = Dense(32, activation='relu')(x)

x = GRU(rnn_size, return_sequences=True, init='he_normal', name='gru1')(x)

x = TimeDistributed(Flatten())(x)
x = TimeDistributed(Dropout(0.25))(x)
x = TimeDistributed(Dense(n_class, init='he_normal', activation='softmax'))(x)

model = Model(input = [input_tensor], output = [x])

model.compile(loss='categorical_crossentropy', optimizer='adadelta')

Not sure if this will work, but have you considered something like:
x = Flatten()(x)
x = TimeDistributed()(x)
etc...


Refactor Shell ITs

Create ShellCreateTableIT from tests moved from ShellServerIT
Create TestShell class
Modify ShellServerIT to not delete tables after ever test
Move ShellConfigIT into shell package
Move ShellIT into shell package

Create ShellCreateTableIT from tests moved from ShellServerIT

What's different about those tests that necessitated being separate?

Modify ShellServerIT to not delete tables after ever test

It's probably fine either way, but what motivated this change? Is this going to be a problem in resource-constrained environments, because all the tests are using the same Mini?
Did you just move tests around, or delete you delete any? I didn't get to do a thorough review, but I got the impression that a lot was deleted, and not necessary as much created.

These ITs are passing for me

[INFO] Running org.apache.accumulo.test.shell.ShellCreateTableIT
[INFO] Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 60.733 s - in org.apache.accumulo.test.shell.ShellCreateTableIT
[INFO] Running org.apache.accumulo.test.shell.ShellConfigIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.201 s - in org.apache.accumulo.test.shell.ShellConfigIT
[INFO] Running org.apache.accumulo.test.shell.ShellServerIT
[INFO] Tests run: 58, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 186.816 s - in org.apache.accumulo.test.shell.ShellServerIT
[INFO] Running org.apache.accumulo.test.shell.ShellIT
[INFO] Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 170.239 s - in org.apache.accumulo.test.shell.ShellIT

What's different about those tests that necessitated being separate?

They were similar, all creating tables and named testCreateTable*.

It's probably fine either way, but what motivated this change? Is this going to be a problem in resource-constrained environments, because all the tests are using the same Mini?

It shouldn't, I created a separate IT for the new one, instead of making it extend ShellServerIT

Did you just move tests around, or delete you delete any?

Yes. Only thing I deleted was the After test method that was deleting tables.

Compared to the times of the ITs running on machine from main:

[INFO] Running org.apache.accumulo.test.ShellConfigIT
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.234 s - in org.apache.accumulo.test.ShellConfigIT
[INFO] Running org.apache.accumulo.test.ShellServerIT
[INFO] Tests run: 81, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 242.953 s - in org.apache.accumulo.test.ShellServerIT
[INFO] Running org.apache.accumulo.test.ShellIT
[INFO] Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 169.329 s - in org.apache.accumulo.test.ShellIT
[INFO] Total time:  08:30 min

The total time overall is the same. Hopefully these changes make it easier to debug individual tests. I had a hard time debugging one of the tests in ShellServerIT and it took a while to run the whole IT. For example, now they each get their own directory in mini. I would prefer lots of small tests that take less than a minute to run. Even with this change, ShellServerIT still have ~50 tests in it so I might split out another IT since that is a lot for one IT. One idea I had was to put all the tests that are testing a simple command in one and the rest (which do more complicated things) in another IT.

@ctubbsii are you familiar with the test scansWithClassLoaderContext in ShellServerIT ? This seems to be the only test that can't be run by itself in IntelliJ. It is checking if a class is already on the classpath but it will throw an exception if it is already. I was thinking this could just clean the class from the classpath if it detects it but wasn't sure how to do that.

@ctubbsii are you familiar with the test scansWithClassLoaderContext in ShellServerIT ? This seems to be the only test that can't be run by itself in IntelliJ. It is checking if a class is already on the classpath but it will throw an exception if it is already. I was thinking this could just clean the class from the classpath if it detects it but wasn't sure how to do that.

Sorry, not off the top of my head, I'm not familiar. I'd have to investigate.

However, you may wish to rename TestShell, because it currently will get picked up as a test class for unit tests, as it matches the default naming patterns for maven-surefire-plugin.

Oh good catch. I will rename it.


Missing interest payments

Description of the bug
In all_transactions.csv, the interest payments of the last 3 months is missing for me. Earlier interest payments are reflected correctly.
To Reproduce
Steps to reproduce the behavior:

Run dl_docs command
Inspect all_transactions.csv

Expected behavior
All interest payments should be added, or atleast the last 12 months or so. in any case not older ones and no newer ones. The sorting of all_transactions.csv is not by date, maybe this needs to be investigated to find the root cause?
Error log
n/a
Environment

OS: macOs
pytr version: 0.2.2

Additional context
Maybe this is a problem with my specific trade republic account. In the app I see the interest payments normally. 🤷♂

@felixeichler  Can you please check for todays release?

@Katzmann1983 i tried updating, but it seems like no new version is in pip nor git?

i re-ran dl_docs and no change to the listed interest payments.
in my case, there's 17 interest payments in the account_transactions.csv from 2023-03 until 2024-06, but the ones after are missing (despite the account still received interest every month since then)...

Sorry, screwed up the release process. please try again

did try again with v0.2.4, but the results are the same

I tried with the current master branch. I get all interest payment pdfs. However, since September new pdfs are no longer in the folder /Zinsen/Abrechnung instead in folder /Abrechnung. Probabaly TR changed something on interest with the new IBAN because you now get the interests partly as dividends of money market fonds

Sorry, I dont have the banking of Traderepublic. Can you maybe post the corresponding entry from the all_events.json?

Ah yes! That's a very good pointer @daniel-w00 - because Indeed Trade Republic changed the data format of their interest payouts:
I checked my all_events.json and realized:
Since July 2024 they use
"eventType": "INTEREST_PAYOUT",

and before that it was
"eventType": "INTEREST_PAYOUT_CREATED",

The other fields remain unchanged, except for changes in the details.sections incl document filepaths

Can you share the sections corresponding to the first two events in all_events.json to check how they should be parsed?

From all_events.json
Interest Payout
{
    "id": "b23791d5-059f-4ada-8265-99c28791c1a9",
    "timestamp": "2024-09-01T21:11:54.780+0000",
    "title": "Zinsen",
    "icon": "logos/timeline_interest_new/v2",
    "badge": null,
    "subtitle": "3,75 % p.a.",
    "amount": {
      "currency": "EUR",
      "value": 52.55,
      "fractionDigits": 2
    },
    "subAmount": null,
    "status": "EXECUTED",
    "action": {
      "type": "timelineDetail",
      "payload": "b23791d5-059f-4ada-8265-99c28791c1a9"
    },
    "eventType": "INTEREST_PAYOUT",
    "source": "timelineTransaction",
    "details": {
      "id": "b23791d5-059f-4ada-8265-99c28791c1a9",
      "sections": [
        {
          "title": "Du hast 52,55 € erhalten",
          "data": {
            "icon": "logos/timeline_interest_new/v2",
            "subtitleText": null,
            "timestamp": "2024-09-01T21:11:54.780+0000",
            "status": "executed"
          },
          "action": null,
          "type": "header"
        },
        {
          "title": "Übersicht",
          "data": [
            {
              "title": "Status",
              "detail": {
                "text": "Ausgeführt",
                "functionalStyle": "EXECUTED",
                "type": "status"
              },
              "style": "plain"
            },
            {
              "title": "Durchschnittssaldo",
              "detail": {
                "text": "22.591,00 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Jährliche Rate",
              "detail": {
                "text": "3,75 %",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Asset",
              "detail": {
                "text": "Cash",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            }
          ],
          "action": null,
          "type": "table"
        },
        {
          "title": "Transaktion",
          "data": [
            {
              "title": "Angesammelt",
              "detail": {
                "text": "72,96 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Steuern",
              "detail": {
                "text": "20,41 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Gesamt",
              "detail": {
                "text": "52,55 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            }
          ],
          "action": null,
          "type": "table"
        },
        {
          "title": "Dokumente",
          "data": [
            {
              "title": "Abrechnung",
              "detail": "01.09.2024",
              "action": {
                "type": "browserModal",
                "payload": "https://traderepublic-postbox-platform-production.s3.eu-central-1.amazonaws.com/..."
              },
              "id": "6c6d4a0e-a35b-4370-8c2b-d83406cf289c",
              "postboxType": "INTEREST_PAYOUT_INVOICE",
              "local filepath": "G:\\...\\2024-09-01 Abrechnung - Zinsen.pdf"
            }
          ],
          "action": null,
          "type": "documents"
        }
      ]
    },
    "has_docs": true
  },

Tax optimization
{
    "id": "60f6fcc4-44ba-43c7-8ec8-0c62d4b2e55e",
    "timestamp": "2024-05-05T00:17:19.807+0000",
    "title": "Steuerabrechnung",
    "icon": "logos/timeline_person/v2",
    "badge": null,
    "subtitle": "Steuerbuchung",
    "amount": {
      "currency": "EUR",
      "value": 32.76,
      "fractionDigits": 2
    },
    "subAmount": null,
    "status": "EXECUTED",
    "action": {
      "type": "timelineDetail",
      "payload": "60f6fcc4-44ba-43c7-8ec8-0c62d4b2e55e"
    },
    "eventType": "TAX_REFUND",
    "source": "timelineTransaction",
    "details": {
      "id": "60f6fcc4-44ba-43c7-8ec8-0c62d4b2e55e",
      "sections": [
        {
          "title": "Sie haben 32,76 € erhalten",
          "data": {
            "icon": "logos/timeline_person/v2",
            "subtitleText": null,
            "timestamp": "2024-05-05T00:17:19.807+0000",
            "status": "executed"
          },
          "action": null,
          "type": "header"
        },
        {
          "title": "Übersicht",
          "data": [
            {
              "title": "Ereignis",
              "detail": {
                "text": "Steuerabrechnung",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            }
          ],
          "action": null,
          "type": "table"
        },
        {
          "title": "Transaktion",
          "data": [
            {
              "title": "Kapitalertragsteuer",
              "detail": {
                "text": "+ 28,62 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Solidaritätszuschlag",
              "detail": {
                "text": "+ 1,57 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Kirchensteuer Optimierung",
              "detail": {
                "text": "+ 2,57 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Gesamt",
              "detail": {
                "text": "+ 32,76 €",
                "trend": null,
                "action": null,
                "type": "text"
              },
              "style": "highlighted"
            }
          ],
          "action": null,
          "type": "table"
        },
        {
          "title": "Dokumente",
          "data": [
            {
              "title": "Steuerabrechnung",
              "detail": "05.05.2024",
              "action": {
                "type": "browserModal",
                "payload": "https://traderepublic-data-production.s3.eu-central-1.amazonaws.com/..."
              },
              "id": "29b3d891-0b00-4472-94dd-2e00a0646c60",
              "postboxType": "TAX_REFUND",
              "local filepath": "C:\\...\\2024-05-05 Steuerabrechnung - Steuerabrechnung.pdf"
            }
          ],
          "action": null,
          "type": "documents"
        }
      ]
    },
    "has_docs": true
  },

VISA Cashback
  {
    "id": "14b604e3-a0e7-523a-96eb-9279b7987acc",
    "timestamp": "2024-04-16T10:32:13.255+0000",
    "title": "Visa",
    "icon": "logos/timeline_plus_circle/v2",
    "badge": null,
    "subtitle": null,
    "amount": {
      "currency": "EUR",
      "value": 1.0,
      "fractionDigits": 2
    },
    "subAmount": null,
    "status": "EXECUTED",
    "action": {
      "type": "timelineDetail",
      "payload": "14b604e3-a0e7-523a-96eb-9279b7987acc"
    },
    "eventType": "card_successful_oct",
    "source": "timelineTransaction",
    "details": {
      "id": "14b604e3-a0e7-523a-96eb-9279b7987acc",
      "sections": [
        {
          "title": "Du hast 1,00 € erhalten",
          "data": {
            "icon": "logos/timeline_plus_circle/v2",
            "timestamp": "2024-04-16T10:32:13.255+0000",
            "status": "executed"
          },
          "type": "header"
        },
        {
          "title": "Übersicht",
          "data": [
            {
              "title": "Status",
              "detail": {
                "text": "Fertig",
                "functionalStyle": "EXECUTED",
                "type": "status"
              },
              "style": "plain"
            },
            {
              "title": "Zahlungsart",
              "detail": {
                "text": "Überweisung",
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Zahlung",
              "detail": {
                "icon": "logos/bank_traderepublic/v2",
                "text": "··7451",
                "type": "iconWithText"
              },
              "style": "plain"
            },
            {
              "title": "Absender",
              "detail": {
                "text": "Visa",
                "type": "text"
              },
              "style": "plain"
            }
          ],
          "type": "table"
        }
      ]
    },
    "has_docs": false
  },

Saveback
  {
    "id": "6c278541-c0fa-4366-b56d-d73822ecbeb8",
    "timestamp": "2024-08-02T12:37:01.587+0000",
    "title": "FTSE All-World USD (Dist)",
    "icon": "logos/IE00B3RBWM25/v2",
    "badge": null,
    "subtitle": "Saveback",
    "amount": {
      "currency": "EUR",
      "value": -14.79,
      "fractionDigits": 2
    },
    "subAmount": null,
    "status": "EXECUTED",
    "action": {
      "type": "timelineDetail",
      "payload": "6c278541-c0fa-4366-b56d-d73822ecbeb8"
    },
    "eventType": "benefits_saveback_execution",
    "source": "timelineTransaction",
    "details": {
      "id": "6c278541-c0fa-4366-b56d-d73822ecbeb8",
      "sections": [
        {
          "title": "Dein Bonus von 14,79 € wurde investiert",
          "data": {
            "icon": "logos/IE00B3RBWM25/v2",
            "timestamp": "2024-08-02T12:37:01.587+0000",
            "status": "executed"
          },
          "action": {
            "payload": "IE00B3RBWM25",
            "type": "instrumentDetail"
          },
          "type": "header"
        },
        {
          "title": "Übersicht",
          "data": [
            {
              "title": "Status",
              "detail": {
                "text": "Ausgeführt",
                "functionalStyle": "EXECUTED",
                "type": "status"
              },
              "style": "plain"
            },
            {
              "title": "Ordertyp",
              "detail": {
                "text": "Saveback",
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Asset",
              "detail": {
                "text": "FTSE All-World USD (Dist)",
                "type": "text"
              },
              "style": "plain"
            }
          ],
          "type": "table"
        },
        {
          "title": "Transaktion",
          "data": [
            {
              "title": "Aktien",
              "detail": {
                "text": "0.124390",
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Aktienkurs",
              "detail": {
                "text": "118,90 €",
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Gebühr",
              "detail": {
                "text": "Kostenlos",
                "type": "text"
              },
              "style": "plain"
            },
            {
              "title": "Gesamt",
              "detail": {
                "text": "14,79 €",
                "type": "text"
              },
              "style": "highlighted"
            }
          ],
          "type": "table"
        },
        {
          "title": "Dokumente",
          "data": [
            {
              "id": "a565a2ac-5de9-4c6a-88cd-f1f2ae8a73b5",
              "title": "Abrechnung Ausführung",
              "action": {
                "payload": "https://traderepublic-data-production.s3.eu-central-1.amazonaws.com/...",
                "type": "browserModal"
              },
              "postboxType": "SAVINGS_PLAN_EXECUTED_V2",
              "local filepath": "G:\\...\\Abrechnung Ausführung - FTSE All-World USD (Dist).pdf"
            },
            {
              "id": "a7162771-bdc7-4f68-a055-38138c9e82b2",
              "title": "Kosteninformation",
              "action": {
                "payload": "https://traderepublic-data-production.s3.eu-central-1.amazonaws.com/...",
                "type": "browserModal"
              },
              "postboxType": "COSTS_INFO_SAVINGS_PLAN_V2",
              "local filepath": "G:\\...\\Kosteninformation - FTSE All-World USD (Dist).pdf"
            }
          ],
          "type": "documents"
        }
      ]
    },
    "has_docs": true
  },

Thanks, #122 seems to work with your logs


[Draft] Adds a way to limits reference search by StructLiteral

first draft for #2549

This looks good to me!
I am slightly uneasy about the fact that find_all_refs is used the same way both for UI-facing Analyzer::find_all_refs as well as for an internal rename. I think we should maybe refactor that in the future (by making a more abstract reference search infra), but for the time being I think just not overengineering it is the right approach!

@matklad I use find_all_refs in #2698 too and was thinking something similar.

I think this is good to go actually! :)
bors r+

I've tested it and it works in Emacs, but not in VS Code: seems like vscode just does not trigger reference search if the cursor is on a punctuation :-(

Upstream vscode issue: https://github.com/microsoft/vscode-languageserver-node/issues/554
Not sure what we can do about this on our side :(
Gotta switch to Emacs I guess? :D

bors r+

@mikhail-m1 I've rebased the branch from your repo onto master, to check if this makes bors behave

bors retry


LRA-519-lsa-ride-share-add-notifications

This PR sets up the intitial mailer configuration using the SendGrid service from Twilio.
I added an Admin mailer and test methids to allow for running the mailer locally using letteropener. To view results in letteropener naivagte to (http://localhost:3000/letter_opener/)
The Staging and Production configurations run through SendGrid's SMTP service. I need to have the config run on the Staging server to be able to confirm the configurations and adjust them.
To send a test email from a Rails console:
#After logging into the hosting server open the rails console and enter
To test the mailers in the Rails console, you can use the following command:
mailer = ActionMailer::Base.new
check settings:
mailer.delivery_method # -> :smtp
mailer.smtp_settings # -> { address: "localhost", port: 25, domain: "localhost.localdomain", user_name: nil, password: nil, authentication: nil, enable_starttls_auto: true }
send mail:
mailer.mail(from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>subject: 'test', body: "Hello, you've got mail!").deliver
You can also test the actual flow of email in the application at the Rails console by entering:
AdminMailer.test.deliver

Everything looks good. I run all tests. You can edit the PR description, because on localhost
mailer.delivery_method # -> :smtp is not correct, it's
mailer.delivery_method
=> :letter_opener_web

And please remove empty lines from config/environments/production.rb just to make it clear.


vim-flake8 git version gets hold of the  key unconditionally

Hi!
This page reads - https://github.com/nvie/vim-flake8
Customization

If you don't want to use the <F7> key for flake8-checking, simply remap it to another key. It autodetects whether it has been remapped and won't register the <F7> key if so. For example, to remap it to <F3> instead, use:

autocmd FileType python map <buffer> <F3> :call Flake8()<CR>

However having added  this line to my .vimrc,  still does the flake8 thing instead of my previous mapping which is :cp in the quickfix window:
autocmd FileType python map <buffer> <F5> :call Flake8()<CR>

please look into correcting it because vim-flake8 does not work as advertised.

I should note that one workaround I found is to add this line to my .vimrc:
let no_flake8_maps = 1

This is after studying the code.

Thanks @amosnier — happy to add it to the README if you want to make a PR for it! 🙏

Thanks @amosnier — happy to add it to the README if you want to make a PR for it! pray

Done.

Thank you, @amosnier ! 🙏


Redirect stdout/stderr of workers to a file

Right now, they don't get emitted anywhere. Some people have run into an issue where the stdout buffer fills up which causes their topology to block and stop working:
http://groups.google.com/group/storm-user/browse_thread/thread/8d1256af38198d85

Try System/setOut and System/setErr methods

Fixed for 0.6.2


Updating Color picker color dynamically.

The API docs are a bit difficult to follow.
I was hoping you could explain how to dynamically update the color picker's currently selected color without mouse input. One could imagine a color picker which must be kept synchronized with a model whose color can be chosen by a color picker, or whose color picker should reflect the model's color.
In other words, I want an event handler which can update the color picker's color.
Thank you!

Resolved: use something else instead.

Hi @bmershon,
sorry, but your complains are a bit difficult to follow...
What do you need,... how can I help you?

I needed to be able to set the color of the color picker after it had been instantiated. In setting the color of the color picker, I needed the internal model to reflect the new color and the UI (cursor and slider positions) to be consistent with the current color. I couldn't find a good way to do this by reaching into the model and using the given rendering callbacks or by poking at various exposed methods I could find (e.g., this.color.setColor(...)).
I have moved to another color picker for the time being.

Hi @bmershon again,
well, one attempt of this color picker was to use as little (memory-, CPU-) resources as possible. So, if you have a form with all kinds of input fields, some of them (maybe) concerning colors, the goal was not to bother the app (form) with event listeners, instances, etc. if it might not even be used (so the user might actually be fine with default values or he/she chose the perfect colors earlier...). Anyhow, the UI is not even existing after instantiation, only the color model is there to server the input field to render as good as possible (foreground-, background color, contrast, etc., and one color instance serves many fields...).
The fact that you can actually instantiate color picker for multiple input fields at the same time as in $('.color').colorPicker(), there was the decision made that every time you toggle the picker by clicking or focusing an input field, the picker will fetch the color from its value (and only when the color picker is visible or just after it closed, the color model and the UI are in sync, and only then).
So, changing or setting the color after you instantiate is actually not something concerning the color picker but is the job of the input field (or for you as a programmer).
So set the color of the input field by changing its value, then maybe change the bg-color and use myInstance.colorPicker.color.setColor() to get the correct foreground-color you need (as seen in the demos: color: colors.RGBLuminance > 0.22 ? '#222' : '#ddd').
I still don't understand why you need the cursor and slider position... but if this helps you (even you switched to another picker ;o), please let me know.
Cheers
Peter

I understand that this is a bit of a hack, but other than that, is there anything wrong with setting a color like this?
$('.color').val('#00FF00')
$('.color').trigger('change')
This way you let the colorpicker do the job of changing the colors and moving the cursor and the slider.

Hi @minderov ,
that sounds like a good (and cheap, code wise) idea. I will consider this in the next release.
Thanks and cheers.
Peter


build error in window

Hello:
when I build in win,there is an error
error  C2664	“void std::_Ptr_base<_Ty>::_Reset0(_Ty (*),std::_Ref_count_base *)”: can not change “uchar ”to“unsigned char ()[]”
error occured in FAST memory.cpp line 695

There is no memory.cpp in FAST. I think you are using an old visual studio compiler that doesn't support C++14. Try and download visual studio 2017 community edition (free) and use that instead.

it occoured in \Microsoft Visual Studio 14.0\VC\include\memory

I believe I found the cause of your error, I have pushed a fix for it to master: https://github.com/smistad/FAST/commit/5a8e8af622c805c70c56c7c11d7a248ba8496e13
You could checkout this commit and try it

Thank you,I will tyr it soon.


Introduce ESLint

Q
A

Documentation
no

Bugfix
no

BC Break
no

New Feature
no

QA
yes

Description

Adds ESLint to this project to provide at least some CI pipeline for the moment.

Closing in favor of #82


Find a way to display the DOI of references

As @fuerstT suggested, we should find a way to display the DOIs of the references.
A few options are:

Display it on hover alongside with the other informations

Add a card below the main graph where the DOIs are displayed as a table?

Add an hyperlink to the lines: https://community.plotly.com/t/hyperlink-to-markers-on-map/17858?u=jmmease

I think I found a better solution by adding a data table.
Users who want to quickly see the DOI of a reference can simply go and look in the data table (last column).


[Feature]: Chat app in Enarx Keep (C++)

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Description: Develop a chat client using a simple custom protocol running in Enarx. The project can be done in a programming language of your choice and a reference implementation in Rust along with a common Web interface will be provided. One of the main case studies for Confidential Computing is the Signal messaging application, which offers end-to-end encryption using Intel SGX. A chat app in Enarx would be cross-platform.
MVP: Terminal chat client
Stretch goal: Connect the client to a provided Web Interface
Language: Rust, C, or C++
Skills/Background: Networking
Mentor: Richard, Roman
Difficulty: Medium/Hard
This project is part of Semester of Code:
https://github.com/jhu-ospo-courses/JHU-EN.601.270/tree/main/Fall_2022#enarx-projects
Acceptance Criteria
No response
Suggestions for a technical implementation
No response

I want to work on this so please assign this to me

I want to work on this so please assign this to me

Hi @Subhajit767 this task is already assigned, but if you're interested in contributing, perhaps you could work on porting the existing Rust chat client (https://github.com/enarx/codex/tree/main/Rust/tokio-chat-client) to other languages than C and C++?


Update doobie-core to 1.0.0-RC4

About this PR
📦 Updates org.tpolecat:doobie-core from 1.0.0-RC2 to 1.0.0-RC4
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.tpolecat", artifactId = "doobie-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.tpolecat", artifactId = "doobie-core" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, version-scheme:early-semver, commit-count:1

Superseded by #283.


[CSI] Relook into initiator info handling

Is this a BUG REPORT or FEATURE REQUEST?:

/kind feature

What happened:
Currently during NodeGetInfo, CSI (block/file) plugin checks if host with hostname already exist, if it does not exist, it extracts all the initiator info from driver , creates host and return host id ad node get info response
What you expected to happen:
Few things to relook here
1. Can host creation be made as prerequisite here so that csi always gets host id and do not bother about initiators details
2. Even if we do not keep this prerequisite (host being created already), csi can query API layer and initiator info instead for importing driver part of the code so that driver changes need not affect the csi flow
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

NBP version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

Addressed, closing the issue


Remove Steampunk Scanner and integrate with Steampunk Spotter

Steampunk Scanner is long gone. We need to integrate with Steampunk Spotter CLI to enable Ansible scanning with Steampunk Spotter.

Closing as this is a duplicate of #48 and #56.


[Feature]: Media position for media card

Is your feature request related to a problem?
The media card doesn't have the option to show progress of the media playing. It would be nice feature to have.
Describe the solution you'd like
Could possibly use media player attribute media_position and media_duration to show a progress bar like on standard media card

Describe alternatives you've considered
No response
Additional context
Thank you so much for your work on the mushroom cards! Next coffee on me!

I would love the option to show media position bar!
Something like this would be awesome with option show true false?

+1


runtimeconfig.dev.json is always output

Irrelevant now that I've switched over to building the project file.


khepri_fun: Patch incorrectly decoded instructions

beam_asm decodes several bitstring matching instructions incorrectly. Sometimes, it's just the field flags which are not decoded. Unfortunately, sometimes, instruction arguments order is incorrect or the argument does not have the form expected by the compiler.
Now, pass1_process_instructions/3 starts by patching those instructions before doing anything else with them. This way the rest of the code handles correct instructions (from the point of view of the compiler). A second benefit is that if beam_disasm is fixed, Khepri will continue to work.

Pull Request Test Coverage Report for Build 279

0 of 28 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 81.159%

Totals

Change from base Build 274:
-0.08%

Covered Lines:
1288

Relevant Lines:
1587

💛  - Coveralls


Rethink Observable.create() ?

According to this article here, they said that:

Don't use Observable.create() if you can, it's very easy to shoot yourself in the foot! (and then shoot again for each new subscriber!)

The guy does not have any argument/reason why not to use it. What makes you think we should not use it?

Yes you are right there isn't any argument into this post why do not use it. I was wondering if you have any idea why? If you have subscriber and especially in our case we  need the create to compose the subscriber properly.
But there is a general opinion who says that (here):

While the code works now

public Observable<String> valueObservable() {
  return Observable.create(subscriber -> {
    subscriber.onNext(value);
    subscriber.onCompleted();
  });
}

how do I know it will always work for future versions of RxJava? And how do I know I've safely covered all my bases, like backpressure and unsubscription? I'm not an expert on operator development

Here's an alternative that uses no custom operators:

public Observable<String> valueObservable() {
  return Observable.defer(() -> Observable.just(value));
}

All I did was wrap the original code with defer(), but now the behavior is what I want. None of the code inside of defer() is executed until subscription. We only call Observable.just() when someone requests the data.

I prefer this solution for a couple reasons:

It's simpler than Observable.create() - no need to call onCompleted().
It uses built-in operators, so they're (probably) implemented correctly.
The only downside to defer() is that it creates a new Observable each time you get a subscriber. create() can use the same function for each subscriber, so it's more efficient. As always, measure performance and optimize if necessary.

I think our case is different here. We do almost the same because we execute the code when there is a subscriber

I don't think is a big deal here. The article refers to the fact that by using Observable#create is easier to break the Observable contract and if you do not care about it, you might end up creating Observables that may never complete.

Yes it's not a big deal, basically it's an abstraction, in our case we must have every thing of subscriber.
Thanks for the discussion man!

Hello there :smile:

I don't think is a big deal here. The article refers to the fact that by using Observable#create is easier to break the Observable contract and if you do not care about it, you might end up creating Observables that may never complete.

Exactly, I saw some implementations of Observable.create that had different problems and errors. Basically, if you can avoid Observable.create -> avoid it, but if you 100% sure you need it — no problem.
Observable.fromCallable(() -> some code) handles a lot of cases, it's probably a most used operator in our code for creating Observables.

@artem-zinnatullin nice observation. The only thing I would add is that defer() operates in a different way than create(). You might need the Observable to be created right away (create) and not when someone subscribes to it, or the other way around.

@artem-zinnatullin @android10 Yes I think that's the point which he tried to explain into the article, maybe it's not obvious. He noticed that he didn't want to create an Observable  when someone subscribed to it.


Display Mirrored

I am using a Raspberry Pi Pico W with a 128x160 pixel LCD display from AZ-Delivery.
In most cases, the mirrored display isn't a problem, because I can just code everything mirrored.
But as far as I can see, there is no way to do this, when trying to display text.
Am I doing something wrong? Is this a bug? Is there a way to just mirror the display again so that it is correct?
I'd love to here from you. :smile:
Here is a minimal working example:
import ili9341
from machine import Pin, SPI

spi = SPI(1, baudrate=15625000, sck=Pin(10), mosi=Pin(11))
display = ili9341.Display(spi, dc=Pin(15), cs=Pin(13), rst=Pin(14), width=128, height=160)

display.draw_text8x8(0, 0, "Hello World", ili9341.color565(255, 255, 255))

I'm not sure what you mean by mirror.  Do you mean like text in a mirror such as redruM in the Shining?
I think you are probably referring to the lack of 180 and 270 degree rotation.  I went ahead and added a rotate_180 parameter to the draw_text method.  It can be used in conjunction with the landscape parameter to rotate text in the 4 cardinal directions.
I created a demo called demo_fonts_rotated.py so you can see how it works.
It would be better to replace the landscape and rotate_180 with a single rotation parameter but I don't want to create breaking changes.
Here's the code if you're interested.  It's more of a hack:
if rotate_180:
    # Manually rotate the buffer by 180 degrees
    # ensure bytes pairs for each pixel retain color565
    new_buf = bytearray(len(buf))
    num_pixels = len(buf) // 2
    for i in range(num_pixels):
        # The index for the new buffer's byte pair
        new_idx = (num_pixels - 1 - i) * 2
        # The index for the original buffer's byte pair
        old_idx = i * 2
        # Swap the pixels
        new_buf[new_idx], new_buf[new_idx + 1] = buf[old_idx], buf[old_idx + 1]
    buf = new_buf

If you really want mirrored text (as in how text looks in a mirror) then you could use a similar approach to above.  To mirror the text horizontally, you would need to reverse the order of the pixels in each row but not the rows themselves.  Here's a theoretical example that I have not tested:
def mirror_buffer_horizontally(buf, width, height):
    # Create a new buffer for the mirrored image
    new_buf = bytearray(len(buf))

    for row in range(height):
        for col in range(width):
            # The index for the original buffer's byte pair
            src_idx = (row * width + col) * 2
            # The index for the mirrored buffer's byte pair
            # It starts at the end of the row and moves backwards
            mirror_idx = (row * width + (width - col - 1)) * 2
            # Copy the pixel pair to the mirrored position
            new_buf[mirror_idx], new_buf[mirror_idx + 1] = buf[src_idx], buf[src_idx + 1]
    return new_buf

Thanks for the fast reply!
I meant that the text was mirrored, as in how text looks in a mirror. I tested your code and it works for me. The only problem is that the text is on the wrong side, but that is something I can address myself.


feat/active-pin-code-container-style

Closes #19
Description
Add theme prop focusedPinCodeContainerStyle to apply styles for currently active input

I've changed the name of the prop for the sake of the naming convention of a project


Placeholder should not be shown if there is at least one tag

Browsers show the placeholder only if there is no input. Tags should qualify as input, so the placeholder should be removed if there is at least one tag present.

You can currently accomplish this by:

Enabling active interpolation of the placeholder in your app config:

.config(function(tagsInputConfigProvider) {
    tagsInputConfigProvider.setActiveInterpolation('tagsInput', { placeholder: true });
})

Binding the placeholder to an expression: placeholder="{{myPlaceholder}}"

Yep, I saw that in several places as a solution. My take is that the component should always behave that way, and it shouldn't be necessary for the client to configure it to do that. I've built autocomplete widgets before, and reasoned that wrapping up some input into a bubble/chiclet doesn't change the fact that there has been input, therefore the placeholder should not be shown.


remove recommonmark - [merged]

In GitLab by @NicolasDenoyelle on May 2, 2019, 14:52
Merges recommonmark -> master

In GitLab by @NicolasDenoyelle on May 2, 2019, 15:19
merged

In GitLab by @NicolasDenoyelle on May 2, 2019, 15:19
mentioned in commit ff611743a02c3abb876808b70a47fb36c964dacf


Added test when parsing float value result is not accurate

Added test when parsing float value result is not accurate

Sorry. Made some investigation.
Float values can store only 8 significant numbers
Double values can store about 14 significant numbers


Fix Leaks in Nearby activity

#941

Seems to fix #938 as well. Unable to reproduce the leaks.

Unfortunately, I reproduced leaks, and seem like have found another leak:

@neslihanturan Can you try testing once again. I have done some more checks for possible memory leaks. I played with the app for around 15-20 mins but wasnt able to reproduce the leak. I tried:

Rotating the screen multiple times
Coming back and forth to the NearbyActivity
Multiple refreshes and map/list view switches without waiting for responses.

Codecov Report

Merging #942 into master will increase coverage by 0.09%.
The diff coverage is 56.06%.

@@            Coverage Diff            @@
##           master    #942      +/-   ##
=========================================
+ Coverage    6.44%   6.53%   +0.09%
=========================================
  Files          97      97
  Lines        5201    5200       -1
  Branches      488     482       -6
=========================================
+ Hits          335     340       +5
+ Misses       4838    4833       -5
+ Partials       28      27       -1

Impacted Files
Coverage Δ

...n/java/fr/free/nrw/commons/CommonsApplication.java
22.72% <0%> (-1.58%)
:arrow_down:

...w/commons/contributions/ContributionsActivity.java
0% <0%> (ø)
:arrow_up:

...ava/fr/free/nrw/commons/nearby/NearbyActivity.java
41.72% <70.45%> (+3.59%)
:arrow_up:

...e/nrw/commons/location/LocationServiceManager.java
42.5% <85.71%> (+5.35%)
:arrow_up:

Continue to review full report at Codecov.

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

Hmm I couldn't reproduced it either this time. Probably my mistake, very sorry for your 20 minutes @maskaravivek :/ If you solve conflicts I am ready to merge it.

@neslihanturan No problems. Atleast now we can be sure that these 2 leaks are fixed. Thanks for helping with testing. Have resolved the merge conflicts. :)

@maskaravivek sorry for inconsistency but I saw some new leaks again and it my last build was your branch as I remembered. Please give me some more time to make sure about leaks, because you know it is hard to detect them.

Sure, @neslihanturan. Please report any leaks in NearbyActivity and ContributionsActivity

I am convinced:)


Cl cleanup enclave

[enclave]: mostly refactoring utils into several modules and gave more meaningful and concise names that take into account the namespacing of the modules
[enclave] also extracted some methods of the lib.rs file into modules
some general cleanup

All changes have been applied inside https://github.com/scs/substraTEE-worker/tree/cl-enclave-security-hardening.


Addition of 'Ctrl+S' Save Feature

Is your feature request related to a problem? Please describe.

In the lab, when the user is logged in and Ctrl+S is clicked, the program does not save into 'my programs' and instead the HTML extension of the web-page is saved to the computer.

Describe the solution you'd like

Addition of 'Save' feature when Ctrl+S is clicked and user is logged in.

Additional context

It can open the 'save as' dialog box when Ctrl+S is clicked and the user is logged in. If the user is not logged in however, it could save into the user's computer.

Hi,
I would like to take up this issue.
I already solved it on developer console of the website.
Could you please guide me to solve the issue.

Do you have a local clone of the repo yet? Make the changes and test them there and then you can create a pull request.

yes i have a clone. I found out that the js files are located in OpenRobertaServer / staticResources / js folder. Just wanted to know where should i add the event listener function. Also is there a function to save the project such that when Ctrl + S event is triggered i can call it thus it will save the project instead of the html file

You can do it in the same way as the other hotkeys, look up how they work and try to do it similarly. Use the "Find in all files" function of your IDE to locate it.
In order to properly save you need to trigger the appropriate REST call. You should be able to find it and how they work by looking through the files.
If you need any more pointers feel free to ask.

We have decided to slightly restructure the scope of this issue. Instead of only focusing on the CTRL + S save feature, there should be a more general concept and implementation for keyboard shortcuts.
Questions:
What features should be accessible through keyboard shortcuts? (Import/Export)
What shortcuts would best represent these actions?
How to show the shortcut to the user?
How to handle devices without immediately accessible keyboards?
These questions (and maybe other ideas?) should be thought through before the implementation. Once properly specified and discussed the feature can be implemented.
This should still fall in the scope of "good first issue" as it gives some insights into the Lab and how users might use it, while providing a fairly straightforward frontend implementation effort, in a kind of mini project.


Use voluptuous for logger

Description:
Migration of the configuration check to voluptuous.
Related issue (if applicable): fixes 127528299
Example entry for configuration.yaml (if applicable):
logger:
  default: critical
  logs:
    homeassistant.components: info
    homeassistant.components.mqtt: debug
    homeassistant.components.biary_sensor: critical

It would be nice if somebody could take a look at the changes and run a quick test. Thanks.

One comment, but otherwise it looks good! :dolphin:

@fabaff
I am getting error output for my logger service now after this last rebase:
16-09-19 16:42:51 homeassistant.bootstrap: Invalid config for [logger]: required key not provided @ data['logger']['logs']. Got None
Seems I can no longer define a default log level.


Add missing line of code to first example

Having someone else who double-checks this huge refactoring is very helpful, thanks!

:) working on a new form-heavy feature right now with the 1.4 branch!

(though distracted by the all the cool announcements coming out of ReactConf)

working on a new form-heavy feature right now with the 0.4 branch!

Great! Let me know if you have issues, I'll try to help you out

though distracted...

Yeah ... I should prepare my dinner, but I can't stop watching twitter :)
I'm happy to have invested in React


Add logging

Add logging to main decorator.

Decided that this is not necessary. Better exception messages have been added which convey the necessary information.


istioctl analyze should operate on a single control-plane

Currently the analyze tool treats the entire cluster as a single control-plane. We should provide the ability to point the tool at a specific instance.

This is something that will need to be solved much more broadly in Istio. We should make sure that whatever solution we end up using WRT Galley also works for analysis use cases. This will likely be pretty natural, since analysis uses the Galley pipeline.


[SPARK-38829][SQL] Add a configuration flag to enable TIMESTAMP_NTZ support in Parquet data source

What changes were proposed in this pull request?
This PR adds the configuration flag spark.sql.parquet.timestampNTZ.enabled which allows to read and write TIMESTAMP_NTZ values in Parquet and is enabled by default.
Previously the usage of TIMESTAMP_NTZ was hardcoded so there was no way to restore the original behaviour of reading values as TIMESTAMP_LTZ. This PR addresses the issue - when the config is disabled, all TIMESTAMP_NTZ values will be read as TIMESTAMP_LTZ and writes would fail with an unsupported type error (and will have to be cast to a different type).
Why are the changes needed?
Allows users to fall back to reading Parquet types TIMESTAMP_MICROS and TIMESTAMP_MILLIS with UTC offset disabled as TIMESTAMP_LTZ. Note that the users must explicitly disable the config - by default we would read such Parquet types as TIMESTAMP_NTZ.
Does this PR introduce any user-facing change?

Yes, users have the ability to disable TIMESTAMP_NTZ support in Parquet data source.
How was this patch tested?

I updated a few unit tests to check the behaviour of the config flag.

cc @cloud-fan @gengliangwang @dongjoon-hyun

Build link https://github.com/sadikovi/spark/actions/runs/2158954218

Build link: https://github.com/sadikovi/spark/actions/runs/2159198105

Build link: https://github.com/sadikovi/spark/actions/runs/2159820620.

@gengliangwang Can you review again? Thanks.

Can one of the admins verify this patch?

@gengliangwang @sunchao Can you review again? Thanks.

@gengliangwang @sunchao thanks for the review! I addressed the comments.

Thanks, merging to master

Thanks!

FYI I am proposing a new light-weight configuration for TIMESTAMP_NTZ inference in Parquet: https://github.com/apache/spark/pull/39856


Contribution File With Github Shortcuts Added

@pravee42 Kindly Check The Files As Well As Label That File As Hacktoberfest Accepted To Be Successfully Merged In Hacktober Fest

#18 #17 Was fixed

@pravee42 Merged It?


Trade

This PR represents Trade functionality(issue #116 ).
When a user initiates a new trade, he becomes the initiator and his initiator_decision is automatically filled in as accepted and the status of the trade becomes Negotiate.
If one of the users rejects the trade, it automatically becomes Rejected, the trade is closed and cannot be changed anymore.
If they both accept the trade, it's becomes Accepted.
Users can only trade their listings which are marked as is_listed.

I tried Trade create request with body:
{
    "initiator_listing": [
        1
    ],
    "recipient_listing": [
        2
    ],
    "initiator_cash": 5,
    "recipient_cash": 0,
    "initiator_decision": "pending",
    "recipient_decision": "pending"
}

but I get error: "You can not trade with recipient's listing ids: [2].". Id 2 is a valid target, because that is another user. I am currently logged in as user 1, and I am using its token. I get the same error when I try with other ids.

Also, I think it will be easier if we enforce the recipient id (currently we obtain it like recipient = recipient_listing[0].user, which is easy to get around).  Then check if all listings you are trying to trade are really of this user and this user only.

Otherwise looks good!

Fixed. Now the POST request looks like bellow:
{
    "recipient": 4,
    "initiator_listing": [
        3, 4
    ],
    "recipient_listing": [
        14
    ],
    "initiator_cash": 5,
    "recipient_cash": 0,
    "initiator_decision": "pending",
    "recipient_decision": "pending"
}


invalid_grant failures under Python3

When running with the branch from https://github.com/GoogleCloudPlatform/gcloud-python/pull/580:
$ .tox/regression3/bin/python regression/run_regression.py --package=storage
ERROR

======================================================================
ERROR: setUpModule (storage)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/regression/storage.py", line 42, in setUpModule
    SHARED_BUCKETS['test_bucket'] = CONNECTION.create_bucket(bucket_name)
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/gcloud/storage/connection.py", line 351, in create_bucket
    data={'name': bucket.name})
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/gcloud/storage/connection.py", line 239, in api_request
    method=method, url=url, data=data, content_type=content_type)
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/gcloud/storage/connection.py", line 176, in make_request
    body=data)
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/oauth2client/util.py", line 135, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/oauth2client/client.py", line 530, in new_request
    self._refresh(request_orig)
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/oauth2client/client.py", line 744, in _refresh
    self._do_refresh_request(http_request)
  File "/home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/regression3/lib/python3.4/site-packages/oauth2client/client.py", line 807, in _do_refresh_request
    raise AccessTokenRefreshError(error_msg)
oauth2client.client.AccessTokenRefreshError: invalid_grant

----------------------------------------------------------------------

Those tests use the GOOGLE_APPLICATION_CREDENTIALS envvar, and run fine under Python2.

All gcloud-python unit tests pass on that branch under Python2 and Python3.

cc @anthmgoogle

It's a formatting issue of bytes vs. string.
In Python2:
>>> body
'assertion=eyJ...'

In Python3:
>>> body
'assertion=b%22b%27eyJ...'

@craigcitro Can you assign this issue to me? I am working on it.

@dhermes it won't let me assign to anyone outside our org, unfortunately.


Scrape.js should scrape all pages

Currently, scrape.js will only scrape one page of etherscan notes at a time. Modify it so that it will move through all pages of notes, scraping them and outputting them all in the same JSON format that scrape.js currently does

thanks!


need to re-run 00_build_data.R

due to missing field in park_inventory.csv, changed had to be made to park_info() function and now all data should be deleted and re-built to ensure it's been built properly.

now complete


error on the 'Namespace' object has no attribute 'dump_root'

thanks for the code.but when I run the prepare_train_data.py as
python data/prepare_train_data.py --dataset_dir=/home/lli/tensorflow/SfMLearner/data/kitti/ --dataset_name='kitti_raw_eigen' --dump_root=/home/lli/tensorflow/SfMLearner/data/kitti/resulting/formatted/data/ --seq_length=3 --img_width=416 --img_height=128 --num_threads=4
it run the error 'Namespace' object has no attribute 'dump_root'

That is weird... Is anyone else encountering the same error?

dump_dir = os.path.join(args.dump_root, example['folder_name'])  error happen in this code.

and then I use the real  folder path /home/lli/tensorflow/SfMLearner/data/kitti/resulting/formatted/data/ replace the  args.dump_root ,the code like this "dump_dir = os.path.join("/home/lli/tensorflow/SfMLearner/data/kitti/resulting/formatted/data/",example['folder_name'])" it worked, but I don't think this is a  good method.

I got the same error with  --num_threads=4
A way around is to set num_threads to 1.

I have ever encountered such problem and successfully dealt with it without setting num_threads to 1. But I'm very sorry, now I forget how to deal with this. At least, for me, I could run my code well with following command in my computer:
--dataset_dir=/data/kitti/ --dataset_name='kitti_raw_eigen' --dump_root=/data/kitti/formatted/ --seq_length=3 --img_width=416 --img_height=128 --num_threads=4

So, I think the problem is not about the threads. I hope this could hep you.

Oh, I found the way to deal with it just now.
For some reason, the function dump_example couldn't get the global variable args.
So such errors encountered. I guess it is relative to the multi-threads.
The answer of @francois-baptiste will help because it only used one thread and the global variable is available.
For me, I dealt with it by changing the parameters of dump_example from
def dump_example(n):

to
def dump_example(n, args):

and changed
Parallel(n_jobs=args.num_threads)(delayed(dump_example)(n) for n in range(data_loader.num_train))

into
Parallel(n_jobs=args.num_threads)(delayed(dump_example)(n, args) for n in range(data_loader.num_train))

@Huang-Jin ,your answer deal with the issue,thanks a lot. Alao thanks to @tinghuiz @francois-baptiste

@Huang-Jin Do you mind submitting a PR for the fix? Also, thanks for helping address some of the open issues! :)

What does it mean to submit a PR, I'm not very sure about it?

Oh, I meant pull request.

Ok, I will do it tomorrow. Now I have to sleep. Good night! :)


wip: add typescript dataset

Adds completion evaluation dataset for TypeScript to

https://github.com/sourcegraph/cody/pull/1265

Test plan
This PR adds completion evaluation datasets.

@umpox, @slimsag, what do you think about the test cases added? Do they test real-world scenarios in your opinion? I'm looking for feedback on the overall direction.

@philipp-spiess, tagging you here too as you're actively contributing to the quality evaluation discussion.

Re: https://github.com/sourcegraph/cody/pull/1332#issuecomment-1761109676
@umpox, we got significantly better results for Copilot for this dataset too.
cc: @philipp-spiess

@taras-yemets Have you tested the two cases where the suffix should have a bigger impact (calcArea and createPerson) with StarCoder? I feel like maybe the fake infilling we have with Claude Instant might be the culprit here but 😬

@philipp-spiess, I'm running the benchmark command BENCHMARK_DISABLE_FEATURE_FLAGS=true against the dotcom instance, so consider these results to be for the default completions provider.

@taras-yemets Can experiment with Starcoder/different models by updating the file at vscode/test/benchmark/fixtures/workspace/.vscode/settings.json
with:
  "cody.autocomplete.advanced.provider": "unstable-fireworks",
  "cody.autocomplete.advanced.model": "starcoder-16b",

@taras-yemets Can experiment with Starcoder/different models by updating the file at vscode/test/benchmark/fixtures/workspace/.vscode/settings.json
with:
  "cody.autocomplete.advanced.provider": "unstable-fireworks",
  "cody.autocomplete.advanced.model": "starcoder-16b",

@philipp-spiess, got the same result for https://github.com/sourcegraph/cody/pull/1334#discussion_r1358060118 with the suggested model.

@taras-yemets Let's chat next week about this in more detail. I wonder if we can get something going before the release so we can A/B test this. This is great work!

@umpox happy to add you too if you want :)

@taras-yemets oh also make sure to share this in Slack this is super awesome insight! :)

@philipp-spiess Yes please would be good to discuss :)


[Forwardport] - Cluster Controller causes Rancher to OOM when too many resources are called from downstream

What kind of request is this (question/bug/enhancement/feature request):
This is to track the fix in master (2.5) for Issue - https://github.com/rancher/rancher/issues/26166

The bug fix is verified with Rancher server rancher\rancher:master-head version a1acca856
Steps:
Create a downstream cluster
Create 10k+ secrets in it
Result:
Cluster is accessible.
User is able to list 999 secrets out of 10k+.


Can it parse ics files?

(Required) Version Number:
8.0.2
Description
Does this framework support parsing ics files? If not, can you recommend a cocoa pod for that will parse ics files? I would deeply appreciate it :)
Steps To Reproduce
Expected Behavior
Additional Context

Unfortunately, it cannot.
I am not a good person to suggest a cocoapod because I have never interacted with ics files before.

Ok, thanks.


Carbon website shows $ui-# token for Tile bg, however the library uses $field-#

Carbon website needs to update its color tokens to match the sketch library.
Tile component in website specifies $ui-# for background color, but sketch library uses $field-#

Relevant information

This issue has been resolved and you will see the change in our next update of the Sketch libraries at the end of March. ✅


Does this repository have a license?

Hello,
I was looking for a customised/self hosted bingo app  for a little bit of fun for an event I'm helping to organise, and stumbled across this repository.
After playing around in a fork, it works very nicely (and was very easy to set up - thanks for the clear documentation!).
Before i actually use it for the event though, I would like to ask if you're happy with me making and using the fork itself - and if there is any particular license/attribution you would want associated with the code at all? I don't see any license files in the repo currently.
If you're not comfortable with the code being used by others, I'm happy to delete my repository and find another solution.
Cheers,
James

Hi James,
Sorry for the late reply - I just added an MIT license. Feel free to use for future events!
Cheers,
Cordelia

Awesome, thank you!


THRIFT-4222: Add Golang NewTServerSocketFromAddrTimeout

Adds the ability to create a new server socket from a non-TCP (eg. Unix socket)
address. Modeled after the existing NewTSocketFromAddrTimeout function.

Note that this obviates the need for a library like https://github.com/Wang/thrift_unix_domain/blob/master/server_unix_domain.go, which is mostly a copy of the existing implementation with a minor change to support unix domain socket addresses.

I don't think any of the test failures are related. Please let me know if this needs anything else to be merged.

If you could file a JIRA ticket, that would be awesome :-)
http://thrift.apache.org/docs/HowToContribute

JIRA ticket filed: https://issues.apache.org/jira/browse/THRIFT-4222

Ok, I'll look at it.


Mega & Github: No Site Support

Describe the bug
I chose Duckduckgo browser because it's very lightweight, it has a lot of privacy and security features, and is minimal in requirements when it comes to permissions. However, when I try to visit sites such as Mega or even Github, it recognizes the browser as outdated (I'm on the latest version as of writing this), or either unsupported meaning I can't even access the site anymore. It forces me to switch to another browser it recommends which is really inconvenient since I do most of my browsing on it :(
How to Reproduce
With my current setup, all visits to aforementioned sites leads to an error stating that the browser is either outdated or unsupported even though it's based on Chromium.
Expected behavior
If you visit either Github or Mega, it blocks all access to the site forcing me to change to another browser. This could theoretically happen to other sites as well that don't support the browser's current configuration.
Smartphone

DDG App Version: 5.86.2
Device: Redmi 4
OS: Android 6.0.1

Ive just checked this and can not replicate the issue (Android 11, Latest DDG Version). There is a high chance that it could be due to your Android version you said youre on (6.0.1) as features in WebView might be outdated.

I was hoping you wouldn't say that. Just one more question, what version of Chromium is the browser using? Does it have anything to do with other browsers being able to access those sites?

Version 90.4 (WebView Latest Build) and Have not had this issue on other browsers (E.g. Firefox, Chrome, Kiwi etc)

Remember the DuckDuckGo Browser is built off WebView, a smaller version of Chrome's Webkit, Just like Firefox has GeckoView

That's weird. Welp, thanks for the help!

Try update WebView via the Playstore (or install the Beta) there is also the Bromite WebView you can install if that helps (via there website) (You can remove this devs if I cant refer the Bromite WebView) 🤟

To clarify: this browser doesn't use any specific version of Chromium webview; it runs off the one you have on your device.