Cancel request bug

Fixed activity log and hiding box when request is canceled on dashboard by gift-requester

I have fixed the issues in this story as well in this pull request
https://www.pivotaltracker.com/story/show/22221501
2nd issue was already fixed.


Feature resource event and node flow --tesing, don't commit

This PR is for:

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: lzf575:white_check_mark: roryye:x: zhengyazhengya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


different configs per environment?

Hi,
I would like to have different a different configuration for development and test than I do for production.  I would like use the translations directory when in dev/test and load from an AJAX call when in production.
I'm not sure how to do this with the deprecation of environment.intl.
Suggestions?

The config takes the environment as an argument:
https://github.com/jasonmit/ember-intl/blob/master/packages/ember-intl/config/ember-intl.js#L3
environment should be test, development, or production.  So you can put a switch or if statements to construct what the config looks like in those environments.

Feel free to open if this doesn't answer your question.

@jasonmit I do need to reopen this...  I have this code:
module.exports = function( env ) {
    console.log('ember-intl env', env);

but when I do ember serve I get this output:
ember-intl env undefined
am I doing something wrong?

@jasonmit I do need to reopen this... I have this code:
module.exports = function( env ) {
console.log('ember-intl env', env);
but when I do ember serve I get this output:
ember-intl env undefined
am I doing something wrong?

@adhamhf you're correct.  I've patched it and will version shortly.

2.13.0


Error / incorrect values when calling Device methods

If you experience an issue when running the following methods:

request_jpeg
request_af_trigger
get_nn_to_depth_bbox_mapping
request_af_mode
request_af_trigger
request_jpeg
send_disparity_confidence_threshold

Please make sure you've run the create_pipeline method before any of the mentioned above.
This is a known bug, as these methods assume the pipeline is running and their purpose is to manipulate the device while it's running.
We will be implementing the fix for this in our equivalent API calls in our Gen2 Pipeline Builder #136, which will replace the current API and won't have those issues.

This is now implemented/fixed in Gen2.  See some more information in our docs here.


[Samples][Java] Fix disparities of 40.timex-resolution sample

Related to microsoft/botbuilder-java1165
Proposed Changes
We compared the documentation/code migration/behavior of the 40.timex-resolution sample between Java and C# and we found disparities and fixes that this PR includes.

Remove redundant link of README

Testing
Timex  resolution sample working as expected

Merged in MS


Full-width character is not displayed

Hello
Displayed  2.5 full-width strings (5 character width) and cutted latter half.
What steps will reproduce the problem?
Show full-width character text file.
the text file such as:
half-width: Hello world
full-width: コンニチハ
A similar problem was encountered with Intellj.
https://youtrack.jetbrains.com/issue/IDEA-143004
test file:
https://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html
test command:
cat UTF-8-demo.html
What is the expected result?
Displayed 5 full-width strings (10 character width). (Fig.1 wsltty-sample)

What happens instead?
Displayed  2.5 full-width strings (5 character width) and cutted latter half. (Fig.2: terminalapp-sample)

OS:Windows10 1809
language: Japanese
c:\Program Files\terminalpp>terminalpp.exe --version
    version:    0.8.4
    commit:     6444618c981a737a63039110add5a4e1d282156f
    platform:   Windows(native) 64 MSVC 19.28.29914.0 release
    build time: 2021-05-12T19:10:37Z

terminalapp
use wsl
use pty type: local
use font: Consolas

Thanks! I can't confirm on the attached file (seems to be different contents, but just copy pasting the characters exposes the problem as well).

thanks.
Please excuse my poor English.

copy pasting the characters exposes the problem as well

I confirmed the same
The state I confirmed with this terminal++v0.8.4 is the attached file below

I think there is a bug in displaying with DirectWrite.
Unfortunately i don't know where.....


Issue3923 - Update

Type of Change

[X] Bug fix (non-breaking change, fixes #3923 )
[X] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Updates the Test-DbaDbCompression function to
(a) Add option to filter by Schema and Table
(b) Restrict number of objects tested by either Table Size, IndexSize or Partition Size
(c) Fixed issue with Partitioned tables not returning correct results
(d) Fixed Issue with Database and Server Instance not having same collation

Noticed that all examples are currently using Test-DbaCompression rather than Test-DbsDbCompression. Will modify all references.

@sqllensman You will need to also update the test since you added parameters so that will pass. We validate what parameters it has 😁

Ideally if you are able/want to would be to also update the test to validate the "feature" you added.

I am happy to try modifying / adding tests.
What is process to actually run the Pester tests.
In the Wiki documents this is in the to be done bucket.

Pester tests have been updated to reflect additional parameters and also to test use of the parameters

thank you for the PR and the approval 💯 🌮 !


How to run hocuspocus in https?

I am struggling to run hocuspoc on http. I tried n-number of solutions nothing seems to be working. Can you please help
Here is my code:
import fs from 'fs';
import https from 'https';
import { Server } from '@hocuspocus/server';
import { SQLite } from '@hocuspocus/extension-sqlite';

// Load SSL certificates
const options = {
  key: fs.readFileSync('../.ssh/covationlabs/hocuspocus.key'), // Path to your .key file
  cert: fs.readFileSync('../.ssh/covationlabs/hocuspocus.pem'), // Path to your .pem file
};

// Initialize and configure the Hocuspocus server
const hocusPocusServer = Server.configure({
  async onConnect() {
    console.log('🔮 Hocuspocus Server Connected');
  },

  extensions: [
    new SQLite({
      database: 'db.sqlite',  // Ensure db.sqlite exists in your working directory
    }),
  ],
});

// Create HTTPS server
const server = https.createServer(options, (req, res) => {
  // Use the Hocuspocus server to handle the request
  hocusPocusServer.handleRequest(req, res);
});

// Start the server
const PORT = 9000; // Change this to your desired port
server.listen(PORT, () => {
  console.log(`Hocuspocus server is running on https://localhost:${PORT}`);
});

I logs start on https. when open wss://ip:9000 it fails.

Used caddy and running is using reverse proxy. fixed!!


Add Coreum to chain registry

Very thorough! Can I suggest a circular token logo?

Logo design is far beyond me


Cannot install with npm

I am trying to use aurelia-http-client commonjs dist through npm (not an aurelia.io app, bundled with browserify):
 $ npm install --save aurelia-http-client

but get the following error:
npm ERR! 404 404 Not Found: aurelia-http-client
npm ERR! 404
npm ERR! 404 'aurelia-http-client' is not in the npm registry.

This is because we provide our repos via JSPM. There is no NPM package registered for those repos

OK, my mistake. I thought the line "main": "dist/commonjs/index.js in package.json was intended for release through npm.

@troch Can you tell me a bit more about your use case? We could publish it to npm, but we haven't up to this point since people have been fine with jspm and bower. I'd like to know more so we can see if we need to provide some/all modules another way.

One of my playground application uses React.js. I am trying to see if I can pick Aurelia's http client as my xhr library, play with its features, etc... The application is bundled using browserify, thus why I thought I could access the commonJS release through npm.

Gotcha. I would try doing npm install github.com/aurelia/http-client or something like that. npm can actually install directly from the repo, so I think that should do it, since the package json is set up correctly for npm. Give it a shot, if you don't mind and see if that works out.

Cheers. I got it working with the following obscure syntax:
$ npm install<EMAIL_ADDRESS>
Had to do the same with aurelia/path as it is a dependency and I can now access it all in the browser. Will try to use it later.


build error on Nov. 05

I tested this tool yesterday well.
However, newly cloned source tree today makes following build error
g++: error: ../tss/sysapi/libtpm.a: No such file or directory
Makefile:721: recipe for target 'tpm2_listpcrs' failed
make[1]: *** [tpm2_listpcrs] Error 1
make[1]: Leaving directory '/home/debian/tpm/tpm2.0-tools/sapi-tools'
Makefile:356: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Hello @mipsan. Unfortunately the build systems for the tpm2.0-tools has a dependency on the tpm2.0-tss built layout. I made a few changes to the tpm2.0-tss build the other day to build the SAPI and TCTIs as shared objects and this resulted in a few build artifacts ending up in different locations. This seems to have caused the breakage you're seeing.
IMHO the "right way" to fix this is to change the build here to link against the shared objects produced by tpm2.0-tss just like they were any other system library.

Thanks @flihp ,
Hope to be cleared soon.

Thanks for reporting this out. WIP.

hey Jimmy, I've already started in on this. Should have assigned it to myself. Sorry about that.


Suggestion: v-on on slots

This ties in to question/suggestion https://github.com/vuejs/vue/issues/4332 which was closed, but I have a common scenario where this would be very useful, and the proposed solution in that suggestion would be difficult to apply here.
Suggestion
A limitation I've ran into when authoring reusable components is that you can't add event handlers to a <slot>.
For example: I'm making a logout button I intend to reuse throughout multiple apps. I want to allow apps to override the actual button element, without having to worry about handling the click event to call the logout() method. This is a slightly contrived example but it illustrates my point.
What I would like to be able to do is the following:
logout-button.vue
<template>

		<slot @click="logout()">
			<button type="button" class="btn btn-primary">Log out</button>
		</slot>

</template>

The @click handler on the slot would then be applied to the components within the slot (here just the button).
(ideally I'd also like to be able to use a <slot> as a component's root as long as it never ends up containing more than one element, but that's off topic here, and I'm not sure if that would ever be possible)
A parent component could then override the button like this:
parent-component.vue
...
<logout-button>
	<my-button>Sign out</my-button>
</logout-button>
...

And everything would still work. Clicking the <my-button> would trigger the @click handler.
Current solutions
To my knowledge, there are currently three ways to implement similar behaviour:

Add the @click directive to a wrapper element. This seems like an obvious choice here because we already need the wrapper for our component to work, but when you have multiple named slots, this clutters the DOM with useless elements.

logout-button.vue
<template>

		<slot>
			<button type="button" class="btn btn-primary">Log out</button>
		</slot>

</template>

parent-component.vue
...
<logout-button>
	<my-button>Sign out</my-button>
</logout-button>
...

Use a scoped slot to pass the logout() method. This feels like a misuse of scoped slots and also tightly couples parent-component to the implementation of logout-button.

logout-button.vue
<template>

		<slot :logout="logout">
			<button type="button" class="btn btn-primary" @click="logout()">Log out</button>
		</slot>

</template>

parent-component.vue
...
<logout-button>
	<template scope="{ logout }">
		<my-button @click="logout()">Sign out</my-button>
	</template>
</logout-button>
...

The proposed solution in https://github.com/vuejs/vue/issues/4332 could work, but only if the reusable <my-button> I'm using to override logout-button's default slot were wrapped in another Vue component that knows which event to emit, again tightly coupling them and adding more complexity when I just want to use <my-button>.

It would look a little like this:
logout-button.vue
<template>

		<slot>
			<button type="button" class="btn btn-primary" @click="logout()">Log out</button>
		</slot>

</template>

parent-component.vue
...
<logout-button>
	<my-logout-button></my-logout-button>
</logout-button>
...

my-logout-button.vue
<template>
	<my-button @click="$parent.$emit('logout')">Sign out</my-button>
</template>

Conclusion
I'm partial to solution 1 here, and perhaps 3 for more complex scenarios, but I feel like it would be even cleaner using my suggested syntax for the reasons stated above.
What do you think? Note that I'm fairly new to Vue, so if I've overlooked anything, I apologize.

As explained in #4332, it doesn't make sense to add listeners on <slot> because <slot> doesn't always render only a single element. This is why a wrapper element is required.
I'd also take a step back and say slot is simply not the proper mechanism for what you want to do.
When the actual visual content is expected to be provided by the parent component, the only thing your <logout-button> component does, in fact, is providing the implementation of the logout method. In this case scoped slots actually looks like the most plausible solution. However, if all it does is providing a JavaScript method, why should it be a component in the first place? It can simply be a JavaScript module that exports the logout method. Instead of importing a component and try to compose it in the template using esoteric techniques, you simply import the logout method and use it:
<button @click="logout"></button>

import { logout } from './auth-service'

export default {
  methods: {
    logout
  }
}

If your point is that you want to encapsulate some common markup/styling in <logout-button>, then I'd suggest allowing the customizations via props instead of slots.

Thanks for the insights.
The example was perhaps a bit simple and you're right that just importing the method would be better in that case.
The idea behind the reusable components I'm creating is that they both provide functionality (e.g. the logout button, or something more complex like a navigation control that's automatically populated) as well as a default look and feel using our style guide. Apps can then implement these components without being involved with their implementation, but still override the styling not just through classes but also through custom elements.
In these more complex scenarios, scoped slots might indeed be the way to go.

I stumbled upon this and would follow @yyx990803 on that. The behaviour right now, however not documented well, is good enough. Maybe a PR for docs would be suited.

I agree with the OP's suggestion. The currently best recommended approach, using scoped slots, is verbose and hampers component reuse.
Say I'm authoring a component that mimics the native <select> element. Doing it the standard "Vue way", its use would look something like:
<my-select
 v-model="model"
 :options="options"
></my-select>

If I want to make it easy to add a custom class to the option elements, the recommended approach is something like:
<my-select
 v-model="model"
 :options="options"
 :optionClass="custom-option"
></my-select>

This seems like an anti-pattern to me, since we're using the custom "optionClass" rather than the native "class" HTML attribute. (Of course this doesn't just apply to class but any HTML attribute or component prop, which would otherwise have to be passed through via custom proxy props e.g. "optionClass", "optionId", "optionStyle", "optionTabIndex", etc.) A better approach would be to expose a slot for the options, allowing the parent to compose the structure like this:
<my-select v-model="model">
  <my-option
    v-for="option in options"
    class="custom-option"
  ></my-option>
</my-select>

I think this looks a lot better and is more similar to idiomatic HTML. Now, however, we run into a problem when we need to handle the click event for a specific option. My understanding is that the recommended best approach is to use scoped slots to pass a callback like this:
<my-select v-model="model" slot-scope="{ handleOptionClick }">
  <my-option
    v-for="option in options"
    class="custom-option"
    @click="handleOptionClick"
  ></my-option>
</my-select>

(I realize slot-scope would have to be used on an intermediate <template> in this case, but pseudo-code was used for simplicity.)
This works, but now imagine there are event handlers for focus, blur, and 5 different keyboard events. Not only does it become very verbose and cluttered, but it makes it much more difficult and unwieldy to reuse the component in multiple places. Furthermore as the OP mentioned it increases coupling; if, for example, one of the callbacks is renamed, every consumer would have to be updated.
Additionally, besides event handlers, I would also make a case for binding attributes. For example, I may require each option to have a certain id so it can be referenced with an ARIA attribute (this would pose a problem for the API, however, since using v-bind on a slot is currently the mechanism used for scoped slots).

it doesn't make sense to add listeners on <slot> because <slot> doesn't always render only a single element

Solution: attach listeners to each inserted element, or allow validation of slot content. I actually think validation would be a great addition; in the case of the example <my-select> component, it may require that only <my-option> components be passed to the default slot, just as a native <select> element can only have <option> elements as children.

My Solution
Just create an event listener component (e.g. "EventListener") and all it does is render the default slot like so:
EventListener.vue
export default {
    name: 'EventListener'
    render() {
        return this.$slot.default;
    }
}

Now use this <event-listener> component and wrap it on your <slot>. Child components inside the slot should emit events to the parent like so: this.$parent.$emit('myevent').
Attach your custom events to the <event-listener @myevent="handleEvent"> component.

My Solution
Just create an event listener component (e.g. "EventListener") and all it does is render the default slot like so:
EventListener.vue
export default {
    name: 'EventListener'
    render() {
        return this.$slots.default;
    }
}

Now use this <event-listener> component and wrap it on your <slot>. Child components inside the slot should emit events to the parent like so: this.$parent.$emit('myevent').
Attach your custom events to the <event-listener @myevent="handleEvent"> component.

For vue3, define it:
export default {
  name: 'event-listener',
  render() {
    return this.$slots.default ? this.$slots.default() : '';
  }
}

And use it:
<event-listener @popover-click="openPopover">
  <slot />
</event-listener>


Please upgrade to Node 20

Builds using this action produce output like
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
It would be nice to not see it.

See warning at the bottom right of
https://github.com/coactions/setup-xvfb/actions/runs/7670881304

Until the maintainer releases a new version, you can use the direct git commit hash of the this action with nodejs v20 https://github.com/coactions/setup-xvfb/commit/90473c3ebc69533a1a6e0505c36511b69c8c3135
uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a
@ssbarnea a new release version would be greatly appreciated too!

Hi @ssbarnea, can we have a new release on this action? GitHub says that they plan to migrate all actions to run on Node20 by Spring 2024. Fortunately node16 runner is still available with deprecation warnings, but it may be removed from GitHub Actions soon.

Node16 runner will reach the end of life on Oct. 15.
https://github.blog/changelog/2024-09-25-end-of-life-for-actions-node16/

#21


Add support for any S3 compatible object storage

I'm not using AWS for my s3 object storage so it isn't supported by StreamingDataset. However, the only change I need to make is hard coding the endpoint_url to my custom one in streaming/base/storage/download.py:47
# original
s3 = session.client('s3', config=config)
# hard coded endpoint_url
s3 = session.client('s3', config=config, endpoint_url="<custom_endpoint>")

It seems like #255 and #68 address similar issues for gcs and r2, both of which are s3 compatible object stores using boto3. To me it feels like it would makes sense to just have a single download function for any s3 compatible object store that uses boto3 and give the user the ability to specify client parameters like the endpoint_url?

Hi @vancoykendall, thanks for filing an issue. Your use-case is totally valid. To support this, it would require some interface change for upload and download functions but nothing too crazy that can't be done. Wondering, do you have a list of s3 (boto3) compatible storage ?

@karan6181 Thanks for the quick response. I don't have a list of s3 compatible storage options, my company just setup our own object store in our own data centers using the s3 api. I don't know how common this is, so maybe just adding the ability to specify the endpoint_url for the StreamingDataset to use it enough. It seemed unnecessary to add a new download function and uploader for my use case, but it may make sense in general for others.

@vancoykendall Yes, that make sense. We will take a look at this soon. Not sure how much bandwidth you have but If you are open to contribute then I can help you out by sharing some pointers. Please let us know. Thank you!

@vancoykendall I have one question. what is your dataset UrI prefix looks like ? is it still s3:// or something else?

what is your dataset UrI prefix looks like ? is it still s3:// or something else?

Yes my url prefix still uses s3://

Not sure how much bandwidth you have but If you are open to contribute then I can help you out by sharing some pointers.

I don't have a ton of bandwidth, but would definitely be open to contribute and would appreciate some pointers.

Hi @vancoykendall , the above feature has been merged as part of PR #265. Please let us know if you see any issues.


Remove WantedBy=multi-user.target to  avoid  ordering cycle

When running docker-based services, puppet creates systemd startup file named  docker-.service with dependency on docker.service and multi-user.target.
docker.service depends on multi-user.target.
docker- adds  WantedBy=multi-user.target that creates complement circular  dependency
According to docs:
Target units will automatically complement all configured dependencies of type Wants= or Requires= with dependencies of type After= unless DefaultDependencies=no is set in the specified units.

Service dependency graph looks like:
docker-<myservice> -> docker.service -> multi-user.target ->  docker-<myservice>  -> .....
When rebooting system:
multi-user.target: Found ordering cycle on docker-myservice.service/start
multi-user.target: Found dependency on docker.service/start
multi-user.target: Found dependency on multi-user.target/start
multi-user.target: Job docker-myservice.service/start deleted to break ordering cycle starting with multi-user.target/start

Service is not starts at boot anymore.

Thank you for reporting this. However, we require more information in order to move forward with this issue. If you would be able to provide:
your environment setup
the version of the modules involved
a manifest to help with reproduction of the issue
The more information you give us the more likely we will be to reproduce and address the issue.
Thanks!


Update connect-smartsheet-to-microsoft-cloud-app-security.md with license note.

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


Moves saucy python-websocket from pip to apt for use in bloom

Is this the same version?

The pip version is 0.32: https://pypi.python.org/pypi/websocket-client
The Ubuntu version is 0.11: http://old-releases.ubuntu.com/ubuntu/pool/universe/p/python-websocket-client/
@rctoris , does that work with you ?

Thanks for checking! Yes that does work.


Modify build pipeline

We added Azure Devops integration

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


Rename Project

I don't like the name :(
I want to remove the MC from the title and -RS is overused
Something rust-y or iron-y maybe?
Ideas:

Andesite - MC protocol library
Anvil - MC plugin api
Azalea - Hehe
Bamboo - Server
Basalt - Server
Beacon - Crypto
Bedrock - No
Cauldron - Server, renamed? and archived
Copper - Glowsquid lib, rust MC launcher
Diorite - Server, archived in 2019
Dripleaf - Server queuer & Client projects
Forge - Taken
Froglight - Unused!
Iron/Steel/Rust - Never
Lantern - Server, no updates in three years
Lighthouse - Server plugin, no updates in two years
Prismarine - Taken
Purpur - Taken
Terracotta - Server, no updates in 3 years & Client, no updates in 5 years

Thinking either Cauldron or Froglight, but TerraCotta is a fantastic name

I think I'll go with Froglight
Can always be changed again if something better comes up


add pivot longer/wider

Adds the pivot transformations detailed here.

Some examples:

Quick comment: It might be nice to have the same original rows be grouped together by default. I notice that when I pivot the grades example, rows with the same assessment names are grouped together, rather than rows that were produced from the same original row.

@stardust66 Agreed, and fixed!


withTableSelection HOC background color fix

https://github.com/gravity-ui/uikit/pull/1255

ts does not warn in this place - weird, it should

It seems that the reason is (here)[https://github.com/gravity-ui/uikit/blob/10e265f092371e8c9156eaeacba951620895c429/src/components/Table/hoc/withTableSelection/withTableSelection.tsx#L206]... We explicitly point that returned value is of a proper type.

BTW, screenshot test example is here.


pyenv .env file

i have tried  different ways to  implement this  codes but every time i found a new error
can you help me how can i use these codes
i had installed python 3.5 and all of packages in requirements after that i run the  creation and i found this error :
C:\Users\l3lackwood\Downloads\WinPython-64bit-<IP_ADDRESS>Qt5\python-3.5.3.amd64\lib\site-packages\dotenv\main.py:24: UserWarning: Not loading  - it doesn't exist.
warnings.warn("Not loading %s - it doesn't exist." % dotenv_path)
Traceback (most recent call last):
File "F:\farideh\python\WinPython-32bit-<IP_ADDRESS>Qt5\notebooks\genre\fma-master\creation.py", line 232, in
if sys.argv[1] == 'metadata':
IndexError: list index out of range
what should i do ?

You need to add the path to the audio files, i.e. where you decompressed one of the fma_*.zip files containing mp3, in a .env file, like AUDIO_DIR=/path/to/audio (point 5 of the usage instructions). That file should be in the root directory, i.e. where the creation.py file resides. Without this, the creation.py script does not know where to search for those audio files.

You then have to pass parameters to the creation.py script, e.g. ./creation.py metadata. Please look at the creation.ipynb notebook. Note that this script is however only useful to recreate the dataset.


Fix reading bytes message data after extracting message properties.

Looking good now, with the extra changes. Thanks 👍🏻

Since I'm still adding a test for IAF-Test I put the PR back into "Draft" for now, I expect to be ready with that later today.

Since I'm still adding a test for IAF-Test I put the PR back into "Draft" for now, I expect to be ready with that later today.

I've now added integration tests, verified that the integration test with BytesMessage indeed breaks without the applied fixes.


Implement self play in rust

Begin self play implementation in rust.
Implement policy fn on MctsGame.
Eliminate MctsBatch and update tests.
Implement self play.
Implement tests for self_play.
Fix bug with stale leaf nodes after move.
Update documentation.
Provide explicit thread names.
Fix thread count bug on single core CPUs.
Replace nn_queue with mpsc.
Replace done_queue with mpsc.
Update documentation.
Replace mcts_queue with crossbeam_channel.
Implement KL Divergence loss fn.
Implement simple CNN in burn.
Change EvalPosFn to Trait.
Self-play games generated on gpu.
 Considering switching back all nn logic to python and using pyo3 as a bridge.


RT-508:Annotation options

Overview

Added setting for annotation options

(show/hide, change color, change label, change yMax, YMin)
How it was tested

Tested on local by running a app
Ran unit test locally.

Checklist

[x] The title contains a short meaningful summary
[x] I have added a link to this PR in the Jira issue
[x] I have described how this was tested
[x] I have included screen shots for changes that affect the user interface
[ ] I have updated unit tests
[x] I have run unit tests locally
[ ] I have updated documentation (including README)

Please revert the change to pull_request_template.md and add it to .prettierignore


Remove es6-promise module

Issue -  https://github.com/istarkov/google-map-react/issues/128
Was:
GoogleMapReact.min.js - 65732 bytes

Now:
GoogleMapReact.min.js - 58152 bytes

it's still works. All tests are passed.

Have you seen that tests ;-) (слезки а не тесты)
The problem is following:
I've added this promises library as there were a few issues about some browsers without promise support. At the beginning I wrote about polyfills - etc, but decided to add promise support for this.
IMHO If you think that promise should be removed (I think so) you need to add few lines into documentation how to add promise polyfill into user project.

Really IE 11 still does not support Promise.
Well. I have added babel-polyfill. Now it is 147Kb in minified version )


