Unwanted rerender with go_router when using push

Steps to reproduce
Navigate using push to the next location. go router seems to call all the previous builder routes.
So when a route isn't declared with the const keyword (when i use query params for example), the widget is rebuilt...
Expected results
When i push a new location, i expect only the new route to be rebuilt, not the previous too.
Actual results
Previous routes are rebuilt.
Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

void main() => runApp(const MyApp());

/// The route configuration.
final GoRouter _router = GoRouter(
  routes: [
    GoRoute(
      path: '/',
      builder: (BuildContext context, GoRouterState state) {
        debugPrint('GoRoute: builder homeScreen');
        return const HomeScreen();
      },
      routes: [
        GoRoute(
          path: 'step1',
          builder: (BuildContext context, GoRouterState state) {
            debugPrint('GoRoute: builder step 1');
            final justAQueryParam =
                state.uri.queryParameters['param'] ?? 'No params';
            return Step1ScreenWithParam(justAQueryParam: justAQueryParam);
          },
        ),
        GoRoute(
          path: 'step2',
          builder: (BuildContext context, GoRouterState state) {
            debugPrint('GoRoute: builder step 2');
            return const Step2Screen();
          },
        )
      ],
    ),
  ],
);

/// The main app.
class MyApp extends StatelessWidget {
  /// Constructs a [MyApp]
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: _router,
    );
  }
}

/// The home screen
class HomeScreen extends StatelessWidget {
  /// Constructs a [HomeScreen]
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    debugPrint("HomeScreen: build");
    return Scaffold(
      appBar: AppBar(title: const Text('Home Screen')),
      body: Center(
        child: ElevatedButton(
          onPressed: () => context.go('/step1?param=Hello%20World'),
          child: const Text('Go to the Step 1'),
        ),
      ),
    );
  }
}

/// The details screen
class Step1ScreenWithParam extends StatelessWidget {
  final String justAQueryParam;

  /// Constructs a [Step1ScreenWithParam]
  const Step1ScreenWithParam({super.key, required this.justAQueryParam});

  @override
  Widget build(BuildContext context) {
    debugPrint("STEP 1 - rerender, declare with const in go ROUTER");
    return Scaffold(
      appBar: AppBar(title: Text('Details $justAQueryParam')),
      body: Center(
        child: Column(
          children: [
            ElevatedButton(
              onPressed: () => context.push('/step2'),
              child: const Text('Go to the step 2'),
            ),
          ],
        ),
      ),
    );
  }
}

class Step2Screen extends StatelessWidget {
  /// Constructs a [Step1ScreenWithParam]
  const Step2Screen({super.key});

