[Doc] storage_class.replica_count is not available for v1.1

Is your doc request related to a problem? Please describe or add related issue ID.
Installer PR: https://github.com/harvester/harvester-installer/pull/402
Doc PR: https://github.com/harvester/docs/pull/301
Describe the solution you'd like
Tested on v1.1.3-rc1 that storage_class.replica_count could NOT be injected via additional config file (configurl), but it's available for v1.2, so the feature might be mis-documented.

@harvesterhci-io-github-bot don't close my issue :crying_cat_face:

From the source code, the option is available on v1.2 and later
https://github.com/harvester/harvester-installer/blob/3b0b2164b4630b5e110e5f9d40bd6a7f92bd3bbb/pkg/config/config.go#L124;
but not in v1.1
https://github.com/harvester/harvester-installer/blob/ff881353e87c6263ef92fb58ae7536a24d93ddf0/pkg/config/config.go#L102
Seems the document of v1.1 was mis-typed.

Document was updated.


Builder: Popup message on installation

In the builder when the client is installed successfully, we could add a feature where you can choose an icon (Red cross, Yellow exclamation mark, dummy user prompt [...]) and compose a popup message.

Not sure what you mean. Are you speaking of the event of correct client installation or the builder form where a client is correctly built?

It would be a box that would appear client side upon installation to confirm that it was successful. Cause right now you click and nothing happens. The message and icon should be modifiable in case the rat admin binded it with something else to stealth it. In my case, I binded it with a firefox installation package. I would of put something like "You are now ready to install Firefox". That would of been my queue that the rat was installed.

Oh, I see. That sounds like a good idea.

I think this can be added as a check box so that this can be optional during the building of client

Yes first a checkbox then a title and message field with a choice of icon selection (red cross, yellow exclamation, blue exclamation, help bubble) the standard alert box stuff.


[🐛 Bug]: When returning an empty paths array from getStaticPaths I get error: Failed to produce a Cloudflare Pages build

next-on-pages environment related information
System:
Platform: win32
Arch: x64
Version: Windows 10 Home
CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
Memory: 8 GB
Shell: Unknown
Binaries:
Node: 16.14.0
Yarn: 1.22.19
npm: 8.3.1
pnpm: N/A
Package Manager Used: npm
Relevant Packages:
@cloudflare/next-on-pages: 0.10.1
vercel: N/A
next: N/A
Description
export async function getStaticPaths() {
let paths = [];
return { paths, fallback: false };
}
If I return an empty paths array, from getStaticPaths() function I get an error.
The above code is just an example when we have no dynamic pages yet, but surely will be added in future.
Reproduction
Create a new Next.js project
Install next-on-pages: npm install --save-dev @cloudflare/next-on-pages
Create a dynamic page [slug].js, And add this code to that file
const Page = () => {
  return
Testing
;
};

export async function getStaticPaths() {
  let paths = [];

  return { paths, fallback: false };
}

export async function getStaticProps({ params }) {
  return {
    props: {},
  };
}

export default Page;

running this command: npx @cloudflare/next-on-pages --experimental-minify
It shows this error.
▲  Created all serverless functions in: 671.882ms
▲  Collected static files (public/, static/, .next/static): 16.036ms
▲  Build Completed in .vercel\output [33s]
⚡ Completed `npx.cmd vercel build`.

⚡ ERROR: Failed to produce a Cloudflare Pages build from the project.
⚡
⚡     The following functions were not configured to run with the Edge Runtime:
⚡             - [tour].func
⚡
⚡     If this is a Next.js project:
⚡
⚡     - you can read more about configuring Edge API Routes here: https://nextjs.org/docs/api-routes/edge-api-route
⚡
⚡     - you can try enabling the Edge Runtime for a specific page by exporting the following from your page:
⚡
⚡                     export const config = { runtime: 'edge' };
⚡
⚡     - or you can try enabling the Edge Runtime for all pages in your project by adding the following to your 'next.conffig.js' file:
⚡
⚡                     const nextConfig = { experimental: { runtime: 'edge'} };
⚡
⚡     You can read more about the Edge Runtime here: https://nextjs.org/docs/advanced-features/react-18/switchable-runtimme

Pages Deployment Method
None
Pages Deployment ID
No response
Additional Information
Everything works fine if I return at least a single param from the getStaticPaths.
Would you like to help?

[ ] Would you like to help fixing this bug?

Hello, sorry to hear you're encountering a problem with getStaticPaths. I believe this is due to how Next.js treats them.
When using getStaticPaths for SSG, Next.js normally creates pages for the paths returned in the array, and then generates a nodejs lambda function for the fallback. Because of this, specifying fallback: false can be used to disable the incompatible fallback function, and instead tell it that non-SSG'd params should 404.
It sounds like what might be happening is that because you have no paths in your array, Next.js might be ignoring the fallback: false and is generating a nodejs function for the dynamic page instead. 🙁
If you would like to use dynamic pages instead of SSG'd ones, please either opt your route into the edge runtime or remove the use of getStaticPaths. Otherwise, I would recommend returning at least one path from your array like you would normally do.

Thank you very much, When changing that page to edge-runtime it built successfully.
Why it isn't any where in the documentation, either next.js or next-on-pages?