Enable variant builds via device ID and cu count

This PR adds functionality in TensileCreateLibrary (TCL) to filter out the parsing and processing of logic files that don't match an architecture variant specified by a set of device IDs and CU counts. In this context, device IDs are the PCI device IDs.
Notable changes

A new CLI parameter has been added to TCL, --arch-variant, which accepts a string argument of the form "id=1234;cu=80". This string argument is parsed into a set of device IDs and CU counts, which are matched against those extracted from metadata in the logic files.
No behavioural changes are imposed on the program. If --arch-variant isn't provided, it defaults to an empty string and skips all variant filtering.
A custom, efficient technique to only parse the first 4 lines of each logic file has been implemented. This allows a logic file to be discarded if it doesn't match the provided spec without having to import the entire file. Experiments show that this method is 80x faster than the naive implementation.

Testing
Unit tests have been added for all new functions.

https://github.com/ROCm/hipBLASLt/pull/1007
Could you check this PR which provide similar functionality with this one?
Do we really need another feature to filter logic yaml?

@jichangjichang This approach adds a more structured approach to variant filtering and allows for intelligent selection of solutions from the metadata of logic files, as opposed to relying solely on details in the filename.


[BUG]: fixed github icon in footer

Describe the bug
The Github icon link in footer has fixed position right now but I want that to be removed.
Expected behavior
I want it to be at the bottom of the page depending upon screen height but not fixed position.
Screenshot