  @override
  Widget build(BuildContext context) {
    debugPrint("Step2: build");
    return Scaffold(
      appBar: AppBar(
          title: const Text(
              'STEP 2 - no rerender, declare with const in go ROUTER')),
      body: Center(
        child: Column(
          children: [
            ElevatedButton(
              onPressed: () => context.go('/'),
              child: const Text('Go back to the Home screen'),
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video
No response
Logs
Logs
the log if a tap button 'go to the step1' then i tap 'go to the step 2' the i tap 'go to home'
flutter: GoRoute: builder homeScreen
flutter: HomeScreen: build
flutter: GoRoute: builder step 1
flutter: STEP 1 - rerender, declare with const in go ROUTER
flutter: GoRoute: builder homeScreen
flutter: GoRoute: builder step 2
flutter: Step2: build
flutter: GoRoute: builder homeScreen
flutter: GoRoute: builder step 1
flutter: STEP 1 - rerender, declare with const in go ROUTER
flutter: GoRoute: builder homeScreen

Flutter Doctor output
Doctor output
flutter doctor -v
[✓] Flutter (Channel stable, 3.22.1, on macOS 14.5 23F79 darwin-arm64, locale fr-FR)
    • Flutter version 3.22.1 on channel stable at /Users/71123H/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a14f74ff3a (5 days ago), 2024-05-22 11:08:21 -0500
    • Engine revision 55eae6864b
    • Dart version 3.4.1
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/71123H/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • 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.6b829.9-10027231)
    • All Android licenses accepted.

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

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

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

[✓] IntelliJ IDEA Ultimate Edition (version 2024.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 79.2.3
    • Dart plugin version 241.17502

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554                        • android-arm64  • Android 14 (API 34) (emulator)
    • iPhone 15 (mobile)              • A160BDAA-1F70-4137-AFA6-6236D4816E50 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 14.5 23F79 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 14.5 23F79 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 125.0.6422.78

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

• No issues found!

use auto_route it is better

When GoRoute call an unwanted build, the value in state.uri is not the same as the value in GoRouter.of(context).routeInformationProvider.value.uri. state.uri seems to have a wrong value ?
        GoRoute(
          path: 'step1',
          builder: (BuildContext context, GoRouterState state) {
            debugPrint('GoRoute: builder step 1');
            // when unwanted rerender, the value in state.uri is not the same as the value in GoRouter.of(context).routeInformationProvider.value.uri
            debugPrint("GO ROUTER STATE > ${state.uri}"); // flutter: GO ROUTER STATE > /step1?param=Hello%20World
            debugPrint(
                "GO ROUTER > ${GoRouter.of(context).routeInformationProvider.value.uri}"); // flutter: GO ROUTER > /step2
            final justAQueryParam =
                state.uri.queryParameters['param'] ?? 'No params';
            return Step1ScreenWithParam(justAQueryParam: justAQueryParam);
          },
        ),

Hi @fwemaere, this is working as intended, please see a similar issue filed before at https://github.com/flutter/flutter/issues/132049 and the response at https://github.com/flutter/flutter/issues/132049#issuecomment-1673962209. Closing this as a duplicate of https://github.com/flutter/flutter/issues/132049.

When GoRoute call an unwanted build, the value in state.uri is not the same as the value in GoRouter.of(context).routeInformationProvider.value.uri. state.uri seems to have a wrong value ?

This looks similar to https://github.com/flutter/flutter/issues/147367. Please take a look to see if it is. If it's not similar to your case, please file a new issue. Thanks!


Reorganize dashboard

[x] Fix #244
[x] Layouts type annotations

Oh.. also I noticed that the page titles that used to say things like 'Dashboard', 'FeatureSets', etc... now just say 'Pages'... so lets fix that before

we merge...

@brifordwylie thanks for spotting that! How about this?


code

Hi,
Would it be possible to know a rough estimate of time before you release the code here?
Thank you,

Thanks for your patience. It is released now


Speed up external dependencies lookup

Previously in order to find Analysis for given class name zinc fist have to enumerated whole classpath (each class in each jar or classes directory). In huge workspace it might take over 40 sec – and this was overhead for each compilation (even the smallest).
Now zinc searches for given analysis in all analysis ordered in the same way as classpath so whole classpath enumeration is skipped for searching for changed sources. Now overhead is barely  noticeable.
This might not detect correct changes if class x.X was previously present only in ouput of depended project but later class with same binary name was added to raw classes directory that is earlier on classpath. This is true if this situation happens when jar content is changed (so x.X is added there) however this should be capture as change in binary dependencies.
From reasons above I deiced to keep old behavior under flag.

Is that related to sbt/sbt#2525 ?

Yes. Basically I needed to 'compile' when nothing (or almost nothing) is changed as main goal.
We are using zinc as builder in Intellij so we can reuse some data that Intellij stores.
Initally our overhead was >200 sec for fist and >150 for follwing no-op compilation (lower bound is around 7-10 sec).
After removing all integration problems and introduce full analysis caching I go down to ~160/120 sec
After that I consume hooks (PR#161):

Intellij tracking changed sources for me
I ignore products since Intellij also ignores it
I am caching modifaction dates for binary deps for single compilation (so I check e.g. scala-libary.jar once)

This reduce times to 100/60 sec.
This changes allows me to go down to 55/15 sec - those are times I needed.

How does this behave in sbt if the project is using exportJars?

@fommil I don't know how this is exactly implemented in sbt but in theory sbt should provide lookup that will point to Analysis for exported jar - so behaviour shouldn't change. If Analysis is not found for exported jars so this is bug in zinc - sbt integration.
I never explicitly check if I am working with class directory or jar. I only rely on presence of Analysis for given classpath entry.

I wonder if you can make it safer without sacrificing on the perf gains you made. For example can you store SHA1 hash of the JAR files in Analysis and skip on if they haven't changed since the last compile? If it's unable to detect the change in library dependencies, I don' think we should have this on by default.

That is why I create this issue: https://github.com/sbt/zinc/issues/166 since this is exacly our problem here.
I will switch analysisOnlyExtDepLookup to false by default - so we can merge it now.

I will switch analysisOnlyExtDepLookup to false by default

Sounds good.

@eed3si9n can we merge it now? :)

Merged


Fix templates for password_reset + add registration and reset password templates

I've added a couple of tests around user registration/reset password flow, also fixing current template situation around reset_password (basically even though the templates were in the repo, it still used default templates, for example here: https://ep2017.europython.eu/accounts/password_reset/
WIP because there are two more things to add later this week – move email templates for password_reset as well, and update url names to get rid of new FIXME in assopy/urls.py

Removed WIP, requesting review. :)  @matrixise @patrick91


update schema file layout

This changes the order of the interfaces in the schema.ts file to a more typical layout used in most ts packages (referenced interfaces always defined before where they're referenced, inspired by c/c++ I think, makes navigation easier)
This PR has no functional changes besides fixing a small issue where some events were missing from MachineEvent

@mozi-h Should be a trivial merge

The idea behind the current structure was to have it go from most used and general to the smallest definitions:

Program and stuff directly belonging to it
Performance + belongings
Small Events and States ordered by Instrument / Channel

Do you think it's easier to find stuff with your proposed ordering or do you just want to comply to some norm? Also, it'd be helpful of you to update the TOC in the first few lines.

In my option the best way to layout a library is where the interfaces are deterministically organized, and from my experience looking a other ts libraries, I've never seen anyone use any other pattern.
When looking at the schema I found myself constantly searching up and down to find anything, organizing by something as vague as possible usage is unwise.
I've also never seen a table of contents before, and I'd say if you want to use something like that you should probably use the well supported #region statements instead of something new.
In general, unless there is a clear benefit deviating from norm and reinventing the wheel will just make adoption of something more difficult.

Honestly it should probably be split into files for the following: state, dropevents, events, program, and performace.  Maybe event make state, dropevents, and events folders for further subdivision.

I'm new to Typescript and Typedoc so I can't pick a side... yet.
I'm wondering how you are viewing the document. Are you viewing the TypeDoc HTML output or just the source file? The regions don't help with the final output but the TOC does and vice-versa.
@Tiedye do you have some examples of other TS projects you can point me to?

@Tiedye Also, you have changes in this PR you didn't mention unless I missed them somewhere else.

EventBakeType
CorePerformanceDropEvent
PerformanceDropEvent

BassCapoEvent -> CapoEvent?
BassEvent -> CapoEngagedEvent?

CapoFretEvent

@aakoch Those things are not supposed to be in there, I'll update when I get a sec.  An example is https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore/src/api/credentials.ts

It seems this discussion/PR has lost its steam.
For me I'm still not clear on if the discussion around readability is for the source or the rendered documentation. I rarely read the source for the documentation. (https://firebase.google.com/docs/reference/js/firebase vs https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore/src/api/credentials.ts)
TOC? Don't need it with the links created by Typedoc.
#regions? Don't need it since I won't be reading the .ts file

@aakoch Yeah this is somewhat dead, I am swamped and haven't had the time to follow up.  Tis ok if we close this since I can't push it through rn.

As author you should be able to close / reopen / whatnot yourself. You could also just push it to dev for now – I invited you for write access.


Distortion coefficient

Hello,
I'm trying to use GUI.py but I'm having some troubles with distortion coefficient: I see variation in the chessboard pattern only when I put the coefficients at their max value

Hi! Faced with that problem too.
To fix it you should assign dtype of KpCoeff in vcam lib to any np.float type

Hello,
I'm trying to use GUI.py but I'm having some troubles with distortion coefficient: I see variation in the chessboard pattern only when I put the coefficients at their max value

I just changed:
self.KpCoeff = np.array([0,0,0,0,0,0,0,0]
to:
self.KpCoeff = np.array([0,0,0,0,0,0,0,0], dtype=float)
in the vcam.py source and it is working.

I just changed:
self.KpCoeff = np.array([0,0,0,0,0,0,0,0]
to:
self.KpCoeff = np.array([0,0,0,0,0,0,0,0], dtype=float)
in the vcam.py source and it is working.

Works for me!

You can do the following in terminal
python3
>>> import vcam
>>> import os
>>> os.path.dirname(vcam.__file__)

+1 where's the vcam source?

You can do the following in terminal
python3
>>> import vcam
>>> import os
>>> os.path.dirname(vcam.__file__)

indeed.  i meant "where is the vcam source in github so i can fix it for everyone?"

I have managed to locate the source for the vcam python module and then added it to this fork of the project.
https://github.com/henrikmidtiby/VirtualCam/commit/918443dee4347594df31ad9a79066ff1dd9df788


⚠ SceneTime has degraded performance

In 80bd114, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 21665 ms

Resolved: SceneTime performance has improved in cf1b813.


Empty line segments not displayed in d3.svg.line.

I can't get a line chart to display single points. In SVG it get's rendered as a dot when I move the pen to a point and then do a line to with the same coordinates (at least with a linecap different than "butt"). I noticed that d3.svg.line just creates the moves of the pen. Is this intentional?
I provided an example: http://jsfiddle.net/ntdwa4dv/1/

Fix staged in #2591 for 3.5.7.

http://bl.ocks.org/mbostock/bbbe5171af94cc4b18c1


Navbar

Keeping the navbar's design constant across all the pages would improve usability of the site

I want to  work this project.

please assign to me


ASIM Sysmon parser doesn't parse Process Create events properly from the Event table

Describe the bug
ASIM Sysmon parser vimProcessCreateMicrosoftSysmon doesn't parse Process Create events properly from the Event table. The Process Create Events are not returned when  vimProcessCreateMicrosoftSysmon table is used to get these logs.
To Reproduce
Steps to reproduce the behavior:

Go to 'Microsoft Sentinel', ensure Sysmon logs are ingested for at least 1 client (ensure that no other sources provide the same logs)
Once logs show up in Sentinel run the below query:
vimProcessCreateMicrosoftSysmon | take 100
The response is No results found from the specified time range

Expected behavior
Query should parse and return the ingested logs from Sysmon querying vimProcessCreateMicrosoftSysmon table
Screenshots
N/A
Desktop (please complete the following information):

OS: Win10
Browser: Firefox
Version: 102
Additional context
Add any other context about the problem here.

Hi @szabolevo : Thanks for fixing.
I am in charge of the ASIM parser, for which the change is minor and very important. To remove the dependency on the review of the more complex changes in the other parser, I will create a separate PR for that.

Hi @szabolevo : Thanks for fixing!
I am in charge of the ASIM parser, for which the change is minor and very important. I will create a separate PR for it, so it is not blocked on the review of the other Sysmon parsers.

Here is the PR: https://github.com/Azure/Azure-Sentinel/pull/5721


Can't drop into same DropList in hierarchy (because DropList is filter out before call ref.connectedTo)

I have a hierarchy of items.

I would like to change order of item (Child item 3) in the same DropList (droplist of Parent item 1), just change order not move into another DropList. But I can not do that, because:
In CdkDropList is method _setupInputSyncSubscription(ref) and in this method is subscription ref.beforeStarted.subscribe(...) in which is called
            ref.connectedTo(siblings.filter((
            drop => drop && drop !== this)).map(...)

but the filter method filter out .filter(drop => drop && drop !== this) the origin DropList (this) of dragged item and than I am not able to drop back into same DropList to reorder items.

And I know that there is a method _updateActiveDropContainer(...) on DragRef that is trying to handle sorting if I dropping into same DropList but this works just for Parents. Because just if
let newContainer = this._initialContainer._getSiblingContainerFromPosition(this, x, y);
newContainer is undefined then sorting ((this._dropContainer))._sortItem(...)) can happend. But I want to drop back into DropList of children (Parent item 1) and I always get in newContainer DropList of parents and not DropList of children (Parent item 1) because the DropList  of children (Parent item 1) was removed in siblings.filter((drop => drop && drop !== this)) as I mentioned above.
I can not place the item where red lines are cause the _this._initialContainer.getSiblingContainerFromPosition(this, x, y) always return DropList of children (red arrow)

or DropList of Parents (red arrow)

Can you remove for next version the filter that removes origin DropList (droplist where dragged item was placed)? Or is there some reason why the filter is there?
Environment

Angular: 8.2.3
CDK/Material: 8.1.3
Browser(s): Chrome Version 80.0.3987.87
Operating System (e.g. Windows, macOS, Ubuntu): Windows 10

The filter is there, because it doesn't make sense to connect a list to itself. It sounds like you might be hitting a different issue, because the list allows dragging within itself by default.

The filter is there, because it doesn't make sense to connect a list to itself. It sounds like you might be hitting a different issue, because the list allows dragging within itself by default.

By default yes, but just for flat list. If the list is somewhere in hierarchy (droplist in another droplist), than the filter cause this issue.

Sounds like this falls into the category of "Issues with nested drop lists". Closing as a duplicate of https://github.com/angular/components/issues/16671.


Incompatibilities with astropy 2.0

The latest coordinate improvements in astropy v2.0 means a few failures in astroplan. Currently they just show up in the dev build, but I'm about to update the CI tags of "stable" and "LTS" to point to 2.0 meaning that all of jobs in the travis matrix will start to fail.

What's failing? Can you point to some failing CI jobs?

Ah, I see here:
https://travis-ci.org/astropy/astroplan/jobs/251342146
We switched from string name keys to class keys. So anywhere you see
frame_specific_representation_info['spherical']

needs to be changed to:
frame_specific_representation_info[coord.SphericalRepresentation]


refactor not to store passwords for none local authentications

Purpose of PR?:
Fixes #2078
first step for handling userdata differently. Also a few different problems solved.

next is to lookup / understand how the token exchange between server and client can be temporary bound to a user profile.

I do split this into further issues

many of the PR was splitted into smaller ones, the main issue is still open.


Issue #29 - Do not retrieve Environment variables just to get the command line

It does not resolve the issue #29 , but it reduces its scope to API users, which actually do not
require Environment Variables. Unfortunately JENKINS-30782 is of such kind, because Jenkins process termination logic for builds relies on the environment variables.
OTOH, it is still a useful performance improvement
@reviewbybees

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

@jglick

why are we doing it?

See the PR description

It does not resolve the issue #29 , but it reduces its scope to API users, which actually do not
require Environment Variables. Unfortunately JENKINS-30782 is of such kind, because Jenkins process termination logic for builds relies on the environment variables.

In Jenkins there are cases, when the code does not invoke WinProcess#getEnvironmentVariables (). So it will reduce the frequency of the issue and also improve the performance since the code won't be reading and parsing a big memory window. So it worth the new API method

@reviewbybees done


Mob 3096

JIRA
MOB-3096
DESCRIPTION
Move org ids for UISettings to external file
Types of changes
What types of changes does your code introduce to the project?
Put an x in the boxes that apply

[ ] Bugfix
[ ] New feature
[x] Tech Debt
[ ] Breaking change
[ ] Documentation Update
[ ] Other: define what type of change it is

CHECKLIST
Put an x in the boxes that apply. You can also fill these out after creating the PR. This is simply a reminder of what we are going to look for before merging code.
Please review the guidelines for contributing to this repository.

[x] All work relating to the ticket is complete (Code complete/Acceptance Criteria met)
[x] Lint and unit tests pass locally (if appropriate)
[ ] Added tests that prove the fix is effective or that feature works (if appropriate)
[ ] Documentation (if appropriate)

SCREENSHOTS
N/a

Got merge conflicts to sort out. Might need to merge develop in with your branch. Also looks like CircleCI needs the secure.properties file added to its configuration
/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:25: error: illegal start of expression
public static final String KARHOO_INTERNAL_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:26: error: illegal start of expression
public static final String KARHOO_PROD_BRAINTREE_DEFAULT_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:27: error: illegal start of expression
public static final String KARHOO_SANDBOX_ADYEN_DEFAULT_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:28: error: illegal start of expression
public static final String KARHOO_SANDBOX_BRAINTREE_DEFAULT_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:29: error: illegal start of expression
public static final String KARHOO_STAGING_ADYEN_DEFAULT_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:30: error: illegal start of expression
public static final String KARHOO_STAGING_BRAINTREE_DEFAULT_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:31: error: illegal start of expression
public static final String KARHOO_TRAVELLER_ORGANISATION_ID = ;
^/home/circleci/project/sdk/build/generated/source/buildConfig/debug/com/karhoo/sdk/BuildConfig.java:32: error: illegal start of expression
public static final String KARHOO_US_ORGANISATION_ID = ;


Global search doesn't work properly

VSCode Version: 1.28.0
OS Version: Windows 10 (x64)

Steps to Reproduce:

Press Ctrl+Shift + F
Type a string
Search

Searching doesn't seem to find all occurrences, especially when files are deep in folders, even if files were recently opened.
When I disable all extensions, it doesn't work, either.
I don't have errors in devTools window.
I reinstalled VsCode. Didn't help.
Another editor is able to perform global search. It takes some time, but still.

Here is the output .

Can you see the wiki section on missing search results and let me know whether that helps? https://github.com/Microsoft/vscode/wiki/Search-Issues

The search works when I stop using Exclude Settings and Ignore files, although I deleted every pattern in excluded files list.

Well, I got results I needed, so thank you.

Are they covered by a gitignore file?

Right. I completely forgot that I had default one. Of course the file included vendor folder whose files I needed to be in results.
I turned of Search: Use Ignore Files and everything worked. Thank you again)


Webtorrent ideas from Nowsearch.xyz

https://github.com/eklem/nowsearch.xyz/issues/55

Discussed it at Gitter.im and got some good feedback. One thing to have in mind is:

how long time it takes to generate a new torrent-file
how many/few search engines one tracker can hold


Project Management

Project index with Git remotes

Project groups
Project activation (git clone) and deactivation (wipe if git status is clean)
Automatic dependency download (lein deps, npm install, bower install, ...)

Improved dashboard for projects

with project bound actions (activate, deactivate, editor, shell, tasks)
create new project with different kinds of scaffolding (lein new, npm init, yo xyz, ...)

Internal PlugIn architecture via aspect-oriented interfaces.
Possible aspects:

creation/initialization
dependency download
build
watch
edit

Commands from CLI:
project, prj, p

[ ] ... new, n <tool> [args*]
[ ] ... backup, a <project name>
[ ] ... dependencies, deps, d <project name>
[ ] ... build, b <project name>
[ ] ... run, r <project name>
[ ] ... test, t <project  name>
[ ] ... delete, x <project name>
[ ] ... custom-task, c <project name> <task name>

Plug-in interface need to be worked out to define the possible user tasks at the Dashboard and the CLI.

Most importantly the checkout of existing projects should be imlemented, because it generates the biggest benefit for Bench as a prepared dev-environment.


[dhcp-server] python-netaddr RPM missing

Hello,
The role of dhcp_server crashes because the RPM is missing.
TASK [dhcp_server : template █ Generate /etc/dhcp/dhcpd.networks.conf] *********
Thursday 30 July 2020 20:01:34 +0200 (0:00:00.596) 0:00:22.986 *********
fatal: [wolfi01]: FAILED! => changed=false
msg: 'AnsibleFilterError: The ipaddr filter requires python''s netaddr be installed on the ansible controller'

I saw that a commit: delete this RPM
So I propose:

go back and re-add this RPM in the dhcp_server role
indicate in the documentation that this RPM is missing and that it must be installed manually before launching the playbooks

Regards,
@hmeAtos

This package is required on the Ansible controller where the ipaddr filter is used, not on the dhcp server. You can configure the ansible controllers for the stack with the role core/bluebanquise which will install all the required dependencies for your OS.
See RHEL8 vars below as an example:
https://github.com/bluebanquise/bluebanquise/blob/737b401249a58706b281aab074e412635a2bab7c/roles/core/bluebanquise/vars/RedHat_8.yml#L1-L5
The example playbooks for management nodes reflect this:
https://github.com/bluebanquise/bluebanquise/blob/737b401249a58706b281aab074e412635a2bab7c/resources/examples/simple_cluster/playbooks/managements.yml#L16
The package should be installed during the setup of the BlueBanquise controller:
https://github.com/bluebanquise/bluebanquise/blob/2b0572ff796a133856ecd455e6d8c5b6f9dce094/resources/documentation/deploy_bluebanquise.rst#L84-L89
Hope this helps.


fix: FluentTreeView is not working in Maui Blazer

🐛 Bug Report

SelectedChanged and ExpandedChanged events for FluentTreeView are not firing in Maui Blazor.
Blazor Wasm and Blazor Server work fine.
💻 Repro or Code Sample

1.Create a new Maui Blazor project on VS2022mac
2.Prepare to use fast-blazor (https://github.com/microsoft/fast-blazor/blob/main/README.md)
3. Copy the sample demo page to Index.razor ("Default with event handling" at https://brave-cliff-0c0c93310.azurestaticapps.net/TreeView)
In Blazor Wasm and Blazor Server, the behavior is the same as in the demo page (text changes according to the selected node), but in Maui Blazor, the text does not change.
🤔 Expected Behavior

😯 Current Behavior

💁 Possible Solution

🔦 Context

🌍 Your Environment

OS & Device: [MacOS 12.6, iOS16] on [iPhone13, m1mac]
Browser [Google Chrome, Apple Safari]
.NET6 or 7 and FAST Version 2.1.3

Duplicate of #327

I have the same problem


Circular dependency found when trying to integrate with ng1.3

Uncaught Error: [$injector:cdep] Circular dependency found: $http <- $templateRequest <- $animate <- cfpLoadingBar <- $http <- Local
https://docs.angularjs.org/error/$injector/cdep?p0=$http <- $templateRequest <- $animate <- cfpLoadingBar <- $http <- Local

Any progress on this? I am on 0.7.1 and its still a problem.  I am happy to fork and fix and do a pull request if you have any guidance?


First v-if inside a named template causes sibling elements to only render when it itself is rendered

Version
2.6.13
Reproduction link
https://codesandbox.io/s/relaxed-sun-291he?file=/src/App.vue
Steps to reproduce

Create a template with a named slot inside it.
Use this template inside a component.
Put a

 as the first element inside the template for the named slot.
Add a sibling element after the

.

What is expected?
The sibling element is rendered irrespective of the

 being rendered
What is actually happening?
The sibling element only renders when

 renders i.e. when I set v-if="true"

This is my first time using codesandbox.io so I also created a git repo with the mcve incase the codesandbox.io link does not work.
https://github.com/SarthakSingh31/vue-mcve

Same issue with v-slot syntax for default slots
https://codesandbox.io/s/red-https-vfqxw?file=/src/App.vue

Please search existing issues before opening one. Already fixed

I think it will help if #12102 is labeled as a bug as that is the label I searched under when I was looking for an existing issue.


nil check in unless doesn't give the expected result

I expect the first unless to produce "was nil" because str is nil, however it gives no output.
The second unless and the if behave as I would expect.
http://play.crystal-lang.org/#/r/kne
str :: (String | Nil)

unless s = str
  puts "was nil"    # this should run because `str` is `nil`
end

str = "foo"

unless s = str
  puts s    # this should not run because `str` is not `nil`
end

if s = str
  puts s    # this should run because `str` is `"foo"`
end

Crystal 0.9.0 (Fri Oct 23 20:47:03 UTC 2015)

This is not a bug, you shouldn't use str :: (String|Nil), it's unsafe and doesn't initialize the local with nil or anything it all, it doesn't even zero out the memory. You end up accessing garbage.

@jhass I see. That makes sense. I see that if I add str = nil below the first line, it behaves as expected. Thanks for the info.

@Perelandric @jhass We'll probably change the current syntax for something that makes it much more obvious that this is an unsafe feature. It's not the first time this happens and even though it's documented, since the same syntax is used for declaring instance vars this is pretty confusing.
Ideas for the new syntax? :-)

foo = Bar.stack_allocate?

Mmm... there's also this use case:
class Foo
  def initialize
    # Declare that we have a buffer, but don't zero the memory
    @buffer :: UInt8[1024]
  end
end

In this case it's not stack allocation, and the T might be a union and you can't do (T | U).stack_allocate

Maybe something like:
str :: unsafe String | Nil
@buffer :: unsafe UInt8[1024]

At least it'll be pretty obvious that it's unsafe :-)
If you don't specify unsafe inside a method, the compiler will tell you to do so and tell you "but note that if you do so the object won't be properly initialized, etc."

maybe reserve instead of unsafe?

Some syntax like this would be helpful I think. For some reason I've got it stuck in my head that those  get a nil default.

Would it be crazy to suggest that those get a nil default? Then the rule would be that irrespective of the actual type, there's always an implicit | Nil. On the surface, it would seem to work into the rest of the system that handles nil already.
It forces you to handle it explicitly, which isn't as nice but it would make it safer anyway.
The implicit | Nil could also be avoided in some cases where a default value can be provided if Crystal allowed an inline assignment.
foo :: String   # (String | Nil)

bar :: String = "DEFAULT"   # String

How about the "standard word" Str.alloca - but then the size would have to be known - if it propagates down the type, which I guess it doesn't though.
Couldn't above notation be changed so that a : Foo only types it (no unions possible by mistake). And then require explicit stack allocation if that's wanted, otherwise use the regular .new method for heap allocation.
foo : Foo
# as long as foo is not accessed before allocation no error is produced because of lacking assign to non (*|Nil)
foo = Foo.alloca  # allocates space for one Foo object on the stack and calls initialize on it
foo = Foo.new     # allocates on heap via GC and calls initialize on it

Also, the example with @buffer :: ... is very confusing, I think it should be a syntax error - that declaration should be directly in the root of the type imo. If there's no assign/allocation.


No Linker Errors

I'm currently working through the "set up rust" blog post and I noticed that when I get to the fixing linker errors that I don't have any linker errors. I do get the errors starting from the --gc-sections section and forward. I also get an "unused variable: x" warning.
rust version: rustc 1.12.0-nightly (1deb02ea6 2016-08-12)

Thanks for reporting this! I just tried again it and I don't get the memcpy linker error either.
So the compiler no longer emits memcpy calls for the following code:
let x = ["Hello", " ", "World", "!"];

However, we still need memcpy and rlibc for future code (the master branch doesn't compile without extern crate rlibc). So the best solution would be to find some short example code that triggers the memcpy linker error again.

The only example I could find is the format_args! macro:
format_args!("{}", "Hello");

target/x86_64-unknown-linux-gnu/debug/libblog_os.a(core-c8005792.0.o): In function `core::fmt::Formatter::pad_integral::hb1b426300c793414':
core.cgu-0.rs:(.text._ZN4core3fmt9Formatter12pad_integral17hb1b426300c793414E+0x15d): undefined reference to `memset'
core.cgu-0.rs:(.text._ZN4core3fmt9Formatter12pad_integral17hb1b426300c793414E+0x1fe): undefined reference to `memset'
core.cgu-0.rs:(.text._ZN4core3fmt9Formatter12pad_integral17hb1b426300c793414E+0x2d8): undefined reference to `memset'
core.cgu-0.rs:(.text._ZN4core3fmt9Formatter12pad_integral17hb1b426300c793414E+0x3b5): undefined reference to `memset'
core.cgu-0.rs:(.text._ZN4core3fmt9Formatter12pad_integral17hb1b426300c793414E+0x4fb): undefined reference to `memset'
target/x86_64-unknown-linux-gnu/debug/libblog_os.a(core-c8005792.0.o):core.cgu-0.rs:(.text._ZN4core3fmt9Formatter12pad_integral17hb1b426300c793414E+0x5fa): more undefined references to `memset' follow
Makefile:43: recipe for target 'build/kernel-x86_64.bin' failed
make: *** [build/kernel-x86_64.bin] Error 1

It needs memset instead of memcpy, but the solution is the same (rlibc). However, it's a rather obscure example and we would need to explain the format_args! macro.
Does anyone have a better example that triggers a memcpy/memset linker error?

Here are a few examples I came up with. First, wrapping the array inside another structure (kind of ugly):
let x = [["Hello", " ", "World", "!"]];

let x = Some(["Hello", " ", "World", "!"]);

let x = (["Hello", " ", "World"], "!");

assert_eq! seems to use memset, so you could replace the example with something like:
assert_eq!(2 + 2, 4);

Or just trigger a memcpy very straight-forwardly:
let x = ["Hello", " ", "World", "!"];
let y = x;

let x = ["Hello", " ", "World", "!"].clone();

Wow! Thanks so much, @yjerem! These are great!
I really like assert_eq!(2 + 2, 4);, since it's very simple and doesn't require an array. However, it also goes through the fmt machinery and thus outputs the same cryptic error message as the format_args! example.
In contrast, the wrapped array examples have the nicest error message (only a single memcpy reference right in  rust_main):
target/x86_64-unknown-linux-gnu/debug/libblog_os.a(blog_os.0.o): In function `blog_os::rust_main':
…/blog_os/src/lib.rs:19: undefined reference to `memcpy'

However, I agree that these examples are a bit cumbersome.
So I think I like the last examples most. They are still pretty simple and give good error messages, too:
target/x86_64-unknown-linux-gnu/debug/libblog_os.a(blog_os.0.o): In function `blog_os::rust_main':
…/blog_os/src/lib.rs:20: undefined reference to `memcpy'
…/blog_os/src/lib.rs:20: undefined reference to `memcpy'

I think I prefer the let y = x variant, since it seems a bit simpler than the clone variant. And it even works with a smaller array:
let x = ["Hello", "World", "!"];
let y = x;

Do you want to send a PR for this (so that you get the credit)?


maxOccurs counts for arrays needed

For example, recipient_address_group and information_address_group each have a maxOccurs which should be 16.

The combination of the two of them together is also limited to 16.

In general, these specifications have a large number of "Cases" which are validation rules that should be added to these schemas.


metrics-server is unable to scrape node when using custom bind-address

Environmental Info:
K3s Version:

It happens on the currently newest available version:
k3s version v1.30.4+k3s1 (98262b5d)
go version go1.22.5

But this issue first occurred in this version:
k3s-1.29.6 version v1.29.6+k3s1 (83ae095a)
go version go1.21.11

This is the last version it worked with:
k3s version v1.29.5+k3s1 (4e53a323)
go version go1.21.9

I think this behaviour was introduced by https://github.com/k3s-io/k3s/pull/10019
Node(s) CPU architecture, OS, and Version:

❯ uname -a
Linux linux-spisjak 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

❯ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04 LTS
Release:	24.04
Codename:	noble

Cluster Configuration:

Single-node k3s cluster with the following config:
❯ cat /etc/rancher/k3s/config.yaml
advertise-address: "<IP_ADDRESS>"
bind-address: "<IP_ADDRESS>"
data-dir: "/tmp/test-k3s"

Describe the bug:

After k3s v1.29.6+k3s1 and when specifying a custom bind-address the metrics server is unable to connect to the Kubelet metrics.

Logs of metrics server before `v1.29.6+k3s1` with this config:
I0823 06:59:41.729162       1 serving.go:374] Generated self-signed cert (/tmp/apiserver.crt, /tmp/apiserver.key)
I0823 06:59:42.063000       1 handler.go:275] Adding GroupVersion metrics.k8s.io v1beta1 to ResourceManager
I0823 06:59:42.169382       1 requestheader_controller.go:169] Starting RequestHeaderAuthRequestController
I0823 06:59:42.169407       1 shared_informer.go:311] Waiting for caches to sync for RequestHeaderAuthRequestController
I0823 06:59:42.169404       1 configmap_cafile_content.go:202] "Starting controller" name="client-ca::kube-system::extension-apiserver-authentication::client-ca-file"
I0823 06:59:42.169404       1 configmap_cafile_content.go:202] "Starting controller" name="client-ca::kube-system::extension-apiserver-authentication::requestheader-client-ca-file"
I0823 06:59:42.169424       1 shared_informer.go:311] Waiting for caches to sync for client-ca::kube-system::extension-apiserver-authentication::client-ca-file
I0823 06:59:42.169427       1 shared_informer.go:311] Waiting for caches to sync for client-ca::kube-system::extension-apiserver-authentication::requestheader-client-ca-file
I0823 06:59:42.169993       1 dynamic_serving_content.go:132] "Starting controller" name="serving-cert::/tmp/apiserver.crt::/tmp/apiserver.key"
I0823 06:59:42.170906       1 secure_serving.go:213] Serving securely on [::]:10250
I0823 06:59:42.170960       1 tlsconfig.go:240] "Starting DynamicServingCertificateController"
I0823 06:59:42.269809       1 shared_informer.go:318] Caches are synced for RequestHeaderAuthRequestController
I0823 06:59:42.269819       1 shared_informer.go:318] Caches are synced for client-ca::kube-system::extension-apiserver-authentication::requestheader-client-ca-file
I0823 06:59:42.269897       1 shared_informer.go:318] Caches are synced for client-ca::kube-system::extension-apiserver-authentication::client-ca-file
I0823 06:59:42.830673       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:43.817880       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:43.831413       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:45.816043       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:47.814920       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:49.818610       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:51.813792       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:53.815532       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 06:59:55.816636       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"

