js: Remove activity module from window.

Testing Plan: tools/test-js-with-node --coverage and tools/lint.

I looked at it and it looks reasonable to me in terms of how disruptive I'd expect this sort of change to be if we converted modules this way, but I'd like Anders and Steve to look at this as well, since it's a pattern I imagine we'd be replicating if we like it.

I don’t think the special logic for multi-level names is adding anything. Instead of rewire_override(server_events_dispatch, 'activity.update_presence_info', stub.f), can’t you just rewire_override(activity, 'update_presence_info', stub.f)?

No, that does not work:
ReferenceError: presence is not defined
    at Object.update_presence_info (/home/zulipdev/zulip/static/js/activity.js:233:5)
    at Object.dispatch_normal_event (/home/zulipdev/zulip/static/js/server_events_dispatch.js:71:18)
    at dispatch (/home/zulipdev/zulip/frontend_tests/node_tests/dispatch.js:110:28)
    at /home/zulipdev/zulip/frontend_tests/node_tests/dispatch.js:882:9

Diff:
     global.with_stub(function (stub) {
-        rewire_override(server_events_dispatch, 'activity.update_presence_info', stub.f);
+        const activity = zrequire('activity');
+        rewire_override(activity, 'update_presence_info', stub.f);
+        // rewire_override(server_events_dispatch, 'activity.update_presence_info', stub.f);
         dispatch(event);

Oh right, because activity is still a CJS module. It works if activity is an ES6 module.
The name passed to __Rewire__ is relative to that module’s internal namespace, not its exported namespace. The internal namespace of a CJS activity has an exports object with an update_presence_info member; the internal namespace of an ES6 activity has an update_presence_info member directly.
So I think we basically never want to use __Rewire__ on a CJS module. CJS modules want something closer to the existing override, if it were tweaked to avoid looking up the module in global.
This may be an argument for skipping the CJS step and going straight to ES6.

I pushed a commit that converts activity to ES6 but the rewire_override(activity, 'update_presence_info', stub.f) doesn't work with the change either. The rewire-ts document does mention that it will not work.

Be aware, that rewiring a named export does not influence imports of that same export in other modules!

In that commit, I also had to update a test to use activity.__get__('client_is_active'), because the exported value and the internal value were not the same (confirmed by adding a function that print the variable in activity.js). I think we need to address this before we integrate this! Also, how do we feel about the no-use-before-define eslint rule tweak to exclude functions?

Can we start this effort with more leafy modules than activity.js?

Sure, but why? It will have the same changes present here except just more changes (like mock_module) because it's used more in other tests. Do you a specific module in mind, like message_store or something to start off with?
Regarding the __get__ usage; I don't think there is something we can do here as of now. This is intentionally done by rewire-ts as far as I can tell. I suspect tweaking this means __ResetDependency__ and such won't work based on code I read on rewire-ts but I am not fully sure. We can get rid of this by adding a set method in proxy, which will ensure that we always get the internal value. But before we do this, we need to make sure we convert other modules not in window namespace like (util and such) to ES6 since __get__ on CJS does not work because it returns undefined if they are attached to exports.

@priyank-p The reason I'm not in favor of starting with activity.js for this type of conversion is that it has a lot of dependencies:
$ ./tools/lint --groups frontend static/js/activity.js | cut -b '46-75' | grep "'" | cut -f 1 -d " " | sort | uniq -c
      2 'blueslip'
      3 'buddy_data'
      6 'buddy_list'
      1 'channel'
      1 'keydown_util'
      1 'list_cursor'
      1 'narrow'
      2 'page_params'
      1 'people'
      4 'pm_list'
      2 'popovers'
      2 'presence'
      1 'server_events'
      1 'user_search'
      2 'user_status'

(quick aside: I produced that list by removing most of the globals section from .eslintrc.json.)
The entire subsystem under activity.js is somewhat problematic, due to some dependencies on our system to reload the app.  A good example of this is that activity.js depends on presence.js, which is itself mostly a leafy module logically, but which still has these deps in the present implementation:
      1 'blueslip'
      5 'people'
      1 'presence'
      1 'reload_state'
      1 'server_events'

The dependency on people.js is valid (not an accident of implementation), and I'll get to to people.js later.  But the other deps are mostly things we should try to fix...
The call to itself is a just a one-line fix that we should just fix:
250 exports.initialize = function (params) {
251     presence.set_info(params.presences,
252                       params.initial_servertime);
253 };

And then some of the more problematic dependencies are encapsulated in this code below (but disregard the use of people. here; focus instead on server_events and reload_state and blueslip):
156         // Note: In contrast with all other state updates received
157         // receive from the server, presence data is updated via a
158         // polling process rather than the events system
159         // (server_events_dispatch.js).
160         //
161         // This means that if we're coming back from being offline and
162         // new users were created in the meantime, we may see user IDs
163         // not yet present in people.js if server_events doesn't have
164         // current data (or we've been offline, our event queue was
165         // GC'ed, and we're about to reload).  Such user_ids being
166         // present could, in turn, create spammy downstream exceptions
167         // when rendering the buddy list.  To address this, we check
168         // if the user ID is not yet present in people.js, and if it
169         // is, we skip storing that user (we'll see them again in the
170         // next presence request in 1 minute anyway).
171         //
172         // It's important to check both suspect_offline and
173         // reload_state.is_in_progress, because races where presence
174         // returns data on users not yet received via the server_events
175         // system are common in both situations.
176         const person = people.get_by_user_id(user_id, true);
177         if (person === undefined) {
178             if (!(server_events.suspect_offline || reload_state.is_in_progress())) {
179                 // If we're online, and we get a user who we don't
180                 // know about in the presence data, throw an error.
181                 blueslip.error('Unknown user ID in presence data: ' + user_id);
182             }
183             // Either way, we deal by skipping this user and
184             // continuing with processing everyone else.
185             continue;
186         }

If we follow the call graph to people.js, we get into much more "leafy" territory (despite it being one of our largest modules in terms of LOC):
     22 'blueslip'
      4 'i18n'
      1 'md5'
      1 'message_store'
      1 'moment'
      1 'reload_state'

Moving blueslip off of window is still somewhat problematic, due to its deps on ui_report and page_params, although I would certainly consider that a better candidate to start with for these types of conversions than activity.js.
A better candidate, in my humble opinion, is i18n.js, which is truly a "leaf module" to the rest of the Zulip codebase from a logical standpoint, and I think pulling that off of window would make that relationship more explicit.
You had mentioned message_store.js as a candidate, and I apologize for not mentioning it earlier, but message_store does indeed seem like a much better candidate for conversion than activity.js:
      1 alert_words'
      4 blueslip'
      1 home_msg_list'
      2 message_list'
     12 people'
      2 pm_conversations'
      2 pointer'
      1 recent_senders'
      1 stream_topic_history'

Even message_store has a relatively broad mission compared to more purely data-oriented modules like people, pm_conversations, and recent_senders.
I would consider looking more closely at the following modules before getting too enmeshed in activity.js yet:

i18n
people
pm_conversations
recent_senders

I would also consider doing your own analysis here of how you can work your way toward the more "leafy" section of the dependency graph, so that we can introduce TS more incrementally.

It's also worth noting the five modules that we use the most in our codebase:
$ ./tools/lint --groups frontend static/js/ | python foo.py | sort | uniq -c | sort -rn | head -5
    507 page_params
    384 i18n
    267 blueslip
    245 people
    186 stream_data

For reference here is foo.py (and there are more sophisticated ways to mine this data, of course, but this little hack gives the big picture pretty well):
import sys
import re

for line in sys.stdin:
    m = re.search("error\s(.*)", line)
    if m:
        dep = m.group(1).split()[0].strip("'")
        print(dep)

I think figuring out what to do with page_params is a fruitful conversation that goes beyond the TS conversion.  As indicated, we reference it 507 times in our codebase.  It's arguably the main source of type errors in our codebase, too.
I mentioned i18n in my previous comment, and I think that's low hanging fruit for moving off of window.  It's also an interesting case study for the node-related complications.  We already special-case it inside of frontend_tests/zjsunit/index.js, so any thing we did to move it off window would be encapsulated in index.js (and mostly not affect folks writing normal unit tests):
117         set_global('blueslip', make_blueslip());
118         set_global('i18n', stub_i18n);

With regard to blueslip it has almost the exact same property as i18n when it comes to the node tests.  As I mentioned in my previous comment, though, it is a little more complicated than i18n due to the fact that blueslip depends on page_params, ui_report, and jQuery.
I mentioned people in the earlier comment, and I won't go into too much more detail on that, other than to say getting people.js would be a major milestone, and I think it's more attainable than some other modules.
Finally, for completeness, I'll mention stream_data, which I would advise you to steer clear of for now.  The history behind stream_data.js is somewhat sordid, as it was extracted from our notorious subs.js module.  Plus it has a natural dependency on page_params that isn't necessarily evil; it's just kinda annoying to deal with.  I think there's lower hanging fruit than it.

https://github.com/zulip/zulip/pull/15315 addresses a minor point that I made, mostly in passing, related to presence.js.

I misunderstood the meaning of "leafy" here. I should have asked for clarification. I agree that starting with the modules you mention would is the best way forward here. I picked activity.js because it was first js file under static/js and I was just trying to experiment with what this migration would be like since I had written a script that removes window.activity = ..., remove it from eslint globals and uses it to find modules that need require and zrequire calls and add them there. The only manual work here is fixing tests. In any case, I will leave this open here and start with i18n.
Regarding page_params, we can add types for it and avoid those errors, but for it to be effective, the file using it needs to be converted to TS.

I have something in works and it's different than this PR so closing this.


[utils] lazy_infodict: Add lazy dict class

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Add a lazy info dict class, that does not evaluate data eagerly. Can potentially be used to delay network requests, speed up extraction and rid the need for --lazy-playlist(?)
Very rough draft early in the stages. We would also have to allow this in common to be returned by an extractor. No testing has been done.
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[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?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[x] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at 8dbf2cf
Summary
🚀🧠🗺

Added a new class LazyInfoDict to yt_dlp/utils/lazy_infodict.py that allows some information fields in the extractors to be computed lazily. This is part of a refactoring effort to improve performance and reduce network requests.

LazyInfoDict
inherits mapping, saves time
autumn leaves falling

Walkthrough

Add a new class LazyInfoDict that implements a dictionary-like object with lazy values (link)

I have put up a new version of the proposal, with carried state between the functions. Webpages have to only be downloaded once this way. _real_extract can be omitted if all parameters except id are lazy, however im not sure this is the right call.
The two types can easily be combined if both used internally and in the info dict when that usecase arises.
A demo is included in yt_dlp/extractor/lazy.py and can be tried through python -m yt_dlp.utils.lazy.
This current proposal has problems with returning a playlist and a video from the same extractor, however this could be handled as a special case when _type == playlist maybe.


Plugin crashes when trying to play a local file

This is a stack trace, in case someone knows what it means. I will try to narrow down the reasons - most local files play with no problems.
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff23c7127e __exceptionPreprocess + 350
	1   libobjc.A.dylib                     0x00007fff513fbb20 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff23c91fd4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
	3   CoreFoundation                      0x00007fff23c75c4c ___forwarding___ + 1436
	4   CoreFoundation                      0x00007fff23c77f78 _CF_forwarding_prep_0 + 120
	5   audioplayers                        0x000000010ea06b32 -[AudioplayersPlugin setUrl:isLocal:isNotification:playerId:onReady:] + 1122
	6   audioplayers                        0x000000010ea0780a -[AudioplayersPlugin play:url:isLocal:volume:time:isNotification:] + 330
	7   audioplayers                        0x000000010ea03d24 __46-[AudioplayersPlugin ha<…>
Application finished.

@volgin do you have the sample file? if it always happens for the same file then I can more easily repro and see if I can find a reason. my guess is incompatible ext, codecs, etc

Closing due inactivity, if there is more info that you can add to the issue, comment here and we can re open the issue.


don't normalize Windows drive letter in tool tests

Summary: tool test uses vscode-uri to normalize paths, but that by default lowercases the drive letter, so we can't test what happens if you start Flow with an uppercase drive letter.
Differential Revision: D24893422

this repro's #6592. with this change, the test runner starts the server with an uppercase C:\, and then makes LSP requests using vscode-uri which normalizes it to c:\.
closing this PR as it is squashed into the fix, #8531


Add a Cause property

Add a new native merry error property: "cause".  This would be another error.  Useful when a library emits errors of fixed types, and wants to wrap errors from lower level libraries in its own error types without losing information.
Details() would be enhanced to print the stack of causes, perhaps labelling the innermost cause the "root cause".
Cause(err) would get the next error down the cause stack.  RootCause(err) would get the deepest cause.
Could also consider enhancing Is(), or adding an alternate form, for comparing against any of the causes in the stack.

Great!
This feature will be useful for me!

Fixed in 1.2.0


[Legacy Mode] Getting an empty page when creating application

Describe the issue:

Getting an empty page when creating application

https://github.com/wso2/product-is/assets/40081059/57eca96b-1e6c-4daf-af3d-8385175366b9
How to reproduce:

1.Login to the console
2.Go to applications
3.Create a new application
Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [IS 7 legacy snapshot]
OS: [e.g., Windows]
Database: [e.g., MySQL, H2]

Optional Fields
Related issues:

Suggested labels:

Happening due to the Path issues mentioned in:

https://github.com/wso2/product-is/issues/18366
https://github.com/wso2/product-is/issues/18418

Fixed with: https://github.com/wso2/identity-apps/pull/5043


Connection and AppendToStream Examples

It would be helpful to have an example for connecting and AppendingToStream

Addressed by https://github.com/EventStore/EventStore-Client-Go/pull/65


OCPBUGS-1227: Skip unnecessary node events in config reconciler

The config controller watches node event to populate l2 and bgp advertisement objects with selected nodes based on node selector labels.
But currently a change in the node results in reprocessing the configuration, which results in reprocessing the services. This results in an unnecessary cpu load.
Hence this change skips processing unnecessary node events other than node create, node update (if its with new labels) and node delete events.
Signed-off-by: Periyasamy Palanisamy<EMAIL_ADDRESS>(cherry picked from commit 2f2ff0d50fa578dd3f96d48b5c2149e95af3f64b)

/jira refresh

/retest

/approve
/lgtm


Note 20 Ultra Screen detection

MAKE SURE YOU TESTED THE LATEST RELEASE.

Samsung user? See https://mathewsachin.github.io/Fate-Grand-Automata/SAMSUNG.html

Describe the bug
Skill command:
d1g1l14,#,f14,#,i1ehj1
On Note 20 Ultra it won't use the skill on the 2nd round and press the attack button. Toggled the notch settings a few times but no luck.
Screenshots
If applicable, add screenshots to help explain your problem.
If an error occurred, you can find the message by expanding the app's notification.
It is recommended that you atleast add one screenshot of FGO running on your device.
Video
If relevant, include a video of the script running on your device with Debug mode ON (recording functionality is available within the app in More options).
Device Info (please fill atleast 'Device model'):

Device model: [e.g. Note20 Ultra]
Screen size: [FHD+]
Android Version: [e.g. Android 10]
RAM: [12GB]

Edit this part in the issue:
Screenshots
If applicable, add screenshots to help explain your problem.
If an error occurred, you can find the message by expanding the app's notification.
It is recommended that you atleast add one screenshot of FGO running on your device.

Video
If relevant, include a video of the script running on your device with Debug mode ON (recording functionality is available within the app in More options).

I need a video with debug mode ON, otherwise I can't see what's happening on your phone.

This is actually a report from some users from the Korean community, all using Note 20s and I did ask them to post the video with the app running in debug mode. No one really took a video. However, I did think it's because the hole punch got smaller on the Note 20. Sorry to keep you waiting and I will give you an update if they post a video.

Yes. They said it didn't really help.

No point in keeping this issue without proper info. Reopen if you're able to get a video with debug mode ON.


gitea only recognises the first out of three signatory ssh keys

Description
I have registered 4 ssh keys, they are used for pushing and signing in the exact same way. the first one shows as signed commits, the other two work for pushing but the UI tells me that neither of them is recognized as a signing key.
Gitea Version
forgejo 1.21 / gitea 1.21
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots

Git Version
No response
Operating System

host os: Linux 6.6.8-zen1, NixOS, 24.05 (Uakari), 24.05.20231230.b0d36bd

How are you running Gitea?
I'm using the nixos module.
I'm running forgejo now but I have been running gitea before with the same issue so I think it is likely a gitea issue.
Database
PostgreSQL

I can't reproduce it locally

add 2 (or more) ssh-keys
verify them
git config gpg.format ssh
git config user.signingkey ~/.ssh/id_rsa.pub
git add -> git commit -S -> git push
now you have to set the user.signingkey to the 2. ssh key path
git add -> git commit -S -> git push

-> both commits are signed

Yeah it was my fault. You have to add the mail to the thing. The error message didn’t make that clear. Sorry for that.

Perhaps it would still be possible to not show the commit as unsigned when it is signed and in reality it’s just the mail address associated to the key that’s not in the UI…

Can you please give an example how to reproduce it?
As I wrote, I can't reproduce it and SSH-keys dont have any linked EMail. If you mean the config user.email,  then there is already a message

And when the EMail is not linked to any Account the username is also not clickable and a random Gravatar is shown

Yeah. A random gravatar was shown but the message on it was "no key found for this signature in database" when the actual culprit was having to add the mail address to my profile.

Ok, then the problem is not the key. You only have to set the correct email
I don't know how the expected behavior is, but when the Email is wrong there should be a warning next to the name like this

in Settings > Account > Manage Email Addresses it is required to have the email set such that it shows the commit as signed.
I.e. say I have a key that is associated with a work email address the key will show as "not found in database" until I add and verify this mail address.
The UI says "no key found for signature" which imo is the wrong thing to say. It is also not documented.
However, it is not per se a bug as I already said, just unexpected behavior.


Just always show install os instructions :)

Fixes #79
Description

Always show OS install instructions
Fixed broken fastlane image

So now, the download link will always be shown?


Upgrade to cosmos-sdk v0.44

closes #501

I just realized that there is already a PR for this in #656, and I think that's actually farther along in the process than I am.  Should probably work off of that.

Hi Sunny, there are a lot of talks about this upgrade in the issue and on discord. Not sure if everything is written down.
In any case, there are at least 3 known forks that add 0.44 support. It is unclear all the design decisions/tradeoffs each one makes. But I think there is no need for another one. The best way to help move this forward is to reach out to @alpe and maybe offer a review of some code.
BTW, the biggest open question I think is with the 0.44 upgrade whether contracts should maintain 20 bytes "legacy" addresses like secp256k1, or use the new 32 byte "module account" address format.

We have communicated putting this into our 1.0 roadmap and will get started on it in a week or two.

Got it!  I'm gonna close this PR for now then.  Btw, I would say I have a preference for the new 32 byte addresses, but I wonder if we do need to provide legacy support for old addresses?

https://github.com/CosmWasm/wasmd/commit/928275857acc4be93f50e62c7523ad450a3b1a66#commitcomment-61521105
Functionally speaking I am pretty good with the beta2-ibc2 branch at notional-labs/wasmd
but.....
It would be hell to merge in and out (think like osmosis fork of cosmos sdk)
So I am going to basically re-do your work here, using it as a template of sorts.  I've also put together a whooooole bunch of tests and I hope to conclude with some kind of contract sanity test.
Cheers!


Regression in Angular12: fingerprint resources

🐞 Bug report
Command (mark with an x)

[ ] new
[x] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: Angular 11
Description
 Up to Angular11 we could make:
import icons from '../assets/icons.svg';

This way, the asset was fingerprinted when compiled for production. But this solution was removed in https://github.com/angular/angular-cli/commit/6732294ff34ca35698cec5a9ca91b664dd684289 . From that commit I understand that now it should work without anything else... but it doesn't at least in this case.
🔬 Minimal Reproduction
Just try to import a SVG and use it later for something (like passing it to Material):
import icons from '../assets/icons.svg';

...

matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl(icons));

🔥 Exception or Error

./src/assets/icons.svg:1:0 - Error: Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

🌍 Your Environment

Angular CLI: 12.1.0
Node: 14.17.1
Package Manager: npm 7.19.0
OS: darwin x64

Angular: 12.1.0
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, language-service, localize, material
... platform-browser, platform-browser-dynamic, router
... service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1201.0
@angular-devkit/build-angular   12.1.0
@angular-devkit/core            12.1.0
@angular-devkit/schematics      12.1.0
@schematics/angular             12.1.0
rxjs                            6.6.7
typescript                      4.3.4

Anything else relevant?

This is working as intended and only assets referenced in CSS are fingerprinted.
In version 12, we removed the undocumented, unsupported Webpack feature to require an asset as if it was an ECMA module using this also had the side effect of fingerprinting assets not referenced in CSS.
Duplicate of https://github.com/angular/angular-cli/issues/20816

A better alternative would be to control your caching policy or introduce a service worker that takes care of that.

Ok... actually we wanted to fingerprint it as part of our caching policy. If it has the hash in its name, we can set aggressive cache policies for that file. Otherwise, if it's a generic icons.svg, we can't cache it as it can change anytime.
Would this be considered if opened as a feature request? Or is something that doesn't fit in the Angular roadmap?


Add Scala 2.13, bump Circe versions

Fixes https://github.com/mkotsur/aws-lambda-scala/issues/21 by using different Circe builds for Scala 2.11 and Scala 2.13.
Also includes @siliconmeeple's helpful change at https://github.com/mkotsur/aws-lambda-scala/commit/eaf3aae2111dd2e32706d2a74cd45e3e6badbdc2.

Thanks for PR @ewiner. The change looks good, but I have problems with running it in on SBT 1.3.4. CircleCI also needs some help: https://circleci.com/gh/mkotsur/aws-lambda-scala/93?pipelines-ui-opt-out
Which version of SBT have you been testing this with?

@SiliconMeeple @ewiner new version 0.2.0 has been released, also for Scala 2.13. Thanks for your help.


hid_write on Mac OS

hid_write does not work correctly on Mac OS
While trying to write data to a HID device on Windows, we've encountered the same issue as described in your comments:
Unfortunately in windows simply writing to the HID device, via WriteFile() internally, doesn't appear to actually set the data on the controller (despite returning successfully).
In the DS4 implementation they use the HidD_SetOutputReport() Win32 API call instead.
Unfortunately HIDAPI doesn't have any equivalent call, so we have to make our own.
On Windows, we've fixed this behavior by replacing hid_write() with HidD_SetOutputReport()
However, on Mac OS, you've specified that hid_write() and hid_read() are working correctly with a PS4 Dual Shock controller. In our case, we've also tested this code using a PS4 controller on Mac OS, and the functions do not work correctly: more precisely, the device expects the data as a control transfer, not as an interrupt transfer.
On Windows, HidD_SetOutputReport() is used for control transfers, while WriteFile() is used for interrupt transfers,
Could you please send us more details on your tests and how you've managed to make the code work on Mac OS? Or, if you know any functions that we can use on Mac OS for command transfers?

However, on Mac OS, you've specified that hid_write() and hid_read() are working correctly with a PS4 Dual Shock controller.

I guess I'm the primary Mac developer but I've never tested a PS4 controller. I guess @HipsterSloth did on his Mac mini. Can you please provide a link to where he said this so we can have the full context?
BTW, @HipsterSloth is stepping back from this project for several months. He may answer some questions but I don't think he has time to develop anything.

However, on Mac OS, you've specified that hid_write() and hid_read() are working correctly with a PS4 Dual Shock controller. In our case, we've also tested this code using a PS4 controller on Mac OS, and the functions do not work correctly: more precisely, the device expects the data as a control transfer, not as an interrupt transfer.

Truth be told, I've never actually tested our DS4 implementation on OS X myself. I was working on the DS4 implementation on windows because I needed that for work at one point, but I could never get the controller tracking working well, so I sidelined work on that for a while. As a result I never bothered to try and see how well the DS4 worked on OS X (beyond cboulay making sure that it compiled on that platform).
I'm not familiar with the OS X HID interface so I couldn't recommend what the equivalent of HidD_SetOutputReport() is. If a function like that doesn't exist in OS X, the other option is to connect to the DS4 using libusb and then send the command transfer directly. I do something similar for the PSNavi controller here. Though if you do that, you'll only be able to use the DS4 over USB. The nice thing about system HID apis is that they abstract away the madness that is the lower level Bluetooth protocols (L2CAP specifically).

Thank you for the getting back to me on this and for detailing your tests.
Actually, we've also attempted to use libusb, however during our tests it failed when trying to use usb_claim_interface() with the following message: "another process has device opened for exclusive access"
We've looked into this and it seems to be a known issue of the libusb library on Mac OS, due to the fact that the handle is already claimed by the AppleUSBCDCACM driver (coming from the kernel-space). We've attempted to use the libusb_detach_kernel_driver() as a workaround, however this function is only implemented in libusb for Linux.
From our investigation so far, the codeless kext approach would be the only possible workaround (please see the following links for more details), however this would not work in our case as the target device is a HID controller, which is supposed to work without a driver.
libusb issue
libusb supported environments
Could you please let me know if you've managed to connect to the device using libusb on Mac OS in your tests?
(as a side-note, the lack of Bluetooth support would not be a problem for us, as we only connect the device through USB).


Check if Language Server path is an empty string

The extension searches in the Language Server in the path configured in the settings and then in the default folder.
But if the path in the settings is an empty string, the Language Server executable wasn't found because was checked only if this setting is undefined or null, not an empty string.
Now the default folder is used even if the setting is an empty string.

/azp run

/azp run


Switch to pnpm and refactor the project accordingly

Current dependencies on/for this PR:

main

PR #96   👈

This comment was auto-generated by Graphite.


Removing the Coordinator Node from ec_deployment resource does not award back the ingest node role to hot nodes

13:35 $ terraform --version
Terraform v1.3.9
+ provider registry.terraform.io/elastic/ec v0.8.0
+ provider registry.terraform.io/elastic/elasticstack v0.7.0

If I remove the coordinating node (or set it to 0g) from the Terraform Configuration like so, the Ingest role does not get applied back to the Hot nodes.
If I do this through the Elastic Cloud UI, it does.
I just realized I still have the zone count at 2, so i'll set that to zero first and report back if it's still an issue.

Readiness Checklist

[X] I am running the latest version (providers, yes.  Terraform one version back for other reasons)
[X] I checked the documentation and found no answer
[X] I checked to make sure that this issue has not already been filed
[X] I am reporting the issue to the correct repository (for multi-repository projects)

Expected Behavior

When removing the coordinating node, the Ingest node role should be applied back to the hot nodes.
Current Behavior

When removing the coordinating node, the Ingest node role is not applied
## Terraform definition

coordinating = {
      autoscaling   = {}
      size          = "0g"
      size_resource = "memory"
      zone_count    = 2
    }

Steps to Reproduce

See Above

Context

I need to currently use the UI to remove a coordinating node.
Possible Solution

When removing the coordinating nodes, make sure the ingest node.role is applied back to the hot nodes.
Your Environment

Version used: See above. (elastic clodu 8.6)
Running against Elastic Cloud SaaS or Elastic Cloud Enterprise and version: Elastic Cloud
Environment name and version (e.g. Go 1.9):
Server type and version:
Operating System and version:
Link to your project:

Note:  If I put the zone count at zero, the plan applies and the ingest node role gets awarded back to the hot node.
However, I go through a fail cycle of this which I know is in other tickets.
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to module.customer_env.module.elastic.ec_deployment.customer, provider
│ "provider[\"registry.terraform.io/elastic/ec\"]" produced an unexpected new value:
│ .elasticsearch.coordinating.zone_count: was cty.NumberIntVal(0), but now cty.NumberIntVal(2).
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
╵

When I put the zone count to 1, then the plan applies fine.
I'm happy to have this ticket closed if it's expected behavior - but leaving open in case this is net new.


gtk: implement From for Value

This looks like the only one here that needs a manual implementation

A similar PR for gtk4-rs would be appreciated :)


WW-4903: fixes PrefixBasedActionProxyFactory

Resolves issue WW-4903

Coverage increased (+0.002%) to 46.25% when pulling 15e6be1d66be7bc60d26b305dcf768e540900346 on lukaszlenart:fix-prefix-based-factory into eddab32e7526ad2ad56a247988ab7e2655bccc9f on apache:master.

Coverage increased (+0.04%) to 46.292% when pulling 457f7c2f57da58c7ae75b75773c017d45bfc519d on lukaszlenart:fix-prefix-based-factory into eddab32e7526ad2ad56a247988ab7e2655bccc9f on apache:master.

@apache/struts-committers this is ready for review

... or not ... adding one more test :)

