Windows Dev Tools - Scripts no longer organized

I'm on Windows 8.1 pro, using Atom 0.194. The Dev Tools / Scripts section no longer organizes the scripts by package, which means finding and debugging packages is more difficult.
Here's a screenshot: http://i.imgur.com/Fi4NEZJ.png
I did try completely uninstalling and re-installing, without adding any of the packages I'd installed, just to see if that would clear the issue. It did not.
The Dev Tools works as expected on my mac, and worked as expected on Windows in earlier versions of Atom.

It looks like they're organized by package to me. All those files except the first one all are in the atom-typescript package it looks like. What is missing?

Ha, beat me to it, @lee-dohm. :speedboat: They look organized by package to me as well. I'm also not seeing anything weird on my Win 8.1 install of Atom.

That's actually one long list of all files, alphabetically. The screenshot only shows atom-typescript, but the list includes all packages, plus Atom files. I'll grab a screenshot of my mac version to show the difference...

Here's a screenshot of my Mac. I have the same packages installed, and I'm working on the two that appear listed.

Perhaps a better question is, why do those appear in a nice tree on my mac, but not on my windows box. I checked another friend's windows box, and his didn't show them either.

I don't have a Windows machine available to try to reproduce this in other places, but maybe you could go to https://discuss.atom.io on Windows and look at the Sources to see if you get something like this?

I don't think Atom customizes the Chromium Developer Tools at all, so I strongly suspect this is just a platform difference from there. But I could be wrong too :grinning:

Yep, I get that same tree on Windows:

Ahh, thanks for clarifying, @sgwill -- I misunderstood what you meant by "organized" (I assumed sorted, you meant shown in different "folders").
I see the package-related files in Windows, but only for packages which are linked into Atom (using apm link, not the ones which we're installed with apm install or through Settings View. I see the same behavior on OSX.

Is that perhaps the behavior you're seeing as well? Can you perhaps try linking some packages and see if that changes anything (use git clone to create a local clone, then apm install to install dependencies and then apm link to link the package).

I tried that: removed atom-yeoman, re-cloned, apm install, and then apm link. Still no dice. The packages work, but they're still in one folder.
Now at least it's closer. Instead of being just in the (no domain) folder, they're in the file:// folder, But, still in one long list. Nevertheless, that's better. I can still use ctrl-o to find the file fast enough.

Since Atom doesn't mess with the dev tools, is this better asked in Electron? Or, even, Chromium?

@sgwill Interesting -- I tried linking two packages and both were in separate folders on Windows:

Where are you cloning packages to? From that GIF above, it seems as if you are cloning them to the .atom/packages folder where other packages are installed normally as well. Can you try cloning to a different location (e.g. just your Users/username folder)?
Also, I'm definitely not sure how devtools behave and if any of this is expected behavior or not, so I'm gonna :pager: @zcbenz and @kevinsawicki just in case they know if anything changed and such.

They're not actually in the ~/.atom/packages folder. Or, at least, apm link adds a linked folder to the packages folder.

Okay, thanks for confirming. I'm surprised by these differences -- devtools shows linked folders separately for me (and with their real location). :confused:

The folders changed a lot recently with changes to npm, pre-building, snapshotting and embedded source maps.  The new layout should be much better.


p2p: more peers connect than the maxInbound / maxOutbound set

While working on the same geographical region peering PR, I was able to recreate an issue that some of our node operators have complained about. With 0 inbound peers set and 1 outbound peer set as the max, my n_peers connected would jump to 25 when I started the node. This was on the osmo/v0.37.4 branch, which is not too divergent from mainline. After tracing it down, I found out that we are respecting the number of peers to dial in the ensurePeers logic branch, but the bug occurs here:
https://github.com/cometbft/cometbft/blob/f4c622fe597f925df9d7cd2842b726eab915aa98/p2p/pex/pex_reactor.go#L370-L385
This logic branch disregards any user defined max limits and dials peers here. In my branch i just commented out this entire logic branch and the limits were once again respected, but made an issue here to discuss what the real desired solution is. Sadly Reactor doesn't have access to user configs as it stands so it's not as simple as checking if we are at the max number of peers already.

Eddie from freshSTAKING helpfully pointed me to this issue that I was unaware of https://github.com/cometbft/cometbft/issues/486
Feel free to close this issue and we can work off that one. I am happy to implement a solution, just would like to know what direction we want to go with this prior to taking time to work on it with tests etc.

The solution is not hard, but I never found much time to deal with it.
Essentially, if we could signalize to ensurePeersRoutine that it has to run ensurePeers immediately, instead of waiting for the next interval (30s), we would have solved this problem for regular nodes.
For nodes in seed mode, the behavior is a little more complex.


create from-work-to-retirement learning content

ADO-201
Description
From work to retirement learning content page based on the current design. Finalization work is needed once the design and content are approved.
List of proposed changes:

created from-work-to-retirement page

What to test for/How to test
npm i
npm run dev
http://localhost:3000/en/learn/from-work-to-retirement
http://localhost:3000/fr/learn/from-work-to-retirement
Additional Notes

hmm. not sure why build and test pull failed. Ran test:coverage and the result was okay.

Translations for the learn more section aren't displaying correctly.  Unsure if by design or not.

Frank, you are correct. It's not part of the design yet. I am working on a partial completed design. Want to get started. I can remove it.

Add link to that page on /learn page.


Perform analysis on telemetry

Now that we're collecting telemetry data, we need to perform analysis on it.
rustc telemetry

[x] Duration metrics - mean, min, max, stdev, n-tiles (50, 75, 90, 95, 99)
[x] Count of exit codes by exit number
[x] Count of error by error number
[ ] Markov chains of compiler errors
[x] Duration metrics for successful compiles
[x] Duration metrics for compiles with error numbers
[x] Total time spent compiling
[x] Count of rustc executions
[ ] Summarize telemetry by rustc version

toolchain telemetry

[ ] which toolchains are being installed?
[ ] which toolchains are erroring?

target telemetry

[ ] Toolchain and target combination counts with success/failure counts

cc @alexcrichton You've mentioned before analysis you'd like to see locally. Do you specific things you are interested in?
A lot of what we're going to be interested in is changes over time. For example, compile times on their own don't necessarily mean anything, but a trend of compile times going up does.
Error codes are definitely the thing I care about most.

I don't think I have a burning desire for many metrics, but here's some thoughts

Is there a "markov chain" of errors, e.g. what errors are most likely to come after other errors?
What compilation targets are the most common (also host/target combinations)?
What OS versions are used the most?

Other fun statistics/scoreboards:

How long have I spent waiting for my code to compile
How many bytes has rustc generated for me
How many times has the compiler itself been run

Excellent, thanks for the thoughts. We can do a couple of those without much in the way of changes right now (markov chains, time to compile, compiler run count). The others will require at least a little bit more thinking and/or collecting, but they're not showstoppers.

@aturon sent me this link to some similar work for haskell.
I see that they are just sending their data to https://www.google-analytics.com/collect, which is interesting. Can we just use Google to present our numbers? Should we?

Initially I remember how everyone got upset about homebrew and Google Analytics. But, in this case, we're asking people to opt in. I'm for it, it certainly makes it easier for us to process the data and display it over time.

The haskell-analytics is interesting since it's in the editor (would be fun to get that kind of thing in racer).
Upside of using Google Analytics:

Limited effort from us.
Easily add more information by changing "query string" parameters. is that we don't have to do a lot of work to get the data and slice and dice it at our leisure. The downside is that if any users want to do that sort of thing, they have to do the telemetry work locally. Admittedly, now that the code is written, nothing says that we can't pull it out and put it in a separate crate so other people can parse those files.

Downsides of Google Analytics:

"ugh, you gave my data to google". (We could get around some of this by uploading to an intermediary server and then having an intermediary push data to Google.)
Limited control of functionality.
May not be able to get data back out.

The upsides of rolling our own analytics:

Complete control - anything we want to do, we can.
With open source code, it's easier for users to verify and trust what we're doing with the data

The downsides are:

We can go insane with metrics.
We have to maintain it.
We're effectively writing some kind of limited analytics thing in Rust.

Google makes a lot of sense to me.

This feature was never made visible to end users - it didn't function correctly on Windows (colors were being stripped from the output) and it gets into an infinite loop with some newer changes to rustc. (There's a bug referencing this somewhere.) But, even when it was available, all collection and analysis was local and data was never transmitted to google.
Frankly, I'm a little bit surprised that the code is still present and compiling in rustup!

Alas. How can I activate it locally? I tried setting telemetry = true in $HOME/.rustup/settings.toml and running some cargo commands, but I don't see any output.

If you run rustup telemetry enable, that will turn on the telemetry feature. Then any telemetry will show up in ~/.rustup/telemetry as a series of JSON logs. You can then see the results using rustup telemetry analyze.

We removed telemetry a while ago, so I'm closing this.


arbitrary file extension

We have a usecase where we have valid json file that happen to be named something else (like.uplugin or .uproject). Is it possible to set a flag to tell it to just accept this extension as json?

It's possible to workaround this with using the output flags from the action, but I'm still curious if it makes sense to be a feature or not.

Hi, this is currently not possible. An PR is always welcome, #61 was created by someone els and was almost done.


Corrupt response from panel: Unexpected start, expected 't', got 0x22

