Make VPN Network configurable

How to categorize this PR?

/area networking
/kind enhancement
What this PR does / why we need it:
This PR makes use of https://github.com/gardener/vpn2/pull/78 to allow configuring the used VPN network on the seed-level via Seed.spec.networks.vpn.
The field is defaulted to the current hard-coded values and non-default network CIDRs must have the same size as the current hard-coded values. Network disjointedness with other seed and shoot networks is ensured in validation, admission, and scheduling.
See the umbrella issue and the doc commit for more details on motivation and conditions.
Which issue(s) this PR fixes:
Fixes https://github.com/gardener/gardener/issues/8987
Special notes for your reviewer:
Supersedes https://github.com/gardener/gardener/pull/8991
Release note:

Operators can configure the network range of the shoot VPN tunnel using the new `Seed.spec.networks.vpn` field. See [this document](https://github.com/gardener/gardener/blob/master/docs/usage/reversed-vpn-tunnel.md#configurable-vpn-network) for more details.

TL;DR: I pushed a new commit which should fix the e2e test failures for HA clusters.

Explanation:
I figured out why the e2e tests for HA clusters were consistently failing.
The gardenlet logs pointed towards kube-apiserver being unable to talk to metrics-server:
2024-04-16T20:38:52.370616999Z stderr F {"level":"error","ts":"2024-04-16T20:38:52.370Z","msg":"Error","controller":"shoot","object":{"name":"e2e-rotate","namespace":"garden-local"},"namespace":"garden-local","name":"e2e-rotate","reconcileID":"4a09b9c2-0273-4f05-b899-a231bb2821ff","operation":"reconcile","flow":"Shoot cluster reconciliation","task":"Labeling resources after modification of encryption config or to encrypt them with new ETCD encryption key","error":"retry failed with context deadline exceeded, last error: error discovering server preferred resources: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request","stacktrace":"github.com/gardener/gardener/pkg/utils/flow.(*execution).runNode.func2\n\tgithub.com/gardener/gardener/pkg/utils/flow/flow.go:241"}

I could reproduce this locally:
$ k get apiservice v1beta1.metrics.k8s.io -oyaml
...
status:
  conditions:
  - lastTransitionTime: "2024-04-17T06:28:21Z"
    message: 'failing or missing response from https://<IP_ADDRESS>:8443/apis/metrics.k8s.io/v1beta1:
      Get "https://<IP_ADDRESS>:8443/apis/metrics.k8s.io/v1beta1": dial tcp <IP_ADDRESS>:8443:
      connect: connection refused'
    reason: FailedDiscoveryCheck
    status: "False"
    type: Available

This was due to missing routes for the shoot networks in the kube-apiserver:
$ k -n shoot--local--e2e-rotate exec -it kube-apiserver-744ccc7b7c-cmcmc -c vpn-path-controller -- sh
~ # ip r
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/26 dev tap0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/26 dev tap1 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/26 dev bond0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS> dev eth0 scope link

$ k -n shoot--local--e2e-rotate logs kube-apiserver-744ccc7b7c-cmcmc vpn-path-controller
[Wed Apr 17 06:43:49 UTC 2024]: 194=err 195=err using
[Wed Apr 17 06:43:53 UTC 2024]: 194=err 195=err using

This in turn was due to the bonding device on the vpn-shoot-client side not using an IP from the configured VPN network but from the default network:
$ ks exec -it vpn-shoot-1 -c vpn-shoot-s1 -- sh
~ # ip a s dev bond0
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 56:1d:92:09:22:d6 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/26 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::541d:92ff:fe09:22d6/64 scope link
       valid_lft forever preferred_lft forever

The bonding device was incorrectly configured because the VPN_NETWORK env var was missing in the vpn-shoot-init container of the vpn-shoot.
This is fixed in the latest commit.

/cc @axel7born @ScheererJ

Thank you for your change.
To me it looks good.
I'm not so sure about the vpn vs VPN.

Thanks @axel7born for your review. I addressed the suggestions and capitalized VPN consistently across the entire codebase.
PTAL :)

/lgtm

/retest

@axel7born I addressed all suggestions added by @ScheererJ. Can you take another look?

Rebased and re-generated pkg/apis/core/v1beta1/generated.pb.go to resolve conflicts.

@ScheererJ can you take another look? :)

/hold
We want to discuss the overall approach for solving the motivating problem, see https://github.com/gardener/gardener/pull/9597#discussion_r1590576312

Shall we close this PR in favor of https://github.com/gardener-community/hackathon/blob/main/2024-05_Schelklingen/README.md#-pure-ipv6-based-vpn-tunnel? :)


Added origin_map attribute to Grid

Added and origin_map analogous to spacing_map. The idea is to have a shortcut to obtain the float values of the tuple rather than having to do [i.data for i in grid.origin]

As an aside, since we don't have a test_grid.py is there much Grid related stuff we're no currently testing?

As an aside, since we don't have a test_grid.py is there much Grid related stuff we're no currently testing?

a Grid is more of a bag of things, so basically the testing occurs indirectly through regression tests


Allow ECR pull from controller IAM role

Goes some way to resolve
https://github.com/coreos/coreos-kubernetes/issues/620

Current coverage is 56.90% (diff: 100%)

Merging #35 into master will not change coverage

@@             master        #35   diff @@
==========================================
  Files             4          4
  Lines           949        949
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            540        540
  Misses          329        329
  Partials         80         80

Powered by Codecov. Last update 45452ba...145aebb

@c-knowles LGTM. Thanks for your contribution!
FYI, Your PRs are going to be included in v0.9.1-rc.2.

Great, thanks! I just need to figure out if it's worth re-doing https://github.com/coreos/coreos-kubernetes/pull/716 next. I've been using it already for a while now on a forked build.

@c-knowles As a kube-aws user, I'd be greatly happy if I could deploy kube-aws created clusters into existing VPCs.
After a deployment, it would be way better if services hosted in both kubernetes and existing infrastructure could start communicating each other (if we demanded so), without manual steps we have to take for now. Those manual steps seem to include (1) maintaining route tables (2) assigning it to kube-aws created subnets, etc?
After reading your great write up in https://github.com/coreos/coreos-kubernetes/pull/716, I now realize that it is basically what your PR addresses, right?
In short: I'm a fan of your PR 👍

Sure, I'll redo that one soon then. It's exactly what I'm using it for - to access RDS in the same VPC. I'm interested to get some acceptance tests in there too but can discuss in the PR once I've made it.

@pieterlange Thanks for confirmation. Really helpful 👍
So, for anyone interested, my comment https://github.com/coreos/kube-aws/pull/35#issuecomment-259014776 was missing the point.
It turns out that it was already possible doing:

Add one route for each newly created subnet, to an existing route table (if specified)
Associate an existing route table to newly created subnets

...so that we can make services in kubernetes and existing infrastructure communicate to each other.
And what @pieterlange described follows.
(Any correction is welcome!)

Let's move to https://github.com/coreos/kube-aws/issues/44


fix: The capacity_reservation_specification default value is updated from null to {}

Description

The default value for the capacity_reservation_specification is now updated from null to {}
Motivation and Context

This behaviour better aligns with the general use of the module.
Breaking Changes

