Running Migrations

Hey @colopl-workplace team! Are you guys currently using migrations within Laravel at all? or just manually doing your schemas in Cloud Spanner?
We would like to propose adding a custom spanner:migrate command to the package that would override the default migrate system to work with Cloud Spanner.
If you're open to this we'll start development and open a PR when it's complete!

Hi, @matthewhall-ca,
We appreciate your contribution.
We are not using migration within Laravel.
Instead we recreate the entire database with extra_statements[] parameter because running Cloud Spanner's DDL individually is very slow.

adding a custom spanner:migrate command

That would be great!

Ahhh that does make sense, we did notice that the migrations run VERY slowly when done manually.
We'll start working on it soon and PR when it's done!  Thanks so much for open sourcing this project guys!

@MatthewHallCom any updates on this?
@castaneai I feel like the lack of proper migrations really cramps the standard laravel style or doing things, I know in the docs you say there is no AUTO INCREMENT but surely that cant be enough of a reason to completely ignore any migration ability?

We decided not to continue with Cloud Spanner. We have since implemented Google Cloud's AlloyDB for PostgreSQL

From a quick investigation it looks like AlloyDB doesnt have the same level of horizontal scalability as Spanner?

Correct, its definitely not as horizontally scalable, but was good enough for our needs

So Spanner recently implemented something similar to auto increment called sequence generator. I will try to use it to implement Blueprint::increments once they have the feature is implemented into spanner emulator (which I need for testing).

This doesnt look like a solution? According to that document this is not a Spanner-implemented solution, rather

This document proposes mechanisms for implementing a sequence generator by using a Spanner database table and application layer logic.

Also as the document notes, we dont want to create monotonically incrementing values since that will create hotspotting and fundamentally defeat the shardability and scalability of the database
What is really needed is something like Datastore has for its keys - https://cloud.google.com/appengine/docs/legacy/standard/go111/datastore/creating-entity-keys#Assigning_identifiers:

You can configure Datastore to generate auto IDs... The default policy generates a random sequence of unused IDs that are approximately uniformly distributed. Each ID can be up to 16 decimal digits long.

Upon further research it exists. https://cloud.google.com/spanner/docs/primary-key-default-value
CREATE TABLE Fans (
  FanId varchar(36) DEFAULT spanner.generate_uuid(),
  Name text,
  PRIMARY KEY (FanId)
);

or
CREATE SEQUENCE SingerIdSequence bit_reversed_positive;

CREATE TABLE Singers (
  SingerId bigint DEFAULT nextval('SingerIdSequence'),
  Name text,
  PRIMARY KEY (SingerId)
);

What should really be happening, since monotonically increasing values is an anti-pattern, is that any time a migration uses increments() is it gets mapped to one of either the spanner GENERATE_UUID function or a bit reversed value, though i think the UUID is maybe the preferred pattern?

I plan on going with bit reversed sequence because it uses INT64 which is aligned with other databases.

That makes sense, I guess its a good middle ground between keeping a similar data type and avoiding such a strong anti-pattern


Added Long Term Testing deployment and validation scripts

@juhlee-microsoft please approve and merge this, review has been done.


while swarm need to https://discovery-stage.hub.docker.com/v1/clusters when i create a token

when i create token use docker run --rm swarm create i get time="2015-04-23T11:46:52Z" level=fatal msg="Post https://discovery-stage.hub.docker.com/v1/clusters: dial tcp <IP_ADDRESS>:443: i/o timeout"
why swarm need to connect  https://discovery-stage.hub.docker.com/v1/clusters

The discovery token is generated from DockerHub and is hosted there: https://github.com/docker/swarm/tree/master/discovery#hosted-discovery-with-docker-hub

Hi @chenjie901,
It needs to connect to the discovery service on the docker Hub to give you a unique token. This unique token will be used by the Swarm Agents to register on this service and by your Swarm Manager to access the list of all the docker daemons it needs to connect to (the agents).
                                                              register
                                                       |------------------- Swarm Agent (docker daemon)
                                                       |
                access list                            |      register
Swarm Manager ---------------> Hub Discovery Service < |------------------- Swarm Agent (docker daemon)
                                                       |
                                                       |      register
                                                       |------------------- Swarm Agent (docker daemon)

For the error connecting to the discovery service, it's really difficult to determine why you can't access to the service. This might be definitely network related. Can you try to run multiple times the command curl -x POST https://discovery-stage.hub.docker.com/v1/clusters and see if it returns the token successfully? If not can you give us more details: Are you using a Proxy? etc.

hi @chenjie901 I guess you are in China. Maybe you can't connect the Docker Hub token discovery service. You can try other Discovery backend, such as etcd,zookeeper or local file.
The same issue as https://github.com/docker/swarm/issues/607, you can follow that.

@abronan yes i use a proxy, i solve this problem by pass HTTP_PROXY ENV to swarm ,an it works

I was not able to fix this...
When I run:
sudo docker run swarm create
I get:
2015/10/19 06:15:47 Post https://discovery-stage.hub.docker.com/v1/clusters: dial tcp: i/o timeout
When I add a proxy:
sudo docker run --rm -e https_proxy=http://:8080 -e http_proxy=http://*:8080 swarm create
I get:
2015/10/19 06:20:52 Post https://discovery-stage.hub.docker.com/v1/clusters: http: error connecting to proxy http://****:8080: dial tcp: i/o timeout

@doronl you need to check if you can reach your proxy servers first. I passed proxy settings into swarm and was able to get a token.

I eventually gave up using the hub token and used a etcd for discovery.
Thanks


[csv] remove fake posNeg column, it's hidden and we don't need it

We don't need to add empty unused columns

I'll commit it now but deploy later, because I'll need to remove the part where we hide this empty column


Handle tar files generated with tar -H oldgnu that has large uid/gid values

The tar file in #782 seems to be generated in oldgnu format, and sharpcompress failed to extract gid in the provided test, I have generated a general test with large value for both uid and gid using the normal setup of files.

thanks!


Cannot resolve method 'streamCompletionBytes' in 'OpenAiService'

I updated the jar package version 0.11.1 , but prompted me that the method could not be found。

com.theokanning.openai-gpt3-java
service
0.11.1

somebody help me,Please

@zengpeng5281314
Version 0.11.1 does not support streaming. To use streaming functionality you would need to use the git sources. Alternatively, you can also wait for the next release.

@zengpeng5281314 Version 0.11.1 does not support streaming. To use streaming functionality you would need to use the git sources. Alternatively, you can also wait for the next release.

How can I use the sources code rather than the release?

@n3bul4 is there any problem with using stream? why you remove it?

@n3bul4 is there any problem with using stream? why you remove it?

What do you mean by removing? I didn't remove anything. I am using this lib with streaming support in one of my projects and it works great.

0.12.0 is live with streaming support :+1:


Invalid NSQD service port protocol

Hi @benjamin658
I believe there is a small issue in the service definition of NSQD.
There is no HTTP protocol port. Only SCTP, TCP, UDP are supported in a kubernetes svc.
spec:
  type: {{ .Values.nsqd.service.type }}
  ports:
  - name: http
    port: 4151
    targetPort: http
    protocol: HTTP <== to change to TCP
  - name: tcp
    port: 4150
    protocol: TCP
    targetPort: tcp

Cheers.

Hi @LordNoteworthy
Good catch! It's my bad that I didn't notice during the PR review.
I will make a PR to fix it soon.
Thanks.


Split up code file

Hi @dr-prodigy,
the holidays.py file has grown quite big over time. I suggest to split it up and have a separate file for each country to make maintaining the codebase more manageable in the future. However, all names should still be exported from the main module. Do you want me to do this kind of refactoring and submit a pull request?

Hi,
thank you very much for your help..
This sounds pretty good! And that's something we would like to work on soon.
If you want to start the work, yes, please, do it (note: please start from and target "unstable" branch), and let me review it after the first changes applied (naming convention, structure, etc).
After that we will be completing it.
Okay for you?
Thank you very much again!
Cheers
dr-p

I was just thinking the same thing! I agree with this.


Need a way to simulate scrolling of mousewheel

There are a number of jquery type controls that create a scrollbox of some sort.   Great example is on this page http://rocha.la/jQuery-slimScroll.  obviously normal scroll functions fail on these controls, which want to be driven by mouse scrolling, or dragging of their 'scrollbar'
emulating mouse wheel scrolling would be a good way to interact with such a control, but we don't currently have a way to do that.   I suggest one of a few alternatives

provide a 'scroll_mouse' or 'scroll_mouse_wheel' method that would accept a delta value (signed int)  and fire off the appropriate event along with the delta parameter.   Note this might be best because apparently not all browsers handle this the same way (see http://www.sitepoint.com/html5-javascript-mouse-wheel/ presuming it is still correct) so this would free the user from having to know what event to fire and what direction was indicated by positive/negative delta values

extend fire_event so it can take a parameter, which would allow it to be used with onmousewheel or DOMMousescroll.  (however all users would then need to know which event (and +/-) to use for which browser)

bit more background on why this is needed:
In terms of the example control, normal scroll functions don't work on these controls (no surprise there) and they only seem to respond to events.  onmousescroll over the window, or dragging the scrollbar.   The problem is that the first is not supported (we can't send a parameter indicating the wheel delta, because fire_event does not allow that)  and the second is not always viable depending on the nature of the control.
If the control has the scrollbar always visible, then you can use drag operations on that element, but if the scroll control is set to appear/dissapear based on mouseover, it's flakey as hell and not reliable. firing mouseover events does not seem reliable, and in experimenting with this I've had the control just go hidden and stay that way (ugh).  and if not visible, not draggable.

I would say this should be implemented in watir-scroll, so can you reopen the issue there? However, I don't see myself implementing that soon, so patches are welcome (a bit of JavaScript with driver.execute_async_script should work) :)


Improve support for oneof fields

After using protobuf-es-generated code a bit more, I'm going to expand on my comment in another issue and make it an issue of its own.
Currently, accessing oneof fields in code generated by protobuf-es is a bit more cumbersome than in other protobuf code generators. In my protobuf definition I've got a oneof that might be a post, comment or profile. Both protoc-gen-ts in TypeScript and rust-protobuf provide ways to quickly access or set a .post.  So in TypeScript I can do something like:
let post = item.post
if (post) {
   // ...
}

or
item.post = new Post(...)

But in code generated by protobuf-es, I have to do:
let post: Post|undefined = undefined
let it = item.itemType
if (it.case == "post") { post = it.value }
if (post) {
   // ...
}