Describe the bug
Everything works as expected for a few hours, then I receive the below log. If I reboot the container a few times or the raspberry pi it sorts its self out but super weird?
As an aside, is there a way to shorten the amount of time before another MQTT alert can be sent? i.e. I have notifications for if a sensor is triggered, but I need to wait awhile before it detects and sends the notification. I thought it might be a dwell time but nothing obvious
Texecom alarm type
Premier Elite 23
Home Assistant version
N/A - Docker
2024-09-21 13:54:57 - INFO: Starting texecom2mqtt v1.2.3 (Node v16.13.0)...
2024-09-21 13:54:57 - INFO: Connected to alarm, sleeping for 2 seconds...
2024-09-21 13:54:59 - DEBUG: Fetched data from cache
2024-09-21 13:54:59 - INFO: Connection ready
2024-09-21 13:54:59 - INFO: Logging in to panel
2024-09-21 13:55:00 - ERROR: Corrupt response from panel: Unexpected start, expected 't', got 0x22
2024-09-21 13:55:00 - DEBUG: Closing connection to panel
2024-09-21 13:55:00 - DEBUG: Closed connection to panel
2024-09-21 13:55:00 - DEBUG: Panel socket closed
2024-09-21 13:55:00 - INFO: Panel disconnected, exiting now
2024-09-21 13:55:11 - INFO: Starting texecom2mqtt v1.2.3 (Node v16.13.0)...
2024-09-21 13:55:11 - INFO: Connected to alarm, sleeping for 2 seconds...
2024-09-21 13:55:13 - DEBUG: Fetched data from cache
2024-09-21 13:55:13 - INFO: Connection ready
2024-09-21 13:55:13 - INFO: Logging in to panel
2024-09-21 13:55:17 - DEBUG: Command 1 timed out (attempt 1, id: 0).
2024-09-21 13:55:20 - DEBUG: Command 1 timed out (attempt 2, id: 0).
2024-09-21 13:55:24 - DEBUG: Command 1 timed out (attempt 3, id: 0).
2024-09-21 13:55:27 - DEBUG: Command 1 timed out (attempt 4, id: 0).
2024-09-21 13:55:31 - DEBUG: Command 1 timed out (attempt 5, id: 0).
2024-09-21 13:55:31 - ERROR: Unhandled rejection - Command 1 timed out 5 times and could not be completed

Here is my config:
texecom:
    host: <IP_ADDRESS> # Required: Texecom panel IP address
    udl_password: "1234" # Optional: UDL password programmed in the panel. Note: this is NOT the code used to arm/disarm the panel (default: 1234)
    port: 23 # Optional: port used to connect to the panel (default: 10001)

mqtt:
    host: <IP_ADDRESS> # Optional: broker URL or IP address (default: localhost)
    port: 1883 # Optional: broker port (default: 1883 or 8883 for TLS connections)
    prefix: texecom2mqtt # Optional: topic prefix to use (default: texecom2mqtt)
    username: XXXX # Optional: broker user (default: none)
    password: XXXX # Optional: broker password (default: none)
    client_id: texecom2mqtt # Optional: client ID (default: texecom2mqtt)
    keepalive: 30 # Optional: keepalive in seconds (default: 60)
    clean: true # Optional: clean session (default: true)
    retain: true # Optional: retain (default: true)
    retain_log: false # Optional: retain on log messages (default: false)
    qos: 2 # Optional: QoS (default: 0)
    reject_unauthorized: true # Optional: if not false, the server certificate is verified against the list of supplied CAs. Override with caution (default: true when using TLS)

homeassistant:
    discovery: true # Optional: enable Home Assistant discovery (default: false)
    prefix: homeassistant # Optional: Home Assistant MQTT topic prefix (default: homeassistant)

# Optional: required only if you want to override a zone name or device class
zones:
    - id: 1 # Required: zone number or ID (e.g. 'front_door' or '4')
      name: Hallway # Optional: override the zone name (default: zone name in panel)
      device_class: motion # Optional: set the Home Assistant device class for a zone (default: the app will guess based on zone name and type). See https://www.home-assistant.io/integrations/binary_sensor/#device-class for available device classes
    - id: 2
      name: Lounge
      device_class: motion
    - id: 3
      name: Kitchen
      device_class: motion
    - id: 4
      name: Garage
      device_class: motion
    - id: 5
      name: Landing
      device_class: motion

# Optional: required only for Home Assistant mapping
areas:
    - id: 1 # Required: area number or ID (e.g. 'detached_garage', '4A' or '2')
      name: House Alarm # Optional: override the area name (default: area name in panel)
      full_arm: armed_away # Optional: mappings of Texecom arm types to Home Assistant arm types (armed_away, armed_home, armed_night, armed_custom_bypass, armed_vacation), omit any which are not relevant
      part_arm_1: armed_night
      part_arm_2: armed_home
      part_arm_3: armed_custom_bypass
      code_arm_required: false # Optional: see https://www.home-assistant.io/integrations/alarm_control_panel.mqtt/#code_arm_required
      code_disarm_required: false # Optional: see https://www.home-assistant.io/integrations/alarm_control_panel.mqtt/#code_disarm_required
      code: "XXXX" # Optional: see https://www.home-assistant.io/integrations/alarm_control_panel.mqtt/#code

cache: true # Optional: cache panel data instead of loading it each time. Recommended if using a larger panel and/or your data will not change (default: false)
log: debug # Optional: trace, debug, panel, info, warning or error (default: info)

@RogerSelwyn wasn't sure if you get notifications anymore?

I didn't, I ended up switching to a different plugin that works quite well instead. I am mainly using apple devices so I use homebridge (as well as HA).
https://github.com/K1LL3R234/homebridge-texecom
Works perfectly for me, allows me to arm and disarm plus see triggers which help with automations

Thanks @metaljay; I'd prefer to remain in Home Assistant but I'll investigate that as an option...


chore(master): release 2.7.20

:robot: I have created a release beep boop
2.7.20 (2024-11-22)
Bug Fixes

schedule builds on mondays (79e9d0c)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.7.20
:sunflower:


feat: add match regex validation

Is there a difference to our regex validation function?

@fabian-hiller somehow i missed regex....I still believe match is better naming since you could read that value should match regular expression.

Yes, I agree. match makes the API more readable but regex is on the other side more clear and easier to find.


MovieNet-SSeg data

Thank you very much for your generous sharing, but I ran into some problems with the implementation.
During the data preparation stage, I tried to download the data with the command bash scripts/download_movienet_data.sh
but I failed, and got the following prompt：

How can I get the key-frames of MovieNet-SSeg dataset?

It seems that the official provider of MovieNet changes the policy to download data as follows:

Thus, I think you can download key-frames by moving to OpenDataLab, registering an account and logging in to download data.

看来MovieNet的官方提供者将下载数据的政策更改如下：

因此，我认为您可以通过转到OpenDataLab、注册帐户并登录以下载数据来下载关键帧。
Thank you very much for your patient reply！

It seems that the official provider of MovieNet changes the policy to download data as follows:

Thus, I think you can download key-frames by moving to OpenDataLab, registering an account and logging in to download data.

Thank you very much for your patient reply！


benbp/stress values test

Fix contains method in stress generate function
Update stress examples to addons 0.2.0. Script QOL fixes.
Skip CI print for stress matrix. Minor improvements.
Debug

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


ROX-22474: push Konflux images to quay.io/rhacs-eng

Description
Switch to push images to quay.io/rhacs-eng.
Checklist

[ ] Investigated and inspected CI test results
[ ] Updated documentation accordingly

Automated testing

[ ] Added unit tests
[ ] Added integration tests
[ ] Added regression tests

If any of these don't apply, please comment below.
Testing Performed
TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why you did not do so. (Valid reasons include "CI is sufficient" or "No testable changes")
In addition to reviewing your code, reviewers must also review your testing instructions, and make sure they are sufficient.
For more details, ref the Confluence page about this section.

/retest

/retest


[Popover] fix resize event listener typo on useEffect clean-up

Oh wow, the switch happend in https://github.com/mui-org/material-ui/pull/19046/commits/02ba9850a1d30c936e0bedf6da1a60a158a356ca#diff-d7f19b2c1ef03458dfa5ee43a1714637R367.

I wonder how we could automate the catch of leaks like this one 🤔. How did you notice it?

I wonder how we could automate the catch of leaks like this one . How did you notice it?

TypeScript would've caught this.

Haha, I like this sprite 😁.

I wonder how we could automate the catch of leaks like this one 🤔. How did you notice it?

Oh, it' been 5 months and still didn't reply 🤦♂, sorry,  I caught this by human eyes, while tracing the code. 👀, I don't remember what's was the issue that lead me to this one.


jdk17 3.23.4 Redis Cluster startup failed

Expected behavior
Actual behavior
Steps to reproduce or test case
Redis version
6.2.7
Redisson version
3.23.4
Redisson configuration
https://gitee.com/dromara/RuoYi-Vue-Plus/issues/I80I97
https://gitee.com/dromara/RuoYi-Vue-Plus/issues/I7ZSGD

What is the issue?

Fixed. Thanks for report


DEVT token add logo and display in search function

Dear MetaMask Support Team,
I'm Allen the BD manager of DeHorizon group. Last December, I suppose to some help request about our token information in Metamask, but it's not fixed yet. Now, I re-send the request again.
Our project token DEVT ( EthereumSmart Contract: 0xB5c578947de0fd71303F71F2C3d41767438bD0de) have two information need to update at below:

The token logo update, please check the attachment.
User cannot find our token DEVT via the search function, the only way now is to search smart contract which is not a good experience for our members.

We hope these issues could fix as soon as possible, and looking forward to your guy's feedback.
Thanks
Allen

Please change in PR only https://github.com/MetaMask/contract-metadata/blob/master/contract-map.json and provide SVG logo. Example of correct PR - https://github.com/MetaMask/contract-metadata/pull/1034/files

Here is Devt SVG version logo, please check. @MRabenda

@Allen-DeHorizon please create proper PR - similar to https://github.com/MetaMask/contract-metadata/pull/1062 for example

feature/support-static-logos-for-mobile


Sorting and get more fields

Highlights
Added:
ZANNOTATIONMODIFICATIONDATE,
ZANNOTATIONSTYLE, -- Color
ZFUTUREPROOFING5, -- Chapter
ZANNOTATIONSELECTEDTEXT,
ZANNOTATIONNOTE,  -- Note
ZANNOTATIONLOCATION,
ZANNOTATIONASSETID,
ZANNOTATIONUUID,  --UUID
ZPLLOCATIONRANGESTART
-- more selection parameters
WHERE ZANNOTATIONDELETED = 0 and ZANNOTATIONTYPE = 2 and ZANNOTATIONSELECTEDTEXT is not null and ZANNOTATIONSELECTEDTEXT <> ''
-- sorting
ORDER BY ZPLLOCATIONRANGESTART ASC, ZANNOTATIONMODIFICATIONDATE ASC
Books
Added
ZLASTOPENDATE  -- last_opened
and sorting: ORDER BY ZTITLE ASC

@jun6lee There's an alternate plugin for syncing Apple Books highlights to obsidian: https://github.com/bingryan/obsidian-ibook-plugin that is much more actively maintained. Can you try that, maybe this functionality is already there.

