Producing contract reference assemblies for .NET Framework 4.6

This pull request adds compiling and installing contract reference assemblies specific for .NET Framework 4.6. This pull request does not add any new system contracts for .NET Framework 4.6, but it would be a prerequisite for adding any such contracts.
Why do we need 4.6-specific assemblies?
.NET Framework 4.6 adds new overloads to frequently used methods. For example, there are now
static string String.Format(IFormatProvider, string, object)
static string String.Format(IFormatProvider, string, object, object)
static string String.Format(IFormatProvider, string, object, object, object)

in addition to
static string String.Format(IFormatProvider, string, object[])

This causes innocently looking code like this:
string str = String.Format(CultureInfo.InvariantCulture, "Value: {0}", x);
Contract.Assert(str != null);

to fail static contract verification when targeting .NET Framework 4.6 because the specific overload is not present in .NET 4.5 CRAs.
Caveats
Building new contract reference assemblies requires .NET Framework 4.6 and .NET Framework 4.6 Targeting Pack to be installed on the build machine.
An alternative would be to stuff another 100MB of reference assemblies into Microsoft.Research\Imported\ReferenceAssemblies, but we seem to feel strongly about not doing so.

Looks good for me, but I would glad to hear more opinions on this topic.
//cc @sharwell, @tom-englert, @hubuk

:+1:

LGTM.
@sharwell: would like to hear your opinion.


[slv] Create phones list for Slovenian

As captioned

We already have a phones list for Slovenian, actually.

We already have a phones list for Slovenian, actually.


required-only means no dependencies?

Discussed in https://github.com/CycloneDX/cdxgen/discussions/460

Originally posted by malice00 August 13, 2023
I was working on some issues, when I found the following pieces of code:
https://github.com/CycloneDX/cdxgen/blob/c3c1d95298c2edbfd7071f9834f2611b3653d783/index.js#L953
and
https://github.com/CycloneDX/cdxgen/blob/c3c1d95298c2edbfd7071f9834f2611b3653d783/index.js#L1230-L1236
With some testing, it indeed seems that when I run cdxgen with --required-only, no dependencies are added to the SBOM, so no dependency-tree will be available in tools like dependency-track...
Is this intentional? If so, what is the reason to not generate the dependencies?
I have to admit, for my project it doesn't matter if I use --required-only or not, but I would prefer it to work the same either way.

This issue also applies for JS/TS projects with npm packages. If "--required-only" is set, no dependencies and no devDependencies will be contained in the sbom file.
I looked a little bit into the source code and you already flag the dependencies in the utils.js whether they are optional
const scope = node.dev === true ? "optional" : undefined;
This scope property should somehow be considered when you do the following in the index.js:
const dependencies = !options.requiredOnly ? context.dependencies || [] : [];

I would like to "plus 1" on this issue. We are building SBOMs using the required only field, and would still like a dependency output to construct a dependency graph.

@ansonallard @countfnx could you kindly test the PR https://github.com/CycloneDX/cdxgen/pull/634

I was able to test the PR and the dependencies output appears to be correct. When I uploaded the resulting CycloneDX 1.4 schema to dependency track, it was not able to generate a dependency graph, so I am actively investigating what is going on there. Dependency track is able to generate a dependency graph for cyclone dx files that do not make use of the --required-only parameter. I'm not sure if the error is on the dependency track side or an issue with the SBOM generation. I'll let you know of my findings.

@ansonallard, does cdxgen print the tree with -p? Dependency Track seems to be looking for a perfect tree which is harder and work-in-progress. In contrast, tools like depscan are working with multiple dangling trees from cdxgen.

cdxgen does print a tree with the -p option. When you say a perfect tree, do you mean a tree with only one root node and no detached nodes (nodes that are not a part of the tree)?

btw, if anyone wants to view the tree for an existing sbom use the cdxi repl command.
cdxi <bom json>

tree

More docs on the REPL mode here
https://cyclonedx.github.io/cdxgen/#/?id=advanced-usage

@ansonallard @countfnx could you kindly test the PR #634

Yes, I did test it on two projects and it seems to work correctly! Good job, thanks :)!
Is it also somehow possible to have only the top-level references in the SBOM without the transitive ones?

@ansonallard @countfnx could you kindly test the PR #634

Yes, I did test it on two projects and it seems to work correctly! Good job, thanks :)!
Is it also somehow possible to have only the top-level references in the SBOM without the transitive ones?

Could you try the various filters from the docs?
https://cyclonedx.github.io/cdxgen/#/ADVANCED?id=filtering-components

Unfortunately I didn't find any possibility. According to the Advanced.md documentation it says regarding the --required-only flag: "These are usually considered direct dependencies."
I think this doesn't work probably because you parse the package-lock.json, which contains all dependencies, even the sub dependencies.

Yes ,I tried the "--required-only" flag. It gives me all dependencies without the devDependencies, but with all subdependencies.
Example: https://github.com/typicode/json-server
The package.json contains only 19 direct dependencies, but the SBOM contains 114 dependencies.

@countfnx, this behavior is correct and is what is implemented. You can further refine the SBOM by running evinse, which would then also attach occurrence and call-stack evidence. This way, we are tracking both the direct usages and the dependency tree.

@countfnx, I think I know what is happening. Let me improve the filter.


[portmidi] Initial port

portmidi - Free, cross-platform, open-source I/O library for MIDI
http://portmedia.sourceforge.net/portmidi/

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


Issue with trying to open file

See docs / 37 .... md
rustc explain E0277

file:
data.txt
is added to working directory (wd)
relative path to wd is: /programiz/attempt-01

Steps to Reproduce:

Ctrl F
for
Recoverable Errors


[devicelab][desktop] Create virtual Linux desktop machines

See https://github.com/flutter/flutter/issues/54295 for context.
This is specifically for the Linux portion of step 1.

@digiter @godofredoc In the new LUCI world, what would be the process for getting a Linux image that has the necessary requirements? I'm assuming it's no longer doing GCE VM configuration myself?

@godofredoc Following up from today's discussion, this portion of the flutter/plugins Dockerfile is the set of things that we need in order to do Linux desktop builds. Could you start the process of getting those into our Linux LUCI configurations?

Test PR adding desktop builds of flutter_gallery to the sharded tests here: https://github.com/flutter/flutter/pull/67072. It gets all the way to trying to build for Linux and failing because CMake isn't available, so it should work to test bot configurations against.

PR to add the new dependencies to build_tests:
https://github.com/flutter/infra/pull/250
This also requires changes at the system level to install gtk libraries that will propagate with a ETA 10/26 end of the day.

Linux build_tests succeeded on https://github.com/flutter/flutter/pull/68658!


adds azimuth component of SET

This PR is the follow-up fix of #132. The issue was that the azimuth component of the SET was computed, but was not added to az_lut_data

Closing this PR for further test. #159


Advanced search filtering

This PR adds a hook to handle dynamically rendering the list page toolbar filter based on the OPTIONS response from the Controller API. It can also handle rendering any keys with pre-filled values.
interface DynamicToolbarFiltersProps {
  /** API path of resource */
  optionsPath: string;
  /** Query parameters */
  params?: QueryParams;
  /** Pre-sorted keys */
  preSortedKeys?: string[];
  /** Pre-filled value keys */
  preFilledValueKeys?: string[];
  /** Additional filters */
  additionalFilters?: IToolbarFilter[];
}

Sample usage:
export function useProjectsFilters() {
  const createdByToolbarFilter = useCreatedByToolbarFilter();
  const modifiedByToolbarFilter = useModifiedByToolbarFilter();
  const toolbarFilters = useDynamicToolbarFilters<Project>({
    optionsPath: 'projects',
    preSortedKeys: ['name', 'description', 'id', 'scm_type', 'created-by', 'modified-by'],
    preFilledValueKeys: ['name', 'id'],
    additionalFilters: [createdByToolbarFilter, modifiedByToolbarFilter],
  });
  return toolbarFilters;
}

I saw the following behavior:
I changed the filter to 'unified job template'
I saw the following:

So in the text box, I added part of a name of one of the job templates
The API returned the following:

Maybe we can add something to let the user know that 'unified job template' is expecting an ID?

I noticed the following behavior:
When I filtered the results, and then clicked on the sort button to reveal the separate sorting filter, and when I sorted the list a few times, I noticed that the "clear all filters" buttons disappeared:

I also noticed that, after those buttons disappeared, the kebab menu showed blank:


AMBARI-25292. remove non-https dependency URLs.

What changes were proposed in this pull request?
Http URLs were changed to https for dependencies.
How was this patch tested?
Local build of the project.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5273/
Test PASSed.

cc @zeroflag @dlysnichenko

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5276/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5277/
Test PASSed.


first pass at an experimental dev CLI

This adds a dev command to the CLI. It's currently marked as experimental, but I feel that (1) it solves enough problems that people run into during development, and (2) it's a real pain to keep a separate beta version updated with changes to the main branch, that it's probably worth just slapping an "Experimental" on the dev command's description and releasing it as part of the latest release.
A good way to try out the new dev command is by walking through this version of the NextJS tutorial.
Note: you'll need to add a jamsocket.config.js file that looks like this:
module.exports = {
  dockerfile: './Dockerfile.jamsocket',
  service: 'whiteboard-demo',
  watch: ['./src/session-backend'],
}

And you'll need to add apiUrl: 'http://localhost:8080' to the init() function call in src/app/page.tsx, so that it looks like this:
const spawnBackend = init({
  account: '[FILL ME IN]',
  service: 'whiteboard-demo',
  token: '', // you can leave this blank
  apiUrl: 'http://localhost:8080'
})

I’m a little wary of the JS-centricness of using a .js file, and of the complexity that comes from using code as configuration, but I guess we already require node for the CLI. Maybe we revisit that when we drop "experimental".
JSON is another option that is familiar in the JS world but more universal, and this is a simple enough configuration schema that its deficiencies as a config language might not matter? I'm just bikeshedding at this point though.

I’m a little wary of the JS-centricness of using a .js file, and of the complexity that comes from using code as configuration, but I guess we already require node for the CLI. Maybe we revisit that when we drop "experimental".
JSON is another option that is familiar in the JS world but more universal, and this is a simple enough configuration schema that its deficiencies as a config language might not matter? I'm just bikeshedding at this point though.

Yeah, I hear you. The JS-centricness of it could become an issue if we move away from a Node runtime for the CLI. I do think that the dev CLI mostly just makes sense when developing on a UI and session backend at the same time. While you can definitely use it to develop just the session backend part - interacting with it via something like CURL - I would think it probably makes more sense to just run your session backend in a local container for that. All that to say, I think if you're using the dev CLI, you're almost surely using JS / NPM in your project. And in that world, .js config files are pretty common.
JSON could work too - but no comments, which I think are reaaaally useful in configuration files :-(
Then there's TOML and YAML, but those seem fairly rare in FE projects. (A quick look in our jamsocket-app directory: vite.config.js, tailwind.config.js, svelte.config.js, and postcss.config.js - all JS config files. And .prettierrc and tsconfig.json are both JSON. No YAML / TOML.)
I think I'm with you on revisiting when we drop "experimental" (or maybe if we add a jamsocket deploy function that does a dockerfile-less build + push based on a config file 🤔 ).


Make Comment-Input Component

Refer to the Figma design.
Make it responsive. Use correct breakpoints for media queries.
Refrain from using fixed widths and heights.
Use existing components wherever necessary.

I would like to work on this issue.


Enum values as column defaultValue doesn`t work anymore

I am having trouble with running migrations that are using enums as default values after upgrading to EntityFrameworkCore 2.0.0. The problem seems to be that  EF is no longer trying to use the int-value of the enum. Example migration:
migrationBuilder.AddColumn<int>(
                name: "RosColor",
                table: "Ross",
                nullable: false,
                defaultValue: RosColor.Red);

Enum:
public enum RosColor
    {
        Red = 0,
        Yellow = 1,
        Green = 2
    }

Error:
ERROR!The name "Red" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
In EF Core 1.1.2 this error did not occur, and the default value would be 0. Does anyone know how to deal with this?
Steps to reproduce
Create a column with default value as an enum with an associated int value. Run migrations. See that an error occurs when trying to set the default value to the enum rather than the enums integer value.
Expected results
The column default value is set to the integer value like in EF core 1.1.2.
Further technical details
EF Core version: 2.0.0
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Win10
IDE: Visual Studio 2017

Hi @oyvindvol. We are gathering information on the use of EF Core pre-release builds. You reported this issue shortly after the release of 2.0.0 RTM. It would be really helpful if you could let us know:

Did you consider testing your code against the pre-release builds?
Was there anything blocking you from using pre-release builds?
What do you think could make it easier for you to use pre-release builds in the future?

Thanks in advance for any feedback. Hopefully this will help us to increase the value of pre-release builds going forward.

I am not able to reproduce this using version 2.0.0. @oyvindvol, could you share your full code so we can investigate further?

@bricelam The migration with the enum default value was created in an earlier version of EF. New migrations are getting default value equal to the int value of the enum. However, the problem was that the migrations would not be run with 2.0.0.
I solved the issue by editing the migration, casting the enum default value to int.

Since this was fixed in #4061, which shipped in 1.0.0 RC2, it means that migrations that have this came from a pre-release version of EF. The guidance here is to manually update the migrations to use the underlying type.


Page not being updated

This page doesn't seem to be getting updated, it references an "upcoming" event that is in the past.

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

ID: 8249a505-fcfc-b123-b391-46365e0f1c34
Version Independent ID: 8249a505-fcfc-b123-b391-46365e0f1c34
Content: Journey into Mixed Reality development (for beginners) - Mixed Reality
Content Source: mixed-reality-docs/mr-dev-docs/whats-new/journey-to-mr-series.md
Product: mixed-reality
Technology: mr-dev
GitHub Login: @qianw211
Microsoft Alias: qianwen

The doc has been updated and is continuing to be updated as events pass! Thank you for your feedback.


refactor 'fromBytes' into ScriptFactory for SPK/ScriptSig

Removes redundant fromBytes definitions in companion objects for ScriptPubKeys and ScriptSignatures.

Coverage increased (+0.2%) to 90.525% when pulling 4fda4190231b9f72013b18c902a51c860c8ca858 on Christewart:refactor_fromBytes_to_ScriptFactory into b96a30e3631dbbbe9a967c78d6fa998bbc354f02 on bitcoin-s:master.


Fix flatten threading issue by directly using reduce(...) NIO method

This also improves the test by checking that order the order of the results will match the order of the futures in the input array as it has been specified in the docs.

Oh, @adtrevor the tests are kinda borked right now. Could you apply the fixes to the circle file I put in #181 ? That should fix all issues :)

Hey @adtrevor, you just merged a pull request, have a coin!
You now have 1 coins.

Thank you ! :)


Persistent logging.

Two connected but independent commits.

The first one moves timestamp computation out of ripple/rpc, and generalizes it.
The second one allows a persistent log independent from our current logging, where new logging is appended to the file if it exists.

The persistent log is intended for debugging processes which might clean up their regular logs after them, like npm tests.
Reviewers: @nbougalis @josh-ripple

Thanks, on these changes.
Regarding the "Persistent" log - I welcome a better name for it.  It's entirely intended for debugging purposes - I don't anticipate us ever checking in a call to it.
The idea is that you can add a single line to any file, anywhere to get out-of-band debugging information:
 logPersistent ("debugging information: " + someString);

and have it spewed to a single temp file (with timestamps when the program restarts).
Super-convenient for debugging, particularly npm runs or testing individual conditions.  I have /tmp/rippled-persistent.log open in my editor at all times now... it's really sweet to see just a couple of lines with just the information I want appear as I run.

@rec You mean like this? http://i.imgur.com/Vj0zuUW.png

My general reaction is that I would prefer to reduce the number of logging interfaces and improve those that we do have instead of adding another.

Heh, this was suggested to me by, er, a member of the team who wishes to remain anonymous.
I'll remove the logging part and keep the time part...

All right, fixed up the time stuff quite a bit... dumped the rest!

"Persistent" is definitely the right word to use when describing the topic of logging in rippled.

@rec no need to remain anonymous - I suggested logging to a file as a temporary debugging aid. Sorry if  it came across as "yes, this would be awesome to have!"

Travis failures seem spurious, I booted it.

Turns out that the issue with Travis had to do with the fact that it's running in a different time zone!
Fixed, and I rebased...

It looks like GitHub is tossing comments on rewritten commits again.
I only remember the comment about defining the default format string out-of-header, and you did that.

Is this passed? :+1: from me.

:+1:

Putting the "Hold" label on this one because Windows doesn't like gmtime_r.
ripple/basics/impl/Time.cpp(77): error C3861: 'gmtime_r': identifier not found (..\..\src\ripple\unity\basics.cpp)

Fixed!  Or at least, let's say what appveyor says.
For future reference, I believe that Hold is used to label reviews that are approved, but that can't be checked in yet.
When something is actually wrong with a "Passed" review, I think you should just remove the "Passed" label.

Done, whatta you think?

Excellent, thanks. re-:+1:

I'm fine with this. :+1:

[4:26 PM] Edward Hennis: @tomswirly: Build failure in https://github.com/rec/rippled/commits/develop-next in Windows.
src\ripple\basics\impl\Time.cpp(81) : error C3861: 'gmtime_r': identifier not found
scons: *** [build\msvc.debug.nounity\src\ripple\basics\impl\Time.obj] Error 2
scons: building terminated because of errors.```

OK, that error that Ed reported makes zero sense to me.
Look at the code:  https://github.com/rec/rippled/blob/persistent-log/src/ripple/basics/impl/Time.cpp#L66
BEAST_WIN32 must be defined and true in Windows.  If it were undefined, that code wouldn't even compile.  So how can gmtime_r be undefined?
I don't see this error in AppVeyor either.  Could you please check it out and try again?

@ximinez, that is.  :-D

Use _MSC_VER instead of BEAST_WIN32

Build is still broken, but only on the msvc.debug.nounity build, so that would imply a missing header in Time.cpp or Time.h.
msvc.debug builds just fine, but unit tests assert in wcsftime.c line 749
"Expression: ( "Invalid format directive", 0 )
Here's the stack trace for the failed test:
 	rippled.exe!_W_expandtime(localeinfo_struct * plocinfo, wchar_t specifier, const tm * timeptr, wchar_t * * string, unsigned __int64 * left, __lc_time_data * lc_time, unsigned int alternate_form) Line 749	C++
 	rippled.exe!_Wcsftime_l(wchar_t * string, unsigned __int64 maxsize, const wchar_t * format, const tm * timeptr, void * lc_time_arg, localeinfo_struct * plocinfo) Line 323	C++
 	rippled.exe!_Strftime_l(char * string, unsigned __int64 maxsize, const char * format, const tm * timeptr, void * lc_time_arg, localeinfo_struct * plocinfo) Line 285	C++
 	rippled.exe!strftime(char * string, unsigned __int64 maxsize, const char * format, const tm * timeptr) Line 190	C++
>	rippled.exe!ripple::timestamp(const char * fmtstring, __int64 now) Line 93	C++
 	rippled.exe!ripple::Time_test::test_timestamp() Line 34	C++
 	rippled.exe!ripple::Time_test::run() Line 47	C++
 	rippled.exe!beast::unit_test::suite::run<void>(beast::unit_test::runner & r) Line 408	C++
 	rippled.exe!beast::unit_test::suite::operator()(beast::unit_test::runner & r) Line 341	C++
 	rippled.exe!beast::unit_test::make_suite_info::__l3::<lambda>(beast::unit_test::runner & r) Line 121	C++
 	rippled.exe!std::_Callable_obj<void <lambda>(beast::unit_test::runner &),0>::_ApplyX<void,beast::unit_test::runner & __ptr64>(beast::unit_test::runner & <_Args_0>) Line 284	C++
 	rippled.exe!std::_Func_impl<std::_Callable_obj<void <lambda>(beast::unit_test::runner &),0>,std::allocator<std::_Func_class<void,beast::unit_test::runner & __ptr64> >,void,beast::unit_test::runner & __ptr64>::_Do_call(beast::unit_test::runner & <_Args_0>) Line 229	C++
 	rippled.exe!std::_Func_class<void,beast::unit_test::runner & __ptr64>::operator()(beast::unit_test::runner & <_Args_0>) Line 316	C++
 	rippled.exe!beast::unit_test::suite_info::run(beast::unit_test::runner & r) Line 84	C++
 	rippled.exe!beast::unit_test::runner::run<void>(const beast::unit_test::suite_info & s) Line 246	C++
 	rippled.exe!beast::unit_test::runner::run_each_if<beast::unit_test::suite_list,beast::unit_test::selector>(const beast::unit_test::suite_list & c, beast::unit_test::selector pred) Line 290	C++
 	rippled.exe!ripple::runUnitTests(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & pattern, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & argument) Line 210	C++
 	rippled.exe!ripple::run(int argc, char * * argv) Line 364	C++
 	rippled.exe!main(int argc, char * * argv) Line 507	C++
 	rippled.exe!__tmainCRTStartup() Line 255	C
 	rippled.exe!mainCRTStartup() Line 165	C
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown

Let me know if there's anything else I can do to help track this down.

Here's the MSDN documentation for strftime. It seems to be a lot fewer format code options than what you're using.
https://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=EN-US&k=k(strftime);k(DevLang-C%2B%2B);k(TargetOS-Windows)&rd=true


EPUB getting wrong separation placement between paragraphs

Steps to reproduce
Open plugin 'Fenrir Translations'
Open novel 'The Regressed Mercenary’s Machinations'
Download chapter
Create EPUB and save it
Open the EPUB's chapter 3
Scroll down a bit (like 16/58 pages or whatever) or just locate this text:
“Oh, great. I knew you’d come around. Let’s get ready right away.” “Ready? For what?”
Expected behavior
The text from above should be (this is how it is in the website):
“Oh, great. I knew you’d come around. Let’s get ready right away.”
“Ready? For what?”
Actual behavior
The text is:
“Oh, great. I knew you’d come around. Let’s get ready right away.” “Ready? For what?”, without the separation before “Ready? For what?”
LNReader version
54a3feb
Android version
11
Device
Motorola One 5g
Other details
It's something rather minimal, but since I got another error using that same plugin I decided to open this just in case
I also thought of just mentioning this in my other issue abt that other error, but, same, this is just in case it's something different
It isn't that the website put the separation there after the epub was created, it was the same before
That separation is there when using the app's reading, yet it isn't in the epub
Other time(s) this happened:
Ch. 8:
should be:
I shuddered at the cruel sight unfolding before my eyes, but more than that, I was astonished by the fact that my brother had such skill.
‘Did he really get that strong after just a few days of training? Does that even make sense?’
is:
I shuddered at the cruel sight unfolding before my eyes, but more than that, I was astonished by the fact that my brother had such skill. ‘Did he really get that strong after just a few days of training? Does that even make sense?’
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 2.0.0.
[X] I will fill out all of the requested information in this form.

[ ]    If this is an issue with a source, I should be opening an issue in the sources repository.

Please open your issue in the right repository and make sure to not create duplicate issues.


OpenComputers integration in RFTools (for 1.11).

Same as the 1.12 commit, but on a different OC version.
Requires McJtyLib 1.11 with the same changes.

Will this cause problems for my 1.10/1.11 mods? Note that all my mods share the same code/jar on 1.10/1.11. i.e. it is the same mod for both MC versions. 1.12 is separate

Ah, good point! That might be a problem. I'll see if there's a way around it, but in that case it might be best to just not ship OC support for 1.11.

I think this can be closed, between what's already been merged since it was created and #1489.

@josephcsible btw, if you have a chance it would be nice if you could check if Deep Resonance OC integration is still functional in 1.10, 1.11, and 1.12. Thanks!

It's not quite right. I'll try to get a PR in for it this week. Anyway, this PR can in fact be closed now; everything it tried to do has been done.


Integrate Property Ownership System

Develop a backend system that allows players to own or rent buildings, tracking ownership status.

added mechanism and gameplays in feature branch


test(import): Add test for an import of a product without variants array

Summary
This PR fixes #92
I was not able to reproduce this bug with integration test nor with https://github.com/sphereio/sphere-node-cli project where I tried to import JSON file containing a product with delete variants array so I pushed at least the test for it.
Todo

Tests

[ ] Unit
[x] Integration
[ ] Acceptance

[ ] Documentation

Closing this because the underlying issue was discarded.


/api/v1/query returns wrong field names for scalar results

Spec says:
{
  "value": <sample_value>,
  "timestamp": <unix_time>
}

I'm getting:
{
  "Value":"1",
  "Timestamp":1435229995.372
}

(fields shouldn't be capitalized)

@fabxc

Fixed in #848


POC of using Happo for visual diff testing

We talked about setting up Happo for visual diff testing, this was a manual test
that I did to demo the service. I'm happy with the output so far, it does about
what I expected. This is using the most basic version of setting up the diff,
which is just using a full page screenshot to produce the diff.
It's not clear how useful the diff will be as differences accumulate -- for
example can we disregard known differences between html4 and html5 and those
differences will be disregarded in future diffs too? The nature of the full page
diff might not allow this.
Next steps are to testing out Happo against at least the RTD PR build. It would
be most correct to test against our various test cases, but pretty soon that
will be limited to Sphinx 3-4, docutils latest, and HTML 5 anyways.
An example diff is here:
https://happo.io/a/728/p/957/compare/dev-75690771cac0c0aece71/dev-69c311fa8d5cc9ccaabf?

@agjohnson

can we disregard known differences between html4 and html5 and those
differences will be disregarded in future diffs too?

This requires further research on how will the process work with our specific setup, but I believe we can: https://docs.happo.io/docs/ignoring-diffs

will that element then never be checked again for other new differences

Yeah, this is certainly the big question for me. I suppose we'll find out! I think we'll put a basic CI test of this on my next sprint, while we're still in demo mode on happo


Typescript: Incorrect generation of enums

Hello again,
When setting "DefaultEnumHandling" to "EnumHandling.String" in the WebApiToSwaggerGenerator, and then using the "SwaggerToTypeScriptGenerator" to generate typescript, enums are outputted incorrectly;
Example:
export enum WebcamImageOrientation
{
    Default = <any>"Default",
    Rotate90 = <any>"Rotate90",
    Rotate180 = <any>"Rotate180",
    Rotate270 = <any>"Rotate270",
}

Is outputted from the C# enum
enum WebcamImageOrientation
{
    Default
    Rotate90,
    Rotate180,
    Rotate270,
}

The typescript variant is not valid typescript (Generates TS1066 "Ambient enum elements can only have integer literal initializers.")
If i set the swagger spec to use numbers, the entire enum is gone and types being an enum type in C# result in being a number in Typescript. I do want to use the Typescript enum definitions (so not just use the number which represents the enum value).
I suggest changing generated enums to:
export enum WebcamImageOrientation
{
    Default,
    Rotate90,
    Rotate180,
    Rotate270,
}

Your suggestion is not valid TypeScript and the  hack is just a workaround to have string enums in TypeScript.
See https://github.com/Microsoft/TypeScript/issues/1206
And https://blog.rsuter.com/how-to-implement-an-enum-with-string-values-in-typescript/

How is my solution not valid typescript for using numbers as enum values?
For some reason, Visual Studio 2015 throws errors for the current impelmentation, though it seems it is indeed value typescript.

What version of TS are you using? (check your .csproj file)

I'm using the latest version available, which is 1.6.3

Strange, it works in my TS 1.6 project without compiler errors...

That is indeed strange. I've also set NoImplicitAny to false, so it should work...

Yes, me too

Right well ill have a look if its something at my end though.
Nevertheless, it would be nice to have an option which would generate the enum values as numbers like here: https://basarat.gitbooks.io/typescript/content/docs/enums.html

Isnt this what EnumHandling.Number does?

EnumHandling.Number removes the enums altogether and makes enum properties a "number". Example:
export interface WebCamReference {
    Id: string;
    WebcamImageOrientation: WebcamImageOrientation;
}

becomes:
export interface WebCamReference {
    Id: string;
    WebcamImageOrientation: number;
}

and the export enum WebcamImageOrientation is gone.

The Swagger specification uses JSON Schema to describe types and enums. As you can see here:
http://json-schema.org/example2.html
...you cannot define a name and a value for an enum, just the allowed values. This is why it is only possible to generate int fields without enum typing or enum fields and string enums...

The only way to solve this problem is to enhance the JSON Schema standard with additional data (e.g. a property enumNames).

Well, thats a problem for us then, haha.
Any way around this? We could always fork your project and make our own adjustments, but then we'd have to maintain that aswell.

Well, thats a problem for us then, haha.
Any way around this? We could always fork your project and make our own adjustments, but then we'd have to maintain that aswell.

As i said, we could extend the JSON Schema so that integer enums with names can be defined... I have to think about it. As you said, you should not fork and this enum problem is a common problem and should be solved in some way...

In general it's this problem: https://groups.google.com/forum/m/#!topic/json-schema/w_5mVYB7OHg
The last answer looks like a good idea to me... Then even the xml doc can be transferred/generated...

Maybe we should use enumNames as proposed here:
https://github.com/json-schema/json-schema/wiki/enumNames-(v5-proposal)

And BTW: This is more a NJsonSchema issue than an NSwag issue:
https://github.com/NJsonSchema/NJsonSchema

Probably, thanks for looking in to this. I personally have no experience or knowledge about JSON schema so I trust your judgement on that. I just want the typescript generation to be in a specific way haha.
Anyway, your proposal abut using enumNames sounds good.

Version v1.11 now supports generating string and integer enums, please try newest version

Great thanks, I'll try it out tomorrow.
How should i be using this now?

The difference is that the default is integer enum handling and this also generates an enum, but i still recommend string enums as reordering the values is not a breaking change..


[WIP] Add assertions

merge after #177

I prefer np.testing.assert_equal(X, Y) over assert X == Y because it prints the actual values of X and Y when the test fails.

I prefer np.testing.assert_equal(X, Y) over assert X == Y because it prints the actual values of X and Y when the test fails.

I think it is better to show the meaning of the test. How do you think of it?

I think the dump of images isn't helpful for debugging because it is usually a large array.

I think it is better to show the meaning of the test. How do you think of it?

You can still print err_msg with np.testing.

I think the dump of images isn't helpful for debugging because it is usually a large array.

The assertion happens not only with image-arrays, but also with integers and floats.
e.g. https://github.com/Hakuyume/chainercv/blob/b75f8ae8349cd9fdc5ddb8ecd6ee83e95ef1815b/chainercv/utils/testing/assertions/assert_is_image.py#L30

You can still print err_msg with np.testing.

I didn't know that. Thank you. I will replace with `np.testing.~'.

The assertion happens not only with image-arrays, but also with integers and floats.
e.g. https://github.com/Hakuyume/chainercv/blob/b75f8ae8349cd9fdc5ddb8ecd6ee83e95ef1815b/chainercv/utils/testing/assertions/assert_is_image.py#L30

How about showing actual values only for integers or floats? I think using format to make an error message is enough.

So you are going to use assert for something?

So you are going to use assert for something?

Yes. Some tests are not provided in numpy. For example, isinstance and less_or_equal.
I need to use assert for them.

I learned that when run together with nosetests, the actual values are printed out with assert.
I think assert is OK.
Sorry for the confusion.

#251 and #252 can be write with assert_is_semantic_segmentation_dataset.

I merged #251 and #252 into this PR.
@yuyu2172 I think those two PRs are no longer needed. Could you close them?

OK!

Nice work. I finished my comments.

@yuyu2172 Thank you for reviewing. I reflected your comments.

Are you planning to use these functions for testing Links? (i.e. use it for a test to check DetectionLink).
It is possible to leave it as a future work.

Are you planning to use these functions for testing Links? (i.e. use it for a test to check DetectionLink).
It is possible to leave it as a future work.

Actually, I am writing assert_is_detection_link. But I will make another PR for it.

OK nice.
LGTM


[hi] Localize /en/docs/reference/glossary/api-group.md

Prerequisites:

If this is your first contribution, visit Contribute to K8s docs for information on how to get started.
Review a few examples of localized glossary entries to see which content you change and which you live unchanged.

Procedure:

Check out dev-1.22-hi.1 and create a working branch called localize-api-group.
Create a file called content/hi/docs/reference/glossary/api-group.md.
Copy the content of https://raw.githubusercontent.com/kubernetes/website/main/content/en/docs/reference/glossary/api-group.md to the file you created.
Localize the content.
Push your change and create a pull request.

Completing this feature issue fixes part of https://github.com/kubernetes/website/issues/35600

/language hi
/good-first-issue

Hey @rolfedh, I would like to work on this issue

/assign

/triage accepted

/assign

I this issue still open?

Hi @ayushontop, thanks for your interest. Yes, this issue is open, pending merge of @khannakshat7 pull request #35962, shown above. If you're looking to volunteer, please introduce yourself on the Kubernetes #kubernetes-docs-hi channel at https://kubernetes.slack.com/archives/CJ14B9BDJ

I would like to take this up.

/assign

Hey @Aut0R3V, Thanks for showing your interest. But I have already created the PR which is ready for merge. You can create a new issue and work on it.

/unassign Aut0R3V

Sure thanks!

Hey @rolfedh, can I make changes to it as you suggested? I didn't understand where to checkout dev-1.22-hi.1 and how to create a working branch called localize-api-group.

Hey @rolfedh I am also going to add my local languages.

Hi @ibilalkayy, this issue and its associated PR are for the Hindi language docs.
For other languages, please see https://kubernetes.io/docs/contribute/localization/ and find the two letter code for the language you want to contribute to. It's possible that there's already a community of like-minded contributors you can work with. Also check the slack channels for that two-letter code.

@khannakshat7 do you want to contribute. if you don't want to do it please tell me i'll like to work on it

@dollar22 No I don't think you can work on it because the PR of this issue is already sent and the text is already converted into Hindi.

I think we can close this issue as it has been fixed by #35962
/close


[Bug]: grafonnet-lib git submodule makes the whole Operator package broken

Describe the bug
It is not possible to import grafana-operator/v5 Go packages.
Basically, the grafana-operator depends on the grafonnet-lib git submodule that gets embedded into embeds/grafana_embeds.go:
//go:embed grafonnet-lib
var GrafonnetEmbed embed.FS

As the grafonnet-lib folder only gets filled when the git submodules are initiated, whenever the grafana-operator V5 gets vendored, that folder is nonexistent and the go:embed fails, making the whole package broken.
Version
v5.4.1
To Reproduce
Steps to reproduce the behavior:

Import github.com/grafana-operator/grafana-operator/v5 v5.4.1
See the error:

error while importing github.com/grafana-operator/grafana-operator/v5/embeds: pattern grafonnet-lib: no matching files found

Expected behavior
No error should happen. It should be possible to import Grafana structs and start the reconcilers using the Go code from the controllers.
Suspect component/Location where the bug might be occurring
This happens in the GrafanaDashboard Reconciler, specifically in the Reconcile method. The method fetchDashboardJson(...) calls embeds.GrafonnetEmbed, which has the grafonnet-lib as an embed.FS object.
Screenshots
Imported grafana-operator does not have the grafonnet-lib submodule:

Runtime (please complete the following information):

OS: Linux
Grafana Operator Version v5.4.1
Environment: Go 1.21
Deployment type: Running the reconcilers by code.

@jaehnri do you have any good idea on how to solve it?
Should we stop using a submodule and change over to storing grafonnet-lib as a vendor?
Any other ideas?
@olejeglejeg do you have any input on how this could be solved?


handle undefined key param correctly

This fixes getKey() for the case of undefined key by ignoring the key and resolving with request.params.path or an empty string.
Otherwise not defining key results in the s3 handler options results in an error.
An alternative solution would be to allow empty string as key value by adding Joi.allow('') to the alternatives for key. As the key is optional in the Joi validation, I think it should handle the case where it's undefined correctly, thus the implementation in this PR.
If I miss something, please let me know.

@bjyoungblood Many thanks for the nice module. Is there any chance to get this PR merged? If I should change something in the PR, please let me know.

Thanks! Sorry for the delay in merging.

@bjyoungblood many thanks. Sorry for the pressure but it's always nice to get rid of forks and use upstream again. Thanks for managing this module!


docs(chore): add sonar and synk badges

sonar synk badges visible on pacakge
GH-98
Description
add sonar and synk badges
Fixes #98
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Intermediate change (work in progress)

Checklist:

[ ] Performed a self-review of my own code
[ ] npm test passes on your machine
[ ] New tests added or existing tests modified to cover all changes
[ ] Code conforms with the style guide
[ ] API Documentation in code was updated
[ ] Any dependent changes have been merged and published in downstream modules

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add Dropdown Menu for Selecting Specific LLM Model

Adding a dropdown menu to the platform will allow users to easily select the LLM they want to use along with a brief description of its features.
This will improve the user experience.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

Thanks for your suggestion. We will definitely support this feature after we enable more models.

This is supported in the latest update


Error: Push.Configure should not be called more than once!

I dont really understand the configuration of how to send  a notification.
I want to test the notifications on Android first.
So in my /client/main.js I've pasted the following:
import { Push } from 'meteor/raix:push';
import '/imports/startup/client';

Push.Configure({
  android: {
    senderID: MY SENDER ID,
    alert: true,
    badge: true,
    sound: true,
    vibrate: true,
    clearNotifications: true
    // icon: '',
    // iconColor: ''
  },
  // ios: {
  //   alert: true,
  //   badge: true,
  //   sound: true
  // }
});

In the root folder of my Meteor project I've created a mobile-config.js with the following code:
App.configurePlugin('phonegap-plugin-push', {
  SENDER_ID: MY SENDER ID
});

And in my /server/main.js I've got the following code:
import { Push } from 'meteor/raix:push';
import '/imports/startup/server';

Push.Configure({
  // apn: {
  //   certData: Assets.getText('apnDevCert.pem'),
  //   keyData: Assets.getText('apnDevKey.pem'),
  //   passphrase: 'xxxxxxxxx',
  //   production: true,
  //   //gateway: 'gateway.push.apple.com',
  // },
  gcm: {
    apiKey: 'MY API KEY',
    projectNumber: MY SENDER ID
  }
  // production: true,
  // 'sound' true,
  // 'badge' true,
  // 'alert' true,
  // 'vibrate' true,
  // 'sendInterval': 15000, Configurable interval between sending
  // 'sendBatchSize': 1, Configurable number of notifications to send per batch
  // 'keepNotifications': false,
//
});

But I get the error: Error: Push.Configure should not be called more than once!
What am I doing wrong?

Post the contents of the files you are importing.

In Client/main.js it just imports all files from imports/startup/client/index.js (which imports my complete client-side root), and Server/main.js it imports files from imports/startup/server/index.js, which imports my complete server-side root... Should I paste my entire root.. xD?

@ludovers do you have any push.config.json files laying around? - the error happens if push is configured more than once, it's expected behaviour as a safeguard

@raix Thank you sir! That solved the problem!


Fix NPE in management server logs

This fixes a case wherein for some reason the /proc/cpuinfo isn't returning expected output, such as in case of experimental ARM64 M1 Mac Mini host. Found this over the weekend, tested the fix.
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)

@blueorangutan package

@rohityadavcloud a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Thanks @DaanHoogland @weizhouapache @harikrishna-patnala
Hari, for reference I was running management server on Ubuntu-Asahi linux (baremetal) on M1 Mac Mini, in case of running mgmt server on Mac OS you may not hit this. Btw, management server is very power efficient and really fast on the mac mini - so some people may want to run their DB+mgmt server only on such hardware (startup time in seconds).
For reference, this is the test env:
root@macmini:~# uname -a
Linux macmini 6.3.0-13-asahi #1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 14 19:48:48 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
root@macmini:~# java --version
openjdk 11.0.19 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1, mixed mode)
root@macmini:~# virsh version
Compiled against library: libvirt 8.0.0
Using library: libvirt 8.0.0
Using API: QEMU 8.0.0
Running hypervisor: QEMU 6.2.0
root@macmini:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.2 LTS
Release:	22.04
Codename:	jammy
root@macmini:~# lscpu
Architecture:          aarch64
  CPU op-mode(s):      64-bit
  Byte Order:          Little Endian
