lib/orphans: add utility functions to find orphan packages

Signed-off-by: lucasew<EMAIL_ADDRESS>
Motivation for this change
Easily find orphan packages
Sadly evaluation errors halt the function, I am already using tryEval but some errors are not catched by that function.
BTW it found some warnings still from the stdenv.lib deprecation and a error in androidndk-pkgs.
Very cool. If someone knows a way to reference where do the unmaintained derivation lives I will add to this function, didn't found a reference using nix-repl.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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 wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.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.

It's normal to stack overflow on really big package sets like pkgs and python3Packages.
I might implement a cycle tracker tomorrow

BTW it found some warnings still from the stdenv.lib deprecation

https://github.com/NixOS/nixpkgs/pull/145394

How can I add this function documentation to the manual?


Adding options to not trim new lines in text

Hi there,
Thanks for this project, it is going to save quite me some time!
While trying to use the library, I have encountered a restriction.
In the DocReader  method private static string TrimText(string content), it will replace all new lines with a space, which is actually quite annoying for my case, as I'm writing my C# documentation using mainly markdown, so I would like to keep intact space information.
https://github.com/kzu/NuDoq/blob/1b83dae15a9e5d0cb7617068cbea225e3439f6c5/src/NuDoq/DocReader.cs#L302-L305
What do you think about having a way to pass some options to the DocReader.Read method to allow to control a bit more these behavior? We don't need to settle on all options.. I would just add the one that I'm interested and we could add more after.
Would you accept a PR for that? (I would transform internally the DocReader to a non static class, keeping the static methods for Read, but using instance methods internally with the options, to allow to pass through some options, it would not bring much trouble to the existing code)

ah... not sure the project is still active actually...

FYI, I have done something in the lines of this commit

yeah, didn't set up CI up-front, so need to do that so merging PRs results in new packages :(
The commit looks 👍

Heya @xoofx, I revived this project after noticing Scriban has a copy of the dll in the repo :). So maybe you can give it a try and if it all works as expected (all issues fixed now!), maybe you can switch to the package again? I just pushed 2.0.0-beta, hoping to make it stable once it cools down for a few days.

Heya @xoofx, I revived this project after noticing Scriban has a copy of the dll in the repo :). So maybe you can give it a try and if it all works as expected (all issues fixed now!), maybe you can switch to the package again? I just pushed 2.0.0-beta, hoping to make it stable once it cools down for a few days.

Oops, sorry, missed this notification. Some just did a PR with the package update here. Gonna give it a try. Thanks!


Gws/StaffRecord

Click here if you want to create rubocop's auto-correct Pull Request

See the documentation if you want to get more information about auto-correct.
Document

Changes Unknown when pulling 60e8bec99afee89ff5a16b52392e3734fe819090 on tany:gws into ** on shirasagi:master**.

Changes Unknown when pulling b3d2f38dd71c99ec1c36097a138cc1d88d15f9c4 on tany:gws into ** on shirasagi:master**.


Changed SqlServerLockStatementProvider to not use the SERIALIZABLE lo…

The SERIALIZABLE locking hint causes SQL Server to use key range locks which unnecessarily blocks unrelated consumers. This problem gets particularly obvious when using the TX outbox, causing consumers to time out waiting to read the InboxState entity.

Manually merged, thanks!


Adopt Prettier

Adopt https://github.com/prettier/prettier and run it on CI.
Changes

Added npm run prettier-check that outputs any differences with the expected format
Added npm run prettier that rewrites files with prettier
Updated circle.yml to run npm run prettier-check
Ran npm run prettier over the code and committed the change

Merged #20 - mind fixing the conflicts before review?

@chrisberthe done

Looks good on my side 🎩👍.

I also updated the contributing doc https://github.com/Shopify/theme-lint/commit/ddb21067788027636209728b2a5ee3b8c78caec1.


Changing PX4IO_SERVO_COUNT to 12 bricks Pixhawk?

Hello, I changed PX4IO_SERVO_COUNT from 8 to 12 in px4io.h and it permanently bricked my px4 servo outputs. I tried this again on my second pixhawk, and it bricked that one too!
It still connects to QGC, but even after programming it with ardupilot and px4, there is still nothing on the servo outputs. Why is this? For context, I am working on using the AUX channels controlled by px4fmu as 4 extra outputs available with px4io.

I think force-reflashing the IO board should fix it.

To that, press the safety switch, then power on the Pixhawk, then let it go. It should auto-update

@LorenzMeier That fixed both of them! Any idea why this happens?

You uploaded bad code and bricked the application binary. That method avoids ever running your (broken) application binary and flashes the default instead.


Remove 2.11.

Description
Removing 2.11 because of #582. I am 99.9% sure this is not a client problem, see https://github.com/opensearch-project/OpenSearch/pull/11024#issuecomment-1811264963.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Do we also want to remove it from COMPATIBILITY.md?

No I think the test is wrong, but I don't know how to fix it.


Rename default.js to dark.js

cc @chrispader
As part of Theme Switching, we will need rename our theme file to dark.js. This will impact nearly every file, so we will hold on completing this to after the migration when we "go live"

OPEN THIS AGAIN MELVIN!!!1!1!


No ?Simple

Request for ?simple to come back for html. This can (and will be used by me lol) for minion sheet data.
The old website had ?simple which had all the data in a table

I didn't realize you made this issue but I made one for the same thing here https://github.com/skyblockstats/skyblock-stats/issues/12 so i'll close this issue in favor of that one


fix: Upgrade oc to 4.4 and use UBI8 base image

Description

Upgrade Openshift cli to 4.4 to fix failure when running with OSD 4
Use UBI8 as base image
Move ServiceAccount and RoleBinding declarations into single template

Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

@arajkumar Your image is available in the registry: docker pull quay.io/openshiftio/rhel-fabric8-analytics-worker-scaler:SNAPSHOT-PR-71

@arajkumar Your image is available in the registry: docker pull quay.io/openshiftio/rhel-fabric8-analytics-worker-scaler:SNAPSHOT-PR-71

Changes look fine to me but do we need this component to be deployed. My thinking is that it is not required as we are checking the status of the queue everyday and we can manually update the number of replicas. We are not a real time system where we have very strict SLA's for ingestion. @yzainee

@prashbnair , Me too under same impression as you and in favour of scrapping this.

@prashbnair As discussed earlier, this is not something that we need as of now. We can keep the repo and use it if needed. Currently, with the new ingestion process, the scaler will never be used


Eye/Facial Coordinates in JSON?

Hi there, is it possible to print/output the Facial Coordinates/Pupil Localization pointers in the JSON file with -json itself? Or any work around for the same?
or any other way to print the exact coordinates of the pupils or the other facial features?

Currently only the face coordinates could be exported into a JSON file, but this can be extended to support the pupil and facial coordinates.

Thanks for the your quick response!
But can this still be done if I create an API for the same or a Python program? Just need to output the coordinates somewhere.

You mean would you like such a feature to be included into the library? If that's what you want I can take care of it.

Would be awesome! or maybe a way to just get specific features in the JSON? Both would be helpful, or whatever is possible according to you.

@rgvxlens i've extended the json marshalizer to include the pupils/eyes localization and landmark points detection coordinates. Currently the json export is looking something like this:
[{
	"face": {
		"x": 129,
		"y": 131,
		"size": 158
	},
	"eyes": [{
		"x": 116,
		"y": 107,
		"size": 12
	}, {
		"x": 114,
		"y": 162,
		"size": 13
	}],
	"landmark_points": [{
		"x": 103,
		"y": 185,
		"size": 19
	}, {
		"x": 91,
		"y": 168,
		"size": 19
	}, {
		"x": 103,
		"y": 147,
		"size": 19
	}, {
		"x": 115,
		"y": 152,
		"size": 19
	}, {
		"x": 113,
		"y": 175,
		"size": 19
	}, {
		"x": 153,
		"y": 134,
		"size": 19
	}, {
		"x": 184,
		"y": 113,
		"size": 19
	}, {
		"x": 192,
		"y": 133,
		"size": 19
	}, {
		"x": 179,
		"y": 134,
		"size": 19
	}, {
		"x": 183,
		"y": 160,
		"size": 19
	}]
}]

You might ignore the size in eyes and landmark_points since they are not really relevant.

What does the size denote here?
For eg here:
"eyes": [{
"x": 116,
"y": 107,
"size": 12
}, {
"x": 114,
"y": 162,
"size": 13
}],
Does the size here denote pupil size?