Additional context
Add any other context about the problem here.

Hi, @Ananya2001-an
I would like to contribute this this issue.

Hi @Ananya2001-an please review the PR

@Ananya2001-an Close this issue


seems, dynamics block inside cloudflare_record isn't work

Terraform Version
0.13.2
Affected Resource(s)
cloudflare_record
Terraform Configuration Files
resource "cloudflare_record" "foobar" {
  zone_id = cloudflare_zone.main.id
  name    = "test.site"
  type    = "A"

  dynamic "data" {
    for_each = var.record_data != null ? [var.record_data] : []
    content {
      values = data.value.field
    }
  }
}

Expected Behavior
A new record created
Actual Behavior
Error:
Error: Unsupported block type

  on main.tf line 34, in resource "cloudflare_record" "foobar":
  34:   dynamic "data" {

Blocks of type "data" are not expected here.

Steps to Reproduce

terraform init
terraform plan

Important Factoids
My idea to have one cloudflare_record resource described, but it should create multiple records depending on the configuration.

I don't have a bunch of experience with dynamic but the documentation suggests it can only be used for literal blocks which data is not (it's a map). Does this line up with your understanding?

Hm, ok, thank you, seems I missed it.
About my main issue:
This means I need to have two different cloudflare_record resources - with data and with value attributes?