CPU(s):                8
  On-line CPU(s) list: 0-7
Vendor ID:             Apple
  Model:               1
  Thread(s) per core:  1
  Core(s) per socket:  4
  Socket(s):           1
  Stepping:            0x1
  Frequency boost:     enabled
  CPU max MHz:         2064.0000
  CPU min MHz:         600.0000
  BogoMIPS:            48.00
  Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 as
                       imddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
  Model:               1
  Thread(s) per core:  1
  Core(s) per socket:  4
  Socket(s):           1
  Stepping:            0x1
  CPU max MHz:         3204.0000
  CPU min MHz:         600.0000
  BogoMIPS:            48.00
  Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 as
                       imddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
Caches (sum of all):
  L1d:                 768 KiB (8 instances)
  L1i:                 1.3 MiB (8 instances)
  L2:                  16 MiB (2 instances)
NUMA:
  NUMA node(s):        1
  NUMA node0 CPU(s):   0-7
Vulnerabilities:
  Itlb multihit:       Not affected
  L1tf:                Not affected
  Mds:                 Not affected
  Meltdown:            Not affected
  Mmio stale data:     Not affected
  Retbleed:            Not affected
  Spec store bypass:   Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:          Mitigation; __user pointer sanitization
  Spectre v2:          Not affected
  Srbds:               Not affected
  Tsx async abort:     Not affected
