Reexport nix

This is useful because the Error enum in its ApiError error variant exports that type, so in order to match on the error value it's necessary to use the same version of nix as this crate uses.
The idiom in this case is to reexport nix (or reexporting Errno would likely be fine as well, but I'm not sure if nix leaks in other ways maybe so I propose exporting the entire nix to be sure that it's correct.)

Hello, thank you for bringing this up. I'm not fond of reexport. Do you think it would be better to return std::io::Error instead?

I don't think that would be better: it's useful to be able to match on the error code (which is specifically what I'm using nix for here, to catch "file already exists" and "file does not exist" errors after making custom write operations), and IoError would make that significantly harder.
Why do you not like reexports?

Hi, @Ten0, thanks for your explanation of motivation.
I think it's a failure to expose these error types directly. I wish we could use ceph::ErrorKind::NotFound and ceph::ErrorKind::AlreadyExists instead of exposing external types like nix::Error, uuid::Error, or serde_json::error::Error.
Given that our API currently works this way, it might be fine to re-export nix if you want. We can discuss the error kind design in our next major version. What do you think?

Given that our API currently works this way, it might be fine to re-export nix if you want.

Thanks. 😊

I think it's a failure to expose these error types directly. I wish we could use ceph::ErrorKind::NotFound and ceph::ErrorKind::AlreadyExists with source errors instead of exposing external types like nix::Error, uuid::Error, or serde_json::error::Error.

I agree that in an ideal world the Rust API wouldn't expose those, as they are hard to catch by users because they have to work out what each means.
Errors such as uuid::Error are unlikely to ever be caught, they will likely always be turned into generic textual errors for reporting, especially since the enum doesn't give information about where the error occurred, only about what error occurred.
However it seems difficult to be exhaustive on the ApiError variant: librados C api's error codes are undocumented, so the only way to know what error would occur in what scenario would be to test each of them manually, which seems like a very tedious task at this point, and we wouldn't even have the guarantee that the same error code is used for similar semantic meanings across C functions.
Currently a user who wants to catch a particular error probably has encountered it (or can reasonably easily get themselves to encounter it), so it's reasonably easy for them to obtain the error code that they want to catch.
If we were to only cover for a small part of the scenarios, that would make every addition to the list of known scenarios a breaking change (because people may be catching the "unknown" error), which doesn't seem great.
This makes me feel like at this point we shouldn't be over-ambitious here, and the compromise of letting the user experiment with what error code they get and catch that seems reasonable. => I like the current RadosError::ApiError API.
However it's also true that reexporting the whole of nix seems dirty. For the particular use-case described above I really only need Errno to be re-exported so maybe we can just re-export that ?
I just put nix in the PR because I didn't take the time to check whether there was anything else from nix that was used in the crate...

So I've checked and actually the only use of nix is for Errno so I've updated the PR to just reexport Errno.
25fa4bea171896624c157f15b4a5c80dd9d386d0


bug: Version 7.24.2 not building with app router and trpc

Provide environment information
System:
OS: Windows 10 10.0.19045
CPU: (12) x64 AMD Ryzen 5 5600X 6-Core Processor
Memory: 5.42 GB / 15.92 GB
Binaries:
Node: 20.10.0 - C:\Program Files\nodejs\node.EXE
npm: 10.2.3 - C:\Program Files\nodejs\npm.CMD
Describe the bug
#1599 seems to be still happening for me, for builds only, both locally and Vercel. I can run the dev server just fine.
I'm using npm and used:"initVersion": "7.24.2"
--> known bandaid import "server-only"; makes the error disappear

Reproduction repo
https://github.com/josesei/bug-create-t3-app
To reproduce
Create a fresh app with create-t3-app version 7.24.2  using app router and trpc

It does build - check ./.next or try starting a server with pnpm start.
what you are seeing is the same as this issue: https://github.com/t3-oss/create-t3-app/issues/1663


Test to use upstream support Solr images (>=7.5)

Dataverse officially requires Solr 7.3.1 (see install guide). There is an image available from Docker Hub, but hasn't been updated for a year as of opening this issue. This opens up for sec problems etc.
If applicable we should update to latest 7.x series release (being 7.7.2), which is upstream supported. Maybe in the same go upstream can be enhances (see IQSS/dataverse#6599).

Things are moving in #6631


[Bug] The Suiet Wallet never pop up

Then i use wallet-kit. the Suiet well not be pop up.
The dome in here : https://sui.best/
You can connect and Filp.
This is we got error:
[SUIET_WALLET]: dapp.signAndExecuteTransaction failed Error fetching function: Error: RPC Error: invalid type: null, expected a string at line 1 column 4 for package undefined, module undefined and function undefined}
the core code is here.
same code working with SUI wallet.
      const data = {
        inputCoins: newObject,
        recipients: ['0x111111'],
        amounts: [100000000 * amount],
        gasBudget: 10000
      };

      console.log(data)

      const resData = await signAndExecuteTransaction({
        transaction: {
          kind: 'paySui',
          data: data
        }
      });

so the err is Suiet not suport paySui.


Peer to peer code review

Hi @Lucash2022,
You did a great job on your portfolio website. 👍😎

You can use another screenshot of your app in the popup window. The current image is stretched.

@billymohajeri
Thank you for identifying that issue. I have added a new image and changed the image size in css with this commit: https://github.com/Lucash2022/LucasErkanaPortfolio_Website/pull/22/commits/f68b2471be3df2b654477c32deb3f65ee3e4c78b


Recomend supports sending Messages/Notifications

PHP API for Firebase Cloud Messaging from Google
Web Push library for PHP
module-pwa magento2
module-pwa magento2

Closing as this repo is no longer maintained and will be marked as read-only.


feat: supports json mode for multiple providers

Pull Request
PR Description
Supports json mode for multiple providers, including:

OpenAI
Mistral
TogetherAI
Anthropic
Google Gemini

Linked Issue
Linked issue: #181
Type of Change

[ ] Bug fix
[x] New feature
[ ] Performance enhancement
[ ] Code refactor
[ ] Documentation update
[ ] Other, please describe:

Checklist
Before submitting this PR, please make sure:

[x] I have read the CONTRIBUTING.md guidelines.
[x] I have tested my changes locally to ensure they are effective.
[x] I have updated the necessary documentation (if applicable).

Additional Information
Provide any other important information about this PR here.

@taskingaijc test cases are needed for the feature


Fixed all typos of "compoenents" in "components"

Thanks @tinny77! Fixed in<EMAIL_ADDRESS>


How to control the item that is displayed

Hello,
I would like to be able to control on which document I am browsing based on a state variable. Is that possible?
So that each time a user navigate through the documents, it would reflect on the state variable

@lucasbbsdk It is not possible at the moment. The Viewer uses local state management but it sounds like a good idea for a new feature: add props for currentDocument and onDocumentChange to get current document after switch.

Okay, do you know if this is hard to do?
May I give that a try to open a pull request?

@lucasbbsdk I work on this.

@lucasbbsdk https://github.com/cyntler/react-doc-viewer#control-over-the-displayed-document


Migration tool generates the wrong DDL when overloading link properties.

The DDL produced by the migration tool doesn't set the type for overloaded links. The result is that the overloading doesn't change the link in any way unless you manually edit the DDL for the migration.

EdgeDB Version: 4.2+833dd8d
EdgeDB CLI Version: 4.0.2+500be79
OS Version: macOS

Steps to Reproduce (and extended discussion): Discord Thread

Schema:
module default {

    type Vehicle {
        required make: str;
        required model: str;
        required year: int64;
    }

    type Truck extending Vehicle {
        required load_capacity: int64;
    }

    type RaceCar extending Vehicle {
        top_speed: int64;
    }

    type Collection {
        required multi vehicles: Vehicle;
    }

    type SportsCollection extending Collection {
        overloaded required multi vehicles: RaceCar;
    }

}

Solved by #6718


just change fill color depending on event or use custom icon as background

It would be nice to just change the background color for those days which have an event as markedDateButtonColor like selectedDayButtonColor.
Or to bring the custom icon to the background so that the day number stays visible.
If this is still possible please tell me how to achieve this.

missed the parameter showIconBehindDayText so it's solved.


Another dataset

Hello! Great work!
I'm new in audio analysis and tensorflow...
How i change the dataset?
I want to use a offline dataset in my computer(Example: Urbansound). I can train this dataset and use it in place of youtube-8M?
Thanks!

I found the solution for this...
Sorry for this question.


UP Marketing (Q4- 2023)

Problem statement
[Write a short description of what you want to achieve with this task]
What you need to know
[Links to documents, workflows, or list of key people and contact info]

Document 1
Document 2
...

Acceptance criteria

[ ] ...

To do

[ ] ...

Closing as dupe of marketing effort here: https://app.zenhub.com/workspaces/platform-6182b02547c1130010f459db/issues/gh/cdcgov/prime-reportstream/10156


Zend\Mail, Zend\Mime: parsing rework

Hi,
I've ran ~100000 mails through Zend\Mail\Message::fromString(), and send them to an smtp server (postfix), and here are some fixes.
I really think that we should kill the whole encoding thing and use mb_detect_encoding (don't know if mb dependency is ok)
Please start to review/comment.

hi guys,
if update my PR, will someone merge it?

Hi! Sorry for delay but now every component is in its personal repository..
Can you create new PR here?
https://github.com/zendframework/zend-mail
Thanks a lot!


Question about "untransform" method in "VOCClassSegBase" class

Thanks for your sharing repo. I have a question about the "untransform" method in "VOCClassSegBase" class of voc.py.
Why we need do the following operations to the image in the untransform?
img = img.transpose(1, 2, 0)
img += self.mean_bgr
Hope for your answers. Thanks!

This is the inverse operation of self.transform and used to transform RGB image back to original pixel range (0 - 255).

This is the inverse operation of self.transform and used to transform RGB image back to original pixel range (0 - 255).

thanks a lot


failed to compile

after npm install the vue-grid-layout newest, will show module build failed,
Isn't hasn't vue-grid-layout.min.js on node_module/vue-grid-layout/dist file??

Since 2.2.0 the files are vue-grid-layout.common.js or vue-grid-layout.umd.js


ONNX, onnx,

It seems that I can only export ONNX with a fixed input size. I hope to set the width and height as dynamic axes. However, after setting, the exported ONNX can still only use the original width and height as the unique input shape.

If I use inputs of different sizes, it will throw an error similar to the one shown in the image. I've spent a lot of time and it seems that I haven't solved this problem.
Code:
dynamic = {'inputs': {2: 'h', 3: 'w'}, 'outputs': {2: 'h', 3: 'w'}}
torch.onnx.export(model, (img,), output_path, verbose=False,
opset_version=17, input_names=['inputs'], output_names=['outputs'], dynamic_axes=dynamic)


Styling on merged/nested tags needs work

Currently the nested tags row doesn't show anything other than a space between multiple tags in a StatsItem with child StatsItem objects. Visually separate the tags and indicate they're tappable.
Related: #118  #119

Resolved this issue with #151


Custom rules in golang?

Hi there and thanks for this tool which looks fantastic. But I can't really use it as of today because we rely on custom rules.
I understand that adding custom rules a la spectral in javascript is in your (long term) roadmap.
But what about a way to add some in the same language that the tool is built with?
Would it be easier/possible?
Cheers 🤠

Hi, thanks for the compliments.
I think you may have missed the correct docs. You can build custom rules in go and JS. both are fully supported.
https://quobix.com/vacuum/api/custom-functions/
https://quobix.com/vacuum/api/custom-javascript-functions/

There is also a full developer API for go developers.
https://quobix.com/vacuum/api/getting-started/

Sorry mate I could swear having read the doc only a few weeks (maybe months) ago and it was saying otherwise...
Either you're super fast, either I'm nuts 😅 sorry for the inconvenience, I'll dig into the doc soon.

You're right, it was a couple of months ago that it wasn't possible.
There is a lot more to come with vacuum. I am just getting warmed up.

that great to hear! I've referred your work to a former colleague which works heavily on asyncapi and is interested by moving away from spectral which feels abandoned recently. He should contact you soon, he may be able to patronise some of your work ;)


It is too big for nomal user

Can we split the css file，just import what we want，like cent-top css。Make this lib much more light

yes it is possible. you can import the index-core.js file into your project.
https://github.com/shakee93/vue-toasted/blob/d9ac39c60698c7cc7120b1164dde70f1b44c2101/src/index-core.js#L1


rolling-router-sticky-sessions ui added

@karthequian Should I fix the code indentation? I realized my Atom is using tabs, should I change to spaces (4) instead ?

@mikarinneoracle I did not see that initially, but I agree. 4 spaces would work better, especially in the php/js code you have. It might make reading it easier, and more consistent with the rest of the files. Thanks for the PR!

@karthequian Ok, indentation fixed for readability. Thanks!

@karthequian  @mikeraab Hi, I updated the README and did a small fix to error handling in case of network connect error. Please review.

looks good to me.

Thanks Guys, merging now.


yang library path

Hi,
I have a project that uses external path for libraries.
I tried to add them to the classpath but I always have the same error:
Couldn't resolve reference to AbstractModule '...'.
There is a way to configure an external path for yang libraries?
Thank you
Max

Hi Sven,
Do you have news about my issue ?
thank you

ATM all modules need to reside in the workspace.
Supporting external library pathes (including zips) would be a great addition.

You can add these libs as yangPath in the yang.settings file in your home folder or in the workspace root now.
Entries can be yang file names, directory names or zip file names (all absolute) in OS specific syntax, separated by the OS specific path separator.
Example
{
"yangPath": "/path/to/rift.zip:/some/special/my.yang:/some/dir/containing/yang/files",
}

You can add these libs as yangPath in the yang.settings file in your home folder or in the workspace root now.
Entries can be yang file names, directory names or zip file names (all absolute) in OS specific syntax, separated by the OS specific path separator.
Example
{
    "yangPath": "/path/to/rift.zip:/some/special/my.yang:/some/dir/containing/yang/files",
}

This should probably be documented somewhere. I searched for quite a while before I found this issue, and as far as I can tell this is the only place this solution is mentioned.
Also, if possible, it would be great if this setting could be specified in the editor settings. It would increase portability and reduce clutter. For example:
{
    "folders": [
        {"path": "NSO/modules"}
    ],
    "settings": {
        "yang.path": "/home/hubro/nso-4.7/src/ncs/yang"
    }
}

I have a workspace created on windows VSCode but on remote SSH (ubuntu 20). Yangster extension installed but I have the same problem as @maxnoto but I don't yang.settings


How to create my own client?

Description
This is similar to https://github.com/hey-api/openapi-ts/issues/425
We need to be able to pass envs to our custom client, and even wrap the API services within the client itself so they are accessible as properties.
Are there docs or examples outlining the best ways to go about this? The deprecation docs are unclear on how clients replaces or supplements those options. or how one goes about constructing their own custom client 🤔
The surface area is awkward in that the API calls are not pure, they leak the abstraction back up to the caller who has to specify a body property on their options. It would be nice to expose a more pure client SDK.
Thanks!

Honestly, just giving library consumers the ability to pass in an env or client config themselves to define the baseUrl would be enough to get rolling. Is this possible without a custom client?

Hm, so I could generate my own client by enumerating the produced classes, and constructing an object with those classes as properties. However, the fact that all the methods are static means this actually won't work... Gah

@douglasg14b are you able to show roughly what kind of API you're hoping to use?

We also make heavy use in my team of the "name" option, now with asClass, to generate client classes for each of our APIs.
It's very useful because we can new up and inject client instances into our BFF, and also pass around services polymorphically.
It hasn't been entirely clear to me what the deprecation notice for "name" is about, since at face value that's the only way to generate a instantiable client for injection or connect to 2 instances of the same API within one application - mutating the global OpenApi object to configure the API is a step backwards in that regard

@Nick-Lucas We will want to handle those use cases for sure. The main issue with name is it's not obvious when to use it/what it does. It's a completely different way of generating clients with its own set of problems. And if you have two clients, they're 99% identical. There will be a cleaner approach to this, it just hasn't been prioritised

@Nick-Lucas We will want to handle those use cases for sure. The main issue with name is it's not obvious when to use it/what it does. It's a completely different way of generating clients with its own set of problems. And if you have two clients, they're 99% identical. There will be a cleaner approach to this, it just hasn't been prioritised

Understood! Well if I can help to figure this out I'll be happy to
Right now setting name: 'MyClient', services: { asClass: true } is working fine as before, though if you don't enable asClass it's bugged right now and imports a non-existent DefaultService for the class. That probably deserves its own bug ticket though

Pretty sure someone reported it already, there might be an issue open. This illustrates perfectly the challenge of maintaining such a large API surface. I wanted to bring that feature in, but adding it to every configuration would take way longer and I know I want to rework "named" clients, so I didn't bother spending way more time on adding it to them

are you able to show roughly what kind of API you're hoping to use?

yeah!
Essentially my goal is an API client that's namespaced, the user can pass in options once, and can reference an instantiated version of.
// Somewhere

export const someApiClient = createSomeApiClient({ baseUrl: '' });

// elsewear:

import someApiClient  from '@/something/client';`

...

await someApiClient.feature.endpoint();

Now that I've done this, there are a few things this lib could do to make such extensibility easier:

An option to bundle all the services & endpoints into a single object without static methods
A bundled up "client" that can be instantiated would do essentially what this does

@douglasg14b
Using the new fetch client, I was able to create a sort of my own client that uses either "Got" or "Ky"
export async function createClient(
  options: Parameters<typeof createFetchClient>[0] & {httpClient: Got | KyInstance},
) {
  const {httpClient} = options
  const client = createFetchClient({
    ...options,
    fetch: createFetch(httpClient),
  })
  return client
}

export function createFetch(client: Got | KyInstance) {
  return async (request: Request) => {
    const result = await client[request.method?.toLowerCase() as 'get'](request.url.toString(), {
      throwHttpErrors: false,
      headers: normalizeHeaders(request.headers) as unknown as Headers,
      ...(request.body && {json: await request.json()}),
    }).json()
    const response = new Response(JSON.stringify(result), {})
    return response
  }
}

this is just a POC but it seems to be working, there are probably some edge case, but the idea is that you can use the new fetch client and just provide your own fetch implementation

I can of course pass a custom base URL to my fetch implementation

That's pretty cool @omridevk. Still think we need a separate client for those?

nope, this solution seems to be good enough at least for our needs.

also created this PR:
https://github.com/7nohe/openapi-react-query-codegen/pull/125/files
so we can use this version with react-query

I'm actually unclear how what's being described here is different from setting name and asClass. You already get a named client class with all the services attached as class instances, and can pass all your options in to the constructor.

Hey, im having a similar question, the lib generates an export const client = createClient... which seems to be a singleton object to be used as the client object, and you can call client.setConfig to update/modify the client headers, etc.
My question is, in a server env where memory is shared in a long running process, couldn't 2 or more separate requests that want to use the client call setConfig and execute request with the wrong data?

other libraries either allow you to instantiate a new class instance with the config parameter in the constructor, or they provide a factory function that creates another client object with the setup you pass to the factory function.

@bombillazo my assumption was that you'd call setConfig() only once when you start your application. Can you provide more details when would "2 or more separate requests that want to use the client call setConfig and execute request with the wrong data?" The generated requests never call setConfig(), it would have to be done by the user. If that's what you're doing and calling setConfig() multiple times, I'd like to know why?

We're using openapi-ts to build an SDK for 3rd party APIs, to which we send requests using different accounts from our API backend. When we need to call the 3rd party API, we want to use the generated SDK client, but we need to pass context-specific data (like the authorization headers) that depend on the request itself, so it is not static across the application. With other pre-existing SDKs , we'd simply instantiate an SDK client in our logic where needed and pass the headers in the constructor. Any subsequent logic uses that configuration for the remainder of the request execution to call the 3rd party. Since each request has its own instance, there are no issues with cross-config requests due to sharing the same client.
With a singleton pattern, we may run the risk were one request sets the config, and another one comes in and calls setConfig and both requests start using the client configured by the last request. This would force us to have to pass this data every single time we use the SDK client method since we cannot set it at the client level, which isn't fun to do and becomes WET code.

As here you can generate an instantiable client already to solve the problem, my own contribution to the thread is just about some deprecations around the current API
https://github.com/hey-api/openapi-ts/issues/671#issuecomment-2163571184

Thanks @Nick-Lucas. To your earlier comment, I think it's not bugged anymore RE asClass, correct? It should be having no effect with name.
@bombillazo can you confirm your use case is for server-to-server communication? If you're using the generated SDKs on the client, is there ever a concern about the size of the generated bundle?

We're using it server to server, in our case bundle size isn't a huge concern

@bombillazo let me know if using name works for you. It is marked as deprecated, but won't be removed before there's a clear way forward. It is a feature from the previous package https://github.com/ferdikoomen/openapi-typescript-codegen and until now the focus was on client-side codegen (hence tree-shaking etc), but full SDKs will receive some love at some point too

Okay, got it. Yeah, the only path forward, for now, is to pass options with the headers on every API method call to ensure the client uses the correct data.
If the codegen eventually allows for instantiable and pure clients, believe me, that will be a game changer for backend development.

Any chance you've got a repository I could play with to verify the issues and test any potential solutions when I get around to it?

Unfortunately no, but we're using Hono for our backend server.
I only anticipated the issue after looking at the produced code, it runs without problems but I noticed there was a single instance of the client which can be a problem in server environments.
Some solutions that come to my mind require what I mentioned earlier: either generate a FullAPI class that envelopes all the API services with a constructor that can be used to set the client options and have the current client be an internal property of the FullAPI, and one can call new FullAPI() (as an example name).
Or have a function that somehow creates and returns a new object that can store the config internally and has access to all the API methods. This one sounds less performant since depending on how its done would require to mount the object every time with teh API function methods and setting up the common config to use.

yeah I think new MyApiClient() would be the way to go, I just didn't get around to it. Based on the feedback I receive, I assume most people are using this package client-side. Of course, if it's optimised for one use case, there's a low chance it will attract other user types. Maybe there should be a separate issue for full SDKs to gauge interest.

Right now the code generates an index.ts file with an exported const object called client created with the createClient function.
All API methods function generated (both class and flat) are internally pointing to that const object . When the server app runs, it'll create the singleton (that specific instance object) and no matter where we import the client from in our logic, it'll use that same object.
So the code gen solution would be a whole different approach from Front End where each app essentially runs "isolated" on each browser tab and that client isn't really shared and is only used within the context of that app "session" .

I'm willing to help and contribute too. I'm interested in this library, so far I've liked what I've seen.

Your description checks out. As it is, are you blocked at using the generated output?

Have you tried setting "name" and checking the output of that?

Hey, how would changing the name of the client help?

@Nick-Lucas Wow, I think that is a solution in the right direction; it essentially creates a wrapper configuring each internal service with the config.
However, I see various issues on how it currently outputs:

It doesnt generate the core folder for me, so some imports are broken.
The SDK constructor is broken, like it wants to assign a var to the HttpRequest param with = but has no value
I don't see how the input config is used in each service class, the 'httpRequest` input param of the service class constructor is never used inside the methods; they continue to use the singleton.

/**
 * Generated sdk.gen.ts
 */

export class MySDK {

	public readonly customers: Customers;

	public readonly request: BaseHttpRequest;

	constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = ) {
		this.request = new HttpRequest({
			BASE: config?.BASE ?? 'https://sandbox.dev.clover.com',
			VERSION: config?.VERSION ?? '3.0',
			WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,
			CREDENTIALS: config?.CREDENTIALS ?? 'include',
			TOKEN: config?.TOKEN,
			USERNAME: config?.USERNAME,
			PASSWORD: config?.PASSWORD,
			HEADERS: config?.HEADERS,
			ENCODE_PATH: config?.ENCODE_PATH,
			interceptors: {
				request: config?.interceptors?.request ?? new Interceptors(),
				response: config?.interceptors?.response ?? new Interceptors(),
      },
		});

		this.customers = new Customers(this.request);
	}
}

/**
 * Generated service.gen.ts
 */

//... imports here

export const client = createClient(createConfig());

export class Customers {
  constructor(public readonly httpRequest: BaseHttpRequest) {}

  /**
   * Get a list of customers in CSV format
   * Gives information for every customer of a merchant by default.
   */
  public getCustomersCsv<ThrowOnError extends boolean = false>(
    options: Options<HandlersGetCustomersCsvData, ThrowOnError>,
  ) {
    return (options?.client ?? client).get<
      HandlersGetCustomersCsvResponse,
      HandlersGetCustomersCsvError,
      ThrowOnError
    >({
      ...options,
      url: '/v3/merchants/{mId}/customers.csv',
    });
  }

  /**
   * Get a list of customers
   * Gives information for every customer of a merchant by default.
   */
  public getCustomers<ThrowOnError extends boolean = false>(
    options: Options<CustomersGetCustomersData, ThrowOnError>,
  ) {
    return (options?.client ?? client).get<
      CustomersGetCustomersResponse,
      CustomersGetCustomersError,
      ThrowOnError
    >({
      ...options,
      url: '/v3/merchants/{mId}/customers',
    });
  }
}

@bombillazo your config settings would be helpful here

Im using the js API to autogen programmatically, here it is:
await createClient({
  client: '@hey-api/client-fetch',
  input: './service/myapi/sdk/myapi.openapi.json',
  name: 'MySDK',
  output: {
    path: './service/myapi/client',
  },
  services: {
    asClass: true,
    methodNameBuilder: (operation) => {
      return camelCase(operation.id?.split('.').pop() || operation.name);
    },
    name: '{{name}}',
  },
});

Can you try one of the older clients like Axios or Fetch?
It's not preferred going forward but given the named client hasn't been given much attention lately it wouldn't be a surprise to see it's incompatible with the decoupled client

Also, wanted to say I appreciate the help and engagement on this!
So, using classic Fetch definitely fixed most of those observations! As you said, the new decoupled @hey-api/client-fetch client hasn't been properly integrated with the deprecated name option.
I tried using the @hey-api/client-fetch client with bundle = true but didn't work. It doesnt fill the gap like the legacy fetch did. Ideally id love to use the new client.
Now I see it all connect together:
/**
 * Generated sdk.gen.ts
 */

export class MySDK {
  public readonly customers: Customers;

  public readonly request: BaseHttpRequest;

  constructor(
    config?: Partial<OpenAPIConfig>,
    HttpRequest: HttpRequestConstructor = FetchHttpRequest
  ) {
    this.request = new HttpRequest({
      BASE: config?.BASE ?? "https://sandbox.dev.clover.com",
      VERSION: config?.VERSION ?? "3.0",
      WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,
      CREDENTIALS: config?.CREDENTIALS ?? "include",
      TOKEN: config?.TOKEN,
      USERNAME: config?.USERNAME,
      PASSWORD: config?.PASSWORD,
      HEADERS: config?.HEADERS,
      ENCODE_PATH: config?.ENCODE_PATH,
      interceptors: {
        request: config?.interceptors?.request ?? new Interceptors(),
        response: config?.interceptors?.response ?? new Interceptors(),
      },
    });

    this.customers = new Customers(this.request);
  }
}

/**
 * Generated service.gen.ts
 */

//... imports here

export const client = createClient(createConfig());

export class Customers {
  constructor(public readonly httpRequest: BaseHttpRequest) {}

  /**
   * Get a list of customers
   * Gives information for every customer of a merchant by default.
   * @param data The data for the request.
   * @param data.mId Merchant Id
   * @param data.filter Filter fields: [customerSince, firstName, lastName, emailAddress, phoneNumber, marketingAllowed, fullName, id, deletedTime]
   * @param data.expand Expandable fields: [addresses, emailAddresses, phoneNumbers, cards, metadata]
   * @returns unknown
   * @throws ApiError
   */
  public getCustomers(
    data: CustomersGetCustomersData
  ): CancelablePromise<CustomersGetCustomersResponse> {
    return this.httpRequest.request({
      method: "GET",
      url: "/v3/merchants/{mId}/customers",
      path: {
        mId: data.mId,
      },
      query: {
        filter: data.filter,
        expand: data.expand,
      },
    });
  }
}

In conclusion, @hey-api/client-fetch and the deprecated name option are not compatible at the moment. But classic fetch with name produces exactly what my use cases needs (as of this discussion, I'll still validate that when I do some actual code testing).
I think a good approach would be to rename name to something more meaningful to specify it is to generate instantiable clients, and then refactor the name generation to support the new hey-api fetch

Seems like core folder is not generated if you use @hey-api/client-fetch & name together.
client: 'legacy/axios', gives a Typescript error but generates the core folder.

Seems like core folder is not generated if you use @hey-api/client-fetch & name together.
client: 'legacy/axios', gives a Typescript error but generates the core folder.

Running into the same problem. What is the best path to create bundled client? I need to add some custom authorization for signed jwts for each endpoint and having a main client entry point seems like the best approach here.
I tried a few of the suggestions in this thread but none worked out for me so far for my use case.

fwiw, I added a very basic wrapper api client that just forwarded my services to the client class.
openapi-ts.config.ts:
import { defineConfig } from '@hey-api/openapi-ts';

export default defineConfig({
    client: {
        bundle: true,
        name: '@hey-api/client-fetch'
    },
    input: './app_store_connect_api_openapi.json',
    output: './src/app_store_connect_api',
    exportCore: true,
    services: {
        asClass: true,
    }
});

client.ts:
import * as services from './app_store_connect_api/services.gen';
import { generateAuthToken } from "./auth";
import fs from 'fs';

/**
 * Options for configuring the App Store Connect client.
 * @see https://developer.apple.com/documentation/appstoreconnectapi/creating_api_keys_for_app_store_connect_api
 */
interface AppStoreConnectOptions {
  /**
   * The issuer ID associated with the private key.
   */
  issuerId?: string;
  /**
   * The ID of the private key.
   */
  privateKeyId?: string;
  /**
   * The private key in PEM format.
   */
  privateKey?: string;
  /**
   * The path to the private key file.
   */
  privateKeyFile?: string;
  /**
   * A bearer token can be provided directly, which will be used instead of generating a new token
   */
  bearerToken?: string;
  /**
   * The time (in seconds) until the token expires (default 10 minutes)
   */
  expirationTime?: number;
}

export default class AppStoreConnectClient {
  private appStoreConnectOptions: AppStoreConnectOptions;
  private bearerToken: string | null = null;
  private bearerTokenGeneratedAt = 0;
  api = services;

  constructor(appStoreConnectOptions: AppStoreConnectOptions) {
    if (!appStoreConnectOptions) {
      throw new Error('AppStoreConnectOptions is required');
    }
    this.appStoreConnectOptions = appStoreConnectOptions;
    services.client.setConfig({ baseUrl: 'https://api.appstoreconnect.apple.com' });
    services.client.interceptors.request.use(async (request, _options): Promise<Request> => {
      request.headers.set('Authorization', `Bearer ${await this.getToken()}`);
      return request;
    });
  }

  private async getToken() {
    const defaultExpirationTime = 600; // 10 minutes
    if (this.appStoreConnectOptions.bearerToken) {
      this.bearerToken = this.appStoreConnectOptions.bearerToken;
    } else {
      if (this.appStoreConnectOptions.privateKeyId &&
        this.appStoreConnectOptions.issuerId &&
        (this.appStoreConnectOptions.privateKey || this.appStoreConnectOptions.privateKeyFile)) {
        if (!this.bearerToken || this.bearerTokenGeneratedAt + (this.appStoreConnectOptions.expirationTime ?? defaultExpirationTime) * 1000 < Date.now()) {
          if (this.appStoreConnectOptions.privateKeyFile) {
            this.appStoreConnectOptions.privateKey = await fs.promises.readFile(this.appStoreConnectOptions.privateKeyFile, 'utf8');
          }
          this.bearerToken = await generateAuthToken({
            privateKeyId: this.appStoreConnectOptions.privateKeyId,
            issuerId: this.appStoreConnectOptions.issuerId,
            privateKey: this.appStoreConnectOptions.privateKey!,
            expirationTime: this.appStoreConnectOptions.expirationTime,
          });
        }
      } else {
        throw new Error('Bearer token or private key information is required to generate a token');
      }
    }

    return this.bearerToken;
  }
}

export { AppStoreConnectOptions, AppStoreConnectClient };

sdk caller:
async function getLatestAppStoreBuildNumber(bundleId): Promise<number> {
    const { data: response, error } = await appStoreConnectClient.api.buildsGetCollection({
        query: {
            'fields[apps]': ['bundleId'],
            'filter[app]': [bundleId],
            sort: ['-version'],
            limit: 1,
        }
    });
    if (error) {
        throw new Error(`Error fetching builds: ${JSON.stringify(error)}`);
    }
    if (!response) {
        return 0;
    }
    if (response.data.length === 0) {
        return 0;
    }
    return Number(response.data[0].attributes.version);
}

notes:
while overall easy to generate api client, it isn't very easy to interact with it.
for example, when calling the service endpoints, the optional query parameters and data aren't really formatted for simple function calls. Seems a services binding layer is still required if you want sdk consumers to interact with it with ease.

I've been reading for an hour and don't understand your needs. Can I ask you some questions?
I am using openapi-ts in the Vue project
createClient() // client1
createClient() //. client2

Then when calling the method of sdk.gen.ts
apiGetUser({
  client: client1
})

I want to understand your needs to avoid not knowing how to solve such problems in the future
🫣

I think you should be good @greenking19, this thread is around functionality that's not natively supported by this package. If what you have works for you, there should be no need for a custom client

I think a good approach would be to rename name to something more meaningful to specify it is to generate instantiable clients, and then refactor the instantiable generation to support the new hey-api fetch

This is a good suggestion I think.  The single named client is the only reason I can't switch away from using "name" and legacy client to the newer one.


AnnDataSchema for anndata validation

@mbabadi can you have a look if this validation method looks right?

@ordabayevy looking at it right now.

Thanks for reviewing @mbabadi !


btw this is hella outdated

as the title says but I'm too lazy to fix this rn

done

I think you forgot to pass options to the super init function and also I think it would be nice to leave an author in pyproject.toml to serve as an example to people new to the pyproject.toml packaging standard.
I need to start adding git workflow tests for extensions as a simple test would have caught errors like such. I'll look into this some time.


ycm is unable to work, RuntimeError appears

[_request] req.end called
[ycm stderr] 2017-09-12 12:07:31,165 - INFO - Received command request
Traceback (most recent call last):
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/third_party/bottle/bottle.py", line 861, in _handle
return route.call(**args)
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/third_party/bottle/bottle.py", line 1734, in wrapper
rv = callback(*a, **ka)
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/watchdog_plugin.py", line 100, in wrapper
return callback( *args, **kwargs )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/hmac_plugin.py", line 62, in wrapper
body = callback( *args, **kwargs )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/handlers.py", line 86, in RunCompleterCommand
request_data ) )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/completer.py", line 277, in OnUserCommand
return command( self, request_data, arguments[ 1: ] )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/cpp/clang_completer.py", line 116, in
self._GoTo( request_data ) ),
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/cpp/clang_completer.py", line 187, in _GoTo
raise RuntimeError( 'Can't jump to definition or declaration.' )
RuntimeError: Can't jump to definition or declaration.
[_request] status code: 500
[_request] {"exception": {"TYPE": "RuntimeError"}, "traceback": "Traceback (most recent call last):
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/third_party/bottle/bottle.py", line 861, in _handle
return route.call(**args)
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/third_party/bottle/bottle.py", line 1734, in wrapper
rv = callback(*a, **ka)
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/watchdog_plugin.py", line 100, in wrapper
return callback( *args, **kwargs )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/hmac_plugin.py", line 62, in wrapper
body = callback( *args, **kwargs )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/handlers.py", line 86, in RunCompleterCommand
request_data ) )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/completer.py", line 277, in OnUserCommand
return command( self, request_data, arguments[ 1: ] )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/cpp/clang_completer.py", line 116, in
self._GoTo( request_data ) ),
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/cpp/clang_completer.py", line 187, in _GoTo
raise RuntimeError( 'Can\'t jump to definition or declaration.' )
RuntimeError: Can't jump to definition or declaration.
", "message": "Can't jump to definition or declaration."}
[onDefinition error] { exception: { TYPE: 'RuntimeError' },
traceback: 'Traceback (most recent call last):
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/third_party/bottle/bottle.py", line 861, in _handle
return route.call(**args)
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/third_party/bottle/bottle.py", line 1734, in wrapper
rv = callback(*a, **ka)
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/watchdog_plugin.py", line 100, in wrapper
return callback( *args, **kwargs )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/hmac_plugin.py", line 62, in wrapper
body = callback( *args, **kwargs )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/handlers.py", line 86, in RunCompleterCommand
request_data ) )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/completer.py", line 277, in OnUserCommand
return command( self, request_data, arguments[ 1: ] )
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/cpp/clang_completer.py", line 116, in
self._GoTo( request_data ) ),
File "/usr/share/code/resources/app/extensions/RichardHe.you-complete-me-1.0.36/ycmd/ycmd/../ycmd/completers/cpp/clang_completer.py", line 187, in _GoTo
raise RuntimeError( 'Can\'t jump to definition or declaration.' )
RuntimeError: Can't jump to definition or declaration.
',
message: 'Can't jump to definition or declaration.' }
[buildRequest] document, /home/shantengfei/catkin_ws/src/industrial_core/industrial_robot_client/src/generic_joint_streamer_node.cpp; position: [object Object]; event: null

