Updated blog theme

Figma File
Progress
0.79

growth team would like all design work to be complete before costing and committing time to the project this quarter

0.80

met with sarah to review changes, pending her cost breakdown

0.81

scheduled design review with marketing stakeholders

Pain points

The blog homepage offers limited insight into the type of content users can expect to find. Users rely solely on whatever the most recent blog posts are (only a couple of which are visible above the fold) to infer what kind of content we publish more broadly.
The only way to filter content by topic is to scroll down and click into a large keyword cloud. The cloud is fairly dense and does not highlight the most popular or high-value topics. Analytics show that not many users are filtering posts by tags, likely because the functionality is not made prominent.
Many users arrive to a blog post from search engines or third-party apps and exit after reading. This leads to an incredibly high bounce rate when there are few mechanisms to help guide users to additional content of interest.
Individual blog posts have sidebars which commonly detract from the reading experience.
Author pages don’t include blurbs, missing opportunity to celebrate authors, provide additional insight to readers, and introduce additional search terms for SEO.
Blog theme is minimal and not particularly engaging.
Our call-to-action is not prominent and doesn’t allow users much opportunity to translate their interest in a blog post into additional interaction with our website.

Design goals

Better purpose the blog homepage to contextualize the content users can expect to find. Blog homepage should be a cumulative learning center.
Subdivide content into visually prominent topic groups to improve browsability and connect similar posts.
Guide users to more content that fits their interest to improve bounce rate.
Highlight popular, high-utility content to capture users attentions on the homepage.
Improve reading experience by adhering to blog design best practices.
Increase visibility of authors.
Create a more visually exciting blog theme that reinforces our brand style and messaging.
Integrate a call to action so interested users can easily identify next steps should they be interested in Pulumi.

design work is complete for now. this project is getting put on hold until Marketing decides they want to move forward with it.

@anita-trimbur @shughes26 I'm wondering if this is something we should meet up in Q2 and decide if this is still an investment we'd like to make?


Update Haskell-Nix bindings, hercules-ci-agent, cachix nix library version

Description
Prerequisite for

https://github.com/NixOS/nixpkgs/pull/354148
hercules-ci-agent release to NixOS 24.11

get it onto a supported Nix version

Things done
Will merge master into haskell-updates when merged.

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] Fits CONTRIBUTING.md.

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

I'd like to merge this asap, as otherwise hci and cachix will be on unsupported versions of Nix for the release.

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

16 packages built:

cachix (cachix.bin ,cachix.doc ,haskellPackages.cachix.bin)
devenv
haskellPackages.cachix
haskellPackages.cachix.doc
haskellPackages.hercules-ci-agent
haskellPackages.hercules-ci-agent.doc
haskellPackages.hercules-ci-cli
haskellPackages.hercules-ci-cli.doc
haskellPackages.hercules-ci-cnix-expr
haskellPackages.hercules-ci-cnix-expr.doc
haskellPackages.hercules-ci-cnix-store
haskellPackages.hercules-ci-cnix-store.doc
hci
hercules-ci-agent
tests.haskell.cabalSdist.hercules-ci-cnix-store
tests.haskell.cabalSdist.hercules-ci-cnix-store.doc


Handle version aliases within an lts directory

In combination with https://github.com/nodenv/nodenv-aliases/pull/25, this PR should allow for the ability to make and view aliases in the form of lts/*. This should increase the compatibility of auto-switching to nvm-style versions (e.g. lts/carbon).