I'm not sure what your use case is so I can't comment. What are you trying to achieve here?

I want to write a universal terraform module for work with Cloudflare, and I want to check somehow - which attribute the record contains, and automatically create a record.
For now, I try to do it something like this:
resource "cloudflare_record" "record" {
  for_each = var.records

  zone_id = cloudflare_zone.main.id
  name    = each.value["name"]
  type    = each.value["type"]
  value  = each.value["value"]
  ttl     = each.value["ttl"]
  data    = each.value["data"]
}

I understand this is an incorrect way because even I don't have value "data" (as for example) I have data = {} in terraform plan, and it fails, of course.
But seems I need something like each.key["data"]    = each.value["data"]

Gotcha. If that's the case, you'll probably need two or attempt to use a conditional expression for the varying arguments.
At a higher level, I'd also ask whether you're gaining enough out of this custom module to warrant the abstraction. Sometimes it's easier to repeat the resources being explicit than relying on some complex hidden magic.

Thank you!

Hello,
I try to do the same and yes dynamic is not working because data is a map of attributes.
Do you know how we could have this map of attributes "data" conditionally? Otherwise, we will get the error
Error: "data": conflicts with value
regards,

Hi I am also trying to do something very similar to the above but im not sure its possible to do
code is as follows
main.tf
terraform {
  required_providers {
    cloudflare = {
      source = "cloudflare/cloudflare"
      version = "~> 2.18.0"
    }
  }
}