now is ready :)

Coverage increased (+0.05%) to 46.298% when pulling 7116ac8801582f593f6d08bb96cb20b232955362 on lukaszlenart:fix-prefix-based-factory into eddab32e7526ad2ad56a247988ab7e2655bccc9f on apache:master.

To review, during reproducing WW-4903, I reached a few difficulties which I decided to ask if you know a quick answer please (to save time):

<constant name="struts.actionProxyFactory" value="prefix"/> is not mentioned at REST and non-RESTful URL’s Together Configuration section of docs. I checked and it does not exist in first revision of our new docs also. It seems it did not exist from first. Do you think it is a forgotten item? If so, why users did not encounter this issue sooner? Or maybe no one has used such configuration (REST together non-REST) so far?

Do you know why user gets

com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.ActionProxyFactory, name='struts.actionProxyFactory'] in public void org.apache.struts2.factory.PrefixBasedActionProxyFactory.setActionProxyFactory(com.opensymphony.xwork2.ActionProxyFactory).

while he has defined <constant name="struts.actionProxyFactory" value="prefix"/> already?!

re: docs

It's documented here next to the PrefixBasedActionMapper mapper but maybe it's a good idea to mention it also on the REST plugin page - I will add that.

re: exception

It's because of a circle dependency,  injecting itself into itself ;-) This was broken from the very beginning but nobody has discovered that which means nobody is used it till now :)