which ends up in my code so often that I made a helper function for myself.
// Helper function for getting inner Item types.
export function getInner(item: pb.Item, field: "post"): pb.Post | undefined;
export function getInner(item: pb.Item, field: "profile"): pb.Profile | undefined;
export function getInner(item: pb.Item, field: "comment"): pb.Comment | undefined;
export function getInner(item: pb.Item, field: "post"|"profile"|"comment"): pb.Post | pb.Profile | pb.Comment | undefined {
    let it = item.itemType
    if (it.case == field) {
        return it.value
    }
}

And I just discovered that when I set a field, I have to do:
// Nope: item.comment = comment
item.itemType = {case: "comment", value: comment}

It would be nice if generated code would just expose oneof fields as top-level fields (or properties) like other protobuf generators.
All that said, really enjoying protobuf-es so far. Native ESMsupport works so much more nicely than trying to get Google's protobuf implementation to compile to all my targets. 😄

In case I have time this weekend (or over the holidays, but no promises! 😅), would you be open to a pull request that implements this?
I'd probably update the generator to just make getters/setters for oneof members.  They'd all delegate to the oneof {case, value} and just serve to reduce boilerplate for accessing those values.

Hey Cody,
protoc-gen-es gives you easy access to oneof members, but at the cost of type safety.
Let's say you have the following protobuf source:
syntax="proto3";
message Post {}
message Profile {}
message Item {
  oneof item_type {
  Post post = 1;
  Profile profile = 2;
  }
}

If you forget an if statement, you can easily run into a runtime error:
const i = new Item();
i.post.serialize(); // TypeError: Cannot read properties of undefined

This problem could be solved by making oneof members optional. A very simple version would look like this:
class Item2 {
  private _post: Post | undefined;
  private _item: Item | undefined;

  set post(value: Post | undefined) {
    this._post = value;
    this._item = undefined;
  }
  get post(): Post | undefined {
    return this._post;
  }

  set item(value: Item | undefined) {
    this.post = undefined;
    this._item = value;
  }
  get item(): Item | undefined {
    return this._item;
  }
}

With this class, we can no longer accidentally access an undefined property:
const i2 = new Item2();
i2.post.serialize(); // TS18048: 'i2.post' is possibly 'undefined'

if (i2.post) {
  i2.post.serialize(); // this is fine, we just removed `undefined` from the type union with the if statement
}

But properties that unset other properties throw off TypeScript's type narrowing:
if (i2.post) {
  i2.item = new Item();
  i2.post.serialize(); // TypeError: Cannot read properties of undefined
}

We want to avoid issues like this, and the algebraic data type we use in protobuf-es is a solid solution for the problem. It is a trade-off we made - we gain a proper model of oneof semantics in the type system, and lose some ergonomics around setting oneof values.
Getting oneof values seems to be rather straight-forward though? The getInner() example you're giving still requires you to check for the undefined case. I'd argue that if you have to make checks anyway, you could just as well go for an exhaustive switch statement:
const {itemType} = new Item();

switch (itemType.case) {
  case "post":
    itemType.value; // handle Post
    break;
  case "profile":
    itemType.value; // handle Profile
    break;
}

We are constantly looking to improve protobuf-es, but the trade-off we made for the representation of oneof groups was a design decision. I hope that the ergenomics aren't too inconvenient for you and that it helps avoiding runtime errors for you as well as it did for us.

@timostamm is there a way to get an enum or const map of the one of the properties.
I also miss this from other protobuf generators.
From protobufjs, you would get [oneof]Case enum that you could use in switches without the need to use plain strings.
Would this be possible for protobuf-es without comprising design decisions mentioned.
From the example above i would have to create myself to do a migration from protobuf-js to protobuf-es. However, this wasn't mentioned in the migration guide so I was wondering if I missed something
const ItemTypeCase {
 PROFILE: 'profile',
 POST: 'post'
} As const

Layton, thanks for the feedback. Perhaps we should should go into more detail in the migration docs.
I'd like to note that the strings are constrained, though. You cannot set or get a case that does not exist:

I see that the case object could be very handy if for migrating. Here is a small plugin that generates the snippet you're handwriting: https://gist.github.com/timostamm/d36a6f15b010cbd8b0bf91e734df8cf3
I'm not sure that the case object provides any benefit over the union type besides the migration use case, TBH.

The getInner() example you're giving still requires you to check for the undefined case. I'd argue that if you have to make checks anyway, you could just as well go for an exhaustive switch statement

I realize that was the intent with the design, and that would be fine if every time I needed to access my oneof field I needed to cover every case. But because I end up using the top-level Item as a data type throughout my codebase, there are many code paths that should only be reached for one of the cases, so I end up only checking one case, and throwing an error if that case isn't present.

But properties that unset other properties throw off TypeScript's type narrowing

Aha! I've been writing so much Kotlin recently (where this is handled in a type-safe way) that I didn't realize this was a shortcoming in TypeScript's handling of properties.  (side note, I think you mixed up Profile and Item in your example code. I wrote what I think you intended here.)
This seems like a shortcoming in TypeScript, though, so I'd still love to be able to opt in to those less type-safe helpers if possible.

What if oneof discrimination is done like this?:
interface Item {
  oneof: {
    profile: Profile,
    post?: undefined,
  } | {
    post: Post
    profile?: undefined
  } | {
    profile?: undefined,
    post?: undefined,
  }
}

That way lets us both use .oneof?.post directly, AND lets TypeScript give compile-time type errors:
function example(item: Item, someProfile: Profile) {
  if (item.oneof?.post) {
    item.oneof = {profile: someProfile}

    // TypeScript now gives us an error: 🎉
    item.oneof.post.serialize()
  }
}

I believe that setup would make it more painful to generically handle the oneof as I don't thinks there's a way to use a switch at all. Object.keys(item.oneof)[0] is just string and even if cast to keyof typeof item.oneof that still won't narrow the value. This means the only way to generically handle a oneof would be via if-statements checking that the property value wasn't undefined.
So let's imagine that instead of just Post or Profile we had a dozen different messages that were part of the oneof. And let's also imagine each message had a common field, a string id, that we wished to return from a function.
// Before
function getItemId(item: Item): string | undefined {
  switch (item.itemType?.case) {
    case "post":
    case "profile":
    //...more cases
    case "whatever":
      return item.itemType.value.id;
  }
}

// After
function getItemId(item: Item): string | undefined {
  if (item.itemType?.post) {
    return item.itemType.post.id;
  }
  if (item.itemType?.profile) {
    return item.itemType.profile.id;
  }
  //...more cases
  if (item.itemType?.whatever) {
    return item.itemType.whatever.id;
  }
}

Another thing to consider is how the number of fields inside the oneof would drastically increase the size of the type in the generated code:
// Before
type ItemType = {
  value: Post;
  case: "post";
} | {
  value: Profile;
  case: "profile";
} | {
  //...nine more cases with only two properties: value and case
} | {
  value: Whatever;
  case: "whatever";
} | { case: undefined; value?: undefined }

// After
type ItemType = {
  profile: Profile;
  post?: undefined;
  //...9 more properties which are optionally undefined
  whatever?: undefined;
} | {
  profile?: undefined;
  post: Post;
  //...9 more properties which are optionally undefined
  whatever?: undefined;
} | {
  //...12 properties where the defined property is field 3
} | {
  //...12 properties where the defined property is field 4
} | {
  //...12 properties where the defined property is field 5
} | {
  //...12 properties where the defined property is field 6
} | {
  //...12 properties where the defined property is field 7
} | {
  //...12 properties where the defined property is field 8
} | {
  //...12 properties where the defined property is field 9
} | {
  //...12 properties where the defined property is field 10
} | {
  //...12 properties where the defined property is field 11
} | {
  profile?: undefined;
  post?: Post;
  //...9 more properties which are optionally undefined
  whatever?: undefined;
} | {
  profile?: undefined;
  post?: undefined;
  //...9 more properties which are optionally undefined
  whatever?: undefined;
}

https://gist.github.com/timostamm/d36a6f15b010cbd8b0bf91e734df8cf3

@timostamm Thanks again for the script. worked perfectly but two things i had to do

had to run chmod +x protoc-gen-oneofhelper.ts
had to modify the code a bit due to some conflicts with similar named oneof properties

const titleCase = (value: string) => {
  return value.replace(/^[a-z]/, (v) => v.toUpperCase());
};

// prettier-ignore
function generateMessage(f: GeneratedFile, message: DescMessage) {
  for (const oo of message.oneofs) {
    // Name of the enum we are about to generate
    const name = titleCase(message.name) + '_' + titleCase(localName(oo))+ "Case";
    f.print`export const ${name} = {`;
    for (const field of oo.fields) {
      f.print`  ${field.name.toUpperCase()}: '${localName(field)}',`;
    }
    f.print`} as const;
`;
  }
  for (const nestedMessage of message.nestedMessages) {
    generateMessage(f, nestedMessage);
  }
}

Not the exact migration 1:1 but works fine 👍🏾

Going to close this issue as it seems there's a workable solution.  If another issue arises, feel free to reopen.  Thanks!

Layton, thanks for the feedback. Perhaps we should should go into more detail in the migration docs.
I'd like to note that the strings are constrained, though. You cannot set or get a case that does not exist:

I see that the case object could be very handy if for migrating. Here is a small plugin that generates the snippet you're handwriting: https://gist.github.com/timostamm/d36a6f15b010cbd8b0bf91e734df8cf3
I'm not sure that the case object provides any benefit over the union type besides the migration use case, TBH.

Was looking for a type-safe way to switch on oneof cases, and this solves my problem. Thank you!


Pulpify all examples

This change makes it a bit easier to manage dependencies in the example projects, and also speeds up their builds, by moving each one into its own project, with its own bower.json. This also lets us move the devDependency on purescript-ace into the ace/ directory.
I'd like to eventually add a purescript-echarts example, so I made this change to avoid any more dev dependencies.
@jdegoes Does this look ok?

Resolves #94.

:+1:

:+1:


process_time vs time

Hi there. Really like this lean approach using decorators. I am wondering though if it wouldn't be better to use time.process_time  instead of time.time? Or maybe this could be toggled by another decorator function argument like time="total" vs time="process" or so. What are your thoughts on this?

I agree we should switch to pref_counter or process_time instead of time, since we are measuring code time. Could you open a PR fixing that?
Thanks!

yeah sure. will create a PR in a moment

Fixed, closing it.


mlbot.net is down, Issue-label-bot stopped labeling issues

I noticed in one of my repositories issue-label-bot didn't add its comment after new issue had been created. When I wanted to investigate it futher on mlbot website I got 502 error page