Looks ycmd is not working well. Can you provide more information?


More hashes

http://bench.cr.yp.to/primitives-hash.html

I would be interested to have support for md5

@ltshb md5 is already in the codec table https://github.com/multiformats/multicodec/blob/d4b38530306d006f8c3f27c2f39f707ff4e2351f/table.csv.


Getting lower results

Hi,
Dowloaded your features, trained and evaluated you model.

Number of ground truth instances: 7293
Number of proposals: 472632
Fixed threshold for tiou score: [0.5  0.55 0.6  0.65 0.7  0.75 0.8  0.85 0.9  0.95]
[RESULTS] Performance on ActivityNet proposal task.
Area Under the AR vs AN curve: 63.50907719731249%
Adding an axes using the same arguments as a previous axes currently reuses the earlier instance.  In a future version, a new instance will
always be created and returned.  Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
"Adding an axes using the same arguments as a previous axes "
AR@1 is          0.31546688605512135
AR@5 is          0.43129027834910183
AR@10 is         0.5023584258878377
AR@100 is        0.7298642533936651
In your paper the Area Under the AR vs AN curve is 67.10 and I'm getting 63.5
and your AR@100 is 75.01 and I'm getting 72.9.
I didn't change your configuration.
Any idea why I'm getting lower results.
Thanks
Ophir

