How do I assign J1939 standard to a message?

Hello,
I want to create a dbc file with a J1939 message. But after i save the file and open it with another program the message just shows CAN Extended as ID Format. Could anyone explain to me why it is not working?
Here a short code example:
                                 is_signed=True, scale=1, offset=0, unit=None, spn=1586)

frame1 = cantools.db.can.Message(name="Msg1", frame_id=0x16fd3b09, protocol="j1939",
                                 is_extended_frame=True, length=8, signals=[signal1],
                                 cycle_time=50, senders=["A"])

db_cantools = cantools.db.can.Database(messages=[frame1])

cantools.db.dump_file(db_cantools, "test_db.dbc")

And a picture how it looks like in CANdb:

That said, what was your expectation?

I have a different DBC file where it is like this:

There i can choose between those three for the ID Format/Type. Yes it remains extended but by creating the DBC file i can lose some information.
For this DBC file which has the j1939 type in it, i can also find with
db.dbc.attributes
this dict of attributes of the database:
OrderedDict([('ProtocolType', attribute('ProtocolType', J1939)),...)
I don't know if that would be the key, to create this attribute, but I also don't know how i do that. Also in the attributes of the messages i find j1939 but same problem (don't know how to create them).

Hi,
there are some special conditions in a dbc for full J1939 support, I can only remember a few (like the ProtocolType, maybe also the BusType, and of course the frame type).
I don't know an official specification for that. But I know that some tools (CANoe, CANalyzer, vSignalzer, ...) rely on a certain "DBC style" (the "Vector Style"). I have observed different strang effects with J1939 files that do not stick to the Vector style, e. g.:

Using different enums for frametype lets vSignalyzer fail decoding some frames with dynamic priority field (however, CANoe/CANalyzer do fine

So, creating a J1939 DBC file from scratch might be very hard (and frustrating). For your use case this:

Create a new DBC with CANdb++, based on the J1939 template. Save this to an "empty" DBC --> CANdb++ cares about all the special enum definitions etc.
with cantools:
-- load this blueprint file
-- add your messages
-- dump to a new file

I hope this helps! Good luck!
P.S.: If you need CAN FD together with J1939, checkout the latest version of CANdb++. The version I currently have does not support having both CAN FD and J1939 frames in the same file. My CANdb++ version is older than the related SAE documents. Maybe Vector has updated the CANdb++ in the meanwhile.

Hi @geo4711,
thanks for your answer. I tried it now and it works (almost too good). Now all messages turn into J1939, even if i give the message the attribute protocol=None (I have some messages which still use CAN Standard or CAN Extended). Do you know if there is a way how i could fix that?
BR

Hi @rotschaedel,
I just had a try and can confirm your observation: cantools does not reflect the frame type when dumping the database to a file. I guess it's not a big effort to add/fix this functionality, but currently I won't manage to do this by my own.
If you're familiar with the source code, you could give it a try and create a pull request.
About your "merging" question: I think to plan merging with cantools: I don't expect that to work, as a merge function in general has not been implemented yet. And the problem in this case is caring about attributes that have different default values in the two dbcs. So it's not just concatenating two lists of message :-(
BR

Hi @rotschaedel,
I found a quick workaround which might help you. An explanation first:

every attribute in a dbc file needs a default value. For the frame type in a J1939 dbc, the default value is "J1939" (you might change this, but that's how it is in my files)
If you don't specify an attribute's value for an object (e. g. a message), the default value applies. If an objects shall use the default value, there's no need to write this explicitely. However, it is allowed.
cantools considers the frametype when reading dbcs, but it does not write the frametype (in fact it keeps the original value unchanged)
if you create new objects (e. g. messages) with cantools, the attribute won't be written --> the default value will apply

Now here's the workaround:

prepare your template dbc so that it contains a dummy frame defined as "Extended CAN"
use the frame setting (located in a nested object hierarchy) and copy it to your new frames

Example code:
import copy
...
db = cantools.database.load_file(<your_template_dbc>)
my_template_msg_ext_frame = db.get_message_by_name(<your_ext_frame_message>)

# "save" the frame type:
att_tmpl_extFrame = copy.deepcopy(my_template_msg_ext_frame)

new_extFrame = cantools.database.Message(frame_id=0x1, name="new_ext_frame", is_extended_frame=True, protocol=None, length=8, signals=[])

# apply the frame type:
new_extFrame.dbc = att_tmpl_extFrame

db.messages.append(new_extFrame)

This worked for me, hope it does for you as well. Of course you can try to assign the attributes from scratch. But I found that quite tricky due to the nested object hierarchy.
BR
Martin
P.S.: Implementing a proper fix would be a bigger effort (to be backwards compatible for dbcs not using J1939 etc.).

Hi @geo4711 ,
thanks for the workaround! I will try to implement it in the next days. But one question if i understand it correctly: I should create in my j1939 template a dummy message which i use for not j1939 messages?
Sadly I'm not really into the source code, so I'm probably not able to create this pull request. But thanks again for your help!
BR

Hi @rotschaedel,
you could try with a template dbc like this:

VERSION ""

NS_ :
	NS_DESC_
	CM_
	BA_DEF_
	BA_
	VAL_
	CAT_DEF_
	CAT_
	FILTER
	BA_DEF_DEF_
	EV_DATA_
	ENVVAR_DATA_
	SGTYPE_
	SGTYPE_VAL_
	BA_DEF_SGTYPE_
	BA_SGTYPE_
	SIG_TYPE_REF_
	VAL_TABLE_
	SIG_GROUP_
	SIG_VALTYPE_
	SIGTYPE_VALTYPE_
	BO_TX_BU_
	BA_DEF_REL_
	BA_REL_
	BA_DEF_DEF_REL_
	BU_SG_REL_
	BU_EV_REL_
	BU_BO_REL_
	SG_MUL_VAL_

BS_:

BU_:

BO_<PHONE_NUMBER> a_standard_frame: 8 Vector__XXX

BO_<PHONE_NUMBER> a_J1939_pgn: 8 Vector__XXX

BA_DEF_ BO_  "FsJ1939UseCrcAndCounter" STRING ;
BA_DEF_ BO_  "FsJ1939NeedsSHM" ENUM  "No","Yes";
BA_DEF_ BO_  "FsJ1939Delay" INT 0 1000;
BA_DEF_ BO_  "TpJ1939VarDlc" ENUM  "No","Yes";
BA_DEF_ SG_  "SigType" ENUM  "Default","Range","RangeSigned","ASCII","Discrete","Control","ReferencePGN","DTC","StringDelimiter","StringLength","StringLengthControl","MessageCounter","MessageChecksum";
BA_DEF_ SG_  "GenSigEVName" STRING ;
BA_DEF_ SG_  "GenSigILSupport" ENUM  "No","Yes";
BA_DEF_ SG_  "GenSigSendType" ENUM  "Cyclic","OnWrite","OnWriteWithRepetition","OnChange","OnChangeWithRepetition","IfActive","IfActiveWithRepetition","NoSigSendType";
BA_DEF_ BO_  "GenMsgFastOnStart" INT 0 100000;
BA_DEF_ SG_  "GenSigInactiveValue" INT 0 0;
BA_DEF_ BO_  "GenMsgCycleTimeFast" INT 0 3600000;
BA_DEF_ BO_  "GenMsgNrOfRepetition" INT 0 1000000;
BA_DEF_ SG_  "GenSigStartValue" INT 0<PHONE_NUMBER>;
BA_DEF_ BO_  "GenMsgDelayTime" INT 0 1000;
BA_DEF_ BO_  "GenMsgILSupport" ENUM  "No","Yes";
BA_DEF_ BO_  "GenMsgStartDelayTime" INT 0 100000;
BA_DEF_ BU_  "NodeLayerModules" STRING ;
BA_DEF_ BU_  "ECU" STRING ;
BA_DEF_ BU_  "NmJ1939SystemInstance" INT 0 15;
BA_DEF_ BU_  "NmJ1939System" INT 0 127;
BA_DEF_ BU_  "NmJ1939ManufacturerCode" INT 0 2047;
BA_DEF_ BU_  "NmJ1939IndustryGroup" INT 0 7;
BA_DEF_ BU_  "NmJ1939IdentityNumber" INT 0 2097151;
BA_DEF_ BU_  "NmJ1939FunctionInstance" INT 0 7;
BA_DEF_ BU_  "NmJ1939Function" INT 0 255;
BA_DEF_ BU_  "NmJ1939ECUInstance" INT 0 3;
BA_DEF_ BU_  "NmJ1939AAC" INT 0 1;
BA_DEF_ BU_  "NmStationAddress" INT 0 255;
BA_DEF_ BO_  "GenMsgSendType" ENUM  "cyclic","NotUsed","IfActive","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","noMsgSendType";
BA_DEF_ BO_  "GenMsgRequestable" INT 0 1;
BA_DEF_ BO_  "GenMsgCycleTime" INT 0 3600000;
BA_DEF_ SG_  "SPN" INT 0 524287;
BA_DEF_  "DBName" STRING ;
BA_DEF_  "BusType" STRING ;
BA_DEF_  "ProtocolType" STRING ;
BA_DEF_ BO_  "VFrameFormat" ENUM  "StandardCAN","ExtendedCAN","reserved","J1939PG";
BA_DEF_DEF_  "FsJ1939UseCrcAndCounter" "";
BA_DEF_DEF_  "FsJ1939NeedsSHM" "No";
BA_DEF_DEF_  "FsJ1939Delay" 0;
BA_DEF_DEF_  "TpJ1939VarDlc" "No";
BA_DEF_DEF_  "SigType" "Default";
BA_DEF_DEF_  "GenSigEVName" "Env@Nodename_@Signame";
BA_DEF_DEF_  "GenSigILSupport" "Yes";
BA_DEF_DEF_  "GenSigSendType" "NoSigSendType";
BA_DEF_DEF_  "GenMsgFastOnStart" 0;
BA_DEF_DEF_  "GenSigInactiveValue" 0;
BA_DEF_DEF_  "GenMsgCycleTimeFast" 0;
BA_DEF_DEF_  "GenMsgNrOfRepetition" 0;
BA_DEF_DEF_  "GenSigStartValue" 0;
BA_DEF_DEF_  "GenMsgDelayTime" 0;
BA_DEF_DEF_  "GenMsgILSupport" "Yes";
BA_DEF_DEF_  "GenMsgStartDelayTime" 0;
BA_DEF_DEF_  "NodeLayerModules" "";
BA_DEF_DEF_  "ECU" "";
BA_DEF_DEF_  "NmJ1939SystemInstance" 0;
BA_DEF_DEF_  "NmJ1939System" 0;
BA_DEF_DEF_  "NmJ1939ManufacturerCode" 0;
BA_DEF_DEF_  "NmJ1939IndustryGroup" 0;
BA_DEF_DEF_  "NmJ1939IdentityNumber" 0;
BA_DEF_DEF_  "NmJ1939FunctionInstance" 0;
BA_DEF_DEF_  "NmJ1939Function" 0;
BA_DEF_DEF_  "NmJ1939ECUInstance" 0;
BA_DEF_DEF_  "NmJ1939AAC" 0;
BA_DEF_DEF_  "NmStationAddress" 254;
BA_DEF_DEF_  "GenMsgSendType" "noMsgSendType";
BA_DEF_DEF_  "GenMsgRequestable" 1;
BA_DEF_DEF_  "GenMsgCycleTime" 0;
BA_DEF_DEF_  "SPN" 0;
BA_DEF_DEF_  "DBName" "";
BA_DEF_DEF_  "BusType" "CAN";
BA_DEF_DEF_  "ProtocolType" "J1939";
BA_DEF_DEF_  "VFrameFormat" "J1939PG";
BA_ "DBName" "mixed_J1939";
BA_ "VFrameFormat" BO_<PHONE_NUMBER> 1;
BA_ "VFrameFormat" BO_<PHONE_NUMBER> 3;

BR
Martin

@geo4711
There i get the same error message. I think the problem is dump_file. When i remove it, the program runs without errors.
BR


[consoleApp]Updating Role Mapping via the Attributes tab for a OpenID web application does not update the mapping

Describe the issue:
Updating Role Mapping via the Attributes tab for a OpenID web application fails
How to reproduce:
1.Access https://localhost:9443/console
2.Login as super admin
3.Navigate to Develop > Applications > New Application > Web Application > openid and add a openid application
4.In the edit view go for Attributes tab
5. Role Mapping section
6. Add local role as admin from the suggested drop down list and add a application role as test
7. Click Update
Observation
UI says as updated successfully. But the role mapping which was added is not available in the console
Related https://github.com/wso2/product-is/issues/10073
Environment information
Mssql 2019
uniqueid jdbc primary US
IS 5.11.0 beta3
ubuntu 16.04
Chrome Version 85.0.4183.121

@ShanikaWickramasinghe you need to click on the "+" at the end and then update... Can you please try that?

@thanujalk Eventhogh clicked on the + icon getting the error attached in the image

@ShanikaWickramasinghe yes.. saw the same issue when adding multiple.

This issue is caused by an API issue. The relevant API issue is tracked here. https://github.com/wso2/product-is/issues/10144

Reopen this issue since it is a UI issue. Refer to this comment for the information https://github.com/wso2/product-is/issues/10144#issuecomment-721531170


Implement change logs

To keep track of changes between releases. We should draft proper change logs per release.

The release notes are now generated. But the current release procedure might not be compatible. Keeping this issue open until a release has been done.


ACD FUSE change default --max-read-ahead

Decided to add this to track adjustment to --max-read-ahead per discussion in the forum. As per forum user @calisro this value may need to be dynamically calculated and can be overwritten with a flag.

From my investigations  --max-read-ahead is pretty useless - the kernel caps it at 128k which is the default value so I can't see adjusting it dynamically being helpful.
Please re-open if you have some evidence otherwise!


Using Redis On Message Event to Reset Timers

I've got a Redis subscription, which blocks, and I'm also using timers.wait, which also blocks. I'm not sure how to make them work together. I've got the timers.wait loop inside a Thread.new block, but the timers will stop running periodically. I'm sure that's not the right way to run it anyway.
@@timers = Timers::Group.new
...
Thread.new {
  loop { @@timers.wait }
}

Essentially what I'm trying to do is reset the timers based on events triggered by messages coming through Redis. Can you point me in the right direction on how to do this?

@jmwright generally this sort of thing we readily answer here:

https://groups.google.com/forum/#!forum/celluloid-ruby

But I'll leave this up and try to direct it to the best responders for when they have some time to reply:
/cc: @ioquatix, @tarcieri

@digitalextremist Ok, thank you.

Timers::Group is exclusive. The simplest way to combine this with redis might be to provide a timeout to wait, e.g.
# Wait for the next timer and fire it. Can take a block, which should behave
    # like sleep(n), except that n may be nil (sleep forever) or a negative
    # number (fire immediately after return).
    def wait(&block)
    ....

@@timers = Timers::Group.new

@@timers.wait do |timeout|
  redis.wait_for_messages(timeout)
end

.. or something like that.

IF you have further questions please don't hesitate to reopen this issue.

You can also use Timers::Group#wait_interval to calculate the interval to wait until the next timer fires:
https://github.com/celluloid/timers/blob/master/lib/timers/group.rb#L72
Pretty much the same thing @ioquatix just said, just without using a block

Great, thank you.


Install Plaso only for workers

This PR remove the dependency on Plaso for the client only install. If you are installing a worker you now need to do: pip install turbinia[worker]
Also, this PR fixes a bug where pip v10.x couldn install the package.

So, actually after going through the other open PR, I think we might want to change this around a bit.  See #184 for my proposal.

@aarontp PTAL - I cleaned up setup.py a bit.

Awesome, looks good:  Thank you for cleaning up the rest of that file too.  I should have merged this one before #186, but I'll just manually fix the conflict and merge this.


PR: Don't terminate folding thread before running new update (Editor)

Description of Changes

That was freezing when typing fast in large files.
I verified folding updates as expected without that code.

Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: ccordoba12

This is a temporal solution until we find a better way to update folding.


No PHP examples on HAPI Browser page

Do I miss something? I don't find any examples of the api for php on https://dev.slimpay.com/hapi/browser

Hi hakikihacioglu,

Choose a relation (ex. create-orders)
At the top of the right side, click on HTTP/1.1
Select HAPI Client PHP instead.

The code on the right will now be formatted for this library giving you a fill example including:

inclusion of the autoload
instantiation of the client with the credentials to the API
preparation of the request
sending the request

Do not hesitate if you need more.
PS: more documentation will follow soon in the README of this repository on how to use it.


fastfetch: 2.13.1 -> 2.13.2

Diff: https://github.com/fastfetch-cli/fastfetch/compare/2.13.0...2.13.2
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

We're on 2.13.1, need to update commit message.

forgot that when doing the rebase

Result of nixpkgs-review pr 313965 run on aarch64-darwin 1

2 packages failed to build:

fastfetch
fastfetch.man

Result of nixpkgs-review pr 313965 run on aarch64-darwin 1

2 packages built:

fastfetch
fastfetch.man


Remove lower bound check of timeoutSec in SpinOnce

We are running a high-frequency application (around 1000Hz), and allowing zero timeout, making the spinOnce non-blocking, increased performace by a large amount.
Passing 0 or even negative numbers to the final rcl_wait is well defined and there is no reason to impose any limitation in this wrapper code, that I know of.
See: https://github.com/ros2/rcl/blob/5040c6049f2320fb34fb803ac97c4a458212102c/rcl/include/rcl/wait.h#L448
The unit of timeout is nanoseconds. If the timeout is negative then this function will block indefinitely until something in the wait set is valid or it is interrupted. If the timeout is 0 then this function will be non-blocking; checking what's ready now, but not waiting if nothing is ready yet. If the timeout is greater than 0 then this function will return after that period of time has elapsed or the wait set becomes ready, which ever comes first.

This looks like a good catch, thank you! We will briefly test it but it doesn't seem to be problematic and I don't expect issues.
I edited your comment link to point to proper ros2 version (unfortunately google often still shows Beta ros2 documentation)

Lgtm, thanks!

fixes #17


Enhancement 53 result content

Before:

After:

Tried your PR locally and the Result items look much better than before.
Now that the new UI is on master, redirect this PR to master.
I would remove the commented lines and add a convenience function for boolean => Yes|No.

Added convenience function... Not sure if there is a better place to put it. Please review. Thanks!


Support version suffixes in UpdatePattern

This PR implements the idea proposed by @fthomas in a comment to issue #1038:

UpdatePattern, which is used for .scala-steward.conf, allows to match versions but only via startsWith. In this case we want to match a version if it ends with jre8. I would propose to change the version matching code to endsWith when UpdatePattern.version starts with .*.

After finishing this I realised one shortcoming: it is not possible to restrict  for the same artefact the prefix and the suffix. E.g pin a major version and enforce jre8. One solution would be to use .* as a separator between prefix and suffix, e.g. 7..*jre8 (there are 2 dots so it matches only against version 7 and not against version 70)
fixes #1038

Thanks for working on this @mzuehlke! Unfortunately there are now merge conflicts due to the merge of #1254.
I agree that it would be nice to specify both a prefix and a suffix. In addition to your proposal we could also allow regular expressions or a complex object like { prefix="7.", suffix="jre8" } for the version field. I dislike regular expressions but I'm not yet decided if I like .* as separator or a complex object better. One is short but a little bit obscure while the other is self-explaining but longer.

I will  resolve the merge conflicts. I expected  that ;-)
I agree with you that regular expression are too powerful and like your idea with the dedicated prefix and suffix:
1: { groupId = "foo", artifactId="bar", version="x.y."}

2a: { groupId = "foo", artifactId="bar", suffix="jre8"}
2b: { groupId = "foo", artifactId="bar", prefix="x.y." , suffix="jre8"}

3a: { groupId = "foo", artifactId="bar", version={suffix="jre8"}}
3b: { groupId = "foo", artifactId="bar", version={prefix="x.y." , suffix="jre8"}}

While 1 is the simple case. Do you mean / prefer 2 or 3 for specifying a suffix?

I meant 3 since it makes clear that one specifies a version prefix and/or suffix. That is not really obvious for 2.

I updated the PR to have version (optionally) as a complex object. This has less magic than the ".*" version.


Error in Loadpoint configuration

After many hours of trial and error I managed to get the add-on to work. The biggest issue is with the Loadpoint configuration. I have no clue what value to enter for charge meter. If I leave it at „meter“ the system fails to start with an error message that the Loadpoint has an issue.
I put an # in front of the line. Now the system starts and works but with a message:
Garage: charger logic error: disabled but charging
Below I have pasted the relevant part of the yaml file.
I would be very grateful if someone could tell me what value to put for meter.
Many thank is advance!
Joop
meters:

name: grid
type: template
template: sonnenbatterie
usage: grid
host: <IP_ADDRESS> # IP-Adresse oder Hostname

name: battery
type: template
template: sonnenbatterie
usage: battery
host: <IP_ADDRESS> # IP-Adresse oder Hostname

name: pv
type: template
template: sonnenbatterie
usage: pv
host: <IP_ADDRESS> # IP-Adresse oder Hostname

charger definitions
name can be freely chosen and is used as reference when assigning charger to vehicle
for documentation see https://docs.evcc.io/docs/devices/chargers
chargers:

name: go-e
type: template
template: go-e
host: <IP_ADDRESS> # IP-Adresse oder Hostname

vehicle definitions
name can be freely chosen and is used as reference when assigning vehicle to loadpoint
for documentation see https://docs.evcc.io/docs/devices/vehicles
vehicles:

name: car1
type: xxx
title: xxx
capacity: 68 # kWh
user: myuser # user
password: mypassword # password
vin: WREN...
onIdentify: # set defaults when vehicle is identified
mode: pv # enable PV-charging when vehicle is identified
minSoc: 20 # immediately charge to 20% regardless of mode unless "off" (disabled)
targetSoc: 90 # limit charge to 90%

site describes the EVU connection, PV and home battery
site:
title: Home # display name for UI
meters:
grid: grid # grid meter
pv:
- pv # list of pv inverters/ meters
battery:
- battery # list of battery meters
residualPower: 0 # additional household usage margin
prioritySoc: 0 # give home battery priority up to this soc (empty to disable)
bufferSoc: 0 # continue charging on battery above soc (0 to disable)
bufferStartSoc: 0 # start charging on battery above soc (0 to disable)
maxGridSupplyWhileBatteryCharging: 0 # ignore battery charging if AC consumption is above this value
smartCostLimit: 0 # set cost limit for automatic charging in PV mode
loadpoint describes the charger, charge meter and connected vehicle
loadpoints:

title: Garage # display name for UI
charger: go-e # charger

meter: charge # charge meter NO IDEA WHAT TO PUT HERE

I tried with no valueand that seems to work: no warning message


Light Client Supervisor: MVP

Based on #284.

[ ] Referenced an issue explaining the need for the change
[ ] Updated all relevant documentation in docs
[ ] Updated all code comments where relevant
[ ] Wrote tests
[ ] Updated CHANGES.md

Closing this re-open it against #284.


kube-aws v0.9.5 "eni" for etcd

Hi, i am trying kube-aws 0.9.5 final to build a cluster, found etcd has two option in this version, eip & eni for "memberIdentityProvider", i tried to use "eni", it created "controller" & "etcd" servers, but then seems get stuck in creating something, cant create "worker" servers, but when i use "eip", the whole cluster can be built properly. Below is the CloudFormation log listed. Want to ask if my "eni" related settings is correct or not ?
CloudFormation log
2017-04-26	Status	Type	Logical ID	Status reason
19:19:34 UTC+0800	CREATE_FAILED	AWS::CloudFormation::Stack	omo-dev-kubecluster-Controlplane-TYYAGSOEIS6D	The following resource(s) failed to create: [Controllers].
19:19:32 UTC+0800	CREATE_FAILED	AWS::AutoScaling::AutoScalingGroup	Controllers	Received 0 SUCCESS signal(s) out of 2. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement
19:19:31 UTC+0800	UPDATE_IN_PROGRESS	AWS::AutoScaling::AutoScalingGroup	Controllers	Failed to receive 2 resource signal(s) for the current batch. Each resource signal timeout is counted as a FAILURE.
19:04:28 UTC+0800	CREATE_IN_PROGRESS	AWS::AutoScaling::AutoScalingGroup	Controllers	Resource creation Initiated
cluster.yaml
...
memberIdentityProvider: eni
internalDomainName: xxx.yyy.com
manageRecordSets: true
hostedZone:
id: xxxxxxxx
...

Hi @stanleychow1110, thanks for trying kube-aws!
Could you inform me by answering two questions:

What is the domain associated to the hosted zone specified by hostedZone.id? Is it same with the one represented in internalDomainName?
Would you mind sharing me a gist containing the result of journalctl in one of failed controller nodes?

Hi, Mumoshu,

yes, i use the same internal domain for hostedZone.id as "internalDomainName", this also the same domain for hostedZoneId (line35).
Please find one of the controller journalctl log, it keeps on prompting below. Seems to be cert. issue (Error:  x509: certificate is valid for *.ap-southeast-1.compute.amazonaws.com,...)

... ....
Apr 27 12:35:57 ip-10-132-23-34.ap-southeast-1.compute.internal systemd-machined[942]: New machine rkt-f66e38bd-1a03-4a3c-86b0-b75fd579520c.
Apr 27 12:35:57 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Started Container rkt-f66e38bd-1a03-4a3c-86b0-b75fd579520c.
Apr 27 12:35:57 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12556.575795] awscli[5]: decrypting assets
Apr 27 12:35:57 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12556.576442] awscli[5]: decrypting /etc/kubernetes/ssl/apiserver-key.pem.enc
Apr 27 12:35:58 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12556.917111] awscli[5]: decrypting /etc/kubernetes/ssl/apiserver.pem.enc
Apr 27 12:35:58 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12557.246953] awscli[5]: decrypting /etc/kubernetes/ssl/ca.pem.enc
Apr 27 12:35:58 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12557.577015] awscli[5]: decrypting /etc/kubernetes/ssl/etcd-client-key.pem.enc
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12557.911287] awscli[5]: decrypting /etc/kubernetes/ssl/etcd-client.pem.enc
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: [12558.245228] awscli[5]: done.
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Stopped Container rkt-f66e38bd-1a03-4a3c-86b0-b75fd579520c.
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd-machined[942]: Machine rkt-f66e38bd-1a03-4a3c-86b0-b75fd579520c terminated.
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal decrypt-assets[27807]: "f66e38bd-1a03-4a3c-86b0-b75fd579520c"
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal etcdctl[27959]: Error:  x509: certificate is valid for *.ap-southeast-1.compute.amazonaws.com, not etcd0.[xxx.yyy].com
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: flanneld.service: Control process exited, code=exited status=4
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Failed to start flannel - Network fabric for containers (System Application Container).
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Dependency failed for flannel docker export service - Network fabric for containers (System Application Container).
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: flannel-docker-opts.service: Job flannel-docker-opts.service/start failed with result 'dependency'.
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: flanneld.service: Unit entered failed state.
Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: flanneld.service: Failed with result 'exit-code'.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: install-kube-system.service: Service hold-off time over, scheduling restart.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: kube-node-taint-and-uncordon.service: Service hold-off time over, scheduling restart.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: kubelet.service: Service hold-off time over, scheduling restart.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Stopped Taint this kubernetes node with its role and then uncordon it.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Stopped kubelet.service.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Starting kubelet.service...
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Stopped install-kube-system.service.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Starting install-kube-system.service...
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemctl[27975]: activating
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: install-kube-system.service: Control process exited, code=exited status=3
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: Failed to start install-kube-system.service.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: install-kube-system.service: Unit entered failed state.
Apr 27 12:36:01 ip-10-132-23-34.ap-southeast-1.compute.internal systemd[1]: install-kube-system.service: Failed with result 'exit-code'.
.... ...