@Qavi-Nizamani I can see that you're using 0.10.1? that's a rather old version of the package and things (including the request routing) have been significantly improved in v1, could you try using v1 instead?
(PS: I'm sorry 0.10.1 is currently tagged as latest so that's why npm installs that, this is something we're working on and should fix soon 🙇)

@Qavi-Nizamani I can see that you're using 0.10.1? that's a rather old version of the package and things (including the request routing) have been significantly improved in v1, could you try using v1 instead?
(PS: I'm sorry 0.10.1 is currently tagged as latest so that's why npm installs that, this is something we're working on and should fix soon 🙇)

Thanks dario, the issue is now resolved. <3

@Qavi-Nizamani I can see that you're using 0.10.1? that's a rather old version of the package and things (including the request routing) have been significantly improved in v1, could you try using v1 instead?
(PS: I'm sorry 0.10.1 is currently tagged as latest so that's why npm installs that, this is something we're working on and should fix soon 🙇)

It works in development server with this command: npx wrangler pages dev .vercel/output/static --compatibility-flag=nodejs_compat
But when deployed on cloudflare pages it is still showing 500 internal server error.

Yes I have checked that it is running @cloudflare/next-on-pages v1
And added the compatibility-flag "nodejs_compat" to make it work properly.
18:15:25.243 | Installing missing commands
-- | --
18:15:25.244 | Verify run directory
18:15:25.244 | Executing user command: npx @cloudflare/next-on-pages --experimental-minify
18:15:26.753 | ⚡ @cloudflare/next-on-pages CLI v.1.0.0
18:15:26.753 |
18:15:26.754 | ⚡ Warning: the --experimental-minify\|-e flag is deprecated and doesn't produce any effect, the
18:15:26.754 | ⚡ (previously named) experimental minification is now enabled by default.
18:15:26.754 | ⚡
18:15:26.754 | ⚡ Note: if you're using the --experimental-minify\|-e flag in your build command please remove it
18:15:26.754 | ⚡       as it will be removed in a future version of the package (causing your command to fail).

I see.... that's really strange then... (I can't imagine why something would work locally but not in production)
I'm not really sure, we'll have to investigate this :sweat:
If there is any more info/code you could provide that would really help :slightly_smiling_face:

@Qavi-Nizamani I've created this simple application by following your instructions + adding the edge runtime export: empty-getstaticpaths-pages-13.4.4/slug.js
It seems to work fine locally, I've also deployed it and it seems to be ok there too:
https://90985905.next-on-pages-test-5h3.pages.dev/slug
Could you check my application and see if I am missing some steps to reproduce the issue?
(or double check your application to see if it can actually get deployed) 🙏

I've created a PR to document that the paths array shouldn't be empty (#348)
Besides that I'm closing the issue due to inactivity.
@Qavi-Nizamani if you circle back to this and still have problems with your application feel free to open a new issue or let me know here 🙂


Webpack loader to extract i18n tagged templates

I've been struggling to get the i18n-tag-schema working to extract anything, but had a thought about using webpack to do this instead. It's an increasingly common pattern to simply apply a webpack loader via require (or a transpiled import, if that tickles your fancy) to build static assets, e.g. require('css!mystyle.css'); in your top-level app.js, which your webpack config would see and bundle up as a static asset. Since translations are yet another static asset, why not let them go in the pipe too?
Building it as a loader would abstract away decisions about building it into a gulp-task, auto-building, how to bundle it, etc., and all that complexity we have no reason to care about. It would also make it a lot easier to deal with different modules and loaders, since we could apply the loader after letting babel concat your modules together.
We'd probably want a couple loaders:

find all the i18n-tagged template literals, and extract to json
take the json, and convert to .po (for transifex, or loading into other sites, especially when you want translations available on a site using both client-side templates and server-side non-js templates).

Thoughts?

Can you give some details about your issues with i18n-tag-schema?
The idea behind i18n-tag-schema is to generate a JSON schema file to help you write your translations in a strictly defined format. The JSON that has been created in the translation process can than easily be imported via webpack as a Javascript object and used as i18n-tag translation.
This process is more about exporting meta data than importing translation data.
Here is a simple example how you can use webpack to export your translations as a Javascript module if you are building a library: https://github.com/skolmer/es2015-i18n-tag#translations-as-commonjs-modules

Maybe I'm misunderstanding what it's for -- if I have a file that looks like:
import t from 'es2015-i18n-tag';
import { createElement as ce } from 'react';

const MyComponent = ({ name }) => (
  ce('section', {},
    ce('h1', {}, 'Welcome'),
    ce('p', {}, t`Hello, ${name}!`),
  )
);

export default MyComponent;

How could I extract the tagged templates, so I'd have a file that says { "Hello, ${0}!": "Hello, ${0}!" }, and could use that to translate, build a .po file, etc.

Taking your example, the tool would generate a JSON Schema that checks if you translation files contain the expected key "Hello ${0}" and also if the value of the key has a param ${0}. This validation can be done with the i18n-tag-schema CLI or if you use an IDE with JSON Schema support (most modern IDEs support JSON Schema) it will provide autocompletion and validation of you translation files out of the box. The translation file should contain a "$schema": "./schemafile.json" property for the schema validation to work. More about IDE integration: https://github.com/skolmer/i18n-tag-schema#ide-integration
In vscode it will look like this:
(check what happens when I open the translation.de.json file)

@jkoudys I just realized that there is a serious problem with the current schema generator using your code. the import name is hardcoded in the schema generator and expected to always be i18n. keys like t`Hello, ${name}!`  will not be exported only i18n`Hello, ${name}!`  . I have to fix that in the next release.

Ah I see - that's the opposite side of what I'm looking to do. I want to inspect the javascript files statically and extract their translations and build a new translations file. Ultimately I'd want to export it as a .po file, or another format supported by transifex.
I could write it via babel-traverse, and grab every tagged template literal and extract its contents. Looking at http://astexplorer.net/#/6vMOJ1Ykxr , I could let you configure the tag-names you want extracted, then just grab each TaggedTemplateExpression with a matching .tag.name and export. Do you think this needs a new project, or could such a thing be part of this one? It's not the same tag feature, but it is a useful tool for enabling i18n-tags.

i18n-tag-schema is using tools like babel-traverse, so most of the work is already being done. The library exports a JS module to export translation keys from files or directories. The export format is JSON but should be easy to translate to a .po file format. It would be nice to have an optional argument to export PO instead of JSON. A PR would be great 👍
Example Code: https://github.com/skolmer/i18n-tag-schema#export-translation-keys
API Documentation: http://github.kolmer.net/i18n-tag-schema/globals.html#exporttranslationkeys
export format:
[
  "hello world" ,  // the same as a msgid in PO
  "some other text",
  {
    "group": "common",  // the same as a msgctxt in PO
    "items": [
      "request password",  // the same as a msgid in PO
      "send message"
    ]
  }
  "some more text",
]

msgctxt? So i18n-tag supports contexts? I can't find examples in the codebase. How would you, for example, tell it that your string translation for 'orange' is a colour, or a fruit? Transifex supports translations with contexts (it's called tc usually ,when the t-function style is used), but I don't see how that could be done with the tag. Something like i18n.context('fruit')orange``, perhaps?

I'm not sure how powerfull context is in transifex maybe I'm getting it wrong.
I think i18n-tag has a similar feature, I called it translation groups.
you can have a translation file like this:
{
  "fruit": {
    "orange": "Orange"
  },
  "color": {
    "orange": "orange"
  }
}

and in js you would write:
i18n('color')`orange`
i18n('fruit')`orange`

I had some time to create a new postprocessor feature that allows you to transform the format of the export. I added a simple PO file format postprocessor that allows you to export all translation keys of your source directory into a simple .po file. If this doesn't match your requirements you can now write your own postprocessor npm package. It is a simple javascript function that takes the JSON export format shown above and transforms it to any other format.

Import aliases are now supported by i18n-tag-schema v2.4.0
import x, { i18nGroup as y } from 'es2015-i18n-tag' // alias names are now detected by the translation key exporter

@y('custom group')
export default class GroupedClass {
  val1 = x`my text`
  val2 = this.i18n`my grouped text`
}

Happy to leave this issue closed, I'm just wondering what a practical example of the decorator pattern you've used there would be? I can't think of a time I'd use a translation group like that; 99% of my translations are called outside classes (stateless components in React), but in practice I always see groups defined on a per-translation-string basis, and I can't think when I'd want it to be defined on the same group (or only one group). e.g. doing the fruit/colour example for "orange", I'd expect a group defined for both translations, not just one of them.
Can you think of a practical example for this?

the idea to use one group per js module/class can help to contextualize your translations, it can help to avoid key collisions in larger project and makes large translation files more readable. this means you are using groups for all your translations. the default group is the name/path of the js module but an override could be "common.fruit" or just "color" or anything else to further contextualize the translation (in functional or technical terms).
lets say you write a react library where every single component should be translatable and you don't want the provided translations to affect other components within your lib. you could use the component file path (see Babel generated file module groups) as group name. you could expose an api function to the user that accepts translations in the known key/value object format and just apply it to this translation group to only change this one specific component.
It can also be used if you are lazy loading parts of your application. you could define a "main" group that contains all translations of your main app and a "admin" group that contains all keys of your admin interface and a "common" group that shares all translations in between. each groups configuration and translations (see configuration groups) can be independently managed and wont affect each other. if the user visits the admin interface the application could lazy-load the admin translations merge it into the translation objects admin group and show the admin components to the user. It won't require the app to load all translations on initial app load for sub-pages the user might never visit.


Flutter showModalBottomSheet with WebView iOS can't scroll

Is there an existing issue for this?

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

Steps to reproduce
I showModalBottomSheet with Webview show url
https://image.fangte.com/TestPro/UploadFiles/H5/RichText/index.html?id=BDB1A583206FED5F975D6D89D9CCB8E1
It can't scroll when it show, must wait moment then can scroll, if I add any characters in the end of web, it can scroll anytime, or I don't set the inset, make the webview's width equal to the screen, it always can scroll anytime, I try use webview_flutter or flutter_inappwebview, have the same problem,
The device is iPhone 12 iOS 16.1。
The problem video link [https://youtube.com/shorts/YH13AgtxOKY?feature=sharetext](https://youtube.com/shorts/YH13AgtxOKY?feature=share[text](https://youtube.com/shorts/YH13AgtxOKY?feature=share))
Expected results
I wish it can scroll anytime no relate to the web content.
Actual results
The webview can't scroll sometimes.
Code sample
Code sample
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// ignore_for_file: public_member_api_docs

import 'package:flutter_inappwebview/flutter_inappwebview.dart';

import 'package:flutter/material.dart';
import 'package:web_test/widget_show_card_rule.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(const MaterialApp(home: WebViewExample()));

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

  @override
  State<WebViewExample> createState() => _WebViewExampleState();
}

class _WebViewExampleState extends State<WebViewExample> {
  late final WebViewController _controller;

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.green,
      appBar: AppBar(
        title: const Text('Flutter WebView example'),
      ),
      body: Container(
        height: 300,
        padding: const EdgeInsets.only(left: 15, right: 15),
        child: InAppWebView(
          initialUrlRequest: URLRequest(
              url: Uri.parse(
                  'https://image.fangte.com/TestPro/UploadFiles/H5/RichText/index.html?id=BDB1A583206FED5F975D6D89D9CCB8E1')),
        ),
      ),
      floatingActionButton: favoriteButton(),
    );
  }

  Widget favoriteButton() {
    return FloatingActionButton(
      onPressed: () async {
        _checkRule();
      },
      child: const Icon(Icons.favorite),
    );
  }

  _checkRule() {
    showModalBottomSheet(
        enableDrag: false,
        isScrollControlled: true,
        context: context,
        backgroundColor: Colors.transparent,
        builder: (context) {
          return const ShowCardRule();
        });
  }
}

Code sample
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart';

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

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

class ShowCardRuleState extends State<ShowCardRule> {
  late final WebViewController _controller;

  final Set<Factory<OneSequenceGestureRecognizer>> gestureRecognizers = {
    Factory(() => EagerGestureRecognizer())
  };

  UniqueKey _key = UniqueKey();

  @override
  void initState() {
    super.initState();

    // #docregion platform_features
    late final PlatformWebViewControllerCreationParams params;
    if (WebViewPlatform.instance is WebKitWebViewPlatform) {
      params = WebKitWebViewControllerCreationParams(
        allowsInlineMediaPlayback: true,
        mediaTypesRequiringUserAction: const <PlaybackMediaTypes>{},
      );
    } else {
      params = const PlatformWebViewControllerCreationParams();
    }

    final WebViewController controller =
        WebViewController.fromPlatformCreationParams(params);
    // #enddocregion platform_features

    controller
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..setBackgroundColor(const Color(0x00000000))
      ..setNavigationDelegate(
        NavigationDelegate(
          onProgress: (int progress) {
            debugPrint('WebView is loading (progress : $progress%)');
          },
          onPageStarted: (String url) {
            debugPrint('Page started loading: $url');
          },
          onPageFinished: (String url) {
            debugPrint('Page finished loading: $url');
          },
          onWebResourceError: (WebResourceError error) {
            debugPrint('''
Page resource error:
  code: ${error.errorCode}
  description: ${error.description}
  errorType: ${error.errorType}
  isForMainFrame: ${error.isForMainFrame}
          ''');
          },
          onNavigationRequest: (NavigationRequest request) {
            if (request.url.startsWith('https://www.youtube.com/')) {
              debugPrint('blocking navigation to ${request.url}');
              return NavigationDecision.prevent;
            }
            debugPrint('allowing navigation to ${request.url}');
            return NavigationDecision.navigate;
          },
          onUrlChange: (UrlChange change) {
            debugPrint('url change to ${change.url}');
          },
        ),
      )
      ..addJavaScriptChannel(
        'Toaster',
        onMessageReceived: (JavaScriptMessage message) {
          ScaffoldMessenger.of(context).showSnackBar(
            SnackBar(content: Text(message.message)),
          );
        },
      )
      ..loadRequest(Uri.parse(
          'https://image.fangte.com/TestPro/UploadFiles/H5/RichText/index.html?id=BDB1A583206FED5F975D6D89D9CCB8E1'));

    // #docregion platform_features
    if (controller.platform is AndroidWebViewController) {
      AndroidWebViewController.enableDebugging(true);
      (controller.platform as AndroidWebViewController)
          .setMediaPlaybackRequiresUserGesture(false);
    }
    // #enddocregion platform_features

    _controller = controller;
  }