Thanks for this! What does the size in the face denote?

The dimension of the detected face region.

Alright, i'll give it a look and report back. Thanks a lot and kudos to you for this amazing project.

Hey! I had a few questions, I hope you don't mind answering them:

Why is my output always like this?

[{"Min":{"X":33,"Y":81},"Max":{"X":243,"Y":243}}]

This is the command that I'm running:
pigo -in /home/rgvx/githubstuff/RedEyeRemover/test.jpeg -out output.jpg -cf /home/rgvx/githubstuff/pigo/cascade/facefinder -mark -pl -plc /home/rgvx/githubstuff/pigo/cascade/puploc  -json
Is it a problem with the command I'm running?

What is the format of the "size" value? Is it in Pixels?

Thanks!

Every value in the json file is in pixel format. The size value as I mentioned earlier in the thread represents the detected face rectangle size, but since this might be relevant only for the detected face you can ignore on pupil/eyes localization and facial landmark detection, but it's up to you.

Oh, thanks! Got it, I'm now looking into calculating/detecting the radius of the eyes with the coordinates that I've obtained.

You don't need to calculate the radius of the eyes, you only need to multiply the scale value with a percentage, 0.4 should give you an approximate correct result.

That's exactly what I'm looking for. Thank you so much mate! What exactly is that value? Can you give me a bit of a background on that? Just so that I have some background info on that.

@rgvxlens i'm really glad that it worked for you! ;)


Cant start server

Hey guys,
i can't start the server.
Webcam: Logitech C525
This is the message:
./v4l2rtspserver /dev/video0
2016-10-02 20:56:18,647 [NOTICE] - /home/patrick/v4l2rtspserver/src/main.cpp:352
    Create V4L2 Source.../dev/video0
2016-10-02 20:56:18,648 [NOTICE] - src/V4l2Device.cpp:115
    driver:uvcvideo 4000001
2016-10-02 20:56:18,649 [NOTICE] - src/V4l2Device.cpp:119
    /dev/video0 support streaming
2016-10-02 20:56:18,649 [ERROR ] - src/V4l2Device.cpp:159
    Cannot set format for device:/dev/video0 Invalid argument
2016-10-02 20:56:18,650 [ERROR ] - src/V4l2Device.cpp:65
    Cannot init device:/dev/video0
VIDIOC_STREAMOFF: Bad file descriptor
VIDIOC_REQBUFS: Bad file descriptor

Hi,
I guess your device doesnot support H264 format.
You could check that using v4l2-ctl --list-formats.
In order to compress it, you could use an intermediate virtual device.
Regards,
Michel.

v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'YUYV'
	Name        : YUV 4:2:2 (YUYV)

	Index       : 1
	Type        : Video Capture
	Pixel Format: 'MJPG' (compressed)
	Name        : MJPEG

Hi,
Then your device doesnot support H264 capture.
A possible way that is describe in the README.md involve v4l2loopback and v4l2compress_h264.
modprobe v4l2loopback video_nr=10
v4l2compress_h264 /dev/video0 /dev/video10 &
v4l2rtspserver /dev/video10 &

Regards,
Michel.

Thank you very much! :)

what if the output is:
v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index       : 0
Type        : Video Capture
Pixel Format: 'RGGB'
Name        : 8-bit Bayer RGRG/GBGB
Index       : 1
Type        : Video Capture
Pixel Format: 'RG10'
Name        : 10-bit Bayer RGRG/GBGB

Index       : 2
Type        : Video Capture
Pixel Format: 'BG10'
Name        : 10-bit Bayer BGBG/GRGR

Index       : 3
Type        : Video Capture
Pixel Format: 'RG12'
Name        : 12-bit Bayer RGRG/GBGB

Create V4L2 Source.../dev/video1

VIDIOC_STREAMOFF: Bad file descriptor
VIDIOC_REQBUFS: Bad file descriptor

Hi AndreV84,
The answer is the same as before, this format are not supported as an RTP payload by live555.
Then it needs some conversion to one of the format supported by this program (JPEG/MJPG/H264,VP8 and in experiment VP9/HEVC)
Best Regards,
Michel.

hi mpromonet,
thank you for your response.
it seems that I shall install https://github.com/mpromonet/v4l2tools which seems to be a challenge returning errors...

can that be used: video/x-raw,width=640,height=480,format=I420 ?

I had the same problem and solved it by adding the line:
bcm2835-v4l2
to sudo vi /etc/modules
A good guide would be the following link
https://forum.synology.com/enu/viewtopic.php?t=98870
Hope this helps :) :)


Adding interactivity to data points in Area and Line chart

Description

We want to add interaction on the highlight data points when hovering on a stacked area or line chart.
Motivation and Context

More about this in https://github.com/eventbrite/britecharts/issues/305
How Has This Been Tested?

Tested manually, we couldn't figure out the way of triggering the highlight dots
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Cool, LGTM and thanks for adding the window fix


DPT should return error when there's no reachable endpoints

Right now it hits a dead end and silently fails.

Closed through https://github.com/sorpaas/devp2p-rs/commit/e6c5f2d4b478858ded114e090ecaff6737f90889


Consider references and named references instead of using Registry directly

I wanted to implement it ages, ages ago, but never got to it.
Basically, the idea is to avoid Celluloid::Actor[:foo] completely (due to race conditions, etc.)
Instead, one could do something like:
named_ref = Celluloid::NamedRef.allocate(:foo) # fails if already used
named_ref.actor = FooActor.new

ref_to_same_actor = Celluloid::NamedRef.get(:foo) # fails unless name exists
ref_to_same_actor.actor.do_something

ref_to_same_actor = Celluloid::NamedRef.wait(:foo) # waits until an actor is available under this name
ref_to_same_actor.actor.do_something

# swap out actor
ref_to_same_actor.actor = BarActor.new
named_ref.actor.do_something # all refs now refer to BarActor

References could solve many API problems, including those with supervisors, e.g.:
supervised_ref = Celluloid::SupervisedNamedRef.allocate(:foo, FooActor) # fails if already used
supervised_ref.supervise
supervised_ref.actor = some_new_actor # fails, because it's a SupervisedNamedRef
supervised_ref.actor.do_something # guarantees to contain last restarted actor
supervised_ref.do_something_useful # delegation
supervised_ref.identity # => :foo

Ideally, you could pass references as actors all around, and internally Celluloid::Actor[name] would be called every time for you. You could use those references as any normal Ruby objects, and users could subclass to customize the functionality.
These reference class would be much easier to test - and wouldn't need "requiring behaviors" everywhere, since they introduce thread-safe composition.
Other suggestions:
:allocate - fails if name is used
:new - creates a reference to a possibly existing entry in the Registry
:[] - works like new
:wait - blocks the caller until an actor object is available under that name
This requires having access to objects by an id:
:rename - makes the referenced actor no longer accessible by that name (name becomes available, but all existing references still provide the same object)

Related issues/discussions:

https://github.com/celluloid/celluloid-supervision/issues/18
https://github.com/celluloid/celluloid/pull/504#issuecomment-118717976

I'd suggest looking into these:
http://doc.akka.io/docs/akka/snapshot/general/addressing.html
https://github.com/uwiger/gproc
Akka specifically supports references blocking/buffering messages while a supervisor is restarting an actor. That should fix some of the raciness.

I will look into those. The only issue with the Celluloid[:actor] style registry is in the resetting of the value to nil during a restart, so if that material covers buffering/blocking while supervisors restart actors like you say, "storing named references" is unnecessary as the registry will perform its intended function. That and celluloid/celluloid-supervision#18 cover the whole situation... with maybe some tweaks to actor proxies also.

I'm warming up to this.

The whole registry concept is broken IMHO, the global state is a pain in the arse.

@ioquatix the entire purpose is to provide a global naming service. I think you'd be hard pressed to find an actor system that doesn't have one.


No Pokemon

It doesn't seem to be catching Pokemon, only spinning pokestops and getting EXP.

Actually, it does catch Pokemon but the inventory gets bugged and shows none. I have 9/250 but nothing is being shown in the inventory.

This is with ptc

hmm, could you please paste some log here?
The get_inventory only show delta items.

No no, I mean I would run the bot then go on the game via the app and it would show I have no Pokemon but the count was 9/250, so I do have Pokemon they're just not displaying? Only happened after running the bot, has happened on two accounts.

Just checked the journal and it only says it's receiving items from PokeStop.
No Pokemon catching.