Sure, indeed it is, but I do find your solution simpler to follow and elegant. Have covered it in the PR


can I not use sql parse?

Question
sometimes sql parse do not support my sql:
org.apache.shardingsphere.core.parse.exception.SQLParsingUnsupportedException: Unsupported SQL of begin
but i need it work. is there some way to avoid sql parse?
For English only, other languages will not accept.
Before asking a question, make sure you have:

Googled your question.
Searched open and closed GitHub issues.
Read documentation: ShardingSphere Doc.

Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot reproduce it on current information, we will close it.

We have no plan to support some customized requirement

Maybe it's not a customized requirement.
When sharding-jdbc can't support any sql, we can pass sql parse.
But now, I have to write jdbc connection.This is not graceful

How to sharding if pass sql parse?


[release-1.4] Add validation for regex max length

This is an automated cherry-pick of #18539

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.4
5a185dc491c80c61f8cd0b81d200b84460642a24
link
/test unit-tests_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Propagate metric providers context

In custom-metrics-apiserver v1.22.0, contexts were added to the metric
providers. We can benefit from that by propagating the context given to
the provider down to the requests.

/lgtm


fix: adding back the service worker

It was mistakenly removed in 4c71c4a905c5b52564f59233d05367a0ba91b855 (#82)

@ExFlo Thank you for your review!


Update Dock Icon

Update Dock Icon
I want to prefix this with this is super nitpicky. I love code-server, but the current dock icon stands out from other applications in the dock in an unpleasant way. I reworked the current design to match the macOS Big Sur icon style, and I think it looks a lot better (see image below). It's pretty rough, but if you like what you see, I would be happy to work on it more and provide variations for Windows and Linux.
Before

After

I agree, the current icon is kinda weird. Love the new icon @christianjuth!
The files that would need replacing are in https://github.com/cdr/code-server/tree/master/src/browser/media
If you can open a PR with the new files, I'd be happy to accept as is! What were you thinking of changing for Linux/Windows?

@nhooyr to be completely honest, I haven't installed code-server on Linux/Windows as a PWA. Now that I'm looking at the current icons, it looks like it uses the same icons for all platforms. Do you think the design above works for Linux/Windows? I want to make sure I'm not only thinking of Mac since that is what I use day-to-day.
Also, is there a place I could save the SVG? That will make it easier to change the icon later. Should I throw it in the same folder you mentioned above? I'm using Sketch, so I could also include the project file if you want.

@nhooyr to be completely honest, I haven't installed code-server on Linux/Windows as a PWA. Now that I'm looking at the current icons, it looks like it uses the same icons for all platforms. Do you think the design above works for Linux/Windows? I want to make sure I'm not only thinking of Mac since that is what I use day-to-day.

I think it should work. Though, I did just notice that you didn't use our exact logo. Let me see if I can get our logo as an SVG from our designer.

Also, is there a place in the project I can put the SVG file? That will make it easier to change the icon later. Should I throw it in the same folder you mentioned above? I'm using Sketch, so I could also include the project file if you want.

Yes, please include both. I think we'll want to use https://git-lfs.github.com though

Got the icon.
https://drive.google.com/file/d/1k4Tsb-4e5o5ZYGlOFLJfFdmzAoG962Oi/view?usp=sharing

Will be in the next release!


Tooltip

Tooltip to have arrow
Update docs.

Tooltip arrow added. Ref commit 35dc49
Docs Updated. Ref Commit 05ea44d

Both commits are on PR #33

Merged


parse-server v2.2.0 is stable?

My parse-server worked well at v2.1.6.
But I'm updated to v2.2.0 yesterday, and push is not working.
Parse-server start fine.
$ node /usr/bin/parse-server /usr/lib/node_modules/parse-server/configuration.json --port 1337
Configuation loaded from /usr/lib/node_modules/parse-server/configuration.json
serverURL: http://xxxxxxxxxxx:1337/parse
databaseURI: mongodb://xxxxxxxxxxxxxxxxxxxxxxxx/db
appId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
masterKey: ***REDACTED***
push: [object Object]
port: 1337
mountPath: /parse
maxUploadSize: 20mb

parse-server running on http://xxxxxxxxxx:1337/parse

But no print logs, both success and fail, why, why, why...T.T

What's the problem with the push? what provider are you using? APNS? GCM?

No print logs...
In yesterday, All print log about APNS, GCM.

I was setting each device and tested.
But no print log.

Logs have been removed from 2.2.0 as they were cluttering everything. Does the push gets sent? You should have a _PushStatus class added now

Your answer is very helpful. thank you!
but push is not sent.
Im searching push status more at 1hour later

In the _PushStatus collection , your should have the number of success and failures, what does that collection look like?

I checked _PushStatus collection. Send is success in log, and Installation collection is updated successfully.
But... I don't received push in my device. ㅜㅜ
a parts of logs...
{ "_id" : ObjectId("xxxxxxxxxxxxxxxxxx"), "objectId" : "fsZ8vJGx0n", "pushTime" : "2016-03-22T15:20:53.667Z", "_created_at" : ISODate("2016-03-22T15:20:53.667Z"), "query" : "{\"userSno\":{\"$in\":[6554033]}}", "payload" : { "title" : "The Shining", "alert" : "All work and no play makes Jack a dull boy." }, "source" : "rest", "title" : null, "expiry" : null, "status" : "succeeded", "numSent" : 0, "pushHash" : "xxxxxxxxxxxxxxxxxx", "_wperm" : [ ], "_rperm" : [ ], "numFailed" : 0 }

Same query, host : api.parse.com/1/push
log...
"payload" : "{\"alert\":\"All work and no play makes Jack a dull boy.\",\"title\":\"The Shining\"}", "status" : "succeeded", "numSent" : 28
payload is different.
maybe it omits to wrap double quotation at payload values.
Well, I guess I just assumed...

the way it's store is not the problem, our spec seems to have mismatched as payload is a string on parse.com and not parse-server. I'll try to see what's going on, but that's for sure a problem in APNS.js.

I don't know what I'll do...

@ggamzzak this is an open source project, you can help by finding where the bug and provide a pull request.

@flovilmart Okay, I appreciate you help.
By the way, Is your push working well at latest version?

I'm not using parse-server in production yet. I'll try to have a deeper look at the bug some time


midi command to support .nbs files

NBS files are files created from a program called Minecraft Note Block Studio which has an interface of creating noteblock songs and then save as .nbs or export as .mid
You can find more information about it here: http://www.stuffbydavid.com/mcnbs
The problem is that "Denizen's player" is out of tune if I play an exported .mid file (it sounds horrible).
Therefore, by reading from a .nbs file, it should be much better to listen to in-game with the right tunes as well.

After further investigation, its not much about the tunes but its actually the beat types.
Denizen only seems to support Piano / Double Bass. It is missing the Bass Drum, Snare Drum and Click.
I would be okay if this was fixed instead.

I recently tried doing the midi command on the example file given (in a 1.10 server) and it sounds like someone attempted to redo the song only using clicks.

Will this ever be a thing? Or maybe its for Depenizen instead?

Oh what how'd this slip by - the midi command may be fixed (hopefully), but .nbs support is pointless.


update form

update docs wrt new features such as show/hide section/tab

I did a PR with example to show/hide tab in the form

merged


Formatting and syntax highlighting in README.md

Changes

Set all code blocks to ts for TypeScript syntax highlighting
Consistently format all example code blocks with 2-spaces

Updated.


Create Link-Iteration Cmdlet

Arguments:
TfsIteration
TfsTeam

@elipsion maybe a bit too late, but would you care to elaborate?

I think that I was trying to create nested Iterations  in bulk, but couldn't find a way of doing it.

FWIW, you can do that by passing the full path in the call to New-TfsIteration. Given the following call:
New-TfsIteration -Iteration 'Iteration1\Iteration2\Iteration3\Iteration4'

If any of the iterations (Iteration1, Iteration1\Iteration2, Iteration1\Iteration2\Iteration3 or Iteration1\Iteration2\Iteration3\Iteration4) doesn't exist, it's created automatically.
It should work in the v1 branch, but I can't tell for sure now. Nevertheless, v2 does support it (I just tested it).


chore(OS_Scan): Enable New Colleagues

Task Description
Enabling colleagues from SGS SDAI into the Heureka development team
Acceptance Criteria:

[x] Slack Access
[ ] GitHub Repo / Project Acess
[ ] Environment Setup

Resources

Heureka Deep dive Sessions

Heureka QA Env.

Heureka Product Design Document

Entity Relationship Documentation

Sprint Board

Conduct a Deep dive session once everyone is done with the Env. Setup.


Account sidebar links URLs

Fixes #4946
URLs construction has been changed as requested in the issue, using the form CartoDB.url(self, 'profile_user', {}, current_user). Now the path has /u/[username].
CR @juanignaciosl

retest this please

:sparkles:


Incorect ordering for config. Don't work ordered dict

Describe the problem
Don't work ordered dict.
Incorect line https://github.com/jazzband/django-constance/blob/master/constance/admin.py#L217
Steps to reproduce
CONSTANCE_CONFIG = OrderedDict([    ('second', ('Second', 'Second')),    ('first', ('first', 'first')), ])
System configuration

Django version: 1.9
Python version: 2.7

https://github.com/jazzband/django-constance/pull/166

Fixed on #166


SIGTERM drop

Ive found on fly.dev a lot of apps reboot with records like that:
2023-07-22T01:05:09.939 proxy[5683210cd5e908] cdg [error] could not make HTTP request to instance: connection error: timed out
2023-07-22T01:05:46.179 proxy [5683210cd5e908] cdg [info] Downscaling app raily in region cdg from 1 machines to 0 machines. Automatically stopping machine 5683210cd5e908
2023-07-22T01:05:46.183 app[5683210cd5e908] cdg [info] INFO Sending signal SIGINT to main child process w/ PID 268
2023-07-22T01:05:51.267 app[5683210cd5e908] cdg [info] INFO Sending signal SIGTERM to main child process w/ PID 268
2023-07-22T01:05:51.975 app[5683210cd5e908] cdg [info] INFO Main child exited with signal (with signal 'SIGTERM', core dumped? false)
2023-07-22T01:05:51.976 app[5683210cd5e908] cdg [info] INFO Starting clean up.
2023-07-22T01:05:51.976 app[5683210cd5e908] cdg [info] WARN hallpass exited, pid: 269, status: signal: 15 (SIGTERM)
2023-07-22T01:05:51.981 app[5683210cd5e908] cdg [info] 2023/07/22 01:05:51 listening on [fdaa:2:8925:a7b:5adc:cbc6:c565:2]:22 (DNS: [fdaa::3]:53)
2023-07-22T01:05:52.973 app[5683210cd5e908] cdg [info] [ 479.042080] reboot: Restarting system

also in app logs I see many times after asking the bot log like that:
2023-07-22T01:04:11.627 app[5683210cd5e908] cdg [info] ]
2023-07-22T01:04:11.627 app[5683210cd5e908] cdg [info] }
2023-07-22T01:04:13.497 app[5683210cd5e908] cdg [info] [llm/end] [1:llm:openai] [1.87s] Exiting LLM run with output: {
2023-07-22T01:04:13.497 app[5683210cd5e908] cdg [info] "generations": [
2023-07-22T01:04:13.497 app[5683210cd5e908] cdg [info] [
2023-07-22T01:04:13.497 app[5683210cd5e908] cdg [info] {
Maybe someone can help or advice. Very appreciated folks!

I get the same.


Mark the package as having no side effects

I'll try to collect all contributions into a forked repo.
https://github.com/simPod/d3-sankey/pull/9


Update directory name from MyHub to ChaosHub

Proposed changes
To ensure the stability and long-term viability of our codebase, I suggest unifying the terms 'MyHub' to 'ChaosHub'.
And this PR update codes like below.

Updating directory name(package name) from myhub to chaoshub
Updating function names and variable names relevant to myhub
Changing collection name of myhub to chaoshub in MongoDB
Updating any related tests and documentation to reflect the changes made.

Issue No. #3927
Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[ ] New feature (non-breaking change which adds functionality)
[x] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the commit for DCO to be passed.
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[x] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer: @S-ayanide @amityt

@Jonsy13 please check this.


And solidity optimization

fix  misspelled ("decsribes" ->  "describes")
Use shared array for input
Fixes in the template

Co-authored-by: tinywell<EMAIL_ADDRESS>Co-authored-by: tinywell<EMAIL_ADDRESS>Co-authored-by: omahs<EMAIL_ADDRESS>

I think this is not applicable anymore, seems the optim landed on develop from a separate PR -- (#376 )


BossBar isn't working with 1.12 clients

What is the output link of /viaversion dump?
https://gist.github.com/d4fc66b07554c6265afc3989a2c685d6
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
We are using our own fork of BungeeCord but we updated our fork to the newest commit of the official BungeeCord yesterday. We don't use any plugins on our BungeeCord that manipulates the bossbar.
How does this error happen? login? Using an item?
When a 1.12 client is connecting to the server he will be immediately kicked off cause of an error occurs on bungee side. I tried to debug this and came to the result that this can't be an issue of our bungee server. The amount of readable bytes in the ByteBuf when a 1.10 client connects are 151. When a 1.12 client connects only one byte.
Is there an error in the console? Use pastebin.com. Is there a kick message?
The stacktrace: https://pastebin.com/NexKN0J2

Does this issue happen if you direct connect to the 1.9.4 backend server?

Nope. Only with BungeeCord.

Can this be replicated with vanilla BungeeCord?

No. But our system is nearly identical with the vanilla BungeeCord.

I would suggest looking at the changes you have made as this looks like some sort of issue there.


Endtable

allow widget to display between table data and footer pagination. This can be used for some situation like user want to display the summary of current data source or any notify.

Thanks for filing the PR. Could youy please explain the reason for having such a feature? It's not clear from the provided example what is the prupose of having some table below the table:

JIC, as an extention point it is possible to use custom paginator and paginator controller if one wants to customize the bottom piece of the widget. It is possible to recreate the example you created using existing features.
Besides is seems there're other change not related to endWidget. Could you please elaborate on those ones?

here is the situation where we (developer) can display the total at the end of the data table, and it should be display sticky before pagination. In my source code projected, I have created DataRow3 which consists on important string key.

In other words the feature you would like to intriduce is to provide a sticky bottom row to let developers display summary data.
I don't think the pull request is a good solution to that - simply adding an asbitrary widget at the bottom of the table isn't the solution. Making devs to put DataTable2 inside a PaginatedDataTable2 is not very elegant solution. Besides it clearly is a workaround that doesn't accout for coulm widths, the example provided by you clearly shows that 2 tables are out of sync in tersm of column widths, as well as the the current appearence of the example looks like there's some bug (for some unclear reasons the exanple shows 2 tabeles):

I'll be closing this pool request since it doesn't provide any useful capability but rather makes the package in worse shape:

The feature is not clearly described in the PR, the solution doesn't fit the problem you described and doesn't seem to solve any other clear/actual problem
Inflating the package with some code not solving real issues, not covered by usint tests and comprehensive documentatyion is not a way to go
All PaginatedDataTable2 examples are now spoiled by addition of 'endWidget'
There're some other commits with no clear purpose and description not related to endWidget
Any PR is execpted to have propper inline documentation and test coverage - there's no
An example shoukld be porovided not spoiling other examples and clearly highlighting the feature of interest. E.g. in this case a summary row with calculated averages could be a good option.

On a separate not, a good solution to the problem you described would be having a 'DataRow bottomRow' field at the widgets to he displayed as sticky row, rather than making a placeholder for arbitrary widget. Should you be willing to make that kind of PR - you're welcome to submit a new one (while addressing the above comments).
P.S.: the screens from your project look good, glad you managed to customize the widgets for yourself!


Dialog not showing up after firts "Deny"

Expected behaviour
Show a default Dialog when requesting a permission after the first "Deny"
Actual behaviour
Nothing appears
Steps to reproduce

Request permission
Deny permission
Request again permission

Version of the library
2.2.2
Code
It only happens when I use the default dialogPermissionListener:
DialogOnDeniedPermissionListener.Builder
    .withContext(context)
    .withTitle("Camera permission")
    .withMessage("Camera permission is needed to take pictures of your cat")
    .withButtonText(android.R.string.ok)
    .withIcon(R.mipmap.my_icon)
    .build();

Using this sample code:
PermissionListener snackbarPermissionListener =
                SnackbarOnDeniedPermissionListener.Builder
                        .with(rootView, "Camera access is needed to take pictures of your dog")
                        .withOpenSettingsButton("Settings")
                        .build();
        Dexter.checkPermission(
                new CompositePermissionListener(snackbarPermissionListener, dialogPermissionListener),
                Manifest.permission.CAMERA
        );

Hi @Mariovc
I think I know what's happening, the default DialogOnDeniedPermissionListener implementation doesn't handle the onPermissionRationaleShouldBeShown callback, letting implementers override it. That means that the second time a permission is requested Android gives you the opportunity to show a rationale to explain why your app needs the requested permission and we aren't returning anything.
We should make it more clear for clients that default implementations are meant to be overridden (maybe turning them into abstract classes) or composed with other listeners to handle that scenario.
We need to think if that's a behaviour we want to preserve or change in order to avoid this misunderstandings.

I'd rather to show a rationale by default. I think it is a better behaviour because it is what most people expect from it. If the client creates a default DialogOnDeniedPermissionListener and nothing happens, it seems to be that something is wrong instead of thinking it was made deliberately.
But it is open to discuss.
Thanks

Sounds like the right thing to do to me too, @pedrovgs @flipper83 thoughts?

Yeap, it sounds like the right thing to do :)


Escape key, focus for accessibility

The escape key should close the modals/overlays. Focus should remain inside the modal while it is open and should return to wherever it was before when the modal is closed.
See http://simplyaccessible.com/article/closing-modals/

Thanks for the issue, I have added escape support in the latest release.

Thanks for the issue, this has been added to the 1.1 release.


Different Path needed when Loading Asset from DefaultAssetBundle

Steps to reproduce
Step one: Put a file in the Assets folder and add it to the pubpec.yml
Step two: try to load that file using the DefaultAssetBundle.of(context).loadAsString("filename");
Step three: Run the App on the Web. (No exceptions)
Step four: Run the App on Max (Exception: File not found)
Step five: add "assets/" before the file name and run it again on Mac. (No Exceptions).
Step Six: Run the modified version on the Web. (No Exceptions).
Expected results
I need to specify the path to a file for all platforms equally
Actual results
I need to specify the path to a file different depending on the platform i want to use.
Code sample
Code sample
String data = await DefaultAssetBundle.of(context).loadString("assets/map.json");

Screenshots or Video
No response
Logs
Logs
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Unable to load asset: "map.json".
The asset does not exist or has empty data.

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0 24A335 darwin-arm64, locale en-US)
    • Flutter version 3.24.3 on channel stable at /opt/homebrew/Caskroom/flutter/3.19.5/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/****/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/macos-android-setup for more details.

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

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

[✓] Android Studio (version 2023.2)
    • Android Studio at /Users/****/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] IntelliJ IDEA Ultimate Edition (version 2<IP_ADDRESS>)
    • IntelliJ at /Users/****/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 81.1.3
    • Dart plugin version 242.20629

[✓] Connected device (4 available)
    • iPhone von **** (mobile)        • 00008130-00167D842491401C • ios            • iOS 18.1 22B5054e
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 15.0 24A335 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 15.0 24A335 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 129.0.6668.91
    ! Error: Browsing on the local area network for iPhone von ***. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

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

! Doctor found issues in 1 category.

Possibly a duplicate of https://github.com/flutter/flutter/issues/86833

This is indeed a duplicate of https://github.com/flutter/flutter/issues/86833.
Kindly follow up in the original issue for updates.
Closing from here.
Thank you


don't buffer when separator = ""

Here's a suggestion:
        stream.on 'data', (data) =>
          @buffer += data
          if @separator is ''
            # just send the whole buffer
            # (without this condition it buffers the last character)
            @emit("line", @buffer) # "data" event to be more precise
            @buffer = ''
          else
            # buffer anything after the last separator
            # (and don't send the separators)
            parts = @buffer.split(@separator)
            @buffer = parts.pop()
            @emit("line", chunk) for chunk in parts

Did you ever get round to thinking about this ?
It would also be useful for tailing binary files which by their nature could contain any character - so you ideally want to just spit out the whole new chunk that arrives... including the last character,  but at least if it sent every character one at a time (as now) it would be ok.

Hi @dceejay,
No I have not solved this.

Fixed with release 1.4.0. To avoid buffering just pass null as parameter in the constructor.


Build Specific Task Support

I need to run an image optimization script on the renpy game source but It needs to only run when building for android. I looked at the docs for custom tasks but I didn't see any obvious way to run build-specific tasks. Ideally I would be able to run the android build last (assuming multiple builds were chosen in the config) and create a custom task that would run right before the android build step that runs the image optimization script on the source. That way the Mac/pc builds have the full size assets and the android build has the smaller assets. Since I'm running this in CI, it doesn't matter if any changes are made to the images during the process as they are thrown away at the end of the pipeline build.
I thought about potentially running a task to copy the source files to another directory and do the image covert there to leave the original ones available for the Mac/pc build but there doesn't appear to be any way to direct a specific build type to a specific folder anyway so that wouldn't work. It seems like the custom build tasks are an all-or-nothing type system.
Is there any way to achieve what I want with this tool?

Not at the moment, unfortunately. RenKit is supposed to be a rebuild of the existing Python tools and as part of that development I have plans to support more flexible custom tasks, either via shell script or via custom Python scripts that can be called at varying stages in the build process. Those are currently not implemented but are on my docket as far as new features go.
Once implemented they will likely receive state information, such as what build is currently being attempted, so that would end up supporting this use case.

In case you want to accomplish this right now, you could probably cheeze it by simply running renconstruct twice with two config files. The first would do all the regular builds. Then you process your images. Then you run it again with a second config which only does the Android builds. That way you can do whatever you want in between runs and since Android goes last, you don't have to worry about state corruption.

This is the problem I'm having right now with your proposed solution of running renconstruct twice. It nukes the output directory between runs so I'd have to duplicate my upload logic between the runs which is not very dry:
https://github.com/kobaltcore/renkit/blob/a587ceb7ed66f614b6dd3a131b5a305a7e7a4492/src/renconstruct.nim#L150
Maybe having this as a config options would be helpful?

Yeah, that would make sense. I'll add a switch that disables the directory re-creation so it can be reused. I think I might actually make that the default since intuitively you would likely expect it to just create the directory if it doesn't exist but just use it as-is when it has already been created beforehand.


[QUESTION] How to Import Image from excel to database ?

Prerequisites

[x] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[x] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[x] Checked that your question isn't already asked before.
[x] Filled in the entire issue template

Versions

PHP version: 5,2
Laravel version: 5.6
Package version: 3

Description
I want to Import Image from excel to database, how to do it ?

You will have to use PhpSpreadsheet via our event system directly at the moment. I've some plans for future versions to make this easier.
Closing due to age of ticket


Refactor validate unclaimed

Changes:

Previously validate_unclaimed did checks and write at single call. Now, they are splitted into get_or_insert_address & ensure_claimable
We probably do not need two separate version of validate_unclaimed

@ibrizsabin


style encoder inconsistency

Hello,
In train_first.py,
s = model.style_encoder(gt.unsqueeze(1))
However, in train_second.py,
 # compute the style of the entire utterance
 # this operation cannot be done in batch because of the avgpool layer (may need to work on masked avgpool)
 ss = []
 for bib in range(len(mel_input_length)):
     mel_length = int(mel_input_length[bib].item())
     mel = mels[bib, :, :mel_input_length[bib]]
     s = model.style_encoder(mel.unsqueeze(0).unsqueeze(1))
     ss.append(s)
 s = torch.stack(ss).squeeze()

The batched output and per-utterance output are indeed different. Why are train_first and trans_second inconsistent in the ways of extracting style embedding? Since "this operation cannot be done in batch", why it is done in batch in train_first.py?
Thanks for your help!

This s is used for duration prediction, which is utterance-wise (rather than clip-wise), as you are predicting the durations for the entire utterance rather than just some clip. If you scroll down you can see that the s used for F0 prediction is the same as the s in train_first.py because then you are doing per-clip F0 prediction instead of per-utterance prediction.


[HTTP] Provide an API for deleting a header based on the header value

Description:
Currently, you can only remove a header by giving the header key. But in cases where there may be multiple header values per header key, the user needs to be able to delete a specific value from those header values.
Example usecase:
Upon successful validation of a cached response, before serving it to the user, any "Warning" headers present with a 1xx series status code needs to be removed from the response

This is a very specific usecase and retrieving a header based on a value might return different headers since the same value can be used in multiple headers.
With an offline discussion with Pubudu it was realized providing this functionality is not going to add any value hence closing this issue.


Can't get coverage for concerns when using simplecov

My custom plan looks a little something like this
require 'zeus/rails'

class CustomPlan < Zeus::Rails
  #...
  def test
    require 'simplecov'
    SimpleCov.command_name 'RSpec'
    Dir["#{Rails.root}/app/**/*.rb"].each { |f| load f }
    super
  end
end

Zeus.plan = CustomPlan.new

However, it errors out saying
Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks)

I could solve this by not loading my concerns
Dir["#{Rails.root}/app/**/*.rb"].reject{ |f| f[%r{/app/controllers/concerns/}] || f[%r{/app/models/concerns/}]  }.each { |f| load f }

but that defeats the purpose, since my concerns aren't getting picked up in the coverage report (simplecov needs to be loaded before anything else).
Anyone have a solution for this?

Did you try putting your simplecov init into your test helper?

If i put my simplecov init in the spec_helper.rb, no files are picked up.

Did you resolved ?


implement keyboard nav to select idp

this is done now using "tab", which works by default with HTML. For arrow keys it seems excessive JS would be required to make it work properly and take care of (many) edge cases.


Relations

Added a very simple link, where the json field is simply installed
relation under the desired name and the array id is stored.

$post = Post::find(1);

$post->addJsonRelation('movie',4);

$post->save();

$movie = $post->loadJsonRelation('movie')->get()

I certainly wanted a lot more, but now I do not even know;)
Now we need to figure out how to output this in the admin panel for editing, perhaps select2