  @override
  Widget build(BuildContext context) {
    double webHeight = 400;
    double contentTop = 24;
    double titleHeight = 25;
    double topBlankHeight = MediaQuery.of(context).size.height -
        webHeight -
        titleHeight -
        contentTop;

    return Align(
      alignment: Alignment.topCenter,
      child: Column(children: [
        GestureDetector(
          onTap: () {
            Navigator.pop(context);
          },
          child: Container(height: topBlankHeight, color: Colors.transparent),
        ),
        Container(
          decoration: const BoxDecoration(
            borderRadius: BorderRadius.vertical(top: Radius.circular(8)),
            color: Colors.white,
          ),
          padding: EdgeInsets.only(top: contentTop, left: 18, right: 18),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              Container(
                  height: titleHeight,
                  child: Row(
                    children: [
                      Text('使用须知',
                          style: TextStyle(
                              color: HexColor('#333333'),
                              fontSize: 18,
                              fontWeight: FontWeight.w600)),
                      Expanded(child: SizedBox()),
                      Container(
                        alignment: Alignment.centerRight,
                        width: 60,
                        child: GestureDetector(
                          onTap: () {
                            Navigator.pop(context);
                          },
                        ),
                      )
                    ],
                  )),
              Container(
                  height: webHeight,
                  padding: EdgeInsets.only(top: 15),
                  child: WebViewWidget(
                    key: _key,
                    controller: _controller,
                    gestureRecognizers: gestureRecognizers,
                  ))
            ],
          ),
        )
      ]),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]
https://github.com/flutter/flutter/assets/13375978/96a68966-cee5-4a4a-b98c-de319020e250

The problem video [link](https://www.youtube.com/shorts/YH13AgtxOKY)
Logs
Logs
[Launching lib/main.dart on 测试机 in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: ZC3MN4HV7F
Running Xcode build...
Xcode build done.                                           25.3s
Installing and launching...
(lldb) 2023-11-10 16:28:28.490468+0800 Runner[14411:1285542] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(37)] Using the Impeller rendering backend.
[VERBOSE-2:FlutterDartVMServicePublisher.mm(147)] Could not register as server for FlutterDartVMServicePublisher, permission denied. Check your 'Local Network' permissions for this app in the Privacy section of the system Settings.
[VERBOSE-2:FlutterDartVMServicePublisher.mm(147)] Could not register as server for FlutterDartVMServicePublisher, permission denied. Check your 'Local Network' permissions for this app in the Privacy section of the system Settings.
Debug service listening on ws://<IP_ADDRESS>:50146/kwOonxEOYLQ=/ws
Syncing files to device 测试机...
[Security] This method should not be called on the main thread as it may lead to UI unresponsiveness.
[Security] This method should not be called on the main thread as it may lead to UI unresponsiveness.
[Security] This method should not be called on the main thread as it may lead to UI unresponsiveness.
[Security] This method should not be called on the main thread as it may lead to UI unresponsiveness.
[Security] This method should not be called on the main thread as it may lead to UI unresponsiveness.

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.1, on macOS 13.6.1 22G313 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] Connected device (5 available)
[!] Network resources
    ✗ An HTTP error occurred while checking "https://github.com/": Operation timed out

! Doctor found issues in 1 category.

Thanks for filing this. I can't seem to reproduce this on my end running on iOS 16.4 and iOS 17.0 on the latest versions of flutter and the package.
Can you upgrade to the latest versions of flutter and the package to see if this issue still persists?
Also, can you try on another iOS device/version to see if this might be specific to your iOS version?
Thank you!
Screen record

https://github.com/flutter/flutter/assets/53122008/610da4b2-0584-4f9b-b9b2-c105d5becf45

stable, master flutter doctor -v

[!] Flutter (Channel stable, 3.13.9, on macOS 14.0 23A344 darwin-arm64, locale
    en-NG)
    • Flutter version 3.13.9 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    ! Warning: `dart` on your path resolves to
      /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/damilolaalimi/sdks/flutter.
      Consider adding /Users/damilolaalimi/sdks/flutter/bin to the front of your
      path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d211f42860 (2 weeks ago), 2023-10-25 13:42:25 -0700
    • Engine revision 0545f8705d
    • Dart version 3.1.5
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

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

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.12.1

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

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

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/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 determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

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

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • Damilola’s iPhone (mobile) • 00008110-001964480AE1801E            • ios
      • iOS 17.0.2 21A351
    • iPhone 14 Pro (mobile)     • 6548B0D1-7674-4306-9852-198C465F1104 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)            • macos                                •
      darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)               • chrome                               •
      web-javascript • Google Chrome 119.0.6045.123

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

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.17.0-5.0.pre.39, on macOS 14.0 23A344 darwin-arm64, locale en-NG)
    • Flutter version 3.17.0-5.0.pre.39 on channel master at /Users/damilolaalimi/fvm/versions/master
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d7bf0a8f3d (5 hours ago), 2023-11-10 01:00:32 -0500
    • Engine revision b020893cba
    • Dart version 3.3.0 (build 3.3.0-113.0.dev)
    • DevTools version 2.30.0-dev.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

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

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.12.1

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

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

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/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 determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

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

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • Damilola’s iPhone (mobile) • 00008110-001964480AE1801E            • ios            • iOS 17.0.2 21A351
    • iPhone 14 Pro (mobile)     • 6548B0D1-7674-4306-9852-198C465F1104 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 119.0.6045.123

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

! Doctor found issues in 2 categories.

Thanks for filing this. I can't seem to reproduce this on my end running on iOS 16.4 and iOS 17.0 on the latest versions of flutter and the package. Can you upgrade to the latest versions of flutter and the package to see if this issue still persists? Also, can you try on another iOS device/version to see if this might be specific to your iOS version? Thank you!
Screen record
stable, master flutter doctor -v

Thanks help,  the problem is relate to the web content format, I have edit it , the scroll problem in the web disappeared.


Update README.md to Heroku CNB guidelines

This PR updates the README.md according to the guideline set forth here.
To see the new README.md without the diff: Readable.
I've left the Ruby specific bits (like the application contract and known differences) unchanged. So this PR is mostly applying the same header and footer content as other Heroku CNBs (like https://github.com/heroku/buildpacks-nodejs).

Closing in favor of #263.


Add to playlists

As a user, I would like to import a playlist from YouTube so that I don't have to add songs to my playlist all over again.

Duplicate issue


Support printing nested struct member

Can't print nested struct member, see error below with example code.
% dlv debug
Type 'help' for list of commands.
(dlv) b main.main:3
Breakpoint 1 set at 0x400c37 for main.main ./nestedstruct.go:15
(dlv) c
> main.main() ./nestedstruct.go:15

   10:	}
   11:
   12:	func main() {
   13:		b := B{A{42}}
   14:
=> 15:		fmt.Println(b)
   16:	}

(dlv) print b
main.B {a: main.A {val: 42}}
(dlv) print b.a
main.A {val: 42}
(dlv) print b.a.val
Command failed: b has no member a.val
(dlv)

nestedstruct.go
package main

import "fmt"

type A struct {
	val int
}
type B struct {
	a A
}

func main() {
	b := B{A{42}}

	fmt.Println(b)
}

A more complete example where every print give the same Command failed: b has no member *
package main

import "fmt"

type A struct {
	val int
}
type B struct {
	A
	a   A
	ptr *A
}

func main() {
	b := B{A: A{-314}, a: A{42}, ptr: &A{1337}}

	// print b.val
	// print b.A.val
	// print b.a.val
	// print b.ptr.val

	fmt.Println(b)
}

I think a correct way is to make a recursive call in proc/variable.go evaluateStructMember.
I'm trying to make it work but I struggle to learn dwarf and delve internals. If I find out a way, I'll make a pull request.

@aarzilli or @ebfe any interest in this?

The current code uses a special case to extract the address of a member field, so supporting this is not easy. When I refactored variables.go to split address extraction and evaluation I also rewrote this part to be more general. Once I commit that it should be easy to add a for loop and go any number of levels deep, as a provisional measure, until we have a more general expression evaluator.

From the last example print embedded struct value doesn't work:
print b.val
print b.A.val

This should be reopened, we have to figure out how embedded structs are stored in dwarf.

I've opened a new PR (#261) adds support for embedded structs and a test case that includes the full example from @ThomasMoinel.


imports: does not work

So far I have been able to validate that layers defined in imported files are not actually included in the constructor parameters of LayerResolver. But If one does not work, the other will not as well.

Fixing this will take some time. If the importing file sets a parameter that already existed in an imported file, it will be overwritten. We will need to introduce semantic configuration where we want to support deep merging. If you can show the config, maybe we find a workaround until I can properly fix this

@dbrumann I sent you an invite to a private repository.

Thanks for your feedback. I am working on a solution and having another project and deptrac-configuration to check against will help.


Worked on issue #52 controller to handle post requests for adding comments

Before submitting your PR for review

Run npm run lint to find errors in code syntax/format
Run npm run lint:fix to fix all auto-fixable errors in source code and auto-format with prettier
Ensure you fix any linting errors displayed after running any of the above commands

