VS Code Dark Plus: Fix colors for inserted and deleted in diffs

Currently the colors are incorrect (flipped) for the inserted and deleted tokens in the prism-vsc-dark-plus.css theme:

Thank you for contributing @karlhorky!

Thanks for the merge!
Any chance for a new release @mAAdhaTTah @RunDevelopment ?

@mAAdhaTTah I'll quickly merge #91. After that, a new release might be a good idea.

@karlhorky @RunDevelopment v1.5.0 has been published.


Issue with pod file after upgrading to 3.0.0

Hello,
I having some pod file issue after upgrading to 3.0.0.
I change the pod file but I still get the error.. I get no errors with (2.0.0)..
Please help
-- podfile --
platform :ios, '9.0'
CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
pod 'FBSDKCoreKit', '4.39.1'
pod 'FBSDKLoginKit', '4.39.1'
-----error ----
Running pod install...                                              0.8s
CocoaPods' output:
↳
Preparing
Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

Finding Podfile changes
  - FBSDKCoreKit
  - FBSDKLoginKit
  - Flutter
  - file_picker
  - firebase_analytics
  - firebase_auth
  - firebase_core
  - firebase_crashlytics
  - firebase_dynamic_links
  - firebase_messaging
  - firebase_remote_config
  - flutter_facebook_login
  - flutter_statusbarcolor
  - google_sign_in
  - keyboard_visibility
  - location
  - package_info
  - path_provider
  - share
  - shared_preferences
  - url_launcher