Thanks @stanleychow1110,
Hmm, that's odd! etcd0.[xxx.yyy].com should be included in the cert as long as etcd.internalDomainName is set and etcd.memberIdentityProvider is set to eni.
Would you mind sharing your cluster.yaml so that I can try to reproduce your setup?

Hi, Mumoshu,
Pls find the attach zip for the cluster.yaml, pls note that i changed the following for privacy
externalDNSName
hostedZoneId
keyName
etcd.internalDomainName
etcd.hostedZone.id
cluster.yaml.zip

@stanleychow1110 Sorry for the silence and thanks for the additional info 👍
I've been thinking about this for a while but no insight so far.
The error:

Apr 27 12:35:59 ip-10-132-23-34.ap-southeast-1.compute.internal etcdctl[27959]: Error: x509: certificate is valid for *.ap-southeast-1.compute.amazonaws.com, not etcd0.[xxx.yyy].com

shouldn't really occur as etcd.pem must include *.[xxx.yyy].com in Subject Alternative Name.
Go code constructing Subject Alternative Names for etcd nodes when memberIdentityProvider: eni is enabled can be found in:

https://github.com/kubernetes-incubator/kube-aws/blob/5f60607620c2c55c5f96372c5b596eae6207e406/core/controlplane/config/tls_config.go#L177
https://github.com/kubernetes-incubator/kube-aws/blob/5f60607620c2c55c5f96372c5b596eae6207e406/model/derived/etcd_cluster.go#L38-L45