What does this PR do?
Summarise the main tasks handled in the pull request
I added a route and controller to handle post requests for adding comments
description of Task to be completed?
Controller to handle post requests for adding comments
Describe (in detail) what the task completed in the pull request does as per the relevant task
When a post request is sent to the /comments endpoint the controller will find the id of the user from the db using the commentOwnerEmail in the req body and pass it to the commentOwner field before saving the comment.If the user commenting doesn't exist in the db yet, the user is saved using the commentOwnerName and commentOwnerEmail in the request body then the id of the newly saved user is pulled from the db and passed to the commentOwner field and after that is done the comment is saved in the database.
How should this be manually tested?
Make a post request to the /comments endpoint and make sure the body of the comment in the documentation.
Give bullet point instructions on how to setup the code and test it manually (Assume no prior experience on JS or code)
-clone the repo
-Install dependencies npm install
-Run the app npm run startDev
-Open postman and send a post request to localhost:4000/comments,make sure the request body is as stated in the documentation.
You should get a response containing the comment you sent as it appears in the db.
Any background context you want to provide?
Test request body

Response

Any pertinent information that should be considered
What is the link to the issue on Github?
https://github.com/microapidev/comment-microapi/issues/52
Issue #14
Questions:
If something is unclear or you want some questions to be addressed by your peers, mention them here

@Clish254 please edit the name of this PR to match what we have on the sheet.
Thanks

@Clish254 please edit the name of this PR to match what we have on the sheet.
Thanks

I'm closing this pr because of the changes that have/are to be made to the comment model.


Normalize line endings - for good

This was merged to develop, but I also cherry-picked these changes to the master branch.


Add axioms

Summary of the discussion
This pull request adds axioms that are either already covered by the definition or are otherwise no-brainers that do not need an issue for discussion.
Type of change (CHANGELOG.md)
Added

'greenhouse gas' 'has global warming potential' some 'global warming potential'
'binary file format' DisjointWith 'text file format'
'text file format' DisjointWith 'binary file format'
optimisation 'has participant' some 'optimisation model'
simulation 'has participant' some 'simulation model'

Updated

'source code file format' SubclassOf: 'data file format' => 'source code file format' SubclassOf: 'text file format'

Workflow checklist
Automation
No issue and therefore no discussion
PR-Assignee

[ ] 🐙 Follow the Pull Request Workflow
[ ] 📝 Update the CHANGELOG.md
[ ] 📙 Add #'s to term tracker item

Reviewer

[ ] 🐙 Follow the Reviewer Guide
[ ] 🐙 Provided feedback and show sufficient appreciation for the work done

As this implementation again needs moving a lot of classes, this PR is currently intentionally only a draft as it waits for the ongoing discussions regarding the whole modular structure of the OEO.

There will be no decision on the general modular structure for the next weeks. We shouldn't wait to long with merging this PR, therefore I switch it now to ready for review.

At least the review is not at all a no-brainer, especially because of moving so much to oeo-shared... Next time, please create more than one PR.

That's true, sorry!


Actual result
The URL in the browser is changed but still shown the "Pinning rules" page.
It seems like WebsiteProvider cannot change a Surface correctly.
For example, switching between "Catching rules" and "Pinning rules" pages works fine as same as switching between "Surfaces" and "Blending points". The issue appears when you are switching betwen pages with different Surfaces.
As I understand after investigating, the cause of such behaviour is incorrect work with Session in the /WebsiteProvider/partial/layout handler implemented in the WebsiteProvider.ContentHandlers class.
Technical information
Starcounter version <IP_ADDRESS>34
Involved apps' version

StarcounterPrefabs/Simplified@66f265e6619e071819cc096b34e259b4f5b38d5d
StarcounterPrefabs/Website@10808872dc94a8d1255b0fe2b3438d9bd8ca84d3
StarcounterPrefabs/SignIn@7b8e455c9a9805e587c01fb7ffc1dcc3f18740f2

Screenshot

@warpech could you please look at this?

The issue is related to https://github.com/StarcounterPrefabs/Website/issues/41

Can you try investigating why this happens?

Created PR https://github.com/StarcounterPrefabs/Website/pull/49

Closing as done


support for Centos 8

Hello,
Looks like this module doesn't support Centos 8. May i know when will the support for CentOS 8 be added

This module got migrated to https://github.com/puppetlabs/puppetlabs-docker a few years ago now, try that one instead.


"Please provide a caption for this file" when uploading any dark picture

Latest master

@nicolas-raoul Can't reproduce the issue. It's working as expected.

Thanks for trying!
Strangely I can't reproduce it either now, even though it reproduced every time last week. Not sure what happened.
I will close this issue for now.


Add node.js market data subscription example over long-polling

This PR adds an example for market data subscription over long-polling. This is addressing issue #76

To make the example simple, and because it is an example, I would recommend that we use the synchronous versions of the POST and GET requests.  The async versions makes the example more complicated and distracts away from the real purpose of what is being illustrated.

Refactored the example based on discussion.

lgtm - please squash

Squashed.

TravisCI is experiencing issues today.  Since we know this won't affect make check, I am going to go ahead and merge anyways.


WIP: Rename tests

Per #197, renaming tests using the state module appropriately as opposed to history.

@iamdefinitelyahuman am I missing something or is this as simple as just renaming that one file? I can't find any other references in the tests to history that don't mean TxHistory().


 has position relative

Would it be possible to remove "position: relative" for the Col component? In some cases it makes layout difficult.
"position: relative" shouldn't be needed or have an impact on the existing grid

It has been removed in the latest version! (Version 2.3.0)


Eventually: convert URLs to HTTPS

Adding HTTPS support will make these images usable in secure environments, without mixed content warnings.
We have image URLs on a custom domain right now, which is great for portability (we can easily leave Github) but less good for HTTPS. Github supports HTTPS for Github Pages now, but only for *.github.io domains.
However, Cloudflare may change this game if they offer a free SSL-only plan, as they say they will.
When that time comes, it's worth me putting Cloudflare in front of theunitedstates.io so that we can get an SSL terminator in front of everything, and have things encrypted end to end. I'm dropping this here as a reminder.

@konklone can this be closed now?

Yep!


Program won't launch, invisible then process ends

This was working fine, then one day it just failed to open. It looks like it's opening but nothing happens. On the processes, it shows it's there for about 30 seconds, then it disappears. I've tried installing different releases and each one does the same thing. Any idea what's going on?

Check the event viewer -> category "Application" anything there?
Make sure not to run on Windows Insider Build, I don't support these.

Never mind! I found the fix on another thread here. Just close MSI afterburner and Twitch Leecher opens and works. Thanks for the guidance... googling my error led me to the appropriate solution.

Ah that one... interesting how that tool messes up so much.


Add Advigator

Hey @leoplct, thanks for the contribution. We are generating the README file automatically so could you please add the company to the data directory.
You can find the complete procedure here https://github.com/italiaremote/awesome-italia-remote/blob/main/CONTRIBUTING.md

Done. Thank you


SCS closing the observation scope before executing the user-provided function

I'm using the spring-cloud-stream-binder-kafka library to handle messages exchanged in the microservices environment and I notice a problem with micrometer.observation after migration from the spring-boot 3.0.8 to the spring-boot 3.0.9. The problem is that before migration to the new version of spring-boot observation in the DefaultContextSnapshot was:
Context snapshot: DefaultContextSnapshot{micrometer.observation={name=spring.cloud.function(null), error=null, context=name='spring.cloud.function', contextualName='null', error='null', lowCardinalityKeyValues=[spring.cloud.function.definition='importSaveEventHandler'], highCardinalityKeyValues=[], map=[class io.micrometer.tracing.handler.TracingObservationHandler$TracingContext='TracingContext{span=53ff897199d2ff81/51ac0549fa93c152}', class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@e4c50df', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.075336514, duration(nanos)=7.5336514E7, startTimeNanos=2255617003442595}'], parentObservation={name=spring.cloud.function(null), error=null, context=name='spring.cloud.function', contextualName='null', error='null', lowCardinalityKeyValues=[spring.cloud.function.definition='importsTransferSaveIn'], highCardinalityKeyValues=[], map=[class io.micrometer.tracing.handler.TracingObservationHandler$TracingContext='TracingContext{span=53ff897199d2ff81/fc3cef0dc19191b2}', class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@3435936b', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.076250186, duration(nanos)=7.6250186E7, startTimeNanos=2255617002642833}'], parentObservation={name=spring.kafka.listener(null), error=null, context=name='spring.kafka.listener', contextualName='null', error='null', lowCardinalityKeyValues=[spring.kafka.listener.id='KafkaConsumerDestination{consumerDestinationName='imports', partitions=0, dlqName='null'}.container-0'], highCardinalityKeyValues=[], map=[class io.micrometer.tracing.handler.TracingObservationHandler$TracingContext='TracingContext{span=53ff897199d2ff81/13e5ae1940a1a55f}', class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@39180743', class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.077807016, duration(nanos)=7.7807016E7, startTimeNanos=2255617001138405}'], parentObservation=null}}}}

and it contains parentObservation which is spring.kafka.listener, but after migration is:
Context snapshot: DefaultContextSnapshot{micrometer.observation={name=spring.cloud.function(null), error=null, context=name='spring.cloud.function', contextualName='null', error='null', lowCardinalityKeyValues=[spring.cloud.function.definition='importSaveEventHandler'], highCardinalityKeyValues=[], map=[class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.160052083, duration(nanos)=1.60052083E8, startTimeNanos=2000434300721519}', class io.micrometer.tracing.handler.TracingObservationHandler$TracingContext='TracingContext{span=59a4b3fce3198567/852a259423fb6d3a}', class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@5ad5dc55'], parentObservation={name=spring.cloud.function(null), error=null, context=name='spring.cloud.function', contextualName='null', error='null', lowCardinalityKeyValues=[spring.cloud.function.definition='importsTransferSaveIn'], highCardinalityKeyValues=[], map=[class io.micrometer.core.instrument.LongTaskTimer$Sample='SampleImpl{duration(seconds)=0.161990362, duration(nanos)=1.61990362E8, startTimeNanos=2000434298889185}', class io.micrometer.tracing.handler.TracingObservationHandler$TracingContext='TracingContext{span=59a4b3fce3198567/5ccd2090de4e967a}', class io.micrometer.core.instrument.Timer$Sample='io.micrometer.core.instrument.Timer$Sample@11bb5222'], parentObservation=io.micrometer.observation.NoopObservation@64d1a92c}}}