have you finished the tutorial ?  The pokemon caught before tutorial will not be listed there.
And you may want to restart the game to check the status.
Suggest  not to login them at the same time.

Its catching the pokemon.

I have the same problem. No pokemon being caught, just the pokestops being collected

same experience, logged in via google and it seems to only be spinning http://i.imgur.com/OKP1FL1.png

I'm having the opposite problem. Seems to be catching pokemon, but not spinning any pokestops even with the -s flag.

WIll it drop the loest pokemon for a pokecoin/candy ore just release it?

@crack00r a feature listed is "Release low cp pokemon"
I'd assume it would keep higher cp pokemon and release the lower.

@D3C1V3R  yes, i know, but when you send ot to doktor bla, you get a candy to upgrade the same pokemon, ore when he just delete it, you get nothing ;)

@crack00r there is no way to "just delete" pokemon.. they get transferred for candy yes.

but it seams it send it do the doc
"responses": {
"RELEASE_POKEMON": {
"result": 1,
"candy_awarded": 1

Yes @crack00r pokemon with a cp of 100 or lower are transferred for candy.

Ok, pokemons work, but no spinning, even with -s  ;)

Is there a possibility that there is a priority of pokestops over pokemon? Because I'm seeing a pattern of it repetitively spinning/checking pokestops and ignoring pokemon (If it is working)

Yea mine's doing the opposite. Catching tons of pokemon but isn't spinning stops at all as far as I can tell.

I'm assuming that previous versions were bugged and I highly reccommend getting the latest build (It fixed my isse) @MtDubious @into

yep...

close for now


Multiple notebook open More of Q than issue

If I have multiple jupyter lab ipynb open, then seems like I goto the latest when I invoke
 IPython --existing
How do list & select a specific one?
Thanks,

If the notebook is python, you can use %connect_info magic inside the notebook. Somewhere in there there will be a line like
jupyter <app> --existing kernel-12345.json

pass the json name after --existing also to this plugin.

Worked beautifully. Thank u,

no problem!


Fix binlog artifact upload

@heaths I was trying to set System.Debug=true on a pipeline and keep hitting failures around the binlog stuff. I don't think this has ever worked I've fixed this so that the logs get generated and uploaded. I also noticed that the binlog only gets uploaded for the tests today if you want the build and packaging we still need to add a similar upload step in ci.yml.

The mac failure is unrelated to my changes so overriding that check.

aaa

aaa


Why API300::Synergy::LogicalSwitchGroup ?

Scenario/Intent
I'm trying to understand why the SDK has the API300::Synergy::LogicalSwitchGroup if it won't do anything. If the resource cease to exists probably we don't want it to be there instead creating and making all methods unavailable.
Environment Details

OneView SDK Version: 3.1.0

Steps to Reproduce
Open lib/oneview-sdk/resource/api300/synergy/
Expected Result
Probably I won't need to have the logical_switch_group.rb file.
Actual Result
I would see the logical_switch_group.rb file implementing the LogicalSwitchGroup without any method available.

This thinking works for logical_switch too.
The documentation has not logical_switch reference.

Good point. Shall I remove it from my open PR too?

No. I was wrong. LogicalSwitch have actions for another API.


R pseudoatom is replaced with R# (RGroup) after saving in Extended SMILES and CML formats.

Steps to reproduce

Create any structure, for example, chain.
Click Periodic table.
Open Extended tab.
Click the "R" button in the Special nodes section, click the OK button and click any structure atom.
Click "Save as" button. Select Extended SMILE format. Click OK.
Clear the canvas.
Open the structure saved at 5th step.

Actual result
The R pseudoatom is replaced with R#.

If user clicks R# with Selection Tool R-Group window is opened. If user clicks Check Structure, the window contains the information "R-Groups warning: Structure contains RGroup components".

Expected result
R should stay R pseudoatom after saving in Extended SMILE and should not became RGroup.
The same problem is when user saves the structure in CML-format.

R gets replaced with R# before save, even without conversion to SMILES or any other format:

Related issue: https://github.com/epam/Indigo/issues/380


Dev set not used

I have tried implementing your code and it seems to work fine. There is however one issue I think... You have a dev set from the sentihood-dev.json file which you never seem to use. You specify a function, get_dev_examples, in the processor.py file but you never use it in either run_classifier_TABSA.py or evaluation.py. As far as I understand, you use the test set for both evaluation during and after training. Is this right or am I missing something?

You are right. Since the model is BERT and the recommended epoch is 3 or 4, we just fix the epoch as 4 and output the results of the test set when training. We take the one of epoch-4 to do evaluation.
You can also first do eval on dev set and choose the model that performs best on it.
By the way, at the beginning of our experiment, we do evaluate on dev set for observation and it is undoubtedly necessary. However, in the subsequent experiments, since we have fixed the number of epoch as 4, for convenience, we directly output the results of the test set when training.


[C++] ThreadPool code minor optimization

Describe the enhancement requested
Minor optimize the code of thread pool executor
Component(s)
C++

Issue resolved by pull request 44812
https://github.com/apache/arrow/pull/44812


fix: fix ut test_rename()

When executing tests concurrently, test_rename_symbol_on_file() will modify the test file, which will affect the results of test_rename() and cause occasionally failures.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):
kclvm/tools/src/LSP/src/rename.rs

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
52942

Relevant Lines:
74390

💛  - Coveralls


[opentelemetry-collector] Cannot disable logs/metrics with kubernetesAttributes preset

When enabling the kubernetesAttributes preset and attempting to disable the logs, traces or metrics pipeline fails:
❯ helm template --debug --set presets.kubernetesAttributes.enabled=true --set mode=deployment --set config.service.pipelines.metrics=null --version 0.38.2 open-telemetry/opentelemetry-collector
install.go:178: [debug] Original chart version: "0.38.2"
install.go:195: [debug] CHART PATH: /Users/eckweis/Library/Caches/helm/repository/opentelemetry-collector-0.38.2.tgz

Error: template: opentelemetry-collector/templates/deployment.yaml:31:28: executing "opentelemetry-collector/templates/deployment.yaml" at <include (print $.Template.BasePath "/configmap.yaml") .>:
error calling include: template: opentelemetry-collector/templates/configmap.yaml:10:8: executing "opentelemetry-collector/templates/configmap.yaml" at <include "opentelemetry-collector.deploymentConfig" .>:
error calling include: template: opentelemetry-collector/templates/_config.tpl:80:15: executing "opentelemetry-collector.deploymentConfig" at <include "opentelemetry-collector.applyKubernetesAttributesConfig" (dict "Values" $data "config" $config)>:
error calling include: template: opentelemetry-collector/templates/_config.tpl:275:21: executing "opentelemetry-collector.applyKubernetesAttributesConfig" at <$config.service.pipelines.metrics>: wrong type for value; expected map[string]interface {}; got interface {}
helm.go:84: [debug] template: opentelemetry-collector/templates/deployment.yaml:31:28: executing "opentelemetry-collector/templates/deployment.yaml" at <include (print $.Template.BasePath "/configmap.yaml") .>:
error calling include: template: opentelemetry-collector/templates/configmap.yaml:10:8: executing "opentelemetry-collector/templates/configmap.yaml" at <include "opentelemetry-collector.deploymentConfig" .>:
error calling include: template: opentelemetry-collector/templates/_config.tpl:80:15: executing "opentelemetry-collector.deploymentConfig" at <include "opentelemetry-collector.applyKubernetesAttributesConfig" (dict "Values" $data "config" $config)>:
error calling include: template: opentelemetry-collector/templates/_config.tpl:275:21: executing "opentelemetry-collector.applyKubernetesAttributesConfig" at <$config.service.pipelines.metrics>: wrong type for value; expected map[string]interface {}; got interface {}

@sebbegg thanks for the issue. Presets are kinda temperamental, as documented in this comment in the values.yaml
https://github.com/open-telemetry/opentelemetry-helm-charts/blob/d065b6b40ce1fde7d0245efadefe74066c572d5d/charts/opentelemetry-collector/values.yaml#L11-L19
Basically if the preset adds something to the config, you can't mess with that thing via .Values.config.  In this situation, the k8sattributes preset adds the processor to all 3 pipelines, so it gets upset when you try to set it to null in .Values.config.
If you want to use the k8sattributes processor and disable a pipeline you will have to configure the processor yourself via .Values.config instead of using the preset.
Another option would be to update the preset to allow specifying which pipelines it should be applied to.  Something like
# Configures the Kubernetes Processor to add Kubernetes metadata.
# Adds the k8sattributes processor to all the pipelines
# and adds the necessary rules to ClusteRole.
# Best used with mode = daemonset.
kubernetesAttributes:
  enabledForTraces: false
  enabledForMetrics: false
  enabledForLogs: false