Could you run openssl x509 -in etcd.pem -noout -text on the etcd.pem in your local machine and also on one in the problematic node(=worker), to see actual Subject Alternative Names provided there?

I'm having the same exact issue. My etcd settings:
 memberIdentityProvider: eni   internalDomainName: "etcd-np-kube-001.assn.wrkntest.MYCOMPANY-aws.local"   manageRecordSets: true   hostedZone:     id: "MYZONEID"
I tried to run the openssl command on etcd.pem, but not sure the syntax:
openssl x509 -in etcd.pem -noout -text etcd.pem
unknown option etcd.pem
I can't run that on workers , as suggested, since it does not get to this stage (it fails at creating the Controller).

@VinceMD Could you confirm that you've started with the new cluster? For example, updating cluster.yaml with memberIdentityProvider after kube-aws render credentials won't work!

I think you are right. Worse, I probably needed to regenerate the certificate as I added the internalDomain later on. Let me run double check I can go pass this stage and we can probably close this issue.

@VinceMD Thanks, I'm looking forward to your report 👍

@stanleychow1110 Sorry for the long silence without any check-in but now,
I realized that you by any chance had to re-run kube-aws render credentials after updating memberIdentityProvider in cluster.yaml from eip to eni.

No issue for me anymore after regenerating certificates. IMHO this is not an issue, just user error / doc

@mumoshu if internalDomainName were a list then they render credentials certificates could support both the '.internal' and '.com' domains. Then the default certificates would work with either the eni or eip setting, without regeneration?


Unique not working

Hi,
In config/sluggable.php, I have set     'unique' => true ( default )
and I my migration, I have set a unique constraint on this field.
But when I save 2 items with the same slug, I get :
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'qqqqqq' for key 'tournament_slug_unique'
When the next one should be with an incremental suffix
I double checked that this unique constraint is for slug field only, so I guess incremental suffix is not working.
Any Idea why is it happening?
Laravel 5.2 - Eloquent-sluggable 3.1.4

Can you post all of your configuration, and the sluggable() method from your model?
Also, you said:

But when I save 2 items with the same slug, I get ...