and it doesn't contain this parentObservation - in this case it is parentObservation=io.micrometer.observation.NoopObservation
I get DefaultContextSnapshot to be printed as follows:
final ContextSnapshotFactory SNAPSHOT_FACTORY = ContextSnapshotFactory.builder()
                .contextRegistry(ContextRegistry.getInstance())
                .clearMissing(false)
                .captureKeyPredicate(key -> true)
                .build();
final ContextSnapshot context = SNAPSHOT_FACTORY.captureAll();
System.out.println("Context snapshot: " + context);

in the kafka message handler function.
Related to Scoping issue using Spring Cloud Stream and Micrometer 1.10.9
The explanation of the problem by micrometer team is:

An issue was fixed in Micrometer/Reactor that kept scopes open even if they should have been closed. This issue was fixed in Micrometer 1.10.9 and now users see the intended behavior of Spring Cloud Stream (closing the scope before executing the user-provided function instead of keeping the scope open). So in Micrometer 1.10.9 and Spring Cloud Stream this works as intended and if one wants to change this behavior they should open a new issue for Spring Cloud Stream and request this feature.

In the context of this explanation, I have a question - why is the scope closed before executing a user-provided function which is, in my opinion, a part of kafka message handling  ?

@davidmelia Did you try this workaround proposed by @jonatan-ivanov here? The problem is that you are using a reactive function with a non-reactive Kafka binder. As indicated in the referenced Micrometer issue, they fixed the underlying bug by closing the scope when the user function is exited. There is no async handoff to the reactive parts. cc @olegz do we have any workarounds from Spring Cloud Function where the Flux conversion occurs? Looks tricky, though.

@sobychacko  thanks for the quick reply.
tap introduces a different problem - if you check out https://github.com/davidmelia/spring-boot-kafka-consumer-tracing/tree/boot_3.0.9_trace_issue_potential_fix you see the tid changes from producer to consumer where as it should be preserved to aid tracing.
[aid=spring-boot-kafka-consumer-tracing,tid=64d4944d66b2f77156c2d3d561f2bb63,sid=56c2d3d561f2bb63,cusname=] 67017 --- [ctor-http-nio-2] com.example.demo.KafkaController         : Message sent to binding = GenericMessage [payload={Key=Value @ 2023-08-10T07:39:57.398323Z}, headers={kafka_messageKey=5e438da6-9e75-4880-aabe-55f95b0adb09, id=5efa3f28-b0eb-2969-1745-f02b09350670, timestamp=1691653197398}]
[aid=spring-boot-kafka-consumer-tracing,tid=64d494416d4f5d9504e21127161c87b1,sid=04e21127161c87b1,cusname=] 67017 --- [container-0-C-1] c.e.demo.consumer.TestMessagesConsumer   : Kafka Binder: This log statement has the trace id
[aid=spring-boot-kafka-consumer-tracing,tid=64d494416d4f5d9504e21127161c87b1,sid=04e21127161c87b1,cusname=] 67017 --- [     parallel-3] c.e.demo.consumer.TestMessagesConsumer   : Kafka Binder: This log statement also has the trace id in micrometer 1.10.8 but NOT in micrometer 1.10.9

Regarding your comment "you are using a reactive function with a non-reactive Kafka binder" we would love to use the reactive binder but this also has an outstanding trace id issue: https://github.com/spring-cloud/spring-cloud-stream/issues/2647

@davidmelia While we're looking, I wanted to remind you that:

Reactive functions are not your typical message handlers where the unit of work is message. In reactive functions unit of work is Flux itself and such function is invoked only once during the initialisation. After that the framework (SCF or Stream) plays no role at all.
As @sobychacko mentioned using reactive functions with non-reactive binders is almost meaningless as you are not benefitting from any reactive features other than API itself

We just had a team discussion on this so here is what's going to happen.
By default, the scope is closed as soon as function is executed. That is the correct behavior. The bug that existed in micrometer did not do that, hence the fix. For non-reactive function it is obviously an intended behavior. But for the reactive function we do not know what the intended behavior is or should be, since we do not know user intentions with regard to he scope of observation. Single message within the Flux? Several messages after buffering? What if there was no messages at all during let's say allotted time frame for buffering? I can go on.  . . But what I wanted to emphasise is that with reactive functions we can't assume anything. That is the same reasons why we do not provide error handling nor retries for reactive function and instead asking user to fall back on reactive API itself for that functionality (see docs here). And that is what we're going to recommend to do for Observability as well.
We will get together in few weeks at SpringOne and will compile both documentation and sample project and test cases demonstrating how to handle Observability manually when implementing Flux stream (effectively an extension to reactive API), but we will not be providing any support for reactive functions in the context of Stream for reasons outlined above.

@olegz in summary do you mean:

The none reactive kafka binder will not support automatic tid propagation per item in a flux.

The reactive kafka binder will also not support automatic tid propagation per item in a flux.

You will provide examples, for the reactive kafka binder use case, to propagate tids via manual code.

Collectively it would be great to be clear on what use cases SCS does and doesn't solve.  For example should I just be using the Spring reactive kafka template directly.

1 - Yes
3 - Yes, for the non-reactive binders (Rabbit and Kafka)
As of the #2 and in general for the reactive binders, I would delegate this to @sobychacko

@davidmelia After the SpringOne conference, we will look into how we can support it from the reactive Kafka binder perspective. Thanks!

I will update the docs and publish sample shortly, but after discussing it with observability team here is what you do. . .

Your dependencies

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
	<groupId>io.projectreactor</groupId>
	<artifactId>reactor-core-micrometer</artifactId>
</dependency>
<dependency>
	<groupId>io.micrometer</groupId>
	<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>

And now in your reactive code you use the tap method to inject Micrometer observation registry. Note, that you are in complete control of unit of observation (i.e. single item or set of items or. . .).  For example (complete example), here the unit of observation is a single item (message) as if it was an imperative function.
@SpringBootApplication
public class DemoStreamApplication {

	Logger logger = LoggerFactory.getLogger(DemoStreamApplication.class);

	public static void main(String[] args) {
		Hooks.enableAutomaticContextPropagation();
		SpringApplication.run(DemoStreamApplication.class, args);
	}

	@Bean
	public Function<Flux<String>, Flux<String>> uppercase(ObservationRegistry registry) {
		return flux -> flux.flatMap(item -> {
			return Mono.just(item)
                             .map(value -> value.toUpperCase())
                             .doOnNext(v -> logger.info(v))
                             .tap(Micrometer.observation(registry));
		});
	}
}

Also, note the Hooks.enableAutomaticContextPropagation();

Hi @olegz, thanks for the detailed docs about observation!
Just to make sure: The behaviour for observation is the same regardless whether the binder is reactive or non-reactive? So we will always need to handle observation manually with .tap? Or is this something that could be added by #2650 for reactive binders?

@cmergenthaler I am not sure what (if anything) is going to be added with reactive Kafka binder, but i want to make sure that  everyone understand the actual issue.
Sure, for certain cases we could potentially figure some observability support. But we can't do it for all cases and what is even more concerning is that adding support infrastructure to handle one scenario most likely will get in the way of another scenario. Remember, initial support of reactive message handles did handle retries and error handling at the framework level, but it didn't last for long given the issue it had created for a more advanced reactive use cases (i.e., range(), limitRate()). For example we were able to accomplish this by wrapping each item in the incoming flux into a new Flux.just(message). And while it had satisfied some very basic use cases (use cases that would be better handled with imperative functions anyway), it immediately created a problem for more advanced use cases of range(), limitRate() etc.
So, if we can't handle all we can't handle any - that is the mentality, and instead we'd rather work with respective teams (such as observability team in this case) to find an elegant solution to empower user to do exactly what they want to do.


Feature: Info about blockchain synchro at first startup

I just installed sia and sent some SC from poloniex to my address. I still do not see my coin in my wallet and the reason is quite simple: My local blockchain is just at height 34500, the transaction will be at around 45,200.
So beeing an bitcoin veteran this is clear to me,  but if somebody has no clue you must inform at first startup that the sofware is first synchronizing the blockchain. at best you will, during synchronizing, show an estimate end time of the synchro process.
thanks

We already support this in siac, but it would be a good feature for the UI to have as well. A time estimate would be trickier. We could rig one up without too much trouble, but it wouldn't be very accurate.

That's alright, UI time estimates for process completion times are never
accurate.
On Sun, Apr 10, 2016 at 9:21 AM Luke Champine<EMAIL_ADDRESS>wrote:

We already support this in siac, but it would be a good feature for the
UI to have as well. A time estimate would be trickier. We could rig one up
without too much trouble, but it wouldn't be very accurate.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/NebulousLabs/Sia-UI/issues/219#issuecomment-208008223

--
Ming Luo
Software Engineer at Microsoft
Rensselaer Polytechnic Institute '15
(434) 420-2952

Resolved in #360


flutter doctor -v Error

Steps to reproduce
$ flutter doctor -v
Flutter assets will be downloaded from https://mirrors.cloud.tencent.com/flutter. Make sure you trust this source!

#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      _DefaultPub._runWithStdioInherited (package:flutter_tools/src/dart/pub.dart:447:7)
<asynchronous suspension>
#2      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:323:5)
<asynchronous suspension>
#3      PubDependencies.update (package:flutter_tools/src/flutter_cache.dart:126:5)
<asynchronous suspension>
#4      Cache.updateAll (package:flutter_tools/src/cache.dart:713:9)
<asynchronous suspension>
#5      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1691:7)
<asynchronous suspension>
#6      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1394:27)
<asynchronous suspension>
#7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#8      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#9      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:372:9)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#11     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:308:5)
<asynchronous suspension>
#12     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:130:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#14     main (package:flutter_tools/executable.dart:93:3)
<asynchronous suspension>