None
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[X] I have tested and validated these changes using one or more of the provided examples/* projects

[X] I have executed pre-commit run -a on my pull request

As spotted by @yewton in #282
Thanks !

This PR is included in version 4.1.3 :tada:

Hello, we started pulling the new module update this morning and am seeing the following:
╷
│ Error: Invalid combination of arguments
│
│   with module.ec2_instance["arm64"].aws_instance.this[0],
│   on .terraform/modules/ec2_instance/main.tf line 7, in resource "aws_instance" "this":
│    7: resource "aws_instance" "this" {
│
│ "capacity_reservation_specification.0.capacity_reservation_preference": one of
│ `capacity_reservation_specification.0.capacity_reservation_preference,capacity_reservation_specification.0.capacity_reservation_target` must be specified
╵

getting same error as mtraynham ( Error: Invalid combination of arguments). I had to add the following to vm module to fix the issue:
capacity_reservation_specification = {
capacity_reservation_preference = "open"
}


Mention in README.md Mixcloud downloader

Please, mention in the README.md the Mixcloud downloader http://www.mixcloud-downloader.com/ for people for which SoundScrape is too technical.

Don't think so.

Okay


On iOS, when rotating device, gradient stays the same

On iOS, when rotating the device Red field is visible.
On Android it is fine.
What i am trying to achieve is, that full background is gradient
My code:
<RelativeLayout>
        <devsdna:GradientBoxView
            TopColor="Green"
            BottomColor="Teal"
            BackgroundColor="Red"

            RelativeLayout.XConstraint= "{ConstraintExpression Type=RelativeToParent,  Property=X, Constant=0}"
            RelativeLayout.YConstraint= "{ConstraintExpression Type=RelativeToParent, Property=Y, Constant=0}"
            RelativeLayout.HeightConstraint = "{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
            RelativeLayout.WidthConstraint = "{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
        />

Hi @gunpuz,
Sorry if I'm late into this.
Would it be possible you send us a project we could reproduce? Currently it looks like an issue when doing the layout calcs at rotating but who knows :-)
Thanks in advance.

Also, does the same issue happen when moving from a RelativeLayout to an AbsoluteLayout one?

Let me please close this issue for now, feel free to reopen it if may be needed again.


isel slows down computation significantly after open_dataset

isel significantly slows down a simple mean calculation:
ds = xr.open_dataset(grid_dir_nc+'Depth.nc', chunks={'face':1})
print(ds)
% time print(ds.Depth.mean().values)

leads to:
<xarray.Dataset>
Dimensions:  (face: 13, i: 4320, j: 4320)
Coordinates:
  * i        (i) int64 0 1 2 3 4 5 6 7 ... 4313 4314 4315 4316 4317 4318 4319
  * j        (j) int64 0 1 2 3 4 5 6 7 ... 4313 4314 4315 4316 4317 4318 4319
  * face     (face) int64 0 1 2 3 4 5 6 7 8 9 10 11 12
Data variables:
    Depth    (face, j, i) float32 dask.array<shape=(13, 4320, 4320), chunksize=(1, 4320, 4320)>
1935.0237
CPU times: user 241 ms, sys: 16.9 ms, total: 258 ms
Wall time: 1.05 s

ds = xr.open_dataset(grid_dir_nc+'Depth.nc', chunks={'face':1})
ds = ds.isel(i=slice(None,None,4),j=slice(None,None,4))
% time print(ds.Depth.mean().values)

leads to:
1935.0199
CPU times: user 9.43 s, sys: 819 ms, total: 10.3 s
Wall time: 2min 57s

Is this expected behavior?
Output of xr.show_versions()
I am using latest xarray version (pip install  https://github.com/pydata/xarray/archive/master.zip)

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.6.final.0
python-bits: 64
OS: Linux
OS-release: 3.10.0-862.2.3.el7.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
xarray: 0+unknown
pandas: 0.23.4
numpy: 1.15.3
scipy: 1.1.0
netCDF4: 1.4.1
h5netcdf: None
h5py: None
Nio: None
zarr: 2.2.0
cftime: 1.0.1
PseudonetCDF: None
rasterio: None
iris: None
bottleneck: None
cyordereddict: None
dask: 0.19.2
distributed: 1.23.2
matplotlib: 2.2.2
cartopy: 0.16.0
seaborn: None
setuptools: 40.2.0
pip: 10.0.1
conda: None
pytest: None
IPython: 6.5.0
sphinx: None

additional information about the file:
(equinox) [pontea@visu01 LLC4320]$ ncdump -sh grid_nc/Depth.nc
netcdf Depth {
dimensions:
        i = 4320 ;
        j = 4320 ;
        face = 13 ;
variables:
        int64 i(i) ;
                i:standard_name = "x_grid_index" ;
                i:axis = "X" ;
                i:long_name = "x-dimension of the t grid" ;
                i:swap_dim = "XC" ;
                i:_Storage = "contiguous" ;
                i:_Endianness = "little" ;
        int64 j(j) ;
                j:standard_name = "y_grid_index" ;
                j:axis = "Y" ;
                j:long_name = "y-dimension of the t grid" ;
                j:swap_dim = "YC" ;
                j:_Storage = "contiguous" ;
                j:_Endianness = "little" ;
        int64 face(face) ;
                face:standard_name = "face_index" ;
                face:_Storage = "contiguous" ;
                face:_Endianness = "little" ;
        float Depth(face, j, i) ;
                Depth:_FillValue = NaNf ;
                Depth:standard_name = "ocean_depth" ;
                Depth:long_name = "ocean depth" ;
                Depth:units = "m" ;
                Depth:coordinate = "XC YC" ;
                Depth:_Storage = "chunked" ;
                Depth:_ChunkSizes = 1, 480, 480 ;
                Depth:_Endianness = "little" ;

// global attributes:
                :_SuperblockVersion = 0 ;
                :_IsNetcdf4 = 1 ;
                :_Format = "netCDF-4" ;
}

I think this is basically a netCDF4-Python issue. It is definitely a known issue that some complex indexing operations can be more expensive when done on netCDF4-Python arrays rather than in-memory NumPy arrays.
The easy work-around is to write something like ds.load() first to load the data into memory. Unfortunately this is hard to fix in general because there is a tradeoff in terms of memory usage.
The other option is to try another netCDF4 backend engine, e.g., install h5netcdf and set engine='h5netcdf'.


Fix xml namespaces

The given xml namespaces need to be http.  https does not work, and mc.exe throws errors for them.

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


The WorlLockingTool Examples tgz Package Seems to be Empty. There are no Samples.

Using the feature tool to import the WLT Samples results in a Samples folder in Unity, but no example files. The tgz file is only 14k so it seems to be empty or corrupt. In any case there are no example packages included.
MRFT v1.0.2209.0 Preview

1.) Go to package manager
2.) Click the WLT Samples package
3.) On the right side pane click the "Samples" dropdown
4.) Where my photo has a button to click "Reimport" yours will probably say "Inport" - Click that
After that you should get the items imported to the project. If you still have problems it might have to due with a file name max length bug in the feature tools that will sometimes make items import incomplete

@crusher1013 Thank you John! Who would have ever guessed this? Sure would be nice if somebody put a note right there in the page don't you agree?


Allow different broker on chain

fixes #153

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.879%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3339

Relevant Lines:
3715

💛  - Coveralls


Full webpage

What?
I created a calculator UI using react.
Why?
So I can use it to create a Single Page App.
How?

I installed create-react-app globally on my local machine
I navigated to the folder in which I wanted to create the app on my local machine and used create-react-app maths-magician command to create the folder locally.
I then installed linters.
I pushed my code to a "Maths-Magician"repo I initially created.
I created a components folder in the src folder.
I created a calculator.js file in the components folder.
I created the calculator UI using a function.
I created the UI with the mobile first approach.
I export the calculator from the Calculator.js and imported it into App.js
I created a logic directory inside the src directory
I created two files, calculate.js and operate.js inside the logic folder.
I copied and pasted their respective files from Microverse course requirement.
I installed Big
I imported calculate into the calculator.js
I declared properties inside the class
I wrote an onClick function to handle events.
I added the onClick to every button.
Refactored the calculator.js and App.js modules to functions
Changed the value when 'AC' button is clicked from null to 0.
I install react router
I created a pages folder inside components which contains the JavaScript and CSS files for the home and quotes pages.
I routed the individual pages to their corresponding paths in App.js

@Deepakdanger Thank you for reviewing my project. I have deleted all comments

@vickymarz Thank you for reviewing my project.


State pension through partner

Reverting back to old outcomes

Closing this PR as it has been superseded by #2987


Various error handling issues

Hi there, I'm having a hard time with error handling. When a validation error is raised it comes back as an ugly JSON response with my request buffer attached. How do developers opt out, or modify this error object?
I am using a project generated with swagger project create, with express.
The other thing, is that the swagger error responses are coming back clipped. Example:
{"message":"Response validation failed: failed schema validation","code":"SCHE

This may be related to #30
Am I please able to have some help in resolving these issues?
Many thanks,
Wilfred

Truncated response seems to have been caused by:
https://github.com/swagger-api/swagger-node/issues/410#issuecomment-233791308

Is that request or response validation that you're having issues with?
If it's request validation, you can write your own error handling fitting (which is very much like an express middleware) to handle validation errors and customise what's sent to the client. I a
Step 1
you'll need to update your swagger configuration in {project_root}/config/default.yaml to override the default json_error_handler with your own. For example, change:
swagger_controllers:
      - onError: json_error_handler

To
swagger_controllers:
      - onError: errorFitting

Step 2
Create fitting errorFitting by creating {project_root}/api/fittings/errorFitting.js. To start with, you can just copy the existing json_error_handler into this and then customise it. You can detect if there was a validation error by looking at the error message like the tests does.
By the way, I saw that you were using raw res.send etc. from your code. I think you could do a lot better by abstracting that away and use something like http-errors to simplify controller code and take advantage of middleware chaining via next in express, which is also honoured by swagger-node-runner. For example, here's how a controller function in our codebase looks like:
const createError = require('http-errors');
const createSuccess = require('http-success');
...
function register(req, res, next) {
  const user = req.swagger.params.body.value;
  authService.register(user, context, (error, result) => {
    if (error) {
      if (error instanceof ResourceError) return next(createError(error.status, error.message));
      if (error instanceof DatabaseError) return next(createError(error.status, error.message));
      return next(createError(401));
    }
    return next(null, createSuccess(200, result.data));
  });
}

Adding this documentation to swagger-node along with some supporting docs would be very helpful: e.g. I'm not sure what "fittings" are, or why the error handler has to go in a subdirectory named "fittings". =)

@tanzim Thanks for the reply, I will give fittings a try immediately.
The other issue mentioned is a response validation defect - my comment here describes it in better detail:
https://github.com/swagger-api/swagger-node/issues/410#issuecomment-233791308
I believe it could have been resolved by the unmerged pull request linked above.
This is an issue with response validation not overwriting the Content-Length header after overwriting the response body, resulting in a truncated error message. I would say that this is clearly a bug, right?
It will not appear for request validation as controllers are not hit before an error is thrown, and response validation is bypassed (Thereby avoiding the issue).

@wjagodfrey - Overwriting the response during response validation was deemed problematic in a number of ways and removed as of 0.6.4. See: https://github.com/theganyo/swagger-node-runner/releases/tag/v0.6.4. What version are you running?

@theganyo This took a bit of digging to figure out. Thanks for giving me a thread to pull at.
So to get started, I used the latest swagger-node's project generator (0.7.5, as published to NPM) to generate a project.
Looking at the express skeleton, it uses:
https://github.com/swagger-api/swagger-node/blob/v0.7.5/project-skeletons/express/package.json#L12
We see:
"swagger-express-mw": "^0.1.0"

This is the case in every version tag for swagger-node that I looked at, including master.
This dep leads to this package.json:
https://github.com/apigee-127/swagger-express/blob/0.1.0/package.json#L19
With the line:
"swagger-node-runner": "^0.5.0"

Which means that any project generated with swagger-node's express generator won't have this fix.
If we can update the swagger-node project skeleton to point at
"swagger-express-mw": "^0.6.0"

Instead of 0.1.0, and update the skeleton accordingly, this would resolve the issue.
Considering you are a contributor to the swagger-node package.json in question @theganyo, are you able to take a look at this?
I have opened an issue here:
https://github.com/swagger-api/swagger-node/issues/416

I wish I could. However, I have documented the exact steps necessary to do the upgrade here: https://github.com/theganyo/swagger-node-runner/releases/tag/v0.6.0.

That's a shame. Are there plans to upgrade the generator in the future?
Thank you for linking this release documentation. It was very helpful. I'm guessing 0.6.4's response validation resolves the breaking change note regarding response validation lacking in 0.6.0?

Have just gone through release notes up to release 0.6.16 - useful documents. It would be nice to have this properly documented in a readme or wiki.
Thanks though, this looks like what I need. I'll get back to you if I hit a wall.

@theganyo I've set up a fitting as described and it doesn't appear to be functioning. Additionally, any logging inside of the fitting is not appearing in stdout.
Hard to debug, as it won't throw an error if it can't find:
swagger_controllers:
      - onError: bogus_handler

for example.
Any thoughts why this won't work for me?
Running:
project
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>

It works if I use the 'json_error_handlerfitting name for the fitting file, and ignores whatever is configured indefault.yaml`.
A little more detail:
I have multiple swagger applications running as nested express applications. Each swagger application sets its own basePath:
[...]
var swaggerConfig = {
  appRoot: __dirname // <---
};

SwaggerExpress.create(swaggerConfig, function(err, swaggerExpress) {
  if (err) { throw err; }
[...]

This works well for all other cases. It seems to me that there is probably a bug with the onError fitting name configuration.

Hey Wilfred,

You'll be pleased to know that I've (finally!) updated the readme to include references to the release notes.

I just finished releasing 0.7.0 that upgrades to Sway 1.0, so you may be interested in that (although I doubt very much that will fix your issue).

Hmm. I'm not sure about your issue. You should definitely receive an error if you have an invalid error handler name. Also, the json_error_handler fitting name isn't hard-coded in any way.

Very nice, that seems like a good way of doing it.

That is interesting, I'll be sure to pull it when you're done.

As you outlined above. Here's my full defaults file. Note the onError fitting name, which doesn't match any fitting that I have defined:

# swagger configuration file

# values in the swagger hash are system configuration for swagger-node
swagger:

  fittingsDirs: [ api/fittings ]
  defaultPipe: null
  swaggerControllerPipe: swagger_controllers  # defines the standard processing pipe for controllers

  # values defined in the bagpipes key are the bagpipes pipes and fittings definitions
  # (see https://github.com/apigee-127/bagpipes)
  bagpipes:

    _router:
      name: swagger_router
      mockMode: false
      mockControllersDirs: [ api/mocks ]
      controllersDirs: [ api/controllers ]

    _swagger_validate:
      name: swagger_validator
      validateResponse: true

    # pipe for all swagger-node controllers
    swagger_controllers:
      - onError: stuff_error_handler
      - cors
      - swagger_params_parser
      - swagger_security
      - _swagger_validate
      - express_compatibility
      - _router

    # pipe to serve swagger (endpoint is in swagger.yaml)
    swagger_raw:
      name: swagger_raw

# any other values in this file are just loaded into the config for application access...

A side note: I also changed the swagger_raw fitting name, and it did nothing

Hmm. There must be something else going on here. I just tried changing the onError fitting name to a bogus one in an existing swagger-express-mw project (v0.7.0) that I've been working on and it gives me an error and will no longer start.

Interesting. I'll try and give you a boilerplate project to replicate if you like. Will have to do it this evening or later in the week.

Why is this closed when error validation responses are still being truncated? thanks
This is quite a major issue I would have thought

This was an issue for an old version of the software. Response validation is done differently in the newer versions.


regression-test fix trino connector download bug in multi be

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Add FindALGLIB module.

Thanks for working on this.  Please read CONTRIBUTING.rst at the top of the source tree for the preferred contribution path.  Please read the cmake-developer(7) manual section on modules for modern documentation requirements.  Also, please read our module contribution policy.


Refactor LegacyNamespaceConverter to new/working plugin

During the migration to the new DDD-based architecture the LegacyNamespaceConverter stopped working because the way it interfaced in the application is no longer available.
This feature was in use by some of our users and it should be reinstated as a plugin; please see the '3.0 - Support Plugins' milestone for the features necessary to re-add it as plugin

Closing the 3.0 tickets, will reconsider them after our re-alignment


'abortSignal' does not exist in type 'QueueReceiveMessageOptions'.

Package Name: @azure/storage-queue
Package Version: 12.22.0
Operating system: Sonoma 14.4.1
[x] nodejs

version: 18.18.1

[ ] browser

name/version:

[x] typescript

version: 5.4.5

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
Getting a TypeScript build error on 12.22.0 when this code built correctly on 12.17.0. Object literal may only specify known properties, and 'abortSignal' does not exist in type 'QueueReceiveMessageOptions'. This is a breaking change and should be a major version bump.
To Reproduce
Steps to reproduce the behavior:

Create an Azure function
Insert this code

import { Context } from '@azure/functions';
import { QueueServiceClient } from '@azure/storage-queue';

export async function run(context: Context): Promise<void> {
  const abortController = new AbortController();
  const abortSignal = abortController.signal;

  const queueServiceClient = QueueServiceClient.fromConnectionString('myConnectionString');
  const inputQueueClient = queueServiceClient.getQueueClient("myQueue");

  const inputMessages = await inputQueueClient.receiveMessages({ numberOfMessages: 32, abortSignal });

  console.log(inputMessages)
}

Expected behavior
I expect it to build without throwing a type error. It built on<EMAIL_ADDRESS>without issue

@ben-denzer thank you for logging this issue!  It is a regression that we introduced, not an intentional change.


How should we make ALKiln console logs stand out from the GitHub action system console logs?

They really blend in right now. If I were a new developer, I would have a very hard time telling what was relevant [aside from the report].
[We've been prefacing logs with 'ALKiln'. Maybe we can just try to be more consistent about that.]

Remember color-blindness and such things.

We've added log codes (ALKnnnn) and that should be enough for now.


Tab list gets corrupted when a new webview is opened (extension API)

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:  Works <= 1.89.1, broken >= 1.90.2
OS Version: Linux x64 6.1.0-23-amd64

We develop an extension in which an existing tab gets replaced by a webview. We simply store a reference to the existing tab, open a webview and then close the original tab. This has worked fine up to version 1.89.1. On version >= 1.90.2 closing the tab using vscode.window.tabGroups.close fails with the exception Tab close: Invalid tab not found!. The tab has not been closed in the meantime nor did we get any close notifications for it via vscode.window.tabGroups.onDidChangeTabs.
Steps to Reproduce:

Create an extension with the following function exposed as command:

async dummy(): Promise<void> {
	const tab = vscode.window.tabGroups.activeTabGroup.activeTab;
	if (!tab) {
		console.log("Please open a tab to test this code.");
		return;
	}

	const panel = vscode.window.createWebviewPanel(
		"TestPanel",
		"Test",
		tab.group.viewColumn);
	panel.webview.html = "<body>Hello World</body>";

	// Introduce a tiny delay
	await panel.webview.postMessage("hello");

	vscode.window.tabGroups.close(tab);
}

Open some tab and call the command
Check the debug console for the  Tab close: Invalid tab not found! exception.

I have tested it also with the newest insider build (1.94.0-insider / 6e9d8a281003211220a6732ec538a28c483ff78b) and the issue still remains.

Bisect points to :https://github.com/microsoft/vscode/compare/3028408922e78cc9ca15ee761372a7c0603fa375...bbc4ba1eff648ee542972589216f211b7a6a08f2
I would guess it could be https://github.com/microsoft/vscode/commit/88bc75f68ce7940321c07d20f539cae61e7204af


adding start condition

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

test


Multiline2

Changed ellipsis to line-clamp

@hkutcher  this has some conflicts with main.  I can help you resolve them, but it's also good to learn how to pull the latest before you make changes.
Also, this puts a <p> inside an <a>.  Could we have the styles just on the <a> and avoid the extra HTML?

I might have done the merge wrong, but it doesn't seem to be working for me.

I forgot the whitespace-normal. That fixed it.


Login window space characters not being stripped 3.1

In NoMAd login we had an issue where putting in a space character was ignored by the login process but passed onto the Mac as a new user.  So "username" and " username" and "username " are both valid with the same password and it creates three separate users.  This was a massive headache for us last year with NoMAD Login.

Forgot to add, this problem still exists in XCreds 3.1.  In the NoMAD login files it was in the UI file that contained the bug for not filtering out space characters.

I'm thinking around line 131 of the NoLoMechanism.swift file is the issue in not stripping space characters.

I'll add in a fix and create a new build

It was actually in XCredsBaseMechanism. I stripped out whitespace and \0. New build is up:
PreBeta-XCreds_Build-5085_Version-3.2.pkg

Ok great, thanks.  I will verify tomorrow 8/4 when I'm back on campus.

It still appears to still be creating a user but when you attempt to login it just freezes the login screen

When looking in the local directory utility on the computer the user that's created has the spaces in it still.  In this case we are using a user called "teststudent" but I logged in as "   teststudent". Two users now are in the Users section of System Settings but it's not actually creating the home folder.  Can we stop the login process if it has a space at all?

OK, i'l dig into it. I cleaned up the code that stripped the nulls to also strip spaces, but there seems to be more to it.

i added additional normallization and hopefully it will resolve the issue. See build PreBeta-XCreds_Build-5087_Version-3.2.pkg

Ahh excellent.  That seems to have done it.  I tired a few users with and without spaces and no new accounts were created.  Thank you very much.


Members list: results template & styles

dev notes

includes the template partial for search results, as well as the styles for each search result.
doesn't include the search form.
doesn't include sorting controls.
doesn't include the separate view that serves this partial, since creating it is part of #140

Reviewed and tested by @gissoo and @thatbudakguy


AzCopy copy   --blob-type PageBlob -> 500 Operation could not be completed within the specified time.

Which version of the AzCopy was used?
azcopy version 10.6.0
Which platform are you using? (ex: Windows, Mac, Linux)
Windows 10 cmd shell.
What command did you run?
AzCopy copy "KDVI_v5.7.5.vhd" "REDACTED" --blob-type PageBlob
What problem was encountered?
It fails after running 48 minutes.
 States: X:  0, O:  0, M:  0, L:  0, R:  0, D:  0, W:  0, F:  0, B:  0, E:  0, T:  0, GRs: 192
2020/10/20 02:52:50
Diagnostic stats:
IOPS: 1
End-to-end ms per request: 115791
Network Errors: 25.90%
Server Busy: 0.00%
How can we reproduce the problem in the simplest way?
No idea.
My file is an 80GB VHD.  My internet connection has 11 Mbs upload speed.
Have you found a mitigation/solution?
No

I happened to upgrade my internet to > 10x faster upload speed, and the issue was resolved.


problems opening parquet file on Intel Macbook Pro

I have used this extension on a windows laptop with no problems, but recently got a new macbook (i9 cpu).  When I try to open any parquet file, the blue "spinner" keeps cycling, but the contents are never shown.  Is there some debug I can look at to understand why this is happening?

There is no debug mode currently.
Questions:

What version of vscode are you using?
what version of macOS?
Can you share your parquet file?

Hi Lucien,
I am using vscode 1.96.0 (Universal)
mac OS Sequoia 15.2 (24C101)
I tried several, but I see the problem with this file
https://github.com/Teradata/kylo/blob/master/samples/sample-data/parquet/userdata1.parquet
I think I see the problem when I look at the output from the extension.  It
looks like it doesn't have an intel binary
duckdb.node' (mach-o file, but is an incompatible architecture (have 'arm64',
need 'x86_64h' or 'x86_64')),
full output is below.
2024-12-16 17:56:30.234 [info] ExtensionService#_doActivateExtension
lucien-martijn.parquet-visualizer, startup: false, activationEvent:
'onCustomEditor:parquet-visualizer.parquetVisualizer'
2024-12-16 17:56:30.286 [error] Activating extension
lucien-martijn.parquet-visualizer failed due to an error:
2024-12-16 17:56:30.286 [error] Error:
dlopen(/Users/ocie/.vscode/extensions/lucien-
martijn.parquet-visualizer-0.17.0-darwin-x64/out/binding/duckdb.node, 0x0001):
tried:
'/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/binding/duckdb.node'
(mach-o file, but is an incompatible architecture (have 'arm64', need
'x86_64h' or 'x86_64')),
'/System/Volumes/Preboot/Cryptexes/OS/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/binding/duckdb.node'
(no such file),
'/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/binding/duckdb.node'
(mach-o file, but is an incompatible architecture (have 'arm64', need
'x86_64h' or 'x86_64'))
at process.func [as dlopen] (node:electron/js2c/node_init:2:2559)
at Object.Module._extensions..node
(node:internal/modules/cjs/loader:1602:18)
at Object.func [as .node] (node:electron/js2c/node_init:2:2559)
at Module.load (node:internal/modules/cjs/loader:1295:32)
at Module._load (node:internal/modules/cjs/loader:1111:12)
at Function.c._load (node:electron/js2c/node_init:2:16955)
at Function.e._load
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:175:10896)
at Function.t._load
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:167:22534)
at Function.i._load
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:159:21138)
at Module.require (node:internal/modules/cjs/loader:1318:19)
at Module.require
(/Users/ocie/.vscode/extensions/github.copilot-chat-0.23.1/dist/extension.js:238:34657)
at require (node:internal/modules/helpers:179:18)
at
/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:19:218
at
/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:1:223
at
/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:19:276
at
/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:1:223
at
/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:19:6478
at
/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:1:223
at Object.
(/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.17.0-darwin-x64/out/extension.js:39:22788)
at Module._compile (node:internal/modules/cjs/loader:1484:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1564:10)
at Module.load (node:internal/modules/cjs/loader:1295:32)
at Module._load (node:internal/modules/cjs/loader:1111:12)
at Function.c._load (node:electron/js2c/node_init:2:16955)
at Function.e._load
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:175:10896)
at Function.t._load
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:167:22534)
at Function.i._load
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:159:21138)
at Module.require (node:internal/modules/cjs/loader:1318:19)
at Module.require
(/Users/ocie/.vscode/extensions/github.copilot-chat-0.23.1/dist/extension.js:238:34657)
at require (node:internal/modules/helpers:179:18)
at zz.xb
(file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:167:23854)
at async Promise.all (index 0)
On Mon, Dec 16, 2024 at 6:55 AM Lucien Martijn @.***>
wrote:

There is no debug mode currently.
Questions:

What version of vscode are you using?
what version of macOS?
Can you share your parquet file?

—
Reply to this email directly, view it on GitHub
https://github.com/luusluus/vscode-parquet-visualizer/issues/132#issuecomment-2545844250,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMRATMSKWDBS54QJAQSNQHT2F3SXTAVCNFSM6AAAAABTUZNV3OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNBVHA2DIMRVGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you. This is helpful.

I am building against both ARM (apple sillicon) and AMD (intel).
If you have intel macbook, try to manually install the following vsix
download: https://github.com/luusluus/vscode-parquet-visualizer/releases/download/v0.18.0/parquet-visualizer-darwin-x64-0.18.0.vsix

Hi Lucien,
I tried that manual install, but I think I am getting the same error.  I
tried installing a couple of times just to make sure:
2024-12-21 16:21:04.250 [error] Error:
dlopen(/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.18
.0/out/binding/duckdb.node, 0x0001): tried:
'/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.18.0/out/binding/duckdb.node'
(mach-o file, but is an incompatible architecture (have 'arm64', need
'x86_64h' or 'x86_64')),
'/System/Volumes/Preboot/Cryptexes/OS/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.18.0/out/binding/duckdb.node'
(no such file),
'/Users/ocie/.vscode/extensions/lucien-martijn.parquet-visualizer-0.18.0/out/binding/duckdb.node'
(mach-o file, but is an incompatible architecture (have 'arm64', need
'x86_64h' or 'x86_64'))
at process.func [as dlopen] (node:electron/js2c/node_init:2:2559)
I'm guessing this is a problem with the duckdb executable that is included
in the extension, maybe not the extension itself.  Sorry if I'm not using
the correct terminology
I haven't worked on vscode extensions before.
Thanks,
Ocie

Message ID: <luusluus/vscode-parquet-visualizer/issues/132/2558081217@
github.com>

Have you tried a simple uninstall and install?
I'm trying to run MacOS in a docker container and then install vscode and install the extension to reproduce. It's a time consuming process though. Will give it my priority soon.

Hi Lucien,
I tried uninstalling and installing the build you sent me.  I also tried
uninstalling and reinstalling the version from the vs code
extension marketplace (0.20.0), but I am still seeing the same behavior.
I can see the output under output and then pick "extension host" in the
dropdown.
Thanks,
Ocie
On Fri, Dec 27, 2024 at 10:33 AM Lucien Martijn @.***>
wrote:

Have you tried a simple uninstall and install from vscode extenson market
place?
I'm trying to run MacOS in a docker container and then install vscode and
install the extension to reproduce. It's a time consuming process though.
Will give it my priority soon.
—
Reply to this email directly, view it on GitHub
https://github.com/luusluus/vscode-parquet-visualizer/issues/132#issuecomment-2563939114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMRATMTE5Y2E354IQOLNT2D2HWMOVAVCNFSM6AAAAABTUZNV3OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRTHEZTSMJRGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Feature/issue 552 - New vehicle data - FuelRange

Fixes #552
This PR is ready for review.
Risk
This PR makes minor API changes.
Testing Plan
Added new unit tests and expanded existing ones
Summary
Added Vehicle Data RPC's, structs, enums as defined in the fuel range proposal.
CLA

[x] I have signed the CLA

@brettywhite @bilal-alsharifi please review when time permits. thanks!

Codecov Report

Merging #601 into develop will increase coverage by 0.09%.
The diff coverage is 97.67%.

@@              Coverage Diff              @@
##             develop     #601      +/-   ##
=============================================
+ Coverage      41.41%   41.51%   +0.09%
- Complexity      2647     2668      +21
=============================================
  Files            361      363       +2
  Lines          15720    15762      +42
  Branches        1662     1662
=============================================
+ Hits            6511     6544      +33
- Misses          8913     8924      +11
+ Partials         296      294       -2

Impacted Files
Coverage Δ
Complexity Δ

...rtdevicelink/proxy/rpc/UnsubscribeVehicleData.java
98.78% <100%> (+0.04%)
53 <2> (+2)
:arrow_up:

...a/com/smartdevicelink/proxy/rpc/OnVehicleData.java
94.56% <100%> (+0.18%)
53 <2> (+2)
:arrow_up:

.../java/com/smartdevicelink/proxy/rpc/FuelRange.java
100% <100%> (ø)
6 <6> (?)

...celink/proxy/rpc/SubscribeVehicleDataResponse.java
96.34% <100%> (+0.13%)
52 <2> (+2)
:arrow_up:

.../com/smartdevicelink/proxy/rpc/enums/FuelType.java
100% <100%> (ø)
2 <2> (?)

...martdevicelink/proxy/rpc/SubscribeVehicleData.java
98.78% <100%> (+0.04%)
53 <2> (+2)
:arrow_up:

.../com/smartdevicelink/proxy/rpc/GetVehicleData.java
98.82% <100%> (+0.04%)
55 <2> (+2)
:arrow_up:

...link/proxy/rpc/UnsubscribeVehicleDataResponse.java
96.34% <100%> (+0.13%)
52 <2> (+2)
:arrow_up:

...artdevicelink/proxy/rpc/enums/VehicleDataType.java
100% <100%> (ø)
2 <0> (ø)
:arrow_down:

...rtdevicelink/proxy/rpc/GetVehicleDataResponse.java
95.65% <66.66%> (-0.98%)
53 <1> (+1)

... and 3 more

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 844aad1...948a886. Read the comment docs.

@bilal-alsharifi please re-review when time permits. thanks!

Thanks, @mrapitis. There are still some minor spacing issues in the following files:
OnVehicleDataTests.java
GetVehicleDataTests.java
SubscribeVehicleDataTests.java
GetVehicleDataResponseTests.java
SubscribeVehicleDataResponseTest.java
GetVehicleData.java
GetVehicleDataResponse.java
OnVehicleData.java
SubscribeVehicleDataResponse.java
UnsubscribeVehicleDataResponse.java

@bilal-alsharifi thanks for the review, please check once more when available.

@mrapitis everything looks good to me now. Thanks.


StaticSite environment variable not available on build.command when deploying to prod

contrary to this Discord message, mine works well on dev, but fails in prod
this is how I've set up the infra
import { apiUrl } from "./Api";

const web = new sst.aws.StaticSite("Web", {
  path: "packages/web",
  environment: {
    VITE_API_URL: apiUrl.apply((url) => url || ""),
  },
  build: {
    command: "vite build",
    output: "./dist",
  },
});

this is the error message I got
failed to load config from /Users/x/Developer/xx/semhub/packages/web/vite.config.ts
error during build:
TypeError: Cannot read properties of undefined (reading 'API_URL')

versions:

"sst": "^3.2.26"
"vite": "^5.4.9"

sorry, skills issue, just gotta use loadEnv in vite.config.ts instead


formwork, grizzlers

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[f,g]

/trunk merge


Improve build time of Linkage-rs

Currently, cross compiling Linkage-rs takes quite some time. We should find ways to improve this build time. For example reduce the number of dependencies.

#60 might help with this.


force interpreter when running a bloc ?

Is your feature request related to a problem? Please describe.
I am interested in the "babel"/orgmode integration of sniprun. I was able to run a bloc of bash code via :SnipRun with the cursor at the end of first line
#+begin_src sh
echo "hello world"
#+end_src

I tried to do sthg similar with haskell:
#+begin_src haskell
putStrLn "hello world"
#+end_src

but I get Failed to determine language of code bloc. Can I force the repl in some way ? like :SnipRun haskell  ?
Also the doc mentions it only supports line mode for haskell. How hard would it be to support bloc mode. I've got some colleagues that may be interested in the task (or I).

First, your questions

Can I force the repl in some way ? like :SnipRun haskell

No, but there I found a bug (that will be promptly adressed) in the Orgmode code bloc detection. For the time being, using #+BEGIN_SRC instead of the lowercase variant should make do.
#+BEGIN_SRC haskell
putStrLn "hello world"      <- running Sniprun on this line works for me
#+END_SRC

.. only supports line mode for haskell.

Yes, and that's probably the cause of other problems (such as running from the first
#+begin_src haskell line, which is supposed to run the whole bloc but now completely fails). I hadn't tested quite thoroughly since only a handful of interpreters are only supported to level 'Line'.

How hard would it be to support bloc mode

Bloc should be very easy. I've made some interpreters in less than 10min, validation & tests included, and there have been some contributors that made their way through the CONTRIBUTING.md file successfully & without too much issues even without too familiar with Rust.
However, if during that frantic period when I was adding tons of languages to sniprun, I didn't make a Line bloc capable interpreter, it's because I stumbled on something . To be honest, probably my unfamiliarity with the language in this case, but maybe a quirk of haskell that I gave up upon.
You may want to start from 'scratch' (the src/interpreters/example.rs), or the current Haskell_original.rs interperter: it's currently so little-featured I don't think anyone will miss it.

#153 fixes the initial issue about code bloc delimiter detection and will be merged soon
Feel free to open a different issue (or submit a PR!) for haskell support

ok thanks


http_server package does not always treat the range header correctly.

If there is a Range header in the request the Content-Length header of the response will always be set to the size of this range and the Content-Range to this range. However the resource might be shorter causing less bytes to be served.
For an example see: https://github.com/dart-lang/appengine/issues/15

This issue has been moved to dart-lang/http_server#29.


Migrate example to Android embedding v2

This would prevent some of the checks from failing.

Strange that we're still getting the error. I thought I had already done that at https://github.com/atn832/fake_cloud_firestore/commit/dd9231fd2d16d065c1a3ff4f0af3b3c538d2c682. But maybe I should have updated example/android instead?

Yes, there are additional changes to be made in AndroidManifest.xml, specifically point 5 here https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects#full-flutter-app-migration.
I will look into that and see if there are no additional warnings related to old splash screen implementation.


KAFKA-18135: ShareConsumer HB UnsupportedVersion msg mixed with Consumer HB

UnsupportedVersion error is handled in the parent AbstractHeartbeatRequestManager, so used by consumer and share consumer. If a share consumer gets the errors, it will end up with a msg that is currently specific to consumer
https://github.com/apache/kafka/blob/6fd951a9c0aa773060cd6bbf8a8b8c47ee9d2965/clients/src/main/java/org/apache/kafka/clients/consumer/internals/AbstractHeartbeatRequestManager.java#L384-L386
Handle the UnsupportedVersion separately in the existing
handleSpecificError (note that the unsupported version for consumer may also end up containing a msg specific to SubscriptionPattern not supported in HB v0, if regex is used without the required v1)

@peterxcli It seems to me that this doesn't quite work as well as it might. In my testing, connecting a share consumer to a broker which does not support SHARE_GROUP_HEARTBEAT does not emit the new message. What actually happens is that org.apache.kafka.common.errors.UnsupportedVersionException: The node does not support SHARE_GROUP_HEARTBEAT is thrown.
The consumer checks the ApiVersions response and notices that SHARE_GROUP_HEARTBEAT is not supported before it's even sent a request. As a result, in AbstractHeartbeatRequestManager.makeHeartbeatRequest, in the whenComplete call, the response is null. This means we end up in onFailure rather than onResponse, and this means the new code is never actually executed.
What do you think @lianetm? Am I missing something?

@peterxcli Actually, I've realised that this is actually a temporary problem. In AK 4.0, SHARE_GROUP_HEARTBEAT is marked as an unstable API. If the broker doesn't support the RPC at all, then it will behave as I said. In AK 4.1, I expect we'll mark the API as stable, and then the consumer will send the request. Then the new message will be used if share groups are not enabled. So, I think this is as good as it can be and the approach in the PR is OK.

Just to answer @AndrewJSchofield's comment https://github.com/apache/kafka/pull/18101#issuecomment-2539728469 ,  you got it right, we basically have 2 paths to get the Unsupported:

generated on the client when building the request if the broker does not support the API or version required => HB managers get a client response object with exception
generated on the broker (API supported but not enabled) => HB managers get client response with ErrorCode

For the KafkaConsumer we can have the 2 paths now but Share will always go down 1 as you described until the API becomes stable.

Three unrelated tests failed.

UserQuotaTest
testProducerConsumerOverrideLowerQuota(String, String).quorum=kraft.groupProtocol=classic
org.opentest4j.AssertionFailedError: Client with id=QuotasTestProducer-1 should have been throttled, 0.0 ==> expected:  but was:
6.92s

PlaintextAdminIntegrationTest
testConsumerGroups(String, String).quorum=kraft.groupProtocol=consumer
org.opentest4j.AssertionFailedError: Expected the offset for partition 0 to eventually become 1.
21.57s

UserClientIdQuotaTest
testThrottledProducerConsumer(String, String).quorum=kraft.groupProtocol=classic
org.opentest4j.AssertionFailedError: Client with id=QuotasTestProducer-!@#$%^&*() should have been throttled, 0.0 ==> expected:  but was:
3.31s

Failing test is known as flaky and tracked by https://issues.apache.org/jira/browse/KAFKA-18298.


fix #175: add action-outline type to button

🔗 Linked issue
#175

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[] 👌 Enhancement (improving an existing functionality like performance)
[x] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

Add a new action-outline value for the type property of the button component.
The styling for this new type has been reviewed with Dimitris Papadopoulos.

Resolves #175
📝 Checklist

[x] I have linked an issue or discussion.
[x] It's submitted to the main branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] I have updated the documentation accordingly.
[x] All tests are passing
[ ] New/updated tests are included
[x] I have updated the "upcoming" section inside docs/changelog.md explaining the changes I contributed

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Added commit fixing the doc


Further re-org of Publications

Change /publications/presentations/ title from Presentations to Presentations and Videos.
And on that page, move up summit 2017 to the top, then add a 2018 eqivalent and link to new YT playlists.

And create separate entries for Summit 2018 presentations playlist and the user-stories playlist.

#1111


Indirect access RAM in Veriloggen.Thread.Stream

I think Indirect access RAM can be realized based on stream.LUT.

Similar features, such as strm.read_RAM, strm.write_RAM, strm.Scratchpad are already supported.


[Watch HD ➤➤ Alien: Romulus (2024) FullMovie Online HD

09 minutes ago — [アニプレックス] While several avenues exist to view the highly praised film Alien: Romulus online streaming.
LAST UPDATED : AGUSTUS 22, 2024
[Watch HD ➤➤ Alien: Romulus (2024) FullMovie Online HD]
[Download HD ➤➤ Alien: Romulus (2024) FullMovie Online HD
~Still Now Here [woɹᙠɹǝuɹɐZ] Option’s to Downloading or watching, While several avenues exist to view the highly praised film Alien: Romulus online streaming offers a versatile means to access its cinematic wonder From heartfelt songs to buoyant humor this genre-bending work explores the power of friendship to uplAlien: Romulus & Wolverine t communities during troubling times Directed with nuanced color and vivacious animation lighter moments are blended seamlessly with touching introspection Cinephiles and casual fans alike will find their spirits lAlien: Romulus & Wolverine ted by this inspirational story of diverse characters joining in solidarity Why not spend an evening immersed in the vibrant world of Alien: Romulus & Wolverine ? Don't miss out! #Alien: Romulus
Is 'Alien: Romulus' Streaming? Where To Watch Marvel's Ambitious Summer Blockbuster. The biggest movie of the Summer is almost here, with Alien: Romulus set to bring two of Marvel's biggest icons to the Marvel Cinematic Universe. A first of its kind for Marvel Studios, the R-rated comedy will bring Wade Wilson (Ryan Reynolds) and Logan Howlett (Hugh Jackman) to the MCU, with the two sharing the screen for the first time ever. Yep. First time ever. They definitely haven't met before in a movie called X-Men Origins: Wolverine. That'd be wacky.
 However, what Wade didn't expect was to get the attention of the Time Variance Authority (first seen in Disney+'s Loki), and they recruited both him and a particularly depressed Wolverine to save the multiverse from Cassandra Nova (Emma Corrin). Marvel hasn't had a multiversal event this big since Spider-Man: No Way Home, so you better believe Marvel fans across the globe are primed and ready to see their favorite mutants return to the screen. To find out when and how you can watch this chimichanga-filled buddy cop adventure, here is where you can watch Alien: Romulus.
Is 'Alien: Romulus' Streaming?
No, Alien: Romulus is not currently available to stream. At least, not yet. As soon as Wade and Logan are finishing their slashing spree on the big screen, the film will more than likely follow suit with the other MCU projects and X-Men and become available to stream on Disney+. However, since Alien: Romulus is Marvel Studios' first-ever R-rated feature, there is a decent chance that the movie could be released simultaneously on Hulu. A simultaneous release on Disney+ and Hulu is what Marvel Studios decided to do with their first TV-MA-rated series, Echo.
What Is the Release Date for 'Alien: Romulus'?
Wade and Logan's quest to save the multiverse begins when Alien: Romulus officially premieres in the United States and Canada on Friday, July 26, 2024. However, some parts of the globe will get to see this historic anti-hero union a few days earlier, depending on which country you call home. To find out if and when Alien: Romulus will be playing in your country of residence
Is 'Alien: Romulus' in Theaters?
Yes, Alien: Romulus will be a big-screen adventure well-suited for two of Marvel's most beloved characters. The hugely anticipated team-up won't have to tangle with too much competition that weekend, though the disaster film sequel Alien: Romulus did storm into theaters a week earlier. The week after Alien: Romulus, the film will then be sharing theater space with M. Night Shyamalan's new thriller Alien: Romulus, Colman Domingo's Oscar hopeful Sing Sing, and Zachary Levi's children's book adaptation Alien: Romulus.
The release of Alien: Romulus may be just around the corner, but Marvel dropped one more special look at the upcoming film just a week before the big premiere day. Apart from a quick reference to Spider-Man at the end, the final trailer is a big departure from the previous trailers by focusing much more on the emotional core of both Alien: Romulus. However, that's not why this trailer has gotten people talking. Not only does it give us a proper look at Lady Deadpool (who is rumored to be played by Ryan Reynolds' real-life wife Blake Lively), but the trailer confirms that Dafne Keen will indeed be reprising her role as Logan's surrogate daughter, X-23, last seen in the film Logan.
Find Showtimes for ‘Alien: Romulus & Wolverine’
In Disney’s Alien: Romulus & Wolverine, Riley Anderson (Tallman) is now a full-fledged teenager embarking on the wild ride of puberty and unfamiliar social scenes at her new school. With her teen years in full swing, Riley’s emotional headquarters is thrown into chaos. Joy, Sadness, Anger, Fear, and Disgust, the trusty Alien: Romulus & Wolverine from her childhood, suddenly find themselves dealing with a new batch of emotions that disrupt everything.
this genre-bending work explores the power of friendship to upAlien: Romulus & Wolverine communities during troubling times Directed with nuanced color and vivacious animation lighter moments are blended seamlessly with touching introspection Cinephiles and casual fans alike will find their spirits Alien: Romulus & Wolverineed by this inspirational story of diverse characters joining in solidarity Why not spend an evening immersed in the vibrant world of Alien: Romulus & Wolverine? Don’t miss out! #Alien: Romulus & Wolverine Movie
Crunchyroll. is continuing to beat out Crunchyroll. and Crunchyroll, over the New Year’s holiday weekend, with “Alien: Romulus & Wolverine” now rising above “Alien: Romulus & Wolverine” and “Alien: Romulus & Wolverine.” With that trAlien: Romulus & Wolverineecta, the studio has laid claim to the three of the top five slots at the domestic box office throughout the holiday season.
The Timothéee Chalamet-starring musical added another $8.6 million on Friday, up 32% from one week ago. The Paul King film has emerged as the theatrical favorite for the holidays, crossing $100 million domestically earlier this week. With a $119 million cume to date, the film continues to show strength and will reach $300 million globally before the calendar turns.
Though it slid into second place for Friday with $6.75 million, Crunchyroll. “Alien: Romulus & Wolverine” fell 51% from its opening day last week. The latest and final entry in the current continuity of DC Comics adaptations has struggled for air, only reaching $65 million in its first week of release. The first “Aquaman,” released in 2018, surpassed that figure in its opening weekend alone. Bad reviews and superhero fatigue have plagued “Lost Kingdom,” which more than likely won’t even reach half the $335 million domestic total of its predecessor, much less justAlien: Romulus & Wolveriney a $205 million production budget.
Netflix: Alien: Romulus & Wolverine is currently not available on Netflix. However, fans of dark fantasy films can explore other thrilling options such as Doctor Strange to keep themselves entertained.
Crunchyroll: Crunchyroll and Funimation have acquired the rights to distribute Alien: Romulus & Wolverine in North America. Stay tuned for its release on the platform inthe coming months. In the meantime, indulge in dark fantasy shows like Spider-man to fulfill your entertainment needs.
Hulu: Unfortunately, Alien: Romulus & Wolverine is not available for streaming on Hulu. However, Hulu offers a variety of other exciting options like Afro Samurai Resurrection or Ninja Scroll to keep you entertained.
Disney+: Alien: Romulus & Wolverine is not currently available for streaming on Disney+. Fans will have to wait until late December, when it is expected to be released on theplatform. Disney typically releases its films on Disney+ around 45-60 days after their theatrical release, ensuring an immersive cinematic experience for viewers.


ubuntu22, net6.0 use OpenCvSharp4 throw exception: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies.

Environment：
system:
ubuntu22 ， arm64
libs:
OpenCvSharp4  ver <IP_ADDRESS>30708
OpenCvSharp4.Extensions   ver <IP_ADDRESS>30708
OpenCvSharp4.runtime.linux-arm   ver <IP_ADDRESS>30708
OpenCvSharp4.runtime.linux-arm64.cuda   ver <IP_ADDRESS>30708
Example code:
using OpenCvSharp;
...
var capture = new VideoCapture(0);
Output:
The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception. Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libOpenCvSharpExtern: cannot open shared object file: No such file or directory
What did you intend to be?

I am getting the same with ubuntu 22 and net 7.0. I think currently there is no support for ubuntu 22?

I'm also experiencing this. Specifically, I'm trying to run this in a Docker container. I've tried in a .NET 6 container (which uses 20) and a .NET 7 container (which uses 22). I do have the base OpenCvSharp4 and OpenCvSharp4.runtime.ubuntu.20.04-x64 packages referenced in my project.

I'm also experiencing this. Specifically, I'm trying to run this in a Docker container. I've tried in a .NET 6 container (which uses 20) and a .NET 7 container (which uses 22). I do have the base OpenCvSharp4 and OpenCvSharp4.runtime.ubuntu.20.04-x64 packages referenced in my project.

Never mind, I was able to get past this by using the docker images located here https://github.com/shimat?tab=packages as my base image.

Hey @cwf689, You can try my self compiled ubuntu22.04 mini version as following, I only compiled core, imgproc, imgcodec:

Id
Version
Size
OS
Arch

Sdcb.OpenCvSharp4.mini.runtime.centos.7-arm64

3.23MB
CentOS 7
ARM64

Sdcb.OpenCvSharp4.mini.runtime.centos.7-x64

16.75MB
CentOS 7
x64

Sdcb.OpenCvSharp4.mini.runtime.debian.11-arm64

4.05MB
Debian 11
ARM64

Sdcb.OpenCvSharp4.mini.runtime.debian.11-x64

18.13MB
Debian 11
x64

Sdcb.OpenCvSharp4.mini.runtime.debian.12-arm64

4.18MB
Debian 12
ARM64

Sdcb.OpenCvSharp4.mini.runtime.debian.12-x64

17.47MB
Debian 12
x64

Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-arm64

4.18MB
Ubuntu 22.04
ARM64

Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-x64

17.47MB
Ubuntu 22.04
x64

Sdcb.OpenCvSharp4.mini.runtime.android-arm64

4.04MB
Android
ARM64

@sdcb Hey, thank you! Do you have a link to the sources of your "mini" version?

@maaft you're right, I created a build instructions (not source code, but like docs) here: https://github.com/sdcb/opencvsharp-mini-runtime/tree/main

there is a method, my env is ubuntu20.04 x64

copy OpenCvSharpExtern.so  to your publish dir
ldd libOpenCvSharpExtern.so | grep found   to see whether your system has missed some so/dll
for me is:

 root@ubuntu2004:/home/temp/test8/testubuntucv# ldd *.so* | grep found
	liblttng-ust.so.0 => not found
	libtesseract.so.4 => not found
	libgtk-x11-2.0.so.0 => not found
	libgdk-x11-2.0.so.0 => not found
	libdc1394.so.22 => not found
	libavcodec.so.58 => not found
	libavformat.so.58 => not found
	libavutil.so.56 => not found
	libswscale.so.5 => not found
	libIlmImf-2_3.so.24 => not found

to fix this  excecute cmd: apt-get install libgtk2.0 lttng-ust libtesseract4 libavcodec58 libavformat58 libavutil56 libswscale5 libdc1394-22-dev libopenexr24

then this nuget dll work well.
may be you should change the cmd by your real situation

just use what  @sdcb  says,  it works very well in ubuntu-2204 pure system. thanks @sdcb

there is a method, my env is ubuntu20.04 x64

copy OpenCvSharpExtern.so  to your publish dir
ldd libOpenCvSharpExtern.so | grep found   to see whether your system has missed some so/dll
for me is:

 root@ubuntu2004:/home/temp/test8/testubuntucv# ldd *.so* | grep found
	liblttng-ust.so.0 => not found
	libtesseract.so.4 => not found
	libgtk-x11-2.0.so.0 => not found
	libgdk-x11-2.0.so.0 => not found
	libdc1394.so.22 => not found
	libavcodec.so.58 => not found
	libavformat.so.58 => not found
	libavutil.so.56 => not found
	libswscale.so.5 => not found
	libIlmImf-2_3.so.24 => not found

to fix this  excecute cmd: apt-get install libgtk2.0 lttng-ust libtesseract4 libavcodec58 libavformat58 libavutil56 libswscale5 libdc1394-22-dev libopenexr24

then this nuget dll work well. may be you should change the cmd by your real situation
@yangbocheng
sorry i am getting errors

Hi @sdcb, are there any pre-built packages of OpenCvSharp4 version <IP_ADDRESS>40616 for Ubuntu 22.04 (mini or full version) available for use?

Hey @cwf689, You can try my self compiled ubuntu22.04 mini version as following, I only compiled core, imgproc, imgcodec:
Id 	Version 	Size 	OS 	Arch
Sdcb.OpenCvSharp4.mini.runtime.centos.7-arm64 	 	3.23MB 	CentOS 7 	ARM64
Sdcb.OpenCvSharp4.mini.runtime.centos.7-x64 	 	16.75MB 	CentOS 7 	x64
Sdcb.OpenCvSharp4.mini.runtime.debian.11-arm64 	 	4.05MB 	Debian 11 	ARM64
Sdcb.OpenCvSharp4.mini.runtime.debian.11-x64 	 	18.13MB 	Debian 11 	x64
Sdcb.OpenCvSharp4.mini.runtime.debian.12-arm64 	 	4.18MB 	Debian 12 	ARM64
Sdcb.OpenCvSharp4.mini.runtime.debian.12-x64 	 	17.47MB 	Debian 12 	x64
Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-arm64 	 	4.18MB 	Ubuntu 22.04 	ARM64
Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-x64 	 	17.47MB 	Ubuntu 22.04 	x64
Sdcb.OpenCvSharp4.mini.runtime.android-arm64 	 	4.04MB 	Android 	ARM64

大神啊，我用了你的opencvsharp.android.arm64报错
    rs=-2146233036
    source=OpenCvSharp
    type=System.TypeInitializationException,
    msg=The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception.,
    stack=  at OpenCvSharp.Cv2.GetVersionString () [0x00000] in <bbfc33079b6f4a15a8d5701c64fd4d66>:0

at main.WorkThread () [0x00028] in <96574a534a3c4174a85bb8a86067307e>:0
我是在unity里面用的，apk里面有libOpenCvSharpExtern.so；包是用unity版本的nuGet，
但是有个很明显的问题，可能因为是在windows下，我用了shimat的opencvsharp4.windows，visualstuio.2022里面能看见他的，但是你的android看不到。
Android上我就单纯的调个版本号
string ver = Cv2.GetVersionString();
就报上面的错。
因为没有找到你的android版的源码，所以不知道是不是我调用的类不存在。
或者你能不能出一个windows版本的，这样我可以在windows就看到我调用问题了。
感谢！

I used your opencvsharp.android in unity, but got errors!
Can you make a windows version, or give an example of using under android


Re-introduce loading youtube videos

Summary

Add support for importing Youtube videos
Checklist

[x] My code follows the code style of this project and passes make format.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate unit test coverage.

Reviewing pull request by @homanp.
In this pull request, the author has made changes to two files: types.py and data-table.tsx.
In types.py, the author has added a new data type called "YOUTUBE" to the list of valid data types.
In data-table.tsx, the author has added a new section in the data table component for importing data from YouTube. They have added an alert with a button to import from YouTube, and a form field to enter the YouTube URL.
Overall, the changes look good and seem to be adding a useful feature for importing data from YouTube. Nice work, @homanp! 👍🏼


Decompiler fail on Deprecated annotation with -release:8 and jvm newer than 8

Compiler version
3.4.0, 3.3.3 (also 3.2.0, 3.1.0, 3.0.0)
Minimized code
Run on jvm newer than 8:
File test.scala:
object Foo {
  @Deprecated
  def foo(): Unit = ???
}

scalac test.scala -release:8 -d Foo.jar
scalac -decompile Foo.jar
Output
Fails with
-- Error: test.scala:2:4 -----------------------------------------------------
2 |    @Deprecated
  |    ^^^^^^^^^^^
  |wrong number of arguments at <no phase> for (since: String, forRemoval: Boolean): Deprecated: (Deprecated#<init> : (since: String, forRemoval: Boolean): Deprecated), expected: 2, found: 0
1 error found

Expectation
Something like that:
/** Decompiled from Foo.jar(Foo.tasty) */
@scala.annotation.internal.SourceFile("test.scala") object Foo {
  @java.lang.Deprecated def foo(): scala.Unit = scala.Predef.???
}

There's a few things going on here:

When we read a Java annotation from a classfile, we pretend it has a constructor whose arguments are all the methods defined in the annotation: https://github.com/scala/scala3/blob/e2c456f08a35d2cae5727c381c63a9e16936b583/compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala#L1036-L1054
When we write @foo(args) we create an Annotation structure which wraps a tree created by typechecking new foo(args)
When tasty pickles an annotation, it pickles that tree.

Adding a new method with a default value to an annotation definition is binary-compatible (https://stackoverflow.com/a/31721504), but it breaks tasty since it changes the annotation constructor,. This is a design flaw in tasty and is going to be hard to fix properly.
Note that if we start from something like:
public @interface Annot {
  String a() default "";
}

@Annot("hi") def foo = 1

And we then add an extra parameter:
public @interface Annot {
  String a() default "";
  String b() default "";
}

... then when unpickling the annotation on def foo, we don't have enough information to even know whether the argument "hi" corresponds to the parameter a or b. If the typechecker desugared the user call to:
@Annot(a = "hi") def foo = 1

Then we'd have the necessary information in Tasty since we'll see a NAMEDARG node in that case.

So one plan would be to:

Change the typechecker to use named arguments for annotation constructors
Special-case unpickling from tasty for Java annotation constructors: fill-up missing arguments with nme.WILDCARD (see https://github.com/scala/scala3/commit/85cd1cf3f2e549d02ca74845672a8e585b3fc727).

For old tasty where we don't have named arguments, we might still be able to fill-up missing arguments based on type alone if there is no ambiguity, otherwise emit an error.

Alternatively, we could envision some more drastic changes in tasty, but that would prevent us from backporting the fix to 3.3.
/cc @sjrd since whatever scheme we come up with needs to be compatible with tasty-query .

Another (unlikely) way for the existing code to do the wrong thing would be the case of a java annotation where the author decided to swap the order of the definitions, for example, if I have:
public @interface Annot {
  String a() default "";
  String b() default "";
}

@Annot("hi", "hello") def foo = 1

and one day Annot is changed to:
public @interface Annot {
  String b() default "";
  String a() default "";
}

Then when we unpickle @Annot("hi", "hello"), we will assign them the wrong way around. I think we have to live with that issue for existing tasty files. For new ones we have to rely on unpickling NamedArg trees and having the TypeAssigner perform the swapping and insertion of nme.WILDCARD.


fix: next.config.js URL rewrites unintentionally redirecting instead of rewriting

This PR does the following:

Fixes an issue where full-URL rewrites were actually redirecting instead of rewriting the URL.
Fixes the relevant test.

Previously, when a path was rewritten to an URL and it didn't set a location header, we set one for it. This was incorrect and it should not have done this. Instead, we should have treated that as the new rewritten destination and sent a fetch request to proxy the request to the URL. The response from fetching the rewritten URL should then be used as the response to be returned to the client.
Note that I am currently using Jacob (on Pages team)'s site for the tests, but I am happy to change the URL if you wish.

Deployed test app:

uuid.rocks/plain -> https://2ee5af0e.nop-config-rewrites-test.pages.dev/plain
uuid.rocks/invalid (404) -> https://2ee5af0e.nop-config-rewrites-test.pages.dev/invalid


Improve README.md with a few tweaks

Usually I try to format Markdown files with a maximum line length. However, since I wanted to fix a few typos and syntax tweaks, I didn’t make changes to the line lengths to make the diff easier to parse 😄
When you’re satisfied with the content, I’ll make changes to the file formatting style.

I also added a LICENSE.md file 😄

Nice! Thanks for this great contribution 😄 👍


3rd party lib wiki instructions - broken with ng serve -prod

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)

OSX El Cap

Versions. Please run ng --version. If there's nothing outputted, please
run in a Terminal:
node --version
And paste the result here.

$ ng --version
(node:11861) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.5
node: 6.1.0
os: darwin x64

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.

ng new your app
Follow instructions in https://github.com/angular/angular-cli/wiki/3rd-party-libs to add the moment.js library.
ng serve, works fine
ng serve -prod  - the application never finishes bootstrapping, never replaces the "loading" text. No messages, just failure.

The log given by the failure. Normally this include a stack trace and some
more information.

This is an extremely frustrating failure mode: there is no log output. There is no error. If there is nothing in the terminal, there is nothing in the browser console. The application simply fails to ever come to life.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

Based on the number of issues open in the last few days that mention it, the wiki page about adding libraries appears to be insufficient at best, and more likely wrong (at least for -prod). I suggest replacing it or augmenting it with a demo repository showing an example:

Several common third-party libraries, integrated in the recommended way.
Tested with each new CLI release.
Tested with the -prod option.

Same here. ng build-prod passes well:
`| Building"{{content-for}}" has been deprecated and will be removed before RC.
Built project successfully. Stored in "dist/".
File sizes:

aktieindikatorn.component.css: 0 B
aktiebevis.component.css: 0 B
konvertibler.component.css: 0 B
optioner.component.css: 0 B
teckningsrätter.component.css: 0 B
warranter.component.css: 0 B
derivat.component.css: 0 B
fonder-idag.component.css: 0 B
vinnare-och-forlorare.component.css: 0 B
fonder.component.css: 0 B
bolagsindelning.component.css: 0 B
index-info.component.css: 0 B
index-list.component.css: 0 B
index.component.css: 0 B
insiders.component.css: 0 B
stock-list.component.css: 0 B
kurlistor-list.component.css: 0 B
kurslistor.component.css: 0 B
maklarstatistik.component.css: 0 B
min-snabblista.component.css: 0 B
borantor.component.css: 0 B
debt-list.component.css: 0 B
stibor.component.css: 0 B
rantor.component.css: 0 B
ravaror.component.css: 0 B
valutor.component.css: 0 B
index.js: 36.06 KB (3.77 KB gzipped)
navigation.component.css: 262 B (172 B gzipped)
stock-front.component.css: 24 B (44 B gzipped)
main.js: 1.1 MB (227.92 KB gzipped)
system-config.js: 2.73 KB (812 B gzipped)
es6-shim.js: 131.74 KB (30.4 KB gzipped)
Reflect.js: 36.91 KB (5.29 KB gzipped)
system.src.js: 159.57 KB (38.99 KB gzipped)
zone.js: 52.72 KB (11.37 KB gzipped)`

ng serve prod passes well as well:
`Livereload server on http://localhost:49152
Serving on http://localhost:4200/
"{{content-for}}" has been deprecated and will be removed before RC.
Build successful - 37548ms.
Slowest Trees                                 | Total
----------------------------------------------+---------------------
BundlePlugin                                  | 18639ms
Funnel                                        | 9402ms
BroccoliTypeScriptCompiler                    | 3810ms
vendor                                        | 3074ms
Slowest Trees (cumulative)                    | Total (avg)
----------------------------------------------+---------------------
BundlePlugin (1)                              | 18639ms
Funnel (12)                                   | 11211ms (934 ms)
BroccoliTypeScriptCompiler (1)                | 3810ms
vendor (1)                                    | 3074ms`
and nothing happens in browser, except the Loading... string. No error.

I can confirm this as well. I am using lodash in a simple service, and the dev builds work perfectly. When I run ng build -prod my app does not bootstrap. After several hours, I found that 3rd party library imports cause the app not to bootstrap, but the build looks fine, and there is no logging.

@justinrassier can you share what exactly was causing your problem?

@vaskgjuri I created a simple repo demonstrating the problem and how to reproduce here: https://github.com/justinrassier/angular-cli-issue-951
Let me know if anything is unclear or if you need additional information.

The repo published by @justinrassier  the above shows exactly the same problem as I first reported. One thing I noticed in that repo, Justin added an additional tsconfig at the top of the project, in addition to the one inside the src provided by angular-cli.  I can confirm that this is not the trigger of the problem. It fails just as spectacularly if you did not add an additional tsconfig.
(By the way, I wonder if angular-cli is going to keep this arrangement of tsconfig down inside the src directory; I've been working with typescript quite extensively, and generally have found more typical approach putting tsconfig.json at the top seems to work best. But CLI is about going with the flow of however the tool wants to do things.)

It seems that autodetecting the module format for moment was broken. I've updated https://github.com/angular/angular-cli/wiki/3rd-party-libs with current steps and tested locally, please tell me if they don't work for you.
Basically additional configuration is needed in system-config.js:
const packages: any = {
  'moment':{
    format: 'cjs'
  }
};

Regarding the tsconfig, they were put down in the projects themselves because there are scenarios where one can have multiple apps in a single repo. https://github.com/angular/material2 for instance does this.

Thank you. Were you able to coax an error message out of it discover this config change needed? Or did you have to guess it, compare to other projects, etc.?

I couldn't get an error message per se, but instead noticed that in prod mode only main.js was being loaded whereas I knew app/app.js should also be loaded. That seemed to indicate that the bootstrap code wasn't being reached.
I posited that perhaps the bundling of main.ts was messing up user code, and went to check up on moment.js. It seemed to have a rather weird format and I supposed that maybe SystemJS was having trouble figuring out the kind of module, so I tried explicitly declaring it.

Thank you, that is helpful, it is a good clue for me and others is the same thing in the future to know where to start looking around - specifically in the contents of libraries being loaded, to try determining what type of module they are and then instruct SystemJS as to that type. It is very unfortunate, although I'm guessing not something that angular-cli could fix, that the process starting the page (even before the angular bootstrap) fails in this way if system can't figure out how to load the library. Ouch.

This worked like a charm for me as well. Thank you for the fix!
Hopefully in the future this can be a bit more automated. I could see how this could trip some people up who may not understand the differences between the different types of module syntax enough to dig into their vendor libraries and help guide System.js to the right format type. But for now, I am excited to see it working.

Yeah I can't quite get why SystemJS has no problem picking the module format up when loading it at runtime, but it breaks when bundled via builder. I'll try to open up an issue there, perhaps it is fixable.

There is an issue opened on SystemJS builder regarding this topic: https://github.com/systemjs/builder/issues/614

@filipesilva the workaround for 'moment' got me past the "empty page, no error" phase, but ng is still failing to copy the code needed for bootstrapping the whole process:

i can't use the "tree shaking" approach to load systemjs - that's a chicken/egg scenario.

@sgbeal do you have a separate issue for that? I don't want to hijack this issue, they are different and this one is also linked to a SystemJS issue so clutter here is doubly bad.

@filipesilva i did have one, but you closed it yesterday ;)
https://github.com/angular/angular-cli/issues/888

Because in trying to resolve #888, the closest i got to a resolution was the behaviour described here. (And only got that far via an explicit "import 'blah'" of all the 3rd-party JS, instead of importing it via index.html.) i still can't get a working -prod build on any version newer than 0.0.34 (the last version which didn't do bundling).

This issue should not be present anymore in the upcoming beta.6. Details regarding can be found in https://github.com/systemjs/builder/issues/614#issuecomment-224857014


Proposal: Change native lib instead

I'm hesitant to use this library as is because to a new developer this looks unnecessary:
arrayIncludes(arr, value)

and will likely attempt to change it to:
arr.includes(value)

which may even pass the tests and continue being less strict.
What do you think about offering additional entry points to change the global lib instead? I do this pattern to make some Promise types stricter for example: https://github.com/microsoft/TypeScript/issues/45602#issuecomment-934427206

I'm open to it as long as it's clearly documented that it should not be used in reusable projects.

That's right. However I'm not entirely sure it can be loaded "as a whole" because maybe not all types are desired + it would cause more breaking releases.
Having to import specific "fixes" would be best, like Object.entries and Array#includes

Seems verbose and annoying to import individual types for this though. Maybe we start by exporting all and see if it causes any problems? We would document that those types do not follow semver and need to be pinned.

It's literally less verbose than the current situation though 😃
Import object.entries once per project vs once per file.
I'm ok with the global to start though

Note, overwriting typeRoots will remove the default behavior of automatically detecting node_module/@types.

Found a WIP library that does this by default:

https://github.com/total-typescript/ts-reset#make-includes-on-as-const-arrays-less-strict


Small export fixes

Coverage remained the same at 93.972% when pulling ddb9e4fcd8107aabd272c6513ad3dfbaae37fd9a on fixes-1 into 1dd869daa89252566dbd34f0096cde90d3c01b14 on master.

@lasalvavida Do you went to look at this quickly?

@lasalvavida @pjcozzi This is ready.

LGTM


Ability to select Security Group for existing VPC in config. step

Enterprise customer doesn't allow PRIVATE_ISOLATED for ec2 SubnetType in their AWS account. So, need to pick the security group available in the existing VPC during the config step of deployment (Step 4), after changing PRIVATE_ISOLATED to PRIVATE_WITH_EGRESS in .ts files.
Facing following error during deployment:  validation error detected: Value '[]' at 'vpcConfig.securityGroupIds' failed to satisfy constraint: Member must have length greater than or equal to 1 (Service: AmazonSageMaker; Status Code: 400; Error Code: ValidationException; Request ID: 0c2cdffd-07dc-4139-9f1c-3b9f4169c6aa...

@nkay28 I deployed the solution modifying the SubnetType here and here. I have also removed the PRIVATE_ISOLATED subnet from the VPC (commented out these lines ).
It deployed without issues.

Thanks @massi-ang. I tried with commenting out the last VPC component. It gave me a different error, with route tables this time:
CREATE_FAILED        | AWS::EC2::VPCEndpoint                           | SharedVPCS3GatewayEndpoint13AA3DEC
Resource handler returned message: "route table rtb-0913b605c41837278 already has a route with destination-prefix-list-id pl-63a5400a (Service: Ec2, Status Cod
e: 400, Request ID: 320b8cba-347e-4faf-aac0-21ff9d181020)" (RequestToken: 7373b475-22d8-623e-b330-447ea1c7ff9b, HandlerErrorCode: GeneralServiceException)

10:29:51 PM | CREATE_FAILED        | AWS::EC2::VPCEndpoint                           | SharedVPCDynamoDBEndpoint7FDC246D
Resource handler returned message: "route table rtb-0913b605c41837278 already has a route with destination-prefix-list-id pl-02cd2c6b (Service: Ec2, Status Cod
e: 400, Request ID: 01b71ac1-3325-40c2-beba-60011f4caa8a)" (RequestToken: 134dbee2-8e63-c45e-6d8e-84801f41b8c3, HandlerErrorCode: GeneralServiceException)