Fetching external sources
-> Fetching podspec for `Flutter` from `.symlinks/flutter/ios-release`
-> Fetching podspec for `file_picker` from `.symlinks/plugins/file_picker/ios`
-> Fetching podspec for `firebase_analytics` from `.symlinks/plugins/firebase_analytics/ios`
-> Fetching podspec for `firebase_auth` from `.symlinks/plugins/firebase_auth/ios`
-> Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios`
-> Fetching podspec for `firebase_crashlytics` from `.symlinks/plugins/firebase_crashlytics/ios`
-> Fetching podspec for `firebase_dynamic_links` from `.symlinks/plugins/firebase_dynamic_links/ios`
-> Fetching podspec for `firebase_messaging` from `.symlinks/plugins/firebase_messaging/ios`
-> Fetching podspec for `firebase_remote_config` from `.symlinks/plugins/firebase_remote_config/ios`
-> Fetching podspec for `flutter_facebook_login` from `.symlinks/plugins/flutter_facebook_login/ios`
-> Fetching podspec for `flutter_statusbarcolor` from `.symlinks/plugins/flutter_statusbarcolor/ios`
-> Fetching podspec for `google_sign_in` from `.symlinks/plugins/google_sign_in/ios`
-> Fetching podspec for `keyboard_visibility` from `.symlinks/plugins/keyboard_visibility/ios`
-> Fetching podspec for `location` from `.symlinks/plugins/location/ios`
-> Fetching podspec for `package_info` from `.symlinks/plugins/package_info/ios`
-> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
-> Fetching podspec for `share` from `.symlinks/plugins/share/ios`
-> Fetching podspec for `shared_preferences` from `.symlinks/plugins/shared_preferences/ios`
-> Fetching podspec for `url_launcher` from `.symlinks/plugins/url_launcher/ios`

Resolving dependencies of `Podfile`
[!] CocoaPods could not find compatible versions for pod "FBSDKLoginKit":
  In snapshot (Podfile.lock):
    FBSDKLoginKit (= 4.39.1)

  In Podfile:
    FBSDKLoginKit (= 4.39.1)

    flutter_facebook_login (from `.symlinks/plugins/flutter_facebook_login/ios`) was resolved to 0.0.1, which depends on
      FBSDKLoginKit (~> 5.5)

Specs satisfying the `FBSDKLoginKit (= 4.39.1), FBSDKLoginKit (= 4.39.1), FBSDKLoginKit (~> 5.5)` dependency were found, but
they required a higher minimum deployment target.

/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:328:in `raise_error_unless_state'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:310:in `block in
unwind_for_conflict'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `tap'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `unwind_for_conflict'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:257:in `process_topmost_state'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/resolver.rb:91:in `resolve'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb:909:in `block in
resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:64:in `section'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb:907:in
`resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer/analyzer.rb:114:in `analyze'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:266:in `analyze'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:174:in `block in
resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:64:in `section'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:173:in `resolve_dependencies'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:136:in `install!'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/command/install.rb:48:in `run'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in `run'
/usr/local/Cellar/cocoapods/1.6.1/libexec/gems/cocoapods-1.6.1/bin/pod:55:in `<top (required)>'
/usr/local/Cellar/cocoapods/1.6.1/libexec/bin/pod:22:in `load'
/usr/local/Cellar/cocoapods/1.6.1/libexec/bin/pod:22:in `<main>'

Error running pod install

Make sure you have platform :ios, '10.0' in the Podfile
and run pod update FBSDKCoreKit and pod update FBSDKLoginKit then pod install
it should work now.

I tried that but i still have that error
Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/FBSDKAppEventsState.m:181:29: error: no known class method for selector 'JSONStringForObject:error:invalidObjectHandler:'
return [FBSDKBasicUtility JSONStringForObject:events error:NULL invalidObjectHandler:NULL];

I managed to compile thanks to
https://github.com/roughike/flutter_facebook_login/issues/185#issuecomment-536812802

@raphFlash ..
I tried  but I am still getting errors..
Analyzing dependencies
Fetching podspec for Flutter from .symlinks/flutter/ios-release
Fetching podspec for file_picker from .symlinks/plugins/file_picker/ios
Fetching podspec for firebase_analytics from .symlinks/plugins/firebase_analytics/ios
Fetching podspec for firebase_auth from .symlinks/plugins/firebase_auth/ios
Fetching podspec for firebase_core from .symlinks/plugins/firebase_core/ios
Fetching podspec for firebase_crashlytics from .symlinks/plugins/firebase_crashlytics/ios
Fetching podspec for firebase_dynamic_links from .symlinks/plugins/firebase_dynamic_links/ios
Fetching podspec for firebase_messaging from .symlinks/plugins/firebase_messaging/ios
Fetching podspec for firebase_remote_config from .symlinks/plugins/firebase_remote_config/ios
Fetching podspec for flutter_facebook_login from .symlinks/plugins/flutter_facebook_login/ios
Fetching podspec for flutter_statusbarcolor from .symlinks/plugins/flutter_statusbarcolor/ios
Fetching podspec for google_sign_in from .symlinks/plugins/google_sign_in/ios
Fetching podspec for keyboard_visibility from .symlinks/plugins/keyboard_visibility/ios
Fetching podspec for location from .symlinks/plugins/location/ios
Fetching podspec for package_info from .symlinks/plugins/package_info/ios
Fetching podspec for path_provider from .symlinks/plugins/path_provider/ios
Fetching podspec for share from .symlinks/plugins/share/ios
Fetching podspec for shared_preferences from .symlinks/plugins/shared_preferences/ios
Fetching podspec for url_launcher from .symlinks/plugins/url_launcher/ios
[!] CocoaPods could not find compatible versions for pod "FBSDKLoginKit":
In Podfile:
FBSDKLoginKit (= 4.39.1)
flutter_facebook_login (from `.symlinks/plugins/flutter_facebook_login/ios`) was resolved to 0.0.1, which depends on
  FBSDKLoginKit (~> 5.5)

Specs satisfying the FBSDKLoginKit (= 4.39.1), FBSDKLoginKit (~> 5.5) dependency were found, but they required a higher minimum deployment target.

Did you delete these files and folders "Podfile.lock, .symlinks, Pods" ?

@premtemp1
Remove
pod 'FBSDKCoreKit', '4.39.1'
pod 'FBSDKLoginKit', '4.39.1'

from your Podfile
do not insert "pod ..." that following by Facebook Docs or Firebase or others. This plugin or other plugin will inject the code by themselves when flutter building. Stay your Podfile to original. Just edit iOS platform to 9.0.
Then follow the step from the issue #185

@edwardmelody
Thanks..


Fixed context menu showing sort options after disabling columnSorting

Ops, there is one more tiny issue related to this one - I'll do another pull request


Feature Request:  Products as links

Loving the plugin so far. I think one improvement that can ease how it's used and make it more powerful would be to allow products to be links.  As an example, instead of requiring a product to be 'White Rice', also understand if it's '[[White Rice]]'.  This adds two benefits:

When I'm typing in the name of my item, I don't have to remember exactly how it's spelled/worded, since it will begin guessing file names as I'm typing.
It will create a backlink, so when I go to the product page, I'll be able to see links to all the journals where I listed the product.

So instead of:
```foodiary
White Rice 200
Salmon 100
```

You would have:
```foodiary
[[White Rice]] 200
[[Salmon]] 100
```

Bonus points if it can understand aliases as well.

Currently, mentions of a product are being collected in the "Unlinked mentions" section of backlink sidebar.
Sadly, adding of simple [[productName]] parsing is not enough here: products, being mentioned this way, still appear in "Unlinked mentions". It seems to me that Obsidian consider everything inside a code block as a plain text which is not supposed to be processed in any way.
I'll look for method to override this behavior, since I generally like the idea.


Function for display of wallet name

Add function to display wallet name rather than only having an option for address. It seems like most apps across Cosmos have moved towards display of name or name + address rather than address only.

@VPringle97
Add getWalletInfo:
interface WalletInfo {
  address: string;
  name: string;
}
getWalletInfo(): Promise<WalletInfo>;

Requirements

Add getName to AccountProvider https://github.com/stakeordie/griptape.js/blob/2acff88f60e78351dfd5f329e8ed89b9f8f47fe5/src/bootstrap.ts#L47
getName: () => string
Get name using keplr.getKey(chainId: string): Promise<{ name: string, ... }> and return it https://github.com/stakeordie/griptape.js/blob/2acff88f60e78351dfd5f329e8ed89b9f8f47fe5/src/bootstrap.ts#L238
Use provider to get name and address https://github.com/stakeordie/griptape.js/blob/2acff88f60e78351dfd5f329e8ed89b9f8f47fe5/src/bootstrap.ts#L76


done

Sc line.sk.py

[ ] Have you followed the contributing guidelines?
[ ] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Missiles


SG and SH current_hosp has to be added manually

The scrapers for SG (https://www.sg.ch/tools/informationen-coronavirus.html) and SH (CSV can be found under https://sh.ch/CMS/Webseite/Kanton-Schaffhausen/Beh-rde/Verwaltung/Departement-des-Innern/Gesundheitsamt-3209198-DE.html) do not add up the different numbers (they both report hospitalised isolated and hospitalised icu separately) for hospitalised to get the current_hosp.

That is easy to fix, but do you have some direct clarification from SG and SH that the numbers are separate and hospitalized isolated does not include ICU patients?

That is correct, both cantons confirmed that to get the total number of hospitalised, one needs to add their reported numbers of isolation and icu.


TanStack Query v5 Example Sandbox not working

What is the type of issue?
Documentation is incorrect
What is the issue?

Where did you find it?
No response

@melloware Hi, seems that react-query-v5 was added to v1 which does not have support for react-query v5. With v2 we will have support but those docs have another URL: https://alpha.kubb.dev/examples/tanstack-query/react-query-v5.


Enable cancelling of hung runs

e.g. if one of the test adapters hang, the test runner process hangs and therefore the run hangs.

Fixed by #62


"invalid credentials"

Type: Bug
I signed on one day and receive the message:
"invalid credentials: please ensure the username and password for [username] are valid or this may lead to lockout"
and nothing has changed?
I have tried the basics of checking for updates, restarting, changing my password and trying again....
Not sure how to proceed.
VS Code version: Code 1.79.2 (695af097c7bd098fbf017ce3ac85e09bbc5dda06, 2023-06-14T08:57:04.379Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (8 x 2592)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.95GB (10.49GB free)

Process Argv
--crash-reporter-id c0ef505a-c3e1-4264-9e96-3faeeb5950dd

Screen Reader
no

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

zopeneditor
IBM
3.2.0

python
ms-
2023.10.1

vscode-pylance
ms-
2023.6.30

jupyter
ms-
2023.5.1101742258

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.15

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

vscode-extension-for-zowe
Zow
2.9.0

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
py29gd2263cf:30773604
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30610678
282f8724:30602487
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
a9j8j154:30646983
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
03d35959:30757346
pythonfmttext:30731395
pythoncmv:30756943
fixshowwlkth:30771522
hideindicator:30766889
pythongtdpath:30769146
dh2dc718:30770000
pythonidxpt:30772539
pythondjangotscf:30772537

This doesn't look like an error provided by VS Code. Do you know what extension this is coming from? Can you add a screenshot?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Move math and random files into their respective modules

I tried to move more files into their respective modules to simplify the main file:

Move distanceBetweenPointAndSegment to math.ts
Move LCG, randomSeed, and withCustomMathRandom to random.ts

You also deleted the App component

OMG! Sorry about that! I was experimenting to see what is possible to extract from the file and forgot to revert my changes before the extraction. I think everything should be in place now.

Thanks for you contribution 🎉


search results paging

Shouldn't the search results page have a next page and total results count?
The harvest from #1037 got some results, but I am not sure how many, definitely not all, though.
I'm using /search?query= (no query should list all, right?)
When I switch from 10 results per page to 100, there are additional items, so some navigation should be there.
solr admin search query core shows 351 documents. Shouldn't that be somewhere on the search page too?

this seems ok when 03fb34d0ad698ff41d6ab20e33b3ce27ffe82d96 and https://github.com/ufal/dspace-angular/commit/79bb1e7c68a9cc6aadd9a2aacef193a6e4fca061 are deployed.
closing as fixed


[5.9] Add ability to get normalized response from gate: Gate::response(...)

Following on from the recent addition of specifying a reason code when denying policies this PR adds a method onto the Gate which allows you to get the Response object for a given ability check.
Why is this useful?
A good use case for this is anytime you want to check if an ability is not granted and understand why, without it throwing an exception.
How is this solved at the moment in userland?
This can be solved by using authorize and catching the AuthorizationException but this quickly becomes unmaintainable if you need to check lots of permissions (see serialization frontend example).
// Image if you had to check lots of user permissions
// and pass the deny messages and reasons onto the view... could get messy.
try {
    Gate::authorize('delete', $user);
    $allowed = true;
} catch (AuthorizationException $e) {
    $allowed = false;
    $denyCode = $e->getCode();
}

What this PR does
Instead of the above, with this PR you can now do:
$response = Gate::response('delete', $user);
$response->allowed(); // bool
$response->denied(); // bool
$response->message(); // Message from the policy, both allow and deny could send a message.
$response->code(); // The code from the policy, both allow and deny could send a code/reason of some kind.

This allows for more complex serialization of your permissions for example if you wanted to pass them onto your frontend for use in Javascript:
return view('users.index', [
    'permissions' => $users->mapWithKeys(function($user) {
        return [
            "{$user->getKey()}.edit" => Gate::response('edit', $user),
            "{$user->getKey()}.delete" => Gate::response('delete', $user),
        ];
    }),
]);

// In your view:
<script>
const permissions = '{{ $permissions->toJson() }}';
</script>

The above will serialize by default like:
{
    "3.edit": {
        "allowed": true,
        "message": null,
        "code": null
    },
    "3.delete": {
        "allowed": false,
        "message": "You are not allowed to delete this user because they are an admin.",
        "code": "user_admin"
    }
}

I believe this PR is the final key needed to have a comprehensive workflow related to handling permissions. @JosephSilber mentioned on twitter he would also like to see this kind of normalization for an access response.

ping @d3jn you may find this useful

The check and authorize methods need to also handle a failed response properly.

The check and authorize methods need to also handle a failed response properly.

Could you clarify? The implementation of check and authorize I believe should remain unchanged otherwise it would be a pretty big breaking change..

@JosephSilber just pushed a commit, I believe this fixes the check and authorize method

@garygreen there still seems to be a failing test.

Thanks @driesvints have updated and added some more tests, also done a bit of refactoring.

Pretty good with the overall idea. Trying to think of a better name than response at the moment.

Pretty good with the overall idea. Trying to think of a better name than response at the moment.

Maybe 'resolve'?

What about access ?
Gate::access('send', $message)->allowed();
Gate::access('send', $message)->message();

This could also work in your controllers if you assign intermediary variable:
$access = Gate::access('send', $message);

if ($access->code == 'vip_required') {
   return redirect()->route('purchase.vip')->withError($access->message());
}

I've gone ahead and made a few changes:

Renamed response to access: usage is now Gate::access()
Renamed $response->throwIfNeeded() to simply $response->authorize() - this better aligns with Gate::authorize() usage.

How's the changes look @taylorotwell ? 😁

The "cute" naming part of me wants to call it something like: $response = Gate::papers('delete', $invoice);
Like checking / inspecting your identity papers at a border crossing, etc.
But, that is perhaps trying to be too cute.

Hmm that might be an interesting name for a package, but it's a little too quirky for my taste, doesn't seem to fit well with the current naming convention of the Gate. Just considering it as code:
$papers = Gate::papers('delete', $invoice);
if ($papers->denied() && $papers->message()) {

}

or
$access = Gate::access('delete', $invoice);
if ($access ->denied() && $access ->message()) {

}

To me it's patently obvious "access" is trying to perform/do a certain action. "paper" requires a deeper understanding and explanation to mean identity papers / inspection. If something requires explaining... it's probably a bit too quirky, particularly for non english speakers?
In any case, the naming can be tweaked before 5.9 is released if a more fitting name arises. Happy to do another PR to change the name at a further date if needed 😃

Gate::access sounds good to me as well 👍

Renamed to inspect. Also changed constructor signature of Auth Response to accept the $allowed boolean first as that feels more sensibile to me compared to have the string message be first.
@garygreen Can you please submit a PR to the master branch of the docs upgrade guide and authorization documentation pages that reflect your changes?


options for formatting HTML

Is there a possibility to put trailing angle bracket of long HTML tag on the new line during the formatting, please?
Currently, the output I get is:
<a
    class={segment === 'sign-in' ? 'selected' : ''}
    href={$user.id === undefined ? 'sign-in' : 'my-profile'}
    cy="profile">
    {$user.id === undefined ? 'sign-in' : 'my-profile'}
</a>

I would prefer it like this (note the trailing > on the newline and the single quotes converted to double quotes):
<a
    class={segment === "sign-in" ? "selected" : ""}
    href={$user.id === undefined ? "sign-in" : "my-profile"}
    cy="profile"
>
    {$user.id === undefined ? "sign-in" : "my-profile"}
</a>

The prettier playground does it exactly like preffered, see link

It is related with #21

I believe this is addressed with the above option, lmk if not

Hello! Thanks for this extension! I restored this ticket because the "svelteBracketNewLine" option does not work. I specified in the .prettierrc file, but it does not change the position of the closing bracket. I also inserted the option "svelteBracketNewLine" in the .prettierrc.js file, and there was also the option of closing the angle bracket without a slash, the result does not change.

@rushelex did you restart vscode after changing .prettierrc ?

@rushelex did you restart vscode after changing .prettierrc ?

I'm just restart Svelte Language Server after changing .prettierrc .


Mouse coordinates broken without IMGUI_EXAMPLE_FORCE_DPI_FACTOR

That's on Kubuntu 23.04 with X11.
Also the UI remains too small regardless, but that's less bothersome. ;-)

I observe there is something really broken with hdpi, but have some difficulty debugging any of it without hardware to test it.
I know that I once disable hdpi for the app (possible on Mac and Windows, so presumably also on Kubuntu) which could be a workaround.

I might look into it a bit more in that case. Too bad the Rust compile times are quite off-putting. :-)

Yeah, I did some work to optimize it (replacing the image create by a c file), and trying to match the version of crates included in different branches of the dependency tree, but I agree that's not great overall.
I actually also did some work to use SDL instead of glium, but there is some drawbacks (e.g., size of the executable) and linking statically is also fairly slow.
In fact, I think the compile time is even worst on Linux than on Windows due to much more deps.
Anyway, if you find some fixes, I would really appreciate it and I will look into the other issue #28 you created.

Was fixed in https://github.com/reduf/search/tree/v0.8.0, will re-open if it wasn't correctly.


Using haxelib as a haxelib

Creating an extra process and parsing data seems like overkill when we have a haxelib sitting there in a haxelib and it makes me sad.
I suggest the following:
Move 99% of the code out of "Main" and put in in Haxelib, with main, just:
  var haxelib = new Haxelib(Sys.args());
  haxelib.process( );

 And Haxelib.hx

 public function new( args )
 public function getRepository( ?setup : Bool )
 public function function checkRec( ...)

Even making new and checkRec and args public would make this work as a library.

This is planned for obvious reasons.
I've discussed it with @jasononeil and we really want to decouple the CLI and the underlying client logic. It's not really reasonable to have to pass in your arguments as an array, or have it just access your stdin if there's not enough of them.
If you are happy with the current interface, you can just use @:privateAccess for the time being ;)

Yes, this is fair enough.
I guess that as a library, a "read only" api might be simple.  The only one I would really use is "where is this library[:version]".  A List/Array of {name,version,isCurrent,directory,dependency[]} would be icing on the cake. Not too far off checkRec.

Let's merge this with #186

@nadako wrong link ;)

Oops, I probably meant #217 :)


new clean up command

useful when developing locally and users want to reset their cluster without deleting the VM and loosing cached docker images.

so the things the clean up should do:

delete all fabric8 labeled deployments
delete all fabric8 created namespaces / projects
delete fabric8 related service accounts?
delete templates / template related configmaps for kubernetes, we could just let deploy recreate them but clean would delete old ones?
delete fabric8 secrets
delete PVCs
keep PVs?
delete console RC as not migrated to deployment yet

BTW for the kubernetes configmaps we can use -l kind=catalog
That all looks good to me.  Though I guess some resources (build/buildconfig) still requires all - as does user configmaps / deployments / pods / RCs etc

yeah agreed,  I was planning on using the -l provider=fabric8 in case we end up deleting things not created by fabric8.  i think that works for deployments and most resources though?  Well I guess I'll find out shortly.   I'll try and do a fair bit of testing to find the things that don't have the label yet.

Be careful on OpenShift not to delete router or registry...


Use wide arithmetic in CtChoice

We are currently using two different algorithms for constant-time comparison of Words:

the one in CtChoice (e.g. from_word_lt()), using arithmetic on Word
the one in Limb's implementations of subtle traits, using arithmetic on WideWord

The latter seems to be faster than the former (from the limb.rs benchmarks). We should use just one version of the algorithms both for performance reasons, and for simplicity. Probably should be implemented in CtChoice, and the Limb's impls should call it and convert CtChoice to Choice.
Also there is a third way to do it, by using the built-in overflowing_sub() method instead of sbb. Seems to be producing branch-free assembly, according to Godbolt - how safe is it?

It seems like overflowing_sub would be fine for this use case, as would using CtChoice and converting to Choice for the purposes of Limb

After some tests on Godbolt it seems overflowing_sub() when used this way compiles down to cmp on x86 - same as the current sbb approach, or in fact just directly casting (x < y) as Word. So the question is, do we consider cmp constant time? If not, we need to use the within-Word algorithm from Hacker's Delight (currently in ConstChoice::from_word_lt().

To summarize:

for all the architectures lt1 is identical to lt4
wasm32-unknown-unknown: all but lt2 use lt_u operand. So lt2 is at least as safe as the rest and possibly safer, depending on how lt_u is actually implemented.
aarch64-apple-darwin: lt3 is almost identical to lt1, all but lt2 use cmp operand. So lt2 again is as at least as safe as the rest and possibly safer, depending on how cmp is implemented.
i686-unknown-linux-gnu: lt3 is almost identical to lt1, all functions use cmp operand. So we might as well use lt1 or lt4 here without jumping through any additional hoops.
thumbv7em-none-eabi: lt3 is almost identical to lt1, all functions use subtract-with-carry (sbcs). So no difference between the functions.

That is, it is probably okay to just use lt4, and if we want to be extra-safe, we can use lt2.

I guess I'll need to investigate why the sbb approach impacts performance so much on #415.
The worries with cmp were related to things like speculative execution and a general desire to avoid anything branch-related, though perhaps that's not an issue without a corresponding jump instruction.


config file not been used

How I determine which configuration file docker is using?
Environment:
OS: CentOS release 6.7 (Final)
docker : Docker version 1.7.1, build 786b29d/1.7.1
I have file /etc/sysconfig/docker:
Resolves: rhbz#1176302 (docker issue #407)
DOCKER_NOWARN_KERNEL_VERSION=1
DOCKER_OPTS="-D --dns <IP_ADDRESS> --dns <IP_ADDRESS> --dns <IP_ADDRESS> --dns-search arnes.si"
OPTIONS="-D --dns <IP_ADDRESS> --dns <IP_ADDRESS> --dns <IP_ADDRESS> --dns-search arnes.si"
HTTP_PROXY="http://proxy.arnes.si:3128"
http_proxy="${HTTP_PROXY}"
but with ps aux | grep docker I see:
/usr/bin/docker -d
I'm using docker build behind the closed network and I'm getting error:
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
Regards, Tomaz

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

docker info:
Containers: 6
Images: 101
Storage Driver: devicemapper
Pool Name: docker-253:0-6160709-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 11.2 GB
Data Space Total: 107.4 GB
Data Space Available: 31.57 GB
Metadata Space Used: 9.232 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.138 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.95-RHEL6 (2015-09-08)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-573.7.1.el6.x86_64
Operating System:
CPUs: 1
Total Memory: 3.743 GiB
Name: sfinga.arnes.si
ID: MT2E:YB6V:IP6W:PZIJ:X23L:YCFU:USRH:545N:YWND:DDCE:LLQD:SNV5
uname -a:
Linux sfinga.arnes.si 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Closing since this isn't an actual issue and I see you've posted this in docker-user already.


down sample does not have an offset

down sample does not have an offset where to start from,  add as a parameter

done son


Is it possible to use the Form.Input with Redux-Form?

I tried something like:
<Field
    label='email'
    name={'email'}
    component={Form.Input}
/>

But this doesn't seems to work. Is there any way? Because in documentation I have seen in the Login Page component saying that "Can be easily wrapped with form libraries like formik and redux-form". How?

Sorry I'm afraid there isn't at the moment, working on this as part of version 2

These are now implemented as part of v2.


Memory exhausted on JsonBuilder.php on line 131

Hello
I caught an exception while trying to pass an array.
memory_limit = 256M
Allowed memory size of 268435456 bytes exhausted (tried to allocate 137 bytes) in /usr/local/cpanel/whostmgr/docroot/cgi/cprsync/vendor/egeloen/json-builder/src/JsonBuilder.php on line 131

$json = self::listFoldersToJson(InitApp::$cfg['user_home']);
                // Guardmos con la la clase json
                $builder = new JsonBuilder();
                //->setJsonEncodeOptions(JSON_FORCE_OBJECT)
                $json_encode = $builder
                    ->reset()
                    ->setValues($json)
                    ->build();

$json it's array with
 $info = array(
                'file'        => $fs_info->getFilename(),
                'path'        => str_replace(InitApp::$cfg['user_home'].'/','',str_replace('\\', '/',$fs_info->getPathname())),
                'permissions' => substr(sprintf('%o', $fs_info->getPerms()), -4),
                'owner'       => $fs_info->getOwner(),
                'group'       => $fs_info->getGroup(),
                'size'        => $fs_info->getSize (),
                'date'        => $fs_info->getMTime(),
                'depth'       => $depth
            );
...
Apreciate help...

Sorry for the very late answer... I just give a try to your issue by reproducing it with a very large and deep array but I can't get a memory exhaust... Not sure what is causing it. Can you copy/paste the json var content instead of its structure?

I will close it as indeed the library will duplicate the amount of memory used by a factor nearest of 2 but  this is a know limitation I'm not sure I will be able to remove it. The point is the builder is statefull (keeping a copy of your values internally) and then, there is no way to remove that since it is a builder...
Anyway, if someone else dig into this issue, giving me a reproductibe use case would be great in order to let me investigate it.


[3.2] Avoid polling Scala futures

This is ported from 3.1.x which includes changes from the following PR:
https://github.com/scalatest/scalatest/pull/1794
https://github.com/scalatest/scalatest/pull/1860

Thanks!


add optional query format response JSON rather than just text response

I believe in openai you can now do this?
{ "type": "json_object"
as part of the query, i think it would be sensible to have text and non-text options. So
.setFormat('json')

is this useful ? This can also be achieved for most models by prompt engineering as well. There is a slim benefit to supporting the more native json format in just OpenAi. It complicates the API for all models.

Closing this for now. We can revisit this if there are usecases which are blocked by this. In the meantime, one can always get a JSON response by adding that to the prompt.


About Hyper-Parameters

Hi,
Thanks for your code!
I see that the hyper-parameters in this released code are quite different with those reported in paper(lr, weight decay and batch size).  Which one can be used to reproduce the results?

Hi, these two settings can get similar effect in Vimeo90K benchmark. The main difference is that we 10x the weight decay which may make the training more stable.

Thank you for your reply.


Ilens

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix https://github.com/aemsites/icicidirect/issues/8
Test URLs:

Before: https://main--icicidirect--aemsites.hlx.live/research/equity

After: https://ilens--icicidirect--aemsites.hlx.live/research/equity

[ ] New Blocks introduced in this PR
If yes, please provide details below

Block Name
Documentation

For e.g. carousel
doc-link

Add few comments:

the dropdown list shows different.
Original site desktop view:

EDS desktop view:

Original site mobile view:

EDS mobile view:

Maybe this is caused by mock api data, I tried to change some droplist but nothing happened on the data.

Add few comments:

the dropdown list shows different.
Original site desktop view:

EDS desktop view:
Original site mobile view:
EDS mobile view:

Maybe this is caused by mock api data, I tried to change some droplist but nothing happened on the data.

@JiangLong2019 I have updated the dropdown look and feel.
regarding data is not updating , if you select "Most Popular" it will be updated.
This shows that data can be updated. Rest we will change when we have the original apis.

Can we have mock data to show the green percentage numbers

I will raise a question to customer on this one, since there data is mismatching columns in original website.
Will take this in an follow up jira.

Follow Up Jira https://github.com/aemsites/icicidirect/issues/149


refactor: correct include order

delete unnecessary redefinition of UINT32_MAX
group and sort include files

Describe your changes
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code
[ ] I have made corresponding changes to the documentation
[x] I read the contribution documentation and made sure that my changes meet its requirements

Just saw, that #711 tries to fix the same issue.  I would still propose, that we should include cstdint, as UINT32_MAX is defined in there.  Furthermore, I rearranged/regrouped the includes


Make deserialization more robust

It has happened multiple times for multiple people that a full sync response could not be deserialized with ruma-client because it either contained some ill-formed events or events that failed to parse because of a bug in ruma-events.
What should happen in those cases instead is those events being deserialized into some sort of UnknownEvent (of which there might be multiple variations, e.g. UnknownRoomEvent could also be a thing).
If somebody wants to work on this, I would recommend also joining #ruma:matrix.org and discussion implementation strategies there before diving into the code.

This was resolved in 0.13.0.


fix(dependency): Adds Astro 3.0 to astro peer dependency

Fixes astro peer dependency issue with Astro 3.0 versions.
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/astro
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/astro-pagefind
npm ERR! astro-pagefind@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

@shishkin please merge this as soon as possible

Thanks for the PR, @scottaw66. I understand that it might be a blocker for some users. However I don't want to just "declare" compatibility without actually making astro-pagefind work on Astro 3. I have renovate bot that does updates from time to time and the Astro 3 branch has some issues at the moment. I will look into it some time or maybe the issue will be just fixed upstream with Astro (the 3 major update was not very smooth so far).

Hi,
Is there a temporary workaround for Astro 3 users who dare to live on the edge?
I have tried npm install https://github.com/scottaw66/astro-pagefind#main without success.


[staging-next] python3Packages.keyring: disable keychain tests on darwin

It is highly unlikely that we can communicate with keychain in our build
environment. The tests were only recently enabled and have blocked this
package ever since.

Motivation for this change
https://nix-cache.s3.amazonaws.com/log/dj4appp2b8qq2vlakg6sgr218ky71ff4-python3.8-keyring-23.0.1.drv
Needs to be tested on x86_64-darwin
#119398
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

I think this can go to master. I did not build all depending packages though.

/rebase master

Never mind, the commit which broke it is not in master.

Unfortunately it's still failing on Hydra: https://hydra.nixos.org/build/141759604

Are you sure that was already in by the time? The tests/backends/test_macOS.py should be disabled.

Yes, Hydra shows it's commit de5555d8.

I'm suspicious of the disabledTestsPaths word, as I can't see any other occurrence in nixpkgs.

Fixed in 26dbd044cddba71db0913c6e35d5fb405224dc33.

A way of testing smaller x86_64-darwin builds would be nice, again a machine for OfBorg or someone writing up a GitHub action.


Test Group E MiniTwit

Go through their application
In case you find non-functional/erroneous behavior please report it via issues to the respective Github repositories (find them in repositories.py).

[ ] Do you see a public timeline?
[ ] Does the public timeline show messages that the application received from the simulator?
[ ] Can you create a new user?
[ ] Can you login as a new user?
[ ] Can you write a message?
[ ] After publishing a message, does it appear on you private timeline?
[ ] Can you follow another user?

This should be moved to a new issue on their issue board.

@Lucki2g, please create an issue on group E's repo and close this issue.

Created on their repo issue 35


Dropping into self

Describe the bug
You can drag an item into it self if it has a child that accepts drop.
https://p195.p4.n0.cdn.getcloudapp.com/items/geud4ggR/d26a0b2d-f670-4252-8347-ef92a302968b.gif?v=907ccf16be512a91e317756cf823cf47
Expected
Disallow this sort of thing.
canDropAt={(items, target) => {

// prevent self drop
if(items[0].index == target.parentItem) return false

            // check if target is a child of parent
            const isSelf = itemsSource[items[0].index].children.findIndex(i => i == target.parentItem)
            if(isSelf !== -1) return false

return true
 }
}

That is some basic code to check. If the fist item is the same as the a parent. I also check if parentItem is a child of the first item checking the items. (I called it itemsSource).
This isn't great and doesn't check for multiple selects. But it kind of works. :)

+1

Hi, thanks for reporting! Just as an heads up, I've looked into it, and it is not quite as trivial to fix; since checking whether someone is dropping an item into itself is not a trivial operation (can be a high depth through which is being dropped, and arbitrarily many items can be dragged at once, so the check is required for every dragged item), this will require some calculation. And, currently, the drop check happens on the drag event, not the drop event (so that the library can already prevent dropping on not allowed items), so this might not scale well for bigger trees. I'm currently working on improving the overall performance of the library, and then plan to only do the check during the initial drag event, hopefully in a way that only requires linear effort. Until then, a workaround similar to what @impactvelocity suggested is probably the easiest way to go. I'll keep you updated on the progress!

Hi @C7X! When working with lists with thousands of entries, list virtualization starts to become inevitable. This is something I want to support with react-complex-tree in the future, but there is still a bigger road ahead for that and that will not come with the performance fixes I am working on right now, sorry. So for now, I unfortunately have to say that other libraries might be a better starting point until rct supports virtualization.

I was able to solve this quite easily, I'm not sure about performance but if I recall my time complexity notation correctly, it should be O(n). I wouldn't imagine this would be a performance hit unless you had 1k+ leaf nodes  individually selected (not their parents)
Here's my approach in brief:

my items double linked so they maintain the ID of their parent (if any) as well as the IDs of any children and my typedef looks like this:
interface Item {
	_id: string;
	name: string;
	parent?: string; // if no parent, Item is the root node
	children: string[]
}

I prepare them for react-complex-tree like this
export interface TreeListProps {
	initialItems: Item[]
}
export const TreeList: React:FC<TreeListProps> = ({ initialItems ]) => {
	const { treeItems, rootID } = useMemo(() => {
		let rootID = '';
    	const result: Record<string, TreeItem<any>> = {};
	    for (const item of initialItems) {
			if (!item.parent) rootID = item._id;
    		result[item[idKey]] = {
        	    data: { ...item },
            	index: item._id,
				children: item.children,
	            hasChildren: item.children.length > 0,
    	        canMove: true
			};
        }
		if (rootID === '') throw new Error('could not find root item!')
	    return { treeItems: result, rootID };
    }, []);

	// ... rest of component
};

Next I created a custom TreeDataProvider. I just copypasted StaticTreeDataProvider but changed the onChangeItemChildren method to keep parent up to date
public async onChangeItemChildren(parentID: TreeItemIndex, nChildIDs: TreeItemIndex[]): Promise<void> {
    // update parent node
    const parent = this.data.items[parentID];
    parent.children = nChildIDs;
    if (nChildIDs.length) {
        parent.hasChildren = false;
    } else {
        parent.hasChildren = true;
    }
    parent.data.children = nChildIDs;

    // re-parent child nodes
    for (const childID of nChildIDs) {
        const child = this.data.items[childID];
        if (child.data.parent !== parentID) { // this child's parent has changed
            console.log(
                `${child.data.name} changed from [${this.data.items[child.data.parent].data.name}] => [${parent.data.name}]`
            );
            child.data.parent = parentID;
        }
    }
    this.onDidChangeTreeDataEmitter.emit([parentID]);
}

the data provider is initialized like so
	const  myCustomDataProvider = useMemo(() => (
    	new CustomTreeDataProvider(treeItems, (item, name) => ({ ...item, data: {...item.data, tagName: name }}));
	), [ treeItems ]);

now that refs to parent are tracked, it is simple to check if user is attempting to drop a node into one of its descendants
	<UncontrolledTreeEnvironment
        // ... other props
        dataProvider={myCustomDataProvider}
        canDropAt={(items, target) => {
            let parentID = target.parentItem;
            // check to ensure dragged node(s) is(are) not trying to drop into one of its(their) own descendants
            while (parentID) { // go up until we reach the root node
                if (items.some(item => item.index === parentID)) {
                    console.log('can\'t drop a node into its own descendant');
                    return false;
                } else {
                    parentID = treeItems[parentID].data.parent;
                }
            }
            return true;
        }}
        // .. more props
	>
		// ...
	</UncontrolledTreeEnvironment>

Going through issues, I believe that this issue has been fixed quite a few versions ago, where the library now checks if a drop target is a viable target that does not result in an item being dropped into itself. I will close this, please reopen or create a follow up if I missed something.


Create Carbon for IBM.com React training module - Code Repository

User Story

As a [user role below]:
developer

I need to:
complete training pull requests on how to use Carbon for IBM.com React

so that I can:
understand how to implement within my IBM.com application

Additional information

Tutorials are currently available for Carbon core, an example: https://carbondesignsystem.com/developing/react-tutorial/overview
The training module should focus more on utilizing Carbon for IBM.com React: https://ibmdotcom-react.mybluemix.net
We could possibly also include a segment on using the NextJS template: https://github.com/carbon-design-system/carbon-for-ibm-dotcom-nextjs-template
Include a segment on building for IBM.com: https://github.com/carbon-design-system/carbon-for-ibm-dotcom/blob/master/docs/building-for-ibm-dotcom.md
Should create this training somewhere on the Carbon for IBM.com website: https://github.com/carbon-design-system/carbon-for-ibm-dotcom-website
Repo for the Carbon training app, we will probably need something similar: https://github.com/carbon-design-system/carbon-tutorial
Separate story for applying for a digital badge, we will need to add this as an additional page to the tutorial so users know how to apply for it: https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/5154
Scope of this work is the code repository, which should be a companion to the website work: https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/5237

Acceptance criteria

[ ] Training module repo created for Carbon for IBM.com React

Work is managed under epic (#5115).  Planning for all of the work included in the training epic added to the Aug 2, 2021 Engineering refinement meeting.

Will be moving away from support of Pure React components.  Closing this epic and all linked issues.


Request buffering

Describe the new topic

Explain why this topic is needed.

It's not uncommon for apps to buffer the request body in order to do secondary processing, logging, etc..

Suggest a location in the Table of Contents.

Under Advanced?

Write an abstract. In one short paragraph, describe what this topic will cover.

Request bodies are streamed by default, meaning only one component gets a chance to read it. If that component wants to preserve the original data for later components in the pipeline it needs buffer the full request body. The HttpRequest.EnableBuffering API can help with this.

Create an outline for the new topic. We'll help review the outline and approve it before anyone writes a topic.

Why buffer - For replay
When to avoid buffering - Very large content,
Where does the buffer go - X amount in memory, and then to a temp file on disk that's deleted at the end of the request.
Affects on request body size limits - The server enforces a request body size limit that defaults to ~30mb. This can be overridden per request using the IHttpMaxRequestBodySizeFeature. MVC controllers may use an attribute to override this, but if you buffer the body too soon then that may not have happened yet.
An example middleware
context.Request.EnableBuffering();
await context.Request.Body.DrainAsync(); // Or your own processing that reads the body.
context.Request.Body.Position = 0;
await next();

See comments starting at https://github.com/dotnet/aspnetcore/issues/7644#issuecomment-657216298 and continuing at least through 9/24/20.

See

https://github.com/dotnet/aspnetcore/issues/40635
Read request body multiple times in ASP.NET Core
How to read the request body in ASP.NET Core Middleware?


Add Dynamic Template Support

Issue Summary
On 7/24/2018, our team publicly launched dynamic content for transactional templates. It is now available for all customers sending over v3 of our Mail Send API. Iterate over lists, handle conditionals and more, thanks to native support for a subset of Handlebars syntax!
More information can be found in our blog post announcement.
You can currently use this feature by manually creating the request body as shown here.
Now, we need to create helper code (this is complete) and examples for this SDK.
Acceptance Criteria

[COMPLETE] Implement a helper similar to what we have for the legacy templates
Update the USE_CASES.md example to demonstrate the new Dynamic Templates using the helper and re-name the current example to Legacy

Documentation

How to Send an Email With Dynamic Transactional Templates
Using Handlebars
Interactive API Docs

Please update your documentation- I just spent an hour trying to figure out why substitutions were not working with the v3 API.

My apologies for the poor experience @jharris-code.
I've added your vote to this issue to help it gain priority. I think it will be updated soon because we sone have PR #711.

It is very silly that the absense of documentation blocks releasing the actual code.

Hi @catamphetamine,
The code was released in v6.3.1. I hope that helps, thanks!
With Best Regards,
Elmer

@thinkingserious Oh, cool, actually it didn't cross my mind to update the version of the library.
I'll try that out, thx.

Note to users: when using templates pass dynamic_template_data instead of substitutions.

Now you have to change "substitutions:" to "dynamic_template_data:"
And the templates uses handlebars no more need to specify "substitutionWrappers"

This example in your use cases still uses substitutions rather than dynamic_template_data. Plz update, it definitely took me a couple hours of playing with the SDK and searching before I found this thread. (Also your api docs don't mention anything about this, which didn't help either.

My apologies @josh-yonomi,
I've updated the documentation based on your feedback.
For our new templates, they use handlebars syntax. The legacy templates still work as before.
With Best Regards,
Elmer

I receive the email but the substitutions does not work.  I'm pissed

@drav96,
Do you mind sharing what your template looks like?
With Best Regards,
Elmer

why do you strip special chars in substitutionWrappers ??
dynamic_template_data: {
      foo-bar: 'wtf',
      bar_baz: 'wtf',
      'baz.bro': 'wtf',
      foo: 'wtf'
    }

only {{foo}} return wtf string in emails.

I'm not sure @larafale, but that certainly does not seem reasonable. Looking at the source code for this SDK, I don't see where those keys are getting modified.
Do you mind creating a separate issue for this issue and include what your HTML template looks like? I'll mark the new issue as a bug and try to reproduce and fix if necessary.

@drav96 thanks mate, it's working now

Adding what I hope will be some definitive documentation after wasting another hour of my time on this. (First, thanks to everyone who wasted hours of their time before me.)

If your template id starts with d-, then substitutions won't work, and you should use CAMEL-CASE dynamicTemplateData (see here, where they convert snake_case keys to camelCase anyway)
If your template starts with d-, then setSubstitutionWrappers is silently ignored, and you must use {{ and }} in your templates

Yes, it does work with snake case keys, but it appears as though the devs have committed internally to camel case (see the line I linked to in my report above). Thus, I would recommend all new code use camel case.

Hello @kael-shipman,
Thanks for taking the time to help out, we greatly appreciate it!
Did you happen to see this documentation? If not, would you mind describing your path of discovery that led to a wasted hour. I would love for that to never happen again and my apologies for the poor experience.
With Best Regards,
Elmer

@thinkingserious , thanks for your understanding and willingness to improve the situation. And sorry for getting snippety up there. Had had a looooooooooooooong day ;).
Anyway, the problem is not so much that the correct(ish) documentation exists somewhere, it's that a lot of old documentation is still caught up in Google searches. I did a search for "sendgrid template fields" (just now) and the first non-ad result is this, which by all indications is the official documentation, but is clearly out of date. Not only that, but it also has two different substitution formats (-firstName- and %firstName%) and says only "what you use may depend on the SDK library you use", which seems really off, considering that all SDK libraries would presumably point to the same single temple (which only has one style of substitution tags).
In my experience with sendgrid, while I greatly appreciate what has been built, this documentation confusion is actually the rule, not the exception. I know it's probably barreling forward as much as the rest of the software world is, but it would be nice to take a month or so to just normalize all the documentation, put version numbers on it, etc., and maybe do something about the top Google hits.
Anyway, thanks again!

Also, the documentation you linked still shows dynamic_template_data in snake case, and if that's correct, then I'm not sure why the code itself seems to be converting it to camelCase. As noted above, I recognize that snake case works, but given the code, it doesn't seem like the documentation should recommend using it.

Hello @kael-shipman,
Thank you for taking the time to provide detailed feedback!
With regards to the link you provided, that documentation is in reference to our SendGrid SMTP API, not the SendGrid v3 REST API which this SDK supports. That said, you should not be expected to know that. I'll bring this issue to the attention of our documentation team to see if there is a way to make it clear.
We just recently updated and re-launched our open sourced documentation. I hope you find it easier to navigate.
I will fix the README to use camelCase for consistency. Thanks for catching that and bringing it to our attention!
Thanks again and as a token of our appreciation for your detailed feedback, we would like to offer you some swag. Enjoy!
With Best Regards,
Elmer

Hey cool, thanks :D
On Tue, Sep 18, 2018 at 6:09 PM Elmer Thomas<EMAIL_ADDRESS>wrote:

Hello @kael-shipman https://github.com/kael-shipman,
Thank you for taking the time to provide detailed feedback!
With regards to the link you provided, that documentation is in reference
to our SendGrid SMTP API, not the SendGrid v3 REST API which this SDK
supports. That said, you should not be expected to know that. I'll bring
this issue to the attention of our documentation team to see if there is a
way to make it clear.
We just recently updated and re-launched our open sourced documentation
https://sendgrid.com/blog/how-to-get-the-most-from-sendgrids-new-knowledge-center/.
I hope you find it easier to navigate.
I will fix the README to use camelCase for consistency. Thanks for
catching that and bringing it to our attention!
Thanks again and as a token of our appreciation for your detailed
feedback, we would like to offer you some swag
https://dx.sendgrid.com/swag. Enjoy!
With Best Regards,
Elmer
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/703#issuecomment-422588492,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADUIglZIH2d7imy-H7dekTo5A-v2Xau8ks5ucX0agaJpZM4Vev8b
.

I'm able to get dynamic_template_data to work for general email variables, but what if we need to add dynamic data per recipient, as well? E.g. Order numbers, order quantity, etc. I don't see a use case for this in the docs, but maybe I'm overlooking it.

Note to users: when using templates pass dynamic_template_data instead of substitutions.

@catamphetamine I've downvoted your comment because I've just spent too much time trying to figure out why everybody's code seems to be working with dynamicTemplateData, but in my case substitutions are simply removed.
Turns out that for me I had to do the following (the opposite of what people say):
// This seems to be the default, however, to avoid unexpected API changes,
// I'd rather set this manually
setSubstitutionWrappers("{{", "}}");

{
      subject: EMAIL_SUBJECT_ONBOARDING,
      templateId: "d-50df3f540e1d43eea57b6a7bde0f2c74",
      personalizations: [{
        to,
        // NOT WORKING WITH THIS ❌
        // dynamicTemplateData: {
        //   senderName: EMAIL_FROM_NAME,
        //   senderAddress: "an actual adress",
        // },

        // WORKS WITH THIS ✅
        substitutions: {
            senderName: EMAIL_FROM_NAME,
            senderAddress: "an actual adress",
        },
    }],
}

Ok, I need to investigate again. I'm stupefied because now neither dynamicTemplateData nor substitutions work for me.

Finally, I get dynamic_template_data to work consistently like so:
{
    templateId: "d-templateId",
    dynamic_template_data: { name: "elton yet again"}, // <-- either here
    personalizations: [{
        to,
        dynamic_template_data: { name: "Elton again" }, // <-- or here
    }],
}

This was an important point for me. I was trying to set subject in transactional template different for to vs cc emails. It worked when I put the dynamic_template_data property inside the personalization array as per above.

The solution that worked for me is placing the dynamic_template_data inside the personalization object in the exact way seen below:
    "personalizations": [
        {
              "dynamic_template_data": {
            "fullname": "full Name",
            "useremail"<EMAIL_ADDRESS>            "userphone": "56456",
            "usermsg": "tex fdsfgasdf t"
    },
            "to": [
                {
                    "email"<EMAIL_ADDRESS>                }
            ],
            "cc": [
                {
                    "email"<EMAIL_ADDRESS>                }
            ]
        }

]


Albums/Galleries

This is a relatively large undertaking, but it should be possible to create one upload that links to many other uploads and arranges them in a gallery.
This will need an interface that will allow uploading multiple files and previewing them before saving. Instead of saving every image into the same blob, they should be uploaded as individual files, with one blob containing the information needed to identify the other images. This way, you could view each image individually, or even share images amongst different galleries.
More discussion will be needed on this feature.

An album should be a single upload with the json of the other images
locations along with a thumbnail location for each. Loading an album should
place spinners decrypting the thumbnail for each image and clicking each
image should load the specific image with a timeline of photo thumbnails
below to switch the view to those uploads. A better decrypted caching
system should be put in place.
On Jun 12, 2015 12:42 AM, "Keith Morrow"<EMAIL_ADDRESS>wrote:

This is a relatively large undertaking, but it should be possible to
create one upload that links to many other uploads and arranges them in a
gallery.
This will need an interface that will allow uploading multiple files and
previewing them before saving. Instead of saving every image into the same
blob, they should be uploaded as individual files, with one blob containing
the information needed to identify the other images. This way, you could
view each image individually, or even share images amongst different
galleries.
More discussion will be needed on this feature.
—
Reply to this email directly or view it on GitHub
https://github.com/Upload/Up1/issues/4.


tests: add UI test suite

This adds some basic 3DS1/2 UI tests:

Card tokenization
Alternative payment listing
Successful 3DS payment (web)
Successful 3DS2 payment (native)
Failed 3DS1 payment (web)
Failed 3DS2 challenge (native)
Successful makeCardToken (native)
Failed makeCardToken (web)
Failed makeCardToken challenge (native)

@manuel-huez I will plug automatic tests when we'll finish with the new CI platform

also @manuel-huez you can't break a Java class in multiple files and generally it's not a good idea. The best way to avoid files that are thousands lines long is to refactor the code. In any case it's not shocking to have a java class with ~500 lines of code for testing

I can split tests into different categories but it forces me to create some kind of static class that has different parameters required for the tests. It adds a bit of complexity but can be done I guess.


New PR Checks action only for Debug builds

Research and follow up with release engineering

No description provided. From my perspective it already works that way.


[Feature][dolphinscheduler-api] Return domain object after creating success

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Third-party integration scenarios often need to maintain the relationship between the product business and DolphinScheduler’s AccessToken, User, Queue, and Project.
In the current CreateXxx API, only the status code is returned, even if the creation is successful, the entity object will not be returned.
Therefore, if you need to obtain The created object information, such as ProjectCode and TenantId, it requires multiple API calls (first call the CreateXxx API first, then call the QueryXxx), and if the entity object can be returned in the CreateXxx API, the times of API calls can be reduced.
Use case
1. Create AccessToken
API: org.apache.dolphinscheduler.api.controller.AccessTokenController#createToken
Expected Response:
{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 3,
        "userId": 5,
        "token": "dba40cd3e522599b7b4de4eb928dc690",
        "expireTime": "9999-12-31T23:59:59.000+0800",
        "createTime": "2021-11-29T19:45:31.000+0800",
        "updateTime": "2021-11-29T19:45:31.000+0800",
        "userName": "u_23456"
    },
    "success": true,
    "failed": false
}

2. Create Queue
API: org.apache.dolphinscheduler.api.controller.QueueController#createQueue
Expected Response:
{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 1,
        "queueName": "default",
        "queue": "default",
        "createTime": null,
        "updateTime": null
    },
    "success": true,
    "failed": false
}

3. Create Tenant
API: org.apache.dolphinscheduler.api.controller.TenantController#createTenant
Expected Response:
{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 6,
        "tenantCode": "t_12345",
        "description": "",
        "queueId": 1,
        "queueName": "default",
        "queue": null,
        "createTime": "2021-11-29 19:42:24",
        "updateTime": "2021-11-29 19:42:24"
    },
    "success": true,
    "failed": false
}

4. Create User
API: org.apache.dolphinscheduler.api.controller.UsersController#createUser
Expected Response:
{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 5,
        "userName": "u_23456",
        "userPassword": "e9335e177b288c7af4af8f1225c3f333",
        "email"<EMAIL_ADDRESS>        "phone": null,
        "userType": "GENERAL_USER",
        "tenantId": 6,
        "state": 1,
        "tenantCode": "t_12345",
        "queueName": "default",
        "alertGroup": null,
        "queue": "default",
        "createTime": "2021-11-29 19:42:48",
        "updateTime": "2021-11-29 19:42:48"
    },
    "success": true,
    "failed": false
}

5. Create Project
API: org.apache.dolphinscheduler.api.controller.ProjectController#createProject
Expected Response:
{
    "code": 0,
    "msg": "success",
    "data": {
        "id": 1,
        "userId": 1,
        "userName": "admin",
        "code":<PHONE_NUMBER>592,
        "name": "test_user",
        "description": "",
        "createTime": "2021-11-26T11:58:59.000+0800",
        "updateTime": "2021-11-26T11:58:59.000+0800",
        "perm": 0,
        "defCount": 2,
        "instRunningCount": 0
    },
    "success": true,
    "failed": false
}

Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

close since #7050


Login Page for Desktop

[ ]  Update current Login page styling for desktop.
Refer to the latest design in FIGMA under Desktop App MVP.
https://www.figma.com/file/4cV84H1jyMo0rJEAl3HNnJ/FightPandemics-landing-page?node-id=1377%3A8027

[ ]  Designs need to be pixel perfect

@Chimaobi-Johnson @CeesWang Login and Signup pages are different.
Please refer to the design in FIGMA

@indirabhowmick The only difference is the picture and certain text based on the condition whether the user is logging in or signing up. This however is rendered conditionally in the same component. Which would mean that we are working in the same component trying to accomplish the same thing. Please let me know if this is not the case.

@CeesWang I agree. Thanks!


Cannot control serialization based on declared type

I'd like to be able to serialize according to the declared property type rather than the concrete type at runtime.
Source/destination types
class OuterClass
{
    public IMessage Message { get; set; }
}

interface IMessage
{
    string MessageProp { get; set; }
}

class Message : IMessage
{
    public string MessageProp { get; set; }

    public string OtherProp { get; set; }
}

Expected behavior
I would like to be able to easily configure the serializer to do this:
{
  "Message": {
    "MessageProp": "I should be visible"
  }
}

Actual behavior
This is how a message would get serialized by default given the above types.
{
  "Message": {
    "MessageProp": "I should be visible",
    "OtherProp": "I should not be visible"
  }
}

Workaround
class Resolver : DefaultContractResolver
{
    private readonly ConcurrentDictionary<Type, Type> _interfaceMapping;
    private readonly IEnumerable<Type> _preferredTypes;

    public Resolver(IEnumerable<Type> preferredTypes)
    {
        _preferredTypes = preferredTypes;
        _interfaceMapping = new ConcurrentDictionary<Type, Type>();
    }

    public override JsonContract ResolveContract(Type type)
    {
        var contractType = _interfaceMapping.GetOrAdd(type, FindPreferredType);

        return base.ResolveContract(contractType);
    }

    private Type FindPreferredType(Type concreteType)
    {
        var preferred = _preferredTypes
            .Where(x => x.IsAssignableFrom(concreteType))
            .SingleOrDefault();

        return preferred ?? concreteType;
    }

}

This workaround makes some pretty egregious assumptions. If you expect that the entirety of Message and not just IMessage to get serialized in any scenario, this will do The Wrong Thing (tm).
Proposal
I believe that the core of the issue is that the IContractResolver interface has no knowledge of what the declared property type is. I would humbly suggest adding an additional Type parameter containing the declared type so that the resolver can make the determination of what contract to resolve. Given the above types, I would love to be able to write a custom contract resolver that looks like this:
class Resolver : DefaultContractResolver
{
    public override JsonContract ResolveContract(Type type, Type declaredType)
    {
        return base.ResolveContract(declaredType, null);
    }
}

Some additional context:
I spent some time looking through the source code to see if a hook existed to do what I wanted. That search led me to here:
https://github.com/JamesNK/Newtonsoft.Json/blob/d48558b53b0a516bfa15c1af50231ea1ba7c2454/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalWriter.cs#L518-L524
The memberContract variable gets set to the contract corresponding to the run-time type of the property's value unless the property type happens to be sealed. There doesn't appear to be a way to override this behavior hence the hackish workaround above.

I agree this would be useful. Without it, it's impossible to serialize things like COM objects accurately, all of which have an identical, opaque runtime representation. The only way to correctly serialize these values is in via type directed serialization.


name spaces conflict when using with other libraries like google oauth signin/signup

I am using google oauth signin/signup and spreadsheet reader in my codeigniter project.
there is a namespace issue with using
$client = new Google_Client();
can u please fix this or suggest me how to overcome this problem.

Please elaborate on your issue. What is causing a namespace conflict? It's possible you have this library accidentally included twice and are therefore getting a Class already defined error.

Thank you for filing this issue. We asked some clarifying questions or suggested a course of action a week or more ago and never heard back from you. We are unable to proceed with this issue until then, so we are closing it. Please feel free to comment with more information and we will re-open this issue.


Nested blueprint registration causes error when using test-scoped app fixtures

For apps that use nested blueprints, the way that Flask currently tracks how child blueprints have been registered causes both an error and a warning (that will soon be an error) when creating multiple app objects. This is a problem when testing.
For the below code, test_2 will fail because child has already been registered on parent, resulting in
ValueError: The name 'child' is already registered for this blueprint 'parent.child'. Use 'name=' to provide a unique name.

Additionally, the second call to parent.register_blueprint() emits a warning:
UserWarning: The setup method 'register_blueprint' can no longer be called on the blueprint 'parent'. It has already been registered at least once, any changes will not be applied consistently.
  Make sure all imports, decorators, functions, etc. needed to set up the blueprint are done before registering it.
  This warning will become an exception in Flask 2.3.
    parent.register_blueprint(child, url_prefix="/child")

import pytest

from flask import Blueprint, Flask

parent = Blueprint("parent", __name__)
child = Blueprint("child", __name__)

def create_app():
    app = Flask(__name__)

    parent.register_blueprint(child, url_prefix="/child")
    app.register_blueprint(parent, url_prefix="/parent")

    return app

@pytest.fixture
def app():
    app = create_app()
    yield app

def test_1(app):
    pass

def test_2(app):
    pass

User workarounds:

Session-scope the app fixture — this is what I'm currently doing but creates issues with test isolation in FlaskLoginClient from Flask-Login (but I worked around that too)
Create the blueprint objects inside create_app() — this isn't ideal because it makes registering routes on the blueprints more complex
Alter the parent blueprint's private attrs in the app fixture — adding these lines after the yield statement also fixes the problem for a given parent blueprint but is not a very flexible solution overall:

parent._blueprints = []
parent._got_registered_once = False

Environment:

Python version: 3.8.10
Flask version: 2.2.2

What should be the expected behavior? Causes a warning (will soon be an error) looks like correct behavior. Do you think that there should be a method that makes these operations:
parent._blueprints = []
parent._got_registered_once = False

Maybe something like:
parent.reset_blueprint()

Or any another suggestion?
Thanks.

Hi
what do you mean by session scope the fixtures?
please show an example

Hi what do you mean by session scope the fixtures? please show an example

I've replied to you on Discord. Please limit discussion here to the issue itself and ask side questions there.

@tachyondecay
The problem can be solve with a single line change which is causing the issue
import pytest

from flask import Blueprint, Flask

parent = Blueprint("parent", __name__)
child = Blueprint("child", __name__)

def create_app():
    app = Flask(__name__)

    parent.register_blueprint(child, url_prefix="/child")        <--- Cause of issue
    app.register_blueprint(parent, url_prefix="/parent")

    return app

@pytest.fixture
def app():
    app = create_app()
    yield app

def test_1(app):
    pass

def test_2(app):
    pass

The highlighted part is causing the issue since we are defining parent blueprint instance as global and registering child blueprint inside function so when test_1 is run it call create_app which register child over parent blueprint so it works perfectly but when test_2 call create_app again it tries to again register child blueprint to parent blueprint since it already registered it cause issue and error is thrown
To solve the problem we simple have to move the child blueprint registration to parent outside create_app function.
import pytest

from flask import Blueprint, Flask

parent = Blueprint("parent", __name__)
child = Blueprint("child", __name__)
parent.register_blueprint(child, url_prefix="/child")

def create_app():
    app = Flask(__name__)

    app.register_blueprint(parent, url_prefix="/parent")

    return app

@pytest.fixture
def app():
    app = create_app()
    yield app

def test_1(app):
    pass

def test_2(app):
    pass

I think the problem here is illustrated by @ChandanChainani's comment/solution. Blueprints are global objects, you're mutating the same object each time you call create_app. In contrast, you're creating a new Flask instance inside that. If you were to define app outside the factory, you'd observe the same issue.
If the blueprints are always registered in the same way, you should move them outside the factory. If they change during setup, then maybe you want to create the "top" blueprint each time, like the Flask instance, then register the child blueprints before registering it on the app.


Change the way we handle dates and times in Firestore

Relates to https://github.com/BMMRO-tech/BMMRO/issues/71
Currently, we have date, start time and timestamp in firestore.
Could we handle all with start datetime and end datetime?

Blocked: Discussion/Investigation about how to handle dates and times in the UI and in Firestore will be done in https://github.com/BMMRO-tech/BMMRO/issues/72. After that is done we can do the same for the habitatUse collection.

Firestore stores timestamps in the weird {seconds: number; nanoseconds: number} format. However, saving documents works fine if the timestamps are normal Javascript Date objects.
As part of this tech task, should we make the readDocByPath and readDocsByParentPath methods of the Datastore class transform the Firebase timestamps into Javascript objects?

We've closed this issue because we've merged it into #85.


The documentation of limited excess property checking introduced with ts 3.5 understates actual behavior

Bug Report

🔎 Search Terms
Excess Property Checks
🕗 Version & Regression Information
3.5
⏯ Playground Link
Playground link with relevant code
💻 Code
// Assumption:
// The rules for allowing an object to be assigned to a union type (|) are
// (1) must contain all required properties of at least one union member
// (2) may contain additional properties that belong to any union member

// Examples supporting (but not proving) the assumption
{
  type A2 = {a: string; b: string};
  type A3 = {a: string; b: boolean; c: boolean};
  type A4 = {a: string; b: number; c: number};

  type A = A2|A3|A4
  // fail because rule (1) not satisfied
  const f1:A = {}  // error ✔
  const f2:A = {a:''} // error ✔
  const f3:A = {a:'',b:true} // error ✔
  const f4:A = {a:'',b:true,c:1} // error ✔

  // pass because rule (1) satisfied and rule (2) allows excess props of other members
  const a1: A = {a: '', b: '', c: true}; // ✔ assignments allow extra props of other union types
  const a2: A = {a: '', b: '', c: 1}; // ✔ assignments allow extra props of other union types

}

🙁 Actual documentation

From Release Notes 3.5

In TypeScript 3.5, the type-checker at least verifies that all the provided properties belong to some union member and have the appropriate type, meaning that the sample above correctly issues an error. Note that partial overlap is still permitted as long as the property types are valid.

🙂 Expected documentation
The actual documentation does not match that observed in the code above. For example, that actual documentation would imply that an empty object could always be assigned to a union of object with required properties, and that is obviously false. So perhaps what the author meant would be given by this slight rewording of the actual documentation:

... the type-checker at least verifies that all the required properties of some (at least one) union member are provided ...

Equivalently -

The rules for a set of properties to satisfy a union type (|) is

(1) must contain all required properties of at least one union member
(2) may contain additional properties that belong to any union member

This expected documentation

is stronger excess property checking than the actual (current) documentation,
matches the behavior in the playground code above,
but is still not the kind of strict excess property checking as discussed in other issues (e.g., #20863).  Therefore it is not a change of the status quo.

Request to confirm actual intended design behavior.
The above "expected documentation" assumes the intended behavior of the typescript design, based on some supporting evidence (the playground code).  However, although that evidence proves that the actual (current) documentation does not match the actual current behavior, it does not prove that the "expected documentation" (above) accurately describes the intended design behavior.
If the intended design behavior does not match that described in "Expected Documentation" then please give an unambiguous description of the intended design behavior.
Downstream development using the typescript API may depend upon knowing what semantics result in a compiler error and what don't.  Of course the specs can change (the typescript API documentation warns about that),  but having "no hard spec for excess property checking" is different than having "hard excess property checking specs that may change in the future".

The description in 3.5's release notes is intended, as far as I understand it.
In general, however, the release notes give a friendly summary of the changes, and are not spec-quality. PRs usually give semantics — for complex features at least — but features are distributed across multiple PRs. Unfortunately, the priorities of the team and Typescript's open source nature combine to make it a spec-free language. That means semantics are argued per-feature rather than up-front when writing the spec.

The description in 3.5's release notes is intended, as far as I understand it ...
... the priorities of the team and Typescript's open source nature combine to make it a spec-free language.

That's a self contradiction.
I never the doubted the good intentions.  Please don't doubt mine.

... features are distributed across multiple PRs.

In the case of excess property checks for unions, that is a single feature.  The code will all be in one place.
A set of test cases will have been selected and written and the single feature programmatically tested again those test cases.
The test cases cannot be the set of all possible inputs, because there are too many.  So instead a few are chosen wisely to represent main cases and corners cases.  The program is built to spec when test case results are correct.
Not surprisingly, many programmers will label the directories they store their test data in as "specs", because the test data serves as the specs for the feature.  Even if the test data is not in a directory named "specs", it is still a fact that almost all modern software feature development is test driven - and there has specs.
If you could give a pointer to that test data, I think we would see that the test cases were chosen with this verbal spec in mind:

The rules for a set of properties to satisfy a union type (|) is
(1) must contain all required properties of at least one union member
(2) may contain additional properties that belong to any union member

Then you would have to agree that at least as for the feature: "excess property checks for unions", typescript does have a working spec.  (Although it is written as test cases).  And also you would have to agree that however good were intentions, the release notes 3.5 do not accurately match the test cases.

My last reply was too wordy. I'm deleting it to reduce noise.

... the priorities of the team and Typescript's open source nature combine to make it a spec-free language.

Yes and no.

The great thing about typescript is that (usually) it works as expected, which means there isn't much need to look at the docs.
We're all programmers here, so understand that documentation get out of sync with the actual specs(*).
There are always specs.  In the worst case, the code is the specs - but usually the code is written against test cases.  So a programmer can look at the test cases.  If you are able to point to the test cases, that would be helpful!
This issue board also serves as documentation.  So any conclusion about the actual intended specs that are posted here serve as documentation.

(*) Nevertheless, it is preferable not to have documentation that is specific but inaccurate.


Errors finding modules after install

I first installed Vagrant and VirtualBox
installed Vagrant on macOS 10.14.6
installed VirtualBox on macOS 10.14.6
Then I installed git-hours:
https://github.com/kimmobrunfeldt/git-hours
cd git-hours
vagrant up && vagrant ssh
I then needed to install git inside the ssh session. Then I attempted to access my git repo
git clone https://github.com/appsird/iAmp-xxxx.git
user:
pw:
cd iAmp-xxxx
git hours
I received a missing module error - and many others on Google search had this same error for different reasons. Is there a means to run this application without dependencies for a VM OS and other pieces. Can I run directly in macOS, which is Debian instead?
vagrant@vagrant-ubuntu-trusty-64:~/iAmp-iOS-13$ git hours
module.js:338
    throw err;
          ^
Error: Cannot find module '../build/Debug/nodegit.node'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/usr/lib/node_modules/git-hours/node_modules/nodegit/dist/nodegit.js:18:12)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/usr/lib/node_modules/git-hours/src/index.js:4:11)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
vagrant@vagrant-ubuntu-trusty-64:~/iAmp-iOS-13$

These are the errors I received when running
vagrant up && vagrant ssh

Same issue for me on Ubuntu 18.04

I haven't used the Vagrant setup so can't help with this one. I'm closing this since Vagrant and Docker setups are now out of scope for this repo. The guides were old and unmaintained.


Maven support?

Hello,
Do you have a plan about adding the Apigee Android SDK to a Maven central repository?

We should be able to push it to central maven repo. @RobertWalsh Let's get this done.

:+1:


[srgssr] Migrate to integrationlayer version 2.0 API

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description
The SRGSSR Play websites now often uses the integrationlayer version 2.0
API instead of version 1.0. I have modified the SRGSSR information
extractor to use this new integrationlayer instead of the old one. All
the old media supports this new version too, so there is no need to
stick with the old one. It's possible, that the support for the old
integrationlayer will be dropped, so this switch has to made anyway.
Here is a list of the changes:

Use integrationlayer version 2.0 API instead of version 1.0.
Assure consistant media IDs. In the old version of the information
extractor, youtube-dl extracts the same video for the urls
"http://www.srf.ch/play/tv/schweiz-aktuell/video/schweiz-aktuell-vom-22-02-2017?id=d0206674-6125-49ef-b85d-3cf36d24d582"
and
"http://www.srf.ch/play/tv/schweiz-aktuell/video/walliser-baubaubranche-wehrt-sich?id=967590f0-f812-4941-8f6a-06a2db7bd083",
but uses different media IDs. Now it still extracts the same videos
(since there is no support to cut videos into parts in youtube-dl,
right?), but it uses the same media IDs. So we always have consistant
media IDs for the media.
Add extraction of media duration.
Add extraction of video subtitles.
Use multiline regular expressions for _VALID_URL for better
readability.
Indicate direct podcast downloads in format_id.
Update tests.

I have fixed the problem of "different IDs for the same content".
List of changes:

Revert to the old behavior of extracting media IDs.
Support segmented videos (extract only the relevant parts of the
whole episode).
Reduce verbosity of _VALID_URL.


all those apis with pagination parameters return 429?  only on Osmosis.

We don't have access limit
https://osmo.api.ping.pub/cosmos/slashing/v1beta1/signing_infos?pagination.limit=5
https://lcd-osmosis.blockapsis.com/cosmos/gov/v1beta1/proposals?pagination.limit=5&pagination.reverse=true&pagination.key=
Both return this error.
{
  "code": 8,
  "message": "trying to send message larger than max (6 vs. 0)",
  "details": [
  ]
}

Hi @liangping
It seems to be related to new config values. Please update the following in app.toml:
max-recv-msg-size = "10485760"

max-send-msg-size = "2147483647"

These values are in bytes. Please feel free to adjust them according to your needs. Let me know if the problem persists

Thank. Let me try it

tried in [rpc] and [api] , but not works
[grpc]

# Enable defines if the gRPC server should be enabled.
enable = true

# Address defines the gRPC server address to bind to.
address = "<IP_ADDRESS>:9090"

max-recv-msg-size = "10485760"

max-send-msg-size = "2147483647"

@p0mvn tried in [rpc] and [api] , but not works
[grpc]

# Enable defines if the gRPC server should be enabled.
enable = true

# Address defines the gRPC server address to bind to.
address = "<IP_ADDRESS>:9090"

max-recv-msg-size = "10485760"

max-send-msg-size = "2147483647"

Tried that as well and tried to increase bytes as well, won't fix it.

@p0mvn tried in [rpc] and [api] , but not works
[grpc]

# Enable defines if the gRPC server should be enabled.
enable = true

# Address defines the gRPC server address to bind to.
address = "<IP_ADDRESS>:9090"

max-recv-msg-size = "10485760"

max-send-msg-size = "2147483647"

Tried that as well and tried to increase bytes as well, won't fix it.

@liangping @ChihuahuaChain Just FYI, I had several folks who were having this problem getting it fixed by updating these configs. Please double-check that the configs are picked up correctly. Let me know how it goes.
I will do some testing on my side today as well

Checked config, values are in, service restarted and still have these problems, I started having issues only after updating to 7.3.0, no problems prior.

I see, thanks. I'm setting up a node right now to test on my side to investigate. Let me get back to you. If anyone finds a way to resolve this in the meantime, please let me know

@p0mvn tried in [rpc] and [api] , but not works

Okay I fixed adding these lines exactly on the [grpc] section, it worked.

So whats happening if these configs aren't sent? Is the default assumed to be 0 at the moment, or something more reasonable?

The default is set to the following:
https://github.com/osmosis-labs/cosmos-sdk/blob/18b0d2de413cdce6d3307588904dcdb2156f1eb9/server/config/config.go#L238-L239
That default is only used to create the config. If someone had an old config, 0 would be assumed, and yes Bez guarded against that case here: https://github.com/osmosis-labs/cosmos-sdk/pull/220

works now. @p0mvn

Are folks having issues on all v7.x versions, or just v7.3.0?

On both 7.2.1 and 7.3.0


AST: Remove bogus check from IsBindableVisitor::handleGenericNominalType()

The number of conformances in a substitution map must exactly equal the
number of conformance requirements in the generic signature, but in one
case we would skip a conformance requirement.

@swift-ci Please smoke test


⚠ Processors has degraded performance

In 80518ab, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 45 ms

Resolved: Processors performance has improved in 1202a87.


taufiqsumadi

https://github.com/BesutKode/uni-task-1/wiki/taufiqsumadi
@jayvdb

https://github.com/bil-elmoussaoui/Gnome-TwoFactorAuth/pull/19 👍 9
https://github.com/liberapay/liberapay.com/pull/426 :+1: 1
https://github.com/liberapay/liberapay.com/commit/bd636dc7525a22e90a7cae7ee :+1: 10
https://github.com/taufiqsumadi/CekKataFormal -- hmmm, this is very similar to existing tools, but nobody else's tool appears to recommend Saya for atu, so :+1: .

Please submit a PR to add a tick to https://besutkode.github.io/

In this PR (https://github.com/bil-elmoussaoui/Gnome-TwoFactorAuth/pull/19/files), there are two mistakes made about the spacing before colon. Please fix it.
Ref: http://french.about.com/od/grammar/fl/How-to-Use-French-Punctuation.htm

Thx for spotting that @edawine .
@taufiqsumadi ,
You have more than 20 good fixes, so, you are still passing.
But we cant reduce quality of translations, so please fix those two in weblate, and then we can close this again.

https://hosted.weblate.org/translate/gnome-twofactorauth/translation/fr/?sid=9e032770-b86c-11e6-a638-5254000d9bae&offset=35 and https://hosted.weblate.org/translate/gnome-twofactorauth/translation/fr/?sid=9e032770-b86c-11e6-a638-5254000d9bae&offset=36 done fix translation @jayvdb
thx @edawine

I do not see them in the history: https://hosted.weblate.org/projects/gnome-twofactorauth/translation/fr/#history

I've left a note at https://github.com/bil-elmoussaoui/Gnome-TwoFactorAuth/pull/19#discussion-diff-85633013R179


[FancyZones] Remove 0000 GUID workarounds

After improvement in handling of primary desktop done in #2160 we can remove workarounds in the code related to empty (default) GUID (00000000-0000-0000-0000-000000000000):

In function VirtualDesktopUtils::GetZoneWindowDesktopId
In function JSONHelpers::FancyZonesData::RemoveDevicesByVirtualDesktopId

Make sure that these functions are not called before we handle 0000 GUID, and also migration from 0000 GUID works as expected works as expected.

@enricogior I assume this has low priority, but if You can add project / milestone to it, just to keep it in track.

Fixed in 0.19.0, please visit https://github.com/microsoft/PowerToys/releases/ for the latest release


New version: Primecount.Primecount 7.4

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.1 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Somebody already packaged primesieve-8.0 before myself: https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Primesieve/Primesieve/8.0


python312Packages.hahomematic: 2024.4.12 -> 2024.5.1

Diff: https://github.com/danielperna84/hahomematic/compare/refs/tags/2024.4.12...2024.5.1
Changelog: https://github.com/danielperna84/hahomematic/blob/refs/tags/2024.5.1/changelog.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 310177 run on aarch64-linux 1

1 package failed to build:

home-assistant-custom-components.homematicip_local

2 packages built:

python312Packages.hahomematic
python312Packages.hahomematic.dist

Result of nixpkgs-review pr 310177 run on x86_64-linux 1

3 packages built:

home-assistant-custom-components.homematicip_local
python312Packages.hahomematic
python312Packages.hahomematic.dist