Added Support for Events on Audio Play Completion

Implements enhancement #116

Hi @CameronVetter, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@CameronVetter, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

Looks good to me. @joekellyms any comments on this PR?

This is great! I just have a couple of small suggestions:

I think the name "messageToSend" is a little unclear/misleading. It should probably denote being something that happens when the sound completes, and also the fact that it's another event - not to be confused with another type of "message". So maybe something like "completionEvent"?
Calling this event might be best done inside of the RemoveEventInstance function. That way, it can also be sent when you stop an event - like a looping sound, for instance.

Thoughts?

Those are both good points

I changed the property name to "MessageOnAudioEnd"
You are right this does belong in RemoveEventInstance, good catch.

I've updated the PR to reflect both changes.

Regarding the use of UnityEvent, what about having both options?

I'm down to pull this in, anything holding us back still @NeerajW?

Is there anything I can do to help get this merged in?

I have made a different solution:
StartCoroutine(PlaySoundWithCallback());
` IEnumerator PlaySoundWithCallback()
{
    UAudioManager.Instance.PlayEvent("_Welcome", audioSource);
    yield return new WaitForSeconds(audioSource.clip.length);
    //do something

}`

@ChangweiZhang Unfortunately that doesn't work in all cases.  If something else cancels the playing of the sound prior to its completion, the event will not go off right away.  Also if the UAudioManager contains a delay prior to the sound being played or multiple sounds played in sequence this will not work.


Changes required to get this working in my env

Docker build fixes

Got "dest dir must end with a /" error on line 3
Copying of Grafana key didn't work (no instructions to get the key)

Fixed entrypoint script to get grafana api key working

Existing version gave:
/performance-test/exec/performance-test-entrypoint.sh: line 18: /performance-test/grafana/apikey: Permission denied
New version uses /tmp directory

Fixed job and pod names in tests/performance-test/deploy/README.md

Just a doc bug
Also fixed whitespace in line endings

Added a gitignore for the hosts config

Removed the existing file because it gets generated at runtime

Testing
I ran the instructions provided and ended up with a Completed job and two dashboards to look at.


Push 1.0.2 to CocoaPods Trunk

Hey there! I noticed after @mdiep bumped the podspec to 1.0.2, it didn't get pushed to trunk. Would someone be able to do that? Then we can push ReactiveCocoa 4.0.1.

:+1:

@ashfurrow: :+1:
I don’t really follow the cocoapods stuff & don’t have the bandwidth to jump into it at the moment, but I’ve invited you to the team so you can do that directly if you’d like. Don’t sweat it if you don’t have the bandwidth either; empowerment, rather than obligation :smile:

https://github.com/CocoaPods/Specs/commit/c3d5bcd2eeea1e7d3154d3e773328aadd95ae80d

:bow: thanks @kylef!

Super, thanks! It looks like the team is doing a good job with the podspec, it just needed to be pushed. I'm happy to help out. @kylef would you add me as an owner to the pod on Trunk?


Include version information in init flow wizard output

It would be helpful to by default include the version string in the wizard output all the time to save support all the questions about version.

I agree. Right now, I need to ask for this information in a follow-up question every time.

Internal note: re-discuss this from product perspective

prisma2 -v is fine


Populate a list of WeaponHash(es) from memory during startup

I know that is possible to get the Vehicle, Ped and Weapon Model hashes, but I would really like to a list of weapon from memory.
You might be thinking, why? The WeaponHash enum not always contains all of the weapons after an update (see #945) and not being a good solution for addon weapons.
In other words, instead of having to do something like:
(WeaponHash[])Enum.GetValues(typeof(WeaponHash));  // Only the weapons in the Enum

Have a solution like this:
Weapon.GetAllHashes();  // From memory, including those not present in the Enum

alloc8or said like this in 5Mods Discord

weapon hashes are stored in CWeaponInfo (at 0x10)
so, uh, one method would be to simply access the $rage::atArray<CWeaponInfo*> at 48 8B 05 ? ? ? ? 41 8B 1E
The array contains CWeaponInfo and CAmmoInfo elements.
The elements of the array is sorted in as sending order of name hash (natives that uses weapon hashes use the trick).
The problem is, how can we skip CAmmoInfo so we can create an array that only contains weapon hashes?


Proposal: Be able to customize the Icon area without being limited by IconSource.

The graphic content to appear alongside the title and message in the InfoBar is customizable but only with IconSource type. It would be great to be able to put any kind of control in here: such as a ProgressRing for example.

You can put any content, like the sample in the doc : InfoBar - Custom content

@castorix , the custom content will appear bellow whereas I'd like to update the left part and replace the Icon by something else than an IconSource. Customization: Background color and icon


More stable node loading

Q
A

Type
bug

BC Break
no

Fixed issues

Summary
More info, see:

https://github.com/saloonphp/xml-wrangler/pull/13
https://github.com/php/php-src/issues/12616

This PR improves node imports by mapping the node to an XML string and reimporting that XML.
The old system that was using the xml_node_loader can result in faulty prefixes if XMLNS namespaces were removed in the source node. This is something that should be fixed in php-src. In the meantime, the improved node loader will resolve the issue as well.
Example:
$doc = Document::fromXmlString(
    <<<XML
    <container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
      <services>
        <service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>
        <service id="kernel" class="TicketSwap\Kernel" public="true" synthetic="true" autoconfigure="true">
          <tag xmlns="http://symfony.com/schema/dic/tag-1" name="controller.service_arguments">1</tag>
          <tag xmlns="http://symfony.com/schema/dic/tag-2"  name="routing.route_loader">2</tag>
        </service>
      </services>
    </container>
    XML,
    traverse(RemoveNamespaces::unprefixed())
);
echo $doc->toXmlString();

$xpath = $doc->xpath();
$res = $xpath->query('/container/services/service');
$node = $res->item(0);

// --> This is what happens internally in `element_decode()`
$doc = Document::fromXmlNode($node);
var_dump($doc->toXmlString());

Will result in the expected:
<?xml version="1.0"?>
<service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>

Instead of the unexpexted and invalid:
<?xml version="1.0"?>
<default:service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>

/cc @Sammyjo20 This should resolve your toXml/fromXML hack ;)

Wooo amazing work @veewee thank you!


Add job type to elasticsearch logs

When debugging it would be ideal to have the job_type id associated with logs in elasticsearch to help pinpoint potential errors.

Job and JobType models can be found in scale/job/models.py

The JobType.id needs to be added as a tag where Docker parameters are applied in job/configuration/configurators.py under _configure_all_tasks.py roughly around line 285
Build of scale image and push to personal Docker Hub account.
Deploy into cluster and once all green, change scale-logstash service in Marathon to set LOGSTASH_DEBUG to true. This will redeploy the logstash service and the messages received can be seen in the STDOUT logs.
Once verified tags applied from step 1 are arriving, identify updates needed to the logstash config to extract JobType IDs.
The logging forwarder is responsible for pulling the data applied to the tags on the Docker container. This can be found in the dockerfiles/logstash/logstash.conf-template file.
The Logstash config can be quickly iterated on by using the TEMPLATE_URI environment variable to scale-logstash service. Hosting on https://gist.github.com is likely the quickest way to make that public accessible.


Get rid of SQLALCHEMY_TRACK_MODIFICATIONS warnings

Get rid of SQLALCHEMY_TRACK_MODIFICATIONS warnings by setting Flask's app.config sooner.
Fixes #703

looks good. +1


DR - VPC Cidr changes

User Story
Linked to this story - https://github.com/ministryofjustice/modernisation-platform/issues/5501
As a mod platform  devops engineer
I expect region specific infrastructure to be able to be replicated to another region (VPC changes in this case)
So that in case of DR, we have what is required to rebuild the platform.
Value / Purpose
This is required as the first step to being DR capable across regions.
Useful Contacts
No response
Additional Information
We will need at least two cidr ranges one for the production vpc for the new region and one for the inspection route
This may already be happening, but please check the following

The infrastructure is replicating in another region
That the region can easily be changed
Document how often this happens and the process it follows for replication.

Proposal / Unknowns
It may already be happening, but the process now fully understood. This process may need to change to allow the region to be changed easily.
Definition of Done

[ ] Documentation has been written / updated
[ ] VPC changes have been made to work with eu-west-1
[ ] Eu-west-1 changed to another region, and tested

Closing - No longer needed


Unnecessary URLs in 'Helpful Links' - 671

Description of PR
Removed the URL's from the Helpful links and add the navigation link to the text.
Type of PR
Not a bug, an enhancement.

[x] Bugfix
[x] New feature

Relevant Issues
Fixes #671
https://github.com/covid19india/covid19india-react/issues/671
Checklist

[x] Compiles and passes lint tests
[x] Properly formatted
[x] Tested on desktop
[x] Tested on phone

Screenshots

Please refer to the comment in the issue :)


Time based code execution possible?

Operating system: Raspbian Stretch
Pi model: Pi Zero W
GPIO Zero version: latest
I like the possibilities of TimeOfDay. This is for doing things BETWEEN two dates.
Is there a similar solution to achieve a code execution AT a specific point in time?
And a similar solution to do something on a regular basis in  a specific time INTERVALL?
Something like:
TimeInterval(time(8, 45), 5, 12)

for starting at 8:45 every 5 minutes for 12 times.
TimeInterval(time(8, 45), 5, 0)

for doing it endless every 5 minutes
TimeInterval(time(8, 45), 0, 1)

