WIP [Stage-1]: Composite Effect primitive proposal

Coming from vue I thought of bringing some reactive utilities from vueuse, specifically the utilities focused of watching changes of computations. Most of them are very simple (maybe with exception of until), they're just helpers built on top of createRoot, createEffect and on that aim for reducing the amount of code for some repetitive use cases.
Their usages can found be here, and the API for solid would be pretty similar.
This is not finished, I just wanted to get feedback on some of the considerations:

First is the question: does Solid even need these?
Solid aims to be simple, not easy, preferring to have things explicit and maybe even overly verbose just to keep everything under control. Maybe because of that some of these helpers don't really make sense, and I just want them because I'm used to having them in vue. Or perhaps some other versions would be more suitable.
I know I'll definitely use some of them, like a watch, debouncedWatch, throttledWatch, and until are pretty useful.

The naming may be odd, since it doesn't follow the "create___" rule, but I think not everything has to.

Another thing is that I used debounce and throttle functions from lodash. I know that solid-primitives has its own createDebounced & createThrottled counterparts, but I don't understand why not just use the library that everyone will probably have in their codebase anyway, even if they are not using them directly. It's the same idea as with primitives, using what's already built and tested is better than writing your own.

Thanks for bringing this to solid-prims! Lots of good points here.
My opinion is that while Solid strives to make things simple, I'd argue that solid-primitives attempts to make things easier. Making things easy is everything from creating reactive wrappers around browser APIs or exposing helpful utilities. So this effort aligns with the purpose of this project.
I haven't read through the source in detail but I'm wondering if these reactive helpers are in line with Solid's core philosophy which is a question @ryansolid is better suited to answer. I'd like to ensure this project acts as an extension as opposed to an alternative of that vision/direction.
I hear you regarding the debounce and throttle methods. We've debated it as well. I've decided we will try to tightly control as many dependencies as possible, so for no primitives have any. The implementations we have for throttle and debounce strive to be smaller, more performant wherever possible and more appropriate implementations for our needs. As an example lodash.debounce is packaged with a number of unnecessary options that we don't leverage at all in any prims ie. leading, trailing, maxing etc. This wont be a strict rule, if there are extremely good cases for utilizing an external package, we will.
We're trying to nurture something more tightly insulated and self-dependent. I hope others can respect that vision/desire.

Also there's a lot packed into this one index, can we separate the utilities into separate files and export them from index to make it a lot more readable?

That's the plan. I was just experimenting so it was easier to have them I'm one file.

All good! I shared this thread with the Solid Ecosystem team btw. So pulling in some more heavy opinions =)

Regarding these "unnecessary options" in lodash, while you don't necessarily use them in other primitives, I think they are quite helpful in some situations, I personally use maxWait all the time, but that's just me.
But it's maybe not a bad idea to just have a "default" simple version just to power all those primitives and typical use-cases, while people that want to have something more, can always build their own.

Yeah precisely. I'd personally prefer shipping light/tight primitives as opposed to all the extra options that a specific heavy use audience would require. Kind of following that "do more with less" line. This isn't just my project though, I really want your and the broader communities opinions. I'll end up taking the path that is most rational and logically supported by the broader community.

