Add registering queue without declaring

Sometimes could be useful avoiding to declare queue from program.

You should always use queue_declare. It's idempotent anyways.
Do you have a precise example where queue_declare wouldn't be suitable?

In our company we have a lot small applications connected by rabbitmq. For us better approach is configuring queue using ansible. Declaring queues during each start of programs had generated conflicts during deploying new releases. And in application we are using only names of exchanges for sending, and only names of queues for consumers. For this moment the most our applications is written in python and some part with golang. In both languages (pika, aiorabbitmq, streadway/amqp) we have possibility for using only names of queues. We want to introduce rust for our project and with this PR we are able to do this without breaking current approach.

Consumers are not allowed to be created on a channel if the queue hasn’t
been declared in the same channel, from my experience. That’s actually the
sole reason why the Queue object exists
On Mon 23 Dec 2019 at 17:03, Michał Zielonka<EMAIL_ADDRESS>wrote:

In our company we have a lot small applications connected by rabbitmq. For
us better approach is configuring queue using ansible. Declaring queues
during each start of programs had generated conflicts during deploying new
releases. And in application we are using only names of exchanges for
sending, and only names of queues for consumers. For this moment the most
our applications is written in python and some part with golang. In both
languages (pika, aiorabbitmq, streadway/amqp) we have possibility for using
only names of queues. We want to introduce rust for our project and with
this PR we are able to do this without breaking current approach.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sozu-proxy/lapin/pull/230?email_source=notifications&email_token=AABWNXRHMIFZ7AMWVST2DPLQ2DOMDA5CNFSM4J4MRWE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHRNBJY#issuecomment-568512679,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABWNXSHFZHJ6NLXCA772RDQ2DOMDANCNFSM4J4MRWEQ
.

The code from this PR is working in our new application without any problems actually. The connection with channel I thought that is made by queues.register inside channel. I could try add some tests for it. I haven't done it yet because I am newbie in Rust and We have wanted to start using our new application. But as I say this code is working correctly with tokio and futures.

Now that I got some time to fix a few things in lapin and dig into this, I've figured out what have been going out for a long time (thanks to your pull request which clearly highlighted the issue).
I've now pushed 1d922eedbf3b6cec5e6a77f1f1d0dacbedafb733 and cd83ffbf8555033fead89517871b7e9c9060ab47 and will probably release 0.31.0 tomorrow or later this week


Ctrl+C doesn't work

Hi!
Are there any chances attachCustomKeyEventHandler will be implemented?
As for now all ctrl+cs are ignored.

sure :)

Thanks for that! I also figured out that OnKey() also has this problem, and v1.6.1 had fixed the issue.
I guess you may use OnKey() like the following code since AttachCustomKeyEventHandler() calls on both key down and key up.
private async Task OnKey(KeyboardEventArgs args)
{
    if (args.CtrlKey && string.Equals(args.Key, "C", StringComparison.OrdinalIgnoreCase))
    {
        string selection = await terminal.GetSelection();
        await clipboardService.CopyAsync(selection);
    }
}

Closing as resolved. Thanks!


[ENH] Add hot reloading for development

Fixes #901.
Description
This pull request enables hot reloading of the conda-store-server webserver in both standalone or in containers. If running in standalone mode, reload = True by default.
Pull request checklist

[x] Did you test this change locally?
[x] Did you update the documentation (if required)?
[x] Did you add/update relevant tests for this change (if required)?

Thanks! I added a note about hot reloading to this section: https://github.com/peytondmurray/conda-store/blob/901-hot-reloading/docusaurus-docs/community/contribute/contribute-code.md#local-development-without-docker---conda-store-core


Design, UX and code patterns for SPFx Web Parts based on SASS and CSS

Category

[ ] Question
[ ] Typo
[ ] Bug
[x] Additional article idea

Design and UX section for SPFx Web Parts and SASS/CSS
There is a huge interest on how to develop web parts properly so that they can be used in various base containers aka columns provided by the Communication Site template and modern Team site experience. There are a lot of patterns that can be safely used but needs to documented first.
Another missing component is on how to deal with SASS. What are common recipes that I can use in web parts. How to make style definitions reusable and how to manage design customisation from an enterprise perspective.
All theses are currently not appropriate documented in the spf-dev-docs and needs to be enhanced more.
My recommendation is to create a seperate section that will cover those common scenarios.
Happy to pick this section because I will document them on my blog anyway. It think it can be beneficial for more than just my regular blog viewers.
The latest blog on: SASS/CSS scoping though CSS Modules, which is an integral part of SPFx, draw a lot of attention recently.

I know nothing about Sass and am trying to pick it up as I go. Would be great to have a quick intro article about how to use it specifically with SPFX .


Stoned Chicken Feather Fix crash when using Ice And Fire ROTN

crash-2024-03-09_20.05.56-client.txt

As noted in the changelogs on CF, as of 1.3.0 all remaining Ice and Fire based tweaks in RLMixins are designed for use with the Copper and Lightning fork of Ice and Fire.
This is not an issue of Quark ROTN, rather that you are using Ice and Fire ROTN, which is coded differently than the Copper and Lightning fork and as such crashes.
As both the mods you are using are developed by ROTN, I recommend requesting them to just implement the fix directly, as I currently do not have plans to support multiple Ice and Fire versions at the same time.


Crushing when apply this lora

The app is crushing with no error when I apply this LORA:
https://civitai.com/models/251417
sd -m "D:\Stable-diffusion\ComfyUI\models\checkpoints\SDXL\himerosxl_v206.safetensors"  --lora-model-dir D:\Stable-diffusion\ComfyUI\models\loras\SDXL --taesd "D:\Stable-diffusion\ComfyUI\models\vae\taesd\vae_taesdxl.safetensors" --clip-skip 2 --seed -1 --steps 8 --cfg-scale 1.0  -H 768 -W 768 -p " a woman, best eyes, freckle, full body shoot, looking at the viewer ,perfecteyes. <lora:MJ52_v2.0:1>, <lora:PerfectEyesXL:1>, <lora:pcm_sdxl_smallcfg_8step_converted:1>" --negative-prompt "lowres, hair over eyes, out of frame, messy drawing, amateur drawing, ugly face, bad face, bad teeth, (interlocked fingers, extra fingers, badly drawn hands and fingers, anatomically incorrect hands, bad anatomy), blurry, sketch, painting, simple background, white background"

It could be related to https://github.com/leejet/stable-diffusion.cpp/issues/370
Do you get lots of logs looking like this?
[WARN ] lora.hpp:176  - unused lora tensor transformer.single_transformer_blocks.20.norm.linear.lora_A.weight
[WARN ] lora.hpp:176  - unused lora tensor transformer.single_transformer_blocks.20.norm.linear.lora_B.weight

No, I don't get any error messages.

I also have issue https://github.com/leejet/stable-diffusion.cpp/issues/418

If you roll back to an earlier checkpoint does the issue persist? Be sure to regenerate the ggml submodule if you do so.

Be sure to regenerate the ggml submodule if you do so.
How do i do this ?

Be sure to regenerate the ggml submodule if you do so.
How do i do this ?

After you checkout the earlier checkpoint that you want to try you just run:
git submodule init
git submodule update
before building with cmake, same as if you were to build from a fresh sdcpp repo. This should rebuild ggml to whatever version was associated with sdcpp at that checkpoint.

I tried with a couple other checkpoints, and it's the same.
Now I decide to build from a fresh sdcpp repo and see how that goes.

I'm wondering if the issue is instead with the LoRA, because the vast majority of tensors are loading from it correctly and it might just contain some orphaned or duplicate alpha weights. I'm not surprised the only lora_up/lora_down failure is output_block_2_1_conv  because if I recall that is a hard coded special case in lora.hpp but for what reason its that way I do not know.

I also have issue #418

I believe your issue is distinct from this one, Flux LoRAs are still in a bit of a state at the moment due to lack of good documentation on the various naming conventions that are being used by the new training programs.

I compiled the app, and it still does the same thing. After all, the problem could be that Lora.


Add user_can_download to dataset resource

Resolves #5 - adds a user_can_download property to the dataset resource that can be used to determine user-specific download privileges for the dataset.  can_download is based on the global download setting for the dataset.
Also adds additional ignore directory.

Thanks, @brendan-ward!


VERSION.txt file

The 2019.10 updates of vcpkg released. And in the toolsrc/VERSION.txt I saw this line:
https://github.com/microsoft/vcpkg/blob/08e74979df124d9360343751cefcae615c2ec5ed/toolsrc/VERSION.txt#L1
Is this different from update version? Can anyone describe me?

We only update toolsrc/VERSION.txt when there are significant changes to the vcpkg tool itself (the C++ code), e.g.: new vcpkg commands or options. It is our way to tell users to bootstrap vcpkg again.

@vicroms Many thanks for your comment and helping me!


Auto symmetry reduction

Summary
Added the auto symmetry detection function in the Molecular problem to be used as callbacks for symmetry autodetection in the qubit converter
Details and comments

Once 101 is merged this PR should also take care of integrating this auto-detection into the problem classes

LGTM!


What kind of video format this can support?

Dear friends,
could you help me which kind of format video files this can support?
Diego

hey @diegothucao, this is just a wrapper around AVPlayer, so it supports all the same types returned by AVURLAsset class method + (NSArray *)audiovisualTypes

Thanks


Incomplete rendering when using browser other than Firefox

Attach (recommended) or Link to PDF file here:
Configuration:
Browser(s): Chrome 86.0.4240.75, Edge 86.0.622.43, Brave 86.0.4240.99
OS: Windows 10 64-bit (latest)
PDF.js: 2.5.207
Browser extension: No
Steps to reproduce the problem:

Navigate to the PDF.js demo viewer at https://mozilla.github.io/pdf.js/web/viewer.html
Load the attached PDF file Postcard.pdf
Notice that when using a browser other than Firefox, some of the strings attached to the sales tags are either missing or partially rendered. Mac/Safari browser seems to render ok.

What is the expected behavior? (add screenshot)

What went wrong? (add screenshot)

Link to a viewer: https://mozilla.github.io/pdf.js/web/viewer.html

Notice that when using a browser other than Firefox, some of the strings attached to the sales tags are either missing or partially rendered. Mac/Safari browser seems to render ok.

That would suggest a canvas, hardware acceleration, and/or driver issue specific to Chromium-based browsers, rather than the PDF.js library; as such it's unfortunately very difficult to see that this can be fixed here.

In v2.2.228 the problem was much worse. Attached is a pic from 2.2.228 from our QA department. So something changed between versions that improved the situation and I'm left to conclude that there are still residual rendering issues in PDF.js. This is not exclusive to my hardware configuration. All of QA and the various project stakeholders are seeing this. If you don't wish to address the issue, I will indicate this to our project management so they can advise against the use of all browsers other than FF in our release notes.

Browser(s): Chrome 86.0.4240.75, Edge 86.0.622.43, Brave 86.0.4240.99

All of these are Chromium-based, and we've seen a fair number of issues reported lately that only affect Chromium browsers.

If you don't wish to address the issue,

As is hopefully obvious, we simply can't fix bugs in the browser itself; this issue should probably be closed as a duplicate of e.g. #12462, note in particular https://github.com/mozilla/pdf.js/issues/12462#issuecomment-713878908. /cc @timvandermeij


Bug with calcInterpolation regex

Hey! Not urgent, but I found this bug today:

Given the following schema:
{
   r: number
}

and these params:
calcInterpolation('rad(r)')
the matcher found 2 results and added an extra 'd' to the snapshot. I'm not sure if the 'r' value was updated.

It's r(rad) not rad(r) :smiley:
I will quickly update the docs do make it more clear.

ah! My fault. Thanks yandeu!


improve appvoyer tests

Codecov Report

Merging #82 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #82   +/-   ##
=======================================
  Coverage   59.75%   59.75%
=======================================
  Files           9        9
  Lines        1210     1210
=======================================
  Hits          723      723
  Misses        400      400
  Partials       87       87

Continue to review full report at Codecov.

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


first parameter must either be an object or the name of an existing class

Laravel Version: 5.4.#
Voyager Version: 0.11.7
PHP Version:
Database Driver & Version:

Description:
Hello i got this error : first parameter must either be an object or the name of an existing class
when i just try to visit  series page (made by ## bread)
please help me :+1:

Please include the full error.

ErrorException in 74bf346ea66264a1aae31d643cc24af9b55032e8.php line 41:
First parameter must either be an object or the name of an existing class (View: C:\xampp\htdocs\laravel\series\vendor\tcg\voyager\resources\views\bread\browse.blade.php)

help?

@Al-Kaiser, Since that's a compiled view file, could you please provide us with line 41 (+/- 10 lines) from that file?

@fletch3555 thanks found i forgot to add json code for relationships ><
{     "relationship": {         "key": "id",         "label": "name"     } }
but after add this json code when try to open /admincp/series said

:ErrorException in Collection.php line 1440:
Undefined index: name

but if i try to open /admincp/series/create or edit it's work fine and i have my relationship values

I also get this error (only on the view page) when I have a select dropdown type that does not have a relationship.

I just had the same problem & it's easily fixed with a bit of RTM. The relationships need defining via the model and also the config in the bread set-up view

Labels: invalid

This can be closed

I went through this error when in my BreadSeeder, in "details" I put "null", instead of "{}". Basically this error appears, if column "details" in dataRows is different than json.

@moisesh18, please don't comment on issues that have been closed for so long (nearly 3 years in this case).


How to build knowhere on macOS and arm64?

conan install failed at error:
clang: warning: include path for libstdc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
Linking CXX executable cmTC_a0230
/usr/local/Cellar/cmake/3.26.4/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a0230.dir/link.txt --verbose=1
/Library/Developer/CommandLineTools/usr/bin/c++ -m64 -stdlib=libstdc++  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -m64  CMakeFiles/cmTC_a0230.dir/testCXXCompiler.cxx.o -o cmTC_a0230
clang: warning: libstdc++ is deprecated; move to libc++ [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [cmTC_a0230] Error 1
make: *** [cmTC_a0230/fast] Error

/assign @cydrain

/assign @Presburger is looking at this

can build pass with following commands:
export CFLAGS="$CFLAGS -I/usr/local/opt/libomp/include"
export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/libomp/include"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp"
conan install .. --build=missing -o with_ut=True -s compiler.libcxx=libc++ -s build_type=Release
conan build ..

by the way
brew install libomp


xxx.init.d bash script detected as 'D' language

As can be seen on https://github.com/Graylog2/graylog2-server/search?l=d&q=provides
the graylog2-server.init.d file (which has a correct shebang) is detected as being in the 'D' language, which is incorrect

Hi @SjonHortensius - thanks for reporting this. The issue is that Linguist only knows about one language with that extension D: https://github.com/github/linguist/blob/6d770ab68f7aa9b4ea8a31c260b20cf962971daf/lib/linguist/languages.yml#L676 and so will automatically define it as D. If there were other languages defining the .d extension then we'd use the shebang classification strategy (and would likely get the correct answer).
One possible fix here would be to define .d as Shell extension here.
As I side note, I was under the impression that init.d paths were usually directories in Unix/Linux systems but that might just be gross ignorance on my part :smile:

This issue could be solved if we move the Shebang strategy to the top of the strategies to try (I suggested this before in #1991) .

A cursory sweep suggests that out of 3000000 .d files, about 10% are actually in D.  I'm tempted to do something about that.

@larsbrinkhoff - we'll so be doing Shebang detection first which will presumably help at some level here?

@arfon It'll help if those init.d shell script do have shebang lines.  I just checked, and they seem to do -- great!
However,m a quick random sampling of search results seem to indicate that many of the .d files are Makefile dependency include files, and they don't contain any shebang.

However, a quick random sampling of search results seems to indicate that many of the .d files are Makefile dependency include files, and they don't contain any shebang.

OK, it might well be worth doing something about those then.


Rancher 1.6.27 + Rancher-NFS

What kind of request is this (question/bug/enhancement/feature request):
Question
Steps to reproduce (least amount of steps as possible):

Change Host Registration URL
Re-Add Hosts to the environment with the updated docker command copy&pasted

Result:
Hosts receive the new Registration URL but Rancher-NFS still uses the old URL
Other details that may be helpful:
(Container should have been running but is in stopped state. Check logs for more information.: Failed to create volume phpipam_db_e8f4a. Driver: rancher-nfs. Status code: 500. Status: 500 internal server error. Error Message: Get http://blah-is-blubb.mydomain.com:8080/v2-beta/volumes?name=phpipam_db_e8f4a&removed_null=true&storageDriverId=1sd1: dial tcp <IP_ADDRESS>:8080: getsockopt: connection refused)
The new Host Registration URL is https://blah-is-blubb.mydomain.com
Environment information

Rancher version: 1.6.27

Installation option: non-HA

Docker version (use docker version):

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 03:42:13 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Do I have to re-deploy Rancher-NFS from the catalog and delete all volumes before that?

@Fail-Unsafe can you post your rancher-nfs logs and rancher-agent logs?

@Fail-Unsafe can you restart your storage driver to see if it picks up the latest environment variable? don't have to delete volumes.

@Fail-Unsafe can you restart your storage driver to see if it picks up the latest environment variable? don't have to delete volumes.

I restarted the nfs-driver storage service and entered a shell in the container but export still shows the old CATTLE_URL and CATTLE_CONFIG_URL.
declare -x CATTLE_CONFIG_URL="http://host-is-097.domain.com:8080/v1"
declare -x CATTLE_URL="http://host-is-097.domain.com:8080/v1"
The Rancher server is behind an NGINX reverse proxy. I had hoped to fully hide the Rancher container behind the reverse proxy but because of the NFS problem, I had to expose port 8080 on the container because otherweise the containers running on the Rancher hosts lose their connection to the storage.
I can't share logs because I would have to delete to port mapping and then nothing works.

@Fail-Unsafe Also can you try deleting the container and let it recreate? It might pick up the latest URL since the environment variable is attached when the container is created.

No, that doesn't work.
Error deleting Driver from service is in use by volumes (1v637,1v638,1v644,1v2380,1v2503,1v2554,1v2651)

Small Update:
After upgrading the docker version from 18.09.2 -> 18.09.4, therefore restarting all containers I now have one out of two NFS containers that has the correct URL. The other container still has the old URL.
A bit strange.

As 1.6 is EOL as of June 30, 2020, we are closing 1.6 issues.


Lzdoom/standalone crashing when changing rendering to OpenGL

There's a problem with LZDOOM where, if you change the rendering mode to OpenGL from software(OpenGL should be faster since it's hardware accelerated), it will crash until you reset the LZDoom option to default.
I just experienced it and it seems some other users were having the same issues.
I'm using a r36s but I don't think it's related to the whole thing.

Because there's no OpenGL available for these devices using the stock kernel.  Only OpenGLES which LZDoom does not support.  Use GZDoom instead since OpenGLES is available there so should give about the same performance as LZDoom.  If you want to use OpenGL with LZDoom, you can try ROCKNIX since that is using a mainline kernel which adds support for OpenGL.  I don't know if they have LZDoom in their build though.


chore(deps): update dependency @tsconfig/node18 to v18

This PR contains the following updates:

Package
Type
Update
Change

@tsconfig/node18
devDependencies
major
^2.0.1 -> ^18.0.0

Release Notes

tsconfig/bases
v18.2.0
Compare Source

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Backend
Frontend
Oracle-API
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

@craigyu @RMCampos That's quite the version jump! Probably just lining up versions with Node 18. Does everything seem okay to you two?


fail to install new foundation-emails project

I do see some old issues back in 2016 regarding to new project setup, but that doesn't solve my problem. anyone experience similar things recently?
How can we reproduce this bug?
On mac, already have
node v10.13.0
npm v6.4.1
gulp [16:14:42] CLI version 3.9.1
bower v1.8.4
git already installed.
mkdir an empty folder, cd into it, and then run
$ foundation new --framework emails
fill-in a random project name, and it starts to run, but end up with

npm ERR! git rev-list -n1 4.0: fatal: ambiguous argument '4.0': unknown revision or path not in the working tree.
npm ERR! git rev-list -n1 4.0: Use '--' to separate paths from revisions, like this:
npm ERR! git rev-list -n1 4.0: 'git  [...] -- [...]'
npm ERR! git rev-list -n1 4.0:

There were some problems during the installation.
✓ New project folder created.
✗ Node modules not installed. Try running npm install manually.
✓ Bower components installed.

if I cd into the project folder and run

npm install

it will error out saying

npm ERR! code 1
npm ERR! Command failed: /usr/bin/git checkout 4.0
npm ERR! error: pathspec '4.0' did not match any file(s) known to git.
npm ERR!

Can someone please help? Really appreciate it!!

Seems like it tries to get Gulp 4.0 but the dependency is out of date. Inside the newly created project's package.json I changed "gulp": "git+https://github.com/gulpjs/gulp.git#4.0" to "gulp": "^4.0.0" after that run npm install and now it seems to work. You might need to do npm uninstall -g gulp and npm install -g gulp-cli in order to get Gulp 4 running

@lxbdr Thank you!! yes this solved the problem!

Solved it for me too

Could someone please update the package.json file please spent almost an hour trying to fix this issue.

There seems to be a pull request ready.
https://github.com/zurb/foundation-emails-template/pull/56

@lxbdr Thanks for the solution. This actually worked.

thanks you guys. Finally I got it working, I did the update to the gulp version plus "npm rebuild node-sass" and it is working. I thought I would never get there.

This is still an issue on foundation cli 2.2.5.
Installed today and ran foundation new --framework emails
This is the line in package.json:
"gulp": "git+https://github.com/gulpjs/gulp.git#4.0",
Should be:
"gulp": "4.0.0",

Hi @jsypolt,
We are aware of it.


Add support for images embedded in the markdown content

This PR includes an idea to solve the gap in image processing. When we use rich content including images those images are not downloaded and not processed by Gatsby during the build. Instead their URLs are untouched and if they are uploaded on the local instance of Strapi (/uploads folder) there is no way to display them on the final static page.
The idea is to:

allow configuration to specify if and which fields should be parsed for images
extract images paths and create remote file node for each of them
put all the newly created nodes as an array to new field (e.g. if the parsed field name is content the images would go to content_images
replace original image's paths with newly created file node's base paths (that will allow us to later for e.g. use gatsby-image)

With that all the files will be copied to Gatsby app.
Proposed configuration could look like this:
{
      resolve: 'gatsby-source-strapi',
      options: {
        apiURL: 'http://localhost:1337',
        contentTypes: ['post', 'post-category'],
        queryLimit: 1000,
        markdownImages: {
          typesToParse: {
            post: ['content']  // here we specify that we only want to parse "content" field on "post" content-type
          }
        }
      }
    }

We're currently using this in our project and it works just fine.
In our case we're replacing all the images from the markdown with gatsby-image, like this (not a real code):
<ReactMarkdown
      source={content}
      renderers={{
        image: ({ src, alt }) => {
          const image = getImage(src); //  this helper function will find an image from Gatsby's GraphQL query that has the same `base` property as found image `src`

          return
        }
      }}
    />

Thought it may be useful.
#114

Thanks it works like you said. With the strapi gatsby tutorial modified chunk codes are :
The getImage is just an array find.
gatsby-config.js
    {
      resolve: "gatsby-source-strapi",
      options: {
        apiURL: process.env.API_URL || "http://localhost:1337",
        contentTypes: [
          // List of the Content Types you want to be able to request from Gatsby.
          "article",
          "category",
        ],
        markdownImages: {
          typesToParse: {
            article: ['content']
          }
        },
        queryLimit: 1000,
      },
    },

src/templates/articles.js
import Img from "gatsby-image"

export const query = graphql`
  query ArticleQuery($id: Int!) {
    strapiArticle(strapiId: { eq: $id }) {
      strapiId
      title
      content
      content_images {
        childImageSharp {
          original {
            src
          }
          fluid {
            ...GatsbyImageSharpFluid
          }
        }
        base
      }
      published_at
      image {
        publicURL
      }
    }
  }
`

            <ReactMarkdown source={article.content}
              renderers={{
                image: ({ src, alt }) => {
                  const image = article.content_images.find(element => element.base === src );
                  console.log(image)
                  return
                }
              }}
            />

Thanks again, that's really nice to have gatsby processing inlined image from the strapi editor.

Awesome

@unagigd just a quick question, do you know by chance why the Babel compilation step has to be done manually when I import your fork in Gatsby?

@unagigd just a quick question, do you know by chance why the Babel compilation step has to be done manually when I import your fork in Gatsby?

AFAIK Gatsby is not running any scripts inside the local plugins folder. So I assume everything needs to be built in advance and available from the plugin root folder. But I'm fairly new to Gatsby so I can be mistaken.

I'm really new to gatsby & strapi, so I dont know if I did this right

I'm very new to gatsby & strapi, so I don't know if I did it right
I installed this version but can't develop as all the graphql queries gives errors like this
error  Cannot query field "allStrapiArticle" on type "Query"
`There was an error in your GraphQL query:
Cannot query field "allStrapiArticle" on type "Query".
If you don't expect "allStrapiArticle" to exist on the type "Query" it is most likely a typo.
However, if you expect "allStrapiArticle" to exist there are a couple of solutions to common problems:

If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
You want to optionally use your field "allStrapiArticle" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add a least one entry with that field ("dummy content")
It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "Query":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions
File: src\pages\index.js:14:11`

and when I change it back to strapi version it works fine.

Thanks for this! I was being asked to provide this functionality and had no idea where to begin as I'm still learning my way around.

Is this idea going to be merged any time soon? I think this plugin desperately needs this implementation.

We're waiting for merged!

Still waiting :'(

Is there any update on when this will get approved/merged? I need this to migrate my content into Strapi. Thanks!

Any updates on this ? Is it merged ?

Thanks it works like you said. With the strapi gatsby tutorial modified chunk codes are :
The getImage is just an array find.
gatsby-config.js
    {
      resolve: "gatsby-source-strapi",
      options: {
        apiURL: process.env.API_URL || "http://localhost:1337",
        contentTypes: [
          // List of the Content Types you want to be able to request from Gatsby.
          "article",
          "category",
        ],
        markdownImages: {
          typesToParse: {
            article: ['content']
          }
        },
        queryLimit: 1000,
      },
    },

src/templates/articles.js
import Img from "gatsby-image"

export const query = graphql`
  query ArticleQuery($id: Int!) {
    strapiArticle(strapiId: { eq: $id }) {
      strapiId
      title
      content
      content_images {
        childImageSharp {
          original {
            src
          }
          fluid {
            ...GatsbyImageSharpFluid
          }
        }
        base
      }
      published_at
      image {
        publicURL
      }
    }
  }
`

            <ReactMarkdown source={article.content}
              renderers={{
                image: ({ src, alt }) => {
                  const image = article.content_images.find(element => element.base === src );
                  console.log(image)
                  return
                }
              }}
            />

Thanks again, that's really nice to have gatsby processing inlined image from the strapi editor. Let's hope it will be merged!

markdownImages: {           typesToParse: {             article: ['content']           }         },
That's all i need to add into existing plugin to make richtext images available to graphql ?
i don't see content_images in graphql
below is my config
{       resolve: "gatsby-source-strapi",       options: {         apiURL: "http://localhost:1337",         contentTypes: [           // List of the Content Types you want to be able to request from strapi.           "products",           "categories",           "childcategories",           "child-pages",           "pages",           "stories",         ],         singleTypes: ["home", "team"],         markdownImages: {           typesToParse: {             "child-pages": ["content"],             pages: ["content"],           },         },         queryLimit: 13000,       },     },

Here, I'm waiting for merge too.
Thank you for your hard work !

while this is a reasonable approach IMHO it would be better to perform downloading of images and rewriting at the time of the node creation (e.g. check how gatsby-source-wordpress-experimental does it).

Another option would be to try to do it similar to here https://github.com/GraphCMS/gatsby-source-graphcms/issues/44#issuecomment-382309512

Hi, how are you creating "content_images"?

Could somebody review that?

There is little left to make the first anniversary...

Looking forward to this, anybody knows if it's planned to be merged soon ?

for people who think will do it yourself. same like @unagigd  did on this PR, and want to add some fields such as alternative text, caption from that image like I did.
Sorry if it's not polite. I just want to share for my experience, first I force this update with patch-package. but finally I realized, I miss understand what @unagigd to get image which direct download to url image, I want to add more some field like an API /upload/files. so decide to direct add this code to my gatsby-node.js I combine this code with mind.
add package
yarn add node-fetch commonmark
gatsby-node.js

const fetch = require('node-fetch')
const commonmark = require('commonmark')
const reader = new commonmark.Parser()
const { createRemoteFileNode } = require(`gatsby-source-filesystem`)

module.exports.onCreateNode = async ({ node, actions, store, cache, createNodeId, touchNode, createContentDigest }) => {
  const { createNodeField, createNode } = actions

  // in this case Blog Content Type
  if (node.internal.type === "StrapiBlog") {

    const parsed = reader.parse(node.content)
    const walker = parsed.walker()
    let event, nd

    while ((event = walker.next())) {
      nd = event.node
      // process image nodes
      if (event.entering && nd.type === 'image') {
        let fileNodeID, fileNodeBase
        const filePathname = nd.destination
        // using filePathname on the cache key for multiple image field
        const mediaDataCacheKey = `strapi-media-content-${filePathname}`
        const cacheMediaData = await cache.get(mediaDataCacheKey)

        // If we have cached media data and it wasn't modified, reuse
        // previously created file node to not try to redownload
        if (cacheMediaData) {
          fileNodeID = cacheMediaData.fileNodeID
          fileNodeBase = cacheMediaData.fileNodeBase
          touchNode({ nodeId: cacheMediaData.fileNodeID })
        }
        const source_url = `${filePathname.startsWith('http') ? '' : process.env.API_URL || 'http://localhost:1339'}${filePathname}`
        if (!fileNodeID) {
          try {
            const fileNode = await createRemoteFileNode({
              url: source_url,
              store,
              cache,
              createNode,
              createNodeId,
            })

            // If we don't have cached data, download the file
            if (fileNode) {
              fileNodeID = fileNode.id
              fileNodeBase = fileNode.base

              await cache.set(mediaDataCacheKey, {
                fileNodeID,
                fileNodeBase,
              })
            }
          } catch (e) {
            console.log(e)
            // Ignore
          }
        }

        if (fileNodeID) {
          // create an array of parsed and downloaded images as a new field
          if (!node[`${'content'}_images___NODE`]) {
            node[`${'content'}_images___NODE`] = []
          }
          node[`${'content'}_images___NODE`].push(fileNodeID)

          node['content'] = node['content'].replace(filePathname, fileNodeBase)
        }

        // get rest image and make fields
        try {
          const params = `?url=${source_url}`
          const restFile = (await (await fetch(`${process.env.API_URL || 'http://localhost:1339'}/upload/files${params}`)).json())[0]
          const restFileId = createNodeId(restFile.id)

          const restFileWithFileNodeId = {
            ...restFile,
            fileNodeId: fileNodeID, // refer to file id
          }

          // create rest fields node
          const create = await createNode({
            ...restFileWithFileNodeId,
            id: restFileId,
            internal: {
              type: 'ContentFiles',
              contentDigest: createContentDigest(restFileWithFileNodeId)
            }
          })
          if (restFileId && create) {
            // create an array of parsed and downloaded images as a new field
            if (!node[`${'content'}_rest_images___NODE`]) {
              node[`${'content'}_rest_images___NODE`] = []
            }
            node[`${'content'}_rest_images___NODE`].push(restFileId) // nodeId

          }
        } catch (error) {
          console.log('getSourceFileMedia', error)
        }
      }
    }

  }
};

use Query
export const query = graphql`
  query BlogBySlug {
    strapiBlog {
      id
      slug
      title
      image {
        ...standardImage
      }
      content
      content_images {
        ...standardImage
        base
        id
      }
      content_rest_images {
        id
        fileNodeId
        alternativeText
        caption
      }
      strapiId
      tags {
        id
        name
        slug
      }
      category {
        name
        slug
      }
    }
  }
`

renderers image
const renderers = {
  image: ({ src }) => {
    const blog = props.blog.strapiBlog
    const image = blog.content_images.find(e => e.base === src );
    const rest = blog.content_res_images.find(e => e.fileNodeId === image.id)
    return (
      <ImageParagraph>
        <FluidImg
          style={{ width: '100%' }}
          imgStyle={{ objectFit: 'contain' }}
          loading="lazy" image={image} alt={rest.caption}
        />

source: {rest.caption}

      </ImageParagraph>
    )
  }
}

but thanks for this PR, I learn about gatsby node works. thanks @unagigd  ⚡

for people who think will do it yourself. same like @unagigd  did on this PR, and want to add some fields such as alternative text, caption from that image like I did.
Sorry if it's not polite. I just want to share for my experience, first I force this update with patch-package. but finally I realized, I miss understand what @unagigd to get image which direct download to url image, I want to add more some field like an API /upload/files. so decide to direct add this code to my gatsby-node.js I combine this code with mind.
add package
yarn add node-fetch commonmark
gatsby-node.js

const fetch = require('node-fetch')
const commonmark = require('commonmark')
const reader = new commonmark.Parser()
const { createRemoteFileNode } = require(`gatsby-source-filesystem`)

module.exports.onCreateNode = async ({ node, actions, store, cache, createNodeId, touchNode, createContentDigest }) => {
  const { createNodeField, createNode } = actions

  // in this case Blog Content Type
  if (node.internal.type === "StrapiBlog") {

    const parsed = reader.parse(node.content)
    const walker = parsed.walker()
    let event, nd

    while ((event = walker.next())) {
      nd = event.node
      // process image nodes
      if (event.entering && nd.type === 'image') {
        let fileNodeID, fileNodeBase
        const filePathname = nd.destination
        // using filePathname on the cache key for multiple image field
        const mediaDataCacheKey = `strapi-media-content-${filePathname}`
        const cacheMediaData = await cache.get(mediaDataCacheKey)

        // If we have cached media data and it wasn't modified, reuse
        // previously created file node to not try to redownload
        if (cacheMediaData) {
          fileNodeID = cacheMediaData.fileNodeID
          fileNodeBase = cacheMediaData.fileNodeBase
          touchNode({ nodeId: cacheMediaData.fileNodeID })
        }
        const source_url = `${filePathname.startsWith('http') ? '' : process.env.API_URL || 'http://localhost:1339'}${filePathname}`
        if (!fileNodeID) {
          try {
            const fileNode = await createRemoteFileNode({
              url: source_url,
              store,
              cache,
              createNode,
              createNodeId,
            })

            // If we don't have cached data, download the file
            if (fileNode) {
              fileNodeID = fileNode.id
              fileNodeBase = fileNode.base

              await cache.set(mediaDataCacheKey, {
                fileNodeID,
                fileNodeBase,
              })
            }
          } catch (e) {
            console.log(e)
            // Ignore
          }
        }

        if (fileNodeID) {
          // create an array of parsed and downloaded images as a new field
          if (!node[`${'content'}_images___NODE`]) {
            node[`${'content'}_images___NODE`] = []
          }
          node[`${'content'}_images___NODE`].push(fileNodeID)

          node['content'] = node['content'].replace(filePathname, fileNodeBase)
        }

        // get rest image and make fields
        try {
          const params = `?url=${source_url}`
          const restFile = (await (await fetch(`${process.env.API_URL || 'http://localhost:1339'}/upload/files${params}`)).json())[0]
          const restFileId = createNodeId(restFile.id)

          const restFileWithFileNodeId = {
            ...restFile,
            fileNodeId: fileNodeID, // refer to file id
          }

          // create rest fields node
          const create = await createNode({
            ...restFileWithFileNodeId,
            id: restFileId,
            internal: {
              type: 'ContentFiles',
              contentDigest: createContentDigest(restFileWithFileNodeId)
            }
          })
          if (restFileId && create) {
            // create an array of parsed and downloaded images as a new field
            if (!node[`${'content'}_rest_images___NODE`]) {
              node[`${'content'}_rest_images___NODE`] = []
            }
            node[`${'content'}_rest_images___NODE`].push(restFileId) // nodeId

          }
        } catch (error) {
          console.log('getSourceFileMedia', error)
        }
      }
    }

  }
};

use Query
export const query = graphql`
  query BlogBySlug {
    strapiBlog {
      id
      slug
      title
      image {
        ...standardImage
      }
      content
      content_images {
        ...standardImage
        base
        id
      }
      content_rest_images {
        id
        fileNodeId
        alternativeText
        caption
      }
      strapiId
      tags {
        id
        name
        slug
      }
      category {
        name
        slug
      }
    }
  }
`

renderers image
const renderers = {
  image: ({ src }) => {
    const blog = props.blog.strapiBlog
    const image = blog.content_images.find(e => e.base === src );
    const rest = blog.content_res_images.find(e => e.fileNodeId === image.id)
    return (
      <ImageParagraph>
        <FluidImg
          style={{ width: '100%' }}
          imgStyle={{ objectFit: 'contain' }}
          loading="lazy" image={image} alt={rest.caption}
        />

source: {rest.caption}

      </ImageParagraph>
    )
  }
}

but thanks for this PR, I learn about gatsby node works. thanks @unagigd  ⚡

1000 years later:
Resolved conflicts and a merge would be nice :man_shrugging: idk

1000 years later:
Resolved conflicts and a merge would be nice :man_shrugging: idk

Hi. I was looking at the state of this PR, but at some point I gave up. I couldn't get any approving review (from people with write or admin permissions), so I couldn't merge it. Since then my project moved from Strapi.
Sorry for the confusion. I thought it would be helpful.

Hi. I was looking at the state of this PR, but at some point I gave up. I couldn't get any approving review (from people with write or admin permissions), so I couldn't merge it. Since then my project moved from Strapi.
Sorry for the confusion. I thought it would be helpful.

@unagigd moved to where?

@unagigd moved to where?

Hi. I was looking at the state of this PR, but at some point I gave up. I couldn't get any approving review (from people with write or admin permissions), so I couldn't merge it. Since then my project moved from Strapi.
Sorry for the confusion. I thought it would be helpful.

That is a shame as this seems like a great feature. Are there any other work arounds that people have found?

Hi. I was looking at the state of this PR, but at some point I gave up. I couldn't get any approving review (from people with write or admin permissions), so I couldn't merge it. Since then my project moved from Strapi.
Sorry for the confusion. I thought it would be helpful.

That is a shame as this seems like a great feature. Are there any other work arounds that people have found?

@alexandrebodin What is currently preventing this being merged in?

@alexandrebodin What is currently preventing this being merged in?

@unagigd that's a genuine pity... I hope your project is booming!
@OddBlueDog The only other workaround I can think of that wouldn't be dev intensive is to retrieve the images from a CDN. At least you could then still get the nice features of lazy loading and traced images.

@unagigd that's a genuine pity... I hope your project is booming!
@OddBlueDog The only other workaround I can think of that wouldn't be dev intensive is to retrieve the images from a CDN. At least you could then still get the nice features of lazy loading and traced images.

I have published this fork to https://www.npmjs.com/package/@oddbluedog/gatsby-source-strapi-support-markdown-images
Remove gatsby-source-strapi from package.json and replace it with:  "@oddbluedog/gatsby-source-strapi-support-markdown-images": "^0.0.14",
Also change your gatsby-config to use resolve: "@oddbluedog/gatsby-source-strapi-support-markdown-images",

@OddBlueDog I've implemented your published fork on my project. I haven't done this before and I wanted to ask if there are any drawbacks or things to keep in mind when using it. Like if gatsby-source-strapi gets updated, will I not be able to update my project? Thanks.

@OddBlueDog I've implemented your published fork on my project. I haven't done this before and I wanted to ask if there are any drawbacks or things to keep in mind when using it. Like if gatsby-source-strapi gets updated, will I not be able to update my project? Thanks.

The forked version will keep working with strapi, unless they make some kind of breaking change to their graphql implementation which I think is unlikely.
If a new version of gatsby-source-strapi comes out then this fork will also carry on working, but there might be new features in the latest version that aren’t in the fork.
Hopefully they add markdown image support to a future version of the offical fork and then we can all switch back! :-) I’ve added one another fix to my fork and a couple of package updates.
I do really like strapi but it seems like this project for gatsby has been forgotten a bit currently.

Solution if you are using react-markdown to convert md to html:
<ReactMarkdown>
  {section.description.replaceAll('/uploads/', 'http://localhost:1339/uploads/')}
</ReactMarkdown>

This might not be good for SEO, but will get the job of showing images done.

This is a very big issue. We need this feature. How do you write blog's article ? Like text1, photo1, text2, photo2, ... ?
No change to get it ?

This is a very big issue. We need this feature. How do you write blog's article ? Like text1, photo1, text2, photo2, ... ? No change to get it ?

I ended up using a repeatable component like:

title
image
description

So, in Strapi, each "section" of my blog post can have a title, image and/or rich text block.
And in the React side, I loop through all the sections, making sure to check if the block has content in the relevant part: title (h3), image (full width or max-width), description (markdown).

Hi there, sorry for jumping in this thread but I have added support for markdown images in this plugin if you're keen on using them like we are. https://github.com/relate-app/gatsby-source-strapi

That repository is not available.

Hi there, sorry for jumping in this thread but I have added support for markdown images in this plugin if you're keen on using them like we are. https://github.com/relate-app/gatsby-source-strapi

That repository is not available.

Gatsby in v4 stops allowing to mutate nodes so the solution from @OddBlueDog became invalid.
I made small changes to his code, but I don't have time to prepare a generic plugin :(
Feel free to modify and release:
const remark = require("remark");
const { selectAll } = require("unist-util-select");

exports.onCreateNode = async ({
  node,
  actions,
  store,
  cache,
  createNodeId,
  createContentDigest,
}) => {
  const { createNode, createNodeField } = actions;

  //TODO: handle different types
  if (node.internal.type === "StrapiEntries") {
    const parsed = remark().parse(node.Description);
    const markdownImages = selectAll(`image`, parsed);

    const images = await Promise.all(
      markdownImages.map((image) => {
        const filePathname = image.url;
        const source_url = `${
          filePathname.startsWith("http")
            ? ""
            : process.env.ADMIN_URL || "http://localhost:1339"
        }${filePathname}`;
        return createRemoteFileNode({
          url: source_url,
          parentNodeId: node.id,
          createNode,
          createNodeId,
          cache,
          store,
        });
      })
    );

    const strapiImages = await Promise.all(
      images.map((image) => {
        const params = `?url=${image.url}`;

        return fetch(
          `${
            process.env.ADMIN_URL || "http://localhost:1339"
          }/upload/files${params}`
        )
          .then((r) => r.json())
          .then((resp) => {
            const strapiImage = resp[0];
            const strapiFileId = createNodeId(strapiImage.id);

            const strapiFileWithFileNodeId = {
              ...strapiImage,
              parent: node.id,
              fileId: image.id,
            };
            createNode({
              ...strapiFileWithFileNodeId,
              id: strapiFileId,
              internal: {
                type: "StrapiImagesFromMarkdown",
                contentDigest: createContentDigest(strapiFileWithFileNodeId),
              },
            });
            return strapiFileId;
          });
      })
    );

    createNodeField({
      node,
      name: "Description_strapi_images",
      value: strapiImages,
    });
    return node;
  }
};

exports.createSchemaCustomization = ({ actions }) => {
  //TODO: use schema type builder https://www.gatsbyjs.com/docs/reference/graphql-data-layer/schema-customization/#gatsby-type-builders
  actions.createTypes(`
    type StrapiEntries implements Node {
      Description_strapi_images: [StrapiImagesFromMarkdown] @link(from: "fields.Description_strapi_images")
    }

    type StrapiImagesFromMarkdown implements Node {
      localFile: File @link(from: "fileId")
    }
  `);
};

@SalahAdDin

Hi there, sorry for jumping in this thread but I have added support for markdown images in this plugin if you're keen on using them like we are. https://github.com/relate-app/gatsby-source-strapi

That repository is not available.

It is now, wasn't aware it was private


Why Knip tries to load my "webpack.config.ts" file?

I'm using<EMAIL_ADDRESS>I'm running: knip -c ./knip.json.
Here is my knip.json file:
{
	"$schema"<EMAIL_ADDRESS>	"entry": "./src/index.ts",
	"project": ["./src/**/*"]
}

and then I get this error:
> knip -c ./knip.json

Analyzing workspace (.)...
Error loading /webpack.config.ts
Reason: await is only valid in async functions and the top level bodies of modules

Ok, for some reason knip fails to read this file as for top-level await statement. Just as a side note, I'm using ESNext with typescript@5, and node@18 so it is valid.
Well, this is not the matter here anyway.
Why Knip tries to read this file?
As far as I understand, I configured Knip to read only the src folder. So why does it care about webpack.config.ts?

The Webpack plugin is enabled and that's what loads your webpack.config.ts. The reason it loads that file is to find dependencies used by your Webpack configuration.
Loading "foreign" JavaScript and TypeScript is a risky thing to do for Knip, and unfortunately you hit a bug here.
Until the bug is fixed, you can turn off the Webpack plugin by adding webpack: false to your configuration.

I see. As a side question, is it possible to ignore specific dependencies? There are some dependencies this tool detects as Unused devDependencies but are in use. Something like depcheck.ignores feature?

Yes, please see https://github.com/webpro/knip#ignore. Feel free to open an issue for this with relevant details so Knip can reduce false positives :)


Inspect likes format in posts

It seems that currently if there is not likes in a post, the database holds an empty list (instead of nothing) which cause the FBPost.likes attribute returned to be a Some(Nil) instead of a None, this should be investigated to be sure that it is always the case. If it is, changing the type of FBPost.likes is a good idea to avoid unnecessary pattern matching.

Any solution would imply more changes than the simple case added to fix the bug, I think leaving it as is is wiser.


Buildandpush ignores ARGs

When you add arguments to a 'build and push' it presents a warning when the build runs, stating that it ignores arguments. Can we have an example of seperate build and push tasks that would allow you to add arguments to the build process please

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

ID: 0d9dbf88-7e55-d427-145e-d36b04fb197f
Version Independent ID: a3f30c00-817c-9c05-7a57-3f2bf618821e
Content: Docker task - Azure Pipelines
Content Source: docs/pipelines/tasks/build/docker.md
Product: devops
Technology: devops-cicd
GitHub Login: @shashankbarsin
Microsoft Alias: shasb

@ChrisGibson1982 -- Chris, you may find an example here:

Azure DevOps on Stack Overflow

Azure DevOps Support Bot

@shashankbarsin -- Shashank, please consider adding such an example to the documentation.

"Other commands and arguments" is there, but would be nice to have the push command as well

new to Azure pipelines and was misled for a long time
just for reference
steps:
  - task: Docker@2
    displayName: Build an image
    inputs:
      containerRegistry: '$(containerRegistry)'
      repository: '$(imageRepository)'
      command: 'build'
      arguments: '--build-arg app=$(app)'
      Dockerfile: '$(Build.SourcesDirectory)/Dockerfile'
  - task: Docker@2
    displayName: Push the image
    inputs:
      containerRegistry: '$(containerRegistry)'
      repository: '$(imageRepository)'
      command: 'push'


--flatten-annotations losing filled in form data

I'm trying to get QPDF to flatten a PDF file with filled in form data using --flatten-annotations, but it seems QPDF is erasing the form data from the resulting PDF.
The commands I've tried have been:
/usr/local/bin/qpdf \
    --flatten-annotations=all \
    --generate-appearances \
    --preserve-unreferenced-resources \
    --decode-level=none \
    --normalize-content=n \
    --preserve-unreferenced \
    'tmp/merged.pdf' 'tmp/merged_out.pdf'

and any combination of those flags.
The input file I used can be found here, the resulting output file here.
QPDF compiled from master on CentOS 7 today:
$ /usr/local/bin/qpdf --version
qpdf version 9.1.rc1

I'll take a closer look. This file has form field annotations but no /AcroForm dictionary. The file is definitely invalid, but it looks like some readers are able to guess that these are form fields and reconstruct the information that is missing from the file.
I'm curious as to where the file "merged.pdf" came from. I can tell that the file was written by qpdf. Was this file created by merging pages from other PDF files using qpdf? If so, you may be running into a known limitation about preservation of certain document-level information by qpdf's split and merge operations. This fact is touched upon in the docs, but as I reread it, it's written in a way that you would have to be pretty familiar with the PDF spec to catch it. Anyway, it looks to me like the file merged.pdf may have been created by starting with a file that had forms and using some sort of --pages option, which ended up pulling the annotations containing the form data but not the overall form structure. You would have to use --flatten-annotations and maybe --generate-apperances on that file first. Is that possibly what's going on?

The file is definitely invalid

For sure. The original wasn't good, but it's been mangled quite a bit (by hand, in vim, without any knowledge of PDF), and sent through several layers of qpdf and pdftk in an attempt to self-repair the files. Honestly surprised it worked as long as it did.
We used to flatten the file with Ghostscript, but a recent (well, CentOS recent) update made it stop filling in the numeric fields on flattening.

I'm curious as to where the file "merged.pdf" came from. I can tell that the file was written by qpdf. Was this file created by merging pages from other PDF files using qpdf?

Yes and no. I ran merged.pdf through qpdf 5.0.1 (CentOS repo version) in my testing to actually fix one of the checkboxes that were messed up in the original pdf. This did make use of --pages but I've confirmed it also happens without running it through qpdf first.
Here's the same test with the un-touched straight-from-the-application PDF file and with the same qpdf command run on it (with some warnings, but those are expected):
$ /usr/local/bin/qpdf --flatten-annotations=all --generate-appearances --preserve-unreferenced-resources --decode-level=none --normalize-content=n --preserve-unreferenced 'input.pdf' 'output.pdf'
WARNING: input.pdf, object 57 0 at offset 106172: ignoring attempt to set a checkbox field to a value of other than /Yes or /Off
WARNING: input.pdf, object 61 0 at offset 106771: ignoring attempt to set a checkbox field to a value of other than /Yes or /Off
qpdf: operation succeeded with warnings; resulting file may have some problems

Of course, this is clearly a broken PDF file and I can't expect applications to be able to deal with it, Ghostscript clearly can't anymore, so really, why should qpdf?
It does work in Chrome or even Edge with print to pdf, but they might be handling things entirely different.

I'll leave this open. It may or may not be worth seeing if I can get qpdf to recover this file, but it might be possible. If the AcroForm dictionary is missing, but all the form annotations are merged with the nodes in the form dictionary, which appears that it might be the case, it would be possible to reconstruct the form dictionary. It's likely that this is what chrome and edge are doing. Even if qpdf doesn't do this automatically, it would be possible to write a program using the qpdf library (or pikepdf in Python) to do this. I may give it a shot for this one file if I have time.

Perhaps this is worth a separate issue, but I am getting the same issue when the PDF is filled in with a small QPDF program, basically doing the same as https://github.com/qpdf/qpdf/blob/master/examples/pdf-set-form-values.cc. Another notable thing is that the form filled like the sample program, will not be printed correctly - all filled in places will be empty.
Ideally, what I'm trying to build is that I have one (or two) page PDF-form. And I want to do a "mail merge", generate a new flatted PDF with the template duplicated and filled for each database row... any suggestions if that's easily doable in pass using the current APIs?

@fabled Are you using generateAppearance from QPDFFormFieldObjectHelper.hh, and have you read the limitations? Simply setting form values is not sufficient for them to show up in print. You have to actually generate appearance streams. I'll update the comment in pdf-set-form-values.cc to mention this.

I tried QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded() and it actually ended up worse as then evince would show all form fields blank.
Trying now the change suggested does not really have difference: the forms are visible in PDF readers, but blank when printing. Doing this change, and trying to flatten the produced output with qpdf --flatten-annotations=all will cause a segmentation fault with the backtrace:
(gdb) where
#0  QPDFObject::getDescription (this=0x0, qpdf=@0x7fffffffddc0: 0x0, description=...)
    at libqpdf/QPDFObject.cc:28
#1  0x00007ffff7ed7a64 in QPDFObjectHandle::warnIfPossible (this=this@entry=0x7fffffffdf10, warning=...,
    throw_if_no_description=throw_if_no_description@entry=false) at include/qpdf/PointerHolder.hh:150
#2  0x00007ffff7ee68a6 in QPDFPageDocumentHelper::flattenAnnotations (this=0x7fffffffe138,
    required_flags=0, forbidden_flags=3) at /usr/include/c++/9.2.0/ext/new_allocator.h:80
#3  0x0000555555575610 in handle_transformations (o=..., pdf=...) at qpdf/qpdf.cc:4698
#4  realmain (argc=<optimized out>, argv=<optimized out>) at qpdf/qpdf.cc:5526
#5  0x00007ffff7f85226 in libc_start_main_stage2 (main=0x55555555f38d <main(int, char**)>, argc=4,
    argv=0x7fffffffe8c8) at src/env/__libc_start_main.c:94
#6  0x000055555555f3a8 in _start () at qpdf/qpdf.cc:5573

Coincidentally, I noticed this weekend that there's a bug in QPDFObjectHandle::warnIfPossible if it's invoked on a direct object. The segfault is definitely a bug that I will fix.
@fabled Without a specific file and exact command you are using so I can reproduce this, I won't be able to offer much more assistance. It is definitely the case that qpdf's appearance generation is rudimentary. It's possible there may be a bug that is making it do even worse than it is capable of doing, but it's also possible that this file is beyond qpdf's current capabilities in this area. Certainly qpdf is not able to generate appearances for form fields whose values contain characters that can't be represented with PDFDocEncoding, and that would include most non-English languages. There may be other limitations as well, particularly for files whose /DA fields are not populated properly.

I am unable to reproduce the segfault, but I have fixed some places in the code where I can imagine there would be a segfault if warnIfPossible were called. I'm going to go ahead and close this now. Thanks again.


Add an empty state to the porfolio if you sell all your properties

You still should be able to see your transactions

(sorry, wrong repo)


Heredoc syntax detection and coloring not working properly

What Versions are you running?
OS Version: Windows 10
VSCode Version: 1.44.2
Puppet Extension Version: 0.25.2
PDK Version: 1.17.0
What You Are Seeing?
All text is highlighted orange after the end of a Puppet heredoc
What is Expected?
heredoc highlighting should end at the end of the heredoc
How Did You Get This To Happen? (Steps to Reproduce)
Create a heredoc
Output Log
Screenshot attached

Raised #61 to address other heredoc formatting tests


Add info: NODE_ENV set by Vue.js CLI

So far I have been very happy with the template, but it took me a long while to figure out why you used 'NODE_ENV' in the Vue.js client. It seemed like a magical variable that didn't get set.
I just figured out that the Vue.js CLI set's this variable to production when you run build.
I figured I could save others the trouble of discovering this by suggesting you document this behaviour somewhere :)
Thanks for the great work on the template!

Hi! Thanks for the note.
Happy to merge a PR if you want to do an edit on the Readme to include this.

Docs from Vue/webpack on NODE_ENV are here:
https://vuejs-templates.github.io/webpack/env.html
https://vuejs.org/v2/guide/deployment.html


Issue with kafka brokers

I have a setup with 4 kafka brokers, and 4 partitions per gobmp topic. All topics are pre-created, replication factor is set to 4. However, in gobmp kafka-server variable it seems I cannot provide all the brokers, but it accepts only one https://github.com/sbezverk/gobmp/blob/master/pkg/kafka/kafka-publisher.go#L206
Which is not a correct practice in kafka, since it needs all broker endpoints to be provided for the process to work correctly.
Can the kafka-server support the typical use case, which is a comma-separated list of brokers?
Note that if I simply supply only one broker, sarama complains underneath
gobmp.go:74] failed to initialize Kafka publisher with error: kafka server: This is not the correct controller for this cluster.

because of course any of the 4 brokers may be the leader at any time (so if I set only one broker, there is no guarantee that this will apply for every topic, since it is the protocol's job to define the leader dynamically).
Could you help me with a refactoring of the validation process for kafka endpoints please?

Hello, thank you for reporting this issue. You are correct, current implementation does not take into a consideration a multi broker kafka infra. Unfortunately at this moment I do not have kafka multi broker setup to test and fix. We can start with you describing a logic how such case should be handled from the code perspective.

Sure I will build a draft PR that is a superset of the current implementation so that we can test both the single- and multi-broker setup.


Listener failed to call close on message payload. okhttp-ws:3.0.1

This may be occurred when receive an message.
Two WebSocket is connected to server and they received same message.
Stacktrace is below.

java.lang.IllegalStateException: Listener failed to call close on message payload.
at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:244)
at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:108)
at okhttp3.internal.ws.RealWebSocket.readMessage(RealWebSocket.java:97)
at okhttp3.ws.WebSocketCall.createWebSocket(WebSocketCall.java:152)
at okhttp3.ws.WebSocketCall.access$000(WebSocketCall.java:41)
at okhttp3.ws.WebSocketCall$1.onResponse(WebSocketCall.java:97)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)

I see the same error on okhttp 2.7.4.

Change your code to call close in onMessage() ?

I've added
responseBody.close();
on onMessage(ResponseBody responseBody)
to the old websocket.
and the failure is not occurred anymore.

@whylee259 could you please elaborate more on what you did ? Im using react-native which uses okhttp for networking in android, and this exception happens quite alot when a socket is being closed and another one is being opened (if the server closes the connection for example) and a msg arrives at that time. Any hint on what to do on the java side might be of great help.


Edde: Add invalidate annotation to endpoints

This annotation will be used to generate invalidation query, so for example default forms could invalidate lists by default.

Also invaldiate individual objects (so not just lists, but for example patched entities).

Obsolete now.


[iOS] - How to show loading (indicator) when live steam be interrupted (using hls)

Problem
I'm building hls player(m3u8) for livestreaming. And want to show loading (indicator) when livesteam be interrupted. I tried setState({loading: true}) in onBuffer(), but not working.
Environment info
react-native: 0.59.9
react-native-video: 4.4.4

use exoplayer and onBuffer={({isBuffering}) => setLoading(isBuffering)}

use exoplayer and onBuffer={({isBuffering}) => setLoading(isBuffering)}

Thanks sayem314
I'm using setState({loading: isBuffering}), but ios player not working when livesteam be interrupted.

I'm not sure about iOS, but maybe use react-native-video 5.x branch an see if that works!


[TFLITE] Modelmaker and code generator for boundingRect/Cuboid + keypoints

System information

TensorFlow version (you are using):
Tensorflow-nightly
Are you willing to contribute it (Yes/No):
No

Describe the feature and the current behavior/state.
In Tensorflow Hub at https://github.com/tensorflow/hub/issues/424 I've proposed to introduce one of the many single stage anchor-free models that adapt quite easily to keypoints tasks (face detection+ladmarks, people detection + pose, 3d cuboid + object keypoints etc.).
It could be very useful if the new ModelMaker and the code generator could support generic object occupancy (2d/3d) + arbitrary target keypoints.
Will this change the current api? How?
Yes.
Who will benefit with this feature?
Many end2end task like face detection with landmakrs, people detection + pose, 3d object detection + specific object keypoints, hand detection + hand landmarks etc..)
Any Other info.

Hi @bhack, is this feature request still valid? i.e. Is there a ModelMaker model now that serves what you need?

I don't know honestly after 3 years probably nobody cares anymore about this


plot scalability

Codecov Report

Merging #259 (707eca4) into main (a469ed0) will decrease coverage by 0.05%.
The diff coverage is 85.00%.

@@            Coverage Diff             @@
##             main     #259      +/-   ##
==========================================
- Coverage   94.68%   94.63%   -0.06%
==========================================
  Files          21       21
  Lines        2483     2497      +14
==========================================
+ Hits         2351     2363      +12
- Misses        132      134       +2

Impacted Files
Coverage Δ

R/get_vaa.R
80.00% <ø> (ø)

R/plot_nhdplus.R
95.49% <76.92%> (-0.52%)
:arrow_down:

R/subset_nhdplus.R
88.31% <100.00%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

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


SAHI from_layer() tests are failing

When I increase yolov5 version from 6.1.5 to 6.1.8, SAHI from_layer() tests are failing.
Here is the failing test: https://github.com/obss/sahi/blob/072ea62bc14646738ec95437e038f88690a0aa4c/tests/test_layer.py#L15
Check CI logs for more detail: https://github.com/obss/sahi/actions/runs/2952179885

most probably fixed with: https://github.com/obss/sahi/pull/577


Values larger than the maximum are visualized incorrectly

Values that are larger than the maximum  specified for the heatmap are not colorized correctly. This happens because a ctx.globalAlpha greater than 1 is ignored, so the color of the previously drawn circle is used again. Values that are larger than the maximum value should be drawn in the same colour as the maximum value.
This picture demonstrates the current behaviour:

This picture demonstrates the expected behaviour (at least what I would expect):

steps to reproduce this issue:

set heatmap max value to 2 instead of 18: var heat = simpleheat('canvas').data(data).max(2) (demo/index.html, 42)
disable adding data on mouseover by commenting out demo/index.html ll.54-56
replace demo/data.js with the following:

var data = [[20, 20, 2], [120, 120, 3], [220, 220, 1], [320, 320, 3]];

open demo/index.html in your browser

I also opened a pull request with a fix for this issue.

Pull request for this issue: #27

Fixed in #27


Sbt seems not installed

Thanks for this work, seems very useful for working on spark. However, I do find some problems while using it. First, the sbt seems not installed.
root@spark:~# scala -version
cat: /docker-java-home/release: No such file or directory
Scala code runner version 2.12.1 -- Copyright 2002-2016, LAMP/EPFL and Lightbend, Inc.
root@spark:/docker-java-home# sbt
bash: sbt: command not found

Secondly, where is the start-master.sh ?

@shwsun, sbt has been added to the PATH env variable. So, I am not sure what might be the issue in your case.
Also, I just tried running the image. It works fine for me. Please find below the complete trace log.
$ docker run -it -p 4040:4040 -p 8080:8080 -p 8081:8081 -h spark --name=spark p7hb/docker-spark
root@spark:~# scala -version
Scala code runner version 2.12.2 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.
root@spark:~# sbt
Getting org.scala-sbt sbt 0.13.15  (this may take some time)...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.15/jars/sbt.jar ...
        [SUCCESSFUL ] org.scala-sbt#sbt;0.13.15!sbt.jar (2206ms)
downloading https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.6/scala-library-.10.6.jar ...
........................
........................
Updated file /root/project/build.properties setting sbt.version to: 0.13.15
[info] Loading project definition from /root/project
[info] Updating {file:/root/project/}root-build...
[info] Resolving org.scala-sbt.ivy#ivy;2.3.0-sbt-48dd0744422128446aee9ac31aa356e
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to root (in build file:/root/)
>

same thing happening here. i am using the 2.1.0 image and running sbt commands give command not found

@DevipriyaSarkar, I think I got the issue. Looks like SBT package name was different in SBT v0.13.13.
As a workaround:

Please use latest docker Spark image v2.1.1. I just ran the latest image, I dint face any issues with SBT
In case #1 is not possible, please run the following command after you boot into the Docker image.
mv /usr/local/sbt-launcher-packaging-0.13.13 /usr/local/sbt

Please let me know if this solves your issue.
@shwsun, I am sorry, I was not able to get to the root of the issue earlier. I think now I could see your issue also might get solved if you consider one of the above approaches.

Will it be possible for you to update the 2.1.0 image to run sbt ? I really need that particular version because of compatibility issues in my use case. It will be a huge favour. Thanks in advance.

I updated the image. And later ran the image from Docker Hub; SBT is configured properly now. Please could you check it. Thanks!
docker run -it -p 4040:4040 -p 8080:8080 -p 8081:8081 -h spark --name=spark p7hb/docker-spark:2.1.0

Hi I have this exact issue with 2.0.2 image. Sbt seems to be not installed or not in the PATH

Had a look at Dockerfile of 2.0.2. Even this image downloads SBT 0.13.13. It might be exact same issue. Please check if the workaround mentioned above helps you.

Let me know if your issues were fixed with the updated image / workaround.
In that case, can we close this issue?


Web applications cannot be published to Azure from Publish Wizard

Recently I noticed that when we create a VS 2017 .NET Core Web application project for F#
publishing to azure won't work.
The reasons is publish adds the following to the project file  :
  <UserSecretsId>3b2b079e-6201-411f-aa7d-....</UserSecretsId>
Which in turn causes the compiler give :
Program.fs(23,9): error FS0433: A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence.
Repro steps

Create an Empty .NET Core Web project with F#
Right click to Project and Publish it to Azure

It will take long time. Cancel it and try to build the projects
This issue didn't exist in June (I always keep VS up to date). But now happens with 15.8.8.

Adding   <GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute> works around the issue.

Linking duplicate #5549
This will be fixed in ASP.NET 2.2: https://github.com/aspnet/Configuration/pull/872


Ability to display ASSET_REFed previous version instance list

Hub should be able to provide a list of instances for a given previous process version from ASSET_REF like it used to from the Archive directory.

By default, it will only include process versions that were archived into ASSET_REF in the last 2 years.   If an application wants to be able to see ALL versions of a process from ASSET_REF table, they would have to specify the mdw property "mdw.assetref.offset=0" which will make MDW to always get ALL rows from ASSET_REF table.


Add support for index limit on MySql Adapter

Trying to solve issue 518, this is my first attempt at contribution, and I'm still not familiar with the codebase, so any correction and or tips to improve it are welcome

I found minor things, but I'll fix them. Thanks for your first PR!


Add a generic BatchPrediction sample

Once merged: submit docs CL and remove the following files:

LanguageBatchPredict
VisionBatchPredict


Redis patch schedule supports "Everyday" and "Weekend" as valid DayOfWeek

Hi @SiddharthChatrolaMs, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (sichatro). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@SiddharthChatrolaMs please update assemblyinfo.cs file as well with the new version.

Fixed all code review comments


bug: Invert templateFilter predicate to align with Array.filter

Changes

bug: Invert templateFilter predicate to align with Array.filter

@acierto, I think this makes for a better API design. Thoughts?
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Hey guys. Thank you for letting me know about this change.
For me it was more close the revert of it.
But the change makes also sense


Container GATs, improve traits

Cleanup the Container::Item type, move it to PushPartitioned and make it a GAT. Similarly, split the Map trait in two (Map, MapInPlace) and support GATs in the Map trait.
This has the benefit that Timely becomes less opinionated about the interface provided by containers, for example by allowing non-owned data when calling stream.map.

I reworked the PR to only contain a minimum of changes. This compiles with differential once applying the following patch:
diff --git a/src/collection.rs b/src/collection.rs
index f2daf8ad..20cab0d2 100644
--- a/src/collection.rs
+++ b/src/collection.rs
@@ -416,10 +416,10 @@ impl<G: Scope, D: Data, R: Semigroup> Collection<G, D, R> where G::Timestamp: Da
     ///          .inspect_batch(|t,xs| println!("errors @ {:?}: {:?}", t, xs));
     /// });
     /// ```
-    pub fn inspect_batch<F>(&self, func: F) -> Collection<G, D, R>
+    pub fn inspect_batch<F>(&self, mut func: F) -> Collection<G, D, R>
     where F: FnMut(&G::Timestamp, &[(D, G::Timestamp, R)])+'static {
         self.inner
-            .inspect_batch(func)
+            .inspect_batch(move |time, batch| func(time, &batch[..]))
             .as_collection()
     }
     /// Attaches a timely dataflow probe to the output of a Collection.
(


Android - net::ERR_CONNECTION_REFUSED

I have the server URL defined as: METEOR_URL = 'ws://localhost:3000/websocket';
It works in iOS, however in Android I am not able to connect to the Meteor server.
Is anybody having the same issue?

Solved in https://github.com/inProgress-team/react-native-meteor/issues/80


Non breaking spaces

I had a non breaking space (0xA0) in my apib file after a # in a heading, and it was very hard to find out that it was causing me problems, because obviously they look the same as normal (0x20) spaces. Does it make sense to look for these?

@jonatron I think it does. Would you be so kind and attach the file here?

Here's an example file demonstrating the issue I had. (Note copying and pasting doesn't preserve the nbsp, download it).
https://raw.githubusercontent.com/jonatron/apiary_nbsp/master/test_apiary.apib
Which gives these warnings:
>> Line 14: unexpected header block, expected a group, resource or an action definition, e.g. '# Group <name>', '# <resource name> [<URI>]' or '# <HTTP method> <URI>' (warning code 5)
>> Line 16: action with method 'GET' already defined for resource '/api/channels/' (warning code 2)

If this is unlikely to be picked up by the current snowcrash devs, I might be able to have a go at playing with the snowcrash code at some point.

@kylef This is something we need to improve. I think this is the same issue @netmilk was showing us the other day.

Migrated to apiaryio/drafter#632


Installation not working with Linux

I try to install tagreader using poetry add. I am on a Equinor RHEL8 TGX node. The error messages ends with:
Note: This error originates from the build backend, and is likely not a problem with poetry but with krb5 (0.5.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "krb5 (==0.5.1)"'.
Running the following: pip wheel --no-cache-dir --use-pep517 "krb5 (==0.5.1)"' then leads to to errors taht ends with:
 gcc -pthread -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Isrc/krb5 -I/private/kjeel/.cache/pypoetry/virtualenvs/python-quadbir-NGC_c9Ow-py3.11/include -I/usr/include/python3.11 -c src/krb5/_ccache.c -o build/temp.linux-x86_64-cpython-311/src/krb5/_ccache.o
  src/krb5/_ccache.c:39:10: fatal error: Python.h: No such file or directory
   #include "Python.h"
            ^~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/gcc' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for krb5
Failed to build krb5
ERROR: Failed to build one or more wheels

You probably need to install libkrb5-dev to be able to build the wheel. Not sure how that is done as regular user on TGX nodes. If you were on a Debian/Ubuntu system, it would be sudo apt-get install libkrb5-dev.

Hmm, don't think that will be possible as a regular user. I can ask the admins, but the answer will probably be no.


Fix benchcomp path to Kani binary

This commit fixes an error in setting the $PATH variable in the benchcomp perf regression config file. The script was working by accident because kani-perf.sh uses its own logic to find the Kani directory.
Testing:

How is this change tested? I tried running it with an intentionally-missing kani in one of the variants to ensure that it worked. (Previously the correct Kani was being used anyway, but this test ensures that the new behavior is correct)

Is this a refactor change?

Checklist

[x] Each commit message has a non-empty body, explaining why the change was made
[ ] Methods or procedures are documented
[ ] Regression or unit tests are included, or existing tests cover the modified code
[ x My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

done, thanks.


Add linters configurations

@LasaleFamine Do you think that we can add eslint and stylelint configuration files?

Currently we have xo as JS linter, I started the project with it.
I think is pretty good for Javascript files (maybe we can think also to prettier, but will be a next step), but of course we can add stylelint(?).

I will add stylelint. Xo have a configuration file?
Il dom 5 mar 2017, 11:22 Alessio Occhipinti<EMAIL_ADDRESS>ha
scritto:

Currently we have xo https://github.com/sindresorhus/xo as JS linter, I
started the project with it.
I think is pretty good for Javascript files (maybe we can think also to
prettier https://github.com/prettier/prettier, but will be a next
step), but of course we can add stylelint(?) https://stylelint.io/.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/PolymerX/polymer-skeleton/issues/8#issuecomment-284218604,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ-G1VRYpA-Uq0pl_nCCumWZCMvt_17Uks5riozdgaJpZM4MTXcO
.

#5

Anyway xo config is inside the package.json, if you need it in the future 😄


Question: word candidates

Hi!
Is it possible to get word candidates for each word when word_timestamps=True ?
If not, can you add this feature, please?

it's more complicated than u think
the words aren't independently output, the probability of (n+1)-th word (more correctly token) depends on n-th word (token)
normally if not in research context u dont need candidate words (tokens)

I think the related code to word candidates is at
https://github.com/guillaumekln/faster-whisper/blob/e786e26f75f49b7d638412f3bf2b2b75a9c3c9e8/faster_whisper/transcribe.py#L590-L616
But then you'd need to do some custom stuff like @phineas-pta mentioned I guess.
But we always pick the first one. I was wondering if setting best_of > 1 has any effect at all. Maybe @guillaumekln can suggest what are the implications of setting best_of > 1 is here.

The default value for best_of is 5 which means that 5 sequences will be sampled and the sequence with the highest probability will be selected. These are sequence-level candidates, not word-level.
What OP is asking is generally not possible. It could be possible to get multiple candidates for a single position, but not for all positions. So let me close this issue.


fix custom-folds:fold-here

Hah, good catch. Thanks. I'll test this out and likely merge tonight.
Thanks!

Nm, I see. This actually fixes a bug with calling the FoldHere function directly (like from the editor menu) since Atom apparently sends in an argument. Thanks!


test svg loading strategy for perf

i managed to get this working, but the js saved is really not that much (about 0.7kb) and i lose the currentcolor filling. so deciding not to move forward with it for now.


Segfault when checking Is.is annotated

package Bug where

def Bool: Type = #Bool

def true: Bool = #Bool.true
def false: Bool = #Bool.false

def Equal (A: Type) (a: A) (b: A) : Type =
  @self ∀
  (0 P    : ∀ (b: A) (Equal A a b) -> Type)
  (& refl : P a (data λ P refl => refl))
  -> P b self

def refl (0 A: Type) (a : A) : Equal A a a = data λ P refl => refl

def Is (a: Bool): Type = Equal Bool true a
def is: Is true       = refl Bool true

def bad: Is true = (is :: Is true)

λ yatima check Bug.ya
Checking package Bug at bafy2bzacec6tnqo6n2naej2lrvwjbff5umsmjj4hfbaoddn7kcor4zhrrvoqq
Checking definitions:
✓ Bool: Type
✓ true: Bool
✓ false: Bool
✓ Equal: ∀ (A: Type) (a: A) (b: A) -> Type
✓ refl: ∀ (0 A: Type) (a: A) -> Equal A a a
✓ Is: ∀ (a: Bool) -> Type
✓ is: Is true
fish: Job 1, 'yatima check Bug.ya' terminated by signal SIGSEGV (Address boundary error)

Valgrind output here: https://gist.github.com/johnchandlerburnham/d3933bedfbed61a47b70a466529c60c6

Issue solved on gb/ann-fix. Just made a PR.


Adding a relative path to the source line to address #13

Attempts to address issue #13 by adding in a relative path.  Would require some testing to make sure it works for other people.

Thanks for the PR @mmroden .
I will set this up on the demo and test it out locally.
As suggested am working on setting up some sort of a test environment where fixes and PRs can be deployed.


Fix icons of data objects

Should fix issue #77.

For testing purposes the following URL should be set as environment variable: DATA_CONFIG=https://raw.githubusercontent.com/PlanQK/workflow-modeler/fix/data-object-icons/components/bpmn-q/modeler-component/extensions/quantme/configurations/quantmeDataObjects.json


Support downloading dependencies via HTTPS like legacy

Furyctl Next does not currently support downloading dependencies via HTTPS instead of SSH, this is a feature that was added to Furyctl legacy because SSH traffic is blocked in some environments, breaking the modules' download.
Add the capability to download using HTTPS and a flag to enable it to furyctl next.

Closing as completed


Add "quit" in actions

I was giving karma to updates and turned out there were lots of them. At some point I wanted to stop and then continue later, but I wasn't sure if hitting ctrl C would throw away all the karma I'd already given, or if they  were submitted and I could now continue later. So maybe a "quit" action would be a good way of indicating to a user that they can stop whenever and then continue afterwords?
fedora-update-feedback-1.0.4-1.fc35.x86_64

Hitting Ctrl-C would do the right thing, as comments are submitted immediately after confirming their text/karma.
But adding a "[q]uit" action sounds like a good idea regardless. I'm already working on some improvements to f-u-f (for example, making it faster by caching bodhi login cookies instead of logging in every time), and I'll include that with the next version :)

I've implemented an "abort" action with this commit: https://github.com/ironthree/fedora-update-feedback/commit/89d17ddf6307e34ebd76eb3ec39f525b35ea45ff
I named it "abort" because "quit" would not be what it does in all cases (the checks for unpushed and obsoleted updates run after asking for feedback for installed updates that are in "testing" state.
It looks like this now:
Action ([S]kip / [i]gnore / [c]omment / [a]bort): a
Aborting.

(end of program, assuming obsoleted and unpushed checks are disabled)

What do you think?

Yeh, that works very well. :rocket:

Released with version 1.1.0, will end up in Fedora repositories soon.


Option to hide verified & playable icons

For https://github.com/rasitayaz/steam-deck-themes/issues/5
I removed shared background for deck icon and verification icon, so there won't be a black dot left when the verification is hidden. Then I draw the same background under the verification icon, so those are shown still have a background. Doing this would make the background of deck icon and verification icon separated, which doesn't look good, so I make it only work with hide deck icon.

I'll take a look at it when I get the chance


Fix Frontend Build

build does not work any more with latest node version 16.15.1 with npm 8.11 as it breaks the whole dependency tree. The attached changes fix the build, but introduce loads of unneeded dependencies. The proper fix is properly the upgrade to vue3 as we have many very old dependencies lying around.

I think this can be closed now because of #771

I think this can be closed now because of #771


Remove ordering by publicReleaseDate

Quick fix up.

It does not have any affect. I am closing it


add recommender network

This PR contains a notebook to train a hybrid recommender network and an updated readme

Closing in favor of #4


Add support of remote task on remote Pipeline

We now support remote tasks on remote Pipeline, allowing to share a remote Pipeline across multiple repositories.
User can override tasks from the remote pipeline by adding a task with the same name.
Demo here:  https://youtu.be/PetZInZTbM8?si=4P6VoYnl_dSbMAjG

Changes

Submitter Checklist

[ ] 📝 A good commit message is important for other reviewers to understand the context of your change. Please refer to How to Write a Git Commit Message for more details how to write beautiful commit messages. We rather have the commit message in the PR body and the commit message instead of an external website.
[ ] ♽ Run make test before submitting a PR (ie: with pre-commit, no need to waste CPU cycle on CI. (or even better install pre-commit and do pre-commit install in the root of this repo).
[ ] ✨ We heavily rely on linters to get our code clean and consistent, please ensure that you have run make lint before submitting a PR. The markdownlint error can get usually fixed by running make fix-markdownlint (make sure it's installed first)
[ ] 📖 If you are adding a user facing feature or make a change of the behavior, please verify that you have documented it
[ ] 🧪 100% coverage is not a target but most of the time we would rather have a unit test if you make a code change.
[ ] 🎁 If that's something that is possible to do please ensure to check if we can add a e2e test.
[ ] 🔎 If there is a flakiness in the CI tests then don't necessary ignore it, better get the flakyness fixed before merging or if that's not possible there is a good reason to bypass it. (token rate limitation may be a good reason to skip).

/test go-testing

lgtm

Can we have E2E for this feature ?

@savitaashture not now for the e2e this is well tested in the unittest already..

@savitaashture not now for the e2e this is well tested in the unittest already..

Ah i see
So are you planning to add in another PR ?


feat: add aws/aws-cli

aws/aws-cli: The AWS Command Line Interface (AWS CLI) is a unified tool that provides a consistent interface for interacting with all parts of Amazon Web Services
$ aqua g -i aws/aws-cli

Thank you for your contribution.

I'm checking if aws CLI works well and if aqua can support AWS CLI on other than Linux.
https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

awscli-exe-linux-aarch64-2.7.15.zip/aws/install

#!/bin/sh
# Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
#     http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.

usage() {
  cat 1>&2 <<EOF
Installs the AWS CLI v2

USAGE:
    install [FLAGS] [OPTIONS]

FLAGS:
    -u, --update              Updates the AWS CLI v2 if a different version
                              is previously installed. By default, this script
                              will not update the AWS CLI if a previous
                              installation is detected.

    -h, --help                Prints help information

OPTIONS:
    -i, --install-dir <path>  The directory to install the AWS CLI v2. By
                              default, this directory is: /usr/local/aws-cli

    -b, --bin-dir <path>      The directory to store symlinks to executables
                              for the AWS CLI v2.  Please rerun install script with --update flag."
  fi
  if [ -d "$INSTALL_DIR" ]
  then
    echo "Found same AWS CLI version: $INSTALL_DIR. Skipping install."
    exit 0
  fi
}

setup_install_dist() {
  cp -r "$INSTALLER_DIST_DIR" "$INSTALL_DIST_DIR"
}

setup_install_bin() {
  mkdir -p "$INSTALL_BIN_DIR"
  ln -s "../dist/$EXE_NAME" "$INSTALL_AWS_EXE"
  ln -s "../dist/$COMPLETER_EXE_NAME" "$INSTALL_AWS_COMPLETER_EXE"
}

create_current_symlink() {
  ln -snf "$INSTALL_DIR" "$CURRENT_INSTALL_DIR"
}

create_bin_symlinks() {
  mkdir -p "$BIN_DIR"
  ln -sf "$CURRENT_AWS_EXE" "$BIN_AWS_EXE"
  ln -sf "$CURRENT_AWS_COMPLETER_EXE" "$BIN_AWS_COMPLETER_EXE"
}

die() {
	err_msg="$1"
	echo "$err_msg" >&2
	exit 1
}

main() {
  parse_commandline "$@"
  set_global_vars
  check_preexisting_install
  create_install_dir
  create_bin_symlinks
  echo "You can now run: $BIN_AWS_EXE --version"
  exit 0
}

main "$@" || exit 1

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-version.html
Hmm...
It seems to be difficult to support macOS and Linux.

📝 aws_completer
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-completion.html

https://github.com/aquaproj/aqua-registry/pull/4809

Released. https://github.com/aquaproj/aqua-registry/releases/tag/v3.13.0


Am I blind? I purchased Lama Cleaner 1-Click Windows Installer for $5 and I cannot find the download link

It's not on the checkout page, it's not emailed to me. How did I miss this? Can someone please help. Thank you.

Never mind I got the download link via email.

Glad it arrived!