agi: 3.0.1 -> 3.2.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/google/agi/releases.
meta.description for agi is: "Android GPU Inspector"
meta.homepage for agi is: "https://gpuinspector.dev"
meta.changelog for agi is: "https://github.com/google/agi/releases/tag/v3.2.1"
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.2.1 with grep in /nix/store/5a3rzgvfvmw81xd7zkjwhdwgijf3h39w-agi-3.2.1
found 3.2.1 in filename of file in /nix/store/5a3rzgvfvmw81xd7zkjwhdwgijf3h39w-agi-3.2.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
agi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5a3rzgvfvmw81xd7zkjwhdwgijf3h39w-agi-3.2.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A agi https://github.com/r-ryantm/nixpkgs/archive/12cab28e364b27e3a6194b9fb25446ab0eca5f54.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5a3rzgvfvmw81xd7zkjwhdwgijf3h39w-agi-3.2.1
ls -la /nix/store/5a3rzgvfvmw81xd7zkjwhdwgijf3h39w-agi-3.2.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

agi

Maintainer pings
cc @IvarWithoutBones for testing.

@ofborg build agi agi.passthru.tests


CORS

Current Behavior:

Expected Behavior:

Steps To Reproduce:

Reproduction Link: How to create a repro?
Environment:

Anything Else?

It should be working again.


snapshot-controller: upstream release 6.3.3

New external-snapshotter version contains an important fix to replaces the update calls for VolumeSnapshot and VolumeSnapshotContent with JSON patch calls. Addresses the "object has been modified" issue we see a lot in the snapshot-controller/snapshotter. See https://github.com/kubernetes-csi/external-snapshotter/pull/974.

Thanks!


Enrollment box has empty characters

Describe the bug
Testing 7.0.5 and created an event that allowed enrollment. Unable to enter enrollment number or what appears to not be entering number. Upon further investigation it looks like box contains blank characters or spaces making it difficult to see number entered.
To Reproduce
Steps to reproduce the behavior:

Create event that allows for enrollment
Try to enroll on event details page and enter number in text box.
Unable to see data entered in enrollment box IE: 1.
Selecting text in the box with mouse and notice selecting of blank characters
Delete blank characters and then try enter enrollment number again and can now see number entered.

Expected behavior
No blank characters and user able to see enrollment number
Screenshots
Can provide upon request if needed.
Error Log
N/A

I edited the EventDetails.ascx file and made the enrollment text box to width 200 to show the issue in the attached image.

As you can see he default value of 1 is there, but has spaces round the value. So when the box is on 30 (Default) you cannot existing value of 1.

Looks to be a formatting issue with the EventDetails.ascx page. I was able to resolve by adjusting the below.
Existing:

No. of Enrolees
                **
                    1
                **
                (Max 1)

Adjusted:

No. of Enrolees
                **1**
                (Max 1)

Sharp spot.  Probably a result of editing and/or formatting in an editor that added line breaks for long lines.
I will clean-up the .ascx and create a new release


bug: insufficient handling of insufficient memory

Jan version
0.5.5
Describe the Bug
When there is insufficient memory to run the model, lot of errors are thrown into the logs, and the returned text is complete gibberish.
Jan should stop the model and say something like, "sorry, my brain is full."
Steps to Reproduce

Clean install of Jan on an 8GB Macbook Air M1
Load Qwen Chat 7B
Ask it anything.

Screenshots / Logs
app.log

What is your OS?

[X] MacOS
[ ] Windows
[ ] Linux

Needed: proper error handling when:

user attempts to load a model too big to fit in available memory
error message, e.g.: unable to load model due to insufficient system memory. xx needed. xx available.

Related to #1165

Linked to #1108 to recommend models based on hardware


Data logger refactor & documentation

General improvements, such as adding docstrings, logging, renaming fns to properties, improving return types
This is a separate PR to make https://github.com/rungalileo/dataquality/pull/493 much smaller and easier to review

Codecov Report

Merging #497 (a68cb16) into main (60b1d96) will decrease coverage by 0.10%.
The diff coverage is 90.56%.

@@            Coverage Diff             @@
##             main     #497      +/-   ##
==========================================
- Coverage   91.81%   91.71%   -0.10%
==========================================
  Files         119      121       +2
  Lines        9063     9342     +279
==========================================
+ Hits         8321     8568     +247
- Misses        742      774      +32

Impacted Files
Coverage Δ

dataquality/integrations/keras.py
0.00% <ø> (ø)

tests/conftest.py
99.04% <ø> (ø)

dataquality/integrations/transformers_trainer.py
88.46% <73.33%> (-8.98%)
:arrow_down:

...ataquality/loggers/data_logger/base_data_logger.py
89.88% <80.95%> (-0.72%)
:arrow_down:

dataquality/utils/torch.py
82.03% <83.49%> (+7.25%)
:arrow_up:

dataquality/integrations/torch.py
90.09% <86.95%> (-8.02%)
:arrow_down:

...sts/integrations/torch/test_dataloader_patching.py
96.70% <96.70%> (ø)

dataquality/loggers/base_logger.py
90.57% <100.00%> (+0.09%)
:arrow_up:

...quality/loggers/data_logger/text_classification.py
95.58% <100.00%> (+0.02%)
:arrow_up:

dataquality/loggers/data_logger/text_ner.py
97.46% <100.00%> (+0.01%)
:arrow_up:

... and 12 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


chore: fix argos workflow

attempt to fix Argos workflow being triggered when label is added to an already merged PR
See for example: https://github.com/facebook/docusaurus/pull/9487#issuecomment-1834377610

looks like it's working
Before

After:


client/*: Treat protocol name as str and not [u8]

Notification protocol names are in practice always valid utf8 strings.
Instead of treating them as such in the type system, thus far they were
casted to a [u8] at creation time.
With this commit protocol names are instead treated as valid utf8
strings throughout the codebase and passed as Cow<'static, str>
instead of Cow<'static, [u8]>. Among other things this eliminates the
need for string casting when logging.
Closes https://github.com/paritytech/substrate/issues/6660.

Nevermind my comment regarding ProtocolId, just noticed that was done here https://github.com/paritytech/substrate/pull/6953.

I know that this PR is just migrating from &[u8] to &str so this is out of scope, but why do we need Cow for the protocol name? Wouldn't &'static str work everywhere?

In case we ever want to dynamically register or de-register notification protocols where the protocol name is not known at compile time we would be able to do so via Cow::Owned. Does that make sense @andresilva?

In case we ever want to dynamically register or de-register notification protocols where the protocol name is not known at compile time we would be able to do so via Cow::Owned. Does that make sense @andresilva?

Yep that's legit. Let's just fix the small conflict and we can get this merged :)

Still missing a Polkadot pull request, thus please don't merge just yet.

bot merge


Missing curly bracket - challenge approval

Challenge http://www.freecodecamp.com/challenges/waypoint-use-css-selectors-to-style-elements has an issue.
When completing this challenge, before I had placed the closing curly bracket, the challenge updated to finished.

Hey @megrutter thanks for posting this!
It looks like this is a duplicate of #2084, so keep an eye there for updates.


fix(challenges): Fix broken link

A simple link fix.
Fixes link on https://learn.freecodecamp.org/front-end-libraries/react/introducing-inline-styles.
Not tested locally as I do not have the Learn Repo locally.
Closes #17596

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[ ] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[ ] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[ ] Addressed currently open issue (replace XXXXX with an issue no in next line)

Closes #XXXXX
Description

The changes should be done in FreeCodeCamp’s curriculum package as the learn repo takes its challenges from there.

Yeah, probably so.. I'm probably off, but the react.json file where the data is located is not included in the learn repo. Is this data possibly kept elsewhere that I'm missing.. i.e. database etc?

@eolculnamo2, thank you for for submitting this fix! Everything looks great. Just going to hold off on merging until we can get the Travis CI build to pass.
For your next contribution, please review the Contributor's Guide section Create a Branch. In the future please start your branch name for fixes like this with fix/, and a meaningful name like fix-broken-link.
@Nirajn2311, you're right, in the near future we'll ask that updates and fixes to the curriculum be directed to the curriculum repo. However, that's a very new repo with no contributor's guide at the moment, so we can still merge PRs to the challenge seed files here and move them over to the curriculum repo later.

@scissorsneedfoodtoo Thank you. I'll be sure to make my future pull requests in this format.
I owe fCC a lot and am excited to contribute.

@eolculnamo2, no problem. It also took me some time to get used to the format, and I still forget from time to time. Just something we can both keep in mind in the future. And we're all happy to have this or any of your future contributions :+1:
Just wanted to let you know that we're currently in the process of moving all updates to the curriculum over to a separate repository, so your PR is blocked for now. But everything still LGTM! @raisedadead, myself, or any other members will merge things are ready with the new repo.

Hi @eolculnamo2
Thanks a lot for this pull request. We sincerely appreciate the time and efforts put into this.
However can you please make the same changes once again on the https://github.com/freeCodeCamp/curriculum repository?
I would like to apologise for the inconvenience, but at this point it has become very difficult to carry over commits into the other repo, to which we have moved over the entire curriculum package.
Thanks once again.
Please reach out to us in the Contributors Chat room for any assistance.
Happy contributing!


Always getting wrong duration

AudioPlayer audioPlayer = AudioPlayer();
await audioPlayer.setUrl(path, isLocal: true);
await audioPlayer.getDuration();
Above code always give 5963776 milliseconds for large files near 5-10 mb.

Adding sleep(const Duration(milliseconds: 100)); before calling duration seems to work for me, is it a functionality of a workaround ?

if instead of getDuration() you use its listener
 player.onDurationChanged.listen((Duration d) {
    print('Max duration: $d');
    setState(() => duration = d);
  });

it works fine

Closing in favor of #1033


Port web socket support to fs2-cats

The server and blaze-server ports have thus far commented out all web socket support.  The scalaz-stream version uses Exchange, which needs to be replaced.

Given that I use WebSockets this is appealing but my fs2 skills are still very basic. How complex do you think this task is it?

I haven't looked at it in a while, but I recall that Exchange is one of the bigger changes: that existed in scalaz-stream, and goes away here.  I think we'll just need a pair of a source and a sink.
I think this is probably more effort than the ones you've taken on, but doable.  Probably a lot easier than Multipart.

Yeah, multipart seems scary 😄
Let me have a go at this issue

Sorry I've been so late on this, FS2 requires some learning. How soon do we need this done?

Do things right and keep us all updated. That's all anyone can hope for.

Did we agree on keeping the WebSocket as a regular HttpService?

I don't think we reached a final conclusion.
Pros:

Doesn't break existing
Failure to handshake can result in any HTTP response.  (What do most web socket clients display if the handshake fails?  Is this even useful in practice?)
Means we don't need to figure out a way of mouting HttpService and WebSocketService together.

Cons:

Requires the attributes map, which I've never felt great about.
Makes it much harder to support on servlet containers
Requires that awful "if-else" where the websocket stage is optionally mixed into the blaze stage.

I haven't done as much with web sockets as I'd like.  I'm pretty open to either design at this point.

Given that I know little about the current implementation I'd like to first do one as it is currently, i.e. using HttpService and then consider a refactor once it is done

:+1:


How to get tooltip for line chart

How to get tool tip for line chart showing current x and y axis parameters

Hi, sorry for the long time. I've been off.
You can find an example here Line Chart with Tooltip 1 in vanilla javascript.

@SagarPrakash01 Have you solved the tooltip issue?


[Bulk] Validation - Missing descriptions

This PR fixes 30 missing descriptions
Summary
Describe your changes here.
Fixes #Issue_Number (if available)

Global effort to fix validation errors
@adegeo
The Content & Learning team is fixing build validation errors on docs.microsoft.com. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. I’d very much appreciate your timely review and feedback on these changes I’ve suggested. Thanks!


Rename the class "nobreak" to "no-break" and add new classes (see description).

These additional CSS fragmentation properties are now widely supported by browsers.
The following new classes will be added:
no-break-inside
no-break-after
no-break-before
no-page-break
no-column-break

Completed.


Improve segment-level DebugInfo

This issue was discussed partially in https://github.com/apache/pinot/pull/7896.
Originally the issue we discovered was that there were null stacktrace DebugInfo returned from the DebugAPI, (see below). We found out that 2 of the place stacktrace were swallowed.
While we address this issue by making the error explicitly thrown. we realized that the control flow were not as expected. There are several concerns:
@sajjad-moradi : If we throw exception in buildSegmentAndRepalce without correctly capture and change state, then the segment goes to error state in external view upon receiving helix transition message consuming -> online. see https://github.com/apache/pinot/pull/7896#discussion_r768340557
@mcvsubbu : status.ERROR should not be used when a segment creation was discarded because this another host might've been able to build it correctly. see: https://github.com/apache/pinot/pull/7896#discussion_r769141107; and when detecting a recoverable error we should not include that information in the debug info page in the first place. see: https://github.com/apache/pinot/pull/7896#discussion_r769160523
there's another question I notice from myself and @Jackie-Jiang is that the segment errors were captured and put in the debug API in almost all methods (public/protected/private), can we clean up the logic by creating a rule so that:
only external facing methods should capture and log debug info; and all internal methods should only bubble up the exception for external facing methods to capture and log with more contextual information?
Please discuss.

Click to expand code block!
[
  {
    "tableName": "testTable_REALTIME",
    "numSegments": 1,
    "numServers": 1,
    "numBrokers": 1,
    "segmentDebugInfos": [
      {
        "segmentName": "testTable__0__0__20211210T0838Z",
        "serverState": {
          "Server_localhost_8098": {
            "idealState": "CONSUMING",
            "externalView": "CONSUMING",
            "segmentSize": "0 bytes",
            "consumerInfo": {
              "segmentName": "testTable__0__0__20211210T0838Z",
              "consumerState": "NOT_CONSUMING",
              "lastConsumedTimestamp":<PHONE_NUMBER>331,
              "partitionToOffsetMap": {
                "0": "325618872"
              }
            },
            "errorInfo": {
              "timestamp": "2021-12-10 08:42:35 UTC",
              "errorMessage": "Could not build segment",
              "stackTrace": null
            }
          }
        }
      }
    ],
    "serverDebugInfos": [],
    "brokerDebugInfos": [
      {
        "brokerName": "Broker_localhost_8099",
        "idealState": "ONLINE",
        "externalView": "ONLINE"
      }
    ],
    "tableSize": {
      "reportedSize": "0 bytes",
      "estimatedSize": "0 bytes"
    },
    "ingestionStatus": {
      "ingestionState": "UNHEALTHY",
      "errorMessage": "Segment: testTable__0__0__20211210T0838Z is not being consumed on server: Server_localhost_8098"
    }
  }
]

@mcvsubbu could you please comment on this issue?

@mcvsubbu Essentially we want to change the way how exception is passed. Currently exception is caught within the method, and passed via boolean false or null. The problem of this approach is that we lost the stack trace as that won't be included in the return value. The proposal here is to throw the exception out and the caller can catch and handle the exception with the full stack trace.

Can we log/add the exception where it is caught and continue the existing interface?

I remember we had some issues early on when for whatever reason segment build took a long time, it went into infinite loop. replica A timed out, replica B took over, and then replica B timed out, came back to replica A, and so on. In order to NOT go in infinite loop, we save the built segment, and if we are asked to build the same segment, we commit the segment already built. I don't want this bug to be un-fixed. Just bringing it up as something to keep in mind when trying to improve debug API.
I realize there was a null stack trace.  The question is, did something malfunction? Did you gather a trace from the server to see what it was?

yes, we later checked the server log and found out that the ingested data was not conforming with the time-format provided to the ingestion transformation function.

Can we log/add the exception where it is caught and continue the existing interface?

https://github.com/apache/pinot/pull/7909/ was aiming at exactly this - catch and log the exception where it is and continue the existing interface without changing the behavior

Would you be able to copy/paste the server exception log? Just want to make sure that the particular execution path is covered in our solution. If ingested data was the problem, I suppose the stack would have been where we ingest data and transform it?

sorry, i don't have the server exception log readily available, but we've seen this errorInfo from debug endpoint multiple times with "errorInfo": {"errorMessage": "Could not build segment", "stackTrace": null}.
this is what I am trying to address:
by searching through the code path there's only 2 places where this could happen, and both of them are utilizing buildSegmentInternal method, but captured the exception early thus failed to record the exception stacktrace, without these information it is very difficult to debug what's going on.
#7909 addressed this by moving the error collection inside buildSegmentInternal.


trigger to build

rebuild image to fix the vulnerability issue - https://github.com/open-cluster-management/backlog/issues/15716
Signed-off-by: clyang82<EMAIL_ADDRESS>

/assign @morvencao
/cherry-pick release-2.3


Change pushField function in WidgetsForm protected to public

pushField function in Form is "public", but pushField function in Widgets\Form is "protected".
So we cannot call this in controller.
So I changed access level protected to public.

Thanks!


[SUPPORT] PartitionedFile's size estimation in FileSourceScanExec#createReadRDD when enable NewHoodieParquetFileFormat

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
I had a question when reading the source code in NewHoodieParquetFileFormat and HoodieFileIndex.
When we enable hoodie.datasource.read.use.new.parquet.file.format and then hudi will provide a HadoopFsRelation with NewHoodieParquetFileFormat.

And FileSourceScanExec#createReadRDD will query needed Partitions.

relation.location.listFiles in this case will be redirected to HoodieFileIndex#listFiles.

And I find that for each file-slice:

BaseFile is present, return PartitionedFile with BaseFile's status
LogFile nonEmpty, return PartitionedFile with any (random maybe) LogFile's status.

My question is, should we choose the file with the median log-files sorted by size as the PartitionedFile rather than a random log-file?
In Spark, it merges multiple PartitionedFile into a FilePartition based on the size of each PartitionedFile.

I think for a PartitionedFile that is actually a FileSlice, we should choose a more representative file size.
To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.
Environment Description

Hudi version :

Spark version :

Hive version :

Hadoop version :

Storage (HDFS/S3/GCS..) :

Running on Docker? (yes/no) :

Additional context
Add any other context about the problem here.
Stacktrace
Add the stacktrace of the error.

Reasonable, what algorithm do you suggest for the size estimation, did you go through the commit history why the initial size estimation looks like that?

Reasonable, what algorithm do you suggest for the size estimation, did you go through the commit history why the initial size estimation looks like that?

From commit history, it looks like it was set to this size from the start。

We can get the accurate size of a file slice right, can that be utilitized for optimization?

We can get the accurate size of a file slice right, can that be utilitized for optimization?

Of course. However, the execution efficiency of the task is not only affected by the size of all the files in slice, but also by the data repetition rate, slice layout and other factors. We can find the experience value of common scenarios through testing, and use it as the default optimization


Memory leak with cloning the router and usage of usePlugin

For performance reasons we are cloning the routerInstance each time:
const routerInstance = createRouter(routes, {
    trailingSlash: true,
  })
  .usePlugin(
    browserPlugin({
      useHash: false,
      base: 'http://...',
    })
  )
  .usePlugin(listenersPlugin())

.... other file
routerInstance.clone()

Unfortunately if we stress test the application (few 1000 r/m) the cpu and memory looks as follow:

If we comment out the two usePlugin the cpu memory goes back to normal:

Versions in use:

react: "^16.5.0"
react-router5: "^6.1.0"
redux-router5: "^6.0.2"
router5: "^6.3.0"

on Nodejs 10.6.0
Any idea what could be the reason for those memory leaks?
Thanks a lot!

Thanks for reporting, I'm not sure what would cause it but will run through the cloning logic. You only use the two plugin listed, but no middleware?

OK, I'm going to have to set tests for it as I don't see where could be the problem on the cloning itself. In the meantime, what you can do is to add plugins after cloning rather than before.

Thanks @troch for your investigation.
Unfortunately i need more time to investigate if the router is the problem or something else.
If you wish we can close the ticket and once i went over it i can give you a feedback?

Thanks for replying. Yes sure, let's do that. I'll close the issue just now, but will still receive any notification and we can re-open it later.


numOfThreads/numberOfThreads inconsistency

Expected behavior
let group = MultiThreadedEventLoopGroup(threadCount: System.coreCount)
let threadPool = BlockingIOThreadPool(threadCount: 6)

Actual behavior
let group = MultiThreadedEventLoopGroup(numThreads: System.coreCount)
let threadPool = BlockingIOThreadPool(numberOfThreads: 6)

Please notice the inconsistency between numThreads and numberThreads. Also, it would be better to use the count name used in the standard library.

@Lukasa @weissi WDYT... I am also ok with count but I think numberThreads or numThreads are a bit more descriptive... At least we should make it consistent :)

I think that's a fair enough issue and I think we should fix numThreads at least. Whether the parameters should be threadCount: or numberOfThreads: or something can be bikeshed I don't really mind

I don't mind numberOfThreads but I think numThreads should be renamed.


Clarify container width restriction

Hmm I wouldn't say this is written entirely accurately. The container determines the size of the image. The image takes up 100% of the container width.

I'm going to close this because of the above comment and no response yet!


Made cluster ID and Name separate tags.

Coverage decreased (-0.05%) to 61.5% when pulling bbdda2b806731aabc980c15db9ec5ec5d45365b0 on egopher:master into a3c4e1e99bf2e7786683738131392093e22865cb on supergiant:master.


Merge collector_logging into main

/hold

Replacing with https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/pull/373 to just manually pick the logic


[Ember-Migration] Remove crypto site item from Navbar

Description

Crypto site is not being used anymore and have some DNS issues
We can remove the crypto site link and item from the navbar
Ensure that all the relevant code/constants are removed too
Fix the events page link to /events to render the page correctly, currently only html is rendered

Note:

Please use CONTRIBUTING.md to start contributing
https://github.com/Real-Dev-Squad/website-www/blob/develop-ember/CONTRIBUTING.md

Pls assign it to me


how to switch between the same version of ruby

I installed two versions of the same ruby version
1.)
ruby-install ruby 2.2.0

Successfully installed ruby 2.2.0 into /home/mike/.rubies/ruby-2.2.0

2.)
cd /home/mike/manual_install_ruby-install_sudo/ruby-install-0.5.0/bin
sudo ./ruby-install ruby 2.2.0

Successfully installed ruby 2.2.0 into /opt/rubies/ruby-2.2.0

when i run the "chruby" command, I get
chruby

ruby-2.2.0
ruby-2.2.0

the reason for this is because,
for a.) I use the ruby to load the passenger gem to install passenger/nginx for web server purposes
for b.) I want a ruby with gems specific for the user
when i run "chruby ruby-2.2.0", I always end up with the ruby installed into /opt/rubies/ruby-2.2.0
is there anyway to choose between the two?

ok after reading the chruby.sh file, i see that it iterates through the RUBIES and breaks as soon as it finds a match
I guess if I have installed rubies in both /opt/rubies and ~/.rubies , then I should write a custom chruby.sh where I switch the order like, the following below, to have priority with local rubies?
for dir in "$HOME/.rubies" "$PREFIX/opt/rubies"; do
[[ -d "$dir" && -n "$(ls -A "$dir")" ]] && RUBIES+=("$dir"/*)
done
unset dir

Sounds reasonable to search $RUBIES in reverse order.


Fixed Key Error: "draft" bug

Relevant Issues

Closes #928
Description

Added a key check to the if statement in L142 so that pull_data["draft"] will only be checked if the key exists in the parsed json
Did you:

[x] Join the Python Discord Community?
[x] Read all the comments in this template?
[x] Ensure there is an issue open, or link relevant discord discussions?
[x] Read and agree to the contributing guidelines?

@katimoth What's your status on this PR?

User hasn't responded, putting this up for grabs.

I will be creating another PR to solve this issue.


Using custom headers while set Video URI

Hi everyone,
I want to set user-agent while set video URI and found that this feature is implemented in GiraffePlayer like that.

/**

 * Sets video URI using specific headers.
 *
 * @param uri     the URI of the video.
 * @param headers the headers for the URI request.
 *                Note that the cross domain redirection is allowed by default, but that can be
 *                changed with key/value pairs through the headers parameter with
 *                "android-allow-cross-domain-redirect" as the key and "0" or "1" as the value
 *                to disallow or allow cross domain redirection.
 */