I like this format, but the data does not support Ajax upload:
http://fabianlindfors.se/multijs/


Update PPP

Codecov Report

Merging #202 (2b4507e) into master (04b907a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #202   +/-   ##
=========================================
  Coverage     60.11%   60.11%
  Complexity      755      755
=========================================
  Files           139      139
  Lines          3034     3034
  Branches        331      331
=========================================
  Hits           1824     1824
  Misses         1089     1089
  Partials        121      121

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 04b907a...2b4507e. Read the comment docs.


WSL2 Arm64 not supported - The architecture name is detected incorrectly

I have an ARM64 laptop where I installed WSL2 running Ubuntu 18.04. I made sure to install vsdbg in Ubuntu, as well as dotnet, from a PPA. So all the requirements are met - I can also build the dotnet/runtime repo without problems.
But when I try to install the OmniSharp extension inside WSL2, I get this error dialog:

Notice the architecture name. It was detected as "aarch64". I suspect the architecture may be considered "unknown", even though the WSL2 architecture is actually "aarch64" when running inside an ARM64 machine. Here's the output of "uname":
carlos@armlaptop:~$ uname -a
Linux armlaptop 4.19.121-microsoft-standard #1 SMP Fri Jun 19 21:03:36 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

This error is also preventing me from debugging. I have a configuration in launch.json, which works in another laptop (it's x64), but in my ARM64 laptop I get this error:

Let me know if you need more information.
cc @pgovind

ARM64 is not supported yet see https://github.com/OmniSharp/omnisharp-roslyn/pull/1706

Thanks for letting us know, @filipw.
I'll close this issue in favor of #1706. cc @JoeRobich.

Reopening because PR https://github.com/OmniSharp/omnisharp-roslyn/pull/1706 was only exploratory and won't address this.

I was exploring the viability of doing .Net in a Raspberry Pi 4 (8bg model) and while you can deploy .Net without any issues, developing/debugging is out of reach at the momtent

I received the same error when trying to write C# using my Pi400.  Since VS Code AND .net 5 runs perfectly and out of the box on the RaspberryPi now, it's time to port OmniSharp to a linux ARM64 architecture, so we can use the Raspberry Pi 400 (and others) for teaching purposes and fooling around in .NET 5 (and above).

Agreed. @filipw what needs to be done to increase the priority of this issue?

debugging for rpi4 aarch64 works with my little modification:

https://github.com/OmniSharp/omnisharp-vscode/pull/4515
See also my comment (with link to vsix): https://github.com/OmniSharp/omnisharp-vscode/issues/2771#issuecomment-962630160

To be fully functional I would neeed this project working with arm64/aarch64 too. Any idea where to start?


feh: 3.7.1 -> 3.7.2

Motivation for this change
ChangeLog: https://feh.finalrewind.org/archive/3.7.2/
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 via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution 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.

Result of nixpkgs-review pr 139457 at 646cb17c run on aarch64-linux 1

7 packages built successfully:

deco
feh
multilockscreen
nixos-install-tools
python38Packages.pywal
pywal (python39Packages.pywal)
wpgtk


Pipreqs does not pick up on google-cloud-translate

Pipreqs does not seem to be able to infer the google-cloud-translate package from the import that is suggested in the package instructions (from google.cloud import translate).
Operating system and version
WSL 1.0 running Ubuntu on Windows 10
Python 3.6.9
Steps to reproduce

Create new python file

Import google translate via:

from google.cloud import translate

run pipreqs
The package will not be found in the requirements.txt

I found the same issue with the module google-cloud-secret-manager, which is imported similarly: from google.cloud import secretmanager

Same here
from google.cloud import datastore
DEBUG: Found packages: {'google'}
DEBUG: Found imports: protobuf
It seems to recognise google but uses protobuf as a requirement instead.
Interestingly, if you type import google and go to the reference for google, the path is .vscode\extensions\ms-python.vscode-pylance-2021.3.3\dist\typeshed-fallback\stubs\protobuf\google\__init__.pyi
I've tried removing pylance as the language server but this still happens

on windows 10, pipreqs missing
from google.cloud import secretmanager
also import protobuf.
thanks in advance

Same issue of Mac OS when importing GCS
from google.cloud import storage
pipreq recommends protobuf==3.17.3

Any news on this? Same issue for me when import BigQuery:
from google.cloud import bigquery
pipreq recommends protobuf==3.19.1

Yes I confirm that every package with '.' in the name is not discovered. For example it is the case for the opentelemetry SDK as well.
Reading rapidly the code, I found maybe some lines to change to fix that. Unfortunately, I don't have time to check and propose a Pull Request ... I put here the result of my investigation if someone is interested.

Changing this line to create one raw_import by name being with value "{{module}}.{{name}}" https://github.com/bndr/pipreqs/blob/v0.4.11/pipreqs/pipreqs.py#L123
Removing this guard here
https://github.com/bndr/pipreqs/blob/v0.4.11/pipreqs/pipreqs.py#L140.
As the guard is removed, I assume the code should check all the different combinations there https://github.com/bndr/pipreqs/blob/v0.4.11/pipreqs/pipreqs.py#L177
I assume here that doing a search from the bottom (aaa.bbb.ccc.ddd, aaa.bbb.ccc, ...) would hopefully find less issues than doing the search from the top (aaa, aaa.bbb, ...) that would lead to the protobuf issue for google libraries users.


Add patch to allow physics on tactical vest

Includes the patch mentioned at https://github.com/nipkownix/re4_tweaks/issues/22#issuecomment-980542000, patching both cPlLeon::initCloth & cPlLeon::moveCloth (thanks to @RiasatSalminSami for reminding us about it!)
I still think it's weird they included code to check for this costume specifically though, doesn't seem that accidental to me - but since the patch mostly seems to work fine I guess we should be good, if anyone does find a problem with it we can probably just add a check for whatever edge-case has issues with it instead.
If anyone wants to test this, a build with this + RaiseInventoryAlloc fixes is at https://github.com/nipkownix/re4_tweaks/files/8055010/dinput8-tacticalVestPhysics.zip
As noted at https://github.com/nipkownix/re4_tweaks/issues/22#issuecomment-1037799043 Raz0r's trainer seems to overwrite the area that this patches, undoing it every frame, not sure if that can be worked around at all - but that makes me wonder if there could be other patches of ours that it overwrites too...

Raz0r's trainer seems to overwrite the area that this patches, undoing it every frame, not sure if that can be worked around at all

Most likely we can't work around that. This seems to be part of his "physics.cfg" patch. The default physics.cfg (from his dll) looks like this:
https://pastebin.com/raw/c18AhjHh
Both his trainer and his dll have options to load physics.cfg, and the trainer probably has Leon's vest hardcoded.
physics.cfg is a pretty neat idea, tbh. I'm just not sure why he had to write everything every frame.


Improve test suite

Currently only 4 out of 5 files have tests, and those are at best marginal. Given testing is a key part of this libraries core I would like to see these get better.

Get coverage to ~80-85%


Improve example accessibility in EventHandling

Cheers. :)