Can you please provide some more information about what modification you did? Ideally, can you provide a forked repo with your modifications so that it is simpler to reproduce the error

Hi @massi-ang,

Link to the repo fork with modifications: https://github.com/T-and-T-Consulting-Services-Inc/nih-aws-genai-llm-chatbot.git
3 commits ahead showing the modifications: https://github.com/aws-samples/aws-genai-llm-chatbot/compare/main...T-and-T-Consulting-Services-Inc:nih-aws-genai-llm-chatbot:main

Thank you for your continued guidance!


[WIP] Implement the snapshot convertor logic as a flow

An attempt to break up #1679.
This implements some of the logic for #1679, but as its own flow so we can test it separately, and reduce the size of that PR as we try to debug it.

Yep, this is all I could get done without a compiler. 😄

Sorry I thought it was ready for review


Add parse_range() and format_range() functions.

These functions are for converting between with strings like "1-3,5" and the sets they represent, e.g. {1,2,3,5}.  This is useful because it's easy for humans to read and write these strings.

The tests are failing with the message:
    ValueError: line 855 of the docstring for inform.py has inconsistent leading whitespace: '    """'

I am not sure what is going on as line 855 does not appear to be a docstring.
Could you make the following enhancements:

Provide description of the functions in the user manual section of the documentation.
Provide an example of how the cast and range arguments would be used
Add tests that include the cast and range arguments.