@jasonkarns what are your thoughts on adding nvm-like aliases with this PR (along with https://github.com/nodenv/nodenv-aliases/pull/25)?

@jamesacarr i'm mostly 👍 . I'd like to get some tests added to cover the new feature.

What would your thoughts be on an approach that changed nodenv's handling of the lts/* version name, instead?
That is, instead of allowing/requiring lts codenames to be under an lts subdirectory, they were left as top level (ie NODENV_ROOT/versions/argon). And the nodenv-version-name command would translate lts/argon to just argon ? Have you already investigated that approach or have any idea of the feasibility on that side?

I did a little bit of testing of versions in subdirectories, and things seem to sorta work OOTB.
Given a nodenv installation that uses nodenv-aliases and a smattering of node versions, one could end up with versions like this: (versions culled for brevity)
nodenv versions
  system
  8
  8.9
  8.9.1
  8.15
  8.15.0
  10
  10.8
  10.8.0
  12
  12.0
  12.0.0

$ mkdir -p `nodenv root`/versions/lts
$ cd `nodenv root`/versions/lts
$ ln -s ../10 dubnium
$ nodenv shell lts/dubnium
$ node -v
v10.8.0

With this setup, ones .node-version file will successfully activate an lts/* alias.
The downside, as this PR addresses, is that the lts subdirectory is listed as a node version, rather than listing the individual versions within it.
Some thoughts and question:
How important is it for nodenv versions to have special handling for lts/ under versions/? What benefits does it offer, considering that current behavior "works" for the purpose of version activation and switching? What about the concern for scenarios where lts is intended to be an actual version and not a subdirectory? Are there other special subdirectories we would want to support this treatment in the future? How much of a concern is it, that we would essentially be reserving certain directory names that could not be used as version names?

Playing around with another option: using find to get all directories that contain a bin directory. (Only checks first 2 levels)
find -L $(nodenv root)/versions -maxdepth 3 -name bin |
  sed -e s:^"$(nodenv root)/versions/\(.*\)/bin":\\1:

Pros

doesn't make lts a magic string, so users could group nodes into any directory.
doesn't make lts a reserved name so a user could still use lts as a literal node version name. (this PR makes lts verboten)

Cons

requires invoking a utility (but versions isn't in critical path to invoking utilities so impact is low)
potential cross-platform issues with find (gnu vs bsd for instance)
somewhat brittle in that node installs must now contain a bin/ directory at their top level. (though this is already a practical requirement thanks to nodenv-which)

Related to: https://github.com/rbenv/rbenv/pull/1156 though we've specifically allowed / in version names when backporting that fix from rbenv

Any chance to see this merged?

I'm still 👍 to merge but tests are a pre-req.
ideally, i'd still prefer to refactor to something as mentioned here: https://github.com/nodenv/nodenv/pull/118#issuecomment-550406733 such that lts/ isn't a magic, hardcoded exception. But I'd merge as-is if tests are added.

@jamesacarr I added tests for this functionality in https://github.com/lumaxis/nodenv/commit/15e9eac5b442aa5fb4ccce111ed55c785fe8234c
Feel free to cherry-pick my commit into your branch so @jasonkarns can merge this 🙂
I've also started playing with the refactoring you suggested, @jasonkarns, but I'd like to move that to a separate PR preferrably.

@lumaxis you can also open a PR with jamesacarr:master has the base branch so the tests could be merged in directly via github. (Depending on how this PR was opened, I may be able to pull them in here myself.)

@jasonkarns Opened a separate PR against this repo instead since I'm not sure how active @jamesacarr is here


added url path normalization code to deal with cases of /../ in the url

see https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-a-web-service.html?ref_=pe_3490300_259883220#checking-the-signature-of-the-request - the url https://s3.amazonaws.com/echo.api/../echo.api/echo-api-cert.pem should pass, but was not without this path normalization code.
also added some "todo" comments to track the last items that we need to do for this.

@simalexan please take a look. thanks!

@gavinr this is great, we can proceed further now. And as you've seen the process is kinda "demoralizing" if you're using an external HTTP service instead of an AWS Lambda function.

@gavinr We should also add tests along the way, as this seems to be failing the tests.


"Minimize window" shortcut doesn't work on MacOS Monterey

For every app on MacOS, the shortcut to minimize the window is "cmd+m". This is not working with vscode.
I guess vscode is intercepting the event but doesn't do anything with it. I would like that it minimizes the vscode window, like every other app.

It was an extension, sorry 😅

For any future people who happen across this issue: I had the same problem; I've always depended upon Cmd+M to minimize my window, and suddenly today it stopped working (though I hadn't used VSCode for a few weeks). I still haven't figured out what caused it, but I was able to "fix" my problem by disabling all of my extensions and then re-enabling them.


Tighter defined hashtable and less unsafe functions

Some casting between usize and *const HashTable could be avoided by representing it as an AtomicPtr<HashTable> instead of AtomicUsize. Makes the types fit tighter to what they represent.
Also marked get_hashtable as safe, since I could not find any way it could have UB.

The historical reason for this is that const fn constructors were unstable, so it was not possible to have a static AtomicPtr. You had to emulate it with AtomicUsize and `ATOMIC_USIZE_INIT.
Since we require 1.24 now, it should be fine to just use AtomicPtr.


added workflow as per issue #16

Fixes #16
@BamaCharanChhandogi please review and merge this PR
Also, please add labels and assign me this PR
Thank You!

@BamaCharanChhandogi done with the changes

@BamaCharanChhandogi done with the changes

Update on all workflow files.


Define guidelines for resource fields

There are some kinds of resources that are very common to use, e.g. mem, <wall>time, cores, etc.
It would be nice if the documentation provided a list of which resource types should be implemented by profiles and which common names to use to refer to those resources.
This would make the whole collection more portable.

Yes, indeed. I actually wanted to wait until I have done #3.


Unable to merge multiple schemas generated by compileSchema using mergeSchemas function from graphql-tools

I was trying to merge 2 different GraphQLSchema created by compiling 2 different typegql schemas using the standard mergeSchemas function from the graphql-tools. After that, when I try to start the server and hit the /graphql endpoint, I get an error saying:
{"errors":[{"message":"GraphQL middleware options must contain a schema."}]}
Is this something that should work as I expect it would? I just took the schema in the "basic-express-server" example and the schema in the "nested-mutation-or-query" example and tried to merge them like so:
import { schema, schemaAdv } from './schemas';

const compiledSchema = mergeSchemas({schemas: [schema, schemaAdv]});

const app = express();

app.use(
  '/graphql',
  graphqlHTTP({
    compiledSchema,
    graphiql: true,
  }),
);
app.listen(3000, () => {
  console.log('Api ready on port 3000');
});

Even though the server starts up just fine, trying to navigate to the /graphql endpoint throws the above error.
If this is not the supported way to merge schemas, is there any other way? Any pointers?
Thanks,
Shani.

I'll play with it now and let you know what I'll find out in few hours or earlier.

I've created example of merging schemas with graphql-tools here and it works perfectly fine.
Issue might be that both basic-express-server and nested-mutation-or-query have hello field at root level and it might cause a conflict.
Could you send me more details about your case, or could you try to "break" example I've created and let me know how you did it so I can reproduce your issue?

This is really weird. I think I'm missing something maybe. So I took your nested-mutation-or-query example and ran it, works perfectly. Then I just renamed a few things and suddenly I start seeing this error even on the nested-mutation-or-query example!!
This is the change I did on the base example:
@Schema()
class MyAdvSchema {
  @Mutation()
  book(bookId: number): BookMutation {
    return new BookMutation(bookId);
  }

  @Query()
  hello(): string {
    return 'World!';
  }
}

export const schema = compileSchema(MyAdvSchema);

Note the change of the Schema class name from MySchema to MyAdvSchema.
I even tried to just rename the const export to schemaAdv and leave the schema class name untouched, same error. Nothing else is changed in the example code. I can't seem to put my finger on what could be causing this behavior. Do you have any thoughts on that?
Thanks.


feat(platform-cache): add cache.ignoreHeaders option to exclude header when caching the response

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

v7.63.0
GitHub release

Your semantic-release bot :package::rocket:


Memory Leak

Reproduction steps:

Make the below Activity

class MainActivity : AppCompatActivity() {

  @SuppressLint("CheckResult")
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val cache = Cache(File(cacheDir, "okhttp-cache"), 10 * 1024 * 1024)
    val client = getUnsafeOkHttpClientBuilder()
        .cache(cache)
        .addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
        .build()
    Completable.fromCallable {
      var i = 0
      while (i < 50) {
        Log.d("MainActivity", "requesting video")
        val request = Request.Builder().url("https://d1e3r4xclxgbvg.cloudfront.net/united-states-paria-canyon-0.webm")
            .build()
        val file = File("${applicationContext.filesDir}/$i.webm")
        client.newCall(request).execute().use { resp ->

        }
        Log.d("MainActivity", "loop iteration")
        i++
      }
    }.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribeBy(onError = {

    })
  }

  private fun getUnsafeOkHttpClientBuilder(): OkHttpClient.Builder {
    // Create a trust manager that does not validate certificate chains
    val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {
      override fun checkClientTrusted(chain: Array<out X509Certificate>?, authType: String?) {
      }

      override fun checkServerTrusted(chain: Array<out X509Certificate>?, authType: String?) {
      }

      override fun getAcceptedIssuers() = arrayOf<X509Certificate>()
    })

    // Install the all-trusting trust manager
    val sslContext = SSLContext.getInstance("SSL")
    sslContext.init(null, trustAllCerts, java.security.SecureRandom())
    // Create an ssl socket factory with our all-trusting manager
    val sslSocketFactory = sslContext.socketFactory

    return OkHttpClient.Builder()
        .sslSocketFactory(sslSocketFactory, trustAllCerts[0] as X509TrustManager)
        .hostnameVerifier(HostnameVerifier { _, _ -> true })
  }
}

Launch the activity

Observed: We see the below log repeated for each loop iteration
D/MainActivity: loop iteration
D/MainActivity: requesting video
W/System: A resource failed to call close.

Expected: We should not see the log "A resource failed to call close".
As a user I can fix this by using an OkHttpClient without the custom ssl configuration.

It's not clear why the custom SSL would cause it to leak.  It looks more likely that the custom insecure SSL config is allowing the request to succeed, and you are just not seeing the errors because of your deliberately empty error handler.
For a reproducible bug report, you could either make a junit test outside of Android, or looks at tests in the android-test directory for OkHttp.
Please raise this sort of request on stackoverflow.

@yschimke No error is getting propagated from OkHttp. You can clone and run the test from this repository. Is it possible to write a junit test that checks logcat logs?
https://github.com/brendanw/memleak/blob/master/app/src/main/java/com/basebeta/okhttpleak/MainActivity.kt

You must close the response returned by
client.newCall(request).execute()

Sorry! I removed the use { } call while looking through this morning. I added it back in, ran the test again, and still see A resource failed to call close only with the insecure ssl configuration. Pushed the update to https://github.com/brendanw/memleak


Does this script creates a wheel file?

I have successfully installed opencv on my jetson nano. But I would like to make a wheel file, and install it on docker, in order not to rebuild it every time. Tell me please is it possible?

@kukirokuk
I'd recommend using opencv-python for that.
https://github.com/opencv/opencv-python
This script is not designed to create a wheel.


wrong tokio::runtime::Runtime::enter implementation

Related #175
Reproduce
[package]
name = "test-tokio-madsim"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
tokio = { version = "0.2", package = "madsim-tokio", features = ["rt", "macros", "rt-multi-thread"] }

fn main() {
    let rt = tokio::runtime::Runtime::new().unwrap();
    let _guard = rt.enter();
    tokio::spawn(async {
        println!("Hello, world!");
    });
}

thread 'main' panicked at /Users/tianyizhuang/.cargo/registry/src/index.crates.io-6f17d22bba15001f/madsim-0.2.23/src/sim/runtime/context.rs:27:44:
there is no reactor running, must be called from the context of a Madsim runtime
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/core/src/panicking.rs:72:14
   2: core::panicking::panic_display
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/core/src/panicking.rs:178:5
   3: core::panicking::panic_str
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/core/src/panicking.rs:152:5
   4: core::option::expect_failed
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/core/src/option.rs:1979:5
   5: core::option::Option<T>::expect
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/core/src/option.rs:888:21
   6: madsim::sim::runtime::context::current_task::{{closure}}
             at /Users/tianyizhuang/.cargo/registry/src/index.crates.io-6f17d22bba15001f/madsim-0.2.23/src/sim/runtime/context.rs:27:22
   7: std::thread::local::LocalKey<T>::try_with
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/std/src/thread/local.rs:270:16
   8: std::thread::local::LocalKey<T>::with
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/std/src/thread/local.rs:246:9
   9: madsim::sim::runtime::context::current_task
             at /Users/tianyizhuang/.cargo/registry/src/index.crates.io-6f17d22bba15001f/madsim-0.2.23/src/sim/runtime/context.rs:27:5
  10: madsim::sim::task::Spawner::current
             at /Users/tianyizhuang/.cargo/registry/src/index.crates.io-6f17d22bba15001f/madsim-0.2.23/src/sim/task/mod.rs:577:20
  11: madsim::sim::task::spawn
             at /Users/tianyizhuang/.cargo/registry/src/index.crates.io-6f17d22bba15001f/madsim-0.2.23/src/sim/task/mod.rs:655:5
  12: test_tokio_madsim::main
             at ./src/main.rs:4:5
  13: core::ops::function::FnOnce::call_once
             at /rustc/4578435e1695863d921c7763d5a0add98f8e3869/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Where do you set it?
static TASK: RefCell<Option<Arc<TaskInfo>>> = RefCell::new(None);

Interesting, I found that if we really want to implement that, we have to store a runtime in the thread_local.

Right. We need to let it be aware that multiple logical runtimes may coexist at the same time.

Right. We need to let it be aware that multiple logical runtimes may coexist at the same time.

Seems a large refactor. Is there any workaround?


Auto-hide bar

Allowing the bar to appear only when the cursor is near the edge of the screen would be great.

Duplicate of #167

I'm aiming to get this in for the next update


checkups, vm-latency: Drop unused preflight step

The preflight step, in which some validation was planned to be executed, is not being used.
One of the main reasons has to do with the realization that the validations would have required elevated permissions in the cluster/NS. Moreover, such checks may just be raceful due to the K8s operation mode (e.g. the existence of an entity may say nothing about its actual state 1msec later).
Therefore, this step is removed from the checkup.

change: Removed the preflight leftovers as stated in the review comment.

change: Removed the preflight leftovers as stated in the review comment.

I also did a rebase by mistake, sorry.


Add tests to cover any types in ConstrainedSugarType support.

Since SomeTypeSyntax became ConstrainedSugarTypeSyntax to support
the any keyword as well as some, add test coverage of both cases.
Follow-up to https://github.com/apple/swift-format/pull/289.

Tested locally:
Test Suite 'ConstrainedSugarTypeTests' started at 2022-03-22 11:37:09.543
Test Case '-[SwiftFormatPrettyPrintTests.ConstrainedSugarTypeTests testAnyTypes]' started.
Test Case '-[SwiftFormatPrettyPrintTests.ConstrainedSugarTypeTests testAnyTypes]' passed (0.012 seconds).
Test Case '-[SwiftFormatPrettyPrintTests.ConstrainedSugarTypeTests testSomeTypes]' started.
Test Case '-[SwiftFormatPrettyPrintTests.ConstrainedSugarTypeTests testSomeTypes]' passed (0.012 seconds).
Test Suite 'ConstrainedSugarTypeTests' passed at 2022-03-22 11:37:09.568.
	 Executed 2 tests, with 0 failures (0 unexpected) in 0.024 (0.025) seconds

...

Test Suite 'All tests' passed at 2022-03-22 11:37:18.499.
	 Executed 583 tests, with 0 failures (0 unexpected) in 11.323 (11.354) seconds


Improvements for Cellpose segmentation

Made the following changes:

Cellpose weights are now correctly used, previously Cyto3 was always applied instead
Added an optional parameter clahe_kernel_size for skimage.exposure.equalize_adapthist which can be relevant for very big cells or patches. The default still is 1/8 of patch width and height
Blur and CLAHE can be disabled by setting the parameter to 0
If segmentation is run on multiple channels (e.g Nucleus marker + cell boundary marker) blur and CLAHE are now run on every channel separately which prevents spillover of intensities

All the tests passed, I'm merging, thanks again @pakiessling 🎉


Optional container build instructions

Description
The summary of the proposed changes as long as the relevant motivation and context.
Issues
List the issue or RFC link this PR is working on. If there is no such link, please mark it as n/a.
Type of change
List the type of change like below. Please delete options that are not relevant.

[ ] 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 break existing design and interface)
[x] Others (enhancement, documentation, validation, etc.)

Dependencies
List the newly introduced 3rd party dependency if exists.
Tests
Describe the tests that you ran to verify your changes.

Let's merge the PR

There some conflict with main branch due to the user change PR, so I have merge this into the r0.8.1 first, and will submit another PR to main branch.

Sorry because of the conflict with main branch, I just merge it into r0.8.1 first, but just found this PR covered some main branch code that not target v0.8.1 release. So will revert the merge and add necessary part with a new PR.


Upload from node

import { PinataSDK } from 'pinata';
import { Blob } from "buffer";
...
const pinata = new PinataSDK({
  pinataJwt: process.env.IPFS_PINATA_JWT!,
});

const outputDir = path.join(process.cwd(), 'tmp');
const imgPath = path.join(outputDir, `new-image.png`);

const fileBuffer = fs.readFileSync(imgPath);
const blob = new Blob([fileBuffer], { type: "image/png" });

const file = new File([blob], path.basename(imgPath), { type: "image/png" });

// Upload the buffer directly to Pinata
const uploadResult = await pinata.upload.file(file, {
  metadata: {
    name: 'Test',
  },
});
const newPhoto = `${process.env.GATEWAY_URL}${uploadResult.IpfsHash}`;

The problem is with new File([blob], as it complains Type 'Blob' is not assignable to type 'BlobPart'

Hey there! I believe this might have something to do with using Blob from buffer vs the web file api, although most versions of node support this natively. What version of node are you currently running?

v18.18.0

When i try Pinata example from docs in my nextjs api route:
const { PinataSDK } = require("pinata")
const fs = require("fs")
const { Blob } = require("buffer")

const pinata = new PinataSDK({
  pinataJwt: process.env.PINATA_JWT!,
  pinataGateway: "example-gateway.mypinata.cloud"
})

const blob = new Blob([fs.readFileSync("./hello-world.txt")]);
const file = new File([blob], "hello-world.txt", { type: "text/plain"})
const upload = await pinata.upload.file(file);

I'm getting Type 'Blob' is not assignable to type 'BlobPart'. because the issue here is that Node.js' buffer.Blob is not directly compatible with the Web API's Blob, even though they share a similar API surface.

Gotcha! Couple of things, could you try removing const { Blob } = require("buffer") from the code and see what that does?
Also just to clarify, are you trying to upload a local file from the next directory or a file that a user selects from their computer? If the latter we have this guide: https://docs.pinata.cloud/web3/frameworks/next-js
Final note, I noticed you might be trying to use IPFS in which case you will want to use the pinata-web3

Do you by chance have a repo you could share so I can try to reproduce this?

Thanks!! Will get back to you on this

For now, as a workaround I'm using the old SDK:
    // THIS WORKS:
    import pinataSDK from '@pinata/sdk';
    import path from 'path';
    import fs from 'fs';
    ...
    const pinata = new pinataSDK({
      pinataJWTKey: process.env.IPFS_PINATA_JWT!,
    });
    const outputDir = path.join(process.cwd(), 'tmp');
    const imgPath = path.join(outputDir, `new-image.png`);
    const readableStream = fs.createReadStream(imgPath);
    const uploadResult = await pinata.pinFileToIPFS(readableStream, {
      pinataMetadata: { name: path.basename(imgPath) },
    });
    const newPhoto = `${process.env.GATEWAY_URL!}${uploadResult.IpfsHash}`;

Oh nice!! I wonder if it's from using a read stream instead of a file object. Could you perhaps expand on the use case of uploading repo file inside Next? Just want to understand better and see if there's a solution we could look into.

Actually I just got it to work as well with the current SDK. I suspected the real issue was with how Next handles local repo files as files you can read. Once I put the file in a tmp folder it worked like a charm
import { PinataSDK } from "pinata-web3";
// import { PinataSDK } from 'pinata';

import { NextApiRequest, NextApiResponse } from "next";
import path from "path";
import fs from "fs";

const handler = async (
	req: NextApiRequest,
	res: NextApiResponse<boolean | any>,
) => {
	try {
		const outputDir = path.join(process.cwd(), "tmp");
		const filePath = path.join(outputDir, `slapcity.png`);
		const pinata = new PinataSDK({
			pinataJwt: process.env.IPFS_PINATA_JWT!,
		});

		const fileBuffer = fs.readFileSync(filePath);
		const blob = new Blob([fileBuffer], { type: "image/png" });
		const file = new File([blob], path.basename(filePath), {
			type: "image/png",
			lastModified: new Date().getTime(),
		});

		// Upload the buffer directly to Pinata
		const uploadResult = await pinata.upload.file(file, {
			metadata: {
				name: "SlapCityNft",
			},
		});
		console.log("Uploaded to Pinata:", uploadResult);
		const newPhoto = `${process.env.NEXT_PUBLIC_GATEWAY_URL}${uploadResult.IpfsHash}`;

		return res.json({
			filePath,
			uploadResult,
			newPhoto,
		});
	} catch (e) {
		console.log(e);
		return res.status(500).json("Error uploading to Pinata");
	}
};

export default handler;

Actually I just got it to work as well with the current SDK. I suspected the real issue was with how Next handles local repo files as files you can read. Once I put the file in a tmp folder it worked like a charm

Are you sure? I just tried it and it did not work... Still getting ReferenceError: File is not defined...
What's your node version?

Hey @schellenbergk I just cloned your repo and everything worked as expected. I'm on node v20.11.1

I tried on node v18 and it fails with the same error. This is because the File class and the Blob class were introduced in node v20. But you can still upload using the SDK. This works using your existing repo code with a couple of modifications.
import {PinataSDK} from 'pinata-web3';
// import { PinataSDK } from 'pinata';

import {NextApiRequest, NextApiResponse} from 'next';
import path from 'path';
import fs from 'fs';
import { Blob } from "buffer"

const handler = async (
  req: NextApiRequest,
  res: NextApiResponse<boolean | any>
) => {
  try {
    const filePath = path.join(process.cwd(), 'assets', 'slapcity.png');

    const pinata = new PinataSDK({
      pinataJwt: process.env.IPFS_PINATA_JWT!,
    });

    const fileBuffer = fs.readFileSync(filePath);

    // Convert Buffer to Blob
    const blob: any = new Blob([fileBuffer], { type: 'image/png' });

    // Make sure to handle Pinata SDK correctly; assuming the SDK can accept form data directly
    const uploadResult = await pinata.upload.file(blob);
    console.log('Uploaded to Pinata:', uploadResult);
    const newPhoto = `${process.env.NEXT_PUBLIC_GATEWAY_URL}${uploadResult.IpfsHash}`;

    return res.json({
      filePath,
      uploadResult,
      newPhoto,
    });
  } catch (e) {
    console.log(e);
    return res.status(500).json('Error uploading to Pinata');
  }
};

export default handler;

Perfect, thanks for all your time. Pura Vida!


Prevent Chrome Debugger Tab from Getting Focus in JS Refresh

If I am using the chrome debugger, when I refresh the JS code, the debugger tab ("React Native JS code runs inside this Chrome tab.") gets focused which is annoying / unnecessary since there is no meaningful content on this page.
posted here: https://productpains.com/post/react-native/prevent-chrome-debugger-tab-from-getting-focus-on-js-refresh/

It seems more to be more of Chrome's behaviour than RN.

This issue no longer seems to happen in RN 0.15.

@cancan101 Are you sure? I'm on 0.15 and it happens for me.

What version of Chrome?
On Wed, Dec 2, 2015 at 11:29 PM Satyajit Sahoo<EMAIL_ADDRESS>wrote:

@cancan101 https://github.com/cancan101 Are you sure? I'm on 0.15 and
it happens for me.
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/react-native/issues/4349#issuecomment-161511418
.

Version 45.0.2454.101 (64-bit)

I am now on: 46.0.2490.86
On Wed, Dec 2, 2015 at 11:35 PM Satyajit Sahoo<EMAIL_ADDRESS>wrote:

Version 45.0.2454.101 (64-bit)
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/react-native/issues/4349#issuecomment-161511897
.

Upgraded Chrome to Version 47.0.2526.73 (64-bit) and this no longer happens. Closing the issue.


fix Docker Build

there are a few problems: the installer looked for the wrong directory of class code
iris script bypassed the fix.    - now skipped avoiding recompile
Utility.cls does wrong check of SQLCODE.  SQLCODE=0 is success,
but I also experienced -201 (already exists) .  So out-commented this check.
Short success test
union all select count(*)
FROM dc_data_health.AllPrevalences
union all select count(*)
FROM dc_data_health.Careplans
union all select count(*)
FROM dc_data_health.Patients
------------------------------------------------
Aggregate_1
572
244
12125
1462
4 row(s) affected

With this PullRequest merged this would be a 5*  review in OEX
Happy New Year,
Robert

there seems to be no interest in ficing the problems:
Error in Docker build:
2022-01-03 18:18:15 3 Evaluate: ${SOURCESPATH}/cls -> /opt/irisapp/src//cls
2022-01-03 18:18:15 1 Import: Loading /opt/irisapp/src//cls (isdir=0) into DATASETS, recurse=1

Load started on 01/03/2022 18:18:15

ERROR #5012: File '/opt/irisapp/src//cls' does not exist
Detected 1 errors during load.
2022-01-03 18:18:15 0 App.Installer: ERROR #5012: File '/opt/irisapp/src//cls' does not exist
2022-01-03 18:18:15 0 App.Installer: Installation failed at 2022-01-03 18:18:15

No data classes generated:
do ##class(dc.data.medical.Utility).CreateTable() never runs and doesn't load data
wrong check on SQLCODE


Project dead?

Been no activity for some time, and no new cut of the latest version to pypi. Can we assume that this depo is dead?

I would like to know as well. There are features in master I'd like to get released.

Today I switched to this project as it has more recent commits
https://github.com/zamzterz/Flask-pyoidc/

If you want this resolved i'm maintaining a fork of this with some added extensibility. Feel free to open a PR/issue here:

https://github.com/svintit/flask-oidc-ext/pulls


Project references: Option to bundle dependencies with multi-file output

Search Terms
"project references" bundle copy dependencies

Suggestion

When using project references, add an option to bundle a project's dependencies when using outDir.  This would be the analogue of prepend, which only works with outFile.  This would be useful when targeting a module format that doesn't work with outFile, such as commonjs.
Use Cases

Two Stack Overflow questions today:
https://stackoverflow.com/questions/51938528
https://stackoverflow.com/questions/51939395
For the specific case of CommonJS output, I had the idea to generate single-file AMD output and then use amdefine to wrap the result as a CommonJS module.  This sort of works but is extremely ugly.
Edit: I realized that both the prepend option and the suggested option are of limited use for composite projects with external dependencies, because a separate tool is needed to aggregate the external dependencies, and that tool may be able to aggregate the components too.  Concretely, if the components have external dependencies in node_modules, then the inter-component dependencies can be added to package.json using relative paths and npm install will make symlinks under node_modules, so if the packaging tool is capable of following those symlinks, it will pack everything up.  (A similar technique to make symlinks is possible using yarn workspaces instead of dependencies with relative paths, and has in fact been used to solve https://stackoverflow.com/questions/51939395 .)  However, symlink support is still uneven on Windows, as pointed out here.
I'm still interested in the rationale for offering prepend and not the analogous thing for multi-file output.  Was it just that prepend was designed to suit the needs of the TypeScript compiler?
Examples

Straw-man proposal:
{
  "references": [
      { "path": "foo", "copyOutDirTo": "some/path" },
  ]
}

Copies the outDir of the referenced project to some/path.  By specifying copyOutDirTo and the project's own outDir in the correct relationship, one can produce a single output tree in which modules will be able to find each other.
Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript / JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. new expression-level syntax)

Possibly related
#17611

This could use some more specification. What does "bundle" mean in this context? Copy over? Roll into a single file? Something else? Should .d.ts files come along for the ride?

I'm still interested in the rationale for offering prepend and not the analogous thing for multi-file output.

Ship the minimum viable product, add more cruft later as feedback appears 😉

Was it just that prepend was designed to suit the needs of the TypeScript compiler?

prepend is general-purpose for any outFile-based compilation

Creating individual ts bundles for microservices in a monorepo has become a little bit of a nightmare due to recent improvements in dependency management, ironically. It had been as simple as copying node_modules into dist, zipping, and deploying to aws lambda.
Yarn workspaces, project references, and lerna all bring useful tooling but move dependencies into hard-to-reach places via hoisting or other magic. I expect a lot of people to be confused about how to build -> bundle w/ dependencies. Project references and workspaces are alluring but come with some possibly surprising hazards

Any updates on whether outDir based projects can be prepended?

Any update on this?

+1 Would love to see this.

i would also appreciate this getting a bit more of attention, especially in monorepo scenarios. here's my setup:

packageShared
packageA depends on packageShared
packageB depends on packageBTypes
packageBTypes depends on packageShared
now i want to publish packageBTypes to an internal npm repo, but not packageShared. it has only types but also re-exports some types of packageShared. however, i don't want to publish packageShared, which in the end causes issues because of the dependency. so when i install packageBTypes in some third party project, i get an error because packageShared cannot be resolved (of course, i didn't publish it). it would be great if i could move packageShared to devDependencies and use prepend: true to prepend its output dir to packageBTypes, so no third party has issues installing it.

imho it would be best if prepend: true would do the same thing in both scenarios. it can obviously detect if the project reference has an outFile or not, so it should be possible to also work with outDir, no?
*

prepend itself is being deprecated (#51909) so I think it's safe to say nothing else is happening in this space.


SGP feature in EGO

This PR aims to implement SGP in EGO. Each time, we add the new point to the training data and keep the same induced data to train the model. It also allows for creating the set of induced points using the k-means method.

Issue with EI computation and minimization


Multiline placeholder

Hi!
If placeholder string is too long, it's simply continues out of screen bounds or truncates on tail.
It would be a cool feature if placeholder could be multiline in Text View.

@mortimortimer69
You can send me PR. It will be helpful.


Customization of roi handles

Hello,
In connection to PlotWindow, I want to create a set of data correction tools for 1D curves. I imagine four tools in it:

delete data points within a given range,
vertically scale data points within a given range,
step correction,
replace data points in a region by a spline.

To display these tools in PlotWindow, I need something similar to silx’s rois. In all four cases this would be a horizontal range roi with two draggable vertical lines, and additionally one handle for (2) to drag it vertically and n handles for (4) representing the spline nodes that would be draggable in all directions or only vertically.
Please advise very sketchy on how to modify HorizontalRangeROI to add custom draggable handles and emit custom Qt signals.
Thank you in advance!

Hi Konstantin,
I think it's already the case.
You have signal send whenever a ROI region change.
You also have signals to catch user interaction.
    sigRegionChanged = qt.Signal()
    """Signal emitted everytime the shape or position of the ROI changes"""

    sigEditingStarted = qt.Signal()
    """Signal emitted when the user start editing the roi"""

    sigEditingFinished = qt.Signal()
    """Signal emitted when the region edition is finished. During edition
    sigEditionChanged will be emitted several times and
    sigRegionEditionFinished only at end"""

Everything is inherited from silx/gui/plot/items/_roi_base.py

Hi Valentin,
Yes, no doubt that what is implemented does work as it should and it sends signals. :)
My question was how to add custom handles to a roi -- those draggable marks in the plot that interact with the mouse.

On 2024-03-26 11:59, Konstantin Klementiev wrote:

Hi Valentin,
Yes, no doubt that what is implemented does work as it should and it
sends signals. :)
My question was how to add custom handles to a roi -- those draggable
marks in the plot that interact with the mouse.
--
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you commented.Message ID:
@.***>

Oh, in this case there is not much to help.
Your better choice is to copy-paste the most convenient ROI and to tune
it.
There is some basic roles handled by HandleBasedROI.
And the most complex ROI is the ArcROI. This implementation could help
you to have an idea of what kind of stuffs you can do.
Links:
[1] https://github.com/silx-kit/silx/issues/4083#issuecomment-2020121878
[2]
https://github.com/notifications/unsubscribe-auth/ABZ2NOPH6NSH7R4KNSGBWFLY2FBH7AVCNFSM6AAAAABEYWFIC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRQGEZDCOBXHA


Wrong completion after <#= ... #

should be  #>
(apparently newlines in text between <#= and #> is erased before compilation so any preprocessor directive will be illegal)

T4 Toolbox editor extension does not provide C# completion lists today. Do you have any other extensions that may be doing this? What is the extension of this template?

Sorry my mistake this was supposed to go to ForFea


Progress events w/message data and partial results

Just added onto blackrabbit99's "progress events" fork. This code allows you to get index and data information from a map or reduce call without having to wait for every process to finish like if you used then.

Any progress on merging this? Would be great not to have manual edit the file every time I install the module.

Hi @mrunderhill89
Thanks for a great effort.
We are some new people who just got involved to blow some life into the development.
I will keep this open and work towards merging your commits

@mrunderhill89 please rebase your commits and we can merge this :)

Sounds good, though I've never rebased a project before. Any idea on how to do that?

Merging is fine. But the conflicts have to be fixed.

is there any update on that?


Review

Changes / Updates:

When I touched and saved the files, VS Code auto-formatted them, removing extra space characters at the end of each line, and adding an extra newline character at end of each document. This is a VS Code editor setting.
I bolded some impactful phrases related to "virtuous cycle"
Updates the copyright symbol in the footer

Comments
General:

Each of the three pages has a lot of great content, however the pages may start to feel long as the reader makes their way through. We might consider breaking up the pages into smaller sub-pages, and leveraging the built-in "Next" links at the bottom of the page, to guide the reader through their journey.

README:

In the README, it would be nice to add the build commands back in, so collaborators can remember how to build the pages and preview locally.

Lesson 1:

When discussing the downside of not choosing a license, we might consider mentioning the concept of "Implied License":

You're under no obligation to choose a license. However, without a license, the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work. - GitHub Licensing Guide

The OSS examples list section seems like a good candidate to move to its own sub-page.

The activity section seems like a good candidate to move to its own sub-page.

The section about "Composing works under different licenses" seems like it may pertain more to licensing your own work (lesson 2), than using licensed work (lesson 1). We might consider moving that section to lesson 2.

Lesson 2:

I like the mention of why it might be good for that person's career / becoming a thought leader in "Maximizing your impact and future opportunities" section
Danger Box says "You should not modify the text of a standard license in any way." however I commonly see an updating of the name for example at the top of the MIT license generated by GitHub. We might want to give that caveat.
The "practical guidelines and tips" section seems like a good candidate to move to its own sub-page.

Lesson 3:

The OSS list from Lesson 1 may belong well following the "Managing contributions and licensing in collaborative projects" section, as these seem to be examples of collaborative projects.

@s2t2 — would you mind copying over the "Review" portions of your post to an Issue, to discuss them there?

consider breaking up the pages into smaller sub-pages, and leveraging the built-in "Next" links

I thought about this a lot, and studied the JB feature for sections but in the end I decided that scrolling to browse through the content is a better experience than having to use mouse clicks to navigate the content. I found myself scrolling a lot as I was reviewing, and it would have been annoying to have to scroll (to find the Next button) AND click.
What I did do was put the Examples list in a dropdown, to be revealed when the user wants to view that content. (I added a dropdown on Lesson 2 for the new examples of agency policies.)


[AIRFLOW-3132] Enable specifying auto_remove option for DockerOperator

Enable specifying auto_remove option for DockerOperator.

Codecov Report

Merging #3977 into master will increase coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #3977      +/-   ##
==========================================
+ Coverage   75.05%   75.07%   +0.02%
==========================================
  Files         199      199
  Lines       15965    15966       +1
==========================================
+ Hits        11983    11987       +4
+ Misses       3982     3979       -3

Impacted Files
Coverage Δ

airflow/operators/docker_operator.py
0% <0%> (ø)
:arrow_up:

airflow/jobs.py
82.48% <0%> (+0.35%)
:arrow_up:

Continue to review full report at Codecov.

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

Jira
https://issues.apache.org/jira/browse/AIRFLOW-3132
@ashb

@Fokko Please review it. Thanks.

@Fokko Looks like this didn't make it into 1.10.1. Is there anything I can help do to get it into the next release?

@seancron I've cherry-picked it on the branch for the next 1.10.2 release. Cheers


spec: valid assignment does not compile but according to https://golang.org/ref/spec#Assignability, it should

What version of Go are you using (go version)?
go version go1.13.5 linux/amd64
Does this issue reproduce with the latest release?
ys
What operating system and processor architecture are you using (go env)?
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/edward/.cache/go-build"
GOENV="/home/edward/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/edward/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build917785383=/tmp/go-build -gno-record-gcc-switches"

What did you do?
package main

func main() {
   type B float32
   var b B = float32(0)
}

doesnt compile

What did you expect to see?
it compiles
What did you see instead?
./main.go:7:6: cannot use float32(0) (type float32) as type B in assignment

Which rule? I know one of the rules is like:
package main

func main() {
   type B float32
   var b B = B(float32(0))
   _ = b
}

rule #2: x's type V and T have identical underlying types and at least one of V or T is not a defined type.

at least one of V or T is not a defined type

https://golang.org/ref/spec#Numeric_types

To avoid portability issues all numeric types are defined types

https://golang.org/ref/spec#Type_definitions

A type definition creates a new, distinct type with the same underlying type and operations as the given type, and binds an identifier to it.
TypeDef = identifier Type .
The new type is called a defined type.

Both float64 and B are defined types.

But defined types are defined as non-internal new type  in the documentation?

Where does it say that?

@AlexRouSg A small correction:

https://golang.org/ref/spec#Type_definitions

Each type T has an underlying type: If T is one of the predeclared boolean, numeric, or string types, or a type literal, the corresponding underlying type is T itself.

The underlying type of B is B and not float32

This is incorrect - the underlying type of B is in fact float32 (per another part of the spec, which you quoted earlier). That spec clause applies only to the predeclared types, of which B is not one.

It will work if you use an alias type:
package main

func main() {
	type B = float32
	var b B = float32(0)
	_ = b
}

https://play.golang.org/p/nI6-mjihFf2
The original does not work because both B and float32are defined types. In my example, Bis not a defined type but a type alias, which does work. This might be more of a documentation or question issue. See here for better places to ask questions about Go: https://github.com/golang/go/wiki/Questions

You can't assign directly from one defined type to another without a conversion.  In the original example, both B and float32 are defined types.  This is working as expected and intended.

if so, what types are undefined?

Aliases, such as rune are not defined types. Constants can be of undefined type as well  A type which you define using type, as well as all built in types are defined types.
https://play.golang.org/p/Cd-BejkvvmY

A defined type is a type with a name that is not an alias.  See "Type definitions" at https://golang.org/ref/spec#Type_declarations.  A type that does not have a name is not a defined type (I wouldn't call it an undefined type, though).  An example of a type without a name is []byte.

Interesting. An anonymous struct value is also not of a defined type.

package main

import (
	"fmt"
)

type Buffer []byte
type S struct {
	I int
	S string
}

func main() {
	unnamed := []byte {'a', 'b', 'c'}
	var named Buffer = unnamed
	fmt.Printf("named: %v\n", named)
	unnamed2 := struct {
			I int
			S string
		} { I: 7, S : "hi"}
	var named2 S = unnamed2
	fmt.Printf("named2: %v\n", named2)
	unnamed = named
	unnamed2 = named2
}

https://play.golang.org/p/nRlbuq1Dwrs
I hope all these examples make it more clear.


fix: building modsurfer as wasm

This only fixes building as wasm32-unknown-unknown, major updates need to be done if we need to build this as wasm32-wasi. For consistently reasons, target_os = "unknown" was specified.

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


There is no LinuxMain.swift for testing SwiftyJSON on Linux os

There's no LinuxMain.swift for testing SwiftyJSON on Linux os, there's also no test suite folder structure for running the tests on Mac OS

Pull request submitted with test updates and fixes

Reviewed and merged the PR.


homebrew python breaks

Running python plugins in homebrew's python results in:
Fatal Python error: PyThreadState_Get: no current thread
Explanation for the error: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Common-Issues.md#python-segmentation-fault-11-on-import-some_python_module
Need to figure out a good way around it.

Temporary workaround: just use the native python:
PYTHONPATH=$PYTHONPATH:/Applications/Binary\ Ninja.app/Contents/Resources/python python

Fixed in development

Could you reopen this? Homebrew still screws Python up in Binja because #391 is not true on macOS.
nitro:~ dave$ otool -L /Applications/Binary\ Ninja.app/Contents//MacOS/plugins/libpythonplugin.dylib
/Applications/Binary Ninja.app/Contents//MacOS/plugins/libpythonplugin.dylib:
	@loader_path/libpythonplugin.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1258.1.0)
	@rpath/libbinaryninjacore.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
	/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.10)

>>> sys.path
['/Users/dave/Library/Application Support/Binary Ninja/plugins', '/Applications/Binary Ninja.app/Contents/MacOS/plugins/../../Resources/python', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']

This seems to work:
nitro:~ dave$ DYLD_FRAMEWORK_PATH=/usr/local/opt/python/Frameworks /Applications/Binary\ Ninja.app/Contents/MacOS/binaryninja


Workflow to label PRs with "needs release notes"

In sync with https://github.com/zarr-developers/zarr-python/pull/1239/!
TODO:

[ ] Unit tests and/or doctests in docstrings
[ ] Tests pass locally
[ ] Docstrings and API docs for any new/modified user-facing classes and functions
[ ] Changes documented in docs/release.rst
[ ] Docs build locally
[ ] GitHub Actions CI passes
[ ] Test coverage to 100% (Codecov passes)

Thanks Saransh! 🙏 Merging when CI passes


LocalTest with Podman on port 8000 fails when generating PDF

Description of the bug
When trying to run v7 with the new Podman setup where we run on local.altinn.cloud:8000, the PDF generation fails every time with:
fail: Altinn.App.Api.Controllers.ProcessController[0]
      Process next failed.
      Altinn.App.Core.Internal.Pdf.PdfGenerationException: Pdf generation failed
         at Altinn.App.Core.Infrastructure.Clients.Pdf.PdfGeneratorClient.GeneratePdf(Uri uri, CancellationToken ct)
         at Altinn.App.Core.Internal.Pdf.PdfService.GenerateAndStorePdf(Instance instance, CancellationToken ct)
         at Altinn.App.Core.Implementation.DefaultTaskEvents.RunLockDataAndGeneratePdf(String endEvent, Instance instance, List`1 dataTypesToLock)
         at Altinn.App.Core.Implementation.DefaultTaskEvents.OnEndProcessTask(String endEvent, Instance instance)
         at Altinn.App.Core.Internal.Process.Elements.DataTask.HandleTaskComplete(ProcessChangeContext processChangeContext)
         at Altinn.App.Core.Internal.Process.ProcessChangeHandler.HandleProcessChanges(ProcessChangeContext processChangeContext)
         at Altinn.App.Core.Internal.Process.ProcessChangeHandler.UpdateProcessAndDispatchEvents(ProcessChangeContext processChangeContext)
         at Altinn.App.Core.Internal.Process.ProcessChangeHandler.HandleMoveToNext(ProcessChangeContext processChange)
         at Altinn.App.Core.Internal.Process.ProcessEngine.Next(ProcessChangeContext processChange)
         at Altinn.App.Api.Controllers.ProcessController.NextElement(String org, String app, Int32 instanceOwnerPartyId, Guid instanceGuid, String elementId, String lang)

This makes our Cypress tests on app-frontend v3 (with backend v7)
Steps To Reproduce

Open ttd/frontend-test-v3
Generate a PDF (i.e. run the all-process-steps.ts Cypress test)
Observe it failing pretty much immediately

Additional Information
No response

Same goes for v8, apparently

Tested my test application with v3/v7, v3/v8 and v4/v8 combination and it seems to work (stopped the old pdf service just to be sure) with localtest running with Podman on port 8000. Can you see any error logs in the altinn-pdf-service container?

Huh, strange! I might have just assumed this was a general problem. Logs say:
2024-02-09T15:51:32.644Z browserless:job 5KC096I55X7PVX3Y27U3G0SKUENN8O9V: Function errored, stopping Chrome: Error: net::ERR_CONNECTION_REFUSED at http://local.altinn.cloud/ttd/frontend-test-v3/#/instance/512345/b73d93a7-08ee-4c47-9c33-d9ca2016f40b?pdf=1&lang=nb
    at navigate (/usr/src/app/node_modules/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js:235:23)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Frame.goto (/usr/src/app/node_modules/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js:205:21)
    at async CDPPage.goto (/usr/src/app/node_modules/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js:1053:16)
2024-02-09T15:51:32.644Z browserless:server 5KC096I55X7PVX3Y27U3G0SKUENN8O9V: Recording failed stat, cleaning up: "net::ERR_CONNECTION_REFUSED at http://local.altinn.cloud/ttd/frontend-test-v3/#/instance/512345/b73d93a7-08ee-4c47-9c33-d9ca2016f40b?pdf=1&lang=nb"

Intenally in the "podman/docker"-network the loadbalancer still runs on port 80 so there should be no need to override the address sent to puppeteer. The address "local.altinn.cloud is also an alias for localtest-loadbalancer if not it would resolve to <IP_ADDRESS> pointing puppeteer back to itself. Lets schedule a debug session on monday if you are available?

No need to rush this one, btw. I believe now that it's caused by some DNS service not working on my linux machine - as the alias in the podman network doesn't seem to kick in. I'll debug that myself when I get around to it.

Closing this one assuming it's a issue on @olemartinorg laptop. Just re-open if this is not the case.


Vulnerable Sparke version

Sparkle framework should be updated to 1.13.1 to avoid MItM attacks, see https://vulnsec.com/2016/osx-apps-vulnerabilities/

Oh, thanks for noticing. I'll update Sparkle right away when I get home tonight, and will push out a new build.

I wonder if we could use https://raw.githubusercontent.com/rsms/fb-mac-messenger/master/website/changelog.xml instead of http://fbmacmessenger.rsms.me/changelog.xml to address the TLS issue.

Note: There will be no security patch release as Messenger isn't critically vulnerable. The only way someone could successfully Man-in-the-middle attack a Messenger installation is by having my Apple Developer certificate for this app. Sparkle asks OS X to check the signature of the apps (vA vs vB) when verifying a new version. The next release of Messenger will ship with Sparkle 1.13.1.

Related task: #250


Adding ConnectorHandler for SubstraitVeloxPlanConverter

At present, the SubstraitVeloxPlanConverter utilizes a hard-coded implementation of HiveTableHandle and HiveColumnHandle. To increase modularity and support diverse use cases, the introduction of a ConnectorHandler is proposed, which enables the generation of customized ConnectorTableHandle and ColumnHandle instances. This would "allow for connectors other than Hive".

cc @mbasmanova

cc @mbasmanova I added a proposal for this task here.


RefreshTokenHandler 401 unauthorized due to lock timeout

In some cases RefreshTokenHandler will use old access token due to Lock Timeout being so small.
ex. when client has expired access token but valid refresh token and the server is stopped by IIS due to inactivity, a multiple calls from client to the server will delay for more than timeout seconds (2 seconds now) which causes at least one request to fail with 401 unauthorized due to using old access token, refresh token

Added the feature on dev branch


Autocomplete disableCloseOnSelect ignored if blurOnSelect

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
If Autocomplete has the property disableCloseOnSelect, it does not work if we also set blurOnSelect.
The choice selector closes.
Expected behavior 🤔
The choice selector should remain open. Or the documentation should inform that the two cannot cohabit.
<Autocomplete
        {...defaultProps}
        id="disable-close-on-select-with-blurOnSelect"
        disableCloseOnSelect
        blurOnSelect
        renderInput={(params) => (
          <TextField {...params} label="with blurOnSelect" variant="standard" />
        )}
      />

Steps to reproduce 🕹
Link: codesandbox.io/s/playground-demo-material-ui-forked-lbply2?file=/demo.js
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

AFAIK having an open Autocomplete without focus is not a scenario we support. The docs don't state this clearly, though. I'll make sure they are updated.

Hi, can I help with this issue?

For me, disableCloseOnSelect also doesn't seem to have any affect even without blurOnSelect in "@mui/material": "^5.13.4",

disableCloseOnSelect doesn't work with useAutocomplete hook either.

how to type innerRef


fix: only allow nesting if delimiters are different

This solves the problem encountered with docstrings in #16.
Now, ", ' and """ tokens bypass nesting. Maybe this could be improved by explicitly setting an allowNesting property for desired tokens in languages.ts.

Thanks I will ship a new release with that change


📈 perf(handler): reviewed memory usage and dependencies, applied PEP8, added tests

Before:

After:

packages = [{ include = "imaginex-lambda" }]
in pyproject.toml should be changed to underscore to reflect renamed directory I believe :)
Besides that, all seems fine to me!

One more thing, can we add test command into makefile? :) so it's easy to run them. Will make part of pipeline later.


Refactor DMLQueryBuilder

Refactoring with:

Fix bug when unique index is not at the first position of inserted values in upsert() test
Typecast values if column names with table name and brackets ['{{%type}}.[[int_col]]', '[[float_col]]'] wrongBehavior
Typecast values in batchInsert() if values with string keys #61 (point 2)
Add info: methods batchInsert(), insert(), update(), upsert() allow columns of the passed table only #744

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
test, #61 (point 2), #744, wrongBehavior

Do remove follow methods from the abstract class AbstractDMLQueryBuilder?

AbstractDMLQueryBuilder::insertWithReturningPks() - the specific implementation has its an own thrown exception;
AbstractDMLQueryBuilder::resetSequence() - supports by all realized DBMS;
AbstractDMLQueryBuilder::upsert() - supports by all realized DBMS.

The all throw an Exceprion throw new NotSupportedException(__METHOD__ . '() is not supported by this DBMS.');
Or are they needed for future implementations?


Clarified trademark usage

That looks good @anitagraser thanks. Perhaps you can add a short sentence like:
"When referring to QGIS please do not undermine the validity of the main QGIS project. We prefer that you refer to our software packages as 'Official Packages' and not 'Community Releases' or similar. If you create your own packages, please make it clear that these are derivative packages and not created or endorsed by the QGIS project."

Thanks @timlinux! I think that's an important note, even if it's more of a "marketing guideline" than strictly a trademark issue.

Agreed, thanks for taking care of it.
I just wonder if it wouldn't be better to just choose one formula and stick to it.
XX powered by QGIS seems the best to me.

I think it would be good to announce the update on the developer mailing list and collect some feedback from the community.


Ensure that secret type kubernetes.io/dockerconfigjson is properly generated for the Quay image provider and can be used as Deployment's imagePullSecret

Signed-off-by: Pavol Baran<EMAIL_ADDRESS>What does this PR do?
When a user specifies secret type as kubernetes.io/dockerconfigjson in binding, this PR ensures a proper secret is created that can be used as an imagepullsecret in podspec.
Screenshot/screencast of this PR

binding:

secret:

successfully pulled image:

What issues does this PR fix or reference?

fixes: https://issues.redhat.com/browse/SVPI-115
How to test this PR?

deploy operator with changes; wait for all components to be running
 make deploy_minikube SPIO_IMG=quay.io/pbaran/spio:SVPI-115-DOCKERCONFIG

create a token binding that has a secret type: kubernetes.io/dockerconfigjson and repo URL that specifies a private quay image that can be able pulled to a pod, such as:
kubectl apply -f samples/binding-dockerconfigjson.yaml

go through the OAuth flow

check that dockerconfigjson secret was created and create a Pod that uses it as imagepullsecret:
kubectl apply -f test-pod
where test-pod looks like:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg-pod
spec:
  containers:
  - name: private-reg-container
    image: <private_image>
  imagePullSecrets:
  - name: test-secret-dockerconfigjson

check that the pod has successfully pulled the image

not working for me. I think because of https://github.com/redhat-appstudio/service-provider-integration-operator/pull/146

not working for me. I think because of #146
If you set only "r" permissions it should be working despite #146


add simple HMAC-mode test and vector

fixes #8

cc @arj03 OR @staltz: could I ask one of you to test the HMAC vector in this branch?
It's the same as testvector-simple.json but with an HMAC key set. I wasn't sure if it's also necessary to add one for signed content as it's just more of the same.

I can do it

I regenerated the feed keys, that's good. Then, I bumped into a problem that HighlevelContent is one object, when it should be an array with two objects, the content and the contentSignature. See the bendy butt spec: https://github.com/ssb-ngi-pointer/bendy-butt-spec

Thought: shouldn't the test vectors be provided as binary files encoded with bendy butt? :thinking: Why JSON?

Assume this is stale now.


[BUG] Library receives 'Forbidden' when attempting API auth

Describe the bug
I recently noticed I no longer saw my Hive thermometer status when I logged into HomeAssistant.
I decided to update HA to the latest version, and re-add my weather patches to see if it fixed it - NO
I then went to my dev clone of this library, and put some debugging print statements during the auth API call
On this part:
            print(api_resp_p) // added by me
            if ('token' in api_resp_p and
                    'user' in api_resp_p and
                    'platform' in api_resp_p):

it turns out that the response from Hive is {'message': 'Forbidden'}
Expected behavior
There should be a notice in the Home Assistant logs that the pyhiveapi received the Forbidden message on login
It should also log in successfully (my creds are ok)
Screenshots
When I try the example, which worked in the past, with my credentials, I get this (some of the output is from my debugging FYI)
Attempt to log in to the Hive API
do call
API call finished
{'message': 'Forbidden'}
no token/user/platform in auth

Attempt to get Outside temperature
Outside Temperature = 0.0

Update Data
do call
API call finished
{'message': 'Forbidden'}
no token/user/platform in auth
Update Data result = False
An update result of False = data is cached and a Hive API call was not made
An update result of True = Hive API called data was retrieved and cached

Oh, FYI, I was testing against a 0.20.2 branch. Based on the PR I submitted for the weather stuff before. afk11/Pyhiveapi branch gracefully-degrade-weather-status
Maybe I should try the 0.3 version, but I don't see an example there anymore. This was what I was using to test the integration without messing with HomeAssistant.
I also wonder - since you added Azure pipelines maybe you're able to setup encrypted envvars with your hive credentials so an integration test would verify that the plugin works?

Oh, I just learned about an issue about this on HA. I guess they're related https://github.com/home-assistant/core/issues/43890

This is fixed in 0.3 but has not yet made it to the home assistant yet. There is a custom component that can be used.

Right - I did try the _b25 beta release, but pretty much got the same result, so I rolled back out of betas for now.

So when you installed via HACs what did you do next. Did you set hive up via the UI?

I just put the credentials in the configuration file and imported it from HACS. I don't remember if I did anything extra in the first pass of setting this up. but after i updated HA, I tried switching repos + simply resinstalling and restarting HA

Beta 25 should work it just requires configuring via the UI

Ah perfect! I followed this https://github.com/Pyhive/HA-Hive-Custom-Component/#ui Since I saw it picked up devices + entities on the integrations page, I clicked in and saw it called 'climate.zone_1' instead of 'climate.heating' that the Dashboard card used before! So I tweaked that as well, and it's working :+1:  Thanks for your all your work on this! Having to deal with the hive changes must be frustrating.


Use PyPI as a source

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender.
@dmgav, FYI: it's needed when the list of maintainers is updated, to properly update it in the relevant files in this repo (.github/CODEOWNERS, README.md, etc.).

@mrakitin I don't think it is necessary to revert to Github sources. I think the repository needs to be fixed.


Custom Build

Hi
We wanted to download the latest FineUploader but have noticed that there is no longer the option of choosing which modules to include and now instead of 70k we need to download the full 130k file. Is this correct?
Many thnaks

Correct. The custom build generator was deprecated in favor of just linking to zip files containing the entire source. A few reasons:

Some people were encountering bugs due to them thinking they had selected a module, when in actuality they had not.
The extra 60k does not add much overhead. On a 1Mbps connection it'll only take ~.5 seconds to get the extra 60k. Add in the fact that should have caching and compression on your server, and this time becomes even less.
Maintenance of the build generator was slowing down our releases, and adding extra overhead for not a ton of perceived benefit (the benefit being smaller sizes for some customers, but that size is negligible when you take into account the fact that modern browsers and servers can cache and compress resources which considerably reduces the size of the payload.
The latest release was published on npm, and for consistency we decided that the build generator should follow the layout and structure of the code distributed via that.

For the future, we are thinking about putting up multiple packages on npm (so you could install: npm install fine-uploader-{azure,s3,traditional}. Maybe in the future we could have separate modules (DnD, Image resizing, etc.) be modularized on npm so that you could optionally include these if you wanted.
@hn1 -- is there any compelling reasons you can think of (besides size of code-base) that would merit a return of the custom build generator?

It would be nice to have just 2 versions - The Core and UI. On applications that serve international markets, in some localities, 60k can be a big deal.
Thanks

Note that the gzipped size of the minified file is about 40 kB total.  The difference between the gzipped size of the all-inclusive fine uploader.min.js vs a custom build is much smaller in this case.

I think we can oblige in a future version by including seperate  builds of core and UI for traditional, S3, and Azure endpoints.  It occurred to us that we should also throw the DnD module on npm, as that can stand on its own as well.

That would be great. We will wait for that to update our version. Thanks

Hi,
I just want to add that I would also be interested in this - at least a build with and without the UI component would be great.
All the best,
Fabian

We will look into this as part of the release after 5.2 (likely 5.3).

This will be covered by #1607.


pass fontVariant to the axis label

closes #1821

This omission was somewhat intentional: the most common use of fontVariant is for tabular-nums with numeric or temporal ticks so that the numerals align across ticks. That need does not apply to the axis label, since there is only one label per axis and hence no need for the numerals to have the same width — and indeed we prefer not to have tabular-nums because numerals look better with the default variable width.
Though, I guess it might be confusing if some of the font-related options apply to both the ticks and the label, but some don’t. We could have separate options (tickFontVariant, labelFontVariant, and tickFontSize, labelFontSize, etc.). Though maybe it’d be better to just have separate marks… though there we already have a tick mark that is something else too? 😭


Clean up path and title

Another small update:

path uses a template string
title and timestamp are defined once

Thanks!


Gradle does not give an obvious error message when Maven credentials for maven-publish are null

Expected Behavior
Gradle notifies the developer that Maven credentials are wrong, e.g. "Wrong Maven credentials (null value provided).
Current Behavior
Gradle returns a very confusing error message:
Failed to retrieve remote metadata net.jeikobu:jbase:1.0-SNAPSHOT/maven-metadata.xml: Could not transfer metadata net.jeikobu:jbase:1.0-SNAPSHOT/maven-metadata.xml from/to remote (https://repo.url/): Could not get resource 'net/jeikobu/jbase/1.0-SNAPSHOT/maven-metadata.xml'
Upon further inspection (preferrably through a Gradle Scan), a NullPointerException can be found:
(...)
Caused by: java.lang.NullPointerException: (No message provided)
at org.gradle.internal.resource.transport.http.ntlm.NTLMCredentials.(NTLMCredentials.java:35)
(...)
Context
I was trying to use TeamCity's properties and misconfigured them. If not for Gradle Scan, I would still be looking for a solution, because I would never find this exception in debug logs.
Steps to Reproduce

Configure a project with maven-publish
Provide null in place of credentials
Execute gradle publish

Your Environment
I think this is platform-dependless, but I reproduced that behaviour successfully on both TeamCity 2018.1 running in Linux Docker and on Windows 10 1803 Pro, running Gradle 4.4 and 4.9 wrapper (can reproduce on both).

Build scan URL: https://scans.gradle.com/s/mxoloozq3qs3i/

Thanks for the bug report. I agree that it should throw a more meaningful exception than an NPE. Instead, NTLMCredentials should check that username is not null and throw an IllegalArgumentException with a "Username must not be null" message.
@shindouj Do you have time to submit a PR?

Resolved in #6379.

I have a Username must not be null! but I don`t know where I am missing the user name, so i thing it may be more specific

This is still an issue for me.

Username must not be null!

Even though I have ARTIFACTORY_USER set


Opening community game "Raptor Run" shows a "null" gray block

Happens on live site too so not a regression

May or may not be related:
Chicken Run

There will be grey blocks if converted from typescript.

This game is created in javascript. Closing.


Improve code structure

Create separate class for database connections

Create separate class for database connections

would you like to work on that?

Create separate class for database connections

would you like to work on that?

can i contribute to you project?

Create separate class for database connections

would you like to work on that?

can i contribute to you project?

Sure . feel free do a pull request

hi if any other issues present, please assign them to me like work on them

hi if any other issues present, please assign them to me like work on them

Currently there is no issues other than code structure. You could implement new features though 🙃


Can't interrupt a loop

To reproduce this issue, follow these steps:

Download GToolkit 0.7.680 for macOS.
Install ActivePapers.
Open a playground.
Type AnnualInfluenzaLikeIllnessEpidemicsInFrance and click "inspect"

This blocks GToolkit and CMD-. has no effect.
Note: There may well be a bug in my code that causes the block. But it's all plain Pharo code, so I should be able to interrupt it.

Not sure anymore that this is the real issue I am having. Perhaps something goes wrong with keyboard control at a lower level. I have two Macintoshes, with similar software setups, but GToolkit uses Ctrl on one and Cmd on the other. (e.g. Ctrl/Cmd-T for opening a new tab). And sometimes keyboard shortcuts stop working completely until I restart GToolkit. So perhaps the interrupt problem is just a special case.

Cmd+. works now.


Example from  xml comment always has 'string' type

For the model:
public class Model
{
    /// <summary>
    ///     The maximum number of elements in a page.
    /// </summary>
    /// <example>10</example>
    [JsonProperty("size")]
    public int Size { get; set; }
}

Swashbuckle.AspNetCore produces the following example:
{
  "size": "10"
}

As you can see, the type for the "size" property is a string, not int. The correct example should be:
{
  "size": 10
}

This bug can be reproduced in the latest stable version 4.0.1.

@domaindrivendev I'll create a PR soon. ;-)


Feature Request: Record the completion time

I really want to know how long it took me to do the crosswordle, just like the NYT mini. Bonus points for leaderboards (this could just be a global leaderboard of sorts?).

Completed!

If the timer is showing, can you also add the completion time to the share string?
Thaaaanks <3

Done!


Add unit tests

Overview
With this PR,  I  have added some basic unit tests to the python_module module.

@CodiumAI-Agent /review

PR Analysis

🎯 Main theme: Adding unit tests and refactoring the code to improve testability.
📝 PR summary: This PR introduces unit tests for the python_module module. It also refactors the code to improve testability, specifically by introducing the ImportCycle struct and changing the find_circular_imports method to return a vector of ImportCycle instead of a vector of strings. The PartialEq trait is implemented for PythonModule, ImportGraph, and ImportCycle to facilitate testing.
📌 Type of PR: Tests
🧪 Relevant tests added: Yes
⏱ Estimated effort to review [1-5]: 4, because the PR includes both refactoring and addition of new code, including changes to the core logic of the application. It requires a deep understanding of the existing codebase to properly review.
🔒 Security concerns: No security concerns found

PR Feedback

💡 General suggestions: The PR is well-structured and the changes are logically grouped. The introduction of the ImportCycle struct and the refactoring of the find_circular_imports method improve the readability and maintainability of the code. However, the PartialEq implementations could be simplified by using derived implementations where possible.

 🤖 Code feedback:

relevant file: src/python_module.rs
suggestion: Consider using derived implementations for PartialEq where possible. This can simplify the code and reduce the potential for errors. For example, for PythonModule, you can derive PartialEq if you also derive PartialEq for Import. [medium]
relevant line: impl PartialEq for PythonModule {

relevant file: src/python_module.rs
suggestion: Consider using HashSet instead of Vec for imports in PythonModule and modules in ImportCycle. This can improve performance for the contains operation from O(n) to O(1). [important]
relevant line: pub struct ImportCycle {

relevant file: src/python_module.rs
suggestion: Consider adding error handling for the unwrap calls. This can prevent potential panics at runtime. [important]
relevant line: for dir_entry in fs::read_dir(local_path).unwrap() {

relevant file: src/python_module.rs
suggestion: Consider using Path and PathBuf methods for path manipulation instead of manual string manipulation. This can improve code readability and cross-platform compatibility. [medium]
relevant line: import_graph.add_module(

How to use

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review [-i]: Request a review of your Pull Request. For an incremental review, which only considers changes since the last review, include the '-i' option.
/describe: Modify the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest improvements to the code in the PR. Extended mode employs several calls, and provides a more thorough feedback.
/ask <QUESTION>: Pose a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.

To edit any configuration parameter from configuration.toml, add --config_path=new_value
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, use the /config command.


Remake mainform.ui from scratch

Now it looks horrible in designer (other *.uis too, but they will be done later).
It should be done with Qt layouts and etc.

Renaming of ui members.


Update Debian versions used for AMIs

🗣 Description
This pull request updates the versions of Debian used as a base for our AMIs like so:

bastion from Buster to Bullseye
dashboard from Stretch to Buster
docker from Stretch to Bullseye
mongo from Stretch to Buster
nmap from Buster to Bullseye
nessus from Buster to Bullseye
reporter from Stretch to Buster

The following packages on Buster instances are installed from buster-backports instead of the normal buster repository:

awscli
python3-botocore

Last any AMIs built off of Buster have an additional configuration option to the Ansible provisioners to use the auto_legacy_silent flag to force preferring Python 2 over Python 3.

💭 Motivation and context
Debian Stretch has been out of any kind of support since June 30, 2022 per the LTS schedule page. Unfortunately due to Python 2 requirements the newest version of Debian that most Stretch images could move to is Buster due to availability of dependent Python 2-based packages available from the respective version repositories. So that we can support IMDSv2 we install awscli and python3-botocore from Backports on Buster-based images.

🧪 Testing
Automated tests pass. I have verified that these image configurations can build and deploy successfully in my testing environment.

✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All new and existing tests pass.

Is there a reason why the Buster-based instances can't use an ED25519 key?

Is there something I missed?
$ git switch improvement/update_debian_versions
Switched to branch 'improvement/update_debian_versions'
Your branch is up to date with 'origin/improvement/update_debian_versions'.
$ grep -rin temporary_key_pair_type
packer/reporter.json:45:      "temporary_key_pair_type": "ed25519",
packer/docker.json:45:      "temporary_key_pair_type": "ed25519",
packer/mongo.json:45:      "temporary_key_pair_type": "ed25519",
packer/nmap.json:45:      "temporary_key_pair_type": "ed25519",
packer/nessus.json:45:      "temporary_key_pair_type": "ed25519",
packer/dashboard.json:45:      "temporary_key_pair_type": "ed25519",
packer/bastion.json:45:      "temporary_key_pair_type": "ed25519",

Is there a reason why the Buster-based instances can't use an ED25519 key?

Is there something I missed?
$ git switch improvement/update_debian_versions
Switched to branch 'improvement/update_debian_versions'
Your branch is up to date with 'origin/improvement/update_debian_versions'.
$ grep -rin temporary_key_pair_type
packer/reporter.json:45:      "temporary_key_pair_type": "ed25519",
packer/docker.json:45:      "temporary_key_pair_type": "ed25519",
packer/mongo.json:45:      "temporary_key_pair_type": "ed25519",
packer/nmap.json:45:      "temporary_key_pair_type": "ed25519",
packer/nessus.json:45:      "temporary_key_pair_type": "ed25519",
packer/dashboard.json:45:      "temporary_key_pair_type": "ed25519",
packer/bastion.json:45:      "temporary_key_pair_type": "ed25519",

No, it is I who missed something.  My apologies.


[WIP] Scala Sierra API

What is this PR trying to achieve?
Create a scala sierra api that can be used by the sierra_to_dynamo service
Who is this change for?
Everyone

Closing as this has been moved to https://github.com/wellcometrust/sierra-streams-source


ENH: VTK Superbuild Update

Description
This PR will be the first step in getting the Superbuild's libraries updated to their respective latest versions. In order to avoid a heavy PR, this will strictly contain ITK and VTK changes.
Versions Changed

ITK abd38d5a0040b9a8fbb0ad3127089dbb72a93342 (same as GitHub Actions)
VTK 9.0.1

LevelSetV4Visualization
The examples located in src/Bridge/VtkGlue that utilize the (deprecated in ITK v5.0) ITKLevelSetV4Visualization module, now require the ITK version to be less than 5.0.
VTK Configuration
Several of the examples needed to have their CMakeLists.txt reconfigured. In addition, a few of them did not even have VTK utilized in their respective CMakeLists.txt, despite utilizing VTK in their cxx script.
After reconfiguring, I am able to get a clean build, but it has resulted in 63 failing tests. However, many of these can be attributed to a single error when using the VtkGlue module:
7987B]vtkImageSliceMapper.cxx:36    WARN| Error: no override found for 'vtkImageSliceMapper'.

I saw a mention of this issue in https://github.com/InsightSoftwareConsortium/ITK/issues/739. I am unsure of the exact steps to fix this, but I will continue to investigate. If anyone has knowledge of this error, please reach out.
Note: The PR will remain a draft until the Superbuild builds cleanly and passes all tests for VTK 9.0.1.

I had problems with VTKGlue for a long time, and it is broken in my nightly build.

Perhaps @mathstuf could provide some advice?

After some time, I was able to make significant changes to accommodate examples that utilize VTK/QuickView in some form. In addition to my initial comments in this PR, I was able to successfully configure all of the examples that use VTK and/or QuickView.
For examples that strictly utilize VTK, I was able to configure their respective CMakeList.txt to look for the VTK package and only use components that are needed by the example. Then I linked the VTK_LIBRARIES and initialized the VTK module using VTK's vtk_auto_init().
For examples that strictly use QuickView, but nothing else, I noticed they weren't being built unless ENABLE_QUICKVIEW was set to true. However, all of these examples use the QuickView for viewing purposes and not for the core functionality of the example. Instead, I removed the if(ENABLE_QUICKVIEW to enable all of these examples, then in each of their individual CMakeList.txt, I enable the VTK libraries it would need if ENABLE_QUICKVIEW was set to true. If not set, the example would just build with ITK_LIBRARIES. This will greatly improve our test coverage for examples that use ITK by about 46 examples.
Finally, many of the examples needed to have their test input to be updated to properly pass. In addition, their documentation was updated to contain the new input/output.
A few of the examples and/or their respective tests contained errors
that were marked with a TODO, for a future PR. These included:

Baseline comparisons, that cannot work due to the output not ever
being stored. In a future PR, the examples should be modified to
save their output, so we can test against it.
+ VTKImageToITKImageBaseline
+ InPlaceFilterOfImageBaseline
The DemonstrateThresholdAlgorithm example has it's
KittlerIllingworth filter commented out with a TODO. This was the
only filter to not work, and will be documented in a future issue.

CC: @wschroed @phcerdan


Plan of Attack: Moving the project to a Github organisation

As discussed, we will be moving this project to a Github organisation. There are few tasks that need immediate attention upon migration to an organisation.
TODOs:

Try moving a dummy project to an organisation and see how the original link changes; does it redirect or break?
Make sure the current Kalimdor Travis project is still connected, otherwise, reconnect it and update the badge
The original repository link should redirect to the new repository in the organisation once it is tranferred over

Github is somehow super unstable today, I will delay it until it's stabilised.

Successfully migrated the project to an organisation. I will be pushing a hotfix for the Travis integration.


Support wrangler pages functions build-env

What this PR solves / how to test
This adds a hidden wrangler pages functions build-env command, which prints the environment variables for the current environment to the terminal. This is for use by internal tooling, and shouldn't be used directly by end users.
Fixes DEVX-1179
Author has addressed the following

Tests

[ ] TODO (before merge)
[x] Included
[ ] Not necessary because:

Changeset (Changeset guidelines)

[x] TODO (before merge)
[ ] Included
[ ] Not necessary because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s): https://github.com/cloudflare/cloudflare-docs/pull/...
[x] Not necessary because: This is a hidden command

LGTM! Thx for working on this!


feat: support docker image language

blocked by: #67
blocked by: #87
close: #50

rewrite this branch to conform to the new code style


[RFC] Lexical update retain selection when no event

You unfocus the editor, editor._editorState._selection retains selection, you trigger
editor.dispatchCommand
Selection is lost.
Doesn't feel right. This PR addresses this.
Putting as RFC for now as there's no tests and want to double check this wasn't intended to cover some other case.

Note the failing UTs

🚢🚢🚢

merged main into the branch, curious if this is still a legit fix, seems like one? @zurfyx


Remove conditional based on opt_release

Since minimum supported version is Elixir v1.9 / OTP 20

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Uncaught TypeError: cookie.split(...)[1] is undefined

Getting this in a production deployment.

https://github.com/simonw/datasette-cookies-for-magic-parameters/blob/c56c6ad13e981c154f4767a4636d4afa82fdc8c6/datasette_cookies_for_magic_parameters/__init__.py#L9-L11


Load more items by scrolling down

Category

[ ] Question
[x] Bug
[ ] Enhancement

Expected or Desired Behavior
I have a list with the "ressource catalog sample" format. In this list there are about 100 items, but only 60 are shown. If I scroll down I would expect that the next items are loaded, but there do not appear the next items.
Steps to Reproduce
This problem comes up every time I scroll down to the end of the list. I can't get more than 60 items.
Is there a possibilty to show more items or to load the next items if you scroll down to the end of the list?

This seems to be tied to my JSON formatted view. The use of
"hideSelection": true,
Stop the list/library from dynamically loading more items.

Okay, yes that seems to be the reason. But if I change this value to "true" my format gets damaged. I have edited your view that the cards are slim and so get 4 "cards" in a row - like a tile view.
If I set "hideSelection" to "False" this does not work any more. Each tile is one below the other. If it could help I can show you my code?

I'm actually having the same issue. I've got a three card arrangement (each card a row of data points) that unstacks with hideSelection set to true. Somehow have to find a way of retaining both the formatting and the dynamic load. I'll let you know if I find a solution. Below is the JSON I'm working with.
{   "$schema": "https://developer.microsoft.com/json-schemas/sp/view-formatting.schema.json",   "hideColumnHeader": true,   "hideSelection": true,   "rowFormatter": {     "elmType": "div",     "attributes": {       "class": ""     },     "style": {       "display": "inline-block",       "width": "30%",       "background-color": "#f4f4f4",       "font-size": "1.2em",       "text-align": "center",       "margin": "0 1.6% 20px",       "padding-bottom": "10px",       "float": "left"     },     "children": [       {         "elmType": "div",         "style": {           "font-size": "1.2em",           "font-weight": "700",           "padding": "10px",           "background-color": "#004e8c",           "color": "#ffffff"         },         "txtContent": "[$EmployeeName]"       },       {         "elmType": "img",         "style": {           "width": "100%",           "image-orientation": "from-image"         },         "attributes": {           "src": "=@currentWeb + '/StaffPhotoShare/' + [$FileLeafRef]"         }       },       {         "elmType": "div",         "style": {           "font-weight": "700",           "padding": "0 20px"         },         "txtContent": "[$Description0]"       }     ]   } }

Hmm, interesting. Are you using any float: left/right styling?
Set float to none and the loading comes back with hideSelection set to true.
I saw this in a previous posting.

Yes thats true. If I set float to none the loading comes back.
But I want to have the float to left to have my items in a row (see screenshot).
If I set float to none each tile is one below the other.

Same issue. Using float the dynamic load is stopped. It comes back when float is set to none. A solution is required since we need to set the items next to each others.

Unfortunately, this is not specifically related to a specific sample, but as has been identified is occurring due to the floats.
The recommendation is to see if the tileProps property works for you.
Thank you for submitting the issue.


Change for publishing to npm

graphy is already taken in npm

This change is

seems fine to me!


libpam: Add ptest

Purpose of pull request
This PR adds ptest of libpam package based on the following recipe:

base recipe: meta/recipes-extended/pam/libpam_1.5.3.bb
base branch: master
base commit: 3e50e45917831d9da2d86e69fb908a1a78483b62

Test
How to test

Enable ptest and install libpam package

NOTE: pam DISTRO_FEATURES is required to use libpam package.
$ . ./repos/poky/oe-init-build-env build
$ bitbake-layers add-layer ../repos/meta-debian/
$ cat << EOS >> conf/local.conf
DISTRO = "deby"
MACHINE = "qemuarm64"
PACKAGE_CLASSES = "package_deb"
DISTRO_FEATURES_append = " ptest pam"
EXTRA_IMAGE_FEATURES += "ptest-pkgs"
IMAGE_INSTALL_append = " libpam"
EOS

Build core-image-minimal image

$ bitbake core-image-minimal

Run qemu and run ptest of libpam

$ runqemu nographic slirp
...(snip)...
# ptest-runner -l
...(snip)...
# ptest-runner -t 3600 libpam

Also, I confirmed that SDK builds succeed with the following settings:

Set DISTRO=deby and run bitbake core-image-minimal -c populate_sdk with meta-debian and poky
Set DISTRO=emlinux and run bitbake core-image-minimal-sdk -c populate_sdk with meta-debian, meta-debian-extended, meta-emlinux and poky

Test result
# ptest-runner -l
Available ptests:
busybox /usr/lib/busybox/ptest/run-ptest
libpam  /usr/lib/libpam/ptest/run-ptest
util-linux      /usr/lib/util-linux/ptest/run-ptest
zlib    /usr/lib/zlib/ptest/run-ptest
# ptest-runner -t 3600 libpam
START: ptest-runner
2024-04-09T04:41
BEGIN: /usr/lib/libpam/ptest
PASS: tst-pam_acct_mgmt
PASS: tst-pam_authenticate
PASS: tst-pam_chauthtok
PASS: tst-pam_close_session
PASS: tst-pam_end
PASS: tst-pam_fail_delay
PASS: tst-pam_get_item
PASS: tst-pam_get_user
PASS: tst-pam_getenvlist
PASS: tst-pam_mkargv
PASS: tst-pam_open_session
PASS: tst-pam_set_data
PASS: tst-pam_set_item
PASS: tst-pam_setcred
PASS: tst-pam_start
All 15 tests passed
DURATION: 1
END: /usr/lib/libpam/ptest
2024-04-09T04:41
STOP: ptest-runner

ptest-libpam.log
Test summary

TOTAL: 15

PASS: 15
FAIL: 0

I run this ptest 3 times and obtained the same results.

merged in upstream


ci: run tests for cpu01plus

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: