In Cluster configuration broken

For me the "in cluster" configuration seems broken:
I am doing:
let client = Client::try_default().await?;

And that fails later with:
[2020-06-17T16:07:00Z INFO  ditto_operator] Starting operator...
[2020-06-17T16:07:00Z TRACE kube::runtime::reflector] Resetting Ditto
[2020-06-17T16:07:00Z TRACE hyper::client::pool] checkout waiting for idle connection: ("https", <IP_ADDRESS>)
[2020-06-17T16:07:00Z DEBUG reqwest::connect] starting new connection: https://<IP_ADDRESS>/
[2020-06-17T16:07:00Z TRACE hyper::client::connect::http] Http::connect; scheme=Some("https"), host=Some("<IP_ADDRESS>"), port=None
[2020-06-17T16:07:00Z DEBUG hyper::client::connect::http] connecting to <IP_ADDRESS>:443
[2020-06-17T16:07:00Z TRACE mio::poll] registering with poller
[2020-06-17T16:07:00Z DEBUG hyper::client::connect::http] connected to <IP_ADDRESS>:443
[2020-06-17T16:07:00Z TRACE mio::poll] deregistering handle with poller
[2020-06-17T16:07:00Z TRACE hyper::client::pool] checkout dropped for ("https", <IP_ADDRESS>)
Error: ReqwestError: error sending request for url (https://<IP_ADDRESS>/apis/iot.eclipse.org/v1alpha1/namespaces/ditto/dittos?): error trying to connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1915: (self signed certificate in certificate chain)

Caused by:
    0: error sending request for url (https://<IP_ADDRESS>/apis/iot.eclipse.org/v1alpha1/namespaces/ditto/dittos?): error trying to connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1915: (self signed certificate in certificate chain)
    1: error trying to connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1915: (self signed certificate in certificate chain)
    2: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1915: (self signed certificate in certificate chain)
    3: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1915:

However, doing a simple curl seems to work just fine:
$ curl https://<IP_ADDRESS>/apis/iot.eclipse.org/v1alpha1/namespaces/ditto/dittos? --cacert /run/secrets/kubernetes.io/serviceaccount/ca.crt --oauth2-bearer $(cat /run/secrets/kubernetes.io/serviceaccount/token)
{"apiVersion":"iot.eclipse.org/v1alpha1","items":[{"apiVersion":"iot.eclipse.org/v1alpha1","kind":"Ditto","metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"iot.eclipse.org/v1alpha1\",\"kind\":\"Ditto\",\"metadata\":{\"annotations\":{},\"name\":\"test\",\"namespace\":\"ditto\"},\"spec\":{}}\n"},"creationTimestamp":"2020-05-18T16:43:37Z","generation":3,"name":"test","namespace":"ditto","resourceVersion":"197353246","selfLink":"/apis/iot.eclipse.org/v1alpha1/namespaces/ditto/dittos/test","uid":"a2abc8d4-3954-4177-b806-674896b7ec6c"},"spec":{"mongoDb":{"host":"mongodb"}},"status":{"phase":"Active"}}],"kind":"DittoList","metadata":{"continue":"","resourceVersion":"209819082","selfLink":"/apis/iot.eclipse.org/v1alpha1/namespaces/ditto/dittos"}}

hm, certificate issue on in-cluster? that's almost certainly a bug.
not sure what's the problem here yet, but will have a go at reproducing later.

I think I see the problem. The ca.crt file contains a chain of certificates, while the configuration only reads one.

Yes, that was it. I added some logic to split the PEM and add all certificates in that bundle, and that made it work. I can create a PR if your like?!

Thanks again. This was super helpful!
Have released your pr in a patch release kube = 0.35.1

Thanks for the quick merge. And for the service release :+1:


current config fix

The PR has 2 fixes:

the NN metrics now returns the port along with the hostname which we don't need in cloudbreak
the config handling is changed in 2.1 -> instead of trying to figure out which one is the latest configuration (not to mention i think it was faulty because of the different config groups) there is a much simpler way to do it, Ambari can return the currently active configuration, the only thing we need is to merge the corresponding config groups with the default one

the change is compatible with Ambari 2.0 as well
@schfeca75 @akanto

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/ambari-rest-client-pull-request/100/


Use babel-preset-cx-env in CLI

Additional tasks:

Switch to new import syntax
Rename controller.js to Controller.js


MARKETPLACE: Add Header & Footer

Need to work through this with Kristine.

We decided this is good for now.


Add ability to sort by individual Redis instances

Is your feature request related to a problem? Please describe.
I have a customer reporting that they use 2 separate Redis databases, and they want to sort by individual Redis instances on several different views (the "Databases" view, "Web transaction time" chart), so they can tell which slow operations are from which instance.
Feature Description
Add the ability to see all Redis instances separated. The Redis instance name could be based on the Redis host name. For example, "Redis GET" operation is executed against"Redis host1" or "Redis host2" instance.
Additional context
Heroku case: https://heroku.support/1297031
Priority
Really Want
Internal Resources

Discovery Slack discussion
Cross-team Slack discussion

Internal - Slack Discussion

Update November 3, 2023
This sounds like a really awesome feature that would hold value for many customers. Thanks for your request! We've done a bit of discovery and, unfortunately, the effort to make this happen is pretty high.
The metrics that drive the content on the "Databases" page and the "Web transaction time" chart aren't easily updated. In addition to making changes to the Ruby agent, we'd also need changes from multiple UI teams to make this happen.
We'll keep the discussion on this idea open and will update this issue with any new developments regarding when we might be able to take this on.
If anyone else comes across this issue and would also like to see it implemented, please react with an emoji on the issue description.
While we're waiting, an alternative approach to get similar data would be to use Span events to generate similar charts on a custom dashboard.
One query you could experiment with is:
SELECT average(duration)
FROM Span
WHERE entity.guid = '<YOUR_ENTITY>'
AND name LIKE 'Datastore/operation/Redis/get'
FACET peer.hostname
TIMESERIES

Visit the New Relic Docs site for more information on how to query your data.

@kaylareopelle Thanks for the update.
If you have distributed tracing enabled then the other workaround to identify slow Redis operations coming from different Redis hosts is to open APM & Services -> (choose your app) -> Transactions -> (select something from Top 20 transactions, for example select a background sidekiq worker) -> on the Transaction traces table select one of slow transactions -> select the Database queries tab ->  In the Database instance column you can see host name (i.e. Redis host1 or host2).
But if you selected API endpoint instead of background sidekiq worker then Redis host name is not visible. It's just showing web.1 for Heroku dyno name. Not sure why it's showing correctly Redis host name only for background sidekiq workers.

Hi @ArturT,
Thank you for sharing the workaround.

But if you selected API endpoint instead of background sidekiq worker then Redis host name is not visible. It's just showing web.1 for Heroku dyno name. Not sure why it's showing correctly Redis host name only for background sidekiq workers.

For this part, does the web.1 dyno perform DT traced requests to the Redis dyno? If there's either a bug or a feature request related to how the Redis dyno name gets surfaced to New Relic for API requests, we'd love to know more about it and surface it as a separate GitHub issue. Especially given the complexity that @kaylareopelle described with this feature request, we'd like to see if anything else can be done to help multi Redis host users.

For this part, does the web.1 dyno perform DT traced requests to the Redis dyno?

I believe yes, because we use default NewRelic settings (DT tracing is enabled).
To keep this issue separate I created a new issue:

https://github.com/newrelic/newrelic-ruby-agent/issues/2316

To keep this issue separate I created a new issue

Perfect. Thanks, @ArturT!


fix(): remove wrong param in traceback.format_exc

Based on the documentation, format_exc is expecting an int value

Changes Unknown when pulling 949163c922cd6de4a4f6cea0f00eb07fb44edd31 on Pix4D:handle_500 into ** on aschn:handle_500**.

@triat Thanks for the contribution.


Need information about number of detections at once

My actions before raising this issue

[X ] Read/searched the docs
[ X] Searched past issues

Information needed
I got an own custom model running for my CVAT installation, however, it only makes 2 detections at once, despite when running locally it detects up to 40 objects. I'm testing it with the same photo trying to replicate the local results on CVAT.
There is any parameter/file/etc that reduces the number of objects CVAT can read at a time? If so, which one is it?
Thanks in advance for the information

Hi, @smarnav2904

There is any parameter/file/etc that reduces the number of objects CVAT can read at a time

No. Only threshold, but it is on your model handler level.
See this one: serverless/tensorflow/faster_rcnn_inception_v2_coco/nuclio/main.py for example.

Thanks for you answer @bsekachev , but I still encounter the same problem that, results still are not the same, despite being the exact same code and image (which I suppose it should throw the same results), results only get better when i set the threshold to 0 for CVAT, other thresholds throw the same bad results (Not being the case when i change that locally)

Also, just to clarify, I don't use any model handler because the docker image that I'm using, already got Darket imported.

I do not have any details to make a suggestion :(

Don't worry @bsekachev , the issue was solved doing a workaraound to send the images in another way. Thanks for the support, consider this issue closed.


Refactor plugin code

Signed-off-by: Akash Srivastava<EMAIL_ADDRESS>

Codecov Report

Merging #14 into staging will increase coverage by 47.26%.
The diff coverage is 92.13%.

@@             Coverage Diff              @@
##           staging      #14       +/-   ##
============================================
+ Coverage    44.87%   92.13%   +47.26%
============================================
  Files            4        2        -2
  Lines          332      229      -103
============================================
+ Hits           149      211       +62
+ Misses         171       13      -158
+ Partials        12        5        -7

Impacted Files
Coverage Δ

metrics/metrics.go
80.55% <80.55%> (ø)

metrics/reporter.go
97.45% <97.45%> (ø)

Continue to review full report at Codecov.

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


Incorporate Orography and Land-Sea Mask Variables

To improve the accuracy and geographical relevance of the AtmoRep foundation model, it would be beneficial to incorporate two key static variables from ERA5, i.e., orography (surface elevation) and the land-sea mask. Currently, AtmoRep doesn't use these inputs, despite their role in influencing weather patterns. By adapting the model's architecture to include these variables, we can better capture terrain-sensitive and coastal environments, potentially enhancing the model's predictive capabilities.

From our experience, these variables won't make a difference: the model learns it from the dynamical variables. E.g. when one looks at the stddev plots, all orographic features are clearly visible. This is also consistent what we observed at ECMWF with downscaling: with a model with a sufficiently complete state of the dynamical system and a sufficiently large training data set, orography, land-sea mask etc do not improve scores any longer.


Managers update office jurisdictions

Managers will have a link to 'My office' on the toolbar
Managers will not see links to the office list
Update the new/edit form to match existing design
Update the tests

There were the following issues with your Pull Request

Commit: f6ed2b1c6e91070c6c6700b4ea2435a1c6882071
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/ministryofjustice/fr-staffapp

This message was auto-generated by https://gitcop.com


From Numpy Array to  TC Tensor and vice versa

if i have  X with type np.array how can i convert it to be Tinychain Tensor format
So i can use Tc.tensor methods ?
and for the opposite should i use .flatten.tolist()  then cast it by  np.array()

Also  do we have  .shape Function over here in tinychain ?

i tested this in numpy and it worked
        self.dbeta = 2/n_samples*(np.einsum("ij,ki->kj", self.beta,
            np.einsum("ij,ki->kj", self.X, self.X.T))
                                  - np.einsum("ij,ki->kj", self.y, self.X.T))

can we say that
      d_weights = 2/len(inputs)*(tc.tensor.einsum("ij,ki->kj", weights,
                                                   tc.tensor.einsum("ij,ki->kj", inputs, inputs.transpose))-
                                                      tc.tensor.einsum("ij,ki->kj", labels, inputs.transpose))


The translation exists but is not displayed in the interface

Hello,
Of the three translations, one is always displayed in English:

The same here:

À tester | To Test

Should be fixed in the next release: 3.0.6
List names are treated as user-generated content after creation - that's why it's not translated. However if you create new board (while using French language) all list names should be in French.

We don't want to translate it, because it may cause confusion (+ users can edit these names), and users on one board are usually speaking the same language.

Yes, that makes sense! ;)
Thanks for everything. The update is available, I will test it.

The 3.0.6 should be in ~5m and it fixes the issue: "Subscribe to my own cards".

Excellent! All work fine!
Take a look here: https://belginux.com/installer-4ga-boards-avec-docker/

Looks great! Thanks.
If it's helpful for your article, you can add a link to this docs website - as we don't have a full website yet (We should have it ready in ~2 weeks).

No problem, it's done!
Thank you for the responsiveness and discussions. :)


Add meta description

Used by bookmark services and search engines.

Hi Ricardo! Thanks for this, I hadn't realized the importance of a meta description.
Mind signing the CLA per the instructions in CONTRIBUTING.md so I can merge this in?

ping @ricardobeat

Hi Jordan. I have to say I am not completely comfortable with signing the CLA - I don't know the exact legal implications for some of those terms, and don't have the time to investigate. Feel free to push a commit of your own based on this change, I'm happy to have helped.

Okay no worries! Please note that CLAs are fairly common, and you'll need to sign one to contribute to open source projects by Google, Facebook, Twitter, etc.
Sorry to have scared you off - happy to answer any questions.


Keep variables global if assigned to

Fixes https://github.com/Microsoft/pxt-arcade/issues/752
Fixes https://github.com/Microsoft/pxt-arcade/issues/751
Unfortunately, this undoes a lot of the logic I added to declare variables locally (oh well). The other improvements still apply (fewer renames, combined declarations, etc.).

Sad but necessary...


How can I handle it?
Thanks.

Please respect the issue template or this issue will be closed.


chore: remove dispatcherIndex

it does not seem so be used anywhere...

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


Add OSSF Scorecard workflow to devctl gen workflows

Towards https://github.com/giantswarm/giantswarm/issues/24297
Checklist

[ ] Update changelog in CHANGELOG.md.

Tested in https://github.com/giantswarm/github/pull/1300

Auto-merging to not miss a potential devctl release while I'm away

Ready for review now


Google Drive

Can we use meteor-slingshot with Google Drive?
any ideas?

I have used meteor-slingshot with google storage. Google Drive is based on the google storage infrastructure. So, you should be able to use it.


Missing "sensor.luxtronik2.heat_source_output_temperature"?

In the last version(s) the sensor "heat_source_output_temperature" (Wärmequelle Ausgang) got lost / became unavailable in my lovelace dashboard :(
Could you reintroduce it again?
Thanks, Sven.

@SvenJachalke The sensor is still present in the integration (unless your heat pump is model LD7), but it is disabled by default. You can enable it through the integration device page, it is in the general heat pump device.
It's a pretty important measurement in my opinion, so I don't know why it is not enabled by default.

Thanks @Kars-de-Jong !
You are right ... it was simply deactivated :/ I agree, its pretty important ... so maybe a future version can enable it by default?

Not all heatpumps supports data on this sensor. E.g. mine LAD7.
I use more and more the original luxtronik visibilities. But it seems that many heatpumps has a wrong visibility config.
But only two sensors based on newer firmware are not created. All other sensors should always be created but not enabled if the luxtronik underlying visibility reports "hidden".
Currently I'm focusing on the new code base, but I try to implement those "specials":
https://github.com/BenPru/luxtronik/blob/core-preview/custom_components/luxtronik/sensor_entities_predefined.py#L332

Thanks!
I see that right now its not too important (and now I know how to "fix" it) :)


Implement Mockup

Implement a basic version of the mockup, as part of #35.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d2d91bf). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #64   +/-   ##
=========================================
  Coverage          ?   72.31%
  Complexity        ?      400
=========================================
  Files             ?       70
  Lines             ?     1228
  Branches          ?      124
=========================================
  Hits              ?      888
  Misses            ?      308
  Partials          ?       32

Impacted Files
Coverage Δ
Complexity Δ

...n/java/seedu/address/commons/core/GuiSettings.java
69.23% <ø> (ø)
5.00 <0.00> (?)

src/main/java/seedu/address/ui/UiManager.java
0.00% <ø> (ø)
0.00 <0.00> (?)

Continue to review full report at Codecov.

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


Error parsing dimension value 100%: invalid literal for int() with base 10: '100%'

Describe the bug
I'm getting the following error when running the app on latest master.
Error parsing dimension value 100%: invalid literal for int() with base 10: '100%'
To Reproduce
Steps to reproduce the behavior:

export RETRIEVER="tavily, arxiv, duckduckgo"
run the app

Expected behavior
The errors in the console don't lead to anything crashing, but I'm guessing that potentially some information are not being ingested correctly.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: macos

Additional context
Not a big deal, let me know if you need more information

I'm also getting
Error in converting Markdown to PDF: cannot load library 'libgobject-2.0-0': dlopen(libgobject-2.0-0, 0x0002): tried: 'libgobject-2.0-0' (no such file), '/usr/local/lib/libgobject-2.0-0' (no such file), '/usr/lib/libgobject-2.0-0' (no such file), '/Users/macintoshhd/dev/gpt-researcher/libgobject-2.0-0' (no such file).  Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0'

Path of least resistance is docker
Try here:
https://docs.gptr.dev/docs/gpt-researcher/getting-started/getting-started-with-docker


Testing using contextIsolation = true for Electron

What I have done so far:
in index.js:
const createWindow = () => {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      preload: path.join(__dirname, 'preload.js'),
    },
})

in preload.js:
const steamworks = require('steamworks.js')
const { contextBridge } = require('electron')
contextBridge.exposeInMainWorld('steamworks', steamworks)

Other files in the renderer thread can then reference the 'steamworks' object.
This is working so far in Electron on MacOS with some simple functions, init, setting/clearing achievements (though MacOS does not support Electron/Steam overlay, so I have not tested that yet, will test it later on a Windows dev system.) Anyone have experience with this yet?

I do exactly that on my game and it works great, on all platforms.


[INTEL MKL] Removing OpenMP dependency from Mkl-dnn supporting threadpool

@sshiddib Can you please check @penpornk's comments and keep us posted. Thanks!

@penpornk @gbaned I tried the failing tests locally in my machine and I could't reproduce the failures.


redraw after filtering

When filtering a table while on a page which doesn't exist anymore after the filter is applied, an empty table is displayed. Programatically scolling to the first page has no effect.
After a cursor movement, the newly filtered table is displayed correcty.
Example:
					m.currentFilter = m.filterTextInput.Value()
					m.archTable = m.archTable.WithFilterInputValue( m.currentFilter)
					m.archTable.Focused( true)
					m.archTable.WithCurrentPage(1)

Released https://github.com/Evertras/bubble-table/releases/tag/v0.15.0 , please let me know if this fixes the issue for you.


IDVA6-368 remove authorise person success page

Link to Jira:
https://companieshouse.atlassian.net/browse/IDVA6-368
Changes:

Manage authorised people page updated to display success banner on person removal
Problems with debugger fixed
Test updated and new added

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found


ci: update nightly release workflow

Description
Update the nightly release build workflow by removing the extra build step. Since goreleaser already builds the image and makes it available for the Docker daemon context, we just have to publish the built manifest by calling docker push openfga/openfga:latest.
References

Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Codecov Report
Base: 84.27% // Head: 84.28% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (78c16a4) compared to base (4e8444b).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #574   +/-   ##
=======================================
  Coverage   84.27%   84.28%
=======================================
  Files          86       86
  Lines       13526    13526
=======================================
+ Hits        11399    11400    +1
+ Misses       1747     1746    -1
  Partials      380      380

Impacted Files
Coverage Δ

internal/graph/check.go
90.41% <0.00%> (+0.22%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Redirect not working inside plugin

Version
v1.4.0
Reproduction link
None
Steps to reproduce

Create a plugin(ssr: false) with a redirect.
Run the app
Watch the redirect not working

What is expected ?
To redirect.
What is actually happening?
Nothing.
+
If i invoke context.next('') before the redirect or set it async(setTimeout 0), it works BUT doesn't change layout.
Thanks in advance!

This bug report is available on Nuxt.js community (#c6996)

Same issue here, seems to me that redirect is not available with ssr false.

@memic84
The problem is not ssr: false in my code.
Router.onReady() means that the router is prepared, but the layout routing is not.
PS seems like this is fixed in the new version(not yet released).


Activating extension 'DSaladin.al-object-helper' failed: The "path" argument must be of type string. Received an instance of Array.

Version: 2.3.4
Describe the bug
Unable to use extension commands Ctrl+Alt+O - "command 'al-object-helper.openALObject' not found"
To Reproduce
Steps to reproduce the behavior:

Open VSCode 1.80.1
Attempt to use command Ctrl+Alt+O
See Warninig

Expected behavior
Open AL Object command should open
Actual behavior
Warning appears "command 'al-object-helper.openALObject' not found"
Screenshots

Additional context
Developer Tools console error shows
Activating extension 'DSaladin.al-object-helper' failed: The "path" argument must be of type string. Received an instance of Array. mainThreadExtensionService.ts:113
$onExtensionActivationError @ mainThreadExtensionService.ts:113
N @ rpcProtocol.ts:455
M @ rpcProtocol.ts:440
H @ rpcProtocol.ts:370
G @ rpcProtocol.ts:296
(anonymous) @ rpcProtocol.ts:161
w @ event.ts:1088
fire @ event.ts:1119
fire @ ipc.net.ts:650
Q.onmessage @ localProcessExtensionHost.ts:583

Thanks for reporting :)
I'm think I found the error and will provide you with a vsix package shortly

Version 2.3.5 is now live

Installed and working - Thank you


Windows and Linux apps have default Electron menu in dev mode (unlike MacOS), is that intentional UI design, or an oversight?

(I thought there was a desire to eliminate the top menu bar...is that so?)

Related issue: https://github.com/readium/readium-desktop/issues/417

On Windows and Linux, mainWindow.setMenu(null); should be called not only in PROD mode, but also DEV, or alternatively, create a similar DEV menu as the one for MacOS in initDarwin().
https://github.com/readium/readium-desktop/blob/211286fdf373fbcef3efa2936bf0e3e39d6a462e/src/main/createWindow.ts#L76-L99
https://github.com/readium/readium-desktop/blob/211286fdf373fbcef3efa2936bf0e3e39d6a462e/src/main/createWindow.ts#L133-L304

Same in the reader view:
https://github.com/readium/readium-desktop/blob/211286fdf373fbcef3efa2936bf0e3e39d6a462e/src/main/redux/sagas/reader.ts#L145-L150


Serving blocks and blob_sidecars in RPC byRoot right after they passed gossip validation

Assuming a node has not received via gossip a block that has been imported by the majority of the network.
Before Deneb, a node can be aware of that block's root when:

it sees an attestation voting for it
it sees the next block building on top of it

In both cases it is likely that the node can lookup the block byRoot since both events signals that the block has been imported (probably) by the majority of the network.
After Deneb, there will be a third condition:

it sees a valid blob_sidecar carrying the block header.

This third event happens way before the the other two, probably before most of the nodes has successfully imported the block.
And this applies to blob_sidecars too.
Thus, while pre-Deneb, serving only fully imported blocks seems good enough for client missing them, in Deneb seems not be the case anymore.
Should we let clients serve byRoot requests for blocks and blob_sidecars that have passed gossip but has not yet fully imported to allow early byRoot recovery?

I believe we are dealing with two types of blocks in this scenario:
1.) Blocks that pass gossip validation but are yet to undergo the state transition function.
2.) Blocks that have successfully passed the state transition function but have not yet been imported into the fork choice.
While these considerations apply to both types, focusing primarily on the second type might be safer. However, it's important to note that after passing through gossip validation, the block will possess a valid signature and proposer index. Consequently, a malicious node would need to either sacrifice a block or risk being slashed to successfully execute any kind of attack

@terencechain right. But to get the most benefit we should go for 1). Not sure if doing it only 2) is worth the change in terms of gained timing, and seems to me that 1) won't introduce any additional risks.
But it would be nice to hear from others.

Re: @terencechain's conditions, I have a bit mixed thoughts. Only allowing (2) seems "safe", but it might be just as safe as gossip to allow (1) and then remove if (2) fails. Essentially, if it's something that can be forwarded on gossip, then it's something that can/will get to you independent of the full validation. So if you see something (sidecar) with it as a dependency, I think it's okay to get it actively (req/resp) upon the same condition you are expecting it passively (gossip) which is the gossip conditions being validated

Agree with the above. I'm convinced 1.) is the way to go. I initially said 2.) because most clients verify consensus check in parallel with execution check, and the only difference is ~50ms for Prysm to verify state transition as soon as a block passes gossip. Which might still matter in the grand scheme of things

So if you see something (sidecar) with it as a dependency, I think it's okay to get it actively (req/resp) upon the same condition you are expecting it passively (gossip) which is the gossip conditions being validated

My point on the call was that if you observed a sidecar as a dependency and not yet received the block, it is very likely that peers that you’re connected to have not yet received a block either (otherwise, they would gossip you the block); in this case if BlockByRoot is sent shortly after receiving a sidecar would likely not help to resolve the dependency.
But in some cases when a remote peer receives a block e.g. 3.5 seconds into a slot and a local node requests it, additional time to wait for the execution of this block before serving it back can result in the node missing the attestation deadline as after receiving the block it will have to be executed as well. From this perspective run only gossip validation before serving a block makes sense to me


Khronos Neutral tone mapper

Is your feature request related to a problem? Please describe.
I am trying to use the new Khronos neutral tone mapper (https://www.khronos.org/news/press/khronos-pbr-neutral-tone-mapper-released-for-true-to-life-color-rendering-of-3d-products) What would be the most efficient way to use it?
Describe the solution you'd like
The ideal solution would be exposing it as one of the enums. Is there any other alternative I can use for now?
Thank you so much for the consideration

It's already part of Filament.

Ah you are absolutely right, I was on an older version. Thanks so much


⚠ Bofrost.be has degraded performance

In 64f3ea0, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2521 ms

Resolved: Bofrost.be performance has improved in 3e59407.


Create jazzy branch

Can you please create a jazzy branch for this repo? I have some changes here I'd like to merge for an eventual Jazzy release of this package in support of the Turtlebot 4.
Thanks!

I made a jazzy branch without any relevant code changes (just small doc updates replacing humble with jazzy).  I confirmed it compiles, although it has some deprecation warnings. https://github.com/iRobotEducation/create3_examples/tree/jazzy


Fix scan time metrics for vread

totalScanTime_'s unit should be nano second.

@DanielMunozT and @mbasmanova , could you please help to review?

@DanielMunozT and @mbasmanova , could you please help to review?

@DanielMunozT and @mbasmanova, general ping for this pr, thanks.


Define our styleguide and update the eslint config to represent it

Description
We will want thorough documentation of our style guide for numerous reasons. Using airbnb as an example, define our styleguide within this repo.
Implementation

[ ] update the README
[ ] update the eslint configuration to reflect the documented style guide

I believe this issue can be closed for now @shvagen

Completed


Create a Vimium fork to support multimodal models

It might make sense to create a fork of Vimium designed specifically for making it easier for multimodal LLMs to choose relevant elements on a page. This might involve messing around with annotation colors, sizes, fonts, etc.

Vimium author here. I have no opinion about whether to fork. I just heard about this project today and wanted to say, this is cool! Good luck!

Wow thank you so much, means a lot coming from you! I love your work!

We just open sourced a utility library that can tagify web pages for you: https://github.com/reworkd/tarsier
Could be a drop in replacement for vimium. We have plans to be able to customize tag appearance / positioning if that's interesting

Just an idea, but maybe possible to use qutebrowser :

written in Python (using QtWebEngine)
has vim-mode par default
has userscripts - really neat feature to automate things


README: number agreement (implementations which do)

I hesitated to even send over such a lame patch, but I figured you didn't want a number disagreement in the very first line of the README. I shall now sheepishly slink back to my lair.

Thanks!


--show-menu-bar doesn't seem to do anything

Description
--show-menu-bar doesn't seem to have an effect.
Honestly, I'm unsure what the menu bar is, but I was hoping it included the address/url bar and back/forward navigation buttons.
If not, I'm happy to open a feature request for that (along w/ open link in tab).
Details

Version of Nativefier (run nativefier --version): 7.4.1
Version of node.js (run node --version): v6.11.5
OS: osx sierra

Hi @cwensel, thanks for the feedback.
--show-menu-bar has no effect on macOS, no, as under this OS the menu bar is always visible, at the top of the screen. Under Windows and Linux, though, the menu bar will appear at the top of the window (constantly with the --show-menu-bar flag, and without it the bar remains invisible but accessible when the Alt key is pressed).
Regarding the request for an address bar and tabs, minimal UI is a goal for nativefier; navigation should be done in-app, using the app features. Nativefier's goal is not to re-build a web browser, web browsers are good at that. Its goal is precisely to cut down on browser UI to focus the experience to one app, and let the app do its best at letting the user navigate.

ok, thanks for the explanation.
re the comments on address bar and tabs.
for an single page app like Gmail, the current model works quite well.
for Google Drive, having tabs is very helpful as the root page is a list of artifact that one wants to edit. editing multiple artifacts simultaneously is helpful (think Pages or Word docs, one app, multiple windows). the address bar makes it easy to copy/paste an url (outof/into) the app.
when considering making github.com an app, having navigation in the bar is very handy. and having an url to copy (paste) is useful when sharing links.
thanks for all the work. I love the tool.

@cwensel

for an single page app like Gmail, the current model works quite well. for Google Drive, having tabs is very helpful as the root page is a list of artifact that one wants to edit. editing multiple artifacts simultaneously is helpful (think Pages or Word docs, one app, multiple windows).

True! I myself use Nativefier principally for Gmail and Feedly, and I wouldn't want to use Gdocs or GitHub or JIRA in Nativefier. But (to me!) that's fine: Nativefier is good for some apps that fit well a single-screen model (Gmail, Feedly, Whatsapp, Spotify, etc). Web apps not fitting that model and centered on individual documents deserving tabs can stay in the browser and it's alright 🙂. Starting adding an URL bar and tabs feels like a teeming bag of worms leading to (badly) re-implementing a browser. I don't want that, and I'm only a maintainer here but I strongly feel it breaks core qualities (simplicity, minimalism) of Nativefied apps.

the address bar makes it easy to copy/paste an url (outof/into) the app [...] and having an url to copy (paste) is useful when sharing links

Note that:

To copy the current URL: Menu → Edit → Copy Current URL (or its Cmd+L keyboard shortcut).
To copy a link's URL: right-click the link, and "Copy link location"

thanks for all the work. I love the tool.

Appreciated! Thanks for the nice words 🙂.

fair enough. but tbh, the utility is in having each productivity tool/site as a single app. this requires a mix/match of browser features each site leverages while having the option of removing the clutter of those unused.


Package request: Nix Software Center

Project description
A graphical app store for Nix.
Metadata

homepage URL: https://github.com/snowfallorg/nix-software-center
source URL: https://github.com/snowfallorg/nix-software-center
license: GPL-3.0
platforms: Nix, Flakes

Add a :+1: reaction to issues you find important.

Seems to be the same software https://github.com/NixOS/nixpkgs/issues/212962

Duplicate of https://github.com/NixOS/nixpkgs/issues/212962


Clean Up and Create URC2016 Branch+Tag

We will need to clean up everything and prepare for a branch. The following is on this list:

[ ] Check what is working or broken, what files are duplicated or garbage. Please discuss below!
[ ] Create a branch and tag/release for URC2016
[ ] Strip down the core rover software to the bare minimum so we can port it to python 3

Some bonus ideas

[ ] Move the embedded (microcontroller) code into its own repository
[ ] Crate a repository for our OS level configuration (device trees, kernel build scripts etc.)

Coms for the arm is sort of broken, and I never got the gamepad buttons to work.
Also, do we still need hardwareImages/toFlash_edison.7z ?
I'll add Thumbs.db to the gitignore.

If we document that somewhere then that's probably fine?
Probably not. It would make sense to put stuff like that in the future OS repo.
Good idea!

I'll make a list of the rover processes. Check off (if you can) the ones that you know are working or will only take very small changes to get working:

[ ] Arm process (game pad button support not quite working)
[ ] Camera process
[ ] Drive process
[ ] Drill process
[ ] Navigation process
[ ] Storage bin process
[ ] Web server process
[ ] Web server
[ ] Can server
[ ] Json server

Here are the embedded modules:

[ ] Arm (Comunication is buggy)
[ ] Drill
[ ] Storage bin
[ ] Science sensors

You can totally remove WebServerProcess as it should have been deprecated and repalced with WebServer a while ago.
Drive process is missing the tweaks we made on the rover before swapping out the compute module board but it was working well enough to drive and the other functionality is there.
Drill and Storage Bin process have never been tested in the field. I think the drill Teensy is fried. The python code worked in the lab and so did the Teensy code.
Camera process is totally not implemented but it was basically just going to be a bridge between the Python and the Teensy so it probably can just survive how it is with a note (with the commented code).
No idea about the Navigation Process. It gets GPS coordinates and seems to have everything it needs.
The science sensors definitely do not work right. So a note will need to be made there too.
For all the places with a note I think we should make a README.md file for future reference.

Updated some of those README files. I think it is sufficient to see what was going on - we really didn't have much code.
Unless there's any major objections we can probably create a URC 2016 Release. (In the release notes make sure to highlight the WebServer integration as well as the improvments to the way processes register with main.py - everything else seemed to be a regression! :O)
I changed the name of this issue because I think it would be more fitting to create a new issue for organizing the cleaned/new branch. I also edited the top comment with the issue description.

Did the pull request (while I wait for kernels to compile). Will be creating the release tag and closing the branch.


Use _build_ext from cmds

I had to add these lines in myproject/versioneer.py to be able to use a custom build_ext that is required in a project of mine using cython. I hope that I applied the change at the right place und the python-versioneer.

Looks right. Thanks!


can we write it in to the existing xlsx

how to write in to the existing workbook without creating new workbook...

You can open the xlsx file, make your modifications so the workbook/sheets and then write back to the same filename.
e.g.
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(filename)
  .then(function() {
    // edit worksheet
    var worksheet = workbook.getWorksheet("My Sheet");
    worksheet.getCell("A1") = new Date();
  })
  .then(function() {
   return workbook.xlsx.writeFile(filename)
  })
  .then(function() {
    console.log("Done");
  });

I'm getting this error while writing in to the excel sheet...

@guyonroche shouldn't it be:
worksheet.getCell("A1").value = new Date();

instead of
worksheet.getCell("A1")= new Date();

?

Hi,
Is there a way to do something similar in stream mode? i.e. I am currenlty using new Excel.stream.xlsx.WorkbookWriter(options) to stream SQL data into a new spreadsheet and it is very successful. However I want to be able to use an existing template that has pivot tables, charts, conditional formatting, etc and then just stream data into the respective Data sheet of this workbook.
The template will usually be very small in size, so memory shouldnt be an issue. I just want to use the template and stream to it.
Any idea how to achieve this?
Thanks

+1 Is there any update on this? This would be great to have!

I have managed to load a remote spreadsheet, make updates and offer the file as a download all from the browser so I am posting the code in case its of use to anybody.
// Additional libraries required: 'jszip', 'FileSaver'

axios.get('/path/to/file.xlsx', {
    responseType: 'blob',
    headers: { 'content-type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }
}).then((response) => {
    const fileReader = new FileReader()

    fileReader.onload = function() {
        const typedArray = new Uint8Array(this.result)
        JSZip.loadAsync(typedArray).then(() => {
            const workbook = new Excel.Workbook()
            workbook.xlsx.load(this.result).then(() => {
                const ws = workbook.getWorksheet('Sheet Name')
                // Add details to sheet here
            }).then(() => {
                workbook.xlsx.writeBuffer().then(data => {
                    const blob = new Blob([data], { type: this.blobType })
                    FileSaver.saveAs(blob, 'new-file-name.xlsx')
                })
            })
        })
    }

    fileReader.readAsArrayBuffer(new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }))
})

Hi,
You should pass workbook object after file read.
and getCell method with row and colum as parameters.
Example: (enviroment: node: v14.3.0; exceljs: ^4.2.0)
i open a existed workboox, open first sheet and get value of first cell.
await workbook.xlsx.readFile(/myexcel.xlsx).then(async (w) => {             const worksheet = w.getWorksheet(1);             const a1 = worksheet.getCell(1, 1).value;             console.log(a1);         });
It work good for me.

Hi,
You should pass workbook object after file read.
and getCell method with row and colum as parameters.
Example: (enviroment: node: v14.3.0; exceljs: ^4.2.0)
i open a existed workboox, open first sheet and get value of first cell.
await workbook.xlsx.readFile(`${<path>}report-13-t.xlsx`).then(async (w) => {
            const worksheet = w.getWorksheet(1);
            worksheet.getCell(1, 1).value = new Date();
            const a1 = worksheet.getCell(1, 1).value;
            await w.xlsx.writeFile(`${<path>}report-13-t.xlsx`);
            console.log(a1);
});

It work good for me.


Investigate replacement of pbr crate

Issue summary

pbr crate has not been released for 2+ years, it has some issues like RUSTSEC-2020-0071 with its published versions. We should investigate possible replacement
Other information and links

related: https://github.com/a8m/pb/issues/114
https://github.com/console-rs/indicatif can be an alternative

Actually pbr is maintained it's just the new version has to be released https://github.com/a8m/pb/issues/113

Actually pbr is maintained it's just the new version has to be released a8m/pb#113

That issue is five months old and the maintainer still hasn't responded. Looks to me like it is unmaintained.


add plant-UML coded architecture diagram

Learn more about Plant-UML coded diagrams at https://plantuml.com/
Azure Icon Sets: https://github.com/plantuml-stdlib/Azure-PlantUML


Authorization issue when verifying a function with a single parameter

When verifying multiple parameters, the verification call would look something like check_auth(&e, auth, Domain::Freeze, (a, b).into_val(&e));. One would naturally assume that verification for a single parameter would look like check_auth(&e, auth, Domain::Freeze, (a).into_val(&e));, but that will fail with a ConversionError, because a vector is expected instead of the single value a. The right way to do this would be to use (a,).into_val(&e) (notice the comma) or (vec![&e, a]).into_val(&e).
The error does point you to where the conversion error occurs, but it could take some time for someone to understand what went wrong. Ideally, this issue would be caught at compile time.

Is there a way we could remove the need for the Vec, and replace it with a Tuple? 🤔


Add junit ouput support

One approach would be to add TAP output and then rely on various tap2junit (and tap2*) producers.


Document IDA and other tool script generation

https://twitter.com/kienbigmummy/status/1539519016003588096

Could you please tell me what to do here? Do we want to add text to -H argument that tells users about these scripts in the scripts folder? Or do we want these scripts accessible from FLOSS itself using some arguments?

I think its sufficient to document the scripts in the github repository. i'd suggest the following:

a section in the main readme describing that there are some additional scripts, and linking to the scripts directory, and
a readme.md file in the scripts directory (which gets rendered by default when browsing in GH) that describes each of the scripts

Once we have some good text for these documentation sections, we can consider whether to add it to the floss -h output.

Can you assign me the issue then? I can write some docs for it, likely by today.


add single host dns query template

added the possibility to get the backend configuration directly out of swarm dns. In this configuration a second loadbalancer is not needed.


String.clone is unsafe

Current implementation of String.clone does not duplicate the string, it simply sets a new reference. If the original string is freed or reallocated, the new clone is now dangling.

ping @MartinNowak can you identify what the purpose of the internal String type is for? I understand you want to be @nogc, but what is there seems to be totally memory unsafe. I.e. I can slice the string in @safe code, and then it can be freed and I'm left with a dangling pointer:
@safe unittest {
   const(char)[] dangling;
   {
      String s1;
      s1 ~= "hello";
      dangling = s1[];
   }
   writeln(dangling); // uses now-freed memory
}

Indeed there was some talk about implementing safe nogc strings at that time. So I tried how far scope would work. It had many deficiencies at that time.
Nonetheless this is an internal type that gets us from having a path argument to open a file handle, so it doesn't really matter and gets the job done.
You sure could just push the trusted from this internal type towards those constructors.

I was more thinking about just using more allocations to avoid memory issues. But I wasn't 100% sure what the different constructors were intended for.


Support callback on cancellation of server-side unary RPCs

This was a needed feature for some applications. The semantics are as follows:

SetCancelCallback on the server callback unary RPC controller specifies a callback to be executed when this RPC is canceled. (This is analogous to, but not quite the same as, the OnCancel reaction provided for streaming RPCs.)
If the RPC has already been canceled when SetCancelCallback has been invoked, then the callback should be invoked immediately.
Any application that calls SetCancelCallback must also call ClearCancelCallback afterward before calling Finish
The cancellation callback may run in parallel with the method handler at any point after the invocation of SetCancelCallback but will not run concurrently after the return of ClearCancelCallback
The cancel callback may not call or cause to be called IsCancelled or ClearCancelCallback. It should be small and nonblocking.

This is technically a breaking change to experimental API since it adds pure methods to the experimental interface class. That said, this is explicitly-marked experimental API and thus can be broken; additionally, I have no evidence that any other instantiations of this interface exist outside this repo.
Fixes #18332

Can you elaborate on the reason that "any application that calls SetCancelCallback must also call ClearCancelCallback afterward before calling Finish"? Why can't Finish imply ClearCancelCallback? Set + Clear seems unnecessarily burdensome.

@wcevans : Absolutely! The issue is that the application invocation of Finish may race with the callback getting invoked. Forcing the user to be explicit about it means that the user must be conscious of ordering.

If the Finish callback queues behind the cancellation callback (i.e., either the cancellation callback will never be invoked, or the Finish callback will wait to be invoked until the cancellation callback has returned), does that fix the issue?
I presume that cancellation represents an atypical stream teardown. It seems better to me that the common case is simpler (user doesn't have to invoke ClearCancelCallback on every RPC) even if the rare case is potentially slower (Finish callback has to queue behind Cancel callback).

Ah, I'm sorry, I totally misread the PR description and thought this was specific to streaming RPC. Interesting, I need to think a bit more.

Yeah, I was just about to respond "there is no Finish callback." Note that in streaming, we already have this as OnCancel, but it's always present.

I updated the PR description to make it more clear.

It seems like (in the event of the race you describe) ClearCancelCallback will have to effectively block until the cancel callback returns. In that case, couldn't Finish also block?
It seems like anything you could do in ClearCancelCallback you could also do in Finish. What am I missing?

So in that circumstance, ClearCancelCallback actually doesn't block on the application-level callback. We only hold the lock long enough to decide to invoke the application-level callback (see https://github.com/grpc/grpc/blob/b48f06e13156d75b85e016d831ec9484ba76e408/src/cpp/server/server_context.cc#L214-L225) . We don't hold the lock while invoking the callback. Indeed, the cancellation callback can get triggered racily even if you clear the cancellation callback but that invocation appears to happen before the cancellation callback is cleared.

As written, it seems to me that the user cannot determine a point at which the user cancellation callback will no longer be invoked -- in fact, it may be invoked after their call to Finish returns, which means that the user must provide a cancellation callback that fails gracefully when any per-RPC information has been destroyed. That is an onerous requirement.

No per-RPC information is destroyed until after the cancellation callback runs (if it runs).

I am concerned about per-RPC state that a user creates in response to an incoming RPC. If the user has no way to determine when the cancellation callback will no longer be invoked, this greatly restricts how user cancellation callbacks may be written.

That's a reasonable concern. We could strengthen the requirements above by calling the application-level cancel callback under a lock, which is actually the semantics used by Tensorflow (they've hacked up their own SetCancelCallback/ClearCancelCallback with requirements 1-4 above on top of a callback API hacked on top of the gRPC async API). That would promise that the cancel callback would not be executed concurrently with or after the call to ClearCancelCallback. In exchange, the cancel callback would have to be very lightweight, not allowed to lock or do other operations that could lead to locks, etc. Let's sync up out of band on this.

Continuing to think about this: perhaps this really is the wrong model and instead if desired we should provide a reactor-based unary option so that there is an OnCancel

I'm getting hung up on how the user terminates the server side of the RPC in the presence of this callback mechanism. The user must still call Finish so that we can be certain they are done with the controller, right? I do not see a way that we can allow the user to call Finish from within the cancel callback because of synchronization issues. Perhaps since cancellation is presumably atypical, it is okay to mandate that Finish not be called from within the cancel callback?

Yeah, it's very atypical. We could go forward with this version to ease the migration path for the small number of codes currently doing something like this but I think I'd like to get some further input as well.

@hcaseyal @wcevans : thanks for the comments and I think that the semantics now make more sense. This PR is ready for review if you're available. Thanks!

The remaining failures are either solved by #18409 or known pre-existing issues.

@hcaseyal Thanks for the review! I think I've addressed all your comments and they've made this PR stronger. PTAL SVP

I am merging this since it is experimental but with the understanding that it could get reverted at any time based on alternative feedback.

... and thanks for the reviews!


How to change the scale and max_size for coco training?

@Zhonghao2016 try to modify lib/model/utils/config.py


Bump k8s 1.26, go 1.19

Bumps the k8s version to 1.26 and go 1.19.

/test unit

/test unit

/retest

/override ci/prow/e2e-aws-ovn
The tests passed, but deprovision failed due to infrastructure issues I believe, no need to retest

/retest


Always return proximity result, or NaN if we know it's bad

Running CI so I can test easily
This addresses the issue raised in the meeting about NaN's being returned rather than artificially restricting values returned by sensors.

@brentru I forgot about this one, I should probably get it into v76, would you mind a review please


Fix toggle theme that created a cookie on the wrong domain & header at lower res

Wrong cookie domain & header icons went under the category at lower res

Coverage remained the same at 24.341% when pulling 54fbf27fd17c6a9252171408a4f2adcd6aba697e on Kiloutre:patch-21 into ab9e3906e2d7cbe51251e3440d279eddd6bbb14e on NyaaPantsu:dev.

Coverage remained the same at 24.341% when pulling 54fbf27fd17c6a9252171408a4f2adcd6aba697e on Kiloutre:patch-21 into ab9e3906e2d7cbe51251e3440d279eddd6bbb14e on NyaaPantsu:dev.

Coverage remained the same at 24.341% when pulling a22bbc3a887375989ca16136d1a3db2e1ae72734 on Kiloutre:patch-21 into 88bea245f147fc39afdd02e47489adb14f811a99 on NyaaPantsu:dev.


Extension is not functioning

The chrome extension is no longer working.

I probably installed the wrong one - https://chrome.google.com/webstore/detail/twitter-bookmarks-search/flkokionhgagpmnhlngldhbfnblmenen


fix the empty result when the value of an output field contains a dash/slash + trim prefix with the timestamp and priority for the output

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area tests

What this PR does / why we need it:
An user noticed empty result when we search for an output field value with a / or -. It was fixed for the tags and hostnames not for other fields.
Moreover, I added a regexp to remove for the output field the timestamp + priority, it's a redundant info in the event board. It also so save some space.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
These changes will imply to flush all data, the schema in redisearch must be replaced.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fjogeleit, Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,fjogeleit]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 4642ea92b0834542f2f53467b6d02bfd4e6bb3e1


Throw an exception if we try to access the old DBS3 emulator - never merge

Like #6485 but for the DBS3 version of the emulator.
PR #6556 does something similar trying to trap actual DBS access

test this please

test this please


Use symlink for testdata version of config-network.yaml

Changes

:broom:  use symlink in testdata to ensure tested version of config-network.yaml matches real version.

..otherwise the tested version can get out of sync with the real
version, which had already happened here: the tagHeaderBasedRouting key
had been removed from the main yaml but was still in the testate yaml, and
the rolloutDuration key was not tested in the test yaml even though it
was added to the main yaml.
This matches how we do configmap yaml testing elsewhere, e.g.  (https://github.com/knative/serving/blob/master/pkg/apis/config/testdata/config-defaults.yaml, https://github.com/knative/serving/blob/master/pkg/autoscaler/testdata/config-autoscaler.yaml).

/kind cleanup

/assign @vagababov @tcnghia

/lgtm
/approve

/lgtm
/approve


Current Batch does not clear and populate with new generations

Whenever I generate new images the previous generations are not cleared from the Current batch window and I am unable to make feedback on the new images.
The only workaround is to drag the new images into the Upload Image window and make feedback there

Yes I believe I'm aware of this issue. A workaround currently is to just close and re-open the selected image or to change the selection to a different image. It's a limitation where I'm only able to detect when a new image is selected but not when the image changes due to new generation results. Still looking for a way to solve this.

I am having this same problem.

Also experiencing this but cannot use the workaround as I am using a batch size of 1, so I can't move off the selected image at all.


docs: add description about load_catalog in "Example"

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 86.647%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6372

Relevant Lines:
7354

💛  - Coveralls


  (And thus this commit isn't coming from Datawire-employee<EMAIL_ADDRESS>it's coming from OSS-contributor<EMAIL_ADDRESS>:slightly_smiling_face:)
I can't explain how an abstract idea such as "move annotation unfolding to happen in watt" manifests as an evil clown in a dream.  There isn't a visual to go with that.    I do not, and have not ever, had a fear of clowns, which makes the whole thing weirder.  However, I can say that Ambassador custom resources manifest as short (5', tops), surly men who bump in to you in convenience stores with narrow aisles.
I'm not entirely sure whether this is mergable in its current state.  We lose some of diagd's tracking of whether a resource came from an annotation, and thus screw up the "name.namespace.N" identifiers.  Anyway, having robbed the clown of his joy, I can sleep.
Related Issues
https://github.com/datawire/apro/issues/972
Testing
The CI that runs on this PR should adequately test the change.

Luke, I'm sorry to hear about your clown issues, and am happy to help put them to rest.

What do you mean by that? What height limit?

The status of this:

The KAT tests pass if KAT_RUN_MODE=envoy.  The reason I haven't committed updated gold files is that a bunch of the names and rkeys are messed up.
A few of the non-KAT pytests fail (test_docker, 1 or 2 others)

Closing in favor of https://github.com/emissary-ingress/emissary/pull/4014 and https://github.com/emissary-ingress/emissary/pull/4016


Use Array.reserveCapacity in NSArray/NSMutableArray

Whoa! Hey Philippe! Look forward to working with you on this man.


[api-minor][Editor] When switching to editing mode, redraw pages containing editable annotations (bug 1883884)

Right now, editable annotations are using their own canvas when they're drawn, but it induces several issues:

if the annotation has to be composed with the page then the canvas must be correctly composed with its parent. That means we should move the canvas under canvasWrapper and we should extract composing info from the drawing instructions... Currently it's the case with highlight annotations.
we use some extra memory for those canvas even if the user will never edit them, which the case for example when opening a pdf in Fenix.

So with this patch, all the editable annotations are drawn on the canvas. When the user switches to editing mode, then the pages with some editable annotations are redrawn but without them: they'll be replaced by their counterpart in the annotation editor layer.

/botio test

/botio test

Given the size of the patch would it be an idea, to make reviewing easier, to extract the test refactorings into a separate PR? I can then review that and we can land it first so @Snuffleupagus can focus on the remainder of the PR later. Those test refactorings (introduction of all switch<mode> helper functions and the two test utility functions) are useful to have in general and make all integration tests consistent which would also help for other integration test PRs such as the waitForTimeout and the Chrome BiDi ones (the more improvements we have in place, the better). It will also reduce the number of changes in this PR.

Given that re-rendering of a page can in some cases be slow, how does this perform when switching to/from editing-mode?

If a page with an editable annotation is slow to render then switching to editing mode will be slower.
It behaves like this in Acrobat and I don't really see how we can do better.
The main advantages of this approach are:

less memory consumption;
better rendering of highlights (when it'll be possible to edit them).

That said if you've any good ideas, as usual please share.

This is the first step for bug 1883884.

Sorry about the delay, I'm struggling with some health issues that are slowing me down.
This is starting to look a lot better w.r.t. the API, but there's still some things (e.g. the noCache parameter) that feels wrong. Rather than trying to leave a bunch of inline comments, how about the following diff (which however doesn't cover the viewer)?
diff --git a/src/display/annotation_storage.js b/src/display/annotation_storage.js
index fe42c6bea..406fc55b8 100644
--- a/src/display/annotation_storage.js
+++ b/src/display/annotation_storage.js
@@ -259,7 +259,7 @@ class AnnotationStorage {
     if (this.#modifiedIds) {
       return this.#modifiedIds;
     }
-    const ids = (this.#modifiedIds = new Set());
+    const ids = [];
     for (const value of this.#storage.values()) {
       if (
         !(value instanceof AnnotationEditor) ||
@@ -268,9 +268,12 @@ class AnnotationStorage {
       ) {
         continue;
       }
-      ids.add(value.annotationElementId);
+      ids.push(value.annotationElementId);
     }
-    return ids;
+    return (this.#modifiedIds = {
+      ids: new Set(ids),
+      hash: ids.join(","),
+    });
   }
 }

diff --git a/src/display/api.js b/src/display/api.js
index 2adbe4728..e5cac164b 100644
--- a/src/display/api.js
+++ b/src/display/api.js
@@ -1229,7 +1229,6 @@ class PDFDocumentProxy {
  * @property {Map<string, HTMLCanvasElement>} [annotationCanvasMap] - Map some
  *   annotation ids with canvases used to render them.
  * @property {PrintAnnotationStorage} [printAnnotationStorage]
- * @property {boolean} [noCache] - Don't use the cached page if any.
  * @property {boolean} [isEditing] - Render the page in editing mode.
  */

@@ -1424,7 +1423,6 @@ class PDFPageProxy {
     annotationCanvasMap = null,
     pageColors = null,
     printAnnotationStorage = null,
-    noCache = false,
     isEditing = false,
   }) {
     this._stats?.time("Overall");
@@ -1433,8 +1431,8 @@ class PDFPageProxy {
       intent,
       annotationMode,
       printAnnotationStorage,
-      /* isOpList = */ false,
-      isEditing
+      isEditing,
+      /* isOpList = */ false
     );
     const { renderingIntent, cacheKey } = intentArgs;
     // If there was a pending destroy, cancel it so no cleanup happens during
@@ -1446,7 +1444,7 @@ class PDFPageProxy {
     optionalContentConfigPromise ||=
       this._transport.getOptionalContentConfig(renderingIntent);

-    let intentState = noCache ? null : this._intentStates.get(cacheKey);
+    let intentState = this._intentStates.get(cacheKey);
     if (!intentState) {
       intentState = Object.create(null);
       this._intentStates.set(cacheKey, intentState);
@@ -1568,6 +1566,7 @@ class PDFPageProxy {
     intent = "display",
     annotationMode = AnnotationMode.ENABLE,
     printAnnotationStorage = null,
+    isEditing = false,
   } = {}) {
     if (typeof PDFJSDev !== "undefined" && !PDFJSDev.test("GENERIC")) {
       throw new Error("Not implemented: getOperatorList");
@@ -1584,6 +1583,7 @@ class PDFPageProxy {
       intent,
       annotationMode,
       printAnnotationStorage,
+      isEditing,
       /* isOpList = */ true
     );
     let intentState = this._intentStates.get(intentArgs.cacheKey);
@@ -1838,8 +1838,8 @@ class PDFPageProxy {
         intent: renderingIntent,
         cacheKey,
         annotationStorage: map,
-        modifiedIds,
         isEditing,
+        modifiedIds,
       },
       transfer
     );
@@ -2437,12 +2437,11 @@ class WorkerTransport {
     intent,
     annotationMode = AnnotationMode.ENABLE,
     printAnnotationStorage = null,
-    isOpList = false,
-    isEditing = false
+    isEditing = false,
+    isOpList = false
   ) {
     let renderingIntent = RenderingIntentFlag.DISPLAY; // Default value.
     let annotationStorageSerializable = SerializableEmpty;
-    let modifiedIds = null;

     switch (intent) {
       case "any":
@@ -2457,6 +2456,12 @@ class WorkerTransport {
         warn(`getRenderingIntent - invalid intent: ${intent}`);
     }

+    const annotationStorage =
+      renderingIntent & RenderingIntentFlag.PRINT &&
+      printAnnotationStorage instanceof PrintAnnotationStorage
+        ? printAnnotationStorage
+        : this.annotationStorage;
+
     switch (annotationMode) {
       case AnnotationMode.DISABLE:
         renderingIntent += RenderingIntentFlag.ANNOTATIONS_DISABLE;
@@ -2469,12 +2474,6 @@ class WorkerTransport {
       case AnnotationMode.ENABLE_STORAGE:
         renderingIntent += RenderingIntentFlag.ANNOTATIONS_STORAGE;

-        const annotationStorage =
-          renderingIntent & RenderingIntentFlag.PRINT &&
-          printAnnotationStorage instanceof PrintAnnotationStorage
-            ? printAnnotationStorage
-            : this.annotationStorage;
-
         annotationStorageSerializable = annotationStorage.serializable;
         break;
       default:
@@ -2485,16 +2484,15 @@ class WorkerTransport {
       renderingIntent += RenderingIntentFlag.OPLIST;
     }

-    if (!isEditing) {
-      modifiedIds = this.annotationStorage.modifiedIds;
-    }
+    const { ids: modifiedIds, hash: modifiedIdsHash } =
+      annotationStorage.modifiedIds;

     return {
       renderingIntent,
-      cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`,
+      cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}_${modifiedIdsHash}`,
       annotationStorageSerializable,
-      modifiedIds,
       isEditing,
+      modifiedIds,
     };
   }

/botio integrationtest

Looking at the latest integration-tests both Linux and Windows failed on ResetForm action Ink widget and its popup after editing annotation-caret-ink.pdf must check that the Ink annotation has a popup which I believe is a new failure and thus may be related to this patch?

My bad, I forgot to disable this test.
It's failing because the ink annotation is no more editable and before it was considered as editable because of this line:
https://github.com/mozilla/pdf.js/blob/af16aa62ada5f459a1b6402065aae0fb47a5a6e3/src/display/annotation_layer.js#L2817
and now it isn't:
https://github.com/mozilla/pdf.js/pull/18134/files#diff-d7b040092cf6be09a276b785ba03c46e79bc8342cf4ae4fb1bc139dea8513425R202

/botio integrationtest

Moreover, since this will probably land as the first [api-minor] change after the new release, please also bump the library version similar to e.g. https://github.com/mozilla/pdf.js/commit/648a2d8057214472a5f10c245bb84ba86a97991b to indicate that.

/botio integrationtest

/botio integrationtest

/botio-windows integrationtest


Docs: Improve guidance around authentication/OAuth [UXR]

Incorporate feedback such as this:

Better explain how to use routes in authentication.
Better explain OAuth flow.
Add an example of OAuth with a backend API to show how to store secrets, and how to refresh an OAuth token when it expires.
How to figure out which fields are secrets.

Note that we don't want to repeat OAuth documentation.

Some thoughts:

Better explain how to use routes in authentication.

FWIW, using "routes" and the plugin proxy in general is not something we want to promote, more like a legacy feature we don't plan to keep working on.

Better explain OAuth flow.

The current documentation that we have for this:

Using routes / plugin proxy: https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-authentication-for-data-source-plugins#add-an-oauth-20-proxy-route-to-your-plugin
Forward Grafana OAuth login info (backend plugins): https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-authentication-for-data-source-plugins#forward-oauth-identity-for-the-logged-in-user
There is an experimental feature, added by @yesoreyeram to add OAuth capabilities to the default HTTP client. I haven't seen this be used for any plugin so maybe you can ping him for some docs about how to use it.

Add an example of OAuth with a backend API to show how to store secrets, and how to refresh an OAuth token when it expires.

I don't think this is something managed by plugins. You can refer to the general auth docs from Grafana.

How to figure out which fields are secrets.

I also think this is just generic auth knowledge? Nothing related to plugins.


Fix errors on certain endpoints that return 204

When using the library I noticed that some endpoints do not return any JSON data but instead a 204 response. Your library doesn't have any handling for this so it raised a ContentTypeError. This PR aims to fix that issue.

Please make the PR to the dev branch instead of the master branch. Thanks.

Added in commit 81ef06d (I added you as co-author), thanks for the contribution.


Add cc pipeline properties (app-name specifically) to ALM

Description
Added cc_pipeline_properties to standard/basic definitions of the ALM component, so that we can have the app-name parameter available in the CC toolchain for dynamic scans
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

I'll make more changes to this - will need to include the existing default variables.

Should be ok now.

I added the default cc pipeline variables from the stack.
Changed: opt-in-dynamic-scan, opt-in-dynamic-ui-scan to enable scans from CC.
Added: app-name

/run pipeline

Now that https://github.com/terraform-ibm-modules/terraform-ibm-rag-sample-da/pull/189 is merged, we need to bump the sample app to the latest version in this PR before merge, and then use this PR to generate 2.0.1.
We also probably want to do an upgrade test from 2.0.0 first too.

/run pipeline

Saw this error:
         2024/10/14 14:24:26 Terraform init | Error while installing ibm-cloud/ibm v1.69.2: could not query provider
         2024/10/14 14:24:26 Terraform init | registry for registry.terraform.io/ibm-cloud/ibm: failed to retrieve
         2024/10/14 14:24:26 Terraform init | cryptographic signature for provider: the request failed after 2 attempts,
         2024/10/14 14:24:26 Terraform init | please try again later: 500 Internal Server Error returned from github.com
         2024/10/14 14:24:26 Terraform INIT error: Terraform INIT errorexit status 1
         2024/10/14 14:24:26 Could not execute job: Error : Terraform INIT errorexit status 1

And an issue deleting resource group (which I have a support case open for). Unrelated to the changes in this pr, so re-running..

/run pipeline

There is also a fix for cloud logs which I want to get into 2.0.1 -> https://github.com/terraform-ibm-modules/terraform-ibm-observability-instances/issues/587

Ah I just realised that if we pick up that fix, we will have to remove logdna support, as it has been removed from the module now. I think we will have to proceed with what is in this PR for the 2.0.1 release.
The Cloud logs issue can be solved by simply re-running the apply (since its a timing issue with auth policy). I'll document that for now.

On second thoughts, the RAG stack no longer deploys logdna, so its probably fine - waiting for Igor to confirm

As discussed on slack - I am ok with bringing in the Observability DA that no longer has LogDNA option at all - as long as RAG Stack 2.0.0 is still available in case I will have troubles with SCC scans when LogDNA is not deployed.
I think the effects of the Cloud Logs issue are more severe than just a failed deployment that can be retried - last time my Cloud Log instance got stuck in "provisioning" status  for more than a day and caused the terraform resource in the state to be in a "deposed" status which prevented a normal redeployment.

/run pipeline

Need to force merge this PR - we can't get the test wrapper to pass due to know issues with projects reporting the incorrect state for a period of time. Validation will occur in catalog anyway.

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

GitHub release
v2.0.1

Your semantic-release bot :package::rocket:


Update manage-application-permissions.md

Fixed formatting of the code and the  placeholder was previously confusing.

Trying a close/reopen to clear the validation errors.

Trying a close/reopen to resolve validation errors.

@danielbradley1, @Jackson-Woods
This PR can't be merged with the validation warning. Can you resolve the warning and #sign-off? Thanks.

Trying close/reopen to see if warnings are resolved.


Make multiple changes to the docker-compose:

better layout of dependent services and app specific ones
add override example for running a production build
fix issues with MongoDB GUI not starting and health check working before the MongoDB server is ready
standardise the ports used by services
update docs to not point towards react-create-app scripts, and point towards the various docker-compose workflows
Remove storybook profile and include in main docker-compose run.
Update Makefile with new targets, and update documentation

@nlisgo worth you taking a look at this one.


Create keyboard-accessibility.md

This mostly describes the status-quo with a few suggestions for change.
Rendered: https://github.com/kas-gui/design/blob/keyboard-accessibility/input/keyboard-accessibility.md
Scope: keyboard navigation, focus, mnemonics, shortcuts
Status: partial implementation

This needs extra details regarding shortcuts (or possibly should be a separate document).
Note that accessibility tools (e.g. screen readers) are excluded from this document (I have vague plans for integration with AccessKit).


AWSSecurityHub fails to build due to a Swift reserved word

Describe the bug
The AWSSecurityHub service fails to build due to a Smithy union that includes a case named Enum.  This is colliding with the Swift language reserved word enum.
This was apparently introduced with a model change that shipped today, 11/27/2023.
Expected Behavior
A Smithy union with a case named Enum should build successfully by escaping the name during code generation.
Current Behavior
Build fails because the member and coding key name enum is not escaped.
Reproduction Steps
Build the AWSSecurityHub service using latest models from aws-models.
Observe the build failure.
Possible Solution
Fix escaping for this use case.
Additional Information/Context
No response
AWS SWIFT SDK version used
Latest / main
Compiler and Version used
Latest
Operating System and version
Latest

This problem was spotted while fixing #1234.  I will fix this one at the same time.

Released in AWS SDK for Swift 0.32.0


Please add custom description support for code actions.

Native speakers of languages other than English need to add custom descriptions.

Hi @Weiged
Thank you for the feature request. I'll see what I can do.
Best regards

Something like a "Do not send automatically the request" in the settings will let you edit the request before sending it.
You can also add a field "language (speaking)" with default in English and add something like a postfix at each request ", and respond in %s" with the language...
It is some possible workaround waiting for something more complex like a table with the menu entries with Display name and editable prompts.

I'm not entirely sure how people configure their IDE language, is it some kind of external plugin that needs to be installed? If yes, then perhaps I might be able to build some sort of a language mapping. I have seen it is possible from some screenshots, but haven't dig deeper.

I have in mind a "language (code)" setting with an option "auto from IDE" to force the answer to a specific language or tool (docs, SQL, schemas like mermaid, etc.)

That's really nice idea and actually I already thought about it when implementing the Custom Prompt text area.
https://github.com/carlrobertoh/CodeGPT/blob/master/src/main/java/ee/carlrobert/chatgpt/ide/action/CustomPromptDialog.java#L49
Basically it will extract the file extension where the selected code originates from and then maps to the correct language/syntax.

I think this type of setting will resolve a lot of feature requests about translation, customs, etc.
This is from the running configuration, but it is to show what I have in mind.
The "Name" will be the names in the CodeGPT submenu.

As for the language, I think it is more subtle and come from this

Oups, theres is a grammar mistake in the French example about Custom Prompts :D

Solving the custom prompts via env variables is actually really clever idea, altho it doesn't necessarily have to be envs, could be just an application level storage/state. I think this deserves a separate feature ticket and requires bit of a work.
Regarding to the language, I'm not sure if I understood you correctly. The problem with "auto from IDE" is that the selected code can be different language(same project, different file/language), so I'm not sure if it will work correctly.

Yeah, envvars was just to show you the type of GUI I have in mind: a table with +, -, copy, etc. But yes, it should be in the settings. It will be easier to have a name to use in the menu instead of envvars with names like CODEGPT_CUSTOM_1, CODEGPT_CUSTOM_2, or anything like that. And people are already confused just for the Open AI key so I don't imagine the requests from Windows users if something like that end up in envvars...
I will open a new issue to discuss about it.
For the language, I think Jetbrains use the File types and some checks.

I tried CustomPrompt and found it not what I wanted. What I mean is that the predefined actions such as "Find Bugs" support custom descriptions.

@Weiged, this is what we are talking about, how to implement this type of feature.

Hi, the support for custom actions has been added in version 1.5.0.

I hope that's what you were expecting.
Best regards


Links are relative instead of absolute

Thank you for putting this put there it is really helpful.
I am not sure if this is happening only for me but links are relative.
In the example below, the link will open to: www.localhost:3000/www.github.com
I suspect it can be fixed by pre-pending the href with '//' in the Link component:
const Link: React.FC<ILinkProps> = (props: ILinkProps) => {
    const { url } = props.contentState.getEntity(props.entityKey).getData()
    return (
        <a
            href={`//${url}`}

I get the same result. And that's perfectly fine by me. Just use https://www.github.com, if you want an absolute link. This address is the same you would get, if you copy an URL from your browser's address bar.

Hi @mmaass, as the programmer it is fine by me too. However the RTE will be used by a multitude of users and it would be better if they could enter a url and have it work as one would intuitively think it does without having to worry about the communication protocol.
Perhaps we could have some kind of prop which allows us to specify whether we want the links to behave as relative or absolute links?

@thierryMic Thanks for your comment. This is the intended behavior. Usually, a user just copy and paste the link instead of typing it and I believe additional configuration for a link is not necessary. You can always create your own Atomic Custom Block if you require a link component with specific options.
Hope this helps you out.


move library/plugins tests files under tests dir

To avoid unnecessary ansible warnings during playbook execution we can
move the library and plugins test files under a different directory.
[WARNING]: Skipping plugin (plugins/filter/test_ipaddrs_in_ranges.py) as
it seems to be invalid:
cannot import name 'ipaddrs_in_ranges'

Closes: #4656
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

jenkins test centos-non_container-collocation

jenkins test centos-non_container-purge


POST requests failing oddly on one of my Drupal test servers

Running latest master, POST requests on logins fails with my Drupal 8 server. Downgrading ATS to v8.0.0 makes the problem go away. I will try to track things down a little bit further, to see what might have changed, I think this is new as of a few months ago or so at least.

Blocks #5457

Tracked it down, the problem is with this commit:
0be4e7326b89670dea1ffe4c7f21c36bfd2bdf59 is the first bad commit
commit 0be4e7326b89670dea1ffe4c7f21c36bfd2bdf59
Author: Alan M. Carroll<EMAIL_ADDRESS>Date:   Wed Feb 6 11:10:22 2019 -0600

    MIMEScanner: Make MIMEScanner a class, not a POD with free functions.

:040000 040000 054b16878c7f791b050aab9e07403bd7928d00a5 cb56e3e58f8866b165a5a842f32dc46c7149ac67 M	proxy

More details:

It only seems to happen with H2 enabled

It seems that there's some leading garbage characters in the Location response header.

One more detail: I think this is triggered in interaction with H2, and when a header has an empty  value. E.g.
Foo:

Got it to reproduce with curl too, which is even less forgiving on the broken response, and errors out with:
100   127    0     0  100   127      0    357 --:--:-- --:--:-- --:--:--   356
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

This is fixed now, thanks!


Bump Storybook to 7.6.12

Bump all storybook packages with yarn upgrade-interactive.
Please request review from @zooniverse/frontend team or an individual member of that team.
Package
Linked Issue and/or Talk Post
Describe your changes
How to Review
Helpful explanations that will make your reviewer happy:

What Zooniverse project should my reviewer use to review UX?
What user actions should my reviewer step through to review this PR?
Which storybook stories should be reviewed?
Are there plans for follow up PR’s to further fix this bug or develop this feature?

Checklist
PR Creator - Please cater the checklist to fit the review needed for your code changes.
PR Reviewer - Use the checklist during your review. Each point should be checkmarked or discussed before PR approval.
General

[ ] Tests are passing locally and on Github
[ ] Documentation is up to date and changelog has been updated if appropriate
[ ] You can yarn panic && yarn bootstrap or docker-compose up --build and FEM works as expected
[ ] FEM works in all major desktop browsers: Firefox, Chrome, Edge, Safari (Use Browserstack account as needed)
[ ] FEM works in a mobile browser

General UX
Example Staging Project: i-fancy-cats

[ ] All pages of a FEM project load: Home Page, Classify Page, and About Pages
[ ] Can submit a classification
[ ] Can sign-in and sign-out
[ ] The component is accessible

Can be used with a screen reader BBC guide to VoiceOver
Can be used from the keyboard WebAIM guide to keyboard testing
It is passing accessibility checks in the storybook

Bug Fix

[ ] The PR creator has listed user actions to use when testing if bug is fixed
[ ] The bug is fixed
[ ] Unit tests are added or updated

New Feature

[ ] The PR creator has listed user actions to use when testing the new feature
[ ] Unit tests are included for the new feature
[ ] A storybook story has been created or updated

Example of SlideTutorial component with docgen comments, and its story

Refactoring

[ ] The PR creator has described the reason for refactoring
[ ] The refactored component(s) continue to work as expected

Maintenance

[ ] If not from dependabot, the PR creator has described the update (major, minor, or patch version, changelog)

Post-merge

[ ] This PR adds translations keys to English dictionary(s). See guidance for pulling new keys to Lokalise here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.234%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
15753

Relevant Lines:
17704

💛  - Coveralls


Fix for "name epochs is not defined"

Description
Fix for "name epochs is not defined" when testing image_classification.py with symbolic mode.
 I finished coding on this PR)
[x] All changes have test coverage
[x] For user-facing API changes, API doc string has been updated.
[x] To my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes
Comments

could you rebase?


Does shepherd have a built-in facility to add a background dimming overlay to cover the site while the tour goes on?

Hey there @thinkloop. Sorry for the delay on this answer (and I'm going to add a better way to submit questions than via github issues, because this isn't really an issue).
At the moment, shepherd doesn't have an overlay utility. It may appear that the demo site is overlaying a dimmer on top of the elements, but instead it's using css classes to change the opacity of anything that isn't being highlighted.
If you did want to have an overlay effect you could trigger your own:
function showMyOverlay() {
  // show overlay
}
function hideMyOverlay() {
  // show overlay
}

// subscribe to global events
Shepherd.on('start', showMyOverlay);
Shepherd.on('cancel', hideMyOverlay);

or set up some rules to work with .shepherd-active which is appended to <body> when a step is open.
Hope that helps!

Are there any plans for adding this to shepherd?

I hope so. In my opinion what is shown in the demo site should be easily doable, since the highlight of the step target element and the dim of everything else is an important user experience feature to guide users through the tour.

I feel demobaited!

I agree with @adelriosantiago ...
Being excited about the clean API of the library I have prepared a TypeScript definition for it in order to integrate it into our project. All that just to find out that the basic functionality I've expected is not present at all.

Try this css trick. Tweak it as you like
body::after {
opacity: 0;
}
body.shepherd-active::after {
content: "";
display: block;
background-color: #fff;
opacity: 0.4;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1000000; }
.shepherd-element.shepherd-open, .shepherd-target.shepherd-enabled {
z-index: 10000000;
position: relative;
}

@zakdey I haven't tested it but in case it works. Have you considered doing a Pull Request?

If you're using Twitter Bootstrap, you could also open an modal with no content just before you start the shepherd tour and then hide the modal when the tour is over.
`
`
$('.tour-modal-fade').modal({    backdrop: 'static',    show: true }); shepherd.on('complete', () => {    $('.tour-modal-fade').modal('hide'); }); shepherd.start();

@zakdey Thanks for the nice piece of code, works like magic.
This needs to go inside the document.
I'm sure there are people who expects Shepherd to work like its doc page.
http://github.hubspot.com/shepherd/docs/welcome/

It seems there's a svg element with id shepherdModalOverlayContainer built-in now, so you can just pass the useModalOverlay option when creating a new Tour instance to enable this functionality:
const tour = new Shepherd.Tour({useModalOverlay: true})

Thanks @ricardograca. You saved me tons of code
const tour = new Shepherd.Tour({useModalOverlay: true})
Did the trick for me

@ricardograca @blissville this should be documented in the API docs. Is it hard to find? Perhaps we should reorder things? I am open to suggestions!

This was a few months ago, but at that time I think the documentation didn't include any mention of this option. Either that, or none of the examples did.

I just spent 10 minutes searching for how to use the modal (i saw it in the CSS but couldn't for the life of me find it in the documentation) I would recommend adding it as part of the example code text given that this is a pretty key functionality that people are interested in when creating a tutorial.

@gotdairyya it is clearly listed in the tour options https://shepherdjs.dev/docs/Tour.html#Tour
We could perhaps add it in a few more examples though. Would you like to open a PR for that?

Maybe it would help to make useModalOverlay: true the default.

yeah, @rwwagner90 I agree with @ricardograca -- I think useModalOverlay: true as the default would be more useful

I don't think we want to make it the default at this time, but if you guys are interested in opening a PR to add it in more of the examples, that's fine with me!

var tour = new Shepherd.Tour({
useModalOverlay: true,
});
They forgot to set this option in the DEMO.

@olucasu we did not forget. The overlay is in use on the demo https://shepherdjs.dev/

It's in the code that the page itself uses, but it's not in the example code:
const tour = new Shepherd.Tour({
  defaultStepOptions: {
    cancelIcon: {
      enabled: true
    },
    classes: 'class-1 class-2',
    scrollTo: { behavior: 'smooth', block: 'center' }
  }
});

@ricardograca yes, the example is not meant to have every option listed. The docs list all the options.

It seems there's a svg element with id shepherdModalOverlayContainer built-in now, so you can just pass the useModalOverlay option when creating a new Tour instance to enable this functionality:
const tour = new Shepherd.Tour({useModalOverlay: true})

Thanks a lot!! This really helped.