Added a note https://github.com/apache/struts-site/pull/90

Coverage increased (+0.04%) to 46.289% when pulling 7cdc319b412a723070915b2d97d966c861ba3d74 on lukaszlenart:fix-prefix-based-factory into eddab32e7526ad2ad56a247988ab7e2655bccc9f on apache:master.

I reached two issues:
PrefixBasedActionProxyFactoryTest does not have license so clean install fails here :)
I could not make PrefixBasedActionProxyFactory.init() being called. It seems the framework does not call init because in ContainerBuilder#95:
        if (Initializable.class.isAssignableFrom(key.getType())) {
            initializableFactories.add(createCallableFactory(key, scopedFactory));
        }

key is com.opensymphony.xwork2.ActionProxyFactory which does not implement Initializable (it's implementation i.e. PrefixBasedActionProxyFactory implements that interface).
I could not find a way to know that implementation (here e.g. PrefixBasedActionProxyFactory) in line#95 to add it also to if statement i.e. if implementation implements Initializable. Do you know any please? Another way is to make com.opensymphony.xwork2.ActionProxyFactory initializable but I think it's not a good idea and will make all super classes have to implement init method :(

re: license

Ach ... right but why CI didn't catch that 🤔  ...

re: init

Oh damn... good catch, totally forgot about the limitations and for now there is no way to figure out the target type, I think we should extend Key and add T there. Reverted back to the previous mechanism as constants are injected last (noticed that when I was exploring Container).

why CI didn't catch that

It seems because CI uses clean package not clean install. But I tested your fix and now also fails on clean package :)

