ctrlf shouldn't require a minor mode

After all, it's just a collection of isolated commands that don't change the general behavior of the editor.
I didn't notice any problems when running the ctrlf commands without the minor mode, but it strikes me as wrong to permanently advice minibuffer-message. This kind of setup is typically done when entering the minibuffer and torn down afterwards. Are there any technical reasons not to do so?
Also, there are a few things in this package that seem to solve simple and common problems in unusual and overengineered ways.
First, concerning the lazy loading setup: is this meant to save a few miliseconds of init time? A normal way to lazy load the main library but not the mode would be to move the mode definition to a separate file. This new ctrlf-mode.el would also include a normal keymap that anyone can customize in the expected way. (Although, to be honest, I don't see why anyone who cares so much about startup time wouldn't just bake their keybindings into the init file).
Now, I would argue that not even the keybinding setup warrants a minor mode for ctrlf. For the user's convenience, there could be a ctrlf-setup-keybindings function which adds some remaps (from isearch commands to the ctrlf equivalent) directly in the user's global map. (If you want to autoload the body of that function definition, that would be an okay abuse from my point of view.) For those who like the defaults, calling the function is as easy as enabling the mode; for those who don't, extra configuration is needed either way.
The above arrangent also solves issue https://github.com/raxod502/ctrlf/issues/52, since the pdf-tools remapping of isearch would take precedence over the global mode remaps done by ctrlf. [EDIT: actually, this wouldn't solve the pdf-tools problem because, apparently, pdf-tools hacks into isearch instead of defining a new command. But it would solve a similar problem with the good old DocView, as well as the problem with vterm described in loc. cit.)
Finally, the approach of adding remaps to the global map also works out of the box for anyone who already tweaks their search bindings in some way (reasonable examples: swapping C-s and C-M-s; adding handier shortcuts for the stuff under M-s; reclaim C-r for something more useful; unreasonable example: CUA fan binds isearch, literally, to Ctrl-f).
PS: Your argument against Swiper applies even to grep. Hard to argue grep is not useful because it doesn't give context lines—it's useful precisely for this reason. Also, there's swiper-isearch which is not line based.

This issue report consists of several parts.

Suggestion to have a setup function which mutates global-map, instead of a minor mode: I don't think this is a good idea. The advantage of minor modes is that they can be turned off. If I wanted to try CTRLF, but wasn't sure if I liked it, then I wouldn't appreciate it if I could not simply disable the minor mode to undo all the changes. It's not uncommon for Emacs minor modes to simply provide a way to toggle a set of keybindings. If you, personally, don't want to enable the mode---fine, nothing stops you from binding the keys manually in global-map, if you want. But I don't see a reason to remove the mode for everyone else.
Suggestion to avoid advising minibuffer-message globally: Yes, it seems reasonable to add the advice when entering the minibuffer and remove it when leaving. I don't think that will cause any regressions. I would merge a change as such.
Suggestion to change the lazy-loading mechanism: That's also a reasonable way of doing it. But, unless changing it would solve a bug or other concrete problem, I'd prefer to leave it the way it is, since what we have works fine, even if it's not perfect.
Suggestion to remove the lazy-loading mechanism: I'm afraid that I think startup time optimization is something on which we may never see eye to eye. It is a matter of taste. But yes, it is really to save a few milliseconds during startup, and to avoid the user having to put in any additional work to save those milliseconds. Call it a public service.
Suggestion to use remap: Unfortunately, that causes problems too, and I decided to go with the principle of least surprise: https://github.com/raxod502/ctrlf/issues/51.
Possible solution to https://github.com/raxod502/ctrlf/issues/52: I think the thing that solves https://github.com/raxod502/ctrlf/issues/52 here is not binding in global-map, but rather using remap. See previous point.
Critique of comparison to Swiper: This will always be subjective, and you are not the first person to disagree with what I wrote. I think it would probably be best to rewrite the comparisons section to be more objective, and simply lay out the feature and design differences, rather than making an argument about which way is better. Similar changes have been made to the Selectrum comparison section: https://github.com/raxod502/selectrum/pull/238#issuecomment-748558623

Let me know if I missed anything.

This issue report consists of several parts.

Suggestion to have a setup function which mutates global-map, instead of a minor mode: I don't think this is a good idea. The advantage of minor modes is that they can be turned off. If I wanted to try CTRLF, but wasn't sure if I liked it, then I wouldn't appreciate it if I could not simply disable the minor mode to undo all the changes. It's not uncommon for Emacs minor modes to simply provide a way to toggle a set of keybindings. If you, personally, don't want to enable the mode---fine, nothing stops you from binding the keys manually in global-map, if you want. But I don't see a reason to remove the mode for everyone else.
Suggestion to avoid advising minibuffer-message globally: Yes, it seems reasonable to add the advice when entering the minibuffer and remove it when leaving. I don't think that will cause any regressions. I would merge a change as such.
Suggestion to change the lazy-loading mechanism: That's also a reasonable way of doing it. But, unless changing it would solve a bug or other concrete problem, I'd prefer to leave it the way it is, since what we have works fine, even if it's not perfect.
Suggestion to remove the lazy-loading mechanism: I'm afraid that I think startup time optimization is something on which we may never see eye to eye. It is a matter of taste. But yes, it is really to save a few milliseconds during startup, and to avoid the user having to put in any additional work to save those milliseconds. Call it a public service.
Suggestion to use remap: Unfortunately, that causes problems too, and I decided to go with the principle of least surprise: https://github.com/raxod502/ctrlf/issues/51.
Possible solution to https://github.com/raxod502/ctrlf/issues/52: I think the thing that solves https://github.com/raxod502/ctrlf/issues/52 here is not binding in global-map, but rather using remap. See previous point.
Critique of comparison to Swiper: This will always be subjective, and you are not the first person to disagree with what I wrote. I think it would probably be best to rewrite the comparisons section to be more objective, and simply lay out the feature and design differences, rather than making an argument about which way is better. Similar changes have been made to the Selectrum comparison section: https://github.com/raxod502/selectrum/pull/238#issuecomment-748558623

Let me know if I missed anything.

Let me know if I missed anything.

No, that's it :-)

If I wanted to try CTRLF, but wasn't sure if I liked it

...I would enable it in the destructive way, and then restart Emacs if I wanted to go back. Maybe that's actually good excuse to want Emacs to fire up in 200 ms!
Anyway, I myself would be happy as long as I can use the commands without enabling a minor mode, but I do think there will always be people confused with the inevitable conflicts that the minor mode creates, since every other package is designed around the assumption that C-s is bound in the global map, which has lower precedence.

Unfortunately, that causes problems too, and I decided to go with the principle of least surprise: #51.