provider "cloudflare" {
  email   = var.cloudflare_email
  api_key = var.cloudflare_api_key
}

resource "cloudflare_record" "gitlab" {
  zone_id = var.zone_id
    dynamic "map" {
        for_each = var.dnssettings
        content {
            name = dnssettings.value["name"]
            value = dnssettings.value["domains_ip"]
            type = dnssettings.value["domains_types"]
            proxied = (dnssettings.value["proxied"] != "" ? dnssettings.value["proxied"] : true)
        }
    }
}

var.tf
variable "cloudflare_api_key" {
    type = string
}

variable "cloudflare_email" {
    type = string
}

variable "zone_id" {
    type = string
}

variable "dnssettings" {
    type = list(map(string))
}

tfvars (if needed for debug)
dnssettings  = [{
    name = "test"
    domains_ip = "<IP_ADDRESS>"
    domains_types = "A"
},
{
    name = "test2"
    domains_ip = "<IP_ADDRESS>"
    domains_types = "A"
}]

The idea is  here is pass the key value form the map into the meta arguments  supported by the provider, through the dynamic block, this seems to be modern method of doing,
further info can be found here
https://github.com/hashicorp/terraform-guides/tree/master/infrastructure-as-code/terraform-0.12-examples/advanced-dynamic-blocks
on what I'm trying to achieve
The error which I receive is essentially
│ Error: Unsupported block type
│
│   on main.tf line 17, in resource "cloudflare_record" "gitlab":
│   17:     dynamic "map" {
│
│ Blocks of type "map" are not expected here.

I do get a few error's like this, not too sure why i assume I have made a syntax error somewhere
│ Error: Missing required argument
│
│   on main.tf line 15, in resource "cloudflare_record" "gitlab":
│   15: resource "cloudflare_record" "gitlab" {
│
│ The argument "type" is required, but no definition was found.

any help greatly appreciated

Hi @dc232,

About dynamic blocks (you can find the last documentation here - they are used to build repeatable nested blocks. For example like you try to achieve - create a nested block named "map". But as you can see in the terraform provider documentation, cloudflare_record resource don't support block named "map" and required some other arguments. And because you put these arguments inside of unsupported block "map" all of them ignored.

You don't need dynamic blocks here at all, for_each and lookup is enough for that:

resource "cloudflare_record" "record" {
  zone_id = var.zone_id

  for_each = var.dnssettings
  name    = each.value["name"]   # We don't use lookup here because we don't want to have default value for "name"
  type    = lookup(each.value, "type", "A")
  value  = lookup(each.value, "value", null)
  ttl     = lookup(each.value, "ttl", 1)
  data    = lookup(each.value, "data", null)
  proxied = lookup(each.value, "proxied", false)
}

dnssettings  = {
    test = {
        name = "test"
        domains_ip = "<IP_ADDRESS>"
        domains_types = "A"
     }
  }
  {
    test2 = {
        name = "test2"
        domains_ip = "<IP_ADDRESS>"
        domains_types = "A"
        proxied = true
    }
}

Something like that. I didn't test it, this like idea.

@Nmishin thanks for the speedy response,  I like the for each approach that you have mentioned here, I'll definitely give this a try

@Nmishin
Getting a few errors with this technique mainly
Error: either 'value' (present: false) or 'data' (present: false) must be provided

  on main.tf line 15, in resource "cloudflare_record" "record":
  15: resource "cloudflare_record" "record" {

which I find odd given the nested map data structure
so in terraform.tfvars the data is formatted to
dnssettings  = {
    test = {
        "name" = "test"
        "domains_ip" = "<IP_ADDRESS>"
        "domains_types" = "A"
     }

    test2 = {
        name = "test2"
        domains_ip = "<IP_ADDRESS>"
        domains_types = "A"
        proxied = true
    }
}

in vars.tf
variable "dnssettings" {
}

any help greatly appreciated, also what is the data in the foreach for, can't seem to find any documentation on it?

@Nmishin
Getting a very interesting error with the method i belive this is an error in the provider but thought to post here just in case I have made an syntactical error
upon terraform apply
cloudflare_record.record["test"]: Creating...
cloudflare_record.record["test2"]: Creating...
cloudflare_record.record["test"]: Creation complete after 2s [id=567144cd828c7ea83e589165dd92e610]

Error: failed to create DNS record: error from makeRequest: HTTP status 400: content "{\"result\":null,\"success\"                                                                                :false,\"errors\":[{\"code\":1004,\"message\":\"DNS Validation Error\",\"error_chain\":[{\"code\":9004,\"message\"                                                                                :\"This record type cannot be proxied.\"}]}],\"messages\":[]}"

  on main.tf line 15, in resource "cloudflare_record" "record":
  15: resource "cloudflare_record" "record" {

which I find odd given the nested map data structure
so in terraform.tfvars the data is formatted to
dnssettings  = {
    test = {
        name = "test"
        value = "<IP_ADDRESS>"
        type = "A"
     }

    test2 = {
        name = "test2"
        value = "<IP_ADDRESS>"
        type = "A"
        proxied = true
    }
}

in vars.tf
variable "dnssettings" {
}

in main.tf
resource "cloudflare_record" "record" {
  zone_id = var.zone_id

  for_each = var.dnssettings
  name    = each.value["name"]   # We don't use lookup here because we don't want to have default value for "name"
  type    = lookup(each.value, "type", "A")
  value  = lookup(each.value, "value", null)
  ttl     = lookup(each.value, "ttl", 1)
  data    = lookup(each.value, "data", null)
  proxied = lookup(each.value, "proxied", false)
}

from the TRACE level logs
2021-04-28T19:41:55.981Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 2021/04/28 19:41:55 [DEBUG] Data fo                                                                                und in config: map[string]interface {}{}
2021/04/28 19:41:55 [WARN] Provider "registry.terraform.io/cloudflare/cloudflare" produced an unexpected new value                                                                                for cloudflare_record.record["test"], but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .priority: was null, but now cty.NumberIntVal(0)
2021/04/28 19:41:55 [TRACE] EvalWriteState: recording 0 dependencies for cloudflare_record.record["test"]
2021/04/28 19:41:55 [TRACE] EvalWriteState: writing current state object for cloudflare_record.record["test"]
2021/04/28 19:41:55 [TRACE] EvalWriteState: recording 0 dependencies for cloudflare_record.record["test"]
2021/04/28 19:41:55 [TRACE] EvalWriteState: writing current state object for cloudflare_record.record["test"]
2021/04/28 19:41:55 [TRACE] statemgr.Filesystem: creating backup snapshot at terraform.tfstate.backup
2021/04/28 19:41:55 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to                                                                                2
2021/04/28 19:41:55 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021/04/28 19:41:56 [TRACE] vertex "cloudflare_record.record[\"test\"]": visit complete
2021/04/28 19:41:56 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2021/04/28 19:41:56 [TRACE] dag/walk: upstream of "provider[\"registry.terraform.io/cloudflare/cloudflare\"] (clos                                                                                e)" errored, so skipping
2021/04/28 19:41:56 [TRACE] dag/walk: upstream of "root" errored, so skipping
2021/04/28 19:41:56 [TRACE] statemgr.Filesystem: have already backed up original terraform.tfstate to terraform.tf                                                                                state.backup on a previous write
2021/04/28 19:41:56 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to                                                                                3
2021/04/28 19:41:56 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021/04/28 19:41:56 [TRACE] statemgr.Filesystem: removing lock metadata file .terraform.tfstate.lock.info
2021/04/28 19:41:56 [TRACE] statemgr.Filesystem: unlocking terraform.tfstate using fcntl flock
2021-04-28T19:41:56.114Z [WARN]  plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailabl                                                                                e desc = transport is closing"
2021-04-28T19:41:56.116Z [DEBUG] plugin: plugin process exited: path=.terraform/providers/registry.terraform.io/cl                                                                                oudflare/cloudflare/2.18.0/linux_amd64/terraform-provider-cloudflare_v2.18.0 pid=508875
2021-04-28T19:41:56.116Z [DEBUG] plugin: plugin exited

second attempt as terraform taints resources which has not been created created, unless provisioner
2021/04/28 19:52:31 [TRACE] EvalMaybeTainted: cloudflare_record.record["test2"] encountered an error during creation, so it is now marked as tainted
2021/04/28 19:52:31 [TRACE] EvalWriteState: removing state object for cloudflare_record.record["test2"]
2021/04/28 19:52:31 [TRACE] EvalApplyProvisioners: cloudflare_record.record["test2"] has no state, so skipping provisioners
2021/04/28 19:52:31 [TRACE] EvalMaybeTainted: cloudflare_record.record["test2"] encountered an error during creation, so it is now marked as tainted
2021/04/28 19:52:31 [TRACE] EvalWriteState: removing state object for cloudflare_record.record["test2"]
2021/04/28 19:52:31 [TRACE] vertex "cloudflare_record.record[\"test2\"]": visit complete
2021/04/28 19:52:31 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2021/04/28 19:52:31 [TRACE] dag/walk: upstream of "provider[\"registry.terraform.io/cloudflare/cloudflare\"] (close)" errored, so skipping
2021/04/28 19:52:31 [TRACE] dag/walk: upstream of "root" errored, so skipping
2021/04/28 19:52:31 [TRACE] statemgr.Filesystem: creating backup snapshot at terraform.tfstate.backup
2021/04/28 19:52:31 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to 4
2021/04/28 19:52:31 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021/04/28 19:52:31 [TRACE] statemgr.Filesystem: removing lock metadata file .terraform.tfstate.lock.info
2021/04/28 19:52:31 [TRACE] statemgr.Filesystem: unlocking terraform.tfstate using fcntl flock
2021-04-28T19:52:31.954Z [WARN]  plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021-04-28T19:52:31.956Z [DEBUG] plugin: plugin process exited: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/2.18.0/linux_amd64/terraform-provider-cloudflare_v2.18.0 pid=509048
2021-04-28T19:52:31.956Z [DEBUG] plugin: plugin exited

any help greatly appreciated, also what is the data in the foreach for, can't seem to find any documentation on it?

In general - if you see some strange errors, try to do the same via UI
In that case, you can't create a proxied A record with the private IP address.

I'm running into a similar issue - I'm trying to associate a DNS record for each of my servers -
resource "cloudflare_record" "nodes" {
  for_each = var.nodes
  zone_id  = var.zone_id
  type     = "A"
  name     = each.value.name
  value    = each.value.ip
  proxied  = true
}

Where var.nodes is the output of another module
output "nodes" {
  value = [
    {
      name = "alpha"
      ip   = digitalocean_droplet.node-alpha.ipv4_address
    }
  ]
}

Is this something that's not possible?

I also can't use dynamic blocks in cloudfare_records either
resource "cloudflare_record" "txt" {
  count = length(var.txt_records)
  zone_id = var.txt_records[count.index].zone_id
  name =  var.txt_records[count.index].each.key
  type = "TXT"
  ttl = 60
  allow_overwrite = true
  dynamic "record" {
    for_each = var.txt_records[count.index].records
    content {
      value = record.value
    }
  }
}

│ Error: Unsupported block type
│
│   on ..\modules\cloudflare-dns-records\cloudflare-zone-records\records.tf line 11, in resource "cloudflare_record" "txt":
│   11:   dynamic "record" {
│
│ Blocks of type "record" are not expected here.

The below works for me
resource "cloudflare_record" "txt" {
    for_each = var.txt_records
    zone_id = var.zone_id
    name = each.value["level"]
    type = "TXT"
    ttl  = 60
    value = each.value["record"]
    allow_overwrite = true
}

# put dns records here
records = {
  "domain.com" = {
    "TXT" = {
    record_1 : {
      record = "123"
      level = "@"
    }
    record_2: {
      record = "234"
      level = "@"
    }
    spf : {
      record = "v=spf1 include:_spf.google.com -all"
      level = "@"
    }
    dmarc : {
      record = "v=DMARC1; p=reject;"
      level = "_dmarc"
    }
  }
  }
}

I was facing the same issue, got mine working with the following setup:
main.tf:
locals {
  my_server_ip         = lookup(var.servers, "server_1")
  domain   = lookup(var.domains, "mydomain")
}

module "cloudflare_zone" {
  source      = "./modules/cloudflare_zone"
  domain_name = local.domain
  records = {
    A : {
      "something" : {
        /** Supported options:
         *
         * value: <IP_ADDRESS>            # Required
         * priority: 2               # Optional, default null
         * proxied: false | true     # Optional, default true
         * ttl: 1200                 # Optional, default 1 (must be 1 if proxied = true)
         **/
        value : local.my_server_ip
      }
      "whatever" : {
        value : local.my_server_ip
      }
    }
    CNAME : {
      "default._domainkey" : {
        value : "default._domainkey.${local.domain}"
      }
    }
  }

  records_with_data = {
    CAA : {
      (local.domain): {
        proxied : false
        data : {
          flags = 0
          tag   = "issuewild"
          value = "letsencrypt.org"
        }
      }
      (local.domain) : {
        proxied : false
        data : {
          flags = 0
          tag   = "issuewild"
          value = "letsencrypt.org"
        }
      }
    }
  }
}

./modules/cloudflare_zone/variables.tf:
variable "domain_name" {
  type        = string
  description = "Domain name associated with a Cloudflare zone."
}

variable "records" {
  type        = map(any)
  default     = {}
  nullable    = false
  description = <<-DOC
    DNS records. Specified as a nested map with the following structure:

    ```
    A: {
      "example" : {
        value : "<IP_ADDRESS>"
        ttl: 42        # Optional, TTL of the record. Defaults to 3600.
        priority: null # Optional, priority of the record. Defaults to null.
        proxied: false # Optional, the record gets Cloudflare's origin protection. Defaults to true.
      }
    }
    CNAME: {
      "default._domainkey" : {
        value : "default._domainkey.whatever"
      }
    }
    ```
  DOC
}

variable "records_with_data" {
  type        = map(any)
  default     = {}
  nullable    = false
  description = <<-DOC
    DNS records with data. Specified as a nested map with the following structure:

    ```
    CAA : {
      "mydomain.org" : {
        proxied : false
        data : {
          flags = 0
          tag   = "issuewild"
          value = "letsencrypt.org"
        }
      }
    }
    ```
  DOC
}

./modules/cloudflare_zone/main.tf:
locals {
  zone_id = data.cloudflare_zone.default.id
  records_transformed = flatten([
    # Must use merge, otherwise we get the error "all map elements must have the same type"
    for type, record in merge(var.records, var.records_with_data) : [
      for name, value in record : [
        {
          name     = name
          type     = type
          value    = lookup(value, "value", null)
          priority = lookup(value, "priority", null)
          proxied  = lookup(value, "proxied", true)
          ttl      = lookup(value, "ttl", 1) # Must be one if proxied = true
          data     = lookup(value, "data", null)
        }
      ]
    ]
  ])
  records = {
    for index, record in local.records_transformed :
    try(record.key, format("%s-%s", record.name, record.type)) => record
  }
}

resource "cloudflare_record" "default" {
  for_each = local.records

  zone_id  = local.zone_id
  name     = each.value.name
  type     = each.value.type
  value    = each.value.value
  priority = each.value.priority
  proxied  = each.value.proxied
  ttl      = each.value.ttl
}

resource "cloudflare_record" "with_data" {
  for_each = { for key, val in local.records : key => val if val.data != null }

  zone_id = local.zone_id
  name    = each.value.name
  type    = each.value.type
  proxied = each.value.proxied

  dynamic "data" {
    for_each = [true]
    content {
      flags = each.value.data["flags"]
      tag   = each.value.data["tag"]
      value = each.value.data["value"]
    }
  }
}


Add test language.

Right, I think I see what's happened. On validatorjs 2.0.5, my method in the docs worked for setting the language worked. This kind of thing:
function (validator) {
	validator.lang = 'ru';
}

Because of the update to 3.9 in master now, that no longer works. But because this is a change to API of validatorjs, I don't think the way you've done it to support the old method is the right way. If users check the documentation of validatorjs to see what methods or attributes to set in the callback, they won't see this method listed.
Instead it looks like the proper way to do it in validatorjs is this way:
Validator.useLang('es');

It doesn't look like you can set the language on a specific validator instance anymore as it's a static method so I might just update the documentation to reflect that although that is going slightly into documenting validatorjs which I don't really want to do. The language example for the callback was only ever intended as an example to show how the instance could be manipulated after creation.

Yes, I agree that to call the prototype method in instance is wrong.
This leads to a mess in the operation.
But it is important to give a chance to change the language from English to any other language.
My question is what is the best way to do it? Maybe we can do it like this: strategy.setDefaultLang('ru'); ?


Handle RHEL 8 vs 9 for oc

Need RHEL version detection for compatibility, otherwise errors like these occur:
oc: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by oc)
oc: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by oc)
oc: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by oc)

Related to:

https://github.com/stolostron/image-builder/pull/139

/assign macdonem


Show callout as default

I am not sure if this is really an issue or a guide that I missed out or something not implemented yet. I am trying to set the callout visible always specially on component render.  I can not find any function or parameter that handles this feature. Is this possible in the current release? Thanks

I do this:
setMarkerRef = (ref) => {
  this.marker = ref
}
…

<MapView
  …
  onRegionChangeComplete={null /*() => this.marker.showCallout()*/}
>
  <MapView.Marker
    …
    ref={this.setMarkerRef}
  />
</MapView>

However I am looking for a more clean solution.

@viktorsec You can set the marker ref in the same line if you want, which reduces some of the code:
<MapView.Marker
  ...
  ref={marker => (this.marker = marker) />

Hi, sorry for the late response, I tried both ways; however, it is not working . . When I call this.marker.showCallout() it gives me the error saying:

this.marker.showCallout is not a function

When I tried to console.log()  the this.marker it gives me these function / props.

You see there is a MapCallout type as function, I am not sure if that is the one that needs to be triggered. Please advise thank you.

@viktorsec , i would recommend setting a flag for showCallout because i get some weird flickering because of the continuous bubble rendering on map scroll.

renderCallout() {
if(this.state.calloutIsRendered === true) return;
this.setState({calloutIsRendered: true});
this.marker.showCallout();
}

<MapView
initialRegion={region}
onRegionChangeComplete={() => this.renderCallout()}

                    <MapView.Marker
                        ref={marker => (this.marker = marker)}

...

Duplicate of #275

How can this be achieved using the React.UseRef() hook

@stevematdavies
import React, {useRef} from 'react';
import MapView from 'react-native-maps';

export default props => {
  const markerRef = useRef(null);

  const onRegionChangeComplete = () => {
    if (markerRef && markerRef.current && markerRef.current.showCallout) {
      markerRef.current.showCallout();
    }
  };

  return (
      <MapView onRegionChangeComplete={onRegionChangeComplete}>
        <MapView.Marker ref={this.markerRef}/>
      </MapView>
  );
};

I do this:
setMarkerRef = (ref) => {
  this.marker = ref
}
…

<MapView
  …
  onRegionChangeComplete={() => this.marker.showCallout()}
>
  <MapView.Marker
    …
    ref={this.setMarkerRef}
  />
</MapView>

However I am looking for a cleaner solution.

But this opens only one marker callout when implemented.

How to open all callouts on the map? Not the only one.

How to open all callouts on the map? Not the only one.

This is not working unexpectedly, i update redux the region on onRegionComplete so i am sure each marker have individual ref:
const NearbyMarker = ({ coords, name, logo }: NearbyMarkerPropsTyps) => {
  const { nearbyRegion } = useSelector(({ explore }: AppStateType) => explore);

  const markerRef = useRef<Marker>(null);

  useEffect(() => {
    if (markerRef && markerRef.current && markerRef.current.showCallout) {
      markerRef.current.showCallout();
    }
  }, [nearbyRegion]);

  const coordinate = {
    latitude: coords[0],
    longitude: coords[1],
  };

  return (
    <Marker {...{ ref: markerRef, coordinate }}>
      <Callout tooltip>
        <MerchantMarkerContainer>
          <MerchantMarkerTitle>{name}</MerchantMarkerTitle>
          {Platform.OS === 'ios' ? (
            <FastImage
              {...{
                style: styles.image,
                source: {
                  uri: `https://s3.us-east-2.amazonaws.com/uploads.ryzecard.com/media/${logo}`,
                  priority: FastImage.priority.normal,
                  cache: FastImage.cacheControl.web,
                  headers: {
                    'Content-Type': 'image/png',
                    Host: 's3.us-east-2.amazonaws.com',
                    Accept: '*/*',
                  },
                },
                resizeMode: FastImage.resizeMode.cover,
              }}
            />
          ) : (
            <WebView
              {...{
                style: styles.image,
                source: {
                  uri: `https://s3.us-east-2.amazonaws.com/uploads.ryzecard.com/media/${logo}`,
                },
              }}
            />
          )}
        </MerchantMarkerContainer>
        <MerchantMarkerArrowBorder />
        <MerchantMarkerArrow />
      </Callout>
    </Marker>
  );
};

How to open all callouts on the map? Not the only one.

@herenickname Did you made it?


Support parameterization of handling nullable fields

Issue #183 in json-schema-validator addresses the handling of nullable fields.
A configuration change in SchemaValidatorsConfig allows this behaviour to be controlled using flags.
The openapi-validator.yml should allow the setting of the handleNullableFieldin a flexible manner

 Support parameterization of handling nullable fields 1.6.x

 Support parameterization of handling nullable fields master


Do not pass Chart version to deployment selectors

Summary

Currently, the Chart version is passed to the value of one of the selector labels.
The selector, however, is immutable therefore any bump to the chart version makes it impossible to upgrade the chart with helm upgrade.
This PR removes the helm.sh/chart label from selector to fix this issue.
Ticket Link

https://mattermost.atlassian.net/browse/MM-41087

did you test the upgrade? To check if nothing will be lost?

As mentioned in the description upgrades do not work right now because of the selector, so for this change, you cannot upgrade either (deployment need to be manually deleted).
This PR should fix upgrades going forward.


[Bug] Keyerror 'clcikhouse'

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
While Running dbtRunner with different commands it throws error Keyerror 'clickhouse'
Expected Behavior
It should run all commands in parallel
Steps To Reproduce
Run dbtRunner for different commands multiple time in parallel with clickhouse
Relevant log output
{"data": {"stack_trace": "Traceback (most recent call last):\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 91, in wrapper\n    result, success = func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 76, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 169, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 198, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 245, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 271, in wrapper\n    ctx.obj[\"manifest\"] = parse_manifest(\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 1797, in parse_manifest\n    manifest = ManifestLoader.get_full_manifest(\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 318, in get_full_manifest\n    manifest = loader.load()\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 443, in load\n    self.load_and_parse_macros(project_parser_files)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 633, in load_and_parse_macros\n    self.macro_depends_on()\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 722, in macro_depends_on\n    adapter = get_adapter(self.root_project)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/adapters/factory.py\", line 180, in get_adapter\n    return FACTORY.lookup_adapter(config.credentials.type)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/adapters/factory.py\", line 109, in lookup_adapter\n    return self.adapters[adapter_name]\nKeyError: 'clickhouse'\n"}, "info": {"category": "", "code": "Z003", "extra": {}, "invocation_id": "b0b5eb4f-660a-4df2-beee-5ddc6a24eda3", "level": "error", "msg": "Traceback (most recent call last):\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 91, in wrapper\n    result, success = func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 76, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 169, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 198, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 245, in wrapper\n    return func(*args, **kwargs)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/cli/requires.py\", line 271, in wrapper\n    ctx.obj[\"manifest\"] = parse_manifest(\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 1797, in parse_manifest\n    manifest = ManifestLoader.get_full_manifest(\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 318, in get_full_manifest\n    manifest = loader.load()\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 443, in load\n    self.load_and_parse_macros(project_parser_files)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 633, in load_and_parse_macros\n    self.macro_depends_on()\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/parser/manifest.py\", line 722, in macro_depends_on\n    adapter = get_adapter(self.root_project)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/adapters/factory.py\", line 180, in get_adapter\n    return FACTORY.lookup_adapter(config.credentials.type)\n  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/adapters/factory.py\", line 109, in lookup_adapter\n    return self.adapters[adapter_name]\nKeyError: 'clickhouse'\n", "name": "MainStackTrace", "pid": 46652, "thread": "Thread-2111", "ts": "2024-02-20T07:52:57.348193Z"}}

### Environment

```markdown
- OS: MacOS
- Python: 3.9
- dbt: 1.7

Which database adapter are you using with dbt?
other (mention it in "Additional Context")
Additional Context
Clickhouse

@hash-data Running multiple dbt-core invocations in parallel, within the same process, is not officially supported. The error you're seeing is because the adapter is a global object, for use in caching / connection sharing across threads. Two dbt-coreinvocations are trying to clear & access the adapter at the same time, leading to this KeyError:
  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/adapters/factory.py\", line 180, in get_adapter
    return FACTORY.lookup_adapter(config.credentials.type)
  File \"/Users/apple/Desktop/Datazip/bi/venvdbt/lib/python3.9/site-packages/dbt/adapters/factory.py\", line 109, in lookup_adapter
    return self.adapters[adapter_name]
KeyError: 'clickhouse'

You can run these invocations in separate processes (using spawn, celery, etc) — but I'd also ask, what is your need for concurrency? dbt-core has a concurrency model in the form of threads, for executing multiple DAG nodes simultaneously, and this can (with a bit of creativity) account for many use cases.
I've opened an issue to update our documentation with this clarification:

https://github.com/dbt-labs/docs.getdbt.com/issues/4952

Hi @jtcohen6  looking forward to it.


Power App - Model Driven Fx Formula

There really needs to be an entire page dedicated to the Power Apps - Model Driven formula, because almost half of these formula do not work in the Model Driven. These Fx formula I think mostly apply to Canvas Apps. Especially working with dates, there alot of unnecessary work around formula required like DateAdd(field,0), just to work with dates.

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

ID: 12c38410-f1fd-bc83-7e39-1033c166770e
Version Independent ID: 12c38410-f1fd-bc83-7e39-1033c166770e
Content: Text function - Power Platform
Content Source: power-platform/power-fx/reference/function-text.md
Service: power-platform
Sub-service: power-fx
GitHub Login: @gregli-msft
Microsoft Alias: gregli

Thanks for your comment, @jsdanie1. This issue has been assigned to the doc author for review.


Broken urls

the urls under REST API are broken.

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

ID: 39662d32-ec4d-7826-37b9-6bc76b70fe2b
Version Independent ID: c83e4c16-0add-2271-94be-572a360350d2
Content: Linux VM sizes in Azure
Content Source: articles/virtual-machines/linux/sizes.md
Service: virtual-machines-linux
GitHub Login: @cynthn
Microsoft Alias: jonbeck

Thanks for the feedback! We are currently investigating and will update you shortly.

assign to author

@vhothur thank you for the contribution! They were broken on both the Linux and Windows pages. I have filed PRs to fix both topics. Thanks for catching that :)
#please-close

@vhothur
Thanks for bringing this to our attention. We will now close this issue. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.