Also, in the description of the cast argument you say it is a function that casts to a 'sensible type'. Could you give more detail. In this context I don't know what 'sensible' means.

Coverage increased (+0.2%) to 94.83% when pulling d4192e8610116bb847431bd9a480226fbd095c5e on kalekundert:master into 4ecf14d29b2ccb898bb4a927f0ede52658950c62 on KenKundert:master.

  I'm not sure what you meant about testing the cast and range arguments, though; there are already lots of tests for both arguments.
I'm not sure why the build isn't passing for python 3.5, but I don't think it's anything related to my code.  It seems like some sort of version issue with pytest.
For what it's worth, I don't think the current distinction between the API docs and the "User's Guide" makes sense.  The two sections are very redundant.  I think it be better to reorganize a bit:

Move all the function-level documentation to the API docs, such that the docstring is the single source of documentation for each function.
Have the role of the user's guide to be to introduce groups of related functions.  It wouldn't describe any function individually, it would just say things like:

"If you're interested in doing this kind of thing, check out these functions"
"These functions are commonly used together"

In the user's guide, use .. autosummary:: directives to make links to the API docs.

I think that would make the user's guide a more useful entry point for new users, while making the docs easier to write and maintain.
Also, if/when you merge this PR, can you make a new release?


xbar not starting on macOS Ventura