Kubelet metrics are available at *:10250 before v1.29.6+k3s1 with this config:
❯ sudo ss -tulpn | grep 10250
tcp   LISTEN 0      4096                                           *:10250            *:*    users:(("k3s-server",pid=1623615,fd=178))

After v1.29.6+k3s1 and newer, this socket binds to <bind-address>:10250 instead:
❯ sudo ss -tulpn | grep 10250                                                                                09:05:35
tcp   LISTEN 0      4096                                  <IP_ADDRESS>:10250      <IP_ADDRESS>:*    users:(("k3s-server",pid=1774664,fd=214))

This leads the metrics server unable to scrape the node, as it tries to connect via the node ip:
I0823 07:09:45.054638       1 serving.go:374] Generated self-signed cert (/tmp/apiserver.crt, /tmp/apiserver.key)
I0823 07:09:45.432437       1 handler.go:275] Adding GroupVersion metrics.k8s.io v1beta1 to ResourceManager
E0823 07:09:45.536256       1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": dial tcp <IP_ADDRESS>:10250: connect: connection refused" node="linux-spisjak"
I0823 07:09:45.537788       1 requestheader_controller.go:169] Starting RequestHeaderAuthRequestController
I0823 07:09:45.537799       1 configmap_cafile_content.go:202] "Starting controller" name="client-ca::kube-system::extension-apiserver-authentication::client-ca-file"
I0823 07:09:45.537815       1 shared_informer.go:311] Waiting for caches to sync for client-ca::kube-system::extension-apiserver-authentication::client-ca-file
I0823 07:09:45.537811       1 configmap_cafile_content.go:202] "Starting controller" name="client-ca::kube-system::extension-apiserver-authentication::requestheader-client-ca-file"
I0823 07:09:45.537830       1 shared_informer.go:311] Waiting for caches to sync for client-ca::kube-system::extension-apiserver-authentication::requestheader-client-ca-file
I0823 07:09:45.537803       1 shared_informer.go:311] Waiting for caches to sync for RequestHeaderAuthRequestController
I0823 07:09:45.538364       1 dynamic_serving_content.go:132] "Starting controller" name="serving-cert::/tmp/apiserver.crt::/tmp/apiserver.key"
I0823 07:09:45.539489       1 secure_serving.go:213] Serving securely on [::]:10250
I0823 07:09:45.539544       1 tlsconfig.go:240] "Starting DynamicServingCertificateController"
I0823 07:09:45.612030       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:45.638045       1 shared_informer.go:318] Caches are synced for client-ca::kube-system::extension-apiserver-authentication::client-ca-file
I0823 07:09:45.638050       1 shared_informer.go:318] Caches are synced for RequestHeaderAuthRequestController
I0823 07:09:45.638093       1 shared_informer.go:318] Caches are synced for client-ca::kube-system::extension-apiserver-authentication::requestheader-client-ca-file
I0823 07:09:45.972414       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:46.615794       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:47.972185       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:49.973066       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:51.974140       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:53.972596       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:55.972641       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:57.972040       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:09:59.973211       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
E0823 07:10:00.539378       1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": dial tcp <IP_ADDRESS>:10250: connect: connection refused" node="linux-spisjak"
I0823 07:10:01.971316       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:10:03.971801       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:10:05.972014       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:10:07.970799       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:10:09.972003       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:10:11.972176       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
I0823 07:10:13.970864       1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
E0823 07:10:15.537916       1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": dial tcp <IP_ADDRESS>:10250: connect: connection refused" node="linux-spisjak"