/cc @dmitryax @povilasv

Basically if the preset adds something to the config, you can't mess with that thing via .Values.config. In this situation, the k8sattributes preset adds the processor to all 3 pipelines, so it gets upset when you try to set it to null in .Values.config.

I believe instead of getting upset, the preset logic can just check if the pipeline is enabled?

I think if we limit the null check to just pipelines that would be ok.  I just don't want to get in the business for trying to merge preset logic and custom component configuration.

Yeah, just checking pipeline is fine


Tracking issue: backend speed, performance, latency, ...

We are using extremely fast technologies in the backend, so it is very unlikely speed will ever be a problem. However, I'm always interested in making things more efficient and faster. So consider this a "pet project" issue of mine, mostly for note taking :P
Measuring
At some point, we could add some scripts to generate a realistic load and to measure performance data (latency, req/s, ...). We probably want to use wrk, but make sure to not repeatedly requesting just one API, but again, finding some "close to realistic" mix of requests.
Improvements

Caching
Using a better allocator: changing the global Rust allocator is super simple. By default, the system allocator is used, which performs not particularly fast, especially when it comes to lots of small allocations. jemalloc might be a good alternative. But changing this should only be done if an improvement can be measured.
Tweaking build parameters (lto = "fat", codegen-units = 1, ...)

Some random findings regarding executable file size:

There are lots of string that contain full paths to my /home/lukas/dev/tobira or /home/lukas/.cargo/registry. We can get rid of those with remap-path-prefix, but this has to be done specifically for one machine, so we can't commit such a config in this repo.

See https://github.com/rust-lang/rust/issues/60105

The debug infos with #92 seem to include a lot more stuff than we need (despite debug=1 and excluding it for any dependencies). Not sure if we can improve stuff in that regard.
There is this guide of course, but most of the stuff there is not applicable for us
cargo bloat is a useful tool.


Fail to get sp500 dataset

With julia Version 0.3.5 I get the following error message
julia> using EconDatasets
julia> getDataset("SP500")
WARNING: Module EconDatasets not defined on process 2
fatal error on 2: WARNING: Module EconDatasets not defined on process 3
WARNING: Module EconDatasets not defined on process 4
fatal error on fatal error on 3: 4: ERROR: EconDatasets not defined
ERROR: EconDatasets not defined
ERROR: EconDatasets not defined
Worker 2 terminated.
ERROR: ProcessExitedException()
in wait at /usr/bin/../lib64/julia/sys.so (repeats 2 times)
in wait_full at /usr/bin/../lib64/julia/sys.so
in call_on_owner at /usr/bin/../lib64/julia/sys.so
in wait at /usr/bin/../lib64/julia/sys.so
in sync_end at /usr/bin/../lib64/julia/sys.so
in include at /usr/bin/../lib64/julia/sys.so
in include_from_node1 at /usr/bin/../lib64/julia/sys.so
while loading /home/ibanez/.julia/v0.3/EconDatasets/src/getDataset/getSP500.jl, in expression starting on line 319Worker 4 terminated.Worker 3 terminated.
Using getDateset on other datasets like FFF, Treasuries does work

I am sorry, but I can not reproduce your error. the code works for me both with version 0.3.5 on my desktop computer as well as with version 0.3.2 on travis.
nevertheless, there seems to be something wrong with the parallelization. I do not have enough insight into the parallelization routines to know what exactly fails here. still, however, you could just try to download the data without parallel computing.
In the long run, I will try to provide a solution without parallel processes as well. however, it will take some time until I will be able to look into this in more detail