private GiraffePlayer setVideoURI(Uri uri, Map<String, String> headers) throws IOException {
    this.uri = uri;
    this.headers.clear();
    this.headers.putAll(headers);
    seekWhenPrepared = 0;
    return this;

}
Unfortunately, there is no public API to use. Is there any way to achieve this?
Thanks

Hi,you can set headers like this:

videoInfo.addOption(Option.create(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "headers", "Connection: keep-alive\r\nuser-agent: okhttp\r\n"))

```
every header KV pairs separate by `\r\n`

Thanks @tcking, closing the issue.


[ListView] Fix an issue (Sticky header index was outside the range) when renderSeparator is defined but returns null

Fix an issue when using ListView and define renderSeparator but the implementation returns null.
In such cases the sectionHeaderIndices mismatch the child element index and the app shows a warning like "Sticky header index 18 was outside the range {0, 13}".

Reduces example:
render() {
	const data = {
		section1: { row1: {}, row2: {}, row3: {}, row4: {}, row5: {} },
		section2: { row6: {} },
	};

	const dataSource = new ListView.DataSource({
		sectionHeaderHasChanged: (s1, s2) => s1 !== s2,
		rowHasChanged: (r1, r2) => r1 !== r2}
	).cloneWithRowsAndSections(data);

	return (
		<ListView
				dataSource={ dataSource }
				renderSectionHeader={ (sectionData, sectionID) => <Text>{ sectionID }</Text> }
				renderRow={ (rowData, sectionID, rowID) => <Text>{ rowID }</Text> }
				renderSeparator={ () => null }
				automaticallyAdjustContentInsets={ false }
				style={{ flex: 1 }}
		/>
	);
}

Just rebased on current master

Just rebased, so tiny.. /cc @changgengli, @spicyj and @vjeux

@facebook-github-bot shipit


PulsePattern.is_constant_pattern ignores empty trains

It's even mentioned in the documentation, but this seems kind of useless.

Closing this because #156 is merged now.


Gradient clipping by norm has different semantics in tf.keras.optimizers against keras.optimizers.

Fixes #29108 .

@chenchc Did you get a chance to look on reviewer comments? Please let us know on the update. Thanks!

@chenchc Gentle ping to check the reviewer comments. Thanks!

I'm going to go ahead and close this PR, because it seems to have stalled. If you're still interested in pursing this (and responding to my comments), please feel free to reopen!


use lifecycle hooks and kitchen-dokken 2.x

update of kitchen end-to-end testing for the modern world

so @tas50 my only concern about this is that we're pulling straight from whatever dokken image now and i don't know if those are up to date with latest current omnibus builds or what flags to use to get them there?

oh its right there, must have been getting late.

So this will work well with the kitchen-dokken setup because the image comes in with the chef omnibus installation from current.
That means that we can use the pre-converge hook to hack up the image with appbundle-updater.
To do this on any other provisioner than kitchen-dokken would be difficult because you would want a lifecycle hook inside of the provisioner that I don't think exists -- because the provisioner handles the whole converge phase which normally installs omnibus-chef and runs the client-client run as a single stage -- while we would need to insert appbundle-updater commands in between
those two events inside of the converge phase.
It probably indicates that the chef provisioner needs to support its own sub-hook (or T-K could split up the converge phase but that is likely way too hard to do).  But we don't need it here 'cuz dokken bakes in the chef-client into the image.

@tas50 this should be ready to go, RIP kitchen-appbundle-updater


The example audit policy file <audit/audit-policy.yaml> on the Auditing page do not explain uniformly about omitstages

audit/audit-policy.yaml
apiVersion: audit.k8s.io/v1 # This is required.
kind: Policy
# Don't generate audit events for all requests in RequestReceived stage.
omitStages:
  - "RequestReceived"
rules:
...
  # A catch-all rule to log all other requests at the Metadata level.
  - level: Metadata
    # Long-running requests like watches that fall under this rule will not
    # generate an audit event in RequestReceived.
    omitStages:
      - "RequestReceived"

Policy

OmitStages is a list of stages for which no events are created.

So the comment of the first omitstages is Don't generate audit events for all requests in RequestReceived stage
But in the end the comment of omitstages under the rule is generate an audit event in RequestReceived
So I wonder whether the explanation about omitstages under the rule is incorrect,
whether it should be A catch-all rule to log all other requests at the Metadata level besides RequestReceived stage

Page related to issue: https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/
/language en


Cleanup

II ran out of time on some of the larger refactorings, so i'm just committing what I have.


Does this appear on slack?

Detailed Description

Context

Possible Implementation

Success!

Where does this appear on slack?
May be cemac_generic.


I can't see anything in http browser

Hi,  the log seem to be ok but I can't see anything in the web browser (http://<IP_ADDRESS>/stream).
Any clue ?, Regards.
I (312) camera_demo: Detected OV2640 camera, using JPEG format
I (532) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (532) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (572) phy: phy_version: 359.0, e79c19d, Aug 31 2017, 17:06:07, 0, 0
I (582) camera_demo: Connecting to "emc2"
I (3022) event: ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (3022) camera_demo: Connected
I (3022) camera_demo: Free heap: 152548
I (3022) camera_demo: Camera demo ready
I (3032) camera_demo: open http://<IP_ADDRESS>/get for single frame
I (3032) camera_demo: open http://<IP_ADDRESS>/stream for multipart/x-mixed-replace stream (use with JPEGs)
I (7082) camera: Frame 0 done in 152 ms
I (18752) camera: Frame 1 done in 153 ms
I (40262) camera: Frame 2 done in 152 ms
I (61292) camera: Frame 3 done in 157 ms
I (103442) camera: Frame 4 done in 83 ms
I (115512) camera: Frame 5 done in 150 ms
I (118712) camera: Frame 6 done in 148 ms
I (139102) camera: Frame 7 done in 149 ms
I (159812) camera: Frame 8 done in 155 ms
I (168132) camera: Frame 9 done in 134 ms
I (174772) camera: Frame 10 done in 103 ms
I (186842) camera: Frame 11 done in 139 ms

Perhaps there will be some useful info in the browser developer panel? In Chrome, you can have a look at network tab there and see what the browser has to say about the requests being completed or not.
One possibility is that the JPEG data is so horribly broken that the browser can't even start decoding the image. Could you try grabbing bitmaps with the same wiring and see if you get stable image or not?

Thanks, now everything is ok. My project progresses little by little in a satisfactory way.


Storage object with spaces fails signed_url signature match

Hi. I'm on google-cloud-storage 0.20.1 and just narrowed down what I think is an issue, but could be an error on my part.
When trying to view generated signed_urls, they were failing with SignatureDoesNotMatch, and returning a StringToSign that had the spaces in the object name escaped to %20. If I printed out the return value of Google::Cloud::Storage::File::Signer#signature_string it showed the same string but with actual spaces in it.
Manipulating the gem to escape the spaces inside the signature_string method did cause the signed_url method to return a url that opened my file as expected. Seems like the server expects the string being signed to be URL escaped prior to signing and that's not happening?
Actual object names that caused it:
/qa_photos/2102606-01,%201,%20RKT-16340017/step-11.jpg
/qa_photos/2102606-01, 01, RKT-16340017/step-11.jpg

Thanks for opening this issue and making us aware of this, @gsbucks. Hopefully we'll get a fix out for you this week.

Hi @gsbucks, I believe this is fixed in google-cloud-storage version 0.20.2. All my tests show this now working. Can you verify the new release fixes this for you. If it does, please close the issue.
Thanks again for opening the issue and reporting the problem!

Looks good. Thanks for the quick turnaround.


Could not process file

Hi,
I am trying to upgrade from Cakephp 3.5 to 3.6 but i am getting below error for each file
[ERROR] Could not process "src/Controller/VersionsController.php" file, due to:
"PHPStan\BetterReflection\Reflection\ReflectionClass "Cake\Controller\Controller" could not be found in the
located source". On line: 24

Thanks, I have invited you for repository name rectorrep. Please accept the invitation.
Thank you for your help

Thanks :+1:

Closing for lack of feedback. We're narrowing issues to keep focus on active and engaging contributor to keep project growing. Thank you for understanding.
Feel free to re-open with failing test case.


Async methods

Support for Async methods
Seperated into two projects; .NET 4.0 and .NET 4.5

When creating the NuGet package, make it so that both .NET frameworks are available

Why we need two versions for .net 40 and .net 4.5? Because of await/async?

Yes, async and await was introduced with .NET 4.5.
And it is the preferred way of doing asynchronous methods

What you think about using (restsharp library)[http://restsharp.org/] for TogglAPI library?

I think that would be good leave the rest requests to a well known library. Leaving the ToggleAPI to only keep track of Toggle things.


Developing a websocket Cider plugin in Python

I am a heavy user of Cider and have used your plugin for a while now. However I really felt that media search was a big missing feature. I am developing a plugin in Python using websockets to access Cider's "Web Remote" API to control Cider (See video below).
This plugin may clash with your plugin and I wanted to get your feedback before I release it on Flow's Plugin Store.
https://github.com/Monochromish/Flow.Launcher.Plugin.Cider/assets/535299/c08d8c7f-8f69-47f4-90a5-e0498cba81a7

awesome work @Garulf! unfortunately its not of much use now as it has been some time since the release of cider 2. i would greatly appreciate it if you could port it to cider 2. if you still want to release it to the store, you can go for it. i'd be happy to merge if and when you'll be finished with porting. thanks

Is Cider 2 released?
I was under the impression it was a preview release?


Attribute incorrectly documented

Should be "OffsetDays" not just "Offset".

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f1aed3c6-d0f2-df91-ecae-0345158a138b
Version Independent ID: 8df123fe-96af-d50a-a614-2f265a1cd8fa
Content: Today element (Query)
Content Source: docs/schema/today-element-query.md
Product: sharepoint
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Thanks @sparkitect for your feedback. The issue has just been fixed and the documentation will be updated in the upcoming days.


added query string by page '&page='

OMDB updated their API recently and added 'page' parameter to the string query. I just added this option as a possible param for developers who want to fetch more than the first default 10 result.


prerequisite for schema based const

I moved translation from user format to PnR format towards end of compiler.
These two lines in compiler.py are used for translation. const is a dictionary of user constraints + auto-generated const
pnr_const_format = ConstraintWriter(pdk_dir)
new_const = pnr_const_format.map_valid_const(const)

This looks great @kkunal1408 . Can you take care of the CI errors as well so that we can get this merged in?

Sure. Will fix the errors.


Default value of datadisks and costs

Hi,
I did the setup with this template on azure and was working great. There is one downside and that is when selecting vm (d4_v2) then it creates 16 disk per vm for data and when this is ssd it is expensive.
Is it possible to change the default value of number of datadisks to 1.
Thank awesome template

Hey @geoffreysamper, thanks for the feedback. The template already exposes the ability to choose

The number of disks to attach to each data node, up to the maximum supported by the VM SKU (search for vmDataDiskCount).
The size of the disks. Small - 128Gb, Medium - 512Gb, Large - 1024Gb (search for vmDataDiskSize)
The type of Storage - Premium (if supported) or Standard (search for storageAccountType)

In the absence of any values supplied for these, the template defaults to the maximum number and size of disks a given VM SKU can have attached. It will also use Premium storage if supported.
You may also be interested in the configuring data disks section of a blog post we recently did about the template.

Yes, this is correct but when deploying from the portal these parameters
are not shown
On Fri, Jun 30, 2017 at 6:30 AM, Russ Cam<EMAIL_ADDRESS>wrote:

Hey @geoffreysamper https://github.com/geoffreysamper, thanks for the
feedback. The template already exposes the ability to choose
https://github.com/elastic/azure-marketplace#parameters

The number of disks to attach to each data node, up to the maximum
supported by the VM SKU (search for vmDataDiskCount).
The size of the disks. Small - 128Gb, Medium - 512Gb, Large -
1024Gb (search for vmDataDiskSize)
The type of Storage - Premium (if supported) or Standard (search
for storageAccountType)

In the absence of any values supplied for these, the template defaults to
the maximum number and size of disks a given VM SKU can have attached. It
will also use Premium storage if supported.
You may also be interested in the configuring data disks section
https://www.elastic.co/blog/elasticsearch-and-kibana-deployments-on-azure#configuring-data-disks
of a blog post we recently did about the template.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/elastic/azure-marketplace/issues/134#issuecomment-312172221,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOKuHLalblYPFn4oALiwzcuKmdE9IjKks5sJHn-gaJpZM4OJY6q
.

--
Geoffrey Samper
M: +32 473 954 715
E<EMAIL_ADDRESS>

The Azure Marketplace offering provides only a subset of the capabilities available within the ARM template; this is intentional to keep the getting started experience of deploying Elasticsearch and Kibana on Azure through the portal as simple as possible.
If you're looking to get started with using the ARM template from the command line, we have a github repository of common scenarios that may be useful to you, in particular, the configuring disks scenario..
Hope that helps!


Refactor with jQuery, add callback function - calculation()

Made big changes by using jQuery to refactor code. Also added a callback function calculation() to further my understanding and make code more concise. Also added more comments.

Next I will add more commits to use jQuery instead of JS to refer to the DOM when declaring variables.

Switched to jQuery in variables for better clarification. I'm happy I went through putting this program together with vanilla Javascript first, and then through learning, I converted it over to use jQuery. With this PR, I shortened my code and made it easier to understand.


Inherit and extend let definitions in inner describe blocks.

I've taken to an idiom like the following:
describe Post do
  subject { Post.new(post_attributes) }
  let(:post_attributes) { { } }

  its(:description) { should be_empty }

  describe "with a title" do
    let(:post_attributes) { { title: "10 things about yak shaving you're doing wrong" } }

    its(:description) { should == "10 things about yak shaving you're doing wrong" }

    describe "with an author" do
      let(:post_attributes) { { title: "10 things about yak shaving you're doing wrong", author: "Ernest Holbrecht" } }

      its(:description) { should == "10 things about yak shaving you're doing wrong by Ernest Holbrecht" }
    end
  end
end

The Post.new call is DRYed up into the top of the spec, and each nested describe block defined what's different from its parent block.  Except: here, the innermost describe block's definition of post_attributes repeats the title from the one above it.
I'd prefer to say something like this:
context "with an author" do
  let(:post_attributes) { super.merge( author: "Ernest Holbrecht" ) }

  its(:description) { should == "10 things about yak shaving you're doing wrong by Ernest Holbrecht" }
end

Unfortunately, I don't think we can use super, it would have to be super() (which is uglier) or else we'd get the error "Implicit argument passing of super from method defined by define_method() is not supported. Specify all arguments explicitly."
So this issue is here to decide two things:

Is this a good thing to add to RSpec?
If so, what's the right word to use to refer to the inherited value of a let?

I'm happy to write the implementation.

I was considering this today also, good to see it's already under discussion.
Recently, I'm doing a lot of:
describe BlahController do
  describe '#new' do
    subject { get :new }

    it { should be_successful }

    describe 'the decoded response' do
      def subject; ActiveSupport::JSON.decode super.body; end

      it { should be_present }
      it { should include "blah_thing" => "foo" }
    end
  end
end

This feels super-crufty and would be greatly improved by subject { ActiveSupport::JSON.decode super.body } and would also make a lot more sense.
This also adheres to the principle of ExampleGroups being classes which inherit from each other, subjects and let blocks could be define_methoded in the class and have easy access to super. It could also clean up this business. The tricky bit would be cross-runtime compatibility.
I might try putting together an example branch if I get some spare time.

I'd do:
describe BlahController do
  describe '#new' do
    subject { raw_body }
    let(:raw_body) { get :new }
    let(:response_body) { ActiveSupport::JSON.decode raw_body }

    it { should be_successful }

    describe 'the decoded response' do
      subject { response_body }

      it { should be_present }
      it { should include "blah_thing" => "foo" }
    end
  end
end

You can also do:
# spec/support/request_helpers.rb
module SpecHelpers
  module Requests
     include ActiveSupport::Concern

     included do
        let(:raw_body) { get :new }
        let(:response_body) { ActiveSupport::JSON.decode raw_body }
     end
  end
end

# spec/requests/blah_controller_spec.rb
require 'spec_helper'

describe BlahController do
  include SpecHelpers::Requests

  describe '#new' do
    subject { raw_body }

    it { should be_successful }

    describe 'the decoded response' do
      subject { response_body }

      it { should be_present }
      it { should include "blah_thing" => "foo" }
    end
  end
end

This way, you can share all the let() definitions across all of your controller specs.

Nice. I found this topic in 2019. :+1: Still working for RSspec 3.8.

TLDR;
context 'when overriding let in a nested context' do
  let(:a_value) { super() + " (modified)" }

  it 'can use `super` to reference the parent context value' do
    expect(a_value).to eq("a string (modified)")
  end
end

Only found this neat feature so many years later ❤
I stumbled into an error when using super instead of super(), but It is nicely explained here: https://rspec.info/blog/2013/02/rspec-2-13-is-released/#let-and-subject-declarations-can-use-super


Update jaeger stable to v1.21.0 on staging

Description

v1.21.0 was released on 11/16/2020
update stable on staging
updates ci_system_type to use travis-ci-com after .org deprecated
passes trigger builds: https://gitlab.dev.cncf.ci/jaegertracing/jaeger/-/jobs/205076

Issues:
https://github.com/vulk/cncf_ci/issues/341
How has this been tested:

[ ]  Covered by existing integration testing
[ ]  Added integration testing to cover
[x]  Tested with trigger client against

[x]  cidev.cncf.ci
[x]  dev.cncf.ci
[ ]  staging.cncf.ci
[ ]  cncf.ci (production)

[ ]  Browser tested on staging.cncf.ci
[x]  Have not tested

Types of changes:

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

Checklist:

[ ]  My change requires a change to the documentation
[ ]  I have updated the documentation accordingly
[x]  No updates required

LGTM on https://dev.cncf.ci/


Where can i change the color

I want to change the color for the dialog. Any tip where to change it?

found the solution. Just change category-links color using css.


fix(withdraws): minimal withdrawal amount validation

Related issues 🔗
Closes #3915
Description ℹ
Asset's quantum is minimal amount eligible to withdraw, but the de-facto value is quantum * spam.protection.minimumWithdrawalQuantumMultiple. This PR adds the factor to the calculation of the minimal amount.

@asiaznik Looks good. Can you update the specs repo to capture that the minimum withdrawal should use spam_protection_minimumWithdrawalQuantumMultiple and ensure we add test coverage for this

https://github.com/vegaprotocol/specs/pull/1725


TypeError: can't pickle weakref objects

I ran UMAP with
umap_model = umap.UMAP(n_neighbors=15,n_components=5, low_memory=False, random_state=42).fit(df)
and it works, but when run
joblib.dump(umap_model, 'test.sav')
or
umap_model.transform(df1)
get errors:  TypeError: can't pickle weakref objects

I did some tests and found it is wield:
umap_model = umap.UMAP(n_neighbors=15,n_components=5, low_memory=False, random_state=42).fit(df)
umap_model.transform(x)
I got the error: TypeError: can't pickle weakref objects
but continue to do: df1 = df.reset_index(drop = True) or save df to file, then load
umap_model = umap.UMAP(n_neighbors=15,n_components=5, low_memory=False, random_state=42).fit(df1)
umap_model.transform(x)
it works
and then ran df again:
umap_model = umap.UMAP(n_neighbors=15,n_components=5, low_memory=False, random_state=42).fit(df)
umap_model.transform(x)
it also works
And
It got error when run first time
umap_model = umap.UMAP(n_neighbors=15,n_components=5, low_memory=False, random_state=42).fit(df)
umap_model.transform(x)
but as long as it works,  it will not get this error.
Any idea to solve this issue ?

Hit this error also, it seems to be in PyNNDescent. I'm on the latest commit dd415c

Stacktrace (click to expand full):

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
lib/python3.7/site-packages/numba/core/caching.py in save(self, key, data)
    486             # If key already exists, we will overwrite the file
--> 487             data_name = overloads[key]
    488         except KeyError:

KeyError: ((array(int32, 1d, C), array(int32, 1d, C), array(float32, 1d, C), array(float32, 2d, C), type(CPUDispatcher(<function alternative_cosine at 0x14f8aa710>)), array(int64, 1d, C), float64), ('x86_64-apple-darwin20.5.0', 'skylake', '+64bit,+adx,+aes,+avx,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vpopcntdq,+bmi,+bmi2,-cldemote,+clflushopt,-clwb,-clzero,+cmov,+cx16,+cx8,-enqcmd,+f16c,+fma,-fma4,+fsgsbase,+fxsr,-gfni,+invpcid,-lwp,+lzcnt,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,+pclmul,-pconfig,-pku,+popcnt,-prefetchwt1,+prfchw,-ptwrite,-rdpid,+rdrnd,+rdseed,-rtm,+sahf,+sgx,-sha,-shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,+ssse3,-tbm,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-xop,+xsave,+xsavec,+xsaveopt,+xsaves'), ('308c49885ad3c35a475c360e21af1359caa88c78eb495fa0f5e8c6676ae5019e', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'))

During handling of the above exception, another exception occurred:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-20-4bf31149ae81> in <module>
----> 1 nnquery = nnindex.query(data, k=70)

lib/python3.7/site-packages/pynndescent/pynndescent_.py in query(self, query_data, k, epsilon)
   1564         """
   1565         if not hasattr(self, "_search_graph"):
-> 1566             self._init_search_graph()
   1567
   1568         if not self._is_sparse:

lib/python3.7/site-packages/pynndescent/pynndescent_.py in _init_search_graph(self)
   1061                 self._distance_func,
   1062                 self.rng_state,
-> 1063                 self.diversify_prob,
   1064             )
   1065         reverse_graph.eliminate_zeros()

lib/python3.7/site-packages/numba/core/dispatcher.py in _compile_for_args(self, *args, **kws)
    432                     e.patch_message('\n'.join((str(e).rstrip(), help_msg)))
    433             # ignore the FULL_TRACEBACKS config, this needs reporting!
--> 434             raise e
    435
    436     def inspect_llvm(self, signature=None):

lib/python3.7/site-packages/numba/core/dispatcher.py in _compile_for_args(self, *args, **kws)
    365                 argtypes.append(self.typeof_pyval(a))
    366         try:
--> 367             return self.compile(tuple(argtypes))
    368         except errors.ForceLiteralArg as e:
    369             # Received request for compiler re-entry with the list of arguments

lib/python3.7/site-packages/numba/core/compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
     30         def _acquire_compile_lock(*args, **kwargs):
     31             with self:
---> 32                 return func(*args, **kwargs)
     33         return _acquire_compile_lock
     34

lib/python3.7/site-packages/numba/core/dispatcher.py in compile(self, sig)
    823                 raise e.bind_fold_arguments(folded)
    824             self.add_overload(cres)
--> 825             self._cache.save_overload(sig, cres)
    826             return cres.entry_point
    827

lib/python3.7/site-packages/numba/core/caching.py in save_overload(self, sig, data)
    669         """
    670         with self._guard_against_spurious_io_errors():
--> 671             self._save_overload(sig, data)
    672
    673     def _save_overload(self, sig, data):

lib/python3.7/site-packages/numba/core/caching.py in _save_overload(self, sig, data)
    679         key = self._index_key(sig, _get_codegen(data))
    680         data = self._impl.reduce(data)
--> 681         self._cache_file.save(key, data)
    682
    683     @contextlib.contextmanager

lib/python3.7/site-packages/numba/core/caching.py in save(self, key, data)
    494                     break
    495             overloads[key] = data_name
--> 496             self._save_index(overloads)
    497         self._save_data(data_name, data)
    498

lib/python3.7/site-packages/numba/core/caching.py in _save_index(self, overloads)
    540     def _save_index(self, overloads):
    541         data = self._source_stamp, overloads
--> 542         data = self._dump(data)
    543         with self._open_for_write(self._index_path) as f:
    544             pickle.dump(self._version, f, protocol=-1)

lib/python3.7/site-packages/numba/core/caching.py in _dump(self, obj)
    568
    569     def _dump(self, obj):
--> 570         return pickle.dumps(obj, protocol=-1)
    571
    572     @contextlib.contextmanager

TypeError: can't pickle weakref objects

@adilosa, do you know how to solve this issue?

@adilosa This is an issue with numba interacting with whatever disk is available for caching; I'm not sure there is much I can do because this is deep into numba. Ostensibly you can try setting environment variables for the numba cache directory to point it to more reliable disk. I would definitely reach out to the numba team for help with this however.

Ah, ok, thanks Leland. For reference, I had this issue on the latest umap commit. Normally I use umap==0.4.6, pynndescent==0.4.8, and numba==0.51.2 – and reinstalling these versions work just fine as usual.
@sxia-cb, perhaps the issue is with a recent numba release, maybe roll back a version and see if it goes away. the related issues also mention it might be a problem with cloud storage
Same stack trace in numba/numba#7279, also referencing lmcinnes/pynndescent#133

I ran into this problem and found a way around it. Hopefully this might help others. My code was running fine on local machines but resulting in this error when run on Colab Pro. The solution referenced in the numba forums related to env vars did not work when using the default Colab libraries and umap installed via 'pip install umap-learn'. However, the error went away if I updated libraries to these versions and then used the env var suggestions
!pip install tbb --upgrade
!pip install numba==0.52.0
!pip install pynndescent==0.5.2
!mkdir /tmp/numba_cache
%env NUMBA_CACHE_DIR=/tmp/numba_cache
!pip install umap-learn
Note that you have to restart the Colab instance until these new versions 'take'. Ideally check version for each.
Another way to make it work is to just grab the latest versions of these dependencies in which case you don't need the env var change: !pip install --upgrade tbb numba pynndescent umap-learn. Of course you still have to restart Colab to ensure the latest versions are in play.


feature support ip functions named to_ipv4(string) and to_ipv6(string)

Proposed changes
Issue Number: close #20584

to_ipv4: An alias to ipv4_string_to_num that takes a string form of IPv4 address and returns value of IPv4 type, which is binary equal to value returned by ipv4_string_to_num.
to_ipv6: Converts a string form of IPv6 address to IPv6 type. If the IPv6 address has an invalid format, returns an empty value. Similar to ipv6_string_to_num function, which converts IPv6 address to binary format.


Improve from when Client() use same origin as Outlet()

We often use cases when same domain show tickets and store them in localStorage.
In this case we can optimize flow to avoid iframe and start Outlet() instance in Client()
UX will be significantly improved for Safari, because right now user have to click button to show tokens and new tab blinks on screen, but we can easy simplify this without any issues.
@nicktaras , @micwallace , could you , guys, help with it? its relatively quick update.
Outlet() and Client() can compare new URL(issuer.tokenOrigin).origin and document.location.origin , if it the same then use simplified flow without iframe or new tab.
make sense?
cc @AW-STJ

Yep no worries Oleg, this was something I was thinking about doing.

if it the same then use simplified flow without iframe or new tab.

This is perfect if we can do this. UX is the biggest element that people would be judging our tech on. What exactly goes in background is not as interesting to vast majority of the users.

@oleggrib This is implemented for token loading in #405

https://smarttokenlabs.atlassian.net/browse/TKN-399 ticket created to track this issue


Would you please add a license file for this repo?

Thanks for sharing the code, it looks really good. But I cannot find any license information. Would you please add a license file for this repo?

@winguse  what licence would you prefer?
@igormiletic  can you add one? we usually used boost for D project but it doesnt matter. MIT or apache are fine too.

Either MIT or apache are welcome. I just have some legal concerns when references your code. And thanks again for your contribution :)

Hi @yannick @igormiletic could you please add a license - have the same issue, don't want to use your code without a license...

@ManuelWeiss @winguse MIT licence added.

Awesome, thanks a lot.


jellyfin-web: convert to buildNpmPackage

Description of changes
Over 14,000 deletions ✨
Things done

Built on platform(s)

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

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Hey! Thank you for the PR! First let me thank you for your work on buildNpmPackage, it looks amazing and quite handy.
But at the risk of being a joy killer, is this what we want for jellyfin-web? I think buildNpmPackage is amazing for rapid packaging, and in the case where node2nix isn't feasible. The reason I think that we still want to use node2nix is for transparency / auditability: doing nix path-info -r --derivation on jellyfin-web with node2nix does tell you which NPM packages are used, and you can automatically audit if some of them have CVEs (with vulnix for example). Having a FOD makes us lose that property, unfortunately.
I do love the amount of deletion, but since a lot of lines are generated code, I wouldn't consider them a maintenance burden or technical debt. The web.nix and web-update.sh files seem quite simple to me.
What are you thoughts on this?
On a lighter note, just the fact that you managed to package the jellyfin-web that quickly is a feat in my opinion, congrats!

@tjni Please move your comments over to #200470.
@minijackson That's definitely a valid concern. However, at the same time, I don't see what makes jellyfin-web different from any other npm package that will be converted in the future. Maybe we should wait on others to weigh in?

@winterqt yes, sorry for the confusion, I wasn't talking about jellyfin-web specifically. My point of view would be more like "for nixpkgs, try node2nix. If it doesn't work for you switch to buildNpmPackage"

for nixpkgs, try node2nix. If it doesn't work for you switch to buildNpmPackage

I disagree for a few reasons, mainly that the current package set (node-packages.nix):

takes hours to generate
updates affect other packages
is very large

Isn't the package set for jellyfin self-contained in its own node-deps.nix? Or are there some dependencies pulled from the global node-packages.nix as well? I'm not very familiar with the Node ecosystem of nixpkgs.

I was talking about packages inside nixpkgs. I think all of them can have their own node-deps.nix, and we could forgo the global node-packages.nix? (This is complete speculation)

Yes, but we really don't want to have so many large generated files if we can help it.

I was talking about packages inside nixpkgs. I think all of them can have their own node-deps.nix, and we could forgo the global node-packages.nix? (This is complete speculation)

Some people are annoyed and find problematic that nixpkgs is holding so much data due to lockfiles appearing from everywhere in the repository, I am sympathetic to the issue, even if I am not really affected as I have plenty of disk space and fiber-speed bandwidth more or less everywhere.
Maybe, there should be a discussion on (a) what is the objective of lockfile reduction in nixpkgs? (b) how to balance this out with our objective of observability/SBOMs/supply chain security/transparency/auditability/etc. ?

Maybe, there should be a discussion on (a) what is the objective of lockfile reduction in nixpkgs? (b) how to balance this out with our objective of observability/SBOMs/supply chain security/transparency/auditability/etc. ?

Odd idea for (b): how about dumping a list of dependencies in a separate output?

Maybe, there should be a discussion on (a) what is the objective of lockfile reduction in nixpkgs? (b) how to balance this out with our objective of observability/SBOMs/supply chain security/transparency/auditability/etc. ?

Odd idea for (b): how about dumping a list of dependencies in a separate output?

It would be an idea, involving @nikstur as he has been working on https://github.com/nikstur/bombon for which this can be of interest.
Also, there was the idea of having a passthru.ssc.cycloneDX thing going in the NixOS SLSA matrix channel.

I think this is very much outdated by now? jellyfin-web seems to use buildNpmPackage.


Indexing unit benchmarks

Summary
Add a unit benchmark for each extractor in the indexer, the goal is:

during the development phase, seeing fastly and efficiently the impact of local optimization
during the performance-regression investigation phase, helping to find local regressions

Checklist

extractors
prefix db

I started looking into this issue and it’s not as easy as I thought;

criterion does not support it
bencher does not support it
microbench do not use the #[bench] attribute and thus will run everytime we run our tests
It’s still nightly in the stdlib and we can’t do a cfg(nightly) but it may be possible to make something ok-ish with select-rustc

I implemented a first version of a unit benchmark using the nightly stdlib solution since it’s the only one that allows unit benchmarks.
You can look at this commit; https://github.com/meilisearch/milli/pull/581/commits/10b42cc0d79f7eb975701a19e3d918e6f400ed3f
Basically, we need to import select-rustc; once this is done, we can #[cfg(feature = "nightly")], and we need to do this for everything related to the benchmarks.
To simplify the code a little bit, I created a module in the test module where I threw my benchmarks.


Ncastle/kml url

Looks like I messed this up.... Closing in anticipation of a future, corrected pull request.


setting PYTHONPATH in sublimelinter

I tried setting "python_paths" variable in SublimeLinter.sublime-setting file  to point to wherever my python, pylint, setuptools, etc. packages are. However, this "python_paths" variable does not seem to work the way it should. It simply cannot augment my PYTHONPATH, unlike the "paths" variable which can augment my PATH.
I understand that I could set everything up in a .bash_profile/bashrc file. However, I would like to avoid using .bash_profile/.bashrc file for other reasons. I would like to be able to do this within SublimeLinter.sublime-setting file, because that is the whole point of having a "setting file" so that user can set PATH, PYTHONPATH, etc. without having to touch .bash_profile/.bashrc file.
Therefore, my question is: Is there a way to set PYTHONPATH variable, just like PATH variable, in SublimeLinter.sublime-setting file so that my PYTHONPATH is augmented ?
I am on OSX and using ST3 with python v 2.7.9 (not the system python).
Thanks for any help!

Anyone?

I tried exporting PYTHONPATH in my .bash_profile, sublime linter did not work in this case either.
I get the following warning message in the console:
SublimeLinter: pylint version query: /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pylint --version
SublimeLinter: WARNING: no pylint version could be extracted from:
Traceback (most recent call last):
File "/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pylint", line 5, in
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

You've got a couple of options, as I understand it:

in your sublime project
in a .sublimelinterrc file

I'm using a project, and have the following:
{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "/Users/aparajita/Projects/Widget"
        }
    ],
    "SublimeLinter":
    {
        "@python": 3
    }
}

as documented here: http://sublimelinter.readthedocs.io/en/latest/meta_settings.html#python-meta-setting
I'm using sublimelinter-flake8 so I also needed to ensure that flake8 was installed globally using both pip and pip3
# For python 2.x
[sudo] pip-2.x install flake8

# For python 3.x
[sudo] pip-3.x install flake8

hth!

hi,
Thanks for taking your time to answer my question.  I followed your suggestion, but could not make it to work.
Since I do not have "project", I worked directly with .sublimelinterrc file.
First of all, I want to make it crystal clear that I have installed both Sublimelinter plugin AND actual python packages like pylint, pyflakes and pep8.  I am currently using python v 2.7.9.
These packages are not installed in the standard location like /usr/local or /usr/opt etc for very simple reason, that is, I do not have access to those folders!
The  .sublimelinterrc files looks like this:
{
"@python": 2,
"linters": {
"pep8": {
"@disable": false,
"args": [],
"excludes": [],
"ignore": "",
"max-line-length": null,
"select": "",
"paths": ["/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/lib/python2.7/site-packages"]
},
"pyflakes": {
"@disable": false,
"args": [],
"excludes": [],
"paths": ["/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/lib/python2.7/site-packages"]
},
"pylint": {
"@disable": true,
"args": [],
"disable": "",
"enable": "",
"excludes": [],
"rcfile": "",
"show-codes": false,
"paths": ["/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/lib/python2.7/site-packages"]
}
}
}
However, I get  the exact same error as above in the sublime console.
SublimeLinter: find_python(version=None, script='pep8', module=None)
SublimeLinter: find_python: default python = /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python
SublimeLinter: find_python: available version = {'minor': 7, 'major': 2}
SublimeLinter: find_python: 'pep8' path = /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8
SublimeLinter: find_python: <= ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8', 2, 7)
SublimeLinter: pep8 version query: /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8 --version
SublimeLinter: pep8 version: 1.7.0
SublimeLinter: pep8: (>= 1.4.6) satisfied by 1.7.0
SublimeLinter: pep8 activated: ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8')
SublimeLinter: find_python(version=None, script='pyflakes', module=None)
SublimeLinter: find_python: default python = /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python
SublimeLinter: find_python: available version = {'minor': 7, 'major': 2}
SublimeLinter: find_python: 'pyflakes' path = /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes
SublimeLinter: find_python: <= ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes', 2, 7)
SublimeLinter: pyflakes version query: /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes --version
SublimeLinter: pyflakes version: 1.0.0
SublimeLinter: pyflakes: (>= 0.7.3) satisfied by 1.0.0
SublimeLinter: pyflakes activated: ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes')
SublimeLinter: find_python(version=None, script='pylint', module=None)
SublimeLinter: find_python: default python = /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python
SublimeLinter: find_python: available version = {'minor': 7, 'major': 2}
SublimeLinter: find_python: 'pylint' path = /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pylint
SublimeLinter: find_python: <= ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pylint', 2, 7)
SublimeLinter: pylint version query: /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pylint --version
SublimeLinter: WARNING: no pylint version could be extracted from:
Traceback (most recent call last):
File "/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pylint", line 5, in
from pkg_resources import load_entry_point
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2927, in
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2913, in _call_aside
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2940, in _initialize_master_working_set
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 635, in _build_master
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 943, in require
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 829, in resolve
pkg_resources.DistributionNotFound: The 'pylint==1.4.4' distribution was not found and is required by the application
SublimeLinter: find_python(version='2', script='pep8', module=None)
SublimeLinter: find_python: requested version = {'minor': None, 'major': 2}
SublimeLinter: find_python: system python = /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python2
SublimeLinter: find_python: available version = {'minor': 7, 'major': 2}
SublimeLinter: find_python: 'pep8' path = /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8
SublimeLinter: find_python: <= ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python2', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8', 2, 7)
SublimeLinter: pep8: Script_QuantumTransport_Polariton_ManyBody.py ['/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python2', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8', '-']
SublimeLinter: pep8 output:
Traceback (most recent call last):
File "/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pep8", line 5, in
from pkg_resources import load_entry_point
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2927, in
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2913, in _call_aside
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2940, in _initialize_master_working_set
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 635, in _build_master
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 943, in require
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 829, in resolve
pkg_resources.DistributionNotFound: The 'pep8==1.7.0' distribution was not found and is required by the application
SublimeLinter: find_python(version='2', script='pyflakes', module=None)
SublimeLinter: find_python: requested version = {'minor': None, 'major': 2}
SublimeLinter: find_python: system python = /Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python2
SublimeLinter: find_python: available version = {'minor': 7, 'major': 2}
SublimeLinter: find_python: 'pyflakes' path = /Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes
SublimeLinter: find_python: <= ('/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python2', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes', 2, 7)
SublimeLinter: pyflakes: Script_QuantumTransport_Polariton_ManyBody.py ['/Users/amritpoudel/Desktop/HPC_LIB/PYTHON279/bin/python2', '/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes']
SublimeLinter: pyflakes output:
Traceback (most recent call last):
File "/Users/amritpoudel/Desktop/HPC_LIB/SPYDER/bin/pyflakes", line 5, in
from pkg_resources import load_entry_point
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2927, in
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2913, in _call_aside
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 2940, in _initialize_master_working_set
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 635, in _build_master
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 943, in require
File "build/bdist.macosx-10.4-x86_64/egg/pkg_resources/init.py", line 829, in resolve
pkg_resources.DistributionNotFound: The 'pyflakes==1.0.0' distribution was not found and is required by the application
Package Control: Skipping automatic upgrade, last run at 2016-08-23 09:31:33, next run at 2016-08-23 10:31:33 or after
Clearly, the above error is thrown due to the fact that PYTHONPATH is not set or read correctly by the sublimelinter.
Also, note that I have set PATH  (path that locate the binaries of pylint, pyflakes, and pep8) correctly and is read correctly by sublimelinter. However, I am unable to set PYTHONPATH.
I will appreciate any other suggestions. Thanks!

Also, I noticed that these is a missing information on this page: http://sublimelinter.readthedocs.io/en/latest/troubleshooting.html#linters-python-is-not-available)
Under the section "module not installed", it is implied that the type of error thrown there is indicative of flake8 package being not installed. While this true statement, but not a complete one.
A simple test can demonstrate that the same error is thrown if flake8 package is installed but the PYTHONPATH is not set or read by Sublimelinter. The author seem to focus heavily on how to set and augment the PATH, but there is no information on that page on how to augment the PYTHONPATH.
Module not installed
On the other hand, if python2 is available and you have a @python: 2 meta or inline setting, but you do not have flake8 installed for python 2, you would see something like this in the console:
SublimeLinter: flake8: test.py ['/usr/bin/python2', '/usr/local/bin/flake8', '--max-complexity=-1', '-']
SublimeLinter: flake8 output:
Traceback (most recent call last):
File "/usr/local/bin/flake8", line 5, in
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2556, in
working_set.require(requires)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 620, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 518, in resolve
raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: flake8==2.1.0


Automatic removal of stale devices

Is your feature request related to a problem? Please describe.
Plugs and strips come and go - they are sometimes connected and sometimes not. Unfortunately, once they are configured they stay in the system for good.
Describe the solution you'd like
A periodic check for devices that are offline for an extended time (say, an hour). These devices could be removed, and then advertise as new devices once they are plugged back.

I would prefer a way to manually, and consciously, remove them rather than see them disappear automatically.

I would prefer a way to manually, and consciously, remove them rather than see them disappear automatically.

That could be an option. The feature is useful when the population of the plugs is "dynamic".

This is though
removing stale entries would require reconfiguring them once reconnected. I'm trying to figure out if I can 'disable' them (in HA terms) so to still have the entities internally configured but just disappearing from the UI and recorder so once reconnected and alive they will appear where they were left.

I've tried to disable the 'ConfigEntry' when the device becomes stale but it messed up everything (I guess this feature of HA is too new to work consistently or, more likely, I didn't properly get how it works)
I'm going to publish a new release without this one since I prefer to keep things going introducing bulb support and protocol key configuration for devices.
This 'stale removal' feature is still in the queue though. Any help or hint highly appreciated!
I'm still in the mood of not completely removing config entries for stale devices since it would require a manual reconfiguration step every time you replug your items.
I guess @wsw70 request is related to not having devices and entities polluting the UI with 'unavailable states' when these could be offline for extended periods of time and I see the point: that's why I'm keeping this up and trying to figure out how to automatically disable devices so they disapper from UI but still they are left in HA configuration in order to be quickly revived when coming back online

Thanks @krahabb for the effort.
Yes, my point was as described in your last paragraph. I will have a look on my side as well.
Maybe you could tag the issue with 'enhancement' and 'sleeping' or something, to show that there is still hope :) (as opposed to closing it)

I'm still in the mood of not completely removing config entries for stale devices since it would require a manual reconfiguration step every time you replug your items.

Maybe that this could be configurable? My idea was that a device that is not used for some time is expected to be rediscovered and reconfigured. But again, this is my own idea of how plugs work.
I will update my repo to point to yours and dig in your code (I am a poor developer, though)

I'm still in the mood of not completely removing config entries for stale devices since it would require a manual reconfiguration step every time you replug your items.

At least as an option that would be useful: you unplug a plug, which means you usually do not need it anymore where it was.
It makes then sense to completely remove it so once you plug it back in, it is rediscovered and can be reconfigured to the new place where it is used.

My usage is that the plug power is turned off at night.  I'm hoping that this feature will be selectable as I don't want to have to re-register if the power is lost.

In this regard, it would be nice to have the option to be notified offline on HA when the meross device goes offline.

you unplug a plug, which means you usually do not need it anymore where it was

I have Node-red flows that monitor low power usage for a user-configurable amount of time and that's published to an entity that's accessible to HA. One of the things I would appreciate the least is something that automatically deletes an entity 😄

@almico @nao-pon  : OK, I give up :)
I probably have a workflow that is different from others, where I use some of the plugs for a limited time only (or move them) and therefore I do not want to have a bunch of them as "unavailable".
But this will not stop me from moving to @krahabb integration :)
I will manage the removal of stale plugs independently, from pyscript and everyone will be happy.

@wsw70 I think you don't have to give up. @krahabb seems to be positively starting the implementation. I think it would be best for everyone if the configuration flows could allow the user to select this feature.

@nao-pon : my comment was really tongue in cheek :)
The integration is great (I just pushed everyone using mine to go here: https://github.com/wsw70/meross-local-mqtt) and my usecase is probably  very niche (I am actually surprised how much it is). I will find an independent way to clean up (other stale entities as well BTW) so no worries.
In any case this certainly needs to be opt-in.


Move language to third argument to evaluateExpressionValue

Most of chisel assumes the second argument is printErrors and passes a boolean by position, not keyword. To leave those call sites as they are, this change makes language the third argument, and updates the few uses in the XCTest helpers.
cc @bartoszj for the changes to FBXCTestCommands.py
Resolves #209.

Go to take @bartoszj 👍 reaction as an accept :trollface:


can't install from git repository (error future feature annotations is not defined)

when i run this command to install dask
`

python -m pip install

`
it give the error :
ERROR: You must give at least one requirement to install (see "pip help install")
so I tried this command:
`

C:\Users....\dask> pip3 install .

`
the new error is from file : setup.py", line 3
Processing c:\users\e580\dask
Preparing metadata (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\e580\appdata\local\programs\python\python36\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\E580\dask\setup.py'"'"'; file='"'"'C:\Users\E580\dask\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\E580\AppData\Local\Temp\pip-pip-egg-info-8am3sr_m'
cwd: C:\Users\E580\dask
Complete output (6 lines):
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\E580\dask\setup.py", line 3
from future import annotations
^
SyntaxError: future feature annotations is not defined

Hello! This is happening because this feature requires at least Python 3.7. Dask supports Python 3.8 and up, see #8572 where Python 3.7 support was dropped.

Closing as resolved.


[bug]: npyscreen not installed with automatic installer

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
24
What version did you experience this issue on?
3.4.0post1
What happened?
This has been reported before and was falsly marked as "fixed".
────────────────────────────── InvokeAI Configuration Section ───────────────────────────────
Libraries are installed and InvokeAI will now set up its root directory and
configuration. Choose between:
* AUTOMATIC configuration:  install reasonable defaults and a minimal set of starter

models.
* MANUAL configuration: manually inspect and adjust configuration options and pick from
a larger set of starter models.
Later you can fine tune your configuration by selecting option [6] 'Change InvokeAI
startup options' from the invoke.bat/invoke.sh launcher script.
Choose utomatic or anual configuration [a/m] (a): a
A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named 'triton'
Traceback (most recent call last):
File "F:\InvokeAI\InvokeAI-Installer\lib\main.py", line 52, in
inst.install(**args.dict)
File "F:\InvokeAI\InvokeAI-Installer\lib\installer.py", line 183, in install
self.instance.configure()
File "F:\InvokeAI\InvokeAI-Installer\lib\installer.py", line 348, in configure
from invokeai.frontend.install.invokeai_configure import invokeai_configure
File "F:\InvokeAI.venv\Lib\site-packages\invokeai\frontend\install\invokeai_configure.py", line 4, in
from ...backend.install.invokeai_configure import main as invokeai_configure  # noqa: F401
File "F:\InvokeAI.venv\Lib\site-packages\invokeai\backend\install\invokeai_configure.py", line 24, in
import npyscreen
ModuleNotFoundError: No module named 'npyscreen'
Press any key to continue . . .
F:\InvokeAI\InvokeAI-Installer>`
Screenshots
No response
Additional context
No response
Contact Details
No response
Short term manual fix:
in your install dir go to:
cd .venv
cd Scripts
activate
pip install -I --no-cache-dir npyscreen==4.10.5