Steps To Reproduce:

Download k3s v1.29.6+k3s1 or newer:
mkdir test-k3s
cd test-k3s
wget https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s1/k3s
chmod u+x k3s

Use this config (/etc/rancher/k3s/config.yaml):
advertise-address: "<IP_ADDRESS>"
bind-address: "<IP_ADDRESS>"
data-dir: "/tmp/test-k3s"

Add IP to loopback interface
sudo ip addr add <IP_ADDRESS> dev lo

(Verify it:)
❯ ip -br a | grep lo
lo               UNKNOWN        <IP_ADDRESS>/8 <IP_ADDRESS>/32 ::1/128

Start k3s:
sudo ./k3s server

Check that it binds the bind-address:
ss -tulpn | grep 10250

View logs of metrics-server:
❯ k -nkube-system logs deployments/metrics-server
[...]
E0823 07:15:00.538805       1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": dial tcp <IP_ADDRESS>:10250: connect: connection refused" node="linux-spisjak"
[...]

Expected behavior:

I would expect the metrics-server to not use the node ip (in this case <IP_ADDRESS>), but the bind-address instead.
Actual behavior:

The metrics-server uses the node ip.

advertise-address only applies to the apiserver, not the kubelet.
bind-address now reliably configures the bind address for managed components, in absence of a configured node-ip.
The metrics-server scrapes the node IP. If you're setting the bind-address, you should set the node-ip to the same value.

