Error: Could not find MIME for Buffer

This is the same as issue 643. However, the latter is closed and seems like it is dead despite people experiencing this issue still.
Expected Behavior
Jimp.read loads an image from a URL correctly.
Current Behavior
Trying to read some images from certain URLs fails, throwing Error: Could not find MIME for Buffer <null>
Failure Information (for bugs)
Whilst certain images load correctly, other consistently fail (a failing url will always fail, without exception).
Example failing URL: https://s-media-cache-ak0.pinimg.com/736x/c9/8f/e1/c98fe17dc7de72bb29c34a0c79ef5762.jpg
Trying to Jimp.read it 1000 times gives:
Called jimp.read() 1000 times.
  Failed: 1000.
  Succeeded: 0.

Steps to Reproduce
Repo with a simple script to reproduce the error: https://github.com/codan84/jimp-bug
Context

Jimp Version: 0.6.4
Operating System: OSX 10.14.3
Node version: v10.16.2

Failure Logs
{ Error: Could not find MIME for Buffer <null>
    at Jimp.parseBitmap (/Users/gruszd01/workspace/jimp-bug/node_modules/@jimp/core/dist/utils/image-bitmap.js:108:15)
    at Jimp.parseBitmap (/Users/gruszd01/workspace/jimp-bug/node_modules/@jimp/core/dist/index.js:498:32)
    at /Users/gruszd01/workspace/jimp-bug/node_modules/@jimp/core/dist/index.js:440:15
    at /Users/gruszd01/workspace/jimp-bug/node_modules/@jimp/core/dist/index.js:168:14
    at /Users/gruszd01/workspace/jimp-bug/node_modules/@jimp/core/dist/request.js:56:9
    at IncomingMessage.<anonymous> (/Users/gruszd01/workspace/jimp-bug/node_modules/phin/lib/phin.compiled.js:1:2100)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19) methodName: 'constructor' }

It's also worth mentioning that reading the same image using an external request library (I used axios) into a buffer and then loading that same image to jimp from a buffer works.
An example of that is in using-axios branch of the repo I linked above.
This would only mean that there's an issue with whatever is used for http requests in jimp...
Not working:
jimp.read(failingImageUrl)

Working:
axios({
    method: 'get',
    url: failingImageUrl,
    responseType: 'arraybuffer'
  })
  .then(function ({data: imageBuffer}) {
    return jimp.read(imageBuffer)
  })

Have same problem. Images downloaded on local disk with requst module make this error in jimp too.

I try use GM for edited this images. It don't read them too. Show this error:
Error: Command failed: gm composite: Improper image header
If i give created by me 100% good images , he dont worked.
Maybe i did something wrong , but if i use good images with JIMP, i have wanting results.
How i can get images from internet and use them with JIMP without errors ?

I'm facing the same issue using node-vibrant, a library that uses Jimp and the axios trick is working like a charm!

This is happening when the image requested has a redirect response.
Your sample image is returning this response:
https://s-media-cache-ak0.pinimg.com/736x/c9/8f/e1/c98fe17dc7de72bb29c34a0c79ef5762.jpg
accept-ranges: bytes
content-length: 0
date: Wed, 04 Sep 2019 10:02:45 GMT
location: https://i.pinimg.com/736x/c9/8f/e1/c98fe17dc7de72bb29c34a0c79ef5762.jpg
retry-after: 0
status: 301
vary: Origin
x-cdn: fastly

jimp does not handle this, neither does phin <3.1.0
Either upgrading the phin library ( #https://github.com/ethanent/phin/issues/20) or handling this in the jimp core 'loadFromURL' should do the trick.
For now, I updated this code in 'core/dist/index.js to solve my problem:
function loadFromURL(options, cb) {
  (0, _request.default)(options, function (err, response, data) {
    if (err) {
      return cb(err);
    }

    if(response.headers.hasOwnProperty('location') ){
      options.url = response.headers['location'];
      return loadFromURL(options, cb);
    }

    if (_typeof(data) === 'object' && Buffer.isBuffer(data)) {
      return cb(null, data);
    }

    var msg = 'Could not load Buffer from <' + options.url + '> ' + '(HTTP: ' + response.statusCode + ')';
    return new Error(msg);
  });
}

Please make a PR so we can all benefit from your code :) A comment helps very few but a PR can help many

jimp does not handle this, neither does phin <3.1.0
Either upgrading the phin library ( #ethanent/phin#20) or handling this in the jimp core 'loadFromURL' should do the trick.

But what i can't use downloaded images from this urls. Are not looking broken or something. Opened with any program for images viewer.

Please make a PR so we can all benefit from your code :) A comment helps very few but a PR can help many
@SaWey

Since there were 2 options I didn't know what way to go, but I have created a pull request which allows following redirects without upgrading phin.

It probably does make sense, but it also makes sense to always follow redirects by default.
Phin >=3.1.0 requires the flag followRedirects to be set in order to follow redirects.

:rocket: Issue was released in v0.9.3 :rocket:

:rocket: Issue was released in v0.9.3 :rocket:

Getting same in still now
Node 13.8.0
NPM 6.13.6
jimp: ^0.93
{ Error: Could not find MIME for Buffer
at Jimp.parseBitmap (/srv/apkbuilder/node_modules/llama-pack/node_modules/@jimp/core/dist/utils/image-bitmap.js:106:15)
at Jimp.parseBitmap (/srv/apkbuilder/node_modules/llama-pack/node_modules/@jimp/core/dist/index.js:521:32)
at new Jimp (/srv/apkbuilder/node_modules/llama-pack/node_modules/@jimp/core/dist/index.js:474:13)
at _construct (/srv/apkbuilder/node_modules/llama-pack/node_modules/@babel/runtime/helpers/construct.js:30:21)
at /srv/apkbuilder/node_modules/llama-pack/node_modules/@jimp/core/dist/index.js:1016:32
at new Promise ()
at Function.Jimp.read (/srv/apkbuilder/node_modules/llama-pack/node_modules/@jimp/core/dist/index.js:1015:10)
at TwaGenerator. (/srv/apkbuilder/node_modules/llama-pack/dist/lib/TwaGenerator.js:192:55)
at step (/srv/apkbuilder/node_modules/llama-pack/dist/lib/TwaGenerator.js:59:23)
at Object.next (/srv/apkbuilder/node_modules/llama-pack/dist/lib/TwaGenerator.js:40:53) {
methodName: 'constructor'
}

I still get this error

Node v13.5.0
NPM v6.13.7
jimp ^0.93

Add logo error Error: Could not find MIME for Buffer <null>
    at Jimp.parseBitmap (C:\Users\burakkujakku\Documents\GIT\conect\conect-api\node_modules\@jimp\core\dist\utils\image-bitmap.js:106:15)
    at Jimp.parseBitmap (C:\Users\burakkujakku\Documents\GIT\conect\conect-api\node_modules\@jimp\core\dist\index.js:521:32)
    at C:\Users\burakkujakku\Documents\GIT\conect\conect-api\node_modules\@jimp\core\dist\index.js:463:15
    at C:\Users\burakkujakku\Documents\GIT\conect\conect-api\node_modules\@jimp\core\dist\index.js:205:14
    at C:\Users\burakkujakku\Documents\GIT\conect\conect-api\node_modules\@jimp\core\dist\request.js:66:9
    at IncomingMessage.<anonymous> (C:\Users\burakkujakku\Documents\GIT\conect\conect-api\node_modules\phin\lib\phin.compiled.js:1:2100)
    at IncomingMessage.emit (events.js:317:22)
    at endReadableNT (_stream_readable.js:1215:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  methodName: 'constructor'
}

My codes use to add logo-img to picture
Jimp.read(imgRaw)
                .then(tpl =>
                    Jimp.read(imgLogo)
                    .then(logoTpl => {
                        let axios_x = tpl.bitmap.width;
                        let axios_y = tpl.bitmap.height;
                        logoTpl.opacity(0.2);
                        return tpl.composite(logoTpl, axios_x - 134, axios_y - 86, [Jimp.BLEND_DESTINATION_OVER, 0.2, 0.2]);
                    })
                )
                .then(tpl => {
                    tpl.quality(100).write(imgExported)
                })
                .then(tpl => {
                    console.log('exported file: ' + imgExported);
                })
                .catch(err => {
                    console.error('Add logo error', err);
                })

I'm also seeing this "Error: Could not find MIME for Buffer " error sporadically one time in about 5 or so. In my case, the images are local files (no network access involved). I'm working to extract a small test case from the larger test suite to submit for repro. Current versions of jimp 0.10.2 and node 13.12.0

I'm also seeing this "Error: Could not find MIME for Buffer " error. the images are buffers.

So, after much digging and experimentation I rewrote all of my code that creates the local files and all of the invocations of jimp to process them to absolutely guarantee there was no possibility of any async race conditions or any possibility of reusing intermediate files. That appears to have resolved my issues as far as I can tell under test.

I also face this issue.. Any news on this old issue?

Same here...
Jimp 0.16.1
Node 10.13.0

After rewriting all of my code that calls jimp as noted above, I no longer have these problems. I believe I can now confirm that the issues I was having were race conditions between jimp code and the file system.

Hi all !
I'm facing the same problem with JIMP.
I have Node-red dockerized and this is what i got when i try to upload an image from URL.

Any suggestions?.
Regards!

Facing the same issue trying to read from a local file.
JIMP version "jimp": "^0.16.1",

Facing the same issue trying to read from a local file.
JIMP version "jimp": "^0.16.1",

Hi !
I could upgrade the JIMP version and now i can upload the image correctly.

I'm also getting this issue, perhaps worth re-opening?
Error: Could not find MIME for Buffer <null>
    at Jimp.call (/Users/jameshomer/Projects/fokus/node_modules/@jimp/core/src/utils/image-bitmap.js:156:15)
    at Jimp.parseBitmap (/Users/jameshomer/Projects/fokus/node_modules/@jimp/core/src/index.js:400:17)
    at new Jimp (/Users/jameshomer/Projects/fokus/node_modules/@jimp/core/src/index.js:355:12)

Maybe this is of help to others. I got this error too and I've could solve it in my script. In my case it was an async bug in my code. In my script for batch processing I was trying to run jimp.read() / jimp.write() on an image file that was not found, incomplete or empty at the run time.

@codan84 your solution works for me thanks so much

I'm also having this issue while fetching a bunch of file locally! The solution from @codan84 only work as HTTP request, the axios library doesn't help otherwise.
@jakubmz , would you mind providing a excerpt of your script that show how you have been solving the async issue?

It's also worth mentioning that reading the same image using an external request library (I used axios) into a buffer and then loading that same image to jimp from a buffer works. An example of that is in use-axios branch of the repo I linked above. This would only mean that there's an issue with whatever is used for http requests in jimp...
Not working:
jimp.read(failingImageUrl)

Working:
axios({
    method: 'get',
    url: failingImageUrl,
    responseType: 'arraybuffer'
  })
  .then(function ({data: imageBuffer}) {
    return jimp.read(imageBuffer)
  })

Thank You
This worked for me

Instead of using axios, you can use node-fetch to turn the image into a buffer and then feed it to jump
import fetch from "node-fetch";

      const res = await fetch(inputURL);
      // I turn the image to a buffer and then to a Jimp image, otherwise some images are not processed
      const data = await res.arrayBuffer();
      const photo = await Jimp.read(data);

This solved my issue.

Further confirmation that this is a race condition.
On Thu, Apr 13, 2023 at 05:17 bruceceng @.***> wrote:

I just had this error, and in my case the solution was simple. I was using
a command line tool to generate a png from a PDF, and for some images it
worked and others it broke, but it turned out I just needed to add a 1
second delay between generating the png and trying to load it. I guess the
generation program finished before the png was entirely ready or something
like that (after finding a fix, I did not follow up on the details).
—
Reply to this email directly, view it on GitHub
https://github.com/jimp-dev/jimp/issues/775#issuecomment-1506629659, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAUCPK7AJXEMCJQHGWT773XA7ABJANCNFSM4IME63AQ
.
You are receiving this because you commented.Message ID:
@.***>

I maintain a server that produced this issue in production 79 times within a few days on an endpoint handling file uploads (so the buffer is coming from an uploaded file). Unfortunately I can't provide any sample data since it's in production, but if there's anything I can do to help narrow down the issue please let me know. It doesn't seem to be causing us major issues (just sometimes a thumbnail doesn't show, I presume), so it's not our priority, but I'd be happy to help if I can.

If you have a solution I have the ability to merge!


Using dot-notation syntax for v-validate field names

Hi there!
Maybe it is bug or feature, i don't even know.
But, here is description of a problem.
If I use initial="off" directive and 'dot notation' syntax for v-validate field name, validation runs over last validation element only. But, if I'll change dots in v-validate field name for '-' -- all gonna be ok.
Here is fiddle for example: http://jsfiddle.net/d2tmqrzr/

vue-validator don't support field like object path. (e.g. v-validate:user.name)
you need to use simple field name or kebab-case (e.g. user-name)


Outdated jaeger agent host when host ip changes

Hi there,
We've noticed that the client keeps the agent ip's address forever even after restarting the jaeger agent, so these are the steps:

jaeger client resolves the agent DNS address e.g JAEGER_AGENT_HOST=jaeger-agent.local
the client holds a set of ip's resolved for the UDP connection
the agent suffers a restart and their ip's got changed
the client holds the old ip's from the agent

Thanks

Hey @yurishkuro thanks for the quick reply, sure here is how I am managing to set up, I am running jaeger inside k8s:

set these as env vars in the application

  JAEGER_SAMPLER_PARAM: "1.0"
  JAEGER_SAMPLER_TYPE: "const"
  JAEGER_REPORTER_FLUSH_INTERVAL: "1s"
  JAEGER_REPORTER_LOG_SPANS: "false"
  JAEGER_AGENT_HOST: "jaeger-agent.utility.svc.cluster.local"
  JAEGER_AGENT_PORT: "6831"

init the trace

        cfg, err := jaegercfg.FromEnv()
	if err != nil {
		return nil, err
	}

	t, _, err := cfg.New(
		componentName,
		jaegercfg.Logger(jaegerLoggerAdapter{log.StandardLogger()}),
		jaegercfg.Metrics(metrics.NullFactory),
	)

        return t

During debugging the jaegertracing/jaeger-client-go code I've noticed the udp conn is being resolved during cfg.New so my guess is it holds the IP from the DNS jaeger-agent.utility.svc.cluster.local and when that suffer changes e.g redeployed the client holds the old resolved one.
Pls let me know if you need more info

JAEGER_AGENT_HOST: "jaeger-agent.utility.svc.cluster.local"

does it mean you are running the agents on different hosts than then application? UDP doesn't work well if you are not running on the same host, you might consider using HTTP sender.
Regarding the actual issue, we are resolving the address and dialing UDP here: https://github.com/jaegertracing/jaeger-client-go/blob/master/utils/udp_client.go#L54

Rather then setting the host dns I am managing to set it in my k8s deployment env as follows:
       env:
          - name: JAEGER_AGENT_HOST
            valueFrom:
              fieldRef:
                fieldPath: status.hostIP

Thanks for the help


ENH: enable indexing seqs with numpy int dtypes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
376 unchanged lines in 8 files lost coverage.
Overall coverage increased (+0.001%) to 91.609%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-11/lib/python3.11/site-packages/cogent3/core/alignment.py
1
94.87%

.nox/test-3-11/Lib/site-packages/cogent3/core/alignment.py
1
94.87%

.nox/test-3-10/lib/python3.10/site-packages/cogent3/core/sequence.py
62
94.69%

.nox/test-3-10/Lib/site-packages/cogent3/core/sequence.py
62
94.69%

.nox/test-3-11/lib/python3.11/site-packages/cogent3/core/sequence.py
62
94.69%

.nox/test-3-11/Lib/site-packages/cogent3/core/sequence.py
62
94.69%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/core/sequence.py
63
94.61%

.nox/test-3-9/Lib/site-packages/cogent3/core/sequence.py
63
94.61%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
176822

Relevant Lines:
193018

💛  - Coveralls


Bug when caching

My app uses URLCache.shared to setup a global cache with 100 MB of memory, 250 MB of disk.
When using this library, I realised my caching was by far less effective than usual.
After some research, I found what in my opinion is a bug.
In this file:
https://github.com/contentstack/contentstack-swift/blob/88e2c4d901e7f0bc1ab512d619e0d0d7d42e0897/Sources/Stack.swift#L83
We have:
URLCache.shared = CSURLCache.default
Which is affecting the entire app.
The reason my app is not working as good as I expected is because the cache you are setting (I remark, globally) uses this configuration:
internal static let default: CSURLCache = CSURLCache(memoryCapacity: 1024 * 1024, diskCapacity: (1024 * 1024 * 5), diskPath: "csio_cache")
https://github.com/contentstack/contentstack-swift/blob/db6ab5f969f0060f4955d735602fac737a3ca390/Sources/CSURLCache.swift#L12
That's 1 MB of memory cache and 10 MB of disk cache, Basically, nothing.
I don't know if that is appropriate for ContentStack or not, but for sure it is not appropriate for other parts of my app.
So, instead of replacing the global URLCache, can you do in your code some like this in the Stack initialiser?:
self.config.sessionConfiguration.urlCache = CSURLCache.default
Doing that, you have your own URLCache without affecting other parts of the apps that are using your library.
If you want a PR, let me know, I can do it.
Thanks a lot.

Thanks for raising the issue, We are looking into the issue. Meanwhile, you can raise PR @Ricardo1980

Any Update on this

Hi @ajjumehra,
We have resolved the URLCache issue in v1.3.1. Closing this issue,  If you have any concern or issue you can re-open or create new issue.


TestRegress170 fails under latest bridge changes

Describe what happened
https://github.com/pulumi/pulumi-hcloud/actions/runs/9451894942/job/26034396438?pr=525
Seems to expect no diff but gets a diff.
Looks like a regression on https://github.com/pulumi/pulumi-hcloud/issues/170
Sample program
.
Log output
  "response": {
    "stables": "*",
    "changes": "DIFF_SOME",
    "hasDetailedDiff": true,
    "diffs": ["networks"],
    "detailedDiff": {
      "networks[0].networkId": {
          "kind": "UPDATE"
    }
  }
  },

Affected Resource(s)
No response
Output of pulumi about
.
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Reproes with bridge master

P1 because it's blocking the next bridge release.

I have confirmed that the regression is genuine (and not overfitting from the test).

A binary search has shown that "ba48631b Enable DiffStrategy PlanState by default (#1976)" is the last good commit on the bridge, "b012fa8e Fix proposed new unknown blocks (#2060)" introduced the regression.

This looks like a bug in upstream. I have reproduced using TF.


Gemini API Provider

I'm currently working on a Gemini API (Google) provider for this project. I'm doing it for a personal project of mine, but I figure it would be useful if I made a pull request with my code.
Would this be something the project would benefit from?

A couple things I noticed that might be useful to change (outside of the actual Google provider).

Consider creating types for each individual provider. Right now, you can mix-and-match different LLM models and providers - even if those providers don't match to that model. I assume it will give an error later, but TypeScript should give an error natively no? Here's what I mean in code.

/** Change this **/
export interface CopilotOptions {
  provider?: CopilotProvider;
  model?: CopilotModel | CustomCopilotModel;
}

/** To this *//

export interface CopilotOptions {
  provider?: CopilotProvider;
  model?: AnthropicOptions | OpenAIOptions | GroqOptions | GoogleOptions
}

export interface AnthropicOptions { /** You could add a parent interface to extend off of to maintain consistency among  different options interfaces **/

  provider: "anthropic"
  model: AnthropicModel

}

/** ... continue for OpenAI, Groq and Gemini models **/

Give more info in error messages. To trace errors when developing, I had to use console log and trace down the specific HTTP library used and console.log my error message there. This could be solved by including the actual error message given by the different APIs.

/** Current implementation for error handling **/

const request = async <
  ResponseType,
  BodyType = undefined,
  MethodType extends Method = Method,
>(
  url: string,
  method: MethodType,
  options: RequestOptions<BodyType, MethodType> = {},
): Promise<ResponseType> => {
  const headers = {
    'Content-Type': 'application/json',
    ...options.headers,
  };

  const body =
    method === 'POST' && options.body
      ? JSON.stringify(options.body)
      : undefined;

  const response = await fetch(url, {
    method: method,
    headers,
    body,
    signal: options.signal,
  });

  if (!response.ok) {
    throw new Error(
      `${response.statusText || options.fallbackError || 'Network error'}`,
    );
  }

  return response.json() as Promise<ResponseType>;
};

/** Possibly improved implementation **/

const request = async <
  ResponseType,
  BodyType = undefined,
  MethodType extends Method = Method,
>(
  url: string,
  method: MethodType,
  options: RequestOptions<BodyType, MethodType> = {},
): Promise<ResponseType> => {
  const headers = {
    'Content-Type': 'application/json',
    ...options.headers,
  };

  const body =
    method === 'POST' && options.body
      ? JSON.stringify(options.body)
      : undefined;

  const response = await fetch(url, {
    method: method,
    headers,
    body,
    signal: options.signal,
  });

  if (!response.ok) {
    throw new Error(
      `${await response.json() || ""}${response.statusText || options.fallbackError || 'Network error'}`,
    );
  }

  return response.json() as Promise<ResponseType>;
};

Let me know if any of these changes could be useful - I will be happy to help implement them!

Thank you! The Gemini API was exactly what I was thinking about adding to Monacopilot, and you made it happen. The suggestions are great, and I can implement them in your PR. Again, thank you!


psql outputs it's NOTICE messages to stderr causing the action to fail

psql outputs it's NOTICE messages to stderr causing the whole action to fail even if the exit code is 0.
The offending lines of code:
https://github.com/Azure/postgresql/blob/f82d2b25075a9092d3ee987db9c77bcfc43fc6bc/src/PsqlFilesExecutor.ts#L27-L33
https://github.com/Azure/postgresql/blob/f82d2b25075a9092d3ee987db9c77bcfc43fc6bc/src/PsqlFilesExecutor.ts#L38-L40
NOTICE's should be treated as warnings not errors those would be EXCEPTION's.
Maybe there should be an option for choosing to ignore stderr and instead rely on the exit code of psql
It's trivial to get a NOTICE to fail the action.
Consider the following output generated by dotnet ef migrations script -s Proj.Bootstrap -p Proj.Data --idempotent -o migration.sql:
CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
    "MigrationId" character varying(150) NOT NULL,
    "ProductVersion" character varying(32) NOT NULL,
    CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
);

START TRANSACTION;
....
COMMIT;

If the __EFMigrationsHistory table already exists, the action fails, because psql:/migration.sql:5: NOTICE:  relation "__EFMigrationsHistory" already exists, skipping gets written to stderr.

As a hotfix around this, I added the following code to lib/main.js:
catch (error) {
    if (error.message.includes('NOTICE:  relation "__EFMigrationsHistory" already exists, skipping')) {
        core.warning(`NOTICE:  relation "__EFMigrationsHistory" already exists, skipping`);
    }
    else {
        core.setFailed(`Error occurred while running action:\n${error}`);
    }
}

I could not figure out to get around a module missing error when compiling it, so I ended up using ncc build to compile all modules to one file. For anyone else that needs a hotfix, you can use my forked repo:
(obviously be very careful using any repo that is not a trusted source):
- uses<EMAIL_ADDRESS>

any updates on this issue? this is blocking any attempt to use this action for EntityFramework migrations

I am experiencing the same issue. @k-visscher / @cotzo - what did you guys do as a workaround? 🙂

Ah well, that's mildly terrifying 😅 I would like the workflow to fail if the migration fails. Thanks for the sesponse @cotzo 🙂

I am experiencing the same issue. @k-visscher / @cotzo - what did you guys do as a workaround? 🙂

I went the ontinue-on-error: true YOLO route, that @cotzo also suggested, the project was small enough that I could afford to manually check every now and then if the step actually succeeded or not.

After further inspection of the code, it looks to me like the entire if block in PsqlFilesExecutor.ts can be, and should be removed. I believe this to be the case because the exec option IgnoreReturnCode is false by default and not overwritten by this repo. Meaning if the psql command returns with a return code other than 0, the exec package will create, and reject the promise with the error.
In other words - the if block will only trigger if the command writes to stderr and returns 0. However, if the command returns something other than 0, the error will flow right past the if block.

Same problem here, NOTICES causing the action to fail.  It would be preferred that only the exit code should be checked.
The workaround I am using is to disable writing notices by adding this to the top of the SQL file.
SET client_min_messages TO WARNING;
It's not ideal, and I may need to use the workaround provided by @MagnusSandgren.

Hi @BALAGA-GAYATRI @aksm-ms @microsoftopensource @N-Usha @AmrutaKawade @kanika1894, can we have a status about this issue and more generally about this repository? Is it still being maintained? There are some pending issues such as this one, and the last commit dates back to 1 year ago so it would be great to know if we should wait for a fix or consider other alternatives.
Thanks!


[Azure Search] Introduce a few breaking changes in swagger specifications

This PR attempts at bringing the swagger spec in line with the REST API behavior, which intentionally introduces a few breaking changes (which will follow in a subsequent major version SDK update)

Skills can now optionally take in a name property
WebApiSkill has an optional degreeOfParallelism property, which can allow customers to specify how many API calls (if non-null, non-zero) can be made in parallel to their endpoint
Add more information to indexer execution's errors and warnings

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

Automation for azure-sdk-for-go

Automation for azure-sdk-for-python

@arv100kri Please ensure that the example changes pass validation (not sure at a glance that they're failing validation because there are other known issues with validating our Swagger right now).

@arv100kri Please ensure that the example changes pass validation (not sure at a glance that they're failing validation because there are other known issues with validating our Swagger right now).

It's the same "base" set of validations errors for the various enum types

@arv100kri   The model validation failed with https://dev.azure.com/azure-sdk/public/_build/results?buildId=90022&view=logs&j=8d2f9c49-cd83-5a9d-f3fe-2fd651afa742&t=43324f1f-6724-5d61-785f-f0ac9fd256a1&l=272 Please help fix it. Meanwhile, we need Azure API board review this. Thanks.

@yaohaizh Those validation failures are the result of a known issue. See this for context: https://github.com/Azure/azure-rest-api-specs/pull/5665#issuecomment-514339350
Regarding Azure API review board -- This PR is a change that brings our Swagger in line with the API that's actually deployed in production. Is a review still required in this case?

As talked with @brjohnstmsft , the change is already deployed and the change reflect the service deployed.  Given this, @yungezz , could you help merge this since it is blocked by model validation.

checked with @yaohaizh, this PR is ready for merge. ModelValidation error is an known issue.


Final Project - Ye Qin

The final project for MAE 6286

Why did you use the Patankar scheme for the non linear term? it would help some introduction/ explanation.

In the discretization part, the last equation is wrong it has a typo. However,  in the code is write.

How you get that the stability criterion is \Delta_t /\Delta_x^2 <0.5.? Can you explain it ?

The initial condition, after the title Compute, you need to write it better, it is all in one line and it's confusing.

You say "However, we will talk about this in the next lesson." which one is the "next lesson"  that you are talking about?

*Overall, I think your discussion is poor. Your work followed almost exactly your reference number 2, leaving your contribution to just the code.


proxyless gRPC: certs not refreshed

Bug Description
I ran a long-running test, after 1 day it stopped working with TLS cert problems - the cert doesn't seem to be refreshed.
With envoy, the refresh happens as result of envoy calls to SDS, for proxyless we use files which are created accidentally
as the 'startup optimization'.
Also:

several CA options will not work ( like CSI-provided certs )
the location is non-standard - files should be created in /var/run/workload-certificates, if they don't exist ( so in case a CSI
provider is used we don't need the agent )
we should not start the SDS server in the first place - not used, may have extra security risks
the list of CA roots from Istio MeshConfig sent via ProxyConfig doesn't seem to work as expected either.
the code dealing with certs is also over complex

Proposed long term fix:

recommended: use a CSI provider and 'agentless' - the location of the files should be /var/run/workload-certificates.
provide a small dependency-free library as fallback - with implementations in different languages - to create the files. Apps running in environments without a workload provider can use it at startup and for periodic refresh
provide a binary that does the same and may either refresh or be exec-ed periodically, for languages we don't have a native
cert provisioning.
the bootstrap generator can also be moved to the library, removing the need for the full pilot-agent (except in cases where
auth requires the XDS proxy ).

Version
master

Additional Information
No response

@sanjaypujare

do not close.

@costinm should this be reopened and resolved properly?


Preview mode LUIS model does not work with LuisRecognizer

I have a preview mode model in luis.ai and when I try to use it with
var model = process.env.model || 'luis_model_url';
var recognizer = new builder.LuisRecognizer(model);
var dialog = new builder.IntentDialog({ recognizers: [recognizer] });

then it is not possible to detect the intent and intent handler is not called. It falls back to my default handler. Production mode models work fine.
C:\Users\Sachin\source\botiag>npm show botbuilder version
1.0.1

I believe the luis.ai schema has changed with the preview version - here are some previous discussions: https://github.com/Microsoft/BotBuilder/issues/395 and https://github.com/Microsoft/BotBuilder/issues/222.

Currently we are not supporting any preview features of Luis.ai. We will look into supporting the new features when they are out of preview.


Unable to post comments on mobile web

Describe the bug
In the mobile web UI the comment button gets 90% hid by the graphic as shown in the image below. It'd be better to shift the button in the case of mobile web.
To Reproduce
Open a story from mobile or toggle to mobile web view from your browser's dev tools.
Expected behavior
Have a clear CTA
Environment (please complete the following information):

OS: MacOS
Browser: Chrome

Additional context

I can take this up @cyntss @sharmaaditya570191


Buffer.concat performance regression

Describe the bug
On NodeJS v18 (merged in https://github.com/ChainSafe/lodestar/pull/4779) Buffer.concat got more expensive.

Reported by our performance tracker https://github.com/ChainSafe/lodestar/commit/7d662d7951db27edcee15fd7266bed322f0a3882#commitcomment-92810061
Upstream issue https://github.com/nodejs/node/issues/45802

We decided to accept the regression for now to unblock v18. But must review and consider and mitigate when possible

This requires investigation. It may have been fixed by node v20.x.

resolved with node 20


Configurable systemd state

Proposed changes
Enable users to decide the state of the NMS services at playbook runtime
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[x] I have read the CONTRIBUTING document
[x] If applicable, I have added tests that prove my fix is effective or that my feature works
[x] If applicable, I have checked that any relevant tests pass after adding my changes
[x] I have updated any relevant documentation (README.md and CHANGELOG.md)

Weird that I can't approve although you have me listed as a reviewer.. But this MR looks good.

Weird that I can't approve although you have me listed as a reviewer.. But this MR looks good.

I've requested another review, hopefully that will approve the PR


What are the guidelines to contributing?

I just finished fixing the deprecated 'render_to_response' however, I dont know what the guidelines for contributing to the repo are. It would be great for people who want to contribute.

run tox

closing in favor of https://github.com/justquick/django-activity-stream/issues/162


Fails to find  child of

To reproduce:

1. Open a document with wgxpath loaded and a <div> containing an <svg>
2. wgxpath.install()
3. document.evaluate('//div/svg',document.body).iterateNext()

Expectation: an <svg> element is returned

Result: null is returned

Revision: 21

It seems to be just the child axis which is failing; using the xpath expression
'//div//svg', the expected <svg> element is returned, yet no amount of wildcard
children added ('//div/*/svg', '//div/*/*/svg', etc) produce the same result.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 6 Aug 2014 at 3:08

Howdy, I'm still suffering from this issue. I see there's some activity what with this project moving to GitHub, so I'd be much obliged if someone could take a second look at it.

@qstrahl Probably a bit late but here it is.
The issue you identified is caused because the svg element isnt under the same namespace which most other html elements are. SVG elements are created under the http://www.w3.org/2000/svg namespace URI. This particular parser defaults to the http://www.w3.org/1999/xhtml if no prefix is defined.
To make your code work you need to define a namespace resolver which is the 3rd argument in the document.evaluate method
Heres what your code should look like:
var namespaceResolver = function(prefix) {
    if(prefix === 'svg') {
        return 'http://www.w3.org/2000/svg';
    }
    return 'http://www.w3.org/1999/xhtml';
}
document.evaluate('//div/svg:svg', document.body, namespaceResolver);

I just tested this code using your example and was able to get a result.

Thanks @nedjs.


Determine standard size of overview images

Need to determine what dimensions the overview images should be. Have a few Tinyhouse / ADU / Cottage developments in XD.

[ ] What dimension look good on-site?
[ ] What edits do we need to make to report text and images?
[ ] Keep as SVG or export to png?

For Tinyhouse let's go with a wider image in the overview. Will still need to find consistent proportions, but will be easier with this image. Airtbale also updated

.


chrome crashes with: "Aw, Snap!" on large CSV files

From<EMAIL_ADDRESS>on November 25, 2012 15:19:46
What steps will reproduce the problem? 1. Trying to have a csv file processed of 79 Mb 2. 3. What is the expected output? What do you see instead? display of the table is expected, but chrome crashes instead What version of the product are you using? On what operating system? Chrome Version 23.0.1271.64 m // Windows 7 Home Premium 64 bit SP1 Please provide any additional information below. tried to upgrade the priority of the process related to the web page to Realtime / high  this didn't solve the issue.
the csv file is too big to be attached, but I uploaded it on Google Drive and shared it with<EMAIL_ADDRESS>https://docs.google.com/open?id=0B1nPY5NSSvp1OF81TkdiLW11WWc
Original issue: http://code.google.com/p/jquery-csv/issues/detail?id=19

From<EMAIL_ADDRESS>on November 25, 2012 16:14:06
p.s. this is in reference to: http://jquery-csv.googlecode.com/git/examples/file-handling.html

From<EMAIL_ADDRESS>on November 25, 2012 17:54:58
That's hilarious...
I assume that you're using Google Chrome.
Without even looking at your code I'm going to guess that you're hitting a memory limit.
Before it even starts processing the file it needs to load all of the data into memory.
There are two thing you might want to try:

Try breaking up the dataset into smaller chunks until you figure out the maximum file size that can be processed in one call.

Take a look at this link ( http://www.html5rocks.com/en/tutorials/file/filesystem/ ). It looks like if the call is made to window.requestFileSystem() there's a parameter where you can set the file size before you read the file.

I'd play with it myself but have other pressing needs ATM. If you make any progress post your results here. Large file support is on the TODO list it's complicated, especially in the browser where the limitations are much more extreme.
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on January 24, 2013 21:03:25
Any progress on this?
Another option would be to slice the file into smaller parts. A sensible approach would be to detect the file size maximum then process the file in chunks.
One solution could be to add another state tracking variable to count the number of characters that have been processed. Then have the parser pause and load more data after a pre-defined amount of the chunk is passed (ex 75%).
This isn't as much a limitation with jquery-csv as it is a limitation of the HTML5 File API. It takes a little creativity to handle large files but it should be far from impossible.
The next question I'd ask would be, can Javascript even store 79MB of data in an array to begin with? If not, then the whole data processing chain (ie load, parse, save) will need to be done in chunks.
Here's some reading material to help: http://www.html5rocks.com/en/tutorials/file/dndfiles/

From<EMAIL_ADDRESS>on January 27, 2013 23:22:20
Apologies for the late reply.
It was for a school project and it was not very important to have it working for big files so I didn't look into it anymore.
If I have more time, probably from June onwards I might have a look at it again.

Browsers have a hard limit on memory (usually 10MB). If your file exceeds that size then you'll need a csv parser capable of stream processing.
I recommend PapaParse


problem with EntrustUserTrait

Hi all.
i have this error :
FatalErrorException in User.php line 41:
Trait method can has not been applied, because there are collisions with other trait methods on App\Models\User
and this is my User.php file in laravel 5 :
<?php

namespace App\Models;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Zizaco\Entrust\Traits\EntrustUserTrait;

class User extends Model implements AuthenticatableContract,AuthorizableContract,CanResetPasswordContract
{
    use Authenticatable, Authorizable, CanResetPassword;
    use EntrustUserTrait;

```
/**
 * The database table used by the model.
 *
 * @var string
 */
protected $table = 'users';

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = ['name', 'email', 'password'];

/**
 * The attributes excluded from the model's JSON form.
 *
 * @var array
 */
protected $hidden = ['password', 'remember_token'];
```

}

Laravel 5 has its own Authorization service out of the box.
You just need to remove Authorizable trait by changing:
use Authenticatable, Authorizable, CanResetPassword;

to
use Authenticatable, CanResetPassword;

it worked!
thank you so much ;-)

@tuwannu one more question
i added following codes inside User class :
public function roles();
public function ability($roles, $permissions, $options);
public function can($permission);
public function hasRole($name);

but i received this error :
Non-abstract method App\Models\User::roles() must contain body

Why would you add those 4 lines of code? Those 4 methods are provided by EntrustUserTrait, and thus you don't need to implement them in your User class.

i thought that i have to enter manually.
thanks again.

@tuwannu thanks help me

You should remove EntrustUserTrait conflict with Laravel Authorizable trait!
For example, I use Laravel build in authorization to enable edit post that user created:
$gate->define('update-post', function ($user, $post) {
    return $user->id === $post->user_id;
});

if ($user->can('update-post', $post))

@AlexRadch great answer, been looking for this for weeks

I think this issue should be closed or a proposal be made to change the name of the function


Update TlsServerCredentials to initialize C-core

This initializes the C-core when the |TlsServerCredentials| are used, which hides this work from the user.

As discussed elsewhere, we could add the analogous initialization for the SslServerCredentials, along with a test just like LoadTlsServerCredentials. However, we could also not do so because the SslServerCredentials will be replaced by TlsServerCredentials. @yihuazhang WDYT?

@markdroth, could you please take a look and confirm if it is the correct way to fix the issue?
@matthewstevenson88, it will take some time to replace SslServerCredentials with TlsServerCredentials. So if it's indeed a problem, I think we should fix it as well.

@markdroth We decided to send a separate PR to you with the SSL changes.


Duplicate CIDR (blockaffinities) allocation

I have encountered routing problem with kubernetes - calico setup. The main problem was that the same IP has been assigned by calico for two nodes. Traffic came from node "hostnamefoo" to "worker_node", after that response have been sent to "hostnamebar" node by routing table (bgp bird route):
hostnamefoo (<IP_ADDRESS>) -> worker_node -> hostnamebar (<IP_ADDRESS>)

I have found that there are net block allocation duplicate in kubernetes:

kubectl get blockaffinities

hostnamefoo-192-168-168-64-26       275d
hostnamebar-1-192-168-168-128-26   275d
hostnamebar-1-192-168-168-64-26    275d

here cidr  "<IP_ADDRESS>/26" allocated to both nodes "hostnamefoo" and "hostnamebar".

if we inspect blockaffinities we can find out that "state" different for those conflicting objects:

hostnamefoo-192-168-168-64-26
spec:
  cidr: <IP_ADDRESS>/26
  deleted: "false"
  node: hostnamefoo
  state: confirmed

hostnamebar-1-192-168-168-64-26
 spec:
  cidr: <IP_ADDRESS>/26
  deleted: "false"
  node: hostnamebar
  state: pending

Finally I have checked bird config, to make sure that configuration generated by confd is valid:
fragment hostnamefoo

protocol static {
   # IP blocks for this host.
   route <IP_ADDRESS>/26 blackhole;
}

 # Aggregation of routes on this host; export the block, nothing beneath it.
function calico_aggr ()
{
      # Block <IP_ADDRESS>/26 is confirmed
      if ( net = <IP_ADDRESS>/26 ) then { accept; }
      if ( net ~ <IP_ADDRESS>/26 ) then { reject; }
}

fragment from hostnamebar
protocol static {
   # IP blocks for this host.
   route <IP_ADDRESS>/26 blackhole;
   route <IP_ADDRESS>/26 blackhole;
}

# Aggregation of routes on this host; export the block, nothing beneath it
function calico_aggr ()
{
      # Block <IP_ADDRESS>/26 is confirmed
      if ( net = <IP_ADDRESS>/26 ) then { accept; }
      if ( net ~ <IP_ADDRESS>/26 ) then { reject; }
      # Block <IP_ADDRESS>/26 is pending
}

As I can see from bird configuration, node hostnamefoo should be "source of truth" for cidr block  <IP_ADDRESS>/26, but we have routes pointing to hostnamebar (as gateway) for some reason.
Expected Behavior
Node hostnamefoo should be default gw for cidr block <IP_ADDRESS>/26
Current Behavior
Node hostnamebar is default gw for cidr block  <IP_ADDRESS>/26
Possible Solution
Bird bug?
Steps to Reproduce (for bugs)

Your Environment

Calico version
v3.19.1
Kubernetes:

Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.14", GitCommit:"0fd2b5afdfe3134d6e1531365fdb37dd11f54d1c", GitTreeState:"clean", BuildDate:"2021-08-11T18:02:17Z", GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}

Operating System and version:
CentOS Linux release 7.9.2009 (Core)
3.10.0-1160.36.2.el7.x86_64

Yep this looks like a bug. It's possible that two nodes race for the same block - in this case, that seems to be working as intended. Namely, that the "loser" of that race is in "pending" state.
However, the BIRD config should ignore the "pending" block affinity. Instead, it seems to be happily including that.

Think we either need to:

Stop including "pending" blocks within the protocol static section.
Explicitly reject "pending" blocks within the calico_aggr filter.

Not sure which (or both) of those is best off the top of my head.

Fixed in https://github.com/projectcalico/calico/pull/6003


Add documentation for the Node.js HTTP REST CRUD Booster

Like i said last time,   i think i got everything, maybe :)
This adds in the docs for the nodejs-crud-booster here: https://github.com/bucharest-gold/nodejs-rest-http-crud

LGTM, merging.
Nice work @lholmquist !

merged: e8e1cc5ffa9a741bc53fb38edbce37c925eff714


Curly braces surround doesn't work on xterm

Checklist

[X] Have you tried updating the plugin to the latest version?
[X] Have you checked the Breaking Changes issue?
[ ] Have you read through :h nvim-surround to see if there might be any relevant information there?

Neovim Version

NVIM v0.9.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -g -O2 -ffile-prefix-map=/build/neovim-DC7YZQ/neovim-0.9.0~ubuntu1+git202211290022-f004812b3-333b5866f=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/build/neovim-DC7YZQ/neovim-0.9.0~ubuntu1+git202211290022-f004812b3-333b5866f/build/cmake.config -I/build/neovim-DC7YZQ/neovim-0.9.0~ubuntu1+git202211290022-f004812b3-333b5866f/src -I/build/neovim-DC7YZQ/neovim-0.9.0~ubuntu1+git202211290022-f004812b3-333b5866f/.deps/usr/include -I/usr/include -I/build/neovim-DC7YZQ/neovim-0.9.0~ubuntu1+git202211290022-f004812b3-333b5866f/build/src/nvim/auto -I/build/neovim-DC7YZQ/neovim-0.9.0~ubuntu1+git202211290022-f004812b3-333b5866f/build/include
Compiled by buildd@lcy02-amd64-096

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more inf

Plugin Version
Tagged (Stable)
Minimal Configuration
set runtimepath^=~/.vim
set rtp-=~/.vim/after
set rtp^=~/.vim/bundle/nvim-surround
set rtp+=~/.vim/bundle/nvim-surround/after
"set vif=NONE
"filetype plugin indent on
"syntax enable

lua << EOF
require("nvim-surround").setup {}
EOF

Sample Buffer
any
Keystroke Sequence
ysiw{
Expected behavior
{any}
Actual behavior
any
Additional context
Weird bug I came across. The curly brace surround (and only the curly brace surround, apparently) refuses to work under xterm. I tested xfce4-terminal and there it works with no problem whatever the config. Additionally, a very similar thing, also only with curly braces, happens when using vim-surround, except instead of just failing to work, it adds the following special-character gibberish:
ü}surrounded_wordü}
The bug happens identically on two computers I tested.

On further inspection, this seems to be a neovim bug: the weird bytes come through with just a plain call to getchar()

Glad you were able to find out the source of the issue, feel free to re-open this if there's anything that needs to be done on my end.

Link to neovim issue:
& https://github.com/neovim/neovim/issues/21399

As a workaround, we can use aliases or setup new surroundings = { ... }, e.g.:
use({
	"kylechui/nvim-surround",
	tag = "*", -- Use for stability; omit to use `main` branch for the latest features
	config = function()
		local config     = require("nvim-surround.config");
		require("nvim-surround").setup({
			-- surrounds = {
			-- 	["<S-{>"] = configDefault.surrounds["{"],
			-- 	["<S-}>"] = configDefault.surrounds["}"]
		local configDefault = config.default_opts
			-- },
			aliases = {
				["<S-{>"] = "{",
				["<S-}>"] = "}"
			}
		})
	end
})


CTC Benchmarking code

Compare CTC performance with torch. Default values in the script correspond to a LibriSpeech example with stride 8 AM and batchsize=32 and 10k Word Pieces.
Here are some initial numbers  (on Nvidia P100)

python bindings/python/benchmarks/ctc.py -N 10

Addressed all comments


Forcing a re-update from another go-routine.

I think #15 is related but it seems outdated since I can't find any reference to concurrency or the flush() function/method in the docs.
How can you update a view from another goroutine? Currently the only way I can make edits show up on the screen is by pressing a random key so it loops again and shows the updates. How can this be down without pressing the key?
It seems there is a flush function as referenced in #15, but it's not exported so cannot be accessed externally.

You can use *Gui.Execute():
https://godoc.org/github.com/jroimartin/gocui#Gui.Execute
From the documentation:
IMPORTANT: Views can only be created, destroyed or updated in three ways: from the Layout function within managers, from keybinding callbacks or via *Gui.Execute(). The reason for this is that it allows gocui to be conccurent-safe. So, if you want to update your GUI from a goroutine, you must use *Gui.Execute().
 Sorry, that wasn't immediately obvious.

No problem! I'll try to make it clearer on the documentation. Also, I'm considering to rename it from *Gui.Execute() to *Gui.Do().

I think it should just be more clear what execute does exactly, not just what you can use it to do.
Also, would the rename retain backwards compatibility?

Regarding backwards compatibility, If you look at the commits since tag v0.3, there are lots of breaking changes. I prefer to continue working on improving the API and making it more clear and consistent, even if it requires breaking the "contract".
Once gocui reaches 1.0, the API should be stable and new changes will respect backwards compatibility. In the meantime, people can use vendoring, forks, etc. to avoid broken builds and so on.

Relates to: #68

Ah alright. That's fair enough.
On Sun, 13 Nov 2016, 11:20 Roi Martin<EMAIL_ADDRESS>wrote:

Regarding backwards compatibility, If you look at the commits since tag
v0.3, there are lots of breaking changes. I prefer to continue working on
improving the API and making it more clear and consistent, even if it
requires breaking the "contract".
Once gocui reaches 1.0, the API should be stable and new changes will
respect backwards compatibility. In the meantime, people can use vendoring,
forks, etc. to avoid broken builds and so on.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jroimartin/gocui/issues/77#issuecomment-260179983,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIhzn9MvcWaEn-GFy3zyDWOP2gYJu9BGks5q9vJlgaJpZM4KwPRT
.

I created #78 and #79. Is is ok for you if I close this one? :)

Sure thing.


Hack to allow disabling hints.

With the current architecture the hints aren't optional and always
active per default.
This can be annoying in environments without ANSI colors as the hint
gets indistinguishable from the normal text.
Simple workaround: have a NoOpHinter
Alternative make the hinter an option throughout its use

Let's do this properly


Schema deletion + plan functionality

Hello,
Thanks for this nice tool ! In your README you speak about the kafka-gitops analogy.
I see two differences mainly:

there is no real "plan" functionality. Does the validate CLI option query the schema-registry to see if there is an update to do or not ?
I played a bit and I see that if I remove a schema from the configuration, this later is not deleted from the schema registry: Is it intentional ? I personally prefer to have it removed but of course, I would need to be able to see it in a "plan" before

Best,
Jerome

Hello Jerome,
first of all: thank you for considering schema-registry-gitops!
Right now, it does not really "plan" in the sense that it will check if there is an update to do. All it does is check if the changes are compatible. But it is on my roadmap to implement a real plan functionality like kafka-gitops does.
Not deleting anything is intentional as all the use cases I had where microservices where each service manages it's schemas itself and must not delete schemas that belong to other services. That is on the roadmap also, but it will not be default mode, rather be explicitely activated by a CLI switch.
Does that answer all your questions?

Hi @domnikl ,
Thanks a lot for the explanation !  My objective is a bit more strict indeed as I do not want the applications register or update the schema outside of the CI.
FYI, in the meantime, I just made a PR on kafka-gitops for this functionality if you are interested or just curious ;-) : https://github.com/devshawn/kafka-gitops/pull/76
Best,
Jerome

I implemented plan and delete in the current master - replacing validate as that must be done implicitely anyways. Will release it as a new major version soon. Your PR is very interesting, tough, thanks for the link!

Really nice @domnikl !
Just as of curiosity, how did you do the diff ? I wanted to do it in my MR but did not had time yet.
Best,
Jerome


mini-frame-mode only displays a cut-off first candidate before typing

Thank you for the kind help @clemera with your latest changes at least the thing pops up. Here are the issues I am seeing. Before typing anything it will only show a cut-off version of the default candidate. The frame does not seem to resize when there is only one single candidate (not sure if it should). I haven't used either of these packages before, just trying them out.
Nothing typed:

One character typed:

Only completion:

Every other time the menu is invoked you don't see any candidates:

PS.
I am applying the config suggested in the Wiki.
(setf (alist-get
       'height mini-frame-show-parameters)
      (1+ selectrum-num-candidates-displayed))

As well as:
(custom-set-variables
 '(mini-frame-show-parameters
   '((top . 10)
     (width . 0.7)
     (left . 0.5))))

I see that this behavior happens with fido/ivy/icomplete as well, so guess the issue mostly lies with mini-frame. Feel free to close.

Hm, maybe it's something else on your side I can't reproduce this.

It almost works correct with resize-mini-frames. Then all issues disappear except that it works every other time.

Ah, then mini-frame might not work with Emacs 28, yet.

Yeah, seems so

Ah, then mini-frame might not work correctly with Emacs 28, yet.

Why? I'm using mini-frame-mode with Emacs 28 and see no issues. But I'm using icomplete-mode.
Actually I'm surprised that mini-frame doesn't work for you. Sorry :) https://github.com/muffinmad/emacs-mini-frame/issues/17 brings me here. I'll take a look on how to make mini-frame work nicely with selectrum.

Why? I'm using mini-frame-mode with Emacs 28 and see no issues. But I'm using icomplete-mode.

I thought that to be the case since with my quick tests in Emacs 27 I did not see the issues @terlar desribed. I'm happy to help if you find anything that would improve the support of emacs-mini-frame in selectrum.

@clemera
Here is receipt to reproduce the issue with mini frame without emacs-mini-frame package:

emacs -Q --eval "(setq default-frame-alist '((minibuffer . nil)))"
M-x package-initialize
M-x selectrum-mode
M-: (setq resize-mini-frames t)
M-x

The mini frame doesn't show completion list until some input is provided.
Maybe you can find solution much quicker than me.

Thank you, I can reproduce that. I'm currently clueless why it doesn't display the candidates initially.

Any new ideas about this problem?

Unfortunately not, someone would have to dertmine the problem that causes this.

The issue also happens with C-x b, but for some reason C-x C-f works correctly.

Because prompt is not empty. Just delete initial text on C-x C-f and candidates list will be hidden.

16 жовт. 2020 р. о 13:26 4aHxKzD<EMAIL_ADDRESS>пише:

The issue also happens with C-x b, but for some reason C-x C-f works correctly.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I just tried to investigate this a bit more and discovered you get the same display problems with icomplete-vertical. I suspect there is some display bug at play. A workaround could be to use before-string instead of after-string and display the input line below the candidates instead of above, a quick test on my side indicated this could work.

@muffinmad Would it be possible to specify another buffer whose contents should be used for display in the frame?

I just tried maple-minibuffer which seems to work fine without any additional setup. I haven't looked at the differences to mini-frame-mode, though.

I just tried maple-minibuffer which seems to work fine without any additional setup. I haven't looked at the differences to mini-frame-mode, though.

Because maple-minibuffer uses fixed frame height by default.  It is possible (with additional setup) to make mini-frame to show fixed-height frame too.
My point was to make selectrum work in this scenario: https://github.com/raxod502/selectrum/issues/169#issuecomment-682421124.  If there is some Emacs bug that leads to such behavior, let's spot it and fix on the Emacs side.
Btw, with ivy the candidates list is visible even if there are no input.  Just replace step 3 with M-x ivy-mode in that receipt.

@muffinmad Would it be possible to specify another buffer whose contents should be used for display in the frame?

Sounds like a job for the posframe package :)

Because maple-minibuffer uses fixed frame height by default. It is possible (with additional setup) to make mini-frame to show fixed-height frame too.

My point was to make selectrum work in this scenario: #169 (comment). If there is some Emacs bug that leads to such behavior, let's spot it and fix on the Emacs side.

Btw, with ivy the candidates list is visible even if there are no input. Just replace step 3 with M-x ivy-mode in that receipt.

If the buffer is empty or the last character in the buffer is white space the after-string overlay does not display (when it begins with a newline) in the mini frame. It seems this is the case regardless if the frame height is set to static or not. The frames spawned by maple minibuffer don't seem to have this problem, I don't know the reason for that. Ivy doesn't use an overlay to display its candidates so it isn't affected by this.

Sounds like a job for the posframe package :)

I agree, so to fix the problem for the mini-frame case we need to figure out the reason for not displaying the after-string overlay in the case described above.

If there is no minibuffer input or the last input character in the buffer is white space the after-string overlay does not display (when it begins with a newline) in the mini frame. It seems this is the case regardless if the frame height is set to static or not. The frames spawned by maple minibuffer don't seem to have this problem, I don't know the reason for that.

To make mini-frame show selectrum candidates with empty input (like maple-minibuffer):
(setq mini-frame-show-parameters
      '((left . 0.5)
        (top . 0)
        (width . 1.0)
        ;; set height
        (height . 10)))
;; disable mini-frame-resize
(setq mini-frame-resize nil)

To make maple-minibufer not show selectrum candidates:
(setq maple-minibuffer:height 1)

and turn maple-minibuffer-mode off and on.

Ivy doesn't use an overlay to display its candidates so it isn't affected by this. Icomplete also uses an overlay so with icomplete-vertical you get the same display problem.
I agree, so to fix the problem for the mini-frame case we need to figure out the reason for not displaying the after-string overlay in the case described above.

Can you provide more compact receipt to reproduce the bug, please? By "more compact" I mean without the need to install additional packages.
Also can you report the bug to the Emacs developers?

I'm not dealing with frames usually so I'm not very experienced with their behaviour/settings. I can indeed see the candidates when setting mini-frame-resize to nil. Now I'm wondering what this setting usually achieves. I don't see any behaviour change when setting it to t with ivy, should the frame dynamically resize during input or something like that? This doesn't seem to happen even with resize-mini-frames (which was mentioned earlier) set to t (with Emacs 27.1).

Can you provide more compact receipt to reproduce the bug, please? By "more compact" I mean without the need to install additional packages.

I will try to come up with a minimal example which demonstrates the problem.

Here is a minimal example, thanks for your previous recipe which helped me creating it:

emacs -Q --eval "(setq default-frame-alist '((minibuffer . nil)))"
eval-buffer with following code.

(setq resize-mini-frames t)

(defvar ov (make-overlay (point-min) (point-min) nil t t))

(minibuffer-with-setup-hook
    (lambda ()
      (setq-local truncate-lines t)
      (move-overlay ov
		    (point-max)
		    (point-max)
		    (current-buffer))
      (overlay-put ov 'after-string "\nHey there, I'm hidden initially and will hide again after any space in the input"))
  (read-string "Hi? "))

Initially and after any space the overlay is hidden.

Also can you report the bug to the Emacs developers?

Done

I'm not dealing with frames usually so I'm not very experienced with their behaviour/settings. I can indeed see the candidates when setting mini-frame-resize to nil. Now I'm wondering what this setting usually achieves. I don't see any behaviour change when setting it to t with ivy, should the frame dynamically resize during input or something like that? This doesn't seem to happen even with resize-mini-frames (which was mentioned earlier) set to t (with Emacs 27.1). When I filter down to fewer candidates the frame keeps its initial size.

The resize-mini-frames option is overriden with the mini-frame-resize option when mini-frame is showed. By default mini-frame-resize is t, which means to resize mini-frame. And I see that frame is properly resized with ivy on Emacs 27 and 28:

emacs -Q
M-x package-initialize
M-x ivy-mode
M-x mini-frame-mode
M-x mini-

At this point the height of the mini-frame is 2 lines: prompt and mini-frame-mode completion item.

Also can you report the bug to the Emacs developers?

Done

Thank you!

At this point the height of the mini-frame is 2 lines: prompt and mini-frame-mode completion item.

This isn't the case for me. My guess is that this is gnomes fault, I remembered to stumble across dynamic resize problems with it in the past, see here.

After discussion on the mailing list I have another workaround that can be used until a patched version gets released:
(define-advice fit-frame-to-buffer (:around (f &rest args) dont-skip-ws-for-mini-frame)
  (cl-letf (((symbol-function #'window-text-pixel-size)
             (lambda (win from to &rest args)
               (apply #'window-text-pixel-size
                      (append (list win from (if (window-minibuffer-p win) nil to) args))))))
    (apply f ags)))

@terlar Does the above workaround solve your issue? Looking back your report seems to describe a slightly different behaviour?

I Will have another look.

@clemera Adding that advice seems to fix the size of the mini-frame to ~25 rows or so for me, meaning it doesn't shrink as the candidate set is narrowed.
My mini-frame usage is configured like:
(use-package mini-frame
  :straight t
  :custom
  ((mini-frame-ignore-commands '(eval-expression "edebug-eval-expression" debugger-eval-expression "^phi-"))
   (mini-frame-show-parameters '((top . 10) (width . 0.7) (left . 0.5))))
  :config (mini-frame-mode))

(see https://github.com/nuance/dotfiles/blob/master/emacs.d/init.org for my emacs config / https://github.com/nuance/dotfiles/blob/master/straight-package-versions.el for package versions)

@nuance Thanks, I can't easily test this because as mentioned earlier dynamic resize of child frames does not work for me under gnome. This sounds like there is an additional issue that we need to look into. @muffinmad do you have the same problem?

@nuance Do you still have issues if you specify a height?

@clemera different problem. with the following snippet, I only ever see the input line of the minibuffer (eg "18 Switch to buffer: " if there are 18 buffers, typing input just reduces the match count number but doesn't display candidates)
     (use-package mini-frame
       :straight t
       :custom
       ((mini-frame-ignore-commands '(eval-expression "edebug-eval-expression" debugger-eval-expression "^phi-"))
        (mini-frame-show-parameters '((top . 10) (width . 0.7) (left . 0.5) (height . 1))))
       :init
       (define-advice fit-frame-to-buffer (:around (f &rest args) dont-skip-ws-for-mini-frame)
         (cl-letf (((symbol-function #'window-text-pixel-size)
                    (lambda (win from to &rest args)
                      (apply #'window-text-pixel-size
                             (append (list win from (if (window-minibuffer-p win) nil to) args))))))
           (apply f args)))
       :config (mini-frame-mode))

@nuance I think you misinterpreted the meaning of the height parameter which is  the number of lines. A value of 1 giving you you a single line is correct in this case.

@clemera Ahh, good catch. Setting it to 25 yields the behavior from before (eg same as if height is unset) - the mini-frame is fixed size regardless of number of candidates; eg, it doesn't seem to respect mini-frame-resize.

Okay, that is the behaviour I get, too. I thought it was Gnomes fault, do you use it?

Nope, this is on macOS. I'm running something close to the tip of the native-comp branch, fwiw (I think the sha is 3be93390fb6680d1e0c3256af72c86635a9eb327)

Okay, thanks. I'm not sure this related to selectrum maybe @muffinmad has some more clues.

@nuance Thanks, I can't easily test this because as mentioned earlier dynamic resize of child frames does not work for me under gnome at all. But if I don't specify a height I experience something similar to what @terlar described in that every other time it shows only a single line frame. This sounds like there is an additional issue which is different from the one fixed by the advice. @muffinmad do you have the same problem?

No. In emacs -Q:

Add advice from https://github.com/raxod502/selectrum/issues/169#issuecomment-712957936
(setq mini-frame-show-parameters '((top . 10) (width . 0.7) (left . 0.5)))
M-x mini-frame-mode
M-x selectrum-mode
M-x

Miniframe shows 10 candidates and changes the size once the candidates list changed.
@nuance Your advice (https://github.com/raxod502/selectrum/issues/169#issuecomment-716050660) is slightly different. Can you please test it with the https://github.com/raxod502/selectrum/issues/169#issuecomment-712957936? Also please test it on master branch of Emacs.

@muffinmad Appears to work now! Not sure how I ended up with a different set of advice. For reference, my mini-frame use-package now looks like:
     (use-package mini-frame
       :straight t
       :custom
       ((mini-frame-ignore-commands '(eval-expression "edebug-eval-expression" debugger-eval-expression "^phi-"))
        (mini-frame-show-parameters '((top . 10) (width . 0.7) (left . 0.5) (height . 25))))
       :init
       (define-advice fit-frame-to-buffer (:around (f &rest args) dont-skip-ws-for-mini-frame)
         (cl-letf* ((orig (symbol-function #'window-text-pixel-size))
                    ((symbol-function #'window-text-pixel-size)
                     (lambda (win from to &rest args)
                       (apply orig
                              (append (list win from
                                            (if (and (window-minibuffer-p win)
                                                     (frame-root-window-p win)
                                                     (eq t to))
                                                nil
                                              to))
                                      args)))))
           (apply f args)))
       :config (mini-frame-mode))

@muffinmad Thanks for catching that, I missed that the advice was different! Great, that it works!

To summarize the insights in this thread:

mini-frame-mode dynamic resize doesn't work with gnome
you need to specify a height in mini-frame-show-parameters
until bug#44080 is fixed in Emacs the following advice needs to be used:

(define-advice fit-frame-to-buffer (:around (f &rest args) dont-skip-ws-for-mini-frame)
  (cl-letf* ((orig (symbol-function #'window-text-pixel-size))
            ((symbol-function #'window-text-pixel-size)
             (lambda (win from to &rest args)
               (apply orig
                      (append (list win from
                                    (if (and (window-minibuffer-p win)
                                             (frame-root-window-p win)
                                             (eq t to))
                                        nil
                                      to))
                              args)))))
    (apply f args)))

@terlar Taking these into account the issue seems to be fixed, can you confirm?

@clemera Yes, I can confirm. With the advice it works (with no height every other execution). However also setting the height in mini-frame-show-parameters makes it work every time.

However also setting the height in mini-frame-show-parameters makes it work every time (I'm using gnome).

Thanks! Does the frame also dynamically shrink when you filter down to fewer candidates? What gnome version are you using?

I'm on GNOME Shell 3.36.5.
On some further tries it does not shrink and when not using a fixed height it stays at the height when the frame was initiated.
Also if you start typing quickly the height will be affected and it might be less than 10 items (if that is the default). If I start typing before the height is set it can get stuck in very small sizes (this is without the height configuration).

On some further tries it does not shrink and when not using a fixed height it stays at the height when the frame was initiated.
Also if you start typing quickly the height will be affected and it might be less than 10 items (if that is the default). If I start typing before the height is set it can get stuck in very small sizes (this is without the height configuration).

Okay, thanks this is because of the Gnome issue I was talking about, so maybe this should be noted in the mini-frame-mode README (@muffinmad). Thank you all for your helping tracking these things down! I have updated the wiki accordingly. Is anything else left?

Okay, thanks this is because of the Gnome issue I was talking about, so maybe this should be noted in the mini-frame-mode README (@muffinmad)?.

Absolutely.

To summarize the insights in this thread:

mini-frame-mode dynamic resize doesn't work with gnome

Adding (setq x-gtk-resize-child-frames 'resize-mode) to init file will solve child frame resize issue.

Nice! Thanks for discovering that option, I can confirm that it works!

Is there any chance the requirement to set a height could be removed if
auto resize is true? Is it meant to be a maximum height or minimum height?
It’s a little confusing to me what the meaning of the value is in this case
(I think it’s just nil / not nil for the resize case, with nil somehow
cancelling the resize behavior).
On Sun, Nov 1, 2020 at 4:28 PM Clemens Radermacher<EMAIL_ADDRESS>wrote:

Nice! Thanks for discovering that option, I can confirm that it works!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/selectrum/issues/169#issuecomment-720154465,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAACBDBEY7TCTRP3LZJAZPDSNXHIFANCNFSM4PYZVK5Q
.

Nice! Thanks for discovering that option, I can confirm that it works!

Thanks to @dgutov for pointing out to that option!

@nuance

Is it meant to be a maximum height or minimum height?

It is the initial height. Doesn't make much sense if the mini-frame-resize is set though may reduce frame "flickering" due to resize.

Is there any chance the requirement to set a height could be removed if auto resize is true?

Yes.

Very good! I have updated the wiki, thank you all!


Wallet coin selection: unconfirmed outputs used when confirmed outputs are available

OSX: client 2.0.18, server 0.10.0

Fund OB wallet with low fee transaction:

https://blockchain.info/tx/6daf6cb0e9e1b958105ae2129191b7680d9fcf6e50e5f5f04bade70614c40249

Try to make purchase on OB. Client won't let me because funds have not yet confirmed.

OK, fine. Send second tx to OB wallet with HIGH fee:

https://blockchain.info/tx/42509b8f5a79e051a00576e2705da831d55eb86974bb198dc6e5966d3f9a907b

High-fee transaction confirmed in the next block! Great, return to vendor site and complete purchase. HOWEVER: The OB wallet paid the vendor with the unconfirmed outputs from the first, low-fee transaction:

https://blockchain.info/tx/bd14fa9db714fb931a5630151f4e5be4e5e15d84ef1f2d5903a37f81cc27f8e7
... so even though the wallet has a confirmed output, it used the unconfirmed output which will probably delay the purchase for days

I cancelled the purchase in OB, triggering a refund. So now the is a chain of three unconfirmed transactions. Hopefully some miner has CPFP turned on!

Would you mind logging this in the server repo? The server code is the one responsible for determining where the funds are coming from on a wallet spend.

Thanks.
https://github.com/OpenBazaar/openbazaar-go/issues/778


fix proxy channels noarch and gzip repodata

@janjagusch this fixes the noarch issue for proxy channels and also adds the same gzip mechanism we use with regualr channels which should speed up repodata retrieval substantially (if you're not encoding the stream elsewhere anyways).
Let me know what you think.

@janjagusch looks like the CI issue is unrelated. Looking into that now.

This should be green now.


nothing happen when i try to add plugin

the cmd give me nothing when i try to add the plugin

same here
i m trying
cordova plugin add cordova-plugin-phonertc
or
cordova plugin add https://github.com/alongubkin/phonertc.git
but both of them are not working.

it's missing the file package.json , so the plugin can't be installed. I forked this project adding that file, and now the cmd "ionic cordova plugin add" works.  It seems working at least, I haven't fully tested it yet.
You can try creating a package.json file for this plugin, writing something like this (you can retrieve info from plugin.xml)
`{
"_from"<EMAIL_ADDRESS>"_id"<EMAIL_ADDRESS>"_inBundle": false,
"_location": "/com.dooble.phonertc",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw"<EMAIL_ADDRESS>"name": "com.dooble.phonertc",
"escapedName": "com.dooble.phonertc",
"rawSpec": "2.1.0",
"saveSpec": null,
"fetchSpec": "^2.1.0"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/cordova-plugin-compat/-/cordova-plugin-compat-1.1.0.tgz",
"_spec"<EMAIL_ADDRESS>"author": {
"name": "alongubkin"
},
"bundleDependencies": false,
"cordova": {
"id": "cordova-plugin-compat",
"platforms": [
"android"
]
},
"deprecated": false,
"description": "make peer-to-peer calls with WebRTC open source mobile implementation",
"engines": [
{
"name": "cordova",
"version": ">=5.0.0"
}
],
"homepage": "https://github.com/alongubkin/phonertc",
"keywords": [
"ecosystem:cordova",
"ecosystem:phonegap",
"cordova-android"
],
"license": "Apache-2.0",
"name": "cordova-plugins-phonertc",
"repository": {
"type": "git",
"url": "git://github.com/De-Lac/phonertc.git"
},
"version": "1.1.0"
}
`
or you can try install my fork, with my generated package.json file with
ionic cordova plugin add https://github.com/De-Lac/phonertc.git


PostgreSQL data connector PR

Change(s):

Added PostgreSQL data connector
Added Parsers
Added Sample Data

Error in DataConnectorValidations check is due to unmatched template but this connector is not of REST_API type

@oshezaf could you please suggest/pre-register EventProduct and EventVendor values for this parser to be included in our next commit along with the other fixes while addressing your comments?

I have added PostgreSQL as both EventVendor and EventProduct to the test suite. There seems not to be a better option. Documenation update will happen in a few days.

I have added PostgreSQL as both EventVendor and EventProduct to the test suite. There seems not to be a better option. The one product that

Comments about the ASIM parser:

A filtering parser is required.

Testing with the ASIM testers is required:

I ran the tests and found the following issues:

Missing EventScheman field.
Unsupported value for EventProduct and EventVendor. Obviously, one is needed, but you need to pre-register it with me.
Unsupported value for EventType. Should be "Logon".
Missing recommended fields that per my analysis should be available: EventResultDetails (based on the type of failure the event denotes), DvcIpAdde or DvcHostname (Computer field)

The test data includes only one of the events parsed. At least one sample of each parsed event is needed for testing.

Added filtering parser
Added EventSchema field (it was missing as currently it is not in the Mandatory fields [according to the documentation it will become Mandatory on July 1st 2022]
EventProduct and EventVendor values were pre-registered
Fixed EventType value
Added recommended fields EventResultDetails, DvcIpAddr, DvcHostname
Updated sample data file


search pills: Always pass quiet=true to clear().

I missed one call.
Followup to https://github.com/zulip/zulip/pull/30889#issuecomment-2229106232

Looks good to me!


aws_elasticsearch_domain shows no price for ebs storage

aws_elasticsearch_domain resource shows no price changes if we modify ebs storage. But according to AWS documentation there're some charges for provisioneing ebs gp3 storage. From the output I just see that 1 x aws_elasticsearch_domain_saml_options not supported yet but that's not a case. Infracost version is v0.10.28. is it a bug?
Instance (on-demand, r6g.large.elasticsearch)          2,190  hours           $442.38
Storage (gp3)                                          700  GB                $0.00
Dedicated master (on-demand, m6g.large.elasticsearch)  2,190  hours      $335.07
UltraWarm instance (on-demand, ultrawarm1.medium.elasticsearch)  1,460  hours      $414.64

time="2023-08-16T16:24:01+03:00" level=warning file="github.com/infracost/infracost/internal/prices/prices.go:104" func=github.com/infracost/infracost/internal/prices.setCostComponentPrice msg="No products found for aws_elasticsearch_domain.es_prod Storage (gp3), using 0.00"
time="2023-08-16T16:24:01+03:00" level=warning file="github.com/infracost/infracost/internal/prices/prices.go:104" func=github.com/infracost/infracost/internal/prices.setCostComponentPrice msg="No products found for aws_elasticsearch_domain.es_prod Storage (gp3), using 0.00" ```

Thanks for reporting @pkudrynskyi 🙏! The GP3 issue looks like a bug.
For aws_elasticsearch_domain_saml_options Infracost doesn't support that resource. We maintain a list of supported resources here. If you'd like to request support for that resource please create a separate issue for it.

@pkudrynskyi we've merged a fix for this into master. It will go out with the next release. I'll let you know here when that is available. Alternatively, if you use our GitHub or Gitlab app integration this functionality will already be available. Thanks.

@pkudrynskyi, @erpel this is now released in Infracost v0.10.29.


Camera rescaling applied twice in dataparser and dataset

Hi,
Is there a reason for camera rescaling being applied twice - both in dataparser and dataset classes? Is scale_factor and downscale_factor supposed to mean different things? Thanks!
https://github.com/nerfstudio-project/nerfstudio/blob/492fa0e67b238a1ca3158a37845aec313e5deb23/nerfstudio/data/dataparsers/nerfstudio_dataparser.py#L276
https://github.com/nerfstudio-project/nerfstudio/blob/492fa0e67b238a1ca3158a37845aec313e5deb23/nerfstudio/data/datasets/base_dataset.py#L55

Yea, agreed thats a little odd. The scale factors are defined in two different configs. The the dataparser one, it is used to determine which data to load from preprocess sizes (must be powers of 2). The dataset one lets you apply an arbitrary scaling (float) on the already loaded data.
https://github.com/nerfstudio-project/nerfstudio/blob/91291bc52c2501c8c93378382416edc2693647a8/nerfstudio/data/datamanagers/base_datamanager.py
and
https://github.com/nerfstudio-project/nerfstudio/blob/91291bc52c2501c8c93378382416edc2693647a8/nerfstudio/data/dataparsers/nerfstudio_dataparser.py#L51-L52

Since InputDataset does a deepcopy of the dataparser's camera, wouldn't it be erroneously applying the scaling factor to the camera twice?
https://github.com/nerfstudio-project/nerfstudio/blob/492fa0e67b238a1ca3158a37845aec313e5deb23/nerfstudio/data/datasets/base_dataset.py#L54

I encounter the same issue here. I think it looks weird to apply the scale twice. Is there an update on this thread? Thanks.


Refactor templates (Angle bracket invocation, named args, this.args)

[x] enable skipped splattributes tests when https://github.com/kybishop/ember-popper/issues/98 is resolved

Failing tests due to https://github.com/rwjblue/ember-angle-bracket-invocation-polyfill/issues/67

This should be ready to merge from my PoV. @jelhan wanna have a 2nd look?


Migrate Slackscot From james-bowman/slack To nlopes/slack API

@s-machina: I thought maybe you'd enjoy reviewing this. I started out wanting to update slackscot to a go slack API integration that was still actively maintained and it looks like https://www.github.com/nlopes/slack is exactly that. But I also wanted to make things a little cleaner and remove some of the extra cruft that I had added in a haste when I was trying to get youppi out during the course of only a few days. It's now cleaner even though I'd like to revisit some patterns later on (I've been debating wether or not to use plain functions vs functions with structs as receivers in a few places).
I think this is mostly the start of something nice. In my short-term todo, I have:

I'd like to handle triggering messages that get updated as well as updated messages that should now be reevaluated for a match (previously, the api I was using was just ignoring updated/deleted messages).
I think I'd also like to cache user emails/full names and make those available in the IncomingMessageEvent so that plugins have access to them (emails can be useful for functionality while names/first names can be useful to include in a formatted response).
Matching that isn't based purely on regex. I'll probably have something a bit more generic that could trigger a match based on probability match (useful for the fingerquoting so that this doesn't have to be done during main processing) along with a wrapper that takes in a regex and checks for a match.
Maybe support for vault in configuration evaluation where we could have vault paths in value and if a vault host and vault token are presents then those values would be fetched from vault before initialization.

It looks like GitHub hides slackscot.go by default but that's actually where the most interesting changes are.
Otherwise, he's a potentially incomplete list of changes:

Add home directory expansion on emojiBanner's fontPath
Add Slackscot engine version in help message output
Integrate with https://github.com/alexandre-normand/giddyup for version management (will integrate auto-releases
on merge later)
Major refactor and code clean up
Prepare terrain for response updating/deletion on triggering message updates
Add more godoc
Update README and add go report card icon

I didn't know if you'd like to look at this, @coderunner but maybe it would be fun to do a review with
@s-machina if you're curious of what's coming for youppi.

Merging this as I've done a lot of (hopefully good) work based on that code and I'm ready to move it forward.


Forbid non-serializable inhabitants in compound data-types.

Note: the stdlib still compiles, type-check and succeed on all tests.

closes this?
https://github.com/aiken-lang/aiken/issues/827


Mod with multiple options for different items

Mods with folders for different in game items (such weapons) but without manifests can't be used simultaneously.
Example: EFT MDRs - Liberator Series Conversion
Mod have different liberator variations, yet I can choose only one variant for model replacement.
Can we have a checkbox for multiple variations, please?

A solution will be shipped in the coming update.


Slow metadata validation

I'm experiencing very slow metadata validation these days by com.onelogin.saml2.util.Util.validateXML(Document, URL).
I tried to debug and I see the validator is waiting on a socket read.
If I'm not missing something, it seems like to me the following files are downloaded from the remote host on every validation request:

http://www.w3.org/2001/xml.xsd
http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
http://www.w3.org/2001/XMLSchema.dtd
http://www.w3.org/2001/datatypes.dtd
http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd

All these files are in java-saml-core/src/main/resources/schemas, along with SAML schemas. However, while local SAML schemas seems to be actually used on schema validation, the above ones seem to be downloaded from the remote host, as I said.
I do not have experience in this area, but I think this could be solved by using a proper XMLCatalogResolver as the XMLEntityResolver (but I don't know where it should be set) or a LSResourceResolver set on the javax.xml.validation.SchemaFactory used to parse the Schema instance (it's not clear to me the difference and if this would be the right approach), so that those schemas are loaded from the local resources rather than from the remote host.
What do you think?

What perplexes me is that, when running unit tests, such validation is indeed fast. The invoked method is the same (com.onelogin.saml2.settings.Saml2Settings.validateMetadata(String)), but it seems like that, when I invoke it from a consuming application, validation becomes slow because imported schemas are downloaded from the Internet.
Just a guess: perhaps some kind of "default" resolution of imported schemas works with local files when they are all located in the same file system directory (i.e.: when invoked by unit tests), while it fails when such schemas should be loaded from the java-saml JAR, although being located in the same package (i.e.: when invoked from my consuming application).

I intercepted the HTTP requests and these are the remote requests that I see are being made when validating the SP metadata from my consuming application:

http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd
http://www.w3.org/2001/XMLSchema.dtd
http://www.w3.org/2001/datatypes.dtd

The DTDs are requested because they are referenced by the online version of xenc-schema.xsd, which has the following header section that seems to be stripped out from the local xenc-schema.xsd in java-saml classpath:
<!DOCTYPE schema  PUBLIC "-//W3C//DTD XMLSchema 200102//EN"
 "http://www.w3.org/2001/XMLSchema.dtd"
 [
   <!ATTLIST schema
     xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#'
     xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'>
   <!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'>
   <!ENTITY % p ''>
   <!ENTITY % s ''>
  ]>

I confirm that such remote calls are not being made when executing unit tests locally and indeed, debugging the code, I see that DTDs are not requested in this case, as a consequence of the local xenc-schema.xsd being used.
I'm experimenting now with a mechanism that should ensure a local resolution of all schemas and DTDs (and fall back to the current behavior in case local resolution fails) even when java-saml is packaged as a JAR in a consuming application.


Implement advisor rules for OS file descriptor limit detection

Along these lines:  https://neo4j.com/developer/kb/number-of-open-files/

Querying for ulimits appears not to be possible from the outside.  I'm going to close this issue as we don't appear to have an implementation path here, other than trying to guess what the max might be by observing used FDs over a period of time, which doesn't strike me as a super great idea.


Update fields.txt

According to the lines from 857 to 860 of this file, ~django.forms.TypedChoiceField is only returned when choices_form_class is None.

merged in 17677d510f65012531a5af57fd056fb15cfe1067, thanks!


Add template file path to the Template constructor

I added some information to help to use the templates.

The template path is now optional (perhaps not released yet, but in master), that's why I removed it. It will default to templates/<controller>/<action>.<template extension>


Flyby clippy lint blossoms into centrepiece

Originally included in #16.

It's auto-generated code, but I'd much rather have it fixed already rather than having to wait for the related dependency to update and to regenerate it afterwards :ok_hand:.


Testing on docker swarm

Please provide docker-compose v2 definition compatible with docker swarm and instructions on how to run it inside swarm.

resolved with https://github.com/big-data-europe/docker-cassandra/commit/d90d7334218fe0ad23d3ccb031bc39f0921d1661


Fixes incorrect glyph width.

This commit fixes the bug that nvgTextBounds() may return incorrect results (#206) and nvgTextBreakLines() may give unmatched row widths (#373).
The bug is caused by determining quad’s x1 by calculating the difference between a glyph’s x0 and x1. However, glyph’s values lose some precision after converting to the integers for locating the glyph’s position in the atlas.
That’s the reason why there might be minor difference between the actual string width (NVGtextRow’s width) and the not always correct bound width (bounds[2] - bounds[0] returned by nvgTextBounds()). The former uses glyph’s xadv as each glyph’s width while the latter uses glyph’s x1 - x0 to determine the width.

Thanks for picking this up.
There are two widths for text, as I explained in #206. One for layouting the glyphs (width), and another one for the geometric bounds of the text (xmin/max).
What is the use case you've been testing?
If it problem is about how breaklines work, an alternative solution could be to change
https://github.com/memononen/nanovg/blob/master/src/nanovg.c#L2719
to:
float nextWidth = q.x1 - rowStartX;

@memononen Thanks for the hint. I was implementing a text widget that can adjust the size automatically. I wasn't sure what's the correct way to get the width of a single line text.
I thought I should use nvgTextBounds(). In my case, the text abcdefg would give me bounds[0] = 0 and bounds[2] = 68, so I tought the text width should be 68.
However, if I passed 68 as the max width to nvgTextBreakLines(). It only draws abcdef, the g is missing. If I set the max width to a larger number such as 100 and check NVGtextRow's row property, the value is 69. The lack of space is the reason why g is dropped. I'm a bit confused of two different widths for my text case. I was trying to determine the width of a text, not glyphs. Is there other better way to get correct text width in addition to nvgTextBounds()?

There was actually a bug in the minx/maxx calculations. I just fixed that.
Can you explain more how the dynamic adjustment works? I think I'm still missing something important.
If you draw text using nvgTextBox, then you should use nvgTextBoxBounds. Then there's no need to feedback the info.
The float value nvgTextBounds returns is the "logical width" of the text. nvgTextBoxBounds does not return such thing, maybe it could return max of all rows?

@olliwang re: the coordinates, the bounds coordinates and row break width are kind of different units (bounding box of glyphs vs. advancement), so that's the slight discrepancy.

@memononen I didn't use nvgTextBoxBounds() because I don't know breakRowWidth. I'd like to explain more specific of what I was trying to do.
I was implementing a button widget with a text widget inside. The button should always show one line string and fixed paddings around the text. So if the text is localized to different languages. The button (and text) width change accordingly with the same fixed paddings.
To do this, I need to know the specific width of the text. Sure I can pass a super big number as breakRowWidth to nvgTextBreakLines() to get the correct NVGtextRow's width, but I am not sure if it's the right way.

If you have just one line of text, then you should use nvgTextBounds() to get the bounds and nvgText() to draw the text. That is, one should not generally mix text and text box stuff.
I still feel like there might be something that is obvious to me that I don't see in this case :)

@memononen You are right. nvgTextBounds() is enough for me. Thanks for your help. :)


Shabad OS crashes if it cannot ping GitHub release page

This needs to be patched ASAP
@saihaj can you take a look?

{"level":50,"time":1587483787890,"pid":19864,"hostname":"windowslaptop","msg":"net::ERR_HTTP_RESPONSE_CODE_FAILURE","stack":"Error: net::ERR_HTTP_RESPONSE_CODE_FAILURE","type":"Error","v":1}

2020-05-07_22-08-17.052Z.log

Solution: https://github.com/electron-userland/electron-builder/issues/2398#issuecomment-413117520
autoDownload = true causes it to not any exceptions from that procedure except to the main process handler


[EASI-3664] Drop the existing_model column from plan_general_characteristics

EASI-3664
Changes and Description

Add migration dropping existing_model column

How to test this change
PR Author Review Checklist

[x] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[ ] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[x] Updated the Postman Collection if necessary.

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

Do not merge until model plan data is updated

Do not merge until model plan data is updated

@OddTomBrooks What remains to be updated here? Is there data in prod that needs to get updated for this, I assume?

Thanks Tom, the migration works good.
I noticed when reviewing the general characteristics postman that the PlanGeneralCharacteristicsChanges type hasn't been updated.  existingModel: String should not be part of it anymore. Can you please update?
Also, can you update the postman query so you can just click send and it works? I get an error when trying to run it because it isn't filled out. It would be ideal if we could open the collection and send the query.

Requested changes are in except turnkey click-send on the plan general characteristics update query. As discussed async, this is a design change from the existing query structure which would cause a loss of structured information by deleting various variables on the input. Such a change is outside the scope of the ticket and is best discussed as whether it's a design direction we want to take and homogenize similar queries.


zod validation integration

added zod library for form validation
form-field error message addtion with appropriate style

Sample Image:

@pooranjoyb am i able to contribute further to the project ?,  i am interested in it.

Will be glad! @SandipGyawali