Inconsistent onSubmit depending on type of form plugin

The onSubmit signature is different depending on how the form is registered (screen plugin, content creator, sidebar, etc)

This issue stems from a conversation in our Discord:

i subscribed to all events and logged them in console to see which events are being logged. Isn't screen-plugin form treated as a form? I dont see any events from screen-plugin forms(edited)...
I find all that all plugins have a very inconsistent onSubmit() signature. The content-creator gets a cms object as a param whereas a screen-plugin or sidebar form doesnt get the cms object. Also form events seems to be dispatched only for sidebar forms.

Going to investigate if this behavior is still inconsistent now that https://github.com/tinacms/tinacms/pull/1858 and https://github.com/tinacms/tinacms/pull/1855 have been merged.
In theory, everything (not inline, but ContentCreator, Sidebar, and Screen) should be routing through the new <FormBuilder /> component and should have a consistent API.

Unsurprisingly, this is a bit more complicated than it initially appears.
While the issue at hand is core to the "Form Inconsistencies" pitch, solving this particular problem has potential to introduce breaking changes to nearly every use of useForm(...) so before I take a stab at correcting it, I want to lay out all the facts and get some feedback.
While it is true that the rendered structure of a Tina Form has been made consistent with <FormBuilder />, the configuration of a ContentCreator Plugin still differs from that of useForm(...).
ContentCreator is, by Tina's own admission, a simpler interface.  It makes no assumptions about the content it is creating and expects the user to supply the onSubmit() methods:
https://tina.io/docs/plugins/content-creators/#building-a-contentcreatorplugin
//onSubmit(values: FormShape, cms: CMS): Promise<void> | void

onSubmit: async values => {
  await plugin.onSubmit(values, cms).then(() => {
    close()
  })
},

In contrast, useForm(...)'s onSubmit() is directly mapped to Final Form's:
// onSubmit(values: FormShape, form: FormApi, callback: Promise<void> | void)

onSubmit: Config<S>['onSubmit'] // Config is from final-form

private handleSubmit: Config<S>['onSubmit'] = async (values, form, cb) => {
  try {
    const response = await this.onSubmit(values, form, cb)
    form.initialize(values)
    return response
  } catch (error) {
    return { [FORM_ERROR]: error }
  }
}

In most usecases, this onSubmit() is entirely optional (and often entirely omitted).  Nearly all variations of useForm(...) (for example, useJsonForm(), useGitHubForm(), useMarkdownForm()) implement their own onSubmit() that ties directly to the cms and the client:
// From use-markdown-form.ts

onSubmit() {
  return cms.api.git.commit({
    files: [markdownFile.fileRelativePath],
    message: `Commit from Tina: Update ${markdownFile.fileRelativePath}`,
  })
},

Ideally, we'd want the onSubmit() signature to be universally consistent.
For example:
onSubmit(values: FormShape, cms: CMS, form: FormApi, callback?: Promise<void> | void)

One suggestion from DJ was to embed the cms instance in the Form when attached via usePlugin() (perhaps make _cms a private property) and provide it back:
private handleSubmit: Config<S>['onSubmit'] = async (values, form, cb) => {
  try {
    const response = await this.onSubmit(values, form, cb, this._cms) /** like this **/
    form.initialize(values)
    return response
  } catch (error) {
    return { [FORM_ERROR]: error }
  }
}

Ideally, we'd want the onSubmit() signature to be universally consistent.

I think it's ok that higher-level abstractions don't require onSubmit, useGitHubForm should allow onSubmit, but not require it, while useForm should require it. Having said that, yes 100% their payloads should be the same IMO, so the only difference would be onSubmit: ... vs onSubmit?: ....
But one thing that's implicit here is this indirect relationship between Tina's API and the underlying API client you're wired up for. We expose everything as if they're equal, but useForm is low-level, and I think we should insist that it's not for direct consumption, but should instead be used internally for specific client development. As an example, saying that this is the wrong way to do things might go a long way:
// top of tree:  Initialize the CMS with an api client and wrap your site in it
<TinaProvider cms={new CMS({api: {myClient: new MyClient())} />...

// further down in the stack
const cms = useCMS()
// When you need to do something, pop the client off of the CMS object:
const [values,] = useForm(..., onSubmit: (payload) => cms.api.myClient.doThing(payload))

You should instead build things like we've done with Tina Cloud:
import { MyClientProvider, useMyClientForm } from 'my-client-package'
// top of tree:  Initialize the CMS with an api client and wrap your site in it
<MyClientProvider >...

// further down in the stack
const [values,] = useMyClientForm(...)

To achieve this, I think we'd need to become more opinionated about how to build with Tina, but using Tina Cloud as a North star seems like the right approach, meaning tinacms modules are meant to be wrapped by a client-specific package. That's a pretty aggressive opinion, but it seems easier to grok

This will be resolved with the useGraphQLForms refactor https://github.com/tinacms/tinacms/issues/2417


chore(main): release 0.0.46

:robot: I have created a release beep boop
0.0.46 (2024-11-25)
Miscellaneous Chores

add custom pipeline error (f7cff0e)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.0.46
:sunflower:


Contributing docs

Add CONTRIBUTING.md to move current contribute info from README.md and add place for ruleset standards.
Currently working on PR.

Hi.. @sparcut  you already created new CONTRIBUTING.md and linked with the README.md . How about "add place for ruleset standards."? Could you clearly mention your idea for improvement of existing docs.
Thanks

@shalithasuranga Sorry, forgot to close this.


BETA: GA3, GA4 templates / twitter deletion from templates / datahub update

Changes:

Google analytics template renamed to Universal analytics
new template for GA4
dathub template update  - sql fix
twitter deletion from a template because of deprecated component
Thoughtspot hubspot fixes - new columns added into the model

@TomNett please approve and merge :-)

@padak can you please approve those template's changes please?
Tomis is off. Thank you.

Go :)

@TomNett prosím approve


clic2000.fr

Domain: clic2000.fr
GTMetrix: https://gtmetrix.com/reports/clic2000.fr/BhI3hWvH/

Don’t want to be in that list finally


Need a solution when the image object is empty

Hello, thanks for your work, but I noticed when the "image" object is empty javascript crashes.
Eg. I have a Hero component that it should have or not the image. How can I handle it? Thanks.

I've just released version 3.1.3 which should fix this issue, the image parameter can now be set to null which in turn sets the return value of the hook to null.

I'm still having
Unhandled Runtime Error
TypeError: Cannot read property 'split' of undefined

I've tried to pass undefined or null but the result is the same.
I've updated to the latest version and deleted all modules and cleaned the cache. No luck!
Thanks for your help!


Correct docker image name

Reviewer checklist

