Combat Playlist doesn't start in combat, throws console error

Steps to reproduce:
1.) Set a combat playlist in module settings
2.) Start a combat in a scene using the tracker
3.) The playlist doesn't commence.
The browser console shows an error such as this:

which version of foundry and quick hits are you running?

Foundry: 8.9
QC: 0.2.5
Sorry for the delay. Holidays and all. The other day I tried rolling back to the previous version of QC which I got from this GitHub and got the same console error. I'm back on 0.2.5.
Let me know if you need any additional info

thanks sorry for taking so long to get back to you. Can you turn on the debug output on the console for me so I can see the output? Also I think I know the reason, if you could try and resave the quick combat settings I changed how the playlists are saved and im wondering if thats the cause.

I managed to recreate the issue, and it was what I suspected, I will make a note of it on the readme let me know if the fix works for you.

Hi there, there looks like an issue pulling 0.2.6, can you check?

It seems to work for me, 0.2.6 is for FoundryVTT version 9

Seems to be working for me now.
I installed 0.2.6 and tested the playlist playing using the Begin/End Combat button. The Combat playlist doesn't play - here is the error:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'playAll')
[Detected 1 package: quick-combat]
at quick-combat.js:231
at Function._call (foundry.js:294)
at Function.call (foundry.js:279)
at ClientDatabaseBackend._preUpdateDocumentArray (foundry.js:10126)
at async ClientDatabaseBackend._updateDocuments (foundry.js:10027)
at async Function.updateDocuments (document.mjs:373)
at async Combat.update (document.mjs:456)
at async CombatTracker._onCombatControl (foundry.js:58273)

Testing further, it seems to work correctly when I begin combat using the hotkey method. I'm able to begin and end combat that way and the playlist plays everything correctly. It's only when using the Begin/End Combat button using the sidebar tracker where the error is thrown.

ohhhh, I see I can take a look at that.

ok, I think I fixed your issue can you install the latest version and let me know?

Using 0.2.7 now - I followed the same steps and nothing happened with the playlist on the "start combat" action using the tracker button. There was also no console error this time.
However, when I clicked the button again to end combat, it asked me if I wanted to start the combat playlist.

can you get console logs and screen captures of this happening?

I cleared the console and hit the "Begin Combat" button. Next post will have the "End Combat" stuff.

Here I cleared the console again and used the "End Combat" button.
Logs:
Console was cleared
undefined
foundry.js:3022 Foundry VTT | Rendering Dialog
foundry.js:3022 Foundry VTT | Rendering AssignXPApp
backend.mjs:306 Foundry VTT | Deleted Combat with id [vyv6vyKf0mRFJO9v]
foundry.js:3022 Foundry VTT | Rendering LootablesApp
foundry.js:3022 Foundry VTT | Rendering Dialog3
monks-tokenbar.js:25 monks-tokenbar |  Changing global movement free
monks-tokenbar.js:25 monks-tokenbar |  display notification
Screenshot:

can you get the output of the console again with the debug level turned on? It needs to be set under the Default levels drop down.

also can you take a screen shot you your quick combat settings, thanks

also also, can I get a list of other mods you are using? I want to see if theres a possible conflict going on there. You can also try to see if thats the case by disabling some mods to see if quick combat works.

Hm, I'm not sure what changed, but it seems to work correctly on combat start and I see no console errors. i.e. When I press the Begin Combat button I get a dialog asking if I want to start the combat playlist or not. So this aspect seems resolved. Thanks!
However, I did notice that if I have the scene activated, and a playlist is playing, I can Begin Combat and select to not play the combat playlist. The original playlist continues to play. But when I End Combat, it will stop the first playlist, which had been playing since before combat. (in other words, I get silence since no playlist is playing)
Note that if I choose to play the combat list on Begin Combat, it does play the combat playlist in combat, then continues playing the first playlist when I End Combat. This behavior is as I expected.
Is there a way to have it simply play the combat playlist, and going back to the original playlist, without giving a dialog choice?

I'm glad everything is working again, and yeah, I can look into adding an option to just ignore the dialog

Well it's mostly working, sufficient for me, thanks for your hard work! The only issue I notice as mentioned above is selecting "do not play combat playlist" will cause your original playlist to stop playing when combat ends (i.e. you get silence).

so I think I fixed that issue, I also added an option to not display the playlist choose dialog so as long as you have a combat playlist set it should just start

Thanks! Works great!

Your welcome, thanks for your help in debugging I appreciate it.


Multiple entires, one as library

Hi,
I've got my regular application code as entry. Now I want to add another entry and treat it as library (I just want to write simple library that I can require as commonjs module)
I've got
  entry: {
    app: path.join(__dirname, './src/index.js'),
    lib: path.join(__dirname, './src/lib/index.js')
  },
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/dist/'
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin('lib', 'lib.js', Infinity),
  ]

To summarize I have app bundle and want to add lib bundle that can be required as commonjs module
The thing is I want to transform library code through babel using same webpack config. Is it possible in webpack ?

Use multiple configurations: http://webpack.github.io/docs/configuration.html#multiple-configurations


Link to spockframework.org is broken

Referenced in README.md, it redirects to https://code.google.com/archive/p/spock/ and results in a 404 error.

It seems to be back now. I assume however that code.google.com will eventually be decommissioned, so I have changed the URL to the Spock documentation. Thanks for reporting.


Error in ekf_helper.cpp

Hi:
ekf_helper.cpp:
line 512:
// Note q1 *= q2 is equivalent to q1 = q2 * q1
I think it should be q1 *= q2 is equivalent to q1 = q1 * q2, because in file Quaternion.hpp, line 272-276:

void operator*=(const Quaternion &other)
{
Quaternion &self = *this;
self = self * other;
}

and I think in file ekf_helper.cpp, line 519
_output_new.quat_nominal = _state_reset_status.quat_change * _output_new.quat_nominal;
should be:
_output_new.quat_nominal = _output_new.quat_nominal * _state_reset_status.quat_change;
Am I right？Looking forward to your reply.

Hi,
yes you are right! I forgot to fix those lines in this PR
I did not notice since it was not visible in the logs since the error only affects one single output.
How did you find it?
I pushed a fix here

Hi,
I just read the code,  and find the quaternion multiplication is in the wrong order.

Yes, the comment and code are inconsistent and we should be using the same convention for multiplication order as the Eigen library. Please provide log evidence of the error because if the order is wrong it should be visible in a log.


Impossible to add new converters

Hello !
I tried to add a new converter but it was not used, because (i think) there is a missing line in your code :)
In class Factory, line 51 :
self::$factory = $this;
Without this set, Factory::factory will return self::withDefaultConverters() (and then reset the converters list).

Have you tried the method described in the README for full flexibility?
$converter = new Converter(Factory::fromConverterList(ConverterList::createViaReflection([
    'em' => Em::class,
    'li' => Li::class,
    'ol' => Ol::class,
    'p' => P::class,
    'strong' => Strong::class,
    'ul' => Ul::class,
    'myTag' => MyConverterClass::class,
])));
echo $converter->convert($htmlContent);

The Factory::factory() method is on purpose using only the default converters. That is to make it as easy as possible for those that do not want to extend anything.

Yes, unfortunately :(
It's quite easy to reproduce, i added a "h1" tag with a class i created (copied / pasted P.php and replaced macro value with "h1").
From what i understand, the problem is when Standard.getContent is called. This line :
return Factory::factory($node, $this)->getPdfLibString();
calls the factory method, which creates a new factory from default.
If it can help...

This should be fixed in the new Version 2.0.1.
Thanks for bringing that to my attention! I'm not 100% happy yet with the fix but it works for now :wink:


#63701884: Increase fluentd num threads to 8

This change increases the number of threads available to fluentd to 8 per https://docs.fluentd.org/v0.12/articles/out_file.
Using more than 1 thread is a recommendation when the destination of the logs is remote - as is Flex's scenario where we upload our logs to a service.
More details in (e.g.):
https://blog.treasuredata.com/blog/2015/08/18/5-tips-to-optimize-fluentd-performance/

Add a more descriptive title and some description about the change.

Could this be connected to issue #87? Seems to align with the timeline of when this issue started happening for us.


[BUG] 运行customizer own model时，例子程序报错。

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[ ] I have searched in existing issues but did not find the same one.

Environment

OS [e.g. Mac OS, Linux]:
requirements.txt:

[Paste requirements.txt file here]

Issue Description
What
[Tell us about the issue]

Reproduce
[The steps to reproduce this issue. What is the URL you were trying to play, where did you put your code, etc.]
Other Comment
[Add anything else here]

忘了更新文档了，按照刚更新的文档再试试。

3Q


is there plans to make uefi version of this? thx

is there plans to make uefi version of this? thx

Hi @kocoman1,
Unfortunately not, because it is not needed and there is already official support for it, as in Debug UEFI code by single-stepping your Coffee Lake-S hardware CPU.
However, UEFI debugging via DCI is still limited to newer CPUs (Intel 6th gen+) and only Intel (there might be some solution for AMD as well...), so there is still a gap that BREAD could try to fill. However, given the complexity of UEFI and the numerous firmware security mitigations, it's not worth the effort to fill this slice of unsupported hardware.

I see... my main desktop is a SandyBridge so... no debug either =/.


chore: fix CI pipeline

Description
Fixes our CI so that we're testing PRs and pushes to main.
How was the code tested?
Locally in my Ubuntu Jammy development setup.
Checklist

[x] I am the author of these changes, or I have the rights to submit them.
[x] I have added the relevant changes to the README and/or documentation.
[x] I have self reviewed my own code.
[ ] All requested changes and/or review comments have been resolved.

Blocked until https://github.com/charmed-hpc/slurmrestd-operator/pull/20 gets merged.

@jedel1043 I have reviewed your pull request against slurmrestd 🕵

Unblocked since I merged the CI pull request against slurmrestd last night. Nice to have the pipelines up and running again!


[Question]: When llama-index-core will be updated to use latest pydantic version 2.10.3

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
It creates dependency issues

There was tons of issues. Will need to try and see if it works again


[WIP] Bulk GET special case filtering on ID

Purpose
Issue https://openscience.atlassian.net/browse/OSF-5041
Allows for the equivalent of a bulk GET request through filtering (for example, if I want to request two nodes, specifically).  The reason we are not doing bulk GET requests is that putting JSON in the request body of a GET request is discouraged.  So for bulk GET capacity, we are implementing filtering on multiple ids.
Changes
Allows return of multiple resources via a comma-separated list of values in the query_param.
For example, the following two node id's are requested in the following URL:
/v2/nodes/?filter[id]=3z4tf,vatpw
This turns into the query, '_id', 'in', ['3z4tf, 'vatpw']
The response will contain representations of the two nodes, 3z4tf and vatpw.
Example:
url = v2/nodes/?filter[id]=69wkq, y3mxq, aegu6,12345
The first three are nodes, the fourth node DNE.
Response (most serializer fields removed for conciseness):
The three nodes that exist (and the user has permissions for) are returned.

:star: Also, this filtering on multiple resources extends to other fields and endpoints.
so for example, you could filter on multiple user fullnames
v2/users/?filter[family_name]=Pattison,Jackson
Will return all users with either a surname of Pattison or Jackson
Or, you could filter of multiple log actions:
/v2/nodes/x2qrm/logs/?filter[action]=comment_added,project_created
Will return all logs on node x2qrm with action of comment_added or project_created.

Pass complete, no bugs found :star:
Tests are great, and manual testing worked perfectly. A few small suggestions, but this looks really good.

Looks good!


Create the login system

pull request url:https://github.com/ucsb-cs56-webapps/ucsb-cs56-book-sharing-and-exchange/pull/7


Compile failed due to C++ toolchain

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Discord first?

[X] This is not a support question.

Description of bug
In my project which have a dependency:  bitcoinconsensus = "0.106.0+26.0"

blockbody-guest: warning<EMAIL_ADDRESS>c++: error: unrecognized argument in option ‘-mabi=ilp32’
blockbody-guest: warning<EMAIL_ADDRESS>c++: note: valid arguments to ‘-mabi=’ are: ms sysv
blockbody-guest:
blockbody-guest: error: failed to run custom build command for `bitcoinconsensus v0.106.0+26.0`
blockbody-guest:
blockbody-guest: Caused by:
blockbody-guest:   process didn't exit successfully: `/mnt/user_home/yyx/btc-verifier/target/riscv-guest/release/build/bitcoinconsensus-3dc7b00eefc0a622/build-script-build` (exit status: 1)
....
.....
ockbody-guest:   cargo:rustc-link-search=native=/mnt/user_home/yyx/btc-verifier/target/riscv-guest/riscv32im-risc0-zkvm-elf/release/build/bitcoinconsensus-5e4a910224845cab/out
blockbody-guest:   cargo:rerun-if-env-changed=CXX_riscv32im-risc0-zkvm-elf
blockbody-guest:   CXX_riscv32im-risc0-zkvm-elf = None
blockbody-guest:   cargo:rerun-if-env-changed=CXX_riscv32im_risc0_zkvm_elf
blockbody-guest:   CXX_riscv32im_risc0_zkvm_elf = None
blockbody-guest:   cargo:rerun-if-env-changed=TARGET_CXX
blockbody-guest:   TARGET_CXX = None
blockbody-guest:   cargo:rerun-if-env-changed=CXX
blockbody-guest:   CXX = None
blockbody-guest:   cargo:rerun-if-env-changed=CXXFLAGS_riscv32im-risc0-zkvm-elf
blockbody-guest:   CXXFLAGS_riscv32im-risc0-zkvm-elf = None
blockbody-guest:   cargo:rerun-if-env-changed=CXXFLAGS_riscv32im_risc0_zkvm_elf
blockbody-guest:   CXXFLAGS_riscv32im_risc0_zkvm_elf = None
blockbody-guest:   cargo:rerun-if-env-changed=TARGET_CXXFLAGS
blockbody-guest:   TARGET_CXXFLAGS = None
blockbody-guest:   cargo:rerun-if-env-changed=CXXFLAGS
blockbody-guest:   CXXFLAGS = None
blockbody-guest:   OUT_DIR = Some(/mnt/user_home/yyx/btc-verifier/target/riscv-guest/riscv32im-risc0-zkvm-elf/release/build/bitcoinconsensus-5e4a910224845cab/out)
blockbody-guest:   cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
blockbody-guest:   cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
blockbody-guest:   CRATE_CC_NO_DEFAULTS = None
blockbody-guest:   CARGO_CFG_TARGET_FEATURE = Some(m)
blockbody-guest:   cargo:rerun-if-env-changed=CXXFLAGS_riscv32im-risc0-zkvm-elf
blockbody-guest:   CXXFLAGS_riscv32im-risc0-zkvm-elf = None
blockbody-guest:   cargo:rerun-if-env-changed=CXXFLAGS_riscv32im_risc0_zkvm_elf
blockbody-guest:   CXXFLAGS_riscv32im_risc0_zkvm_elf = None
blockbody-guest:   cargo:rerun-if-env-changed=TARGET_CXXFLAGS
blockbody-guest:   TARGET_CXXFLAGS = None
blockbody-guest:   cargo:rerun-if-env-changed=CXXFLAGS
blockbody-guest:   CXXFLAGS = None
blockbody-guest:   cargo:warning=c++: error: unrecognized argument in option ‘-mabi=ilp32’
blockbody-guest:   cargo:warning=c++: note: valid arguments to ‘-mabi=’ are: ms sysv
blockbody-guest:
blockbody-guest:   --- stderr
blockbody-guest:
blockbody-guest:
blockbody-guest:   error occurred: Command "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=rv32im" "-mabi=ilp32" "-I" "depend/bitcoin/src/secp256k1/include" "-I" "depend/bitcoin/src" "-I" "depend/bitcoin/src/secp256k1/include" "-Wall" "-Wextra" "-std=c++17" "-Wno-unused-parameter" "-D__STDC_FORMAT_MACROS" "-o" "/mnt/user_home/yyx/btc-verifier/target/riscv-guest/riscv32im-risc0-zkvm-elf/release/build/bitcoinconsensus-5e4a910224845cab/out/7108ee63c24b9631-strencodings.o" "-c" "depend/bitcoin/src/util/strencodings.cpp" with args c++ did not execute successfully (status code exit status: 1).

Steps to reproduce
example code which use bitcoinconsensus:
      if bitcoinconsensus::verify(
          output.script_pubkey.as_bytes(),
          output.value.to_sat(),
          tx_bz.as_slice(),
          None,
          prev_index as usize,
      )
      .is_err()
      {
          return false;
      }

compile command
cargo build -p methods

Does the workaround described in https://github.com/risc0/risc0/issues/443 help?


Specific speckle plots

Instead of plotting randomly selected speckle patterns, select some of them in particular.
It is interesting to plot the bad ones to see if we can get visual insights

This will be closed by #51

closed by 140a2c5588671b9e2a3f3edb268b046049331c48


fix: parse ExportNamedDeclaration with source

This PR fixes the parse of files that contain named exports directly from a source file.
closes #45

I added tests and fixed the transform logic. The export ... from statement should NOT be transformed to import { id } from and export { id }. We shouldn't occupy extra identifiers.
Could you please review my changes again?

Merging since no response.


Provide helper methods to use boto3 instead of the minio client

Is your feature request related to a problem? Please describe.
While working on an AWS project using this stack, we realised that we have to use boto3 for various things like accessing the SecretsManager and objects in s3 when the environment exchanges credentials using IAM policies (where the application itself does not need the keys to access the bucket).
It would be nice to provide a boto3 wrapped up to work with this stack.
Describe the solution you'd like
A set of wrapper methods on the s3_file_metadata table that allow us to work with IAM managed s3 buckets. These can be specifically be prefixed with aws_ to indicate that they work in an AWS managed environment only.
Secondly consider best practices around working with multiple buckets, in our use case we use a bucket to provide media files (accessed via a CDN) and the the other has user generated content which are only to be accessed via signed urls.
As for documentation it will be helpful to provide assumptions and samples.
Describe alternatives you've considered
NA
Additional context
See aws-eks-cluster for a terraform deployed AWS environment which is setup in the way described above.

See also #19


Dynamic module imports of deeplearnjs

Tsc allows dynamic imports https://blog.mariusschulz.com/2018/01/14/typescript-2-4-dynamic-import-expressions
I'd like to be able to run some code without compiling deeplearnjs into my builds, is there any way we could do something like this?
tensors.ts
async function importDeeplearnAndRun () {
  const dl = await import("../node_modules/deeplearn/dist")
  dl.tensor([1, 2, 3, 4]).print()
}

importDeeplearnAndRun()

  <script type="module" src="tensors.js"></script>

So with a minimal tsc run on the ts file about we could run examples in the browser just importing the deeplearn that they need? Otherwise I think webpack is the way to go to reduce file size.

Hi @QuantumInformation, we haven't built any projects with dynamic import so i can't comment on this directly. But I'd say it really depends on how you bundle/serve the project you are working on. If you are targetting a browser that supports dynamic import then tsc transpilation might be enough. Else you'd have to use some kind of bundler to turn that import into something the browser can run.
Webpack or browserify are great candidates for that. You should be able to exclude dependencies like deeplearn.js from your project bundle using webpack vendoring or browserify shim

ATM I'm just using webpack. I think internally it does tree shaking.

Is your goal to produce a bundle where deeplearn.js is not included?


Question regarding snapshot

Is there a way I could get a snapshot .jar file of the head branch so that I can start using Riot's V3 APIs until you guys release 4.0? Thanks.

I have created a snapshot of the current master branch as is: http://temp.linnun.net/riot-api-java.jar
Please note that this is a link to a temporary file. I will not maintain the linked file or guarantee that it will be available forever.


Dead link in docs.influxdata.com

Hello,
I found one dead link in docs.influxdata.com.
https://docs.influxdata.com/influxdb/v1.2//troubleshooting/frequently-asked-questions/#what-is-the-relationship-between-shard-group-durations-and-retention-policies
It is for "ALTER RETENTION POLICY" it points to "localhost"
Best regards,
Marijus

Thank you, @MarijusBriedis! Fixed in https://github.com/influxdata/docs.influxdata.com/pull/1150.


Import jquery in typescript skeleton

How do I get jquery to work with the aurelia skeleton-typescript?
I used jspm install jquery and then tried to add it to a view-model with import $ from 'jquery'; but the according to typescript the module 'jquery' cannot be found.
It works fine fine the es2016 skeleton :disappointed:
What am I missing?

I believe you need to do this:
import * as $ from "jquery";

Thank you for the hint! I had to use import * as $ from "jquery"; and download the typing file which declared jquery as a module.


Add https to www.ted.com

ted.com urls are now https

Hey @brum1975 👋 The providers.json file in this project is synced from https://oembed.com. I suggest you open a PR on that project instead, editing this file https://github.com/iamcal/oembed/blob/master/providers/ted.yml

@kevinansfield yes, you are correct
@brum1975 this has been resolved since v1.2.3


x/mint: make all fixtures in keeper package use KeeperTestSuite

Background
Currently, there are 2 test suites in mint keeper:

KeeperTestSuite
MintTestSuite

The only difference between them is that MintTestSuite has queryClient. These should be consolidated into 1 test suite since the overhead from creating the query client in setup for every test is not that high. At the same time, having 2 test suites per package feels confusing.
Additionally, some tests in keeper_test use the suite while others don't. We should convert all of them to utilize the suite for consistency.
Suggested Design
Consolidate a single KeeperTestSuite with all the relevant set up code in suite_test.go.
Make all test fixtures in keeper_test utilize this test suite.
Acceptance Criteria

keeper_test test suites are consolidated into one
all test fixtures in keeper_test utilize the only suite
all tests continue to pass

Hi @p0mvn is this in the works already? If not i can take a shot

Hi @stackman27 . No, this is available. Please feel free to take it. Thank you


State apparently not saved

Operation System:
Win10
Beaker Version:
0.5.0
Selecting Save Browser State or Save Browser State and Close doesn't seem to do anything. On restarting no open tabs or history are saved. The browser is authenticated.

Yes, this was listed as a known limitation in the dev update:

There is a known issue with saving the browser’s state on the network which we expect to fix shortly and provide a patch for the browser with this fix (MAID-23183).

It should be fixed in the next release of SAFE Browser 🙂

Ah OK.


Update alter-database-scoped-configuration-transact-sql.md

fixed a typo in LAST_QUERY_PLAN_STATS section.

@suresh-kandoth : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Correction confirmed. Thanks.


Remote discord bot

i have make host.txt file not working
i have my bot on a VPS server and the capture at home i can't connect capture to the server anyone can help me ?

Not without details of the problem, what versions you're on, what your host.txt looks like, etc.
Be descriptive

Version 2.2.0-Prerelease
Host file: http://<IP_ADDRESS>:8123

Is the port open? Idk about your VPS but I'm running the bot on a local Raspberry Pi and when I used my public IP in the host.txt I had to forward the used port first.

Yes port is open, but when i change the port on the host.txt on the cmd i have always
2020/09/28 18:36:53 2.2.0-Prerelease
2020/09/28 18:36:53 Invalid or no particular SERVER_PORT provided. Defaulting to 8123
2020/09/28 18:36:54 Bot is now running.  Press CTRL-C to exit.
2020/09/28 18:36:54 Serving at localhost:8123...

The host.txt goes with the capture, not with the discord

the host.txt is in the same folder as your AmongUsCapture right? because the bot only requires the 'final.txt' (where you can also set the desired port like this:
DISCORD_BOT_TOKEN= <token> SERVER_PORT=8125


How to update existing dispatch file ?

Tool
Name: LUIS Dispatch
Version: 1.6.6
OS: Windows 10 Enterprise
Describe the bug
I want to update new qna information into already created dispatch file.
To Reproduce
Steps to reproduce the behavior:

Created dispatch file using the help of microsoft docs
Dispatch file is created after running "dispatch create" command
Trying to update dispatch file with new qna information
Not able to find any command for existing dispatch file update

Expected behavior
Want to update existing dispatch file with new intent information ( qna or luis ).
[bug]

@rajeeshmenoth the command is dispatch add [options]
You can find a whole list of the dispatch commands in the botbuilder-tools repo here.
I will make note to the docs team regarding the documentation you linked--specifically how it doesn't make mention of the list of dispatch commands available in one consolidated README, and I could see how you were left to believe that there was no such command to update an existing dispatch file.

One last note, as a reminder, the Bot Framework repos are for reporting bugs and requesting feature requests. If in the future you have a how-to question regarding the framework, please elicit the help of the community at large on Stack Overflow

@Zerryth as of now this command dispatch add [options] is only support for initial adding of LUIS intent and Qna maker kb integration. Once I run this command dispatch create then you can't able to add newly created LUIS intent and Qna maker kbs integration into the existing dispatch file. I saw one update command in the document but that is going to update the main LUIS secret key.
Eg. In future new KB added in Qna maker and those kb i want to update in existing dispatch file ( q_sampleKb-qna )

I see.
Usedispatch add and dispatch refresh commands depending on what you're trying to do.

dispatch add if you "In the future add a new KB", since it's not a part of the dispatch model yet
*dispatch refresh (ms docs, bb-tools) if you've updated the underlying QnA/LUIS models that are already in dispatch - this will update the LUIS dispatch app

Are you having trouble with

@Zerryth, Thanks it's working and please update in the document as well.


Documentation enhancement

While the current documentation is not bad, I'd call it sparse.
There's need to write rather detailed description of each method. The funny fact is that inline docs are more detailed than README entries. It would be great if we keep in sync inline and README description.

My idea is to prepare restructuredText entries in separate files for each method. Such file should contain not only description but also examples.
The files are meant to be included directly into master .rst file, to make them nicely rendered at least on readthedocs.io (if it was possible, not to screw github preview).
The files will be automatically converted into plain text, and then into C-friendly string to include directly in module code.


implement in/not_in operator for STL containers

Add utility code to support in/not in operators for STL containers.
Currently supports std::vector, std::set and std::unordered_set.
Thinking about it, it would make sense to extend this to std::map and std::unordered_map too.
Comments, and suggestions of other STL containers to support, welcome.
Closes #3652

The STL philosophy is to use member functions when they exist (because they're specialized), otherwise fallback to non-member functions.
If I understand correctly, your suggestion would be to:

first search for member find (or contains but it is mostly C++20 IIRC)
else search for begin/end (and call non-member std::find)
else fail (i.e. fallback to current behavior)

It is much more generic and elegant than my current attempt. I'll give it a try.

Indeed, the suggested approach (looking for member find, otherwise for begin/end) is much more effective.
All containers should be supported (not only STL ones, but any C++ class implementing either find or begin/end).
I now realize that I have no test to support the previous sentence...

first search for member find (or contains but it is mostly C++20 IIRC)

This seems problematic since we'd start generating C++20 code (or C++11 or wherever .find() was defined) if users declare the methods in their pxd files. Or if we provide the declarations in our library pxd files since we say that simply declaring them there doesn't have an impact as long as users don't employ them. If Cython starts making use of them internally, then we'd break user expectations, and potentially their code, by requiring modern C++.
What do you think about implementing helper macros for this that use whatever is defined by the C++ standard? We could have three macros that call std::find(), .find() and .contains() independently, if only one of them applies to the available Cython declarations, and then macros with C++ standard dependent combinations (using preprocessor #ifs) if more than one method is available. That way, we could use .contains() if users compile their C++ code with C++20 (and the method was declared for Cython), and fall back to .find() or std::find() in older C++ compilers automatically. And users could still control which variants they allow by declaring the respective methods in their C++ container types.

first search for member find (or contains but it is mostly C++20 IIRC)

This seems problematic since we'd start generating C++20 code (or C++11 or wherever .find() was defined) if users declare the methods in their pxd files. Or if we provide the declarations in our library pxd files since we say that simply declaring them there doesn't have an impact as long as users don't employ them. If Cython starts making use of them internally, then we'd break user expectations, and potentially their code, by requiring modern C++.

Good point about contains (find is in the stl containers from the start so less of an issue). I guess there's the general principle that we shouldn't rely on anything in a pxd file actually being present unless specifically requested. This is what we do with begin and end though for iteration.

What do you think about implementing helper macros for this that use whatever is defined by the C++ standard? We could have three macros that call std::find(), .find() and .contains() independently, if only one of them applies to the available Cython declarations, and then macros with C++ standard dependent combinations (using preprocessor #ifs) if more than one method is available. That way, we could use .contains() if users compile their C++ code with C++20 (and the method was declared for Cython), and fall back to .find() or std::find() in older C++ compilers automatically. And users could still control which variants they allow by declaring the respective methods in their C++ container types.

That could work although it might be easier to just skip contains here. It isn't a huge disadvantage.
The other thing I'd considered is that it might be possible to do the selection all in C++ with template trickery. But I'm not sure I'd like to inflict writing that on anyone

This seems problematic since we'd start generating C++20 code (or C++11 or wherever .find() was defined) if users declare the methods in their pxd files.

Totally agree. That's why my code only looks for find (in STL from the start) and not for contains (modern C++).

The other thing I'd considered is that it might be possible to do the selection all in C++ with template trickery. But I'm not sure I'd like to inflict writing that on anyone

Indeed, I think we could leverage SFINAE to implement this with C++ templates.
The idea would be to detect begin/end, and let the C++ templates decide which implementation (.contains(), .find() or std::find()) to use.
In fact this is probably the best solution: we simply detect whether the container is iterable on Cython side, completely independently from the C++ standard being used.

There's apparently an issue with MSVC:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xutility(5186): error C2676: binary '==': 'const std::pair<const int,int>' does not define this operator or a conversion to a type acceptable to the predefined operator

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xutility(5221): note: see reference to function template instantiation '_InIt std::_Find_unchecked1<_InIt,_Ty>(_InIt,const _InIt,const _Ty &,std::false_type)' being compiled

        with

        [

            _InIt=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<std::pair<const int,int>>>,std::_Iterator_base0>,

            _Ty=int

        ]

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xutility(5227): note: see reference to function template instantiation '_InIt std::_Find_unchecked<std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<_Ty>>,std::_Iterator_base0>,int>(const _InIt,const _InIt,const int &)' being compiled

        with

        [

            _InIt=std::_List_unchecked_const_iterator<std::_List_val<std::_List_simple_types<std::pair<const int,int>>>,std::_Iterator_base0>,

            _Ty=std::pair<const int,int>

        ]

mydoctest.cpp(1954): note: see reference to function template instantiation '_InIt std::find<std::_List_const_iterator<std::_List_val<std::_List_simple_types<_Ty>>>,T>(_InIt,const _InIt,const int &)' being compiled

        with

        [

            _InIt=std::_List_const_iterator<std::_List_val<std::_List_simple_types<std::pair<const int,int>>>>,

            _Ty=std::pair<const int,int>,

            T=int

        ]

Hey guy, thanks a bunch for your hard work on this project! I was just wondering, is there any news on this PR? Can't wait having this feature inside Cython.

I was just wondering, is there any news on this PR? Can't wait having this feature inside Cython.

It looks like my last review didn't have an effect yet as there was no update since, so we missed the deadlines for inclusion in 3.0. You can help out by making the requested changes and filing a new PR based on this one.

Hey, thanks for upping this. I attempted to rework the SFINAE part to auto-detect the methods signatures, and got lost in the process. In fact, SFINAE is super-hard to work with in C++98, so it is best to get a working version that may be improved later on.
I accounted for some of the reviews, but I still have to work on the exception detection (hopefully tomorrow).
I'll look into the MSVC error too, but I don't have access to MSVC in my current setup, so do not get high hopes on that part.

I'll look into the MSVC error too, but I don't have access to MSVC in my current setup, so do not get high hopes on that part.

My reading of the MSVC error is that the SFINAE has failed and it's falling back to std::find which won't work for mapping types.
I don't immediately have a good solution though. I suspect the type checks are just a bit too restrictive, but it's hard to see a way past that in C++98 at least.

Thinking about this more: we could require a modern c++ compiler to use this feature and write this in c++11/14/17/20 (whatever works best).
We wouldn't be breaking existing code because right now in/not in just doesn't work at all. So I think it would be ok to have something that fails on older c++ versions (ideally with a semi-helpful message at least pointing out the non-working line).

That makes sense indeed.
I think all we need is decltype so C++11. I'll give it a try.


Autofix: Disable strict checking that TLS certificates are well formed

This change restores compatibility with the iBoss TLS interception certificate that the Met Office is using. There is an upstream ticket open to get this certificate well formed, after which we can remove this line. This fixes issue #903.

[!CAUTION]
Disclaimer: This fix was created by Latta AI and you should never merge before you check the correctness of generated code!
The fix provided by Latta AI might not be complete and it can serve as an inspiration.

This bug was fixed for free by Latta AI - https://latta.ai/ourmission
If you no longer want Latta AI to attempt fixing issues on your repository, you can block this account.

This doesn't fix this issue.


CryptoFacilities: getOrderBook returns null for all tradeable forward contracts

When I run the test code in FetchIntegration.Publictest() from 4.0.0-SNAPSHOT the returned public order books are null for all tradeable contracts:
CryptoFacilitiesContracts [contracts=CryptoFacilitiesContract [tradeable=F-XBT:USD-Jan16-W5, unit=USD, lastTradingDayAndTime=2016-01-29 04:00:00, contractSize=1, tickSize=0.01, suspended=false ], CryptoFacilitiesContract [tradeable=F-XBT:USD-Sep16, .....

I'm afraid you're probably going to have to debug that yourself. If you find and fix the problem, which shouldn't be too hard, I'll happily accept a  PR for the fix. The following Wiki page may be helpful to you: https://github.com/timmolter/XChange/wiki/New-Implementation-Best-Practices

No problem. I have tracked it down to an issue with capitalization of the contract month text sent to the api.
16:55:14.247 Http call returned 200; response body:
{ "result" : "success", "contracts" : [ { "unit" : "USD", "tradeable" : "F-XBT:USD-Jan16-W5",  "contractSize" : 1,  ...
CryptoFacilitiesContracts [contracts=CryptoFacilitiesContract [tradeable=F-XBT:USD-Jan16-W5, unit=USD, lastTradingDayAndTime=2016-01-29 ...
16:55:14.297 Executing GET request at https://www.cryptofacilities.com/derivatives/api/cumulativebidask?tradeable=F-XBT%3AUSD-JAN16-W5&unit=USD
versus:
https://www.cryptofacilities.com/derivatives/api/cumulativebidask?tradeable=F-XBT%3AUSD-Jan16-W5&unit=USD
PR for code fix to follow.

This is not that straight forward to fix in code. For interface consistency, we are putting a forward contract code through the CurrencyPair class as a base currency. The CurrencyPair(String, String) and CurrencyPair(String) constructors sensibly enforce toUpperCase on base and counter currencies.
However, there is a work around. The CurrencyPair(Currency, Currency) constructor doesn't enforce uppercase so the forward contract gets passed through  to the  exchange with the correct, mixed capitalization.
I will update the test cases  to illustrate this work around usage.
I have also requested CryptoFacilites change their api to be case insensitive on contract code (tradeable).

@timmolter I have forked from develop to my branch crypto-facilities-contract-uppercase and submitted a Pull Request linking to this issue. I'm getting "Sync failed to publish local changes. It seems you do not have permission to push your changes to this repository."
Do I need to be permissioned to submit a PR?

Closed with https://github.com/timmolter/XChange/pull/1164


Object model is lacking "project" concept

Right now we're conflating "pipeline" with "project" in the object model. This shows in the following ways:
A single project can have multiple pipelines, such as we now have for the "master" and "release" pipelines. This leads to a number of features on the Pipeline class needing to be turned off on the "secondary" pipeline, which is a little silly.

AutoBuild is enabled on the pipeline, but it should in fact be a project feature. AutoBuild on 2 pipelines for the same project doesn't make any sense.
Canaries are enabled via the pipeline, but again this makes more sense as a project feature.

Also, if we could define a "project" once (and potentially its build/test steps), then it becomes trivial to spawn 1..* pipelines for it:
const project = new SoftwareProject();
project.defineSource();
project.defineBuildSteps();
project.defineTestSteps();
project.definePublishingSteps();

// Tests, no publishing
project.addIntegrationPipeline({
  branch: 'master',
});

// Tests AND publishing
project.addDistributionPipeline({
  branch: 'release',
});

// For patch releases
project.addDistributionPipeline({
  branch: 'v1.3.5',
});

// etc

Thoughts on this?

I like it

@rix0rrr can this be closed?


Updated Django and JS Libraries

This PR resolves #409 #410 #430 and #452
Summary of changes:

Moved the Star Wars Figure images into the code/media directory to avoid suspicious file operation errors from Django 2.0 due to media assets being outside the MEDIA_ROOT specified
Changed the Dockerfile to add the media directory into the docker container so they can be referenced from inside the container
Added an on_delete parameter to each ForeignKey field, complete list of changes in Issue #410

Note that for some fields, the on_delete is set to SET_DEFAULT which depends on a function I wrote that gets a specific person. Currently, that person is set to a person with the last name Froehlich; please be sure to have such a person object created before testing this code, or else it'll throw an error. Additionally, this specification could be changed to be more explicit.

All the requirements in the requirements.txt have been updated to the most recent versions

Note that for some fields, the on_delete is set to SET_DEFAULT which depends on a function I wrote that gets a specific person. Currently, that person is set to a person with the last name Froehlich; please be sure to have such a person object created before testing this code, or else it'll throw an error. Additionally, this specification could be changed to be more explicit.

I don't know what this means. Can you clarify?

A default must be specified for the fk fields with on_delete set to default. Right now it’s set to a person object with the last name Froehlich, so the db is required to have such an object to work.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Jon Froehlich<EMAIL_ADDRESS>Sent: Wednesday, July 18, 2018 10:44:06 AM
To: jonfroehlich/makeabilitylabwebsite
Cc: johnsonkuang; Author
Subject: Re: [jonfroehlich/makeabilitylabwebsite] Updated Django and JS Libraries (#453)
Note that for some fields, the on_delete is set to SET_DEFAULT which depends on a function I wrote that gets a specific person. Currently, that person is set to a person with the last name Froehlich; please be sure to have such a person object created before testing this code, or else it'll throw an error. Additionally, this specification could be changed to be more explicit.
I don't know what this means. Can you clarify?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jonfroehlich/makeabilitylabwebsite/pull/453#issuecomment-406016111, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AfdHHG_yCCjrap7o7hIid8jLqP4kMB6Yks5uH3PmgaJpZM4VVAPv.

A default must be specified for the fk fields with on_delete set to default. Right now it’s set to a person object with the last name Froehlich, so the db is required to have such an object to work.

Why is this a good idea? I don't understand why you did this. Please provide a more thorough explanation with rationale.

This was done with production in mind, as whenever a person the adviser field is set to is deleted, the adviser will default to the professor.

New commits removes the docker-entrypoint.sh and removes the registered position model from admin


Add example for explaining edges using edge weights and captum

Added as a collab notebook in the docs.


aio: return session closing coroutine

aio.Consul.close() uses aiohttp.ClientSession.close() which returns a coroutine that was never awaited. When this happens, RuntimeWarnings are raised on termination:
RuntimeWarning: coroutine 'ClientSession.close' was never awaited
self._session.close()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fee7d894340>
Unclosed connector
connections: []
connector: <aiohttp.connector.TCPConnector object at 0x7fee7d894310>
In this change the coroutine will be returned so it could be awaited and by that avoids these warnings.

@RazAnyVision Interested in coming here ？


Bug fix for plugin table

Allow "deactivation" of missing plugin
Required before it can be deleted

Is that the bug that a plugin could sometimes not directly be activated after installing it because something weird is in the browser cache?

No, that must be a different thing?

ok, thats a really strange one, because I cannot reproduce it every time. But maybe that's already fixed. Ill see if I see it sometime again.


Can't build scipy - "#include <ffi.h>" fails

Trying to deploy to heroku with scipy==0.14.0 in the conda-requirements.txt file yields this error:
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/app/.heroku/miniconda/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
include <ffi.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
The issue came up in the following SO question too: http://stackoverflow.com/questions/35775048/scipy-on-heroku-with-conda-failing-to-deploy

You need to install the libffi-dev (or your OS's equivalent) system package; on debian/ubuntu, that would be apt-get install libffi-dev, for example.

Thanks @dracos. @github-account-because-they-want-it, if this is still relevant for you, you may want to try @dracos's suggestion.


fix: LEAP-1258: prevent dropdown from opening upward when viewport short

before:

after:

FYI this also applies to the other dropdowns (columns, filters, order)


ModelAdmin2.search_fields assigned twice.

ModelAdmin2.search_fields assigned twice. Is it really necessary?
# ...
search_fields = ()
# ...

search_fields = []

I've removed the line (types.py):
search_fields = []

Ran the tests, and I get no error.

@douglasmiranda you are probably right, this is duplication.


Sink skeleton with config unit test

Sink skeleton with unit tests on config.
Still need to implement Cosmos DB logic in to SinkTask etc.

The configuration I am loading appears to be how Kafka Connect works, you have a config file with your config settings for each connector. Kafka Connect then provides these to you.
The constants you see are more the names of the config settings we expect to be in the file, like "cosmosdb.connection.endpoint" and "cosmosdb.connection.masterkey"  the values are certainly not in constants.


Added overshot and reached signals to scrolled window

Also added a config.nims at the root to make it easier to test single files.

Is there a reason the .gitignore does not just ignore all extensionless files, it would make it much cleaner?

Works quite nicely. I made some small improvements before merging.

Is there a reason the .gitignore does not just ignore all extensionless files, it would make it much cleaner?

Not really, it just never occured to me that one could do that. If you want to, you can open a PR.


CSS theme files matching does not support wildcards

I want to use several custom themes, and I found that I couldn't use wildcards like "./examples/*.css", but "./examples/test.css" would work. Usually the settings.jsonsupports the wildcards. Is this some questionmarkdown.marp.themes` have itself?

The marp.markdown.themes setting in Marp for VS Code has exactly compatible rule with markdown.styles setting for VS Code's Markdown preview.
markdown.styles does not support glob pattern such as ./example/*.css, so marp.markdown.themes does not support it too. There are no plans to support globs in Marp as long as VS Code does not.


Adding curl to stunnel dev image variant

Note:
Elastic is asking to try out the stunnel image, but they want us to add curl.  Matt suggested we add curl to the dev variant in https://github.com/chainguard-dev/image-requests/issues/449#issuecomment-1752178605.
He also suggested that we add some tests, but I haven't been able to do that for the following reasons.
(1) stunnel requires a configuration file to start but only a sample is provided by default.  Starting stunnel involves: stunnel /etc/stunnel/stunnel.conf.
(2) We could add a stunnel.conf file by including it as a sub-package but it requires a valid configuration as well.  We might be able to come up with a harmless use case to include in the stunnel.conf file but....
(3) stunnel is a TLS/SSL tunneling service, and it requires key/cert to work.  We could generate a dummy .key and .crt but then we'd need to generate a dummy .key, .crt, .pem for an HTTPS web service or for OpenSSH server to terminate a full end-to-end test.  I think that's going too far and it creates a mess for the user/customer to clean up.
I have manually done all of these things to ensure stunnel works, though.  I also tested curl successfully.

Image Size

[x] The Image is smaller in size than its common public counterpart.
[ ] The Image is larger in size than its common public counterpart (please explain in the notes).

Notes:
Image Vulnerabilities

[x] The Grype vulnerability scan returned 0 CVE(s).
[ ] The Grype vulnerability scan returned > 0 CVE(s) (please explain in the notes).

Notes:
Basic Testing - K8s cluster

[x] The container image was successfully loaded into a kind cluster.
[ ] The container image could not be loaded into a kind cluster (please explain in the notes).

Notes:
Basic Testing - Package/Application

[x] The application is accessible to the user/cluster/etc. after start-up.
[ ] The application is not accessible to the user/cluster/etc. after start-up. (please explain in the notes).

Notes:
Helm

[ ] A Helm chart has been provided and the container image can be used with the chart.  If needed, please add a -compat package to close any gaps with the public helm chart.
[ ] A Helm chart has been provided and the container image is not working with the chart (please explain in the notes).
[x] A Helm chart was not provided.

Notes:
Processor Architectures

[x] The image was built and tested for x86_64.
[ ] The image could not be built for x86_64 (please explain in the notes).
[x] The image was built and tested for aarch64.
[ ] The image could not be built for aarch64. (please explain in the notes).

Notes:
Functional Testing + Documentation

[x] Functional tests have been included and the tests are passing.  All tests have been documnted in the notes section.

Notes:  See the top note about manual tests.
Environment Testing + Documentation

[x] There has not been a request and/or there is no indication that this image needs tested on a public cloud provider.
[ ] The container image has been tested successfully on a public cloud provider (AWS, GCP, Azure).
[ ] The container image has not been tested successfully on a public cloud provider (AWS, GCP, Azure) (please explain in the notes).

Notes:
Version

[x] The package version is the latest version of the package.  The latest tag points to this version.
[ ] The package version is the not the latest version of the package (please explain in the notes).

Notes:
Dev Tag Availability

[x] There is a dev tag available that includes a shell and apk tools (by depending on 'wolfi-base')
[ ] There is not a dev tag available that includes a shell and apk tools (by depending on 'wolfi-base') (please explain in the notes).

Notes:
Access Control + Authentication

[x] The image runs as nonroot and GID/UID are set to 65532 or upstream default
[ ] Alternatively the username and GID/UID may be a commonly used one from the ecosystem e.g: postgres
[ ] The image requires a non-standard username or non-standard GID/UID (please explain in the notes).

ENTRYPOINT

[ ] applications/servers/utilities set to call main program with no arguments e.g. [redis-server]
[ ] applications/servers/utilities not set to call main program with no arguments e.g. [redis-server] (please explain in the notes)
[x] base images leave empty.
[ ] base image and not empty (please explain in the notes).
[ ] dev variants is set to entrypoint script that falls back to system.
[ ] dev variants is not set to entrypoint script that falls back to system (please explain in the notes).

CMD

[ ] For server applications give arguments to start in daemon mode (may be empty)
[x] For utilities/tooling bring up help e.g. –help
[ ] For base images with a shell, call it e.g. [/bin/sh]

Environment Variables

[ ] Environment variables added.
[x] Environment variables not added and not required.

 Logs DO NOT write to file.

Documentation - README

[x] A README file has been provided and it follows the README template.

I think we could generate certs and volume mount it into the container to test it in an oci_exec_test?

Thank you @afeddersen @mattmoor!


Generic.reseed doesn't seem to work on internal providers

Bug report

What's wrong

When using the generic provider it seems the reseed function doesn't work correctly.
from mimesis import Generic
g = Generic(seed=1234)
g.address.address()

g.reseed(1234)
g.address.address()

Notice that the address value printed isn't the same after reseed.
How is that should be

Address printed after reseed should match address printed before.
System information

MacOS 10.15.7
Python 3.7.10
Mimesis 4.1.3 (I know this isn't latest, but my current use case requires an older version of python)

Well, seems like a bug. I can offer temporary workaround:
g = Generic(seed=1234)
g.address.address()
# Output: 903 Constanso Alley
g.address.reseed(1234)
g.address.address()
# Output: 903 Constanso Alley

Or, something like this:
class SeedGeneric(Generic):
    def reseed(self, seed: Optional[Seed] = None) -> None:
        for attr_name in self.__dir__():
            try:
                provider = getattr(self, attr_name)
                provider.reseed(seed=seed)
            except AttributeError:
                continue

g = SeedGeneric(seed=1234)
g.address.address()
# Output: 903 Constanso Alley
g.reseed(1234)
g.address.address()
# Output: 903 Constanso Alley

I've fixed it in #94eee4e, so I've closed this issue.


chore: promote golang-demo to version 0.0.2

this commit will trigger a pipeline to generate the actual kubernetes resources to perform the promotion which will create a second commit on this Pull Request before it can merge

golang-demo
Changes in version 0.0.2
Chores

release 0.0.2 (jenkins-x-bot)
add variables (jenkins-x-bot)

@hazemTa: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

verify
49514ca7f14a69a4bb6fab52c35420c68eda924e
link
/test verify

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Using "add all attributes" completion for a default value of a record param breaks the formatting

As it can be seen below, it breaks the record literal into multiple lines, messing up the formatting of the function

Currently, we do not support on-type formatting in the language server, and this will be a future improvement

This is handled properly on swan lake's implementation of filling record fields. Hence closing.


throw deprecated error for scrapers that cant give consistent format

As mentioned in https://github.com/lazd/coronadatascraper/pull/453 from @chunder @lazd .
@lazd Wheres the bit we need to catch and ignore this?
Is this the approach we want (allow scrapers to come-good-again if they again match the original format) or do we want to split it out into dates and just immediately throw the error after the first bad date?
(and if this is the implementation we want, is DeprecatedError semantically correct? Maybe InconsistentFormatError or something? )

Just saw this in the docs. Should we be returning null instead then?

This looks good to me, but I'm going off very superficial knowledge of js.

I say throwing is fine when we're done updating a scraper -- especially if we still fetch the data.
We can catch the error in the crawler and filter out the error type in the slackbot.

TBH not sure the null bit makes sense or is even handled correctly.

@camjc pushed some commits that make this stop the slack bot from reporting deprecated errors.
I am not sure the example from Sonoma should be considered deprecated -- it's only deprecated if we choose to abandon it and stop making updates. In the example there, the data is still on the page, but we just have a broken scraper.

@camjc pushed some commits that make this stop the slack bot from reporting deprecated errors.
I am not sure the example from Sonoma should be considered deprecated -- it's only deprecated if we choose to abandon it and stop making updates. In the example there, the data is still on the page, but we just have a broken scraper.

Yeah, both of these feel more like currently broken rather than deprecated?

This if/throw was inserted to acknowledge that we no longer have a working scraper for Sonoma. ... The page is changed and our scraper no longer supports it.

This scraper supports a handful of GIS datasets, and Sonoma should hold no special exemption as more states switch to dashboard reporting.  I submitted a PR for Sonoma, but not sure why we're looking more into deprecation / "no longer supporting" ultimatums instead

Awesome. I want to scrape all the things.
I was simply making it clear that the old code no longer worked.


Move grpc_census_call_*_context calls into public header

Issue #2710 fix.

The sanity tests failed. It looks like some project files were not correctly regenerated.

I see the error in the log, but can't figure out why it is so. I regenerated everything with tools/buildgen/generate_projects.sh before submitting, is there anything else I need to do?
I also looked for mentions of grpc_context.h remaining in any file in my repository, and couldn't see anything. Suggestions?

I don't know. There's no clear reason that I can see.

I'm probably a week behind the mainline with this; I'll try and do merge with current upstream, and see if that helps.

BTW, not sure I'll get to this today, and I'm out tomorrow, so it may be weekend or Monday.

Think I found the cause, it was do do with another merge on a common file that still contained the reference to the removed header.

OK, the test failures don't look related to this change.


regen: dummy dcamera support

This seems like a lot of code (in multiple places) to send dummy frames.

it would have been shorter (just DummyFrameReader), but discovered that dmonitoringmodeld does not support non-tici frames anymore, so dummy frames are required for c2 segment regen - so it needs to be explicitely detected and handled...

we will phase out c2 segments at some point, but there's still significant amount of them in our training routes, so I would keep some basic support for them in process_replay stack

Simplified it a little bit. now usage of dummy dcamera is completely dependent on dummy_dcamera param


Error in download_features.py

I'm interested in using this project in my thesis. I am willing to run this before making any modifications to the same. However, I've been running into quite a few issues.
While running
python download_features.py --features data/features.csv
I get the following error
ImportError: cannot import name 'S2L1CWCSInput' from 'eolearn.io'
Also. I get the unresolved variables error before even running the files on this line
https://github.com/tsdataclinic/PMLDataPipeline/blob/b6678e06d25fee2aec7a28982997578c497b98cf/download_features.py#L72
The variable bounds, bbox_list aren't defined in the above line
https://github.com/tsdataclinic/PMLDataPipeline/blob/b6678e06d25fee2aec7a28982997578c497b98cf/download_features.py#L78-L81
The variable USE_BANDS, band_names aren't defined in the above line.
@stuartlynn if you could help me set this up, it'd be very helpful for my thesis.

I'm trying to make this work too for a project, but it seems that the repo is based on an old version of eo-learn.
When running,
python download_scene.py --scene=scenes/Gulf.json
I first had an import error:
ImportError: cannot import name 'get_s2_pixel_cloud_detector' from 'eolearn.mask'
Using eo-learn's documentation I tried to use the new syntax for cloud masking, but now I'm faced with the same error as you.
I tried with both the last version of eo-learn, and the one given in Pipfile.lock, 0.7.4. But none of them work. I have absolutely no experience with that package, and I had no luck trying to find the correct version by looking for the missing function in the release logs...
I think the easiest fix would be to get from @stuartlynn the correct version to use for eo-learn


Can't use .filter(Boolean) on Array of union type

/* @flow */

function filterItems(items: Array<string|number>): Array<string|number> {
  return items.map(item => {
    if (typeof item === 'string') {
      return item.length > 2 ? item : null;
    } else {
      return item*10;
    }
  }).filter(Boolean);
}

const filteredItems = filterItems(['foo', 'b', 1, 2]);

console.log(filteredItems);

$ flow version
Flow, a static type checker for JavaScript, version 0.30.0
$ flow
test.js:3
  3: function filterItems(items: Array<string|number>): Array<string|number> {
                                                              ^^^^^^ string. This type is incompatible with
191:     filter(callbackfn: typeof Boolean): Array<$NonNull<T>>;
                                                   ^^^^^^^^^^^ number. See lib: ../flow/flowlib_6962c93/core.js:191

test.js:3
  3: function filterItems(items: Array<string|number>): Array<string|number> {
                                                                     ^^^^^^ number. This type is incompatible with
191:     filter(callbackfn: typeof Boolean): Array<$NonNull<T>>;
                                                   ^^^^^^^^^^^ string. See lib: ../flow/flowlib_6962c93/core.js:191

Found 2 errors

We should have predicate-function support soonish, which will solve this in a more principled way. Meanwhile I'll fix $NonNull to handle this better.


Add plugin documentation

Description
Changes proposed in this pull request:

Add plugin documentation
In follow-up: add sources, update GIF

Preview URL: https://plugin.botkube-docs.pages.dev/next/plugin/
Related issue(s)

https://github.com/kubeshop/botkube/issues/839

Changes were applied in a single commit: https://github.com/kubeshop/botkube-docs/pull/196/commits/1f2dc64970128e9a0426af0166e7d77ba31942d6

@mszostok here are the problems I faced during plugin documentation testing yesterday

If you create plugin folder locally, follow the documentation and run go release, it gives project name couldn't be found. I fixed it by adding project_name to goreleaser file, but I believe, If we create from your template within Github, we may not get any error about that
Once I have plugin definition but no communication bindings, it says  no external plugin found. Better to provide more context about that. This may not be related to documentation but just wanted to note here.

Thanks @huseyinbabal I will make sure that mentioned problem will be resolved in my follow-up PR. Thanks again for a great review and reported issues!


Create pull_request_template.md

Codecov Report

Merging #38 (633f703) into master (a8bd5f8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #38   +/-   ##
=======================================
  Coverage   70.65%   70.65%
=======================================
  Files           3        3
  Lines          92       92
  Branches       16       16
=======================================
  Hits           65       65
  Misses         23       23
  Partials        4        4

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 a8bd5f8...633f703. Read the comment docs.


Add skip_missing_views option to RESTORE

Closes #5181.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/8616f2ee344c5a214a7dc877fe184377355e7df8/
Edited pages:

v19.2/restore.md

@lucy-zhang can you review for technical accuracy please? thanks!

@lucy-zhang thanks for calling that out. I'll note it for later and add it to this page when I add docs for SHOW BACKUP SCHEMAS

TFTRs!


Multiple Virtual Scroll and FlexBox

First of all I want to thank you for your nice module.
I am trying to implement your module in my project but I have difficulty with two things

I can't manage to have multiple virtual scroll in one page. It seems some how they are repeating the same items which is the items of the last virtual scroll
I am using Angular Flex Layout to size my items in the virtual scroll but it seems it doesn't detect the child size. Any recommendation?

@amirsaber, thank you. I'm glad you like this component.
Regarding the difficulties you are facing:

This is unlikely. Please checkout my demo page. You can see multiple virtual-scrolls working independently. I ran some tests as well; all looked well here. I'm assuming it is caused by an error in your code. If you can share the code, I would be glad to look at it.

I use getBoundingClientRect() (see here) to calcuate child's size. I wasn't able to see a scenario where this failed. However the calculation may fail temporarly if container's size or the children's side itself is changed. This will get auto corrected when user start to scroll again or you could call refresh() method to fix it.

thanks for your reply. I am trying to reproduce the issue that I am facing and share it with you, meanwhile I thought maybe sharing my scenario might help:
I have an ngFor over the virtual-scroll and every time I am passing a new set of array to ng-for. It seems in your examples you are using same array in all of virtual-scrolls. I face the issue when I supplly different arrays into virtual scroll within a ngFor.

I figured them out. If you put multiple virtual-scroll on same component for different arrays with same name for items(viewportitems) you will get this issue. Also about flexbox, since the structure of the app changes to scrollable-content div with the repeated items in as childs, the flexbox layout you imagine when coding and the one that you get on browser are different

@amirsaber Do you have an example how to use it with Angular Flex Layout. I am not able to get it working.... TIA


Discuss saving gas by not having 0 value token transfers in settleChannel

Add a conditional check such as: if (token_amount > 0) { // do the token transfer }
PROs:

smaller gas cost for settleChannel by not doing 0 value token transfers - save ~8500 gas / transfer

CONs:

Note Transfers of 0 values MUST be treated as normal transfers and fire the Transfer event.

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#transfer

It may be possible to do an attack where 1 of the transfers does not go through. The safe approach would be to register the effects on the blockchain as default. Then, anything not registered would be proof of an attack.

It may be possible to do an attack where 1 of the transfers does not go through. The safe approach would be to register the effects on the blockchain as default. Then, anything not registered would be proof of an attack.

Can you elaborate?

Add a conditional check such as: if (token_amount > 0) { // do the token transfer }

The if (token_amount > 0) { //do transfer } pattern is not bad.
The EIP note you quoted:

Note Transfers of 0 values MUST be treated as normal transfers and fire the Transfer event.

concerns only token implementations. i.e. how should the a smart contract implementing the transfer() function for a 0 value behave. It's nothing to do with how we use such contracts.


Upgrade to Swift 3

Reference : https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html#//apple_ref/doc/uid/TP40015214
Has now been updated to Swift 3 and Xcode 8.1


Remove @nuxt/schema overrides

The module exports @nuxt/schema overrides:
https://github.com/nuxt-alt/http/blob/7162d2c70fb319d4a6414c3296cb3a512460b6f7/src/types.ts#L56-L58
This is however not needed in (modern) Nuxt as it generates .nuxt/types/schema.d.ts automatically for all enabled modules and the provided config data:
import { NuxtModule, RuntimeConfig } from 'nuxt/schema'
declare module 'nuxt/schema' {
   // ...
   interface PublicRuntimeConfig {
   // ...
   http: {
      browserBaseURL: string,
   },

The types exported by the module shadow the generated types, and make http optional even when it's explicitly provided by user. As the result, user has to use non-null assertions this.$config.public.http!.browserBaseURL! every time they want to access module config.
Simply removing built-in @nuxt/schema overrides will make simpler code and better DX.

i've removed the typings in the latest version


Missing Datacenter features.

Please create a new column for Standard and Datacenter versions and fill them up appropriately.
Get-WindowsFeature exposes: Standard version: 198 items in Datacenter: 263 items

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

ID: db13df44-6cc0-9af2-8cea-60a16b724959
Version Independent ID: 54b777c3-e1b4-2748-a458-f99dcc44ee7b
Content: Roles, Role Services, and Features included in Windows Server - Server Core
Content Source: WindowsServerDocs/administration/server-core/server-core-roles-and-services.md
Product: windows-server-threshold
GitHub Login: @lizap

This would be very helpful
here is a docs to start with
unfortunately each of them have a different level detail
docs content:
https://docs.microsoft.com/en-us/windows-server/get-started-19/editions-comparison-19
original content:
https://blogs.technet.microsoft.com/ausoemteam/2017/03/03/comparison-of-standard-and-datacenter-editions-of-windows-server-2016/

Awesome, thanks!

What is still open on this PR?

@Karl-WE I believe it was re-opened by mistake. We're running code to try to auto tag/assign our issues so we can look at groupings and see if there's anything we can do with our tiny team. I'll re-close it.


Unit Test not running successfully

On Mac Osx
node version 7.5.0 and 5.12.0
PDFtk version 2.0.2
on master branch
pdfFiller Tests
fillForm()
1) should not throw an error when creating test_complete.pdf from test.pdf with filled data
2) should create an completely filled PDF that is read-only
3) should create an completely filled PDF that is read-only and with an specific temporary folder for FDF files
4) should create an unflattened PDF with unfilled fields remaining
generateFieldJson()
5) should generate form field JSON as expected
6) should generate another form field JSON with no errors
generateFDFTemplate()
7) should generate a FDF Template as expected
8) should generate another FDF Template with no errors
convFieldJson2FDF()
✓ Should generate an corresponding FDF object
mapForm2PDF()
✓ Should convert formJson to FDF data as expected
2 passing (2m)
8 failing

pdfFiller Tests fillForm() should not throw an error when creating test_complete.pdf from test.pdf with filled data:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests fillForm() should create an completely filled PDF that is read-only:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests fillForm() should create an completely filled PDF that is read-only and with an specific temporary folder for FDF files:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests fillForm() should create an unflattened PDF with unfilled fields remaining:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests generateFieldJson() should generate form field JSON as expected:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests generateFieldJson() should generate another form field JSON with no errors:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests generateFDFTemplate() should generate a FDF Template as expected:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

pdfFiller Tests generateFDFTemplate() should generate another FDF Template with no errors:
Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

npm ERR! Test failed.  See above for more details.

On recent versions of OSX, pdftk may hang indefinitely. I ended up having to set up a Docker container (with node + pdftk) in order to begin developing on this at all.
You might to invoke the form_fill method of pdftk directly on the command line and see if it stalls.

So I just found out that the company behind pdftk released an alternate build for OSX 10.11-10.12, but still have not updated the main download links on their site. You can access the corrected build here:
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-mac_osx-10.11-setup.pkg

seems to be the same bug as mentioned in issue #51

This does not seem to be related to pdffiller itself, but rather pdftk. I had a similar setup as @soitgoes and then ran into the issue referenced by @maximilianschmidt . That solved the problem for me with no changes to pdffiller


Crash after long iterations

Hello,
Does the newest version of CARLA (0.9.12) still crash after long iterations?
Thanks.

It doesn't seem to be the case.


[DRIVER] Specify name when build with primfunc

If pass a primfunc into tvm.build(), explicitly pass a function name now take no effect, which seems to be a non-prefered behavior.

cc @electriclilies @mikepapadim @Mousius @leandron I feel like this is a combo of name mangling + build API changes, part of me feels like we should deprecate the behavior of naming the artifacts as part of the compilation API, and instead move this saving the module or something like that.

@wrongtest thanks for the change, just CC'd other folks who might have introduced this behavior to review!

LGTM, Yes, name mangling for IRModule doenst make sense at this stage.

Note that this PR causes the warning "Specifying name with IRModule input is useless" to pop up for most compilations using standard workflows. I worry that its going to be confusing to / scare away new users. Would it make sense to remove the warning? @junrushao1994

@jwfromm Got it. It's possible that some stages in the current compilation workflow doesn't respect the fact that specifying name for IRModule is not useful, but I'm not sure which stages they are. @michalpiszczek if you could help figure out the root of the cause, and fix those stages that will be helpful! Otherwise, I'm going to temporarily remove those warnings and add a TODO in the codebase instead.

@jwfromm Got it. It's possible that some stages in the current compilation workflow doesn't respect the fact that specifying name for IRModule is not useful, but I'm not sure which stages they are. @mikepapadim if you could help figure out the root of the cause, and fix those stages that will be helpful! Otherwise, I'm going to temporarily remove those warnings and add a TODO in the codebase instead.

@junrushao1994 thanks for letting me know. I will take a look and get back to this PR.

One thing I miss seems that the default argument for name is "default_function" instread of None.

@wrongtest would you like to send a new PR fixing this behavior? Thanks a lot!

@junrushao1994  Hi, I create a follow up here;  https://github.com/apache/tvm/pull/9678

Thank you so much @wrongtest!


⚠ ClamAV has degraded performance

In 8c100fc, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 198 ms

Resolved: ClamAV performance has improved in 2ab519b after 5 minutes.


TEST

Testing seeds on Heroku review app

==> Populate DB from pg dump file…
psql crimethinc_development < database-dumps/crimethinc_production_db_dump.sql
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
I, [2019-12-04T07:26:22.571863 #15]  INFO -- [Bugsnag]: Notifying https://notify.bugsnag.com of RuntimeError


Pick up new cost type for Secp256r1

What
Pick up changes from https://github.com/stellar/stellar-xdr/pull/178
Master issue: https://github.com/stellar/rs-soroban-env/issues/807
Env PR: https://github.com/stellar/rs-soroban-env/pull/1376
Why
[TODO: Why this change is being made. Include any context required to understand the why.]
Known limitations
[TODO or N/A]

LGTM


Handle problem with default values for level

Situation
Inside specification we have:
https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317648

IF rule (§3.27.7) is present THEN
LET theDescriptor be the reportingDescriptor object (§3.49) that it specifies.

# Is there a configuration override for the level property?

IF result.provenance.invocationIndex (§3.27.29, §3.48.6) is >= 0 THEN

    LET theInvocation be the invocation object (§3.20) that it specifies.

    IF theInvocation.ruleConfigurationOverrides (§3.20.5) is present

          AND it contains a configurationOverride object (§3.51) whose

          descriptor property (§3.51.2) specifies theDescriptor THEN

        LET theOverride be that configurationOverride object.

        IF theOverride.configuration.level (§3.51.3, §3.50.3) is present THEN

          Set level to theConfiguration.level.

ELSE

    # There is no configuration override for level. Is there a default configuration for it?

    IF theDescriptor.defaultConfiguration.level (§3.49.14, §, §3.50.3) is present THEN

      SET level to theDescriptor.defaultConfiguration.level.

IF level has not yet been set THEN
SET level to "warning".

The problem here is, that the generated code from the official JSON schema leads in something like
Level level = Level.valueFrom("warning")
For every level.
This means, that the result and the rule will always have "warning" as default value, which is not compatible with the upper pseudo code from the specificiation.
Wanted
The sarif library for 2.1.0 shall have a correct behavior here!
Solution
open

Maybe a change of the origin schema should be possible:
https://json-schema.org/understanding-json-schema/reference/conditionals.html

The mentioned schema change is necessary to have the correct behavior on generator output.
We will have both schemas inside the git repo - the customized schema will be named as the origin but wit -customized at the end. The generator will use the customized variant.
Also we will write a Junit test inside sarif-2.1.0-generator which will be copied to the generated gradle project "sarif-2.1.0" so it will be executed at build time. The test will check that the default behavior is like the specificiation definition at https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317648


xcode 11.0 run error

error: module importing failed: Missing parentheses in call to 'print'. Did you mean print('Whoops! You are missing the <' + arg.argName + '> argument.')? (fblldb.py, line 98)
File "temp.py", line 1, in

If you looked at a few issues down, #270, #272 have the same issue. It is already being worked on in #266

With #266 merged, you should be all good! Let us know if the issue reoccurs!

Not working for me still on Xcode 11.1 and macOS 10.14.5, on chisel 1.8.1.

Still not works. Xcode 11.2, macOS 10.15.1.


Question: How to customize component colors

Thank you for a great multiselect component. It is working great.
How can one customize eg background or border colors for the component?

same question here!
wish I could change borderRadius, focusBorderColor, etc

Ok, I'll try and think of a way to implement this!  Chances are I'll end up exporting the custom components I made for this so you can customize them, like the original package does but I'll have to see if it works.

I've got a similar question, I wan't to change the design (spaces, bg, colors) of the dropdownIndicators. Is there a good way to do that? Thanks for the work!

I have a similar problem. I'm trying to customize Option and MultiValueContainer (TagContainer) components.
I'm also trying to change the menu style in order to remove the gutter.
I have a codesandbox example using both react-select and chakra-react-select showcasing that the customization is working properly in the main package:
https://codesandbox.io/s/weathered-mountain-jhvvs

It was brought to my attention in #21 that the classNames react-select usually applies to each of the sub components were not working for all of my custom components (and therefor the classNamePrefix prop was not working either). This made me realize that, if they were working, it would be a decent alternative until I finish working out the best way to allow styling the sub-components with props.
So I updated the component to add the classNames that react-select uses to each of the sub components, which will let you use CSS to style them in 1.4.0. This is one of the officially supported methods of styling in the react-select docs.  This update will also fix the classNamePrefix prop, allowing to prefix the sub-components' classNames however you like.
I made a demo which styles the select like it is in the image above, which you can find here: https://codesandbox.io/s/chakra-react-select-classnameprefix-demo-4r2pe?file=/example.js
This does not mean I am going to stop working on a system for forwarding css-in-js props, but hopefully this will work for some people in the meantime.

I finally implemented a way to pass custom styles to each of your components!  I added a prop called chakraStyles which behaves similarly to react-select's built in styles prop, with some slight differences.  Check the updated documentation for full details and let me know if you still have any questions!

As a side note, in order to implement this, I had to replace all of the components built into react-select with custom chakra components so I am also exporting those from the package.  They can be imported alongside the primary components like so:
import { Select, components } from 'chakra-react-select'

You can check the original react-select documentation on this feature as I have not had a chance to fully implement it. On top of that, most of this package's components will not accept arbitrary custom props, making styling with Chakra's style props impossible. If you really want to pass custom components into this package, I'd recommend completely replacing them with your own using this packages component code as an example.


fix tile position correcting spacing

(i as f32 % columns).floor() * (tile_size.x + spacing.x) + spacing.x
the last spacing sum cause left pacing be drawn (same for y)

Thanks for the PR.
However, this PR would break other tilemaps, which you can see by running the spacing example.
In bevy_ecs_tilemap "spacing" means not only the distance from tile to tile, but also the distance between the tiles and the edge of the texture.
For the moment, your texture needs to include that padding.
There's a feature request here: https://github.com/StarArawn/bevy_ecs_tilemap/issues/353. Supporting a separate "offset" and "padding" is a bit more involved.

Yep, thanks for explanation.
Il giorno gio 30 mar 2023 alle ore 17:30 Rob Parrett <
@.***> ha scritto:

I'm going to close this out, but please feel free to open another PR if
you want to try to fully address the offset/padding issue.
—
Reply to this email directly, view it on GitHub
https://github.com/StarArawn/bevy_ecs_tilemap/pull/404#issuecomment-1490508666,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGGNQGZW7QXFD34JNONFZEDW6WRLDANCNFSM6AAAAAAWD4ZJYA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Both commands produce a valid binary without any error. Inspecting both binaries with rsc.io/goversion results in:

 goversion -crypto -m fips-test
 fips-test go1.22.5 X:boringcrypto (standard crypto)
         path   command-line-arguments
         build  -buildmode=exe
         build  -compiler=gc
         build  CGO_ENABLED=0
         build  GOARCH=amd64
         build  GOEXPERIMENT=boringcrypto
         build  GOOS=linux
         build  GOAMD64=v1

goversion -crypto -m fips-test
fips-test go1.22.5 X:boringcrypto (boring crypto)
         path   command-line-arguments
         build  -buildmode=exe
         build  -compiler=gc
         build  CGO_ENABLED=1
         build  CGO_CFLAGS=
         build  CGO_CPPFLAGS=
         build  CGO_CXXFLAGS=
         build  CGO_LDFLAGS=
         build  GOARCH=amd64
         build  GOEXPERIMENT=boringcrypto
         build  GOOS=linux
         build  GOAMD64=v1

Looking at the cpu.pprof files also shows that the boringcrypto C implementation is only selected when CGO_ENABLED=1.
go tool pprof cpu.pprof
    File: fips-test
    Type: cpu
    Time: Jul 25, 2024 at 4:33pm (CEST)
    Duration: 13.37s, Total samples = 50ms ( 0.37%)
    Entering interactive mode (type "help" for commands, "o" for options)
    (pprof) top 10
    Showing nodes accounting for 50ms, 100% of 50ms total
     Showing top 10 nodes out of 15
          flat  flat%   sum%        cum   cum%
           20ms 40.00% 40.00%       40ms 80.00%  crypto/internal/bigmod.(*Nat).montgomeryMul
          20ms 40.00% 80.00%       20ms 40.00%  crypto/internal/bigmod.addMulVVW2048
          10ms 20.00%   100%       10ms 20.00%  crypto/internal/bigmod.(*Nat).shiftIn
             0     0%   100%       40ms 80.00%  crypto/internal/bigmod.(*Nat).Exp
             0     0%   100%       10ms 20.00%  crypto/internal/bigmod.(*Nat).Mod
             0     0%   100%       50ms   100%  crypto/rsa.(*PrivateKey).Sign
             0     0%   100%       50ms   100%  crypto/rsa.SignPSS
             0     0%   100%       50ms   100%  crypto/rsa.decrypt
             0     0%   100%       50ms   100%  crypto/rsa.signPSSWithSalt
             0     0%   100%       50ms   100%  crypto/tls.(*Conn).HandshakeContext

 File: fips-test
    Type: cpu
    Time: Jul 25, 2024 at 4:40pm (CEST)
    Duration: 12.57s, Total samples = 50ms (  0.4%)
    Entering interactive mode (type "help" for commands, "o" for options)
    (pprof) top 10
    Showing nodes accounting for 50ms, 100% of 50ms total
    Showing top 10 nodes out of 42
          flat  flat%   sum%        cum   cum%
          30ms 60.00% 60.00%       30ms 60.00%  runtime.cgocall
          10ms 20.00% 80.00%       10ms 20.00%  runtime.memclrNoHeapPointers
          10ms 20.00%   100%       10ms 20.00%  runtime/internal/syscall.Syscall6
             0     0%   100%       10ms 20.00%  bufio.(*Writer).Flush
             0     0%   100%       30ms 60.00%  crypto/internal/boring.(*PrivateKeyRSA).withKey
             0     0%   100%       30ms 60.00%  crypto/internal/boring.SignRSAPSS
             0     0%   100%       30ms 60.00%  crypto/internal/boring.SignRSAPSS.func1
             0     0%   100%       30ms 60.00%  crypto/internal/boring.SignRSAPSS.func1.2
             0     0%   100%       30ms 60.00%  crypto/internal/boring._Cfunc__goboringcrypto_RSA_sign_pss_mgf1
             0     0%   100%       30ms 60.00%  crypto/rsa.(*PrivateKey).Sign

Importing crypto/tls/fipsonly works in both cases and the Go TLS stack actually rejects TLS 1.3 connections (TLS 1.3 has to be disabled for boringcrypto). When obserbing the TLS stack behavior, it seems that the binary uses boringcrypto when CGO_ENABLED=0 even though it actually uses the standard library crypto implementations.
What did you expect to see?
This seems like a "footgun" in the sense that people might try to build a binary that uses a FIPS 140-2 certified module to meet compliance requirements but accidentally have set CGO_ENABLED=0 in their build environment.
While it might seem obvious that GOEXPERIMENT=boringcrypto demands CGO_ENABLED=1, I was not able to find any documentation for this. Also there are blog posts not mentioning this in any way. For example: https://medium.com/cyberark-engineering/navigating-fips-compliance-for-go-applications-libraries-integration-and-security-42ac87eec40b
I'm aware that building Go binaries with boringcrypto as crypto backend is not officially supported. However, requiring CGO_ENABLED=1 does not seem to have any downside.

Related Issues and Documentation

boringcrypto: Not using FIPS compliant calls for SHA functions (also should we add md5? for easy proof of FIPS mode on) #66513 (closed)
cmd/cgo/internal/testtls: TestTLS fails on Windows #61882 (closed)
[boringcrypto] crypto/tls/fipsonly: panic runtime error: cgo argument has Go pointer to unpinned Go pointer  #64694 (closed)
cmd/cgo/internal/testtls: `signal arrived during external code execution` on Windows with clang 14.0.6 #64400
crypto: understand performance differences compared to BoringSSL #21525
crypto/internal/boring/syso: boringssl builds on musl broken due to `fopen64` calls #64698 (closed)
cmd/dist: `GOMAXPROCS=2 runtime -cpu=1,2,4 -quick` makes poor use of CPU resources, increasing `all.bat` latency #65164 (closed)
Goboring check in aws lambda function #56670 (closed)
crypto/ecdsa: custom curve implementations are not supported with boringcrypto #54486 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

cc @golang/security

Just use github.com/microsoft/go systemcrypto experiment with build tag to require FIPS. It produces binaries that will use openssl at runtime, with any FIPS provider available on any host OS, which all them provide (Ubuntu Pro FIPS, RHEL UBI, SuSe, Chainguard).
Unlike boringcrypto experiment, systemcrypto experiment correctly blocks unapproved usage; and prevents miss compilation by failing at build time and/or binary startup. Such that all of the above mentioned pitfalls are resolved.
Starting from trivial ones like forgetting to enable cgo (or turning it off by accident), to blocking md5, to more nuinanced caveats - like preventing silently falling back to uncertified gocrypto.

@xnox The point of issue is that the boringcrypto experiment has an "implicit" dependency on cgo which is not enforced.

Just use github.com/microsoft/go systemcrypto experiment with build tag to require FIPS.

Using an "unofficial" fork of the Go standard library is not a viable solution for everyone.

@xnox The point of issue is that the boringcrypto experiment has an "implicit" dependency on cgo which is not enforced.

Just use github.com/microsoft/go systemcrypto experiment with build tag to require FIPS.

Using an "unofficial" fork of the Go standard library is not a viable solution for everyone.

heh, and "official" fork officially said no support for boringcrypto experiment and no guarantees. Compared with support and responsiveness from multiple enterprise distributions and a tech giant that cares about FIPS on the other side.
Note that in microsoft/go fork, in addition to openssl and CNG backends the boringcrypto backend is also available, and improved upon. So even with microsoft/go you can continue to use boringcrypto if you so wish.
In https://github.com/microsoft/go/blob/84de1c58814b14711dcda4d9d11557a68bdf4188/patches/0007-Add-backend-code-gen.patch#L507
There is generated conflict file, that has init, that panics missbuilt binaries in boringcrypto mode. Specifically when all the conditions are not met. This resolves this issue.
That particular chunk of code can be vendored into any project, and you can self safe guard against this issue with a panic upon init, by checking the same set of tags.

@xnox you wrote:

Starting from trivial ones like forgetting to enable cgo (or turning it off by accident), to blocking md5, to more nuinanced caveats - like preventing silently falling back to uncertified gocrypto.

I've built a test app. using "github.com/microsoft/go systemcrypto experiment with build tag to require FIPS", and also added to it:
import (
	"crypto/md5"
      ...
}

func myMD5() {
	// Data to hash
	data := "Hello, this is some data to hash using MD5"

	// Create an MD5 hash
	hash := md5.New()
	hash.Write([]byte(data))
	hashBytes := hash.Sum(nil)

	// Convert the hash to a hexadecimal string for display
	hashString := hex.EncodeToString(hashBytes)

	// Print the MD5 hash
	fmt.Printf("MD5 hash of '%s': %s\n", data, hashString)
}

func main() {
        myMD5()
   ...
}

and it didn't block md5.
Here they say:

There is not yet any way to configure the crypto APIs to panic instead of falling back to standard Go crypto.

Are you sure about this? Or maybe, I'm missing something.
TIA!

Discussions of third-party forks such as github.com/microsoft/go are out of topic. This issue is about a safety limitation in the (not officially supported) Go+BoringCrypto mode (which is unlikely to see much investment due to #69536).

There is not yet any way to configure the crypto APIs to panic instead of falling back to standard Go crypto.

Are you sure about this? Or maybe, I'm missing something.

the blocking depends on the policy of the FIPS module at runtime, and fallbacks. For example, today you typically need openssl default library context to be loaded with openssl default & fips providers, and default query properties set to fips=yes, and the module activated and passing selftests. Then MD5 will be blocked, as per policy of the module you are using, meaning you need to use an up to date 140-3 module. It's not the toolchain that enforces policy, but the relevant runtime FIPS module.  FIPS is not about what apis you call; but about whether or not a fips module is in play and what it returns.
All of the above is out of scope for this bug report - please consult with your security officer, and your FIPS policies at runtime. Or contact your FIPS module vendor (i.e. Ubuntu Pro FIPS, RHEL UBI Fips, Chainguard FIPS Images, Suse FIPS, etc).

Thanks @FiloSottile - closing this then. Hope the validation is not too painful 🤞

To be clear I was saying that discussions of third-party forks are off topic, not the original issue about Go+BoringCrypto.
Reopening to keep track of this just in case we do decide to clean up Go+BoringCrypto (or to close once we drop it).