For anyone who is running into this issue, the fix is:
Open the developer console (option 7) from your invoke.sh or invoke.bat file and run:
pip install npyscreen

For anyone who is running into this issue, the fix is:
Open the developer console (option 7) from your invoke.sh or invoke.bat file and run:
pip install npyscreen

No, that command is not enough. The command in the bug description does the trick. You do need to override the cache.
pip install -I --no-cache-dir npyscreen==4.10.5

This is no longer an issue with the latest release. The installer was rewritten.


Footer Configuration Documentation Mismatch

Following the documentation in the theming guide a key for footer configuration would be e.g.
footer_recto_left_content. However, I have to user footer_recto_content_left
I am using the Asciidoctor Maven Plugin in Version 1.5.5

It's very likely you are using an older alpha of Asciidoctor PDF. Can you confirm which version you are using?
If you need to continue using an older version, then please select the corresponding branch to read the theming guide. For example: https://github.com/asciidoctor/asciidoctor-pdf/blob/v1.5.0.alpha.12/docs/theming-guide.adoc#running-content
If you are using the alpha.15, then the proper structure is. footer_<side>_<position>_content. For example:
footer:
  height: 0.75in
  line_height: 1
  recto:
    right:
      content: '{section-or-chapter-title} | *{page-number}*'
  verso:
    left:
      content: '*{page-number}* | {chapter-title}'