Hey, could you provide some examples where these watch primitives are useful (and working with createEffect isn't, or is cumbersome in comparison)?
I get that watch can allow you to state your dependencies up-front, but if that's the main goal, I would argue that Solid doesn't need them (to answer your first question) / we should probably stick with the Solid API for managing effects.
Honestly, as a Vue user, I try to use watch (and the Vue 3 versions) sparingly. That would apply to createEffect too, of course, as it's just the principle of keeping your side effects low in an otherwise declarative system. While I'm personally not enthused by watch helpers, I'm totally interested in being convinced.

I'm not exactly sure if these should be a part of solid-primitives. Their use case is pretty narrow (developers used to a less common API of Vue). But I'd like to take more time exploring them before I pass any verdict. How about you put them in a separate package while we take our time to consider including them or not?

It's hard to provide good usage examples when it's a fresh concept in Solid even for me. I've only got to use debouncedWatch once in my app, but more as a proof of concept, not a real use-case.
The "watch" is just a nice shortcut for creareEffect(on(source, () => {}, { defer: true })) that additionally can be manually stoped.
The "debounced & throttled watch" works nicely with reactive sensors like scroll or mouse inputs.
"whenever" also seems like a nice utility to watch things conditionally, while "until" turns that into a Promise, which can open a door for some specific use-cases, probably mostly used with createFetch.
I rarely or never used the rest, so I'm pretty indifferent about them.
I definitely want to make these primitives not only for people coming from vue that also happen to use them. Therefore I think it's a good idea to make a separate package with the purpose of experimentation, and figuring out how these helpers can be changed to better fit Solid.

The package has been made: https://github.com/thetarnav/solid-watch-primitives
I especially insist on playing with the until, because even if the rest of these "watch" helpers don't bring much value on their own, the until is there to actually solve a specific problem.

Awesome. Yeah the readme really lays out the uses and helps explain their benefits. OK this is great. Let's see if we can spark a conversation on Discord. I'm personally seeing cases where the throttle, debounce pausable could solve some of the trickier reactive modelling challenges I've had recently.

Ok! So I think the ecosystem team has formulated an opinion. I even got some feedback from Ryan.
First, from my perspective when I first saw your PR I felt really at odds with it because watch totally through me off. If didn't feel Solidlike™ (lol). It really isn't super clear what the use is. After digging into the implementation and talking through the uses with the group it feels like these are a cross between reactive utilities but also mostly extensions to Effect.
After a bunch of banter I pulled a WWRD (What Would Ryan Do) and he responded with:
Yeah i like that createRoot is a explicit opt out of the flow. Having stuff live with different lifecycles inside is fine but don't want to push people towards this.  It is like if CSS defaulted to position: absolute
...
I like the idea of throttle debounce etc.. but designed on the way I did since we have lots if different computations. I figured these behaviors could be mixed and matched without a dozen new create_______. I suggest looking at the now deprecated solid-rx  Obviously some things deserve create_ but just categorizing whats a transformation vs whats a new functionality.

You can find the README for solid-rx here: https://www.npmjs.com/package/solid-rx. I really want to focus on Ryan's comment related to this being similar to the CSS property being absolute by default. It's a really apt analogy for the concern we have with this inclusion.
After studying this a bit I think we definitely concluded that there's utility for these primitives. I think we need to rename and align them to Solidify them. Here's my own suggestion, although take it with a grain of salt. Since most of these are effect-related utilities perhaps:

createPausableEffect
createThrottledEffect
createDebouncedEffect
createEffectOnce
createConditionalEffect

In regards to the other utilities those should remain similar to how on is treated. Without a create or use keyboard. Perhaps watch, until and whenever remain as named.
I would rename the whole package to effects as opposed to watch for that reason.

I'm almost wondering if solid-rx could/should find a home in solid-primitives as an rx package.

Yeah, I know what Ryan means with the createRoot, It felt dirty to do it that way, but I found no other way to permanently dispose of an effect, if it isn't wrapped in one. Maybe that's one of the things that should be changed. I mean that the default watch wouldn't be wrapped in createRoot, and it couldn't be stopped. This way we wouldn't be pushing something that is a "bad practice" of sorts but could still make a stappableWatch if needed for some usecases (like watchOnce).
When it comes to naming them as "createDebouncedEffect" and alike, there is a problem that they still would need to be provided an explicit source, and so naming it that way would suggest that it is literally a debounced createEffect, when the usage is more like createEffect(on(...)).
This may not sound like much but I think it would cause some confusion. Like: if it is a createEffect then why do I need to add source?
Additionally, some "watchers" require the { defer: true } to be set on the on method. For example, watchOnce, if it wouldn't have the defer set, it would fire callback and delete itself on the initial setup. So this is another: if this is a createEffect then why doesn't it run on the setup?
Therefore, I think we should stick with the "watch" keyword, just to emphasize that it isn't just a createEffect. But I'm down to rename them  to things like: createWatch, createDebouncedWatch, createWatchOnce, ... (although it's weird to have two verbs together)
Or: createWatcher, createDebouncedWatcher, createWatcherOnce, ...
Also it would be nice I guess to have a more functional option, like:

createWatch(debounced(source, fn, time))
const [toggle] = createWatch(pausable(source, fn))
const stop = createWatch(stoppable(source, fn))

Although that may look cool, it is effectively the same as just having them individually named, and I don't know if it is technically possible, when some of the watchers need to be wrapped in createRoot, and some not. But idk, will experiment with it later.
And regarding rx, solid-primitives should definitely have some primitives for it (vueuse also haves some :)), but that's out of my reach.

I think this PR/package really has two features: watch, allowing you to easily state effect dependencies explicitly, and the set of utilities that build off of those.
Based off of our conversations with Ryan, it doesn't seem that watch is idiomatic in Solid. And I don't think that all of the effects utilities need to be based off of watch. That's what I see in @davedbase's suggestion: you can keep the effects utilities without having them all be watch variants. For the ones that do require on with {defer: true} to work, the value of using watch becomes a lot more clear. For the rest, I agree with the composable version you lay out (if it does indeed work) and it allows you to decouple the effect utilities (which seem to me to be useful whether or not you want to state your dependencies explicitly) from the watch rephrasing.

Alright, I have made a lot of changes to the API, with the goal of making it feel more functional and composable. And in the end, it actually works pretty well. You can try the new API here and it is explained in detail in the readme, so I'll only leave this as a teaser:
const [count, setcount] = createSignal(0)

const { stop, resume } = createWatch(
   stoppable(
      pausable(
         debounce(
            whenever(
               atMost(
                  () => count() % 2 === 0,
                  () => {
                     console.log('is even:', count())
                     if (count() % 2 !== 0) stop()()
                  },
                  { limit: 8 },
               ),
            ),
            { wait: 300 },
         ),
         { active: false },
      ),
   ),
)

resume()

Hey! Sorry for the delay. Been getting caught up in work this week. I think this new API is a LOT more interesting. I like how there's Watch and then Filters modify it. Very neat. I posted this on our Ecosystem chat for fresh feedback =)

Oh this is just me personally but I still do feel like since Watch is just createEffect(on()), at its core these are pretty much Advanced Effect with Filterable options. If one of your goals is to make this accessible to a broader audience you'll have to teach them what Watch is. Whereas as an Effect or Advanced Effect it's easier for them to very easily reason them.

Making these compatible with both createEffect and createEffect(on()) was my ideal, before I started working on them. But it is just not possible, so this is why I went with watch. Even though it's not idiomatic in the community, at least it's short and well represents the behavior. Of course, createWatch could be renamed to createAdvancedEffect or createFilteredEffect, it still would require to have dependencies explicitly set, so it would feel off. At least for me. I know that useEffect in React natively requires stated dependencies, whereas Solid and Vue don't, so maybe this is the cause of different perspectives.
But as long as this is only a dispute about naming, it's okay, names can be changed easily. We just need a decision :)

We're definitely on the same page. I did ask Ryan to have his eye on it. I'm hoping he finds a moment and gives us implementation feedback.
In regards to naming, yeah that's just my personal opinion right now. No one else has made the same remarks to be honest. I mean I see both naming options as being viable. Watch is an effect tracking a source dependency, because it has that property of explicit tracking, it makes sense to differentiate it from a regular effect.
I suppose my thought process is:

Naming it createdFilteredEffect makes it much easier to grasp what the primitive does when first seeing it. createWatch means nothing to a Solid audience or beyond.
Judging purely the language Watch may be similar to Observe. In solid-primitives I'm trying to focus the word Observable as being a distinct thing. ie. resize-observer, scroll-observer.

Then again:

Calling it an effect overlaps with Primary Primitives closely which might be confusing, naming this differently creates a distinct separation in purpose/use/value
Calling it Watch does keep it friendly to Vue users, whatever that's worth to us
If our goal isn't to promote it's use a common pattern then making it a bit more obscure is beneficial.

Sorry for all the writing, whenever I think through tedious things like naming sometimes it helps me to express the logic.
Well let's see what Ryan says on implementation. This might be worth a Poll in the Discord! I've been looking for a reason to run one haha.

So I'm getting a lot of mixed reactions. I believe Ryan sees utility in certain elements here but in many ways we need to leave it up to the community to decide what "fits". Solid is still young and we need to leave a bit of room for interpretation and experimentation. I think my hesitance on this PR isn't that it's not "good" it's mostly that I'm not qualified to pass judgment on the effects this has to Solidlike paradigms or patterns. Then again who really is?
The official answer is core needs to iterate slowly but it can learn from and evolve from implementations and patterns in projects such as solid-primitives. If we leave NO room for experimentation then we're breaking the innovation process.
Since I have to have a verdict on this PR (I feel like this is a judge's summary of a case hahaha) I've decided to merge it. This whole topic is excellent and I'm so appreciative of it because it's forced me to consider how to handle similar situations in the future with the other maintainers. We'll implement a new acceptance process for incoming PRs. I'll be modelling it on TC39 (https://tc39.es/process-document/) or something similar. More details to come.
As for this PR @thetarnav thanks so much for your awesome work and effort. Did you want to give me the thumbs up when you feel this is ready for a Stage-1 release? :-)

There is still a lot for me to do before the release can happen, especially testing it properly.
Also, I am getting more and more convinced that renaming it to createFilteredEffect might be a good idea since it evolved into a much more flexible primitive than it was initially. The whole "watch serving as a shortcut" doesn't apply here anymore, so might as well drop it.
Thank you for bringing me so much feedback from the community and yourself, it definitely helped me shape it into something better. A well-structured PR progress for new primitives definitely sounds cool, but for that, some templates would be necessary, at least for new people, like what, how, and why should be contained in a new premise, all the stuff about directives, and tests.
Also on a side note, I was thinking of removing the until from this module and making it separate, because as a primitive it solves a completely different problem. Then the module could be renamed to filtered-effect instead of watch.

I'm good with that as well. Ultimately this is a contribution that you're actively iterating on and understand far better than I do. I see utility in my own projects and am willing to utilize them but I don't want to be too involved in effecting your ability to flesh out the implementation. Basically you're closer to the problems than I am to render an opinion.
:-)

I was just looking at the README and this triggered a thought:
createFilteredEffect(
   once(counter, n => console.log(n)),
   { defer: true },
)

Calling it a Filter in this cause is a bit awkward maybe? I could be wrong. createCompositedEffect or createCompositeEffect maybe createDynamicEffect? Sorry not meaning to make this more complicated, just thinking aloud.

Yeah I agree, the more you think about it the less word "filter" has sense in this context, these "filters" do more than just filtering xd.
The createCompositeEffect sounds actually nice. But what these "filters" then would be called? (in the docks)

Ooo I like that. Yes modifier is cool although filter still works. It's expressive enough. I'm indifferent.
I do like Composite Effect because technically you can continue chaining the behaviour. Technically createCustomEffect would work as well. Something about Composite Effects has a cool ring to it.

I only couldn't test the modifiers, because of some weird bug:

But they are built on createCompositeEffect and createEffectModifier, which are fairly tested.

I was wondering, to shorten the naming I think createModifier or useModifier might be alright?
As for the testing issue, it's tripping over debounce likely because debounce isn't export cjs?

I can change its name if you insist, but I don't know if the name length matters that much for this primitive, as modifiers will probably be much more often used than created.
I'm not sure what is causing the issue, but lack of cjs is a good lead. Is there something I can do with it?

Ach, good point. Leave it as is, I wouldn't insist haha.
I assume we need to have a CJS build process in the debounce primitive. Actually TBH maybe we should export ESM, CJS, MJS etc. to cover all our bases. We only support ESM for most of the primitives. If you added it to the debounce and throttle build commands I can replicate amongst the rest of the primitives.

@thetarnav ok assuming you got the CJS output right, the new versions are up on npm and ready for you to reinstall as dependencies. Let me know how that goes!

The debounce works! But the throttle hasn't been updated yet.

 It's there now, sorry.

Okay, I've read the last conversation on discord and what Ryan said has caught my attention:

I don't mean that. I mean what if I want a composite Memo, or Computed, or renderEffect.

It's definitely doable, I just need to make a createCompositeEffect equivalent for each of those. And I guess createEffectModifier will have to be createModifier after all :)
But what exactly is "renderEffect"? I've never seen it before.

Oh neat. I think we should change the folder name though to something more general now. ie. maybe simply composites since it covers most of the Primary Primitives.
He means createRenderEffect (https://www.solidjs.com/docs/latest/api#createrendereffect). The difference from createEffect seems to be it has a "render" but I'm also admittedly confused how that makes sense.
@Jutanium out of curiosity have you hit this section in the docs yet and have you be able to decipher it yet? lol.

How we feeling about the PR? :-) close to being able to merge?

Yup, It's ready to be merged. I need some time to use it and get some grip on the new usecases to be able to make some meaningful changes. Right now I won't be coming up with anything more.

@thetarnav awesome. I'll merge this in as a Stage 2 (Experimental) release then publish version 1.0.0 to npm. Thanks! Yeah I'm really interested to see how this turns out for people.
Thanks again for the awesome work.

Published: https://www.npmjs.com/package/@solid-primitives/composites =) congrats!


why revert the support for laravel 5.6?

try using in laravel 5.6, it complains the version conflict.
found that there was a revertion which dropped the support for 5.6
wonder reason
thanks in advance

Because we are not ready yet. There are some more changes to be made. Support will be coming this week though. Don't worry. :)

got it, thanks~

v6.0 released with laravel 5.6 support


Open current beacon in TS Maps

When currently navigating to a beacon, provide a button to open it in TS Maps (if installed)

Done, just that the quick action isn't used by default


add resetEslCustomEvent to recover the endpoint after conference

When the endpoint is used for conference, the esl CUSTOM event will be override to conference listener, this PR provide new API to reset the listener for the endpoint.
https://github.com/drachtio/drachtio-fsmrf/blob/main/lib/endpoint.js#L584

v3.0.45


Add linux-aarch64

…nda-forge-pinning 2<IP_ADDRESS>.05.01
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

I forgot to bump the build number 😭 will do a PR


sdl2 - RuntimeError: b'directx not available'

Versions

Python: v3.6.3 32 bit and v2.7.12 32 bit
Windows 10 Enterprise 2016 LTSB 64-bit (DirectX runtime version 12.0)
Kivy: v1.10.1
Kivy installation method: pip (all steps in https://kivy.org/doc/stable/installation/installation-windows.html)

Description
Tried running examples or basic tutorial that simply opens the window but always get the same problem: "[CRITICAL] [Window      ] Unable to find any valuable Window provider. sdl2 - RuntimeError: b'directx not available'".
Code and Logs
[INFO   ] [Logger      ] Record log in E:\Software\WinPython-32bit-<IP_ADDRESS>Zero\settings\.kivy\logs\kivy_18-12-05_9.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - RuntimeError: b'directx not available'
  File "E:\Software\WinPython-32bit-<IP_ADDRESS>Zero\python-3.6.3\lib\site-packages\kivy\core\__init__.py", line 67, in core_select_lib
    cls = cls()
  File "E:\Software\WinPython-32bit-<IP_ADDRESS>Zero\python-3.6.3\lib\site-packages\kivy\core\window\window_sdl2.py", line 140, in __init__
    super(WindowSDL, self).__init__()
  File "E:\Software\WinPython-32bit-<IP_ADDRESS>Zero\python-3.6.3\lib\site-packages\kivy\core\window\__init__.py", line 968, in __init__
    self.create_window()
  File "E:\Software\WinPython-32bit-<IP_ADDRESS>Zero\python-3.6.3\lib\site-packages\kivy\core\window\window_sdl2.py", line 272, in create_window
    self.fullscreen, resizable, state)
  File "kivy\core\window\_window_sdl2.pyx", line 93, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "kivy\core\window\_window_sdl2.pyx", line 66, in kivy.core.window._window_sdl2._WindowSDL2Storage.die

[CRITICAL] [App         ] Unable to get a Window, abort.

Oh, silly me... Yes, explicitly changing SDL_VIDEODRIVER to 'windows' worked like a charm. What threw me off, is that for me settings it via powershell before the call did not work for some reason. Thanks a lot!!!


Update README and sample apps with latest APIs

LGTM. There are some failing builds.

I think that's due to a Travis CI configuration mismatch since I bumped the deployment target to 9.0.  Investigating.

lgtm too


Build failure: python3Packages.momepy

Steps To Reproduce
Steps to reproduce the behavior:

build with nix-build  -I nixpkgs=. -A python311Packages.momepy

Build log
One test is failing: only the relevant part

=================================== FAILURES ===================================
_______________________ TestDistribution.test_Alignment ________________________

self = <momepy.tests.test_distribution.TestDistribution object at 0x7ffee7ff0c10>

    def test_Alignment(self):
        self.df_buildings["orient"] = mm.Orientation(self.df_buildings).series
        sw = Queen.from_dataframe(self.df_tessellation, ids="uID")
        self.df_buildings["align_sw"] = mm.Alignment(
            self.df_buildings, sw, "uID", self.df_buildings["orient"]
        ).series
        test_value = (
            22.744936872392813
            if Version(shapely.geos_version_string) < Version("3.12")
            else 18.29842494
        )
>       assert self.df_buildings["align_sw"][0] == pytest.approx(test_value)
E       assert 18.299481293674084 == 18.29842494 ± 1.8e-05
E
E         comparison failed
E         Obtained: 18.299481293674084
E         Expected: 18.29842494 ± 1.8e-05

momepy/tests/test_distribution.py:130: AssertionError

Additional context
Add any other context about the problem here.
Notify maintainers
(note, I've set the project to the geospatial team, which should be enough to have it in the radar maybe?)
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.37, NixOS, 24.05 (Uakari), 24.05.20240709.249fbde`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.4`

Add a :+1: reaction to issues you find important.

I'm currently bisecting to confirm my intuition that it is a dependency version change that is triggering this failure.

The first bad commit could be any of:
234f48f8ee848092e34cad3c8cba3688b51a3782
f4e79757df1a0822d41504e504857bb3e3548d90
79fb496d23c6049b1de2ad4adfa60911986ef00e
Probably an upstream issue?


feat(ts): add ts declaration

I tried to declare all methods, but I can wrong. Feel free to point out errors.
Thank you!

Thanx for the effort, this is not published, right?
I took a look at the commit, however, the onMessageReceived payload is not typed.
Can you please let me know whether I inferred the correct type based on the docs?

type Notification
  = FirebaseNotifIos
  | FirebaseNotifAndroid

type FirebaseNotifIos = MessageType & {
  aps: { alert: { title: string, body: string } }
  payload: string
}

type FirebaseNotifAndroid = MessageType & {
  title?: string
  body?: string
  payload: string
}

type MessageType
  = { messageType: 'data' }
  | { messageType: 'notification', tap: 'background' | 'foreground' };


Accordion accessibility enhancements

Added roles to title for better reading of screen readers
Make content of accordion tabbable when he is open (for keyboard navigation)
Added aria attributes to describe accordion state

Using aria attributes I described title like a button, aria doesn't define accordion, only buttons and tabs. There is no consensus in this approach, but I think that for blind, hear button is conceptually closer than tab. We can discuss this.

There should be tests to test the proper presence of aria-hidden and aria-expanded when appropriate.

Can I include ngAria lib as test dependency?

Sure, but why is ngAria needed here if we are using ng-attr-?

Oh, I see now - sure.

Ok

@wesleycho I returned the tests for aria-hidden but now checking the previos div, aparently angular is adding the aria-hidden attribute automatically, the problem is that he don't remove this aria attribute never.

Closing in favor of #4772.


Show recipe execution errors in Admin UI #6924

This fix modifies recipe execution from Admin UI to use RecipeResultAccessor service to show possible errors in recipe execution  #6924

Hi @kappas, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@kappas, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Nice improvement!

Closing this in favor of #6957


Pan left/right doesn't effect extension blocks

Expected Behavior
When green flag clicked
set [pan left/right v] effect to (100)
play note (60) for (0.25) beats
speak (hello)
(I would post a Scratch blocks image, but Github isn't letting me upload the image)
All of the sound should play through the right speaker.
Actual Behavior
The sound plays equally through both speakers.
The pan left/right causes surround sound, and should move all sound played to only the left/right speaker at 100%. However, this only works with the Sounds blocks, and not with other sound-playing blocks.
Steps to Reproduce
Build the listed code in Scratch,
Operating System and Browser
Linux Mint, Firefox
Same issue as LLK/scratch-gui#6015 and likely the same issue as LLK/scratch-audio#18

This is a duplicate of https://github.com/LLK/scratch-vm/issues/2526


context_new_with_functions benchmark is same as context_new_location

Looks like ever since https://github.com/gimli-rs/addr2line/commit/734bf1f5ddb5c761d8ec4848aa93def3c66ddc42#diff-afb2ab3fe17077dcacb9d8b9f1546945 these two benchmarks became exactly the same, since parse_functions became private and was just removed from the benchmark code.
I'm not sure if it can be changed to still benchmark something separate, or whether it should be just removed at this point.

I'm not sure if it can be changed to still benchmark something separate, or whether it should be just removed at this point.

I have some benchmarks that measure only parse_lines/parse_functions which I'll commit once I have time.

I've added those in #140


Explicit dependencies

Is Your Feature Request Related to a Problem? Please Describe
Dependency drives—frontends, web components, modules, databases, etc.—don't scale well. If common users aren't typically visiting a dependency and deciding to host it, there is a good risk that the dependency will be significantly less available than the frequented drive requiring it.
Solution You'd Like
Dependencies may be explicitly listed in the drive index to adjust hosting behavior:
index.json
{
  "dependencies": [
    {
      "key": "...",
      "auto": true,
      "recursive": false
    }
  ]
}

Automatic dependencies will be automatically hosted along with the depending drive. This is ideal for files like frontends and modules.
Manual dependencies will not be automatically hosted, but an extra slider for each will be added to the hosting drop down panel. This is ideal for dependencies only used by a subset of users, or really large dependencies that most users will not want to host.
Dependencies flagged as recursive will be allowed to add additional dependencies from their own index.json. This is ideal for long module import trees or syndication drives.
Alternatives You've Considered
A Hosting API to prompt the user to host a drive or set of drives. It would be a more flexible system, but would be a little clunky.

I might be wrong about this - but I think the solution is to mount the dependency in your project. It also has the advantage of preventing duplication - if 100 projects you are hosting mount drive y, you only actually have one copy of drive y.
If you are sharing a drive, you will want to share the dependencies too, because, an application without the dependencies isn't very useful as you say. Also, I seem to remember reading somewhere that the mounted drive can be transmitted as part of the same connection as the parent drive, without a separate request, making it speedier (beaker/hyperdrive people would have to confirm).

Oops, I'll edit the post to clarify. I'm referring to mounted drives here. This feature request just allows you to modify the hosting behavior of mounts when hosting the parent drive.

On topic, but not something that would go in the beaker code base, it would be nice to have common hyperdrives for developing modules.  Right now I've been working off of @pfrazee 's module examples.  I love the overall setup, but given that mocha.js and the .ui dependencies are included and not mounted, there will be a lot of redundancy on a user's machine.  Does anyone know of hyperdrives to help with module development and publishing?

@rhythnic mounted drives are only pointers, and they are loaded lazily and not hosted along with the parent drive. I'm hoping there will be a way in the future to pin mounted drives to the parent drive so both are hosted together.
Also, see Paul's UI kit. Is that like what you are asking about?

@metanomial I was asking more about hyperdrive's that would be considered development dependencies.  I'm using the .ui folder inside of Paul's Worker RPC module, which provides a UI for running tests and a demo, along with a well formatted index.md beneath the file list.  It would be good to have that as a hyperdrive that could be mounted into modules.  The mocha/chai code in the test folder would also a good candidate for a a development-dependency hyperdrive.  This isn't very on-topic with your issue, so please excuse the tangent.
Paul's Worker RPC Module
hyper://20852326dcc4eb10267dda3f7606e54ce120a7c2d73a976d58bd8f3fd117e8c2/
Getting back to the issue.  I agree with you that when hosting a parent drive, it seems reasonable to host the files in mounted drives that have been loaded.  That, in addition to lazily loading mounted files, seems like it would cover most use cases, including code dependencies.  I think dependencies large enough for anyone to care whether or not they host are likely to be data sets.  Data sets needed for all users of an application should be mounted, and like code, implicitly hosted.  Most data sets will probably be in a separate drive from the application.
So to summarize, I agree that mounted drives, lazily loaded, should be implicitly hosted.  Where I differ in opinion is that I don't see manual configuration as necessary, unless it's the only way to get the dependencies hosted without user interaction.  The idea of a user selecting which mounts to host seems targeted to applications mounting data that isn't necessary for all users.  In that case, I believe that data shouldn't be mounted, but instead intentionally hosted by the user, and acted on by the application.
If mounts are lazily loaded and implicitly hosted, and in the event that there's an application mounting optional data, I think it's reasonable to expect a user of that application to delete the parent drive and reload it if they've accessed optional data that they don't want to host.  I say that because I believe it's an edge case, but it's very possible I'm not seeing the use case you have in mind.


Move this repo to frictionlessdata organisation?

Related - https://github.com/okfn/data.okfn.org/issues/206
If follow opentrials and openspending patterns it will be org-level issue tracker.

@roll yes, I would like to this.

DUPLICATE of #206


XRToolsInteractableAreaButton emiting signal

i think i found issue with XRToolsInteractableAreaButton
it is emit_signal("button_released")
but should be emit_signal("button_released",_button)

Good catch. I originally checked the master branch and couldn't find the problem - it's only the 4.0-dev branch that's broken.

Tested and working


Mirror_Of_A_BinaryTree

congratulations on your hactoberfest contribution. if you like this repo then give it a star. Happy hacking..


computer draws when snap available

the timer for computer win condition should start as soon as a snap is possible.
But it just draws a card
the draw card timer isn't being cancelled

added clearTimeout to startWin function and this seems to have cleared it


invalid or unknown key: deletion_protection

terraform plan will complain using v1.22.0:
Error: module.my_rds_postgres.module.db_instance.aws_db_instance.this: : invalid or unknown key: deletion_protection
but v1.21.0 would pass without error.

@antonbabenko I didn't notice that, and I've fixed it now. Thank you!

even if I am using version > 1.39, it fails with same issue.

provider.aws: version = "~> 1.59"

Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
Jyotis-MacBook-Pro:terraform jyotisingh$ terraform plan
Error: provider.aws: : invalid or unknown key: access_secret_key

@Jyoti492 Your problem is not related to the module but relates to AWS provider configuration. Follow instructions as described here - https://www.terraform.io/docs/providers/aws/index.html


Implement Traversable#reject

Fix #2156.
P.S.
A also replace Map#removeAll, Map#removeKeys and Map#removeValues with reject* variant. With deprecation of course.

JDK9 build failed with Missing dependency 'object java.lang.Object in compiler mirror', required by /home/travis/.m2/repository/org/scala-lang/scala-library/2.10.5/scala-library-2.10.5.jar(scala/package.class)

@ruslansennov fixed.
Maybe move to milestone vavr-0.9.2?

fixed.

thank you!

Maybe move to milestone vavr-0.9.2?

this PR adds new methods to the Traversable interface, so it can't be included to the minor release

Codecov Report

Merging #2157 into master will increase coverage by <.01%.
The diff coverage is 98.82%.

@@             Coverage Diff              @@
##             master    #2157      +/-   ##
============================================
+ Coverage     97.45%   97.45%   +<.01%
- Complexity     5206     5239      +33
============================================
  Files            92       92
  Lines         11934    12001      +67
  Branches       1576     1578       +2
============================================
+ Hits          11630    11696      +66
- Misses          148      149       +1
  Partials        156      156

Impacted Files
Coverage Δ
Complexity Δ

vavr/src/main/java/io/vavr/collection/Set.java
66.66% <ø> (ø)
2 <0> (ø)
:arrow_down:

.../src/main/java/io/vavr/collection/Collections.java
94.44% <ø> (ø)
116 <0> (ø)
:arrow_down:

...r/src/main/java/io/vavr/collection/IndexedSeq.java
97.39% <ø> (ø)
37 <0> (ø)
:arrow_down:

...vr/src/main/java/io/vavr/collection/SortedMap.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

.../src/main/java/io/vavr/collection/Traversable.java
98.38% <ø> (ø)
101 <0> (ø)
:arrow_down:

vavr/src/main/java/io/vavr/collection/Map.java
100% <ø> (ø)
34 <0> (ø)
:arrow_down:

vavr/src/main/java/io/vavr/collection/Seq.java
98% <ø> (ø)
50 <0> (ø)
:arrow_down:

...vr/src/main/java/io/vavr/collection/SortedSet.java
100% <ø> (ø)
2 <0> (ø)
:arrow_down:

...vr/src/main/java/io/vavr/collection/LinearSeq.java
96.7% <ø> (ø)
20 <0> (ø)
:arrow_down:

...c/main/java/io/vavr/collection/SortedMultimap.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

... and 20 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 3365fd2...1984f49. Read the comment docs.


Landing page for a community website

Describe the project you want to add with tech stack
Landing Page for a community website
Expected behavior
Responsive, attractive looking website
Screenshots (optional)

@MohitGupta121

@PoulavBhowmick03 Okay no problem, Thanks


Runit doesnt work (for me)

Well, i try to make a Docke container for AMP (by CubeCoders) and tried everything i could, but i dont get it working, everytime i run my dockerfile, it exits instantly.
I cleaned my Dockerfile, so it is the absolute basic to make the whole thing atleast work.
Dockerfile:
FROM phusion/baseimage:master
RUN apt-get update && apt-get install -y openjdk-8-jdk-headless iputils-ping lib32gcc1 coreutils screen tmux socat git unzip wget libsqlite3-dev lib32stdc++6
EXPOSE 8080
RUN useradd -d /home/AMP -m AMP
RUN su AMP -c "wget http://cubecoders.com/Downloads/ampinstmgr.zip -O /tmp/ampinstmgr.zip"
RUN su AMP -c "cd /home/AMP; unzip /tmp/ampinstmgr.zip"
COPY script.sh /home/AMP/LaunchAMP.sh
RUN chmod 775 /home/AMP/LaunchAMP.sh
RUN su -c "rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* "
CMD ["./home/AMP/LaunchAMP.sh"]
script.sh:
#! /bin/bash
LICENCE
PASSWORD /password
USERNAME /admin
su - AMP -c "printf 'Port: $PORT\nLicense: $LICENCE\nPassword: $PASSWORD\nUsername: $USERNAME'"
su - AMP -c "/home/AMP/ampinstmgr CreateInstance ADS ADSInstance <IP_ADDRESS> 8080 $LICENCE $PASSWORD +Core.Login.Username $USERNAME"
su - AMP -c "/home/AMP/ampinstmgr StartInstance ADSInstance"
Does someone has an Idea, how i can solve this and what i have to edit, so the whole thing works with runit or doesnt exit itself. I know, i can just add something like "while true; do sleep 1000; done" at the end of my script, but thats not how i want it to work...

I don't think you've quite read all of the documentation about how to use runit...
https://github.com/phusion/baseimage-docker#getting-started
# Use baseimage-docker's init system.
CMD ["/sbin/my_init"]

When you set your own CMD, you've just skipped starting runit altogether.  "my_init" is not meant to be replaced by your own init script.  That's the actual script that starts runit.
I'm not sure that the documentation around this is as clear as it should be.  I'm pretty sure that the next entry after Getting Started is what you want if you're trying to start a daemon, but it looks like you've got a script for that which you want to use.  I'm guessing that what you've tried didn't work because "ampinstmgr StartInstance" is not running as a daemon (if it was, you probably wouldn't have noticed that runit wasn't working.)
So, continue past that section to the next:
https://github.com/phusion/baseimage-docker#running-scripts-during-container-startup
The baseimage-docker init system, /sbin/my_init, runs the following scripts during
startup, in the following order:

* All executable scripts in /etc/my_init.d, if this directory exists. The scripts are run in lexicographic order.
* The script /etc/rc.local, if this file exists.

And there you have it.  Instead of copying script.sh to /home/AMP, try copying it to /etc/my_init.d/ instead.  Then make sure you've set the CMD to /sbin/my_init and set it to executable if necessary, then watch it run on container start.
With the CMD set correctly to invoke runit, you should see the other services like syslog and cron spin to life, and your script will execute, then runit will keep the container alive until you asked it to end.  The only disadvantage of running this way is that, scripts in /etc/my_init.d are "fire-once" so if ampinstmgr is not responsible for keeping the server alive (I think it's not), then runit won't be trying to keep it alive either.  This may be fine, and you might never notice a problem.  But...
You would probably be better off dissecting ampinstmgr to see how it starts the server, and then writing a runit service as described in the middle section we skipped past, "Adding additional daemons" – this is using the full power of runit.  If any runit service dies, if I remember correctly I think the behavior will be to stop the whole container.  If you're using some monitoring or container orchestration, the container will most likely be restarted then and your service will come back up.
Don't be afraid of writing runit services, they are just shell scripts and not complicated at all!  There is a comprehensive guide to runit at http://www.mikeperham.com/2014/07/07/use-runit/ and it's very brief.  The only important thing to remember is that the process that your runit script runs must not terminate, or it will be restarted.  In other words if you have a choice when running your application binary between running in "daemon" and "foreground" mode, choose foreground, since daemon will fork and exec in the background, as runit will detect that as a quit and think it needs to restart.

Well, i think i was not clear enough, when pointing out my current stage. I tried this all, to a point, i understood it, but as u said, the documentation is not clear at some point and so i tried to figure it out by myself and was not able to get it working, so i resetted my whole dockerfile and script to a point, where it is as simple as possible and everyone would understand, what it does so noone gets confused by random things i tried to make it working.
I read, what u wrote and will try it out, if i need aditional help, i will come back.

Ok, checked it, and it seems to be working, more or less, the Docker Container stays alive, but the server itself doesnt. I went through the whole log and found this part:
[Debug] Working Directory: /home/AMP/.ampdata/instances/ADSInstance
[Debug] Arguments: +x "/home/AMP/.ampdata/instances/ADSInstance/AMP_Linux_x86_64"
[Debug] Started process with ID 52
[Debug] Building arguments list...
[Debug] Running AMP with configuration arguments...
[Debug] Starting process /home/AMP/.ampdata/instances/ADSInstance/AMP_Linux_x86_64
So it seems, that this process starts and stops the whole server, but now i dont know exactly, what i have to edit, to keep this process alive. Any Idea?
I tried to find something out about this deamon and foreground thing, but it seems like, its a deamon and there is no option to set it as foreground, so i guess, thats the reason, why it keeps shutting down everytime.

Did you try just setting that script +x and dropping it in /etc/my_init.d as-is?  That should have worked

FROM phusion/baseimage:master
RUN apt-get update && apt-get install -y openjdk-8-jdk-headless iputils-ping lib32gcc1 coreutils screen tmux socat git unzip wget libsqlite3-dev lib32stdc++6
EXPOSE 8080
RUN useradd -d /home/AMP -m AMP
RUN su AMP -c "wget http://cubecoders.com/Downloads/ampinstmgr.zip -O /tmp/ampinstmgr.zip"
RUN su AMP -c "cd /home/AMP; unzip /tmp/ampinstmgr.zip"
COPY script.sh /etc/my_init.d/script.sh
RUN chmod +x /etc/my_init.d/script.sh
RUN su -c "apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* "
CMD ["/sbin/my_init"]
I did, but it didnt work, as i said, i can make it working by adding "while true; do sleep 1000; done" to the end of my script.

More specific when you say didn't work... do you mean it didn't run script at all, or didn't keep the AMP process running, ... or the container itself quit?  I'm going to infer that you meant it didn't keep the AMP process running (since you said it worked if you sleep at the end of your script), but please correct if I'm mistaken about any of this.
So, that's interesting.  Try this instead in your script maybe? :
su - AMP -c "exec /home/AMP/ampinstmgr StartInstance ....

If your script runs (you see the output from script.sh, indicating that it has run) but your service terminates, I'm thinking it might be the actual feature and exactly desired behavior of runit: the point of a pid 1 process: it should reap zombie processes.
What's a zombie?  Well, when you start a process that spawns other processes, then quits leaving them behind... that's a zombie process.  Normally they are left around until your container terminates, then cleaned up automatically by Docker.  In baseimage-docker (in runit), this is considered a misbehavior.  You are expected to write a service file for the long-running process, so that runit can keep track of it and restart the process if needed.
I did not know it would do this, but from everything you've explained I think that's what's happening.

(So I think the solution is, back to what I said at the beginning:

dissecting ampinstmgr to see how it starts the server, and then writing a runit service

If ampinstmgr is inscrutable to you, try running it outside of a container, or examining the running container where you were able to get it running via sleep.  Look at the output of ps wwwuax and see if you can see what process it has left running behind.  That will give you a clue as to what your runit service script should do to get AMP running in the foreground, and leave ampinstmgr behind.
(Or, file a bug with AMP and ask them to provide an option for running in foreground mode.)

Ok, i am really really dumb... It works now (or it seems like).
I always checked, if the webserver is working, by trying to load its website but somehow it never did, then i realised, that my docker run command was missing something and i remembered, that --network host was part of it but didnt at the moment i tested it, so i added it and started it with the script and dockerfile we both figured out would work and voila, website is reachable and everything seems to work....

But you still helped me really out, i only managed to figure this out, by testing ps wwwuax and saw, that everything that should be running, was running, but the website was still not reachable.

Sounds like it's solved.  🎉 🌮 🥇


Requiring ambertools<23 breaks osx-arm64 install of version 0.12.0

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
The latest version of openmmforcefields specifies ambertools<23 as a dependency. This is a problem on the osx-arm64 platform where the only available version of ambertools is 23.3.
Installed packages
_libgcc_mutex             0.1                        main
_openmp_mutex             5.1                       1_gnu
bzip2                     1.0.8                h7b6447c_0
ca-certificates           2023.08.22           h06a4308_0
expat                     2.5.0                h6a678d5_0
ld_impl_linux-64          2.38                 h1181459_1
libffi                    3.4.4                h6a678d5_0
libgcc-ng                 11.2.0               h1234567_1
libgomp                   11.2.0               h1234567_1
libstdcxx-ng              11.2.0               h1234567_1
libuuid                   1.41.5               h5eee18b_0
ncurses                   6.4                  h6a678d5_0
openssl                   3.0.11               h7f8727e_2
pip                       23.3            py312h06a4308_0
python                    3.12.0               h996f2a0_0
readline                  8.2                  h5eee18b_0
setuptools                68.0.0          py312h06a4308_0
sqlite                    3.41.2               h5eee18b_0
tk                        8.6.12               h1ccaba5_0
tzdata                    2023c                h04d1e81_0
wheel                     0.37.1             pyhd3eb1b0_0
xz                        5.4.2                h5eee18b_0
zlib                      1.2.13               h5eee18b_0

Environment info
active environment : openmmforcefields-test
    active env location : /home/niels/miniconda3/envs/openmmforcefields-test
            shell level : 2
       user config file : /home/niels/.condarc
 populated config files :
          conda version : 23.5.2
    conda-build version : not installed
         python version : 3.11.4.final.0
       virtual packages : __archspec=1=x86_64
                          __cuda=12.3=0
                          __glibc=2.35=0
                          __linux=6.2.0=0
                          __unix=0=0
       base environment : /home/niels/miniconda3  (writable)
      conda av data dir : /home/niels/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/niels/miniconda3/pkgs
                          /home/niels/.conda/pkgs
       envs directories : /home/niels/miniconda3/envs
                          /home/niels/.conda/envs
               platform : linux-64
             user-agent : conda/23.5.2 requests/2.29.0 CPython/3.11.4 Linux/6.2.0-35-generic ubuntu/22.04.3 glibc/2.35
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

That combination isn't supported because AmberTools 22 doesn't build on Apple Silicon in this infrastructure. Attempts were made (https://github.com/conda-forge/ambertools-feedstock/pull/80 https://github.com/conda-forge/ambertools-feedstock/pull/85) but not successfully until the 23 release (https://github.com/conda-forge/ambertools-feedstock/pull/116).
You can still access this combination on Apple hardware via the CONDA_SUBDIR=osx-64 trick: https://stackoverflow.com/a/71554275/4248961
The best solution here is to update openmmforcefields to work with AmberTools 23: https://github.com/openmm/openmmforcefields/issues/280

#4 would also be a workaround for everything but GAFF

I knew this was going to be a problem when we noticed the regressions in ambertools23 for gaff stuff, I am not sure if getting ambertools22 built on osx-arm will even be possible


About page info

Ok, I think this is a good first pass. Let me know if there's any requested changes

This looks good, @Stargator, thank you for taking the time to overhaul it. I really like it a lot better now.

@kytrinyx Reword some of the information and corrected a typo

This looks really great! I'll pull it in as soon as the build goes green. Thank you so much for taking the time to help make this great. 🌷

Merged in 355e067ce8738d18498c4bf105e72526a1797827 thanks!


improve chain libs memory management

In js-chain-libs some methods use a local copies of data while others operate on the input memory directly. As a consequence, it's difficul tot know when it's ok to free the pointers.
Fortunately, we can safely free everything in react-native-chain-libs, because freeing a null pointer doest not throw any error.
So I added a .free() to all objects once they are not used anymore.

Closing since Jormungandr support was removed.


Casper is now Jamf Pro

"JamfProCheck" just doesn't have the same ring, does it?

Jamf did mention it would take a while for folks to stop using the term "Casper". I'll likely be a while thinking up a new name.


Added loader on location

I've added a boolean 'loadingLocation'. If this boolean is false, you see the btns. If the boolean is true, you see the loading dots

I've got a error on trying to lint, so maybe we could check this out together, @bkawk ?

/home/travis/build/swarmcity/SwarmCitySite/src/pages/page-location.html
204:9  error  Trailing spaces not allowed  no-trailing-spaces


Allow SOQL Query keyword to accept queries that span multiple lines

This lets you spread a SOQL query across multiple rows in the SOQL Query keyword.
Fixes W-10244357
Critical Changes
Changes

queries passed to the SOQL Query keyword can now span multiple lines.

Issues Closed

Let me push a fix for that failing test.


Implement Hightouch plugin

Implemented Hightouch plugin.
Had to use java.net.http.HttpClient instead of io.micronaut.http.client.HttpClient because Hightouch API throws 500 errors...
Did not figured out if it was a header problem. Tried several attempts without luck.
Implemented 3 tests :

Working trigger run Sync
Invalid syncId specified error
Invalid Bearer Token specified error

In order to make tests working, you need to define following configuration variables :

hightouch.sync-id -> SyncId you want to test with
hightouch.token -> your Bearer Token

Exemple of logs :

Example of task outputs :

Example of task metrics:

I'm no Hightouch expert but it seems peculiar that the same sync was marked as failed in Kestra while on the hightouch side it's marked as healthy -- this was for a run where no changes had to be made when syncing data from BigQuery to a Google Sheet -- is it expected?

Thanks a lot for your reviews ! I will make the changes this evening 👍

Should be fine now 👍


Resizing the flatpak app

Kubuntu 20.04
1 It would be nice if the Flatpak version could be more resizable. The smallest possible window is still pretty big. The Snap version is much more resizable.
2 Maybe an option to choose font size?
3 I am excited about this great app. Thanks!

Hi @shmu26, both the latest Flatpak and Snap releases are in the building process right now. If you check again in a couple of hours you should see 0.9.7, which propably solves a couple of your issues.
If not I would need to ask you to be more precise about the issues.

@shmu26, the Flatpak update has been release and you can check it out.

Can't reproduce it and author does not reply.


bugfix for scripts

As the title says, including:

invalid path
typos
the reported round in evaluation
add refs for fedscale

LGTM


MetalLB: possible solution for local desktop cluster ingress?

This looks interesting: https://metallb.universe.tf/

DUPLICATE: #1321


Can't use object variable in mapnew

Steps to reproduce
Run following vim9script
vim9script

class MyClass
    var somestring: string
endclass

var listOfClasses = []

listOfClasses->add(MyClass.new("hello"))

var newListOfClasses = listOfClasses->mapnew((_, v) => v.somestring)

Expected behaviour
There should be no error.
Instead, there is E715: Dictionary required
Version of Vim
9.1.105
Environment
debian
Logs and stack traces
No response

Possibly related: https://github.com/vim/vim/issues/12024 and https://github.com/vim/vim/issues/11822.
Generally speaking, E715 often happens when Vim script is not able to infer the types by itself, so the best cure is to be more explicit with type annotations. If you add all type annotations, your script works:
vim9script

class MyClass
  var somestring: string
endclass

var listOfClasses: list<MyClass> = []

listOfClasses->add(MyClass.new("hello"))

var newListOfClasses: list<string> = listOfClasses->mapnew((_, v: MyClass): string => v.somestring)

In fact, often a minimal amount of explicit typing is needed. In your case, you certainly need to type listOfClasses, because the type of the list cannot be inferred from an empty list. As it turns out, you also need to type the argument of the lambda (note that the error refers to the lambda):
vim9script

class MyClass
  var somestring: string
endclass

var listOfClasses: list<MyClass> = []

listOfClasses->add(MyClass.new("hello"))

var newListOfClasses = listOfClasses->mapnew((_, v: MyClass) => v.somestring)

I am not sure whether this can be considered a bug. I would say that the type system is not smart enough yet to figure out the types automatically in some cases—especially when lambda are involved.

the best cure is to be more explicit with type annotations

BTW, some tests I ran showed if the type annotations are used, the code executes faster. I guess there's less checking needed at runtime.

I am not able to reproduce this problem with the latest Vim (9.1.973).  Can you try to reproduce this issue with the latest Vim?

Confirmed. The OP's script now compiles and runs without additional type hints. Great!

Closing then


WIP: switch to bats for integration testing

This uses https://github.com/sstephenson/bats for integration testing using the compiled binary.  Huge thanks to @aluzzardi for recommending!  Details are in the readme.  This also removes the old integration tests (they were quirky anyway).
Note: To test a cloud provider, you will need the credentials loaded as environment variables.
You specify a DRIVER and bats will run the tests (commands) against that driver:
ehazlett machine> DRIVER=virtualbox bats test/driver.bats
 ✓ virtualbox: machine should not exist
 ✓ virtualbox: create
 ✓ virtualbox: active
 ✓ virtualbox: ls
 ✓ virtualbox: url
 ✓ virtualbox: ip
 ✓ virtualbox: ssh
 ✓ virtualbox: stop
 ✓ virtualbox: machine should show stopped
 ✓ virtualbox: start
 ✓ virtualbox: machine should show running after start
 ✓ virtualbox: restart
 ✓ virtualbox: machine should show running after restart
 ✓ virtualbox: remove
 ✓ virtualbox: machine should not exist

15 tests, 0 failures

/cc @sthulb @nathanleclaire

This looks awesome :)
Looking forward to use bats for https://github.com/docker/swarm/issues/376

This looks great! I could think of a few places to use it at work :)

Sweet!  Will have to give it a whirl.

@nathanleclaire @sthulb PTAL

LGTM. Can we get the core tests added to travis?

@sthulb i'm going to merge for now.  i will check on adding the core tests to travis as i'm not sure what the variable exposure is or whether we want to place keys there.  thanks!


Deploy tracing application to member clusters only

This application is enabling native tracing in Tekton so it is only needed on the clusters where we have Tekton, i.e. member clusters.

/lgtm
/approve

/retest-required


2394: Fix Header title for deep linking

Short description
removed t(previousRoute.name) as a fallback, as we do not have translations for route names, so I think this does never make sense.
Other option would be to set the back navigation to the city name, what would make sense for opening all deep links, as their back navigation is defined as the home screen of the city, but we would have to load data to convert the citycode to the appropriate city-display name. I think this quite of an overhead, and just having the back icon is fine.
Resolved issues

Fixes: #2394

@steffenkleinle thanks for the input, i fixed it. Also replaced the empty string for categories with the "local information" translation, but can change back to empty if this is preferred.


Can someone teach me  that CombineMoya post request is not working.

Version of Moya 15.0.0
Please wrap code blocks in backticks, like so:
func loginCombine()

{   let provider = MoyaProvider<API>()

    let cancellable = provider.requestPublisher(.login(phone: "087878787", password: "45454"))
    .sink(receiveCompletion: { completion in
        switch completion {
        case .finished:
            print("Network request failed:")
            break // Request completed successfully
        case .failure(let error):
            print("Network request failed: \(error)")
        }
    }, receiveValue: { response in
        if let statusCode = (response.response)?.statusCode {
            print("Status Code: \(statusCode)")
        }
        // Handle the response data as needed
    })
}

Please give us any sample code so that we can check this.
Also note that pod 'Moya/Combine', '~> 15.0' import CombineMoya is showing No such module 'CombineMoya'

Do not write the provider and cancellable inside the method. It should be used as a class attribute and hold


Adds Endpoint.toString that matches json

This adds Endpoint.toString for debugging. It uses json encoding so that
it is easier to compare with spans in zipkin.
Fixes #245

@schlosna I realized this wasn't as easy since we don't format json on endpoint upstream. took the punch to do the work. let me know if this works for you

@schlosna tomorrow I'll update base library to zipkin 1.13 which simplifies this as we just need to convert to zipkin.Endpoint then call toString(). afterwards will shortly release a Brave, assuming you're ok with the Reporter stuff sitting in master.

bumped


create/update parent model with in-exist child model doesn't fail

sails console
sails> User.create({pet: new bson.ObjectID().toString()).exec(console.log)
sails> null { name: 'clark',
  pet: '5382f2949a24ed95b44dc04a',
  createdAt: Mon Jun 30 2014 21:05:48 GMT+0800 (CST),
  updatedAt: Mon Jun 30 2014 21:05:48 GMT+0800 (CST),
  id: '53b160ac1b77069381b5babb' }
sails> Pet.find({}).exec(console.log)
sails> null []
sails> User.findOne('53b160ac1b77069381b5babb').populate('pet').exec(console.log)
sails> null { name: 'clark',
  pet: undefined,
  createdAt: Mon Jun 30 2014 21:05:48 GMT+0800 (CST),
  updatedAt: Mon Jun 30 2014 21:05:48 GMT+0800 (CST),
  id: '53b160ac1b77069381b5babb' }

This will create an user who has a pet, but the pet actually doesn't exist in pet collection.
I have checked the code, query/dql/create.js doesn't check the existence of associated models. If the value of the association is a primary key or contains a primary key, it will just pass.
It this a bug or intent?
In my project, there are cases that when the parent model are being created, the child model has already been destroyed. I expect that the parent model fails to create due to associating in-exist child models.

@particlebanana Not sure if it's the right place for this question...
TLDR: I would like to disable nested creation on some models and replace this behaviour with a find-link.

So currently the way the nested stuff works is if a primary key is used then it will simply try and link the items not create them. If a plain javascript object is used it will try and create the items.

Is there any way to change this behaviour on some models ?
When I use plain javascript objects as attributes for models creation, I don't want them to be created (plus, sometimes they already exists and they must be unique). I'd prefer them to be found and linked.


Corrected '0. Authentication' command

Description

The command shown was 'google auth login' but it should be 'gcloud auth login'
Motivation and Context

The command was not correct.
It solves a possible block following the tutorial for newbies as me on GCP.
This change protects us from searching in internet how to install the 'google' command that does not exist.

How Has This Been Tested?

[ ] Covered by existing integration testing
[ ] Added integration testing to cover
[ ] Tested locally
[X] Have not tested

Testing should not be necessary. It is a small change in the documentation. No code involved. It should pass or not the test as before the proposed change.
Types of changes

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

Checklist:

[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.

@juangascon Could you add a signed off by line for DCO using
git commit -s --amend --no-edit;git push -f

Done. As with PR #2251 :-)


Add tutorial 6_Inverse_Dynamics

See #116

@andreh1111 just noticed that this points to merging to main... can you change to the dev branch? we have all the development there before merging into main


Add alias to prune remotely deleted branches from the local space

Adding this command gbp (initials stand for "git branch prune") to remove local, clean copies of merged and pruned branches.
Best run after:
git remote prune <remote_name>
or
git fetch --all --prune (alias: gfa)

Ah!  I should change the description.   gbp doesn't just check if the branch was merged to master/dev/develop, but rather if the remote was deleted altogether.  That would include spikes and other temporary branches that may not ever get merged, but are deleted remotely nonetheless.  It also will work if your integrating branch is not named "dev" or "develop".

Hmm okay after a bit of testing I see they don't do the same. I'm not sure that I'd want this one though because it has many requirements:

Branches need to be tracking their upstream counterparts, which is not always the case. Normally you do git push --all which updates the remote branches but doesn't automatically set them to track them.
A branch has to be deleted in the upstream repository (while not being merged into master). Normally that would mean discarding a pull request from GitHub, which doesn't happen that often to require an automated command.

Because of 1 and 2, I can't see the usefulness in having a dedicated alias for something that only someone with a very specific workflow would find useful. You can of course add it to your zshrc file or turn it into a dedicated gitconfig alias.
Thanks

It's totally your prerogative.  The use case is for the day-to-day work on a company's code repository, and not for personal or open-source projects (it's probably not of much use in the latter cases).
For the day-to-day "company code" worker, the problem it's attempting to solve is getting rid of local copies of branches (branches usually not created by you) that litter your local workspace and may no longer need.
Let's say that over 2-3 sprints, you have checked out a bunch of feature branches because you have been doing peer code reviews.  Those branches will remain in your local space forever until you manually delete them one by one.  git pull -p and git fetch -p only prunes the branches from the remotes/* directory.
The catch is that those features got rejected --- or for any myriad of reasons just recreated under a new name and the old one deleted (this happens regularly in companies where you have a lot of developers, some new-hires, some coding cowboys, etc. who are still learning that company's dev team conventions).
Whenever this happens, it becomes your problem and your problem alone.  The team member has deleted the offending branch, but you're still left with a local copy, and gbp will not remove it because it was not merged.
Note: for case 1, you mentioned above:  you usually don't want to prune local un-pushed branches that are of your own, since those are probably just WIP, still working on tests, refactoring, or any other reason you don't wish to share your code with the team yet.


Icon request

infinity for reddit : https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforreddit
aliucord (it has the same icon as Discord but with a diffrent background so maybe link it?) : https://github.com/Aliucord/Aliucord
shizuku : https://play.google.com/store/apps/details?id=moe.shizuku.privileged.api

Yes Infinity for reddit!

I second this.
I use Aliucord (because f*** the original Discord app) and I would love to see the Infinity for Reddit app themed as well

Hello! Weʼre switching to a new system for icon requests in order to be able to better manage them. From now on, icon requests can be submitted here: https://forms.gle/Fx8vZAiWdW1Tyjo57. If your icon request hasnʼt yet been fulfiled, it has been copied to our new icon request database, meaning no action is required. Consequently, this issue will be closed.


consider archiving the project

Considering the lack of on-going development and limited maintenance we should do something so that newcomers don't get in a dead-end.
As original creator of the project I believe we should now archive it or at a minimum make a bold statement in the readme.
We should send future users to Knative which provides the same functionality with a huge development velocity.

Hi Seb! we appreciate your interest in the project. As you mentioned, there is active maintenance (we recently updated it to work with Kubernetes 1.16). In any case, we welcome active involvement and PRs.

@andresmgot you are talking about active maintenance on knative or kubeless?

I mean on Kubeless @pouledodue (I am not involved in the Knative project)

Hey Guys! This is an awesome project. We will use Kubeless in our production. It's in a POC state. I request you guys not to close this project.
Thanks

I've been using Kubeless for almost 8 months now and have a running on-prem solution running in production without problems. It actually helped to speed up the development faster than other frameworks like Garden, FnProject etc.

the project is definitely useful, but with other efforts like knative the long term sustainability of the kubeless is in doubt at best. Only Andres contributes to it now.

I would say that ** Kubless ** has more advantages than you think, for sure Kubless is very easy to implement because you don't have to install any extra network layer like it is required in Knative.
In my project, we just creating many different version of our application for QA team and auto-test, so it is important for us that K8s infrastructure is simple, use a minimum of resources and require a minimum of maintenance. From what I have seen in Knative documentation, it looks more complicated and uses more resources than Kubeless.
Of course, Knative is an interesting project, but I wouldn't say it is similar to Kubeless.


"Upload a file" screen is empty. And links won't open in browser.

Acknowledgements

[X] I have checked that there is no other issue describing the same or
similar problem that I currently have, regardless if it has been
closed or open.

[ ] This bug affects Discord website.

[ ] This issue is confirmed to be reproducible when WebCord is packaged
on at least all three latest supported Electron major releases.

[ ] This issue is reproducible in Chrome, Chromium or any
Chromium-based browser, e.g Brave or Edge (please write in
Additional Context which browser you have used if it is neither
Chrome nor unmodified Chromium).

[ ] There are no fixes done to master which resolves this issue.

[ ] My issue describes one of the unstable and/or not fully implemented
features.

[ ] I have found a workaround to mitigate or temporarily fix this issue
in affected releases (please write it in Additional context section
below).

Operating System / Platform
🐧 Linux
Operating system architecture
x64 (64-bit Intel/AMD)
Electron version
v32.0.1
Application version
4.10.1
Bug description
When I click on + and select Upload a File button, the file selection screen pops up but it doesn't detect any files. I can at least see some files on other parent files like etc, usr, app but home directory is completely empty. This doesn't happen in web browser version while using firefox.
Additional context
Well this is the first day of me using Arch Linux so I don't know what else to provide. I used hyprland and my DE and used hyprdots while installing. Also, WebCord came pre-installed with it. I can provide more info if needed

Edit: I just realized links wont open in my browser too. I use firefox

Are you using Flatpak, sandbox app or have MAC set up (e.g. AppArmor)? This could be that…

Well this is the first day of me using Arch Linux so I don't know what else to provide. (…) Also, WebCord came pre-installed with it. I can provide more info if needed.

I don't think WebCord is in the official repo ([extra]), so this can't be stock Arch. Especially with its customize it to your own needs design I don't think WebCord could be called as pre-installed for any Arch installation that would be installed as official…

Experiencing the same file select window issue. This worked fine until today, but now I can't upload any photos on the app.
Not 100% sure if this is a linux issue or a Discord issue as I'm pretty new to the space.
Running Fedora Linux

I suspect this is a sandboxing or MAC configuration issue, you need to run WebCord in unsandboxed enviroment or fix it yourself since the issue is not on my side (probably packager or your local admin issue). For fresh Linux users: check if you installed this from Flathub / as Flatpak.
If nobody can stand up with the answer, I suppose I might close this as invalid. I also cannot reproduce this in unconfined environment.


In Question Bank, admin can see all the program forms that use a given question

closing this issue as it's a duplicate of #2115


Transactions history doesn't work

As in title, all requests to "transactions" method gives {"code":0,"message":"action blocked"}...

Looks good to me:
function bb2($method, $params = array())
{
$key = "xx";
$secret = "xx";

$params["method"] = $method;
$params["moment"] = time();

$post = http_build_query($params, "", "&");
$sign = hash_hmac("sha512", $post, $secret);
$headers = array(
    "API-Key: " . $key,
    "API-Hash: " . $sign,
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, "https://bitbay.net/API/Trading/tradingApi.php");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$ret = curl_exec($curl);

return $ret;

}
$zuo = bb2("transactions");
print_r($zuo);


order menu items alphabetically in demo app

can we perhaps order the items in the drawer alphabetically in the demo app?
I'm new to this library and when checking out the demo I often get lost in the menu when looking for something specific.

Thanks!


'(does not exist) No such file or directory' when exporting to any type of file

The error shown in the picture occurs when trying to export to any type of file (even HTML without pandoc). I am on MacOS.

This happens for me too, I think it is because the picture files are in a sub directory, and the plugin does not pass the correct path to pandoc

Same issue here also, how to fix this issue?

This happens for me too, I think it is because the picture files are in a sub directory, and the plugin does not pass the correct path to pandoc

Same issue here also, how to fix this issue?


Corrupted backup with max compression on (Arch) Linux [restic 0.16.0]

Output of restic version
restic 0.16.0 compiled with go1.20.7 on linux/amd64
Edit: I now tested this also on MacOS, here is the output of restic version:
restic 0.16.0 compiled with go1.20.6 on darwin/amd64
How did you run restic exactly?

I used the default environment variables. More info on the command i used
in the following sections. Note that I was trying to backup about 800 GB of
data, but i also tested this on the specific subfolder that was giving me problems.
The subfolder can be downloaded here:
https://drive.google.com/file/d/1O3XnVzEY6tNCVRo8_TmS1s5_JV0rGOGZ/view?usp=share_link
What backend/server/service did you use to store the repository?
I used a local repository, i tried storing the repository on different HDDs and NVMe to exclude
a possible hardware failure, but got the same result (with the same hashes) from restic check.
Expected behavior

Restic check should not return any errors after backing up the folder.
Actual behavior

Restic check output:
using temporary cache in /tmp/restic-check-cache-4239199922
enter password for repository:
repository 952e5db1 opened (version 2, compression level auto)
created new cache in /tmp/restic-check-cache-4239199922
create exclusive lock for repository
load indexes
check all packs
check snapshots, trees and blobs
[0:00] 100.00%  1 / 1 snapshots
read all data
pack a7478fd99242cd86ddac79595494c07ff54165cf920554b49cab54c4946408fc contains 1 errors: [blob cf8f8df28d1de9f932ae567f10757c743bc9bf0020c636d27e98eae06b51df21: read blob <data/cf8f8df2> from a7478fd9: wrong data returned, hash is 2bc05a41d9c650277af6b02cd4bc69d6296a6ea532798e1062ec8fecb9dd3eb8]
pack fcd1c4bbdfe01bed5501125bc1a9704f08172dbaff92b632bb0cfe0243321aa2 contains 1 errors: [blob dc82d97be7683ecd41097ab02d7b15de81e8bbcd1c476c50b254b1f458090929: read blob <data/dc82d97b> from fcd1c4bb: wrong data returned, hash is 0b093d9ae6957ba8d3a1b09130623ba517e179347c3291af8d96fe954fd748f6]
[0:04] 100.00%  149 / 149 packs
Fatal: repository contains errors

Steps to reproduce the behavior

download files_to_backup.tar.gz from the provided google drive link
unzip files_to_backup.tar.gz
mkdir TEST_REPO
restic -r TEST_REPO init
restic -r TEST_REPO backup --compression max files_to_backup
restic -r TEST_REPO check --read-data

Do you have any idea what may have caused this?
I don't exactly know, but without compression max it works on this folder, but
that may be just a coincidence.
Do you have an idea how to solve the issue?
No.
Did restic help you today? Did it make you happy in any way?

I love restic, and hope this will be fixed soon, thank you.

Thanks a lot for the bug report! The underlying issue is a data corruption caused by the zstd library used by restic. I've opened an issue there and added minimal examples (46 and 70KB) from the backup dataset that are sufficient to reproduce the issue: https://github.com/klauspost/compress/issues/875

restic 0.15.2 is not affected by this bug.

You're welcome, and thank you for this awesome piece of software.

Note: You need to run restic check --read-data to verify that you are affected. Calculating the sha256 checksum of the files will not detect this bug/error.


Create current user view

Current user view with ability to change information (like email, password (this should go with Reset password page), name, customer wallet + waiter wallet if one is a waiter.

UPD:
[ ] show customer transactions and PEKOE balance
[ ] show waiter transactions and PEKOE balance


Mesh parameters in batch mode

Hi GmSAFIR developers,
In gmsh, it is possible to modify the mesh parameters (specifically element size factor) in the options>mesh>general menu. Is it possible to use this functionality in the 'batch' mode and if yes, which statement should be used and in which file?
Thanks in advance!
Best regards,
Florian

Sure. You can use the Mesh.MeshSizeFactor command in your GEO file.
Look at to deal with it here : https://gmsh.info/doc/texinfo/gmsh.html#Overview-of-Gmsh

This is a great reference, thanks!


Identity Scaffolding: Update readme about ef migrations

When the user creates a new DbContext, the readme should include information about running migrations, specifically:

dotnet ef migrations add initial
dotnet ef database update

closed in #767


[google_sign_in] Prepare plugin for federated implementation

Current plugins need to be moved around slightly to allow for other packages to coexist with them.
This is required for the federated implementation of plugins.
(Subtask of: https://github.com/flutter/flutter/issues/43771)

Landed


Update golangci-lint version

Issue #, if available: Not related to an issue
Description of changes: When running make run, the linter was failing to be downloaded due to versioning issue with Apple Intel based computers.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #252 (189d3a5) into main (05c0a97) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #252   +/-   ##
=======================================
  Coverage   71.14%   71.14%
=======================================
  Files          17       17
  Lines        1698     1698
=======================================
  Hits         1208     1208
  Misses        411      411
  Partials       79       79

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 05c0a97...189d3a5. Read the comment docs.


Creating a circle area via Circle Template causes unresponsive UI

Clicking measurement controls, and creating a circular area causes the UI to become unresponsive. Once a circular template has been placed on the map, selecting measurement controls makes it not possible to click any other tooltips, or add tokens to the map. Looking at the console we have the following error each time when clicking a tooltip.
Uncaught TypeError: hl is undefined
[Detected 1 package: system:sfrpg]
    highlightGrid https://vtt1.leinz.io/systems/sfrpg/module/template-overrides.js:84
    _refresh https://vtt1.leinz.io/scripts/foundry.js:43896
    refresh https://vtt1.leinz.io/scripts/foundry.js:25113
    highlightObjects https://vtt1.leinz.io/scripts/foundry.js:23997
    deactivate https://vtt1.leinz.io/scripts/foundry.js:30330
    activate https://vtt1.leinz.io/scripts/foundry.js:30299
    _onClickLayer https://vtt1.leinz.io/scripts/foundry.js:67137
    jQuery 2

Tested with brand new world and no modules enabled, same result.

Known issue that's already been reported; see #748 and  #736. It has been fixed in the current development branch and will be in the next release.


Issues/490 theme switcher

Description
Onlook studio theme switcher
What is the purpose of this pull request?

[X] New feature
[ ] Documentation update
[ ] Bug fix
[ ] Refactor
[ ] Release
[ ] Other

I am mega struggling to get this dumb arrow to comply with our styles, so any help there would be great 😓

because we have breaking changes in brand's tokens, I need this PR be merged before start theming editor. we can continue fixing bugs in timeline.


The defaulting should only be done after submission phase

[ ] The defaulting should only be done after submission phase.
the current validation updated the fields that is empty with default values, should not change users original form.

[ ] check all the fields that has this problem and then rank the priority

[X] And we should not change user already specified values in any phase.

Originally posted by @scarlett2018 in https://github.com/microsoft/pai/issues/3823#issuecomment-635154572

solution:

A new page for users who imports an exact config and directly submit it to api (quick access ui for api), enable user to edit config in an editor and do not add extra change.
If user submit job through wizard, some changes are inevitable. But still not add more properties and leave the null values for job protocol.

Where is the "new page for users"?


fix(tsc): tsconfig.json strict:true

change tsconfig.json
"strict" : true

There are a lot of null error, and current this PR is WIP, to make it compilable, we need to modify some interface such as Zone.current, Zone.currentTask, Zone.scheduleMacroTask, ZoneSpec.onXXX because they all may return null or undefined.
@mhevery , do you think we should do this now? it will have breaking change to zone API and may affect angular. please review, thank you.

can you resolve this?

@mhevery , this PR is not finished, I want to confirm that if we add strict : true, some API may changes (add optional ? or add | null type definition) such as
scheduleMacroTask(
      source: string, callback: Function, data: TaskData, customSchedule: (task: Task) => void,
      customCancel: (task: Task) => void): MacroTask;

will become
scheduleMacroTask(
      source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void,
      customCancel?: (task: Task) => void): MacroTask;

so should I do it now? it may have impact to angular

Yes we should do this. If angular changes will update...
On Tue, Mar 13, 2018 at 8:24 PM, JiaLiPassion<EMAIL_ADDRESS>wrote:

@mhevery https://github.com/mhevery , this PR is not finished, I want
to confirm that if we add strict : true, some API may changes (add
optional ? or add | null type definition) such as
scheduleMacroTask(
source: string, callback: Function, data: TaskData, customSchedule: (task: Task) => void,
customCancel: (task: Task) => void): MacroTask;
will become
scheduleMacroTask(
source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void,
customCancel?: (task: Task) => void): MacroTask;
so should I do it now? it may have impact to angular
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/zone.js/pull/1044#issuecomment-372892453, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAG1T62heNqX8xs_cNQksr5quwvIL9oXks5teI2BgaJpZM4SlVgT
.

@mhevery , got it, I will continue to finish this one.

@mhevery , I have finished this one and resolved the conflicts, please review. thank you.


Add influence plots, fit plot, ccpr

    # TODO: Add influence plots, fit plot, ccpr

https://github.com/mitchellggreenhalgh/mid-distance-webscrapers/blob/a28eaf5668685d73d6e6f564d7416cbf33ed876c/model.py#L200

Went in another direction, not needed.


Enhancement: Switch feature group in edit control

Branch 0.2
It would be good to be able to switch the feature group accessed by the edit controls without having to remove and recreate the associated draw control.

Oh crap, I needed this too :(
+1, it would be really useful.

+1 I would like this too. I have a map with a list of layers to the side. I want the user to be able to choose which layer he is going to edit.

How do I recreate the control

+1 Would love this. Has this been added?

I was looking for such an option, but I think I found the nice way:

featureGroup.addLayer(the-layer-you-want-to-edit) each time you select it
featureGroup.clearLayers() when you want disabling edition tools

since toolbars listen to add and remove layers event...
Don't you think ?

+1. I also need that functionnality =D

Anyone figure out how to get around this for now?
I've tried removing the toolbar, changing the options to a different layer, and then readding it, but I can still only edit items on the initial layer.

I don't understand why you would ever need this... can you give an example
use case?
On Mon, Jan 30, 2017 at 7:23 PM, Jake<EMAIL_ADDRESS>wrote:

Anyone figure out how to get around this for now?
I've tried removing the toolbar, changing the options to a different
layer, and then readding it, but I can still only edit items on the initial
layer.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Leaflet/Leaflet.draw/issues/66#issuecomment-276264807,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAzNEjROO23OnvUuo4LETjxm0YC4-im9ks5rXqlEgaJpZM4AaEII
.

Hey,
I was actually able to figure out that I misspelled featureGroup as
featuresGroup when setting to the new layer, which fixed this for me.
Anyway, I'm using it to edit multiple different layers that users can
add/remove via the sidebar.
On Tue, Jan 31, 2017 at 7:07 AM, Joseph Ryan<EMAIL_ADDRESS>wrote:

I don't understand why you would ever need this... can you give an example
use case?
On Mon, Jan 30, 2017 at 7:23 PM, Jake<EMAIL_ADDRESS>wrote:

Anyone figure out how to get around this for now?
I've tried removing the toolbar, changing the options to a different
layer, and then readding it, but I can still only edit items on the
initial
layer.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/Leaflet/Leaflet.draw/issues/66#
issuecomment-276264807>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAzNEjROO23OnvUuo4LETjxm0YC4-im9ks5rXqlEgaJpZM4AaEII>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Leaflet/Leaflet.draw/issues/66#issuecomment-276358217,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5sLeNThYKtwwxLO3F4Qk8s5B94o-sgks5rXzIAgaJpZM4AaEII
.

+1. I need this..
please share

+1

+1 from me as well.
I could not get the aforementioned method to add/remove layers to the feature group working. Once I cleared all layers from the feature group, those layers would not only be removed, but deleted entirely (or rendered inoperational in some other way). Since I need these layers in other parts of the application, I cannot have them manipulated in this way.


carthage --use-xcframework doesn't work for arm64 simulator

Bugs

Prebuild frameworks files doesn't contain dSYM folder
Carthage support xcframework and arm64-simulator. but excluded architecture still remain.
I think the commit https://github.com/realm/realm-cocoa/commit/7a812029d05890f35501dcbcb00f346ac196a7d9 was missed in merge process.

Goals
Support Carthage with xcframework
Expected Results
Carthage/Build/RealmSwift.xcframework contains:

ios-arm64_armv7
ios-arm64_x86_64-maccatalyst
ios-arm64_i386_x86_64-simulator

Actual Results

ios-arm64_armv7
ios-arm64_x86_64-maccatalyst
ios-i386_x86_64-simulator

Steps for others to Reproduce
just add realm-cocoa to Cartfile and run Carthage update
Code Sample
no code
Version of Realm and Tooling
Realm framework version: ?
v10.12.0
Xcode version: ?
12.5.1
iOS/OSX version: ?
14.5
Dependency manager + version: ?
Carthage 0.38.0

@kodok1988 , thank you for submitting the issue. This is a duplicate of #7151


Fix secondary rate limits URL and improve related documentation

It looks like GitHub is now designating "abuse rate limits" as "secondary rate limits": https://docs.github.com/en/rest/overview/resources-in-the-rest-api#secondary-rate-limits
The URL returned in the error response also changed, so this PR updates it so that these errors can properly be caught again.
This PR also includes a suggestion to update the main documentation page to mention this error type, to make it more discoverable.

Thank you, @pierce-m !
Merging.


Correction for raw affiliation Sorbonne Université, CNRS, LIP6, Paris, France<EMAIL_ADDRESS>

Correction needed for raw affiliation Sorbonne Université, CNRS, LIP6, Paris, France<EMAIL_ADDRESS>raw_affiliation_name: Sorbonne Université, CNRS, LIP6, Paris, France<EMAIL_ADDRESS>new_rors: 02en5vm52;02feahw73;05krcen59
previous_rors: 02en5vm52;02feahw73
works_examples: W3212577996
contact: e918b4cc5ed969aa89cf92b53ca27480:5736e86bd45e6fc49a312d709b @ sorbonne-universite.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


Inconistent date format when using showMultiDayTimes

Do you want to request a feature or report a bug?
bug
What's the current behavior?
Format for dates is different for multi day events and non multi day events.

localizer:
BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment));

dependencies:
<EMAIL_ADDRESS><EMAIL_ADDRESS>What's the expected behavior?
Same format is used.

This is intentional, you can change all the event range formates to match if you want them to be the same. Thanks!

I don't understand why the default format for multi day events does not match the default format for single day events. I get that I'm able to change the format but why do I provide a localizer if that localizer is not used by default?
Maybe I didn't make myself clear: The issue is not about the format of the range but the format of the time which should be formatted equally regardless of multi day event or not.

O! I see what you're saying, yes that seems to be a bug with the moment localizer.


Improve various things around chunk encoding.

A number of mostly minor things:

Rename chunk type -> chunk encoding.

After all, do not carry around the chunk encoding to all parts of
the system, but just have one place where the encoding for new
chunks is set based on the flag. The new approach has caveats as
well, but the polution of so many method signatures is worse.

Use the default chunk encoding for new chunks of existing
series. (Previously, only new series would get chunks with the
default encoding.)

Use an enum for chunk encoding. (But keep the version number for the
flag, for reasons discussed previously.)

Add encoding() to the chunk interface (so that a chunk knows its own
encoding - no need to have that in a different top-level function).

Got rid of newFollowUpChunk (which would keep the existing encoding
for all chunks of a time series). Now only use newChunk(), which
will create a chunk encoding according to the flag.

Simplified transcodeAndAdd.

Reordered methods of deltaEncodedChunk and doubleDeltaEncoded chunk
to match the order in the chunk interface.

Only transcode if the chunk is not yet half full. If more than half
full, add a new chunk instead.

@juliusv

:+1:


PlutoColumn title alignment

If I want to center the title of the column or modify the text format, current is title string parameter, it does not seem to be supported at present, can it be supported widget?

A feature should be added.

Updated 2.6.0