According to https://downforeveryoneorjustme.com/mlbot.net issue-label-bot site is down

I also noticed this when I was investigating why labels were not being applied to the kubeflow repo.

I also noticed this when I was investigating why labels were not being applied to the kubeflow repo.

We are deprecating this bot in production, noted on the README as well.

We are deprecating this bot in production, noted on the README as well.


Fix host with anonymous connection

I'm actually making an attempt to add XMPP anonymous connection to Matterbridge. And when trying to connect it seems to not sending a domain (host) to the XMPP server. So I fixed that.

Use a switch statement rather than a if-else chain

Upstream accepted the fix: https://github.com/mattn/go-xmpp/pull/129

Thanks!


Banner aspect ratio can not be changed on Linux/Firefox

Describe the bug
On Firefox (Linux) 114.0b4, there is no way to change the aspect ration of a banner image.
To Reproduce
Steps to reproduce the behavior:

Attempt to load an image suitable for a banner (say 3:1).

Expected behavior
I expected to be able to change the aspect ratio.  On Chromium (Linux), there are in fact three buttons but the horizontal and vertical aspect ratios provide very slight changes from a plain square.  In the Android app, loading the same image results in the expected banner orientation (though my banner is a bit too large and does in fact get clippted
Screenshots

Details

Platform: Xubuntu Linux with the latest Firefox and Chromium
Platform version: 22.04
App version: Build version TODO (TODO)

Ah, yes indeed this is not the right behavior

The cropper should be in the correct aspect ratio for the banner

This is an issue on Windows too.
Firefox 114.0.2 (64-Bit)

I used Chrome on Mac when I signed up a few days ago (because it seemed to work better than Firefox), but it's not behaving yet as it should.

https://bsky.app/profile/marbules.bsky.social/post/3k3cto7gbvj2y

Uploading / replacing the banner picture should have a cropping option that fits with the banner picture dimensions.

At least let me open somebody's banner picture in a new tab so I can see what's on it?

@pfrazee This is an issue in the profile picture cropper too: it requires you to fill the aspect ratio of the uploaded image rather than the actual square crop (meaning you have to zoom in to crop anywhere other than centre).

Adding a banner picture still doesn't work as it should. What are the dimenstions my picture needs so it is displayed as I intent?

Is this something that I could try to work on if I want to try my hand at hacking on the bluesky app or is it already WIP internally?

Is this something that I could try to work on if I want to try my hand at hacking on the bluesky app or is it already WIP internally?

Actually this would be a great one to hit, it's not on our TODOs and pretty straightforward in its scope

@pfrazee not sure how it works here, but PR is ready for review ✅ (hope pinging isn't bad form here 😅)


Add project settings to manually specify API usage

As a result of the GLES specifications being vague about best practice for how buffers should be used dynamically, different GPUs / platforms appear to have different preferences.
Mac in particular seems to have a number of problems in this area, and none of the rendering team uses Macs. So far we have relied on guesswork to choose the best usage, but in an attempt to pin this down, this PR provides manual selection of options for users to test their configurations, and see how they respond to different API use.
Notes

I'm including this PR as an option to merge during the next beta (or one of the betas)
I tried to directly make a build for the user reporting the issue but they could not run it. (#43038)
I'm not keen on having these exposed in the stable releases, but can't see a problem exposing them in one or two betas.
They will probably have little effect for most people on desktop on linux and windows, but may have major effect on some Macs.
This can either be reverted, or have another PR to turn off once we are satisfied with the results.
Alternatively we could just make a test build with this PR for the Mac users.

Yes sorry that was I thought the PR would just be for testing at first. Changes made. :grin:
BTW the other 2 PRs are more pressing as they solve active bugs (custom shaders and lines), so those are higher priority for the next beta.

Thanks!
Can you add instructions to #42899 (or #43038 if more appropriate, which can be linked in #42899) on how to use those testing options to help debugging in 3.2.4 beta 2+?


Inconsistent list behavior on Windows

opendal version
https://github.com/apache/incubator-opendal/tree/7d5524f35f29f7eda8131e8b0873590b7cbe34ab
minimal reproduction

Fs backend with "/" root

let mut builder = Fs::default();
    let _ = builder.root("/");
    let object_store = Builder::new(builder)
        .unwrap()
        .finish();

List a path

 let streamer = self
                    .object_store
                    .lister_with("C:/to/path/file") // on Linux: `/to/path/file`
                    .await
                    .unwrap();
 streamer.try_collect::<Vec<_>>()
                    .await
                    .unwrap();

The above code works well in 0.36 (both on Windows and Linux, macOS), But after we upgraded the version to 0.39, it failed on Windows.
log output and stack trace
cannot fail because the prefix is iterated: StripPrefixError(())

https://github.com/apache/incubator-opendal/blob/9ea8b93d3964af86dee24b9b941efdd67038e6a8/core/src/services/fs/pager.rs#L58-L64

It's more like a bug that 0.36 can list a folder under C:/to/path/file. It's a strong requirement that OpenDAL can only list folder under root. So we should configure C:/ in root instead.

Closing...
Please feel free to reopen it.


Static analysis: warn about too long contracts

After "spurious dragon", the deploy size is limited to 24576 bytes, this should be checked.

This is not really the static analyzer as it doesn't operate on the AST, rather a warning from remix.

fixed

We actually added this code to the compiler too :)


Add endpoint to fetch all active task states

cc @szabowexler , this should be a faster way to fetch what you're looking for

🚢


Add support for llama.cpp --n_gpu_layers

llama.cpp a day ago added support for offloading a specific number of transformer layers to the GPU (https://github.com/ggerganov/llama.cpp/commit/905d87b70aa189623d500a28602d7a3a755a4769).
llama-cpp-python already has the binding in 0.1.15 (n_gpu_layers, https://github.com/abetlen/llama-cpp-python/commit/cdf59768f52cbf3e54bfe2877d0e5cd3049c04a6#diff-9184e090a770a03ec97535fbef520d03252b635dafbed7fa99e59a5cca569fbc), but llama.py and llama_cpp.py don't use --n_gpu_layers yet.
Describe the solution you'd like
Add support for --n_gpu_layers.
Additional context
I get around 50% speedup by offloading some (25-40) of the transform layers work to the GPU in the latest llama.cpp.
https://www.reddit.com/r/LocalLLaMA/comments/13gok03/llamacpp_now_officially_supports_gpu_acceleration/

N_GPU_LAYERS=1000
seems to already be working for me:
docker run -e CUDA_VISIBLE_DEVICES=1 -e MODEL=/var/lib/models/Wizard-Vicuna-13B-Uncensored-GGML/Wizard-Vicuna-13B-Uncensored.ggml.q5_1.bin -e N_CTX=512 -e CACHE=1 -e CACHE_SIZE=17179869184 -e N_GPU_LAYERS=1000 --cap-add SYS_RESOURCE -v /data/llama:/var/lib/models -p 8000:8000 --gpus all lcp:cublas07

==========
== CUDA ==
==========

CUDA Version 12.1.1

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

llama.cpp: loading model from /var/lib/models/Wizard-Vicuna-13B-Uncensored-GGML/Wizard-Vicuna-13B-Uncensored.ggml.q5_1.bin
llama_model_load_internal: format     = ggjt v2 (latest)
llama_model_load_internal: n_vocab    = 32000
llama_model_load_internal: n_ctx      = 512
llama_model_load_internal: n_embd     = 5120
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 40
llama_model_load_internal: n_layer    = 40
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 9 (mostly Q5_1)
llama_model_load_internal: n_ff       = 13824
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 13B
llama_model_load_internal: ggml ctx size =  90.75 KB
llama_model_load_internal: mem required  = 11359.05 MB (+ 1608.00 MB per state)
....................................................................................................
llama_model_load_internal: [cublas] offloading 40 layers to GPU
llama_model_load_internal: [cublas] offloading output layer to GPU
llama_model_load_internal: [cublas] total VRAM used: 9192 MB
llama_init_from_file: kv self size  =  400.00 MB
AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | VSX = 0 |
INFO:     Started server process [27]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

I'm trying this right now and it's only using the cpu. did a clean pip install and build. windows 10 with all the cuda stuff installed. Any suggestions? I see you have [cublas]. what is that? There doesn't seem to be any instructions here to get gpu running?

Please try the script in #182 as I don't know anything about windows builds.
I run with NVidia containers in Docker on Ubuntu 22.04, which means everything is pre-installed and configured, except llama-cpp-python

This is all very very complicated. It builds the latest version when I install it, shouldn't this just work on the GPU with this new n_gpu_layers? What is this script even doing?

GPU support is very complicated.
To quote Wizard-Vicuna-13B-Uncensored.ggml.q5_1.bin:
Complex systems are
Sophisticated, yet delicate
Performance matters most

If you don't have the time, you might want to try 128 vCPUs from AWS:
x1.32xlarge

Impossible to give fixed guidelines as it is dependent on your model size, GPU VRAM and context size.
Run nvidia-smi and do a rough search using: 4, 8, 16, 32
You'll want to leave some VRAM free for the context.

@gjmulder Can you go into a bit more detail? What criteria do I go by after calling nvidia-smi? To be specific: Gemma-29b-it has a total of 43 layers. You suggest to increase the number of layers iteratively. But what is the criteria i am then looking at? The remaining VRAM? The gpu utilization? At what point should I stop increasing the number of layers being offloaded?


No error highlighting - but only on certain projects

On newer versions of Rust Analyzer (anything after 0.2.159 on the marketplace), I don't get error reporting (i.e. the red squiggles when I mistype) any more - but only for one project in particular. Other features of the plugin work fine, and other repos can report errors fine, it's just this one project as far as I can tell.
The repository in question is https://github.com/17cupsofcoffee/tetra.
How would I go about narrowing down the cause of this? I know there's various logs/traces I can turn on in RA, but I'm a bit unsure of where to start 😅 I have noticed that the cargo check notice seems to stay visible for a lot longer when I hit save than it used to - not sure if I might be running into a timeout or something?

It works for me:

rust-analyzer basically runs cargo check --all-features --message-format=json each time you save a file. Does that command work as expected?
See also #4443.

Oh, I see the issue now - --all-features is enabling a feature flag in my library which attempts to build SDL2 from source, and that doesn't work because I don't have cmake installed on my machine. This also explains why the cargo check is taking so long - the build script is doing loads of stuff in the background before it falls over.
That feature flag has never compiled on my machine, and RA has always used --all-features, so I'm not sure why this has only suddenly become an issue now. I'll have to have a dig through the changelog and see if something relevant changed (maybe something to do with features or build scripts).
Either way, this isn't an issue in RA itself - I just need to disable rust-analyzer.checkOnSave.allFeatures when working on this library by the sounds of it. Thank you for the insight!

I think it would make sense to disable rust-analyzer.checkOnSave.allFeatures by default. There's plenty of projects with incompatible features (even though you're not supposed to do that), or where some features don't work because they require a library, compiler or nightly toolchain version.


Feature/add optional dbt resource type

Processing https://github.com/datnguye/dbterd/issues/13

Thank you for the suggestion, @datnguye. I will make the changes this weekend.

@datnguye  Modified, please continue, thanks!


Update swatches to include outlook color

when updating in chapstick, be sure to check usage in static/style/foundation/components/_social-buttons.scss

fixed in develop d8072472e37e6aa70f900c5dfb76ec4b5c26bc8a


Two links rendered for file protocol url

Testing #172084
With a protocol link like vscode-insiders://file/C:/Users/huer/path/to/file/that/exists.txt, I get two links in the terminal:

hovering over the vscode-insisders:// part of the link gets me the protocol link interpretation of the text
hovering over the /Users/huer/path/to/file/that/exists.txt part of the link gets me the 'Open file in editor' link action

The keybinding for both is ctrl+enter, and clicking on both yields two different editors in the file, one with the drive and one without:

@joyceerhl I don't think it's a valid URI with the : in /C:/ is it?

I'm not sure, but our openerService seems happy with it:

The protocol link is working, but this is happening because the local link detector is validating the /Users/... part as a validated local link which takes priority.


Enhancement: Keybinds

Would you be able to add custom keybinding support?

pause menu > change keybinds?


Occurance count() vs search()['count']

I get an explainable behavior when I'm calling the occurances.count() using a list of dataKey.

lets count occurances on one dataset1

occ.count(taxonKey=3190653, datasetKey=['7a3679ef-5582-4aaa-81f0-8c2545cafc81'])
>> 988

lets do the same for another dataset

occ.count(taxonKey=3190653, datasetKey=['50c9509d-22c7-4a22-a47d-8c48425ef4a7'])
>> 12709

Now, I would expect that using both keys will get me 988 + 12709, but instead returns

occ.count(taxonKey=3190653, datasetKey=['7a3679ef-5582-4aaa-81f0-8c2545cafc81', '50c9509d-22c7-4a22-a47d-8c48425ef4a7'])
>> 988

When I use the occurance search to get the count

occ.search(taxonKey=3190653, datasetKey=['7a3679ef-5582-4aaa-81f0-8c2545cafc81', '50c9509d-22c7-4a22-a47d-8c48425ef4a7'], limit=0)['count']
>> 13697

the result seems to be as expected. Is this a bug or is there any other reason for the different behaviors?

I think count and search work slightly differently. count only allows one value per query while search allows more than 1. I can document that better.
for count i guess a list comprehension or similar would work

I think count and search work slightly differently. count only allows one value per query while search allows more than 1. I can document that better.

great! that helps!

for count i guess a list comprehension or similar would work

sure, but is there any reason to prefer the count api over search()['count'] then?

At one point a few years back they said they would deprecate the occurrence/count route https://dev.gbif.org/issues/browse/POR-3173/ but it is still around.
there may be a time penalty for using search instead of count, I don't know. search seems better since you can do multiple dataset keys

Right. Thanks a lot. I guess this can be addressed with updated docs. I can review a PR of that helps.


Added none property in a DismissDirection

Description
It'd be nice to have a DismissDirection.none to make a widget wrapped with Dismissible become non-dismissible.
Related Issues
Fixes #68862
Tests
I added the following tests:

Added test to dismissible to check for non-trigger of dismiss.

Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.

Internally some of the widget's implementation uses DismissDirection?.  Are there cases where DismissDirection.none should be used instead of null?

Internally some of the widget's implementation uses DismissDirection?. Are there cases where DismissDirection.none should be used instead of null?

I have found a few cases where there are assert(widget.direction != null); , apart from these I don't see this case anywhere else. Should these be replaced with assert(widget.direction != DismissDirection.none); ?

Hi, I'm happy to create an issue if that's the better place to put this but the DismissDirection.none disables vertical scroll in parent widgets because DismissDirection.none means _directionIsXAxis returns false.
The below should cater for DismissDirection.none.
return GestureDetector(
      onHorizontalDragStart: _directionIsXAxis ? _handleDragStart : null,
      onHorizontalDragUpdate: _directionIsXAxis ? _handleDragUpdate : null,
      onHorizontalDragEnd: _directionIsXAxis ? _handleDragEnd : null,
      onVerticalDragStart: _directionIsXAxis ? null : _handleDragStart,
      onVerticalDragUpdate: _directionIsXAxis ? null : _handleDragUpdate,
      onVerticalDragEnd: _directionIsXAxis ? null : _handleDragEnd,
      behavior: widget.behavior,
      child: content,
      dragStartBehavior: widget.dragStartBehavior,
    );

_directionIsXAxis is no longer mutually exclusive to Axis.horizontal or Axis.vertical. You have a tri-state now.
I have tested the below and it works for my scenario.
Add:
 bool get _directionIsYAxis {
    return widget.direction == DismissDirection.vertical ||
        widget.direction == DismissDirection.up ||
        widget.direction == DismissDirection.down;
  }

and then change the GestureDetector:
    return GestureDetector(
      onHorizontalDragStart: _directionIsXAxis ? _handleDragStart : null,
      onHorizontalDragUpdate: _directionIsXAxis ? _handleDragUpdate : null,
      onHorizontalDragEnd: _directionIsXAxis ? _handleDragEnd : null,
      onVerticalDragStart: _directionIsYAxis ? _handleDragStart : null,
      onVerticalDragUpdate: _directionIsYAxis ? _handleDragUpdate : null,
      onVerticalDragEnd: _directionIsYAxis ? _handleDragEnd : null,
      behavior: widget.behavior,
      child: content,
      dragStartBehavior: widget.dragStartBehavior,
    );

However, there are a lot of places where _directionIsXAxis == false is assumed to mean the direction is in the Y-Axis, when now we have a possible 3rd state of neither.


Make snekbox 3.11 stable default, with 3.10 as an option

The manifests in https://github.com/python-discord/kubernetes/pull/144 should be applied before this PR is merged.
3.11 is now the default version for snekbox, so we no longer need a special cased 3.11 service. This 3.10 service has been created so that we can retain the version swapping capiblities for the next time we want to do something similar.

3.11 was already deployed (and we don’t need wheels since we have gcc in the snekbox image)

yeah the bottom line is that if we can have all of the usual libraries available then I don't think we need to have 3.10 as an option. We had two versions only because we wanted to promote 3.11 before its release.

With https://github.com/python-discord/snekbox/pull/175 around the corner, and the recent config changes, I don't think updating this PR is worth the effort.


Add PHP 7.2 support

[x] Adopt recent .travis.yml ZF standards (zend-session/.travis.yml picked)
[x] Test PHP 7.2
[x] Add PHP 7.2 support

idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated

Fix https://github.com/zendframework/zend-mail/issues/177, https://github.com/zendframework/zend-mail/issues/183
Supersedes https://github.com/zendframework/zend-mail/pull/181, https://github.com/zendframework/zend-mail/pull/192

zend-validator has already been updated. I think that it would be okay to change the required version of zend-validator in the composer.json file from ^2.6 to ^2.10. Then, the Travis could be run again and merge the PR.

Ping @weierophinney @froschdesign @Ocramius

Taking this over as soon as I have a second

Verified locally - re-running travis since it failed due to environment misconfiguration.

WTH, this package still has PHP 5.6 support? Off with its head!

@webimpress that's what I'm currently preparing.

Thanks @Slamdunk!


Handle complex typed parameters

Currently getting parameter type is just based on type key and library is not aware of schema field. In fact it cannot do validation checks for complex-typed parameters.
For example:
  parameters:
    - name: entities
      in: body
      required: true
      schema:
        type: array
        items:
          $ref: "#/definitions/entity"

Can you include full definition of entity, please ;)

In swagger.yml below:
swagger: '2.0'
info:
  title: entities management
  version: 2.0.0
schemes:
  - http
consumes:
  - application/entities.management.api.v1+json
  - application/json
  - text/plain
produces:
  - application/entities.management.api.v1+json
  - application/json
paths:
  /entities:
    post:
      tags:
        - entities
      operationId: createEntities
      summary: Create new entities
      parameters:
        - name: entities
          in: body
          required: true
          schema:
            type: array
            items:
              $ref: "#/definitions/entity"
      responses:
        201:
          description: Created all
          schema:
            type: object
            properties:
              entities:
                type: array
                items:
                  $ref: "#/definitions/entity"
        207:
          description: Created some
          schema:
            type: object
            properties:
              entities:
                type: array
                items:
                  $ref: "#/definitions/entity"
              errors:
                type: array
                items:
                  $ref: "#/definitions/error"
        default:
          description: error
          schema:
            $ref: "#/definitions/error"
definitions:
  entity:
    type: object
    required:
      - entityId
      - name
    properties:
      entityId:
        type: integer
        format: int32
        readOnly: true
        description: Internal identifier of an entity
      name:
        type: string
        description: Name of an entity

  error:
    type: object
    required:
       - message
    properties:
      code:
        type: integer
        format: int64
      message:
        type: string
      fields:
        type: array
        items:
          type: string

/entities POST request requires this json in body:
[
  {
    "entityId": 1,
    "name": "1st Entity name"
  },
  {
    "entityId": 2,
    "name": "2nd Entity name"
  },
  {
    "entityId": 3,
    "name": "3rd Entity name"
  }
]


Modsecurity + Nginx Only warnings in log file, no blocking of attacks

I have Nginx 1.14.0, Modsecurity 3 with nginx connector. Owasp 3.0.0. Ubuntu -14.04.
Modsecurity is not blocking  attacks although warning logs can be seen in /var/log/modsec_audit.log.
Also, I do have SecRuleEngine On in my modsecurity.conf.
Also, replaced "Include /usr/local/owasp-modsecurity-crs/rules/*.conf"  with list of individual conf file as answered in https://github.com/SpiderLabs/owasp-modsecurity-crs/issues/777 .
Why it is not blocking the attack?
Below is my /etc/nginx/conf.d/default.conf file contents:
server {
    listen       80;
    server_name  localhost;

    modsecurity on;
    modsecurity_rules_file /etc/nginx/modsec/main.conf;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://<IP_ADDRESS>:8080/;
    }

Is it something related with anomaly score? because attack is blocked when Self-contained mode  is enabled instead of Anomaly mode(Default) in /usr/local/owasp-modsecurity-crs-3.0.0/crs-setup.conf.
I have attached modsec_audit.log.
modsec_audit.log

Hi @AnnuA,
Are you using the latest codebase of ModSecurity 3 from master?
By looking at your audit logs I think there's a chance that your issue is related with issue https://github.com/SpiderLabs/ModSecurity/issues/1808.
You could maybe try with an earlier version (e.g. 3.0.2 / 3.0.1) OR test it with applying https://github.com/SpiderLabs/ModSecurity/pull/1810 to see if the issue persists?

Yes @victorhora , I am using latest codebase.
I have tried using TX.PARANOIA_LEVEL instead tx.paranoia_level, still does not work.
Can you please send me the link for codebase 3.0.1.

I have installed modsecurity from branch v3/twaf/v3.0.2.
Now, it is working.

Ok @AnnuA, so it might be related with SpiderLabs/ModSecurity#1808. You can keep using 3.0.2 until the fix is applied to the master. As I've mentioned, there's also an experimental fix that you can also try.
By the way, you can use the branch v3/twaf/v3.0.2 as you've mentioned, but the official releases are available here: https://github.com/SpiderLabs/ModSecurity/releases
Thanks for the feedback.

As pointed out by @zimmerle at https://github.com/SpiderLabs/ModSecurity/issues/1808#issuecomment-400395175, this has been fixed by commit https://github.com/SpiderLabs/ModSecurity/commit/d810de9166794be2bee972fffb0e09cb0b8d6ec5.
So please clone the current code at master and the issue should be fixed.
Closing this one. If the issue persists, let us know and we can reopen. Thanks.


Change - Ensure that the postgres data dir has proper selinux context

The postgresql data directory needs to be set to the postgresql_db_t
type.  The selinux context was being set to 'etc_t' by default.

Can you please have a look at the failing tests, we cant merge if the tests are failing.

Are tests being run with SELinux enabled?  Based on the errors it looks like puppet isn't able to access the postgres data directory.

the acceptance tests work, there is code to enable selinux. it is only failing on unit tests for puppet 4 and above. the ::selinux variable is not set. This could be fixed by explicitly setting it in the tests.

Does rspec puppet treat boolean facts as a string?  The spec_helper_acceptance.rb file has an if statement that appears to be treating $selinux as a string.
# Set up selinux if appropriate.
    if fact('osfamily') == 'RedHat' && fact('selinux') == 'true'
      pp = <<-EOS
        if $::osfamily == 'RedHat' and $::selinux == 'true' {
          $semanage_package = $::operatingsystemmajrelease ? {
            '5'     => 'policycoreutils',
            default => 'policycoreutils-python',
          }

          package { $semanage_package: ensure => installed }
          exec { 'set_postgres':
            command     => 'semanage port -a -t postgresql_port_t -p tcp 5433',
            path        => '/bin:/usr/bin/:/sbin:/usr/sbin',
            subscribe   => Package[$semanage_package],
          }
        }
      EOS

      apply_manifest_on(agents, pp, :catch_failures => false)
    end

I believe true should not be quoted here since it is a boolean value.

I've updated the PR and tests are passing now.
On 12/22/2016 05:00 AM, TP Honey wrote:

the acceptance tests work, there is code to enable selinux. it is only
failing on unit tests for puppet 4 and above. the ::selinux variable
is not set. This could be fixed by explicitly setting it in the tests.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/puppetlabs/puppetlabs-postgresql/pull/827#issuecomment-268763577,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARL1d-KV0_N6sGLuXEn5BN39PYE7maf6ks5rKkpPgaJpZM4LK_cO.


sq.pl.spatial_scatter() for stereo-seq without .uns['spatial']

Hi, I am using Squidpy to generate scatter plot for stereo-seq datasets. However, there is no .uns['spatial'] for the data.
I tried to force the plot without the image:
sq.pl.spatial_scatter(adata,img=False,color=['Fgf9'])
But I still got the error "Spatial key 'spatial' not found in adata.uns."
As stated in the documentation: If no image is plotted, it defaults to a scatter plot, see matplotlib.axes.Axes.scatter()
So what do I miss to plot the scatter without image?
Thank you.
...

you need to pass the argument shape=None


Installation of homebridge-daikin-cloud fails on Raspberry Pi

npm i homebridge-daikin-cloud returns 4 vulnerabilities (3 moderate and one high). The plugin will not start.  Using npm audit report, the following report shows up:
npm audit report
node-forge  <=1.2.1
Severity: high
Open Redirect in node-forge - https://github.com/advisories/GHSA-8fr3-hfg3-gpgp
Prototype Pollution in node-forge debug API. - https://github.com/advisories/GHSA-5rrq-pxf6-6jx5
URL parsing in node-forge could lead to undesired behavior. - https://github.com/advisories/GHSA-gf8q-jrpm-jvxq
Improper Verification of Cryptographic Signature in node-forge - https://github.com/advisories/GHSA-2r2c-g63r-vccr
Improper Verification of Cryptographic Signature in node-forge - https://github.com/advisories/GHSA-x4jg-mjrx-434g
Improper Verification of Cryptographic Signature in node-forge - https://github.com/advisories/GHSA-cfm4-qjh2-4765
No fix available
node_modules/node-forge
http-mitm-proxy  *
Depends on vulnerable versions of node-forge
node_modules/http-mitm-proxy
daikin-controller-cloud  *
Depends on vulnerable versions of http-mitm-proxy
node_modules/daikin-controller-cloud
homebridge-daikin-cloud  *
Depends on vulnerable versions of daikin-controller-cloud
node_modules/homebridge-daikin-cloud
4 vulnerabilities (3 moderate, 1 high)
Some issues need review, and may require choosing
a different dependency.

If I'm correct we need an update from the https://github.com/joeferner/node-http-mitm-proxy package. The issue has been fixed but not released yet. Others and I asked the owner to release the fix:

https://github.com/joeferner/node-http-mitm-proxy/issues/263
https://github.com/joeferner/node-http-mitm-proxy/issues/265

Should be fixed with an override in<EMAIL_ADDRESS>


APIClient should renew auth tokens if expired

When the authentication tokens for a user expire the APIClient throws an exception. It should instead try to renew the authentication tokens if needed.

I came across an InvalidAuthToken exception today, using HEAD of the dict-access branch:
2015-07-19 14:17:08,443 - INFO     Resetting dropped connection: internal-tuner.pandora.com
2015-07-19 14:17:08,865 - WARNING  /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
2015-07-19 14:17:12,166 - ERROR    Unhandled exception in Core (urn:uuid:b2c5aed8-4483-48ca-8dcf-6154cbf85616):
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pykka/actor.py", line 200, in _actor_loop
response = self._handle_receive(message)
File "/usr/local/lib/python2.7/dist-packages/pykka/actor.py", line 294, in _handle_receive
return callee(*message['args'], **message['kwargs'])
File "/var/lib/git/mopidy/mopidy/listener.py", line 49, in on_event
getattr(self, event)(**kwargs)
File "/var/lib/git/mopidy/mopidy/core/actor.py", line 87, in reached_end_of_stream
self.playback._on_end_of_track()
File "/var/lib/git/mopidy/mopidy/core/playback.py", line 223, in _on_end_of_track
self._change_track(next_tl_track)
File "/var/lib/git/mopidy/mopidy/core/playback.py", line 199, in _change_track
self._play(on_error_step=on_error_step)
File "/var/lib/git/mopidy/mopidy/core/playback.py", line 319, in _play
backend.playback.change_track(tl_track.track).get() and
File "/usr/local/lib/python2.7/dist-packages/pykka/future.py", line 299, in get
exec('raise exc_info[0], exc_info[1], exc_info[2]')
File "/usr/local/lib/python2.7/dist-packages/pykka/actor.py", line 200, in _actor_loop
response = self._handle_receive(message)
File "/usr/local/lib/python2.7/dist-packages/pykka/actor.py", line 294, in _handle_receive
return callee(*message['args'], **message['kwargs'])
File "/var/lib/git/mopidy-pandora/mopidy_pandora/actor.py", line 74, in change_track
pandora_track = self._next_track(track_uri.station_token)
File "/var/lib/git/mopidy-pandora/mopidy_pandora/actor.py", line 60, in _next_track
self.tracks = iter(self.backend.api.get_playlist(station_token))
File "/var/lib/git/mopidy-pandora/mopidy_pandora/pydora.py", line 39, in get_playlist
return super(MopidyPandoraAPIClient, self).get_playlist(station_token)
File "/var/lib/git/pydora/pandora/client.py", line 120, in get_playlist
includeTrackLength=True))
File "/var/lib/git/pydora/pandora/client.py", line 93, in call
self._authenticate()
File "/var/lib/git/pydora/pandora/client.py", line 82, in _authenticate
returnCapped=True)
File "/var/lib/git/pydora/pandora/transport.py", line 168, in call
return self._parse_response(result)
File "/var/lib/git/pydora/pandora/transport.py", line 158, in _parse_response
raise PandoraException.from_code(result["code"], result["message"])
InvalidAuthToken: Invalid Auth Token
2015-07-19 14:17:12,194 - WARNING  Tried to communicate with dead actor.
2015-07-19 14:17:12,203 - INFO     New MPD connection from [::ffff:<IP_ADDRESS>]:53566
I'm not sure why the re-authentication routines would also raise this exception, but it looks to be happening.