[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure correct labels applied
[ ] Ensure any appropriate documentation has been added or amended

Coverage remained the same at 99.348% when pulling 3ca065a9b420d4097b35d2c4c23ffe68b9ad515c on docker-image-name into 71dcd6d24719b61c0e5b762c2d730fdae7567708 on main.


Chapter 11 - Maven project

The project renders a wrong example.
Retry do develop it after Pentaho nexus will work again...

Solved.


Add simple benchmarks of CK machine

This adds a simple benchmark of the CK machine. Right now, it shows basically what we want - that the CK machine imposes little overhead (in terms of time) beyond simply calling verifySignature.
cc @michaelpj

Right now, it shows basically what we want - that the CK machine imposes little overhead (in terms of time) beyond simply calling verifySignature.

This doesn't seem right to me. What I thought we wanted to show was that the overhead of evaluating a real program with one of our machines was dominated by the crypto. This says something about the overhead of the machine itself, but I don't thing we ever expected that to be expensive.

That's fair. I think it is still worth demonstrating relative times for such things, since e.g. typechecking is taking a bit longer than we might want.

Yes, it is interesting to compare typechecking a trivial program against a verifySignature.


Foundational SPICE tools

Change Summary
Overview
-Added some basic tools.
New Dependencies
None
New Files

spice_utils.py

loads and clears kernels
lists loaded kernel filenames
lists all constants in the Spice constant pool
using historical attitude kernels, figures out processing dates

Testing

test_spice_utils.py

tests spice_utils.py

I put almost all of the ultra spice test data in the /tools/tests/test_data/spice directory. Github would not let me put de440.bsp in because the file was too large. We should discuss how we want to handle that.

Note: there are other test files in: smb://lasp-store.lasp.colorado.edu/projects/Phase_Development/IMAP-SOC/Technical/POC/MOC Interface/PRELIM_SPICE_TEST1.zip that I have not yet added to the repo.

pre-commit.ci autofix

pre-commit.ci autofix


Flash Chip is in an Unknown State - ASUS CN62

I have an ASUS CN62 (fizz).
I ran the command
curl -L -O https://mrchromebox.tech/setup-kodi.sh && sudo bash setup-kodi.sh
Then chose 6.
It returned the following error message:
VERIFY FAILED at 0x00000086! Expected=0x40, Read=0xc0, failed byte count from 0x00000000-0x00ffffff: 0x2
Your flash chip is in an unknown state.
Get help on IRC at irc.freenode.net (channel #flashrom) or email<EMAIL_ADDRESS>with FAILED: your board name in the subject line!
DO NOT REBOOT OR POWEROFF!
FAILED
--------------------------
An error occurred flashing the Full ROM firmware. DO NOT REBOOT!
Press [Enter] to return to the main menu.

I've tried to reach out to the flashrom email, but no response yet. I haven't touched it yet so it's still waiting. What can I do to get it back on track? Please let me know if you need any additional information.

not that it really matters, but the CN62 (Broadwell) is Guado, the CN65 (Kabylake) is Fizz.
two bytes off at that location is nothing to be concerned with, since it's in a part of the flash that we didn't actually write to (it's not writable on a live system, normally). Flashrom probably shouldn't bother verifying areas it didn't write, but that's a separate issue. But you're fine to reboot, the error is spurious.

My mistake, I meant to type CN65.
Thank you for clarifying this. That's a relief.


Refactor Basin Parameter (constructor)

Also, this basin Basin constructor is getting rather monstrous, could be divided into several parts. That is out of the scope of this PR though, so could be worth a new issue.
Originally posted by @SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1849#discussion_r1799336397

Maybe it would be a simple development quality of life improvement of we make a simple Base.show method for Parameters.


Make profile name behave like documentation

The docs make it look like that a profile name is retrieved from the resource's title, but this isn't the case in use. Instead, an explicit profile_name declaration has to be set. This makes the resource behave like the documentation.

The docs explicitly say:

Finally, if you'd like to use a different profile name, you can specify profile_name directly as a parameter. You can read more in the aws-cli docs. (Note that this is a potentially breaking change if you depended on the $title for this previously)

This was introduced in #23 and I'm inclined to leave this feature as is.


List of TODOs

From meeting with @eliotmcintire
Both
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/32
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/34
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/28
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/27
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/33

Ceres
### Tasks
- [x] add LandRDemo
- [x] on the Introduction chapter/SpaDES 101 sectionbreak, we wanted to add figures relating to modules and events + PERFICT figure
- [x] on Introduction we need a sentece that brings together R^3T, PERFICT, SpaDES and New Expectations
- [x] re order New Expectations, so that R^3T appears "together"
- [x] in the Preface: add that this book is (largely) about bringing together data+models to face the challenges/steps all ecology projects face (even if they skip some)
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/31
- [x] unnumber best practices
- [x] bad citation Sarma et al
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/26
- [x] use consistent capitalization in chapter/section titles
- [x] consistent use of .callout div appearance="simple"
- [ ] https://github.com/PredictiveEcology/PredictiveEcology.org/issues/29
- [x] automated building of R scripts

Eliot
### Tasks
- [x] Documentation -- as a topic -- the ways we write it, where to write it etc.
- [x] somewhere mention types of modules --
- [x] Add 3 visuals
- [x] `prepInputs`
- [x] `setupProject`
- [x] on spades workflows section break: figure/GIF with hexes
- [x] Found a Require bug -- seems fine -- unreproducible fail on Ian's computer
- [x] predictiveecology.r-universe.dev does not update packages.
- [x] reproducible
- [x] Continuous Workflow qmd

"Both" task list moved to #35


Allow direct input on box filter

Only being able to adjust the range of the boxes shown with sliders makes it difficult to zero in on specific boxes.

I might replace them by simple drop downs. Other suggestions?

If there is a way to limit it so when you push one slider past the other it stops instead of readjusting both of them that could also help greatly if you still want to keep the aesthetics the sliders provide.


(small issue) Extraction guy floating

he just floats, isnt game breaking, just odd and worth noting.

I can't seem to replicate this? I spawned them and they seemed to be in the correct y offset from the floor to not be floating. It could be something that is changing it at runtime, not sure.

I can't seem to replicate this? I spawned them and they seemed to be in the correct y offset from the floor to not be floating. It could be something that is changing it at runtime, not sure.

Imma try again once home and see if I just got unlucky. It could also be vanilla content expansion which sometimes makes things float at that exact height for some reason

it uh, fixed itself lol, a few mods updated and once they did it got fixed idk which one was causing it

Closing as it seems the issue resolved itself.


Cascaded fby's not supported

Good Morning/Afternoon,
I have been using your tool internally for my own research and it has been very good.
However, I am synthesizing n-deep shift registers. The syntax to do so in kind2 is not supported by velus, and the syntax to do so in velus is not supported by kind2:
-- a two-deep shift register
-- OK in velus, not OK in Kind2
node cascaded_pre(a:int) returns (b:int);
let
    b = 0 fby 0 fby a;
tel

-- a two-deep shift register
-- OK in Kind2, not OK in velus
node cascaded_pre(a:int) returns (b:int);
let
    b =  0 -> (pre (0 -> pre(a)));
tel

Both syntaxes are fine using the verimag compiler.
I was wondering if it would be possible for you to implement cascaded fbys in kind2?
Many thanks

Actually, unless I'm doing something fundamentally wrong, I'm not sure that even single fby is working.
node cascaded_pre(a:int) returns (b:int);
let
    b = 0 fby a;
tel

Results in a syntax error

Forgive me, I can see now in lustreParser.mly that fby is not yet implemented and should return the error "Unsupported operator: fby". Unfortunately it was failing silently for me hence the confusion. I will close this issue now as I can see that fby is not officially supported currently.

For my purposes, it looks like it was sufficent to hack in FBYs as follows in the parser:
| e1 = pexpr(Q); FBY; e2 = pexpr(Q) {
  let pos = mk_pos $startpos in
  A.Arrow (pos, e1, A.Pre (pos, e2))
  }


TODO: drop setTimeout usage

Timers are deprecated in Manifest V3. So setTimeout usage has to be dropped. There are two options for this:

replace/mimic setTimeout call by some finite loop.
change the logic to not use timers at all (neither native not mimicked).

The 2nd one is preferred.

Fixed in v3.0.0


Register button that shows the user the CRNs of his classes

finished showing CRNs in commit 1398d140a0ec4935144a2d2716cb8d9ea6459c55
Still needs styled


[2.x] "dragover" event on document not smooth

I am positioning a custom helper element during the "dragover" events on my document.
On iOS/Android, where the polyfill is used, it is not as smooth as it would be with a "pointerover" event. But I can't use "pointerover", because HTML5 Drag/drop-browsers do not dispatch that event during dragging.
Can the polyfill dispatch "dragover" events faster (smoother) on tablets?

Try to lower the iterationInterval by initializing the polyfill with
polyfill({
  iterationInterval: 50
});

Reference:
https://github.com/timruffles/ios-html5-drag-drop-shim/tree/rewrite#api--options-

Awesome, sorry I didn't RTFM. :-)

No worries 👍
Didn't do much testing with low iterationIntervals - I'm curious if it works well. Do you experience any negative side effects on performance with low iterationInterval values while dragging?

No, it worked perfect on both Android and iOS. I used an interval of 20.

Yay :) Thx for the feedback :)


Install error improvements

do same as in: https://github.com/Cognifide/Maven-CRX-Plugin/pull/14

Done - https://github.com/Cognifide/gradle-aem-plugin/pull/40

Released in 1.4.0


[bug] Kiosk mode fails to restart after setup

I think this ticket is about:
#. Plug a monitor in and see kiosk mode on the screen
#. unplug the monitor
#. Replug the monitor and although the kiosk mode script is still running and firefox reopens, the monitor doesn't display anything


Fix ItemList editor not hiding on node removal

The function for it was already there, it was just not connected.

Thanks!


'source_address': '<IP_ADDRESS>' causes failure to extract data

Checklist

[ ] I'm reporting a broken site support issue
[X] I've verified that I'm running youtube-dl version 2019.10.22
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar bug reports including closed ones
[X] I've read bugs section in FAQ

Verbose log
freya:/dev/shm$ youtube-dl -v --source-address <IP_ADDRESS> https://www.youtube.com/watch?v=HtmkoL3Fz38
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--source-address', '<IP_ADDRESS>', 'https://www.youtube.com/watch?v=HtmkoL3Fz38']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.10.22
[debug] Python version 3.7.4 (CPython) - Linux-5.2.13-arch1-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 4.2.1, ffprobe 4.2.1, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] HtmkoL3Fz38: Downloading webpage
[youtube] HtmkoL3Fz38: Downloading video info webpage
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
ERROR: HtmkoL3Fz38: YouTube said: Unable to extract video data
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py", line 1836, in _real_extract
    'YouTube said: %s' % unavailable_message, expected=True, video_id=video_id)
youtube_dl.utils.ExtractorError: HtmkoL3Fz38: YouTube said: Unable to extract video data

freya:/dev/shm$ youtube-dl -v https://www.youtube.com/watch?v=HtmkoL3Fz38
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/watch?v=HtmkoL3Fz38']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.10.22
[debug] Python version 3.7.4 (CPython) - Linux-5.2.13-arch1-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 4.2.1, ffprobe 4.2.1, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] HtmkoL3Fz38: Downloading webpage
[youtube] HtmkoL3Fz38: Downloading video info webpage
[youtube] {18} signature length 103, html5 player vflsEMaQv
[youtube] {137} signature length 103, html5 player vflsEMaQv
[youtube] {248} signature length 103, html5 player vflsEMaQv
[youtube] {299} signature length 107, html5 player vflsEMaQv
[youtube] {303} signature length 103, html5 player vflsEMaQv
[youtube] {136} signature length 107, html5 player vflsEMaQv
[youtube] {247} signature length 103, html5 player vflsEMaQv
[youtube] {298} signature length 107, html5 player vflsEMaQv
[youtube] {302} signature length 107, html5 player vflsEMaQv
[youtube] {135} signature length 107, html5 player vflsEMaQv
[youtube] {244} signature length 107, html5 player vflsEMaQv
[youtube] {134} signature length 103, html5 player vflsEMaQv
[youtube] {243} signature length 103, html5 player vflsEMaQv
[youtube] {133} signature length 107, html5 player vflsEMaQv
[youtube] {242} signature length 107, html5 player vflsEMaQv
[youtube] {160} signature length 103, html5 player vflsEMaQv
[youtube] {278} signature length 107, html5 player vflsEMaQv
[youtube] {140} signature length 103, html5 player vflsEMaQv
[youtube] {249} signature length 107, html5 player vflsEMaQv
[youtube] {250} signature length 107, html5 player vflsEMaQv
[youtube] {251} signature length 103, html5 player vflsEMaQv
[debug] Default format spec: bestvideo+bestaudio/best
[download] [House] - Mr FijiWiji - Yours Truly (feat. Danyka Nadeau) (Aaron Jackson Remix) [Monstercat Release]-HtmkoL3Fz38.webm has already been downloaded and merged