@brandond, I'm looking at the server documentation and I cannot see a node-ip option. Is this inherited automatically from agent node-ip, or do I have to specifically define a bind-address on servers?

Second sentence of the section you linked:

Note that servers also run an agent, so all of the configuration options listed in the k3s agent documentation are also supported on servers.

Thank you @brandond, I'm running the server on 3 control-planes and agent on 5 workers. I'll set the node-ip: specific-node-ip-address-here into each node /etc/rancher/k3s/config.yaml.

Yes

I just tried to set the node-ip on server config.yaml and is complaining, I cannot start the service. Looks like I have to set the bind-address on server and node-ip on agent hosts.

Why are you setting all these things? If you just leave the node up and bind address unset it should do the correct thing.

@brandond I need to set the bind-address because I'm running HAProxy on two of control-planes. I think I know here is the issue. Port 10250 is properly assigned for all server nodes:
# ss -tulpn | grep 10250
tcp   LISTEN 0      4096        <IP_ADDRESS>:10250      <IP_ADDRESS>:*    users:(("k3s-server",pid=5576,fd=203))

On agent nodes, it is not assigned to a specific IP address:
# ss -tulpn | grep 10250
tcp   LISTEN 0      4096                  *:10250            *:*    users:(("k3s-agent",pid=2759,fd=40))

I was wondering what is the correct way to define a specific IP into agent nodes for 10250 port. Here is a config.yaml example, created on each agent:
# cat /etc/rancher/k3s/config.yaml
node-ip: <IP_ADDRESS>
node-taint:
  - node.cilium.io/agent-not-ready:NoExecute
server: https://<IP_ADDRESS>:6443
token: redacted

BTW, thank you for taking the time to provide support to everyone for many k3s related issues, it is really appreciated.

Firewall is disabled, running Ubuntu LTS 24.04 on all nodes. I'm going to set an address on kubelet-arg and see if anything changes.

@brandond this actually breaks the service but gives some clarity where the issue might be:
Error getting the current node from lister" err="node \"chaos\" not found"
Ubuntu is setting the hostname to:
# host chaos
chaos.local has address <IP_ADDRESS>
# cat /etc/hostname
chaos
# cat /etc/hosts
# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.debian.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
#
<IP_ADDRESS> chaos.local chaos
<IP_ADDRESS> localhost

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

How would you deal with the <IP_ADDRESS> usage? Should I add chaos to <IP_ADDRESS> localhost?
Systemd service output:
# journalctl -xeu k3s-agent.service
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.501506    3189 server.go:163] "Starting to listen" address="<IP_ADDRESS>" port=10250
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.502197    3189 ratelimit.go:55] "Setting rate limiting for endpoint" service="podresources" qps=100 burstTokens=10
Dec 11 15:37:09 chaos k3s[3189]: E1211 15:37:09.502477    3189 server.go:886] "Failed to start healthz server" err="listen tcp <IP_ADDRESS>:10248: bind: address already in use"
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.503076    3189 server.go:236] "Starting to serve the podresources API" endpoint="unix:/var/lib/kubelet/pod-resources/kubelet.sock"
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.505196    3189 fs_resource_analyzer.go:67] "Starting FS ResourceAnalyzer"
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.505952    3189 dynamic_serving_content.go:135] "Starting controller" name="kubelet-server-cert-files::/var/lib/rancher/k3s/agent/serving-kubelet.crt::/var/lib/rancher/k3s/agent/serving-kubelet.key"
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.507847    3189 server.go:460] "Adding debug handlers to kubelet server"
Dec 11 15:37:09 chaos k3s[3189]: E1211 15:37:09.509097    3189 kubelet_node_status.go:453] "Error getting the current node from lister" err="node \"chaos\" not found"
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.509284    3189 volume_manager.go:289] "Starting Kubelet Volume Manager"
Dec 11 15:37:09 chaos k3s[3189]: I1211 15:37:09.510191    3189 desired_state_of_world_populator.go:146] "Desired state populator starts to run"
Dec 11 15:37:09 chaos k3s[3189]: E1211 15:37:09.510379    3189 server.go:185] "Failed to listen and serve" err="listen tcp <IP_ADDRESS>:10250: bind: address already in use"

Removing the node-ip from agent configuration fixes the issue:
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Starting k3s agent v1.31.3+k3s1 (6e6af988)"
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Removing server from load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Dec 11 16:48:22 chaos k3s[16812]: time="2024-12-11T16:48:22-05:00" level=info msg="Running load balancer k3s-agent-load-balancer <IP_ADDRESS>:6444 -> [<IP_ADDRESS>:6443 <IP_ADDRESS>:6443 <IP_ADDRESS>:6443] [default: <IP_ADDRESS>:6443]"