I just did a fresh install with brew, running version 2.1.7-beta on macOS Ventura 13.0.1.
When I start xbar, it asks for the Automation -> System Events permissions, but nothing else apparently happens: No app window opening, nothing in the status bar.
There's three processes running for xbar, visible in the Activity Monitor:

data:
xbar Networking
xbar

Running it in the Terminal shows
❯ ./xbar
xbar v2.1.7-beta
2022/11/29 11:28:40 checking for updates... (current: v2.1.7-beta)
2022/11/29 11:28:40 updates: passive true
2022/11/29 11:28:40 updates: AutoUpdate false
2022/11/29 11:28:41 update: you have the latest version

Any help with this or info how I can further debug this is appreciated.

same on Monterey 12.6

Any update here?
I have a Macbook Pro 14" M1 2021 - there it works on Ventura 13.2.
Now I'm on a Macbook Pro 16" M1 2021 - there it's not working.
Please help. This tools is so amazing.
Thank you

I had same problem, in my case it appears that osx decided there is not enough space left in tray (but it was visually enough) and wasn't displaying the icon. After closing half of apps with tray icons, xbar finally appeared in tray.

I'm not sure what changed it in my case, but it starts without any issues now.
As noted by @bazuchan, it might have been my full tray the whole time.
Closing since I can't reproduce this anymore.