This happened after about 90 minutes of continuous playback. Is it not perhaps necessary to also reset the start_time attribute of the APITransport instance every time a re-authentication is done?

Yeah I noticed it again too. I'm going to try resetting all transport parameters when partner login happens to see if that fixes it.


Is the frontend code available?

Hi Deepset team,
I'm wondering if we can kindly share the PromptHub frontend code? https://prompthub.deepset.ai

Hi @AyhamB , unfortunately the PromptHub frontend code is not public at this point in time.


Radio markers - Link back to possible intel from this radio

As suggested by @SxyDragon

We will consider linking the radio intel back to the actual radios you can retrieve them from, however this would take some work to try and accumulate all the radios and the intel they link back to, once we implement the way it will work, I'll happily take submissions of data in this thread.

Will look to get this in as part of V2, will need help linking the radios with the possible Intel. I'll get the framework in place


Add a command template for reference

Description
Please include a summary of the changes and the related issue.
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works

Current dependencies on/for this PR:

develop

PR #46   👈

This comment was auto-generated by Graphite.


Use method names fromMap() & toMap()

When using the 'Use method names fromMap() & toMap()' option, not every reference is changed fromJson to fromMap, even in the comment section.
Sample JSON data:
[
    {
        "email"<EMAIL_ADDRESS>        "name": "John Doe",
        "image": "image.png",
        "dateTimeCreated": "01-01-20202:12:00:00"
    }
]

