problems with pics/illustrations

i dont know why but some day the pics broke/corrupted,i tried re-download the serie, but no sign of sucess, so i deleted the entire save file and downloaded again and no sucess again,someone knows how i can solve the problem?
some screenshots:
http://prntscr.com/6abwkb

what is the novel an chapter name?

mondaiji tachi isekai kuru desu yo vol 4 ch 3, but it happens to ALL series,i just printscreen those since i was reading it at moment

Same problem here. Every pic is broken and doesn't shows up in the novel. And now it seems the app won't work without enabling https it keeps throwing exceptions when https is disabled it was working fine a few days ago :(

@aahmyu
try clear the Datebase,and go to your photoview and delete ALL LN illustrations,and re-downlaod your series and go to settings-->reading layout and enable the option "show images".
this worked for me


Set up Google Analytics for the Site

Pretty straightforward. Please make sure its done in a way such that multiple people can view the data.
I tried this earlier and wasn't able to get it to work, so you might see some of those scripts at the bottom of files. Feel free to delete it.

Wouldn't this need to bet set up through the Badgerloop Google account?

I'm not really sure why the GA script got added to every single HTML file in this commit.
It only ever needed to be added to index.html.
Please get rid of this ASAP

If the right way to do this is through the badgerloop gmail address let me know and I can share that login info

I removed all the bad GA scripts

Should bump this


[move-operator] Start having SILGen emit lexical lifetimes and teach the optimizer how to maintain lexical lifetimes until the lexical lifetime elimination.

I am doing this so that I can use lexical lifetimes to emit diagnostics such as
the move operator diagnostics.

@swift-ci test

@swift-ci benchmark

Performance (x86_64): -O

Regression
OLD
NEW
DELTA
RATIO

StringBuilder
307
331
+7.8%
0.93x (?)

EqualSubstringSubstring
39
42
+7.7%
0.93x (?)

EqualStringSubstring
39
42
+7.7%
0.93x (?)

EqualSubstringString
39
42
+7.7%
0.93x (?)

ConvertFloatingPoint.MockFloat64Exactly2
26
28
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

AnyHashableWithAClass
116500
95000
-18.5%
1.23x

ObjectiveCBridgeFromNSArrayAnyObjectForced
6140
5160
-16.0%
1.19x (?)

NSDictionaryCastToSwift
1640
1480
-9.8%
1.11x (?)

ObjectiveCBridgeStubFromNSDate
7070
6480
-8.3%
1.09x (?)

AngryPhonebook.Armenian.Small
597
557
-6.7%
1.07x (?)

Code size: -O
Performance (x86_64): -Osize

Regression
OLD
NEW
DELTA
RATIO

AngryPhonebook
504
567
+12.5%
0.89x (?)

LessSubstringSubstring
40
44
+10.0%
0.91x (?)

DataCountMedium
31
34
+9.7%
0.91x (?)

StringBuilder
305
330
+8.2%
0.92x (?)

StringBuilderSmallReservingCapacity
315
340
+7.9%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeFromNSSetAnyObjectToString
86500
76500
-11.6%
1.13x (?)

Data.append.Sequence.809B.Count.RE
112
101
-9.8%
1.11x (?)

DataSubscriptSmall
34
31
-8.8%
1.10x

NSDictionaryCastToSwift
1630
1490
-8.6%
1.09x

AngryPhonebook.Armenian.Small
601
552
-8.2%
1.09x (?)

Data.append.Sequence.809B.Count.RE.I
109
101
-7.3%
1.08x (?)

NSStringConversion.Rebridge.LongUTF8
55
51
-7.3%
1.08x (?)

AngryPhonebook.Strasse.Small
681
632
-7.2%
1.08x (?)

Code size: -Osize
Performance (x86_64): -Onone

Improvement
OLD
NEW
DELTA
RATIO

LineSink.scalars.alpha
434
353
-18.7%
1.23x (?)

AnyHashableWithAClass
156000
131000
-16.0%
1.19x (?)

StringBuilderWithLongSubstring
4320
3870
-10.4%
1.12x (?)

ObjectiveCBridgeFromNSSetAnyObjectToString
97000
88000
-9.3%
1.10x (?)

AngryPhonebook.Strasse.Small
714
650
-9.0%
1.10x (?)

String.replaceSubrange.ArrChar.Small
83
77
-7.2%
1.08x (?)

AngryPhonebook.Cyrillic.Small
642
598
-6.9%
1.07x (?)

AngryPhonebook.Armenian.Small
620
579
-6.6%
1.07x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

Build failed
Swift Test Linux Platform
Git Sha - 466f15f276b779d1895ae08a60b4fccbea2611a3

Build failed
Swift Test OS X Platform
Git Sha - 466f15f276b779d1895ae08a60b4fccbea2611a3

Some of the linux failures look real. I am building on my side machine.

Build failed
Swift Test OS X Platform
Git Sha - 466f15f276b779d1895ae08a60b4fccbea2611a3

@swift-ci test macOS platform

@swift-ci test windows platform

Build failed
Swift Test OS X Platform
Git Sha - 466f15f276b779d1895ae08a60b4fccbea2611a3

@swift-ci test macOS platform

Just to be complete, macOS full test passed. I am looking into the linux issues.

@swift-ci test

I tracked down the linux issue to https://github.com/apple/swift/pull/40287

Build failed
Swift Test Linux Platform
Git Sha - 1ee902919f14042414a9882f451e9913c49137f3

I disabled the two tests that are failing on Linux/windows so I can get the rest of the testing done.

@swift-ci test

@swift-ci test source compatibility

I figured out that the two remaining test failures were just due to the test relying on enable copy propagation. So I disabled lexical lifetimes on that test for now until Nate has a chance to look at that.

@swift-ci test

Since the bots are backed up, if all of the tests pass, then I am going to merge this despite the first commit already being merged in the other PR. I just think it will let me get it done faster without any need to retest/overuse resources.


HTML webpack plugin error

After creating react app and when I am typing "npm start" inside the application and web browser is is opening with an error "HTML Webpack plugin".

Hi @apparivenkat thanks for reporting,
Please provide steps for replicating the issue,
What version of CRAm node, yarn, npm and OS are you on?

i have the same strange behavior
Setup:
macOS 12.0.1 (21A559)
Chip: Apple M1
yarn 1.22.10
node v16.13.1
Steps To Reproduce:
yarn create react-app my-app --template typescript
cd my-app
yarn start

Hello @raix   Thanks for reverting back on my issue.
kindly check the attached images .

showing "yarn" not recognized
On Sun, Dec 19, 2021 at 5:46 AM Fxva @.***> wrote:

i have the same strange behavior
Setup:
macOS 12.0.1 (21A559)
Chip: Apple M1
yarn 1.22.10
node v16.13.1
Steps To Reproduce:
yarn create react-app my-app --template typescriptcd my-app
yarn start
—
Reply to this email directly, view it on GitHub
https://github.com/facebook/create-react-app/issues/11789#issuecomment-997304289,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWT6Z3UJ5OQ5NPTSIYHE52TURUP5ZANCNFSM5KIART6A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

I get the same error after creating a new react project, downgrading react-scripts to 4.0.3 from 5.0.0 solved it for me.


Exception in thread "FTSIndexQueue" after Jetty Startup

I upgraded to the following nightly build of 8.1.1 (see screenshot)

After the server started, the console showed the information attached.  This was NOT written to the server log.
08082022log.txt
Per Development review:
That related to the POI security update https://github.com/percussion/percussioncms/security/dependabot/39.  The security issue has been resolved.  This is a regression in the indexing of office documents only.

Additional info - Once the error occurs, you cannot cleanly shut down Jetty.  It hangs at "Shutting down Index queue" shutdown.  I had to close the console via the 'X" on the dos window and do an OS restart.

The different File types need uploaded as assets before search indexing in order to reproduce this.  You need a Word document, Excel, Powerpoint, and PDF assets to get the text extraction errors.


Rename Resource DefaultPluginState

Just a small point: The plugin state should not be named 'DefaultPluginState'. I suggest to use 'DefaultRaycastPluginState' instead.

State has been renamed in 0.9.0.


feat: create recipe for Block in CAA SDK

Requirements

Create all custom attributes needed for a Block
Create an attribute bag and add all above attributes to this bag
Associate bag to a block
Add values for attributes
Fetch block with attribute values (from bag)

Development Tasks

[x] 1. Stub out recipe methods for block
[x] 2. Create all these block attributes

[x] a. Completed
[x] b. Block ID
[x] c. Name
[x] d. Description
[x] e. Simple Description
[x] f. Tags
[x] g. Flag
[x] h. Block Type
[x] i. Scale & Scale Value
[x] j. Due Date
[x] k. Start & End Date
[x] l. Allow Archival

[x] 3. Create attribute bag with these attributes
[x] 4. Associate the attribute bag with a block
[x] 5. Add values to the block attributes
[x] 6. Fetch & display all block attributes with values

PR: https://github.com/snowpal/pitch-custom-attribution-sdk/pull/25


Texture.destroy doesn't reset _glTextureId

https://github.com/playcanvas/engine/blob/master/src/graphics/texture.js#L281
Texture.destroy has a check to see if it has already been destroyed but it doesn't work. This means it is possible to call Texture.destroy() multiple times and the VRAM usage is decremented each time.

Fixed in https://github.com/playcanvas/engine/pull/630


OCM-4178 | fix: ROSA CLI N/W Verifier Error Message for IPI VPC Clusters

rosa network verify on a non-BYO VPC cluster will error with "no subnets on cluster xyz" which could be a confusing output. This PR adds a check for BYO VPC and a corresponding error, as well as moving a "IsBYOVPC" function to a common file to avoid code duplication and improve readability. There is also a unit test to verify the fix.
https://issues.redhat.com/browse/OCM-4178

/retest

/lgtm


Emacs style ctrl-g, ctrl-n, and ctrl-p

These are nice key bindings that keep your hands at home row. Ctrl-g is less important considering ctrl-c and ctrl-d already do this, but it's muscle memory for me so I threw it in there.

Hey @ElvishJerricco! If we could get the formatting sorted on this one, I'll be happy for it to be merged. Thank you for your work!


Avoid the terminal messages if checkvars.py is writing the xlsx files

Avoid the terminal messages if checkvars.py is writing the xlsx files with the verbose -v option. This in order to keep eye on other error or warning messages which otherwise are easy overlooked if the huge lists of ignored, identified missing and missing variables are messaged in the terminal output.

Done.


Can't start container with mount  :shared is causing issues

Hi all,
after updating my qnap it seems that using :shared property is causing a problem.
When I remove it I can only use the local content (as intended), when I add it I am not able to start the container.
Error response from daemon: linux mounts: Path /share/Media/cloud-encrypt is mounted on /share/CACHEDEV1_DATA but it is not a shared mount.
I can access the folders through /share/Media or through /share/CACHEDEV1_DATA which seems to be linked.
I tried through console something like "mount --make-shared /share/CACHEDEV1_DATA" but I only get an error.
Does anybody has an idea how to mount this share or to solve this problem in general? Normally I would say I even don't need CACHEDEV1_DATA since it worked before without...
Thank you. :-)

I created a new folder and bound it to my original settings:

mkdir /plexdrive
mount --bind /share/Media /plexdrive

Now I am getting the same problem with different folder
Error response from daemon: linux mounts: Path /plexdrive/cloud-decrypt is mounted on /plexdrive but it is not a shared mount.
Does anybody mean what it means with is not a shared mount? I am trying now for hours changing settings in the docker container and within the shell. :-(

Hi there.
Can you give some details about the docker version you are using?
Also does it work if you don't bind /share/Media/cloud-encrypt but just ignore it when creating the container?

It does not help. After I removed the cloud-encrypt entry it takes the next volume which is used. First it showed encrypt as problem, no it shows decrypt which is not shared.
It seems that it might be a docker bug regarding a default setting of MountFlags=slave when docker is started through systemd.
https://groups.google.com/forum/#!topic/portworx/A2vtTjjzSLI
Here are the settings:
`Client:
Version:      17.07.0-ce
API version:  1.31
Go version:   go1.8.3
Git commit:   fd7dc00
Built:        Thu Feb  8 15:57:38 2018
OS/Arch:      linux/amd64
Server:
Version:      17.07.0-ce
API version:  1.31 (minimum version 1.12)
Go version:   go1.8.3
Git commit:   fd7dc00
Built:        Thu Feb  8 15:57:38 2018
OS/Arch:      linux/amd64
Experimental: false        `

Did you try to unset MountFlags=slave and restart Docker?

Do you have an idea where I can do this on QNAP? Can't find it. :-((((((

I don't own a QNAP but I think you'll have to SSH into it and run the command unset MountFlags=slave

Did that help?

Thanks for the link and asking for it! Really appreciate it! Unfortunately not since systemctl is not available. Question is how this can be and how I could set since no path of the example is available. But when I try the check to see if I am affected I am positive.

Is it possible to edit a bind volume entry as shared via portainer? Just tried to start the container there. Same problem but as expected. Pressed recreate to pull the latest build and deploy with same settings. It automatically starts the container. works. But the problem is - even though I set in the past :shared it does not reuse this information and instead it sets it automatically to :rprivate. Really strange.

I tried for hours to get this working on my Synology, but I finnaly found something which made it work.
Before creating the docker container (with the :shared appends), run this on your synology:
sudo mount --make-shared /volume1 (or whatever your volume is).
After that create the docker container like described in the Readme, and everything works :)

I tried for hours to get this working on my Synology, but I finnaly found something which made it work.
Before creating the docker container (with the :shared appends), run this on your synology:
sudo mount --make-shared /volume1 (or whatever your volume is).
After that create the docker container like described in the Readme, and everything works :)

Thank you! I've added it to the readme


Test for leaks when --load-images=no.

This test, when run with phantomjs built with --debug, demonstrates the leak described in #12903. The html loads specifies two images and results in the output below. I've varied the number of images and it appears to leak the number of images + 1 of each of the two objects. I'm investigating.
module/webpage/load-images-no: ERROR
ERROR: Unexpected output on stderr
LEAK: 3 CachedResource
LEAK: 3 WebCoreNode

Could you please augment the test so that it also tests for images genuinely not getting loaded in --load-images=no mode?  Then it would be doing something useful in both debug and release builds.

Replacing this PR with #13980.


Can you help fix my corrupt exe.xml file?

Software version
0.6.0
Problem
BetterBravoLights refused to install because my exe.xml file is corrupt.
My exe.xml file is located at
C:\Users\jstor\AppData\Local\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalCache\exe.xml
The error reported was
Unexpected end tag. Line 7, position 3.

The contents of the exe.xml file are as follows:
<?xml version="1.0" encoding="Windows-1252"?>
  <Launch.Addon>
    <Name>AFCBridge</Name>
    <Disabled>False</Disabled>
    <Path>G:\Base Sim\community\AFC_Bridge\bin\AFC_Bridge.exe</Path>
   </Launch.Addon>
</SimBase.Document>

I understand that BetterBravoLights didn't corrupt the file and that it's simply warning
about the corrupted file. But could you help me fix it?

Hi @jstorey20
Your exe.xml file is missing the initial <SimBase.Document> open tag.
So the file should be:
<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document>
  <Launch.Addon>
    <Name>AFCBridge</Name>
    <Disabled>False</Disabled>
    <Path>G:\Base Sim\community\AFC_Bridge\bin\AFC_Bridge.exe</Path>
  </Launch.Addon>
</SimBase.Document>

No problem. Did it fix it okay?

Sorry this a bit late but yes working ok now thanks again
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows
From: Royston @.>
Sent: 08 November 2021 19:59
To: @.>
Cc: @.>; @.>
Subject: Re: [RoystonS/BetterBravoLights] Can you help fix my corrupt exe.xml file? (Issue #18)
No problem. Did it fix it okay?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/RoystonS/BetterBravoLights/issues/18#issuecomment-963521565, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALA7AVM7TDDN7PUPBCYB5WTULATYDANCNFSM5HPRLMRQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Great stuff!


add version to landing page

This will help people to identify the latest version of Deno, as well as be able to find such information.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[WIP] Interop client enhancement

[ ] Automate interop test to run against all known endpoints at once, when run whitout arguments #524
[ ] Run interop test with HTTP/0.9 / H3 flags to select which tests to execute

If you guys see other subjects to adress, I'd be pleased to implement them.
Do we have to stick with the manual runtime syntax ?
Could it be interesting to run each endpoint interop in parallel ?

Looks good to me (though I don't know this code very well.
Doing stuff in parallel seems like an obvious win indeed. Definitely don't have to stick with the manual runtime syntax!
(Needs some cargo fmt love according to CI.)

This is looking great! Looking forward to merging this.

Glad you appreciate this!
For the moment, all it's got is:
quant:
nghttp2:
mvfst:
picoquic:
msquic:
msquic-hq:
f5:
ATS: VHDCRZS3
quiche-http/0.9:
quiche:
lsquic: VHDCRZSBU3
ngx_quic:
aioquic:
gQuic: VHDCRSB3

Most of the empty result will be fixed by getting the interop tool right, hopefully. I guess some endpoints are not configured well for now, and hq part of the interop has regressions.
Also, I still have to implement the d test, for Dynamic table (right now it runs by default with dynamic QPACK enabled).

Should probably focus on fixing the hq regressions. Let's not block this PR on implementing the d test.

I'm not sure I'm actually facing regressions. I guess I'll need help on that. Maybe we could merge it if you are both OK with the implementation.

I'm not sure I'm actually facing regressions

You can test that by running the old interop test on master against a host manually. For example, cargo run -- quant.eggert.org yields VHDCRZSBU; at a guess there's probably something broken in the hq tests in this PR.


libde265: 1.0.8 -> 1.0.9

Description of changes
Fixes CVE-2021-36409, CVE-2021-35452, CVE-2021-36408, CVE-2021-36410 and CVE-2021-36411. Closes #160667.
https://github.com/strukturag/libde265/releases/tag/v1.0.9

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This will need to be -> staging

I hesitated but the last PR on this package targeted master directly.


Panic on no keys in multi-operations

When playing with this client, I ran into a weird error and realized on multi-commands when sending no keys you got a strange error because we couldn't unwrap no keys.
I waffled on returning just an empty Ok vs panicking with an assert, but I think that sending no keys isn't something that should be "invalid" it should just early out and not actually make any attempt to serve from the datastore.
I made asserts and panicked when there were no keys passed in so the error messages were more clear.
Let me know if you agree with my approach, I also added in some additional tests. I'm not super well versed in Rust so if my approach to organizing the tests is wrong please let me know and I can adjust.

Key shouldn't be empty. I think it should be an error instead of returing an Empty value.

@zonyitoo addressed - changed to panic instead.

Clippy should complain that .len() > 0 should be replaced by .empty() :P

I don't think empty() exists in this context?

https://doc.rust-lang.org/std/collections/btree_map/struct.Keys.html
We would have to collect the keys into a collection then use .empty() which feels like an unneeded additional step.


Right-click menu supports opening and closing files

Scenario: Usually there are a lot of files in a project. When I find a suitable file in many files, it may be closed due to my mistake. At this time, it is not easy to repair this operation, and I can only find it again.
Feature: Is it a good choice to add an option to reopen the last or group of closed files in the file tab right-click menu?
Remarks: I searched for relevant documents and did not find a similar function. If this function is confirmed to be developed, I expect that I can participate and provide pr.

With VS Code, a lot of functionality is in the command palette.
If you hit F1 to open the command palette, you can search for the "View: Reopen Closed Editor" command. That command (along with its customizable keybinding) reopens the closed editor.
Therefore, there is a command to reopen the last editor, but there's no context menu entry for it.
Is this issue a feature request to add the context menu entry, or does my suggestion resolve the issue?

Sorry, I did not understand the command very deeply. I think your solution is very good, and there is no need for new features for the time being.


Delete api_fuzzer.cc

I'm curious as to why

Overall, the opinion at the time was that the results from the api_fuzzer were being too noisy.

I really fail to see how finding out how your project can break from user
input can ever be too noisy.
On Thu, Sep 23, 2021 at 10:40 AM Yash Tibrewal @.***>
wrote:

Overall, the opinion at the time was that the results from the api_fuzzer
were being too noisy.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/pull/22175#issuecomment-926021348, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACNG45OO5WUIC36PMNUOISDUDNRBLANCNFSM4K5F6TUA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

and given that we don't do exhaustive error checking on input arguments, it was one of -

Perform exhaustive checks on input
Maintain the status quo. Go through all reported cases, and ignore ones where the input is something that the API does not allow. (Bugs were going unattended since the ones that we did spend time on ended up being just bad user input disallowed by the API that we don't have checks for.)
Delete the api_fuzzer

So I think my argument is that we should add those checks: there should
never be a case whereby we receive an input and crash.
Oftentimes the input is coming from an uncontrolled source and just passed
through by the application, and so by not vetting our inputs we're either
forcing our users to implement our checks for us, or leave themselves open
for an outage caused by an exploitable crash in gRPC.
Further, ignoring fuzzer outputs always lessens their effectiveness, so by
ignoring found errors we made the fuzzer less useful. This fuzzer will
construct random batches and has scope for fault injection, letting us
catch some of the ordering problems that come up semi-regularly. However,
if the fuzzer can't get past the unvalidated input (for which we should
have validation) then it becomes unable to test those deeper scenarios.
On Thu, Sep 23, 2021, 11:06 AM Yash Tibrewal @.***>
wrote:

and given that we don't do exhaustive error checking on input arguments,
it was one of -

Perform exhaustive checks on input
Maintain the status quo. Go through all reported cases, and ignore
ones where the input is something that the API does not allow. (Bugs were
going unattended since the ones that we did spend time on ended up being
just bad user input disallowed by the API that we don't have checks for.)
Delete the api_fuzzer

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/pull/22175#issuecomment-926038434, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACNG45L47XNO5765PKFHTN3UDNUAVANCNFSM4K5F6TUA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Wrong link when we click on the second option (RBAC)

The second link that should take us to RBAC documentation when accessing event hubs actually takes us to SAS documentation:
Please replace the link with the correct one.
Thanks

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

ID: f4642657-5800-d9af-69cd-9623b8e2c4bc
Version Independent ID: 5fb587c3-318f-56a9-6eb2-0d3935e98694
Content: Authenticate access to Azure Event Hubs with shared access signatures - Azure Event Hubs
Content Source: articles/event-hubs/authenticate-shared-access-signature.md
Service: event-hubs
GitHub Login: @spelluru
Microsoft Alias: spelluru

Thank you for reaching out and bringing this to our notice. At this time we are reviewing the feedback and will provide an update as appropriate.

Fixed now
#please-close


What does this buy us exactly?

Would love an explanation in the readme on what this gem does exactly and why it's needed.
I'm using the following two gems on Heroku:
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

Also, using paperclip/S3 to attach the files to a model.
It works sometimes, sometimes I get this error (seems random on when it works):
Error: Failed to execute:
2016-03-17T19:25:16.368818+00:00 app[web.1]: ["/app/vendor/bundle/ruby/2.0.0/bin/wkhtmltopdf", "-q", "file:////tmp/wicked_pdf20160317-15-h75sns.html", "/tmp/wicked_pdf_generated_file20160317-15-pmd4c9.pdf"]
2016-03-17T19:25:16.368819+00:00 app[web.1]: Error: Interrupted system call - /app/vendor/bundle/ruby/2.0.0/bin/wkhtmltopdf
2016-03-17T19:25:16.370493+00:00 app[web.1]: Completed 400 Bad Request in 6578ms (Views: 0.7ms | ActiveRecord: 252.3ms)

Sorry, I know this isn't a very detailed error.
Do you know if this gem will solve whatever the problem here is? Does the error have something to do with writing to the filesystem on Heroku?
Do I need to replace the 'wkhtmltopdf-binary' gem with this one?
Thanks much.

Hello,
wkhtmltopdf-heroku gem provides the latest binary built for Ubuntu 14.04 LTS (which is used by heroku)
the binary gem you are using may provide an outdated version of wkhtmltopdf . that gem was meant for development and testing since it contains different binaries for different OS.
I'd recommend switching to this gem and see if the error persists. Also for development please try 'wkhtmltopdf-binary-edge' gem since the original one is no longer maintained.
since your issue happens randomly - I'd suggest take a look into your html file. does it happen for all htmls? or only specific ones? could you try to replicate this issue by generating PDFs for the same file repetitively? (in heroku console)
I've been using this gem in production for years - generated ten thousands of PDFs without any major issues. one thing to note is that I try to avoid using external resources in the HTML. I use helpers to convert any external files(css, js, images, fonts) to base64 strings and embed them into the html directly. Also please try to avoid remote resources ( loading files that are not on your server) - which may be causing wkhtmltopdf to timeout randomly.
-P
Sent from my iPhone

On Mar 17, 2016, at 16:30, Micah Lisonbee<EMAIL_ADDRESS>wrote:
Would love an explanation in the readme on what this gem does exactly and why it's needed.
I'm using the following two gems on Heroku:
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'
Also, using paperclip/S3 to attach the files to a model.
It works sometimes, sometimes I get this error (seems random on when it works):
Error: Failed to execute:
2016-03-17T19:25:16.368818+00:00 app[web.1]: ["/app/vendor/bundle/ruby/2.0.0/bin/wkhtmltopdf", "-q", "file:////tmp/wicked_pdf20160317-15-h75sns.html", "/tmp/wicked_pdf_generated_file20160317-15-pmd4c9.pdf"]
2016-03-17T19:25:16.368819+00:00 app[web.1]: Error: Interrupted system call - /app/vendor/bundle/ruby/2.0.0/bin/wkhtmltopdf
2016-03-17T19:25:16.370493+00:00 app[web.1]: Completed 400 Bad Request in 6578ms (Views: 0.7ms | ActiveRecord: 252.3ms)
Sorry, I know this isn't a very detailed error.
Do you know if this gem will solve whatever the problem here is? Does the error have something to do with writing to the filesystem on Heroku?
Thanks much.
―
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

So my gemfile would look something like this?
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary-edge', group: [:development]
gem 'wkhtmltopdf-heroku', group: [:production, :staging]

It happens randomly when generating the exact same html file with the exact same variables. I will run the same command over and over, sometimes it errors, sometimes it doesn't...

yes.
well could you try it again with the latest version and see if the problem persists?
how big is the HTML file? could you share it if possible?

I briefly tried with the gemfile as shown above and got this error on Heroku (worked fine locally):
Error: PDF could not be generated!
2016-03-17T20:50:18.349888+00:00 app[web.1]:  Command Error: /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:355:in `block in replace_bin_path': can't find executable wkhtmltopdf (Gem::Exception)
2016-03-17T20:50:18.349889+00:00 app[web.1]: 	from /app/vendor/bundle/bin/wkhtmltopdf:16:in `'
2016-03-17T20:50:18.349890+00:00 app[web.1]:
2016-03-17T20:50:18.350906+00:00 app[web.1]: Completed 400 Bad Request in 1447ms (Views: 0.5ms | ActiveRecord: 181.7ms)

try it again with the latest version.

Can you detail the gem configuration you recommend to test this?
The HTML files are pretty much placeholders for now, super simple. Here is a link to a generated PDF: https://s3.amazonaws.com/licenses-stg.foundermusic.com/5vDRN0dJmkZHsckBeTgleQ/8i2Bo0j1tr7XNjJZo5x9xQ-license.pdf
Here's the erb template:

	License details: <%= license.user.first_name %>  <%= license.user.last_name %>

	Project Name: <%= license.project_name %>

	Price: $<%= license.charge_amount %>

Here's the method that generates the PDF:

def generate_license_pdf

    	@license = self

    	begin
			view = ActionView::Base.new(ActionController::Base.view_paths, {})
			# Include helpers and routes
			view.extend(ApplicationHelper)
			view.extend(Rails.application.routes.url_helpers)

			pdf = WickedPdf.new.pdf_from_string(
			 view.render(
			   :pdf => "license",
			   :template => 'api/v1/licenses/pdf_license_template.html.erb',
			   :locals => { :license => self }
			 )
			)

			pdf_name = "#{self.apikey}-license.pdf"
			# save PDF to disk
			pdf_path = Rails.root.join('tmp', pdf_name)
			File.open(pdf_path, 'wb') do |file|
				file << pdf
			end

			file = File.open pdf_path
			self.update_attribute(:pdf_license, file)

			# The license has now been saved to S3 using Paperclip; we don't need to store it locally
			File.delete(pdf_path) if File.exist?(pdf_path)

			return true
		rescue => e
			Rails.logger.info e
			return false
		end

    end

what's your wicked_pdf configuration?
removing exe_path from your configs should solve this problem.

I have no customizations in the config:
# WickedPDF Global Configuration
#
# Use this to set up shared configuration options for your entire application.
# Any of the configuration options shown here can also be applied to single
# models by passing arguments to the `render :pdf` call.
#
# To learn more, check out the README:
#
# https://github.com/mileszs/wicked_pdf/blob/master/README.md

WickedPdf.config = {
  # Path to the wkhtmltopdf executable: This usually isn't needed if using
  # one of the wkhtmltopdf-binary family of gems.
  # exe_path: '/usr/local/bin/wkhtmltopdf',
  #   or
  # exe_path: Gem.bin_path('wkhtmltopdf-binary', 'wkhtmltopdf')

  # Layout file to be used for all PDFs
  # (but can be overridden in `render :pdf` calls)
  # layout: 'pdf.html',
}

could you login to heroku rails console, and output the values in WickedPdf.config ?
the heroku gem should config the path for you

I use wise_pdf instead of wicked_pdf but they should be the same (just different wkthmltopdf wrappers really)
some of my code for pdf generation:
    pdf_file = Tempfile.new(["report", ".pdf"])
    pdf_file.write((ApplicationController.new.tap do |controller|
      controller.instance_variable_set(:@report, @report)
      controller.params = { id: @report.id }
    end).render_to_string_with_wisepdf(pdf: "report.pdf",
                                       page_size: @report.page_size,
                                       template: @report.pdf_template_path,
                                       layout: @report.pdf_layout_path).force_encoding('utf-8'))

this generates a Tempfile  which I will need later on to group/zip/encrypt/upload

irb(main):001:0> WickedPdf.config
=> {}

Maybe I'll try and switch to wise_pdf...

well if wkhtmltopdf-heroku is installed correctly you should see an exe_path in the config.
could you verify what's the version of your wkhtmltopdf_heroku?
I usually specify the version in my gem file
group :production do
  gem 'wkhtmltopdf-heroku', '~> <IP_ADDRESS>'
end

Oh sorry, I forgot to re-add wkhtmltopdf_heroku to the gemfile. Here is the output with the wkhtmltopdf_heroku gem:
Actually, same output after I added it. Here's my gemfile:
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary-edge', group: [:development]
gem 'wkhtmltopdf-heroku', group: [:production, :staging]

Heroku deploy logged: Installing wkhtmltopdf-heroku <IP_ADDRESS>

so...it's working now? :dancers:

No, same error as before regarding the executable.

Error: PDF could not be generated!
2016-03-17T21:22:26.950518+00:00 app[web.1]:  Command Error: /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:355:in `block in replace_bin_path': can't find executable wkhtmltopdf (Gem::Exception)
2016-03-17T21:22:26.950519+00:00 app[web.1]: 	from /app/vendor/bundle/bin/wkhtmltopdf:16:in `'
2016-03-17T21:22:26.950520+00:00 app[web.1]: ):
2016-03-17T21:22:26.950520+00:00 app[web.1]:   app/models/license.rb:44:in `generate_license_pdf'

odd.. i wonder if everything was cleaned up properly when you removed the binary gem.
this gem doesn't create executables under app/vendor/bundle/bin/wkhtmltopdf

could you search wkhtmltopdf in your codebase and see what you find?
also if you puts \ls /app/vendor/bundle/bin/`you should see awkhtmltopdf-linux-amd64` file - which is provided by this gem.

you can also try to config your wicked_pdf exe path manually
WickedPdf.config = {
  exe_path: Gem.bin_path('wkhtmltopdf-binary', 'wkhtmltopdf')
}

but your errors seems to be caused by a configuration somewhere trying to find wkthmltopdf in a different path.

Searching reveals some entries in gemfile and gemfile.lock. Want me to paste those entire files?
wkhtmltopdf-linux-amd64 does exist in that path on Heroku.

nah...what about environment variables? do you have anything related to wkhtmltopdf?

Nothing else related to wkhtmltopdf.
I just tried to manually set exe path per your example and push to heroku and got this error when deploying:
Gem::Exception: can't find executable wkhtmltopdf

FYI, I'm running:
Rails 4.1.8
Puma web server

I haven't been following up with wicked_pdf's updates.
just searched their code base, it seems they are trying to set a default exe_path if nothing is set in the initializer.

let me create an empty app with wicked_pdf and see if i can replicate this.
will get back to you in a few hours.

I appreciate all your help, looking forward to hearing back.

hey @micahlisonbee
I created a sample app here
I think this gem is not configuring wicked_pdf correctly. I'm trying to fix it.
to get the app to work I had to manually config wicked_pdf in app/initializers/wicked_pdf.rb
WickedPdf.config = {
  exe_path: Rails.env.production? ? Gem.bin_path('wkhtmltopdf-heroku') : nil
}

could you try that?

Actually - I think I know what's causing the issue here. (feeling silly right now)
so, when app loads

our app configures the exe_path for WickedPdf
in the wicked_pdf initializer...it overwrites the config hash with WickedPdf.config = { ... that's why the exe_path is gone after the app is loaded :(

I removed wicked_pdf.rb completely, which allowed wkhtmltopdf-heroku to work on Heroku. However, every 4-5th time generating the same pdf I still get this error:
RuntimeError (Error: Failed to execute:
2016-03-18T18:16:00.177738+00:00 app[web.1]: ["/app/vendor/bundle/ruby/2.0.0/gems/wkhtmltopdf-heroku-<IP_ADDRESS>/bin/wkhtmltopdf-linux-amd64", "-q", "file:////tmp/wicked_pdf20160318-11-nmnir9.html", "/tmp/wicked_pdf_generated_file20160318-11-63dlvb.pdf"]
2016-03-18T18:16:00.177739+00:00 app[web.1]: Error: Interrupted system call - /app/vendor/bundle/ruby/2.0.0/gems/wkhtmltopdf-heroku-<IP_ADDRESS>/bin/wkhtmltopdf-linux-amd64):
2016-03-18T18:16:00.177740+00:00 app[web.1]:   app/models/license.rb:44:in `generate_license_pdf'
2016-03-18T18:16:00.177740+00:00 app[web.1]:   app/controllers/api/v1/licenses_controller.rb:51:in `create'

I wonder if it has something to do with your implementation.
could you try my Tempfile approach? You don't need to delete files manually, and in your code you are opening the same file multiple times.
it seems the path scheme file:////tmp/w... in the command is incorrect.
    pdf_file = Tempfile.new(["#{self.apikey}-license.pdf" , ".pdf"])
    pdf_file.write WickedPdf.new.pdf_from_string(...)

    self.update_attribute(:pdf_license, pdf_file)
ensure
    pdf_file.close
end

When I use the Tempfile method I get encoding issues:
Encoding::UndefinedConversionError ("\xFE" from ASCII-8BIT to UTF-8):
I can't figure out how to force_encoding.
Maybe I should switch to wise_pdf at this point and use your example...

ah, yea, you just need to call force_encoding on the output string.
WickedPdf.new.pdf_from_string(...).force_encoding('utf-8')

wisepdf is no longer maintained (as it seems), if you could get wicked_pdf to work I think that's a safer option. :)

Can you post your full example from your demo site (using wicked_pdf and Tempfile)? I'm having issues now, the PDF generated is empty and the name has a weird string concatenated on the end...

sure...the source code is here: https://github.com/pallymore/wickedpdf-test
Also I added a download feature - which generates a tempfile and send it to the client - this should mimic what you are trying to do.
https://wickedpdf-test.herokuapp.com/download
I noticed there is an issue with my previous comment. pdf_from_string generates a file instead of a string. so it cannot be used with Tempfile#write or force_encoding
so maybe try this:
             pdf_file.write(view.render_to_string(
               :pdf => "license",
               :template => 'api/v1/licenses/pdf_license_template.html.erb',
               :locals => { :license => self }
             ).force_encoding('utf-8'))

regarding the filename, yes Tempfile automatically generates some random string in the filename to avoid name collisions. You can change the filename when you save it to your model - the method depends on what gem you are using to upload the file to s3.

I use paperclip - to change filename, use this
in your method:
      self.file = pdf_file
      self.file.instance_write(:file_name, "yourfilenamehere.pdf")
      self.save!

I'm doing this in the license.rb model so I don't think I have access to render_to_string.
NoMethodError (undefined method 'render_to_string' for #<ActionView::Base:0x007fb0829411e8>):

right..my bad, render_to_string is a controller method, not View.
use controller instance instead
  ApplicationController.new.render_to_string(
   # your params.
  ).force_encoding('utf-8')

personally I prefer this over initializing a view and extend the helpers.

I discovered another way to make this work, without using any temp files at all. This works locally, going to test on Heroku now... What do you think of this?
pdf_html = WickedPdf.new.pdf_from_string(
			 view.render(
			   :pdf => "license",
			   :template => 'api/v1/licenses/pdf_license_template.html.erb',
			   :locals => { :license => self }
			 )
			)

self.pdf_license = StringIO.new( pdf_html )
self.pdf_license.instance_write(:file_name, "#{self.apikey}-license.pdf")
self.pdf_license.save

well it may work but it may not be very efficient.
when you do view.render with pdf parameter, it's likely that WickedPdf (as a middleware) will render this with wkhtmltopdf, then when you call pdf_from_string it may call wkhtmltopdf again.
when you are testing it locally, you should be able to see how many times wkhtmltopdf is invoked in your console.

The pdf_html = code is actually the same as what was writing at pdf_file.write(... before. The only thing I changed was instead of writing it to a file, I render as a new string StringIO.new( pdf_html ) then set the name manually as you showed (using paperclip).
Just tested this 10 times in a row on Heroku w/out any errors. I'll use it for now and keep an eye on it. Thank you big time. You have gone well outside the scope of this project to help me with my issue.

no problem :) let me know if you have more questions about wkthmltopdf

Thanks!
Sent from my iPhone

On Mar 18, 2016, at 6:04 PM, Yurui Zhang<EMAIL_ADDRESS>wrote:
no problem :) let me know if you have more questions about wkthmltopdf
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

Unfortunately, the same errors started popping up again today. I have been working on the formatting of the PDF's and am now including pre-rendered html for footer/header.
2016-03-24T21:49:31.000117+00:00 app[web.1]: Error: Failed to execute:
2016-03-24T21:49:31.000126+00:00 app[web.1]: ["/app/vendor/bundle/ruby/2.0.0/gems/wkhtmltopdf-heroku-<IP_ADDRESS>/bin/wkhtmltopdf-linux-amd64", "-q", "--page-size", "Letter", "--margin-top", "60", "--margin-bottom", "30", "--margin-left", "20", "--margin-right", "20", "--header-spacing", "20", "--header-html", "file:////tmp/wicked_header_pdf20160324-15-19qnkcf.html", "--footer-spacing", "15", "--footer-html", "file:////tmp/wicked_footer_pdf20160324-15-wipwx8.html", "file:////tmp/wicked_pdf20160324-15-15uiz08.html", "/tmp/wicked_pdf_generated_file20160324-15-zdu5kb.pdf"]
2016-03-24T21:49:31.000156+00:00 app[web.1]: Error: Interrupted system call - /app/vendor/bundle/ruby/2.0.0/gems/wkhtmltopdf-heroku-<IP_ADDRESS>/bin/wkhtmltopdf-linux-amd64
2016-03-24T21:49:31.001365+00:00 app[web.1]: Completed 400 Bad Request in 885ms (Views: 0.6ms | ActiveRecord: 185.3ms)

I'm on Heroku (staging)
My gemfile:
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary-edge', group: [:development]
gem 'wkhtmltopdf-heroku', group: [:production_heroku, :staging]

Here's the full stack trace:
Error: Failed to execute:
2016-03-24T22:13:02.101673+00:00 app[web.1]: ["/app/vendor/bundle/ruby/2.0.0/gems/wkhtmltopdf-heroku-<IP_ADDRESS>/bin/wkhtmltopdf-linux-amd64", "-q", "--page-size", "Letter", "--margin-top", "60", "--margin-bottom", "30", "--margin-left", "20", "--margin-right", "20", "--header-spacing", "20", "--header-html", "file:////tmp/wicked_header_pdf20160324-21-1ewah39.html", "--footer-spacing", "15", "--footer-html", "file:////tmp/wicked_footer_pdf20160324-21-n5caob.html", "file:////tmp/wicked_pdf20160324-21-16b379g.html", "/tmp/wicked_pdf_generated_file20160324-21-idyplj.pdf"]
2016-03-24T22:13:02.101675+00:00 app[web.1]: Error: Interrupted system call - /app/vendor/bundle/ruby/2.0.0/gems/wkhtmltopdf-heroku-<IP_ADDRESS>/bin/wkhtmltopdf-linux-amd64
2016-03-24T22:13:02.102372+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/wicked_pdf-1.0.3/lib/wicked_pdf.rb:62:in `rescue in pdf_from_string'
2016-03-24T22:13:02.102380+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/wicked_pdf-1.0.3/lib/wicked_pdf.rb:65:in `pdf_from_string'
2016-03-24T22:13:02.102381+00:00 app[web.1]: /app/app/models/license.rb:79:in `generate_pdf'
2016-03-24T22:13:02.102382+00:00 app[web.1]: /app/app/controllers/api/v1/licenses_controller.rb:45:in `create'
2016-03-24T22:13:02.102383+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
2016-03-24T22:13:02.102383+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/abstract_controller/base.rb:189:in `process_action'
2016-03-24T22:13:02.102384+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/rendering.rb:10:in `process_action'
2016-03-24T22:13:02.102385+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
2016-03-24T22:13:02.102385+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:113:in `call'
2016-03-24T22:13:02.102386+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:113:in `call'
2016-03-24T22:13:02.102387+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `block in halting'
2016-03-24T22:13:02.102389+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:229:in `call'
2016-03-24T22:13:02.102390+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:229:in `block in halting'
2016-03-24T22:13:02.102390+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:229:in `call'
2016-03-24T22:13:02.102396+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:229:in `block in halting'
2016-03-24T22:13:02.102397+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `call'
2016-03-24T22:13:02.102397+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `block in halting'
2016-03-24T22:13:02.102398+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `call'
2016-03-24T22:13:02.102399+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `block in halting'
2016-03-24T22:13:02.102399+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:229:in `call'
2016-03-24T22:13:02.102400+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:229:in `block in halting'
2016-03-24T22:13:02.102400+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `call'
2016-03-24T22:13:02.102401+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:166:in `block in halting'
2016-03-24T22:13:02.102401+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:86:in `call'
2016-03-24T22:13:02.102402+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:86:in `run_callbacks'
2016-03-24T22:13:02.102403+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/abstract_controller/callbacks.rb:19:in `process_action'
2016-03-24T22:13:02.102403+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/rescue.rb:29:in `process_action'
2016-03-24T22:13:02.102404+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
2016-03-24T22:13:02.102405+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/notifications.rb:159:in `block in instrument'
2016-03-24T22:13:02.102405+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
2016-03-24T22:13:02.102406+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/notifications.rb:159:in `instrument'
2016-03-24T22:13:02.102406+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
2016-03-24T22:13:02.102407+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
2016-03-24T22:13:02.102408+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.8/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
2016-03-24T22:13:02.102408+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/abstract_controller/base.rb:136:in `process'
2016-03-24T22:13:02.102409+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.8/lib/action_view/rendering.rb:30:in `process'
2016-03-24T22:13:02.102409+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal.rb:196:in `dispatch'
2016-03-24T22:13:02.102410+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
2016-03-24T22:13:02.102450+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_controller/metal.rb:232:in `block in action'
2016-03-24T22:13:02.102452+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/routing/route_set.rb:82:in `call'
2016-03-24T22:13:02.102452+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
2016-03-24T22:13:02.102453+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/routing/route_set.rb:50:in `call'
2016-03-24T22:13:02.102454+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/journey/router.rb:73:in `block in call'
2016-03-24T22:13:02.102454+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/journey/router.rb:59:in `each'
2016-03-24T22:13:02.102455+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/journey/router.rb:59:in `call'
2016-03-24T22:13:02.102456+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/routing/route_set.rb:678:in `call'
2016-03-24T22:13:02.102456+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102457+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/rack/agent_hooks.rb:30:in `traced_call'
2016-03-24T22:13:02.102458+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102458+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/rack/browser_monitoring.rb:32:in `traced_call'
2016-03-24T22:13:02.102459+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102460+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/deflater.rb:25:in `call'
2016-03-24T22:13:02.102461+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102461+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/etag.rb:23:in `call'
2016-03-24T22:13:02.102462+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102463+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/conditionalget.rb:35:in `call'
2016-03-24T22:13:02.102463+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102464+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/head.rb:11:in `call'
2016-03-24T22:13:02.102465+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102465+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
2016-03-24T22:13:02.102466+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102467+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/flash.rb:254:in `call'
2016-03-24T22:13:02.102467+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102468+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:225:in `context'
2016-03-24T22:13:02.102469+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:220:in `call'
2016-03-24T22:13:02.102469+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102470+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/cookies.rb:560:in `call'
2016-03-24T22:13:02.102470+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102471+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.8/lib/active_record/query_cache.rb:36:in `call'
2016-03-24T22:13:02.102472+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102472+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
2016-03-24T22:13:02.102473+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102473+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
2016-03-24T22:13:02.102474+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/callbacks.rb:82:in `run_callbacks'
2016-03-24T22:13:02.102505+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
2016-03-24T22:13:02.102507+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102507+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
2016-03-24T22:13:02.102508+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102509+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
2016-03-24T22:13:02.102509+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102510+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2016-03-24T22:13:02.102510+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102511+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/rack/logger.rb:38:in `call_app'
2016-03-24T22:13:02.102512+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/rack/logger.rb:20:in `block in call'
2016-03-24T22:13:02.102512+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/tagged_logging.rb:68:in `block in tagged'
2016-03-24T22:13:02.102513+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/tagged_logging.rb:26:in `tagged'
2016-03-24T22:13:02.102513+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/tagged_logging.rb:68:in `tagged'
2016-03-24T22:13:02.102514+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/rack/logger.rb:20:in `call'
2016-03-24T22:13:02.102514+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102515+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2016-03-24T22:13:02.102516+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102516+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/methodoverride.rb:21:in `call'
2016-03-24T22:13:02.102517+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102517+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/runtime.rb:17:in `call'
2016-03-24T22:13:02.102518+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102519+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.8/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
2016-03-24T22:13:02.102519+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102520+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/static.rb:84:in `call'
2016-03-24T22:13:02.102522+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102523+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/sendfile.rb:112:in `call'
2016-03-24T22:13:02.102529+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102529+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/rack-cors-0.4.0/lib/rack/cors.rb:80:in `call'
2016-03-24T22:13:02.102530+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102530+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/engine.rb:514:in `call'
2016-03-24T22:13:02.102531+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.8/lib/rails/application.rb:144:in `call'
2016-03-24T22:13:02.102532+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-<IP_ADDRESS>2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
2016-03-24T22:13:02.102532+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-3.0.2/lib/puma/configuration.rb:221:in `call'
2016-03-24T22:13:02.102533+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-3.0.2/lib/puma/server.rb:561:in `handle_request'
2016-03-24T22:13:02.102533+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-3.0.2/lib/puma/server.rb:406:in `process_client'
2016-03-24T22:13:02.102534+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-3.0.2/lib/puma/server.rb:271:in `block in run'
2016-03-24T22:13:02.102534+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-3.0.2/lib/puma/thread_pool.rb:111:in `call'
2016-03-24T22:13:02.102538+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-3.0.2/lib/puma/thread_pool.rb:111:in `block in spawn_thread'
2016-03-24T22:13:02.104422+00:00 app[web.1]: Completed 400 Bad Request in 2192ms (Views: 0.9ms | ActiveRecord: 168.5ms)

hmm do you use spring ? what's its version?

In development spring (1.2.0)
Gemfile:
gem 'spring',        group: :development

the current version is 1.6.x ... i saw someone is having a similar problem in the wicked_pdf issues: https://github.com/mileszs/wicked_pdf/issues/361
Also a few other people mentioned similar errors.
Although I believe it's unlikely the fault of wicked_pdf - but could you try `wisepdf ? :)

I created an issue over at wicked_pdf.
I'll look into the the Spring relation.
I will try wisepdf if I can't figure it out... Thanks!


Can't take pager for schedule like Incident.*

If I say @Hubot pager me Incident Commander 5, Hubot crashes:
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
--
at endReadableNT (node:internal/streams/readable:1696:12)
at IncomingMessage.emit (node:events:530:35)
at IncomingMessage.<anonymous> (/hubot/node_modules/scoped-http-client/src/index.js:95:22)
at /hubot/node_modules/hubot-pager-me/src/pagerduty.js:60:14
at /hubot/node_modules/hubot-pager-me/src/pagerduty.js:156:7
at /hubot/node_modules/hubot-pager-me/src/scripts/pagerduty.js:108:16
at formatIncident (/hubot/node_modules/hubot-pager-me/src/scripts/pagerduty.js:1006:25)
TypeError: Cannot read properties of undefined (reading 'title')

^
const summary = inc.title;
/hubot/node_modules/hubot-pager-me/src/scripts/pagerduty.js:1006

This appears to be a matching issue with https://github.com/hubot-archive/hubot-pager-me/blob/main/src/scripts/pagerduty.js#L95 doing case-insensitive matching?
Any advice on fixing this would be great.

Tagging #49, because it would make it a lot easier to debug if we could put a test case around it.
So what I think is happening is that it is looking up an incident named "Commander 5". I don't think that's what you intended. Either way, it shouldn't bomb out when it can't find a matching incident. Going to knock that out.

hubot pager schedule <schedule> [days] - show <schedule>'s shifts for the next x [days] (default 30 days)
vs.
hubot pager me <schedule> <minutes> - take the pager for <minutes> minutes
Those seem to do very different things.
Is the take away from this issue that this plugin can't support overriding PagerDuty schedules with names that start with "Incident"? It seems like ensuring regexes in the plugin are case sensitive would address my issue...

Ah, I track now. One reason t keep the commands case insensitive is because we've all goofed up when typing something in a hurry. What I think we can do, though, is address the inadvertent collision between the commands.
https://github.com/hubot-archive/hubot-pager-me/blob/cfd8ee29d7e90b47c1e54ba9ef145d7ee0ea4d08/src/scripts/pagerduty.js#L95-L96
This is a rather greedy regex. The only two formats an incident ID can take are \w+ or \d+, with the latter being the more likely of the two used in chat. L96 tells the processor to stop looking for anything else. Because the schedule lookup is registered after the incident lookup, it never falls through to it.
Aside from the fix in #224 to keep the bot from crashing, tightening up that line would likely resolve the issue you're seeing.

@johnseekins-pathccm Try out https://github.com/hubot-archive/hubot-pager-me/pull/224/commits/4fc0cdf4a35674e4ee37711f66c01f67b2f7a18d

Looks promising:
hubot-dev> @hubot-dev pager me Incident Commander Secondary 5
{"level":20,"time":1712238728522,"pid":19547,"hostname":"John-Seekins-MacBook-Pro-16-inch-2023-","name":"hubot-dev","msg":"Message '@hubot-dev pager me Incident Commander Secondary 5' matched regex //^\\s*[@]?hubot\\-dev[:,]?\\s*(?:pager( me)? (?!schedules?\\b|overrides?\\b|my schedule\\b)(.+) (\\d+)$)/i/; listener.options = { id: null }"}


Non Pascal Gt 710b card

As the other people that open a issue here I have the
same problem : my card is not a Pascal card and I'm
poking around weather I can still make it work. I have a
simple GT 710b model that is some generations before Pascal.
The  offset between "564e" and "NPDS" is 124 octels instead of
348 as the  script expects:
00020e00: 564e 3f00 0000 0000 0000 0000 0000 0000  VN?.............
00020e10: 0000 0000 0000 0000 4000 65d0 163b 5159  ........@.e..;QY
00020e20: 6859 c05d 501e 0800 0000 0000 0000 0000  hY.]P...........
00020e30: 0000 0000 0000 0000 0000 002e 8bc0 8bc0  ................
00020e40: 4e50 4453 de10 b012 0000 1800 0000 0000  NPDS............
00020e50: 3f00 0000 e000 0000 2e8b c02e 8bc0 8bc0  ?...............
00020e60: 4e50 4445 0101 0c00 3f00 0000 0171 c3f9  NPDE....?....q..
00020e70: c3f8 c30b e4c3 3bc0 c3b8 4f01 c3cb 0000  ......;...O.....

When I do this change then nvidia_vbios_patcher.py finishes:
diff --git a/nvidia_vbios_vfio_patcher.py b/nvidia_vbios_vfio_patcher.py
index 0e899fd..cda844a 100755
--- a/nvidia_vbios_vfio_patcher.py
+++ b/nvidia_vbios_vfio_patcher.py
@@ -69,11 +69,13 @@ class VBIOSROM(object):
        # Search for the footer, which are shortly followed by
        # 'NPDS' and 'NPDE' strings. 'NPDS' and 'NPDE' markers are separated by
        # 28 ASCII characters
-        FOOTER_REGEX = (
-            b'564e(([a-z]|[0-9]){348})(4e504453)(([a-z]|[0-9]){56})(4e504445)'
+        # 348
+        FOOTER_REGEX = (
+            b'564e(([a-z]|[0-9]){124})(4e504453)(([a-z]|[0-9]){56})(4e504445)'
        )
        result = re.compile(FOOTER_REGEX).search(self.content)
        if not result or len(result.groups()) != 6:

however I actually dont know what the patch process does and weather there
is a chance that this would work. If I use it in my passthrough command:
-device vfio-pci,host=01:00.0,multifunction=on,romfile=${b}/bioses/nvidia_patched.rom
the nvidia driver is still stuck at "Code 43".
Any tips on howto get it work / insight into what the script does/ tips on howto
get vbios working for 710?

Actually the above patch seems to work for the gt 710 driver. I did:

use the patched  nvidia_vbios_patcher.py (previouse post) to patch vbios  dumped by nvflash of the Gt710 while in secondary port.
Add x-vga=on in the vfio-pci device declaration
Add "hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_vendor_id=amd" to the -cpu definiton

That seem to have convinced the nvidia driver to not go into "Code 43" state.


Fix h5py to 3.1

Our manual https://i4ds.github.io/Karabo-Pipeline/installation_user.html states that users should up/downgrade to h5py version 3.1. We should make sure that the correct version 3.1 is installed by default.
Simlar to #129 and #147

I just rested this and this can be closed because the error appears only if gsl is not (correctly) installed. Also, nobody else had the error with h5py.


Use wdio.conf.js options

Is there a way to do either of the following:

Point grunt-webdriver to a wdio.conf.js file so it can use properties specified there?
Specify properties like baseUrl in grunt-webdriver options?

More specifically, I'd love to be able to specify baseUrl (as supported in wdio.conf.js) inside the gruntfile.

Point grunt-webdriver to a wdio.conf.js file so it can use properties specified there?

No, this will be hopefully the way we do things with the next version. grunt-webdriver currently only supports WebdriverIO v2.4.x. You can use shrinkwrap to upgrade manually (see #64).

Specify properties like baseUrl in grunt-webdriver options?

No! baseUrl got introduced with v3.
Hope I will find some time soon to rewrite the project. Currently still working on WebdriverCSS upgrade to WebdriverIO v3


Lin 547 implement parameterization for framework airflow pipeline with params setup

Description
On top of LIN-566 refactor airflow jinja template, this PR implements parameterized pipeline for airflow (for both PythonOperatorPerArtifact and PythonOperatorPerSession flavor).
During implementation, it also discovered and fixed the issue that all user input parameter types are cast to string in the Python module via argparse, since we found a similar issue with Airflow params.
Fixes # (issue)
LIN-547
LIN-566
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Add new tests for both flavors of airflow parameterized pipeline.

Locally test the dag can run in Airflow with user-defined parameters.

Modify existing test to verify non-string input parameter is working properly in framework='SCRIPT' pipeline.

Many of my comments are stylistic feedback, so I agree with Shardul that we can fast-track merging this to unblock other tickets necessary for the upcoming launch.
One overarching Q: Are there going to be only two flavors for the PythonOperator (i.e., per artifact and per session)? Is the new Airflow template general enough to accommodate any new flavor (if applicable)?

well .... I personally think there should be DockerOperator and KubernetesPodOperator; but I don't see we should worry the integration problem right now.


blit::rand() should not use std::rand()

The reason is actually explained in the commit:

32blit's RNG is a non-deterministic random number generator or true-RNG. Its output cannot be predicted and used to generate deterministic levels from seeds. std::rand() or perhaps your own LFSR or deterministic number sequence generator should still be used for this.

The SDL HAL uses std::rand() to implement blit::rand(). This means that if you use both of them in your game, then std::rand() will produce different values on hardware vs SDL.
The SDL implementation of blit::rand() should instead use some other implementation which does not affect std::rand().

Ooof- really good point. Thank you.
Do you have any opinions about what to use in lieu of std::rand()?
Perhaps the C++11 random library which has std::random_device

Yes, C++  has RNG objects which in theory don't affect each other. No idea how to use it, but it seems like the best way to go.

Quick and dirty POC:
#include <random>
#include <iostream>

int main(int argc, char **argv) {
        std::random_device random_device;
        std::mt19937 random_generator(random_device());
        std::uniform_int_distribution<uint32_t> random_distribution(0, 0xffffffff);

        for (int n=0; n<10; ++n) {
                std::cout << random_distribution(random_generator) << ' ' << std::endl;
        }

        return 0;
}

Seeded with random_device to mimic the RNG, but uses a 32-bit mersenne twister PRNG for speed rather than continually relying on the system as a source of randomness.


Remove conditional logic

After upgrading this module to version 0.8.0, Puppet is giving a dependency loop:
Error: Failed to apply catalog: Found 1 dependency cycle:
(Exec[apt_update] => Class[Apt::Update] => Package[apt-transport-https] => Class[Apt::Update] => Exec[apt_update])

I think what is happening here is that there is inconsistency between dependencies that are declared in the filebeat module with the following dependency that we declare ourselves:
Class['Apt::Update'] -> Package <| title != $::apt::ppa_package and title != 'python-configobj' |>

Another thing worth nothing here is that defined is not a reliable check in Puppet because it depends on the ordering of resources. For example, consider the following Puppet manifest:
notify { 'one': }

if (!defined(Notify['one'])) {
  notify { 'Notify[one] is not defined': }
}
if (!defined(Notify['two'])) {
  notify { 'Notify[two] is not defined': }
}

notify { 'two': }

This produces the following output (on Puppet 3.8.6):
Notice: Notify[two] is not defined
Notice: /Stage[main]/Main/Notify[Notify[two] is not defined]/message: defined 'message' as 'Notify[two] is not defined'
Notice: one
Notice: /Stage[main]/Main/Notify[one]/message: defined 'message' as 'one'
Notice: two
Notice: /Stage[main]/Main/Notify[two]/message: defined 'message' as 'two'

As such, I think that it is best to just remove the conditional logic and let the user manage these dependencies, if required.

This makes sense, but I think we should only back it off to not install apt-transport-https at all rather than all of the repositories too.
Not wrapping the repository in the conditional means that if someone is using other beats modules that make the same assumption (or don't have a manage_repo parameter to set to false) they'll get an error.

Fair enough, I have updated the PR.

It looks like this was fixed in cb0de5c33119edea02a8407c3988c16d05f2476c

I pushed this to the forge as v0.8.1


Feat: add operation.disableScale and operation.disableRotate to Element

feat: add operation.disableScale and operation.disableRotate to Element

https://github.com/idrawjs/idraw/issues/111
https://github.com/idrawjs/idraw/issues/106

refactor: rename dot to controller

@chenshenhai  你好，我发现在提交记录中，disableScale和disableScale被写成了disbaleScale和disbaleScale，跟示例网站上的介绍有出入


There is a bug of errorMessage  when i update the input  tag‘s value with js..

the errorMessage  wont show as usual when i try to update the input  tag‘s value with js.
code:$("#email").val("    ssss               "); The tags of errorMessage  dont show with so many speace key.

When you update the value programmatically, you should re-validate your element:
var validator = $("#your_form").validate({...});

// ...

var email =  $("#email");
email.val("ssss");

// Revalidate the element
validator.element(email);

// Or just trigger the keyup event
email.trigger("keyup");

thanks

Closing because it looks like the initial question was answered. Feel free to add further comments in case I am wrong.


Update data-model for send-community in eos_cli_config_gen

Issue Type

[x] Template enhancement
[ ] Role enhancement
[ ] Documentation enhancement (avd.sh)

Is your feature request related to a problem? Please describe.
As we have changed the data-model for send-community in the VRFs, it will allow greater flexibility to decide what type of community we would like to send out, instead of true/false.
Changes should happen in router-bgp.j2
This will introduce data-model change.
{%             if router_bgp.peer_groups[peer_group].send_community is defined and router_bgp.peer_groups[peer_group].send_community == true %}
   neighbor {{ peer_group }} send-community
{%             endif %}

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
Select which community we want to send asides default (everything).
  send_community: < string | leave empty for all communities >

{%                      if router_bgp.vrfs[vrf].neighbors[neighbor].send_community is defined %}
      neighbor {{ neighbor }} send-community {{ router_bgp.vrfs[vrf].neighbors[neighbor].send_community }}
{%                      endif %}

A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I believe some variant of this has been implemented recently, but it also matches on the string value "None".

I believe some variant of this has been implemented recently, but it also matches on the string value "None".

Fixed / replaced by PR #812


Sprite

Added working Sprite with messy implementation and a big temporary hack in the architechture to render sprites.
Closes #57

Intended to use this branch for implementing post processing, but ended up implementing sprite to study the way textures are uploaded and used in shaders...


Changed debug flag to log-level in kpod/main.go

The change in flag from debug to log-level was causing cri-o to fail when started
There was a reference to the debug flag in kpod/main.go that had not been changed
Signed-off-by: umohnani8<EMAIL_ADDRESS>

@rhatdan PTAL. Since log-level can have various arguments like warn, info, panic etc. should logrus level be set based on this value? Or should we just leave it to either ErrorLevel or DebugLevel?

Man pages
command completion
tests?

LGTM

Updated manpage and completions.
Not sure how to add a test for it. Tried to grep for "DEBU" as that is printed out when done manually, but looks like the test environment doesn't print that.

/test all

@rhatdan I noticed one thing with this fix. The default log-level is info so whenever a command is ran the graphdriver info is displayed. Do we want that?

No.  We should default kpod to higher then info

@rhatdan the tests are failing due to the various logrus.Info being printed for the different commands. I cannot find where this default is being set. Any ideas?

LGTM

/test all

@rhatdan tests pass

LGTM


Support Python 3

What does this PR do?
Add Python 3 support to couchbase
Motivation
🐍 3⃣ 🚂
Review checklist

[x] PR has a meaningful title or PR has the no-changelog label attached
[x] Feature or bugfix has tests
[x] Git history is clean
[ ] If PR impacts documentation, docs team has been notified or an issue has been opened on the documentation repo
[ ] If PR adds a configuration option, it has been added to the configuration file.

Additional Notes
Anything else we should know when reviewing?

Codecov Report

Merging #2852 into master will increase coverage by 9.53%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2852      +/-   ##
==========================================
+ Coverage   84.52%   94.05%   +9.53%
==========================================
  Files         636        4     -632
  Lines       37079      101   -36978
  Branches     4426       12    -4414
==========================================
- Hits        31340       95   -31245
+ Misses       4436        6    -4430
+ Partials     1303        0    -1303


Why not replacing fully connected  operation with  1*1 convolution  in faster-rcnn implementation?

The   1x1 convolution used in RPN head. But the head of  faster-rcnn  implemented with  nn.Linear(). Why not replacing nn.Linear()  with  1x1 convolution?   The faster-rcnn implementation  refers to torchvision.models.detection.faster_rcnn module.   And i'm also curious about the reason why  conv3x3 for backbone stage  is set to 'bias=False' ?

Hi,

But the head of faster-rcnn implemented with nn.Linear(). Why not replacing nn.Linear() with 1x1 convolution

Note that replacing the nn.Linear() with a 1x1 convolution wouldn't yield the same result. You would need a convolution kernel of size [resolution, resolution] size, see https://github.com/pytorch/vision/blob/11480973385719f0eaba6247e65e149867a0b66a/torchvision/models/detection/faster_rcnn.py#L213
But at this point there is really no need of a convolution, and it's just clearer to use a Linear layer instead

And i'm also curious about the reason why conv3x3 for backbone stage is set to 'bias=False

This is because we have BatchNorm after the convolutions, which means that bias in the conv layer just before it is not needed.
I believe I've answered your questions, so I'm closing this issue.


another Build error: quest objectives don't update in build

how to recreate:

build  and run game
go to john and get quest
talk to frank
error is here. the questhelper should show the "talk to frank" quest objective  as complete, but it doesn't

having issues with the convertToTalkQuest() function in Quest.cs. it seems to truncate QuestedDialogue which is needed to complete any talkquests
io believe that when I convert a Questobjective to a talkquest, it truncates all the additional data that a talkquest needs. its just a normal quest objective casted to a talkquest

Fixed it,  added  "OOO error avoidance" to the API to further explain on how to avoid this again.
wait until next pull request for fix.
shouldn't be long


Import Members Performance Improvements

Currently, the ImportMembers command gets all members from the API and loads them into memory. Tens of thousands of collections loaded does have an impact on memory usage.
My first thought was to discard each member from the collection as they are processed, but the first 2-3 minutes of the command being ran was still quite resource intensive.
I've now refactored the command so that instead of loading all of the members into memory, we process one page of the API at a time on the fly before returning back to the API for the next batch, processing them and repeating. I have also updated the console output to help show the progress across these calls as below.

Also included within this PR is an update that now processes the member's ATC rating, Pilot rating, Division & Region. This means that if the user has a different rating it should update more quickly than currently & force an AccountAltered event to fire to cascade to other services.
Finally, this PR adds a stamp on mship_account.cert_checked_at when the user is processed via this command.

:tada: This PR is included in version 6.21.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Element Blinks when "repeat: true"

Have anyone notice this issue? Everytime I set "repeat: true", the element is revealed and blinks for a few times after that te animation starts. It does not happen  bottom to up, just up to bottom.

Hi,
I noticed this problem.

I can also confirm this issue.

I'm closing this issue due to inactivity (from my side, apologies). Please comment if this issue is still relevant so I can re-open and investigate it.

Yes, issue still here.
`

Performance
Quickest Acceleration

Some text

Order Now
`
            $("[data-vp=true]").viewportChecker({                 repeat: true             });
When elements become visible all of them get classes "visible full-visible" and then last element .actions losts those classes, thought first three elements still have them. So last element blinks.


Fix a bug in crontab parsing

Parsing crontab entries relies on splitting a line on a single space and taking at most 5 splits (link) :
minute, hour, day_of_month, month, day_of_week, command = line.split(' ', 5)

This fails if the separator is a tab. The error I encountered parsing OpenBSD default crontab:
    data = fact.process(stdout)
  File "/usr/lib/python3.9/site-packages/pyinfra/facts/server.py", line 393, in process
    minute, hour, day_of_month, month, day_of_week, command = line.split(' ', 5)
ValueError: not enough values to unpack (expected 6, got 1)

And here the content of the crontab
#
#SHELL=/bin/sh
#PATH=/bin:/sbin:/usr/bin:/usr/sbin
#HOME=/var/log
#
#minute hour    mday    month   wday    [flags] command
#
# rotate log files every hour, if necessary
0       *       *       *       *       /usr/bin/newsyslog
# send log file notifications, if necessary
#1-59   *       *       *       *       /usr/bin/newsyslog -m
#
# do daily/weekly/monthly maintenance
30      1       *       *       *       /bin/sh /etc/daily
30      3       *       *       6       /bin/sh /etc/weekly
30      5       1       *       *       /bin/sh /etc/monthly
#~      *       *       *       *       /usr/libexec/spamd-setup

#~      *       *       *       *       -ns rpki-client -v && bgpctl reload

Using the default split(maxsplit=5) which splits on white spaces fixes the issue.

Can someone help with the unit tests ? I can't reproduce the dev environment locally to pinpoint which tests are failing.

I cannot explain why the tests fail - this fix works absolutely fine locally with the exact same code, looks like GitHub is doing something weird. Note pushed a fixed version of the test @ https://github.com/Fizzadar/pyinfra/commit/c15af2098ed6a15358aee9e1b504ec5bb6c7dbef.


Media: Use base color while loading in assets

Feature Description
In https://github.com/google/web-stories-wp/issues/9550, we now store the base color of the image / video with the resource.  Currently when resources are loading a grey box is rendered. See screenshot.

But now we have the base color, we use this color as the background color. This is what other sites like unsplash do. See this example.

We could do the same in the editor.
Alternatives Considered

Additional Context

Good idea. Makes sense to use the avg color in more places where possible.
Though worth noting that Unsplash uses BlurHash, not just a solid color placeholders.
Reminds me that I actually once proposed using BlurHash.
Perhaps something worth revisiting?
cc @choumx @gajasinski @agingoldseco WDYT about using blurred placeholders?

+1 a more polished experience compared to grey boxes

Love it.

Google images also does this.

Related: #1194

Verified in QA


Update de.toml translations

[skip-link]: translation is much improved by this
[email-reply]: since it's not a comment (current translation) but a reply via email this updated translation is also clearer and the respective translation to the English original

Native German here. Works as proposed!


Download MPI failing

Hello, so I am trying to build a Galaxy on the Cloud platform but when I execute the cloudman image build it always fails when it attempts to download MPI. The error states that an SSL certificate does not belong to www.open-mpi.org. I am using Ansible 1.9.2. To avoid this I have skipped the MPI step by setting the cm_install_mpi variable to no and the rest of the build works. But is MPI something that is vital to the final product?

Not at the moment but there will hopefully be MPI-based tools coming online in the near future so we added it into the image.
I changed the download URL from https to just http to avoid this problem though (see 45291761b3945710c8529bf5ee2987f465d389e1).
Thanks for letting us know.

Sounds good thanks!


merge_cubes: Clarify merging procedure

In our use case, we want to run two separate operations on a given datacube, and then combine those two results.
To do this, we either need a reducer that can reduce values coming from different cubes, or we need a process that 'joins' the cubes first to a datacube with two bands. This is probably the most generic solution and needed anyway.

There's merge_cubes, which has been defined at the VITO sprint. If that's not working properly, we should probably improve that process instead of adding a new one.

Indeed, I found that one as well. Perhaps we should then clarify how it handles bands?
Or is there a reducer that basically leaves the bands untouched? Like
merge([first_cube_band],[second_cube_band]) = [first_cube_band,second_cube_band]

My understanding of the process is that if you pass a two datacube with dimensions x,y,t,b that one has bands a,b and the other has bands c,d the result will be a datacube x,y,t,b, with bands a,b,c,d. Same applies for t etc.
@mkadunc You were pushing that definition at the VITO sprint. Do you agree?

That would make sense, adding that to the documentation would solve the issue.

Yes, that was my understanding.
A caveat for Jeroen's scenario - if the two input cubes do not yet have band dimension, merge should fail (merge(A(x,y,t), B(x,y,t)) won't work whenever any cell is present in both cubes) - to be able to use the merge process on such cubes, one should extend the cubes first:
    merge(
        add_dimension(A(x,y,t), "bands", "a"),
        add_dimension(B(x,y,t), "bands", "c")
    ) // returns cube with dimensions (x, y, t, bands)

@mkadunc Shouldn't merge(A(x,y,t), B(x,y,t)) still work? I would expect that the temporal dimension could similarly be merged. For example if A has values for 2017 and B for 2018, why should that fail? Seems to be a reasonable use case to me?

Shouldn't merge(A(x,y,t), B(x,y,t)) still work?
Yes, of course - in your example there are no overlapping cells, because the two cubes are separated in time.

I was commenting on Jeroen's scenario, in which the two cubes occupy the same space and time, and the introduction of an extra dimension makes them disjoint again.

Thanks, got it.

Also, existing merge_cubes, with a provided overlap_resolver might already be sufficient answer to Jeroen's original question - merge is a process "that can reduce values coming from different cubes", e.g. if the combining function is combineAB(a::number, b::number)
    cubeA = customProcessingA(collection/x,y,t/);
    cubeB = customProcessingB(collection/x,y,t/);
    cubeR/x,y,t/ = merge_cubes(
        cube1=cubeA,
        cube2=cubeB,
        overlap_resolver = callback({ return combineAB(data[0], data[1]) })
    );

Yes, indeed. That's basically what I meant in https://github.com/Open-EO/openeo-processes/issues/87#issuecomment-553898822. I think the only ToDo here is to improve the documentation a bit.

I agree to the above.
There's also the case where the bands in the two cubes have the same name. I guess that would mean you need an overlap_resolver?
And related to that, is there a way to rename bands?

There's no way to rename dimension values at the moment, but there's #50 to track it.

Perhaps related: what about merging vector cubes, either through spatial-join or attribute join.
Use a separate process for that, or extend this one?

@jdries At the moment vector cubes are not supported at all. In the current draft for the 1.0 processes there's no vector-cubes data type in any of the processes. There were some references to vector-cubes in 0.4, but I removed them as we basically had no real use for it yet and most processes could not handle them yet anyway. We need discuss a useful approach later. Related: #68

My first graph containing merge cubes is ready, as created by the python client:
I'm still a bit unsure about how to optimally specify the inputs to the callback. I now use a list of expressions, and point back to the cubes that are to be merged.
I do feel that this is a little bit awkward. Somehow it's pretty clear from docs what the overlaps_resolver should work on, but it seems that the API gives me different ways to specify it, which could lead to incompatibilities.
    "process_id": "merge_cubes",
    "arguments": {
      "cube1": {
        "from_node": "linearscalerange3"
      },
      "cube2": {
        "from_node": "linearscalerange4"
      },
      "overlap_resolver": {
        "callback": {
          "or1": {
            "process_id": "or",
            "arguments": {
              "expressions": [
                {
                  "from_argument": "cube2"
                },
                {
                  "from_argument": "cube2"
                }
              ]
            },
            "result": true
          }
        }
      }
    },```

I think that the overlap resolver would be applied on each pixel within the overlap, so the callback would take pixels, not cubes as arguments. (from_argument can't really access arguments of the merge_cubes process, so you're not pointing back to those; you can only access the parameters that the callback will be called with by the merge_cubes process)
Pseudo-code implementation of merge_cubes should look something like:
merge_cubes(cube1, cube2, overlap_resolver) {
    axesRet = cube1.axes.map(ax1 => ax1.extendToIncludeAll(cube2.axes[ax1.name]) )
    cubeRet = createCube(axesRet)

    foreach(pxIndex in cubeRet.pixelIndices) {
        const pxCoord = cubeRet.getCoordinates(pxIndex)

        const val1 = cube1.containsCoord(pxCoord) ? cube1.getValueAt(pxCoord) : null
        const val2 = cube2.containsCoord(pxCoord) ? cube2.getValueAt(pxCoord) : null
        if (val1 == null) {
            if (val2 != null) cubeRet.values[pxIndex] = val2
        } else if (val2 == null) {
            cubeRet.values[pxIndex] = val1
        } else {
            // callback is called with two values, not two cubes
            cubeRet.values[pxIndex] = overlap_resolver(val1, val2)
        }
    }

    return cubeRet
}

We've recently settled on using x and y as the common names for (mathematical) binary processes, so I'd change your graph into something like this:
"process_id": "merge_cubes",
"arguments": {
    "cube1": {"from_node": "linearscalerange3"},
    "cube2": {"from_node": "linearscalerange4"},
    "overlap_resolver": {"callback": {
        "_": {
            "process_id": "or",
            "arguments": {"expressions": [{"from_argument": "x"}, {"from_argument": "y"}] },
            "result": true
        }
    }}
}

side-note: having callbacks with the same argument names as mathematical binary processes (x and y) will at some point allow us to simplify the specification of a callback to a simple pointer to a pre-defined process — e.g. the signature of the or process is or(x::number, y::number), which is compatible with overlap_resolver, if it is defined as function(x::number, y::number) - this allows specifying your graph as:
"process_id": "merge_cubes",
"arguments": {
    "cube1": {"from_node": "linearscalerange3"},
    "cube2": {"from_node": "linearscalerange4"},
    "overlap_resolver": {"process_id": "or"}
}

(I'm not sure how well the possibility of having such callbacks is supported right now, but it should not be too difficult to implement support if we decide something like that would be valuable)

Thanks, agree with the pseudo code.
Actually your second example process graph would be my preferred way of supporting it right now in the Python client and our backend. It is simpler, so reduces opportunities for misinterpretation.
It's also the case that I'm not supporting more complex reducers right now for merge_cubes.

The merge_cubes overlap_resolver works exactly as the reduce function.
Here's the related documentation:

If binary = false: An array with the overlapping pixels is passed in data.
If binary = true: Two values from the overlapping pixels are passed in x and y.
So your initial part of the process graph would look like this:
    "process_id": "merge_cubes",
    "arguments": {
      "cube1": {
        "from_node": "linearscalerange3"
      },
      "cube2": {
        "from_node": "linearscalerange4"
      },
      "overlap_resolver": {
        "callback": {
          "or1": {
            "process_id": "or",
            "arguments": {
              "expressions": {
                "from_argument": "data"
              }
            },
            "result": true
          }
        }
      }
    }

This binary case would basically be what Miha posted.
re @mkadunc's side-note: The implicit mapping of parameters as proposed there is currently not possible. I'm not sure whether it's really useful to solve this on the process graph level. I guess clients could simply do that for the user whenever parameters are "compatible" and come up with an "explicit" process graph. I think that would be the cleaner solution.
@jdries Could you clarify where this confusion comes from? For me the docs are quite clear, but I'm biased. ;-) Would help me to improve the docs.

Thanks, guess it was mostly me not reading the process docs well enough. Only thing to make it even easier for lazy people is to add the examples from this issue to the process docs.

Clarified merge_cubes in PR #112

I would like to understand if x and y of the overlap resolver refer to cube1 and cube2 (x -> cube1, y -> cube2), since it is not explicitly stated in the API. This doubt comes from some inconsistencies I got from testing with the GEE backend, which I'm not sure are due to the implementation or the definition of the process itself.


I hope ollama can provide rerank models and speech recognition models.

希望ollama能提供rerank模型、能提供语音识别模型。
I hope ollama can provide rerank models and speech recognition models.

#7219

Rerank is in #7219 :), but ASR still not present

https://github.com/ollama/ollama/issues/3265

closing as dupe

why not?