Hello ， I am not the author .  I am sorry to make you confused.
In my released code. the hyperparameters may are not the optimal choices, I dont save these parameters and the model, you may need to do more expriments to get a good result. In my memery, the best result of my expriments is near to the BSN(74.5%) but could't the get results as the paper.


JS function for "setElementValue" (on  section)

Hey,
I know this is not so tricky ;) but just for the sake of the documentation :), no JavaScript function has provided for "setElementValue" so it leads to "Nothing" on the <Detect when a Blazor app is prerendering> section, and raising an error for the next part.
wish the best.

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

ID: 49807900-0d56-e23c-1aef-d79099caeffb
Version Independent ID: feff434f-912c-0985-d575-4a23a629057d
Content: ASP.NET Core Blazor JavaScript interop
Content Source: aspnetcore/blazor/javascript-interop.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @aminm1364 ... Yes because it isn't germane to the concepts discussed in the section. Same deal for handleTickerChanged earlier, which also isn't shown. In the handleTickerChanged case, however, there's a line to call it out in the code snippet ...

The handleTickerChanged JavaScript method is implemented in a JavaScript file, such as 'wwwroot/tickerJsInterop.js'.

The same thing should be done here.

You're actually the 2nd dev to ask. @Legends just commented a short time ago on https://github.com/aspnet/AspNetCore.Docs/issues/14131 ...
setElementValue: (elem, val) => { elem.value = val; return val;}

Perhaps, it should have it. 🤔 It would be better for playing with the bits if all the bits are there! :smile:

Yes ... I think this has composed very well with examples. Thanks @aminm1364. I'll ping u and @Legends on the PR, which should be up shortly.

Thank you @guardrex 🤘. I assume it'd be definitely helpful to follow and understand the different parts of the code. 🙂


Add Gundam Evolution to the list (EAC)

Game Title
GUNDAM EVOLUTION
Game Website
https://gundamevolution.com/en/
Anti-Cheat Software
Easy Anti-Cheat
Status of the Anti-Cheat
😥 Broken
Tinkering Steps
No response
Proof of Mention
https://steamdb.info/tech/AntiCheat/EasyAntiCheat/

Duplicate of #786


Hide message about audit track on progress page.

This is a port of this change to the old theme.  The fix is already live in production on htpps://ondemand.cloudera.com/.

@smarnach Code changes make sense to me -- took a look at edx's HTML to make sure this is the proper class hierarchy.
Just one question: I tried enrolling in some courses on the live servers, but the few courses I tried didn't have a progress tab showing. Are there any I can test this on?

@smarnach Scratch my last comment, found one.

@smarnach
:+1:

[x] I tested this: Saw that class hierarchy matches the CSS, and tested manually on the live servers, got this:

[x] I read through the code
[ ] I checked for accessibility issues N/A
[ ] Includes documentation N/A

@UmanShahzad Thanks!


Log event typing breaks when adding datasources to PrismaClient constructor

Bug description
When creating the PrismaClient, you can pass a log array with an entry to emit query events. By doing so, you can later on use prisma.on('query', callback);. Without the log property during initialisation, the event won't work, since the typing looks at keyof PrismaClientOptions extends 'log'.
When I add another property to the options object (e.g. datasources), this typing breaks. It will throw a Argument of type '"query"' is not assignable to parameter of type 'never'.ts(2345) error. My assumption would be that keyof PrismaClientOptions no longer only extends 'log', but now also has a key called 'datasources'.
Am I doing something wrong, or should this just work?
How to reproduce
The following will work fine and as expected.
const prisma = new PrismaClient({
  log: [
    {
      emit: 'event',
      level: 'query',
    },
  ],
});

prisma.on('query', (e) => {
  console.log(e);
});

But this will break the typing of the event listener:
const prisma = new PrismaClient({
  datasources: {
    db: {
      url: '[INSERT_POSTGRES_CONNECTION_STRING]',
    },
  },
  log: [
    {
      emit: 'event',
      level: 'query',
    },
  ],
});

prisma.on('query', (e) => {
  console.log(e);
});

Expected behavior
I'd expect that adding other properties to the options object, doesn't break the typings for event listeners.

I am able to reproduce this https://www.loom.com/share/7b8386a150c04ed09c24110069bc0164


Using variables for contentblock names

Hi
I would like to define multiple blocks in an .md file and have the layout create them in the correct order automatically. I tried using YAML variables, but it seems that the Liquid variables does not get substituted in the {% contentblock %}
I tried this:
index.md
---
layout: default
sections:
  intro: Section 1 title
  help: Another title
---
{% contentfor intro %}
This is intro block
{% endcontentfor %}

{% contentfor help %}
HELP HELP
{% endcontentfor %}

default.html
{% for section in page.sections %}
  <li>
    {% contentblock section[0]  %}
    {% contentblock {{ section[0] }}  %}
    {% contentblock "section[0]"  %}
    {% contentblock 'section[0]'  %}
  </li>
{% endfor %}

Is there a way to achieve this?
Thanks.

Hi @gitwn I did a little digging and I'm not sure Liquid supports this. The first parameter to the block tag would need to be interpreted as a variable and I didn't see a way to do that in the Liquid code. However, I'm not ruling out a creative pull request for this.


Scene graph example

A very common use case of an ECS is to create a scene graph that parents objects' transform to other objects. I'm however unsure how to implement this in specs. Could an example for this use case be added so it's a bit clearer how to do something like this? In general I would appreciate some pointers for implementing this.

Hello @LaylConway! I can link you to the implementation that the Amethyst game engine is using, just one sec.

So Amethyst is using specs_hierarchy to implement transform hierarchies, you can see the systems and components in this folder: https://github.com/amethyst/amethyst/blob/develop/amethyst_core/src/transform/components/parent.rs

A chapter would still be nice though.

Thanks for the quick answer! If you don't mind me asking, could you point me at the code where the transforms are actually resolved to a final model matrix for use in the renderer?

They don't get resolved by the renderer, but updated by the TransformSystem if necessary. There's a GlobablTransform component holding the matrix.
Some pointers:

Here we check which nodes changed: https://github.com/amethyst/amethyst/blob/develop/amethyst_core/src/transform/systems.rs#L59

Then we just iterate through all nodes (https://github.com/amethyst/amethyst/blob/develop/amethyst_core/src/transform/systems.rs#L94) and get the parent (which is stored as a component on an entity, so a Parent component on entity A containing entity B means A is a child of B) from the component storage (https://github.com/amethyst/amethyst/blob/develop/amethyst_core/src/transform/systems.rs#L96)

I don't know if you want to, but I recommend you just use specs-hierarchy for your project. It's our generic scene hierarchy library for Specs, you'll also find most of the hierarchy related code there.

Not sure if that actually answered your question?

@Aceeri wrote the code and @Rhuagh refactored it, so they probably know more about how it works than I do.

I think that probably answered my question yea, I'll take some time to look over these for my own implementation

Depends on how complicated you want to make it, you can very easily make a system that recomputes all the world transforms every frame by using specs-hierarchy. You can just iterate through the entities with hierarchy.all().
Something like:
for entity in hierarchy.all().into_iter() {
    let my_local = locals.get(entity);
    let my_parent = hierarchy.parent(entity);
    let parent_global = globals.get(entity);
   *globals.get_mut(entity) = parent_global * my_local;
}

If you want to avoid recomputation when things aren't moving you should look at TransformSystem in amethyst. It's fairly involved, but that's because it wants to avoid recomputation.

Would be nice to have a "how to use" specs-hierarchy example in either the docs or the slides.


[experiment] Give ZipOutputStream an INameTransform property, and use it to transform the names of newly added entries

Ref: the discussions about name transforming/cleaning when creating zips:
An experiment into giving ZipOutputStream an INameTransform to (optionally) use to transform file paths, to see what it might look like.
A bit more heavyweight that just having a clean function to call, but more flexible (if that's useful), and fits in more with ZipFile and FastZip?
Defaults to a minimized transform that just strips path roots and puts slashes in the appropriate format (copied from the existing versions and trimmed a bit basically).
ZipEntry.Name is read-only after creation, so it ends up transforming the name twice when doing the local/central headers, rather than just doing it once.
I certify that I own, and have sufficient rights to contribute, all source code and related material intended to be compiled or integrated with the source code for the SharpZipLib open source product (the "Contribution"). My Contribution is licensed under the MIT License.

(On a related note, the existing TransformFile function could perhaps use the string trim functions instead of manual loops for trimming leading/trailing separators?)

refs #495

Yeah, I really like this solution, as it gives a good default with a transparent implementation (PathTransform) that still leaves the consumer with the flexibility to customize the behaviour if they so choose.

ZipEntry doesn't expose a means to set the name after construction, so ZipOutputStream couldn't just mutate it in PutNextEntry.
Could maybe give ZipEntry.Name an internal setter to use to update it?

Although, if we allow the null filter, then we might as well allow changing the Name property (for non-commited ZipEntries of course, since changing it for one that is already written to a zip file won't have the intended effect and would break the lookup).

Updated to rebase on top of the other changes, and to try the alternate approach of an internal property setter for ZipEntry.Name and only doing the transform once in ZipOutputStream.

Yeah, this is probably the easiest to do right now. Allowing rename on uncommited entires introduces a lot of complexity for no real gain. LGTM!


add  scipy.special.stdtr() API

This PR adds the Student's T-Distribution Function from scipy.special.* .
#6324

/test mini

hello @kmaehashi, is this addition to the codebase welcome?

Hi, sorry for keep you waited, this looks good to me!
/test mini

Hi @boku13, it looks that tests are failing. Could you check the log?

Sorry for the wait, I was busy with the GSoC proposal.

Logs
 	=========================== short test summary info ===========================
01:19:01.615934 STDOUT 2832] 	FAILED cupyx_tests\scipy_tests\special_tests\test_ufunc_dispatch.py::TestUfunc::test_dispatch[stdtr] - AssertionError:
01:19:01.615934 STDOUT 2832] 	Not equal to tolerance rtol=1e-07, atol=0.0001
01:19:01.615934 STDOUT 2832]
01:19:01.615934 STDOUT 2832] 	Mismatched elements: 3 / 5 (60%)
01:19:01.615934 STDOUT 2832] 	Max absolute difference: 0.0007692
01:19:01.615934 STDOUT 2832] 	Max relative difference: 0.00077375
01:19:01.615934 STDOUT 2832] 	 x: array([0.99863 , 0.999907, 0.999529, 0.998586, 0.99335 ], dtype=float32)
01:19:01.615934 STDOUT 2832] 	 y: array([0.998978, 0.999916, 0.999537, 0.998919, 0.994119], dtype=float32)
01:19:01.615934 STDOUT 2832] 	= 1 failed, 108046 passed, 6786 skipped, 677 deselected, 320 xfailed, 2595 warnings in 3645.67s (1:00:45) =
01:19:01.616734 STDOUT 2832] 	------------------------------------------------------------------------------------------

Having to increase both atol and rtol to 1e-03  is probably fine? I'll commit the changes as soon as I'm done with classes tomorrow.


Fix GCC 12.2 warning in access to patricia_t members

Hi folks — we're seeing a few warnings in the libpatricia code with newer GCCs:
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:246:18: warning: array subscript ‘prefix_t {aka struct _prefix_t}[0]’ is partly outside array bounds of ‘unsigned char[12]’ [-Warray-bounds]
  246 |   prefix->bitlen = (bitlen >= 0) ? bitlen : default_bitlen;
      |   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:228:18: note: object of size 12 allocated by ‘calloc’
  228 |         prefix = calloc(1, sizeof(prefix4_t));
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:247:18: warning: array subscript ‘prefix_t {aka struct _prefix_t}[0]’ is partly outside array bounds of ‘unsigned char[12]’ [-Warray-bounds]
  247 |   prefix->family = family;
      |   ~~~~~~~~~~~~~~~^~~~~~~~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:228:18: note: object of size 12 allocated by ‘calloc’
  228 |         prefix = calloc(1, sizeof(prefix4_t));
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:248:21: warning: array subscript ‘prefix_t {aka struct _prefix_t}[0]’ is partly outside array bounds of ‘unsigned char[12]’ [-Warray-bounds]
  248 |   prefix->ref_count = 0;
      |   ~~~~~~~~~~~~~~~~~~^~~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:228:18: note: object of size 12 allocated by ‘calloc’
  228 |         prefix = calloc(1, sizeof(prefix4_t));
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:250:22: warning: array subscript ‘prefix_t {aka struct _prefix_t}[0]’ is partly outside array bounds of ‘unsigned char[12]’ [-Warray-bounds]
  250 |     prefix->ref_count++;
      |     ~~~~~~~~~~~~~~~~~^~
/home/christian/devel/zeek/zeek/src/3rdparty/patricia.c:228:18: note: object of size 12 allocated by ‘calloc’
  228 |         prefix = calloc(1, sizeof(prefix4_t));
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

The above is based on Zeek's version of libpatricia, but the code in question is identical. I wasn't able to test the included tweak directly with your repo but the equivalent fix on the Zeek side resolves them.

Thanks!


Coming to v3

Hello thank you for your work.
I've been using an old version but now moved to 3.01.
Can you explain how to do the same functionality that existed with BlockCell and UnblockCell ?
I have been using those functions to make grid nodes walkable/non walkable in my game but in the new version these functions are not there. Only can find DisconnectNode. How to reconnect?

Hey @cortaninha,
Ah you can use the GetNode function to get the nodes you want and then connect them again using Node.Connect. If you want more control you can also use all the nodes and edge classes.

Thank you for your quick response.
One question about the Node.Connect, do i have to connect to all adjacent nodes for the pathing to work again for that node? I dont want to recalculate the grid every time some building is destroyed.

Hey,
Yes you have to reconnect to all nodes that you would like a connection to (so all surrounding nodes).
I don't really understand "I don't want to recalculate the grid every time some building is destroyed." You can just create a helper function to connect it to all 'neighbors' for you. Its not an expensive operation.


compliance show all questions. adds column sorting for checked columns on compliance questions

Coverage remained the same at 0.0% when pulling 15bbad126465b6d9a6d8364e4b15043214741534 on theseyi:compliance-show-all into b65a9b24162a20344691438fba039aa432d7d9d4 on linkedin:linkedin.


Updated docs to include info about 'disableVideoTagContextMenu' option

:+1: @tjenkinson

Here it's http://clappr.github.io/classes/Player.html#yui_3_9_1_2_1445296707565_548

Nice

On 20 Oct 2015, at 00:19, Leandro Moreira<EMAIL_ADDRESS>wrote:
Here it's http://clappr.github.io/classes/Player.html#yui_3_9_1_2_1445296707565_548
—
Reply to this email directly or view it on GitHub.


Fix bug preventing serve of webhook

What type of PR is this?
Bug
What this PR does / why we need it?
Fixes an issue that was preventing the main web server from being served out.

/test lint

/test lint

/lgtm


fix: Retry event marshalling without contextual data if the first pass fails

Fixes https://github.com/getsentry/sentry-go/issues/44

@IzeBerg wdyt about that change?

Maybe add info into the event that it changed? Like message into the log, but in the event.

@IzeBerg added the info


Add a Gitter chat badge to README.md

IBM-Swift/Kitura now has a Chat Room on Gitter
@rfdickerson has just created a chat room. You can visit it here: https://gitter.im/IBM-Swift/Kitura.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

I added this manually so that it will be positioned properly.


Headers with value 0 being stripped out. Previous bugfix caused all headers to be accepted.

Provide a narrative description of what you are trying to accomplish:

[x] Are you fixing a bug?

[x] Detail how the bug is invoked currently.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://xxx.xxx.xxx');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Upload-Offset: 0"]);
curl_exec($ch);

[x] Detail the original, incorrect behavior.
The header Upload-Offset is being stripped. (Any header with value "0")
The value was being used in a conditional.  To test !!("0") === false.
Test was incorrect because the header was being stripped because it was not prefixed with HTTP_.
Relates to #347 #342 #344
[x] Detail the new, expected behavior.
Values with a string of "0" should be accepted
Test passes with proper header formation.
[x] Base your feature on the master branch, and submit against that branch.
[x] Add a regression test that demonstrates the bug, and proves the fix.
[x] Add a CHANGELOG.md entry for the fix.

This is the if statement that filters out headers that don't begin with HTTP_ in marshal_headers_from_sapi.php on line 38:
        if ($value && strpos($key, 'HTTP_') === 0) {

The problem with that is that if $value === "0" the statement will return false, which is the original reported issue.  You can test the truth of this by observing !!("0")===false.
My fix is to change that line to
        if (($value || $value === "0") && strpos($key, 'HTTP_') === 0) {

which accounts  for the possibility that the value could be "0", which is still a valid value.  It actually might be better to say !empty($value)  but I don't know what other side effects that might have.
I then changed your test header in from Accept to HTTP_ACCEPT and the assertion header to ACCEPT.  (The HTTP_ gets stripped away.)
Maybe it is better to say !empty($value) because maaaaaaaaaaaybe you want to keep "false".  Then again maybe not?
It could break anything that expected "false" to not return a header.  I doubt that's the behaviour we would want, though.  It could be possible other people are negatively affected by this.  For right now there's no issue posted with "false", so I think this commit should stand.

@bluebaroncanada I think it would be good to add tests for all cases you described in your comment. It could prevent the issue in the future.

@webimpress Then I have to decide and I hesitate to be the one to decide because I'm not the original author and I don't know his or her intention.
Calling @weierophinney

@weierophinney Should headers with "false" or "0" be kept.  The original behaviour is to discard because we're checking the truth of $value which is a string.
Observe that !!("0") === !!("false") === false.
  I thought I had read it was false.  Reading less stupidly, I realize it's not listed in that document and I ran it through a tester and it came out true.
Still, your attention to this bug might be helpful.

@bluebaroncanada As you are submitting the PR you have to decide how it should form in your opinion. And if you demonstrate it by tests others can see if it makes sense or not. I would change the condition to be $value !== '' and then add tests to cover it. So 0 and false will be kept and we should have tested these cases. Also we would need test with empty value.

Changed checking to $value !== ''
Any talk about 'false' in this thread can be ignored
Added new tests to explicitly test that server variables not prefixed with HEADER_ or CONTENT_ are stripped
Also applied the new checking method  to CONTENT_ prefixed variables
Added a second assertion to check that CONTENT_ variables with value of '0' are kept

I have just tested this locally and it fixes the issues mentioned in #350.

Until this is merged you can use this to skip affected versions: "zendframework/zend-diactoros": "^2.0 !=2.0.2 !=2.1.0",

This looks good. I'm going to squash the commits so that I can more easily cherry-pick the changes and create a 2.0.3 release; I'll push those back to your branch before merging.

How do you do that exactly? Would like to know.
On Sat, 5 Jan 2019 at 14:50, weierophinney <notifications<EMAIL_ADDRESS>wrote:
This looks good. I'm going to squash the commits so that I can more easily cherry-pick the changes and create a 2.0.3 release; I'll push those back to your branch before merging.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/zendframework/zend-diactoros/pull/349#issuecomment-451685450, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFleUS-O6ZMh9lcmcI6qtcOFWwAWZSKBks5vAQHvgaJpZM4ZeQP9.


add 2 new EntityRecognizer methods for new LUIS List Entities

LUIS's List Entities return in a slightly different format than normal entities, they have an additional "resolution" property which contains another key-value pair: the key "values" and an array of strings. These strings can be construed as the true value a developer is looking for, opposed to the List Entity name.
The methods are findListEntity() and findAllListEntities().
This is a link to the current API docs regarding List Entities.
Example List Entity from LUIS:
{
  "entity": "ice cream",
  "type": "Desserts",
  "startIndex": 12,
  "endIndex": 20,
  "resolution": {
      "values": [
          "FrozenDesserts"
      ]
  }
}

@stevengum97,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Hi Steven... I'm mulling this over. Can you provide a couple of code examples for how you'd use these methods in your bot? Closed lists are a nice add to LUIS but semantically they are the same as a normal entity, they've just had their value validated in much the same way a date has been validated and therefore has resolution.
My pushback is that if you have a list entity with 50 possible canonical values I don't see you making 50 separate calls looking for each canonical value. Even in your example I think you'd look for the "Desserts" entity and then use the resolution value instead of what the user typed. So I think you'd still work with the entity in much the same way you do any other entity.

@Stevenic you're right, for large List Entities findListEntity() and findAllListEntities() are not going to be worth it to call these methods 50 times to look for List Entities. However, I think that might not be the normal use case for List Entities (I could be wrong). Immediately I have only two ideas for potential entities at that size, the States (which is provided as the example in the API Docs) and countries (much in the same capacity of the States).
I think it might be of use to developers who know exactly what they're looking for in an utterance from a user. The findListEntity() method abstracts some of the code a dev would have to write if the dev is looking for a specific cannonical form and/or has a small List Entity (which I think might be closer to the norm). I think that if the user is trained or primed to provide utterances that use list entities already, the findListEntity() methods might be more beneficial/faster to write bots with.
// Code for tests case where List Entities are small
// Example Utterance: "I need cable help in WA."

function (session, args, next) {
    var state = builder.EntityRecognizer.findEntity(args.entities, 'State');
    if (state.resolution && state.resolution.values) {
        for (var i = 0; i < state.resolution.values.length; i++) {
            if (state.resolution.values[i] === ('Washington' || 'Oregon')) {
                state = state.resolution.values[i];
            }
        }
        if (!state) {
        session.send('We only offer support in Washington and Oregon');
        builder.Prompts.choice(session, 'Please choose one:', ' Washington | Oregon');
        } else {
            next({ state: state });
        }
    }
}

VS
function (session, args, next) {
    var stateOrcinus = builder.EntityRecognizer.findListEntity(args.entities, 'Washington');
    var stateCastor = builder.EntityRecognizer.findListEntity(args.entities, 'Oregon');
    if ( !(stateOrcinus||stateCastor) ) {
        session.send('We only offer support in Washington and Oregon');
        builder.Prompts.choice(session, 'Please choose one:', ' Washington | Oregon');
   } else {
        next({ state: stateOrcinus || stateCastor });
   }
}

That said I think placing this on hold for now is probably the best idea; if it comes up as a common request it can be revisited.

Closing PR.


[BUG]: Test Issue 59

Bug Description
N/A
Logs
N/A
Screenshots
No response
Additional Environment Information
No response
Steps to Reproduce
N/A
Expected Behavior
N/A
CSM Driver(s)
N/A
Installation Type
No response
Container Storage Modules Enabled
No response
Container Orchestrator
N/A
Operating System
N/A

/sync


Use RelocatableFolders for font assets folders.

The current hardcoding of @__DIR__ means that the package isn't usable with PackageCompiler when relocating system images since the source folders might not exist. This has come up before in Makie (where we solved it with Artifacts) and in MathTeXEngine (where we solved it with RelocatableFolders as done here). The Artifacts approach is a bit more involved to implement and maintain.

@piever can we request a quick review

@piever, I'll go ahead and merge + tag this, since the tests should be sufficient to "review" this ;)
@MichaelHatherly, would it make sense to use the same for Makie? It looks like it does, and the artifact solution is pretty annoying ;)

@MichaelHatherly, would it make sense to use the same for Makie? It looks like it does, and the artifact solution is pretty annoying ;)

Yes, pretty annoying I'd say! I'll sort it out.

Thanks for the PR and sorry for the delay in looking at this!
LGTM, I'll merge and tag a patch release.


Create high level object save trait for all Requests

Something that I find I would like to do often is bundle multiple types of messages together inside a vec and send them off.  May want to send a  wasm store_code, instantiate, then execute for example. It would be even better if this was inside the same tx. This could be achieved with a trait that look like this:
pub trait Request {
    fn to_any(&self, sender_addr: Address) -> DeployResult<Any>;
}

impl<S> Request for ExecRequest<S>
where
    S: Serialize + Clone + 'static,
{
    fn to_any(&self, sender_addr: Address) -> DeployResult<Any> {
        let proto = self.clone().to_proto(sender_addr)?;
        let any = proto.to_any()?;
        Ok(any)
    }
}

impl<S> Request for StoreCodeRequest<S> {
...
}

Then one could simply pass a vec of these Request objects to an execute function that takes in a Vec<&dyn Request>

Great point! It would be really cool to be able to batch different operation types under the same transaction.


add constants for drive secure erase

The tools and corresponding parameters (named "operation" here) varies for different type of drive's protocols. This PR adds support list about the relationship of "tool - protocol - operation".
Related PR:
https://github.com/RackHD/on-tasks/pull/225

Coverage remained the same at 91.355% when pulling baa6f81de7b62cc466f26dc7a2e54080b8ed6eeb on iceiilin:secure-erase into 5e8f79171d833bd9bad7a0863b84042752034e5f on RackHD:master.

Are these values used anywhere other than the job in on-tasks? If not, I'm not sure it makes sense to add them to constants.

Move drive const to job. close this PR.


How to drag a circle

Here is the requirement to drag a circle to required place.how we can achieve this.Can any one help me.
Thanks

You need to have your circle centered over the map. Drag the map, not the circle.


provide the ability to rerun workflows in the front-end

Provide a page to rerun a workflow, with possibly different workflow configurations, for a previously uploaded assets. Also on that page show the history of workflows, with links to step functions, which have been executed for the asset.

Is this a duplicate of #54 ?


Test replication with optional features enabled

Could someone please test if the replication (Get-ADReplAccount) works with Recycle Bin and Privileged Access Management enabled? Mimikatz had a problem there.

Confirmed, it does not work with PAM. I will try to fix it.

Fixed in b2ff0c7c4d91156a5a42698816982f7ff221cd4b. See this thread for details.

My mistake, the previous commit is related to another issue.


Update EntityWrapper.cs

Spelling correction.

This repository is read-only as mentioned in the readme.
You could file an issue for your API addition on https://github.com/dotnet/corefx instead.


Controls Are Not Saved in Reaper

Scenario:
1.) In a Reaper project, load sfizz as a VST3 instrument.
2.) In sfizz, load a SFZ sample library with various MIDI controls such as offset, attack & release.
3.) Adjust the controls as desired and save the result as a preset, export the instrument to a .vstpreset, or save the FX chain to a .RfxChain.
4.) Close and re-open the project in Reaper.

[Adjusted Controls]
Result:
The sfizz VST3 instrument remains in the project with the desired sample library loaded. However, all of the control settings are reset to their defaults, including Volume. Importing the previously exported FX chain or preset has no effect on the controls.

[Controls Reset to Defaults]
Reaper seems unable to find the VST's settings, and sfizz might require it's own method of exporting settings to a file. (This might be better placed under Feature Requests) A similar issue is described by others here...
https://www.reddit.com/r/Reaper/comments/phy25e/reaper_not_saving_some_vst_settings/
...as well as here, with replies from Justin himself:
https://twitter.com/SampleScienceSo/status/1437693077444087808
Linux Mint 20.3, Mate
Reaper 6.63
sfizz 1.2.0

I think this might be down to a quirk in how SFZ maps its performance knobs. Unlike the knobs in most VSTs, these don't actually edit the sound - the text file of the SFZ remains unchanged.
I don't know if there's any way to make Reaper remember control change settings as part of a preset, but I suspect it doesn't. Unfortunately I don't think there's a fix possible for this, other than changing how Sfizz (and SFZ in general) handles its performance knob technology.
Of course, you COULD record the CC values of you choice into your sequencer as performance MIDI data.

the text file of the SFZ remains unchanged
That's what I was thinking, too, which is why I said this might be better placed under Feature Requests. If sfizz is smart enough to read the SFZ file and place knobs accordingly, it's presumably smart enough to read user input and store a record of the changes. What I guess I'm asking for, is a means of exporting sfizz settings to a text file for recalling later.

record the CC values of you choice into your sequencer
That's not a bad idea! The necessary settings would be stored with the project, where they belong. Thank you!

On Thursday, July 21, 2022 at 05:30:56 AM GMT+2, Paul Ferrand @.***> wrote:

CC state should be saved and restored.
By any chance could you try the LV2? Does it also behave like this?

Hay Paul. Thank you for responding. I'm sorry I've only seen this now.
I'll give the LV2 a try this evening and let you know. Curiously, some of the CC states are remembered, such as volume, pan & expression. The CC's that are being ignored, are those I've created in the .SFZ, such as Offset, Attack and Release for individual instruments. I've carefully avoided assigning any default values in the .SFZ so as to avoid those being adopted at startup.
Another minor irritation, is that switching on my MIDI keyboard after a library is loaded, causes the volume to be reset to 127 regardless of the default setting in a .SFZ file or subsequent adjustments. I just make sure to power up my Korg SP-170S before starting Reaper.
Gavin

I'll give it a more thorough try as soon as I find some time.

Another minor irritation, is that switching on my MIDI keyboard after a library is loaded, causes the volume to be reset to 127 regardless of the default setting in a .SFZ file or subsequent adjustments. I just make sure to power up my Korg SP-170S before starting Reaper.

It's probably the keyboard sending a value on CC7, you could check it out (and possibly filter it) using the ReaControlMidi plugin before sfizz.

CC state should be saved and restored. By any chance could you try the LV2? Does it also behave like this?

sfizz VST3i:
Loses CC values between Reaper sessions, but it behaves just fine until Reaper is closed.
sfizz LV2i:
Doesn't even remember CC values between switched FX windows. Checking a different effect's settings and then returning to sfizz, reveals that all controller values are visually returned to their defaults, although the adjusted values continue to be applied to the audio content.
Both VST3 and LV2 interfaces:
Saving the FX chain and adding it later loads the appropriate VST3 or LV2 instrument and sample library, but CC values are not restored.
Saving settings as a FX Preset doesn't help with either the VST3 or LV2 effect; none of the CC values are restored.
Exporting the VST3 preset (.vstpreset) and importing it later also doesn't restore CC values.
Three different SFZ libraries were tried in three different Reaper projects containing the test track only.
sfizz 1.2.0
Reaper 6.64
Linux Mint 20.3

Update: CC values are not preserved when duplicating a track in Reaper. The relevant VST3i and SFZ instrument is loaded, but the controllers are all reset to their defaults in the duplicated track.