Expected results
no error, output flutter doctor result
Actual results
has error，can not run flutter doctor and output result.
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Closing this as duplicate of https://github.com/flutter/flutter/issues/143696

but  no idea how to solve this problem.


added my name to guestbook.md

Hi Professor,
Congratulations on such a well-structured course.
Keep up with the great work! All the best in your future endeavours.
Added your blog into my readings ;)

Thank you!


wg-performance Status Update 2022-01-17

What was accomplished
Lessons Learned
What's Next

What was accomplished
typescript migration
We can now write seamlessly write TypeScript. More info re. migrating Bento to come this week.

https://github.com/ampproject/amphtml/pull/37324
https://github.com/ampproject/amphtml/pull/37378
https://github.com/ampproject/amphtml/pull/37374
https://github.com/ampproject/amphtml/pull/37370
(in progress): https://github.com/ampproject/amphtml/pull/37387

ssr

https://github.com/ampproject/amphtml/pull/37358
(in progress) extraction of createContainer for PreactBaseElement:
(in progress) system for serializing event handlers to be able to unit test component hydration: https://github.com/ampproject/amphtml/pull/37389

other

https://github.com/ampproject/amphtml/pull/37353
https://github.com/ampproject/amphtml/pull/37341
https://github.com/ampproject/amphtml/pull/37340
https://github.com/ampproject/amphtml/pull/37327
https://github.com/ampproject/amphtml/pull/37326
https://github.com/ampproject/amphtml/pull/37296
Discussion around simplifying various aspects of Bento (unnecessary helpers .e.g dict, class structure)