The metrics-server` logs are still complaining:
E1211 21:35:23.707860 1 timeout.go:142] post-timeout activity - time-elapsed: 3.330204ms, GET "/openapi/v2" result: <nil>
E1211 21:35:24.499544 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:45144-><IP_ADDRESS>:10250: read: connection reset by peer" node="cerus"
E1211 21:35:24.499874 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:44572-><IP_ADDRESS>:10250: read: connection reset by peer" node="apollo"
E1211 21:35:24.510387 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:37614-><IP_ADDRESS>:10250: read: connection reset by peer" node="boreas"
E1211 21:35:24.522427 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:41410-><IP_ADDRESS>:10250: read: connection reset by peer" node="helios"
E1211 21:35:24.524486 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:38166-><IP_ADDRESS>:10250: read: connection reset by peer" node="hypnos"
E1211 21:35:24.531330 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:45956-><IP_ADDRESS>:10250: read: connection reset by peer" node="hermes"
E1211 21:35:24.531466 1 scraper.go:149] "Failed to scrape node" err="Get \"https://<IP_ADDRESS>:10250/metrics/resource\": read tcp <IP_ADDRESS>:48042-><IP_ADDRESS>:10250: read: connection reset by peer" node="crios"
E1211 21:35:29.854647 1 writers.go:122] apiserver was unable to write a JSON response: http: Handler timeout
E1211 21:35:29.854735 1 status.go:71] apiserver received an error that is not an metav1.Status: &errors.errorString{s:"http: Handler timeout"}: http: Handler timeout
E1211 21:35:29.855961 1 writers.go:122] apiserver was unable to write a JSON response: http: Handler timeout
E1211 21:35:29.856040 1 status.go:71] apiserver received an error that is not an metav1.Status: &errors.errorString{s:"http: Handler timeout"}: http: Handler timeout
E1211 21:35:29.856587 1 writers.go:122] apiserver was unable to write a JSON response: http: Handler timeout
E1211 21:35:29.856685 1 writers.go:135] apiserver was unable to write a fallback JSON response: http: Handler timeout
E1211 21:35:29.857047 1 writers.go:122] apiserver was unable to write a JSON response: http: Handler timeout
E1211 21:35:29.857155 1 writers.go:135] apiserver was unable to write a fallback JSON response: http: Handler timeout
E1211 21:35:29.858052 1 timeout.go:142] post-timeout activity - time-elapsed: 3.649203ms, GET "/apis/metrics.k8s.io/v1beta1" result: <nil>
E1211 21:35:29.858345 1 writers.go:122] apiserver was unable to write a JSON response: http: Handler timeout
E1211 21:35:29.858525 1 timeout.go:142] post-timeout activity - time-elapsed: 2.443561ms, GET "/apis/metrics.k8s.io/v1beta1" result: <nil>

@brandond I figured where is the issue, K3s disables kublelet anonymous authentication. Also, I decided to disable metrics-servers and use a standalone deployment, which fixes all the Failed to scrape node errors, the metrics-server logs are clean now.
I still have an issue scraping in VictoriaMetrics, only on servers. Getting 403's instead of 401's, where I enable anonymous-auth, this is temporary until I work the details with VictoriaMetrics people. I posted all details into this comment. I'm going to open a new issue, hopefully, your ninja skills will open my eyes where is the 403 related problem.

Don't turn on anonymous auth. That is the wrong way to solve the problem. Metrics-server and other scrapers should use service accounts to authenticate.

Yes, I definitely don't want to do that. I simply wanted to see if there is an additional connectivity problem that anonymous auth might mask. I'll open a new issue and post all technical details in there.


concatenate the conditional and unconditional inputs to speed inference

hello,
I want to ask this code in diffuser.py
why it can speed inference?
could you explain it to me?
nn_inputs = [np.vstack([x_t, x_t]),
                     np.vstack([noise_in, noise_in]),
                     np.vstack([label, label_empty_ohe])]

Hey! The speedup happens in the next line:  x0_pred = self.denoiser.predict(nn_inputs, batch_size=self.batch_size). Here we only have to call .predict once on the concatenated matrix which is faster than calling .predict twice on conditional and unconditional inputs.

Thank you! I got it!
And this part of the code in diffuser.py
I didn't know what this part did
What is the difference between x0_pred_label and x0_pred_no_label?
# classifier free guidance:
x0_pred = self.class_guidance * x0_pred_label + (1 - self.class_guidance) * x0_pred_no_label

if self.perc_thresholding:
    # clip the prediction using dynamic thresholding a la Imagen:
    x0_pred = dynamic_thresholding(x0_pred, perc=self.perc_thresholding)

x0_pred_label is the prediction conditioned on the text embedding and x0_pred_no_label is the unconditional prediction (where the text embedding input is 0).

Got it! Thank you!


Thermal Camera / Arduino

Notes regarding using the Arduino and thermal camera

Settings to upload/run for Arduino Nano 3.3:
Tools --> Arduino Mbed OS Nano Boards --> Arduino Nano 33 BLE
Doesn't seem like I don't choose the board via Arduino AVR Board and then choose the Processor "ATmega328P (Old Bootloaer)"

Wiring Hookup for MLX9064X connected to Arduino Nano 33 BLE:
MLX9064X --> Arduino Nano:

VCC to 3.3V on theGND to GND
SCL (Serial Clock) to A5
SDA (Serial Data) to A4


Add a version command line flag

I had several gvproxy binaries on my system, I suspect some of them were the same but signed differently etc
But it would be nice to have a --version or version parameter to get the version of that tool for

See https://stackoverflow.com/questions/38087256/dynamic-version-from-git-with-go-get for a way of adding a version based git versioning.


Auto completion is laggy

This may just be due to the number of packages I have installed, but using R interactively with rtichoke is quite laggy at the moment. It takes 4-5 seconds to search for completions as I type out a function name.
I'm not sure how indexing is being accomplished currently, but maybe searching only attached packages or individual namespaces when "package::xx" is entered would be more efficient if it's not already being done.
This is an awesome concept though. I admire all of your hard work!

What version of R are you using? I recall that 3.4.2 used to be slow. Upgrading 3.4.3 fixed the slowness for me.

Good suggestion. I use 3.4.2 and 3.4.1, so I will have to test a later version and check back.

@randy3k
Sorry for the late response--I work for a corporation with tighter restrictions for updating R versions.
I've now tried with later versions and it seems like the slowness is fixed at least a little bit. I'll go ahead and close it for now unless someone else reports it as well.

rtichoke 0.1.8 is out, it checks if a completion is taking too long and would cancel if necessary.


Month range picker doesn't trigger rangeStart rangeEnd events properly

Describe your changes
I changed how events are triggered, because when end of range date selected is sooner than start of range date, it triggers range-start twice.
So now, i mantain the unshift in the array to have dates in proper order, but triggering range-end event since range selection is finished.
Issue ticket number and link
Fixes #1005
Checklist before requesting a review

[X] I have performed a self-review of my code
[X] I have ensured that unit tests pass without errors
[ ] If it is a new feature, I have added a new unit test

@jllavec I appreciate the PR, however, instead of removing re-emit if the range order is changed, can you only correct the second emit name?

Are welcome @Jasenkoo :) Glad to help!
Is this an intended behavior for range month picker for any purpose?
Just want to understand it, since as i checked, in range date picker, it doesn't behave like this. So that's why i replicated this behavior, as I wanted to show in the stackblitz that i provided in the issue.

You are right, there is no need to emit again.


Opening/Closing a Gulp PHP session in an Electron build

So let me say what my setup is, then I'll try and describe my problem. I am building an app in Electron to open a php web application setup previously built, hence why I am using gulp-php-connect. Basically, Electron just serves to try and make the program an all-in-one experience for when people download it.  After trying multiple different ways, I found using y'all's NPM Gulp package worked the best, but I've run into a few issues that I wanted to ask about.
(I am very much so a newb when it comes to Node.js, Electron, and Gulp, so if sound or ask something foolish, it's probably cause it was foolish)
Firstly, how do I open a Gulp process from the main.js file that powers Node.js/Electron? I have mine jerry-rigged to execute a terminal command to run Gulp, which is fine, but I know that isn't how it's supposed to be done.
Secondly, and ultimately more importantly, how do I close that Gulp-php process once the app itself closes? The way I have my Electron app setup now, I have to hit Command-Q (I'm on a Mac, on Windows it's Ctrl-Q) to close the app. This causes an issue where the Gulp process never stops, probably due to me jerry-rigging it through the terminal. I end up having to go in and manually stop the php task in my activity manager. Although technically the Electron app still works when the php server is left running in the background, I'd rather not have ghost processes left over running behind the scenes.
Edit: I have now added the ability for a button click to close the Electron app, but this still leaves the Gulp-PHP server running in the background
I suspect that my two questions are related, but I really want some help on this from the guys who know their package best! I'll include the code from my main.js and my gulpfile.js for y'all to look over:
main.js
const electron = require('electron');

const {
    app,
    BrowserWindow
} = electron;

const exec = require('child_process').exec;
var yourscript = exec('gulp');

let mainWindow;
let settingsWindow;

//Listen for the app to be ready
app.on('ready', function () {
    //Create new window
    mainWindow = new BrowserWindow({
        width: 1920,
        height: 1080,
        frame: false
    })
    //Load the HTML file into the window
    mainWindow.loadURL('http://localhost:12344')

    mainWindow.webContents.openDevTools();

    mainWindow.on('closed', function(){
        mainWindow = null
    })
});

gulpfile.js
var gulp = require('gulp'),
    connect = require('gulp-connect-php');

let server = new connect();

gulp.task('connect', function() {
	/*server.server({
        port: '12344',
        hostname: 'localhost'
    });*/
    server.server({port: 12344, hostname: 'localhost'}, function() {
    	gulp.on('stop', function _gulp_php_stopper() {
            console.log('Closing PHP Server...')
    		server.closeServer();
    	});
    });
});
gulp.task('disconnect', function() {
	server.closeServer();
});

gulp.task('default', ['connect', 'disconnect']);

And I succeeded in solving my own problem! The biggest issue sat between the keyboard and the computer chair...
I didn't know how gulp could be called from the main.js file. Now I do, and I solved my issue! I'll post my code here so other's know how it was solved:
const electron = require('electron');
const {
    app,
    BrowserWindow
} = electron;

//Start Gulp-connect-php server
var gulp = require('gulp'),
    connect = require('gulp-connect-php');

let server = new connect();

gulp.task('connect', function() {
	server.server({
        port: '12344',
        hostname: 'localhost'
    });
});

gulp.start('connect');

let mainWindow;
let settingsWindow;

//Listen for the app to be ready and launch Electron
app.on('ready', function () {
    //Create new window
    mainWindow = new BrowserWindow({
        width: 1920,
        height: 1080,
        frame: false
    })
    //Connect to the PHP file in the window
    mainWindow.loadURL('http://localhost:12344')

    mainWindow.webContents.openDevTools();

    mainWindow.on('closed', function(){
        mainWindow = null
    })
});

app.on('window-all-closed', () => {
    console.log('Closing PHP Server...')
    server.closeServer();
    console.log('Closing Electron...')
    app.quit();
})


Gas fee (both gas price and limit) too high for native swap on Polygon from WETH to MATIC

Didn't test extensively with Ethereum mainnet, but seems to be off in a different way?
Screenshot taken by changing from Default to Custom to display the gas settings:

Gas price too high. 700gwei when 70 gwei would be enough
Gas limit too high. 5 million (when 500k would be enough)

Both are off by a factor of 10 for each. Coincidence?
This transaction went through almost immediately with price = 31 gwei and gas used = 436,521 at the same time: https://polygonscan.com/tx/0x6b554d66e652b49e18cce25f442d91a497ee4a45e0451faa9a349f93e35de330

@hboon are u still able to reproduce this issue?
what transaction it is, approve or swap confirmation?
have to tokens on polygon to test this issue, tested with bnb, looks ok

Just tried with recent master (probably from a day ago, as of writing). Looks good. Closing.
(should not be approve, the data doesn't match)


Open page in external browser shortcut

First, thanks for this awesome reader. Is there a keyboard shortcut to open an article in an external browser? Or is there a way to change the default ones?

You can set custom shortcuts in System Preferences, for any app.


GGC-Dependency Checker doesn't recognise Java8

Hi Guys,
I tried to setup a new GGC-Core and due to me being a Java-Engineer I wanted to make sure that the Java8 runtime is working. Alltough I carefully followed the instructions on: https://docs.aws.amazon.com/greengrass/latest/developerguide/setup-filter.rpi.html
The GGC-Dependency Check still doesn't recognise it.
Maybe you can help me out here.
Thanks a lot in advance!

Hi. I have tried both symlinking java8 -> java and copying the java binary to java8. The dependency checker still complains that it cannot find Java.

Hi @FredrikMeyer
Can you tell me what the output of the command java8-version 2>&1 is?


Fix #1292 by restoring using of formatters for serialization of LocalDateTime, LocalTime, OffsetDateTime, OffsetTime, ZonedDateTime

Codecov Report

Merging #1293 into master will increase coverage by 0.15%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1293      +/-   ##
==========================================
+ Coverage   85.91%   86.07%   +0.15%
==========================================
  Files          74       74
  Lines        2535     2535
  Branches      108      108
==========================================
+ Hits         2178     2182       +4
+ Misses        357      353       -4

Impacted Files
Coverage Δ

.../core/shared/src/main/scala/io/circe/Encoder.scala
85.93% <ø> (+0.78%)
:arrow_up:

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
91.66% <0%> (-8.34%)
:arrow_down:

...scala/io/circe/shapes/LabelledHListInstances.scala
92.59% <0%> (-3.71%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.25% <0%> (-0.27%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
85.38% <0%> (ø)
:arrow_up:

...les/core/shared/src/main/scala/io/circe/Json.scala
78.78% <0%> (+1.21%)
:arrow_up:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
97.59% <0%> (+4.81%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for fixing this. You don't think we should give LocalDate the same treatment for consistency?


test: cypress - iframe regression tests

iframe regression tests

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ok-to-test


pip install --ignore-installed

8a0ea4db1 introduced pip install --ignore-installed
I can get all the tests to pass in an offline VM if I remove the --ignore-installed flag, and also tests for requirementslib, passa, build, poetry-core, check-manifest, bork & python-for-android.
Is the --ignore-installed flag there to be overly cautious, or does it solve specific known problems that the test suite doesn't cover?
Perhaps this pip flag can be enabled only if not explicitly disabled, e.g. if PIP_IGNORED_INSTALLED=0 is not present in the environ, or something like that?

All of the parts that deal with setting up a build environment and installing build dependencies are deprecated here in favour of the build package - those pieces were never much more than a proof of concept in this package.

ok , thanks for the context.
https://build.opensuse.org/package/show/devel:languages:python/python-pep517 is removing this --ignore-installed flag, and I havent encountered any problems with a lot of the higher-profile pep517 dependent tools (list above) built on top of that RPM.  I'd be very happy to add RPM builds (and create tests if needed) for any other tool which you suspect may be dependent on this --ignore-installed behaviour.
build depends on pep517, but build doesnt directly invoke pip_install.  A quick check suggests that the only indirect use of this pep517 code is Pep517HookCaller which provides get_requires_for_build_sdist which I believe may indirectly use build_sdist which uses pip_install.  Lots of hooks, so I might have not following the links correctly.  Not sure if that the get_requires_for_build_sdist is even relevant.
fwiw, I just packaged build for openSUSE. https://build.opensuse.org/package/show/devel:languages:python/python-build
Not much uptake for it yet.  https://repology.org/project/python:build/versions
Is envbuild and/or this pip_install going to be removed soon, or slowly deprecated?
If deprecated slowly, will non-breaking patches for this issue be accepted, or is this section of code frozen until it is removed?

Pep517HookCaller which provides get_requires_for_build_sdist which I believe may indirectly use build_sdist which uses pip_install

It shouldn't do: the envbuild layer which contains pip_install is built on top of Pep517HookCaller. You can see build_sdist instantiating and using Pep517HookCaller:
https://github.com/pypa/pep517/blob/9b744ec98e6571ecd0a278b2bab0e0c6ccdb97a3/pep517/envbuild.py#L161-L167

If deprecated slowly, will non-breaking patches for this issue be accepted, or is this section of code frozen until it is remove

It's essentially frozen.

build depends on pep517, but build doesnt directly invoke pip_install

Precisely. build uses the lower-level part of pep517 and implements the higher-level parts (setting up a build environment and installing build dependencies) itself. And it does that better. So those higher level parts will ultimately be dropped from pep517 (see #91).

It's essentially frozen.

Does this mean this issue should be closed?

It's essentially frozen.

Does this mean this issue should be closed?

Yes. Please use github.com/pypa/build instead.


Fixed #54: loose list when followed by other token

This patch seems to fix #54, but please review carefully this pull request to be sure that there are no side-effects: I don't really know your codebase.
New test case added as well to test against future regression on the issue.

Coverage increased (+1.3%) to 93.163% when pulling ba97a0b43331d67a50205adef6ee757ad8650b88 on Rogdham:fix-54 into 8cca7a53626e8c25039423dc9cd8db843447f813 on miyuchina:master.

This is awesome, thank you!


single gateway for multiple services

Hi, I'm reviewing the implementation and I don't think it would work for multiple services / endpoints. I can put in some time to add this functionality, but I would need to know a good starting point of how this might work. Right now the graphql handler expects to be in the same go package as the generated GRPC code, so for this to work this assumption would need to change, I think. Would love to know your thoughts on this, thank you!

a few more comments:

I get a cryptic parse error on any name with a namespace, e.g. rpc GetAddress(shipping.GetAddressRequest) returns (shipping.Address) { outputs a contextless error expected ; found . message. go and grpc-go plugins are able to compile it.
How do you develop this module? Specifically, there are no tests, and I'm not clear how to integrate this into the protoc pipeline in development. Is there a way to use a debugger while receiving the stdin pipe from protoc?

sorry, one more thing: specifying the host in the proto seems inflexible. ideally there would be a way to change the host after the code is generated, to allow for an image that works in dev, staging, and prod.

I understand the runtime code a bit better now, and it seems like multiple services is supported with the muxer, which is great! So, i'm working on some patches to make it work with protobuf's with namespaces:
service Something {
  rpc CreateThing(somepkg.RequestMessage) returns (somepkg.ResponseMessage) {
  ...

currently this breaks on the code formatter step in the generator.


add renovate

I merged this into my own fork (the schedule github actions only run in the default branch).
You can see the PRs it has created here: https://github.com/petebacondarwin/wrangler2/pulls

Actually it appears that the GH action failed, (as I had not setup the secret on my fork) but that the PRs that are there came because I added the GH App to my fork. This is actually the better way to go anyway, since it allows better control over security. But I think that it would require Cloudflare IT to set it up...


Live video doesn't work, does it?

I am using mpv with youtube-viewer.
Everything is flawless but recently I tried watching live streaming with youtube-viewer, but it says
[!] No streaming URL has been found...

Thanks for reporting. Fixed in the above commit.

wow. Thank you so much.

Two kinds of live videos:
5. 24/7 Lofi Hiphop Radio - Beats to Study/Game/Relax (00:00) 7clouds
6. lofi hip hop radio - beats to sleep/chill to (LIVE) ChilledCow

5th video throws the following error:
> 5
ERROR: This live stream recording is not available.
[!] No streaming URL has been found...

Whereas 6th runs without any problem.

That stream is not available on YouTube either: https://www.youtube.com/watch?v=6KVjo36lrSw

That stream is not available on YouTube either: https://www.youtube.com/watch?v=6KVjo36lrSw

The same channel has the live stream which is available. https://www.youtube.com/watch?v=KC3sfZBmn-o

Also why it lists the video then?

They are included in the YouTube search results, but I guess it makes sense to filter them out (https://github.com/trizen/youtube-viewer/commit/d9d6bf18adc74c9eedae9069a79a4f5ee6f27b35).
But https://www.youtube.com/watch?v=KC3sfZBmn-o works in youtube-viewer, no?


Any chance of compiling oh-my-posh for ARM32/ARM64?

Prerequisites

[x] I have read and understand the CONTRIBUTING guide
[x] I looked for duplicate issues before submitting this one

Description
Trying to run oh-my-posh on a Raspberry PI doesn't work: /usr/local/bin/oh-my-posh: cannot execute binary file: Exec format error. This is because right now there is no ARM-compiled version of oh-my-posh.
Steps to Reproduce

Try to run posh-linux-amd64 on an ARM system

Possible solution
I tried building my own version posh-linux-arm by setting the GOARCH to arm and everything (well I tested oh-my-posh --print-shell so far) seems to be working. Amend the build action to include arm/arm64?

That's an option. I'm also adding x86 for Windows to the abilities so I can look at this at the same time.

That's an option. I'm also adding x86 for Windows to the abilities so I can look at this at the same time.

FYI: I'm running oh-my-posh with config and everything on a raspberrypi (ARM). It works 👍
I found one issue with terminal multiplexer (tmux) and alignment:right which destroys window borders. Can be seen in the honukai theme. I'll open a separate issue for this.

FYI: I'm running oh-my-posh with config and everything on a raspberrypi (ARM). It works 👍
I found one issue with terminal multiplexer (tmux) and alignment:right which destroys window borders. Can be seen in the honukai theme. I'll open a separate issue for this.

@DennisGaida  took me a few tries, but it should be there, at least the arm64 one (we can also add 32 of needed). Can you validate the binary in release 3.69.0?

@DennisGaida  took me a few tries, but it should be there, at least the arm64 one (we can also add 32 of needed). Can you validate the binary in release 3.69.0?

Can't test the arm64 version since my raspberrypi needs the arm version:
$  ./posh-linux-arm64 --print-shell
-bash: ./posh-linux-arm64: cannot execute binary file: Exec format error

Can't test the arm64 version since my raspberrypi needs the arm version:
$  ./posh-linux-arm64 --print-shell
-bash: ./posh-linux-arm64: cannot execute binary file: Exec format error

@DennisGaida I'll adjust towards that GOARCH 👍🏻

@DennisGaida I'll adjust towards that GOARCH 👍🏻

@DennisGaida building as we speak.

@DennisGaida building as we speak.

Works!
$  ./posh-linux-arm --print-shell
bash
$  ./posh-linux-arm -version
3.69.2

Works!
$  ./posh-linux-arm --print-shell
bash
$  ./posh-linux-arm -version
3.69.2


make the index page look better in Rstudio

-> no link to the taskviews anymore and the white bar beneath it is ugly.
-> text should not overlap

(this is apparently only an issue in windows)


Update Cleeng integration to automatically list all subscription offers

Right now, the Cleeng service requires that users hard code the yearly and monthly offer ID's in config.json. I believe it's possible for Cleeng's API to list all of the defined / enabled offers instead (see https://developers.cleeng.com/reference/listsubscriptionoffers). This will enable broadcasters to more easily manage their offers in a single place with additional flexibility beyond the 2 hardcoded ones we currently define

You need the public MediaStore endpoint instead: https://developers.cleeng.com/reference/fetch-offers
Although I think publishers have more offers than they would like to list on their OTT App. Think about special offers used for marketing campaigns etc.

Ya, that makes sense. I think I wrote the original Jira version of this ticket back in Q1 when I was still learning the ott web app.  I think the offer to media item mappings probably make more sense. This ticket probably needs more grooming / thought around it before we do anything.


Style survey results

Pull Request
Description :speak_no_evil:
Styled results page and included progress bars
Type of change :octopus:
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Configuration (non-breaking change which sets up application for environs)
[ ] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested? :microscope:
Please describe the tests that you ran to verify your changes.  Please also list any relevant details for your test configuration

[x] Manual Testing
[x] Visual Inspection
[ ] System Test
[ ] Unit Test
[ ] OTHER [ PLEASE REPLACE AS NEEDED]

Photos :see_no_evil:
Please provide photos of changes made as necessary
https://user-images.githubusercontent.com/6656014/115621016-f18ffd00-a2c3-11eb-85cb-df264c7e29f1.mov
Built with love :heart:
By Nico:wolf: and Sy:turtle:

This is really starting to look like it's coming together and the style is holding together... I hope


Build tree for fosRestBundle with JMS serializer

This is more of an idea than an issue. Is this a dumb way to do it / is there some built in method for building a tree out of entities rather than arrays?
I needed to build a tree of categories. I didn't want to use getArrayResult as described in the docs becouse then I loose serialization provider by the JMS serializer. I wrote my own buildTree method like this:
    public function buildCategoryTree($categories)
    {
        $nestedTree = array();
        if (count($categories) > 0) {
            // Node Stack. Used to help building the hierarchy
            $stack = array();
            foreach ($categories as $category) {
                $item = $category;
                // Number of stack items
                $l = count($stack);
                // Check if we're dealing with different levels
                while ($l > 0 && $stack[$l - 1]->getLvl() >= $item->getLvl()) {
                    array_pop($stack);
                    $l--;
                }
                // Stack is empty (we are inspecting the root)
                if ($l == 0) {
                    // Assigning the root child
                    $i = count($nestedTree);
                    $nestedTree[$i] = $item;
                    $stack[] = &$nestedTree[$i];
                } else {
                    // Add child to parent
                    $i = count($stack[$l - 1]->children);
                    $stack[$l - 1]->children[$i] = $item;
                    $stack[] = &$stack[$l - 1]->children[$i];
                }
            }
        }
        return $nestedTree;
    }

This requires the children variable to be public in the entity (I think) becouse it is accessed by reference. I also removed the ORM mapping so it wouldn't interfere.

I see, this has been requested many times, probably will need to have a look at some point, thanks for the details, cheers.


[ApiManagement] Fix another issue about the id mismatch in product group operation

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.ApiManagement


Fix tests on macOS 13

Python is no longer installed in /usr/bin, so support /usr/local as well. In the medium term, we should not depend on Python for these tests.
Seems like the expected results for a certain file system test changed, this makes a conditional change for running the test on macOS 13.

@swift-ci please test

[295/295] Testing TSCUtilityTests.ProgressAnimationTests/testNinjaProgressAnimationDumbTerminal
Test Suite 'Selected tests' started at 2022-10-14 18:51:14.028Test Suite 'FileSystemTests' started at 2022-10-14 18:51:14.029Test Case 'FileSystemTests.testLocalReadWriteFile' started at 2022-10-14 18:51:14.029/home/build-user/swift-tools-support-core/Tests/TSCBasicTests/FileSystemTests.swift:340: error: FileSystemTests.testLocalReadWriteFile : XCTAssertEqual failed: ("FileSystemError(kind: TSCBasic.FileSystemError.Kind.isDirectory, path: Optional(<AbsolutePath:"/">))") is not equal to ("FileSystemError(kind: TSCBasic.FileSystemError.Kind.ioError(code: 17), path: Optional(<AbsolutePath:"/">))") -Test Case 'FileSystemTests.testLocalReadWriteFile' failed (0.114 seconds)Test Suite 'FileSystemTests' failed at 2022-10-14 18:51:14.143

Interesting, looks like this failure actually isn't macOS 13 specific but also happening on the Linux CI?

@swift-ci please test

I think I am going to undo the FileSystemError part of this, not sure why it fails sometimes, but it doesn't necessarily seem to be related to the host OS.

@swift-ci please test

@swift-ci please test


Fails with 'Broken pipe'

Setup this action using a default config of:
    - uses: jordemort/action-pyright@v1
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }} # You need this
        reporter: github-pr-review

This gives me this output when running the action:
  Traceback (most recent call last):
    File "/home/runner/work/_actions/jordemort/action-pyright/v1/pyright_to_rdjson.py", line 52, in <module>
      print(pyright_to_rdjson(sys.stdin))
  BrokenPipeError: [Errno 32] Broken pipe
  Error: Process completed with exit code 1.

Do you have any clue as to what could be going on here?

Hm, it looks like sys.stdin is getting closed on the Python script somehow. I don't have any ideas off the top of my head as to why, but I'll poke around.

Is there any output in the log before that?

Does the @broken-pipe version then run successfully and report (at least some of) the errors, does it still die with a BrokenPipeError afterwards, or does it fail in a different way now?
I don't think it's going to be able to make 600 comments succesfully; I'm pretty sure GitHub has a rate-limit / cap somewhere that will stop it before it gets through all that.

Wondering if this could be the issue:
set -euo pipefail

Pyright seems to return exit code 1 in case there are errors in my local testing. Shouldn't that error code be ignored?

Regarding 600 comments, reviewdog would only comment on added lines, right?

Ah yes, you're right.

Pyright seems to return exit code 1 in case there are errors in my local testing. Shouldn't that error code be ignored?

You're also right about that, I spotted the same thing. Could you give the broken-pipe version one more try? I think it should be all fixed up now.

It works, nice 👍


vscode plugin: propagete --watch arg to cargo-watch

--ignore arg of cargo-watch does not work fine in some cases:
Error when containing a non accessable directory
but, --watch arg is does

@chessnokov Are you still having related problems with the new in-server cargo check functionality?

@kiljacken No, it is work fine!


Projection Bug

Note that while projecting 3D points to an image, points behind the camera are not thrown away. This results in incorrect projection outputs.
https://github.com/mapillary/OpenSfM/blob/master/opensfm/types.py#L613-L621
camera_point = self.pose.transform(point) converts from world coordinates to camera coordinates. As noted in the docs (https://www.opensfm.org/docs/geometry.html#camera-coordinates), "A point in front of the camera has positive Z camera coordinate."
Projecting points behind the camera wouldn't make much sense, in the general case.
An optional filter, which implements camera_point = camera_point[camera_point[:, 2] > 0] would be useful (this only keeps points which are in front of camera, or have positive Z camera coordinate).

Thanks for the suggestion, @arunmallya.  OpenSfM supports multiple camera types. Some of them (fisheye and equirectangular) do actually see stuff behind the camera. So projecting points with negative Z coordinates is fine there.
Since shot.project should work for any camera type, it is not possible to discard points behind the camera in that method.
If you need such a test for a particular application, you can project by doing first a call to shot.pose.trasform then doing the check and finally calling shot.camera.project and skip the shot.project method.


veryyyy borderline bug

Hi,
I encountered a small bug in a very borderline use case:
https://ractive.js.org/playground/#N4IgFiBcoE5SBTAJgcwSAvgGhAZ3gG4CGMABDEQMYAuAlgQqQLykB2CA7qQEpV0MAKYAB1Ww6uPHUSaapFIByAEYB7JAE8FWUZInVqCALYAHADZED8gAY69ugMJgirNKVpzSAHlqtjAV2pSanVjBCZhEFY-QyUEGAjSYlM-MIjgYAAzFRUMDASAegA+UnSsnIxSeXTg0JUMgTKASlyvJRgi211xR2dXd3lvXwCS4ABiBCowUgtqGFolAIRcFvSAAQBrBHVc8JB0gDpchPT8icowFqSU3fSlEiOQUiKRu5gWquAahDqBV+a8sR2ahWbSA3RICxEKqdIFleQAVlBXT0rwRSKB4hmcwWBlw0LBGP0IQQ8gUURicQUMN0AORAIwjQA3CAcNR4JggA
It's rather contrived though. If it's an easy fix, great, if it requires too much investigation, I suggest just dropping it under the rug. :wink:  Funnily enough, using <input {{attr}}="{{val}}" produces a template error, but not if it's within a loop :stuck_out_tongue:

This is an interesting case indeed. It took me a bit to pin down exactly what's happening, but I think I've got it now.
This isn't a bug so much as a limitation in how input bindings work. Ractive only knows what kind of binding to select when there's a knowable type attribute available, which it looks like there is, but anything that's not a literal attribute name="value", like an each block with a couple of interpolators with a string in the middle, is evaluated as a string, stuffed into a div tag, and is read back out by the attribute list during the render process (after binding is done). In fact, there's special handling on the type and value attributes that makes sure they get added in the correct order.
There is a facility in place to handle recreating a binding when some of its parameters change but it isn't exercised when conditional attributes are evaluated. It would add a pretty fair amount of bookkeeping to be able update bindings on the fly in that way though, as the element would have to start tracking those additional values. Unfortunately, there isn't always a node available to check with getAttribute.
All that said, since it doesn't seem to be a big deal, I'm going to close this for now. If you feel like it's something that needs to be addressed, please feel free to reopen and I'll take a stab at it 😄


fix: checking if document is defined

Fixes #953.
This seems to be caused by the change of  #889.
I've added the check if document is defined before SWR uses document.addEventListener.
The check is already being used at https://github.com/vercel/swr/blob/70ffd2c37dfed75ab703e70af1fdad666889f13f/src/libs/web-preset.ts#L14

If SWR wants to support focus and online events  on ReactNative, I should the the if statement only applies to the visibilitychange event.

Thanks! I'm thinking about moving all the platform specific things into "presets", so they can be imported conditionally.

Thank you! I agree with you 👍


Move running-features to Configuration

@mlvandijk is on a mission to get this thing out of the door.

You need to update off the pages linking to /cucumber/running-features/ to link to /cucumber/configuration/ as well

LGTM!


feat: add support for s3 compatible buckets

fixes #123
Signed-off-by: Youssef El Houti<EMAIL_ADDRESS>

Hi @yelhouti. Thanks for your PR.
I'm waiting for a jenkins-x or todo member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign florianorpeliere
You can assign the PR to them by writing /assign @florianorpeliere in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/assign jstrachan

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: vbehar
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [vbehar]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/ok-to-test


No license file.

Would it be possible to add license files to the Genie demos?

Hi @PGimenez
Is there any progress on this?

Sorry, I forgot! All of the repos in this organization are under MIT license, I'll add it to the rest =)


Crash on node 0.10.0 when running testling list

On node 0.10.0, testling list crashes immediately after running. This might be an issue with browser-launcher rather than testling, but I couldn't immediately tell.
> testling list
# detecting browsers for the first time

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:945:11)
    at Process.ChildProcess._handle.onexit (child_process.js:736:34)

If this is still happening, please file a new issue with repro info.


Question: Python, nose disabled, doom doctor warns "Not executeable"; is that the normal behavior?

In my packages.el file:
;; If you'd like to disable a package included with Doom, for whatever reason,
;; you can do so here with the `:disable' property:
;(package! builtin-package :disable t)
(package! anaconda-mode  :disable t)
(package! pipenv         :disable t)
(package! pyvenv         :disable t)
(package! nose           :disable t)
(package! pyimport       :disable t)
(package! py-isort       :disable t)

What did you expect to happen?
...
When I run ./doom doctor it wouldn't show me a message about running nosetests or support for pipenv.
What actually happened?
...

:lang python
! Couldn't find pipenv. pipenv support will not work.
! Couldn't find nosetests. Running tests through nose will not work.

If this is the "normal" behavior, that's fine, I know they "will not work" because I disabled them but just wanted to make sure that I don't have something incorrect.

This is normal behavior. The doctor (currently) does not behave differently if the package was disabled.

Okay. Thanks for the quick response.
Should I close this or do you want to keep it open for the "pending-fix" status?

Actually, I will close this and if you want to re-open it, go ahead.


Notify user about necessity to provide pages and panels package

It will be great if we write provide some information to user about necessity to provide pages and panels package if user don't configure this.

Implemented. Will be available in 0.1.11 release.
Added extra logging during panels, pages and fixtures packages searching.