for doing it once
Sure, I could achieve this with a proper cron entry but I was wondering if I could do it programmatically with GPIO Zero.
Thanks!

There could be. There's an outstanding issue with TimeOfDay which if fixed, would allow this.
With input devices, you have four options for reading it: polling (if btn.is_pressed), blocking (btn.wait_for_press()), callback (btn.when_pressed = x) and delcarative (x.source = btn).
With internal devices, when_activated and when_deactivated properties exist, but they're not implemented. The same goes for wait_for_activated - it just won't work.
So in theory, you can use:
from gpiozero import TimeOfDay
from datetime import time

tod = TimeOfDay(time(8, 45))

tod.when_activated = lambda: print("activated")

See issue #393

Thanks for pointing out. I'll wait for the fix. :-)


KAFKA-4920: Stamped implements equals

This is contributed by @backender.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Closing this as I think keeping the findbug suppressing make more sense after second thought.


Сategory cards improvements

won't work until merge fix #195

@SunsetTechuila it's all good.
thanks for your scarification.
done with ❤


fix(deps): update dependency puppeteer to v3.0.2

This PR contains the following updates:

Package
Type
Update
Change

puppeteer
dependencies
patch
3.0.1 -> 3.0.2

Release Notes

puppeteer/puppeteer
v3.0.2
Compare Source
Highlights