Lessons Learned
Last week we had feared that esbuild may be transpiling our code since it is set to target es6.
We don't want esbuild to transpile anything.
Via inspecting esbuild source and verifying with a PR (https://github.com/ampproject/amphtml/pull/37375), confirmed that this isn't happening. We can set target: 'esnext' with no change to any of our binaries.
What's Next

Continuing in-progress work (Bento SSR, TS).
Lazy-loading Bento WC half-pager.

What was accomplished

add ability to generate ssr ready binaries (https://github.com/ampproject/amphtml/pull/37404 in review)
updated the insertion location of amp-story-dvh-polyfill script to be before any css to possibly mitigate CLS

Lessons Learned
What's Next

finish amp cache url rewriting code in amp-toolbox
investigate CLS issues with amp-story

What was accomplished

Bento Compiler partial traffic launch, metrics collection
lots of TS code reviews
https://github.com/ampproject/amphtml/pull/37362
Phase 1 work on runtime changes for https://github.com/ampproject/amphtml/issues/37129

What's Next

Submit runtime changes for PREVIEW state
Address latency issue in Bento Compiler
Inspect CSI metrics for BC experiment

What was accomplished

Early and working prototype of Client A/B testing.

Lessons Learned

Colliding multi-arm tests are difficult to achieve with text-based DOM diffs, marking most of the previous proposal as obsolete.

What's Next

Identify example archetypes examples (SSR, SPA) to validate and benchmark the prototype.
Complete the prototype document the new proposal.
Investigate cache usage discrepancy in Web Stories.

What was accomplished

Handle individual failures when transcoding images: cl/421700386
https://github.com/ampproject/amphtml/pull/37312
Attempt to add post-esbuild babel transpilation (but might be unnecessary): https://github.com/ampproject/amphtml/pull/37313

Lessons Learned

C++ without a Google's IDE is terrible.

What's Next

WASM Jolt prototype
Open CSI project slidedeck


Fix debugging return value inspection and continue after exception scenarios

During redeferal change a check was removed, this broke return value
inspection and continue after exception scenario for builtins and
external functions. Basically we for debugging we wrap non script functions
in a try catch for continue after exception.
If CSP policy says eval is disabled, we should call the right entrypoints during debugging

@pleath @akroshg please take a look

LGTM

In reply to: 274124377 [](ancestors = 274124377)

:shipit:


update to mfem 4.0, which includes GPU support

mfem 4.0 was released May 24., 2019.
It includes GPU support and OMP support that we can leverage

I noticed that our bv_mfem script (for version 3.4) was only building the serial version (unless there's some tricky business happening somewhere that I'm not seeing). Is there a reason we're not building the parallel version when we build parallel VisIt?

I can't speak directly for the mfem reader, but our readers are typically serial so we only build the serial versions of libraries.

Got it. That makes sense.
The only remaining issue is that I can't seem to find checksums for the tarball...

I just compute them with md5sum and sha256sum.

Sounds good. I'll go ahead and do that and then check to make sure that these changes work on LC.

The only tests that fail with this update are the 4 using the mfem inline quads dataset. This is a checkerboard, and the checker colors are flipped. @cyrush, Eric suspected this was due to a random number generator and is likely okay. Can you confirm this?

yes, this can change between mfem versions, but I expect consistently run to run for the same build.


Multilingual and multinational support without being confusing

We're dealing with both multiple languages and multiple countries here, as some countries are multilingual or some languages span multiple countries.
I'm affraid that if we use codes like ISO 639-1 for languages and ISO 3166-1 for countries we're going to get confusions and collisions, although the level of overlap is not that big.

Suggestions?


[BUG] please reply on old Service Bus bug

I reported bug on 6th of August, please reply
https://github.com/Azure/azure-sdk-for-java/issues/23398

Hi @koziolmail sorry for the delay in getting a response.  @ki1729 will take a look at the logs posted in https://github.com/Azure/azure-sdk-for-java/issues/23398 as soon as he's available.  Please note that customers with an Azure support plan can open an Azure support ticket.  We recommend this option if your problem requires immediate attention.
More details are available in the support.md: https://github.com/Azure/azure-sdk-for-java/edit/main/SUPPORT.md
Thank you

Addressed the original issue


Previewing listing from create/edit displays error in console.

Open browser console
Select any listing
Click pencil/edit icon
Click eyeball/preview icon
Console displays: "main.js:70 Uncaught TypeError: Cannot read property 'getDOMNode' of undefined"

Tested on Latest above steps and no longer error in console.  FF or Chrome.

Passed on new staging IE, Chrome and FF


Publish seccompiler to crates.io

The seccompiler code is now ready for a first release and satisfies the checklist here: https://github.com/rust-vmm/community#publishing-on-cratesio---requirements-list
One thing I'd like to do before publishing the crate is resolve this suggestion: https://github.com/rust-vmm/seccompiler/issues/23

Seccompiler has been published on crates.io: https://crates.io/crates/seccompiler


test: Remove moq library

Remove Moq library

This PR removes the Moq library from the test projects. Now it uses NSubstitute.

Related Issues

Fixes #140
Notes

Follow-up Tasks

How to test

@askpt I'm fine with this going a head, thanks for doing it 👍🏻
Are you able to fix the failing dotnet format error

@benjiro The library is not fully removed in this PR. There are still a few tests missing that have more advanced scenarios. I don't mind fixing the build issues and creating a new issue for these tests.

If you rebase off main it will fix the warnings that are making E2E Test, and Test linux fail.
 error EnableGenerateDocumentationFile: Set MSBuild property 'GenerateDocumentationFile' to 'true' in project file to enable IDE0005 (Remove unnecessary usings/imports) on build (https://github.com/dotnet/roslyn/issues/41640) [/home/runner/work/dotnet-sdk/dotnet-sdk/test/OpenFeature.E2ETests/OpenFeature.E2ETests.csproj::TargetFramework=net6.0]

This looks good to me! For me it would be ok to tackle the remaining test cases in a follow up - @benjiro what do you think?

Pushed more tests now. Only a handful missing. We can merge as it is.

This looks good to me! For me it would be ok to tackle the remaining test cases in a follow up - @benjiro what do you think?

Pushed more tests now. Only a handful missing. We can merge as it is.

Thanks! Regarding the failing codecov check: This seems to be caused by a different behavior of NSubstitute vs Moq. The difference is in the Register_Hooks_Should_Be_Available_At_All_Levels in the OpenFeatureHookTest - This was previously covering the exception handling in the Error hook, as Moq mocks throw an exception for methods where no behavior has been defined, while NSubstitute does not seem to do that, therefore we do not reach this catch block in the aforementioned test.
Given that the purpose of this test is just to check if the Register method is available on all levels to register hooks, I think covering the exception handling of the Error hook can be part of a dedicated PR for that

@bacherfl

This looks good to me! For me it would be ok to tackle the remaining test cases in a follow up - @benjiro what do you think?

Pushed more tests now. Only a handful missing. We can merge as it is.

Thanks! Regarding the failing codecov check: This seems to be caused by a different behavior of NSubstitute vs Moq. The difference is in the Register_Hooks_Should_Be_Available_At_All_Levels in the OpenFeatureHookTest - This was previously covering the exception handling in the Error hook, as Moq mocks throw an exception for methods where no behavior has been defined, while NSubstitute does not seem to do that, therefore we do not reach this catch block in the aforementioned test. Given that the purpose of this test is just to check if the Register method is available on all levels to register hooks, I think covering the exception handling of the Error hook can be part of a dedicated PR for that

These tests are the ones that miss the transition to NSubstitute:

Hook_Hints_May_Be_Optional
When_Error_Occurs_In_Before_Hook_Should_Return_Default_Value
When_Error_Occurs_In_After_Hook_Should_Invoke_Error_Hook

I was trying to play around but they are failing because the sequence is not respected.
I would suggest creating a new issue to migrate these three tests and I can try to fix it later.
See output:
`Expected to receive these calls in order:
Hook.Before<Boolean>(any HookContext<Boolean>, Dictionary<String, Object>)
FeatureProvider.ResolveBooleanValue(any String, any Boolean, any EvaluationContext)
Hook.After<Boolean>(any HookContext<Boolean>, any FlagEvaluationDetails<Boolean>, Dictionary<String, Object>)
Hook.Error<Boolean>(any HookContext<Boolean>, any Exception, Dictionary<String, Object>)
Hook.Finally<Boolean>(any HookContext<Boolean>, Dictionary<String, Object>)

Actually received matching calls in this order:
FeatureProvider.ResolveBooleanValue("test", True, EvaluationContext)`


IPAD - By dragging down the attachment in Preview page, it separated the part of header

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch the app and log in with any account
Tap on any user
Tap on plus button
Select Add Attachment
Attach the PDF and Send it
Tap on attachment
Press and drag down the attachment

Expected Result:
Part of the attachment should be stick to the header
Actual Result:
By dragging down the attachment in Preview page, it separate the part of header
Workaround:
Unknown
Platform:

Where is this issue occurring?

iOS IPAD

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/154379269-d90188e4-2bfc-4ac6-bb49-e3b718178840.MP4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @madmax330 (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Looks like this is native scrollView behavior. Not sure we can fix this


Run Command after Update

Hi,
is there an option to run command after update?
For example, i want to install fping or zip on Home-Assistant container if it was updated.
Thanks for your great work

One method is is use apprise's custom notifications which could trigger your own application to do what you need.


Window Dialog is continuosly generating new object ids for the close button

Godot version
3.5.1
System information
Linux Mint 21 Cinnamon
Issue description
Note: I think this is a bug, but I'm not familiar with the inner workings of window rendering, so maybe this is intentional?
The object id of a WindowDialog's close button is constantly incrementing during runtime. You can either observe this in the Remote view while the project is running or by adding a script to a WindowDialog node with the following contents:
extends WindowDialog

func _process(delta):
	print(get_child(0).texture_normal.image)

https://user-images.githubusercontent.com/35151158/193619934-8dfa0e17-acf8-48ff-bc47-fa6d8a419edf.mp4
Steps to reproduce

Create a new WindowDialog scene and save it
Start the scene and switch to the Remote view
Expand the WindowDialog node and select the Button child node
Open the Button's Texture Normal object
Observe that the image object's id is constantly incrementing

Minimal reproduction project
window_dialog_bug.zip

This is a duplicate of another issue, but I can't find it right now.


[Kiln v2] Fix claim function signature

Claim function of the exit queue changed from claim(uint32[],uint32[],uint16) to claim(uint256[],uint32[],uint16), here is a PR to take this change into account (especially regarding the function selector).

Hello,
1 check is fail, and expected workflows for Ledger guidelines_enforcer are not implemented
Can you please check on your side?

Hello, 1 check is fail, and expected workflows for Ledger guidelines_enforcer are not implemented
Can you please check on your side?

Hey, I am using the latest version of zemu in CI and tests dependencies, any idea why tests still timeout?

@loicttn you need to change the name of plugin elf that should be loaded in test.fixture.js you have kiln instead of Kiln and the CI fails with Invalid lib name in /project/app/bin/plugin_nanox.elf (Kiln vs kiln)

@loicttn I have tried with Kiln instead of kiln and the tests run but still fail...
You should configure the ethereum app it seems, before running your tests :
EthAppPleaseEnableContractData: Please enable Blind signing or Contract data in the Ethereum app Settings

@loicttn I have tried with Kiln instead of kiln and the tests run but still fail... You should configure the ethereum app it seems, before running your tests :
EthAppPleaseEnableContractData: Please enable Blind signing or Contract data in the Ethereum app Settings
You need something like that in your function zemu(device, func) { of test.fixture.js , before loading the plugin :
           if (dev.name == "stax") {
                const settingNav = new TouchNavigation([
                ButtonKind.InfoButton,
                ButtonKind.NavRightButton,
                ButtonKind.ToggleSettingButton1,
                ]);
                await sim.navigate(".", `${dev.prefix.toLowerCase()}-setting`, settingNav.schedule, true, false);
            } else {
                await sim.clickRight();
                await sim.clickBoth(undefined, false);
                await sim.clickBoth(undefined, false);
            }

So it seems that the claim function is not recognized now that we change its signature 🤔 , if I understand correcly your solution is meant to enable blind signing which we want to avoid here, investigating why the claim selector is not recognized

So it seems that the claim function is not recognized now that we updated its signature 🤔 , if I understand correcly your solution is meant to enable blind signing which we want to avoid here, investigating why the claim selector is not recognized

If you don't intend to use bling signing, don't use the solution I suggested.

Hello,
Currently, we accept errors in the workflow guidelines_enforcer, mainly because we still have pending work for the plugin case. As soon as the E2E tests are ok, I will merge and start the deployment. Just tell me when it is ok for the E2E tests (seems you only validate NANOS and NANOX. Is it sufficient?)

E2E tests are all passing, so ok to merge thanks a lot 👍


[feat] PoT (Proof of Thought)

Support of "proof of thought."
Benefits include providing a strong incentive for miners to learn to simulate human thought in silice.

Much no.

Hi! Sounds awesome! Please discuss this elsewhere :-)
Closing this, see #2110, point 6.


Just some thougths ...

As i can understand so far here we've piled a collection  of  (elementary) categorized books on IT field and that's an awesome resource itself no doubt. So one who know what to do comes here access the book of interest and go ahead happy
But what if we go in a higher abstraction mean consider the use case(i have meet some) of a person that pursue to follow a IT,CS,CE path and haven't the economic power to afford his/her studies(case of stop knowledge/growth cause economic issues)? In that frequent use case what we have to do?
I guess  the very first step were to define directions required to cope with everyone of the aforementioned paths(as institutions do). Then  put some effort to categorize properly(into the aforementioned paths ) the already existed material other than find other new too ...
PS : that issue is somehow connected with #3053

use #3053 for this discussion. Thanks.


Remove mauve CORBA tests from building and running on all Java releases

Remove mauve CORBA tests from building and running on all Java releases
Signed-off-by: Mesbah Alam<EMAIL_ADDRESS>

Based on discussion with Simon, we have decided to not compile and run mauve CORBA tests on all Java releases, not just Java 11 as Mauve load xml do not have references to these tests so chances of Java 8 regression as a result of not running these tests is negligible.

Java 8 Grinder:
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/337/console

Java 11 Grinder passes:
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/339/console

@chandrams - this PR, once delivered, should unblock your work to add a docker based system test. I've started a personal build where I've taken your changes and added them (temporarily) with this PR. I'll update you once I get it running.

Apparently there stil existsl a few CORBA related tests not removed by this PR. These showed up when I ran the excluded mauve load tests in a Grinder. I am preparing a separate PR with these new excludes.


Move PInvoke to be internal to Whim's core

Add a public interface INativeManager to IConfigContext, and an internal interface ICoreNativeManager to IConfigContext for accessing native functionality. These interfaces will wrap PInvoke calls, and replace the existing Win32Helper static class.
This allows CsWin32 to be internal by default and only be exposed to Whim's core. It will also facilitate testing as we are no longer relying on static methods.
Windows.Win32 structs and enums can be selectively copied to src/Whim/Native so they can be exposed outside of the Whim assembly.
Also remove Screen's unused _bitDepth field, and the CreateDCW, DeleteDC, and GetDeviceCaps methods used to acquire it.

Codecov Report
Base: 47.34% // Head: 46.20% // Decreases project coverage by -1.14% :warning:

Coverage data is based on head (85f9676) compared to base (deda0aa).
Patch coverage: 50.18% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #255      +/-   ##
==========================================
- Coverage   47.34%   46.20%   -1.15%
==========================================
  Files         100      101       +1
  Lines        4809     5073     +264
  Branches      582      578       -4
==========================================
+ Hits         2277     2344      +67
- Misses       2429     2628     +199
+ Partials      103      101       -2

Impacted Files
Coverage Δ

...c/Whim.CommandPalette/CommandPaletteWindow.xaml.cs
0.00% <0.00%> (ø)

src/Whim.CommandPalette/MostRecentlyUsedMatcher.cs
3.50% <0.00%> (-0.75%)
:arrow_down:

src/Whim.FloatingLayout/FloatingLayoutEngine.cs
0.00% <0.00%> (ø)

src/Whim.FloatingLayout/FloatingLayoutPlugin.cs
0.00% <0.00%> (ø)

src/Whim.Gaps/GapsLayoutEngine.cs
0.00% <0.00%> (ø)

src/Whim/Commands/CommandManager.cs
0.00% <0.00%> (ø)

src/Whim/Commands/KeyModifiers.cs
100.00% <ø> (ø)

src/Whim/Commands/Keybind.cs
63.63% <0.00%> (-18.98%)
:arrow_down:

src/Whim/Commands/KeybindHook.cs
0.00% <0.00%> (ø)

src/Whim/ConfigContext/ConfigContext.cs
0.00% <0.00%> (ø)

... and 72 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


feat(samples): Adding code samples and tests for them

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

Thanks for submitting more samples. Ideally each function should be in its own file, not inside quickstart.js.

@fhinkel could you please review again?

Can you fix the license header violations please.


File-based modularised definitions not propagating up.

I have the following directory structure:
src
  |-- web
  |     |-- styles
  |           |-- settings.less
  |           |-- site.less
  |-- universal
        |-- components
              |-- navbar
                    |-- navbar.less

Where navbar.less imports site.less, which imports settings.less.
Inside settings.less I have the following:
@custom-media --small (max-width: 24em);
@custom-media --medium (max-width: 40em);
@custom-media --large (max-width: 50em);
@custom-media --xl (max-width: 73em);

Inside site.less, I have:
@import "./settings.less";

And inside navbar.less, I am attempting to use --small as follows:
@import (reference) 'site.less';

#navbar {
 @media screen and (--small) {
    .following.bar {
      visibility: visible;
    }
    .main.menu {
      visibility: hidden;
    }
  }
  &.active {
    width: 100vw;
    height: 100vh;
    background-color: #aaa;
  }
}

(Note that I have set up an alias in webpack to resolve site.less correctly.)
Now, when building this config, I get the following WARNING:
WARNING in ./node_modules/css-loader?{"sourceMap":true}!./node_modules/postcss-loader/lib?{"sourceMap":true}!./node_modules/less-loader/dist/cjs.js?{"sourceMap":true}!./src/universal/components/navbar/navbar.less
(Emitted value instead of an instance of Error) postcss-custom-media: /home/panoplos/Documents/Development/Node.js/testing-postcss/src/universal/components/navbar/navbar.less:6:2: Missing @custom-media definition for '--small'. The entire rule has been removed from the output.
NonErrorEmittedError: (Emitted value instead of an instance of Error) postcss-custom-media: /home/panoplos/Documents/Development/Node.js/testing-postcss/src/universal/components/navbar/navbar.less:6:2: Missing @custom-media definition for '--small'. The entire rule has been removed from the output.

How can I get this to work correctly?

OK, it looks like the @import (reference) is the issue. If I remove that, it works, but this is because this copies all the contents of the imported files into the local file, which is the whole reason to use reference. For instance, I am using semantic-ui, which is large enough on its own, let alone if it gets imported into every file. The workaround is to include settings.less directly without the (reference), but I would like to get this module working with reference imports. Is there a way to do this?

@Panoplos Did you ever figure something out for this?

No, this seems like a bug. I guess this project is dead?

Your issue seems to related to a combination of things. It's fair that this project would not be responsible for import statements, and that seems to be at least part of this issue. Which tool are you using to accomplish that? Is it another PostCSS plugin? Are you able to create a reduced test case with only the bare minimum tools required to break this?

You can see the tool chain in the error, and I think the information above is clearly enough to reproduce easily.

@Panoplos I was able to get my app working with https://github.com/MoOx/postcss-cssnext instead. It includes its own support for custom media queries (along with a lot of other great features).

I may have to abandon this plugin for that one...

I'm using postcss-cssnext and experiencing the same issue. Is there any progress on this?

This plugin has been rewritten. If any problems persist, please create a new issue.


Feature Request: Mac OS compatibility

It would be great to see compatibility for mac.

a brew recipe would be the way to support mac IMHO

At the risk of not being helpful, I cloned the git repo to my Catalina mac and make worked perfectly.  This may not be the cleanest, but I am running it from my macbook perfectly.  If you are asking for brew/macport that would bea  great addition, I agree.

Mine must have compiled incorrectly with make. Ill try it again.

Source code should already be compatible with Mac OS. Only dependency is support for getopt() from unistd.h.
Also @tboerger has created homebrew formula which can be found on this #38 issue.
https://github.com/webhippie/homebrew-webhippie/blob/master/Formula/mcrcon.rb


Improve join and conflict types

With TypeScript 4.1, literal types can be constructed. This enables better type checking where it wasn't possible before.
What I did:

Increase minimum TypeScript version to 4.1 to support template literal types
Type join arguments
Type onConflict (+ merge and ignore)

@lorefnon What do you think about this?
(TS version bump should be fine, next version is a semver major anyway)

@lorefnon What do you think about this?
(TS version bump should be fine, next version is a semver major anyway)

@hermansje This looks impressive. Thanks.
I am curious how/if this handles table aliasing (esp. within joins).

@hermansje This looks impressive. Thanks.
I am curious how/if this handles table aliasing (esp. within joins).

Related issue? https://github.com/knex/knex/issues/4246

@sondresj Can you check if changes in this PR resolve your issue?

@kibertoad The issue mentioned is not reported by me, but I have the same issue.
Just tested locally in my project using datacamp-engineering/knex.git#jh/upsert-types as knex dependency version, and the types are correct 👍

@sondresj Thanks! Hopefully we can land this prior to 0.95.0 release.

merged as #4318


net/http: HTTP CONNECT failures should return a more helpful error

What version of Go are you using (go version)?

$ go version
go version go1.14.1 darwin/amd64

Does this issue reproduce with the latest release?
Yep
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN="..."
GOCACHE="/Users/.../Library/Caches/go-build"
GOENV="/Users/.../Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/.../gopath"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="..."
CXX="clang++"
CGO_ENABLED="1"
GOMOD="..."
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/2b/74fz3jhd4wz4vnbf4z7ywzww0000gp/T/go-build135874009=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

https://play.golang.org/p/CsZfrDwLeFb
What did you expect to see?
An error I could inspect.
What did you see instead?
A *url.Error with its Err set to errors.New(...).

In certain environments we use HTTP CONNECT, and on occasion some of the destination servers are temporarily unreachable. When this happens with other proxies, we can inspect the HTTP response (status codes and/or headers) or the error (does Temporary report true?) to determine whether we should backoff and retry the request.
However, net/http inspects the response from the initial CONNECT request and if it's anything other than 200, it returns an generic error constructed from the status code text: https://github.com/golang/go/blob/564c76a268b75f56d6f465b82fba7f6fb929fd70/src/net/http/transport.go#L1622
This means we're limited to something like
var (
    httpStatusServiceUnavailable = http.StatusText(http.StatusServiceUnavailable)
    ...
)

resp, err := c.Get(...)
if err != nil {
    switch s := err.(*url.Error).Err.Error(); s {
    case httpStatusServiceUnavailable:
        /* backoff then retry */
    ...
    default:
        return err
    }
}
...

An example of a useful error would be something like
type ConnectError struct {
    StatusCode int
    ...
}

func (c *ConnectError) Error() string {
    return StatusText(c.StatusCode)
}

var _ error = (*ConnectError)(nil)

Thank you for filing this bug @elagergren-spideroak and great to catch you here!
I can sympathize with this problem, and this code was written almost a decade ago (~9 years ago)
in https://github.com/golang/go/commit/e0a2c5d4b540934e06867710fe7137661a2a39ec, when we just had os.ErrorString, and this package was just young.
Thank you for the suggestion to add ConnectError, but given that I've encountered this problem and I think that there might other places that could use StatusCode and message, perhaps let's make it CodedError which will look like this
type CodedError struct {
    Code int
    Message string
    Method string
}

type (ce *CodedError) Error() string { return ce.Message }

and in usage you can do:
resp, err := c.Get(...)
if err != nil {
     ce, ok := err.(*http.CodedError)
     if !ok {
             return err
     }

     // Otherwise check and deal with backoff + retries.
     ...
}

That type can also be generalized for use in other packages like the net, in which for example we can provide more details on why a Dial failed, but also specify where in the dialling stack it failed, by specifying Method.
One thing we'll need to be aware of, if we add this error is:
a) What are the odds of breaking almost decades long code that switches on an error string? How much code already handles errors by switching on a status or expecting a string as the only detail from invoking err.Error()?

For what it's worth, I'm not too concerned about the actual error—ConnectError was just an example.
However, like you mentioned, ensuring backwards compatibility is important, thus why in my example the Error method just returned http.StatusText.
Comparisons with the current error always evaluate to false, so I can't imagine anybody relying on the behavior.

@gopherbot remove WaitingForInfo

@odeke-em @andybons @ericlagergren Hello, I raised a PR that would address this (and its duplicated) a few months ago but haven't received any feedback on my PR. Could you please help out?

cc @neild @fraenkel @bradfitz

@odeke-em Is there still interest in getting these updated error statuses integrated into net? I'm keen to do so and willing to help out.

Duplicate of #30560


change the format of the file name for the note in Obsidian-Enhancement

I'd like the option tocreate the format for the actual note file names according to my own specification. What I want to do is have the title be the following
{{author|replace(' ', '')}}-{{title|replace(' ', '')}}-kindle

Thanks for raising this suggestion.
As part of bringing highlight syncing to the plugin, I will be bringing in the functionality to choose how you want your note file names to be configured. Will let you know once it is implemented.

The latest v1.0.x has decoupled the name of the file being synced from the plugin's awareness of the book. So you have a new solution in your hands, which is to manually rename a book with your highlights in whatever format you want without worrying that the plugin will lose track of the book. This has been enabled by the plugin now using frontmatter at the top of every book it syncs to identify that it is something the plugin should track.
I plan to introduce the feature that you ask for — allowing you to specify a naming pattern, so will leave this issue open for the time being. But at least now you are aware that there is a workaround today that you can start using.

Thanks for your patience. I have implemented your feature request in version 1.3.0. Check it out and let me know if it is working as you expected.

This feature is useful for me, too.  Thanks for implementing it!
One small observation I didn't expect: the file title ends with '.md'.  In other words, the actual system file name ends with '.md.md'.  This occurs whether or the 'File name template' is changed from the default.

Oh! That's a bug for sure. I'll make a fix to ensure the .md is always added once.

@ostraat This has been fixed in 1.4.0. Please give it a try and let me know if it has resolved this issue for you.

Yes, the issue is resolved for me.  Thanks!


Use latest Go patch releases as well as tip.

Lgtm. Thanks!
On 24 May 2017 4:12 pm, "Alexey Palazhchenko"<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/miekg/dns/pull/493
Commit Summary

Use latest Go patch releases as well as tip.

File Changes

M .travis.yml https://github.com/miekg/dns/pull/493/files#diff-0
(5)
M README.md https://github.com/miekg/dns/pull/493/files#diff-1
(2)

Patch Links:

https://github.com/miekg/dns/pull/493.patch
https://github.com/miekg/dns/pull/493.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/miekg/dns/pull/493, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVkW-5Ok3BltsUk7ydb0uDW0HewYlxLks5r9EjYgaJpZM4NlQYx
.