For me, it's not working with more than enough space - can you please reopen or should I create a new issue?

Reopen as per https://github.com/matryer/xbar/issues/863#issuecomment-1422622240

exactly the same in terminal...
2023/02/08 18:19:44 updates: passive true
2023/02/08 18:19:44 updates: AutoUpdate false
2023/02/08 18:19:44 update: you have the latest version```

I think, there's not really a solution.
I will try a dowgrade to Monterey.

I'm using Ventura 13.2.1 (22D68) and I don't have any problems on running xbar installed from homebrew.

Which book? For me it's working on Macbook Pro M1 14", but not on M1 16".
I downgraded my 16" to Monterey to get it working.

Oh sorry didn't see your first reply.
I'm not using a M1 nor M2, I'm still on Intel ship, sorry 😕

Still no progress? I'm afraid, this issue will never be fixed, due a missing 16" Macbook :-(

Interesting update:
Today I installed a second Monterey to a USB-C-Device on my 16"-Macbook Pro (M1 2021).
After that, I upgraded to the latest Ventura-Version.
Xbar worked on that System!! - No update since error report, but it works - maybe a change in Ventura?!
I will update my macOS, once I made a backup...

Hmm... So weird.

Now I can cofirm, that xbar is working on my 16" MBP (2021) native on Ventura 13.5.1.
I cannot explain - there was no change / update from xbar.
Maybe the fix came with a newer Ventura-Release.
Is there also anybody with the same hardware and can confirm??


dagreD3.layout(): Uncaught TypeError: undefined is not a function

When calling dagreD3.layout() i get the following error:
Uncaught TypeError: undefined is not a function.
This is with the dagre-d3.js from the dist/ folder in version 3.*

//My code is as follows:
 var layout = dagreD3.layout()                     .rankDir("LR");     render.layout(layout).run(g, d3.select("svg g"));
The system prompt error is as follows:TypeError: dagreD3.layout is not a function.
please help me!