uploadFile now throws for non-existent files (#5733)
Puppeteer currently fails to extract Chromium when installing on Node 14 (see tracking bug: #5719). We now detect if you're on Node 14 and log a helpful error (#5732).

Behind the scenes

Many more files have been migrated to TypeScript and we're continuing with the goal of the src directory being 100% TypeScript.

Raw notes
4e8f091 - chore: mark version v3.0.2
3911836 - chore: small CI tidy ups (#5751)
5e2a029 - chore: use Node's promisify function (#5748)
1b9d9e9 - chore: log useful error for Node v14 breakage (#5732)
a7d2485 - chore: split out CI into unit tests + extra checks (#5749)
3ed2f6b - chore: remove puppeteer-web (#5750)
1358b45 - chore: migrate src/LifecycleWatcher (#5734)
79e82e5 - fix: make uploadFile throw for non-existent files (#5733)
1a4e260 - chore: migrate src/BrowserFetcher to TypeScript (#5727)
8509f46 - chore: migrate src/Accessibility to TypeScript (#5726)
930cc32 - chore: migrate src/Errors to TypeScript (#5725)
30aff82 - chore: migrate src/Events to TypeScript (#5724)
1823828 - chore: migrate src/Tracing to TypeScript (#5723)
3050196 - fix: update clipboard read write permissions after upstream change (#5721)
0731049 - chore: update pngjs to 5.0.0 and jpeg-js to 0.3.7 (#5676)
ddb8ba1 - chore: tidy up and de-duplicate Travis CI config (#5716)
9d297f0 - chore: bump version to 3.0.1-post (#5717)
be8f8a2 - chore: add macOS to Travis CI (#5708)
133abb0 - chore: migrate src/Input to typescript (#5710)
11bc5a6 - chore: migrate src/Worker to typescript (#5715)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

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

v5.0.40
GitHub release

Your semantic-release bot :package::rocket:


Do not blindly close message writer

Do not blindly close message writer as the writer returns an error if there is a smtp error after writing the message.

Thx for the review. Yea makes indeed sense. Added the defer again.

The PR triggers multiple Close() calls, one on defer and one after send. Was unsure how the writer handles multiple closes, so tested it. The second close throws the error 500 Unrecognised command instead of an "already closed", which seems unsafe.
This https://github.com/knadh/smtppool/commit/1572000540fa03c1d4d28b4f59c6a02199b5d193 fixes the issue you reported while avoiding multiple Closes() with a simple flag check.


⚠ SceneTime has degraded performance

In faa0cca, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 3756 ms

Resolved: SceneTime performance has improved in 2e4c0a6 after 1 hour, 26 minutes.


Add missing usings

We should also call this refactoring "add missing usings". I think that's how it's more popularly referenced now. We should also call out this works for multiple lines for large blocks of copy and pasted code, the missing references can be added all at once.

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

ID: 9e4d9b29-d1e3-1ef9-7169-28c098c56fac
Version Independent ID: 103bb41e-4db7-dc1f-84f0-560da4a53d0b
Content: Generate usings - Visual Studio
Content Source: docs/ide/reference/generate-usings.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @kendrahavens
Microsoft Alias: kehavens

@mikadumont

We don't have any other doc that mentions this right?


chore: Update development dependencies

Updated ESLint to the latest version. The old versions have a vulnerability: https://github.com/eslint/eslint/commit/f6901d0bcf6c918ac4e5c6c7c4bddeb2cb715c09
Additionally, this PR does the following things:

Update Babel to version 7
Drop support for Node.js v4
etc (see commits for the details)

Coverage decreased (-34.02%) to 65.979% when pulling 1c87bc45abf9eb3c38071bf94c46baa745912276 on update-dev-deps into 99d70474c4ec222c6eab6ceaac0886410dfe0dca on master.


Add basic latex support

Resolves GH-58:
Adds basic latex support
Images showing all the modules working below:

It now compiles and uses the correct version of verbatim.


token expired or invalid: 403

Vs Code Version: 1.88.1 (user setup)
Commit: e170252f762678dec6ca2cc69aba1570769a5d39
Date: 2024-04-10T17:41:02.734Z
Electron: 28.2.8
ElectronBuildId: 27744544
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Windows_NT x64 10.0.22631

Logs:
2024-04-13 01:01:33.985 [info] [githubTitleAndDescriptionProvider] Initializing GitHub PR title and description provider provider.
2024-04-13 01:01:33.994 [info] [auth] Got Copilot token for Arian8Ultra
2024-04-13 01:01:33.995 [info] [githubTitleAndDescriptionProvider] Successfully activated the GitHub.vscode-pull-request-github extension.
2024-04-13 01:01:33.995 [info] [githubTitleAndDescriptionProvider] Successfully registered GitHub PR title and description provider.
2024-04-13 01:26:34.012 [info] [auth] Logged in as Arian8Ultra
2024-04-13 01:26:34.724 [info] [chat] copilot token chat_enabled: true
2024-04-13 01:26:34.724 [info] [auth] Got Copilot token for Arian8Ultra
2024-04-13 01:51:34.736 [info] [auth] Logged in as Arian8Ultra
2024-04-13 01:51:35.412 [info] [chat] copilot token chat_enabled: true
2024-04-13 01:51:35.412 [info] [auth] Got Copilot token for Arian8Ultra
2024-04-13 02:16:35.421 [info] [auth] Logged in as Arian8Ultra
2024-04-13 02:16:36.101 [info] [chat] copilot token chat_enabled: true
2024-04-13 02:16:36.101 [info] [auth] Got Copilot token for Arian8Ultra
2024-04-13 02:28:56.328 [info] [chat fetch] url https://api.githubcopilot.com/chat/completions
2024-04-13 02:28:56.328 [info] [chat fetch] modelMaxPromptTokens 3072
2024-04-13 02:28:56.328 [info] [chat fetch] modelMaxResponseTokens 3574
2024-04-13 02:28:56.328 [info] [chat fetch] chat model gpt-4
2024-04-13 02:28:57.213 [info] [chat fetch] request.response: [https://api.githubcopilot.com/chat/completions], took 883 ms
2024-04-13 02:28:57.214 [info] [chat fetch] Request ID for failed request: ,4b5d0e6a-11bd-4fc3-bd89-3c24579df48f
2024-04-13 02:31:09.597 [info] [chat fetch] url https://api.githubcopilot.com/chat/completions
2024-04-13 02:31:09.597 [info] [chat fetch] modelMaxPromptTokens 3072
2024-04-13 02:31:09.597 [info] [chat fetch] modelMaxResponseTokens 4096
2024-04-13 02:31:09.597 [info] [chat fetch] chat model gpt-4
2024-04-13 02:31:09.608 [info] [auth] Logged in as Arian8Ultra
2024-04-13 02:31:10.587 [info] [chat] copilot token chat_enabled: true
2024-04-13 02:31:10.587 [info] [auth] Got Copilot token for Arian8Ultra
2024-04-13 02:31:11.490 [info] [chat fetch] request.response: [https://api.githubcopilot.com/chat/completions], took 901 ms
2024-04-13 02:31:11.490 [info] [chat fetch] Request ID for failed request: ,e102abe7-35b6-4cfd-9f9b-eff06817ab2a

I have university access for copilot and my copilot is working normally but the chat gives me 403

@Arian8Ultra Have you tried to sign in and out of VS Code?

SAme here, my github copilot and the chat do not work for me.

@nralibera Please include your logs. CMD / CTRL + SHIFT + U - > Copilot Chat. As well as the versions of VS Code and Copilot Chat and a screenshot

i have the same problem, my inline suggestion works but i can't use chat or any other commands like /explain ...
logs :
2024-05-03 22:22:11.023 [info] [fetcher] Using Helix fetcher, Electron fetcher is not available.
2024-05-03 22:22:11.023 [info] [code-referencing] Public code references are enabled.
2024-05-03 22:22:11.024 [info] [auth] Sucessfully authenticated
2024-05-03 22:24:02.480 [info] [fetchCompletions] request.response: [https://copilot-proxy.githubusercontent.com/v1/engines/copilot-codex/completions] took 1446 ms
2024-05-03 22:24:02.501 [info] [streamChoices] solution 2 returned. finish reason: [stop]
2024-05-03 22:24:02.504 [info] [streamChoices] solution 0 returned. finish reason: [stop]
2024-05-03 22:24:02.514 [info] [streamChoices] solution 1 returned. finish reason: [stop]
2024-05-03 22:24:02.515 [info] [streamChoices] request done: headerRequestId: [74f9f816-d557-429f-adf8-f950a8208fc6] model deployment ID: [y6953999e1f31]
2024-05-03 22:24:03.150 [info] [code-referencing] Calling Match
2024-05-03 22:24:03.267 [info] [ghostText] Filtered out solution matching next line
2024-05-03 22:24:04.226 [info] [code-referencing] No match found
2024-05-03 22:27:42.036 [info] [fetcher] Using Helix fetcher, Electron fetcher is not available.
2024-05-03 22:27:42.036 [info] [code-referencing] Public code references are enabled.
2024-05-03 22:31:03.211 [info] [fetchCompletions] request.response: [https://copilot-proxy.githubusercontent.com/v1/engines/copilot-codex/completions] took 1024 ms
2024-05-03 22:31:03.215 [info] [streamChoices] solution 0 returned. finish reason: [stop]
2024-05-03 22:31:03.216 [info] [streamChoices] solution 1 returned. finish reason: [stop]
2024-05-03 22:31:03.218 [info] [streamChoices] solution 2 returned. finish reason: [stop]
2024-05-03 22:31:03.218 [info] [streamChoices] request done: headerRequestId: [e6114599-e16e-45a6-9caf-f09270b17a78] model deployment ID: [y6953999e1f31]

have the same problem for a while but in VSCode only.

@lramos15 any updates on the issue ?

Consolidating to https://github.com/microsoft/vscode-copilot-release/issues/1188#issuecomment-2110032391
as there is more information there


Added back tiller namespace option for upgrade command. Now that main…

… branch is using Helm 2.2 this will work.

Any chance this PR can get merged?


Create github_skills

Summary

Changes

Closes:
Task list

[x] For workflow changes, I have verified the Actions workflows function as expected.
[x] For content changes, I have reviewed the style guide.

no comment


Refactor postMultiSigTxn to prevent user txn abandonment

Make users sign challenge string first- > send multisig transaction onchain -> post multisig transaction offchain

https://github.com/deep-ink-ventures/genesis-dao-frontend/pull/277

https://github.com/deep-ink-ventures/genesis-dao-frontend/pull/278 needs testing


Search - Prisoners

First, pass on the following pages
Global
Reordered primary nav to reflect most visited pages. Last month unique visits to each of the page were:

prisoners, 1038
senders, 567
credits, 416
disbursements, 116 (not available in all prisons)

Prisoners

removed links from tables with the exception of the view details link
increased the size of the search form label
increased the size of the search filed and simplified button layout
moved search again button to the bottom of the results page

currently thinking about duplicating this at the top too

added pagination to the page but it's not working yet
increased the font size of the table from 14 to 16

TODO

update pagination for results
make search terms bold

Playing with the order of content on the senders page

I like the search and the tabbed credits/disbursements and I remember positive comments on this from UR. Standardising 'view details' across the sections makes sense.
For the basic search, do we know for 'prisoners' that prisoner number and name is what is most commonly searched? I wondered how common it is for a user to search across prisons and whether it's the right decision to bury that in 'Advanced'? And there's no indication of the prison/prisons they're currently in, I thought we were going to show that as we do with the live version? I think we need that to orientate the user.
I'm not sure about changing 'payment source' to 'senders'. I understand the human side of it, everyone is a sender. And language wise, that feels to make sense at first. But as far as I'm aware, there's no UR insight to support this and I think it might be misleading. I think we should understand what language makes best sense before changing this.
The white tab in the top nav that highlights the section you're in is missing. Assume this is just because it's the prototype and it hasn't been removed?

@gavinwye @RoseFaulkner @janestead I've just performed a quick search from research transcripts and the term sender is more widely used by staff, in the same research reports there was no mention of payment sources. I didn't check prototype testing papers as people these could be biased by what people saw on the screen at the time. This quick search would suggest 'senders' is the term to use and not 'payment sources'. Here's some examples: https://docs.google.com/document/d/19CLkl-fvQ7Dh0Kifsqvp621adMtXgHAoRlckbrQcptE/edit

I've just added the results for payment sources in other prisons at the moment these display the 3 letter prison code but it would be better to display the full name but I'll have to update the json file to make this work.

In the 'Payment sources' the copy is:
Search payment source name or email address
Common or incomplete names may show many results
but in 'Prisoners' the copy is:
Search prisoner number or name
For example, name or 'A1234BC'
In 'Prisoners' shouldn't we also put in the copy 'Common or incomplete names may show many results'?

Hang on, I haven't looked at this in its overall state yet... I should probably check it all first! I did it in bits so haven't done overall check yet.


Csbiss 124 booking date info

@jerryfreshworks any ideas for how we can assign a type to row in our tables? I think we have to use generics in the tables/Base component

any ideas for how we can assign a type to row in our tables?

ah, sorry, just read this question...let me take a look.

@michel-fresh  please refer to this PR.
https://github.com/bcgov/court-interpreter-scheduling/pull/152/files
then you can remove any from row


Serialize ArraySink according to "of" class

Same as #612 with diffbase=master

@kgrgreer ping

Why is this necessary?  This is a lot of code specific to ArraySink that I will not have to replicate into java.
Shouldn't default serialization of Arrays just work out of box and not require custom code?


Missing header sys/time.h on Windows

Not available on Windows
#include <sys/time.h>

Possible solution is to use:
https://www.codefull.org/2015/12/systime-h-replacement-for-windows/

The PR I made is a quick fix, as not much is used anyway - a simple timer.


python does not work properly in jupyter notebook after long time running mpire

os: ubuntu 20.04 LTS
conda : python 3.8
jupyter notebook
question:
I filter the data from two tsv file use mpire.
Get the data after running for a long time.
however, the python can not work when i run the next cell .
1.run first the mpire ,ok
2. mpire return the data, but  not show in the Variable inspector
3. run the next cell ,the python will not work properly . but ,python use the one cpu core  100% ,  like Into the infinite loop，can not return results.
4. then , interrupt the cell .
5. run the cell again ,the data will return .
so, I had to run the program manually.
Can you find the cause of this problem？
two  files uesd in my program :
interval_input  has rows  2070751
hg19_hg38_relation_input  has rows  3299923
run time ~ 14 hours
cpu :  8 cores ,all used
total RAM: 32GB,  python used in running ~12GB,  system used ~ 3.5GB
code:
def get_hg_relation(chr_name, pos_hg19_start, pos_hg19_end, pos_relation):
    pos_relation_filter_tmp =  (pos_relation['chr'].isin([chr_name])) & (pos_relation['pos_hg19'].isin(range(pos_hg19_start,pos_hg19_end+1)))
    pos_relation_filter=pos_relation[pos_relation_filter_tmp==True]
    return pos_relation_filter

# use mipre
args_isin=[(x, y, z, hg19_hg38_relation_input) for x,y,z in zip(interval_input['chr'], interval_input['pos_hg19_str'],interval_input['pos_hg19_end'])]

with WorkerPool(n_jobs=7) as pool:
    hg_relation_result = pool.map(get_hg_relation, args_isin, enable_insights=True, progress_bar=True)
#     print(hg_relation_result)
    print(pool.get_insights())

Sorry to hear you're running into some issues. However, it's a very specific use case you're describing and it's hard to reproduce at my end.  I've run many jobs in a notebook which took hours and everything was working for me.
Could you create a minimal working example where it fails for you? Ideally with data that is generated so I can really test it

Sorry to hear you're running into some issues. However, it's a very specific use case you're describing and it's hard to reproduce at my end. I've run many jobs in a notebook which took hours and everything was working for me.
Could you create a minimal working example where it fails for you? Ideally with data that is generated so I can really test it

ok, i will test min dataset for this issues

Sorry to hear you're running into some issues. However, it's a very specific use case you're describing and it's hard to reproduce at my end. I've run many jobs in a notebook which took hours and everything was working for me.
Could you create a minimal working example where it fails for you? Ideally with data that is generated so I can really test it

https://anonfiles.com/T8d4N9S3x8/test_mpire_zip
I upload data to cloud.
If  mpire  runs  onece , maybe will must manual interrupt .
In the htop , the process :  python -m ipython_launcher   soft_path  xxxxx
has cpu 100% .  after interrupt  cell ,it will die.
Then run cell again,  notebook cell will get result.

Sorry to hear you're running into some issues. However, it's a very specific use case you're describing and it's hard to reproduce at my end. I've run many jobs in a notebook which took hours and everything was working for me.
Could you create a minimal working example where it fails for you? Ideally with data that is generated so I can really test it

test mpire in windows jupyter notebook
has a error
Exception occurred in Worker-5 with the following arguments:
Arg 0: 'chr1'
Arg 1: 1616982
Arg 2: 1617182
Arg 3:          chr   pos_hg19   pos_hg38
0       chr1      10250      10250
1       chr1      10543      10543
2       chr1      13868      13868
3       chr1      14653      14653
4       chr1      14907      14907
...      ...        ...        ...
499995  chr4  148307604  150097237
499996  chr4  148310312  150098085
499997  chr4  148310348  150107047
499998  chr4  148310358  150108512
499999  chr4  148313362  150117514

[500000 rows x 3 columns]
Traceback (most recent call last):
  File "C:\Users\asus\anaconda3\lib\site-packages\mpire\worker.py", line 322, in _run_safely
    results = func()
  File "C:\Users\asus\anaconda3\lib\site-packages\mpire\worker.py", line 276, in _func
    results = func(args)
  File "C:\Users\asus\anaconda3\lib\site-packages\mpire\worker.py", line 415, in _helper_func_with_idx
    return args[0], self._call_func(func, args[1])
  File "C:\Users\asus\anaconda3\lib\site-packages\mpire\worker.py", line 440, in _call_func
    return func(*args)
  File "<ipython-input-10-de0bf6abbee2>", line 5, in get_hg_relation
NameError: name 'pd' is not defined


$state.go(to [, toParams] [, options]) dropping toParams

Hi,
I'm trying to implement in my application a login mechanism based on an authenticationService that let me check the current authentication status (authenticated, unauthenticated).
The idea is then that on each $stateChangeStart I want to check what is the current authentication status, and if the user is not authenticated he should be redirected to the login page to login. But what I want is that once the login is confirmed, the user should be redirected to the page we initially intended to visit.
To keep track of the page the user wanted to visit, I wanted to make a state transition to login with the desiredState as a parameter, implemented as following:
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
    var status = authService.getState();
    var to = toState.name;

    if(to !== 'login' && status === 'unauthenticated') {
        $state.go('login', { desiredState: to });
        event.preventDefault();
        return;
    }
});

So what I want is:
user tries to access state xxx -> user is not logged in, user redirected to 'login' with toParams = { desiredState: 'xxx' } -> user logs in -> server confirms -> loginController reads from $stateParams the desiredState and redirects to it -> user is on xxx
Now the problem is that in the next $stateChangeStart (the one to go to the login state), the toParams parameter is empty.
I tried to track down the reason, and it seems to come from:
$state.transitionTo() at toParams = toState.params.$$values(toParams);
because $$values seems to use $$keys which returns in my case an empty array. But I think this isn't the correct behaviour.
Now unfortunately I don't have time to dive deeper and fix this bug, but I hope you will find the time to fix it or to indicate my misuse of the framework.
Thanks

Greetings @matthieubulte!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Sorry but this is how ui-router has been designed, and is what Ionic uses for its routing.


bash -c hang forever

Your Windows build number:  Microsoft Windows [10.0.16278.1000]

What you're doing and what's happening:
Today I upgrade Windows 10 to 10.0.16278.1000, my VSCode some commands not work.

Test node script:

const spawn = require('child_process').spawn;

const dir = spawn('cmd', ['/c', 'dir']);
dir.stdout.on('data', (data) => {
  console.log(`>>>>>stdout: ${data}`);
});

dir.stderr.on('data', (data) => {
  console.log(`>>>>>>stderr: ${data}`);
});

dir.on('close', () => {
  console.log(`>>>>>>>close`);
  console.log('------------------------------------------------');
});

dir.on('exit', () => {
  console.log(`>>>>>>>exit`);
});

dir.on('disconnect', () => {
  console.log(`>>>>>>>disconnect`);
});

//////////////////////////////////////////////////////////

const ls = spawn('bash', ['-c', 'ls']);

ls.stdout.on('data', (data) => {
  console.log(`>>>>>stdout: ${data}`);
});

ls.stderr.on('data', (data) => {
  console.log(`>>>>>>stderr: ${data}`);
});

ls.on('close', () => {
  console.log(`>>>>>>>close`);
});

ls.on('exit', () => {
  console.log(`>>>>>>>exit`);
});

ls.on('disconnect', () => {
  console.log(`>>>>>>>disconnect`);
});

Nerver exit child process!

I use cmd be a proxy for bash，it works
const dir = spawn('cmd', ['/c', 'bash -c ls']);

Same situation, ide(phpstorm, vscode) show error when call bash -c (or ubuntu run and etc) only on build 16278
https://youtrack.jetbrains.com/issue/WI-37962

@purocean - This issue has been fixed internally and will be available in a Windows Insider build sometime soon.

I have this issue too.. For example, when I added File Watcher for compiling "less" files in PHPStorm, it calls and executed but shown as infinity loading

This is https://github.com/Microsoft/WSL/issues/2592

@benhillis I think it might be closed only after including fix to main updates channel.

Closed because it is a duplicate of another issue.


Zombie vs pupeteer? When to use which?

Are some technologies only detected with pupeteer? If so, which ones?

Only use Zombie.js if you want a browser with a very small footprint. It doesn't handle things like WebSockets and other modern APIs, Puppeteer is much more capable.

Puppeteer is much more capable

Yes, that's what I'm trying to figure out, more capable how? Can you give us an idea about what kind of technologies you've seen that zombie has trouble with? (Might be a good idea to mention this in docs too)

It's not so much technologies but some websites will fail to run in Zombie.js, for instance when they use web workers or WebSockets. I'm thinking of dropping support for Zombie.js.

Welp. That is a giant red flag that should be mentioned in the readme 😅

Please see:
https://github.com/AliasIO/wappalyzer/issues/3081#issuecomment-633806251


Update for Papers With Code

Added some links to paperswithcode.com and some official conference page listing accepted papers.

Moving to #377


Many errors in swift 4

New Issue Checklist

I have read the guidelines for contributing and I understand:

[x ] My issue is happening in the latest version of SideMenu.
[x] My issue was not solved in the README.
[ ] My issue can not be answered on stackoverflow.com.
[x] My issue is not a request for new functionality that I am unwilling to build and contribute with a pull request.
[x] My issue is reproducible in the demo project.

Issue Description

Thank you for your library, it's too easy and simple.
I tried it in swift 4 and it's show many errors and i can't use it in project!
please what can i do to run??
thank you

It has yet to be upgraded to Swift 4. You're welcome to submit this change yourself or upgrade it locally.

Meanwhile it upgrades to Swift 4, we can use following code in podfile:
post_install do |installer|
    installer.pods_project.targets.each do |target|
        if target.name == 'SideMenu'
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '3.0'
            end
        end
    end
end


Update to influx apply cmd

The influx apply command was extend to include the ability to filter by a kind or by a resource (kind and metadata.name)
Relevant URLs

PR: https://github.com/influxdata/influxdb/pull/18600

Also update the resourceKind filter to kind on influx export.


Fix Serialization, Change Incidents Schema to snake_case

Two main changes in this PR:
I added marshmallow_sqlalchemy which lets us serialize our sqlalchemy objects into JSON, see the routes/incidents.py for an example /test route. This also let us keep the flask_serialize if we wanted to keep that package. Not sure if this is the right or best way to do this though so feedback is welcomed!
Also I updated our (now out-of-date) Incidents schema to be snake_case, and the sql file to set the table up with snake_case. To run this you'll need to execute the sql file before running.
Not sure if this is something we even want to merge because of all the schema changes coming up, but at least I found a fix for the serialization problems I was having for us to implement on the new schema.

LGTM!


docs: high-level rewrite

Reworking the high-level documentation, including Getting Started and User Guide.
Content

Eliminate mention of legacy interfaces (e.g., TUI) from all pages except ones specifically dedicated to documenting that interface.
Prefer hyperlinks over duplication. E.g., multiple launch_fluent examples scattered around high-level modules.

Vocabulary

Eliminate the unhelpful and generally misued term pythonic.
Prefer explanation of PyFluent features in terms of PyFluent objects, avoiding excessive explanation in terms of server implementation (which should only be supplementary if it exists at all). E.g., in data_transfer.rst, rephrase from one instance of Fluent to another to between PyFluent sessions.

Code sections

>>> added in Python snippets wherever absent.
Prefer enum (over e.g., string) arguments wherever supported.
Increase use of aliases to avoid long, repetitive statements, which emphasize that PyFluent is dificult to use.

@raph-luc @mkundu1 @prmukherj @hpohekar @PipKat
This is draft and quite a raw WIP, but please feel free to review and expecially make concreate suggestions that can be committed directly. Thanks.

@mkundu1 @raph-luc @prmukherj @hpohekar
Please see the revised development installation section.

All checks have passed and all comments received so far have been addressed (for one, a new issue was created).


Adds enforcing integer type for enum values

Addressing the issue https://github.com/omissis/go-jsonschema/issues/102
Enforcing int type for Enum values in case primitive type is set to integer

This PR was replaced by #126 (I simply rebased it and fixed an issue coming from main`). Thanks for your contribution! 🙏


Error in compilation

Hi, thanks for sharing this interesting project.
While trying it out, there was one error in instantiating last_type_impl as follows.
In file included from
../yapp/test/test_pipeline.cpp:2:
../yapp/include/yap/pipeline.h:123:30: error: no member named 'type' in 'yap::detail::last_type_impl<std::tuple<>>'
  122 |               std::make_unique<typename detail::last_type_impl<
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~
  123 |                   stages_t>::type::element_type>(std::forward<F>(fun)))))
      |                   ~~~~~~~~~~~^
/Users/kunwu/Workspace/playground/HelloCpp/HelloConcurrentCpp/yapp/include/yap/pipeline.h:303:12: note: in instantiation of function template specialization 'yap::Pipeline<>::Pipeline<(lambda at /Users/kunwu/Workspace/playground/HelloCpp/HelloConcurrentCpp/yapp/test/test_pipeline.cpp:47:21) &, void, unsigned int>' requested here
  303 |     return Pipeline(std::move(pl), std::forward<F>(transform));

It'd be very nice to hear from you and see if this could be fixed.

Hello, could you share your compiler version and OS ?

Hi, I run Clang 16.0 on MacOS 15.1. Here are the logs from CMake and make.
➜  build git:(main) cmake ..
CMake Warning (dev) at CMakeLists.txt:8 (project):
  cmake_minimum_required() should be called prior to this top-level project()
  call.  Please see the cmake-commands(7) manual for usage documentation of
  both commands.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The CXX compiler identification is AppleClang <IP_ADDRESS>00026
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- The C compiler identification is AppleClang <IP_ADDRESS>00026
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Python: /opt/homebrew/Frameworks/Python.framework/Versions/3.12/bin/python3.12 (found version "3.12.6") found components: Interpreter
-- Configuring done (13.7s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/kunwu/Workspace/playground/yapp/build

➜  build git:(main) make
[  3%] Building CXX object examples/basic/CMakeFiles/use_non_copyable_type.dir/use_non_copyable_type.cpp.o
/Users/kunwu/Workspace/playground/yapp/examples/basic/use_non_copyable_type.cpp:30:30: warning: lambda capture 'val' is not used [-Wunused-lambda-capture]
   30 |     static auto generator = [val = 1]() mutable {
      |                              ^~~~~~~
In file included from /Users/kunwu/Workspace/playground/yapp/examples/basic/use_non_copyable_type.cpp:1:
/Users/kunwu/Workspace/playground/yapp/include/yap/pipeline.h:123:30: error: no member named 'type' in 'yap::detail::last_type_impl<std::tuple<>>'
  122 |               std::make_unique<typename detail::last_type_impl<
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~
  123 |                   stages_t>::type::element_type>(std::forward<F>(fun)))))
      |                   ~~~~~~~~~~~^
/Users/kunwu/Workspace/playground/yapp/include/yap/pipeline.h:303:12: note: in instantiation of function template specialization 'yap::Pipeline<>::Pipeline<(lambda at /Users/kunwu/Workspace/playground/yapp/examples/basic/use_non_copyable_type.cpp:35:29) &, void, NoCopy>' requested here
  303 |     return Pipeline(std::move(pl), std::forward<F>(transform));
      |            ^
/Users/kunwu/Workspace/playground/yapp/include/yap/pipeline.h:123:30: error: no member named 'type' in 'yap::detail::last_type_impl<std::tuple<>>'
  122 |               std::make_unique<typename detail::last_type_impl<
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~
  123 |                   stages_t>::type::element_type>(std::forward<F>(fun)))))
      |                   ~~~~~~~~~~~^
/Users/kunwu/Workspace/playground/yapp/include/yap/pipeline.h:303:12: note: in instantiation of function template specialization 'yap::Pipeline<>::Pipeline<(lambda at /Users/kunwu/Workspace/playground/yapp/examples/basic/use_non_copyable_type.cpp:42:24) &>' requested here
  303 |     return Pipeline(std::move(pl), std::forward<F>(transform));
      |            ^
1 warning and 2 errors generated.
make[2]: *** [examples/basic/CMakeFiles/use_non_copyable_type.dir/use_non_copyable_type.cpp.o] Error 1
make[1]: *** [examples/basic/CMakeFiles/use_non_copyable_type.dir/all] Error 2
make: *** [all] Error 2

➜  build git:(main) /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -v
Apple clang version 16.0.0 (clang-16<IP_ADDRESS>)
Target: arm64-apple-darwin24.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin


New resource for xActiveDirectory: xADSiteLink

I'd like to contribute a new resource to this module:

xADSiteLink - creates and manages Active Directory site links

Opening an issue before forking as per the contribution guidelines.
(Edited to split resources into seperate issues as requested below)

Hi @Hindy-UK - great idea 👍. It might be better to open an issue each resource so that the schema for each resource can be discussed separately?

Hi,
Will do. I've edited this issue and will open 2 new issues for the other resources.

With the exception of one issue that I'm struggling with, I have xADSiteLink ready to go. Even though the resource works properly via the pull server, it is failing Get-DscConfiguration and when calling Get-TestResource directly with a general error/CimException.
This only occurs when using the optional ReplicationSchedule parameter, which results in the raw schedule from an ActiveDirectorySchedule object being added to the targetResource hash table as a bool array. Code can be seen here in lines 181 and 188:
https://github.com/Hindy-UK/xActiveDirectory/blob/working/DSCResources/MSFT_xADSiteLink/MSFT_xADSiteLink.psm1
I'll continue looking into it, but if anyone else is able to take a look and see if they can spot the issue it'd be a great help.

@Hindy-UK
Appears the issue is occurring due to a mismatch of return between Get-TargetResource and the schema.
The ReplicationSchedule which is defined as type String[] in the schema (two dimensional [string] array) but is being returned in the $targetResource hashtable as a straight up ActiveDirectorySchedule.RawSchedule which is of type Boolean[,,] (three dimensional [boolean] array).
Would probably be best to serialize it back into the String[] format just like the schema/resource function(s) parameter, before adding it into the return hashtable.


Resolve Google Authentication error

Additional Context:
I am a GSSOC'24 contributor and would like to work on the isssue

Hmm this is happening during sign up

@Ijaiswalshivam there is no issue please check it once

It is here


⚠ Bofrost.at has degraded performance

In 611101e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2233 ms

Resolved: Bofrost.at performance has improved in af4b571 after 20 minutes.


Syntastic integration flags the first warning as a syntax error

environment

vim: 7.4
vim-airline: 1bb8b62
OS: Ubuntu 14.04
terminal: gnome-terminal

actual behavior
If a syntax error (that is flagged by Syntastic) occurs after a warning, vim-airline's Syntastic integration shows the syntax error as occurring on the first warning line. If there are no syntax errors the integration won't show any error (expected behavior but shows that warnings don't trigger the integration).
expected behavior
Syntastic integration showing the correct line the syntax error is occurring on.

can you give an example how to trigger this behaviour (I don't use syntastic). Alternatively, I'll take a repository, that shows this behaviour.

any update here?

Screenshot:

In this example, I triggered two pycodestyle warnings (they aren't errors but violate style conventions) and the vim-airline's syntastic integration (the red box on the right side) shows that it is a syntax error rather than just a warning.

@jdloft This has nothing to do with airline.  It has to do with your configuration of syntastic.  airline simply shows whatever syntastic's statusline flag returns.  In turn, syntastic's statusline flag is controlled by syntastic_stl_format.  According to syntastic's manual, the default value for syntastic_stl_format is [Syntax: line:%F (%t)], and %F is line number of first warning or error.  So there you have it.
From the same manual, if you want a more useful statusline flag do something like this:
let g:syntastic_stl_format = "[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]"

Or if you prefer a more concise form:
let g:syntastic_stl_format = '[%E{E:%e(#%fe)}%B{,}%W{W:%w(#%fw)}]'


Model driven in-app notification with approvals or adaptive cards

Hi,
So I am currently building a power automate flow and was wondering if it is possible to create model driven in-app notification that holds approvals or adaptive cards. Just to make things clear, I don't mean making an approval/adaptive card and add a reference to it in the in-app notification, but rather have an approval/adaptive card inside the notification itself. Also, when an in-app notification is created is it possible for flow to wait until an action was used in the notification, just like with approvals and adaptive cards.
I am asking this because I want this to appear only in the model driven app itself and not as an email or teams message, but also because I want power automate to continue the flow when an action like approval or rejection occurred or to send reminders when receiving no response.
Thanks in advance!

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

ID: f495f03e-28c9-0ebb-ef03-72e16b267b3a
Version Independent ID: a9dcec59-8b72-966e-fa53-f4b2e42d325e
Content: Send in-app notifications within model-driven apps - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/send-in-app-notifications.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @adrianorth
Microsoft Alias: aorth

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

@BillyCottrell
The scope of issues for this Github repository is feedback on the documentation.
The topic Send in-app notifications within model-driven apps describes how to programmatically send in-app notifications. The scope of this topic is pretty specific.
You say:

I don't mean making an approval/adaptive card and add a reference to it in the in-app notification, but rather have an approval/adaptive card inside the notification itself.

In app notifications allow you to provide content in the body. But it seems like you are asking for a different capability have an experience that includes the actual card in the body. So, I have to call this a feature request rather than documentation feedback.
If you have a feature request, you can post it here: Power Apps Ideas
If you are looking for other solutions, your question might be better directed to Power Apps Community
Unless @adrianorth  or @caburk  have some thoughts do add, I'm going to close this.

@JimDaly well I didn't intend as a feature request, but instead I was just inquiring what the limits are of in-app notifications and whether it is possible to simulate something similar to adaptive cards or approvals to the point that it's possible to be used in flow the same way approvals are used.

@BillyCottrell
Thanks, but please advise how the documentation could be changed to address your question.
The feature involves creating records where you can set an icon or use markdown in the body to customize the appearance and content. Several examples are provided.
I think this is pretty subjective:

...it is possible to simulate something similar to adaptive cards or approvals to the point that it's possible to be used in flow the same way approvals are used.

What are the properties of adaptive cards or approvals that you want to simulate?
Can you create them using Markdown?
I expect an approval must include an action. Can that action be composed as a link?
It sounds like an interesting thing to investigate, but out of scope for this topic.

@JimDaly well, mainly whether it is possible to simulate the same response behaviour that approvals have in flows.
Since you have actions in the in-app notification, I thought it would be possible to listen to which action was used on that notification the same way flow listens to the response of the approval request.
I guess to give an example, it would be something like:
You are trying to do something which triggers a flow, but the flow notices that something went wrong or whatever, and it sends a notification to the triggering user with info about the issue. So the user has a few options, either you "cancel" the flow, or you "cancel and undo" the changes that triggered the flow in the first place, so you can go and check it yourself, or you can do "sent to support" to escalate the issue. Based on the selected action the flow continues so that when it's "cancel" it just terminates the flow with the status cancelled, when it's "cancel and undo" it updates the record to a previous state, in case you want to send it to support it will gather all the information and sent it to the support team for further investigation (so it can add like the workflow info of the run itself).
So I'm not really requesting for like forms to be added to the notification, I mean after all it remains a notification that's supposed to inform people and nothing else. I just think that being able to take action on it directly can make it easier to follow up and notify other users when issues arise.

@BillyCottrell
App notifications allow you to compose a notification experience with links. When the user clicks the link, it sends a GET request to the URL of the link. There appears to be no capability to send requests using POST, PATCH or any other Http method.
You say:

I thought it would be possible to listen to which action was used on that notification the same way flow listens to the response of the approval request.

It may be possible, but it isn't part of this feature. Imagine that you have a web service that processes GET requests and in-turn performs some action. You should be able to have that web service treat that as an event to initiate some process, but the in-app notification is just a method to deliver that link to the user.
The author of this topic made no mention of adaptive cards, and I think that means that there is no connection intended between them. The scope of this feature appears to be limited to sending in-app notifications.
You have flexibility in what kind of link you add. What happens when users click that link is up to you, and not part of the capability that this feature provides.
Does this make sense?

@JimDaly
In that case, I understand that adaptive cards or approval like capabilities are not meant to be part of the in-app notification experience and that the notifications are only about delivering a message and not allowing users to directly update or interact with other features but rather sending a reference to that feature or process.
Thank you for clarifying this!


Rename pip_deps to au_pip_deps

I was experimenting with importing au, but ran into a conflict with
rules_docker's pip_deps repository. This patch fixes the conflict by
switching to a more unique name.
Another solution is to switch to bzlmod completely, but that's more
work.

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


Timeline for dbt 0.19 support

Hi!
Firstly, thank you for your terrific work on dbt-azuresynapse!
What is the timeline for dbt 0.19 support?

Oh, does it? It says 0.18.0 in the readme but I assume you would know! :) You're the author, right?


$reply usage is wrong

Code of Conduct

[x] I have read and agree to the aoijs docs project's Code of Conduct

What function on aoi.js.org is affected?
$reply usage is outdated on the docs page (besides there was literally no way to add message aka content inside it)
What parts of the function would you like to see updated?
i would like to change both the usage and code example to be updated
example
$reply[messageID;message;mention (yes/no)] should be instead $reply[messageId?;mentionUser? (yes/no)]
and so code example would be instead something like this
bot.command({
name: "reply",
code: `I replied to this message :)
$reply[797817882339442698;yes]`
})

Additional information
No response

Outdated. Closing this as a result


Move rebalcing to be a top level item

Describe the proposed changes
Made rebalancing a top level item; doesn't make sense under disaster recovery
Unreleased project version
n/a
Related issue
n/a
Related issue or PR in another project
n/a
Please take a look
Signed-off-by: Matt Bentley<EMAIL_ADDRESS>

Deploy preview ready!
Built with commit 2e763de7b640a897a48b2a40a561e677fea61462
https://deploy-preview-753--docker-docs.netlify.com

Thanks, @mbentley :)


[REQ] add license file

Hi there, 1st of all thanks for your awesome work !
Since we've "doxed" it in our HyMPS project (under the AUDIO \ AI-based projects page \ Codecs subsection), can you please add a "GH-standardized" license file ?
Expliciting licensing terms is extremely important to let other devs (and not only) understand how to reuse/adapt/modify your code in other open projects and vice-versa.
Although it may sounds like a minor aspect, license file omission obviously causes an inconsistent generation of the relative badge too:

(generative URL: https://flat.badgen.net/github/license/NoFish-528/encodec-pytorch/?label=LICENSE)
Anyway you can easily set a "compliant" one through the GH's license wizard tool.
Last but not least, let us know how - in your opinion - we could improve categorization/sorting of collected projects in order to push their evolution by favouring collaborations between developers (and not only).
Thanks in advance.

add LICENSE


Please help me: rtc_render_view is NOT SUPPORT TargetPlatform.windows

TargetPlatform.windows is not yet supported by the plugin
I'm using dev/flutter2-iris branch for building desktop windows app. It was failed when joinChannel() as host, then calling rtc_local_view.SurfaceView extends  RtcSurfaceView.
At class RtcSurfaceView , I found the logic code in build() Widget having no support windows.
Next, onWarning warns 'code 8 msg' and 'code 16 msg'. code 104 msg for timeout is warned after.
Please help me the solution for these.
ERROR:
...\AD\Agora-Iris\IRIS-SDK\rtc\cxx\src\internal\rtc_engine_event_handler.cc:40 agora::iris::rtc::RtcEngineEventHandler::onWarning warn 8 msg nullptr
...\AD\Agora-Iris\IRIS-SDK\rtc\cxx\src\internal\rtc_engine_event_handler.cc:40 agora::iris::rtc::RtcEngineEventHandler::onWarning warn 16 msg nullptr
...\AD\Agora-Iris\IRIS-SDK\rtc\cxx\src\internal\rtc_engine_event_handler.cc:40 agora::iris::rtc::RtcEngineEventHandler::onWarning warn 104 msg nullptr

Pls refer to our example, SurfaceView does not support desktop.


Hiding TV Service throws 'error' regarding max inputs

I assume it is not really something to worry about. I am hiding the TV service as my LG is natively HomeKit compatible and get the following message. For testing purposes I activated the TV service and the message disappeared.
[01/04/2021, 06:37:27] [homebridge-webos-tv] [LG OLED77CX] Inputs limit (45) reached. Cannot add any more new inputs!
It is just cosmetic I guess :)

Oh, that should not happen of course! I will check it out! Thanks for reporting.

Should be fixed in version 2.1.3


Kc3 Kai not loading

i started Kancolle a few weeks ago and it was suggested too me i use Kc3 kai now as it was it looked awsom downloaded it and got it set up and went too use it i hit F12 clicked the Kc3 kai tab and nuthing....it wont load the only way i can play is by clicking the "play the game anyway" button

Can you access to the game after clicking on "Start the game anyway" button?

yes i can but when i do it that way i get no use out of any other fetures of the kc3 kai

Hmm I see... Is there any error shown in the Console?

not that i can see it just does nuthing at all

ive re downloaded kc3 kai 2 times to see if that would help but its doing the same thing every time im thinking that something is either keeping it from running or its just not working for me and id like to get it fixxed cus i wanted to use the other things that made Kc3 kai look so apealing

Could you try uninstalling KC3Kai and following this instruction while we are trying to investigate this issue?
https://github.com/dragonjet/KC3Kai/wiki/Installation

ill give it a shot but i installed it that way from the get go well another time wont hurt

i uninstalled and did what the link suggested and i still have the same outcome

this is most probably  from your Chrome settings not allowing localStorage
check the answer on this article for the fix

my god dragon u fixxed it id give u a hug buuut that would be unproffesional

@TheRedCrayon not that I want to scare you or am assisting you with your issue. However you might want to blur out your API token. Your API token is what allows users such as yourself directly into the game without logging in. See here for more information.

u wouldnt scare me when givin advice i removed the pic as an extra precaution as well

don't worry @Crazyteitoku i still got a copy of his API link on email :innocent: joke. glad to be of help.

For a moment, I thought @Crazyteitoku's comment does sound like tsundere's catch-phrase :laughing:   btw, I want to ask this long time before, what is the doujinshi of your avatar?

@dragonjet :stuck_out_tongue_closed_eyes: I am sure I can still dig up through my cache as well. Of course I don't do that sort of stuff.
@bamboo3250 probably one of the cutest image of 秋月 I can find :stuck_out_tongue_winking_eye:


make sure not to add "after" twice

It is possible to add the after element(s) twice.
For example say you have the simple case of two spans:
long_file_name_for_example.jpg

if file-type is the after class, then the algorithm will fit the first span with the "after" span added, then it will attempt to add the "after" span as a second element, but will add the "after" span again because its supposed to be after.  Huh!
The commit just checks to make sure that the element just added is not the after element, or does not contain the after element.

BTW... I DID NOT PROVIDE AN UPDATED MINIMIZED SCRIPT.... sorry

Good fix, thanks!
I'll pull, minify and release a new version later on.


[Feature Request] Max Width/Height for pictures

Actualliy we can only specify a percent of the original image size we want. It would be great to have the ability to set a max Width and Max Height to have an image size independant of device camera resolution.
PS: Sory for my english but I think you will understand my request ;)
Thanks

Also, specify the image size as the max of file size (in bytes), or max width/max height

We have somewhat the same requirements for our apps, that is setting a max height or width of the resulting image. I forked the repo and had a go at it. It seems to work rather well on iOS and Droid, but currently not on UWP. I'm not ready to do a pull request yet, but you can have a look at the diff, if that helps.
[https://github.com/jamesmontemagno/MediaPlugin/compare/master...xeterixon:master]

+1 This would be a useful feature!

Is this too difficult to implement this feature? PhotoSize in percentage how this has been implemented in this plugin is totally useless when all the phones have different megapixel cameras.


bug(locators): excapt query in byExactBinding

See http://stackoverflow.com/q/3561711
Closes #1918

:+1:

One comment, then LGTM.

Merged in at 3cded9b


Dependency graph to track unloading nodes until unload completes

Related PR: https://github.com/triton-inference-server/server/pull/6436
Previously, the model repository manager stops tracking a model once it is sure that the model will be unloaded. This behavior is problematic with the model lifecycle because it assumes a model cannot be loaded or unloaded concurrently, this guarantee is broken if models are not tracked while they are unloading. For example,

A model is unloading by the model lifecycle, while the model repository manager stops tracking it.
Without knowing the model is unloading by the model lifecycle, the model repository manager will be happy to load the same model again, while it is unloading by the model lifecycle.
The model lifecycle sees the same model has started loading while unloading has not yet completed, it sends an error on the unload process.

After the fix, the model repository manager will track any unloading model until it is unloaded. Thus, the overlapping between unloading and loading the same model on the model lifecycle cannot happen.

Other than exception comment LGTM - but I think Guan should take a look in case.


Add default ports and fallback behavior for SSL and TLS

Introduced default ports for SSL/TLS and STARTTLS connections in SMTP client. Also added fallback behavior, allowing the client to attempt connections on port 25 using plaintext if secured connections fail. Deprecated old methods and implemented new ones to enforce these changes effectively.
This is a copy of the PR #106 (muhlemmer:enhance-default-tls-port) by @muhlemmer. Since they unfortunately didn't reply in the PR anymore I cloned it instead. They will be fully attributed in the PR, though.
Closes #105 and #106.

This change makes no sense to me? It hard-codes port to 25 for non-TLS connections, it seems to me? There is no way to set fallbackPort?
Previous behavior made more sense to me. With TLSOpportunistic, I want to connect to port X, if it supports STARTTLS, use TLS, otherwise, use the same port, but just do not use TLS. Currently, if I use SetTLSPortPolicy(TLSOpportunistic), if the server does not support STARTTLS on port X, it tries to connect to port 25 on that server - which might not even be available (or accessible - firewalls and stuff).
I do not get issue #105 either. Is this about behavior if one does not call WithPort? I think if WithPort is not made, then default should be to connect to port 25 (or 587?) and try STARTTLS on it, if it fails and TLSOpportunistic is set, use no TLS on same port. The behavior to try different ports makes no sense to me. You use one port, but potentially negotiate different configuration of how you use it. And WithPort is then used to configure which port is the one the client uses.
Luckily, WithTLSPolicy still works and if I use WithTLSPolicy it is exactly how I would want. Maybe just remove deprecation on it?
But I do think that connecting to multiple ports is a strange approach. That might be done by some higher-level library to auto-detect configuration of an unknown SMTP server. But not by a low-level library like this one where you generally know the server you are connecting to.

Also, interestingly, SetTLSPolicy was not market as deprecated.

Hi @mitar,
thanks for raising your concerns. The main reason for #105 and therefore this change was, that we wanted to follow established standards, but I agree that not recognizing WithPort() when using *TLSPortPolicy is an oversight on my end. WithPort should always have higher priority over automations/auto-detections. I'll rework this patch taking your comments into consideration.

Sorry, which established standard suggest automatic use of port 25? RFC section referenced from #105 does not mention so, to my understanding? It even says:

However, to maximize the use of encryption for
submission, it is desirable to support both mechanisms for Message
Submission over TLS for a transition period of several years.  As a
result, clients and servers SHOULD implement both STARTTLS on
port 587 and Implicit TLS on port 465 for this transition period.
Note that there is no significant difference between the security
properties of STARTTLS on port 587 and Implicit TLS on port 465 if
the implementations are correct and if both the client and the server
are configured to require successful negotiation of TLS prior to
Message Submission.

To me this reads really like "negotiate on the same port" - while 587 is the one where there can be STARTTLS or not.

Correct. Before we were defaulting to port 25, which is not best practice. The fallback option was just to keep compatiblity with that behaviour. This will be reworked in #181

@mitar The whole TLSPortPolicy() situation has been refined in #181. I've removed the deprecation notes and replaced them with recommendation notes instead. Also TLSPortPolicy (and the SSL equivalent) will not change the ports anymore, if the port has been set already otherwise (i. e. via WithPort()). I think this is a better solution now and given that the deprecation notes are gone, the users are free to chose either solution - either the "handholding" one or the "low-level" one.

Awesome, thanks!


Updated regex for Obisidian Timeline event search

Updated regex for Obisidian Timeline event search to allow for new line characters

What does (?s:) do? I’ve never actually seen that before! Is that making the dot match new lines, like the s flag?

What does (?s:) do? I’ve never actually seen that before! Is that making the dot match new lines, like the s flag?

I actually made a mistake, having not worked with regex in a while I used syntax for a non-capture group. Fixed in a new commit along with another issue. See new PR :D


adding a sample ECS Cluster template

In response to #554 I'm adding an example of an ECS Cluster with a few attached policies

Thanks!


Calculate scaled width using getBounds()

Hi,
is it normal (I seem that not) that scaled display object's width isn't equal width from getLocalBounds and getBounds? Let's take that example
object.width; // 100
object.scale.set(0.5, 0.5);
object.width; // 50
var bounds = object.getBounds();
bounds; // width: 100
var localBounds = object.getLocalBounds();
localBounds; // width: 100

Width of the object takes into account scale property but getBounds and getLocalBounds doesn't.

Hi there @jagi
Yes this is correct -
getBounds will return the bounds of the object within the global scene graph
getLocalBounds will return the bounds of the object as if it had no transform applied (its true bounds)
hope that makes sense! thanks !


Add support for loading connectionstrings in bulk

I have made some changes to the ISettingLoader interface and added support for loading connection strings in bulk

Thank you David


[WIP] Add article header image upload via ActiveStorage

relates to: https://github.com/crimethinc/website/issues/773
First, sorry this has taken so long
The Goal of this change
I just want to get the wiring between ActiveStorage and AWS connected and working in prod before building out the rest of the features (the in-article image uploading).
To do this I added a header image upload form to the admin page which we can use to try out ActiveStorage in production (the original method of setting the header image is still the default)
Some comments after learning ActiveStorage
I have learned some things about ActiveStorage that I realize will conflict with some of the specs in #773. I want to point them out now to find out if they are blockers we need to find work-arounds for or not
custom asset URLs
from #773

What to name that folder on S3?
I’d LOVE it to be the DD of the article, but that changes sometimes while an article is in draft
It could be the article slug (title/subtitle), but that changes too in the draft process
Same for the short URL (though this is probably the safest)
And it only has to be unique with the MM on S3

Rails ActiveStorage actually doesn't let you set the url. The reason for this is because from the docs is:

Generate a permanent URL for the blob that points to the application. Upon access, a redirect to the actual service endpoint is returned. This indirection decouples the public URL from the actual one, and allows, for example, mirroring attachments in different services for high-availability. The redirection has an HTTP expiration of 5 min.

So, activestorage doesn't allow for custom URLs as they are all managed by Rails and tracked in the database
article fetching
ActiveStorage requires 3 database queries to resolve a URL. This seems like it could be an issue when I add the in-article image features (both in the rendered article and in the admin UI)
It is something to keep in mind, but there seems to be ways to mitigate it (https://evilmartians.com/chronicles/rails-5-2-active-storage-and-beyond)
Explanation of code changes
I will go through and annotate some of the code change to explain what is going on

We’ve rethought how we wanna approach uploads. So, we’re closing this PR to restart it afresh. The PR changes will still be available for reference.


Has the availability recently changed to just E5?

I've always had an E3 licence and for a few weeks after my email was moved to Exchange Online I was receiving prompts to book in focus time. This stopped and in looking on the internet to find out why, I came across this page.

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

ID: 40f032f9-30a5-b801-b3c2-602a6ef552d3
Version Independent ID: bffa68c6-76a6-3de4-ec42-ab75c6a264d2
Content: Focus plan - Workplace Intelligence
Content Source: WorkplaceAnalytics/MyAnalytics/Use/focus-plan.md
Product: mya
GitHub Login: @paul9955
Microsoft Alias: paul9955

@jmountforduk -Thank you for your feedback! Maybe your admin changed the setting for the prompt? However, it might be a bug. Would you please go to your dashboard, select Feedback near the bottom of the left navigation pane, and then fill out and submit your issue there? Please select the Allow Microsoft to contact you checkbox. Then the team can follow up and confirm if it's a bug and/or how they can help you get your focus scheduling prompts back!


[stable/grafana] Fix deployment strategy when changing from rollingUpdate

What this PR does / why we need it:

Deployment is failing when stratey is changed from RollingUpdate to Recreate.

"Error: UPGRADE FAILED: Deployment.apps \"grafana\" is invalid: spec.strategy.rollingUpdate: Forbidden: may not be specified when strategy `type` is 'Recreate'"

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
https://github.com/rancher/rancher/issues/13584#issuecomment-393753794

cc @rtluckie @zanhsieh

/lgtm

/assign @scottrigby

@davidkarlsen conflict fixed :)

/lgtm

rerunning tests after changes
/lgtm cancel
/retest

/ok-to-test

/retest

/lgtm


Fix: Github Discussion comment author can be null

Related discussion
Deploy
This does not warrant a new queue number IMHO, so regular deploy of connectors should solve the alerts

Note: no DB schema change since discussion authors are not stored in DB (but are part of textually rendered chunks for qdrant)


Can you add a function to add JS script for all browser's pages/tabs

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I used this code for fake browser fingerprint ,
proto.PageEnable{}.Call(page) proto.PageAddScriptToEvaluateOnNewDocument{ 		Source: fingerprint, 	}.Call(page)
the js code from https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth
I don't known why need proto.PageEnable ,but if I don't write it the proto.PageAddScriptToEvaluateOnNewDocument not works.
proto.PageAddScriptToEvaluateOnNewDocument only works on current page/tab not working on a link click new pages/tabs.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Can you add a function to add JS script for all browser's pages/tabs something like hook browser's page or some network.
Thanks.

Because PageAddScriptToEvaluateOnNewDocument is under the Page domain, so by its name is obviously should work only for a page instance 😂.
From its doc, you can find out that it's designed for navigation and iframes, not a hook for every new page.
Injecting a script to every page should follow the hook design pattern. So what you should do is listen to page creation events and run a script for each page.
I think I won't add an AddScriptOnEachDoc helper for you. But I'll an event helper to help you easily hook whatever you want.

OK , Thanks a lot.

v0.31.0 added some helpers to help you do this. Here's the example:
https://github.com/ysmood/rod/blob/9b680d3afeb2bec4007ccea53ea2b1d70f602976/examples_test.go#L204-L226

@zjlx v0.31.1 add browser.EachEvent helper to make it even easier:
https://github.com/ysmood/rod/blob/f04616495a3a1d755e88b2e335f8063327f75581/examples_test.go#L219-L225

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I used this code for fake browser fingerprint ,
proto.PageEnable{}.Call(page)

proto.PageAddScriptToEvaluateOnNewDocument{
	Source: fingerprint,
}.Call(page)

the js code from https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth
I don't known why need proto.PageEnable ,but if I don't write it the proto.PageAddScriptToEvaluateOnNewDocument not works.
proto.PageAddScriptToEvaluateOnNewDocument only works on current page/tab not working on a link click new pages/tabs.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Can you add a function to add JS script for all browser's pages/tabs something like hook browser's page or some network.
Thanks.

Can you give me the Script to fake the fingerprint?

@khaitranvan96kt You might want to use bypass lib to bypass the bot detection:
https://github.com/go-rod/bypass/blob/master/example/main.go

@khaitranvan96kt You might want to use bypass lib to bypass the bot detection:
https://github.com/go-rod/bypass/blob/master/example/main.go

func TestRequestFingerprint2(t *testing.T) {
	for i := 0; i < 3; i++ {
		browser := rod.New().Connect()
		page := bypass.Page(browser)
		page.Navigate("https://fingerprintjs.com/demo").WaitLoad()
		time.Sleep(10 * time.Second)
		filename := fmt.Sprintf("browser_%d.png", i)
		page.ScreenshotFullPage(filename)
		browser.Close()
	}
	fmt.Println("All done, check the screenshot. ✨")
}

It does not work, it is still detected.

@khaitranvan96kt  Can you raise an issue about https://fingerprintjs.com? It's not bot detection, fingerprinting is another topic.

@khaitranvan96kt Can you raise an issue about https://fingerprintjs.com? It's not bot detection, fingerprinting is another topic.

Yes I know, so I asked @zjlx

@khaitranvan96kt Can you raise an issue about https://fingerprintjs.com? It's not bot detection, fingerprinting is another topic.

Yes I know, so I asked @zjlx

Against browser fingerprints, the above JS plug-in is only a fixed value, and it can't achieve random parameters. If you want more configuration, you need to implement it by yourself, learn about JS related knowledge such as webgl and canvas, and set different parameters to meet the requirements of simulating different browser fingerprints.

@khaitranvan96kt Can you raise an issue about https://fingerprintjs.com? It's not bot detection, fingerprinting is another topic.

Yes I know, so I asked @zjlx

Against browser fingerprints, the above JS plug-in is only a fixed value, and it can't achieve random parameters. If you want more configuration, you need to implement it by yourself, learn about JS related knowledge such as webgl and canvas, and set different parameters to meet the requirements of simulating different browser fingerprints.

wow, thank you so much for suggesting me


PEM_def_callback(): don't loop because of too short password given

That error is already caught by EVP_read_pw_string_min, and causes
this function to return -1, so the code detecting too short passwords
in this function is practically dead.
Fixes #5465

Oh - wait. Travis failures look relevant.

Easily fixed

Reconfirm, assuming CIs agree.

Red cross from travis is still relevant.

Ah, sorry 'bout that.  Fixed

Okie, CIs seem to be in agreement now

Merged.
master / 1.1.1:
d6d94d339756332bbabe2a1032ac511ae31b3fdc PEM_def_callback(): use same parameter names as for pem_password_cb
4977b4e9281c981efcf6a8b31378b8bbd6a8a96f PEM_def_callback(): don't loop because of too short password given
1.1.0:
096adcf28ab75ec0bd83ce2cb7f0ba197ba4268f PEM_def_callback(): use same parameter names as for pem_password_cb
04858a4e3d7629b0c237160636b69bf339611c44 PEM_def_callback(): don't loop because of too short password given
1.0.2:
165a92dcb1caab4671edad5aea68c8f698f51180 PEM_def_callback(): use same parameter names as for pem_password_cb
3986986eba6c4e70499a8d24aa8d00e934b16d91 PEM_def_callback(): don't loop because of too short password given


Split the application code into different components

This commit applies the standard directory layout for a go application, where the main.go is placed under the ./cmd directory and the rest of the code, if not exposed publicly, is placed under ./internal.
It also breaks the application logic, placed all in the main.go before this commit, into 4 different components.

audit_writer: Writes in a file or to stderr any payload.
metrics: Creates a metrics server.
event_processor: It has the main Validator Webhook logic. It receives events, analyses them, writes them to a persistent medium using the audit_writer and creates a response.
http_listener: Creates the server that receives POST calls from the K8S API. It forwards the requests to the event_processor.

One of the purposes of this refactor is to enable testing the application using unittests. This can be done because the previous components can only see their interfaces, so it's easy to use a mock instead of the actual implementation when doing tests. The repo has a "./mock" directory where all the mocks are placed.
There's a new CI job that executes all the unittests.
In ./docs there's a file called ForDevelopers.md that further explains this new layout.
The Dockerfiles and the local-testing.sh script have been modified to point to ./cmd/kube_audit as the new directory for the main.go file.
Regarding the end-to-end local test (the stuff in ./testing/locally), the bash script has been modified to pick random ports when starting the kube-audit-rest program. The go file has also been modified to receive as a parameter the ports where it will send traffic.

The error in the CI https://github.com/RichardoC/kube-audit-rest/actions/runs/4928977192/jobs/8808152951?pr=28 is due to a race condition in one test:
func Test_WhenServerStarted_ThenServesRequests(t *testing.T) {
	port := getFreePort()
	ms := prometheusmetrics.New(port)
	go ms.Start()
	counter := ms.CreateAndRegisterCounter("test_counter", "This counter is for test purposes")
	counter.Inc()

	// Make request and check we get an answer
	requestURL := fmt.Sprintf("http://localhost:%d/metrics", port)
	res, err := http.Get(requestURL)

Here, we're starting the Prometheus server in a separate thread, so in the CI we were unlucky enough to reach res, err := http.Get(requestURL) before the server was fully up and running.
I'll add a magic sleep to make the test more robust.

Test_WhenServerStarted_ThenServesRequests

Mind linking me to the change? I'm not sure a magic sleep's the best approach.
Unfortunately I can't see the difference in the commits since you force pushed again.


T136 generalization

Generalization of T136 (see issue #157).

(old T136) Weakly locally compact + T2 ==> Baire
(new T136) Weakly locally compact + regular ==> Baire

Two things I see.

We already have Weakly locally compact + regular ==> locally relatively compact, so it's worth asking if locally relatively compact is sufficient here, or if we can add a counterexample.

Okay it took me a minute, but this search confirmed this is indeed a generalization.

PS: I promise I didn't do this on purpose, but I did end up illustrating the possible need to preserve theorem URLs, if just for internal purposes.

Currently investigating the logic error that arose here: https://github.com/pi-base/data/actions/runs/3323542533/jobs/5494015608

Currently investigating the logic error that arose here: https://github.com/pi-base/data/actions/runs/3323542533/jobs/5494015608

I am impressed that the build system of pi-base detected this and allowed us to fix an error from S&S!

This is one of the theoretical reasons for having the pi-Base! I only wish we had a better way to preview contributions so they appear in the PR.
You'll observe in #171 it did check my work, because I made the branch on the repository itself. We really need to re-rig https://github.com/pi-base/data/blob/master/.github/workflows/compile.yml so it works on every pull request.

The build system is all of a black box to me. But yes, it would be nice to have a better way to preview things. Let us know if we we'll need to change our procedures somehow.


feat: try to enable recovery test in ci

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
As title.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)

The per-step time usage seems weird. 🤔

The per-step time usage seems weird. 🤔

I believe the time cost and the title are just one line apart. The 5m7s should be the streaming's cost time. 😅

I guess we're not utilizing the multicore in simulation e2e tests. Is this a possible approach to speed things up?

Yeah. It is possible but is also hard to be done while keeping determinism. (see the explanation here)
So I don't plan to parallelize it now, but I will keep this topic open. Maybe some new ideas will come up in the future.

What about simply parallelizing the tests to different simulated clusters at the granularity of slt files? 🤔

What about simply parallelizing the tests to different simulated clusters at the granularity of slt files? 🤔

Definately that is feasible!