I think we should extend Key and add T there.

I see that key already has defined as Key<T> there. Seems we cannot reach implementation class via key at compiletime. But instead I see the target implementation class is saved inside factory but only in runtime. In compiletime, it's just an interface.

Yeah... factory is the key here ;-) I have a fix already and will open a new PR. When we close this PR we can start preparing another 2.5.x release and focus on 2.6 :)

Coverage increased (+0.04%) to 46.287% when pulling eabf4eda21b0c415c183eda5a0ee99e32cb64727 on lukaszlenart:fix-prefix-based-factory into eddab32e7526ad2ad56a247988ab7e2655bccc9f on apache:master.

LGTM 👍 let's go :)


missing required module CTweetNacl when using SPM

I'm using SPM to include this module in my Package.swift, which I'm then trying to build into an iOS app.
However the build fails due to missing CTweetNacl module.

Similar issue to https://github.com/pusher/pusher-websocket-swift/issues/371 which was auto-closed (despite not being fixed)

Did you add the package to your project using with File (or right click)->Add Packages... . If so, did you then set the dependency rule to 10.1.1. (or pin to the master branch)? As currently its defaulting to an older version.

Sorry, I just reread this, and since you've got your own Package.swift, you must be giving it to someone else to import (or importing it again into your own app)
If thats the case, then I can give you a workaround repo, which has manually copied both dependencies' source files into the project, which you can run yourself. Its not an ideal workaround, but tweetnacl-swiftwrap uses C files, which neither SPM (nor Carthage) play well with, despite spending alot of time tinkering with spm and its xcodeproj file. I helped TiagoLira in #371 with this, but I will remake a more minimalist project for you. I will let you know when I've uploaded it.

Yeah, I'm actually have a library (so I have Package.swift), thanks for your help, it is appreciated :)

I've uploaded it to this repo: https://github.com/benjamin-tang-pusher/pusher-socket-swift-depsincluded. The project builds, and the tests pass. You cannot use SPM to import it, however, because the sources folder now has mixed language (C files), so I just need to test if it can be used by adding the project.

You can use the above repo for your project:

Clone it (probably into your project's directory)
In your XCode project, click your project file, then target, and in framework and library, click the + icon
Click add other
Click the project file of my lib
Click the + icon again, and select PusherSwift.xcframework

Now you can import PusherSwift into your project and use it.

Thanks so much!
You're instructions say project file, but this is a Swift package. So, will the resulting PusherSwift.xcframework work as a binary dependency in a swift package.
I'll give it a try when I have a moment

Thanks for your insight, I think this is really just for us to deal with on our end :)


Service created with AWS CCM - worker node only listening on tcp6

Version:
k3s version v1.17.4+k3s1 (3eee8ac3)
K3s arguments:
Master
curl -sfL https://get.k3s.io | sh -s server --disable-cloud-controller --no-deploy servicelb   --kubelet-arg="cloud-provider=external"   --kubelet-arg="provider-id=aws:///$(curl -s http://<IP_ADDRESS>/latest/meta-data/placement/availability-zone)/$(curl -s http://<IP_ADDRESS>/latest/meta-data/instance-id)"

Worker
#!/usr/bin/bash

curl -sfL https://get.k3s.io | sh -s - agent --server https://ip-172-31-41-4.ec2.internal:6443 --token SECRET   --kubelet-arg="cloud-provider=external"   --kubelet-arg="provider-id=aws:///$(curl -s http://<IP_ADDRESS>/latest/meta-data/placement/availability-zone)/$(curl -s http://<IP_ADDRESS>/latest/meta-data/instance-id)"

Describe the bug
kube-proxy only opens ports for ipv6 on worker nodes when disabling servicelb and using the AWS CCM.
To Reproduce

Install k3s on master with arguments listed above
Run the AWS CCM with config from /etc/rancher/k3s/k3s.yaml
From the worker node start the agent
Create a service with external ingress

Expected behavior
Worker node will register as healthy with the AWS ELB
Actual behavior
Worker node is assigned to the ELB but is only listening on tcp6 to the proxy port.  The node is not healthy and cannot receive traffic.
Additional context / logs
The AWS CCM creates the load balancer with the correct information and attaches the worker instance.  The proxy however is not listening on tcp (ipv4) and therefore not receiving traffic.

This ended up being a dependency issue on DNS and the pod not responding correctly. Apologize for the noise. Was able to get a single nginx test pod to return successfully.


should ruby_memcheck ignore stack_chunk_alloc?

Recently I've seen quite a few ruby_memcheck failures in Nokogiri's test suite related to GC bookkeeping that I think the gem should ignore.
The stack walkback is something like:
# 52,104 (4,008 direct, 48,096 indirect) bytes in 1 blocks are definitely lost in loss record 38,778 of 38,821
#   malloc (vg_replace_malloc.c:307)
#   stack_chunk_alloc (gc.c:5917)
#   push_mark_stack_chunk (gc.c:5980)
#   push_mark_stack (gc.c:6038)
#   gc_grey (gc.c:6665)
#   gc_mark (gc.c:6747)
#   gc_mark_children (gc.c:6938)
#   gc_mark_stacked_objects (gc.c:7071)
#   gc_mark_stacked_objects_incremental (gc.c:7105)
#   gc_marks_rest (gc.c:8091)
#   gc_rest (gc.c:8988)
#   gc_rest (gc.c:8976)
#   garbage_collect (gc.c:8847)
#   garbage_collect_with_gvl (gc.c:9225)
#   objspace_malloc_increase_body (gc.c:11298)
#   objspace_malloc_increase_body (gc.c:11276)
#   objspace_malloc_fixup (gc.c:11376)
#   objspace_xmalloc0 (gc.c:11447)
#  *xmlSAX2TextNode (SAX2.c:1840)
#  *xmlSAX2Text (SAX2.c:2617)
#  *xmlParseContentInternal (parser.c:9929)
#  *xmlParseElement (parser.c:9987)
#  *xmlParseDocument (parser.c:10824)
#  *xmlDoRead (parser.c:15171)
#  *read_memory (xml_document.c:331)