I assume you mean that you have 2 items with source fields that are the same. If you manually assign the slug to your model (e.g.. $model->slug='foo', then the entire sluggable process is bypassed, so the unique checks are skipped.

Now, I get it working without changing anything.
Sorry for bothering! You component rocks!


fix: disable shm usage in container builds

Fixes https://github.com/microsoft/vscode/issues/111729

Build is failing: https://monacotools.visualstudio.com/Monaco/_build/results?buildId=96161&view=logs&j=4d2898ab-dfbe-557e-92e7-aaac158fdd2f&t=bf591f68-b11f-58a5-2795-b482f67ba1e7

Also before merging this, we should really be sure of the bionic update.

Build is failing: https://monacotools.visualstudio.com/Monaco/_build/results?buildId=96161&view=logs&j=4d2898ab-dfbe-557e-92e7-aaac158fdd2f&t=bf591f68-b11f-58a5-2795-b482f67ba1e7

Oops the xvfb step is not needed, container establishes it.

Also before merging this, we should really be sure of the bionic update.

Yup. Although image is bionic, it now uses older gcc toolchain to maintain compatibility. Got some early testing happening here https://github.com/microsoft/vscode-remote-release/issues/4103

@deepak1556 Now the integration tests fail misteriously: https://monacotools.visualstudio.com/Monaco/_build/results?buildId=96200&view=logs&j=4d2898ab-dfbe-557e-92e7-aaac158fdd2f&t=a099afca-dbc0-5987-bf48-8950ed3c0139&l=198

failing due to, looking into it.
[2498:1204/180442.771943:ERROR:viz_main_impl.cc(152)] Exiting GPU process due to errors during initialization

[2473:1204/180442.939298:ERROR:object_proxy.cc(632)] Failed to call method: org.freedesktop.login1.Manager.Inhibit: object_path= /org/freedesktop/login1: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=96408&view=logs&j=4d2898ab-dfbe-557e-92e7-aaac158fdd2f&t=2d4939b1-2b74-59b7-3eb2-605f0910a1a9
🥳

Looks like hw compositing is not available
[2886:1208/083944.049321:ERROR:gl_surface_egl.cc(725)] No suitable EGL configs found.
[2886:1208/083944.049435:ERROR:gl_surface_egl.cc(773)] EGL Driver message (Error) eglGetConfigAttrib: Bad config.
[2886:1208/083944.049468:ERROR:gl_context_egl.cc(95)] eglGetConfigAttrib failed with error EGL_BAD_CONFIG
[2886:1208/083944.049579:ERROR:gl_surface_egl.cc(725)] No suitable EGL configs found.
[2886:1208/083944.049616:ERROR:gl_surface_egl.cc(773)] EGL Driver message (Error) eglCreatePbufferSurface: Bad config.
[2886:1208/083944.049642:ERROR:gl_surface_egl.cc(2076)] eglCreatePbufferSurface failed with error EGL_BAD_CONFIG
[2886:1208/083944.049666:ERROR:gpu_info_collector.cc(65)] gl::GLContext::CreateOffscreenGLSurface failed
[2886:1208/083944.049690:ERROR:gpu_info_collector.cc(273)] Could not create surface for info collection.
[2886:1208/083944.049716:ERROR:gpu_init.cc(77)] CollectGraphicsInfo failed.
[2886:1208/083944.052240:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization
[2894:1208/083944.102557:ERROR:command_buffer_proxy_impl.cc(122)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.

Let me fix that before we merge this.

@joaomoreno this is ready for review, shm and gpu issue logs have been cleared https://monacotools.visualstudio.com/Monaco/_build/results?buildId=96465&view=results


Cannot Install Extension from the Marketplace

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

VS Code Version: 1.75.1
OS Version: Windows 10 Pro Education (Build: 22H2)

Version: 1.75.1 (system setup)
Commit: 441438abd1ac652551dbe4d408dfcec8a499b8bf
Date: 2023-02-08T21:32:34.589Z
Electron: 19.1.9
Chromium: 102.0.5005.194
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: No

Steps to Reproduce:

With a fresh installation after uninstalling from Control Panel, go to Extension Market place and try to install any extension.
Error while installing package

2023-02-14 12:41:32.392 [warning] Via 'product.json#extensionEnabledApiProposals' extension 'github.vscode-pull-request-github' wants API proposal 'commentsResolvedState' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned.
2023-02-14 12:41:33.187 [error] Error scanning installed extensions:
2023-02-14 12:41:33.187 [error] SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Object.factory (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:741:99212)

/duplicate
https://github.com/microsoft/vscode/issues/174046

F1 > Open Extensions Folder > extensions.json

If the file is empty, then delete the file.


Error thrown when creating Events with IE11 Polyfill

Description
IE11 Event Constructor cant be called directly ( http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work ). To circumvent this problem, i've implemented a polyfill which makes use of the createEvent method ( https://msdn.microsoft.com/en-us/library/ff975304(v=vs.85).aspx ):
try {
        var shim = new Event("toggle");
      }
      catch (error) {
        var CustomEvent = function(event, params) {
          var evt, origPrevent;
          params = params || {
              bubbles: false,
              cancelable: false,
              detail: undefined
            };

          evt = document.createEvent("CustomEvent");
          evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
          evt.composed = params.composed;

          origPrevent = evt.preventDefault;
          evt.preventDefault = function () {
            origPrevent.call(this);
            try {
              Object.defineProperty(this, 'defaultPrevented', {
                get: function () {
                  return true;
                }
              });
            } catch(e) {
              this.defaultPrevented = true;
            }
          };
          return evt;
        };

        CustomEvent.prototype = window.Event.prototype;
        window.Event = CustomEvent; // expose definition to window
        window.CustomEvent = CustomEvent; // expose definition to window
      }

This leads to IE11 throwing when event objects are accessed directly, which is the case in https://github.com/Polymer/polymer/blob/2.0-preview/src/elements/legacy-element.html#L186 and https://github.com/Polymer/polymer/blob/2.0-preview/src/events/gesture-event-listeners.html#L423

Assignment to read-only properties is not allowed in strict mode

Browsers Affected

[ ] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari 9
[ ] Safari 8
[X] IE 11

Versions

Polymer: v2.0
webcomponents: v1

There is another repo for polyfills like this one, please check it.

As @web-padawan said, this is implemented in https://github.com/webcomponents/webcomponents-platform, which will be loaded by webcomponentsjs for IE11


[ERROR: Bad state] Mocking response with when()

Trying to mock when().then() but I get an error:
ERROR: Bad state: Mock method was not called within when(). Was a real method called?
test(
      'should return user document',
      () async {
        when(mockService.collection(any).document(any)).thenAnswer(
          (_) => tUserDoc,
        );
        // expect
        // verify
      },

(I'm not author of this library) This library is becoming more "fake" than "mock". To prepare database that contain some data, you need to populate it.
mockFirestoreInstance.collection("users").add({"name": "suztomo"});

@atn832 In document, you may want to clarify which parts are "fake" and what are "mock". (I believe this library is a "fake", and fake is suitable for my usage)
https://blog.pragmatists.com/test-doubles-fakes-mocks-and-stubs-1a7491dfa3da

You're right, calling the library mocks is a misnomer. It was true initially since everything extended Mock and implementation was minimal. I've filed #33 and #34. I'll see if #34 is doable.
Closing this since the fix is to populate the fake db like @suztomo mentioned.


Removing the use of :sext library from the cache_key_encode/decode

Is it possible not to use the :sext library and change it with for example: :erlang.term_to_binary, in order to remove 2 dependencies :edown and :sext, as it is used only in 2 functions.

We are using sext library to serialize keys, to put inside the oracle cache tree, which does not affect main oracle Patricia Merkle Trie root hash, and we could have changed it, but I would not recommend switching to other type serialization.
Probably they (epoch) have their own reasons to use this type of serializations and not term_to_binary | binary_to_term, as @Artur64 mentioned in his comment, about sortable serialization.

I propose we think of our own solution to caching instead of coping the epoch approach

After checking the code I see that epoch uses sext probably so they can query efficiently the cache tree for "all oracles and queries expiring on given block". We don't take advantage of that and this can be implemented in other ways.


Download data for assembly does not list genome name, or even genome ID!!!

When you have several of these open at the same time, how are you supposed to distinguish between them?  We need to add both the job ID and the name that the user gave the assembly

"Download data for assembly does not list genome name, or even genome ID".
The assembly jobs don't have genome name or genome id associated with them.
Did you mean job id and user given job name? I would agree with the latter.
-Maulik

I think the more broader issue is that all of the result files from assembly service get the same fixed names, instead of using user given output name as the prefix ... i.e. the way it is done by the annotation service.
I think it would be good if we adopt the same result file naming conventions across all the services.
-Maulik

I think this goes in the big pile of stuff to be fixed in the assembly service.

@AllanDickerman Please make sure this is addressed in the new version of the assembly service.

New assembly system will enable user to specify prefix for all files generated: like prefix_contigs.fasta
This will show up in Quast report as well.


Changes to skip running DDL. Mainly used when running fault tolerance…

… tests with nodes down.

Hello @aravind-nallan-yb, Code changes look good to me. Have one small review comment, please take a look.
Before we merge the changes, just wanted to understand the need for this flag. From the PR title, I couldn't get any context on the change being made. If you see the DDL statements which the app uses has IF NOT EXISTS, so how are we planning to use the skipDDL flag.
Thanks.

Hey Nikhil,
Please see https://docs.google.com/document/d/1brgDJC_v8QIguPo_FLxM0C1WkNFqtXG-tlUB9-NZNiA/edit?usp=sharing for full context.
But TL;DR is when i was trying fault tolerance scenarios where some nodes are down even if you include IF NOT EXISTS, any DDL just hangs.

Got it, Thanks for the context. Now I understand the use case for skipDDL.
I'll approve the PR. Thanks


TS1108  "problem" showing on pure Javascript (node) file - Erroneous Error Flag

Issue Type: Bug
PROBLEMS pane shows:
[JS] file.js (1)
A 'return' statement can only be used within a function body.  ts(1108) [400,5]
My node Javascript file is statements that call defined functions.  These statements have an if statement that executes a return statement when true.  The program is Javascript, and recognized as such by editor.   There is no typescript in the environment. This bug appeared immediately after VS Code updated to February 2022 version (1.65.2).  It did not appear in the previous version with the exact same file.  The program runs properly on the target when run.
UPDATE: I have installed 1.64.2 to remediate issue.  The problem does not occur down-level.
The program looks like this:
#!/usr/bin/env node
statements and function definitions
if ( x == y)
return
statements
A Typescript error should not show for a Javascript file.
VS Code version: Code 1.65.2 (c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1, 2022-03-10T14:33:55.248Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6770HQ CPU @ 2.60GHz (8 x 2592)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.89GB (23.34GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (11)

Extension
Author (truncated)
Version

Bookmarks
ale
13.2.4

bracket-pair-colorizer
Coe
1.0.62

html-preview-vscode
geo
0.2.5

vscode-pull-request-github
Git
0.38.1

ibm-jcl
kel
0.11.0

remote-wsl
ms-
0.64.2

rexx
nex
0.0.1

deepdark-material
Nim
3.3.0

ayu
tea
1.0.5

pdf
tom
1.2.0

vscode-extension-for-zowe
Zow
1.22.0

(17 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392:30443607
pythontb:30283811
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vsclayoutctrt:30451275
dsvsc009:30440023
pythonvspyt640:30450904
vscscmwlcmc:30438804
vscgsvid2:30447481
pynewfile477:30450038

@sandersn Looks like node does allow top level returns so we may want to exclude this from the default JS syntax checks
@robertblum-psi This was added in 1.65, see https://code.visualstudio.com/updates/v1_65#_syntax-error-reporting-in-javascript-files for details and how you can disable this

@mjbvz

@robertblum-psi This was added in 1.65, see https://code.visualstudio.com/updates/v1_65#_syntax-error-reporting-in-javascript-files for details and how you can disable this

Javascript and Nodejs is not Typescript and have their own conception of typing that is often radically different than Typescript's. It is a bad idea to enable this by default.   This change needs to be reverted.

@robertblum-psi This is not related to TS vs JS
These new checks enabled for JavaScript assumed that top level return statements are always a mistake (because in most JS environments they are). However it looks like node sometimes allows them, so we likely don't want to enable this specific check by default
Worth noting that returns are still invalid in node if the file is a module and using them goes against the JS spec afaik

@mjbvz
I consider the setting "javascript.validate.enable" to be misleading.  Because it turns on Typescript-like validation, it ought to be named  javascript.typescriptvalidate.enable instead.

@mjbvz:

... assumed that top level return statements are always a mistake (because in most JS environments they are). However it looks like node sometimes allows them...

Always does AFAIK.  JS and Nodejs is very flexible.
It occurs to me that some thought then ought to be given to a node flavor of Javascript, like there is one for REACT.  I am not advocating this.  I would much rather that there be no Typescript checks on Javascript code, full stop.

The checks that have been enabled are not typing related (that’s what checkJs is for).  They are (intended to be) for semantic/syntax errors that will cause an issue at runtime but were too complex to catch at parse time.  For example, previously this wasn’t caught as an error in JS files despite being a syntax error at runtime:
const foo = {
    foo = 1,
    bar = 2,
}

now it is.  These kinds of checks are a good thing.

I would much rather that there be no Typescript checks on Javascript code, full stop.

Does the mentioned setting not work for you?

I consider the setting "javascript.validate.enable" to be misleading. Because it turns on Typescript-like validation, it ought to be named javascript.typescriptvalidate.enable instead.

There seems to be some confusion here. The intent of the functionality is to error on illegal JavaScript constructs. This is implemented by using the TypeScript checker and filtering for those particular things which are also illegal in JS.
Exposing the implementation details of how this happens to the user is, of course, intentionally not done.

@RyanCavanaugh

Exposing the implementation details of how this happens to the user is, of course, intentionally not done.

Um... It clearly outputs a TS(1108) error.  That is a Typescript error.  You appear to be using a typescript parser somewhere on JavaScript code.  And, because of this one error, I now realize that many (if not all) JS errors VS Code flags are presented with Typescript error messages.

Does the mentioned setting not work for you?

I down-leveled to 1.64.2 to get work done.   And...

The checks that have been enabled are ... (intended to be) for semantic/syntax errors that will cause an issue at runtime but were too complex to detect in the parser.

If this is so, why would I want or need to enable or disable setting?  Such things should be seamless.   If they are "too complex for the parser", fix the parser.  (Or maybe, do nothing.)
Philosophically, I have no problem with fixing the very very very rare occurrence of something that fails the syntax checker when I run my program.  I occasionally had to do that even when I used Eclipse.  Good programmers test before shipping, so where is the need for this feature?  Your solution feels error prone (proven) and like a solution searching for a problem (or a very low priority one).  Perfect is the enemy of good.   What I had before was good.  No, it was very good.
Which brings us back to the setting:  My 2 cents is, if the setting is new, set it to disabled and advertise the feature.  If the setting existed and was set to false in previous releases and is now set to true, set it back to false by default.

I now realize that many (if not all) JS errors VS Code flags are presented with Typescript error messages.

This is correct; the JS intellisense experience (completions, navigation, errors, hover info, outlining, refactoring, etc) is all powered by the TS engine and they do share error codes. This has been the case since VS Code launched.
Regarding this feature, user feedback was broadly consistent that people didn't like not seeing error squiggles on syntax errors, since it's generally easier to just fix these things in the editor than wait for the script to fail to load. We launched this feature with a very constrained set of errors that we thought would 100% of the time be runtime syntax errors, but overlooked this case.
VS Code has evolved to have many new highly-requested features over the years. This one, as you can see, shipped with a bug, which we'll fix shortly. New features may appear again in the future based on user feedback; if this isn't compatible with your workflow/worldview, I would recommend disabling updates entirely.

@RyanCavanaugh
I think we may be misunderstanding each other.    I believe I became mislead by the advice on javascript.validate.enable chicken switch.  It appears to be on in 1.64.2!  At least, it is on now when I looked in settings, so it must be a feature I was otherwise okay with.  I never manually enabled it, so it must have been enabled from inception.  If this is the case, you are already fixing my bug, namely the return statement being erroneously flagged as invalid.  Thank you.
If javascript.validate.enable got enabled by installing 1.65.2, then I do have an an additional issue.  If javascript.validate.enable was disabled before this update, it should have remained disabled.
It is a best practice to advertise a new feature, rather than turning it on without permission.  Of course, there are exceptions, like security features, or enhancements that won't surprise the user or impede workflow.  Is this one the latter?  If it weren't for the return bug....  maybe?

New features may appear again in the future based on user feedback; if this isn't compatible with your workflow/worldview, I would recommend disabling updates entirely.

I remember when an update broke GIT.  I down-leveled one release and "disabled updates entirely".  Ok, I set it to manual.  GIT not working in the IDE (when it worked adequately previously) wasn't compatible with my workflow or worldview.  I set it to auto the month I found it fixed.

Maybe it would be nice to have some special form of comment to disable such errors for the specific line. E.g. I have tried on the return line comments line @ts-ignore but the error is still there. (Idela would be something like // @ts-ignore-1108 or // @ts-ignore-no-return etc.
// @ts-nocheck works for the whole file, thought. (But I would like to have rest of JS checking.)

@xmedeko See #19139.

@MartinJohns Nice, but even the current // @ts-ignore does not work for this "return ... ts(1108)" error.

Since we are talking about a tslint function, perhaps a rules property should be surfaced in settings: js-rules?

@sandersn I see "fix available".  When does that mean it will show up in a VS Code version update?  June?

typescript@next has the fix now. @mjbvz 's vscode-typescript-next extension makes it easy to use if you don't want to fiddle with settings.

I just came across this problem.  If either checkJs or @ts-check are on, it still flags it (isPlainJsFile returns false).  That seems wrong to me, but maybe I'm missing something.


Friendly Error Messages

Is there a way to get a generic string or array of strings that I can pass back to an end user? With flatten and format it looks like I'd need to iterate through properties and arrays to try to create a message, and even then it wouldn't be very friendly. Writing custom messages feels a little redundant, and wouldn't be as helpful about communicating which validation on a property actually failed. Thanks for your help!

Zod is very unopinionated about this stuff. It gives you all the information it can and lets you use whatever mechanism you like for displaying those to the end user. I'm certainly on board with trying to provide some default mechanism for simplifying this but I'm having a hard time imagining it currently. Perhaps you could flesh out this proposal so there's something more concrete to discuss?

Had the same problem, I use zod-error, even the defaults provide a usefull message:
"Code: invalid_type ~ Path: response.action~ Message: Required | Code: custom ~ Path: response.colour~ Message: Invalid input"

Thanks for the feedback. That object response is great in terms of providing specific details to a developer, and zod-error is a nice alternative for quickly concatenating it.
My hope was to be able to quickly strap zod onto a generic form that a non-tech person was filling out and could easily understand, or even just to give quick hints to another developer violating the parameter constraints for an API.
For example a contact form on a website:
{
  first_name: string().min(2),
  work_email: string().email(),
  birthday: date().min( new Date() ),
  work: {
    state: enum([ "MA", "CA", "TX" ]),
    years_of_experience: number().int().positive()
  }
}

Then a list of friendly messages like,
[
  "first_name can't be blank",
  "first_name must be at least two characters long",
  "work_email must be a valid email address",
  "birthday must be a date",
  "birthday must be later than 19/13/2022",
  "work.state must be one of the following: MA, CA, TX",
  "work.years_of_experience must be an integer",
  "work.years_of_experience must be a positive number"
]

Maybe even a formatting config/functions for properties ex:
{
  showParentProperties: true|false // "work.state" vs "state",
  formatMessage: ( val ) => val.replace( /_/g, " " ), // "first_name" to "first name"
  // or
  formatPropertyName: ''
}

What do you think?


Fix: fixed mac multi screen capture

Please provide Issues links to:

Issues: #

Provide test code:

Description
...

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Package for Debian and Ubuntu

Please support a package for Debian and
Ubuntu as is requested at https://bugs.launchpad.net/ubuntu/+bug/1333253

Still looking forward to the :package: :smile:


Fixed small typo

This typo has been resolved in this commit: https://github.com/RocketLeagueMapmaking/RL-docs/commit/43a9a0a986a1e8410c7a0e0e5b6078a5db916195, so I will close this pr (you can always make for small things like these an issue)

This typo has been resolved in this commit: https://github.com/RocketLeagueMapmaking/RL-docs/commit/43a9a0a986a1e8410c7a0e0e5b6078a5db916195, so I will close this pr (you can always make for small things like these an issue)


bug(all components):  Can't find stylesheet to import.

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
18.0.5
Description
after upgrading to<EMAIL_ADDRESS>getting below error on starting local server.
./apps/composer/src/styles.scss - Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Can't find stylesheet to import.
╷
2 │ @use '@material/feature-targeting';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
<EMAIL_ADDRESS>2:1  @forward
<EMAIL_ADDRESS>2:1      @forward
<EMAIL_ADDRESS>1:1                       @use
<EMAIL_ADDRESS>3:1          @use
<EMAIL_ADDRESS>3:1    @use
<EMAIL_ADDRESS>4:1         @forward
<EMAIL_ADDRESS>2:1                     @use
apps\composer\src\composer-theme.scss 11:1                 @use
apps\composer\src\styles.scss 2:1                          root stylesheet
This issue is coming because @material/* packages are not getting install in node_modules/@angular folder on version @angular/material version  > 18.1.2
This use to work properly earliar when we are using ~18.0.5 (we areusing m2 components not m3)
Reproduction
StackBlitz link:
Steps to reproduce:

install latest version of<EMAIL_ADDRESS>or any greater version.

Expected Behavior
This should not be giving error. And we should be getting @material/* package get install.
Actual Behavior
./apps/composer/src/styles.scss - Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Can't find stylesheet to import.
╷
2 │ @use '@material/feature-targeting';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
<EMAIL_ADDRESS>2:1  @forward
<EMAIL_ADDRESS>2:1      @forward
<EMAIL_ADDRESS>1:1                       @use
<EMAIL_ADDRESS>3:1          @use
<EMAIL_ADDRESS>3:1    @use
<EMAIL_ADDRESS>4:1         @forward
<EMAIL_ADDRESS>2:1                     @use
apps\composer\src\composer-theme.scss 11:1                 @use
apps\composer\src\styles.scss 2:1
Environment

Angular:
CDK/Material:
Browser(s):
Operating System (e.g. Windows, macOS, Ubuntu):

In the latest patch version we dropped the dependency on @material/feature-targeting so you'll have to install it yourself by adding material-components-web to your package.json.

We are an Angular and Material-based framework team. We styled all Material components according to our style guide and have heavily styled angular material component via material-components-web library.
After the MDC migration, Angular Material used the material-components-web library to style its components. Therefore, we also used material-components-web to style our components, as this library provides many APIs to directly target the Angular Material elements. Now, Angular Material no longer uses it, which broke our approach.
Is there any future-proof approach that can be used to style Material components? Can we use Angular Material CSS variables directly to style these components? Is there any document that we can refer to for all CSS variables of all components? Right now, the only way to find these variables is by using the styles tab of developer tools.


ERROR: Could not find a version that satisfies the requirement mediapipe ERROR: No matching distribution found for mediapipe

my current version for python is 3.8.2 , i tired pip install mediapipe didnt worked , also tried using git , easy , --user , running as administrator but nothing worked. can you please tell me how to install it ?

Hi @faijan22, Could you please share your error and what are the steps performed to reproduce it. Thanks!

yes sir,
C:\Users\HP>pip install mediapipe
ERROR: Could not find a version that satisfies the requirement mediapipe
ERROR: No matching distribution found for mediapipe
and some other stackoverflow answers, sir.

Please have a look at this https://github.com/google/mediapipe/issues/1674#issuecomment-788295898. Seems duplicate of your issue.

(env_mediapipe) PS C:\Users\HP\Desktop\python openecv> pip install mediapipe
Collecting mediapipe
ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none)
ERROR: No matching distribution found for mediapipe
WARNING: You are using pip version 19.2.3, however version 21.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

sir I created venv -  inside that i tried to install above error i faced .
can you please guide me from start to end ...

it worked i uninstalled my current python version 3.8.2 and installed 3.7 and then  created venv and tried to install and it worked

We are glad to know your issue resolved. So closing this ticket. Thanks

I got PS C:\Users\happypeople\PycharmProjects\1stPrj> pip install mediapipe
ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none)
ERROR: No matching distribution found for mediapipe


listAll() -> Xcode warning: Thread running at QOS_CLASS_USER_INTERACTIVE waiting on a lower QoS thread

Description
After invoking listAll() of FirebaseStorage I get the warning: .../gtm-session-fetcher/Sources/Core/GTMSessionFetcherService.m:307 Thread running at QOS_CLASS_USER_INTERACTIVE waiting on a lower QoS thread running at QOS_CLASS_DEFAULT. Investigate ways to avoid priority inversions.
I want to see no warning.
Reproducing the issue

Enforce AppCheck for Firebase Storage in Firebase console

let storage = Storage.storage()
let ref = storage.reference(withPath: .path)
let musicStorageList = try await ref.listAll()

Firebase SDK Version
10.3.0
Xcode Version
14.2
Installation Method
Swift Package Manager
Firebase Product(s)
App Check, Crashlytics, Firestore, Remote Config, Storage
Targeted Platforms
iOS
Relevant Log Output
StackTrace:
#0	0x0000000103fe933c in -[GTMSessionFetcherService sessionForFetcherCreation] at /SourcePackages/checkouts/gtm-session-fetcher/Sources/Core/GTMSessionFetcherService.m:307
#1	0x0000000103fcbcf4 in -[GTMSessionFetcher beginFetchMayDelay:mayAuthorize:mayDecorate:] at /SourcePackages/checkouts/gtm-session-fetcher/Sources/Core/GTMSessionFetcher.m:653
#2	0x0000000103fd29c8 in -[GTMSessionFetcher authorizer:request:finishedWithError:] at /SourcePackages/checkouts/gtm-session-fetcher/Sources/Core/GTMSessionFetcher.m:1727
#3	0x0000000103fd27b0 in __37-[GTMSessionFetcher authorizeRequest]_block_invoke at /SourcePackages/checkouts/gtm-session-fetcher/Sources/Core/GTMSessionFetcher.m:1694
#5	0x0000000103f91f18 in closure #3 in StorageTokenAuthorizer.authorizeRequest(_:completionHandler:) at /SourcePackages/checkouts/firebase-ios-sdk/FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift:78

If using Swift Package Manager, the project's Package.resolved
No response
If using CocoaPods, the project's Podfile.lock
No response

Is resolved with GTMSessionFetcher 3.1.0.

Yep, duplicate of https://github.com/firebase/firebase-ios-sdk/issues/10476

@paulb777, the issue was that updating to Firebase 10.3.0 didn't update GTMSessionFetcher to the latest 3.1.0 but kept the latest 2.x version. I had to manually update to 3.1.0 by explicitly adding https://github.com/google/gtm-session-fetcher.git and specifying the version range, then it worked.
This is caused by this dependency in Firebase 10.3.0.
.package(
      name: "GTMSessionFetcher",
      url: "https://github.com/google/gtm-session-fetcher.git",
      "2.1.0" ..< "4.0.0"
    ),

The alternative in Xcode would be to do File->Packages->Update to Latest Versions


Add allowed option

Fixes #23

can you add a test or two too? 👀
particularly:

setting allowed with a match in modules
setting allowed with a match in a preset

Done.


style: formatting, missing backslash

Changed heading format to add visual uniformity.
Added missing backslash.

See #16

Coverage remained the same at 92.984% when pulling 18298daa9f5b3304a6bc78655be37bc8474cb52f on yudataguy:readme-fix into e935c431de94d3e29d7f38c0fdc2d15dc408cf14 on Hrabal:master.

thanks


menu: Fix error on non-Mac platforms where talon.ui.Element not defined

I thought about using some kind of a dummy type (e.g. "object") if importing ui.Element fails. But given nothing is checking these type signatures it'd have no effect in reality...


Added LoginSaga unit tests

Added LoginSaga unit tests for issue #62

Can one of the admins verify this patch?

ok to test


Rewrite of the fanctrl.py script to improve security, compatibility, modularity and maintainability

Rewrite of the fanctrl.py script to improve security, compatibility, modularity and maintainability

Removing watchdog as a dependency.
We now use real unix sockets to communicate with the running service

We now use the embedded ectool command to fetch temperatures

The sleeping behavior will now put the service in pause (keep the active strategy) and use the default computer fan management to avoid draining battery

On crash/stop, the service will reactivate the default computer fan management to avoid damaging hardware

I kept existing commands the same as to avoid breaking existing systems

Looks good to me now, though I'll run this branch for a few days before merging it
Thanks again for your hard work @leopoldhub !

ok, I take back what I said about mixing the two temperature computing strategies.
It was a terrible idea... fans can go up pretty quickly and drop dead seconds after.
To mitigate this, I have to decrease the importance of the current temp in the ratio so much that I could pretty much delete it entirely.
I will put back the original strategy

After a week running it, LGTM

Hi @TamtamHero and @leopoldhub  just to let you know that I install the latest version using AUR and I can confirm the issue https://github.com/TamtamHero/fw-fanctrl/issues/35. If you try to start the tool using systemctl you get:
❯ sudo systemctl start fw-fanctrl.service
❯ sudo systemctl status fw-fanctrl.service
× fw-fanctrl.service - FrameWork Fan Controller
     Loaded: loaded (/usr/lib/systemd/system/fw-fanctrl.service; disabled; preset: disabled)
     Active: failed (Result: exit-code) since Thu 2024-05-16 21:15:53 EDT; 4s ago
   Duration: 27ms
    Process: 2913 ExecStart=/usr/bin/python3 /usr/bin/fw-fanctrl --config /etc/fw-fanctrl/config.json --no>
    Process: 2914 ExecStopPost=/usr/bin/ectool --interface=lpc autofanctrl (code=exited, status=0/SUCCESS)
   Main PID: 2913 (code=exited, status=1/FAILURE)
        CPU: 32ms

May 16 21:15:53 silver systemd[1]: fw-fanctrl.service: Scheduled restart job, restart counter is at 5.
May 16 21:15:53 silver systemd[1]: fw-fanctrl.service: Start request repeated too quickly.
May 16 21:15:53 silver systemd[1]: fw-fanctrl.service: Failed with result 'exit-code'.
May 16 21:15:53 silver systemd[1]: Failed to start FrameWork Fan Controller.
...skipping...

And if I try run manually the tool to see the output like the previos version I get the follow:
sudo /usr/bin/python3 /usr/bin/fw-fanctrl --config /etc/fw-fanctrl/config.json
Traceback (most recent call last):
  File "/usr/bin/fw-fanctrl", line 320, in <module>
    main()
  File "/usr/bin/fw-fanctrl", line 301, in main
    client_socket.connect(COMMANDS_SOCKET_FILE_PATH)
FileNotFoundError: [Errno 2] No such file or directory

I hope this can help. Thanks!

Hi @dariov1988 ,
there is no such thing as /etc/fw-fanctrl/config.json at the moment (it will change in #34 ), the configuration is located here instead: ~/.config/fw-fanctrl/config.json.
also, the AUR version is not uploaded by us, so we cannot guarantee it will work, please use the install.sh script for the time being.

Hi @leopoldhub, thanks for answer. The fw-fanctrl-git package is pointing to this git repository. I check when install that checkout e97f4b3 so is up to date. Your assumption that I don't have the config in etc/fw-fanctrl/config.json is not true the file exist there. The --config parameter was deprecated? But nerveless I will do the manual install and let you know...

My bad, it seems that the AUR package created it without using the install script.
The issue seems related to the COMMANDS_SOCKET_FILE_PATH (/etc/fw-fanctrl/.fw-fanctrl.commands.sock) which wasn't created as the fw-fanctrl service didn't start correctly.
as said in #35 , please use the script while waiting for the AUR maintainer to update the package.
Have a nice day

Hi @dariov1988
Yes, you are right I will work on this as soon as I have time for it.
Thank you for making this issue known to us


Known issues on Ubuntu 20.04

Hi all,
We recently discovered OpenSpiel has installation problems on Ubuntu 20.04; there is a failure when trying to install tensorflow from pip.
A quick investigation reveals that TF (both version 1.15 that we use now and version 2) requires a Python version <= 3.7 but Ubuntu 20.04 comes with Python 3.8.
We don't currently have a solution, but will be looking into it. Any tips or advice on how to fix this are welcome!

Update after some searching: looks like the nightly builds have python3.8 support as of a few days ago: https://github.com/tensorflow/tensorflow/issues/33374
So I don't expect this to be a problem for much longer, but we will have to update all of our code to support TF 2. Last I tried, about 10 of the tests were failing when we tried adding that requirement, but I guess they should not be too hard to fix.

Good news, looks like TF 2.2 now available via pip:
lanctot@:~$ pip3 install --upgrade tensorflow
Defaulting to user installation because normal site-packages is not writeable
Collecting tensorflow
  Downloading tensorflow-2.2.0rc1-cp38-cp38-manylinux2010_x86_64.whl (516.2 MB)
     |████████████████████████████████| 516.2 MB 5.5 kB/s
                .
                .
                .
lanctot@:~$ python3
Python 3.8.2 (default, Mar 13 2020, 10:14:16)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> print(tf.__version__)
2.2.0-rc1
>>>

Quick update: we've managed to get it down to 5 tests failing, and it's all uses of Sonnet that won't work with disable_v1_behavior. We tried to upgrade these uses to TF2 + Sonnet2 but it's non-trivial and will take time (too much time that we don't currently have). Since our uses of Sonnet are very simple, we plan to just remove them. This will hopefully also fix the colab issues here: https://github.com/deepmind/open_spiel/issues/191

We have now released OpenSpiel 0.1.0: https://github.com/deepmind/open_spiel/releases
Toward the end of June I plan to address these issues and finally release again once we've gotten the code to be stable under TF2.2 + Python3.8  and Travis-CI adds official support for Ubuntu 20.04.

Update: I have OpenSpiel compiling and passing all tests in Ubuntu 20.04 with TF 2.2. Details here: https://github.com/deepmind/open_spiel/pull/249 .
If Travis-CI tests pass in Ubuntu 18.04, we might import this before Travis support 20.04. I will discuss it with the team.

This is now fixed! Commit details are here: https://github.com/deepmind/open_spiel/commit/b65db20bffe0cc45c4bbb768947626693e058de1
Apologies if this causes any problems and we'll do our best to help fix them.


Let default type of macro constants match function signatures

The PAM functions all use signed int for flag parameters and for return codes, but the associated constants are generated as u32. Since version 0.55 bindgen allows to set the default signedness of macro constants.
With this the dependency on bindgen is upgraded to version 0.55 and constants are by default generated as i32, making some typecasts unneccessary.
Also explicitly forbid deriving Copy on pam_handle as that may cause subtle bugs.

LGTM! I don't track bindgen that closely so thanks for noticing!


Fwmt 385

Please review the Codacy results @KieranWardle https://app.codacy.com/app/soundargit/fwmt-job-service/pullRequest?prid=1907603


Windows: fix rounding error in container resources

Fixes an overflow error causing issues with CPU percent and Memory limits.
/cc @jhowardmsft @jstarks
Signed-off-by: Darren Stahl<EMAIL_ADDRESS>

LGTM.  Ugh, my bad

LGTM. Does it really make sense to use uint16/uint8 in spec?

@tonistiigi That was the feedback when submitting to opencontainers to change to 8/16

LGTM


feat(otel): control tracing with environment variable

Add a GOOGLE_CLOUD_CPP_OPENTELEMETRY_TRACING environment variable. I do not think we need EXPERIMENTAL in the name when it touches an experimental:: option.
Note that this option violates the "Environment variables take precedence" ADR. We have a reason to. I think it is fine as long as we communicate the expected behavior.
Touch up the documentation for the tracing option.

This change is

Should we keep this PR open?


[BUGFIX] unicode comma fix

Description
There is a unicode comma in the print statement. It needed to be replaced with an ASCII comma.
Fixes #1055
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

cc @dmlc/gluon-nlp-team

Job PR-1056/1 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-1056/1/index.html

CI will fail until https://github.com/dmlc/gluon-nlp/pull/1058 as the mxnet version used prior to https://github.com/dmlc/gluon-nlp/pull/1058 suffers from https://github.com/apache/incubator-mxnet/issues/16193

Job PR-1056/2 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-1056/2/index.html


Add disk and socket I/O to the performance harness?

The harness right now serializes a proto message to memory and parses it back. I worry that the internal structure of the returned Data could have an impact on its consumption by I/O routines (on account of unnecessary copies, data locality, fast enumeration performance, things I'm not imagining). And similarly, the specific structure of the Data returned by those routines could impact parsing.
Considering that I/O is the primary use case for parsing and serializing, would it be worth adding those numbers to the harness?

The common cases are likely protos from the network and protos from some storage system like CoreData.  Both of which are more likely to be in memory.
The footnote is distpatch_data_t actually can use separate blocks of memory under the hood, and NSData was extended to support this via enumerateBytes(_:).  If you ask for the full buffer, then under the hood it does the copy/move to get a continuous memory block to return.
My guess would be the only real perf issues would be if the usages is forcing the continuous block access and if parsing could instead by done via the sub blocks under the hood.
@allevato since you were just in there with some parsing changes, any thoughts?

I was just experimenting with the Data vs. [UInt8] issue when the thought of discontiguous data occurred to me too.
It would probably take a bit of reworking the way decoding happens to make it support enumerateBytes(_:) efficiently. I imagine that the UnsafeMutablePointer you get in that block is only guaranteed to be valid within the block, so we can't "collect" them all and then pass the whole list of them into a decoder. Instead, we'd have to add support/state to the decoder that lets it effectively pause when it reaches the end of its memory buffer and resume with a new one. It's doable, but it's not a trivial change.

fyi - dispatch_data_apply() also an an enumeration api, no other api to ask for the chunks one at a time.
On the ObjC side, some of the CodedStream code has a concept of working with a chunk of data and refreshing the buffer along the way.  But that pattern is the reverse, mid operation you can call out for an updated buffer, this would have to be unwind so the enumeration call can advance.  ☹

FWIW, C gRPC will give you (and accept) a discontiguous list of byte buffers. I'm currently not wrapping that in a custom NSData subclass, rather just copying them all into a fresh contiguous NSData, because we don't have perf measurements to know if it's worth it. But I suspect it is.

fyi - man 3 dispatch_data_create. You can create a data that uses the separate blocks under the hood, dispatch_data_t can be cast to an NSData* and passed off.


Hledger: add bash completion

Description of changes
Add missing bash completion file for hledger
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 278755 run on x86_64-linux 1

2 packages failed to build:

hledger-ui
hledger-web

7 packages built:

hledger
hledger-utils (python311Packages.hledger-utils)
hledger-utils.dist (python311Packages.hledger-utils.dist)
ledger-autosync
ledger-autosync.dist
python310Packages.hledger-utils
python310Packages.hledger-utils.dist

Result of nixpkgs-review pr 278755 run on x86_64-linux 1

9 packages built:

hledger
hledger-ui
hledger-utils (python311Packages.hledger-utils)
hledger-utils.dist (python311Packages.hledger-utils.dist)
hledger-web
ledger-autosync
ledger-autosync.dist
python310Packages.hledger-utils
python310Packages.hledger-utils.dist


Make ScrollViewActions support horizontal and nested scroll views

Blind fix, I didn't test it.  Trying to fix exception below when trying to scroll to end NestedScrollView. While I'm at it, added HorizontalScrollVIew
<androidx.core.widget.NestedScrollView
    android:id="@+id/nested_scroll">
    ...
</androidx.core.widget.NestedScrollView

val scroll = KScrollView { withId(R.id.nested_scroll) }

scroll {
    scrollToEnd()
}

androidx.test.espresso.PerformException: Error performing 'Scroll ScrollView to end' on view '(view.getId() is <...id/nested_scroll>)'.
Caused by: java.lang.RuntimeException: Action will not be performed because the target view does not match one or more of the following constraints:
(is assignable from class <class android.widget.ScrollView> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

Thanks for the contribution. Could you please add UI tests for each case?


Moved version checking to pree-exec hook

Description
Moved the version checking to the preexec hook, removing the channel
Type of Change

[ ] Bug Fix
[ ] New Feature
[ ] Breaking Change
[x] Refactor
[ ] Documentation
[ ] Other (please describe)

Checklist

[x] I have read the contributing guidelines
[x] Existing issues have been referenced (where applicable)
[x] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[x] All code style checks pass
[ ] New code contribution is covered by automated tests
[ ] All new and existing tests pass

Codecov Report

Merging #164 (375925f) into main (e6f8400) will not change coverage.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #164   +/-   ##
=======================================
  Coverage   31.67%   31.67%
=======================================
  Files          28       28
  Lines        3643     3643
=======================================
  Hits         1154     1154
  Misses       2398     2398
  Partials       91       91

Impacted Files
Coverage Δ

cmd/version/version_check.go
0.00% <0.00%> (ø)


GH-2: Migrate to use gpii-launcher...

In place of the one-off argument parsing in the existing package, we have discussed using gpii-launcher.

This pull request is AMAZING, @the-t-in-rtf. I've left some comments/questions just so I fully understand where we're going with this, but I think it's very close to ready to go in, and is a huge improvement. Thank you so much!

Hi, @colinbdclark.  After careful consultation with Antranig, I have finished the updates we discussed.

Hey @the-t-in-rtf, I finally got around to cutting a Flocking 0.2.0 dev release. Here's the super-top-secret incantation for your dependencies block: "flocking": "0.2.0-dev.20170206T221943Z.fb09a52"

Thanks @colinbdclark.  I updated the deps for flocking and also gpii-launcher, which was previously using a "two point faux faux" version of infusion that resulted in deprecation warnings.


drive.google.com refused to connect

trying to convert document to html I get this error
"drive.google.com refused to connect."

Probably this: https://github.com/evbacher/gd2md-html/wiki#drivegooglecom-refused-to-connect
But if not, please reopen this issue.


Wildcard parameter not documented on Create Private Domain

The endpoint to create a new private domain doesn't document the boolean json parameter wildcard. The parameter is used by the CLI. Please include if it is required and if not what the default value is.
http://apidocs.cloudfoundry.org/230/private_domains/create_a_private_domain_owned_by_the_given_organization.html

@cgfrost
That is not a field that has any meaning or is used in any way by private domains.
The cli probably sends it because of some legacy endpoints that are not longer responsible for domain management.
Thanks,
@zrob & @fkotsian


extensible <IP_ADDRESS>

@matsubara0507 I'm not sure what changed here, but rakuten-<IP_ADDRESS> fails to build against aeson-<IP_ADDRESS> even though both of them are already in nightly, possible some other package that was updated and is causing this? I was able to reproduce the failure locally with cabal-install.
I'll disable rakuten for this nightly and then post the changelog.
[ 3 of 10] Compiling Rakuten.Types.Class ( src/Rakuten/Types/Class.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Types/Class.o )

src/Rakuten/Types/Class.hs:29:10: error:
    • Overlapping instances for FromJSON (Record xs)
        arising from a use of ‘aeson-<IP_ADDRESS>:Data.Aeson.Types.FromJSON.$dmparseJSONList’
      Matching instances:
        two instances involving out-of-scope types
        (use -fprint-potential-instances to see them all)
    • In the expression:
        aeson-<IP_ADDRESS>:Data.Aeson.Types.FromJSON.$dmparseJSONList @Record xs
      In an equation for ‘parseJSONList’:
          parseJSONList
            = aeson-<IP_ADDRESS>:Data.Aeson.Types.FromJSON.$dmparseJSONList
                @Record xs
      In the instance declaration for ‘FromJSON (Record xs)’
   |
29 | instance Forall (KeyValue KnownSymbol FromJSON) xs => FromJSON (Record xs) where
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

aha it was  because of extensible-<IP_ADDRESS>, I'll add an upper bound for that instead.
For the interested:
adam ~/r/3/rakuten-<IP_ADDRESS> /master $ cabal new-build . --constraint 'aeson<<IP_ADDRESS>' --dry
Resolving dependencies...
Build profile: -w ghc-8.2.2 -O1
In order, the following would be built (use -v for more details):
 - aeson-<IP_ADDRESS> (lib) (requires build)
 - extensible-<IP_ADDRESS> (lib) (requires build)
 - req-1.0.0 (lib) (requires build)
 - rakuten-<IP_ADDRESS> (lib) (configuration changed)
adam ~/r/3/rakuten-<IP_ADDRESS> /master $ cabal new-build . --constraint 'extensible<<IP_ADDRESS>' --dry
Resolving dependencies...
Build profile: -w ghc-8.2.2 -O1
In order, the following would be built (use -v for more details):
 - extensible-<IP_ADDRESS> (lib) (requires download & build)
 - rakuten-<IP_ADDRESS> (lib) (configuration changed)
adam ~/r/3/rakuten-<IP_ADDRESS> /master $ cabal new-build . --constraint 'extensible<<IP_ADDRESS>'
Build profile: -w ghc-8.2.2 -O1
In order, the following will be built (use -v for more details):
 - extensible-<IP_ADDRESS> (lib) (requires download & build)
 - rakuten-<IP_ADDRESS> (lib) (configuration changed)
Downloading extensible-<IP_ADDRESS>...
Configuring extensible-<IP_ADDRESS> (lib)...
Building extensible-<IP_ADDRESS> (lib)...
Configuring library for rakuten-<IP_ADDRESS>..
Preprocessing library for rakuten-<IP_ADDRESS>..
Building library for rakuten-<IP_ADDRESS>..
[ 1 of 10] Compiling Paths_rakuten    ( /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/autogen/Paths_rakuten.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Paths_rakuten.o ) [/Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/autogen/cabal_macros.h changed]
[ 2 of 10] Compiling Rakuten.Types.Base ( src/Rakuten/Types/Base.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Types/Base.o ) [Data.Extensible changed]
[ 3 of 10] Compiling Rakuten.Types.Class ( src/Rakuten/Types/Class.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Types/Class.o )
[ 4 of 10] Compiling Rakuten.Types.Error ( src/Rakuten/Types/Error.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Types/Error.o )
[ 5 of 10] Compiling Rakuten.Types.Ichiba ( src/Rakuten/Types/Ichiba.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Types/Ichiba.o )
[ 6 of 10] Compiling Rakuten.Types    ( src/Rakuten/Types.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Types.o )
[ 7 of 10] Compiling Rakuten.Client   ( src/Rakuten/Client.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Client.o )
[ 8 of 10] Compiling Rakuten.Endpoints.Ichiba ( src/Rakuten/Endpoints/Ichiba.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Endpoints/Ichiba.o )
[ 9 of 10] Compiling Rakuten.Endpoints ( src/Rakuten/Endpoints.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten/Endpoints.o )
[10 of 10] Compiling Rakuten          ( src/Rakuten.hs, /Users/adam/repos/3rd/rakuten-<IP_ADDRESS>/dist-newstyle/build/x86_64-osx/ghc-8.2.2/rakuten-<IP_ADDRESS>/build/Rakuten.o )

@bergmark
I fixed this failure by updating rakuten package.
Please remove extensible upper bound because I added lower bound to rakuten package for extensible-<IP_ADDRESS>.


Update dependencies.

The goal is to update Rails to fix the mime type bug, but all dependencies have bee updated to the latest allowed by Gemfile with a bundle update.
Fixes new linter errors created by upgrading rubocop-govuk

This is a bit of a mess. The linter updates break the tests (for good reason, so going to reassess this.


Upgrade react-router

React router v4 is current (as of 3/30/17). Let's get it upgraded.

hey jedireza, i'm on it.

I started working on this earlier today. It looks like v4 was released 3 weeks ago. Is there any other indication that this is a pre-release?

sorry, u're totally right.
I thought it was pre-released because v4 was released 23 days ago and a v3.0.3 was released 6 days ago, doest it even make sense?


Allow --use-application-binary using app-bundles on ios

Tests added. The code is updated to improve error messaging.
I added IOSWorkFlow.getPlistValueFromFile to enable mocking, and adapted all uses of plist_util/getValueFromFile.
PTAL


[BUG] Install re-uses config from previous installation

Describe the bug
Installing over an existing node seems to use the old config; however, I'm not positive this is the case - please provide guidance.
I suspect this is happening, because /var/log/console.log contains messages with timestamps from when the previous installation was running - see "Additional context" below.
To Reproduce
Steps to reproduce the behavior:

Create a harvester cluster on some other node(s)
Setup the hardware / resources for a clean, never-installed machine
Install Harvester on this clean machine using "Create a new cluster" (note: for me, this installation failed to come up - see Additional context below).
Reboot
Install again on the same machine from steps 2-4, but this time choose "Join an existing cluster"
Join the cluster from step 1 (other nodes)
Reboot

Expected behavior
Expected: new config is used
Actual: I'm not positive, but it looks like the old config is used (join an existing cluster).
Support bundle
I'm not able to create a support bundle, because Harvester never starts (it's stuck using my old config). I need a little help figuring out what files / information will help you at this point.
Environment

Harvester ISO version: 1.0.2
Underlying Infrastructure: baremetal on HP ProDesk G6.

Additional context
When the installation failed the first time (trying to create a new cluster), the console never showed "Ready", the UI never came up on the VIP, and I saw messages like these in /var/log/console.log:

time="2022-07-07T14:51:042" level=info msg="state: {installed:false firstHost:false managementURL:}"
time="2022-07-07T14:51:072" level=error msg="exit status 1The connection to the server <IP_ADDRESS>:6443 was refused - did you specify the right host or port?\n”
time="2022-07-07T14:51:072" level=error msg="exit status 1%!(EXTRA string=)"

This may have been a configuration error on my part, but I'm not positive. After re-installing and choosing "Join an existing cluster", messages from the previous installation (days prior) are still there.
Since I didn't have physical access to the machine at the time to change USB media, I tried to reproduce / confirm /var/log/console.log was carried over from a previous installation by truncating it and writing some gibberish to the file. After re-installing, the old file was still there (with new messages appended).
I also saw some warnings during installation:

@tjjh89017 Please help check this issue, thanks!

To Reproduce Steps to reproduce the behavior:

Create a harvester cluster on some other node(s)
Setup the hardware / resources for a clean, never-installed machine
Install Harvester on this clean machine using "Create a new cluster" (note: for me, this installation failed to come up - see Additional context below).
Reboot
Install again on the same machine from steps 2-4, but this time choose "Join an existing cluster"
Join the cluster from step 1 (other nodes)
Reboot

@johntron Could you help to add some details about Reproduce Step?
For example, could you add node ID for those steps. (on some other nodes(s) -> Node A, Node B)
Will you use same config or same VIP/IP setup in new cluster while old cluster is still alive?
Thanks a lot

@johntron Could you help us to add some details?
We cannot reproduce this on our side.
Thanks a lot


add an abbreviation for "--accept-configuration-agreements" option. For example --aca.

Description of the new feature / enhancement
When you authoring dsc configurations you often experiment with different configuration files, retyping the long command "winget configure --accept-configuration-agreements .yaml". Long options and commands are constant sources of typos. Please provide an abbreviated option like --aca to simplify rapid development and reduce mistakes and retypes.
Proposed technical implementation details
No response

Shortened agreements aren't allowed for explicit arguments like terms, configuration agreements, source agreements, or package agreements.


Logo isn't appearing in cPanel

Hi folks,
The LetsEncrypt logo isn't appearing in cPanel/WHM.
It tries to load:
https://srv1.testserver.com:2083/cpsess151211/3rdparty/letsencrypt-cpanel-ui/img/icon.png
Any idea?
Template: paper_lantern
WHM 54.0 (build 22)

Hi,
I have installed today the script and I can confirm that cpanel icon is missing.

@mrgeneral @ghesi, cPanel icon is loading fine for me. Could you please reinstall this plugin? and see if it is loading or not?

Hello,
Solved, thank you very much for the help and for the great plugin. It is excellent!

@mrgeneral :+1:

@mrgeneral :+1:


fix(table): fixed late loading

Closes #1191
Summary
Fixes the stateful table from ignoring totalItems prop
Change List (commits, features, bugs, etc)
Added story to show the ability to have a totalItem different than the current dataset size
Acceptance Test (how to verify the PR)
Stateful Table with Late load data, click the button and observe

Nice work. Just a couple of things. Is it possible to create story where the pagination works and still demonstrate the point of this fix?

This is fixed in the latest, let me know if that is sufficient.

:tada: This PR is included in version 2.126.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Enhance] Add an example of pcd to bin format.

Motivation
The motivation of this PR is to add an example of pcd to bin format file.
Modification

customize_datasets.md
Added installation examples and code examples for converting pcd to bin files using the pypcd tool in this document.

BC-breaking (Optional)
No.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects.
The documentation has been modified accordingly, like docstring or example tutorials.

@ZwwWayne Ready to be merged

LGTM. It's ready to be merged. @ZwwWayne


Glossary of Terms

Project Description
Define all the jargon used in Cosmos. Will be used on the webpage and in the Academy.
Project Deadline: Apr 4

https://github.com/tendermint/aib-data/blob/develop/json/glossary.json

this is done. terms that still need to be explained are self-documented in the glossary.json


Add GitHub Actions Tests

Add a GitHub Actions workflow that runs the tests and benchmarks.

needs more and better tests, but the workflow is working as of 588f14b2c8b3e1d7e9dad5140758374086354eaa