This issue would be solved  by mapping C-s and C-r explicitly in ctrlf-minibuffer-bindings, assuming that Helm adds its stuff to minibuffer-local-map (although I would be happy with the "bug" described in #51, since I like to go back with C-S-s and have C-r show my search history).

I'm afraid that I think startup time optimization is something on which we may never see eye to eye.

I have absolutely nothing against a fast init. In fact, I would frown upon any package which forces me, for no clear reason, to activate a minor mode in the init, since that (virtually always) means loading a package at start time.

I think the thing that solves #52 here is not binding in global-map, but rather using remap. See previous point.

pdf-tools is weird, as I noted in the edit to my original message, but let's take the vterm issue described in the same issue. We have four option: to map commands (1) directly or (2) via remaps to (A) the global map or (B) a minor-mode map. I'm fairly certain that only combination (1B) will clash with a major mode that rebinds C-s and C-r.

Let me know if I missed anything.

No, that's it :-)

If I wanted to try CTRLF, but wasn't sure if I liked it

...I would enable it in the destructive way, and then restart Emacs if I wanted to go back. Maybe that's actually good excuse to want Emacs to fire up in 200 ms!
Anyway, I myself would be happy as long as I can use the commands without enabling a minor mode, but I do think there will always be people confused with the inevitable conflicts that the minor mode creates, since every other package is designed around the assumption that C-s is bound in the global map, which has lower precedence.

Unfortunately, that causes problems too, and I decided to go with the principle of least surprise: #51.

This issue would be solved  by mapping C-s and C-r explicitly in ctrlf-minibuffer-bindings, assuming that Helm adds its stuff to minibuffer-local-map (although I would be happy with the "bug" described in #51, since I like to go back with C-S-s and have C-r show my search history).

I'm afraid that I think startup time optimization is something on which we may never see eye to eye.

I have absolutely nothing against a fast init. In fact, I would frown upon any package which forces me, for no clear reason, to activate a minor mode in the init, since that (virtually always) means loading a package at start time.

I think the thing that solves #52 here is not binding in global-map, but rather using remap. See previous point.

pdf-tools is weird, as I noted in the edit to my original message, but let's take the vterm issue described in the same issue. We have four option: to map commands (1) directly or (2) via remaps to (A) the global map or (B) a minor-mode map. I'm fairly certain that only combination (1B) will clash with a major mode that rebinds C-s and C-r.

This issue would be solved by mapping C-s and C-r explicitly in ctrlf-minibuffer-bindings

Ah, but then you have the problem of using remap bindings in one keymap provided by the package, and hardcoded bindings in a different keymap. The advantage of remap bindings is largely that no extra configuration is necessary in order to use custom underlying bindings, and it seems to me like having the hardcoded bindings in a separate keymap largely eliminates this advantage.

This issue would be solved by mapping C-s and C-r explicitly in ctrlf-minibuffer-bindings

Ah, but then you have the problem of using remap bindings in one keymap provided by the package, and hardcoded bindings in a different keymap. The advantage of remap bindings is largely that no extra configuration is necessary in order to use custom underlying bindings, and it seems to me like having the hardcoded bindings in a separate keymap largely eliminates this advantage.

Yes, the approach I'm suggesting (which I can summarize once again if you like, since the ideas are quite scattered) would be responsive to the user's configuration to enter ctrlf, but not once inside it. I think this is the best you can do before resorting to weird hacks. Note, in any case, that none of "reasonable examples" in my original message strips C-s of the "search" meaning, so they still benefit from the "remaps in the global map" approach for the commands.
PS: https://github.com/raxod502/ctrlf/issues/67 is yet another issue caused by binding C-s to a keymap with too high priority. This won't stop as long as a ctrlf-mode exists...
PPS: If you really want it, you can make the hypothetical ctrlf-setup-keybindings command save the old bindings, thereby being reversible. And then you can even still call it ctrlf-mode.
PPPS: If you really want to make the minibuffer keybindings responsive to the user's config, you could try adding the global-map remaps first, then call something like where-is, and then include those keys (not as remaps) in the minibuffer map instead of hardcoding C-s and C-r. I personally would rather provide an explanation and a 3-line config snippet in the readme instead of trying to be too clever here.

Yes, the approach I'm suggesting (which I can summarize once again if you like, since the ideas are quite scattered) would be responsive to the user's configuration to enter ctrlf, but not once inside it. I think this is the best you can do before resorting to weird hacks. Note, in any case, that none of "reasonable examples" in my original message strips C-s of the "search" meaning, so they still benefit from the "remaps in the global map" approach for the commands.
PS: https://github.com/raxod502/ctrlf/issues/67 is yet another issue caused by binding C-s to a keymap with too high priority. This won't stop as long as a ctrlf-mode exists...
PPS: If you really want it, you can make the hypothetical ctrlf-setup-keybindings command save the old bindings, thereby being reversible. And then you can even still call it ctrlf-mode.
PPPS: If you really want to make the minibuffer keybindings responsive to the user's config, you could try adding the global-map remaps first, then call something like where-is, and then include those keys (not as remaps) in the minibuffer map instead of hardcoding C-s and C-r. I personally would rather provide an explanation and a 3-line config snippet in the readme instead of trying to be too clever here.

I've come up with a compromise that maintains ctrlf-mode as a minor mode, which I would like to preserve if possible. My new solution should solve https://github.com/raxod502/ctrlf/issues/51, https://github.com/raxod502/ctrlf/issues/52, https://github.com/raxod502/ctrlf/issues/67, and https://github.com/raxod502/ctrlf/issues/80 simultaneously while also working with remap bindings. I have tested it a bit and it seems to work, but I don't actually use most of the modes that have been mentioned in these issue reports, so I could use some help to confirm if the bug is resolved for all of them.

I still see drawbacks in the new scheme, in comparison with the normal approach of instructing the user to bind some keys to their global-map:

To a Swiper user (who will typically have C-s bound to swiper-isearch in the global-map, as per Swiper's readme), ctrlf-mode will seem to be broken.
It's tricky to make regexp search the default, i.e., bound to C-s. One needs to know about remaps and the internals of ctrlf to understand that binding isearch-forward-regexp to C-s will do the job.

To a Swiper user (who will typically have C-s bound to swiper-isearch in the global-map, as per Swiper's readme), ctrlf-mode will seem to be broken.

Won't pressing C-s in that configuration just trigger Swiper rather than CTRLF? I wouldn't call that broken---it seems like exactly what you'd expect from explicitly remapping C-s. You could always explicitly bind CTRLF to different keys if you want, and that would work equally well. What behavior would make more sense than what I've described here?

It's tricky to make regexp search the default [...] if I wanted to make fuzzy search the default, I wouldn't immediately know how to achieve this

You'd do this by adjusting ctrlf-mode-bindings, replacing ctrlf-forward-literal with ctrlf-forward-regexp or ctrlf-forward-fuzzy, and analogously for the other entries. That seems reasonably straightforward to me, but it could be improved in three ways:

use a keymap instead of an alist (https://github.com/raxod502/ctrlf/pull/64)
add a user option specifically for customizing the default and alternate search styles: https://github.com/raxod502/ctrlf/issues/83
add explicit documentation in the README for how to customize the default search style

What do you think of that?
The reason I resist removing the minor mode is that it will reduce the out-of-box user experience. I think it is better when software automatically works without the need for customization. Enabling a single minor mode to turn on a package is the best-case scenario for realizing this goal. If we didn't have a minor mode, then:

users would have to bind multiple keys in their configuration (one for each of the six entries in ctrlf-mode-bindings)
if we added a new default binding, users would not benefit from it on an upgrade
we would have to add some kind of setup function to install the advice currently enabled (and disabled) in the minor mode
if we added new bookkeeping or setup, we would have no way to make sure it was activated in existing configurations
undoing the changes of CTRLF now requires knowledge of package internals, unless you restart Emacs

I wouldn't call that broken---it seems like exactly what you'd expect from explicitly remapping C-s.

Fair enough. I only brought this up because you are keen on providing a way to test the package which is reversible without restarting Emacs, and this stopped being possible in this common use-case.

users would have to bind multiple keys in their configuration (one for each of the six entries in ctrlf-mode-bindings)

It looks like we both agree that setting up some keybindings in the init file is kinda clunky. However, this is how every other package works, and how everyone expects this to work.
On the plus side, copying six lines of (define-keys to my config would teach me exactly which commands are available.

if we added a new default binding, users would not benefit from it on an upgrade

If some random new keybinding appeared on my config just because I updated a package, it's likely I would either never notice it, or be annoyed by the change.

we would have to add some kind of setup function to install the advice currently enabled (and disabled) in the minor mode
if we added new bookkeeping or setup, we would have no way to make sure it was activated in existing configurations

Okay, a global change to Emacs's behavior warrants a minor mode. But why does Ctrlf, being just a collection of search commands, needs to make any global modification to Emacs, apart from some keybindings? Why would it ever need any bookkeeping to run outside of a search session?

undoing the changes of CTRLF now requires knowledge of package internals, unless you restart Emacs

This is the only problem you are solving here IMO. The solution is aptly implemented, given Emacs's constraints; unfortunately, it seems complex and brittle.

More importantly though: I wanted to bring to your attention that binding C-s and C-r to a minor mode map wreaks havoc because of the keymap precedence. It's better now with remaps.
Now, concerning #51 and the trick where you bind some stuff to nil: The conventional way to solve this problem would be to bind Ctrlf's forward/backward commands to C-s/C-r in Ctrlf's own minibuffer map. Looks much simpler and reliable. Does that not work, by any chance? Swiper works that way, and has zero key confilcts AFAIK (except with pdf-tools, but that's arguably a pdf-tools issue).

Does that not work, by any chance?

Yeah, unfortunately, there's a serious problem with that, which is that it doesn't work with remaps. If I were to bind [remap isearch-backward] in the minibuffer map, then by default pressing C-r would execute helm-minibuffer-history. If I were to bind C-r directly, then it would work as intended, but then we wouldn't be using remaps anymore (and besides we'd have the issues https://github.com/raxod502/ctrlf/issues/52, https://github.com/raxod502/ctrlf/issues/67 as before).

The solution is aptly implemented, given Emacs's constraints; unfortunately, it seems complex and brittle.

Why thank you! :3
I admit your criticisms; they're fair.

this is how every other package works

I wouldn't say that's entirely the case, though---for example, looking through the modes enabled in my configuration, Counsel provides counsel-mode which is a collection of keybindings; Winner mode defines keys in its minor mode; Outline mode establishes bindings under C-c @; undo-tree rebinds standard Emacs commands as well as providing new ones; Smartparens provides a number of keybindings in its minor mode; and dumb-jump.el is a minor mode which provides only keybindings.
Actually, Counsel is just like CTRLF---it mostly provides just keybindings in its minor mode, but enabling the mode also enables a piece of advice :)

Why would it ever need any bookkeeping to run outside of a search session?

See ctrlf--condense-overlays and the associated advice, without which you'll get some fairly horrifying visual bugs.

If I were to bind C-r directly, then it would work as intended, but then we wouldn't be using remaps anymore (and besides we'd have the issues #52, #67 as before).

I don't understand this, and perhaps we are talking about different things. To me, the upshot of the discussion is: direct bindings in the minibuffer-local map are good; direct bindings in Ctrlf's minor mode map are bad. To expand this a bit, each "minibuffer session" (be it a read-from-minibuffer, a completing-read, or a completion-framework patched version thereof) installs a keymap in the minibuffer. If you bind C-s/C-r to ctrlf-forward/backward in Ctrlf's minibuffer map, and Ido binds C-s/C-r to its own thing in the minibuffer sessions it manages, there's no conflict that could possibly arise. Right?
Concerning #52, note that pdf-tools breaks with any alternative search package, and therefore is the real culprit here. This is so because it assumes C-s is bound to the good old isearch in the global map and doesn't bind anything to its local map. In contrast, note that there is no conflict between Ctrlf and the built-in DocView mode after your latest change.

I wouldn't say that's entirely the case, though

Winner mode is a bona fide minor mode, because it needs to somehow watch for window configuration changes. Counsel's minor mode is a mere convenience, I'd say (and that piece of advice it adds but never removes is not kosher, is it?). I actually prefer the approach of the Consult package, which is to provide a sample configuration for the user to copy and adapt to their taste. Of course that's not the way you want to do it here, which is all fine and good.
On a tangent: I generally find those minor mode bindings useless because of their length. Who types C-c @ C-f C-c @ C-f C-c @ C-f to jump 3 outline sections over? When I find a command valuable, I usually just sacrifice some other short keybinding for it.

See ctrlf--condense-overlays and the associated advice, without which you'll get some fairly horrifying visual bugs.

I don't know the details here, but is this supposed so fix said horrifying visual bugs in every minibuffer session, even those not "owned" by Ctrlf? Then perhaps there is a case to make this independent of the search commands.
Last but not least: I think I made my point here as well as I could. You have a different vision in some aspects, so please heed or ignore any of these comments as you see fit, and feel free to close the issue.

direct bindings in the minibuffer-local map are good; direct bindings in Ctrlf's minor mode map are bad

Ah, well, the important feature to me is that the binding to start a search is the same as the one to continue one. If I'm used to C-s C-s, and then I enable CTRLF, then C-s C-s has the same effect as usual. If I have made regexp the default Isearch mode by swapping the global bindings for isearch-forward and isearch-forward-regexp, then C-M-s C-M-s starts and continues a literal search. But then if I enable CTRLF (with your proposed set of bindings), C-M-s C-M-s would start a literal search but then immediately switch it to regexp. That is what I want to avoid.

Who types C-c @ C-f C-c @ C-f C-c @ C-f to jump 3 outline sections over?

Well, presumably, you'd type C-3 C-c @ C-f, but I won't say it's not still inconvenient.

is this supposed so fix said horrifying visual bugs in every minibuffer session, even those not "owned" by Ctrlf?

Yes. It's mandatory because it needs to apply to commands external to CTRLF that might interfere with CTRLF search sessions asynchronously, unfortunately. Perhaps it would be possible to dynamically install and remove the advice as search sessions start and end. That would be an improvement.

I think I made my point here as well as I could. You have a different vision in some aspects, so please heed or ignore any of these comments as you see fit, and feel free to close the issue.

Sounds good!


enable auto-approve and auto-merge for pull bot

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

@treff7es Whenever a change happens in datahub-project/datahub there is a bot that creates a PR which you might have noticed https://github.com/acryldata/datahub/pulls?q=is%3Apr+is%3Aclosed+label%3A"%3Aarrow_heading_down%3A+pull"
I am trying to auto-merge the PR because it is just doing a sync between the upstream and this repository. It needs an approval and someone needs to go in and click this "Enable auto-merge" for the PR to be auto-merged

Basically I am trying to automatically merge from upstream to this repository.


Loader error in NextJS 13

I'm getting this error with NextJS 13, running Node 20.8:

<EMAIL_ADDRESS>Module parse failed: Unexpected character '�' (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
(Source code omitted for this binary file)
Tried configuring a loader with

module.exports = {     externals: {         '@anush008/tokenizers-darwin-universal': 'commonjs @anush008/tokenizers-darwin-universal'     }, };
and
module.exports = {     module: {         rules: [             {                 test: /\.node$/,                 use: 'node-loader'             }         ]     }, };

Hey. The Rust based tokenizers library uses https://github.com/napi-rs/napi-rs for Node bindings. From the error, it appears like Webpack is having issues with bundling it.
Could you try using fastembed in a regular Node application without webpack to see if it works and we can narrow it down to a Webpack compatibility issue.

Hey. The Rust based tokenizers library uses https://github.com/napi-rs/napi-rs for Node bindings. From the error, it appears like Webpack is having issues with bundling it.
Could you try using fastembed in a regular Node application without Webpack? To see if it works and we can narrow the problem down to a Webpack compatibility issue.

Yeah I'm able to get that running so must be a webpack issue

this next config and node-loader solved it for me
/** @type {import('next').NextConfig} */
const nextConfig = {
  webpack: (config) => {
    config.module.rules.push({
      test: /\.node$/,
      use: 'node-loader',
    });
    return config;
  },
};

export default nextConfig;

Thanks for the insight @sorokinvj


[SPARK-17549][sql] Coalesce cached relation stats in driver.

Currently there's a scalability problem with cached relations, in that
stats for every column, for each partition, are captured in the driver.
For large tables that leads to lots and lots of memory usage.
This change modifies the accumulator used to capture stats in the
driver to summarize the data as it arrives, instead of collecting
everything and then summarizing it.
Previously, for each column, the driver needed:
(64 + 2 * sizeof(type)) * number of partitions
With the change, the driver requires a fixed 8 bytes per column.
On top of that, the change fixes a second problem dealing with how
statistics of cached relations that share stats with another one
(e.g. a cached projection of a cached relation) are calculated; previously,
the data would be wrong since the accumulator data would be summarized
based on the child output (while the data reflected the parent's output).
Now the calculation is done based on how the child's output maps to the
parent's output, yielding the correct size.
Tested with the new unit test (which makes sure the calculated stats are
correct), and by looking at the relation size in a heap dump.

/cc @yhuai
This version fixes the problem with my previous patch (which, turned out, also existed in a slightly different way in the existing code).

Test build #65743 has started for PR 15189 at commit 5b3a65a.

Test build #65743 has finished for PR 15189 at commit 5b3a65a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class ColStatsAccumulator(originalOutput: Seq[Attribute])

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65743/
Test PASSed.

Merged build finished. Test PASSed.

Cool. Thanks! I may have time today or tomorrow. I will try to take a look at it during the weekend.

Closing this in favor of #15304.


when upload pictures,AFMultipartBodyStream is not able to immediately dealloc.

When i use - (nullable AFHTTPRequestOperation *)POST:(NSString *)URLString
parameters:(nullable id)parameters
constructingBodyWithBlock:(nullable void (^)(id  formData))block
success:(nullable void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(nullable void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;
upload pictures,AFMultipartBodyStream is not able to immediately dealloc.

Could you please provide a clearer example, and post your sample code?
Thanks!

Feel free to reopen this issue if you are able to provide more information.


Deleted recordings

Apparently, recordings deleted through Greenlight are not really deleted; at least not immediately. They appear to be stored in "/var/bigbluebutton/deleted". Can you confirm this?

With scalelite, the recordings are not retained after being deleted. I do not have a non scalelite host for testing (which in my case comes with some extra settings that prevent local recordings to be created). Do you have an environment to test this in? Otherwise, I will have to quickly setup a testsystem tonight.

I stumbled upon this when adapting my instance (basically just a bbb-install.sh) according to your documentation and I could just recreate it: I make a recording, wait until it is processed, then delete it via Greenlight web interface and find it again in /var/bigbluebutton/deleted/ or rather in its "presentation" subfolder to be precise. It included all xml, json, etc. as well as my cam video.
I could not find any cleanup procedure in the cron, thus I'm not sure whether it would be deleted after a certain period of time or not.

I will setup a testbox tonight and take a look at whether this has to be a BBB or GL bug.

Ok, verified in code. deleteRecording (ll 548-570) in bbb-common-web/src/main/java/org/bigbluebutton/api/RecordingService.java does not actually delete recordings but moves it to a deleted directory, so this is definately not a setp issue. ;-)
I will file a bug against bbb, and cc' you in there.

Created a ticket for BBB; Should be a relatively easy fix for them. Also added documentation and a hotfix (run a cron every 5m cleaning that dir) in https://github.com/ichdasich/bbb-privacy/commit/136c2bf4f103889a03627ff401f7eca73e6c9ad1

Cool, thank you!


Implement Find recurring expenditure and paid expenditure for card

Resolves #145
Resolves #199
This pull request consist of the implementation for finding recurring expenditure as well as paid expenditure in card. It also consist the Junit testing for find recurring expenditure.
Find recurring expenditure documentation was also added to the UGDG.

Codecov Report

Merging #200 into master will increase coverage by 0.22%.
The diff coverage is 39.6%.

@@             Coverage Diff              @@
##             master     #200      +/-   ##
============================================
+ Coverage     27.91%   28.13%   +0.22%
- Complexity      462      477      +15
============================================
  Files           122      124       +2
  Lines          4650     4748      +98
  Branches        641      659      +18
============================================
+ Hits           1298     1336      +38
- Misses         3269     3326      +57
- Partials         83       86       +3

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/owlmoney/logic/parser/ParseType.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...owlmoney/logic/parser/find/ParseFindRecurring.java
0% <0%> (ø)
0 <0> (?)

.../command/find/FindRecurringExpenditureCommand.java
0% <0%> (ø)
0 <0> (?)

src/main/java/owlmoney/model/bank/Bank.java
34.84% <0%> (-0.54%)
11 <0> (ø)

src/main/java/owlmoney/model/card/Card.java
55.29% <0%> (-1%)
31 <0> (ø)

src/main/java/owlmoney/model/bank/Saving.java
49.18% <0%> (-0.55%)
27 <0> (ø)

...va/owlmoney/model/transaction/TransactionList.java
81.36% <100%> (+0.25%)
80 <5> (+1)
:arrow_up:

src/main/java/owlmoney/model/profile/Profile.java
26.03% <20%> (-0.2%)
25 <1> (ø)

src/main/java/owlmoney/model/bank/BankList.java
38.03% <9.09%> (-0.72%)
71 <0> (ø)

...ey/model/transaction/RecurringExpenditureList.java
87.09% <92.1%> (+3.46%)
33 <14> (+14)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


Adjustment to work on both Windows and Linux

This pull requests is to enable both Windows and Linux bdists to be downloaded.

sys_platform and platform_machine are regular expressions
morgan.windows.ini (on Linux machine):
[env.windows]
os_name = nt
sys_platform = (win|win32)
platform_machine =
# pywin32-308-cp312-cp312-win_arm64.whl
# pywin32-308-cp312-cp312-win_amd64.whl
# pywin32-308-cp312-cp312-win32.whl
platform_python_implementation = CPython
platform_system = Windows
python_version = 3.12
python_full_version = 3.12.7
implementation_name = cpython

[requirements]
pywinauto =
comtypes =
pywin32 =


Idea: Construct Hub GitHub Badge

Allow users to embed a link in their README file that will jump into the construct hub page for their module (maybe even show which languages are supported and stuff).

Keep
Copy @Chriscbr


Clean up warnings in user-example files

See issue #51 in the test-models repos. The models in the user-examples repo have some warnings that didn't exist (or related to model options that didn't exist) when the models were created. In most cases, the models should be changed to make the warnings go away. This will make it easier to see when new warnings appear in the future. In a few cases, the warnings themselves may need revision in the SS3 code.
Warning files for these models aren't included in the model files like they are for the test models so a text file of each warning file is included below:
empirical_wtatage_and_age_selex
selex_age_example
selex_length_example
simple
simple_long
simple_long_wtatage
simple_with_discard

In some cases the warnings were created because some models were not using good practices.  So this current effort to reduce warnings is also accomplishing the goal of updating examples to use good practices.


cli: Support updating Linux caps and allowed devices

Could we have some examples in the docs how to use this?
For example I have a case where I would want to run a vpn client inside docker container with NET_ADMIN capability.

@onnimonni the workflow is currently a bit unfriendly until we have better support with Flynnfile (#1084), for now you need to add the following to a local config.json file:
{
  "processes": {
    "web": {
      "linux_capabilities": [
        "CAP_NET_RAW",
        "CAP_NET_BIND_SERVICE",
        "CAP_DAC_OVERRIDE",
        "CAP_SETFCAP",
        "CAP_SETPCAP",
        "CAP_SETGID",
        "CAP_SETUID",
        "CAP_MKNOD",
        "CAP_CHOWN",
        "CAP_FOWNER",
        "CAP_FSETID",
        "CAP_KILL",
        "CAP_SYS_CHROOT",
        "CAP_NET_ADMIN"
      ]
    }
  }
}

And then use it to update your release with:
$ flynn -a APP release update config.json

Note that this list overwrites the set of capabilities, so it is best to include the defaults (see here) plus the ones you want.


Vue 2.6 breaks Cleave.js formatting when v-model is used

Version
2.6.6
Reproduction link
https://codepen.io/lfkwtz/pen/GzzjmW
Steps to reproduce

See last input auto-formatting
Update codepen to Vue 2.6x
See last input no longer auto-formatting

What is expected?
The attached codepen comes from https://buefy.org/extensions/cleavejs
In Vue 2.5.x and below, the last example (where the input utilizes v-model) works as expected.
What is actually happening?
When you update the codepen to Vue 2.6x, that input no longer auto-formats

hi, this is too much for a repro. Please remove any external dependency when reporting a bug.
Since it was working in 2.5, this is probably related to nextTick changes (explained in releases notes) maybe checking that helps you find the source of your problem

@lfkwtz Solved here https://github.com/buefy/buefy/issues/1246


Unused declaration checks break cl-2d, cl-l10n

The new unused declaration checks break cl-2d and cl-l10n. Should I contact the authors of those projects to get them to fix up their code?

Hi Zach,

The new unused declaration checks break cl-2d and cl-l10n. Should I contact the authors of those projects to get them to fix up their code?

Whoopts; I should have made it warning... I'll do that in a bit.
Gary Warren King, metabang.com
Cell:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
gwkkwg on Skype * garethsan on AIM * gwking on twitter

For what it's worth, a full warning will still trigger a build failure for ASDF+SBCL.

I just pushed another update to bind that adds unused-declarations-behavior (and has it default to just printing a warning).
On Jan 13, 2012, at 2:19 PM, Zach Beane wrote:

For what it's worth, a full warning will still trigger a build failure for ASDF+SBCL.

Reply to this email directly or view it on GitHub:
https://github.com/gwkkwg/metabang-bind/issues/5#issuecomment-3484771

--
Gary Warren King, metabang.com
Cell:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
gwkkwg on Skype * garethsan on AIM * gwking on twitter


Update to show bulk import banner alert only after the first level wa…

Update to show bulk import banner alert only after the first level was saved.
Changed hiding banner flag from session storage to local storage to work across tabs.

@sanjuroj I made the changes for storing the import banner's show/hide flag for a user's session as we discussed.

When a user closes the banner, a flag is saved in the browsers local storage and also an ajax request is sent to save the flag in Django's session storage.
When the RF page mounts, it will check the browsers local storage for the flag and also send an ajax request to get the flag from Django session storage.
The Banner will not show if the flags says to hide or not display it in either of these locations.
Having it stored and retrieved from both locations allows the functionality to still work if theres a failure in saving or retrieving from the local storage or Django session storage.

In the views.py, let me know if you see anything that should changed for handling the GET request in python. The PUT request was already written for this url so I just added the GET case to it.


Fix string column bug in pandas like utils

https://github.com/fugue-project/fugue/issues/415

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (542ae09) compared to base (fb7b269).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##            master       #97   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           22        22
  Lines         1725      1725
=========================================
  Hits          1725      1725

Impacted Files
Coverage Δ

triad/utils/pandas_like.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Revert chat window!!

How am I meant to revert the chat window? It's royally screwed it. I don't want to use TCC anymore and I can't change it back despite trying different S1UIChat2 mods. Help please!

Just restore your old S1UI/S1UI_Chat2.gpk and/or delete _S1UI/S1UI_Chat2.gpk.

It genuinely didn't change anything, I even replaced the S1UI_Chat2 file in the S1UI just in case I'd mistakenly replaced that. The changes seems to commit server side, because I tried my completely stock laptop and the window was still screwed. The only difference was that I could click the gear icon in order to revert the chat window position, and that fixed it!

Okay well, it did seem to be something in my S1UI folder that was amiss, but it wasn't S1UI_Chat2.gpk since I replaced that many times.

after restoring original GPK/Owyn's mod you need to reset settings via chatbox settings menu ingame.


KMeansClustering

What's up with KMeansClustering?
I've got user in pm, complaining that on the same data KMeansClustering performance is just terrible
Aha! Link: https://skymindai.aha.io/features/DL4J-112

@raver119 Can it be closed after recent tweaks?


⚠ Bofrost.de has degraded performance

In 1e725aa, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1026 ms

Resolved: Bofrost.de performance has improved in 5d1a9e7 after 7 minutes.


Why use Standardnorm towards the y_label(score) and use the linear function as the activation in the final dense layer?

I am puzzled by your use of Standard Normalization on the y_label (score), as well as the linear activation function in the final dense layer (as shown in the picture below). Given that this is a score prediction problem, and scores are limited to [0,1] on the UI-PRIMD dataset or [0,50] on the Kimore dataset, it is possible that the final predicted score could exceed these limits. Is there a reason for this implementation that I may have missed?

Although the final predicted score could exceed the allowed limits, there are specific reasons why the implementation uses standard normalization on the y_label and linear activation function in the final dense layer. For instance, the normalization and activation functions help with numerical stability and ensure that the neural network can learn the complex relationships between the input features and the output scores.
Moreover, the unbounded and normalized output predictions can later be transformed to the allowed range, such as [0-50], before evaluation or deployment. This approach allows the neural network to learn from the entire range of data, not just the allowed range. Consequently, this can lead to better overall performance.

While it is possible that the final predicted score could exceed the allowed limits and lead to incorrect predictions, there are specific reasons why the implementation is set up this way. One possible reason is that the normalization and activation functions were used for numerical stability and to enable the neural network to learn complex relationships between the input features and output scores effectively. Additionally, the unbounded output predictions can be transformed to the allowed range (e.g., [0-50]) during evaluation or deployment. This approach enables the neural network to learn from the entire range of data, not just the allowed range, which can lead to better overall performance.


How can I add overcrowding plugin also to this app?

I want to add the overcrowding plugin also to this app and send the data using kafka so where should I make the alterations. Thanks in advance !

Hi,
You can do that by adding overcrowding in configuration. So,

enable https://github.com/NVIDIA-AI-IOT/deepstream-occupancy-analytics/blob/f55511dd59f79eb23f96be372b731bb16172f201/config/config_nvdsanalytics.txt#L60
access overcrowding data indeepstream_nvdsanalytics_meta.cpp and also add the overcrowding in msgconv.
update deepstream_test5_app_main.c and the overcrowding in event message meta.
build the msgconv and run the application.
Please check the webinar content on how to update the sources.

Thank you!

Thanks it worked !


Passing RNG

Turing.jl now support passing RNG to sample as a keyword argument. Although, all the randome process in AdvancedHMC.jl are correctly controlled by the passed RNG, the initialization, from Turing.jl, is not: https://github.com/TuringLang/Turing.jl/blob/master/src/inference/hmc.jl#L267. What's the best way to pass RNG to this?

In the future, which I know is not super helpful right now, the sample interface will handle the rng argument in a first-class way. The file I linked below basically forces all samplers to accept rng as the first argument, though as far as I am aware only the HMC samplers use it. The particle samplers, IS, and MH all only use the argument for dispatch and discard the actual value.
https://github.com/TuringLang/Turing.jl/blob/cb811e9b5a151185874f48ef3d8768bebf74f2fa/src/interface/Interface.jl#L216

This should be easy to fix once your PR is ready.

@trappmartin do you mean it's better for me to leave this issue aside in the current PR and resolve it later?

Yeah, I think that's wise.

#871 is merged.


[FIX] cfdv33: Modify template to include node Impuestos when totals are zero

Currently, when an invoice contains products with associated taxes, but the total amount of transferred and withhold are equal to 0.00, the node <cfdi:Impuestos is not included.
This change ensures that, when an invoice contains taxes, the above mentioned node is included, no matters the amount.
With this change, an XML like the following could now be generated
...
</cfdi:Conceptos>
<cfdi:Impuestos TotalImpuestosRetenidos=0.00 TotalImpuestosTrasladados=0.00>
    <cfdi:Traslados>
        <cfdi:Traslado Importe=0.00 Impuesto=002 TasaOCuota=0.000000 TipoFactor=Tasa/>
    </cfdi:Traslados>
</cfdi:Impuestos>
...

This fixes https://github.com/Vauxoo/enterprise/issues/243 on V10
Dummy: https://github.com/Vauxoo/mexico/pull/925

@luistorresm
This seems ready. Could you review this, please?

+1


feature:  Set the meltano.yml path in a directory different from the project

Feature scope
Configuration (settings parsing, validation, etc.)
Description
I really tried to make a docker container with meltano to run in AWS Lambda, but I had a lot of problems because in my case I needed to change meltano.yml in run time, but only possible to change files in AWS Lambda if this file is in /tmp.
I believe could be a great feature if it is possible to set meltano.yml path by a environment variable. I tried to change this meltano source code but I had problems with the plugins installations. These changes are beyond my skills.
So I propose this new feature like other projects have (DBT as an example), where it is possible set a new configuration file or set a path for the configuration file.

Hi @leandroimail, thanks for logging an issue!
There's --cwd:
$ meltano --cwd /path/to/project/root ...

Which lets you point to a project directory that contains a meltano.yml file.
It's a global CLI option, but it's not documented in https://docs.meltano.com/reference/command-line-interface#global-configuration. It probably should, if you're still interested in contributing 😉.

@edgarrmondragon can I work on this?

@edgarrmondragon can I work on this?

Sure! This merely needs documentation so you may want to make changes in https://github.com/meltano/meltano/tree/b26b9bfffa37e89a168dabffb4ef625a1c91fcf7/docs.

@edgarrmondragon Below mention PR closes this.
https://github.com/meltano/meltano/pull/8156

Closed by #8156

Thanks @XshubhamX!


Background task created, not running

Hi Josh,
Feed Me has always worked fine for me but after updating my systems this morning i've been hitting a wall.
Feed Me does create the background task in the database but it never starts running. So no error messages to share either.
Do you have any idea where I could start looking?
Greetz,
Bas van Ginkel
Craft CMS 2.6.2949
Feed Me 1.4.12
and other background tasks, UpdateElementSlugsAndUris, does run normally.

I had a similar issue, and to fix it I updated Craft & FeedMe, made sure my fields weren't marked as 'Required'.
I also found that feeds that were previously created didn't import, they stuck at '1'. So I just recreated the import in FeedMe and they work fine.

I am getting this also.
The cron seems to run, and creates the task, but, they only run when you login to the backend.
Is this intended?
Looks like there is an action to run pending tasks as discussed here:
https://craftcms.stackexchange.com/questions/1359/triggering-the-start-of-a-task-from-a-cron-job
http://example.com/actions/tasks/runPendingTasks

First, if you haven't done so, give the 2.0 beta a run.
Regarding how they run @lexbi thats pretty much what Feed Me does - however, its a little more complicated than that.
Tasks are run in a particular way (via Ajax) so as not to lock up the control panel. I've found through considerable testing that calling craft()->tasks->runPendingTasks(); essentially takes over requests to Craft (front and back), causing it to freeze or lock up. Fortunately, this is only for the current browser session you're on, so wouldn't affect users on a production site.
How are you triggering the cron by the way? Depending on your setup, you might need to try something like: curl -H "X-Requested-With: XMLHttpRequest" http://domain.com/index.php/actions/feedMe/feeds/runTask?direct=1&feedId=1&passkey=kcKYqS61bF

Hey Josh,
Thanks for getting back to me.
I'm on the 2.0beta.
I understand that it can lock the CP up, but when running a cron I would expect the task to be started, not, queued up waiting for someone to login?
I logged in the next day after setting cron every 15m for example and had looooads queued up ready to go (glad you added the clear tasks button for that).
Is there another less demanding way to trigger the tasks to start?
Crons have been triggered as you've suggested in your docs:
curl --silent --compressed "http://your.domain/actions/feedMe/feeds/runTask?direct=1&feedId=1&passkey=FwafY5kg3c"

For the moment I set a cron for the minute after the above example, which then calls the run tasks action. This does work, though is there a better way to deal with that?

@lexbi Thats exactly what should happen - there should be no need to trigger the CP. Are you testing this locally, or on a staging/production server? I'd be really interested to see your setup if possible (ping me on Slack if you want to discuss)

@lexbi Just to follow up on this, and after investigation, you're totally correct that its not triggering correctly when run via cron. This has now been fixed in the latest master.

Wahey, thanks dude, I'll try this out asap.

Not a problem - the thought hadn't occurred to me that the JS that triggers the task running will never get fired running from the command line - because it doesn't have a browser! Seems totally obvious in hindsight...


[bug] Events and About not opening.

Describe the bug
404 Error when trying to open Events and About section on the main page
To Reproduce
No response
Expected Behavior
No response
Screenshot/ Video
No response
Additional context
No response

Hey @sonali-rajput this has been fixed!!


Meta: Refactor custom tab highlighting

Follow-up of https://github.com/refined-github/refined-github/pull/4914#discussion_r727301780 and https://github.com/refined-github/refined-github/pull/4914#discussion_r727882502
Test URLs
Navigating between tabs in any repo
Screenshot
https://user-images.githubusercontent.com/46634000/137315048-fe71dad5-f0bb-4034-810f-1556bf445c9d.mp4

This could be simplified, for example instead of using events, you can just call a function to re-update the nav bar.
We could use an init with deduplicate: false on both features that looks like:
function init () {
	if (shouldBugsTabHaveFocus) {
		// Remove focus from other tab
	}

	// Ensure that the bugs tab is consistent whether it needs it or not
	bugsTab.classList.toggle('current', shouldBugsTabHaveFocus);
	bugsTab.attributes.toggle('aria-current', shouldBugsTabHaveFocus); // Or whatever
}

shouldBugsTabHaveFocus would be calculated every time init is run and/or it could be memoized via mem to allow it to be called from the other init as well without doing calculations twice.
const shouldBugsTabHaveFocus = mem((url: string) => {
	///logic
})

the problem is ensuring that the bugsTab element has actually been added by the "main" init before trying to (un)highlight it.

append(bugsTab);
secondInit() // Call it manually, even if it's duplicate right now

A simpler solution could be to have a single un-deduplicated init that would:

That'd also work. As long as the pattern is preserved for releases-tab

Up to you

@refined-github/maintainers can someone else test this too, ideally in a browser other than Firefox? Thanks!

I can Later tonight

Something is going wrong with my webpack...
The system cannot find the path specified.
node:events:368
 event
      ^

Error: spawn ts-node\esm ENOENT
    at notFoundError (C:\Users\yakov\Documents\GitHub\refined-github\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\yakov\Documents\GitHub\refined-github\node_modules\cross-spawn\lib\enoent.js:40:16)
    at ChildProcess.cp.emit (C:\Users\yakov\Documents\GitHub\refined-github\node_modules\cross-spawn\lib\enoent.js:27:25)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
Emitted 'error' event on ChildProcess instance at:
    at ChildProcess.cp.emit (C:\Users\yakov\Documents\GitHub\refined-github\node_modules\cross-spawn\lib\enoent.js:30:37)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn ts-node\\esm',
  path: 'ts-node\\esm',
  spawnargs: [ 'webpack', '--mode=development', '--watch' ]
}
[11:04:04 PM] Starting compilation in watch mode...

[11:04:17 PM] Found 0 errors. Watching for file changes.

Something is going wrong with my webpack...

One more reason for #5014  😜
Maybe a reinstall will do

I tried, maybe I will have some time later tonight


Update concept-model-management-and-deployment.md

@j-martens : Thanks for your contribution! The author, @chris-lauren, has been notified to review your proposed change.


💡 [IMPROVEMENT] - Remove google analytics

Summary
its not needed
Basic Example
byyeeee
Drawbacks
none
Unresolved questions
No response

This has already been done.


ruff: if-exp-instead-of-or-operator

⚠ This is a preview rule https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator
I can take out the rule again if you're not comfortable with that.

I should use the other style, merged.


[MM-54704] Permanently enable timezone support in the mobile app

Summary

Removed usages of ExperimentalTimezone and isTimeZoneEnabled to permanently enable timezone support in the mobile app
Ticket Link

Fixes https://github.com/mattermost/mattermost/issues/24665
Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots

NA
Release Note

NONE

Hello @cedricongjh,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@yasserfaraazkhan Apart of a smoke test around the places where timezone may have an effect (mentioning many people from many timezones, dates around the app...), it would be nice to check in an old version (around 6.0 would be nice). We don't support those, but it would be great to verify they don't break.


cmd/grafiti: exit cmd on error gracefully

cmd/grafiti: exit grafiti and sub-commands gracefully when errors occur
exitWithError and exitSuccess wrap os.Exit to manage cmd exit gracefully rather than cobra handle errors by printing help text.

Waiting on #111 to review

@ecordell I've removed this commit from #111 as it is not related. Also refer to my reply as to why this PR is relevant.


Remove deprecation of AppSystemTestBehaviour

Hey,
Recently, I tried to secure app scripts for a customer using unit tests.
However, I couldn’t find any documentation on how this is supposed to be done.
In the end, I just created a unit test in the project that ensures the app is installed and loaded using loadAppsFromDir.
Therefore, the edited trait shouldn't be marked as internal with version 6.7.
Is there another way to handle this?
I also didn’t find any changelog entry regarding the deprecation.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Oliver Skroblin seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

that class needs to be moved to src/Core/Test nobody can import it from tests folder

Thanks @OliverSkroblin 🚀


My AccountText you copy will automatically show here

https://store.nest.com/au/account/orders?from-chooser=true

Sorry, smells of spam, closing


Breaks on update

Grav & Admin plugin version:

Grav v1.5.0-beta.2
Admin v1.8.6

Issue: On updating all the plugins (wich I do to test failures), I noticed that the update on the HAX plugin completely crashes the admin/ normal site interfaces.
Problem:
Lies in 'hax.php' line 45 perhaps?
bower components are non existent, and there seems to be a required thing from them :)
-> $assets->addJS($this->getBaseURL() . 'bower_components/webcomponentsjs/' . WebcomponentsPlugin::polyfillLibrary(), array('priority' => 1000, 'group' => 'head'));
Screenshot provided:

Atools library is now required I believe

That one got updated before the one here :) so that couldn't be the issue I think.
I think the fault happened because the Webcomponents plugin wasn't updating before the hax plugin, wich caused the missing method error :)

Hmm ok, I did just get this installed the other day though you might be right about Bower deps needing to be there

so is this a need for web components module to be updated prior to HAX module?

I think so, at least that fixes it :)


Command based healthchecks

Description of feature
Looking at options in https://dokku.com/docs/deployment/zero-downtime-deploys/#customizing-checks, I think commands are not allowed as healthchecks.
I am using an image that has a command is_ready (much like pg_isready) that returns a non-zero exit status if the service is not ready. I would like to use this instead of a web based check for my service.

Commands are allowed in healthchecks under 0.31.x. The example only shows a simple web check.
Docs might be wrong though, seems it should be a list: https://github.com/dokku/docker-container-healthchecker/blob/master/tests/fixtures/app.json#L25-L27

Unrelated, but is it possible to get the output of a command based healthcheck?

Output is only shown on error.

Its not for me

using version 0.6.4.

Mind filing a bug for that?


[BUG] New-PnPTeamsTeam fails silently when using an App registration

Reporting an Issue or Missing Feature
Creating a Group and teamify it afterwards, without specifying any Owner, like this
$conn = Connect-PnPOnline -Url $SharePointAdminSiteURL -ClientId $clientID -Tenant $tenantId -CertificatePath "C:\temp\pnp-dev.pfx" -CertificatePassword (ConvertTo-SecureString -AsPlainText -Force "password") -ReturnConnection
$group = New-PnPMicrosoft365Group -DisplayName "test987654" -MailNickname "test987654321" -IsPrivate -Description "test" -Connection $conn
$teamsTeam = New-PnPTeamsTeam -GroupId $group.Id -Connection $conn
Nothing happens in the New-PnPTeamsTeam cmd, after 10-15 secs the cmd completes, but returns nothing and the Group has not been teamified.
Expected behavior
Since an Owner seems to be a prereq I would expect an exception stating that the group can't be teamified as an Owner is missing?
Actual behavior
Nothing happens
Steps to reproduce behavior
as above
What is the version of the Cmdlet module you are running?
2.2.0
Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[x] Azure Functions
[ ] Other : please specify

Thanks @kasperbolarsen for creating this issue, it has been fixed .
Will be available in tomorrow's nightly build as well as the next major version


Add documentation for configuration options

Added Yard configuration and documentation for
Clearance::Configuration. Moving forward, we will be adding
documentation to the rest of Clearance.

I am not a YARD expert, I just use a few of the features, but other than the comment above, everything seems to look good here.


ISPN-14053 Upgrade WildFly OpenSSL 2.2.5.Final

https://issues.redhat.com/browse/ISPN-14053

looks better now @pruivo


What is "ema"?

In CURL.encode, what is the arg "ema"?

It just occurred to me that query and key have different encoders. Is there a reason for this?

Yes - referring you to MoCo https://arxiv.org/abs/1911.05722 or you could
read the implementation section of the CURL paper
On Mon, Dec 14, 2020 at 1:01 PM Sam Lerman<EMAIL_ADDRESS>wrote:

It just occurred to me that query and key have different encoders. Is
there a reason for this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MishaLaskin/curl/issues/18#issuecomment-744610396,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHWQWKELOBM2C6ODXLGJWTSUZHF5ANCNFSM4UXMCHRA
.


Image for Web3.O.World

If anyone want to create the Image for the Web3.O.world then feel free to comment .
The sample for the image is shown below :

The original image should not be  exactly same as shown above . The image should  have blockchain , web3 related pics ..

@Vikash-8090-Yadav  can you pls assign me this issue

@Vikash-8090-Yadav can you pls assign me this issue

Sure !


Add tests for pathological cases

slow loris attacks, spiky workloads, etc)

The proxy should be resilient to:
Spiky workloads
High config churn
Incomplete config from control plane; broken connection to control plane
Split-brain control planes (maybe same as high-churn).


A multiple problem sign (RED) becomes GREEN when you get close enough

Hello,
As you can se in first image, the red point tells us there are at least 2 errors on hosts. And obviously it's red.

but when you get close enough, it splits to two green host signs.

It seems there is a cache for this map or something else which is not refreshing. Am I correct ? Or what can be the reason for this ?
Thank you.

Hi, cluster marker will be red if any host have a trigger incident.
Hosts markers will show triggers colors according hosts triggers.
I'm trying set different color for cluster.

but none of these hosts have a trigger. (picture 2). when you zoom it everything is fine.


Remove outdated compile definitions for MSVC/Boost

Scope & Purpose
For Windows builds, remove the defines _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS and _ENABLE_ATOMIC_ALIGNMENT_FIX from our CMakeListst.txt.
These defines were needed to build Boost components with MSVC in older versions of Boost and MSVC.
Both of these defines are obsolete nowadays.
The _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS define was used inside Boost, but is not used there in the version we currently use.
The _ENABLE_ATOMIC_ALIGNMENT_FIX was necessary for MSVC to produce correct code in the past. It is also obsolete by now (refer to https://github.com/microsoft/STL/issues/717).

[ ] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[x] :hammer: Refactoring/simplification
[x] :book: CHANGELOG entry made

Backports:

[x] No backports required

Testing & Verification

[x] This change is a trivial rework / code cleanup without any test coverage.

Link to Jenkins PR run:
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/14036/

Tests blue

Tests blue


AzureSQL: Show how to integrate KeyVault with pipelines

Create a sample pipelines which stores secrets in KeyVault, ideally demonstrating deploying across environments.

Can probably use this task to set and retrieve secrets from keyvault: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-key-vault?view=azure-devops

Should we perhaps look at adding keyvault support to this sample? https://github.com/Azure-Samples/modern-data-warehouse-dataops/tree/master/single_tech_samples/azuresql Currently the sql database password is stored as a pipeline variable. We can change that to get the password out of keyvault. Thoughts?

Yeah, I was thinking we can potentially this to the fourth pipeline: https://github.com/Azure-Samples/modern-data-warehouse-dataops/blob/master/single_tech_samples/azuresql/pipelines/azure-pipelines-04-multi-stage-predeploy-test.yml
That way we can keep the first three pipelines simple and easy to understand, but for a more 'production like' pipelines, we can use the fourth demonstrate this.
I usually use AzDevOps Variables Groups that are Linked to KeyVault. An issue I've found when I quickly looked into this is that there doesn't seem to be any easy way to automate the deployment of linked variable groups with keyvault --- that is, you have to manually create them in the AzDevOps portal. Preferably all the samples pipelines and associated resources gets deployed in the deploy script: https://github.com/Azure-Samples/modern-data-warehouse-dataops/blob/master/single_tech_samples/azuresql/deploy.sh


[hotfix] Don't let users move a folder with a preprint in it [PLAT-1116]

Purpose
Prefetching target on children when checking is_preprint_primary was causing the child's is_preprint_primary property to not work properly. Removing this prevents folders from preprints from being moved. Thanks @felliott!  (aaah sorry other Fitz I accidentally tagged just now!)
Changes

Remove prefetch related on children query for is_preprint_primary on OsfStorageFolder

QA Notes
You should no longer be able to move a folder containing a preprint to another component.
This should happen (modified from the ticket):

Create a preprint
After preprint is created, go to the OSF project
Create a component under the project
On the OSF project (with preprint), create a folder
Move the preprint file into this folder.
Try Move this folder into the component
This action should fail

Documentation
None anticipated
Side Effects
Nope
Ticket
https://openscience.atlassian.net/browse/PLAT-1116

I don't really understand this fix. @erinspace Can you explain briefly why prefetch_related was causing is_preprint_primary to behave badly?

Discussed in Flowdock: prefetch_related is being called on a GFK, which is causing target to be `None.
In [4]: [each.target for each in folder.children.all().prefetch_related('target')]
Out[4]: [None]

In [5]: [each.target for each in folder.children.all()]
Out[5]: [<Node: (title=u'Doggo2', category=u'project') with guid u'thwef'>]


CTRL + Click on link in script:src or link:href can't find the file.

VSCode Version: 1.6
OS Version: Windows 7

Steps to Reproduce:

Open html file
CTRL + Click on link of script or css

@felixpis Can you add code snippet that shows an example?

I see that problem is when path starts with "/"

If I set relative path so it's ok

It worked in 1.5 version

I fixed the link resolving so that when a link is absolute (starts with /) it is resolved to the workspace path.

Great! Thanks! :)


Create address form templates for all countries with locales we support

Some countries might be able to use a generic template, others may require very specific templates. Displaying this information with the correct labels will also be tricky.

I'd like to use value from https://github.com/vutuv/vutuv/issues/126 to display the address. That might not be 100% perfect but good enough for a start. So if somebody uses "de" as the language setting we use "de" to display the address too.

If that's the case, then we should only make specific address form templates for locales we support, and offer a generic address form template for all other countries.


feat(console): revoke all authz

Added revoke all + checkboxes to select which authorization to revoke
Added pagination for authorizations given, both deployment deposit and fee allowance
#302

I feel like it's more common to have selection checkboxes on the left, wdyt?

I feel like it's more common to have selection checkboxes on the left, wdyt?

We have them on the right for deployment list as well, so shouldn't be an issue. My reasoning was to have all the actions near each other on the right. I'll merge as is and we can adjust if users complain.


Openshift

This uses ArgoCD. See README for instructions to deploy. There is a new GitOps repo at https://github.com/RH-Telescope/dashboard-react-app-ops/. Images are currently being pulled from https://quay.io/repository/telescope/dashboard-app-react?tab=tags. The README explains how to deploy an image to dev that comes from another location.


mkcloud/python: fix VM start

when there was already a VM,
dom would still reference the old undefined one

:+1: lgtm

:+1:


KAFKA-7937: Fix Flaky Test ResetConsumerGroupOffsetTest.testResetOffsetsNotExistingGroup

Since the test fails sometimes on lack of coordinator, I'm giving it a bit more attempts to find it.
I admit that I haven't been able to actually reproduce this failure, so I'm only hoping this fixes it. But it doesn't fail more often than it used to (on my machine)
Fixing on 2.2 because the intent is to fix enough flakes to allow for a clean release.
Committer Checklist (excluded from commit message)

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

@vahidhashemian Maybe you can take a look here too?

If we think this is a proper fix, we should merge to trunk and cherry-pick to 2.2 IMHO.

Closing. Created PR-6311 on trunk to replace this.


[PE-D][Tester E] [UG] Incorrect example for addtolesson and addtoconsult in command summary

Summary
The command summary for addtolesson and addtoconsult provides the incorrect
Steps to reproduce

try addtolesson n/Irfan Ibrahim i/3 as per summary example
try addtoconsult n/Irfan Ibrahim i/3 as per summary example

Expected
The command either works successfully or throws an exception that is not related to the parsing of the command:

Observed

Tester Information
Date of download of file:

System Information:

OS: NixOS 24.11.20240906.574d1ea (Vicuna) x86_64
Kernel: 6.6.49
Shell: zsh 5.9
Resolution: 3000x2000
DE: hyprland (Wayland)
Terminal: foot
CPU: 12th Gen Intel i7-1255U (12) @ 4.700GHz
GPU: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics]
Memory: 5734MiB / 15691MiB

Java version:

openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+9-nixos)
OpenJDK 64-Bit Server VM (build 17.0.11+9-nixos, mixed mode, sharing)

Labels: severity.Medium type.DocumentationBug
original: yadobler/ped#6

Update UG/DG: Command Summary


[BUG] Bloxstrap exception

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[x] I did not answer truthfully to all the above checkboxes.

What problem did you encounter?

It's locate log fil
System.AggregateException: One or more errors occurred. (The given key 'redist.zip' was not present in the dictionary.)
[Inner Exception]
System.Collections.Generic.KeyNotFoundException: The given key 'redist.zip' was not present in the dictionary.
it's the error message
Bloxstrap Log
![image](https://github.com/user-attachments/assets/a2e08d22-4db0-4948-af51-b4a8d6da08bb)

Update.

Update.

What do you mean update? Update what, and how?

How

https://bloxstraplabs.com/

Update to 2.8.0.


TST: interpolate: mark rbf chunking tests as slow

Reference issue

closes gh-16136
What does this implement/fix?

Mark RBFInterpolator chunking tests as slow, because:
$ python dev.py -t scipy.interpolate.tests.test_rbfinterp -- --durations=10
ninja: Entering directory `build'
[2/2] Generating scipy/generate-config with a custom command
Build OK
Installing, see meson-install.log...

It does seem to be sensitive to the OpenBLAS defaults; the default seems to be oversubscribing indeed (8 processes seen in htop); setting OPENBLAS_NUM_THREADS to 1 does limit the number of threads and lowers the test time; but no, even with a single thread it is still not very reasonable (33 sec is better than 41 sec but still). Not sure what it would be on other linalg implementations (unlikely to be more reasonable).
Openblas does its default:
$ python dev.py -t scipy.interpolate.tests.test_rbfinterp -- --durations=10
ninja: Entering directory `build'
[2/2] Generating scipy/generate-config with a custom command
Build OK
Installing, see meson-install.log...

That was me as well :-). Not sure how to systematically check it other than running --durations=N manually of each PR. Would be happy to hear suggestions.

For big new feature PRs I do indeed check manually.

For big new feature PRs I do indeed check manually.

Point taken, thanks for confirming the workflow.
Re job summaries: would be great if it could show stats about what changed in the PR specifically (total CI time etc are available).

Re job summaries: would be great if it could show stats about what changed in the PR specifically (total CI time etc are available).

In the end it's a matter of computing what we want and saving this to an env variable.


res.end() doesn't set the finished flag

The monkey-patch of res.end() doesn't set res.finished = true
The Node HTTP spec expects this to be done when end is called https://nodejs.org/api/http.html#http_response_finished
Cheers :)

The finished flag is automaticlly set once the response is actually finished when the underlying compressed response is finally sent. If you listen to the finished rvent on res, you'll get it emitted and then the finished flag will be set.
Unfortunately if our res.end set finished to true, then when we actually go to write out the last chunk, Node.js just ignores it since that flag is up.
If you know of a good solution, please let me know how to solve or even put together a pull request.

Ahhh I see, that's really unfortunate. Cheers the the event workaround. I imagine it's possible to make the end() work with finished but it's probably more effort than it's worth.
Thanks for the quick response. We'll just work around it :)


Update calico-network-policy.mdx for typo

Product Version(s):

Issue:

Link to docs preview:

SME review:

[ ] An SME has approved this change.

DOCS review:

[ ] A member of the docs team has approved this change.

Additional information:

Merge checklist:

[ ] Deploy preview inspected wherever changes were made
[ ] Build completed successfully
[ ] Test have passed

Hi, just found a typo in docs (Spec -> spec)

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

LGTM, thanks!


Fix the config parsing for S3GCManager connect to

What problem does this PR solve?
Issue Number: close https://github.com/pingcap/tiflash/issues/7681
Problem Summary:
When deployed with tidb-operator, we use a config file as following
[flash]
service_addr = "<IP_ADDRESS>:3930"
tidb_status_addr = "cluster-tidb.tidb.svc:10080"
  [flash.proxy]
  addr = "<IP_ADDRESS>:20170"
  advertise-addr = "cluster-tiflash-0.cluster-tiflash-peer.tidb.svc:20170"
  engine-addr = "cluster-tiflash-0.cluster-tiflash-peer.tidb.svc:3930"

Now S3GCManager use flash.service_addr as its own ID
What is changed and how it works?

Under disagg arch, S3GCManager should use flash.proxy.engine-addr as its own ID. Other S3GC non-leader node use this ID to connect to the S3GC leader
Remove some useless code

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

Fix a bug that tiflash fails to connect to the correct tiflash node with a certain configuration

/rebuild

/merge

/approve

/merge

/run-all-tests


An SDK starter template & guide

This great SDK is exactly what I was imagining of when I saw the (reasonably) cumbersome C API in the OpenCL guide. However, it is still a little confusing for a new user to figure out where to start. Should I:

use this whole repo as another dependency, or should I
tailor it to be a codebase as my own repo?

Even the draft guide I found in the issue #3 did not utilize the SDK utility. For now I am pursing the second way.
I learnt some CMake but using it still heavily relies on Google. The add_sample macro is great but only for the samples. This repo provides splendid examples with an elegant project structure, but if it can include a boilerplate to start with, that would be even better. Also, a practical "Get Start With" guide will bring in much more usefulness.
Thank you for your work. It is really appreciated. Personally, I am especially interested in the GL&CL interop part, which attracted me here.

Your detailed reply is really appreciated. I am especially interested in the GL&CL interoperation, so I spent 1 day having managed to tailor the whole repo for my use. If you are interested, it's here. Suggestions are welcomed.
In the process, I almost read through your cmake files in each directory and did some dirty works, mostly about removing dependency to some sample-related variables and defines. Because I want to reuse your SFML+SDK utility, which is only turned on when some variables like BUILD_OPENGL_SAMPLE are set, I felt it not friendly for us to reuse this part. But after all, your cmake files are one of those most well-written ones, so I managed to understand it mostly and make it work for me.
Before any greedy request like making it more user-friendly and reusable, one simple question is whether the CPP part depends on the C part utility? Because I seemed to see a dependency here. I assume libraries like cargs are not needed for my C++ code (TCLAP is used I see), but so far I cannot drop it without getting a build failure.
Thank you for your guide about those CMake manuals! I will read them later. One pain is that CMake always confuses me by mixing deprecated features with modern ones. Different (modern) guides have different sets of "modern" practices. Hope it can abandon what it thinks as "deprecated" like Python3 and move on with more orthogonal features.


Vulnerability roundup 95: electron-8.3.0: 2 advisories [7.5]

search, files

[ ] CVE-2020-15174 CVSSv3=7.5 (nixos-20.03)
[ ] CVE-2020-15215 CVSSv3=5.6 (nixos-20.03)

Scanned versions: nixos-20.03: d3784204ba1.
Cc @manveru
Cc @travisbhartwell

20.03 is frozen and EOL.
Closing.


Editing file shows all files except the one(s) changed as "green" in file tree

When no files are edited:

If I edit credentials.form.js, instead of it showing as green (which I assume indicates "changed and not commited", all other files/folder show as green and the changed file shows as black:

ahh yea not sure what's going on there haha, I don't use the tree view personally but definitely a bug :D

cool, thanks for confirming.  Will attempt to take a look and see if I can get to the bottom of it.

I dug a bit into this.
It seems that the following code is missing from styles/lists.less along with a reset of the text color in the list:
https://github.com/atom/one-dark-ui/blob/master/styles/lists.less#L21-L38
In my testing I just added this code in git.less, and it actually solved the problem. Now it behaves accordingly, but the color choices are still a bit off. E.g. modified is green/teal, which with the usual colorscheme would be orange.
.list-group,
.list-tree {
  li:not(.list-nested-item),
  li.list-nested-item > .list-item {
    color: @text-color;
  }

  .generate-list-item-status-color(@color, @status) {
    li:not(.list-nested-item).status-@{status},
    li.list-nested-item.status-@{status} > .list-item {
      color: @color;
    }

    li:not(.list-nested-item).selected.status-@{status},
    li.list-nested-item.selected.status-@{status} > .list-item {
      color: @color;
    }

  }

  .generate-list-item-status-color(@text-color-success, added);
  .generate-list-item-status-color(@text-color-subtle, ignored);
  .generate-list-item-status-color(@text-color-warning, modified);
  .generate-list-item-status-color(@text-color-error, removed);
  .generate-list-item-status-color(@text-color-info, renamed);
}

I would personally prefer to alter the colors for the git statuses so that it would be aligned with the default choices in Atom. Green for added, orange for removed, red for deleted. But I would not feel comfortable submitting a PR with design changes. :-)

My take on it, implemented on the slim variant: https://github.com/gustavnikolaj/apex-ui-slim/commit/b3b22874ddc106d568317472ded1dc47ef3dd91d


Scope proxy

Q
A

Bugfix?
❌

Breaks BC?
❌

New feature?
✔

Issues
Similar to #650

Docs PR

What was changed
Note: Includes changes from https://github.com/spiral/framework/pull/1041
Context
The context is also extended on other container methods get() (see https://github.com/spiral/framework/pull/1041)
Scopes
Default scope fix
If the container scope is not open, it is assumed by default that dependencies are resolved in the scope named root. Now when calling invoke(), make(), get(), the container will globally register itself with the root scope if no other scope was opened. Before this, the container resolved dependencies as if outside the scope.
Scoped Interface
The experimental ContainerScopeInterface has been removed. The method getBinder(?string $scope = null): BinderInterface has been moved to BinderInterface at the annotation level.
runScope method
The Container::runScoped() method (in the implementation) was additionally marked as @deprecated and will be removed when its use in tests is reduced to zero. Instead of the Container::runScoped(), you should now call the old Container::runScope(), but with passing the DTO Spiral\Core\Scope instead of the list of bindings.
$container->runScope(
    new Scope(name: 'auth', bindings: ['actor' => new Actor()]),
    function(ContainerInterface $container) {
        dump($container->get('actor'));
    },
);

Scope Proxy
Instead of the now removed ContainerScopeInterface::getCurrentContainer() method, the user is offered another way to get dependencies from the container of the current scope - a proxy.
The user can mark the dependency with a new attribute Spiral\Core\Attribute\Proxy.
Important: the dependency must be defined by an interface.
When resolving dependencies, the container will create a proxy object that implements the specified interface. When calling the interface method, the proxy object will get the container of the current scope, request the dependency from it using its interface, and start the necessary method.
final class Service
{
    public function __construct(
        #[Proxy] public LoggerInterface $logger,
    ) {
    }

    public function doAction() {
        // Equals to
        // $container->getCurrentContainer()->get(LoggerInterface::class)->log('foo')
        $this-logger->log('foo');
    }
}

Important nuances:

The proxy refers to the active scope of the container, regardless of the scope in which the proxy object was created.
Each call to the proxy method pulls the container. If there are many calls within the method, you should consider making a proxy for the container// class
function __construct(
    #[Proxy] private Dependency $dep,
    #[Proxy] private ContainerInterface $container,
) {}
function handle() {
    // There are four calls to the container under the hood.
    $this-dep->foo();
    $this-dep->bar();
    $this-dep->baz();
    $this-dep->red();

    // Only two calls to the container and caching the value in a variable
    // The first call - getting the container through the proxy
    // The second - explicit retrieval of the dependency from the container
    $dep = $this->container->get(Dependency::class);
    $dep->foo();
    $dep->bar();
    $dep->baz();
    $dep->red();
}

The proxied interface should not contain a constructor signature (although this sometimes happens).
Calls to methods outside the interface will not be proxied. This option is possible in principle, but it is disabled. If it is absolutely necessary, we will consider whether to enable it.

@roxblnfk Couc you please add some example of usage proxy attribute?

@roxblnfk Could you please provide some example of usage proxy attribute?

done


I think You should check Auth shop when user go to Billing

    Route::get(
        '/billing/{plan?}',
        'OhMyBrew\ShopifyApp\Controllers\BillingController@index'
    )->middleware('auth.shop')
    ->where('plan', '^([0-9]+|)$')
    ->name('billing');

I think you should add middleware auth.shop when user goto Billing url
Like this code

Oh good catch, will check into this.

Above commit pulls this in, tests seem to pass fine, thanks, will include in next release.


Important BrowseEverything::Driver::Base methods should raise NotImplementedError

BrowseEverything::Driver::Base has stub methods returning defaults.  Some of those are fine, like maybe validate_config() doesn't need to be implemented in each concrete child class.
But contents() and connect() must be implemented.  So it is more appropriate to raise NotImplementedError in case a call falls through to the base.

Not sure NotImplementedError is the best choice, but an error should be raised. http://chrisstump.online/2016/03/23/stop-abusing-notimplementederror/

He could be right, but why should I care?  I'd say the 95% of uses that he regards as "abuse" are the actual predominant meaning of the error in reality.

I not stuck on NotImplementedError, though.  As long as we raise something, that will be enough.  But I find NotImplementedError as good as anything else.  Explicitly raising a NoMethodError would be factually incorrect, since the method does actually exist, but exists in the base class.


IE Stability issue - WebDriverError

Node version: 7.4.0
Protractor version: 5.1.1
Operating system: Windows 7
Browser: Internet Explorer 11
I recently upgraded to Protractor 5.1.1 and started to seeing this error show up occasionally:
WebDriverError: JavaScript error (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 49 milliseconds
It seems to be coming from the following code under *\lib\browser.ts
return this.driver.wait(() => {
            return this.executeScriptWithDescription('return window.location.href;', msg('get url'))
                .then(
                    (url: any) => {
                      return url !== this.resetUrl;
                    },
                    (err: IError) => {
                      if (err.code == 13 || err.name === 'JavascriptError') {
                        // Ignore the error, and continue trying. This is
                        // because IE driver sometimes (~1%) will throw an
                        // unknown error from this execution. See
                        // https://github.com/angular/protractor/issues/841
                        // This shouldn't mask errors because it will fail
                        // with the timeout anyway.
                        return false;
                      } else {
                        throw err;
                      }
                    });

If I change the the line above from
 if (err.code == 13 || err.name === 'JavascriptError')
to
 if (err.code == 13 || err.name === 'JavascriptError' || err.name === WebDriverError)
then the problem goes away.

I reported this issue previously and it was reported that it was fixed as a part of 4149. However, that is a different fix.

I can confirm the findings of OP.

@AliZuhair-AI Are you using Selenium Server? How does Protractor connect to IE?

@thorn0 I am using BrowserStack, which uses InternetExplorerDriver
https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver


[release-4.13] HOSTEDCP-1048: Add impersonate feature to the CLI and document HC dump procedure

Manual cherry-pick from:

https://github.com/openshift/hypershift/pull/2653

/approve
/lgtm

/area cli


fix: bump jsforce, add resolution

What does this PR do?
[skip-validate-pr]
adds resolution to move whatwg-url to latest to remove punycode deprecation warnings

@mingxuanzhangsfdx can you look at these changes from bundling perspective?

whatwg-url is only used by node-fetch in jsforce-node.  So it will not affect bundling.


Add description to time argument of Util.throttle

There was no description for time argument in Util.throttle().

Thanks :-)


Store Twitch display names for simpler debugging

This project already uses Twitch IDs as primary keys for database lookups. I think that I need to also track usernames because it is difficult to interpret logs for a user. This would mean updating the users and preferences table to add a name column, backfilling the username as necessary for existing users. I don't think I need to start logging the username. I can just cross reference with the user table by ID. Exposes less in logs.

Don't need to do this since I can just query by ID to get the username and have enough information without persisting it.


Add option to configure favicon

The sites are being generated without a favicon at the moment, having an option in the .yml file to configure a favicon would be good.

we should add the favicon.ico in the head.html

Closing the issue as the sites are currently being generated with a favicon