In this example, the C extension code is calling ruby_xmalloc which triggers GC. The GC mark phase allocates memory for internal bookkeeping, which I believe is used as a "free pool" of memory that Ruby doesn't ever free.
In the past I have already tried to suppress these warnings (see https://github.com/sparklemotion/nokogiri/commit/a0360803740e5c85767ace75563bb3a3b33d1963 for an example) but as Ruby continues to evolve these get out of date, or the stack varies slightly.
Some links if you'd like to dig deeper:

https://github.com/sparklemotion/nokogiri/runs/7474777076?check_suite_focus=true
https://github.com/sparklemotion/nokogiri/runs/7457816991?check_suite_focus=true
https://github.com/sparklemotion/nokogiri/runs/7282476570?check_suite_focus=true
https://github.com/sparklemotion/nokogiri/runs/7310948711?check_suite_focus=true
https://github.com/sparklemotion/nokogiri/runs/7287062715?check_suite_focus=true

My suggestion would be to consider adding stack_chunk_alloc to the list of default skipped ruby functions, but maybe folks with deeper knowledge of Ruby's inner workings have other ideas.
cc @peterzhu2118

I think this should be fixed in ruby/ruby#5536, but this hasn't been backported to any of the current Ruby versions. Perhaps I should open a ticket to backport this patch?

I think this should be fixed in ruby/ruby#5536, but this hasn't been backported to any of the current Ruby versions. Perhaps I should open a ticket to backport this patch?

Ah! I hadn't seen that fix, thank you!
I would vote to have that backported to 3.1, yes.

I opened #7 which can be reverted once the fix is backported and a patch release is made.


LLM part of this project ?

Are you building llm model ? Or interface for using the system ?

I plan adding support for LLaMa/ LLaMa 2 and some similar models however will not be building an LLM


Allow to use custom options

It would be handy to allow using custom options when constructing a DynamoDB object.
For start it would be nice to support defining convertEmptyValues and port in serverless.yml.

No updates on this? :(


Provide guidance on packaging custom tasks with MSBuild targets

I would like to know what's the recommended approach when publishing custom tasks dll to be used in a *.targets file under build. What should be the path to the custom tasks dll from .targets?

Rolling up to #777


backports to 1.18.2

idk if you actually wanted it but it works so ill put it here, idk how to set it to merge with like a new branch or if thats possible im not too good with github
lovely mod btw i love blahaj i own one

branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
branches for ports are not viable for long term
better solution: gradle magic, one that lets me develop for the latest version of the game without screaming at the version abstraction layer

i'll give it a thought.


Partially closed EventAdminController: finish unit tests

closes https://github.com/HTBox/allReady/issues/617
Refactored Admin/Event/Details
Deleted Test DetailsSendsEventDetailQueryWithCorrectEventId as
DetailsReturnsCorrectViewModel_WhenEventIsNotNull_AndUserIsOrgAdmin covers this case
Completed DetailsReturnsCorrectViewModel_WhenEventIsNotNull_AndUserIsOrgAdmin

@GitaGunnam, thanks for the PR! I'll be trying to get a code review for this soon and get back to you if there are any changes needed.

@GitaGunnam is this is a WIP, then we can leave this PR open if you plan to write some more unit test for it... if not, let me know and we can accept the PR.
Thanks!

No idea when I will get a chance to work on it again. Please accept the PR.

@GitaGunnam, no problem and thanks for you contribution.
For future reference, when submitting a PR that won't totally close the Issue the PR is intended to be associated with, don't use the word "closes" or "fixes" before the Issue number (in this case, #617)... more information is available here:
https://help.github.com/articles/closing-issues-via-commit-messages/
@tonysurma @digitaldrummerj :shipit:


Maricopa County Scatter Graph Chart does not Display

Fixed this issue by increasing the Max number of records returned by the server from 1,000 to 3,000.


Make KubernetesManifest actions less confusing

Instead of repeating "acceptable values" for action in every table, just mention the action name and its options once per table.

@StevenLiekens : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@StevenLiekens : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@azooinmyluggage - Hi, would you review the proposed revisions to your article? Thanks.

Hi @azooinmyluggage - Could you take a look at the updates proposed in this pull request? There's a file-level merge conflict--I can't spot the reason for it, but the pull request can't be merged. Do you have feedback about the proposed changes? Thanks.

@StevenLiekens I'm sorry for the delay on this. I'm trying to understand this PR further. From looking at the task code, it seems like the options listed are valid. What if instead or removing the default values you added a line in each table that says something like "Use bake for the Bake action"?

@juliakm the diff doesn't really show what is happening but essentially the current page layout is this:
## Deploy action

| Parameter | Description |
| ------------|--------------|
| Action | Acceptable values are deploy, promote, reject, bake, scale, patch, and delete.	|
| SomeDeployParameter | Required if action is set to deploy |

## Bake action

| Parameter | Description |
| ------------|--------------|
| Action | Acceptable values are deploy, promote, reject, bake, scale, patch, and delete.	|
| SomeBakeParameter | Required if action is set to bake |

My suggestion is that each table should only list stuff that is relevant to the current heading.
## Deploy action

| Parameter | Description |
| ------------|--------------|
| Action | deploy|
| SomeDeployParameter | Required |

## Bake action

| Parameter | Description |
| ------------|--------------|
| Action | bake |
| SomeBakeParameter | Required |

#sign-off
Thanks @StevenLiekens! I see what you mean now. I'm going to approve the PR and we can see if there is a need for updates later on.

@juliakm: I'm sorry - only the author of this article, @azooinmyluggage, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Careful, I didn't keep this up to date with changes to the main branch so this content is very stale. I can restart the merge if everyone agrees that it will make the documentation better.

@StevenLiekens I'm looking at the merge conflict right now. GitHub indicates that the pull request can't be merged in easily; manual adjustments would need to be made to fit your updates into the article.
If you would, could you create a new pull request against the current state of master, and we'll get the approved updates merged in? Thanks very much.


[refactor] Make bot API consistent

All bots should have a __call__ method which takes in received messages, and perhaps optionally the current phase/season. It should return a dictionary which may contain orders, messages, or both.
Previously, we decided that our bots should have gen_messages and gen_orders functions. It is not necessary for all bots to have these functions, but they can be used as internal utilities.

I have completed something similar to this over multiple PRs over the past couple of months. Although I did not follow the exact instruction, all bots now have a consistent interface through the __call__() method.


Cart Session Lifetime

Hello,
Is there any way to set cart session lifetime to specific hours?
For example i would like to set the cart a lifetime of 2 hours.
Thanks and regards.

Bump


Please add the ability to show all File Explorer context menu items by default

Description of the new feature / enhancement
In Windows 11, the context menu is truncated by default, and you have to click "Show more options" in order to see everything. After awhile, this is incredibly frustrating.
Scenario when this would be used?
Always... Within Explorer there are frequently times you want to right click on a file and perform a specific action... such as opening a file with VS Code or Notepad++, etc.
Currently, you have to right click, click "Show more options", then click Open with Code or Open with Notepad++
Adding the ability to always show the full context menu would remove having to click "Show more options" every single time you want to access a context menu item that isn't on the very short default list of actions.
Supporting information
No response

Supporting information
https://www.bing.com/search?q=windows+11+file+explorer+show+all+options&form=ANNTH1&refig=a3c27d86e4e14e25a803b0a685ddf402
https://www.xda-developers.com/how-to-open-full-right-click-menu-by-default-windows-11/
https://allthings.how/how-to-show-more-options-by-default-in-windows-11-file-explorer/

/dup #33

Seriously.


Scheduled maintenance & uptime

We should display scheduled maintenance hours, and also record/display/archive deliberate and unexpected downtime
Currently we use UptimeRobot for uptime monitoring. They have an API we can plug into to display the same information on PlantIT itself

As of a6484d3 we detect when CyVerse is undergoing maintenance, and we also have links to the UptimeRobot page


refa(src): remove duplicated stringification of value while storing

As discussed in the comments of a commit from a blame of the repo

Aweome @kumarharsh
Thx


Add HRA APIs interface screenshot to HRA APIs page

Add HRA APIs interface screenshot to HRA APIs page
The HRA APIs page needed more content. I added a screenshot of the HRA API interface to this page.
To Do:

[x] Add the screenshot from the Figma Design File.
[ ] Please ensure this image scales up and down for varying breakpoints.

Resources

Figma Design File: HRA APIs

@bhushankhope & @bherr2 - I reviewed the staging site because this isn't currently live. The title card just needs to match the spec title cards and we will be good to go here.
Thanks so much!
Staging:

Spec:

@bhushankhope Reviewed the staging site. This looks GREAT! I will close out this issue when updates are on the production site. Thanks so much!


User table

Adding initial PR in response to issue: #393

Hey @Darkmift,
After migrating the whole repo to nx we need to modify this PR.
Do you mind fix the conflicts?

I'm hoping to find some time this weekend for this.
On Mon, Sep 11, 2023, 22:15 orig @.***> wrote:

Hey @Darkmift https://github.com/Darkmift,
After migrating the whole repo to nx we need to modify this PR.
Do you mind fix the conflicts?
—
Reply to this email directly, view it on GitHub
https://github.com/origranot/reduced.to/pull/396#issuecomment-1714441402,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC63QIOQSO4UB6Q2CKO3MTLXZ5PMFANCNFSM6AAAAAAYN4W3FQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Done in https://github.com/origranot/reduced.to/pull/553


Swift 1.2 - Is SwiftyJSON still usefull ?

Hi !
I'm an happy user of SwiftyJSON !
I was reading this article : http://nshipster.com/swift-1.2/
When I saw this
var users: [User] = []

// load and parse the JSON into an array
if let
    path     = NSBundle.mainBundle().pathForResource("users", ofType: "json"),
    url      = NSURL(fileURLWithPath: path),
    data     = NSData(contentsOfURL: url),
    userList = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as? [[String: AnyObject]]
{
    // extract individual users
    for userDict in userList {
        if let
            id      = userDict["id"] as? Int,
            name    = userDict["name"] as? String,
            email   = userDict["email"] as? String,
            address = userDict["address"] as? [String: AnyObject]
        {
            users.append(User(id: id, name: name, ...))
        }
    }
}

Amazing, no ?
Bisou

Good question

I've used SwiftyJSON for a while, and I thinks swift 1.2 is a big improvement.
To answer your question, yes it impact SwiftyJSON in term of more easier to use.
In term of "Do I want SwiftyJSON in swift 1.2?", the answer is still "YES" as example below.
Example 1,
// Without SwiftyJSON
    for userDict in userList {
        if let
            id      = userDict["id"] as? Int,
            name    = userDict["name"] as? String,
            email   = userDict["email"] as? String,
            address = userDict["address"] as? [String: AnyObject]
        {
            users.append(User(id: id, name: name, ...))
        }
    }

// With SwiftyJSON
    for userJson in userListJson.arrayValue {
        if let
            id      = userJson["id"].int,
            name    = userJson["name"].string,
            email   = userJson["email"].string,
            address = userJson["address"].dictionaryObject
        {
            users.append(User(id: id, name: name, ...))
        }
    }

This example is quite similar for bot with and without SwiftyJSON.
Example 2: Use default value if some keys have no value
// Without SwiftyJSON
    for userDict in userList {
        let id = userDict["id"] as? Int ?? 0
        let name = userDict["name"] as? String ?? ""
        let email = userDict["email"] as? String ?? ""
        let address = userDict["address"] as? [String: AnyObject] ?? [:]
        users.append(User(id: id, name: name, ...))
    }

// With SwiftyJSON
    for userJson in userListJson.arrayValue {
        let id = userJson["id"].intValue
        let name = userJson["name"].stringValue
        let email = userJson["email"].stringValue
        let address = userJson["address"].dictionaryObject ?? [:]
        users.append(User(id: id, name: name, ...))
    }

Example 3: Key chain (assume address is dictionary)
// Without SwiftyJSON
    let street = (userList[0]["address"] as? [String: AnyObject])?["street"] as? String

// With SwiftyJSON
    let street = userListJson[0]["address"]["street"].string

Just some example, you will see a lot benefits  when you dealing with more complex json data (bot get and set).

That said, SwiftyJSON has to be updated for 1.2 — right now it doesn't compile.

Use XCode6.3 Branch.

@totiz → thanks, but this has as well tons of errors :( Mainly Expected type after 'as' errors...

Cloud you show me some lines of code that you have errors, That we can discuss in more detail.

Sorry! My error.  Thanks!

@thedamfr can you explain what is so amazing about the example posted? I have only been learning swift for 1 week so I have never seen swift before 1.2, so this looks normal - what couldn't you do before?

@j-h-a you should give a read to NSHipster's post mentioned in the first post : http://nshipster.com/swift-1.2/
But to make it short
1.2 introduced the coma syntax in the "if let" binding.
if let begin = begin, let middle = middle, let over = over where begin < over {
}

The equivalent approach in swift <1.2 would have been an ugly if pyramid.
if let begin = begin {
    if let middle = middle {
        if let over = over {
            if begin < over {
                println("it's over")
            }
        }
    }
}

Just to complete @thedamfr (note for @j-h-a) in Swift 1.2 you can use only 1 let this way:
if let begin = begin, middle = middle, over = over where begin < over {
}

Thx @stuffmc fixed it.

This issue has been inactive for a while so I'm gonna go ahead and consider it fixed. Please let us know if you want to reopen it.


Access auto increment id inside store function after storeCrud call

Bug report
Inability to access auto-increment id inside store function.
What I did:
Used the info available in the docs about store and update and the way UserCrudController handles password_confirmations to accept 5 additional fields meant to create related model instances. but in order to do that I need the current id. but the storeCrud returns only the Redirect.
What I expected to happen:
If it returned an object with more information, like the autoincrement id, then I could create the relationships.
What happened:
What I've already tried to fix it:
Backpack, Laravel, PHP, DB version:
Backpack : v3.4.15 CRUD on v0.9.6 Base
Laravel : v5.6.26
PHP 7.1
MySQL 5.6

Soo you my biggest love of backpack is you can overwrite just about anything. Why mot take the code from the store function, add it ti your controller, change what you need and bam you have what you need.

@AbbyJanke,

EntityCrudController(mine) extends Backpack\CRUD\app\Http\Controllers\CrudController
CrudController uses SaveActions ( Trait )
How do you overwrite a function in that? Can you help?

Backpack lets you overwrite everything. But overwriting often breaks a lot of things as new versions are released. That's why I'm hesitant to overwrite something like this.

@Athuli7 you can use the IoC container to decorate/inject alternative classes based on certain requestments, e.g "if user crud controller requests crud model, then give them the crud model with this extra functionality"
HOWEVER.
Why can't you use $this->crud->entry which is provided in the store and update ? you can see in the generated controller this
    /**
     * @param UpdateRequest $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function update(UpdateRequest $request)
    {
        // your additional operations before save here
        $redirect_location = parent::updateCrud($request);
        // your additional operations after save here
        // use $this->data['entry'] or $this->crud->entry

        return $redirect_location;
    }

I second that. @OwenMelbz 's solution is what I use all the time.
@Athuli7 , you already have the store() and update() methods in your UserCrudController. After parent::storeCrud() is called you can do $this->crud->getCurrentEntry() and $this->crud->getCurrentEntryId().
Cheers!


Add LICENSE (MIT)

This complements the FOSSA certification that this code is entirely under MIT license.

👍


Rename disableJupyterAutoStart to disableKernelAutoStart or the like

This is used to auto start kernels, not just Jupyter.
This property needs to be renamed to accurately describe what is hapenning.
When true, disables Jupyter from being automatically started for you. You must instead run a cell to start Jupyter.
Could be confusing to users

Closing as not required.


config: allow reading teuthology config from env var location

Allow changing the default "user" location of the teuthology configuration yaml using the (optional) TEUTHOLOGY_CONFIG environment variable. This change aids my effort to run a customized local teuthology environment.

Recursion error looks real and possibly related to this change. Will investigate.

@zmc is there a primer on how & what basic tests to run locally?
I tried cleaning this up and testing multiple scenarios on my machine (no env var, env var but no file, etc) but the CI tests still don't like me. I presume it's because this code is doing a bunch of stuff at import time (something I don't care for) and that makes it hard to know how these test suites will handle it.
I'd like to upstream parts of my "hacked up local teuthology" and this is merely the first part. So getting a better handle on how you all test it would hopefully avoid me stumbling over the same problems again and again. Thanks.

any updates?


Question: docker for cyclecloud-slurm

I'm relatively new to cyclecloud and would like to combine docker with slurm inside a cyclecloud.  I would like to change the template so it can run with slurm instead of SGE.
I was wondering if there is some additional documentation that I can use to get started. Hope you can help me.

Anything on this please?


[FEATURE] Gemini to support function calling mode (AUTO, ANY, NONE)

Gemini recently added the definition of function calling mode. By default, it's the AUTO mode where Gemini decides or not if a function should be called and which one. NONE specifies that no function should be requested. And ANY allows the user to select a subset of possible functions among those defined in the tools.

Implemented in https://github.com/langchain4j/langchain4j/pull/1278


Calling SevenZipArchiveEntry.OpenEntryStream skips the same parts again and again when reading entries in order

SevenZipFilePart.GetCompressedStream skips all the previous files in the Folder. This involves decompressing them and discarding the decompressed data. So when reading the content of the Entries in order we keep decompressing the same data that we have already decompressed for every subsequent entry in the same CFolder! May I suggest that the folder stream be cached, e. g. by only re-creating if we need to read an entry earlier in the folder than the last one, so we don't end up like Shlemiel the Painter.

Shlemiel gets a job as a street painter, painting the dotted lines down the middle of the road. On the first day he takes a can of paint out to the road and finishes 300 yards of the road. “That’s pretty good!” says his boss, “you’re a fast worker!” and pays him a kopeck.
The next day Shlemiel only gets 150 yards done. “Well, that’s not nearly as good as yesterday, but you’re still a fast worker. 150 yards is respectable,” and pays him a kopeck.
The next day Shlemiel paints 30 yards of the road. “Only 30!” shouts his boss. “That’s unacceptable! On the first day you did ten times that much work! What’s going on?”
“I can’t help it,” says Shlemiel. “Every day I get farther and farther away from the paint can!”

7Zip is an awful format that wants files to be compressed in a continuous stream.  If you’re grabbing the compressed stream directly there’s not the library can do to make things nice for you.
Perhaps your solution will work for you.  Sounds like you have it under control.


OpenOcd broken on OS X ElCaptain

Hi all,
OpenOcd is broken after upgrade of my mybokkpro from Yosemite to ElCaptain.
Any ideas how to fix this error :Error: read version failed
here is the log
GNU ARM Eclipse 64-bit Open On-Chip Debugger 0.9.0-dev-00355-gcb3893d (2015-03-20-20:05)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
jtag_ntrst_delay
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Error: read version failed
in procedure 'init'
in procedure 'ocd_bouncer'
in procedure 'transport'
in procedure 'init'
Thanks

this problem is not only for openocd, but also this app texane/stlink.
seems it is problem somewhere in libusb.
first run is OK, when try to run stlink second time then it timeouts while reading first answer (get version) from ST-link device. need physically disconnect and connect back to get it working...

Duplicate #331

As per libusb developers this is not a libusb issue so it doesn't make sense to expect the fix from libusb side https://github.com/libusb/libusb/issues/111

you're totally right that reseting USB of ST-link before downloading SW is a great workaround.

@yoyo-dev,
What did you mean?

I have re-opened libusb issue 111.

If it is just this "Error: read version failed", I think I mentioned in the libusb issue 111 that you can try the work-around to read the version twice. But I guess there may be more issues.

As mentioned in libusb/libusb#111, the work-around seems to be read the ST-Link version twice. Please try that. As per the report in the OpenOCD mailing list, that seems to sort out the problem.

@mcuee, could you explain how and where to read the ST-Link version?

Small ST-Link issue. After programming once the LED will be green. Unplugging and replugging in solves the problem temporarily and the LED goes back to red. Unintuitive, I know...

I am not an expert in ST-Link protocol. But you can refer to the source
codes in stlink or openocd.
Stlink: https://github.com/texane/stlink/blob/master/src/stlink-usb.c#L184
OpenOCD:
http://repo.or.cz/openocd.git/blob/HEAD:/src/jtag/drivers/stlink_usb.c#l484

BTW, based on all the information so far, we (libusb project) think
this is a Mac OS X issue.

As per report in libusb ticket, this is an Apple USB Stack bug and Apple Mac OS X A10.11.4 beta seems to sort out this issue.

Confirmed, fixed in OSX 10.11.4 beta.

For those with an STLink 2.1 device I would avoid doing a firmware upgrade if you have something working. I moved from firmware V2J26M13 to V2J26M15 (on a Nucleo-F429ZI). The M13 firmware seemed to work okay but the M15 firmware completely breaks stlink under 10.11.3.
I upgraded my machine to 10.11.4 beta 3 in hope of a fix but no dice. The 10.11.4 beta improves the stlink behavior (no more segfault) but it still fails with:
% st-info --descr
libusb_handle_events() timeout
[!] send_recv
libusb_handle_events() timeout
[!] send_recv
libusb_submit_transfer(-6)
[!] send_recv
libusb_submit_transfer(-6)
[!] send_recv
...

Just to be clear I don't think this is an stlink problem but a firmware problem which is connected to the problems in the Mac OSX usb stack.

Today, Mac OS X 10.11.4 is released officially.
But it seems not fixed.

My stm32vldiscovery isn't working - it just exits to the terminal command line:
➜  ~ /usr/local/Cellar/open-ocd/0.9.0/bin/openocd -f /usr/local/Cellar/open-ocd/0.9.0/share/openocd/scripts/board/stm32vldiscovery.cfg
Open On-Chip Debugger 0.9.0 (2015-11-15-05:39)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
in procedure 'init'
in procedure 'ocd_bouncer'

➜  ~

@jsjeong My situation was fixed after the installation of the OS X stlink driver
https://github.com/texane/stlink/tree/master/stlinkv1_macosx_driver
See my comment for the proof.
I'm on El Capitan 10.11.4

After upgrading to 10.11.4 (final) and upgrading the STLink firmware on my Nucleo-F429ZI to V2J27M15     things are once again working (without the stlinkv1 kernel driver referenced above).

Is there any progress/testing going on for this issue? Please test with latest tools from the master branch.

As mentioned by @halt-hammerzeit and @ngwese it should work on latest 10.11 OSX. Thanks all for you feedback and discussion. Feel free when there are other problems to open a new issue.


Recommended way to do async keyboard actions

Basically I just want to clear an input field if it's already filled.  I'v tried a number of async / await combinations, but in all my approaches page.type(email); gets called before the keyboard actions are complete.
What's the recommended way to do these async keyboard actions?
puppeteer: 0.10.2
node: 8.0.0
macOS Sierra: 10.12.6
  const inputValue = await page.$eval('#email-input', el => el.value);
  await page.click('#email-input');

  if (inputValue.length > 0 && inputValue !== email) {
    page = async (page, inputValue) => {
      page.keyboard.down('Shift', {delay: 250});
      page.press('ArrowLeft', {delay: 250});
      for (let i = 0; i < inputValue.length + 10; i++) {
        page.press('ArrowLeft', {delay: 250});
      }
      page.keyboard.up('Shift', {delay: 250});
      page.press('Backspace', {delay: 250});
      page.type(email);
      return page;
    };
  }

  await page.click('#password-input');
  ....

If you use the page.$ API to get a node reference this could be cleaned up a little bit...
const emailSelector = '#email-input';
const input = await page.$(emailSelector);

await page.click(emailSelector);

if (input.value !== email) {
  await page.keyboard.down('End'); // End jumps right the end of the input string

  // While being the simplest way to loop until the desired result is met by the actions of the block.
  while(input.value.length > 0) {
    await page.press('Backspace');
  }
}

await page.type(email);
await page.click('#password-input');

Does something with this structure work for you?

@Garbee  Thanks I just tried it but input.value is undefined

Ah yea, the references are limited to the actual DOM API. Going against Google search real quick I came up with this example that works and isn't nearly as messy.
const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch({
        headless:false
    });
    const page = await browser.newPage();
    const inputSelector = '#lst-ib';
    const email =<EMAIL_ADDRESS>
    await page.goto('https://www.google.com?q=test+stuff', {waitUntil: 'networkidle'});

    const inputValue = await page.$eval(inputSelector, el => el.value);
    await page.click(inputSelector);

    if (inputValue !== email) {
        // Ctrl + A selects all the content
        await page.keyboard.down('Control');
        await page.keyboard.down('A');

        await page.keyboard.up('A');
        await page.keyboard.up('Control');

        // Since it is all selected, no need to backspace since typing will put the new value right in over the old.
        await page.type(email);
    }
})();

@Garbee This makes total sense but it doesn't work.  For some reason it's not waiting so I get 2 mails in the input box

What exactly is the code you are running?

Im importing a sign in flow function for a change email test:
    import { signIn, changeEmail } from './flows';

    const browser = await puppeteer.launch({
      headless: false
    });

   try {
      let page = await browser.newPage();
      await page.goto(routeTo(''));
      await page.click('#menu-bar-side-menu-button');
      await page.click('#side-menu-sign-in-button');
      page = await signIn(page<EMAIL_ADDRESS>password());
      await page.waitForSelector('#dashboard');
      page = await changeEmail(page, newEmail);
      await page.click('#menu-bar-side-menu-button');
      await page.waitForSelector('#side-menu-sign-out-button');
      await page.click('#side-menu-sign-out-button');

      page = await signIn(page, newEmail, password());
      await page.waitForSelector('#dashboard');

      done();

    } catch (err) {
      console.error(err);
    }

My sign in flow is where it breaks as it prefills the email input:
export default async (page, email, password) => {

  await page.waitForSelector('#sign-in');

  await page.click('#sign-in-email-input');

  await page.keyboard.down('Control');
  await page.keyboard.down('A');
  await page.keyboard.up('A');
  await page.keyboard.up('Control');

  page.press('ArrowLeft');

  page.type(email);

  await page.click('#sign-in-password-input');
  await page.type(password);

  await page.click('#sign-in-sign-in-button');

  return page;
}

Did you try adding a backspace with delay after control up? Do you even see it highlighting the input when the downs are done?
Something smells to me if those don't work then something on the page's JS is affecting things.

I tried using 'Meta' instead of 'Control' since I'm on a mac, but I don't see it clearing still.  I'm adding sloMo: 250 and adding delays but I still don't see it clearing.

@JoelEinbinder this might be a bug, Control-A should work.
Reopening so that we figure what's going on.

It looks like Meta+A isn't trigging select all on Mac.

@conor909 thanks for filing this! Filed a separate issue to track this: #776.

A more flexible way to do that (no ctrl+a or cmd+a):
const input = await page.$('#email-input');

await input.click({ clickCount: 3 })
await input.type(email);

IMHO, it's can be a very good thing to add this somewhere in examples/ folder.


[Feature] Finer control over roles

Summary
Allow for roles and permissions to have finer control over which actions can executed by the user with whom the application is shared.
Motivation
Developers need to enable and disable finer permissions in the roles of people with whom they share the application.

Not sure if this issue covers it, hence mentioning the requirement here:
Allow users to create new custom group/role and add people to these groups. The user can then define logic in the code using these groups.
Reference: https://theappsmith.slack.com/archives/CNQ9Q91C0/p1630909660048300

Related to #3317


Usage in .net6.0-android (NOT Maui or Xamarin.Forms)

Hi,
I was wondering if anyone's had any experience using this library without maui and when targetting .net6.0-android only (formerly known as Xamarin native)?
Thanks!

The library is for MAUI or Xamarin Forms.
But the 3rd party library (MLKit) is for native, you may still use MLKit in your native app and build the UI part.
Closing since it is not related to the project.


iOS support

Are you aware of this repo?
https://github.com/janeasystems/nodejs-mobile
Do you plan on adding iOS support soon?

Hi @mikestaub
Yes I'm aware of that repository. I'm testing it out and trying to get some issues sorted out: https://github.com/janeasystems/nodejs-mobile/issues/6
To be honest I think either react-native-node or nodejs-mobile-react-native should exist, but not both, they are too similar.


Feature request: Result recipient lambda with default implementation

I have a suggestion for a recipientResult lambda, to be more in line with the Kotlin Result fold method.
Something like:
recipient.onNavResult(
    onValue = { value -> ... },
   onCancelled = { ... },
)

otherRecipient.onNavResult { value -> ... },
)

This would allow a shorter syntax, and we'd only have to implement the variants that we are actually interested in.

Will add this API as an extension function alternative to the current one.
Right now my implementation looks like this:
/**
 * Like [OpenResultRecipient.onNavResult] but using a different API that may feel
 * better in some cases.
 *
 * If you don't need to do anything when the result sender screen is cancelled
 * without any value, you can:
 * ```
 *     screenResult.onResult { resultValue ->
 *         println("got result $resultValue")
 *     }
 * ```
 *
 * Otherwise:
 * ```
 *     screenResult.onResult(
 *         onValue = { resultValue ->
 *             println("got result $resultValue")
 *         },
 *         onCancelled = {
 *             println("did not get result")
 *         }
 *    )
 * ```
 */
@Composable
fun <R> OpenResultRecipient<R>.onResult(
    onCancelled: () -> Unit = {},
    onValue: (R) -> Unit,
) {
    val lambda: (NavResult<R>) -> Unit = remember(onValue, onCancelled) {
        {
            when (it) {
                NavResult.Canceled -> onCancelled()
                is NavResult.Value -> onValue(it.value)
            }
        }
    }
    onNavResult(lambda)
}

Looks good?

This only for v2 where I will drop the current "onResult" deprecated API.

Yeah looks great, thanks for your effort :D


Popover disappears offscreen when the viewport is narrow

Hi,
We use v-tooltip to add explanations to words and expressions in our application, and we experienced that sometimes the popover disappears offscreen if the viewport is narrow. I've tried looking for others who have had this problem and solved it in some way, but I haven't been able to find anything, so I figured that I'd report it here.
I made a small reproduction on https://jsfiddle.net/markussss/xcn9jtu5/
Am I doing something wrong here, or is this a bug?
https://user-images.githubusercontent.com/43534/109492833-db1bb100-7a8b-11eb-8cd4-8b40879a9d83.mov

I made a quick and hacky solution to work around this, until I know of something better. In case somebody else has a similar issue, I copied it here https://jsfiddle.net/markussss/8hefawjp/

Same issue :(

Looking like your popper config isn't right or a bug with popper 1 :thinking:

@Akryum That might be, which popper config do you think we could change? Did you check out the small reproduction jsfiddle I added – there are not many options to choose from...

Positioning is done by Popper.js


Some Improvements

Added some overloads to structs
Added an option to skip building externals to speed up builds that already have the externals built
Using a macro to help declare the mapping from the C++ type to the C type
Added correct file headers to the C/C++ files

build


Migrate Hibernate search to v6.1

acceptance criteria:

Working search tests

implementation

update pom.xml, models and repository implementations
Migration Guide

test

limitations

done (commit)


Add ghc-iserv wrapper

Fixes https://github.com/snowleopard/hadrian/issues/105.
verified with:
inplace/bin/ghc-stage2 -fexternal-interpreter --interactive

BTW, the weird name and layout are designed to conform with Make-system. It looks like ghc-stage2 hardcoded the name of iserv it will call as external interpreter (i.e. lib/bin/ghc-iserv)

Fixed.

Great, thanks! Will merge after CI.

CI fails with:
Error when running Shake build system:
* inplace/lib/bin/touchy.exe
Error, file does not exist and no rule available:
  inplace/lib/bin/touchy.exe

I think it is ready now.

Thanks, merged!


New status page

WIP:
Rewrite of the status page in React and Redux.

[x] Reactify the current view
[ ] Convert data logic to redux from backbone model

@wolfd And I agreed that it would be easiest to merge the new Requests page branch into decaf first and then I merge that into mine. He created a lot of the redux scaffolding there across multiple commits.

Synced up in person -- I made a bunch of updates to decaf that should provide all the Redux scaffolding needed. Going to hold off from merging in the new requests page because we don't want to have it prevent us from getting the decaf stuff out.

The new page is cut over to Redux now.

LGTM aside from minor feedback above

LGTM, thanks!


[KYUUBI #5202][FOLLOWUP] Update upload_nexus_staging

Why are the changes needed?

As title.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

[x] Manually review.

Was this patch authored or co-authored using generative AI tooling?

No

Codecov Report

Merging #5277 (ce513b3) into master (724ae93) will not change coverage.
Report is 1 commits behind head on master.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #5277   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         590     590
  Lines       33357   33357
  Branches     4407    4407
======================================
  Misses      33357   33357

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


FlipKart Clone

Prerequisites

[X] I am a GSSoC-22 Participant
[X] I checked to make sure that this issue has not already been filed

Description
We All Know What is Flipkart clone. I am Making this clone with ReactJS
Tech Stack
ReactJS

@manisha-27  @heet-kumar Please Assign this task to me


Add verbosity inside CannotOverwriteExistingCassetteException.

When I started using vcrpy I found that it's really hard to understand
what is different between old and new request if they are different.
For example, in my case it was usage of uuid.uuid4() to generate
random names (which were different on each run inside body of
POST requests).
Unfortunately vcrpy is not reporting those differences in a meaningful
manner, especially when combined with py.test or other test framework.
I change message for exception to provide full request description to user.
It should help one to find differences between cassette content
and changed request.
Old exception message:
No match for the request (<Request (POST) http://example.com>) was found...
New exception message:
No match for the request ({'body': '{"auth": {"tenantName": "tenant",
"passwordCredentials": {"username": "username",...}',
'headers': {'Content-Length': ['107'], .... }, 'method': 'POST',
'uri': 'http://example.com}) was found....

Thanks.  Did you try with logging turned on?
https://github.com/kevin1024/vcrpy/blob/master/docs/debugging.rst

Hello. Yes, in debug mode there is only str(request) which contains only URL. If requests are matched by headers or body it's really hard to say why they didn't match. (That's why I'm trying to add verbosity). May be debug info is better suited for this, but more verbose trace would make debug much simpler - all important details are in the trace. (I'll check now why travis is unhappy).

I've tried to understand if I have broke test_post_chunked_binary_secure but I do not understand how changes in exception may break assert req1 == req2.

Closing this issue as this PR https://github.com/kevin1024/vcrpy/pull/439 has been merged and is an answer to your issue @amarao.


Is fastShrinkOnLoad really faster?

I have run multiple tests using two instances with the exact same set up except one has fastShrinkOnLoad option disabled and the one with option disabled is nearly always faster with jpeg images.
In fact the cases where I thought fastShrinkOnLoad would help, i.e. where reduction factor is large, saw the one with option disabled perform noticeably faster. Small factor resizes had almost the same result with some variance due to network flight I believe.
My images are about 2000x2000 perhaps that's why the performance improvement is not kicking in.

Hello, are you able to share some sample code, images and, if you're using something like EC2, the instance types that exhibit this behaviour so I can attempt to profile it?
Producing smaller/thumbnail JPEG images with libvips is usually an IO-bound task on the input side, where the fastShrinkOnLoad feature will help as it reduces the work libjpeg has to do. Perhaps your scenario is somehow bound on the output side?

Feel free to re-open with more information if this problem remains.


BVN: Azure WAS VM image partner-center.html updates

This PR has updates for partner-center.html files for the following VM image offerings.
Refer to the slack messages for comments.

Base
ND
IHS

I have used following links for VM images at the bottom of each partner-center.html. I am not sure how these links get created.

WebSphere ND Image on Azure VM

WebSphere Base Image on Azure VM

WebSphere IHS Image on Azure VM

Also, I see the partner-center.html files referring to IBM WebSphere Product Family on Azure ; this link should also include VM image offerings.

Just in case @m-reza-rahman is not able to review these, I have given them my review and approval, with one required change to all three files.
See the comments.


Fix Touché file URLs

We've copied the files to Zenodo which should be stable enough :smile:

Awesome, thanks for the prompt fix!


Add Dockerfile

This Docker image deploys this repository as a website.
To build the image:
docker build -t computer-science .
To deploy the website:
docker run -d -p 3000:80 computer-science
Now you can go to http://localhost:3000 to see computer-science as a website!

Yarden, this is cool! Glad that you thought of OSSU. Are you affiliated with the Pagic project?
While the project looks cool, this pull request doesn't address problems faced by OSSU students or contributors. As a result, it's not something we should maintain.
Always happy to have you join in the conversation in Gitter. There's a community of new CS students that would love to learn from your experience!


SpotBug P3 fixes

Last of the SpotBug fixes

Adding suppressions (ie. returning null rather than a zero byte array)

Exception in CachingKeyResolver.run() is suppressed because the catch Exception e was probably not a scenario considered in its design

Update multiplication to use 8L rather than int
Catching specific exceptions for RsaKey rather than generic Exception

Can one of the admins verify this patch?