Result:
// To parse this JSON data, do
//
//     final contact = contactFromJson(jsonString);

import 'dart:convert';

List<Contact> contactFromJson(String str) => List<Contact>.from(json.decode(str).map((x) => Contact.fromMap(x)));

String contactToJson(List<Contact> data) => json.encode(List<dynamic>.from(data.map((x) => x.toMap())));

class Contact {
    String email;
    String name;
    String image;
    String dateTimeCreated;

    Contact({
        this.email,
        this.name,
        this.image,
        this.dateTimeCreated,
    });

    factory Contact.fromMap(Map<String, dynamic> json) => Contact(
        email: json["email"],
        name: json["name"],
        image: json["image"],
        dateTimeCreated: json["dateTimeCreated"],
    );

    Map<String, dynamic> toMap() => {
        "email": email,
        "name": name,
        "image": image,
        "dateTimeCreated": dateTimeCreated,
    };
}

First comment says: final contact = contactFromJson(jsonString); but it should be final contact = contactFromMap(jsonString);
Perhaps instead of jsonString it could say data
Instead of factory Contact.fromMap(Map<String, dynamic> json) it could say factory Contact.fromMap(Map<String, dynamic> data)
In other words when choose the Map option it would be nice to remove as much of the Json word to data (or some other name like object).
Thank you,