root@macmini:~# cat /proc/cpuinfo
processor	: 0
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x022
CPU revision	: 1

processor	: 1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x022
CPU revision	: 1

processor	: 2
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x022
CPU revision	: 1

processor	: 3
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x022
CPU revision	: 1

processor	: 4
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x023
CPU revision	: 1

processor	: 5
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x023
CPU revision	: 1

processor	: 6
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x023
CPU revision	: 1

processor	: 7
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x61
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0x023
CPU revision	: 1

Thanks @DaanHoogland @weizhouapache @harikrishna-patnala
Hari, for reference I was running management server on Ubuntu-Asahi linux (baremetal) on M1 Mac Mini, in case of running mgmt server on Mac OS you may not hit this. Btw, management server is very power efficient and really fast on the mac mini - so some people may want to run their DB+mgmt server only on such hardware (startup time in seconds). KVM is available but VMs throw exceptions when run via virsh/libvirt (which I had logged as an issue - UbuntuAsahi/ubuntu-asahi#51).

same on my laptop (ubuntu 22.04)
$ lscpu |grep MHz
CPU max MHz:                     4700.0000
CPU min MHz:                     400.0000

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6544

@blueorangutan test

@rohityadavcloud a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-7147)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 47990 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7765-t7147-kvm-centos7.zip
Smoke tests completed. 107 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_migrate_VM_and_root_volume
Error
78.74
test_vm_life_cycle.py