I can confirm that I had to use Apha15 to get it working. Issue can be closed I guess.

:+1:


PGVector: add support for setting a custom_id value for a document

In the current implementation of the PGVector store, there is a field called custom_id present on the langchain_pg_embedding  table. This is currently filled with a UUID on every insert as you can see here:
customID := uuid.New().String()
b := &pgx.Batch{}
sql := fmt.Sprintf(`INSERT INTO %s (uuid, document, embedding, cmetadata, custom_id, collection_id)
	VALUES($1, $2, $3, $4, $5, $6)`, s.embeddingTableName)

ids := make([]string, len(docs))
for docIdx, doc := range docs {
	id := uuid.New().String()
	ids[docIdx] = id
	b.Queue(sql, id, doc.PageContent, pgvector.NewVector(vectors[docIdx]), doc.Metadata, customID, s.collectionUUID)
}
return ids, s.conn.SendBatch(ctx, b).Close()

This seems rather pointless as it will just give every record an unique custom ID which is what the uuid field is already doing.
From my point of view, the value of custom_id is something you should be able to specify when you add the document so that you can later on use it for example to detect if a specific embedding already exists or not.
I think that adding an option WithCustomID on the AddDocument Options struct would resolve this.
Adding an index on the custom_id field would also be useful to speed up searching on that field.