Good thinking on this change. It's a little confusing with the component called Button (uppercase) and then also rendering button (lowercase). Can we rename to CounterButton?

Nvm, I forgot I can commit directly to PRs now


Restructure the code of the repository

The idea is to group modules with similar functionality into directories thus cutting down
on the number of top level directories and making it easier to navigate the project

but I am all for it before it's too late.

Exactly


Mitigate misuse of Swift's pointer conversion feature

This is a continuation of the work done in https://github.com/apple/swift/pull/42002, addressing the exact same issues.
The family of String (and FilePath) initializers that convert from C strings (null-terminated byte buffers) can be called with Swift arrays, which are converted to UnsafePointer arguments for C interoperability. However, when the array passed in to them violates the C string precondition of containing a zero byte, this can result in a buffer overflow.
This PR overloads every such initializer with a version for [CodeUnit] and inout CodeUnit, enforcing the null-terminated precondition. An overload for String is also added. The String overload may appear strictly useless, but it behaves differently than a direct copy when the source string contains an embedded null.
Addresses rdar://91436410.

There are no new tests yet.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


Rap generator using markov chains #91

Do not change things like they never work (you have added link of python 2.7 suggesting project needs python 3.7 as python 2 and python 3 are totally different from each other by syntax and everything) Do not make this kind of small mistakes and if you have your own made explanation video or documentation then add the  link of those kindly do not add link of any youtube channel like edureka

Do not change things like they never work (you have added link of python 2.7 suggesting project needs python 3.7 as python 2 and python 3 are totally different from each other by syntax and everything) Do not make this kind of small mistakes and if you have your own made explanation video or documentation then add the  link of those kindly do not add link of any youtube channel like edureka


Upgrade to react-day-picker 8.X.X

A new version of react-day-picker is available since march
Read the Release V8 and manage the breaking changes

Maybe change the lib is also a good thing. Just saw this tweet:
https://twitter.com/devongovett/status/1539269528512647171?t=rp-JfBruOG5LS1t1Cz2_Hw&s=19

This has been done thanks to @DecampsRenan


Draft ActivitySource Child Activity PropagationData solution

/cc @cijothomas @tarekgh
Here's a scratch solution for the issue we discussed earlier today wrt ActivityDataRequest.PropagationData being hard to determine when child Activity is created/sampled.
What I tried to do was reconstruct the ActivityDataRequest used by the Parent so that it can be passed into the "sampler" logic when a child is created.
Let me know what you guys think. I didn't want to go too far with it before testing the water.
The logic is basically...

If no ActivityContext (default), ActivityDataRequest.None.
If ActivityTraceFlags.Recorded, ActivityDataRequest.AllDataAndRecorded.
If there is an Activity.Current and it is IsAllDataRequested, ActivityDataRequest.AllData.
Otherwise ActivityDataRequest.PropagationData.

When this is all happening in proc, there is enough data to do it. When that state is transmitted over the wire it's going to be hard to restore all the states. In that case you know you have a context and it is or isn't Recorded. If Recorded, you are ActivityDataRequest.AllDataAndRecorded. If not recorded you could be either ActivityDataRequest.PropagationData or ActivityDataRequest.AllData. I don't think we can solve that without expanding W3C ActivityTraceFlags. Or we could also just drop ActivityDataRequest.AllData? I don't really see the value it is adding to the mix.

CC @noahfalk
Is it expected to add more stuff to the ParentActivityState in the future? I am asking to know is it worth it to add a new type for that or we can just pass the ActivityDataRequest as extra parameter to the call backs.

by the way, thanks @CodeBlanch for the proposal :-)

https://github.com/CodeBlanch/runtime/issues/2 would be an alternative, much bigger, approach to solving this (and other things).

I wouldn't go that far with proposal #2 just to solve this scoped issue. Now looking at this proposal #1. Looking at the 4-bullets in the description, I think this is can be detected without any APIs. right?

If no ActivityContext (default), ActivityDataRequest.None.

You'll get the Activity context in the callback and you can assume the ActivityDataRequest.None at that time.

If ActivityTraceFlags.Recorded, ActivityDataRequest.AllDataAndRecorded.

You'll get ActivityContext in the callback and you can check the ActivityTraceFlags and set ActivityDataRequest.AllDataAndRecorded.

If there is an Activity.Current and it is IsAllDataRequested, ActivityDataRequest.AllData.

You can request Activity.Current too and handle it.
If the concern here is API usability, we can clarify the documentation and specifically list these actions there. Also, we can provide a sample code showing how you can do that.
The other idea could be we provide a simple helper method that takes the ActivtyContext and returns ActivityDataRequest value can be used in sampling. wouldn't that be a much simpler solution?

Essentially we're asking the user to understand the intricate details of the implementation and correctly craft this logic in their callback code:
            bool isDefaultContext = context == default;

            Activity? currentActivity = Activity.Current;
            ActivityContext initializedContext = !isDefaultContext
                ? context
                : currentActivity?.Context ?? context;

            ActivityDataRequest parentDataRequested = isDefaultContext
                ? ActivityDataRequest.None
                : (initializedContext.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded
                    ? ActivityDataRequest.AllDataAndRecorded
                    : currentActivity?.IsAllDataRequested == true
                        ? ActivityDataRequest.AllData
                        : ActivityDataRequest.PropagationData;

Could they pull it off? Yes. I managed to :) But I think it would be nicer to give them an API that takes care of this heavy lifting.

Or we could also just drop ActivityDataRequest.AllData? I don't really see the value it is adding to the mix.

It corresponds to the OT spec option "RECORD". I am not sure how you would implement the sampling spec without it?

What I tried to do was reconstruct the ActivityDataRequest used by the Parent so that it can be passed into the "sampler" logic when a child is created.

I probably missed some backstory. Assuming you had this value what does it get used for? The OT spec for sampling does not specify that samplers are intended to be provided with the sampling decision for the parent.

Or we could also just drop ActivityDataRequest.AllData? I don't really see the value it is adding to the mix.

It corresponds to the OT spec option "RECORD". I am not sure how you would implement the sampling spec without it?

@noahfalk You are thinking of AllDataAndRecorded. See, it's confusing :) We set Activity.ActivityTraceFlags.Recorded/Activity.Recorded for ActivityDataRequest.AllDataAndRecorded. We set Activity.AllDataRequested when ActivityDataRequest.AllData or ActivityDataRequest.AllDataAndRecorded.
When we propagate context to another dependency we only really have 3 states. No propagation at all (ActivityDataRequest.None), propagation w/ ActivityTraceFlags.Recorded = yes (ActivityDataRequest.AllDataAndRecorded), or propagation w/ ActivityTraceFlags.Recorded = no (which could mean ActivityDataRequest.PropagationData or ActivityDataRequest.AllData, there's no way to know).

I probably missed some backstory. Assuming you had this value what does it get used for? The OT spec for sampling does not specify that samplers are intended to be provided with the sampling decision for the parent.

Ya there seems to be a lot of confusion here. But it's critical! Let me try to explain.
Let's say we are writing an ASP.NET Core web service.

A call comes in. ASP.NET Core will look for W3C trace headers. If it finds them, it will start an activity using the propagated context. If it doesn't find them, it will start a new Activity. Both will be passed to our sampler. Up to user at this point how they want to sample that guy. If parent is Recorded, they could respect that. If not, they could make their own decision. But if the parent was propagated, they should really use ActivityDataRequest.PropagationData at a minimum so context also flows to anyone downstream? In all cases, you really need to look at the parent to know what to do.
That call moves out of ASP.NET Core into user code and our logic starts executing. Let's say we now make a Sql call. We start a new Activity for that, under the parent created by ASP.NET Core. That will run through the sampler again. The parent's sampling decision is critical to the determination we make here. If we decided to sample the parent, we should sample this Sql call. Otherwise we'll never get a consistent trace through the system for a request. If we sample every Activity independently, you'll get scattered data.
Sql call finishes. Now we call another web service. A new Activity is created. Same story here. If that parent was Recorded, we need to pass that along to the new service. If Parent was PropagationData, we need to pass the context. If we ignore the parent, things are broken.

Help at all?

[ActivityDataRequest.AllData] corresponds to the OT spec option "RECORD". I am not sure how you would implement the sampling spec without it?

@noahfalk You are thinking of AllDataAndRecorded.

I agree its confusing, but I still believe my original statement was correct : ) The OpenTelemetry spec outlines three values that a sampler can return:
NOT_RECORD - IsRecording() == false, span will not be recorded and all events and attributes will be dropped.
RECORD - IsRecording() == true, but Sampled flag MUST NOT be set.
RECORD_AND_SAMPLED - IsRecording() == true AND Sampled flag` MUST be set.

The naming is aggravating, but OT defines Span.IsRecording() completely differently than Activity.IsRecorded. We can't change Activity.IsRecorded because that API already shipped so unless OT changes their spec it is an unavoidable naming collision:
OT Span.IsRecording() -> Activity.IsAllDataRequested
OT sampled flag       -> Activity.IsRecorded

Translating the OT spec into Activity terminology gives us:
RECORD - Activity.IsAllDataRequested == true, but Activity.IsRecorded flag MUST NOT be set.
RECORD can not match AllDataAndRecorded because that option sets Activity.IsRecorded = true, and the spec says it must be false.

Let me try to explain...

Thanks 👍  I think your objection may be with the specification itself? The specification details exactly what data should be made available to the sampler:
SpanContext of a parent Span. Typically extracted from the wire. Can be null.
TraceId of the Span to be created. It can be different from the TraceId in the SpanContext. Typically in situations when the Span to be created starts a new Trace.
Name of the Span to be created.
SpanKind
Initial set of Attributes for the Span being constructed
Collection of links that will be associated with the Span to be created. Typically useful for batch operations, see Links Between Spans.

In particular the SpanContext of the parent includes the sampling bit, but the parent's Span.IsRecording() bit is not in the list. The .NET implementation matches the functionality of the spec albeit with the adjusted naming. The parent context's IsRecorded flag (the sampling bit) is available but Activity.IsAllDataRequested (the Span.IsRecording() function) is not.
If that sounds correct then I think the best course of action is to first get the OpenTelemetry sig to change the spec, then we'll update the .NET implementation to match the updated spec. Or if I am still misunderstanding and it is an issue particular to the .NET implementation you could probably highlight that by showing how the task you want to do can be achieved in code when using some other reference implementation of the spec.
Hope that helps a bit? : )

@noahfalk Ah got it. ActivityDataRequest.AllData is there to satisfy the OT spec, makes sense. None of my comments are about the OT spec, though. I'm not comparing the OT spec to the .NET API. What I'm doing is trying to implement it :) Let me try to restate what I said using the spec perspective.
OT dotnet doesn't use the RECORD sampling level. It only uses RECORD_AND_SAMPLED. If we want to keep it though, sounds good to me. Maybe we'll improve the OT dotnet implementation down the line? That being said, there's still no way to propagate everything! .NET has 4 states, OT has 3, we can only propagate 3.
.NET:
None
PropagationData
AllData
AllDataAndRecorded

OT:
NOT_RECORD
RECORD
RECORD_AND_SAMPLED

Available states during propagation:
No context.
A context.
A context w/ Recorded ActivityTraceFlags set.

I don't know how to reconcile these things. If NOT_RECORD should we still propagate? I can't tell from the spec. At the moment I'm thinking the mapping is...
None = No listener/sampler attached to ActivitySource.
PropagationData = NOT_RECORD (This is the minimum level returned by a sampler.)
AllData = RECORD (Not used at the moment by OT dotnet, but it could be.)
AllDataAndRecorded = RECORD_AND_SAMPLED

No context = None. No listeners were in play in the calling application.
A context = PropagationData/NOT_RECORD
A context w/ Recorded ActivityTraceFlags set = AllDataAndRecorded/RECORD_AND_SAMPLED

So AllData/RECORD has meaning in the application that was instrumented but won't propagate to downstream dependencies. That is an issue with the spec, not .NET, you are correct about that.
Anyway, @noahfalk before you reply, the comment about removing ActivityDataRequest.AllData is not the substantive part of what I'm bringing up. That is just tangential! The more important stuff is how to deal with the parent. That's what I would prefer you comment on, the OT team can squirrel away on how to map things.

Or if I am still misunderstanding and it is an issue particular to the .NET implementation you could probably highlight that by showing how the task you want to do can be achieved in code when using some other reference implementation of the spec.

 Who knows what to do here? Bueller?
                GetRequestedDataUsingParentId = (ref ActivityCreationOptions<string> options) => ActivityDataRequest.AllData,

                // Sampling by context.
                GetRequestedDataUsingContext = (ref ActivityCreationOptions<ActivityContext> options) =>
                {
                    ActivityDataRequest parentActivityDataRequest = DetermineParentActivityDataRequest(options.Parent);
                    if (parentActivityDataRequest != ActivityDataRequest.None)
                    {
                        // If Parent had a sampling decision, restore it on the child.
                        return parentActivityDataRequest;
                    }

                    // If a link is marked as recorded, respect that.
                    foreach (var link in options.Links ?? Array.Empty<ActivityLink>())
                    {
                        if ((link.Context.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded)
                        {
                            return ActivityDataRequest.AllDataAndRecorded;
                        }
                    }

                    // Sample this root span using some algorithm.
                    return ExecuteSamplingAlgorithm(options)
                        ? ActivityDataRequest.PropagationData
                        : ActivityDataRequest.AllDataAndRecorded;
                    // ActivityDataRequest.AllData not used, but it could be in the future.
                    // None never returned. Minimum level will be PropagationData.

                    static ActivityDataRequest DetermineParentActivityDataRequest(ActivityContext context)
                    {
                        bool isDefaultContext = context == default;

                        Activity currentActivity = Activity.Current;
                        ActivityContext initializedContext = !isDefaultContext
                            ? context
                            : currentActivity?.Context ?? context;

                        return isDefaultContext
                            ? ActivityDataRequest.None // If we had no context, there is no parent.
                            : (initializedContext.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded
                                ? ActivityDataRequest.AllDataAndRecorded // If context has ActivityTraceFlags.Recorded than Parent was AllDataAndRecorded.
                                : currentActivity?.IsAllDataRequested == true
                                    ? ActivityDataRequest.AllData // If we have Activity.Current for the parent (same-process) restore AllData if it was used.
                                    : ActivityDataRequest.PropagationData; // Otherwise PropagationData.
                    }
                },

I think that will work using the current implementation of everything. More or less, no changes needed by the .NET team. But look at the DetermineParentActivityDataRequest logic. Most of that is specific to the implementation. We're really going to ask people to build that? I feel like we could make a better API. I'm not saying we have to, what is there works, I'm saying we should want to :)
This PR and issue #2 are all about just trying to make the API nicer. I think we should pass in the parent ActivityDataRequest and encapsulate the DetermineParentActivityDataRequest logic because one thing that is all over the OT sampling spec is "respect the parent" idea. It's part of the "Probability" sampler and the "ParentOrElse" sampler. It should be easy to accomplish in the API, which it is not IMO.
PS: In that sampler code above I wanted to implement the Probability logic. But in OT it is a function of TraceId which is not available in the .NET API until after sampling. So a change will be needed there if we are to implement the spec as-is?

Thanks for the sample, I think it may have highlighted the confusion! My understanding of the OT spec is that the sampling algorithm specified by the app developer (here represented by ExecuteSamplingAlgorithm) must be used for all spans, not only root spans. So I would expect the OpenTelemetry spec authors to say this sample code above is not a correct implementation of the spec and the SDK should not be trying to short-circuit invoking the sampler. @cijothomas are you able to confirm whether I am interpreting the spec correctly?

That being said, there's still no way to propagate everything! .NET has 4 states, OT has 3, we can only propagate 3

Continuing from above I don't believe the OT spec requires us to "propagate everything" in order to correctly implement the spec. If my understanding is wrong I am counting on @cijothomas or other OT folks to join in and say so : )
That aside I might be help explain regarding the 'None' option. If all ActivityListeners return the 'None' value this tells the runtime that the proposed Activity object does not need to be allocated. Activity.Current remains unchanged, no span id is generated, future activities will be completely unaware that this call to ActivitySource.StartActivity() ever occurred.
Based on my understanding of the OT spec I think this would be a simple valid implementation that doesn't make use of 'None':
NOT_RECORD -> PropagationOnly
RECORD -> AllData
RECORD_AND_SAMPLED -> AllDataAndRecorded

And this is an optional more optimized implementation that avoids creating unnecessary Activities:
NOT_RECORD -> PropagationOnly for Client or Server ActivityKind, None for Internal ActivityKind
RECORD -> AllData
RECORD_AND_SAMPLED -> AllDataAndRecorded

But in OT it is a function of TraceId which is not available in the .NET API until after sampling. So a change will be needed there if we are to implement the spec as-is?

This does seem like an oversight, or something that got lost during refactoring. We should be providing the traceId in the GetRequestedData callback even when there is no parent. @tarekgh could you take a look at this and pull me in if I can be helpful?

@noahfalk

So I would expect the OpenTelemetry spec authors to say this sample code above is not a correct implementation of the spec and the SDK should not be trying to short-circuit invoking the sampler.

GetRequestedDataUsingContext is the sampler, which we always invoke, for every activity/span.
Let me rewrite the code I had in the callback to simulate user's sampler of choice being plugged in. I'll show a few examples of how different OT spec samplers would look. You will see it doesn't change anything with regard to the complexity of determining the parent.
                // Sampling by ParentId. Who knows what to do here? Bueller?
                GetRequestedDataUsingParentId = (ref ActivityCreationOptions<string> options) => ActivityDataRequest.AllData,

                // Sampling by context.
                GetRequestedDataUsingContext = (ref ActivityCreationOptions<ActivityContext> options) => _UserSampler?.Invoke(ref options) ?? ActivityDataRequest.None;

OT AlwaysOn, _UserSampler = ExecuteAlwaysOnLogic
                private ActivityDataRequest ExecuteAlwaysOnLogic(ref ActivityCreationOptions<ActivityContext> options) => ActivityDataRequest.AllDataAndRecorded;

OT AlwaysOff, _UserSampler = ExecuteAlwaysOffLogic
                private ActivityDataRequest ExecuteAlwaysOffLogic(ref ActivityCreationOptions<ActivityContext> options) => ActivityDataRequest.PropagationData; // Maybe None, maybe determined by ActivityKind.

OT Probability, _UserSampler = ExecuteProbabilityLogic
Spec:

The default behavior should be to trust the parent SampledFlag. However there should be configuration to change this.
The default behavior is to apply the sampling probability only for Spans that are root spans (no parent) and Spans with remote parent. However there should be configuration to change this to "root spans only", or "all spans".

                private ActivityDataRequest ExecuteProbabilityLogic(ref ActivityCreationOptions<ActivityContext> options)
                {
                    ActivityDataRequest parentActivityDataRequest = DetermineParentActivityDataRequest(options.Parent);
                    if (parentActivityDataRequest != ActivityDataRequest.None)
                    {
                        // If Parent had a sampling decision, restore it on the child.
                        return parentActivityDataRequest;
                    }

                    // If a link is marked as recorded, respect that.
                    foreach (var link in options.Links ?? Array.Empty<ActivityLink>())
                    {
                        if ((link.Context.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded)
                        {
                            return ActivityDataRequest.AllDataAndRecorded;
                        }
                    }

                    // Sample this root span using TraceId probability algorithm. TraceId unavailable in .NET API.
                    return !ShouldSampleBasedOnTraceIdAlgorithm(ref options)
                        ? ActivityDataRequest.PropagationData
                        : ActivityDataRequest.AllDataAndRecorded;
                    // ActivityDataRequest.AllData not used, but it could be in the future.
                    // None never returned. Minimum level will be PropagationData.

                    static ActivityDataRequest DetermineParentActivityDataRequest(ActivityContext context)
                    {
                        bool isDefaultContext = context == default;

                        Activity currentActivity = Activity.Current;
                        ActivityContext initializedContext = !isDefaultContext
                            ? context
                            : currentActivity?.Context ?? context;

                        return isDefaultContext
                            ? ActivityDataRequest.None // If we had no context, there is no parent.
                            : (initializedContext.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded
                                ? ActivityDataRequest.AllDataAndRecorded // If context has ActivityTraceFlags.Recorded than Parent was AllDataAndRecorded.
                                : currentActivity?.IsAllDataRequested == true
                                    ? ActivityDataRequest.AllData // If we have Activity.Current for the parent (same-process) restore AllData if it was used.
                                    : ActivityDataRequest.PropagationData; // Otherwise PropagationData.
                    }
                }

OT ParentOrElse, _UserSampler = ExecuteParentOrElseLogic
Spec:

This is a composite sampler. ParentOrElse(delegateSampler) either respects the parent span's sampling decision or delegates to delegateSampler for root spans.
If parent exists:

If parent's SampledFlag is set to true returns RECORD_AND_SAMPLED
If parent's SampledFlag is set to false returns NOT_RECORD

If no parent (root span) exists returns the result of the delegateSampler.

                private ActivityDataRequest ExecuteParentOrElseLogic(ref ActivityCreationOptions<ActivityContext> options)
                {
                    ActivityDataRequest parentActivityDataRequest = DetermineParentActivityDataRequest(options.Parent);
                    if (parentActivityDataRequest != ActivityDataRequest.None)
                    {
                        // If Parent had a sampling decision, restore it on the child.
                        return parentActivityDataRequest;
                    }

                    // If a link is marked as recorded, respect that.
                    foreach (var link in options.Links ?? Array.Empty<ActivityLink>())
                    {
                        if ((link.Context.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded)
                        {
                            return ActivityDataRequest.AllDataAndRecorded;
                        }
                    }

                    // Sample this root span using a delegate provided by the user.
                    return _UserDelegateSampler(ref options);

                    static ActivityDataRequest DetermineParentActivityDataRequest(ActivityContext context)
                    {
                        bool isDefaultContext = context == default;

                        Activity currentActivity = Activity.Current;
                        ActivityContext initializedContext = !isDefaultContext
                            ? context
                            : currentActivity?.Context ?? context;

                        return isDefaultContext
                            ? ActivityDataRequest.None // If we had no context, there is no parent.
                            : (initializedContext.TraceFlags & ActivityTraceFlags.Recorded) == ActivityTraceFlags.Recorded
                                ? ActivityDataRequest.AllDataAndRecorded // If context has ActivityTraceFlags.Recorded than Parent was AllDataAndRecorded.
                                : currentActivity?.IsAllDataRequested == true
                                    ? ActivityDataRequest.AllData // If we have Activity.Current for the parent (same-process) restore AllData if it was used.
                                    : ActivityDataRequest.PropagationData; // Otherwise PropagationData.
                    }
                }

ParentOrElse & Probability samplers both need to understand the parent's state. In order to do that, they need DetermineParentActivityDataRequest which IMO should be provided by the API given it is tied so closely to the implementation.


ENH: Add more discrete color palettes.

Fixes #12 and #15.
Please see https://github.com/d3/d3-scale-chromatic for description of
available palettes.

The additional color palettes look good — but each only contains 8 distinct colors, which I don't think will be enough to make publication-ready figures (if that's the goal), as there is still a lot of color overlap. This will not be a problem if you eventually support manual color selection, though it would still be more convenient to provide at least one palette with more colors, to reduce the number of manual reassignments needed.
So I'd say this fixes #12 but only partially fixes #15.
In an ideal world, there would be some way to have N distinct colors selected at equidistant points along a 1D (or better yet, 2D, with hue and saturation) spectral color gradient, where N = number of unique taxonomies displayed at level L, and have these colors assigned to each taxon (randomly by default to that adjacent taxa are more distinct, but there may be scenarios where sequential alphabetic assignment is preferred). But in that ideal world there would also be a very simple way to do this, and I recognize that this may be very difficult to implement in reality.
Any way to just manually define a new palette with, say, 24 distinct colors? That should be adequate for most scenarios (once taxa filtering is supported).

The additional color palettes look good — but each only contains 8 distinct colors, which I don't think will be enough to make publication-ready figures (if that's the goal), as there is still a lot of color overlap. This will not be a problem if you eventually support manual color selection, though it would still be more convenient to provide at least one palette with more colors, to reduce the number of manual reassignments needed.

The new palettes range from 8 to 12 distinct colors. These palettes are based on colorbrewer scales, which have a fair amount of research behind them. The argument is that you cannot comprehend more than 12-15 distinct colors in a single plot. I think that having 50-100 distinct colors would be pretty crazy looking --- but if we had color selection, you could "group" categories into the same coloring. We won't have manual color selection soon, but you can always recolor in Inkscape/Illustrator.

Sounds good! I see the 12-color scales now. (and I agree, much more than 15 colors is too much, but it would fall on the user to filter their feature table to the point that a manageable number of taxa are present, e.g., under 20.)
I see @gregcaporaso is also assigned so will let him review and merge.

Looks good, thanks @thermokarst, and thanks for the input @nbokulich!


Type instability in DataLoader

Is DataLoader type-unstable? Seems so. Does it have to be type-unstable?
using Flux
function test_data_loader(data_loader)
    for (x,y) in data_loader
        continue
    end
end
X = rand(Float32, 2, 10)
Y = rand(Float32, 2, 10)
data_loader = Flux.DataLoader((data=X, label=Y))
@code_warntype test_data_loader(data_loader) # lots of red

If it is type-unstable and it's the intended behavior, it would be great to add a sentence This function is type-unstable to the docstring.

I don't think it would be impossible to make iterate(::DataLoader) type stable, but it would be tricky since there are so many conditionally-applied wrappers here. @lorenzoh and @CarloLucibello thoughts? Do you recall why we moved away from creating the wrappers in the DataLoader constructor?


msct_parser doesn't show arguments of type 'multiple_choice' in the example

In sct_asman doc (on branch sd_graymatterseg_new) :
Here -model is a mandatory argument of type 'multiple_choice', it should appear in the example command line.

fixed on master


Update rendering.md

Thanks

Pull Request Test Coverage Report for Build 902498164

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.408%

Totals

Change from base Build 894907148:
0.0%

Covered Lines:
1042

Relevant Lines:
1106

💛  - Coveralls


unit testing of cutorch failed

Hi all,
I have the following problem
th -lcutorch -e "cutorch.test{'multi_gpu_copy_noncontig'}"
seed:<PHONE_NUMBER>
Running 1 tests
|  ==> multi_gpu_copy_noncontig/u/mfeng/torch/extra/cutorch/lib/THC/THCStorage.c(113) : cuda runtime error (77) : an illegal memory access was encountered at /u/mfeng/torch/extra/cutorch/lib/THC/THCGeneral.c:241
any idea ?

th> cutorch.setDevice(1)
[0.0001s]
th> cutorch.setDevice(2)
[string "_RESULT={cutorch.setDevice(2)}"]:1: /u/rer/torch/extra/cutorch/init.c(538) : cuda runtime error (10) : invalid device ordinal at /u/rer/torch/extra/cutorch/lib/THC/THCGeneral.c:241
stack traceback:
[C]: in function 'setDevice'
[string "_RESULT={cutorch.setDevice(2)}"]:1: in main chunk
[C]: in function 'xpcall'
/opt/share/torch-7.0/share/lua/5.1/trepl/init.lua:630: in function 'repl'
/opt/share/torch-7.0/lib/luarocks/rocks/trepl/scm-1/bin/th:185: in main chunk
[C]: at 0x00405800
[0.0004s]
the two GPUs on my machine have no P2P connection,  it seems that in cutorch,  it will not work ?


Added missing instructions

Without this iex throws an error when creating a Kafka worker

thanks! :+1: