[Request] Use timeout linux command and init=True in the docker SDK to make the command timeout for long-lived processes

In reference to: src/exec/__init__.py
Currently running an infinite loop will halt the bot.
The timeout command should be able to kill the script if it runs to long. This won't work if the processes ID is 1.
To ensure this works, apparently you need to change lines 15-20 to include init=True. I haven't tested this, so I'm not 100% sure.
It's worth a shot and could fix a huge bug.

btw, would have just sent this in discord, but I'm at school right now, so the only way I can get you the information is in a github issue.

okay, I can now confirm that this does work.

Thanks! I will try to do this once I have time. 💯

any luck with this?

I coudnt work on this because I'm currently very busy and this is a low priority bug


Make accessibility shortcuts optional

I would love to update to the 2x version, however the addition of accessibility shortcuts effectively prevents me from doing this.
The problem is that they will consume any existing shortcuts in my application that happens to be using the alt modifier as well.
I guess the easiest solution by far is to have a flag that specifies whether the accessibility shortcuts are registered or not.
The next solution I can think of will allow my application to process key events after they have been handled by this component. E.g. to allow a relatively common shortcut such as alt+arrow key to coexist with this menu (I would personally prefer this solution).
I could open a PR for but would like to hear your opinion first.
Thanks!

@bjorn-nesby please do 👍 haven't had too much time to work on this recently.


Issue in image subtraction

Hello, I am trying the following code given in your documentation for image subtraction on my data.
`%%time
result = subtract(
ref=ref_path,
new=new_path,
smooth_psf=False,
fitted_psf=True,
align=False,
iterative=False,
beta=False,
shift=False
)`
However, I am getting the following error

'str' object has no attribute 'data'

Could you please help me with this?

Hi - I've ran into this bug too - is your image saturated or close to 2^16 - might be causing this issue - perhaps we can add a sat_lvl to subtract?

Hi! Which version of the code are you using? Is this installed from pip or cloned the repo?
I think I need to release a new version to PyPI with some fixes.


Add support for no parent directory inference (#832)

Add feature as described in #832.
RELNOTES: Automatic creation of parent directory specifications for paths with depth are prevented in pkg_tar archives.

This is a start, intended to solicit early feedback. Existing tests have been merely adapted. New tests have not been added.

I agree and would have done what you suggested to start with had it been taken into account that the change subject was a Class. And no, I don't see an obvious use case for having fine-grained control of the subject behavior within a target.
Let me know if you think the tests suffice. Otherwise I don't intend to add more to them.

I think this will do for tests. Thanks for the fix.

My pleasure!


[Qualcomm feedback] Chapter 4: Clarify page type reference

Reference: link

Each TVMs address space can be comprised of confidential and non-confidential regions. The
former includes both measured pages (that are part of the initial TVM payload), and confidential
zero-pages that can be mapped-in on demand by the VMM following runtime accesses by the TVM.
The non-confidential TVM-defined regions include those for shared-pages and MMIO.

not clear what these pages refer to. are those the confidential pages used by TVM and then no longer needed hence zeroed out? If they are no longer needed they should have been reclaimed before being used in the non-confidential domain (as per previous paragraph)

These zero'ed confidential pages are pages that are demand-paged in and are expected to be zero'ed by the TSM to prevent attacks from the host software on the TVM. The TSM also enforces that the host does not overlap them with existing (present) G-stage mappings for the TVM. I can add this clarification.

address in PR #71
cc @ozkoyuncu


scriptTxValid

Closes #55

Have you run it at all? Could you write two simple test cases, for success or failure?

This now has a positive and negative test. hps can run scripts!

Closed in favor of #62


DELIA-50291: use secapi for Thunder Token

Reason for change: Encode and decode securely using the HW secapi.
Test Procedure: Generate Thunder Token.
Risks: Medium
Signed-off-by: Nikita Poltorapavlo<EMAIL_ADDRESS>

Please review the updated changeset. Comments have been addressed.


Update version and add new docs for v0.15.3

I applied the same changes mentioned here: https://github.com/heptio/sonobuoy/pull/846/files#issuecomment-522128532.
I might take a quick look at that later this afternoon.


Unable to connect to web server 'SignalRWebpack.

When I run it with out debug I get the following message...
Unable to connect to web server 'SignalRWebpack.  The web server is no longer running

dotnet --info output or About VS info
<replace>

Hello @freeborn5 ... Please re-open this issue using the This page feedback button and form at the bottom of the English-US topic. Use of the This page feedback form adds metadata to your GitHub issue that cross-links the topic and automatically pings the author.


Broaden the CoC policy scope? Or be more explicit in CoC about community as a whole

Starter stub... see https://listserv.nd.edu/cgi-bin/wa?A2=code4lib;970bebea.1407 and subsequent thread for initial question and discussion.

Superceded by other issue, see Becky's reference. The CoC is now broader in scope than the conference. This conversation predates the creation of the Community Support Squad and many of our CoC procedures.


ZeroDivisionError on exiting the header of a sortable column

Description of the Bug
On executing the code from https://kivymd.readthedocs.io/en/1.1.1/components/datatables/ I get the following error:
Exception ignored in: 'kivy.graphics.vertex_instructions.Line.prebuild_rounded_rectangle'
 Traceback (most recent call last):
   File "C:\Users\michael\miniconda3\envs\hamster\lib\site-packages\kivy\core\window\__init__.py", line 1627, in on_draw     self.render_context.draw()
 ZeroDivisionError: float division by zero
 ZeroDivisionError: float division by zero

The error seems to occur only when the header of a sortable column is exited (Signal Name, Schedule, Team Lead on the example from the docs). Also, the error does not crash the application.
Code and Logs
https://kivymd.readthedocs.io/en/1.1.1/components/datatables/#api-kivymd-uix-datatables-datatables
Versions

OS: Windows 10
Python: 3.9.15
Kivy: 2.1.0
KivyMD: 1.1.1

I found that this error can be prevented by changing the following line in kivymd/uix/tooltip/tooltip.py:
anim = Animation(_scale_x=0, _scale_y=0, d=0.1) + Animation(opacity=0, d=0.2)
Becomes:
anim = Animation(_scale_x=1, _scale_y=1, d=0.1) + Animation(opacity=0, d=0.2)
The difference is setting _scale_x and  _scale_y to 1 instead of 0. Visually I don't see a difference, so I'm not clear on what setting zero scale values does. My guess is that calculating a radius for a zero dimension is what leads to the error...?

Not sure when people think this will be sorted but is anyone aware of a work around for now?
Thanks


Rework INFO lazy evaluation to use lambdas.

Instead of capturing everything by pointer, we capture the given
expression into a lazily evaluated lambda which we store as a reference.
This allows passing any expression to INFO including rvalues.
Fixes #269.
There's probably more code that can be removed but I wanted to get the initial version out there.

I can't reproduce the Appveyor failure locally and the Appveyor debug logs aren't exactly helpful.
(Btw, you might want to apply for the Github actions beta (https://github.com/features/actions). If it turns out to be any good I'll likely move reproc's CI entirely to that and might do the same for doctest if it supports all necessary features).

I just noticed in the appveyor log that it is instantiating ContextScope with int o_O
https://ci.appveyor.com/project/onqtam/doctest/builds/26618380/job/edi528mpqshj2fj6#L132
I could test it locally at home with MSVC.
I signed up for Actions, thanks.

Seems like MSVC just didn't like decltype on lambdas. I added a MakeContextScope instead to deduce the lambda type via template function argument deduction and that seems to work.

I guess clang will again complain about the extra semicolon in some places: {};
apart from that - this will probably work!

I made DOCTEST_TO_LVALUE a noop but didn't remote it to keep everything backwards compatible.

That last commit only updates documentation so you don't necessarily have to wait for the entire build to complete again. The previous build completed successfully.

good work - thanks for this! :)


Roll engine 0861e0a7691c..d8c9b1021bef (6 commits)

https://github.com/flutter/engine/compare/0861e0a7691c...d8c9b1021bef
git log 0861e0a7691c7eeaeea030d5053dc29736b48d6a..d8c9b1021befb23a153902c286074d029c5079f5 --no-merges --oneline
d8c9b1021 [fucshia] fix name to reflect the cmx file (flutter/engine#10151)
338878166 Revert "Disable windows tests (#10143)" (flutter/engine#10146)
ae5e611c3 Roll src/third_party/skia fff996c117c1..04aa81ae66bc (32 commits) (flutter/engine#10149)
a6038d502 Roll fuchsia/sdk/core/linux-amd64 from ylNwUxj7tBGga6sghqrKH_gqu3RzfTLxB4rxZhAk2IAC to vHQ3m9W_pv1OLg6ch-uP3bu-VhWS-4PKZm4YrxjP-fAC (flutter/engine#10148)
5edd787cf [fuchsia] Push CMX to fars and add product mode support (flutter/engine#10144)
70c8c3fe3 Roll fuchsia/sdk/core/mac-amd64 from SHb_OsdvSz75N-G-jbG-tQOM1OyipLcQG0rsVrARsX0C to giU1d8T7pC6K7vuX0_0ZQpH_ZkzIbgvyao2ICAW6PS8C (flutter/engine#10147)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


fix(#1980): provide control to how dropdown items are added after ini…

…tial mount
Before (the change)
Adding new dropdown items would result with them being appended to the end of the list
After (the change)
https://jam.dev/c/b73edae1-678e-478c-a35b-358c8452d539
Make sure that you've checked the boxes below before you submit the PR

[x] I have read and followed the setup steps
[x] I have created necessary unit tests
[x] I have tested the functionality in both React and Angular.

Steps needed to test
Angular
import { Component } from "@angular/core";

@Component({
  selector: "abgov-root",
  templateUrl: "./app.component.html",
  styles: ``,
})
export class AppComponent {
  title = "angular";
  selectedColor = ""

  colors = [
    { value: "red", mount: "append" },
    { value: "green", mount: "append" },
    { value: "blue", mount: "append" },
  ];

  addColors(mount: string) {
    const newColors = [
      { value: "cyan", mount: mount },
      { value: "violet", mount: mount },
    ];
    if (mount === "prepend") {
      newColors.reverse();
    }
    this.colors = [...this.colors, ...newColors];
  }

  onChange(e: Event) {
    selectedColor = (event as CustomEvent).detail.value
  }
}

    <goa-form-item label="Basic dropdown">
      <goa-dropdown name="item" [value]="selectedColor" (_change)="onChange($event)">
        <goa-dropdown-item
          *ngFor="let color of colors"
          [value]="color.value"
          [label]="color.value"
          [mount]="color.mount"
        ></goa-dropdown-item>
      </goa-dropdown>
      <goa-button (_click)="addColors('append')">Append</goa-button>
      <goa-button (_click)="addColors('prepend')">Prepend</goa-button>
      <goa-button (_click)="addColors('reset')">Reset</goa-button>
    </goa-form-item>

React
  const [selectedColor, setSelectedColor] = useState("green");

  type Color = {
    value: string;
    mount: DropdownItemMountType;
  }

  const [colors, setColors] = useState<Color[]>([
    { value: "red", mount: "append" },
    { value: "green", mount: "append" },
    { value: "blue", mount: "append" },
  ])

  function onChange(name: string, value: string | string[]) {
    setSelectedColor(value as string);
  }

  function addColors(mount: DropdownItemMountType) {
    const newColors = [{ value: "cyan", mount: mount }, { value: "violet", mount: mount }];
    if (mount === "prepend") {
      newColors.reverse();
    }
    setColors([...colors, ...newColors])
  }

return (
      <GoAFormItem label="Append items">
        <GoADropdown onChange={onChange} value={selectedColor}>
          {colors.map(c =>
            <GoADropdownItem label={c.value} value={c.value} mountType={c.mount} />
          )}
        </GoADropdown>
      </GoAFormItem>

      <GoABlock>
        <GoAButton onClick={() => addColors("append")}>Append colors</GoAButton>
        <GoAButton onClick={() => addColors("prepend")}>Prepend colors</GoAButton>
        <GoAButton onClick={() => addColors("reset")}>Reset/add colors</GoAButton>
      </GoABlock>
)

Summary:
There is an issue with selecting items from dynamically generated dropdown menus. When attempting to click on a dropdown item that was added dynamically, the selection fails to register.
Steps to Reproduce:
Using this code snip
Select an item form dropdown
the item is not showing as selected
import React, { useState, useEffect } from 'react';
import { GoAFormItem, GoADropdown,GoADropdownItem, GoAButton } from "@abgov/react-components";

function Bug1989Page(props) {

  const [selectedColor, setSelectedColor] = useState("green");
  function onChange(name: string, value: Date) {
    setValue(value);
  }
  function addColors(mount: DropdownItemMountType) {
    const newColors = [{ value: "cyan", mount: mount }, { value: "violet", mount: mount }];
    if (mount === "prepend") {
      newColors.reverse();
    }
    setColors([...colors, ...newColors])
  }
  type Color = {
    value: string;
    mount: DropdownItemMountType;
  }

  const [colors, setColors] = useState<Color[]>([
    { value: "red", mount: "append" },
    { value: "green", mount: "append" },
    { value: "blue", mount: "append" },
  ])

  return (
    <div>
    <GoAFormItem label="Basic dropdown">
      <GoADropdown name="item" value="" onChange={onChange}>
        {colors.map(c =>
          <GoADropdownItem value={c.value} mountType={c.mount} />
        )}
      </GoADropdown>
    </GoAFormItem>
    <GoAButton onClick={() => addColors("append")}>
      append
    </GoAButton>
    <GoAButton onClick={() => addColors("prepend")}>
      prepend
    </GoAButton>
    <GoAButton onClick={() => addColors("reset")}>
      reset
    </GoAButton>
    <GoAButton onClick={() => addColors("sortasc")}>
      sortasc
    </GoAButton>
    <GoAButton onClick={() => addColors("sortdesc")}>
      sortdesc
    </GoAButton>
</div>
  );
}

export default Bug1989Page;

https://jam.dev/c/5ff74ec3-c1b2-4785-9691-a0c56010072c

Some of the sample code wasn't binding the value properly. Here is what I see when updating the playground code.

issue is verified on react and angular

:tada: This PR is included in version 1.17.0-alpha.95 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.17.0-alpha.37 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-alpha.5 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Finally Got the Guide working. (Windows 10)

There appears, to run locally you are required to install 'Python 2.7' (NOT 3.5.2).
Or at least change your system variables so the 'python' CMD is a recognised command.
Without both installed I would get 'python' not recongised command error.
With 3.5.2 installed, it appears the execfile was removed.
http://stackoverflow.com/questions/6357361/alternative-to-execfile-in-python-3

I would advise someone to run through this guide on a cleanly built version of Windows 10 (With nothing installed) and see how much of a headache to get this Tutorial working is.

Hi @peterwjames,
Sorry you ran into issues trying this sample.
I just tried the code sample on Windows using the instructions on Build an Android App Using Firebase and the App Engine Flexible Environment, which provides more detail than the ReadMe in this repo.
I had no issues after I had all the prerequisites installed. However, I agree that the ReadMe in this repo should at least list the prerequisites to build and run the sample. I submitted PR #15 to include the Java and Python prerequisites to the ReadMe.


Release: Bump version to 1.0.2

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

#453
#452  👈 (View in Graphite)
#450
main

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

Merge activity

Dec 13, 5:39 AM EST: A user merged this pull request with Graphite.


Loader configuration for '@svgr/webpack' references no longer existing Prettier config

Please check: https://github.com/alexey-koran/react-template/blob/main/webpack.config.ts#L120
.prettierrc was renamed to prettier.config.cjs in 08e74bfcc3dfcee7d54bac748e9823b7e926032e

Thank you!


plugins/drive: fix panic on startup

Currently, the Google Drive panic panics on startup because the find
method which requires a counter to be incremented, is called before the
counter is initialized.
This commit fixes this issue as well as fixes an issue where the
registry was never passed to the plugin, meaning the and metrics would
never actually be registered.
Signed-off-by: Lucas Servén Marín<EMAIL_ADDRESS>

pushing this through due to urgency


Replace quarter calculation with simpler range check.

Also updated the test to be more "table-driven".

[Current coverage][cc-pull] is 52.21%

Merging [#312][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #312   diff @@
==========================================
  Files            12         12
  Lines           996        996
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            520        520
  Misses          476        476
  Partials          0          0

Powered by Codecov. Last updated by [d76c22a...65de1c5][cc-compare]
[cc-base-branch]: https://codecov.io/gh/aumayr/fava/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/aumayr/fava/compare/d76c22a32e53ce77d0cfd27178e1a8ebbf7c912f...65de1c5afc9e6193b82214d26253e43617579fa5
[cc-pull]: https://codecov.io/gh/aumayr/fava/pull/312?src=pr

Thanks 👌🏼


Add Controller before:destroy

I've also had this issue open forever... #6

Closing this as part of cleaning out old issues. Feel free to reopen.


Create a test that shows bug #1403

I have created an example that shows that even if it is setted format :json, if I send a post request with content_type: application/x-www-form-urlencoded it does return 201

Isn't this what the doc says? "it will not parse any other input than ... application/x-www-form-urlencoded"?
The formats apply to parsing, too. The following API will only respond to the JSON content-type and will not parse any other input than application/json, application/x-www-form-urlencoded, multipart/form-data, multipart/related and multipart/mixed. All other requests will fail with an HTTP 406 error code.

Ok, I definitely need a vacation. I have red this sentence hundred times, and all the time I misunderstand it.
My bad, sorry this time waste!

It's not obvious that it's supposed to behave this way, I think the biggest reason is simply that Rack does some of the parsing and we can't force it not to.

I would be curious to see what a PR "fixing" this looks like, and would like to open it for discussion. I'm going to reopen this.

Do you mean introducing the case that if using format :json, it actually accept ONLY json?
I am not familiar with your codebase, but if you said that if it is due to some Rack level parsing, I can only imaging creating some sort of "extension" in the form of a Rack middleware.

Right, I mean treating this as a bug and fixing it.


[New Core]: Splatterhouse Beta

Core Author username
jotego
Core .yml snippet
display_name: Splatterhouse
repository: jtbin
path: pocket/zips/jotego.jtshouse.zip

Closed as per #480


Warn if duplicate response codes are specified for a single endpoint

Related to #442
The OpenAPI parser permits specifications with duplicate keys(!), meaning that:
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Pet not found"
          },
          "400": {
            "description": "Validation exception"
          }
        },

is valid. This creates surprising error messages from the compiler, where it should actually be a specification validation error.

I reviewed the [swagger-parser] library to understand how it handles duplicate JSON field names.
I opened a Draft PR in the swagger-parser repo:
https://github.com/swagger-api/swagger-parser/pull/1271

Swagger-Parser accepted my PR ( https://github.com/swagger-api/swagger-parser/pull/1271 )
Hopefully we will see a new release of swagger-parser soon :)

@sullis 2.0.17 seems to have been released!

Please close this issue.  We already merged PR 518
https://github.com/twilio/guardrail/pull/518

PR 557 upgrades Guardrail to Swagger-Parser 2.0.18:
https://github.com/twilio/guardrail/pull/557
Swagger-Parser 2.0.18 enables strict validation for YAML-based spec files:
https://github.com/swagger-api/swagger-parser/pull/1313


building procedure can't rewrite existing .tcx file

Run build.bat
.tcx file is created in out folder. OK
Run build.bat  again
.zip file created in out folder but .tcx file is not rewritten

Always delete previous directory


Apply changes from btcsuite/btcd:master

The current implementation crashes! These changes are needed to not do that.

I think I did this the wrong way.. We're still 2 commits behind:pp


add collate options to :string column

I tried generating a phoenix app with phx.new and then added auth with phx.gen.auth, and ran the tests and found that one around case-insensitivity failed. This is because Postgres supports case-insensitive with the citext extension (which phx.gen.auth utilized) and other adpaters are case-insensitive by default, but SQLite is not, so the generated migrations are incorrect for SQLite.
The SQLite solution to this is to have a COLLATE NOCASE suffix on the column definition. https://www.sqlite.org/datatype3.html#collating_sequences

This looks good. I've never used the COLLATE directive before.


Origins mod completely blocks Curious UI in inventory and ruins all mods that use curios

As the title says with this mod (latest 1.20.1 version) Curious UI button in inventory does not open the curios UI, it opens the same vanilla inventory with a slight shifting/moving of regular elements/buttons. Bricks my modpack and only solution is to remove origins mod.

Strange issue... I'm unsure what would be causing this, definitely a high priority thing to fix though.

Just wanted to add it is replicable with just the 2 mods alone in 47.2.0 forge

This is most likely caused by a keybind conflict, I changed my keybind in the settings in an attempt to make sure it wasn't replicable.


read templates in alphabetical order

Try templates in alphabetic order. Previously, the entries were parsed
in arbitrary order which could lead to problems when more than one
template matches.
Reading the templates in alphabetical order is useful for defining a
"fallback" template that tries to extract information from unknown
invoices, while the specific templates can be used where necessary.

Is this really needed? Generally only ONE template should match. I usually use the VAT number which should be unique.

@m3nu The use case we have for this is the following: We get many invoices from many suppliers and noticed that most of those invoice templates tend to look similar, for example one supplier might have the configuration
amount: Invoice Amount (\d+)

Wouldn't it be better to inherit from a base template to avoid repeating the same configs?

The main point is that non-technical people should be able to import a new, unknown invoice. If the fallback template works, there is nothing left to do, only if it doesnt do technical people have to get involved.
AIUI, inheriting from a base template would still require a template be created for each supplier.

OK. I see the benefit. So there would be a "ZZDefault" template that gets tried last and has no keywords at all? This would be great of course. Do you have that template somewhere?

Actually, it has a single keyword: "."; since this matches every character, it will always be tried.
The template is still WIP and very hacky ("works for us, most of the time"), and tuned for German invoices. Once it matures, I can create a PR to include it.


⚠ Processors has degraded performance

In 57aed02, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 46 ms

Resolved: Processors performance has improved in dfefddb.


Uncaught exception when we have missing request params when calling instancesGroupsClient.list

we got this error when using @google-cloud/compute and we unable to catch this error with try/catch (we only able to catch it using process.on('uncaughtException', ...) but its not what we looking for:
/backend/node_modules/google-gax/build/src/transcoding.js:225
            throw new Error(`Required field ${requiredField} is not present in the request.`);
            ^

Error: Required field zone is not present in the request.
    at Object.transcode (/backend/node_modules/google-gax/build/src/transcoding.js:225:19)
    at encodeRequest (/backend/node_modules/google-gax/build/src/fallbackRest.js:52:38)
    at Object.serviceStub.<computed> [as list] (/backend/node_modules/google-gax/build/src/fallbackServiceStub.js:40:37)
    at /backend/node_modules/@google-cloud/compute/build/src/v1/instance_groups_client.js:190:29
    at wrappedCall (/backend/node_modules/google-gax/build/src/paginationCalls/pagedApiCaller.js:86:20)
    at Immediate.<anonymous> (/backend/node_modules/google-gax/build/src/normalCalls/timeout.js:44:16)
    at processImmediate (node:internal/timers:468:21)
[nodemon] app crashed - waiting for file changes before starting...

OS:
Node.js version: 16.14.0
npm version: 8.31
google-gax version: 2.29.5

Steps to reproduce
try {
   const credentials = {email: 'blah', key: 'blah'}
   const instancesGroupsClient = new Compute.InstanceGroupsClient(credentials)

   const [instanceGroupList] = await instancesGroupsClient.list(
      {
       project: projectId,
       zone: null // Intentionally triggers an error!
       }
   )

   return instanceGroupList
} catch(e) => {
   console.error("Error - ", e) // will never get here on exception from instancesGroupsClient.list!
}

+1

Opened #1291


Play All button does not seem to do anything

Bug
The Play All button does not seem to work.
Steps to reproduce the bug
I have created a new playlist. I filled it with some songs/videos (from Youtube). I am opening the playlist and clicking on "Play All". It does not play anything.

Windows
Manjaro Linux  - 4.4.52
(My bug is not the same as #489, since I can reproduce it on Windows)
Which platform are you using to listen to music?
YouTube
Which track format are you using?
best video

please report to #489

On Windows, even if "Play All" didn't work, music could be played normally (by filling the play queue with songs from my playlist) and then playing on of these songs.
I suppose I did not get what the "Play All" button is supposed to do.

Can you give us a screenshot of the inspector under the console tab ?

The two errors are related to #489. When clicking on "Play All", nothing happens.

Tomorrow, I should be able to redo this test on Windows.

Okay the screenshot => #489
Interesting if windows have the same behavior...

@LittleWhite-tb In personal playlist, play all button already fixed. see #483

ok that should be fixed in 1.9.0. I think i'll take some time to release the new version.

Cool.
You can put this as duplicate of #478


Move Google.Chrome.Dev 126.0.6452.3 to Google.Chrome.Dev.EXE 126.0.6452.3

Microsoft Reviewers: Open in CodeFlow

Possible duplicate package entry.
Similar installer SHA256 hash found in manifest:

InstallerSha256: 8c6929e1ec31061005c11980c34a9a3ed94d9f83e1171cdb16d2ccb57764418c

manifests\g\Google\Chrome\Dev\126.0.6452.3

InstallerSha256: d99eaf7f9aa2a6f0af54a01152b9a9b4c6727dbf73f0260009e2d2654ef4f010

manifests\g\Google\Chrome\Dev\126.0.6452.3

InstallerSha256: a6297aa803313b93f4bda8bacf155c19e520aac17feb1ec25c5a2715dae737f0

manifests\g\Google\Chrome\Dev\126.0.6452.3

Verify by hash.


It appears you are attempting to run an incorrect version

Please help with the following error message when starting ootd:

I installed the 32bit version of ootd and am running Windows 7 32bit with 32bit Office 2007

That message can also pop up when your outlook installation is corrupted.  Please reinstall office and try again.


There's something wrong about Chinese character encoding

Describe the bug
Some Chinese characters aren't able to be displayed properly on titles which looks like there exists bugs about character encoding. Otherwise, it's shown well in the   article.
Reproduce
subcribe this rss for example: https://www.ithome.com/rss/
Screenshots

Device Information

Device: Xiaomi 13
OS: Android 14
App Version: 1.45.0（518）

Stacktrace
If present, add stacktrace to help debug the issue faster.

I haven't published the new app yet. Will be available in next update.


New es

same like last pull request, except:
a) move map between ddmendpoint and storage_id to infosys
b) move storage keys to storagedata: tried to put get_security_key in infosys, but it infosys imports storagedata, if I import infosys in storagedata, it will be an error. If only put get_security_key in extinfo, it doesn't full make use of the infosys and it will make it even more complicated. So I keep get_security_key in storagedata currently(I know this part is not good).
I didn't test it. If there are no other objections, I will start to test it.

I rebased with your code. It seems there are no other objections. I will start to fix the bugs and test it with panda jobs.

Thanks Wen. Note that I introduced a bug in the log creation at the end (the current build works with lsm-put but not with rucio upload when it tries to stage-out the log). I'll fix it asap (in the meantime you can take back the out-commented code in data::create_log() for the tar file usage if you want to test right away).

In the meantime I have fixed the log issue. Will approve this, then merge with my latest dev code and create a new pull request.


Error Domain=NSCocoaErrorDomain Code=3840

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x7f9c0aca6ad0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

Please use Stack Overflow for questions like this. Github is for bug reporting and feature requests.
:beers:


new popup to confirm before executing some statements at all

description
for mysql, DDL statements (such as drop and create) cannot be rolled back, meaning, even if they are part of a transaction, they will still be committed as soon as they are run
proposed solution
create a new popup for DDL statements that shows up before the query is run at all

closed by #111


Colored hypergraph

Combintorial complex is a hypergraph X with a rank function rk : X->Z^{>0} s.t. if x<=y then rk(x)<=rk(y). This provides the CC structure with ability to consider incidence matrices between rank i and rank j cells.
In many applications however, the rank function is not strictly needed. The rank function makes CC somewhat expensive to compute (add_cell). Instead, one may define a more general class of complexes by defining a color function c: X->Z^{>0} with no condition as before. Such a complex is strictly more general than CCs and allows for faster insertion time. c can be thought of as a 'color' for hyperedges and one may define incidence between two cells of different colors
Write a class ColorHyperGraph with the basic functionalities.
This class has functionalities that overlap with the CC class so creating it will require refactoring the CC as well. Maybe CC will end up inheriting from it. Up to discussion.

Some preliminary comments, I didn't check everything yet.
In general there are two issues I have right now:

There is lots of duplicated code right now between ColoredHyperGraph and CombinatorialComplex. In a best case scenario, CombinatorialComplex could probably extend from the new ColoredHyperGraph and validate the ranking function where appropriate.

Yes, this is why I said it has so much overlap and we need to refactor the two classes. I think the main differences will be in the add_cell functions and its related functions.
I think CC should inherit from a colored hypergraph and overload the methods that are different. This way we avoid this issue.
What do you think?

If that is too cumbersome extract more into common helper functions.
2. rank vs. colors: We need to unify this across both classes, otherwise we will always have a clash where both names are used.

I am not sure how to resolve this issue. The term 'rank' is misleading in the colored hypergraph.

Right now this class becomes apparent in the constructor of ColoredHyperGraph, because Cell.rank is used. Renaming it to Cell.color doesn't help either, then we have the same problem in the combinatorial complex class.

This is a typo. I can fix that.

Some preliminary comments, I didn't check everything yet.
In general there are two issues I have right now:

There is lots of duplicated code right now between ColoredHyperGraph and CombinatorialComplex. In a best case scenario, CombinatorialComplex could probably extend from the new ColoredHyperGraph and validate the ranking function where appropriate.

Yes, this is why I said it has so much overlap and we need to refactor the two classes. I think the main differences will be in the add_cell functions and its related functions.
I think CC should inherit from a colored hypergraph and overload the methods that are different. This way we avoid this issue.
What do you think?

If that is too cumbersome extract more into common helper functions.
2. rank vs. colors: We need to unify this across both classes, otherwise we will always have a clash where both names are used.

I am not sure how to resolve this issue. The term 'rank' is misleading in the colored hypergraph.

Right now this class becomes apparent in the constructor of ColoredHyperGraph, because Cell.rank is used. Renaming it to Cell.color doesn't help either, then we have the same problem in the combinatorial complex class.

This is a typo. I can fix that.

@ffl096 , we will end up probably only have to overload a few functions in the CC class this way, everythign else will be inhereted from the colored HyperGraph.


How can I save the rois into a zip file, which imageJ can open.

Hi Hadrien.
How can I save the rois into a zip file, which imageJ can open.
Thanks very much

Hi, Feng Zhiheng. Saving ROIs to a zip file for ImageJ to open is outside the scope of read-roi, which is just for reading ROIs which were exported from ImageJ into Python.
You could use PymageJ, but it can only write rectangular ROIs. Or use the imagej package on pypi to interact with the ImageJ program from Python and tell it to save a ROI for you.
I don't know of an existing, fully-fledged Python implementation for writing to ImageJ ROIs. There is not much demand for one. If you want to develop one yourself, you could do so by referring to RoiEncoder.java along with the source for PymageJ and read-roi which will illustrate how RoiDecoder.java was mapped to a Python3 implementation.

I got it. It's very kind of you for your reply.
---Original---
From: "Scott<EMAIL_ADDRESS>Date: Fri, Jul 3, 2020 17:16 PM
To<EMAIL_ADDRESS>Cc: "Feng Zhiheng"<592440477<EMAIL_ADDRESS>Subject: Re: [hadim/read-roi] How can I save the rois into a zip file, which imageJ can open. (#23)
Hi, Feng Zhiheng. Saving ROIs to a zip file for ImageJ to open is outside the scope of read-roi, which is just for reading ROIs which were exported from ImageJ into Python.
You could use PymageJ, but it can only write rectangular ROIs. Or use the imagej package on pypi to interact with the ImageJ program from Python and tell it to save a ROI for you.
I don't know of an existing, fully-fledged Python implementation for writing to ImageJ ROIs. There is not much demand for one. If you want to develop one yourself, you could do so by referring to RoiEncoder.java along with the source for PymageJ and read-roi which will illustrate how RoiDecoder.java was mapped to a Python3 implementation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

No problem.
If you do find a Python implementation of an ImageJ-ROI exporter, or another solution that works for you (i.e. interfacing with ImageJ through the imagej package), please let us know so we can direct any one else who is looking for the same thing to your response.


view in sql Server

Dear,
I created a view in sql Server and used sergen to generate the grid and columns, but data is not displayed when I log into the system.

`  [ReadPermission("Inscricao")]
[ModifyPermission("Inscricao")]
public sealed class QryEventoRow : Row, IIdRow, INameRow
{
[DisplayName("Evento"), Size(250), QuickSearch]
public String Evento
{
get { return Fields.Evento[this]; }
set { Fields.Evento[this] = value; }
}
    [DisplayName("Local"), Size(200)]
    public String Local
    {
        get { return Fields.Local[this]; }
        set { Fields.Local[this] = value; }
    }

    [DisplayName("Dt Evento")]
    public DateTime? DtEvento
    {
        get { return Fields.DtEvento[this]; }
        set { Fields.DtEvento[this] = value; }
    }

    [DisplayName("Dt Inscricao")]
    public DateTime? DtInscricao
    {
        get { return Fields.DtInscricao[this]; }
        set { Fields.DtInscricao[this] = value; }
    }

    [DisplayName("Id Evento"), Column("IDEvento"), NotNull]
    public Int32? IdEvento
    {
        get { return Fields.IdEvento[this]; }
        set { Fields.IdEvento[this] = value; }
    }

    [DisplayName("Id Local"), Column("IDLocal"), NotNull]
    public Int32? IdLocal
    {
        get { return Fields.IdLocal[this]; }
        set { Fields.IdLocal[this] = value; }
    }

    IIdField IIdRow.IdField
    {
        get { return Fields.IdLocal; }
    }

    StringField INameRow.NameField
    {
        get { return Fields.Evento; }
    }

    public static readonly RowFields Fields = new RowFields().Init();

    public QryEventoRow()
        : base(Fields)
    {
    }

    public class RowFields : RowFieldsBase
    {
        public StringField Evento;
        public StringField Local;
        public DateTimeField DtEvento;
        public DateTimeField DtInscricao;
        public Int32Field IdEvento;
        public Int32Field IdLocal;

        public RowFields()
            : base()
        {
            LocalTextPrefix = "Inscricao.QryEvento";
        }
    }
}`

Any error message?

you do not have an error message, the view data does not appear.

Hi @juliermefelix ,
2 questions:
(1) Are there any records displayed when you query the same view within SQL management Studio? (e.g. select * from <your_view>)
(2) Is there an identifier field within your view (e.g. the underlying table has an identity field and this field is also within the view)?
With kind regards,
John

answer

yes. I am seeing the data when I run the query in SQL Management Studio

yes

I made it work with Oracle view so that should work with SqlServer.
did you try :
public RowFields()
: base("[dbo].[myview]")
or TableName("[dbo].[myview]")

when generating the sergen data and then compiling the error in that part of the code
  IIdField IIdRow.IdField
         {
             get {return Fields .; }
         }
as if you were missing a field. I add in the code the "IdEvento" field and compile again, but the records do not appear.
IIdField IIdRow.IdField
         {
             get {return Fields.IdEvento; }
         }

Try to use a trick so your view have a primary key.
http://girlfromoutofthisworld.com/entity-framework-and-setting-primary-keys-on-views/

You also need to add protected getIdProperty() { return [TableName]Row.idProperty; } to [TableName]Grid.ts and [TableName]Dialog.ts.

is giving the error below.

already added getIdProperty ()

@juliermefelix you defined a id property that is repeated, check the message !!!
primary keys can not be repeated of course....

Yes, OK. but it's a query, I need to display query data on the grid. How do I solve this?

@juliermefelix did you see my previous comment in wich a say for you to see this:
http://girlfromoutofthisworld.com/entity-framework-and-setting-primary-keys-on-views/


排查了代码 发现这里是这里很耗性能 ： daysWithMonthInThisYear

排查了代码 发现这里是这里很耗性能 ： daysWithMonthInThisYear
官方文档：
“Creating a date formatter is not a cheap operation. If you are likely to use a formatter frequently, it is typically more efficient to cache a single instance than to create and dispose of multiple instances. One approach is to use a static
variable.”
Originally posted by @Jacky-LinPeng in https://github.com/xiaozhuxiong121/PGDatePicker/issues/180#issuecomment-607677524

(NSInteger)daysWithMonthInThisYear:(NSInteger)year withMonth:(NSInteger)month {
BOOL isLeapYear = false;
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))){
isLeapYear = true ;
}
NSArray *days = @[@"31",isLeapYear?@"29":@"28",@"31",@"30",@"31",@"30",@"31",@"31",@"30",@"31",@"30",@"31"];
return [days[month - 1] integerValue];
}

(NSInteger)daysWithMonthInThisYear:(NSInteger)year withMonth:(NSInteger)month {
BOOL isLeapYear = false;
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))){
isLeapYear = true ;
}
NSArray *days = @[@"31",isLeapYear?@"29":@"28",@"31",@"30",@"31",@"30",@"31",@"31",@"30",@"31",@"30",@"31"];
return [days[month - 1] integerValue];
}


Multiple Body Examples regression in v0.100

OpenAPI 3.1 ✨now strictly implements the 2020-12 JSON Schema for their Schema Object which defines the 'examples' keyword as type List[Any]. This is great, but when we define multiple examples meant to be included in the Swagger UI docs for routes which accept a Body we often want to use the nice dropdown picker, like in this screengrab from the docs, which in v0.100 with examples passed strictly as lists, this UI is no longer achievable (#9770, working in #1267):

This functionality was achieved in fastapi>=0.64, <0.100 by adding the examples to the requestBody that conforms to the
Media Type Object specification, which takes a map of example objects rather than a list of schemas.
The legacy fastapi implementation grabbed the examples passed to the Body kwarg and attached them to the OpenAPI MediaType so that the dict keys and values can be parsed by the Swagger UI into the picker on the /docs page. This means that the call to Body does double duty, it defines the 'schema' with strict conformance to the JSON Schema format and its attributes are used to build the 'content[application/json]' (i.e., media type) spec, which uses a different 'examples' convention than schemas so that Swagger UI can parse it into the picker.
To restore the examples picker, we need a convention for passing along the examples dict so that it gets correctly attached to the Media Type in Open API spec. When we pass the examples as a list, it's constructed correctly in the 'schema' but the only way to view the examples is to read the openapi.json -- Swagger UI renders only the first example from the list.
This PR proposes to restore this useful functionality, and I've explored two implementations that seem to work well.
1) Add a new media_type_extra kwarg to Body
The changes in this PR implement a minimal diff that adds the desired functionality. This implementation has the advantage that it continues the nice semantic similarity with Body kwargs & JSON Schema fields & types while also allowing for the dict of examples to be elevated into the Media Type portion so that Swagger UI can find it. Here's an example based on schema_extra_example/tutorial0004.py:
from typing import Union

from fastapi import Body, FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    description: Union[str, None] = None
    price: float
    tax: Union[float, None] = None

item_examples = {
    "Example Item": {
        "value": {
            "name": "Foo",
            "description": "A very nice Item",
            "price": 35.4,
            "tax": 3.2,
        }
    },
    "Example Item; coerce string to float": {
        "value": {
            "name": "Bar",
            "price": "35.4",
        }
    },
    "Raise validation error for 'price'": {
        "value": {
            "name": "Baz",
            "price": "thirty five point four",
        }
    },
}

@app.put("/items/{item_id}")
async def update_item(
    *,
    item_id: int,
    item: Item = Body(
        examples=[dct["value"] for dct in item_examples.values()],
        media_type_extra={"examples": item_examples},
    ),
):
    results = {"item_id": item_id, "item": item}
    return results

This implementation allows users to explicitly elevate their examples into the Media Type if they wish and define examples on the schema that conform with JSON Schema.
The main drawback of this option is that it adds a new kwarg, resulting in a breaking change (if you consider loss of the UI picker a breaking change).
2) Fancy handling of Body examples depending on type
The other way I got this to work in a backward compatible way is to check the type of the 'examples' passed to get_openapi_operation_request_body and if it's a dict, also attach it to the Media Type.
This method is backward compatible, but it requires us to loosen the type narrowing on the Body examples kwarg to something like:
...
examples: Optional[Union[List[Any], Dict[str, Any]]] = None,
...

Options for moving forward
It's entirely possible that #9770 deliberately removed the functionality that enabled the multiple examples picker in Swagger UI, and if that's the case, let's just update the docs to remove the image that shows the dropdown picker.
It's also possible that we simply forgot that the Body is used to build both the schema and the media type, and we didn't have time to think about cute example pickers during the herculean effort of integrating both the OpenAPI updates and compat with pydantic v2. I hope this is the case, and that this PR helps start the discussion on how to best implement support for the Swagger UI example picker.
This PR doesn't (yet) include any changes to the docs, but I'm happy to contribute to those if one of the above approaches is preferred/accepted. I also volunteer to help add to & revise the tests as well.

Thank you so much for this @austinorr! Just ran into this issue myself! 🙇🏽

Thank you so much for this @austinorr! Just ran into this issue myself! 🙇🏽

Does this PR (Option 1 n the discussion above) fix it for you?

Hmm, actually it doesn't seem to work for me :( Here's how I have defined my requests:
example_requests = {
    "text": {
        "basic": {
            "value": {"request_id": "basic", "text": "..."},
        },
        "nogarbage": {
            "value": {"request_id": "no_garbage", "detect_garbage": False, "text": "..."},
        },
        "prompt": {
            "value": {
                "request_id": "prompt_extra_time",
                "promptid": "example_prompt_id",
                "text": "...",
                "timeout": 200,
            },
        },
        "score_grade": {
            "value": {
                "request_id": "score_text",
                "scoring_model": "writing_quality",
                "grade": 8,
                "text": "...",
            },
        },
        "extras": {
            "value": {
                "request_id": "extras_text",
                "text": "...",
                "extras": {
                    "prompttext": "...",
                    "promptxml": "...",
                    "specified_topics": {"budget": []},
                },
            },
        },
    },
    "audio": { ... }

And here's how I am using them in my endpoint definition:
@router.post("/api/v1/features/text", tags=["features"], responses={**sync_responses})
def submit_text_request(
    background_tasks: BackgroundTasks,
    rfs_request: RFSTextRequest = Body(
        ..., media_type_extra=example_requests["text"]
    ),
    commons: dict = Depends(common_sync_parameters),
    user: User = Depends(get_current_active_user),
    logging_config: S3LoggingConfig = Depends(),
):
...

And the UI still looks like this:

Never mind @austinorr, it does works! Just realized that I had a bug in how I was using media_type_extra. It should be:
media_type_extra={"examples": example_requests["text"]},

and not just:
media_type_extra= example_requests["text"],

It worked for me for a body parameter. Should it work as well on other parameter types? I tested with Header, but it was not included in openapi.json.
In my opinion, the media_type_extra is good, if you want to give additional context to the examples (like the "summary"). Just for adding one or more examples, it seems a bit clumsy.

@hochstibe I've only added it to the Body so far, thought I'd put this patch out there, gauge the need, and propose an approach like adding  that new kwarg. It's the function I most often need to build up multiple complex examples for and it's the one presented in the docs, so that's where I started. Depending on the consensus, I imagine the other parameter types could be supported too.

In my opinion, the media_type_extra is good, if you want to give additional context to the examples (like the "summary"). Just for adding one or more examples, it seems a bit clumsy.

I agree with you that for adding examples the new kwarg is clumsy. If you're attaching just one example then you can use the 'example' or 'examples' kwargs, but if you have multiple examples and you want the picker in Swagger UI docs, we need to either add the kwarg that accepts the examples as a dict (not a list), or we need to agree to loosen the type expectations to allow users to pass the mapping directly to the 'examples'.
I think the 'media_type_extra' kwarg is ugly, but it clearly shows where the data is going to be placed, and it allows the other Body kwargs to be aligned with job of building the content schema, even though Body technically also builds the  media_type (where the 'examples' as a dict go for the UI examples picker) as well.

@hochstibe if you want to try to get this working on Header, you can look at the changes I made to Body here, and here and do something similar to the others you'd like to try. I think those are the only places you'd need to make changes to support all the other parameter types.

I agree with @austinorr. I also use mostly examples in the Body as the most common use case. I think this solution, while a bit hacks, is fairly reasonable and quite necessary as showing multiple examples is quite important in many scenarios.

I''m not sure about the "media_type_extra" implementation. I think it would go against the ease that FastAPI supposed to achieve. I think your alternate suggestion would be better (where the "examples" field can be a dict). The avarage user would simply go by what the IDE suggests them. If they see the "examples" field, they would expect it to "just work" without extra work.
I think the FastAPI interface should go based on "what would be the most intuitive usage for the avarage developer" and then do whatever we need behind the scenes to adapt it to any specification we wish to support. The examples picker is a useful option and therefore we should strive to have it "when possible" i.e. when the user specified a dictionary of examples.

@UltimateLobster I’m traveling today and tomorrow, but early this week I’ll add a commit here that has a draft implementation of the ‘if dict then that’ approach. It’ll re-use the same ‘examples’ kwarg to build both valid JSON schema examples (list) and valid media_type OpenAPI examples (dict) that works with Swagger UI.
If this is the way we want to go, I’ll also clean this up to remove the new kwarg after this is green-lit by a maintainer review.

📝 Docs preview for commit 1d7c2f823c8fcb9df64e3ca2e35de10d703af717 at: https://64b5c5b7e6ac89131eb4e067--fastapi.netlify.app

📝 Docs preview for commit fbc4adb80f72cd92d6bb9a1cdae38a2012c6f2c9 at: https://64b5d2038221c81b82c3b499--fastapi.netlify.app

📝 Docs preview for commit d950857413fcff535b34bb9f99590c2e15c22182 at: https://64b6e31e7f45ee1bf4f7da3a--fastapi.netlify.app

📝 Docs preview for commit 43d3880c833d8efa97ab2080546a2d16b4c55dd7 at: https://64b7294a68eede254dccdd19--fastapi.netlify.app

@UltimateLobster @hochstibe I've finished this update that adds the 'examples' as dict back to the correct spot on the OpenAPI schema and it works on all parameters. Y'all care to give it a shot to see if it works for you?
I've added a new file docs_src/schema_extra_example/tutorial006.py that demonstrates how to add examples to all the params, and I hope there's a path toward re-enabling support for Swagger UI's interactive examples.
Since this piece of OpenAPI 3.1 didn't change at all with their update (Swagger UI examples have always been siblings of schemas, rather than children, and that's why they don't work now.), this tutorial works just as well with fastapi<0.100.0. This patch just re-enables all this nice UI. See below for a screen shot of an API with working multi-examples for each of Body, Path, Query, Header, and Responses. Cookie should work too, I just ran out of time to add a demo one to the app.

The thinking here is that I can always go backwards from the dict to a list to pull out the examples that the user passes. I can then add the full dict to the correct location on the OpenAPI schema as a sibling of 'schema' rather than as a child, and I can re-add the list to the 'schema' as a child. I do this only if the examples is passed as a dict, so that all the current tests pass. This works great, and appears to me to achieve both goals. If we like it, I'll add tests so it's fully covered.
There is a single test failing on all platforms currently, which is checking that the entire OpenAPI schema is identical to the reference in the source code (tests/test_schema_extra_examples.py::test_openapi_schema). I can't make this PR conform to the old ref, so getting this to pass tests may require changing the test. I'm happy to invest more time in that if asked to by a maintainer.
For posterity/completeness, here's the schema that generated the above ui in docs_src/schema_extra_example/tutorial006.py
{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "0.1.0"
  },
  "paths": {
    "/items/{item_id}": {
      "post": {
        "summary": "Post Item",
        "operationId": "post_item_items__item_id__post",
        "parameters": [
          {
            "name": "item_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "examples": [5, "5", "anything else"],
              "title": "Item Id"
            },
            "examples": {
              "id as int": {
                "value": 5
              },
              "id as string": {
                "value": "5"
              },
              "invalid id": {
                "value": "anything else"
              }
            }
          },
          {
            "name": "f",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "examples": ["wkt", "json", "geojson"],
              "default": "wkt",
              "title": "F"
            },
            "examples": {
              "text (default)": {
                "value": "wkt"
              },
              "response as json": {
                "value": "json"
              },
              "format 3": {
                "summary": "response as geojson",
                "value": "geojson"
              }
            }
          },
          {
            "name": "strange_header",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "examples": ["some long string", "bad header"],
              "title": "Strange Header"
            },
            "examples": {
              "good": {
                "value": "some long string"
              },
              "bad": {
                "summary": "this one's bad",
                "value": "bad header"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "examples": {
                "normal": {
                  "summary": "A normal example",
                  "description": "A **normal** item works correctly.",
                  "value": {
                    "name": "Foo",
                    "description": "A very nice Item",
                    "price": 35.4,
                    "tax": 3.2
                  }
                },
                "converted": {
                  "summary": "An example with converted data",
                  "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
                  "value": {
                    "name": "Bar",
                    "price": "35.4"
                  }
                },
                "invalid": {
                  "summary": "Invalid data is rejected with an error",
                  "value": {
                    "name": "Baz",
                    "price": "thirty five point four"
                  }
                }
              },
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Item"
                  }
                ],
                "examples": [
                  {
                    "name": "Foo",
                    "description": "A very nice Item",
                    "price": 35.4,
                    "tax": 3.2
                  },
                  {
                    "name": "Bar",
                    "price": "35.4"
                  },
                  {
                    "name": "Baz",
                    "price": "thirty five point four"
                  }
                ],
                "title": "Item"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "UNSUPPORTED_FORMAT": {
                    "summary": "The format is not recognized.",
                    "value": {
                      "detail": "UNSUPPORTED_FORMAT"
                    }
                  },
                  "ANYTHING_BUT_GEOJSON": {
                    "summary": "Amazingly, this format is supported on AGOL but not on any desktop software made by ESRI.",
                    "value": {
                      "detail": {
                        "code": "ANYTHING_BUT_GEOJSON",
                        "reason": "Likely on purpose."
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Bad Request"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "examples": {
                  "BAD_HEADER": {
                    "summary": "This header crashes the server. It's bad.",
                    "value": {
                      "detail": {
                        "code": "BAD_HEADER",
                        "reason": "Likely on purpose."
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorModel": {
        "properties": {
          "detail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              }
            ],
            "title": "Detail"
          }
        },
        "type": "object",
        "required": ["detail"],
        "title": "ErrorModel"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "Item": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "price": {
            "type": "number",
            "title": "Price"
          },
          "tax": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax"
          }
        },
        "type": "object",
        "required": ["name", "price"],
        "title": "Item"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": ["loc", "msg", "type"],
        "title": "ValidationError"
      }
    }
  }
}

I love using fastapi because it helps me build tricky cases right into my docs and communicate with my team. Adding interactive examples to the UI so they don't have to read the actual openapi.json to see what examples I've prepared used to save me time and be seamless. I recognize that there are unsupported edge cases here, like if the user passes multiple Body's to the route, FastAPI will embed them into a "super body", and in that case, this PR actually throws a very clear pydantic validation error that 'examples' must be passed as list.
This first one does error, since the contents of the super body are schemas, and their examples must be lists. The error makes it easy to express my thought a different way, either make my own super body and add examples that work with the picker, or convert my examples to a list so they're embedded in the schema and move on.

item_examples = {
    "normal": {
        "summary": "A normal example",
        "description": "A **normal** item works correctly.",
        "value": {
            "name": "Foo",
            "description": "A very nice Item",
            "price": 35.4,
            "tax": 3.2,
        },
    },
    "converted": {
        "summary": "An example with converted data",
        "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
        "value": {
            "name": "Bar",
            "price": "35.4",
        },
    },
    "invalid": {
        "summary": "Invalid data is rejected with an error",
        "value": {
            "name": "Baz",
            "price": "thirty five point four",
        },
    },
}

@app.post("/items/{item_id}")
async def post_item(
    request: Request,
    *,
    item_id: int = Path(
        examples={
            "id as int": {"value": 5},
            "id as string": {"value": "5"},
            "invalid id": {"value": "anything else"},
        }
    ),
    user: User,
    item: Item = Body(examples=item_examples)
):
    ...
    return

This doesn't error, and super body is made/used flawlessly.

@app.post("/items/{item_id}")
async def post_item(
    request: Request,
    *,
    item_id: int = Path(
        examples={
            "id as int": {"value": 5},
            "id as string": {"value": "5"},
            "invalid id": {"value": "anything else"},
        }
    ),
    user: User,
    item: Item = Body(examples=[dct["value"] for dct in item_examples.values()])
):
    ...
    return

Swagger UI examples are a feature I use often, and from what I've seen in the discussion many others feel the same. I think the interactive docs are a major selling point for fastapi and if new users cannot build the full Swagger UI compliant openapi.json, including the examples pickers, then I'll bet they'll keep asking this question on SO, and on the discussion boards, and keep opening issues, either here on fastapi, or even on the openapi github (eg).

Hello and thank you very much for dealing with this! I noticed this same regression on migration to pydantic 2.
I think a) this sort of example-list functionality is extremely desirable, but b) that it is starting to get a little confusing as to where one should add examples. It would be nice if there was only one (or maybe two) places to put examples, but with the model_config, this makes three different ways, and its not super clear to me when one wishes to use which one.
A challenge: Is there any reason that the examples keyword has to conform to the OpenAPI examples spec? It doesn't seem sensible for this option to not be a dict. I don't understand how an examples of type list is currently used by fastapi 0.100 today, other than just showing the first example in the list.

b) that it is starting to get a little confusing as to where one should add examples

You're right. Best case is we might have to accept some different functionality for 'examples' declared in our BaseModels model_config (I agree that these should be enforced as lists, since our models only ever build schemas) and examples declared in fastapi Params (like Body, Query, etc) which build the schema wrapper objects that have different requirements for 'examples' in the OpenAPI spec (they must be dicts). I think the 'examples' kwarg on the Params should be the one spot to add examples that work with the docs. This PR (re)enables that.
In my opinion, fastapi's sweet spot is helping developers build a high performance API with best in class docs with a library that 'does the right thing'. In this case, I feel that the right thing to do when I'm adding examples to my route by calling Body or any other Param directly, is not to modify a data model I already declared with pydantic, especially when doing so hobbles the docs and leaves very useful portions of the OpenAPI spec inaccessible.
To be fair, the docs will render the first example in the schema for a RequestBody, but it does not do this for any of the parameter objects like query, cookie, header, or path (MRE below). Examples that are declared as a dict and as a sibling to the schema is still the right way to add examples to all of these -- this did not change at all with the 3.0->3.1 update or with Swagger v5.
MRE for how swagger ignores examples within the schema for any param. Copy the json below into (SwaggerEditor)[https://editor-next.swagger.io/]
In v0.100.0 if I add this to a route
f: Union[str, None] = Query(None, examples=["json", "geojson", "wkt"]),

I get this OpenAPI spec with the 'schema' member being a correct JSON Schema, but Swagger docs don't see the examples at all.
{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "0.1.0"
  },
  "paths": {
    "/items/{item_id}": {
      "post": {
        "summary": "Post Item",
        "operationId": "post_item_items__item_id__post",
        "parameters": [
          {
            "name": "f",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "examples": [
                "json",
                "geojson",
                "wkt"
              ],
              "title": "F"
            }
          }
        ],
        "responses": {}
      }
    }
  },
  "components": {}
}

The only way to get an example on a param is with the dict. This is not a bug in Swagger, they are correctly interpreting the OpenAPI 3.1 spec for how to declare examples on parameters
The below json fixes the MRE above, and the 'schema' member still fully complies with JSON Schema. This output is achievable with the changes included in this PR.
{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "0.1.0"
  },
  "paths": {
    "/items/{item_id}": {
      "post": {
        "summary": "Post Item",
        "operationId": "post_item_items__item_id__post",
        "parameters": [
          {
            "name": "f",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "examples": [
                "json",
                "geojson",
                "wkt"
              ],
              "title": "F"
            },
            "examples": {
              "well known text": {"value": "wkt"},
              "json": {"value": "json"}
            }
          }
        ],
        "responses": {}
      }
    }
  },
  "components": {}
}

📝 Docs preview for commit 45cdef504d9075fc4dd2f354bd417d71cc403180 at: https://64bad21d2f20a1007c9dea3c--fastapi.netlify.app

📝 Docs preview for commit f8c9537d2d5a489e54e75387422a3ef513fb4192 at: https://64c03f3525931d0675b466a6--fastapi.netlify.app

📝 Docs preview for commit 56ed2248f82dd6b59a75c1362a22203d7ecf5c48 at: https://64c0410d84547c0ea4f80287--fastapi.netlify.app

Any news about this point? or alternatives?

I've been working on cleaning this up and getting it tested. Now we wait until a maintainer either reviews and agrees, or decides that OpenAPI examples are not a feature that fastapi supports anymore. If I'm being honest, based on the 'answer' on the discussion I don't think this PR stands much of a chance, but it's nice to know that others relied on OpenAPI/Swagger UI docs examples too.
I'm hoping this is just a very low priority for the maintainers, since that might mean once the major transition to v0.100+ & pydantic v2 is stable enough they'll have bandwidth for this feature. When that time comes, hopefully having this already written and tested helps them.

📝 Docs preview for commit 04846ac9422ae56f3bb9dc09b8db87374cc86613 at: https://64c3e1c273d55419c5455a63--fastapi.netlify.app

I really liked this feature too, I hope this gets merged.

+1 for this feature. It's super important to be able to describe examples for endpoints as close as possible to the code. I can't image handling examples for my FastAPI endpoints in another place (or even worse, not having examples because it requires additional overhead to maintain!).

Also leaving a +1 on this PR, I think it's important to be able to put multiple examples in the swagger page and describe them.
I created a pull request to your pull request which makes it even easier to add multiple examples in the swagger page. I think it gives us the best of both worlds: simplicity and complexity if you need it. You can pass in a dictionary of examples, or you can supply a list and it will generate names based on list index for the to populate the dropdown.
Now it's very fastapi/pythonic in that you can get a list of examples easily and you can also easily add descriptive examples if you want to take the time. The following code works in my PR, it includes a list of examples and a dictionary of descriptive examples, you can test that both work by swapping which variable is provided to the Body object.
from pydantic import BaseModel
from typing import Union
from fastapi import Body, FastAPI

class Item(BaseModel):
    name: str
    description: Union[str, None] = None
    price: float
    tax: Union[float, None] = None

named_examples = {
    "normal": {
        "summary": "A normal example",
        "description": "A **normal** item works correctly.",
        "value": {
            "name": "Foo",
            "description": "A very nice Item",
            "price": 35.4,
            "tax": 3.2,
        },
    },
    "converted": {
        "summary": "An example with converted data",
        "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
        "value": {
            "name": "Bar",
            "price": "35.4",
        },
    },
    "invalid": {
        "summary": "Invalid data is rejected with an error",
        "value": {
            "name": "Baz",
            "price": "thirty five point four",
        },
    },
}

list_examples = [
    {
        "name": "Foo",
        "description": "A very nice Item!",
        "price": 35.4,
        "tax": 3.2,
    },
    {
        "name": "Bar",
        "price": "35.4",
    },
    {
        "name": "Baz",
        "price": "thirty five point four",
    },
]

#
# app
#

app = FastAPI()

@app.post("/items")
async def post_item(item: Item = Body(examples=named_examples)) -> Item:
    return item

📝 Docs preview for commit f3313ef004ebff41e38dce46be1e3ae165b904f4 at: https://e28a769a.fastapitiangolo.pages.dev

Hello all! Thanks a lot for all the effort @austinorr and everyone for the discussion. ☕
I thought it would be best to have an independent parameter openapi_examples for the OpenAPI-specific examples, and to annotate it with a TypedDict to help editors and tools verify the contents (I didn't have this before). This is probably closer to the first idea of another argument, although just for the examples. I added that here https://github.com/tiangolo/fastapi/pull/10152 with all the docs and tests.
It's available now in FastAPI 0.103.0, the new docs are here: https://fastapi.tiangolo.com/tutorial/schema-extra-example/#openapi-specific-examples
Given that I'll close this one, thanks again! 🍰


atlassian webhooks: Update docs, logos and screenshots.

@rishig: I manually tested all of the instructions for all of our Atlassian integrations, updated the logos, and updated the screenshots! Thanks! :)

These changes lgtm, so merged.  @rishig you should probably do post-commit review though.

One small note -- in general we've been favoring SVG format images for our integration logos, because the files are significantly smaller. See e.g. this:
(zulip-py3-venv) tabbott@zaset:~/zulip$ git diff upstream/master --stat
 static/images/integrations/bitbucket/003.png    | Bin 16746 -> 51577 bytes
 static/images/integrations/jira/001.png         | Bin 60153 -> 70526 bytes
 static/images/integrations/logos/bitbucket.png  | Bin 0 -> 5359 bytes
 static/images/integrations/logos/bitbucket.svg  | Bin 1351 -> 0 bytes
 static/images/integrations/logos/jira.png       | Bin 0 -> 5682 bytes
 static/images/integrations/logos/jira.svg       | Bin 1980 -> 0 bytes
 static/images/integrations/logos/opsgenie.png   | Bin 0 -> 6350 bytes
 static/images/integrations/logos/opsgenie.svg   | Bin 1696 -> 0 bytes
 static/images/integrations/logos/statuspage.png | Bin 3816 -> 5004 bytes
 static/images/integrations/logos/trello.png     | Bin 0 -> 4205 bytes
 static/images/integrations/logos/trello.svg     | Bin 470 -> 0 bytes
 static/images/integrations/opsgenie/000.png     | Bin 38137 -> 54386 bytes
 static/images/integrations/statuspage/001.png   | Bin 16291 -> 67206 bytes
 static/images/integrations/trello/001.png       | Bin 14397 -> 42806 bytes

I'm going to merge these for expedience, but we should do some cleanup on this.  @eeshangarg if you run:
ls -lhSr static/images/integrations/*/*.*

you can see that there's several logos we have that are super large and worth finding a smaller replacement for.  @synicalsyntax do you remember how you went about finding SVG versions of a bunch of logos in the past?

Thanks, lgtm! Eventually we should get some better sample messages, but that's a bigger project maybe for another day.


Rework .fromSamplesheet to a channel operator + create an equivalent function samplesheetToList

As suggested on Slack, the .fromSamplesheet channel factory has now been converted to an operator to make it possible to use files created by other pipelines in a meta pipeline. A function has also been added that returns a list of the samplesheet contents.

TODO change target branch to master once #1 has been merged

Seems like the right idea 👍

This PR is done now! Waiting for #1 to be merged before setting this ready to review

@mirpedrol can you also take a look at this please? (since it's a pretty big change)

Hi all, I'm having some weird error when trying out the dev branch on the nf-core test pipeline:
java.lang.IllegalStateException: Operator 'fromSamplesheet' conflict - it's defined by plugin nf-schema and nf-schema
	at nextflow.plugin.extension.PluginExtensionProvider.loadPluginExtensionMethods(PluginExtensionProvider.groovy:138)
	at nextflow.plugin.extension.PluginExtensionProvider.loadPluginExtensionMethods(PluginExtensionProvider.groovy:117)
	at nextflow.script.IncludeDef.loadPlugin0(IncludeDef.groovy:210)
	at nextflow.script.IncludeDef.load0(IncludeDef.groovy:106)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at Script_d399f6c5d563f9ab.runScript(Script_d399f6c5d563f9ab:13)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.selectMethod(IndyInterface.java:355)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at nextflow.script.BaseScript.run0(BaseScript.groovy:141)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.selectMethod(IndyInterface.java:355)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at nextflow.script.BaseScript.run(BaseScript.groovy:189)
	at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:236)
	at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:222)
	at nextflow.script.IncludeDef.memoizedMethodPriv$loadModule0PathMapSession(IncludeDef.groovy:140)
	at nextflow.script.IncludeDef.access$0(IncludeDef.groovy)
	at nextflow.script.IncludeDef$__clinit__closure2.doCall(IncludeDef.groovy)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
	at groovy.lang.Closure.call(Closure.java:433)
	at org.codehaus.groovy.runtime.memoize.Memoize$MemoizeFunction.lambda$call$0(Memoize.java:137)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:137)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:113)
	at org.codehaus.groovy.runtime.memoize.Memoize$MemoizeFunction.call(Memoize.java:136)
	at nextflow.script.IncludeDef.loadModule0(IncludeDef.groovy)
	at nextflow.script.IncludeDef.load0(IncludeDef.groovy:112)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at Script_d3a7893576054a4c.runScript(Script_d3a7893576054a4c:21)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at nextflow.script.BaseScript.run0(BaseScript.groovy:141)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
	at nextflow.script.BaseScript.run(BaseScript.groovy:189)
	at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:236)
	at nextflow.script.ScriptRunner.run(ScriptRunner.groovy:242)
	at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:137)
	at nextflow.cli.CmdRun.run(CmdRun.groovy:368)
	at nextflow.cli.Launcher.run(Launcher.groovy:500)
	at nextflow.cli.Launcher.main(Launcher.groovy:672)

You can see the adjusted code for the test pipeline here: https://github.com/nvnieuwk/testpipeline/tree/nf-schema-plugin
I've no idea left on what to try (I've deleted all cached data I know of, I've updated the nextflow version to the latest edge version...)

I've no idea left on what to try (I've deleted all cached data I know of, I've updated the nextflow version to the latest edge version...)

I think the edge version might be the issue! I can reproduce the same error with nextflow version 24.03.0-edge, but if I use 23.10.1 it works fine.

I think the edge version might be the issue! I can reproduce the same error with nextflow version 24.03.0-edge, but if I use 23.10.1 it works fine.

I've also tried it with 23.10.1 but it still fails for me :/
N E X T F L O W  ~  version 23.10.1
Launching `main.nf` [hungry_pesquet] DSL2 - revision: d17b498066
ERROR ~ Operator 'fromSamplesheet' conflict - it's defined by plugin nf-schema and nf-schema

 -- Check script './workflows/../subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf' at line: 13 or see '.nextflow.log' file for more details

After some more testing I noticed that loadPluginExtensionMethods is being executed twice, which causes the error because fromSamplesheet is already loaded at that point.

Okay I found a fix! (not an ideal one but works for now).
It works if I include fromSamplesheet in the main.nf file of the pipeline instead of in a subworkflow. It seems a bit weird to import it somewhere else, but I'll update the migration docs now with this workaround.

I've also tried it with 23.10.1 but it still fails for me :/

Ah, I was not using the properly adjusted testpipeline.. I also get the same error on 23.10.1 with the fully adjusted code.
In my edit I had manually swapped nf-validation for nf-schema in the nextflow.config, and also where it gets imported in the subworkflows. But I missed workflows/testpipeline.nf. When I also swap import in that file (which is for paramsSummaryMap, not even fromSamplesheet), I again get the same error..  Seems like some inconsistency in nextflow's plugin import process 🤔

Yeah some weird stuff is going on :grin: This needs to be fixed first though! Thanks for also going through this and confirming it's not just me

I thought it might have something to do with loading an operator in a module, but I couldn't reproduce any error. If you can show me a minimal reproducible example, I can look into it

I have the error in this branch of the nf-core template test pipeline: https://github.com/nvnieuwk/testpipeline/tree/nf-schema-plugin. If you try it out with this branch, you should get the error (at least @human9 and I got it by testing it this way)

I've so far been unable to recreate the error in any other way.

I was editing nextflow.config and pinning the version, and I used the NXF_PLUGINS_DIR variable to point to a locally built plugin.
I believe I can reproduce a minimal example with the nf-hello plugin. Here's a diff from mainline testpipeline that reproduces for me on nextflow 23.10.1:
diff --git a/subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf b/subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf
index dc90ad9..70b775e 100644
--- a/subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf
+++ b/subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf
@@ -11,6 +11,7 @@
 include { UTILS_NFVALIDATION_PLUGIN } from '../../nf-core/utils_nfvalidation_plugin'
 include { paramsSummaryMap          } from 'plugin/nf-validation'
 include { fromSamplesheet           } from 'plugin/nf-validation'
+include { goodbye           } from 'plugin/nf-hello'
 include { UTILS_NEXTFLOW_PIPELINE   } from '../../nf-core/utils_nextflow_pipeline'
 include { completionEmail           } from '../../nf-core/utils_nfcore_pipeline'
 include { completionSummary         } from '../../nf-core/utils_nfcore_pipeline'
@@ -41,6 +42,8 @@ workflow PIPELINE_INITIALISATION {

     ch_versions = Channel.empty()

+    channel.of('uh oh').goodbye()
+
     //
     // Print version and exit if required and dump pipeline parameters to JSON file
     //
diff --git a/workflows/testpipeline.nf b/workflows/testpipeline.nf
index 5a1bf8e..5f88a38 100644
--- a/workflows/testpipeline.nf
+++ b/workflows/testpipeline.nf
@@ -7,6 +7,7 @@
 include { FASTQC                 } from '../modules/nf-core/fastqc/main'
 include { MULTIQC                } from '../modules/nf-core/multiqc/main'
 include { paramsSummaryMap       } from 'plugin/nf-validation'
+include { goodbye                } from 'plugin/nf-hello'
 include { paramsSummaryMultiqc   } from '../subworkflows/nf-core/utils_nfcore_pipeline'
 include { softwareVersionsToYAML } from '../subworkflows/nf-core/utils_nfcore_pipeline'
 include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_testpipeline_pipeline'
@@ -33,9 +34,1N E X T F L O W  ~  version 23.10.1
Launching `./main.nf` [agitated_boltzmann] DSL2 - revision: d17b498066
ERROR ~ Operator 'goodbye' conflict - it's defined by plugin nf-hello and nf-hello

 -- Check script './workflows/../subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf' at line: 14 or see '.nextflow.log' file for more details
3 @@ workflow TESTPIPELINE {
     FASTQC (
         ch_samplesheet
     )
+
     ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]})
+

output:
N E X T F L O W  ~  version 23.10.1
Launching `./main.nf` [agitated_boltzmann] DSL2 - revision: d17b498066
ERROR ~ Operator 'goodbye' conflict - it's defined by plugin nf-hello and nf-hello

 -- Check script './workflows/../subworkflows/local/utils_nfcore_testpipeline_pipeline/main.nf' at line: 14 or see '.nextflow.log' file for more details

as far as I can tell the key to triggering it is importing the plugin in more than one workflow

How are you providing the plugin? I see it in the nextflow.config but the version is not pinned, Nextflow will try to download the plugin from the main registry

I forgot to push the latest changes sorry for that! I install the plugin like you showed in the podcast with make install and then I ran nextflow run main.nf --outdir results -profile test,docker in the directory of the test pipeline

Even more minimal! https://github.com/human9/nextflow-import-issue
All it requires is the import in two different files.

Thank you so much @human9 :partying_face:

Thanks @human9 , looks like you found a Nextflow bug.
Interesting because nf-core/rnaseq already includes from nf-validation in multiple modules without any issue. Makes me think the bug happens only with operators
@nvnieuwk while I do intend to squash the bug in Nextflow, I am also wondering if you really need both the fromSamplesheet operator and the samplesheetToList function? I think you could just have a fromSamplesheet function which would be used as follows:
schema = file('schema_input.json')

// equivalent to channel factory
Channel.fromList( fromSamplesheet(path, schema) )

// equivalent to operator
Channel.fromPath('samplesheet.csv') | flatMap { path -> fromSamplesheet(path, schema) }

I don't mean to dodge the operator issue, but it does seem like that would simplify things for you. I'm also trying to discourage people from creating operators that could just be a map/flatMap + regular function.

That's actually a pretty good idea! Maybe I'll tweak the naming a bit so it's clear in the migration that it's no longer a factory/operator but a function (samplesheetToList might describe it better than fromSamplesheet). That way we can also keep supporting lower Nextflow versions which would be a nice thing for nf-core pipelines.
I'll repost this in the nf-validation slack channel first though to see if everyone is on board with this.
Thanks for the help @bentsherman and @human9. I'll implement the changes now!

Okay I'll just merge this for now. We can still change some things if stuff comes up later


meioNovel (source) just show one page

on MeioNovel (source indonesia) it only shows one page. I tried to look at the web and there are a lot of novels.
i tried to look in the sourcecode and in "https://github.com/LNReader/lnreader/tree/main/src/sources/id" MeioNovel does not exist. even though it's in the app.

That source is in multiSrc as it follows a common template, just need to add total pages for that source in MadaraSources.json.
Also open source related issues in the sources repo.


[Feature] Added configuration for exit in instructions

Se permite modificar el texto de salida de la pantalla de instrucciones.
Cómo se hace:
PaymentResultScreenPreference paymentResultScreenPreference = new PaymentResultScreenPreference.Builder()
                .setExitButtonTitle("Ir a Actividad")
                .build();

Codecov Report

Merging #484 into release/3.0.0 will increase coverage by 0.18%.
The diff coverage is 0%.

@@               Coverage Diff                @@
##           release/3.0.0    #484      +/-   ##
================================================
+ Coverage           7.76%   7.94%   +0.18%
================================================
  Files                194     194
  Lines              14830   14839       +9
  Branches            1305    1305
================================================
+ Hits                1151    1179      +28
+ Misses             13540   13521      -19
  Partials             139     139

Impacted Files
Coverage Δ

...va/com/mercadopago/core/MercadoPagoComponents.java
0% <0%> (ø)
:arrow_up:

...ain/java/com/mercadopago/InstructionsActivity.java
0% <0%> (ø)
:arrow_up:

...in/java/com/mercadopago/PaymentResultActivity.java
0% <0%> (ø)
:arrow_up:

...rc/main/java/com/mercadopago/CheckoutActivity.java
9.72% <0%> (+3.82%)
:arrow_up:

.../java/com/mercadopago/MercadoPagoBaseActivity.java
73.68% <0%> (+21.05%)
: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 c5b28ae...b627148. Read the comment docs.


healthsites.io SDG's

please could we add this copy to the front page of healthsites
Sustainable Development Goal - SDG 3.8
achieve universal health coverage (UHC), including financial risk protection, access to quality essential health care services, and access to safe, effective, quality, and affordable essential medicines and vaccines for all
http://indicators.report/targets/3-8/

do we need this @markherringer ?


console error

Name
mkfdark
Description:
wheb i was setting up a skywars game my server crashed and it came up with this
How to reproduce?

...
...

Server version:

This server is running ... 「3.11.1」 implementing API version ... for Minecraft: ... ... (1.14.1)

Other informations: console error
[18:30:56] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump
[18:30:56] [Server thread/EMERGENCY]: Please upload the "C:\Users\windows\Desktop\PocketMine-MP\crashdumps/Sat_Dec_28-18.30.56-GMT_2019.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.
[18:30:56] [Server thread/EMERGENCY]: The crash dump has been automatically submitted to the Crash Archive. You can view it on https://crash.pmmp.io/view/3441812 or use the ID #3441812.

I think the world of the SkyWars arena doesn't exists

I did though


Fixed contributor avatar links

Pull request checklist:

[ ] CHANGELOG.md was updated, if applicable
not applicable

Description
Had to put them in qtresource format so those will actually display in Settings -> About (Reference).
Question is, can I also put my GitHub avatar (and preferrably avatars of others) to resources folder? 🙂

seems good to me, and you're fine to add your own avatar to the list :+1: let others add their own avatar if they wish now that we have the established format.
if you could also add some instructions regarding avatar adding to the same document (e.g. size limitations, use pngcrush on the avatar etc)


Remove meta-rust

meta-rust was removed from the manifest in https://github.com/jhnc-oss/yocto-manifests/pull/39, but I missed to update bblayers.

I'm merging this PR directly as the build is broken without it.


gpt_disk_io: Deduplicate buffer_byte_range code

Codecov Report

Merging #121 (1319f1f) into main (7275da3) will decrease coverage by 0.08%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #121      +/-   ##
==========================================
- Coverage   94.15%   94.07%   -0.08%
==========================================
  Files          14       14
  Lines        1437     1418      -19
==========================================
- Hits         1353     1334      -19
  Misses         84       84

Files
Coverage Δ

gpt_disk_io/src/slice_block_io.rs
100.00% <100.00%> (ø)


Zncl2222/docs/readme

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 85.95%. Comparing base (80d8cf5) to head (e1e424e).

:exclamation:  There is a different number of reports uploaded between BASE (80d8cf5) and HEAD (e1e424e). Click for more details.
HEAD has 5 uploads less than BASE

Flag
BASE (80d8cf5)
HEAD (e1e424e)

6
1

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #165      +/-   ##
==========================================
- Coverage   95.42%   85.95%   -9.48%
==========================================
  Files          27        7      -20
  Lines        3106      997    -2109
==========================================
- Hits         2964      857    -2107
+ Misses        108      106       -2
  Partials       34       34

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Implement TLS destructors

Closes #19
Reopening of #28 after a fluke...
Starting discussion from this comment.
This is ready to be merged!

Finally fixed! Turns out it was just an issue with reentrancy I had overlooked from the standard pthread implementations. Thanks to the help I got on Zulip :sweat_smile:. This is finally working!


Webcam Source does not find the camera on Hololens 2.

Describe the bug
If I have the webcam source component as the video track source and running on Hololens 2, I get errors like:
'The stream number provided was invalid.'
'No capture devices are available.'.
Output-Debug.txt
However if I print the first device from PeerConnection.GetVideoCaptureDevicesAsync() rigth before WebcamSource.cs is setting the deviceConfig  "var deviceConfig = new LocalVideoDeviceInitConfig"
It prints:
" \?\DISPLAY#QCOM_AVStream_850#3&809a381&0&UID32768#{e5323777-f976-4f5b-9b55-b94699c46e44}{5584F823-3830-4CFD-947F-78DE17A8B14C} "
Does that mean it can find the camera but not use it for some reason?
If I use SceneVideoSource on my desktop in Unity insted of WebcamSource on Hololens 2 it works. So the webrtc signaling part should be working.
Expected behavior
A video stream sent from my Hololens 2.
Environment

Git branch: master
Platform: UWP
Architecture:  ARM
Unity version : 2019.3.15f1
Target device:  HoloLens 2

The camera was detected, but is not available. There is likely another application using it, possibly another instance of the app still runnning; check with the Developer Portal maybe? I tested the master branch yesterday and everything works fine.

I have same issue. My develop Environment is Unity, hololens2, ARM.
'The stream number provided was invalid.'
'No capture devices are available.'.
Same error.
I check Developer Portal. But Not found any camera use App.

@kiokju did you find a solution?

@kiokju did you find a solution?

Yes. Maybe It was Unity version issue.  After 2019.4.14. This issue is fixed.


Feature: Proper Documentation

Currently the current way of documentation that exist are 4 set images that document how to export the map (although it lacks the minimum object layers to make map playable at bare minimum) and some basic documentation of the Kristal's APis

are you referring to the wiki? the documentation there is really good, i'm unsure what you'd want changed

oops, i'm sorry i didn't noticed that there's a wiki! my bad :sweat_smile:


Fixed Arrow Keys in text editors moves the map (issue #9)

Fixed #9
I added a custom UIInput component.
When OnSelect is triggered, it disables the cameracontrol pan.
When OnDeselect is triggered, it reenables the cameracontrol pan

The EndEdit event did the same as OnDeSelect so it was done twice.
I decided to remove this EndEdit procedure (and listener) and leave the OnDeSelect to reactivate PanStrafe