Thanks for the reply. I do not know why it is trying to do it with parallelization. How could I download the data "without parallel computing"?
Below is my current status, after a computer reboot.
As you can see at the end, downloading the FFF dataset works just fine
┌──[ibanez@xblu]──[~]
└── julia
_
_       _ ()_     |  A fresh approach to technical computing
()     | () ()    |  Documentation: http://docs.julialang.org
_ _   | |  __ _   |  Type "help()" for help.
| | | | | | |/ ` |  |
| | || | | | (| |  |  Version 0.3.5
/ |_'|||_'_|  |
|__/                   |  x86_64-redhat-linux
julia> using EconDatasets
julia> data = getDataset("SP500")
WARNING: Module EconDatasets not defined on process 2
fatal error on 2: WARNING: Module EconDatasets not defined on process 3
fatal error on 3: WARNING: Module EconDatasets not defined on process 4
fatal error on 4: ERROR: EconDatasets not defined
in deserialize at ./serialize.jl:376
in handle_deserialize at ./serialize.jl:351
in deserialize at ./serialize.jl:416
in handle_deserialize at ./serialize.jl:351
in deserialize at ./serialize.jl:405
in handle_deserialize at ./serialize.jl:351
in anonymous at ./task.jl:843
ERROR: EconDatasets not defined
in deserialize at ./serialize.jl:376
in handle_deserialize at ./serialize.jl:351
in deserialize at ./serialize.jl:416
in handle_deserialize at ./serialize.jl:351
in deserialize at ./serialize.jl:405
in handle_deserialize at ./serialize.jl:351
in anonymous at ./task.jl:843
ERROR: EconDatasets not defined
in deserialize at ./serialize.jl:376
in handle_deserialize at ./serialize.jl:351
in deserialize at ./serialize.jl:416
in handle_deserialize at ./serialize.jl:351
in deserialize at ./serialize.jl:405
in handle_deserialize at ./serialize.jl:351
in anonymous at ./task.jl:843
Worker 2 terminated.
ERROR: ProcessExitedException()
in wait at /usr/bin/../lib64/julia/sys.so (repeats 2 times)
in wait_full at /usr/bin/../lib64/julia/sys.so
in remotecall_fetch at ./multi.jl:704
in call_on_owner at /usr/bin/../lib64/julia/sys.so
in wait at /usr/bin/../lib64/julia/sys.so
in sync_end at /usr/bin/../lib64/julia/sys.so
in include at /usr/bin/../lib64/julia/sys.so
in include_from_node1 at /usr/bin/../lib64/julia/sys.so
in getDataset at /home/ibanez/.julia/v0.3/EconDatasets/src/getDataset.jl:16
while loading /home/ibanez/.julia/v0.3/EconDatasets/src/getDataset/getSP500.jl, in expression starting on line 319Worker 3 terminated.Worker 4 terminated.
julia> data = getDataset("FFF")
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  159k  100  159k    0     0   625k      0 --:--:-- --:--:-- --:--:--  627k
Archive:  /tmp/julianqNm6f
inflating: /tmp/F-F_Research_Data_Factors_daily.txt
julia>

Calling getDataset("SP500") actually calls the script /src/getDataset/getSP500.jl, which automatically starts parallel computing. With 500 stocks, it otherwise would take approximately 15 minutes to download the data.
You could try to put the relevant parallelization lines from the script in comments. This works for me.
dates = Date(1960,1,1):Date(2014,7,20)

## procIds = addprocs(3)

## @everywhere using DataFrames
## @everywhere using TimeData
## @everywhere using EconDatasets

    println("\nData will be downloaded starting ", dates[1], " and ending ",
            dates[end], ".\n\n",

Thanks! Now it works :)

Perfect! I'll close the issue here, as I think your problems lie with parallel computing in general.


Fixes for integration test issue on product-apim 2.x

Purpose

Fixes for integration test issue on product-apim 2.x

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above
The three test cases below only created the API/Application and the Subscription and when  the test ran more than once the test had failed with duplicate error. With this changes on the destroy method we remove the subscription/application and the api

Approach
Publisher :APIResourceWithTemplateTestCase.java
WebSocket :APIMANAGER5869WSGayewatURLTestCase.java
WebSocketAPITestCase.java
Header :CORSHeadersTestCase.java
The below test case had an assertion that was always successful but the assertion on line 116 was looking for a failure and was failing
APIM614AddDocumentationToAnAPIWithDocTypeSampleAndSDKThroughPublisherRestAPITestCase
Test environment

Oracle Jdk :jdk1.8.0_171
Open Jdk java-1.8.0-openjdk-<IP_ADDRESS>-8.b10.el7_5.x86_64
CentOS
Mysql5.7

closing till the issues are fixed


Return close code from WebSocketClient.run/connect

Return close code from WebSocketHandler. This is ignored by the server but passed back to the user when using the client
Also throw errors, caused by closing WebSocket channel, Server should report these but otherwise ignore them. Client throws them

@Joannis this has had some minor changes

Return close code and reason
Added WebSocketOutboundWrite.close function to allow for users to write custom close codes, reasons


Fix a crash in stats.skew

Reproducing code
import numpy as np
from scipy.stats import skew

z = np.arange(12).reshape(4, 3).astype(float)
z[2:, 1] = np.nan

skew(z, bias=False, nan_policy='omit')

In scipy 1.7.1 this throws ValueError: operands could not be broadcast together with shapes (3,) (2,)

kurtosis had the same fix, see https://github.com/scipy/scipy/commit/17a62cb77b620cfdb13abb592b87b16563cc64c9

Ok, that fix seems to have included some thorough testing as well. I wonder if changing the axis over which the skew is calculated would change the the types of input that cause problems, I suppose it might though the fix is perhaps the same I guess.


Adding Remove API in stand alone mode

I am adding a new API in stand alone mode to be able to remove a stub mapping - you can contact me
<EMAIL_ADDRESS>/  @akshaydeodhar

This is a good start. I suggest a few tweaks:

Provide an implementation for HttpAdminClient.removeStubMapping(), rather than throwing an exception.
Write an acceptance test for the case where the stub you wish to delete is present, and one for the case where it isn't
Add removeStubMapping() to the Stubbing interface so that it's available everywhere local stubbing is.
Use the UUID for the mapping to identify it for deletion rather than checking for request pattern equality, as this is how the edit function already works.

Tom,
I have implemented Stubbing and HttpClient admin changes but i have question about UUID.
in 2.0 beta is client who is using in stand alone mode and is making post req to configure stubs, expected to pass UUID? i dont think thats the intention.
As a client when i set up stub i only post something like this with no UUID and i should be able to post the same thing to be able to remove it.
{
"request": {
"method": "GET",
"url": "/v9/something/accounts/25"
},
"response": {
"status": 202,
"body": "response for test",
"headers": {
"Content-Type": "text/plain"
}
}
}
So when i call remove, system [ WM ] seems to generate a UUID on its own thats unique and so remove never happens since it does not match with any of existing stubs.

You don't need to check for a custom matcher and throw the exception in this case, so I suggest removing that.
As a client you can optionally add a uuid attribute when you create a stub. If you don't it'll still be assigned one, so you can read it back then use it for deletion if you need to.

Tom,
As i mentioned, I am not adding UUID as a client when i set it up. So when i make a Remove Call WM assigns a UUID. Note that this UUID that is assigned by WM to remove is again a unique one and is not same as the one previously matching mapping--
so even though mapping.getRequest() finds a match - UUID still does not match and it never results in removing a mapping is what i am saying.

Adding the UUID when creating the stub is pretty trivial:
  UUID myId = UUID.randomUUID();
  stubFor(get(urlEqualTo("/"))
            .withId(myId)
            .willReturn(aResponse()));

I suggest doing this if you know you need to delete a stub later.

Tom,
Yes i understand and i could add a stub like how you have mentioned.
However, its not about me, about users.
Do you want clients to remember UUID for all the stubs they have created? I am a test engineer and as a client/user, i would not want to do that.
How the uniqueness for a stubb is maintained should be transparent to me as a user i think.
As a client all i should know is i set up stub-1 and i can remove stub-1.
Here whats happening is client sets
stub-1 and stub-2 and system assigns uuid-1 and uuid-2 respectively.
Then i send a remove call for stub-1 and system assigns uuid-3 and match never happens and stub never gets deleted.

How is having to remember the whole request pattern any simpler than remembering the UUID?
By analogy - if I'm going to delete a row from a SQL table, I'm probably going to use the primary key in the where clause rather than than each non-key column.
And I think maintaining consistency with the way editing works is definitely a good idea.

One further point - it's possible to register multiple stub mappings with identical request patterns, where the newest one wins. Your version of remove would delete all of them, whereas a UUID based version would only delete one you're targeting.

Here's an idea:
Change all of the stub creation methods (givenThat() stubFor() etc.) to return the StubMapping just created. Keep StubMapping as the parameter type for the remove method, but internally use the UUID to find the object to remove.
That way users don't need to explicitly set the UUID, and the edit and remove methods are the same syntactically and semantically.

Tom thanks for your perspective,
From my tests, requests are "pre-known" and are read from the file so we have nothing to maintain and so do most users i believe.Where generating a UUID and maintaining is an additional burden..
I am not using givenThat()/s stubFor() - my wiremock runs in AWS EC2 and i make RestAssured -> POST to configure it.
Also my remove will also delete the first request that matches and not all. i return with true.
Going back to primary key argument, it would be like asking a customer to maintain primary keys of all their records if they want to retrieve info about themselves instead of just giving the system their first name last name and then system giving them all relevant info. kinda like asking amazon customer to remember all their order ids rather then being able to search with just the items they bought!
I do't know, i can implement it the way you want but i figured to make WiremockMock more useful, i should put forward my perspective.

OK, true you're deleting the first match not them all. You'd be unable to delete any other stubs with identical requests (at least until you'd deleted more recently added ones).
I'm also thinking about the case where you've created, edited, then try to remove the stub. You have to keep track of your edits if you're going to successfully delete at the end i.e. you need to keep a reference to your most recent version, not the initial one.

How about we give precedence to UUID - if provided delete only that one or else delete the first one that matches.
later we can have removeAll - where if request pattern matches then delete all stubs irrespective of uuid.

Yeah OK, that sounds like a good solution.

For now,
i have removed custom matcher look up and removing stubs based on UuID to begin with.
This is an easier change and should serve what we need to do however, i still plan to implement the request based removal change to that remove method.
What are you guidelines on commenting. i do not see any comments anywhere in code.

I'm of the opinion that comments should be a last resort. If the code's intent isn't clear from its structure and naming, then it should be refactored to improve this.
One thing I forgot to mention - in your final commit please can you also update the docs, including examples of how to remove stubs via the Java and JSON APIs.

Tom,
I added logic to remove stubs based on request if the UUID do not match. also fixed a NPE
Added new test too. For my last commit it says it can not automatically merge.
also, i am not sure where to add docs..sorry i am new to this open source contribution thing.

Look under docs/source. The doc engine is Sphinx which uses restructured text - similar to Markdown.

Tom,
i synced my fork and resolved conflict, build it locally ran all unit tests and then did a commit and push. but after merging that to my pull request seems to cause an error...i may have checked in some git file not quite sure what it is..
Can you see..

It looks like you've blown away some of the new classes I introduced. Might be worth re-doing the merge (I usually find this easier than trying to fix one that's gone wrong).

Tom,
i saw that in my intelliJ there were 74 files or something that were not pushed. i pushed them and not pull request build is successful.
Please check. Also looks like i have checked in .gitIgnore and that also got merged.

Added the documentation as well.
Can you please look over my commit and accept it under 2.0-beta branch?

@tomakehurst  ping!

Thanks for this.
FYI I'm going to refactor the remove logic to a functional style, for brevity and consistency.

Thanks Tom.
This one was kind of a bug mess, I have submitted much cleaner #433 for you to merge yesterday. This is in case that adds value/saves you time.

Ah damn it, I hadn't spotted that you'd opened a new PR.

Also i noticed that your remove method seems to use some google library that shows
" Removes, from an iterable, every element that satisfies the provided

predicate."
so now the documentation says that it only removes one on first match basis..

Good catch. Although now I think of it, perhaps it's more intuitive to delete all the matching stubs?

does new create multiple stubs if provided? i was designing remove to do exactly opposite of new but i am ok either way. i can change the document if you decide to keep it this way.
did you look at  .ignore file i merged by mistake..would that be a problem?

i have changed the documentation to reflect that it would remove all matching mappings and also resolved a rst example viewing issue in RC1. See pull request #453


Depend on Npgsql 4.1.1

Npgsql 4.1.1 was release to revert breaking changes. By doing so, it broke compatibility with EF Core 3.0.0, so we need to release 3.0.1.

Fixed in 64fc1f28a97b595a69ce61855875fa10f7b7f6ad


Understanding routing for a prod release

Hi there! First and foremost wow I love what you guys are doing over there at CanopyTax. This is so elegant.  I have read through all your documentation at single-spa and all of the open and closed issues but I’m still confused by something in particular. If I understand correctly, each application can be separated out into their own repo and publish themselves independently, to their own URL. I’ve got everything downloaded and running locally.
I am trying to separate out my applications and getting them all built and published to azure through docker containers for a prod build. I can get it done locally by adding “—host <IP_ADDRESS>” to the package.json for the portal but it only works if all the packages are in a shared container. So now the watch looks like this.
 webpack-dev-server –host <IP_ADDRESS> –port 9000
My issue is really that I’m not understanding how the exposed ports in the webpack-dev-server proxy would translate to dynamic URLS in runtime.
If I publish each child application to their own dynamic URL how can I get my prod webpack config for the portal to pick up each application?
How exactly does the routing work in the portal?
Do I have it wrong and they have to be bundled together into the same URL?
How does CanopyTax deploy to prod?
In Portal.js there is the loadApp function call.
await loadApp('test', '/test', '/test/singleSpaEntry.js', '/test/store.js', globalEventDistributor);
Is this where I would need SystemJS.import()?
I know there are a lot of questions here. sorry! Honestly any advice you can give would be super helpful.
Thanks in advance!

I'd like to give a little update here. I was able to leave the folder structure the way it was in the portal.js document. So this stayed the same.
await loadApp('test', '/test', '/test/singleSpaEntry.js', '/test/store.js', globalEventDistributor);
We were then able to create our docker containers exposing just a port number.
We then created nginx.conf files and exposed a proxy server that can rewrite the port with a url route.
We were then able to get those up to an azure web server.
We're still hashing out details but it looks like I'm good to go here. I'm going to close the issue.


Reduce movie dataset to be under 10MB

We should not change the default movies dataset for now as the one provided here is 19MB and the payload size is max 10MB.

I thought the payload size had been raised to 100MB

Absolutely, completely forgot about that. Closed because not an issue to begin with


Fix BIO_f_cipher flushing and other BIO related fixes

If an error occurs during a flush on a BIO_f_cipher() then in some cases
we could get into an infinite loop. We add a check to make sure we are
making progress during flush and exit if not.
This issue was reported by Octavio Galland who also demonstrated an
infinite loop in CMS encryption as a result of this bug.
The security team has assessed this issue as not a CVE. This occurs on
encryption only which is typically processing trusted data. We are not
aware of a way to trigger this with untrusted data.

I am confused by the test failures....

I am confused by the test failures....

Interesting. This seems to be due to a bad interaction with #19652 which was merged after my local branch containing this fix was created. Github Actions automatically merge a PR with the master branch during the CI run and there were no conflicts but having both in the tree at the same time causes a test failure because of a bad plan (17 tests were run when it expected 16). Rebasing my local branch reproduced the issue. Fixup pushed.

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

This pull request is ready to merge

Merged to master branch. Thank you.


请问用户等级是和节点的类别还是群组对应？

找了半天没找到节点等级怎么设置😂

自己到后台找
glzjin
2016年5月7日 下午2:57，fakehaoyang<EMAIL_ADDRESS>—You are receiving this because you are subscribed to this thread.Reply to this email directly or view it on GitHub


Cordova push notifications no work on background

I have a problem with the push notifications. The notificatios arrived fine with the app is running and when the app is on foreground. But on background o app killed, the notifications are not handled by the system, nothing happens. I make test from firebase console and work, but from ConnectyCube console says the message arrived, but in the app nothing happens.

Duplicate issue - https://github.com/ConnectyCube/connectycube-cordova-samples/issues/4


When combining the same type, the specific type before combining is still provided

🔍 Search Terms
literals, union
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
when we use union types, editor can't provide any suggestions.
type a = "a" | "b" | string
// typeof a:string

let v:a
v = "a" // ✔ but without suggestion
v = "other" // ✔

If we remove string from the union type, we wouldn't be able to set v to any other value.
type a = "a" | "b"
// typeof a:"a"|"b"

let v:a
v = "a" // ✔ with suggestion
v = "other" // ❌

I hope editor can give suggestion about "a"or"b"
📃 Motivating Example
we can give optional value suggestion to user, but user can use other type without error
💻 Use Cases

What do you want to use this for?
like document.body.style.borderWidth='inherit'，editor can give 'inherit'|'thin' and so on, but other string can be set.
What shortcomings exist with current approaches?
editor can't give more suggestions
What workarounds are you using in the meantime?
none

Duplicate of #29729. A workaround is to use string & {}.


Singleflight refactor ver

Description
description_with_details_and_reasoning
Type of change

[ ] Bug fix
[ ] New feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Non-code changes (update documentation, pipeline, etc.)

Flags

[ ] Breaks backward compatibility
[ ] Requires a documentation update
[ ] Has untestable code

Related issue/PR
Delete this section if there are no issues or pull requests that relate to this pull request.

Fixes #issue
Closes #PR

Checklist

[ ] Followed the guidelines in the CONTRIBUTING document
[ ] Added prefix [skip ci]/[ci skip]/[no ci]/[skip actions]/[actions skip] in the PR title if necessary
[ ] Tested and linted the code
[ ] Commented the code
[ ] Made corresponding changes to the documentation
[ ] Passed all pipeline checking

Checklist for maintainer

Use Squash and merge
Double-confirm the merge message has prefix [skip ci]/[ci skip]/[no ci]/[skip actions]/[actions skip]
Delete the branch after merge

Closed as tested.
Continues in https://github.com/AthenZ/k8s-athenz-sia/pull/89


IMU (MPU9250/BMI160) calibration moved, magnetometer clarifications, minor spelling/grammar fixes

Moved IMU calibration from common issues to the "Test your trackers" section of "Installing the server and connecting your trackers" since this is where people are most likely to find the IMUs seemingly not working, when in reality they just need to be calibrated. Added some clarification regarding what uT ranges are acceptable, and how exactly magnetic environment should be tested (need to walk around playspace). Final changes were minor spelling fixes.

Awesome work, thank you for the edits


[VS Code] Collaboration session not found.

Error:
Collaboration session not found.
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.319

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.23.1

platformName
Linux

platformVersion
4.8.0-36-generic

@qqjk1989 Hey! This error typically indicates that the "host" ended the collaboration session before you actually joined. Could that have been the case here? In the meantime, I'm going to close this as a duplicate of #489, so if you could reply to that thread with more details, that would be greatly appreciated. Thanks!


Release 1.2.9

Purpose

Release 1.2.9

Codecov Report

Merging #26620 into ballerina-1.2.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.2.x   #26620   +/-   ##
================================================
  Coverage            14.59%   14.59%
================================================
  Files                   51       51
  Lines                 1411     1411
  Branches               219      219
================================================
  Hits                   206      206
  Misses                1189     1189
  Partials                16       16

Continue to review full report at Codecov.

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


Data Table feature

Warning
This feature is currently delisted per: https://github.com/skeletonlabs/skeleton/issues/930. It will return in the future, but no ETA has been provided yet.
We are accepting recommendations for alternatives here: https://github.com/skeletonlabs/skeleton/issues/821

Describe what feature you'd like. Pseudo-code, mockups, or screenshots of similar solutions are encouraged!
Here's a running list of features and improvements we would like to added to data tables going forward.

[ ] Review options to sanitize data table content  (missing object keys should be set to undefined)
[ ] Review options to add row selection in addition to cell selection for tableA11y action
[ ] Evaluate the use of role="gridcell" for a11y keyboard interaction. Goes against ARIA guidelines.
[ ] Consider adding search whitelist, to limit search certain fields
[ ] Allowing specifying the default sort on load (runs + UI arrow added)
[ ] Quick mapping of available columns (to add/remove columns on demand)
[ ] Consider adding 3-stage checkbox for select all, including: current page, all results, no results (Tailwind selector)
[ ] Sticky header: https://twitter.com/CodyWebHouse/status/1592907092226060288
[ ] Consider support for sorting complex cell data (ex: objects, arrays, etc)

Known Issues:

Search + Pagination are not working as expected

What libraries have been reviewed

Tanstack - not recommended, documentation is poor
Tabulator - data-driven, does not allow for template manipulation
Svelte-Headless-Tables - documentation has gaps, poor accessibility
Svelte Simple Datatables - recommended, but have not extensively tested extensively

NOTE: additional suggestions are welcome here!

Add row grouping
https://datatables.net/examples/advanced_init/row_grouping.html

A more convenient current page selection, since if the table has multiple pages its less suitable to use the arrows alone
Example

Need to fix data table searches #613

@AdrianGonz97 this may be worth a look:
https://svelte-headless-table.bryanmylee.com/

Any chance you are looking at multi-column sorting? Enterprise-y apps use it a lot.

@KevM Truthfully with today's update we've changed the status of data tables to "experimental", meaning it exists and is available to use, but is not recommended for production use. Going forward, this will not be a priority leading up to v1.0, and I suspect a lot of work will continue through and after the v1.0 of the core library.
The choice is simple, either I can devote the majority of my time to building the data tables (a "single" feature), or I can devote it to finishing the items on our roadmap here:
https://github.com/skeletonlabs/skeleton/discussions/503
That said, @AdrianGonz97 and other contributors are welcome to jump in and help flush things out. But it'll be a mostly voluntary effort until the Skeleton foundation is established. In the meantime we welcome additional suggestions and feedback, but I do ask folks keep expectations within reason given everything mentioned above.

Ok. I'm a little bummed to get a nice update (0.8.3) for data tables and then to hear they have been put on the back burner. I understand the reason to focus on 1.0 first. I will continue to use Skeleton's experimental data tables until I have pain. I will move to svelte-headless-table when I run into problems.

Totally understand, just want to set realistic expectations! Right now I'm the only person contributing full time (plus), so we gotta do our best to prioritize. That said, data tables are an important feature and I want an effective in-house solution. So it's just a matter of time before we return to this.
I've been thinking we may put more time and effort into single but larger scale features like this, date/time pickers, etc post launch though. When we can devote more bandwidth.
In the meantime, I definitely want to encourage folks to jump in and contribute. I know we all want everything right now, but one step in front of the other as they say! Also as far as I'm aware @AdrianGonz97 may return to the above features after we get the Tailwind Intellsense and CSS tree shaking working as needed. Those items are more crucial, but perhaps we can twist his arm :)

BUG:  Search doesn't work while a sort is active (when you see the arrow pointing up or down in the table headers)

One thing I'd like to see is when you sort a column, the column width shouldn't shift. The experience should be more or less like the data table here (last example): https://sveltematerialui.com/demo/data-table/

Select ALL should only apply for the visible content l.

Select ALL should only apply for the visible content.

I disagree, select ALL means ALL, not "only visible".

It would be great to have resizeable columns and/or the option to shorten the table cell contents for large strings.
For example shortening a really long string into the first 10 characters + ellipsis (...)

Pagination buttons are a bit funky for wide tables. The will go inline once the columns fit the table contents and column headers.

I think that select all should select all active(?) rows, not just in view, but do omit rows that have been filtered out.
For example, if you were to filter/search down to certain criteria then you could select all before taking action.
For example, say you had a table of animals and you wanted to export all the mammals. You could filter for "mammals", "select all" then export selected.
It would also be nice to see how many things were filtered out. i.e. Filter results 157 / 739

Folks, we cover the selection in the original post above. See:

Consider adding 3-stage checkbox for select all, including: current page, all results, no results

By using a three stage checkbox we can handle select current page, select all, or select none.
Per @maxwelldlehmann suggestion above, I agree that only filtered results should be selected though, regardless of which page they reside.

I think server-side support would be great!
In general, a very good library to use as a reference on all the possible features is:
https://github.com/olifolkerd/tabulator
Some that would be nice is:

filters (with custom filter)
formatters (with custom formatter)
Nested layout

I think server-side support would be great!

Server side support is already there. Just use server side features in place of the ones presented here. Most features are opt-in.

The pagination provides event handlers for changes.
Search would be something you implement yourself (custom search plus HTTP trigger; then update data)
Add your own on:click handers for table sort

FYI the example on the documentation page uses data from JSON Placeholder. It's remote data we fetch, not locally saved. Check the page.ts to see how we're fetching the data and passing it to the route template:
https://github.com/skeletonlabs/skeleton/tree/master/src/routes/(inner)/utilities/data-tables

Expandable table rows
Example

Another thing that would be nice to have is an internal rowId or index (in case you need to a more static/immutable index),
essentially:
[
    {
    name: 'Steve',
    index: 1
    },

    {
    name: 'Amanda',
    index: 2
    },
    {
    name: 'Kim',
    index: 3
    },
]

After the user sorts the table by alphabetic order (we can still know which row is which):
[

    {
    name: 'Kim',
    index:3
    },
    {
    name: 'Amanda',
    index: 2
    },
    {
    name: 'Steve',
    index: 1
    },

]

It's something almost every data table framework has, tabulator, ag-grid, tanstack tables and headless-table svelte has this backed in.

in DataTable.ts you can add the internal rowId functionality at line 29:
return { ...row, rowId: i, dataTableChecked: model.base[i]?.dataTableChecked ?? false };.
From my testing it seem to work without any hiccups.

I think one of the best fully open source libraries I've seen is Tabulator. I'm not suggesting it should be fully integrated into Skeleton, but it has a ton of great features to look at, and I was able to deploy a simple example into Skeleton pretty easily: repo: https://github.com/riziles/skeleton-glitch , example: https://flourishing-hotteok-608239.netlify.app/

I keep hearing about Tabular. It's at the top of my list to review as I get a chance. Thanks for the suggestion!

Tanstack table is also a great alternative

Tanstack table is also a great alternative

wow. those guys take the term "unstyled" very seriously.

Hey everyone, given the number comments on this ticket, I thought I'd give you a heads up about a change to the data tables feature. As of tomorrow's release we're delisting the data table feature from our documentation. This means it won't be available as part of the standard navigation in the docs, but will still functionally be part of the library.

https://github.com/skeletonlabs/skeleton/issues/930

If you are using data tables in your project and need to reference the data table documentation, it can be found here:
https://www.skeleton.dev/utilities/data-tables
To provide an explination - we've had the feature marked "experimental" and noted it was NOT ready for production since launch. But even with this, most folks tend to skim past that and implement it in their production applications. We've received a LARGE number of support tickets both on GitHub and Discord.
Typically this would encourage this type of feedback, but unfortunately we just don't have the time or support team to maintain this feature in it's current state. Given this, we do recommend that you migrate to an alternative at your earliest convenience. We will be taking a hard stance that this is "use as your own risk". No direct support will be provided for now.
Note that we DO intend to flushed out and complete the data table features in the future, but we have no ETA for this at the moment. We're coming up on our release candidate status for the project, which is part of what's encouraging this decision. The data table just does meet our standards of quality. We would rather NOT include it, than include something we feel is subpar.
That said, if you're interested in contributing to the feature and helping build out the feature, we would gladly accept a number of volunteers. That's what open source is all about, right? If you're willing to help, please reach out here or on Discord.
Thanks you for your understanding.

Here's a wonderful resource for data tables. I'd very much like to reference this when we return to our own iteration:
https://pencilandpaper.io/articles/ux-pattern-analysis-enterprise-data-tables/

@endigo9740 ,
Just another entry in the list of third part data table repos: https://github.com/vincjo/datatables
It's built for Svelte, very headless and seems to be very much compatible with the existing Skeleton table classes. It adds a search bar, sorters and filters.
I dropped it in to my Skeleton playground and it seems to play nicely:
https://flourishing-hotteok-608239.netlify.app/ssd

I've been eyeing that one as well. As soon as I have the bandwidth I'll put it through it's paces!

@endigo9740 ,
Just another entry in the list of third party data table repos: https://github.com/vincjo/datatables

This is actually a near perfect replacement, at least for us. The only thing missing is row selection handling, but that's not too hard to implement ourselves.

They actually just added a bunch of functionality. It seems to be in active development, so it might be on the horizon.

I've asked the maintainer if it's possible to add some of those features (selection & rowId).

Yep, my main issue is that it uses a pretty rigid readable store, so you can't add your own checked or selected properties to then bind to a checkbox. If the store wasn't readonly, it would be much simpler to implement a lot of this on your own.

Yep, my main issue is that it uses a pretty rigid readable store, so you can't add your own checked or selected properties to then bind to a checkbox. If the store wasn't readonly, it would be much simpler to implement a lot of this on your own.

@knd775 , can I post an issue in their repo and link to this comment? She (he?) would probably appreciate the feedback.

Adding to the feature list & suggestions. For enterprise apps and ones with a lot of backend administrative capabilities I would say dataTables and forms are the 2 must have components. However these orgs tend to have a lot of data and client-side rendering of JSON in a dataTable isn't feasible.
For larger datasets my suggesting is to allow for a configurable API based approach - e.g. something that could handle the query logic in this url.
localhost:3000/users?search=Jack&page=3&rowsPerPage=15&orderBy=DESC&returnTotalRows=true

As others have already pointed out, Tabulator is a mature and fully featured data table library by @olifolkerd that works with Svelte and supports reactive data table updates.  Since Tabulator supports multiple themes (based on SCCS), it might make sense to develop a robust Skeleton theme for Tabulator versus Skeleton-specific data table features.
I'm playing with it in a personal project (Skeleton/SvelteKit), but I'm not a front-end developer so anything I put together isn't going to be something anyone else will want to use.

A datatable solution that requires columns to be defined in code rather than markup goes against the point of svelte, in my opinion. Without jsx, creating complex columns (such as one with multiple buttons) is a really bad experience.

@knd775 , your point is well made. I recommended Tabulator a while back as more of a "look at all the cool features this library has" than a proposal for direct integration. It's a mature and well maintained MIT licensed library. Certainly worth looking at if the Skeleton team wanted to build their own, but not ideal for Svelte + Tailwind integration.
To @smoyergh 's point, it does work just fine in a Skeleton project, but @vincjo 's Svelte Simple DataTables or @bryanmylee 's Svelte Headless Table are easier to style and customize.

@smoyergh it won't matter how mature it is, it's not the right tool for the job here. I've tested Tabular and it's a lot like our current Table component - that being data-driven rather than template-driven. You feed it data and it builds the cells, which has it's use cases. But for our data table solution need a way to be able to display custom markup and Svelte components within the cells. This would not allow for that. Folks are welcome to use this if it works well for them, but it's a no-go for our recommendation.
@knd775 I disagree, because again, we've followed a similar path with great success. It's useful for presentation components where all you have is data. They're easy to setup and easy to use. However, they do have the limitation you can't modify the template content, which is a big miss here.
Currently we've narrowed down the headless options down to a few options state in this thread repeatedly. If anyone is looking for a solution, please reviews the pros and cons of these. I'm not sure there's going to be such a thing as a silver bullet here.

We keep getting the same handful of recommendations over and over, so I've update the original post with a list of table solutions and a brief summary. Currently Simple Svelte Datatables are the only recommended solution, while I'd highly advise against Tanstack tables if you care about documentation. Last I check their documentation was some of the worst I've experienced in my 20 year career.

Just in case anyone wants to try tanstack table nonetheless, svelte support is currently broken: https://github.com/TanStack/table/issues/4778 Spare yourself the hours of fiddling with this, it's not worth it (don't ask how i know).

Just in case anyone wants to try tanstack table nonetheless, svelte support is currently broken: TanStack/table#4778 Spare yourself the hours of fiddling with this, it's not worth it (don't ask how i know).

Good thing I dodged a bullet with rage quitting tanstack 😄.
From the issues I experience it was:

Awful selection performance
Not feature complete (ColumnHelper did not work)

Highly recommend svelte-headless-table instead if you want datatable that is very similar to tanstack tables.

Since we're seeing more activity on this thread again I wanted to go ahead and chime in and let folks know that we'll be moving to deprecate our internal data table features soon - not just delisting them. Then, when the next major version of Skeleton drops, we'll be aiming to remove them from the library entirely.
However, when this occurs we'll put forth some kind of official recommendation for a third party library (or a few) with official instructions for integration, likely in the form of a blog tutorial. Right now this is leading the pack as our official recommendation:
https://github.com/vincjo/datatables
No specific time table on any of this, but figured I'd give folks here a heads up what's coming.

My two cents.
Some arguments against Svelte Simple Datatables and Svelte-Headless-Tables which may depend on one's needs from a table.
As far as I can tell, they don't allow to set a custom sorting function in the form of:
function SortingFn(CellA, CellB, ColumnID): number;
// With return value:
// 0 -> equal
// -1 -> a < b
// 1 -> a > b

Their filtering features might suffer from something similar (I haven't investigated yet).

@sledgehammer999 this thread along has been on-going for 7 months. Trust me, we've been over pretty much every option available in the space. There's no silver bullet. If a dedicated project can satisfy the needs of everyone, it's highly likely a additional feature in our library is going to cover this.
We're going to likely recommend on option that is the "best", but best does not mean perfect for every use case. This is a big part of why we're going to leave it as a recommendation - you can use it or find something that works more as you wish it to.
I would hope that whatever option we recommend receives more attention from our users and additional contributors that might can expand the feature set to cover more of what folks need and want though.

@endigo9740 I understand. My wording was bad. I already knew what you are commenting.
I just wanted to give a heads up to anyone else looking at this thread. Because noone seemed to comment on those 2 things (sorting/filtering).
PS: Tanstack Table looks very configurable and it probably fits my needs. Dunno, if they improved their docs since you last looked, but now they look decent to me.

Note that as part of #1822 we are permanently removing the Skeleton data tables feature, which has long since between deprecated and unlisted. I've include a zip backup here for any hold outs that wish to continue using and maintaining this themselves:

https://github.com/skeletonlabs/skeleton/issues/1821#issuecomment-1665963040

What this means is as part of the v2 release (scheduled for next week), Skeleton's data table feature will no longer be part of the Skeleton core library. You will either need to remain on v1.x or migrate to v2 and implement your own data table solution.
As mentioned multiple times in this thread, our official recommended alternative is:

https://github.com/vincjo/datatables

I plan to write a blog tutorial in the near future that provides a detailed integration guide for using this alongside Skeleton. However, my focus right now is getting v2 out the door. So please be patient if this doesn't come about for a while. If any contributors are interested in helping write a guide sooner - please feel free to do so on our GitHub Discussions section:

https://github.com/skeletonlabs/skeleton/discussions

With your permission, I'm happy to adapt that to an official post on our blog (with attribution of course)

My two cents. Some arguments against Svelte Simple Datatables and Svelte-Headless-Tables which may depend on one's needs from a table. As far as I can tell, they don't allow to set a custom sorting function in the form of:
function SortingFn(CellA, CellB, ColumnID): number;
// With return value:
// 0 -> equal
// -1 -> a < b
// 1 -> a > b

Their filtering features might suffer from something similar (I haven't investigated yet).

Just a heads up, I've added support to Svelte Headless Table's sorting plugin to allow configuring the sort with a compareFn.
const data = readable([
  { name: { first: 'Sam', last: 'Smith' } },
  { name: { first: 'Doja', last: 'Cat' } },
  { name: { first: 'Harry', last: 'Styles' } },
  { name: { first: 'Ariana', last: 'Grande' } },
]);

const table = createTable(data, {
  sort: addSortBy(),
});

const columns = table.createColumns([
  table.column({
    header: 'Name',
      accessor: 'name',
      plugins: {
        sort: {
          compareFn(left, right) {
            if (left.first > right.first) return -1;
            if (left.first < right.first) return 1;
            return 0;
          }
        }
      }
    }),
  }),
]);

Awesome, thanks for letting us know @bryanmylee

As part of today's launch of Skeleton v2.0, we've now removed the long-deprecated and unlisted Skeleton Data Table feature.
Going forward, Skeleton's official recommendation is to use Svelte Simple Datatables paired with Skeleton's Table Element styles. I do aim to create an official tutorial for pairing Svelte Simple Datatables with Skeleton in the future, so keep an eye out for that.
For any holdouts wishing to keep the legacy data table feature, you can find a https://github.com/skeletonlabs/skeleton/issues/1821#issuecomment-1665963040.
Given this, we're going to go ahead and close this ticket. It's likely the olden remaining ticket in Skeleton's backlog, so thanks everyone that's participated and chimed in on this.

@endigo9740 Is that blog post on pairing Skeleton and Svelte Simple Datatables still coming or is there any implementation / example in the wild where I could look things up?

Hey @aleksblendwerk, we had contributor volunteer to take this over, but then unfortunately nothing came from it. We've been so busy with v3 this just hasn't been on my radar. We're going to have several integration guides as part of v3 though, so maybe keep an eye out then. For the most part, to get started you should just be able to follow the Svelte Simple Datatable docs against a native HTML element, then apply our Table Element styles to that.

@endigo9740 & @aleksblendwerk ,
@kmalloy24 (the volunteer) has actually done a quite a bit of work on this. He's got a GitHub Repo and some pretty slick examples: https://simple-datatables-skeleton.vercel.app/

Thanks @riziles ! The examples are in a pretty good place, I just have to get around to documenting them still. @endigo9740 sorry for going m.i.a on this. Things have been a little hectic with work/life since the new year. Hopefully the example repo can help some folks for now and I should have a PR for the integration guide for you in the next couple of weeks.