Hey Paul. It looks like you've edited some files. Should I be compiling to test, trying a "current" version, or just waiting patiently for you to close the bug with #1115. No rush intended, just trying to better understand how this GitHub thing works.

Jolly happy update: Sfizz "Current" version<PHONE_NUMBER>.1eb36c4-0 on Linux Mint 20.3 (Ubuntu 20.04), which shows up as v1.1.1, is successfully saving all CC values with Reaper 6.69 projects as well as exported .vst3 settings. Thank you Paul et al!


Data table extensions: column customization

Data table extensions: column customization
Brief description
This issue will deliver the column customization data table extension.
Details
Link to Design
Note: Designs have been updated since the current version.
Links to other materials
e.g. sketch files, icons, images, prototypes
Design Maintainer(s)

Marion Brülls
Mitchell Bernstein

Tasks
Before starting work on this epic, please review and complete the following.

[ ] Initial review of design/existing code

Working in Carbon for IBM Products package

[ ] Have you reviewed our
contribution guidelines?
[ ] Have you noted our
code guidelines?
[ ] Did you use the CLI to scaffold your new component?

Merged yesterday https://github.com/carbon-design-system/ibm-cloud-cognitive/pull/2221


Enhancements to Markdown

This includes bug fixes and mainly an enhancement to Markdown to provide blogging capability.

Metadata variables are now flattened. No need for the variables block/object.
Links to all available markdown files are now available and can be used in templates ordered by newest to oldest. Accessible via {{.Links}}.
Example below.

{{ range .Links }}

		 {{ .Title }}

		{{ .Summary }}

		{{ .Date.Format "Jan 02, 2006 15:04:05 UTC" }}

{{ end }}

a Link contains
Title   string
Summary string
Date    time.Time
Url     string

date can now be specified in metadata. This is used for ordering links and can be referenced in templates. Dates are only valid if specified in the format YYYY-MM-DD HH:MM:SS. Hopefully, this can be loosen.

Still to come

Pagination
Grouping (by tags).

Cool, this is an awesome start :+1: Am using it now, and will probably tweak it a bit. Thanks!


[Android] icon picture not showing on background

Expected Behaviour
The notification on the status bar having the defined icon.

Actual Behaviour
White empty icon

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 6
Android 5.1

(Android) What device vendor (e.g. Samsung, HTC, Sony...)
ZenFone 2

Cordova CLI version and cordova platform version
cordova 6.2.0
cordova android 5.1.1

Plugin version
phonegap-plugin-push 1.7.4

Sample Push Data Payload
 {
    "data":{
       "title": "MyApp",
       "message": "test",
       "priority": "high",
    },
    "to" : "eLX70s..."
}

If I push the following:
 {
    "data": {
       "title": "MyApp",
       "message": "test",
       "priority": "high",
       "image": "icon"
    },
    "to" : "eLX70s..."
}

I get the image that I would like to use as the icon (this validates that the image is on the app's drawables, right?)
Sample Code that illustrates the problem
var pushNotif = PushNotification.init({
      "android": {
        "senderID": "41...",
        "icon": "icon",
        "iconColor": "red"
      },
      "ios": {},
      "windows": {}
 });

As per the documentation, I have a before_build hook that copies:
     {
        "source": "resources/android/icon/icon.png",
        "dest": "platforms/android/drawable/icon.png"
     }

and also for the different sizes: drawable-hdpi, drawable-ldpi, drawable-mdpi, etc..
Any idea of what I am doing wrong?
Thanks

@franciscofsales does your icon have transparent pixels in it? Actually can you just post your icon in this thread?

@macdonst no, it doesn't

@franciscofsales please read the Android image guidelines on images
https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#images
If there are no transparent pixels then the whole image will show up white.

@macdonst thank you, closing it


Card images ratio issue

Hello,
Sometimes when you deal with responsive layout, your 1 column cards are larger on mobile device than the 4 column desktop version.
The problem is that the image behave weirdly not respecting image ratio.
I think it would be a better default behavior to add "object-fit: cover;" to card images.
With that rule, instead of stretching the image, it will crop it to maintain ratio.
Default example

With object-fit rule

@Zmove, is this the same issue as in #21650?

FYI - I believe doing this works (i.e. add no-gutters class to card and col-12 to the img):

Card title

This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.

Last updated 3 mins ago

Closing as a dupe of #21650.


Gaussian Index different from the original model

Hello,
It seems that the Gaussian indexing in the Gaussian asset created in Unity is different from the original PyTorch model. I suspect this might be due to reordering in Morton order when the asset was created. Is there a simple way to disable this feature, assuming cutout is not being used?
Thank you! :)

Yes, the indices are reordered. As far as i know there is no easy way to disable this behavior. You could disable morton reordering in the asset creation, and change the morton decoding to return as is I guess? A quick search of the project does not yield that many locations where this would need to be done.


Missing image legend with animated gif

Description
title is pretty clear
Steps to reproduce
Insert an animated gif with image code like this:
![Démonstration de l'annuaire](annuaire.gif "Vous pouvez faire aussi une recherche depuis l'annuaire pour filtrer les résultats et trouver plus rapidement la personne.")
Expected result
Legend should appear underneath the image
Actual result
No legend displayed
Environment
><EMAIL_ADDRESS>precheck
> npm version

{
  'doks-child-theme': '0.3.5',
  npm: '8.1.4',
  node: '17.2.0',
  v8: '<IP_ADDRESS>-node.12',
  uv: '1.42.0',
  zlib: '1.2.11',
  brotli: '1.0.9',
  ares: '1.18.1',
  modules: '102',
  nghttp2: '1.45.1',
  napi: '8',
  llhttp: '6.0.4',
  openssl: '3.0.0+quic',
  cldr: '40.0',
  icu: '70.1',
  tz: '2021a3',
  unicode: '14.0',
  ngtcp2: '0.1.0-DEV',
  nghttp3: '0.1.0-DEV'
}

><EMAIL_ADDRESS>check
> exec-bin node_modules/.bin/hugo/hugo version

hugo v0.88.1-5BC54738+extended linux/amd64 BuildDate=2021-09-04T09:39:19Z VendorInfo=gohugoio
npm notice
npm notice New minor version of npm available! 8.1.4 -> 8.3.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.2
npm notice Run npm install -g<EMAIL_ADDRESS>to update!
npm notice

thanks!!! 🤗

It looks like the width of your gif is smaller than the smallLimit set in ./config/_default/params.toml.
An img element is generated for small images, a
 element — with optional a
 element — for large images.
You can set smallLimit in ./config/_default/params.toml, e.g. smallLimit = "420".

Thanks, I see if I follow your point yes it's working again.
But because of your answer here about gif not playing I put "1500" for smallLimit actually.
I'm a bit blocked, it looks like I can't have both world I'm afraid.

I'm a bit blocked, it looks like I can't have both world I'm afraid.

Yeah, correct.  For now, maybe you could mimic the
 element, and add something like this below the small image gif (downside: html in markdown):

Day and Night, 1938 — M.C. Escher

For Doks v0.5.0, I've updated https://github.com/h-enk/doks/issues/502 w/ "Add support for animated GIF with caption" — see also: Animated GIF with caption


[Feat]: Making everything of same size and all button on the same height

Is your feature request related to a problem? Please describe.
Now when we visit the subject page all the div's are of different lengths and the buttons are placed randomly i would like to allign all the button of the divs on the same height to make website look better

Describe the solution you'd like.
No response
Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots

i can do this by giving the flex styling for all the divs
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

assigning to you @YadlaMani, you can start working on it.


BUG: interactive manual - flipped images

Hello Pascal!
I think there is an issue with the live version of the interactive manual.
The images are flipped in the Y axis.
At least in my end, with 3 different browsers, etc.
Collegue has the same issue, but our machines are pretty similar and under the same VPN etc.

cheers

This is very strange! I need to investigate this. Thanks for reporting this!

... And now it is broken... I'm working on it!

This is now fixed. I don't even know what happened. By the way, the interactive manual was as well as the doc were largely updated.
Note: ImGui test Engine support is not yet official


Added dependency to settings.

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This adds support for values, which depend on other values.
For example:

s = Settings()

s._declare("session")
s._dependency("sagemaker", lambda session: session.client("sagemaker"))

s.push(session=boto3.Session())

# can now be used
s.sagemaker


How to send MDM commands to push an app to iOS device

Hi,
I need to push an app through MDM commands.
With .net to install an app, MDM command is
< key >RequestType</ key >
< string >InstallApplication</ string >
< key >ManifestURL</ key >
< string >https://domain//static/z21e6gwewUJSflzPFAAFCYQIF6iv0eOtiM5AjiCzE3k3S7Xc2AinK1ONm1jJ3h0O7CiDRNu23V0l_equal_l/ARG/ApplicationRepository/app-102/iPad/1.0.0/manifest.plist</ string>
< key >ManagementFlags</ key >
< integer >1</ integer >
To remove app, the corresponding MDM command is
< key >RequestType</ key >
< string >RemoveApplication</ string >
< key >Identifier</ key >
< string >domainSomething.safespace</ string >
How to implement the same with node-apn module? How to frame the commands? Does it should be XML format or it should be in JSON
Thanks,
Pravin

This is not the correct place for this question. Please post on StackOverflow

Hi,
I have posted the same in stackOverflow. http://stackoverflow.com/questions/33781850/how-to-send-mdm-commands-to-push-an-app-to-ios-device-in-nodejs
Please let me know how to send the same in apn-payload.


Update scte35 binary processing to use base64_serde

This uses base64_serde and unlike the serde_as crate, seems to deserialize the base64 stuff okay.

Thanks, I integrated this with some additional tests.


Generate SQLiteCppConfig.cmake

Generation of solution through CMAKE build system should produce this file to be "found" for ease of non-intrusive integrations into other projects.

This could probably be closed since bd956b025e6710d78717c19f57bbc10de0fb53d2 fixes it.

Yes, thanks!