test_02_migrate_VM_with_two_data_disks
Error
52.52
test_vm_life_cycle.py

test_10_attachAndDetach_iso
Error
12.39
test_vm_life_cycle.py


fix: provide index.d.ts

Hey there,
this PR provide type definitions for your project. The primary file is index.d.ts which defines your function as being the default export. The name I've chosen here doesn't have any real impact on the calling typescript code, which can do any of:
import mockContext from 'aws-lambda-mock-context';
import fooContext from 'aws-lambda-mock-context';
import { default as makeMockAWSLambdaContext } from 'aws-lambda-mock-context';

Rounding out this change:

I've added a devDependency of @types/aws-lambda
I use yarn, so I've ignored files related to that
yarn re-orders dependency blocks in package.json - so those changes are here also.

LMK what you think, I find your library useful - but as I'm increasing the type safety on the project I'm writing compilation now fails because of the lack of these types.

Just a quick note on this, the test failure seems unrelated to my changes, in fact - the last merge into master also failed.

thanks for the feedback; I've updated the PR.

I made that change (using the github interface, so you may want to squash when you merge the commit).
FWIW, all of these types of formatting things come from my editor - in my own projects I use Prettier to make this automated. Have you considered that?

Thanks for the PR! :tada:
I considered that, but these things come from my linter (XO). I don't like all the styles prettier enforces. It's been a while since I checked it out so maybe I should give it another go.

Ah, perhaps then the "xo" key in package.json so that contributors can
easily meet these requirements?
On Wed, Jul 11, 2018 at 5:09 PM, Sam Verschueren<EMAIL_ADDRESS>wrote:

Thanks for the PR! 🎉
I considered that, but these things come from my linter (XO). I don't like
all the styles prettier enforces. It's been a while since I checked it out
so maybe I should give it another go.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SamVerschueren/aws-lambda-mock-context/pull/13#issuecomment-404204913,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP3r5VTpufavqqxKw_nGYf3h6uK4aFOks5uFhVFgaJpZM4VBy-C
.


Archive should have a top image like tags

Archive should have a top image like tags
Solution

Use same code as tags to add an image

Implemented


Abstract away BlockingQueue.offer()/poll() which notify after some period of inability to proceed

There are several places in Druid code which implement some sort of untimed BlockingQueue.take(),  but they want to notify or log about inability to make progress, so they use BlockingQueue.offer():
https://github.com/apache/incubator-druid/blob/fafbc4a80e0bba0c1fbb5066b9f0ce37ffcab929/extensions-contrib/ambari-metrics-emitter/src/main/java/org/apache/druid/emitter/ambari/metrics/AmbariMetricsEmitter.java#L115-L127
https://github.com/apache/incubator-druid/blob/fafbc4a80e0bba0c1fbb5066b9f0ce37ffcab929/examples/src/main/java/org/apache/druid/examples/twitter/TwitterSpritzerFirehoseFactory.java#L165-L168
https://github.com/apache/incubator-druid/blob/fafbc4a80e0bba0c1fbb5066b9f0ce37ffcab929/extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisRecordSupplier.java#L176-L179
https://github.com/apache/incubator-druid/blob/fafbc4a80e0bba0c1fbb5066b9f0ce37ffcab929/server/src/main/java/org/apache/druid/segment/realtime/firehose/EventReceiverFirehoseFactory.java#L376-L383
https://github.com/apache/incubator-druid/blob/fafbc4a80e0bba0c1fbb5066b9f0ce37ffcab929/extensions-contrib/graphite-emitter/src/main/java/org/apache/druid/emitter/graphite/GraphiteEmitter.java#L109-L121
They all use different strategies and patterns. It might be reasonable to extract this pattern as some sort of utility, or e. g. specify a common "timeout" in druid after which such events are logged, or a configuration might be added to choose between logging and emitting such events as alerts.

Opened #7052 to address the suggested changes above.


fix(render/ids): typo generic flow

Description

Typo for generic flow detector name to match AD pods
For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

not required anymore


Multiple invocations of Connection.close in HikariCP

Is Connection.close guaranteed to be a no-op for all but the first invocation or does HikariCP Connection.close break Java Connection API(https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#close())?

@mversic Yes.

@brettwooldridge just to be certain I interpreted your answer correctly, you are saying that 2nd close on a connection will be a no-op in HikariCP? How do you accomplish that?
Here is what is worrying me:

First owner obtains connection from the pool via HikariCP.getConnection
First owner closes connection. Once the connection is closed it is returned to the pool and I presume it could be handed out in the next call to getConnection from the pool.
Second owner obtains connection from the pool via HikariCP.getConnection. By chance, he obtains the same physical connection as the first owner
First owner closes the same connection again

Is second owner affected with this chain of events? Will his connection be returned to the pool without him knowing about it?


Release synthtool 0.3.1

This pull request was generated using releasetool.

Release is at https://github.com/GoogleCloudPlatform/synthtool/releases/tag/synthtool-0.3.1


Fix permissions w.r.t. viewing spaces

Space auditors are able to list and view spaces which they audit

Thank you, Gerg


Form submit event submitter value is null on Firefox with buttons

When submitting a form on FF with an Md button, the event.submitter value is null
Repro:
open on FF and click submit button. submitter name should appear as "submitter" but event.submitter is null so undefined is shown.
https://lit.dev/playground/#gist=65cdfdaa104065812d8b069bac15e01e

Looks like this is fixed now, testing in Firefox 120


Add a legend in the admin screen

As admin, viewing a list of all users, I see stars and checkmarks next to user emails. I assume:

stars = admins
checkmarks = confirmed user? submitted application?

There should be a small legend at the top/side so its more explicit.

The stars are admins and the checkmarks indicate verified emails. You're right though that it should be clearer what those symbols mean.


Vue packages version mismatch Vue2.2.5

         Vue packages version mismatch:

         -<EMAIL_ADDRESS>         -<EMAIL_ADDRESS>
but after I run npm install,it shows this

and here is my package.json  about vue-template-compiler

At the time of writing this,  I had the same error but updated version:
Vue packages version mismatch:

         -<EMAIL_ADDRESS>         -<EMAIL_ADDRESS>
To fixed it I ran using yarn:
yarn add<EMAIL_ADDRESS><EMAIL_ADDRESS>Basically just had to make sure vue and vue-template-compiler to have the same version.

@lilien1010
Yeah, the recent changes with vue and vue-template-compiler have caused many plugins to rebuild their templates. Updating those modules, including the template compiler, should solve the issues, just as @bahit mentioned.

I'm going to close this for now, feel free to comment back any questions.

I'm running into the same problem: It says:
Vue packages version mismatch:

-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>
But Vue is actually at 2.2.6 (I reinstalled just to be safe).
I've reinstalled vue-template-compliler also. (it is 2.2.6)
I'm using NPM. (Do I need to switch to yarn?)
Any suggestions?

@rr326
I would definitely give yarn a try here. To be safe, delete node_modules entirely and then install with yarn.

@rr326
For NPM:
npm install<EMAIL_ADDRESS>--save
Anyway, I just tried starting a new project and this Vue packages version mismatch: problem didn't occur the last time I started a new project. Perhaps, it's fixed now?

@bahit
Most likely due to the vue and vue-template-compiler changes. There was most likely a package mismatch from a peer dependencies or something.

Thanks for the help. I've worked around it but if this becomes a bigger issue (more posts), I'll volunteer to dig in on it. Otherwise I'll let it sit and hope it resolves itself. (And @bahit - I had tried that and it actually IS<EMAIL_ADDRESS>installed but somewhere it thinks it is 2.2.4)


Catalog graph improvement

Hey, I just made a Pull Request!
Adding filters for the Owner (owned by) so that we can see a subset of the catalog graph

Added ownedby filter box just like kinds and relations
By default, it has all the group(owners) options
We can filter out entities owned by a particular group

https://user-images.githubusercontent.com/35890623/195792493-86dd3a70-8020-4dcd-a6c7-35c51adb89ce.mov
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

cc/ @freben @Rugvip

@freben required changes made.

Work in progress, waiting for review.


Add possibility to show only the swatches, without spectrum / alpha.

So you want to hide the spectrum, the alpha, the color value field and everything else except the swatches?
What will be left is just a popup with a few color swatches?

Exactly! This is very useful when you need to constrain the user choice to some predefined colors.

I will add the option in a future version.

🚀


[Runtime] Enable to support service port in WARP mode rules

Since the Chromium/Blink Access White List can not support to check service port pattern
in access rule, so need to treat it in runtime. This patch add a checking of
service port in WARP mode.
BUG=XWALK-3132

@pozdnyakov
I've changed the patch according to your comments :)


Examples of CRUD api calls in documentation? perhaps using Redux Requests / Axios?

I get this is a boilerplate and just the bare bones, but with redux, sagas etc being quite complicated it would be great to see an example of how to integrate basic CRUD operations in this framework.
I'm sure it's something that the vast majority of use cases need, probably using something like Axios with Redux Requests. I normally Google for tutorials but not a lot out there?
While I get it should not be in the template, something in the documentation on how to add this functionality would help lots of people upskill to using this framework vs simpler implementations and make this boilerplate to be adopted even more.

The template itself is an EXAMPLE app lol showing how to do basic stuff.

@Can-Sahin Some advice if you are a contributor to open source software it's nice not to laugh at people asking questions.

There is nothing in the documentation about where to start with CRUD operations, this WOULD help people coming from more traditional service layered apps as sagas treats things very different
There is no CRUD example in the template, just an example of reading from an external API burried away quite deep

I'm sure you are not but the way you have come across online in our small interaction makes you seem like an unhelpful **** ;)
It's fine if you do not wish to add this in the documentation, people will work it out eventually but it could help others :)


Added is_simplified_exception configuration option.

Hi @leycec
Even if I've been silent during the last months, I have been following beartype since I'm still thinking of using it for my library.  My own little dirty simili-type checker that does an okay job needs all types to be stringified, and that's why I was using from __future__ import annotations everywhere. Now I'm back to square one. $/%"&?|!/. Oh god, I think it's time to adopt beartype and stop thinking about it. But I still have these issues that prevent me from using it: #216 #234"
[crowd applauses]
So I decided to dive a bit and created a new configuration option "is_simplified_exception" that solves both issues.
With is_simplified_exception False (default):
BeartypeCallHintParamViolation: Method kineticstoolkit.timeseries.TimeSeries.get_ts_after_time()
parameter time='allo' violates type hint <class 'float'> under non-default configuration
BeartypeConf(claw_is_pep526=True, is_color=None, is_debug=False, is_simplified_exception=False,
is_pep484_tower=True, strategy=<BeartypeStrategy.O1: 2>, warning_cls_on_decorator_exception=<class
'beartype.roar._roarwarn.BeartypeClawDecorWarning'>), as str 'allo' not float or int.

Standard reaction: Oh, that seems serious, I think I need to reinstall my python environment.
With is_simplified_exception True:
TypeError: Method kineticstoolkit.timeseries.TimeSeries.get_ts_after_time() parameter time='allo'
was expected to be of type <class 'float'>.

Standard reaction: Oh, I wrote a string instead of a float. My bad.
 It may serve as a starting point for a solution that is less hacky, in case you do find it hacky. But I think it has value since it doesn't serve the same public. The default is perfect for software developers, and the simplified version would be better for the users of a library.
I'll be very curious to know what you think of it.
One last thing, I didn't edit any docstring. I guess that if you accept this PR, many docstrings will need to be changed since both options don't raise the same exception.

@leycec Maybe you'd prefer to separate those two features, I think I personally would, but then it may be too many configuration options. Anyway, if you want I can work on it. For instance:
is_simplified_exception_message=False
(or is_extended_exception_message=True)

is_raising_type_error=False
(or is_raising_beartype_exceptions=True)

[silence, theater lights close, Félix enters the stage]

My own little dirty simili-type checker that does an okay job...

Oh... Oh, Gods. What you done to yourself, Félix!?!? *WHAT HAVE YOU DONE!?!?* </breaths_heavily_into_paper_bag>

calm down, @leycec. calm down. just pretend you didn't read that and everything will be kk.
What I meant to say was... Thanks so much for this superbly awesome PR, Félix! You're totally right about everything, of course. I truly meant to do something about your prior feature requests, but I didn't. Now here we are. @beartype's existing violation messages are pretty awful, aren't they? This substring is especially bad and responsible for most of the badness:
...under non-default configuration
BeartypeConf(claw_is_pep526=True, is_color=None, is_debug=False, is_simplified_exception=False,
is_pep484_tower=True, strategy=<BeartypeStrategy.O1: 2>, warning_cls_on_decorator_exception=<class
'beartype.roar._roarwarn.BeartypeClawDecorWarning'>)

Literal logorrhoea. Thus, I vomit into an offscreen bit-bucket. :vomiting_face:
Also, this classic user reaction:

Standard reaction: Oh, that seems serious, I think I need to reinstall my python environment.

:smile: :laughing:  :rofl: -> :sweat: :cry: :sob:

Maybe you'd prefer to separate those two features, I think I personally would, but then it may be too many configuration options. Anyway, if you want I can work on it.

Yes! Please! Gods! So much "Yes"!!! </ahem>
I know you've already invested a gargantuan pile of volunteer work into this. But... would you mind separating those two features out? You don't have to, of course. You've already done enough. I'm happy to have a go at this myself. But if you do find a spare moment to separate them out, that would be super and amazing.
Let Us Now Bikeshed About Option Names
I am a weirdo. Therefore, I am fond of the following options:

violation_param_type: typing.Type[Exception]] = beartype.roar.BeartypeCallHintParamViolation and violation_return_type: typing.Type[Exception]] = beartype.roar.BeartypeCallHintReturnViolation. Rather than pass a somewhat limited boolean option like either is_raising_type_error or is_raising_beartype_exceptions, callers should be permitted to pass full-blown options like violation_param_type and violation_return_type that accept actual exception types. If unpassed, these options would simply default to the custom exception types that @beartype currently raises, meaning: "Do whatever you think is best, @beartype. You do you."
violation_is_verbose: bool = True instead of either is_simplified_exception_message or is_extended_exception_message, maybe? It's all subjective, of course. There is no wrong answer here. That said, I expect @beartype to eventually support a whole raft of violation-specific configuration options. Prefixing these options by the substring "violation_" should improve readability, discoverability, and disambiguity. Naturally, I have no idea what I'm talking about.

Given the above, this is what you might configure @beartype with:
BeartypeConf(violation_is_verbose=False, violation_param_type=TypeError, violation_return_type=TypeError, ...)

Does that sound reasonable? Both should require only trivial changes to get_beartype_violation(). If major surgery is needed, abort mission immediately and panic.
Yet Again, Ontario Thanks You
Thanks yet again for all you've done here, Félix. So much :love_hotel:! Yes, that is the love hotel emoji.
I'll merge this directly after you give the go-ahead that you're fully satisfied. This will probably land in our upcoming @beartype 0.17.0 release, whose release has yet to be decided but will probably happen within a month. Possibly. Maybe.
Question: do you need this functionality super-fast? If so, I'll speed up our release schedule. If not, I'll be lazy and just play video games for the entire month of November. This is what it means to live in Ontario. Quebec makes the video games. Ontario plays them. Truly, a partnership in heaven.

Oh... Oh, Gods. What you done to yourself, Félix!?!?

Mmmmm, probably what I thought was the best at the time 😃 . When I did it, postponed annotations were supposed to become default "in a few weeks" in Python 3.10. And it's easy to parse a string when you're the one that creates the string in a first place. But I was wrong, obviously, and I need a proper type checker. Really, I'm still surprised that there are so few real-time type checkers out there. I have difficulty accepting that people in general are fine with raising obscure, really deep exceptions that make no sense, just because the toplevel function argument was the wrong type. Anyway, I don't need to convince you of course.

I know you've already invested a gargantuan pile of volunteer work into this. But... would you mind separating those two features out?

Gargantuan? No. I just did a multi-file search of "violates type hint" and I found the file that generates the strings. The end.
Really, It'll be a pleasure. It's not often obvious how we can help in an open source project that is not ours, and I know that I can do this boring refactoring, so I'll do it proudly. And really, I do it for me. The little time I put on it will save me tons of time later on my library.

Let Us Now Bikeshed About Option Names. I am a weirdo.

Weirdo, I don't know. Maybe for your passion in finding weird animated gifs for anything, but apart from it...
I was expecting you to decide on option naming. The API of a module is so important. Just next in importance after "does the module work", and for me it's one of the very few creative parts of programming. An API is an art. You won't tell Elton John that he should wear white glasses instead of pink ones, so I won't tell @leycec that he should use my naming suggestions.
But I do have a suggestion. Instead of violation_is_verbose: bool = True, what about violation_verbosity: int = 5? For instance:

Minimal verbosity (aimed for API users) <--- My proposition in this PR
Reserved for later, currently same as 1
Extended verbosity (aimed for software developers). Provides more details on the exact cause of type hint violation.
Reserved for later, currently same as 3
Full verbosity. Like 3, but with additional information on current configuration settings. Default is 5.

If major surgery is needed, abort mission immediately and panic.

Of course! But it's gonna be fine. Oh, wait a bit, my nose is bleeding. I'll be back.

do you need this functionality super-fast?

Absolutely not. When I'm done with it, I'll still need to work on my library to switch to beartype. And I don't plan to do a release myself in the next month. Game in peace.

Hi @leycec
I guess this is it! Need to run unit tests though. And line 413 of errormain.py is ugly. A standard exception do not have keyword arguments, therefore trying this with a standard exception fails with a TypeError. This code works, I don't know if it's robust enough though.

WOW. I'm stunned, Félix.
I receive one phenomenal PR per year. Last year, it was Harvard microscopist @tlambert03 with his object-oriented beartype.door API (which then became the basis for Plum). This year, it is you with these shocking improvements to our exception-handling BeartypeConf API. Insanely impressive engineering. Take all my hand claps! All of them! :clap: :clap: :clap: :clap: :clap: :clap: :clap:
Technically, I copy-pasted those emoji repeatedly. Pragmatically, I actually clapped that many times in real life for dramatic emphasis. My palms are now raw, red, and sore. Pretty sure it was worth it.

Really, I'm still surprised that there are so few real-time type checkers out there.

...heh. You and me both, bro. The silence is deafening. I hear crickets when I code.
Interesting, there were quite a few competing type checkers in this space at one time. All of them except @beartype and typeguard quietly expired. Their authors gave up; their projects caved in; their packages lay scattered; their users long fled.
Only the stubborn survive in this hellish landscape of mangled APIs, broken PEPs, and failed promises.

I have difficulty accepting that people in general are fine with raising obscure, really deep exceptions that make no sense, just because the toplevel function argument was the wrong type.

Please accept the painful truth. Félix, I've long since abandoned any pretence at understanding humanity. I love and adore humanity, but I'll never truly understand humanity. The dark legacies of duck typing and "Easier to Ask for Forgiveness than Permission (EAFP) cast a long shadow... even today. Most Pythonistas inherited a much more "hack it until you make it" mentality than typing masochists scientific chads such as ourselves.
The prevalence of artificial intelligence is rapidly changing even this, though. AI isn't "just" a near trillion dollar industry; it's the next iteration of industrial civilization. Entire professions, praxes, and economies are now at stake – and Python looms at the forefront. The stakes? Kinda high. Python's "old ways" are no longer acceptable. They never were, really. But it was easier to ignore the negative externalities caused by duck typing and EAFP (like unreadable exceptions, undebuggable code, and unintrospectable APIs) when the stakes were alot lower.
Thankfully, the old ways are fading fast. Let's light the way to a sane future full of happy AI that heartily claps us on the back.

It's not often obvious how we can help in an open source project that is not ours, and I know that I can do this boring refactoring, so I'll do it proudly.

You're extraordinarily humble. I love that. Capitalism incentives pride posture and the Dunning–Kruger effect. Humility is a rare and glistening jewel amidst the steaming refuse pile.
You are that jewel. Shine, Félix!

OMG! You get it! Yes, you get it! You win the Internet today! Indeed, all of Computer Science is but an art. We're all making this up as we go – so let's make the most of the keyboard in our hands and change this world. One artful API at a time.

But I do have a suggestion. Instead of violation_is_verbose: bool = True, what about violation_verbosity: int = 5?

...heh. You're shockingly clever. Also, you're apparently telepathic. I was thinking along similar lines – but didn't want to impose too heavily on your really valuable time. Thankfully, you outpaced me and did everyone a solid by intuitively going there anyway.
You have future-proofed @beartype. Therefore, @beartype again thanks you. :clap: :bear: :clap:

Absolutely not. When I'm done with it, I'll still need to work on my library to switch to beartype. And I don't plan to do a release myself in the next month. Game in peace.

Superbness! Thanks for being so accommodating. Your patience gives me valuable time to better support PEP 695 (i.e., Python 3.12's new type syntax) in @beartype 0.17.0.
Please prod me if I've failed to release @beartype 0.17.0 by the time you need it. Shockingly, I promise to do something.

I guess this is it! Need to run unit tests though.

And... you've failed! Just kidding. Tests are failing – but only because pyright hates everybody:
pyright 1.1.335, node v20.8.1, pyright-action 1.7.1
/home/runner/runners/2.311.0/externals/node20/bin/node /opt/hostedtoolcache/pyright/1.1.335/x64/package/index.js --pythonversion 3.8 --outputjson
/home/runner/work/beartype/beartype/beartype/_decor/error/errormain.py:410:13 - error: No parameter named "message" (reportGeneralTypeIssues)
Error: No parameter named "message" (reportGeneralTypeIssues)
/home/runner/work/beartype/beartype/beartype/_decor/error/errormain.py:411:13 - error: No parameter named "culprits" (reportGeneralTypeIssues)
Error: No parameter named "culprits" (reportGeneralTypeIssues)
/home/runner/work/beartype/beartype/beartype/_decor/error/errormain.py:420:12 - error: Expression of type "Exception" cannot be assigned to return type "type[Exception]"
  Type "Exception" cannot be assigned to type "type[Exception]" (reportGeneralTypeIssues)
Error: Expression of type "Exception" cannot be assigned to return type "type[Exception]"
  Type "Exception" cannot be assigned to type "type[Exception]" (reportGeneralTypeIssues)
3 errors, 0 warnings, 0 informations
Error: 3 errors

Static type-checkers hate duck typing.
I'm merging this anyway. I'll silence pyright and mypy with a subsequent commit. I'll also:

Officially document these wondrous additions in @beartype's ReadTheDocs (RTD)-hosted docos.
Extensively unit test this functionality in our test suite with additional... tests.

And line 413 of errormain.py is ugly. A standard exception does not have keyword arguments, therefore trying this with a standard exception fails with a TypeError. This code works, I don't know if it's robust enough though.

...heh. It's shockingly simple, but therefore clever. It's also duck typing, which I usually hate. But duck typing is probably a good fit for this particular use case, because we'd like to allow users the flexibility of either conforming to CPython's standard exception hierarchy or @beartype's "unique" beartype.roar exception hierarchy.
Actually... I think I might codify this with a new @beartype-specific abstract exception mixin resembling:
# In "beartype.roar":
class BeartypeViolationMixin(object):
    def __init__(self, message: str, culprits: tuple) -> None:
        raise NotImplementedError('Implement me or suffer unspecified badness, you.')

    @property
    def culprits(self) -> tuple:
        raise NotImplementedError('Ditto.')

class BeartypeCallHintViolation(BeartypeCallHintException, BeartypeViolationMixin):
    ...

Then we just lightly refactor 413 of errormain.py to resemble:
    exception = (
        exception_cls(
            message=exception_message,
            culprits=tuple(violation_culprits),
        )
        if issubclass(exception_cls, BeartypeViolationMixin) else
        # Standard exceptions do not have arguments.
        exception_cls(exception_message)
    )

That should also satisfy noxious pyright complaints about this. Be quiet, pyright. We have spoken.
Thanks so much for the tremendous effort, Félix. Let us merge this immediately before I inevitably break everything with half-baked ideas that ultimately crumble into dust like that Nazi dude at the end of that one Indiana Jones film. Actually, I'm pretty sure that's the end of every Indiana Jones film.


Laravel extension extends Illuminate\Foundation\Testing\TestCase but doesn't provide required createApplication() method

I'm working with Laravel 4.2 and installed the Integrated package as instructed with composer require laracasts/integrated --dev. I see that the Laravel extension, Laracasts\Integrated\Extensions\Laravel, extends Illuminate\Foundation\Testing\TestCase, but TestCase has an abstract function createApplication() which needs to be implemented by subclasses, but Laracasts\Integrated\Extensions\Laravel doesn't provide that class.
As far as I can see, Laracasts\Integrated\Extensions\Laravel should provide that abstract class, unless I'm missing something?
The error I'm getting around this is shown below:
Fatal error: Class ProjectReviewUiTest contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Illuminate\Foundation\Testing\TestCase::createApplication) in /Users/Harrison/Sites/ubs-solomon/app/tests/integration/Project/ProjectReviewUiTest.php on line 3

Sorry, my mistake. Turns out I needed to make my app/test/TestCase.php class extend Laracasts\Integrated\Extensions\Laravel instead of the normal Illuminate\Foundation\Testing\TestCase.
I found this out from a little note on a Laracasts video, so you may want to update the documentation (though it's possible that it's already there and I missed it).


jit coleman_policy_iter.rst

moves some code from optgrowth into separate files that are also used in this lecture

@natashawatkins Is this ready for review?

Almost, but I'm finding that timing 20 iterations for each operator, the Bellman operator is actually faster which seems unusual

This is ready to be merged

Thanks @natashawatkins , nice work.


[$250] Group Chat custom avatar not saved when navigating back to invite members page

Coming from https://github.com/Expensify/App/pull/39757#issuecomment-2052659550

Create a new group chat
Choose a picture for custom avatar
Go back to member invite page
Proceed again
Create chat

Expected:
Avatar image should be saved.
Actual
Picture is not taken into consideration.
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~014f246ab8eb2607ee
Upwork Job ID:<PHONE_NUMBER>083801600
Last Price Increase: 2024-06-05

I am guessing this is because the file ref needs to be cached outside the component lifecycle or some other strategy to achieve it. Feels like a minor issue that can be easily solved.

No progress yet. Focused on QBO

Gonna take this one External so we can make some progress.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Group Chat custom avatar not saved when navigating back to invite members page
What is the root cause of that problem?
When creating the group, we use the outdated fileRef.current which is undefined when coming back.
https://github.com/Expensify/App/blob/406139cf2120b25c28643f1e728d531fd8848a60/src/pages/NewChatConfirmPage.tsx#L96
What changes do you think we should make in order to solve the problem?
We should use stashedLocalAvatarImage which saves the chosen picture as param when creating the groupChat

@neonbhai Thanks for the proposal. Your RCA makes sense but the solution won't work. In onyx we only store the url and we want to pass the whole image.

Still looking for proposals

still waiting for proposals - @marcaaron @s77rt is this a more complex issue than originally thought?

@adelekennedy I didn't check in depth but it shouldn't be that hard, no need to adjust the bounty yet

Agree, I think we just haven't found the obvious solution yet - but let's see.

still waiting

gonna just keep waiting on this as it's pretty edge-casey. Going to move this to weekly so we don't keep getting dinged

Still looking for proposals...

still pending proposals @neonbhai can you update your proposal with @s77rt feedback?

Proposal
Please re-state the problem that we are trying to solve in this issue.
Group Chat custom avatar not saved when navigating back to invite members page
What is the root cause of that problem?
The screen remounts every time we navigate, causing the fileRef to be re-initialized upon returning.
What changes do you think we should make in order to solve the problem?
We can move fileRef to a context to make it persist while navigate.
Create src/hooks/useFileRef.tsx
useFileRef.tsx
import React, { createContext, useContext, useRef, ReactNode } from 'react';
import type {CustomRNImageManipulatorResult} from '@libs/cropOrRotateImage/types';

// Define the type for the context
type FileRefContextType = React.MutableRefObject<File | CustomRNImageManipulatorResult | undefined> | null;

// Create the context
const FileRefContext = createContext<FileRefContextType>(null);

// Custom hook to access the context
const useFileRef = (): FileRefContextType => useContext(FileRefContext);

// Define the type for the provider props
type FileRefProviderProps = {
    children: ReactNode;
};

// Provider component to manage the fileRef value
const FileRefProvider = ({ children }: FileRefProviderProps) => {
    const fileRef = useRef<File | CustomRNImageManipulatorResult | undefined>(null);

    return (
        <FileRefContext.Provider value={fileRef}>
            {children}
        </FileRefContext.Provider>
    );
};

export { FileRefProvider, useFileRef }

Wrap RHP stack navigator with FileRefProvider
            <View style={styles.RHPNavigatorContainer(isSmallScreenWidth)}>
                <FileRefProvider>
                    <Stack.Navigator
 .....

fileRef in NewChatConfirmPage will use useFileRef
function NewChatConfirmPage({newGroupDraft, allPersonalDetails}: NewChatConfirmPageProps) {
    const optimisticReportID = useRef<string>(ReportUtils.generateReportID());
    const fileRef = useFileRef();

Clean up
    const createGroup = useCallback(() => {
        if (!newGroupDraft) {
            return;
        }

        const logins: string[] = (newGroupDraft.participants ?? []).map((participant) => participant.login);
        Report.navigateToAndOpenReport(logins, true, newGroupDraft.reportName ?? '', newGroupDraft.avatarUri ?? '', fileRef &&fileRef.current, optimisticReportID.current, true);
        if (fileRef) {
            fileRef.current = undefined;
        }

Branch to test.
What alternative solutions did you explore? (Optional)

@wildan-m Thanks for the proposal. Your RCA makes sense but the solution is over-engineered. We already have this flow working well with receipts. Let's follow the same approach.

@s77rt receipt has different case, perform back navigation from image preview will force the user to re-upload the scanned receipt, but group chat will expect we re-visit the image preview page without re-uploading the image.

@wildan-m If you start the money request process from the FAB you can go back to the participants page

@s77rt thanks for the hints. I've updated my propsal.
Change log: Move prev solution to alternative, add new main solution that mimic receipt upload behavior.

@wildan-m Thanks for looking into this. The solution looks good to me 👍.
🎀 👀 🎀 C+ reviewed
Link to proposal

@MonilBhavsar, do we need to consider anything else before we proceed?

No thanks! looks good to me. Thanks for keeping it consistent with receipt scan flow

@s77rt The PR is ready for review.

The PR that introduced the bug has been identified: https://github.com/Expensify/App/pull/39757#issuecomment-2052659550
The offending PR has been commented on : https://github.com/Expensify/App/pull/39757#issuecomment-2052659550
A discussion in #expensify-bugs has been started: Not needed
Determine if we should create a regression test for this bug: Yes

Regression Test Proposal

Click FAB > Start chat
Select multiple users (group) and press Next
Upload a group avatar
Go back
Click Next
Click Start group
Verify that the group is created and the custom avatar is used

LGTM

Payouts due:

[ ] Contributor: $250 @wildan-m
[ ] Contributor+: $250 @s77rt

https://github.com/Expensify/Expensify/issues/409492


Add Olumese Steve-John to the list of names

This PR is to add my name to the open source project by Altschool

Please I am sorry for all the trouble we have caused you but count it all joy. Your PR is about to be merged and you will be able to see your name on this url.
To enable me to do this, READ the README again carefully, update your code with the latest and push the update. I am here for you for the next 6 hours before I close the PR so you can initiate a fresh PR which will be easier to merge.

I just did it now and made a pull request.
On Mon, Aug 15, 2022 at 5:37 PM Olúwásetèmi @.***>
wrote:

Please I am sorry for all the trouble we have caused you but count it all
joy. Your PR is about to be merged and you will be able to see your name on
this url https://altschool-opensource-names.oluwasetemi.dev/.
To enable me to do this, READ the README again carefully, update your
code with the latest and push the update. I am here for you for the next 6
hours before I close the PR so you can initiate a fresh PR which will be
easier to merge.
—
Reply to this email directly, view it on GitHub
https://github.com/Oluwasetemi/altschool-opensource-names/pull/502#issuecomment-1215325094,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARP4YQOD6MFX2RJSGG3E44LVZJW3ZANCNFSM56SJCWTA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Added oncomplete signal

Added onComplete signal which is dispatched when animation ends.

@agoemans / @AleBles ,
I have a request. Can you also add an onEnd signal as well that gets called when an animation is finished playing completely? The onComplete signal is great, but it gets called each time of the animation is looping.
My current work around is to do the following, but doesn't seem like the best use:
spine.state.tracks[0].onEnd = function() {

}

Or perhaps simply passing true or false to the onComplete signal dispatch to tell if the animation is currently loop or not.
spine.onComplete.add( function(isLooping) {

}, this);

Thoughts? Thanks!

@NeoHoffa, sure no problem


Improve presentation of startup perf raw marks

We should put these in a table:

Something like this:
Raw Perf Marks: main

Name
Timestamp
Delta
Total

code/timeOrigin
1687187191725.414
0
0

code/didStartMain
1687187191797
71.5859375
71.5859375

code/willStartCrashReporter
1687187191812
15
86.5859375

code/didStartCrashReporter
1687187191838
26
112.5859375

code/willGenerateNls
1687187191841
3
115.5859375

code/mainAppReady
1687187191872
31
146.5859375

code/willLoadMainBundle
1687187191872
0
146.5859375

code/fork/willLoadCode
1687187191885
13
159.5859375

code/registerFilesystem/file
1687187191998
113
272.5859375

code/didLoadMainBundle
1687187192018
20
292.5859375

cc @bpasero, @jrieken

The current format is on purpose so that the data can simply be copy-pasted into Excel for further inspection. This is a rare case but very useful when drilling into perf issues and something I don't wanna loose. So, if this is done it should be behind a setting

@jrieken an online converter seems to work pretty well, is that fine since it's the edge case? https://tableconvert.com/markdown-to-csv

No, I don't wanna have to use an online converter for this. Performance investigations are already stressful enough. I use the copy-paste-to-excel flow repeatedly for multiple runs of two versions (slow/fast) and I want that to be as smooth as possible. That also the reason why it's called "Raw" perf marks. The top section is already a table of roll-up data and I wonder why your additions aren't going in there.

Sounds good, I'll move it into its own section somewhere similar to the extension status section. I didn't initially because the main table at the top is exclusively pulled from the timer service which workbench contribs can't integrate nicely with, and wanted to reuse as much code as possible.


Create an SLA and support page in CC docs

We should clearly spell out what users are getting with different support levels and HA v. one node clusters and make it widely available.
Thinking something along the lines of Mongo's support page (though fewer options)

Closing in favor of jira


Fix: add warning on duplicated yaml keys

resolves #5114

Description
When we have a duplicate top level key in our schema yml files, we should see the following warning:
$ dbt run
08:01:05  Running with dbt=1.2.0-a1
08:01:05  [WARNING]: Compilation Error
  Duplicate 'models' top level key found in yaml file models/schema.yml.
08:01:05  [WARNING]: Compilation Error
  Duplicate 'models' top level key found in yaml file models/sub/schema.yml.
08:01:05  Found 2 models, 0 tests, 0 snapshots, 0 analyses, 167 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics
08:01:05
08:01:06  Concurrency: 1 threads (target='dev')
08:01:06
08:01:06  1 of 2 START table model public.my_model_a ..................................... [RUN]
08:01:06  1 of 2 OK created table model public.my_model_a ................................ [SELECT 1 in 0.10s]

In core/dbt/exceptions.py, DuplicateYamlKeyException is a no-op of CompilationException - is this okay?

For the tests, because we warn instead of error, I'm using run_dbt_and_capture() from dbt.tests.utils and asserting that stdout has the right string - not too sure if this is the right way to do this. I also tried something along the lines of:

from dbt.exceptions import DuplicateYamlKeyException

...

def test_duplicate_key_in_yaml(project):
    with pytest.raises(DuplicateYamlKeyException):
        run_dbt(["run"])

Which didn't quite work because we print a warning instead of raising an error. (Ftr, I just cribbed what was in dbt/tests/functional/basic/tests_basic.py for this one).

There's some mypy errors again - can't tell what's going on though - certainly those functions (line_wrap_message, warning_tag) are in core/dbt/ui.py.

mypy.....................................................................Failed
- hook id: mypy
- exit code: 1

core/dbt/exceptions.py:9: error: Module 'dbt.ui' has no attribute 'line_wrap_message'  [attr-defined]
core/dbt/exceptions.py:9: error: Module 'dbt.ui' has no attribute 'warning_tag'  [attr-defined]
core/dbt/clients/yaml_helper.py:11: error: Module 'dbt.ui' has no attribute 'warning_tag'  [attr-defined]
core/dbt/parser/schemas.py:72: error: Module 'dbt.ui' has no attribute 'warning_tag'  [attr-defined]
Found 4 errors in 3 files (checked 3 source files)

Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

Integration test from days of yonder fails led me to a yaml test file (https://github.com/dbt-labs/dbt-core/blob/main/test/integration/006_simple_dependency_tests/local_dependency/models/schema.yml) with actual duplicated top level keys - it looks like the "mapping node should be a set" ^1 so curious if that particular test worked properly before 🤔