Thank you.


.Net: Propagate original unwrapped exception from NativeMethod

Motivation and Context
Native method invocation happens via MethodInfo.Invoke, which by default wraps the underlying exception in a TargetInvocationException. This is an implementation detail that should not be exposed to the consumer. This fixes it to propagate the original exception instead.
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

The CI format leg is failing because of warnings in main.  I've fixed them in https://github.com/microsoft/semantic-kernel/pull/3536.


Search strategy selection and timeout implementation

It might make sense to in a future pr implement the following:

Make max-depth vs time constraints optional and implement cleaner instantation

Other than that this pr allows the user to select a search strategy and an execution timeout, the combination of which should allow the user to select circumvent some problems
closes #186

Works in my tests. Seems like this will be really useful once we have refactored tests to use callbacks :)


Add files via upload

it focuses on various methods and techniques for anti-forensics

We have considered the changes you have made to our code, but we see an unnecessary amount of variable name changes that make no sense. Still we appreciate the changes like a subprocess to remove the .evtx logs or even the optimization of some lines of code.
Everything will be taken into account, but the fact of not having used libraries like subprocess was to avoid using the windows console, otherwise we would have used tools like shred as the bash script.
Again we thank you very much for your work and collaboration, and we will make adjusted changes.


Allow specifying RSpec command line options

Spin will ignore any arguments passed to spin serve that are not paths to files:
https://github.com/jstorimer/spin/blob/72fbfc6ab6a1de48ffdcd0229488649f7ec4da05/bin/spin#L191
This is unfortunate, as it prevents passing RSpec options to spin serve. I propose spin support a way to send in ARGV options that get set as the ARGV in the forked process.
Maybe we could use this style:
spin push -- --color --profile --tag type:model

Thoughts?

Makes sense to me. I like it.


Istioctl: generate and use bearer token but don't persist it

Resolves https://github.com/istio/istio/issues/24905
If the user does istioctl x version --xds-address localhost:15012 the response is
client version: 1.8-dev
control plane version: 1.8-alpha.658e8a9d0922a9f83b90285aff05951efa5416eb
data plane version: 1.8-alpha.658e8a9d0922a9f83b90285aff05951efa5416eb (1 proxies)

If the user creates the directory, mkdir ~/.istioctl, the command will silently create a token with one hour life.
When the token expires, a new token will replace it.  Creating and checking the token requires K8s.  Non-K8s users may continue to use certs.
This PR introduces a new CLI option.

--plaintext forces plain text communication, for 15010

@costinm @howardjohn This PR is significantly reworked and is ready for another review.

It now uses grpc/credentials.PerRPCCredentials.  That was exactly the interface I needed, thanks for pointing it out.
It doesn't persist.  I did a version with all of the changes asked for -- using JSON, different filenames, etc -- but like Costin I am nervous about persisting.  We can add back the persisting in a follow-up, for non-K8s cases.
You asked what kubectl does.  On IBM Cloud we use OIDC.  ~/.kube/config stores user tokens.  Standard JWT decoders decode some of these, others were not exactly base64.  But they all just lived in the kube config file, permissions 0600.

Can we get --help clarification on how to use each auth options (cert/jwt) and when a user might prefer one or the other?

@therealmitchconnors I am revising the help Example: sections for version and proxy-status to reflect what I believe will be the new typical option combinations.  Will that be sufficient?  I don't want to revise the output of istioctl options until these commands become the only way to get the version and proxy status.

@esnible: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-multicluster-k8s-tests_istio
1b378e530b9cb78daf9df67a08dda511b1616b44
link
/test integ-multicluster-k8s-tests_istio

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

/test integ-multicluster-k8s-tests_istio
What is "failed to load kernel module"?


refactor(Makefile): make annihilate deletes everything

Previously make annihilate didn't delete the image policy CRD and the connaisseur namespace. Now it does, which allows to freshly reinstall connaisseur eventhough changes to the image policies format were made.

Codecov Report

Merging #185 (2744aa0) into develop (17231a0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #185   +/-   ##
========================================
  Coverage    96.65%   96.65%
========================================
  Files           22       22
  Lines         1077     1077
========================================
  Hits          1041     1041
  Misses          36       36

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 17231a0...2744aa0. Read the comment docs.

It's not a refactor as it changes behaviour. Otherwise, lgtm

Could you rename it, since it is not a refactor


Move Graphiti from Ruby-Client to Ruby-Rails-Server

Graphiti is a server library, not a client.

@timkrins thanks for the correction!


feat: snapshot and revert cheatcodes

Component
Forge
Describe the feature you would like
Cheatcodes that allow you to take a snapshot, then revert the executer's state back to the snapshot. One possible API is:
bytes32 id = vm.snapshot();

// do something

vm.revertTo(id);

which would be similar to Ganache's evm_snapshot/evm_revert
The use case is to do some state changing operation(s), derive a value, then revert the changes (similar to using callStatic using ethers). It feels like the tricky part might be to revert state while preserving values assigned in the test contract before the reversion, but it's been a while since I looked through foundry's codebase ~
@hexonaut I think you mentioned this in chat a while ago as well?
Additional context
Example uses include:

AMM effective price "pseudo swaps" (determine the price from a swap before doing it)
Seeing how much interest would be collected w.o actually collecting it
Check the effects of a gov proposal on a mainnet fork w.o executing it

I know some people have achieved the same effect by passing a value in as a revert message and catching it, a bit like uni's quoter v2 does, but this feature would enable a cleaner pattern

Yes I mentioned this. You can do this without cheatcodes via a revert though.

Yes I mentioned this. You can do this without cheatcodes via a revert though.

Yea, think it's not the best pattern, but certainly could be that it serves ppl's needs well enough for the moment. Out of curiosity, what's the use case you have?

This is pretty hard to do, and if it's solveable without cheatcodes, I'm not sure it's a good idea for us to implement it given the complexity. It might be better to publish a package that has helpers for this instead. cc @gakonst on thoughts on this
In terms of your two first examples as well, is there any reason you would not expose information like that in a view function? And for the third, I'm not sure I completely understand - can you elaborate?

This is pretty hard to do, and if it's solveable without cheatcodes, I'm not sure it's a good idea for us to implement it given the complexity. It might be better to publish a package that has helpers for this instead

Fair, tbh if we can solve it with a helper function then agreed that feels better :)

In terms of your two first examples as well, is there any reason you would not expose information like that in a view function?

Yea, some projects choose not to add a second path for view-only. I know uni v3 requires you to do the revert to get the price (zefram tweet), whereas balancer has a parallel view path

And for the third, I'm not sure I completely understand - can you elaborate?

yea, was thinking: fork mainnet -> execute maker gov proposal e.g. (which changes parameters) -> take some action (pay back dai debt) and read the resulting state -> revert back and use this value for some check. In fairness, this example is more contrived than the others and I haven't run into it personally

+1 for this, missing too when migrated from brownie
I am actually using the following workaround based on try/catch and external contracts (contexts)
It leverages an ancillary contract where you have to write (test) block statements where you revert
Fully solidity no cheat codes
pragma solidity ^0.8.0;

import {DSTest} from "ds-test/test.sol";

contract SimpleContext {
    uint256 public number;

    function setAndRevert(uint256 num) external {
        number = num;
        revert("ouch");
    }
}

contract SharedSetup is DSTest {
    SimpleContext context;

    function setUp() public {
        context = new SimpleContext();
    }

    function testSnapshot() external {
        uint256 preNum = context.number();
        uint256 num = 5;
        try context.setAndRevert(num) {} catch {
            assertEq(context.number(), preNum);
        }
    }
}

Here is a use case: https://github.com/makerdao/dss-cron/blob/add-oracle-mom/src/ClipperMomJob.sol#L73
Basically when you have to run something to see if it will succeed or not and you don't want it to actually execute in the tests. In the example above workable is expected to be called as a view by the keeper to see if this job is executable or not.

This is extremely hard. I'm not sure how we would revert mid-execution and then start a new execution from a specific point. No real way to do that in REVM right now, so we'd have to figure out a way to add that upstream as well. I'm leaning heavily towards keeping this as a community utility contract instead of adding the cheatcodes.
We'd need to:

Snapshot the memory
Snapshot the stack
Snapshot all addresses + storage
When reverting, check if we reverted because of this cheatcode, get the snapshot, start a new execution but set the state to what we saved + the program counter to after the revert

We have a way to snapshot the memory and the stack, no real way to snapshot all the addresses and storage, and no real way to resume execution at some program counter
It would add a lot of complexity both in REVM and Foundry, so again, really hesitant - I understand the use case, but since this can be solved using try/catch, I don't see a good reason to add it given the complexity.
cc @gakonst and @mattsse for thoughts on this

Also cc @rakita if there is a non-complicated way to implement this with how REVM currently is - maybe you have some ideas :)

Thanks for linking this existing issue @onbjerg.
Would like to add that try/catch isn't currently suitable replacement when running differential tests, because assertions made within a try block that reverts don't count as failures.
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;
import { Test } from "forge-std/Test.sol";

interface Impl {
    function fn() external;
}

contract ImplA is Impl {
    function fn() external {
        // do something
    }
}

contract ImplB is Impl {
    function fn() external {
        // do something similar
    }
}

contract DifferentialTest is Test {
    bytes32 PASS_HASH =
        0x092ff997991b7da0fc51f1dcc2bf12ccc1e998582e69bdc4232e5b6115713272;
    Impl implA;
    Impl implB;

    function setUp() public {
        implA = new ImplA();
        implB = new ImplB();
    }

    function testDifferential() public {
        try this.differentialLogic(implA) {} catch (bytes memory reason) {
            assertEq(keccak256(reason), PASS_HASH);
        }
        try this.differentialLogic(implB) {} catch (bytes memory reason) {
            assertEq(keccak256(reason), PASS_HASH);
        }
    }

    function differentialLogic(Impl impl) public {
        impl.fn();
        assertTrue(false);
        revert("PASS");
    }
}

Running 1 test for test/foundry/DifferentialTest.sol:DifferentialTest
[PASS] testDifferential() (gas: 35700)
Logs:
  Error: Assertion Failed
  Error: Assertion Failed

Are you sure? They should - does the reason actually match?

[PASS] testDifferential() (gas: 35700)
Logs:
  Error: Assertion Failed
  Error: Assertion Failed

Traces:
  [35700] DifferentialTest::testDifferential()
    ├─ [13937] DifferentialTest::differentialLogic(ImplA: [0xce71065d4017f316ec606fe4422e11eb2c47c246])
    │   ├─ [98] ImplA::fn()
    │   │   └─ ← ()
    │   ├─ emit log(: "Error: Assertion Failed")
    │   ├─ [0] VM::store(VM: [0x7109709ecfa91a80626ff3989d68f67f5b1dd12d], 0x6661696c65640000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000001)
    │   │   └─ ← ()
    │   └─ ← "PASS"
    ├─ [13937] DifferentialTest::differentialLogic(ImplB: [0x185a4dc360ce69bdccee33b3784b0282f7961aea])
    │   ├─ [98] ImplB::fn()
    │   │   └─ ← ()
    │   ├─ emit log(: "Error: Assertion Failed")
    │   ├─ [0] VM::store(VM: [0x7109709ecfa91a80626ff3989d68f67f5b1dd12d], 0x6661696c65640000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000001)
    │   │   └─ ← ()
    │   └─ ← "PASS"
    └─ ← ()

Test result: ok. 1 passed; 0 failed; finished in 971.38µs

@onbjerg Yes, test passes fine even though the assertions in differentialLogic are logged as failing. Think this is a bug?

This is extremely hard. I'm not sure how we would revert mid-execution and then start a new execution from a specific point. No real way to do that in REVM right now, so we'd have to figure out a way to add that upstream as well. I'm leaning heavily towards keeping this as a community utility contract instead of adding the cheatcodes.
We'd need to:

Snapshot the memory
Snapshot the stack
Snapshot all addresses + storage
When reverting, check if we reverted because of this cheatcode, get the snapshot, start a new execution but set the state to what we saved + the program counter to after the revert

We have a way to snapshot the memory and the stack, no real way to snapshot all the addresses and storage, and no real way to resume execution at some program counter
It would add a lot of complexity both in REVM and Foundry, so again, really hesitant - I understand the use case, but since this can be solved using try/catch, I don't see a good reason to add it given the complexity.
It would also not work well with DSTest, which could lead to a lot of confusion. For example, if you make a DSTest assertion that fails, and then call vm.revertTo(id), then that assertion is effectively ignored.
cc @gakonst and @mattsse for thoughts on this

I see, this seems tricky to do and covers all edge cases, for account+storage you could 'just' clone SubRoutine that is where storage changes are, but you will need to be aware of where snapshot is called, it is hard to jump from one contract subroutine to another, selfdestruct is one more thing you need to be aware.
Maybe we can do it in another way to leverage EVM revert mechanism,  done something as breakpoint system:

Set "breakpoint" on vm.snapshot(); and on vm.revertTo(id)
with vm.revertTo(id) trigger the revert of a call and do some magic to catch that revert and recall the contract again. Basically in step_end check if returned from call/create or not, decrease program counter to one item before so that it is executed again, but you will need to push input arguments again on stack :D
Reexecute all contracts until breakpoint on vm.snapshot() and then jump to the breaking point of revertTo by setting PC to it.
It needs to be available only in same contract call
Yeah, this is getting complicated :D

@jameswenzel I think you want catch Error(string memory reason), going by the Solidity docs?

It would be amazing to be able to access the state diff since the last snapshot. The UX that I'm thinking of:

spin up an anvil fork
take a snapshot
deploy upgrades
access state diff
Then the state diff could be looked at line by line to ensure that the upgrade is exactly what is desired

@tynes you can already do that with the vm.record & vm.accesses cheat codes https://twitter.com/devtooligan/status/1532763122259271681

As a note here the foundational work for this feature is being worked on by @mattsse in #1715


readonly attribute not rendering on ion-input tags

Short description of the problem:
When conditionally applying the 'readonly' attribute to an ion-input, by using the Angular2 syntax [readonly]="variable", the ion-input tag does not apply the attribute to the rendered 'input' tag.
What behavior are you expecting?
Expect the 'readonly' attribute to be rendered on the input tag when "variable" is set to true.
Steps to reproduce:

Add an ion input tag with conditional readonly <ion-input [readonly]="isReadonly">
Set isReadonly variable to true
readonly attribute is not rendered on the resulting input tag

Which Ionic Version? 2.x
Plunker that shows an example of your issue
http://plnkr.co/edit/xKfiA5wR0aoYsm1n6nxe?p=preview
Run ionic info from terminal/cmd prompt:
Cordova CLI: 6.1.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.4
Ionic CLI Version: 2.0.0-beta.25
Ionic App Lib Version: 2.0.0-beta.15
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X Yosemite
Node Version: v4.4.2
Xcode version: Xcode 7.0 Build version 7A220

Here's the related forum topic: https://forum.ionicframework.com/t/conditional-readonly-on-ion-input/50855.

+1
Are there any workarounds for this while it gets implemented?

Any news on this?

Would like to know when this is going to be fixed as well?

I would also like to know when this is fixed as well,

Any improvements?

Even if it did, there's issues in RC4 apparently you can workaround it using custom validators

Ideas for workarounds?

would be great to get this fixed.

Actually, looks like an oversight. In ionic-angular components/input/ it does not have any code to pass the readonly attribute back to the native angular element. I was able to add that code easily by just duplicating the logic/functions for the disabled attribute.
Attached is diff in case it helps anyone get by for now.
addReadonlyToInput.txt

I want to revisit all the inputs before ionic 2.0 final is released:
https://github.com/driftyco/ionic/issues/8578

Any forecast of when it will be fixed?

Any estimate of a fix?

Any update on this?

@tonyawad88 Can you take a look at my comment here: https://github.com/driftyco/ionic/issues/10095#issuecomment-274216973
disabled should be getting passed down now. Please let me know on that issue if it still doesn't work for you. :)
For this issue, submitted a PR here: https://github.com/driftyco/ionic/pull/10120


Can "codemap.json" be described by dedicated mapper?

Hi,
Can we make our own dedicated mapper for JSON?
Thanks,
Daniel

Yes, you can. Just follow the instructions for the dedicated mapper.
YOu can overwrite any mapper that is distributed with the extension. So it should work right away fr you.

There is a warning for
"codemap.json": "/path/to/my/mapper_json.js",
Incorrect type. Expected "array".

I have just discovered that the same dedicated mapper "mapper_json.js" works as expected for .json_test files, but not for .json files (the same file but different extension):
"codemap.json": "/path/to/my/mapper_json.js", // this does not work for the same file content, but extension .json
"codemap.json_test": "/path/to/my/mapper_json.js", // this works OK for the same file content, but extension .json_test

I found it.
The extension actually works.
The very same problem was reported in https://github.com/oleg-shilo/codemap.vscode/issues/44 and it was fixed. The expected functionality is achieved via setting the overloaded suffix:
"codemap.overloaded.md": "D:\\Dropbox_local\\software\\V\\Visual Studio Code\\extensions\\mapper_md.js",

The problem is... I did not describe the solution for #44 in the documentation. It was my mistake. I apologize for that.
I even remember that I implemented something for that but I could not find any mention in the documentation. And only when I started debugging your test case I saw the fix.
I have updated the documentation now: https://github.com/oleg-shilo/codemap.vscode/wiki/Adding-custom-mappers#important

Thanks.
That works OK in Linux paths somehow when RemoteSSH used from Windows.
It doesn't somehow work for tasks.json in Windows path (default VSCode path for user's tasks).


sidebar extension blog post

Will be adding a few more things to it sometime tommorow too (in another pull request)

Vadim, please fix screenshot if you think it needs some fixing!


Show hover message for diff revert arrow

Re: https://github.com/microsoft/vscode/issues/179725
We now potentially show both breakpoints and diff editor revert icons in the diff editor. It's ambiguous what happens when the user clicks on the revert icon. This PR adds a hover message so it's clear that clicking will revert the change. (Note, we will eventually implement support for glyph widgets, but this avoids ambiguity till then.)

I think this fixes some open issue. Thanks for the fix!


BUG - VT integration fails to parse and present results when a hash is searched

Use 440e04d0cc5e842c94793baf31e0d188511f0ace and check the console log

Fixed the handling of null values in displaying and cleaning


No redirect option to another page within form action?

This example doesn't allow for a redirect to another location:
https://github.com/ciscoheat/sveltekit-flash-message?tab=readme-ov-file#form-action-example
Form action example
src/routes/todos/+page.server.ts

import { redirect } from 'sveltekit-flash-message/server';

export const actions = {
  default: async ({ request, locals, cookies }) => {
    const form = await request.formData();

    await api('POST', `/todos/${locals.userid}`, {
      text: form.get('text')
    });

    const message = { type: 'success', message: "That's the entrepreneur spirit!" } as const;
    throw redirect(message, cookies);
  }
};

How do I redirect to another page using this library, within a formaction?

Hello, @accesstechnology-mike
I don't know about your specific use case, but for me, something like this works if I'm redirecting to a different page:
redirect(303, '/my/projects', { type: 'success', title: 'Project created successfully.' }, event);

The complete usage for redirect is right above the example.


Pandas_Cheatsheet

Pandas Cheatsheet added to your repository

Hello @GitBatra
Thanks for your contribution.
Let's connect ->
GitHub -> @Suryansh1720001 (Follow)
LinkedIn -> https://www.linkedin.com/in/suryanshprajapati17
Also, Star the repo ⭐


Omnibar position: UI fixes

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#5003  👈
#4993
#4974
#4885 : 3 other dependent PRs (#4886 , #4940 , #4941 )
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @0nko and the rest of your teammates on  Graphite


User Package missing an entry point when bundled

subj
https://github.com/fuse-box/fuse-box/issues/194
https://github.com/fuse-box/fuse-box-aurelia-loader/issues/5

Simple sample to show issue
https://github.com/vegarringdal/fusePackageTest


fix rte scroll handler firing on child scroll

- Summary
Code blocks can scroll horizontally in the rich text editor, but those scrolls were
propagating and triggering the scroll handler for the StickyContext component,
causing the toolbar to stick to the top of the scroll context.
This fix ensures that only context scrolls trigger the handler.
Also, fixed an issue where the recently added in-publish script fails CI.

@Benaiah have another look, I removed prepublish on purpose.

LGTM


Integrate LEF Parser

Steps

Verilator.Lint

LEF views are now used as a fallback if no Verilog views are available for a Macro

New steps, Misc.CheckMacroAntennaProperties and Misc.CheckDesignAntennaProperties

Checks the existence of antenna gate and antenna diffusion area on macro and final design pins respectively without invoking OpenROAD

Yosys.*

LEF views are now used as a fallback if no Verilog views are available for a Macro

Misc.

openlane.common

Toolbox

New method header_from_lef that creates a Verilog header from a LEF file

Tool Updates

Added the Efabless ANTLR4-based lef_parser at v0.1.0

Resolves #440

Can you add known limitations or language coverage or something similar to https://github.com/efabless/lef_parser?

This PR will not be merged until the LEF parser achieves more substantial coverage of the LEF standard.


Add SSH_PASSWORD environmental variable

As mentioned in #448, it would be nice if we could use SSH_PASSWORD as an environmental variable for restic.
This looks like a great starting point: https://github.com/restic/restic/issues/448#issuecomment-184219186

The sftp backend internally uses the standard ssh binary of a system. It would be necessary to reimplement the sshpass functionality in restic, which doesn't feel particularly elegant to me. Is it absolutely necessary to use an ssh password in your case instead of a more secure ssh key?

Is it absolutely necessary to use an ssh password in your case instead of a more secure ssh key?

Hetzner Storage Boxes have a limited shell environment, but I think they do support ssh keys- you just can’t generate them on the box itself.
However, resting becomes extremely portable in a docker container. Using an env variable means the entire configuration can be picked up and moved by restoring the docker compose file.

However, restic becomes extremely portable in a docker container. Using an env variable means the entire configuration can be picked up and moved by restoring the docker compose file.

I haven't though before about how to inject ssh credentials into the docker container. But you should be able to mount an ssh key file into the container and use that.


[1/2] Add migrate script from custom trainers to Ray Train Torch.

[x] Forked repo is synced with upstream -> github shows no code delta outside of the desired.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork
[x] Tests are passing? https://github.com/microsoft/DeepGNN/blob/main/CONTRIBUTING.md#run-tests
[x] Changelog and documentation updated.
[x] PR is labeled using the label menu on the right side.

Previous Behavior

We implement custom trainers and use them in all examples.

New Behavior

Add migrate script from custom trainers to Ray Train Torch.

Remove all custom trainers.

Next PR will migrate all examples to train torch.

Tests will not pass for this, only for the second PR since that will include updates to all examples.

Tests will not pass for this, only for the second PR since that will include updates to all examples.

Please, merge the PRs to have an atomic change.


new check: Font binaries should not contain VTT Talk sources

Issue #2048 is caused by an invalid charactere in a block of VTT Talk source code embedded in the font file. This made me figure out that we need a check to ensure font files meant to be published do not contain VTT Talk sources, as this only takes up space but have no practical use on a released font file.

I think I disagree with this change, but then again I can see why it was done.
VTT Talk information is useful not to users but to people who work on fonts.
It's not quite incorrect to have it there. It should be WARN not FAIL.

VTT Talk information should not be in production binary files. If kept, it should be on project source files, instead of bloating the final binaries.

I'm not so clear on what the difference between FAIL/WARN is, I guess :)

A FAIL is something that must be addressed. A WARN is something you should consider because it may be a good thing to address.

So to be certain FontBakery is not a general purpose tool, it's for QA for Google Fonts? I'm not being facetious, I really am unsure of its purpose now that you say this. Or is it a general purpose tool for making fonts as small as possible for use as web fonts? Because having the TSI* sources in the fonts for desktop distribution still seems fine, even preferred to me, as it backs them up and for debugging lets you know exactly what instructions are in a build.

The check we're talking about here, check/vttclean, is part of the googlefonts profile and so it is a vendor-specific requirement that is only meant to be addressed by fonts being prepared for onboarding on the Google Fonts collection.
Checks on the Universal profile, on the other hand, are those that are currently considered "best practices agreed upon on the broad type design community".
And checks on the OpenType profile enforce things defined on the OT spec.
https://github.com/googlefonts/fontbakery/blob/a75e5bf8854d10ce21d6a57c189bf90a86048085/Lib/fontbakery/profiles/googlefonts.py#L4045

Having said that, the FontBakery project is flexible to move checks to different profiles whenever we figure out that's the best thing to do. For instance, checks that were initially vendor-specific may move to the universal profile if multiple vendors decide to adopt it. And checks frmo universal profile may move to vendor-specific profiles if disagreement surfaces that they shouldn't really be in universal.

Read more about profiles at our docs at: https://font-bakery.readthedocs.io/en/stable/

Thanks a lot, I get it now, how this project is structured. I appreciate the free education, really! :o)

you're welcome!

Also, one can create inherited profiles that also exclude some checks, for example here:
https://github.com/googlefonts/fontbakery/blob/main/Lib/fontbakery/profiles/adobefonts.py
This is useful for many scenarios, not just of you’re a different vendor, but also depending on where in the pipeline you’re running bakery. For example, if bakery is integrated with a font editor so that it runs right after the editor builds the font, then that font editor’s profile might use most of Google Fonts’ checks but exclude some, like the VTT tables check — reasonable because when you’re exporting fonts from a font editor, one of the goals of the export might be to prep fonts with some stub VTT data with the goal of actually being refined with VTT.
And a font editor courtly reasonably use two different profiles — one for “devel/debug” export and one for “distrib” export.


Issue #62

Fix relating issue #62
Adding delay in animation did the trick. Only for FF when you have resized images in popover body.

@bazzooka Thanks for putting this together! I'll try taking a look next week.

Very random bug :(
Thank :)

I believe this was fixed by #64. Lets continue the discussion in #62 if not. Thanks!


release 0.9.9

release v0.9.9

feat: parser improvements (DNSKEY, HINFO, NAPTR, SOA, TLSA, TXT)
CAA: more robust fromBind parser
SOA: leave $TTL and $ORIGIN to dns-zone
test/base: improve invalid tests, check error message against expected
test/rr: update tests with expected error messages
README: move some content to web links

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

63 of 66 (95.45%)  changed or added relevant lines in 8 files are covered.
263 unchanged lines in 14 files lost coverage.
Overall coverage increased (+9.9%) to 86.704%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

rr/hinfo.js
6
9
66.67%

Files with Coverage Reduction
New Missed Lines
%

rr/soa.js
1
94.64%

rr/txt.js
1
95.33%

rr/aaaa.js
3
92.59%

rr/index.js
7
91.63%

rr/hinfo.js
9
81.01%

rr/openpgpkey.js
14
52.17%

rr/naptr.js
22
76.36%

rr/key.js
23
60.47%

rr/cert.js
24
61.9%

rr/smimea.js
24
44.0%

Totals

Change from base Build<PHONE_NUMBER>:
9.9%

Covered Lines:
2849

Relevant Lines:
3260

💛  - Coveralls


156054396 Medical Plans endpoints

#156054396
requires
https://github.com/vericred/vericred/pull/599

Closing in favor of #15, which follows the existing (silly) branching conventions.


Fix nullability specification on CreateStartScripts::getApplicationName

Context
I was doing something like this:
tasks.withTypeDefered<CreateStartScripts> {
    applicationName =
        applicationName // Compiler should error here because it's nullable.
            .decapitalize()
            .replace("/\\B[A-Z]/".toRegex()) { "-$it" }
            .toLowerCase()
}

This gave me a message saying

Caused by: java.lang.IllegalStateException: applicationName must not be null

The compiler shouldn't have let me do this but applicationName isn't annotated as nullable.
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

While at it, there are other members in that type that should be annotated nullable, could you look at the whole class?

Good catch, I thought I'd gotten all of them, but I was very wrong.
I got the rest I think and fixed a possible NPE.

Thank you Jonathan!


Add alternate implementations of synchronization primitives

This PR adds two alternate implementations of synchronization primitives:

One based on loom. This can be enabled using cfg(loom). Unfortunately there is no real way to test this, since loom tests require some kind of synchronization primitive to make progress.
One based on portable-atomic, enabled using the portable-atomic feature. This allows concurrent-queue to be used on platforms without available atomics.

Obsoletes #5

Thanks! Could you add tests for cfg(loom)? When we did something similar before in crossbeam, unbounded queue panicked with odd errors like https://github.com/tokio-rs/loom/issues/283.

I added a basic spsc test for Loom, but I keep bumping my head on this panic:
thread 'spsc' panicked at 'Model exceeded maximum number of branches. This is often caused by an algorithm requiring the processor to make progress, e.g. spin locks.', /home/jtnunley/.cargo/registry/src/github.com-1ecc6299db9ec823/loom-0.5.6/src/rt/path.rs:136:9

I'm not that familiar with loom, but is there a way around this? If I have the receiver thread wait on a Condvar, it complains about the thread being deadlocked and panics.

With some tinkering, I built a channel implementation with loom primitives based on concurrent_queue, specifically to use in this test. It looks like it works well enough to be tested.

Thank you for taking the time to review, @taiki-e! I implemented the suggestions you made.
The only real issue here is that running the CI now takes significantly longer. Even with LOOM_MAX_PREEMPTIONS=2, it looks like it still takes a few minutes to run. It's not really that big of a deal, and we could probably even get away with using LOOM_MAX_PREEMPTIONS=3 if we really wanted to.