I'll close this one as we agreed with removing the custom ID option for PGVector embeddings. When you want to store custom IDs, they should be put in the metadata of the embeddings.


Exploring London by Taxi: Best Services for Visitor

Travelers arriving at the UK’s busiest airports often seek efficient and comfortable transportation to their final destinations. Taxis offer a convenient alternative to public transport, providing door-to-door service that saves time and effort. This article explores taxi routes taxi from heathrow airport to sheffield between Heathrow, Gatwick, Luton, and various cities, including Sheffield, Southampton, and Birmingham. It also highlights the importance of choosing reliable taxi services to ensure a smooth and enjoyable journey.
Taxi from Heathrow Airport to Sheffield
Sheffield, located in South Yorkshire, is approximately 160 miles (257 km) north of Heathrow Airport. For those who prefer the comfort of a private vehicle, a taxi is an ideal option for traveling between Heathrow and Sheffield. The journey typically takes about 3 to 4 hours, depending on traffic conditions and the time of day.
Many taxi services offer fixed fares for long-distance routes, and prices for this journey can range from £180 to £250. Larger groups or travelers with significant luggage may opt for spacious vehicles such as minivans. Pre-booking a taxi ensures that a driver will be ready upon your arrival at Heathrow, reducing stress and allowing you to begin your journey to Sheffield without delay.
Taxi from Sheffield to Heathrow Airport
For passengers traveling in the opposite direction, from Sheffield to Heathrow Airport, taxis Taxi from sheffield to Heathrow Airport provide a convenient option, especially for early morning flights or those who prefer private transportation over public options. The trip takes a similar amount of time—around 3 to 4 hours—and booking in advance is recommended to ensure a timely arrival at the airport.
Many taxi services provide airport transfers, often with options for luggage assistance and flight tracking. With fixed-rate pricing, passengers can avoid the unpredictability of traffic delays or surge pricing, ensuring that they reach Heathrow in a stress-free manner.
Taxi from Gatwick Airport to Southampton
Gatwick Airport, located to the south of London, is approximately 80 miles (129 km) from Southampton, a major cruise port and tourist destination. A taxi journey from Gatwick to Southampton usually takes around 1.5 to 2 hours, depending on traffic conditions.
For travelers heading to Southampton to catch a cruise, a taxi is a convenient and comfortable option, especially when dealing with heavy luggage. Many taxi companies specialize in cruise transfers, offering fixed fares and ensuring timely arrivals at the port. Prices for a taxi from Gatwick to Southampton typically range from £90 to £130, depending on the service and vehicle type. Booking in advance is recommended, particularly during busy travel periods.
Taxi from Southampton to Heathrow Airport
For those returning from a cruise or visiting Southampton, traveling by taxi to Heathrow Airport taxi from gatwick airport to Southampton is a popular choice. The distance between Southampton and Heathrow is approximately 65 miles (105 km), and the journey usually takes 1.5 to 2 hours.
Taxi services for this route are frequently booked by cruise passengers, as they offer direct transfers between the port and the airport, eliminating the need to deal with public transport schedules. Fares for a taxi from Southampton to Heathrow generally range from £90 to £120. Pre-booking ensures that you have a reliable ride waiting for you, which is particularly useful if you’re traveling on a tight schedule.
Taxi from Luton Airport to Birmingham
Luton Airport, located north of London, is around 85 miles (137 km) from Birmingham, one of the UK’s largest cities. The journey by taxi typically takes around 1.5 to 2 hours. Taxis offer a comfortable alternative to the train or bus, especially for those who prefer private transport after a long flight.
Taxi fares for the Luton to Birmingham route range from £120 to £180, depending on the company and the type of vehicle used. Many taxi companies offer fixed rates, which can be pre-arranged to avoid unexpected costs. If you’re traveling with a group or have significant luggage, larger vehicles such as minibuses can be booked in advance.
Reliable Taxi Services
When selecting a taxi service for airport transfers or long-distance journeys, reliability is key. Here are Taxi from Southampton to Heathrow Airport a few important factors to consider when choosing a taxi provider:

Pre-Booking and Fixed Rates: One of the primary advantages of booking a taxi in advance is the guarantee of a fixed rate. This ensures that passengers know the cost of their journey upfront, avoiding any surprises caused by traffic delays or fluctuations in pricing.

Flight Tracking: Many reliable taxi companies offer flight tracking services. This allows drivers to adjust their arrival times based on real-time flight information, ensuring that they are waiting for passengers even if flights are delayed.

Vehicle Options: Depending on the size of the group and the amount of luggage, it’s important to choose the right vehicle. Most reputable taxi services offer a range of options, including standard sedans, executive cars, and minivans for larger parties.

Reputation and Reviews: Before booking, it’s always a good idea to check the reputation of the taxi service. Online reviews and ratings can provide insight into the company’s punctuality, professionalism, and overall quality of service.

Driver Professionalism: Reliable taxi services employ professional drivers who are knowledgeable Taxi from Luton Airport to Birmingham about routes and can provide helpful information to passengers. They also prioritize passenger comfort and safety.

Safety Measures: Especially in the post-pandemic era, ensuring that your taxi service follows health and safety guidelines is essential. Look for companies that provide clean, sanitized vehicles and ensure that drivers follow proper hygiene protocols.

Customer Support: Reliable taxi companies offer excellent customer service, with 24/7 support to assist passengers in case of any issues or last-minute changes to their plans. This level of service is crucial for a seamless travel experience.

Conclusion
Whether you’re traveling from Heathrow to Sheffield, Gatwick to Southampton, or Luton to Birmingham, taxi services provide an efficient and comfortable option for long-distance travel. Pre-booking a taxi ensures that you avoid the hassle of public transport, particularly when Reliable Taxi Services dealing with luggage or tight schedules. By choosing a reliable taxi provider, you can enjoy a stress-free journey, with professional drivers, fixed rates, and a range of vehicle options to suit your needs. Whether you’re heading to catch a flight, a cruise, or simply exploring the UK, a taxi offers the convenience and comfort that travelers seek.