Description
--source-address <IP_ADDRESS> / --source-address <IP_ADDRESS> (the ipv4 address of the calling machine)
or:
import youtube_dl

ytdl_format_options = {
    'source_address': '<IP_ADDRESS>',
}

with youtube_dl.YoutubeDL(ytdl_format_options) as ydl:
    ydl.download(['https://www.youtube.com/watch?v=HtmkoL3Fz38'])

Will cause erroneous error 429's.

Invalid, related to ipv6 vs ipv4 rate limiting by ip by youtube.


Observe extended query protocol

Add (or update) parsers for new extended protocol packets that we're interested in:

Parse and ParseComplete which prepare statements for execution
Bind and BindComplete which carry parameters for prepared statements
Execute which initiate prepared statement execution

This gives us all the context information we will need for later processing of extended queries. Use it to maintain prepared statement and cursor registries.
For now, we only observe the protocol flow between the client and the database and don't do much extra about it, only logging when we catch this or that packet. The current integration test suite already has some tests which use the extended protocol: TestPgPlaceholders, CensorBlacklistTest, CensorWhitelistTest, TestPostgresqlBinaryPreparedStatement. They all use unnamed cursors and sometimes named prepared statements. I've been looking at these tests to ensure that the parsers don't crash Acra. The coverage is not perfect but that's at least something. In the future I'd like to extend the BasePrepareStatementMixin test to include more diverse prepared statements.
Prerequisites:

[X] #424 needs to be merged
[X] Zeroize packet content after we're done with the query

Expected review:

[ ] @Lagovas
[ ] @iamnotacake

I expect CI to be successful this time. PR is really ready for review now.


release: Use the right variable to build predictable tarball path.

tools/build-release-tarball respects OUTPUT_DIR, not OUTDIR.
Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @alexmv! I guess we need to remember to backport to 5.x; @cognusion FYI.

Backported.


[CI] Enable PR name and plagiarism checks in CI

seems to be blocked by the immediate solution for public CI services limitations: secrets are not shared with forks.


UI: Add cancel button missing on dialog

Description
This PR for the fix to add cancel button missing on dialog

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
After fix:

How Has This Been Tested?

Closed due to incorrect branch merging

@blueorangutan ui

@utchoang a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4763 (JID-3853)

@blueorangutan ui

@rhtyd a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4763 (SL-JID-54)

@utchoang Could you remove the commit https://github.com/apache/cloudstack/pull/4763/commits/d998f2709f1cf1ea5fa957e0b90dfff1b46c17f9 and push ?

@blueorangutan ui

@davidjumani a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4763 (SL-JID-73)


WIP: Cache move

Adapt to mapnik changes (Pending mapnik release and update here).
Node 10 compatibility.

Codecov Report

Merging #22 into v3.6.2-carto will increase coverage by <.01%.
The diff coverage is 100%.

@@               Coverage Diff               @@
##           v3.6.2-carto     #22      +/-   ##
===============================================
+ Coverage         96.19%   96.2%   +<.01%
===============================================
  Files                42      42
  Lines              8837    8853      +16
===============================================
+ Hits               8501    8517      +16
  Misses              336     336

Impacted Files
Coverage Δ

src/utils.hpp
0% <ø> (ø)
:arrow_up:

src/mapnik_map.cpp
99.92% <100%> (ø)
:arrow_up:

src/mapnik_geometry.cpp
91.66% <100%> (+0.05%)
:arrow_up:

src/mapnik_datasource.cpp
90.69% <100%> (+0.07%)
:arrow_up:

src/mapnik_image_view.cpp
99.22% <100%> (ø)
:arrow_up:

src/mapnik_memory_datasource.cpp
84.61% <100%> (+0.09%)
:arrow_up:

src/mapnik_color.cpp
100% <100%> (ø)
:arrow_up:

src/mapnik_featureset.cpp
97.22% <100%> (+0.07%)
:arrow_up:

src/mapnik_grid_view.cpp
98% <100%> (ø)
:arrow_up:

src/mapnik_image.cpp
97.15% <100%> (ø)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


State Loads

Description
Implement polishing features for state loads and fix assertion bugs with serialization. Fix thread safety issues with state accessors by wrapping the state lock release and acquisition in the context manager.
Issues:
closes #28
closes #22
closes #19
Resolutions

[x] implement state recovery cache loads
[x] implement cache reset
[x] Fix thread safety issues with state method invocations
[x] fix #19

Codecov Report

Merging #31 (fadbecd) into master (bde938f) will decrease coverage by 0.20%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
- Coverage   95.09%   94.89%   -0.21%
==========================================
  Files           8        7       -1
  Lines         204      196       -8
  Branches       28       28
==========================================
- Hits          194      186       -8
  Misses          8        8
  Partials        2        2

Impacted Files
Coverage Δ

myosin/models/state.py
100.00% <100.00%> (ø)

myosin/state/state.py
85.71% <100.00%> (+1.23%)
:arrow_up:

Continue to review full report at Codecov.

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


add reset status for upstreamRequest and corresponding check code at …

…the beginning of appendHeader/Data/Trailer method; fix rpc_test typo

FIX #162

golint & goimports result :

Pls provide more details about cases that upstreamProcessDone dont cover and see if we can reuse it to resolve the problem

close #162


versionCode as a lane context parameter

Feature Request
Motivation Behind Feature
I am incrementing the versionCode (Android build number) using the increment_version_code plugin so it is dynamic and would be great to have acessible through the lane context variables. This is important for example (but not only) to create dynamically release notes (see issue https://github.com/fastlane/fastlane/issues/15779)
Feature Description
Make it accessible via lane_context[SharedValues::GRADLE_VERSION_CODE]
Alternatives or Workarounds
I did not found alternatives :(

What action specifically do you think should expose this?

gradle

I believe it shall be within the gradle action and better to add versionName as well.
May be generalized to gym with the build number and marketting version

Does the gradle command line tool surface this information somehow?


Fix sign handling in MUL_DIV module

Fix sign handling in mul_div module.
====> Test PASSED, Total of 62 cases

Please help validate on real hardware. I don't have FPGA to test this.

Thanks for your contribution!


universal-lock: audit data structures to ensure they can handle multiple versions of the same package

Basically, it is suspected that there are some parts of our resolver that implicitly rely on the fact that there is only one version of a package available in resolution. This often leads to things like indexing on just package name. But we probably need to index on version (and possibly extra name?).
This was first brought up by @charliermarsh in https://github.com/astral-sh/uv/pull/3831#pullrequestreview-2086236974

Here's an example failing pyproject.toml that should resolve:
[project]
name = "black"
version = "0.1.0"
description = "Default template for a Flit project"
authors = [
    {name = "konstin", email =<EMAIL_ADDRESS>]
dependencies = [
  "iniconfig @ https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl ; python_version >= '3.12'",
  "iniconfig @ https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl ; python_version < '3.12'"
]
requires-python = ">=3.11,<3.13"
license = {text = "MIT"}

[build-system]
requires = ["flit_core>=3.4,<4"]
build-backend = "flit_core.buildapi"

I see three main types we have to change:

Urls, manifest and lookahead resolver: Urls needs to change from package name -> url to package name -> marker -> url. The lookahead resolver needs to be aware and track diverging branches and forward them to the manifest, which forwards them to the url resolver.
In the same pattern as Urls, Locals needs to become branch aware.
get_dependencies_forking needs to make PubGrubRequirement::from_requirement aware of the marker subset we're in so we can filter Urls and Locals correctly.
PreReleaseMode: When one branch has a prerelase, a different branch with a different version range doesn't need to allow this version range.

get_dependencies_forking needs to make PubGrubRequirement::from_requirement aware of the marker subset we're in so we can filter Urls and Locals correctly.

I'm working on this piece today.

Why does the lookahead resolver or the manifest need to track diverging branches? Isn’t it enough to just track the markers, then handle divergence in Urls?

Let's say we have
root:
a @ https://example.org/a311 ; python_version == "3.11"
a @ https://example.org/a312 ; python_version == "3.12"

https://example.org/a311:
b @ https://example.org/b311_win32 ; sys_platform == "win32"
b @ https://example.org/b311_linux ; sys_platform == "linux"

https://example.org/a312:
b @ https://example.org/b312_win32 ; sys_platform == "win32"
b @ https://example.org/b312_linux ; sys_platform == "linux"

Here we need to keep track of the markers so that when we ask "what is the url of b for python_version == "3.11" && sys_platform == "win32"?", we get https://example.org/b311_win32. We could try doing this in Urls, but i think it has to live in the lookahead resolver, which needs to keep track where a url came from.

It needs to track the requiring markers, just like it tracks the requiring extra, but I don't know that it needs to track divergence. Anyway, give it a shot, the implementation will prove out whether it's necessary or not, I might be wrong here.

Yes, the lookahead resolver does not actually need to check the divergence, it just needs to remember it which marker-conditionalized branch it currently is.

I'm closing this in favor of the more specific #4579 and #4580


ES6 syntax and Modules

On this repository, I change the awesome books project to:

use arrow functions.
divide code into modules.
use Luxon to get the current date and time.

Hi @IsmaelMastronardi, Kindly update your project to have a readme, please use the microverse readme template 👍🏿


More-portable file formats (cavernseerscan v2)

I've had concerns from the beginning about serializing Apple's proprietary AR* structures, particularly not knowing how those structures' buffers were serialized and how that might change over time.
The test of this functionality will be getting all viewing functionality working on macOS (at least the M1 ARM chips) since the macOS APIs differ internally and the AR* structures refuse to deserialize if they were serialized on iOS.

Changes in 3700069 got CavernSeer running on macOS except for the central viewing functionality. Deserialization of our new custom CSMesh* structures appears successful until trying to open the data (equivalent of AR* buffers).

Ultimately don't think I'm ready for a native macOS build, and there are more complexities with actually getting it working. BUT we're now able to run on (M1) macOS as "Designed for iPad" which runs perfectly with v2 files!

An example for posterity of the error when trying to decode a v1 file with ARMeshAnchors on macOS, whether running as an iPad or not


chore: remove _ from all ShaderUtils fields

I kinda liked that naming since it was obvious they were shader properties, but I guess the convention should apply here as well. Approving


pull request for e2e test at 11/08/2016 21:26:08

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add support for WCOW/LCOW QoS

Add support for UVM CPU/Memory/Storage QoS
Add support for WCOW Container CPU/Memory/Storage QoS
Add support for LCOW CPU/Memory QoS
Add CRI Pod/Container tests for QoS settings

@jhowardmsft , @kevpar - PTAL. This passes all CI now. Note 9832667 will one day be reverted if you would like to look at it specifically.


The challenge word blanks needs some fixing (maybe)?

Challenge:  Word Blanks  [http://www.freecodecamp.com/challenges/word-blanks](Word Blanks)
Now that I finished the challenge I would like to point out some things that make no sense, for example.
1.) Why does the challenge use the cat wordblanks as a example? Its not like the wordblanks are automatically added in the code editor. I just think it would make more sense for the cat wordblanks to be at the bottom where the dog wordblanks are.
2.) Also at the bottom of the code editor the sentence "Change the words here to test your function" makes no sense. Why Does it say change the words here? Shouldn't it say  "Do not change the words here to test your function" (without the quotes of course)?
And another thing is why does the challenge let me pass when the cat word blanks are not in the code editor?

If this challenge does not need fixing than let me know and I will close this.

When each test is run, your function wordBlanks is called with different parameters.  The output is then checked using regular expressions to make sure that the words that were passed in show up in the output that the function generates.

The purpose of the last line is to enable you to test your code - that output will appear in the "output" box above the texts.

I agree that this challenge could use some love, but I'm not sure how to make it clearer.  If you have ever played "Madlibs", this is supposed to be like that.

I'll close it, after all not much can be done about it.

I would say that this challenge seems out of place - function is introduced with no explanation, it seems like you have jumped ahead.

function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {
var result = "";
// Your code below this line
result=myNoun+" "+myAdjective+" "+myVerb+" "+myAdverb;
//result="dog, big, ran ,quickly";
//result="cat, little, hit ,slowly";
// Your code above this line
return result;
}
// Change the words here to test your function
wordBlanks("dog", "big", "ran", "quickly");
wordBlanks("cat", "little", "hit", "slowly");


Add RSA

Is your feature request related to a problem? Please describe.
Very useful for people who want to get into cybersecurity
Describe the solution you'd like to add
A basic mathematical overview over the standart RSA algorithm

#740


Informative error messages

A checklist/discussion home for implementing informative error messages.

Adopt rlang user context passthrough for df_check_*() as per rlang docs
Collecting errors to return multiple issues at once -- i.e. in validate_xmap()?
Follow tidyverse error style guide using cli

Collect and return multiple errors?
Currently validate_xmap() checks conditions sequentially like so:
  ## ---- df attributes ----
  df_check_ncol3(df)
  df_check_cols(df, col_attrs)
  df_check_na(df)
  df_check_col_type(df, x_attrs$col_weights)
  df_check_from_set(df, x_attrs$col_from, x_attrs$from_set)

  ## ---- xmap graph properties ----
  df_check_links(df, x_attrs$col_from, x_attrs$col_to)
  df_check_weights(df, x_attrs$col_from, x_attrs$col_weights)

This means that validate will only ever throw one error at a time, this could be quite tedious if your xmap has multiple issues that might make sense to fix all at once.

Changes built into v<IP_ADDRESS>18 ( #114 ) achieve most of this with abort_* fncs. Closing for now until more specific tasks arise


[3016] Add send_courses filtering to the V3

We need to allow to filter send_courses as it is used by Find
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 [M] Add send_courses filtering to the API


rustc: 1.15.1 -> 1.16.0, cargo: 1.16.0 -> 1.17.0, bootstrap: 1.14.0 -> 1.15.1

Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

This fails on darwin with
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/librustc_data_structures
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/libsyntax
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/libfmt_macros
compile: x86_64-apple-darwin/rustllvm/RustWrapper.o
compile: x86_64-apple-darwin/rustllvm/PassWrapper.o
compile: x86_64-apple-darwin/rustllvm/ArchiveWrapper.o
link: x86_64-apple-darwin/rt/librustllvm.a
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/librustc_llvm
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.0.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.1.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.2.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.3.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.4.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.5.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.6.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.7.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.8.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.9.o" "-o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/librustc_llvm-63283ac5.dylib" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.metadata.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "x86_64-apple-darwin/rt" "-L" "/nix/store/qbyy6sigq7y1dqylv68703vg64q2fblc-llvm-3.7.1/lib" "-L" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-force_load,x86_64-apple-darwin/rt/librustllvm.a" "-l" "LLVMInterpreter" "-l" "LLVMMCJIT" "-l" "LLVMExecutionEngine" "-l" "LLVMRuntimeDyld" "-l" "LLVMAsmParser" "-l" "LLVMLinker" "-l" "LLVMBitWriter" "-l" "LLVMipo" "-l" "LLVMVectorize" "-l" "LLVMSparcDisassembler" "-l" "LLVMSparcCodeGen" "-l" "LLVMSparcAsmParser" "-l" "LLVMSparcDesc" "-l" "LLVMSparcInfo" "-l" "LLVMSparcAsmPrinter" "-l" "LLVMMSP430CodeGen" "-l" "LLVMMSP430Desc" "-l" "LLVMMSP430Info" "-l" "LLVMMSP430AsmPrinter" "-l" "LLVMSystemZDisassembler" "-l" "LLVMSystemZCodeGen" "-l" "LLVMSystemZAsmParser" "-l" "LLVMSystemZDesc" "-l" "LLVMSystemZInfo" "-l" "LLVMSystemZAsmPrinter" "-l" "LLVMPowerPCDisassembler" "-l" "LLVMPowerPCCodeGen" "-l" "LLVMPowerPCAsmParser" "-l" "LLVMPowerPCDesc" "-l" "LLVMPowerPCInfo" "-l" "LLVMPowerPCAsmPrinter" "-l" "LLVMMipsDisassembler" "-l" "LLVMMipsCodeGen" "-l" "LLVMMipsAsmParser" "-l" "LLVMMipsDesc" "-l" "LLVMMipsInfo" "-l" "LLVMMipsAsmPrinter" "-l" "LLVMAArch64Disassembler" "-l" "LLVMAArch64CodeGen" "-l" "LLVMAArch64AsmParser" "-l" "LLVMAArch64Desc" "-l" "LLVMAArch64Info" "-l" "LLVMAArch64AsmPrinter" "-l" "LLVMAArch64Utils" "-l" "LLVMARMDisassembler" "-l" "LLVMARMCodeGen" "-l" "LLVMARMAsmParser" "-l" "LLVMARMDesc" "-l" "LLVMARMInfo" "-l" "LLVMARMAsmPrinter" "-l" "LLVMX86Disassembler" "-l" "LLVMX86AsmParser" "-l" "LLVMX86CodeGen" "-l" "LLVMSelectionDAG" "-l" "LLVMAsmPrinter" "-l" "LLVMCodeGen" "-l" "LLVMTarget" "-l" "LLVMScalarOpts" "-l" "LLVMProfileData" "-l" "LLVMInstCombine" "-l" "LLVMInstrumentation" "-l" "LLVMTransformUtils" "-l" "LLVMipa" "-l" "LLVMAnalysis" "-l" "LLVMX86Desc" "-l" "LLVMObject" "-l" "LLVMMCParser" "-l" "LLVMBitReader" "-l" "LLVMMCDisassembler" "-l" "LLVMX86Info" "-l" "LLVMX86AsmPrinter" "-l" "LLVMMC" "-l" "LLVMX86Utils" "-l" "LLVMCore" "-l" "LLVMSupport" "-l" "tinfo" "-l" "pthread" "-l" "z" "-l" "m" "-l" "c++" "-L" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib" "-l" "std-63283ac5" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rustc.EkqoYLD3ouWx/libcompiler_builtins-63283ac5.rlib" "-l" "System" "-l" "c" "-l" "m" "-dynamiclib" "-Wl,-dylib"<EMAIL_ADDRESS>"-Wl,-rpath,@loader_path/" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib"
  = note: Undefined symbols for architecture x86_64:
  "_LLVMInitializeNVPTXTargetInfo", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
  "_LLVMInitializeNVPTXTarget", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
  "_LLVMInitializeNVPTXTargetMC", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
  "_LLVMInitializeNVPTXAsmPrinter", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
ld: symbol(s) not found for architecture x86_64
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error

make: *** [/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/mk/target.mk:195: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/stamp.rustc_llvm] Error 101
builder for ‘/nix/store/1k41jyh91iy7y72yl8vh96pgbz335acm-rustc-1.16.0.drv’ failed with exit code 2

does darwin use a different llvm version? _LLVMInitializeNVPTXTargetInfo

Yes, I'm looking at it.

This is with llvm_39, but I have not looked at it any further https://gist.github.com/LnL7/a03d121e7ceabbca7b7d2216aace4be4

Any update on this? Maybe open an upstream issue?

I don't have a Mac to test unfortunately so I can't comment on that, but I did notice in the nix expression that there are 2 tests that were disabled due to them being specific to LLVM 3.9. I re-enabled them since LLVM 3.9 is now used with Rust.

That might explain the first failure. To clarify 1.15.1 works fine with llvm_39, the gist I posted is specific to this new version.

Does #24418 fix the darwin issue of this ticket? I find it quite unfortunate that this has been blocked for such a long time.

That fixed the llvm issue, but the failing tests with dlsym(__rustc_plugin_registrar): symbol not found are still a problem. I've been working on some other stuff, but I should have some time to look into this now.

Can we go ahead and merge this? I hate both sides of the coin of breaking OSX, and having old Rusts.

@grahamc I'm not sure, this will break the entire ecosystem for darwin users and since nixpkgs-unstable is the only channel that hydra builds for darwin this will propagate pretty quickly. Perhaps adding this as rustc_1_15_1 (like we do for most compilers/languages) and keeping the current as the default to build other packages is a better solution?

I'm against adding this as rustc_1_16_0 - this will hide the upgrade from everyone. Instead, we could rename our current rust to rustDarwin and merge this. This plus rust = rustDarwin on darwin won't break  anything.

@MP2E Ping - are you interested in modifying this PR? If not, can someone fork off this branch and implement the necessary changes?

I disagree with that, either there are packages that expect/need the new version making it kind of irrelevant to have it as the default for darwin. Changing the default version depending on the platform will only lead to confusion. If we leave rustc_1_15_1, around darwin users will still have a workaround for packages that don't need the new version.

I would be willing to make modifications once we have a consensus on what to do, however note that rust 1.17.0 will be released in about a week at this point. Perhaps bumping cargo, rustc, bootstrap rustc at that point will fix our darwin issues?

Rust 1.17.0 will be the first release, which will have old make build system removed. We will need to modify rust packaging to use rustbuild.

Closing as Rust 1.17.0 is out and this will need some reworking


"connection's current state is open" exception on operation after using DDL methods

Calling one of the DDL methods (Exists and/or Delete) must be leaving something open with the connection as we get an error when any subsequent database operation is performed.
using Microsoft.Data.Entity;
using Microsoft.Data.SqlServer;

namespace ConsoleApplication54
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new MyContext())
            {
                if(!db.Database.Exists())
                {
                    db.Database.Create();
                }

                db.Blogs.Add(new Blog { Name = "Test", Url = "test.com" });
                db.SaveChanges();
            }
        }
    }

    public class MyContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }

        protected override void OnConfiguring(EntityConfigurationBuilder builder)
        {
            builder.SqlServerConnectionString(@"Server=(localdb)\v11.0;Database=MyDatabase;Trusted_Connection=True;");
        }
    }

    public class Blog
    {
        public int BlogId { get; set; }
        public string Name { get; set; }
        public string Url { get; set; }
    }
}

System.AggregateException was unhandled
  _HResult=-2146233088
  _message=One or more errors occurred.
  HResult=-2146233088
  IsTransient=false
  Message=One or more errors occurred.
  Source=mscorlib
  StackTrace:
       at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
       at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
       at System.Threading.Tasks.Task`1.get_Result()
       at Microsoft.Data.Entity.DbContext.SaveChanges()
       at ConsoleApplication54.Program.Main(String[] args) in c:\Users\rowmil\Documents\Visual Studio 2013\Projects\ConsoleApplication54\ConsoleApplication54\Program.cs:line 18
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.InvalidOperationException
       _HResult=-2146233079
       _message=The connection was not closed. The connection's current state is open.
       HResult=-2146233079
       IsTransient=false
       Message=The connection was not closed. The connection's current state is open.
       Source=System.Data
       StackTrace:
            at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
            at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
            at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
            at System.Data.SqlClient.SqlConnection.OpenAsync(CancellationToken cancellationToken)
         --- End of stack trace from previous location where exception was thrown ---
            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
            at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
            at Microsoft.Data.Relational.RelationalConnection.<OpenAsync>d__1.MoveNext()
         --- End of stack trace from previous location where exception was thrown ---
            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
            at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
            at Microsoft.Data.Relational.RelationalDataStore.<SaveChangesAsync>d__1.MoveNext()
         --- End of stack trace from previous location where exception was thrown ---
            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
            at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
            at Microsoft.Data.Entity.ChangeTracking.StateManager.<SaveChangesAsync>d__1.MoveNext()
       InnerException:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.InvalidOperationException: The connection was not closed. The connection's current state is open.
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at El.Trathmore_Shool_Management_System.frmLogin.OK_Click_1(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3132.0 built by: NET472REL1LAST
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
El.Trathmore Shool Managemetn System
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Program%20Files%20(x86)/Default%20Company%20Name/Setup1/El.Trathmore%20Shool%20Managemetn%20System.exe
Microsoft.VisualBasic
Assembly Version: <IP_ADDRESS>
Win32 Version: 14.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3151.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
System.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3160.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
System.Runtime.Remoting
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Runtime.Remoting.dll
System.Data
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3160.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Data.dll
System.Transactions
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Transactions.dll
System.EnterpriseServices
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.EnterpriseServices.dll
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Guys after i have created my setup ,thats the error that i got vb2010 ,,,any help

@peterkachezi This GitHub repo is for Entity Framework Core. There is nothing in info above that looks like it is related to EF Core.


[Bazel Python3.11] Update Bazel dependencies for Python 3.11 (v1.56.x backport)

Backport of #33318 to v1.56.x.
We just found out that our current Bazel setup does not support Python 3.11.
This PR updates some dependencies to allow using Bazel in Python 3.11.
Cython:

Cython backported Python 3.11 support change to 0.29x, but it appears that the Cython version we are using in Bazel does not include the fix, so we're using the latest stable version instead.

Gevent:

The first version of gevent that supports Python 3.11 is 22.08.0.

Testing

Tested locally using Python 3.11 virtual environment, was able to reproduce the issue and verified that those changes were able to fix it.

CC @yijiem


Questions about pull requests and more

Questions about pull requests and more
关于提交请求及其他的一些问题
您好，我昨天晚上（北京时间）已经提交了关于简体中文语言本地化的提交请求。但是由于我个人对这一功能的不熟悉，导致发生了多次操作，这是我的失误，很抱歉。我今天上午看到您已经在主仓库里添加了package.appxmanifest的更改，但是好像没有看到strings/zh-cn/resources.resw的更改，是不是您漏更了这一项，在对应的第五次提交中即可看到。希望您检查一下。
Hello, I submitted the pull request for simplified Chinese language localization last night (Beijing time). However, due to my personal unfamiliarity with this function, several operations occurred, which is my fault, I am very sorry for that. I saw this morning that you have added the change of package.appxmanifest in the main warehouse, but it seems that you have not seen the change of strings/zh-cn/resources.resw. Is it possible that you have omitted this item, which can be seen in the corresponding fifth submission? I'd like you to check it.
关于昨天晚上提交的问题，我觉得未来的版本提升一下SDK到19041，最低版本到17763是不是更好呢？毕竟目前的visual studio 2022可安装的SDK耶不包含17763了
As for the question submitted last night, I think it would be better to upgrade the SDK to 19041 and the lowest version to 17763 in the future version.After all, the current visual Studio 2022 installable SDK does not include 17763

For the first question, I just added the locale for the packaging project.
For the second, you can, just make sure you can maintain compatibility.

好的，谢谢您的帮助，祝您在假期里节日快乐，希望能够在下一个版本添加一些新功能并能够带来简体中文的应用
Ok, thank you for your help, wish you a happy holiday in the holiday season, hope to add some new functions in the next version and bring simplified Chinese application


Update patch types

Added new InsertPatch type, which now applies to inserts on Text and List/Sequence elements.
Added new SpliceTextPatch type which is produced when text is added to a TextV2 string element.
Removed SplicePatch type, which no longer exists.

The deno_tests ci action fails right now, but should pass once the action has been fixed.

Could you rebase this on main to see if the CI failures go away?

Done! This obviously introduces a BC by removing the SplicePatch type.


Different narrowing behaviour of user-defined type guards vs discriminated unions

TypeScript Version:  nightly (2.1.0-dev.20160804)
Code

interface A { type: 'A' }
interface B { type: 'B' }

function isA(x: A|B): x is A { return x.type === 'A'; }
function isB(x: A|B): x is B { return x.type === 'B'; }

// Using if/else with type guard functions
function foo1(x: A|B): any {
    x // x is A | B
    if (isA(x)) {
        return x; // x is A
    }
    x // x is B |
    if (isB(x)) {
        return x; // x is B
    }
    x // x is B, but should be never                    <===== (1)
}

// Using if/else with discriminated unions
function foo2(x: A|B): any {
    x // x is A | B
    if (x.type === 'A') {
        return x; // x is A
    }
    x // x is B
    if (x.type === 'B') {
        return x; // x is B
    }
    x // x is never                                     <===== (2)
}

Expected behavior:
x is narrowed to never at both (1) and (2)
Actual behavior:
x is narrowed to never at (2), but at (1) it is narrowed to B.
Notes:
This is carried over from #9260 which is closed. See https://github.com/Microsoft/TypeScript/issues/9260#issuecomment-237564186

cc: @ahejlsberg

@yortus This one is also fixed by #10194.


Make test framework version-aware

git cherry-pick e0b9c71088
Fixed: https://github.com/istio/istio/issues/31371

Hi @xichengliudui. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Documentation on Proxy patterns has circular reference between docs and blog

Proxy patterns documentation has a circular reference between the docs and the blog.
https://docs.zeppelinos.org/docs/pattern.html has a note at the top referencing a blog post:

Note: For a more in depth read, please see blog.zeppelinos.org/proxy-patterns, which discusses the need for proxies, goes into more technical detail on the subject, elaborates on other possible proxy patterns that were considered for ZeppelinOS, and more.

But the blog post https://blog.zeppelinos.org/proxy-patterns/ has a note at the top pointing back to the same docs article:

Update December 2018: Since this article was originally published, we have been working hard at ZeppelinOS on refining the proxy patterns we use on our libraries. Read here about the decisions we arrived at, and check out the ZeppelinOS audited implementation of those patterns.

There is no longer a circular reference but the link in the article is now broken.


jackaudio: remove aften dependency to fix aarch64 build

Motivation for this change
The jackaudio package was changed in #60447, which brought in the aften dependency on linux, but aften doesn't build on aarch64.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@grahamcofborg build jack2

Can we only depend on it for darwin?

This should fix #61571

The change in #60447 seemed to intentionally move aften from Darwin to common, but the jack configuration script only checks for it on Darwin.
    if conf.env['IS_MACOSX']:
        conf.check(lib='aften', uselib='AFTEN', define_name='AFTEN')

PR updated to move it back.

The change in #60447 seemed to intentionally move aften from Darwin to common, but the jack configuration script only checks for it on Darwin.
    if conf.env['IS_MACOSX']:
        conf.check(lib='aften', uselib='AFTEN', define_name='AFTEN')

PR updated to move it back.

Right I looked at the same part of the configuration script.

@thefloweringash Can you change the commit msg to be succinct to what's happening now?
Other than that, once this builds I will merge it.

@GrahamcOfBorg build jack2

Merged to staging in 19dd115588667b1f4cff178ded84642b6a14f45a


Add myself to OWNERS for incubator/elasticsearch

What this PR does / why we need it:
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:

/lgtm

@paulczar need to sign the DCO for both authors or somehow add the label

It likely because the merge of master didn't have the signoff in it's commit.

/lgtm

ugh yeah it looks like me using the github ui to rebase and fix the merge conflicts really messed things up.  both commits have DCOs, so I don't know what our best course of action here is.    It may be best to just make a new PR and close this one out ?

agree

I can redo the PR. I will get that done now.

Closing in favour of #7601


Error: direnv error: direnv: error Unknown target shell 'json'

Contents of my .envrc for this project is pretty simple:
layout python3
Let me know if/how to collect more information.

What's your direnv version? (run direnv version)
Probably your version is < 2.8.0 and that is why it errors with Unknown target shell 'json'. Try to update direnv to the latest version.
This extension relies to the direnv export json command which got introduced at the 2.8.0 version.

Thanks! Xenial rolls with 2.7.0, upgrading to 2.10.0 fixes the error message.


feat: export public types only

This PR does a few things:

All exported artifacts are labeled with an accessor tag (@internal, @public, etc).
The types.ts file (originally called api-docs-entry.ts) is auto-generated using utils/export-all.js.
api-extractor only extracts non-@internal types.
Several proxy properties of Puppeteer are deprecated and encourage importing them directly from 'puppeteer'.
Some comments are fixed.
Some internal symbols have been renamed.

Does this mean that it's not possible to access the RemoteObject of a JSHandle anymore? (Or at least not without unsound casts.)
Because in that case, you could consider creating a way to somehow still access (parts of) it. It can actually be pretty useful for stuff like this:
A function that recursively unwraps handles unless they are handles to things that do not make sense unwrapped (functions, Nodes), which it leaves as JSHandles/ElementHandles.
For example, it transforms JSHandle<{elem: Element, score: number}[]> to {elem: ElementHandle<Element>, score: number}[].
async function unwrapHandle<T>(handle: JSHandle<T>): Promise<UnwrappedHandle<T>> {
	return await unwrapHandleEx(handle, () => true) as UnwrappedHandle<T>;
}

async function unwrapHandleEx<T>(handle: JSHandle<T>, shouldUnwrap: (className: string) => boolean = className => ['Object', 'Proxy'].includes(className)):
	  Promise<UnwrappedHandleEx<T>> {
	//XXX Replace _remoteObject with stable version if ever available

	// Leave functions & symbols wrapped
	if (['function', 'symbol'].includes(handle._remoteObject.type))
		return handle as UnwrappedHandleEx<T>;

	if (handle._remoteObject.type === 'object') {
		if ([undefined, 'proxy'].includes(handle._remoteObject.subtype)) {
			if (shouldUnwrap(handle._remoteObject.className!))
				return Object.fromEntries(await Promise.all([...await handle.getProperties()]
					  .map(async ([k, v]) => [k, await unwrapHandleEx(v, shouldUnwrap)]))) as UnwrappedHandleEx<T>;
		} else {
			if (handle._remoteObject.subtype === 'null')
				return null as UnwrappedHandleEx<T>;
			if (handle._remoteObject.subtype === 'array')
				return await Promise.all([...await handle.getProperties()]
					  .map(async ([, v]) => await unwrapHandleEx(v, shouldUnwrap))) as UnwrappedHandleEx<T>;
		}
		return handle as UnwrappedHandleEx<T>;

	} else  // Return other types such as numbers, booleans, bigints, etc. unwrapped
		return (handle._remoteObject.type === 'undefined'
			  ? undefined
			  : handle._remoteObject.value
			  ?? (handle._remoteObject.unserializableValue
					? eval(handle._remoteObject.unserializableValue)  // You may want to use a map here instead
					: await handle.jsonValue())) as UnwrappedHandleEx<T>;

(UnwrappedHandle* types excluded for brevity, but you can have them if you want)

Another problem this created is that because Protocol is not exported, the consumer needs to keep devtools-protocol version in sync with the one used by puppeteer, at least if they don't want to reach into a transitive dependency (i.e. undeclared in package.json).
Example where this is an issue: https://github.com/niieani/puppeteer-intercept-and-modify-requests/pull/4/files

@jrandolf could you please take a look? I think it makes sense to export Protocol too and create a documented way to access the remote object.

@niieani @stevenwdv Could you please file an issue for what you are requesting?


GDScript: Allow utility functions to be used as Callable

This PR aims to improve GDScript consistency. After #82264, it makes sense to allow utility functions to be used as Callables too.

prints.callv([1, 2, 3])
print(mini.call(1, 2))
timer.timeout.connect(print.bind("Completed!"))

Also, this makes it possible to call vararg utility functions (such as print()) with Callable.callv() without boilerplate.

Thanks!


Status changes and the Windows notifications

Because WebCord doesn't track activity outside the program unlike Discord, your profile will be set to Idle if you haven't interacted with the program for a little while. This is a bit annoying, as despite being Online it won't show up that way even if you want it to.
Obviously adding tracking would defeat one of the main purposes of WebCord, but being able to stop automatic status changes would be helpful feature to add, at least for the online status. I'm sure it's not possible to just disable this due to how Discord works, but implementing a setting or something that just periodically sends a sort of keep-alive signal to stay online seems doable.
Another thing that would be a nice change is be the programs name in the Windows notifications. Currently, it shows up as "electron.app.WebCord". This really isn't that big of a deal as it doesn't actually impact anything in terms of usability, but changing it to just show up as "WebCord", possibly with an icon, would look a lot nicer.

Another thing that would be a nice change is be the programs name in the Windows notifications. Currently, it shows up as "electron.app.WebCord".

I don't think there's a way to change this, at least from Electron's code side. Maybe there's a way to configure something in Electron packager through.

I'm sure it's not possible to just disable this due to how Discord works, but implementing a setting or something that just periodically sends a sort of keep-alive signal to stay online seems doable.

If Discord assumes you're actively using it, it will also assume that rendering animations in background is OK (i.e. GIFs, SVG) which is what I would like to prevent to conserve the resources. I believe in older Discord there was a setting to actually disable automatic idle status, but right now I can't find it.

I don't think there's a way to change this, at least from Electron's code side. Maybe there's a way to configure something in Electron packager through.

Gotcha, I may try to at least see if I can change this using the Windows registry. I'll update here if I can figure out a way for anyone who wants to do the same.

If Discord assumes you're actively using it, it will also assume that rendering animations in background is OK (i.e. GIFs, SVG) which is what I would like to prevent to conserve the resources. I believe in older Discord there was a setting to actually disable automatic idle status, but right now I can't find it.

Ah, that makes sense. Discord doesn't seem to keep rendering animations for me unless the window is actually active, as all animations freeze if I go to something else. It wouldn't need to be a constant thing, just an occasional ping to stop the status from going to idle.  I may try and just do this for myself using an Auto Hotkey script.

Hey, it seems like the notification name can be set properly according to this
https://stackoverflow.com/questions/64237127/electron-app-notification-states-the-app-sending-notification-is-electron-app-a

Hey, it seems like the notification name can be set properly according to this https://stackoverflow.com/questions/64237127/electron-app-notification-states-the-app-sending-notification-is-electron-app-a

AppUserModelId should be already set in the latest stable release (to WebCord.SpacingBat3). The issue that depended on it was #164.

As a side note, take a look how AppUserModelId was implemented in v3.5.2:
https://github.com/SpacingBat3/WebCord/blob/561e01e8c1b09ca71c4c96ef05058d0f8e3fcadb/sources/code/common/main.ts#L81-L86
https://github.com/SpacingBat3/WebCord/blob/561e01e8c1b09ca71c4c96ef05058d0f8e3fcadb/sources/code/common/modules/client.ts#L11-L24
I do not see any bugs there. The current implementation changed a little, since it uses defaultBuildInfoConfig as a fallback value to actually let WebCord know which flag or feature is the default one.
Also, you might think why SpacingBat3.WebCord and not WebCord? This is to actually conform with the spec.

I was actually in the middle of checking it out when you posted this. I'm not really familiar with typescript but I took a look at the code, so apologies if I misunderstand anything, but two things seem to stand out to me.
The first is that AppUserModelId is set in /sources/code/common/main.ts, but not in /sources/main/windows/main.ts so perhaps its being overwritten somehow? The other thing that confused me, is that build info comes from client.ts which mentions buildInfo.json, but I can't seem to find the actual buildInfo.json file anywhere.
These may both mean absolutely nothing, as like I said I don't really understand how this is all put together, but it caught my eye.
It might also be possible that the name Windows is resolving isn't updating, so perhaps the name it associates with WebCord is coming from a version that was previously installed before the change. I'll try to run WebCord in a clean VM and see if it changes at all.

Just tried out WebCord in a clean Windows 10 VM, and the notification name is still showing up as 'electron.app.WebCord', so it seems like the change implemented in v3.5.2 isn't working properly.

The first is that AppUserModelId is set in /sources/code/common/main.ts, but not in /sources/main/windows/main.ts so perhaps its being overwritten somehow?

Nah, the directory structure has been chosen to represent at which process the given module is functional. common is functional at both main and renderer.

The other thing that confused me, is that build info comes from client.ts which mentions buildInfo.json, but I can't seem to find the actual buildInfo.json file anywhere.

That's because it is generated on build time, as the name says by itself.

It might also be possible that the name Windows is resolving isn't updating, so perhaps the name it associates with WebCord is coming from a version that was previously installed before the change.

I doubt that is the case, either it could be unset due to AppUserModelId being a nullish value (which would have to be debugged to confirm that) or app.setAppUserModelId not working. Either way, the implementation had changed and it might work differently in the builds with master branch. I'll check how it works right now in VM.

I was able to fix this. I haven't really messed with Electron before, but I unpacked app.asar and modified main.js, and once repacked the application name is showing up properly. All I did was was replace
{
const { AppUserModelId } = (0, client_1.getBuildInfo)();
if (process.platform === "win32" && AppUserModelId)
main_1.app.setAppUserModelId(AppUserModelId);
}
with
if (process.platform === 'win32')
{
main_1.app.setAppUserModelId('WebCord')
}
I don't completely undesrtand how this implementation of setting AppUserModelId is different, but it seems like there is an issue with the original somewhere, as I also tried just replacing AppUserModelId with 'WebCord' in the original and it showed up as electron.app.WebCord again.
It seems like this change has also effected the issue with taskbar pinning, as once I made the change a new icon appeared, and once that was pinned seems to be working properly. I did encounter an issue with the icon moving again on my Windows 11 Laptop, so this may hopefully fix that.

I was able to fix this. I haven't really messed with Electron before, but I unpacked app.asar and modified main.js, and once repacked the application name is showing up properly. All I did was was replace
{
    const { AppUserModelId } = (0, client_1.getBuildInfo)();
    if (process.platform === "win32" && AppUserModelId)
        main_1.app.setAppUserModelId(AppUserModelId);
}

with
if (process.platform === 'win32')
{
    main_1.app.setAppUserModelId('WebCord')
}

I don't completely understand how this implementation of setting AppUserModelId is different, but it seems like there is an issue with the original somewhere, as I also tried just replacing AppUserModelId with 'WebCord' in the original and it showed up as electron.app.WebCord again.
It seems like this change has also effected the issue with taskbar pinning, as once I made the change a new icon appeared, and once that was pinned seems to be working properly. I did encounter an issue with the icon moving again on my Windows 11 Laptop, so this may hopefully fix that.

I'm not sure whenever this is fixed in 3.5.2, but definitely is in master releases:

Ah, that might be the issue then. To download the master release, I would need to compile it, right?

Ah, that might be the issue then. To download the master release, I would need to compile it, right?

It will make it to WebCord 3.6.0, which is now being built by GitHub.

Just confirming that the issue was in fact fixed in 3.6.0, the notification title now shows up as it should.


upgrade OTEL version to v1.7.0.

Description
upgrade OTEL version to v1.7.0:

upgrade otel version to 1.7.0, and its subpackages to v0.30.0;
use Async UpDownCounter instead of Sync UpDownCounter;

Note: we upgrade the OpenTelemetry to v1.7.0, and its subpackages to v0.30.0, to use Async UpDownCounter instead of Sync UpDownCounter.
According official reference, UpDownCounter :
For fetching the snapshot of the “current value” is straightforward, use Asynchronous UpDownCounter instead, not Synchronous UpDownCounter.
GitHub Issues

GitHub Issue #

https://github.com/dell/csm/issues/354

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[x] I have maintained at least 90% code coverage
[x] I have inspected the Grafana dashboards to verify the data is displayed properly
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have maintained backward compatibility

How Has This Been Tested?

[x] Test A: UT tests

[x] Test B: Grafana PowerStore Volume IO Metrics: checked it value is consistent with PStore Mgmt UI's volume value
PStore Mgmt UI:

Grafana:

[x] Test C: Grafana PowerStore FileSystem IO Metrics: checked it value is consistent with PStore Mgmt UI's nfs volume value
PStore Mgmt UI:

Grafana:

[x] Test D: Grafana PowerStore Storage Class Capacity:
Grafana:

Manual inspection of the GUI
I have verified that the dashboards show the data properly while generating I/O and storage resources

[x] Yes
[ ] No

Can one of the admins verify this patch?

run e2e test

run e2e test

e2e pass


Multiple Drupal VMs on a single MacBook - Shared software versions and IP addresses

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 1.9.3
VirtualBox 5.1.18r114002
ansible <IP_ADDRESS>
  config file =
  configured module search path = Default w/o overrides

Your OS

macOS (version)

Summary
Multiple Drupal VMs on a single MacBook - Shared software versions and IP addresses

I am trying to find out the best practices for having multiple Drupal VM's (often as BLT managed projects) on a single laptop.
Here is the scenario:
On laptop #1, for project #1, a VM was created almost one year ago, using at that time, the current versions of VirtualBox, Vagrant, Ansible, (this project does not use BLT).  The software on this machine is now out of date, e.g. Vagrant version 1.8.7, Drupal VM base box 1.1.2, old version of Guest Additions, etc.
On laptop #2, for project #2, a VM was created last week using BLT. That laptop has the latest versions of VirtualBox, Vagrant, Drupal VM 4.4.0, Drupal VM base box 1.2, Ansible, Guest Additions, and BLT 8.7.0-beta1.
Now the developer assigned laptop #1 needs to work on both project #1 and project #2.
Questions:

Since project #2’s VM needs to be created with “blt vm” on laptop #1 using the latest version of BLT and Drupal VM included with the project, wouldn't upgrading laptop #1's Virtual Box, Vagrant, and Drupal VM base box, Guest Additions, and Ansible to the latest versions be necessary?  But wouldn’t that break project #1’s VM, because it is using an older Drupal VM base box that needs an older version of Guest Additions, and the older base box from which it was created may require an older Version of Vagrant?

Is there a way to avoid updating project #1's Drupal VM’s base box, while providing the latest base box version to project #2?  That is, can two Drupal VMs on the same laptop be using different versions of the DVM base box?  And would the capability for either of them to be rebuilt using “vagrant destroy/vagrant up” or “blt vm:nuke/blt vm” be available?  Or is it such that a given installation of Vagrant can only have one version of a base box from which VM’s are created?  Or perhaps there is a way in config.yml to specify not only the base box, but the base box version as well? E.g. vagrant_box_version: 1.1.2?  Kind of like a Composer lock file, so that if the base box is updated with “vagrant box update” and the VM is re-installed, the new VM still has a 1.1.2 base box.

If a project's base box is updated (vagrant box update), then can the project's config.yml and Vagrantfile's be re-created from the latest versions of these files found in Drupal VM or BLT? Of course, all custom settings would need to be moved from the old config.yml files to the new versions.  The instructions at https://github.com/geerlingguy/drupal-vm#updating-drupal-vm suggest reading the release notes and manually editing the existing config.yml file. But wouldn’t it be cleaner to do a diff of the old and new config.yml files, and then manually update the new version with any custom settings present in the old version?

Some versions of Drupal VM are marked as "breaking", what exactly does that mean?

Could it be, that given the complexity of the version inter-dependencies (e.g. Vagrant version dependent on VirtualBox version, Drupal VM box version dependent on Guest Additions version, and Ansible version etc) the best practice for having multiple Drupal VM's (or multiple BLT managed projects that use Drupal VM) is to simply require that all the projects be able to use the latest software versions?  It seems that is the most practical, since once an error is found in one of the VM's that can be fixed by updating, then the most practical way of fixing the issue is to update the entire Vagrant family of software (Virtual Box, Vagrant, plugins, Ansible, base boxes, etc.).  And thus the need for all projects to be able to use the latest software versions.

I see that the IP address is now set to <IP_ADDRESS> in the default (BLT) config.yml template.  If using host updater and auto network, can multiple VMs be run (not simultaneously – but rather one at a time) on the same OSX machine?  What was the reason for changing from to 25.8 from the old default setting of <IP_ADDRESS>?.  It seems that running multiple VMs with the same IP causes confusion related to the “Known Hosts” .ssh file, is there a way to prevent those errors (other than deleting/editing known hosts)?

Thanks for your help!

Eek, that's a lot of questions—I'll try to quickly answer them:

I have about 35 instances of Drupal VM I actively use (3 for BLT projects, the rest for other projects)—the best answer I have is to just always keep Vagrant, VirtualBox and Ansible up to date. With rare exception, newer versions will always work better than old.

And IMO, you should be willing to vagrant destroy -f any VM at any time, since you should have all the config in your codebase, and you can just vagrant up and get back to the full local environment again whenever. (I probably destroy and recreate 5-10 VMs on a given day since I have to jump around projects.)

I think if you update a box with Vagrant, it will keep around the old one unless and until you run vagrant box remove 'boxname', so as long as you don't destroy an old VM, it will stay put just fine. However, once you destroy that VM, if you have a newer box version, it will be used for the next vagrant up instead of the older box (you can't pin box versions to individual Vagrantfiles).

Whenever I do an update, I read through the release notes, but also do a quick git diff on any files BLT changed, then compare the extra settings I've changed to upstream variables/changes in Drupal VM. It's really tedious if you're on a really old version of Drupal VM and upgrade to latest (same goes with pretty much any software... that's technical debt for you :).

But again, base boxes are basically just updated versions of the underlying OS... updating a base box is often identical to running apt-get upgrade -y inside an old VM. The only other thing that changes is Guest Additions versions, but if you have the vagrant-vbguest plugin installed, you can technically use any version of VirtualBox with no ill effect (I know a few people still using VirtualBox 5.0.x, for reasons I know not, but you can do this and get it working...).

Breaking == there are default.config.yml variables that must be changed to ensure your configuration works identically. For example, when I cleaned up the Drupal deployment/Composer management components, some variables changed like composer_install to drupal_composer_install. I usually have a shim that allows backwards compatibility (and in that case I do), but not always.

Yes. Yes yes yes.

Just like with Drupal itself, if you ever stop upgrading anything, you're in for a nightmarish level of technical debt. Remember what happened when people built Drupal 7 sites and left them at like 7.2 or 7.8 or whatever? Drupaggeddon quickly ruined all of those sites. There are and will be more security (and other) issues with Vagrant, VirtualBox, Ansible, macOS, Windows, etc. The only way to combat it is to stay up to date.

I often have 10-20 VMs running locally—there are two ways of making this happen:

Make sure every VM has a unique vagrant_ip (I do this for every project I work on anyways)—the BLT default is just a default, it's meant to be changed.

Use the vagrant-auto_network plugin and set vagrant_ip to <IP_ADDRESS>

Note that you can set these things in your own local.config.yml so that you can set whatever you want and not affect the rest of your team (if you're working on a shared project).
Basically, the takeaways:

Always factor in code churn and technical debt in a project—maintenance isn't a nice-to-have, it should be a top-line feature. Upgrading software, modules, libraries, etc. should be routine and occur often.
Use a unique IP for each VM, or use autonetwork.
Use local.config.yml to override things just for yourself.

Thanks so much for your quick and clear response!
Sorry my question was so long, I have been working on a script that automates onboarding new developers for projects managed by BLT, and built up these questions over several weeks.  The goal of the script is to create a complete, functioning local development environment in just one command, e.g. run ./onboard.sh.  I am still fine-tuning the script, hope to post it to the BLT project soon for others to use, or perhaps work to make it a BLT task, e.g. "blt local:onboard"

@captaindav - No problem! If you have any more specific questions, please feel free to post as additional questions. And definitely at least add an issue about this on the BLT project, when you feel ready. I think there are other teams that would benefit from knowing about that strategy, even if the work didn't get merged directly into BLT.

@geerlingguy - I added an issue for the BLT New Project and Onboarding scripts  captaindav/blt-example#1269, would be interested to hear if you think the approach makes sense or if they run on your machine. #1265

@geerlingguy Question 6 is of interest to me, how do you keep track of all the IP's you have used?


Crash while trying to create a functionapp

I'm trying to get a full deployment from the CI working - have it just take subscription ID and certificate as parameters and create everything from scratch there to use the functions.
I got stuck on creating the functionapp. Resource group and plan mentioned are newly created from the UI, but I would like to create them from scratch eventually as well.
$ func azure functionapp create --name="echo" --subscription="41a9e5b4-0404-4193-9334-6a9d016e7631" --resource-group="uksouthfunctionresources" --location="uksouth" --plan="ukfuncplan"
System.Net.Http.HttpRequestException: Response status code does not indicate success: 409 (Conflict).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at WebJobs.Script.Cli.Arm.ArmManager.<ArmHttpAsync>d__11`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at WebJobs.Script.Cli.Arm.ArmManager.<CreateFunctionAppAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at WebJobs.Script.Cli.Actions.AzureActions.CreateFunctionAppAction.<RunAsync>d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at WebJobs.Script.Cli.ConsoleApp.<RunAsync>d__4`1.MoveNext()

The plan is to move all management operations to Azure Cli and keep this for dev scenarios. Therefore, I removed create action completely from here.

Ah, I wondered about the obvious overlap with azure cli. That's a good separation as should be easy to figure which does what.


Can i use this code with speech recognition?

@ngragaei The code is provided for speech feature extraction. The current version cannot be directly used for speech recognition!


Revert addition of alleleDTO.yaml from commit 9dd2ea5

Transferred all classes and slots from alleleDTO.yaml back to allele.yaml and deleted alleleDTO.yaml
Cleaned up vocabulary names
Moved construct_component_relation_enum to CV

@markquintontulloch
Would you mind approving this PR when you get a chance (tomorrow)?


"Swap Hands" or "Swap Item In Hands"?

https://github.com/MrCrayfish/Controllable/blob/7f6240c4d0a5ba2842753a3eeb13aad9fce12614/src/main/resources/assets/controllable/lang/en_us.json#L13
Line from en_us.json in Vanilla Minecraft:

Swap Item In Hands


Implement inertial drag

Please see the example: http://bl.ocks.org/pjanik/5872514
Recently I needed such feature and implemented it in my application, but then I came up with the idea that it can be easily generalized. Inertial drag is quite popular nowadays.
I'm creating pull request so you can easily review the code, but of course I'm open for discussion.
Do you find it useful?
Note that I'm not very familiar with d3 codebase, so I'm happy to fix implementation details, style, add some tests etc. in case of need.

I really need this feature. Will this be integrated?

@mbostock No chance for this or is there an existing solution?

I bulk-closed all pull requests in this repository because the code was moved to separate repositories as part of the D3 4.0 launch (and thus no pull requests here could be merged). See d3/d3-drag#27 and d3/d3-zoom#67 for the new issues.


MSI for Azure Cosmos DB table storage

Is this Possible for Azure CosmosDB Table Storage ? I tried the same for SQL and it works but for Table storage I get the error :
adal_error.AdalError: Get Token request returned http error: 400 and server response: {"error":"invalid_resource","error_description":"AADSTS500011: The resource principal named <MY RESOURCE> was not found in the tenant named <MY TENANT>. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.\r\nTrace ID: f9f3e6ae-6159-4a25-9f63-609c2f576800\r\nCorrelation ID: bf79d49b-d3ab-4035-a44a-252619d0e868\r\nTimestamp: 2019-04-01 18:50:38Z","error_codes":[500011],"timestamp":"2019-04-01 18:50:38Z","trace_id":"f9f3e6ae-6159-4a25-9f63-609c2f576800","correlation_id":"bf79d49b-d3ab-4035-a44a-252619d0e868"}

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

ID: 589b0c8f-72ea-911e-6ab6-481ef3e24680
Version Independent ID: f82ccf62-8eb5-ad76-7f72-1636e36f794d
Content: Use a Windows VM system-assigned managed identity to access Azure Cosmos DB
Content Source: articles/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-cosmos-db.md
Service: active-directory
Sub-service: msi
GitHub Login: @MarkusVi
Microsoft Alias: markvi

@seshenoy
Thanks for your feedback! We will investigate and update as appropriate.

Yes it's possible for table storage. That error generally means that your client ID/app ID is not configured under the right tenant. Have you registered everything properly?

Which Github sample are you using for this, if any?

@MarileeTurscak-MSFT Yes, I did register it correctly on Microsoft tenant... I didn't use a sample per se, but used the code available on docs

Hi @seshenoy ,
Can you please email me at<EMAIL_ADDRESS>and I can open a free support ticket for you?

Please email me at the above alias and include your subscription ID, and I will open a support case for you.

Hello @MarileeTurscak-MSFT No worries... I have been helped by a member from the Cosmos DB. Thanks for your help !


Broken Links

Description:
https://docs.wso2.com/display/SP400/Creating+a+Distributed+Siddhi+Application
In the above documentation, given links are broken.The links are highlighted below.
A Siddhi Application is a combination of multiple Siddhi executional elements. A Siddhi executional element can be a Siddhi Query or a Siddhi Partition.

updated the links


where can I put code only to be executed in background?

I have auth code I'd like to run in the background script, but having trouble figuring out where to put it in the /app folder (trying to avoid modifying other folders if I can help it).
I've tried app/index.js, but interestingly, in dev mode, this file isn't even used--I can comment out the whole file and everything still runs fine.
Placing code in containers/Root.js seems to result in the code being injected into the content script, so this isn't ideal either.
Is the only option to modify files in browser/extension/background?
Thanks!

Yes, you can modify browser/extension/background/index.js. Or have the code in a separate file and import it there.