Add localPosition function to Graphics.Input module for finding mouse position relative to Element position.

Note: This is the first time I've written any JS - any review of this would be greatly appreciated!
This is a follow up to the discussions here and here in regards to providing a function that exposes the mouse position relative to some given Element. I needed this functionality so that I could design a custom slider widget for my business' web page, so I thought I might as well be the one to have a go at implementing it!
This should be useful for any kind of GUI work that requires knowledge of the mouse/touch position relative to a specific Element (sliders, precision number dialers, knobs, envelope editors, games). I guess it should also make implementing drag-and-drop a bit easier.
I was able to test this locally by drawing a few elements and logging the messages produced by localPosition to the console - everything seems to be working fine. I can add this test to the tests directory if necessary, but I thought it might be out of place as all of the other tests are automated whereas this test requires the user to move the mouse around and check the logs.
The event is currently triggered on any movement of the mouse within the window. It may also be useful to trigger this event when the Element's position changes, however I was unsure how and where would be best to do this within the JS?
Also, apologies for the spaces vs tabs! I didn't realise tabs were used originally until I checked the diff of this PR. I can go through and change them to tabs if you feel its necessary :+1:
Again, any feedback appreciated :smile_cat:
Edit: Just fixed the indentation to use tabs like the original.

LGTM :+1:

+1

Nice,
here's my suggestion :
Add a function
localPositionCollage : ((Float, Float) -> SignalMessage) -> Element -> Element
when you want the position from a Collage-Element. The problem is that you have to keep track of the size of the Collage, if you want to get the position.

@evancz closed a couple PRs recently encouraging contributions to external packages as part of a long-term review process. Perhaps circuithub/elm-graphics-shorthand? Otherwise a new elm-graphics-extra sounds useful!

@dnalot, it seems unlikely that (putting this into an ...-extra package) could work here. Note that @mitchmindtree had to touch properties and functions deep within Native/Graphics/Element.js. Really changing existing functions there, not just adding new functions that could as well live in some other module. So how should this work as an extra, independent package?

If not merged I think it could be tackled as follows (from hacking on ExtJS and iOS). Please fork my Gist in case I delete it later.

@dnalot And then what? Who will call this new newElement method to set up elements with potential for "local position queries"? Note that all element creation functions in Graphics.Element will still ultimately call the newElement method from core's Native/Graphics/Element.js, not from the hypothetical new package's implementation (in file Native/Graphics/Extra/Element.js or so).
Hence, something like
Graphics.Extra.Input.localPosition (message ...) (Graphics.Element.show "abc")

would not work, since the element created by Graphics.Element.show was created with the wrong/old newElement method.
(Of course, this does not just pertain to element creation, but also to other functionality in Native/Graphics/Element.js, which is not simply replaced by methods from Native/Graphics/Extra/Element.js just because that latter file now exists.)
Okay, so then let's recreate the whole API of core's Graphics.Element stuff in the new elm-graphics-extra package, and force the programmer to write the above as
Graphics.Extra.Input.localPosition (message ...) (Graphics.Extra.Element.show "abc")

instead? Hmm, not really workable either. It will fail as soon as the programmer wants to additionally use some other package that also creates Elements and that does so by using Element from the core package. So the poor programmer who wants to use Graphics.Extra.Input.localPosition would now also have to go and replicate that third-party package in order to swap out all its uses of Element stuff from core for ones that use the new element stuff from elm-graphics-extra, ...
So, I still think that such a change (like adding localPosition) is impossible in some extra package. It needs to be done in core or it won't exist.

The criticism about not interacting with other Element APIs has to do with Elm's design. I proposed an API level change to fix that and is relevant to every -extra package. You could easily marshall between though. You can also proxy every function you need to call as I did here. I'm doing something similar on my own. The thrust is Elm has been very conscientious about not adding API without it being vetted apart from the official core library. Maybe it would be helpful to consider how to make the JavaScript parts more extensible? I saw a similar difficult adding Date.now. Regardless I was just trying to help be letting you know the resolution of similar issues and an alternative strategy. Code looked good except for minor white space changes contrary to Elm's two line function desperation convention.

PS I failed to address your comment about the proxy API looking horrible. Naturally you would just do import Graphics.Element.Extra as Gx or something. I can help with marshalling if you guys are interested.

Sorry, I'm afraid we are misunderstanding each other. My point here is that it is not enough to "proxy every function I [if I were the author of an -extra package that wants to change the behavior of Elements] need to call". The point is that other, completely unrelated packages call functions that create (normal) Elements, and I would have no way to change that, or make them call other functions or go through any proxies.
Say I want to implement localPosition. It turns out I need to change how the Element objects in JavaScript are created. I'm barred from changing how they are created in core, because I'm supposed to implement my stuff in an -extra package instead. So, sure, I can create a new package, with a new module, and give it a native implementation that creates a slightly different kind of element (which is prepared to support my localPosition function). I can even reuse much of the core functionality, by writing my own functions as proxies that just add a bit here and there, and otherwise call the corresponding functions from core.
But then, someone imports both my -extra package and some other package that deals in Elements. That other package has nothing to do with localPosition or with my package. But it contains some functions that give back Elements. So someone wants to apply localPosition on those Elements. But those Elements were created (by the other library) using the standard core functions for dealing in Elements. They never went through my proxies from the -extra package. So when my localPosition function meets them, it doesn't find what it expects, and crash.
I don't see how your proposal addresses this, but maybe I'm not seeing the full picture of it. Anyway, if your other library is indeed tackling a similar problem, and comes up with a working solution, maybe it can be ported here.
(Asides: I don't think this is "relevant to every -extra package". There are plenty that work fine without any such problems, because they are not trying/having to change a core type. Also, I didn't have a concern about the API looking horrible. Of course, qualified imports address this. The issue was not about writing Graphics.Extra.Input.localPosition (message ...) (Graphics.Extra.Element.show "abc") vs. Graphics.Extra.Input.localPosition (message ...) (Graphics.Element.show "abc"). The issue was about the fact that the show call in question might not be under my control. It might be an Element that comes from a third-party library, and I don't have the power to make that other library use functions from Extra instead of from core.)

Mentioning elm-lang/core#332, so this PR shows up there for potential further discussion.

Any note on the status of this? Is the unimplemented trigger on Element movement a blocker? This is a rather useful piece of functionality that I would be sad to see wither away on the vine.

@changlinli, it's not even clear (to me, at least) whether Graphics.Element (with Graphics.Input) will still be a supported thing in the next release of Elm. The mailing lists contain some discussion of this, and one message I took from that is that Graphics.Collage may survive in some form, but Graphics.Element less likely so.

@jvoigtlaender Re potentially dropping Graphics.Element, could you possibly provide a link to the said discussion? Depending on where this change is made, as noted here the absolute position of a Form could be something useful to have also.

See the exchange after this message.
Also, linked from that exchange was this thread. There, it is proposed to "deprecate Graphics.Elements" and Evan answers "I'm thinking of doing something like this [for 0.17]."

@jvoigtlaender Thanks for the above - since Graphics.Element is to be replaced by elm-html it would seem there would be no way explicitly use getBoundingClientRect(), or any other JS method for this change.
An interop could possibly do it - getBoundingClientRect() could be referenced in a file called Ports.js included in the package src/ - then the elm-html function would have to make sure
<script type="text/javascript" src="Ports.js"></script>

is included in the output, and use element ids referenced in Ports.js.

I'd be more than happy to close this in favour of having elm-html provide something like this (perhaps along with other related Signals) if it is indeed becoming the preference over Element :+1: It's generally nicer and less restrictive for the compiler if we can move features like this into a lib.
The reason I originally took the approach of adding this directly to core was that I couldn't see any other way of achieving the same functionality at the time. If it turns out we can now achieve this using Ports, I'm all for it!

Sorry for the slow reply. The Graphics.Input module did not make the jump to evancz/elm-graphics and the way to get this functionality will look different for HTML when it happens.


RFID RC-522

Is your feature request related to a problem? Please describe.
RFID rc-522 support for per spool quick ID and possibly filament usage tracking ? like on the bambulab AMS ?
Describe the solution you'd like
The rc-522 module would need to be connected to the printers raspberry and communicate with the spoolsman instance that is on an other pi as most of us at least myself host spoolman on a proxmox server… (this would require a spoolman client that acts as a proxy for the spoolman instance…
Describe alternatives you've considered
the elephant in the room….QR code exists…but the ease of use is…worst…
Additional context
i would happily contribute, i can also work on a hardware integration for a voron 2.4.

also btw, i just saw now that there are already an active development by other users…
i will work on my side on a hardware setup for it and if someone wants to help me with the software part…or at least guide me where to start tinkering it would be super helpful.

Hey I had a similar idea to this yesterday and started working on it today.
I'm not great with coding but I'm using what I know.
I took an old ESP8266 and loaded ESPHome on it. I was then able to add an SPI bus and the RC522 to that bus. For now I have it posting the UID to webhook.site just as a test and so far its working well. I ran into an issue relizing the RC522 cant read NDEF data. So I'm waiting for a new NFC reader.
The idea is to set a text field on each NFC tag with the spool ID. ESPHome will read that text field and send a post request to moonraker. Moonraker will then set the active spool and sync usage back to spoolman.
I have found some problems with this setup such as,

Needing yet another piece of hardware.
Having to manually set NDEF data on each NFC card.

I think it would work better if it was a plugin in moonraker. This way it could read the NFC UID and use that as a unique identifier for each spool. If it finds the UID in Spoolman then it sets it to the current spool, If not it could prompt the user in moonraker to make a new spool in Spoolman.
The real reasons I came to issues was looking for a feature request on custom fields so I can use it for the UID.
TBH this might drive me to learn Python enough to finish this. I know you cant use this not but its an idea.

Hey I had a similar idea to this yesterday and started working on it today.
I'm not great with coding but I'm using what I know.
I took an old ESP8266 and loaded ESPHome on it. I was then able to add an SPI bus and the RC522 to that bus. For now I have it posting the UID to webhook.site just as a test and so far its working well. I ran into an issue relizing the RC522 cant read NDEF data. So I'm waiting for a new NFC reader.
The idea is to set a text field on each NFC tag with the spool ID. ESPHome will read that text field and send a post request to moonraker. Moonraker will then set the active spool and sync usage back to spoolman.
I have found some problems with this setup such as,

Needing yet another piece of hardware.
Having to manually set NDEF data on each NFC card.

I think it would work better if it was a plugin in moonraker. This way it could read the NFC UID and use that as a unique identifier for each spool. If it finds the UID in Spoolman then it sets it to the current spool, If not it could prompt the user in moonraker to make a new spool in Spoolman.
The real reasons I came to issues was looking for a feature request on custom fields so I can use it for the UID.
TBH this might drive me to learn Python enough to finish this. I know you cant use this not but its an idea.

Wow that's great !
Thanks for your work
The only thing that's gripping me with this integration is that it uses HA if I understand correctly ?
Maybe it would be good to look for a way to have the I2C bus on the raspberry pi instead, so we do not need any other hardware ?
then maybe have something like this :
https://pypi.org/project/remote-i2c/
Which could run in parallel of moonraker/klipper and transfer the I2C tag reader to the device that hosts spoolman and have a second script that checks for the UID and compares it to the database where everything is happening greatly reducing code complexity and not having to deal with moonraker APIs
Then your proposed way of handling UID seems pretty straightforward...
I know a bit of python I started learning it for work stuff so I will try that approach...
The stuff that will lack in this integration will be my front end integration I absolutely suck at anything UI so I'll try something and report back my findings once I have something...but it will most likely be in the form of a CLI...
But there's already something and i don't think it's that complicated to make (hopefully)

I have an implementation for that here:
https://github.com/bofh69/nfc2klipper/
I've not tested it so much yet, but so far it seems to work fine for me.
I use a PD532 connected to the rpi's UART. nfcpy also supports other ways of connecting NFC readers, I think.

I have an implementation for that here: https://github.com/bofh69/nfc2klipper/
I've not tested it so much yet, but so far it seems to work fine for me. I use a PD532 connected to the rpi's UART. nfcpy also supports other ways of connecting NFC readers, I think.

That's neat thanks, i'll look into that!


ServerMinions problem

Hello
How to make serverMinions started to work after I start playing, but not when I go to a server?

Add in gamemode, to, when player connect, add minions from him.

You should THINK, what you ask, how would the server know, who owns the minion?
@MastaCoder close this :-1:

@gyeyoqu All right... If the server doesn't know who owns the minions, how does the server know where to move them to?

I am laughing so hard what @gyeyoqu just said


Proposal to better support query params in workbox.routing.NavigationRoute

Library Affected:
workbox-routing
Browser & Platform:
all browsers
Issue or Feature Request Description:
We found that we have to leverage the blacklist option to bypass service worker in a number of cases, specifically when some query strings are present. We would likely to be okay if we keep on using the regex to detect specific query strings, but am wondering if we could make this more robust by leveraging on location API.
This would likely change the API of the whitelist/blacklist configuration options like the following:
new workbox.routing.NavigationRoute(
  handler,
  {
    whitelist: [
      /^\/$/,
    ],
    blacklist: [
      /[&?]abc=/,
      { type: 'search', key: 'abc' },
      { type: 'search', key: 'foo', match: 'bar' },
      { type: 'search', key: 'bar', match: /1234/ },
      { type: 'hash', match: '12345' },
    ],
  },
);

How do you folks feel about adding this support?

Hello @raejin—The blacklist option currently matches against a string that consists of url.pathname + url.search:
https://github.com/GoogleChrome/workbox/blob/49f3d216fe79b2359ff88fb10ca5387dd5cb7bf4/packages/workbox-routing/NavigationRoute.mjs#L93-L101
I think that already gives you the behavior you're asking for, while keeping the same basic RegExp syntax for everything. You need to get a tad more involved with your RegExp, but it's nothing too bad:
new workbox.routing.NavigationRoute(
  handler,
  {
    whitelist: [...],
    blacklist: [
      'foo=bar',
      'bar=\d{4}',
      // etc.
    ].map(fragment => new RegExp(`\?.*${fragment}`)),
  },
);

I'm going to close this issue for now, but if I'm misinterpreting your request, feel free to comment and I'll reopen.


GOGO LOCO height breaking

when the optimizer is run on a model with gogoloco in it it appears to break the height function of gogoloco, with only the feet moving. i am using optimizer version 3.6.1 and the vrcfury prefrab for gogo 1.8.3 with vrcfury version 1.859.0
i have confirmed that this issues does not occur when the optimizer is not used, but when it is it breaks the height function
even with only optimize on upload ticked it still breaks.

I can confirm that that happens to me as well.

I can confirm as well. on Unity 2022.3.22f1.

I can't reproduce this issue. Where exactly does it break for you?

In game
In editor with gesture manager
In editor with av3 emulator

I am myself not familiar with gogo loco but I tested it on an avatar with av3 emulator in editor real quick and toggling any of the sitting/lying down animations and then using the ufo slider does move the entire avatar up and down.

In game

Sadly, it seems that the Unity editor doesn't showcase the issue. All I know is that having the optimizer active causes ggLoco to break in-game. Desktop or while in VR.

my testing was done on an avi with all toggles etc stripped out, only a base mesh + avi descripter, with gogoloco via vrcfury prefab, and using the optimizer with only "optimize on upload" ticked (no other options)
re-looking into it, i may have accidentally left the ASL controllers on, but i dont think thats the cause.
either "optimize on upload" has some extra functions that cant be turned off, or the very script itself is doing something that is messing with gogo locos functions.
this is an issue categorized here in the gogo loco docs, and claims its often an issues caused by things messing with the action layers
in personal talks with the creator of GOGOLOCO (you can join the discord to get in contact with them if need be) they said
"Probably because they remove the go empty animation
Since the path is broken on purpose"
which is just speculation on a possible issue as far as i know. (i don't think they looked into the actual code of this optimizer)
it also seems to have some relation to the switch to the newer version of the unity editor (2022.3.22f1 instead of 2022.3.6f1) though i have not tested to confirm if this issue is unique to 2022.3.22f1

either "optimize on upload" has some extra functions that cant be turned off

it does do several things always. see the readme for a list.

"Probably because they remove the go empty animation Since the path is broken on purpose"

I specifically handle cases where all curves in an animation get deleted because they don't reference anything by injecting a new broken binding with a length that should match the longest deleted curve.
Either that part broke somehow or the unity version bump changed something about asset serialization that makes something not save correctly. The second would explain it working in editor but not in game.

Either that part broke somehow or the unity version bump changed something about asset serialization that makes something not save correctly. The second would explain it working in editor but not in game.

I actually want to talk about that since I know that your script had an issue with the Dex clone system that would error out the serialization a while back, and they had to hack their code to fix the issue.

It wasn't the serialization and instead the first thing. The broken curve I generate doesn't work in 2022.3.22f1 because I used EditorCurveBinding.DiscreteCurve instead of EditorCurveBinding.FloatCurve
Switching to the latter does solve this issue and also #99


Fix typo in format conversion specifier.

#0

Coverage remained the same at 100.0% when pulling e8714ab2ab46584278f6d31b30b891ba090677ec on Hacklin:fix-typo-format-1 into 20b32347ffb53378912939ba3603ab331d2c6f5f on martin-damien:master.

Thanks


TeamworkTeamTrait owner() method should be a BelongsTo relationship

Currently the relationship of the Team model is using the incorrect join.
The owner() relationship on the Team model should be a belongsTo() relationship as the Team model has the owner_id column.
The original code does work but with implementation of Laravel Nova it becomes an issue as they require a BelongsTo join to properly function.
https://github.com/mpociot/teamwork/blob/4de34f53c44757030ed54dde5f69fe48b7a207e1/src/Mpociot/Teamwork/Traits/TeamworkTeamTrait.php#L35-L46

This should be fixed now.


Validator able to actively catch up when blocked on a cert due to out-of-dated object state

When a validator unable to execute a certificate because of out-of-dated object state, it can try to update itself on the spot.

I believe that once my execution driver changes are in, validator will always be able to sync any valid certificate.


geoform on android device

alon.abramson says:
I’m having loading issues with the geoform on my android device. Have you run into this problem before? I’m unsure why this may happen, as the form is simply loading through an iframe. Would love some advice here.
http://blogs.esri.com/esri/arcgis/2014/09/25/the-geoform-graduates/#comment-7421
Need to test GeoForm through iframe on android device.

Experiencing the same issue on Chrome (42.0.2311.111).  The result is just a perpetual loading screen.
While Remote Dubugging Android with Chrome the console error message is:
"ReferenceError: $ is not defined
    at declare._setAppConfigurations (http://ontarioregion.maps.arcgis.com/apps/GeoForm/js/main.js:1:12331)
    at null.<anonymous> (http://ontarioregion.maps.arcgis.com/apps/GeoForm/js/main.js:1:44427)
    at http://js.arcgis.com/3.13/init.js:4:16209
    at c (http://js.arcgis.com/3.13/init.js:2:13244)
    at d (http://js.arcgis.com/3.13/init.js:2:13033)
    at resolve.callback (http://js.arcgis.com/3.13/init.js:2:13875)
    at ia (http://js.arcgis.com/3.13/init.js:5:167874)
    at Pa (http://js.arcgis.com/3.13/init.js:5:168849)
    at oa (http://js.arcgis.com/3.13/init.js:5:168681)
    at http://js.arcgis.com/3.13/init.js:5:173375"

hmm. I'm having trouble installing chrome on my emulator. It does seem to work with the default android browser. I'll have to get my hand on a physical device to test.


update requirements.txt and dev_requirement.txt

Hi @rahulshivan05,
why do you think this is a good idea?


No logs, not moving jobs to queue

I started a scheduler instance on the default queue, but I received no output on the terminal. The process was still alive, but why wasn't there any output?
Then I've enqueued a task using enqueue_in and a timedelta of 5 seconds. I haven't received again no output on the terminal, but I could see the job with get_jobs(). After the timedelta expired, the job disappeared from get_jobs(), but it didn't show up in the default RQ queue.
Am I missing something or doing something wrong?

Looks like you can use -v to get verbose logs:
https://github.com/ui/rq-scheduler/blob/46b29da/rq_scheduler/scripts/rqscheduler.py#L45-L49
Can you post your code you're using to enqueue? Are you running a worker? Maybe it got picked up by a worker.
Another thing I've found useful in debugging rq / rq-scheduler is to use redis-cli monitor to watch all the redis commands as-they-happen.

Seems that I have no -v flag available:
(venv)linkyndys-MacBook-Air:prji linkyndy$ rqscheduler --help
usage: rqscheduler [-h] [-H HOST] [-p PORT] [-d DB] [-P PASSWORD] [--url URL]
                   [-i INTERVAL] [--path PATH] [--pid FILE]

Runs RQ scheduler

optional arguments:
  -h, --help            show this help message and exit
  -H HOST, --host HOST  Redis host
  -p PORT, --port PORT  Redis port number
  -d DB, --db DB        Redis database
  -P PASSWORD, --password PASSWORD
                        Redis password
  --url URL, -u URL     URL describing Redis connection details. Overrides
                        other connection arguments if supplied.
  -i INTERVAL, --interval INTERVAL
                        How often the scheduler checks for new jobs to add to
                        the queue (in seconds).
  --path PATH           Specify the import path.
  --pid FILE            A filename to use for the PID file.

I've installed the latest RQ Scheduler, so I find this weird. I've checked the sources and logs are set up exactly like in the RQ project, and those work as expected.
Regarding your second suggestion, redis-cli monitor is indeed very helpful, thank you! I found out that I was erroneously passing a Queue object, not the queue name when fetching a Scheduler.

Oh, I see. The latest release on pypi is 0.5.0 from 2014-04-04, while that verbose flag was added 2014-06-28. @selwin do you plan on releasing a new version to pypi?

So that's why. Anyways, shouldn't the default behavior be to display something to the user? At least the basic things RQ does (process started, job received and scheduled, job moved to queue etc.).

There were some logging changes in the 0.5.0 release but as far as I know, the start up process is displayed to the user, the message that rq-scheduler is waking up to enqueue jobs should also be displayed.
Could you try running version 0.4 to ensure that there's nothing in your local configuration that prevents the logs from showing up?
Sent from my phone

On Feb 17, 2015, at 12:54 AM, Andrei Horak<EMAIL_ADDRESS>wrote:
So that's why. Anyways, shouldn't the default behavior be to display something to the user? At least the basic things RQ does (process started, job received and scheduled, job moved to queue etc.).
—
Reply to this email directly or view it on GitHub.

@lost-theory yeah. I'll try to release a new bugfix version this weekend.

@selwin I tried installing 0.4.0 and it's the same: no output. What should I look for? I mention that RQ output works.

Same problem here I guess ..

I think this change in rq broke the logging in rq_scheduler. The scheduler relies on setup_loghandlers() which no longer configures the root logger, just the rq.worker. But the scheduler logs to rq_scheduler.sheduler, which is left unconfigured. I think the best approach for now would be to handle logger configuration independently.

@iafilatov thanks for narrowing down the root cause of this issue. Do you mind making a PR to configure the log handler for rq.scheduler ?

Please check out if #86 is ok.


Fatal exception in 0.7.7

I'm getting this error after installing 0.7.7. Works just fine in 0.7.6.
Unhandled JS Exception: In this environment the target of assign MUST be an object.This error is a performance optimization and not spec compliant.
I'm guessing it's because of https://github.com/react-native-fellowship/react-native-blur/commit/3c0fd0d6ba7acde6119487bcfa7eca0215bb44d7

:+1:

oh, it seems we need to add style to defaultProps

same here.

I'm going to push a major release soon. So I'm not going to patch a version in npm specifically for this one. Stay tuned.

Thanks for fixing this!


train

when i train the model,there's a problem

please me again!

epoch is here : https://github.com/PRIS-CV/Mutual-Channel-Loss/blob/4e2773595a0e0e95726a09f651d3c4e66dbd9945/CUB-200-2011_ResNet18.py#L405

Line 405 exists,but  it still doesn't show up"fixture 'epoch' not found".what make this?

you need to check your code carefully.

ok , i will.thank you very much.


Add a cleanup handling interface to route agent

This removes technical debt where specific knowledge
related to cable drivers was implemented in the route-agent.
Introduces an interface which can be exposed from multiple
places, for example can be used by [1] to improve the
separation of concerns in the code.
[1] https://github.com/submariner-io/submariner/pull/762
Co-authored-by: Sridhar Gaddam<EMAIL_ADDRESS>

Looks good. A nit would be to rename default_cleanups.go -> default_cleanup.go for consistency.

That's too nitpicky ;-) it's actually multiple cleanups inside ;) but ok :-)


Add pkg-config support

This hasn't made a difference for me (yet), but it appears to be correct.

Correction: it is making a difference, and it works.

I am grateful for your efforts, but I considered using pkg-config some years ago, and rejected the idea because portability is an obsession for me with libMarpa, and every new tool is a point of failure.
Since then I've encountered the Lua installation methods which made me realize that I didn't need CMake -- that CMake itself is an unnecessary point of failure.  My highest priority is to avoid the risk that change of any kind imposes, so there is no immediate plan to remove CMake.  But if I have to move, CMake removal is the direction I would take.
For these reasons, my inclination is to not incorporate this change in the upstream.  I'll let this pull request sit for a couple of days for discussion.  If nothing occurs that changes my mind, I will close it.
I realize that this highly conservative policy of mine may be more restrictive than some libMarpa users can live with, but these users can, albeit at the cost of some trouble, fork.  Some authors regard a fork as an unfriendly act, but I am most definitely not one of those people, and i am happy to help to make forks successful.  Thanks!

Including pkg-config support has nothing to do with the way the library is configured/built/installed; I would want it no matter what system was used. Having a .pc file installed makes it possible for other tools and build systems to consume the installed library automatically.  In particular, my Homebrew installation can only be consumed by the Swift Package manager automatically if there is a .pc file.  Otherwise, each project that consumes the library needs to specify its own linker and include paths.  More detail can be found in this post.
If you want libmarpa to be adopted, having pkg-config support can really help.  Without it, vending a wrapper or simply a package that doesn't impose configuration heck for downstream users can become much more difficult.

I will take another, careful, look at this, primarily to try to assure myself that the change is safe.  Thanks!

I'm currently looking into standards for usage of pkg-config with CMake.  I take it your patch has no include(FindPkgConfig) line because you are not changing CMake to use pkg-config, just to create the file to be installed, which will be available for those who want and can use it, and for the others should be mostly inert.
I take it that the
install(FILES "${PROJECT_BINARY_DIR}/libmarpa.pc" DESTINATION "lib/pkgconfig/")
command will create a lib/pkgconfig directory if none exists.
I will ask the Marpa IRC channel their opinions, advice, etc.  That won't happen until Monday, because the channel tends to get less attention on the weekend.

I agree that a .pc file would be useful. I look for one in every library that I use and a .pc file can be generated by any build system (even a hand-rolled one), not just CMake. It just needs to install to the correct location if installed to the system (pc_path) or added to the PKG_CONFIG_PATH environment variable if installed elsewhere.

That's all correct.

I did a manual pull of this branch for testing.

With the manual pull, I am closing this.  Further discussion can take place as a new issue.


NPEx on refresh in DB Navigator

Description
On refreshing in Database Navigator pane I got dialog with:
Error refreshing node

Reason:
Cannot invoke "org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMetaContext(org.jkiss.dbeaver.model.runtime.DBRProgressMonitor)" because the return value of "org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.getDefaultInstance()" is null

DBeaver Version
Community <IP_ADDRESS>407211303
Operating System
GNU/Linux fc40
Database and driver
No response
Steps to reproduce
No response
Additional context
I guess it happened at
https://github.com/dbeaver/dbeaver/blob/0d326aa112032931ec134156d89caa757fa64c13/plugins/org.jkiss.dbeaver.model.jdbc/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java#L481
But here
https://github.com/dbeaver/dbeaver/blob/0d326aa112032931ec134156d89caa757fa64c13/plugins/org.jkiss.dbeaver.model.jdbc/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java#L440-L441
the possible null is considered.

Could you provide full stacktrace?
You can find it in log files https://dbeaver.com/docs/wiki/Log-files/.

ava.lang.NullPointerException: Cannot invoke "org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMetaContext(org.jkiss.dbeaver.model.runtime.DBRProgressMonitor)" because the return value of "org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.getDefaultInstance()" is null
	at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initialize(JDBCDataSource.java:481)
	at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.initialize(GenericDataSource.java:469)
	at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.refreshObject(GenericDataSource.java:609)
	at org.jkiss.dbeaver.registry.DataSourceDescriptor.refreshObject(DataSourceDescriptor.java:784)
	at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.lambda$0(DBNDatabaseNode.java:361)
	at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:192)
	at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.refreshNode(DBNDatabaseNode.java:359)
	at org.jkiss.dbeaver.model.navigator.DBNDataSource.refreshNode(DBNDataSource.java:275)
	at org.jkiss.dbeaver.ui.navigator.actions.NavigatorHandlerRefresh$1.run(NavigatorHandlerRefresh.java:189)
	at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:117)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Thank you!

@pzygielo That doesn't reproduce on any connection. Can you please add what database connection it is? Does that happen with any connection? On what node (connection/database/table) do you click refresh?

That doesn't reproduce on any connection.

I've also seen it only once.

Does that happen with any connection? On what node (connection/database/table) do you click refresh?

IIRC, it was not on any node, but right-click on empty space below the last connection, then select Refresh.
I reported as NPEx deserved it. As it happened - it was possible.

Thanks for checking.
Feel free to close as non-reproducible.
:crossed_fingers: to never happen again :smile:


High cpu usage on layered submap

import XMonad (xmonad, def)
import XMonad.Actions.Submap (submap)
import XMonad.Util.EZConfig (mkKeymap, additionalKeysP)

foo conf = additionalKeysP conf
  [ ("a", submap $ mkKeymap conf
      [ ("b", submap $ mkKeymap conf []) ]
    )
  ]

main = xmonad $ foo def

If a then b is pressed, I get 3 new threads with 100% cpu usage. I have 4 cores. These go away if anything else is pressed.

https://github.com/xmonad/xmonad-contrib/blob/e0b1954e621690f17d1a0056de48abf4e875e970/XMonad/Actions/Submap.hs#L74-L97
That fix on line 81 is probably the offending function, but I don't quite understand why

When typing abc, the fix loop is only ran twice :confused:

Profile: https://gist.github.com/BlackCapCoder/5633dd11ade8decd8983bcda63881ce4

EZConfig uses submap internally, so the problem can also be created like this:
import XMonad (xmonad, def)
import XMonad.Util.EZConfig (mkKeymap)

main = xmonad $ mkKeymap def [("a b c", pure ())]

EZConfig uses submap internally. Interestingly, in the following example f2 does have the problem, but f1 does not:
import XMonad (xmonad, def, layoutHook)
import XMonad.Util.EZConfig (additionalKeysP)
import XMonad.Layout.BinarySpacePartition (emptyBSP)

f1 = xmonad $ additionalKeysP
  def
  [ ("a b c", error "foo") ]

f2 = xmonad $ additionalKeysP
  def { layoutHook = emptyBSP }
  [ ("a b c", error "foo") ]

Due to this part

I get 3 new threads with 100% cpu usage. I have 4 cores.

I believe this is the same issue as #483.  I will close this, because we have figured out the cause there (still working on the reason though :))

Yep, very likely the same as #483, proposed fix here: https://github.com/xmonad/X11/pull/78


Updated for Xcode 8 and Swift 2.3

For Beta 6 the following change is needed: https://github.com/czechboy0/Buildasaur/issues/280#issuecomment-240402038
Let's see if this changes before the GM.


[az vm run-command invoke] Add params for newer properties supported by the API

Is your feature request related to a problem? Please describe.
For az vm run-command invoke please add params for these properties the API itself supports - asyncExecution, errorBlobUri, outputBlobUri, protectedParameters, runAsPassword, runAsUser, timeoutInSeconds, and tags
Describe the solution you'd like
CLI should expose all API properties
Describe alternatives you've considered
Alternative is to make the API calls directly, which defeats the purpose of having CLI.
Additional context
https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineruncommands/createorupdate#request-body
https://docs.microsoft.com/en-us/cli/azure/vm/run-command?view=azure-cli-latest#az_vm_run_command_invoke

put in next sprint.

@craiglandis Thank you for reporting it.


Facing issue while installing ml extension on managedClusters type AKS

Hi
Getting this error. Provided the version --version 1.0.51 (as per another issue resolution) but didn't help. Please suggest
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions//resourceGroups/dmcml-rg/providers/Microsoft.ContainerService/ManagedClusters/dmcml-aks/providers/Microsoft.KubernetesConfiguration/extensions/aks-ml-extension/operations/f745a358-d9e2-4b2d-9e77-fa5da4f5e5eb?api-Version=2021-09-01'
cli.azure.cli.core.sdk.policies: Request method: 'GET'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': '4310a8fa-61ff-11ec-9121-cdf46ffa9fbe'
cli.azure.cli.core.sdk.policies: 'CommandName': 'k8s-extension create'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--name --extension-type --config --cluster-type --resource-group --cluster-name --scope --auto-upgrade-minor-version --configuration-settings --version --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.26.1 (MSI) azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.9 (Windows-10-10.0.22000-SP0)'
cli.azure.cli.core.sdk.policies: 'Authorization': '*****'
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: This request has no body
urllib3.connectionpool: https://management.azure.com:443 "GET /subscriptions//resourceGroups/dmcml-rg/providers/Microsoft.ContainerService/ManagedClusters/dmcml-aks/providers/Microsoft.KubernetesConfiguration/extensions/aks-ml-extension/operations/f745a358-d9e2-4b2d-9e77-fa5da4f5e5eb?api-Version=2021-09-01 HTTP/1.1" 200 None
cli.azure.cli.core.sdk.policies: Response status: 200
cli.azure.cli.core.sdk.policies: Response headers:
cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Transfer-Encoding': 'chunked'
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json; charset=utf-8'
cli.azure.cli.core.sdk.policies: 'Content-Encoding': 'gzip'
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'Vary': 'Accept-Encoding'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-reads': '11988'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'api-supported-versions': '2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01, 2021-11-01-preview, 2022-01-01-preview'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': '14afd4e0-94ec-4ca0-96d2-a7a3cb8173f0'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '14afd4e0-94ec-4ca0-96d2-a7a3cb8173f0'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'SOUTHINDIA:20211221T014845Z:14afd4e0-94ec-4ca0-96d2-a7a3cb8173f0'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 21 Dec 2021 01:48:45 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: {"id":"/subscriptions//resourceGroups/dmcml-rg/providers/Microsoft.ContainerService/ManagedClusters/dmcml-aks/providers/Microsoft.KubernetesConfiguration/extensions/aks-ml-extension/operations/f745a358-d9e2-4b2d-9e77-fa5da4f5e5eb","name":"f745a358-d9e2-4b2d-9e77-fa5da4f5e5eb","status":"Failed","error":{"code":"ExtensionCreationFailed","message":" Error: {failed to install chart from path [] for release [aks-ml-extension]: err [release aks-ml-extension failed, and has been uninstalled due to atomic being set: timed out waiting for the condition]} occurred while doing the operation : {Installing the extension} on the config"}}
cli.azure.cli.core.util: azure.cli.core.util.handle_exception is called with an exception:
cli.azure.cli.core.util: Traceback (most recent call last):
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/polling/base_polling.py", line 482, in run
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/polling/base_polling.py", line 521, in _poll
azure.core.polling.base_polling.OperationFailed: Operation failed or canceled
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 657, in execute
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 720, in _run_jobs_serially
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 702, in _run_job
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 999, in call
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 987, in call
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/polling/_poller.py", line 255, in result
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/tracing/decorator.py", line 83, in wrapper_use_tracer
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/polling/_poller.py", line 275, in wait
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/polling/_poller.py", line 192, in _start
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/core/polling/base_polling.py", line 500, in run
azure.core.exceptions.HttpResponseError: (ExtensionCreationFailed) Error: {failed to install chart from path [] for release [aks-ml-extension]: err [release aks-ml-extension failed, and has been uninstalled due to atomic being set: timed out waiting for the condition]} occurred while doing the operation : {Installing the extension} on the config
cli.azure.cli.core.azclierror: (ExtensionCreationFailed) Error: {failed to install chart from path [] for release [aks-ml-extension]: err [release aks-ml-extension failed, and has been uninstalled due to atomic being set: timed out waiting for the condition]} occurred while doing the operation : {Installing the extension} on the config
az_command_data_logger: (ExtensionCreationFailed) Error: {failed to install chart from path [] for release [aks-ml-extension]: err [release aks-ml-extension failed, and has been uninstalled due to atomic being set: timed out waiting for the condition]} occurred while doing the operation : {Installing the extension} on the config
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x044540B8>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 375.306 seconds (init: 0.399, invoke: 374.907)
telemetry.save: Save telemetry record of length 3547 in cache
telemetry.check: Returns Positive.
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry_init_.pyc C:\Users\kusbr.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.

Hi @kusbr, do you still meet this issue? Could you let me know why you use v1.0.51? Could you also try the latest version?


CreateGrant: people-parameter should be contact identifiers

The CreateGrant-method currently accepts List<Ref> for the people-parameter. As mentioned in the documentation, this should be a list of contact identifiers, however. This means you cannot create grants for identifiers like these:
{"type": "mail",     "id"<EMAIL_ADDRESS>{"type": "external", "id": {"linked_account_id": 123, "external_contact_id": "my_ext_id"}}

Thanks Andreas for opening this issue, this bug is affecting a development what I have been assisting on.

Since the Id property can be assigned with different type of values like integer, string and object. I have changed the type of Id to dynamic.  The changes will available in Podio nuget package version 1.3.3


How to remove file name from title?

It's too long... and titleFormatter option does not seem to do anything, file name is hardcoded before the formatted string.
Note: I'm working with Electron.

Thanks.

It's Chrome feature of console.log, we don't pass file name.


chore(docs): update update instructions

See https://github.com/angular/angular-cli/issues/2410#issuecomment-255880974 for more information.

LGTM.


Using -emit-spirv-directly and a SV_VertexID produce incorrect Spir-V code

If the shader uses SV_VertexID in the vertex shader and the compiler uses the -emit-spirv-directly option, shader module creation will fail.
vkCreateShaderModule(): pCreateInfo->pCode is not valid SPIR-V: Vulkan spec doesn't allow BuiltIn VertexId to be used.
  %gl_VertexID = OpVariable %_ptr_Input_int Input

If the option -fvk-use-entrypoint-name is used instead of individual entries, the error is different:
vkCreateShaderModule(): pCreateInfo->pCode is not valid SPIR-V: [VUID-StandaloneSpirv-Flat-04744] Fragment OpEntryPoint operand 15 with Input interfaces with integer or float type must have a Flat decoration for Entry Point id 48.
  %gl_VertexID = OpVariable %_ptr_Input_int Input

Here is an example of of the shader and the command line to reproduce the issue.
slang-gl_VertexID.zip

Looking into the bug

In the failing case vertex ID is decorated as VertexId
OpDecorate %gl_VertexID BuiltIn VertexId
In the passing case vertex ID is decorated as VertexIndex
OpDecorate %gl_VertexIndex BuiltIn VertexIndex
Vulkan supports VertexIndex and even DXIL emits the same. Replacing the decoration will fix the bug.

This makes sense, the Vulkan built-in is gl_VertexIndex.
https://github.com/KhronosGroup/GLSL/blob/a14f1f11fa632d3db797fcf28b83bd2a44cd49fa/extensions/khr/GL_KHR_vulkan_glsl.txt#L548

Fixed with PR https://github.com/shader-slang/slang/pull/3419

I've tested the fix, but there is a new validation error
 --> Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08737 ] | MessageID = 0xa5625282 | vkCreateShaderModule(): pCreateInfo->pCode is not valid SPIR-V: [VUID-StandaloneSpirv-Flat-04744] Fragment OpEntryPoint operand 24 with Input interfaces with integer or float type must have a Flat decoration for Entry Point id 69.
  %gl_VertexIndex = OpVariable %_ptr_Input_int Input

I have attached the shader:
raster.zip
Compilation command
slangc.exe -profile glsl_460 -target spirv -emit-spirv-directly -force-glsl-scalar-layout -fvk-use-entrypoint-name -g3 -D__slang -source-embed-style text -source-embed-name rasterSlang -o raster_slang.h raster.slang

SlangC version<PHONE_NUMBER>


Error occurs when deleting the last identifier for a creator/contributor

Noticed this error on beta.

This has been fixed. Closing.


Stable EasyRepro Branch for Dynamics 2021 release wave 2

What is the Stable EasyRepro Branch for Dynamics 2021 release wave 2:

develop
develop-2021ReleaseWave2
develop-2021ReleaseWave2Update
or any other else

Current recommendation is to use develop-2021ReleaseWave2.
-Matt.


Fix security vulnerabilities in Expensify App

Problem
Currently in Expensify App we have around 34 vulnerabilities in our dependencies of Critical, High and Moderate priorities. Even though, our App works fine but there's always a chance of some exploit in the future. Since Expensify is a FinTech App, the security vulnerabilities should be avoided and mitigated as much as possible.
Some examples of the vulnerabilities found via npm audit are:

Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - CRITICAL
Uncontrolled resource consumption in braces - HIGH
fast-xml-parser vulnerable to ReDOS at currency parsing - HIGH
follow-redirects' Proxy-Authorization header kept across hosts - MODERATE
PDF.js vulnerable to arbitrary JavaScript execution upon opening a malicious PDF - HIGH
ws affected by a DoS when handling a request with many HTTP headers - HIGH
Prototype Pollution in JSON5 via Parse Method - HIGH
JSON-Patch Prototype Pollution vulnerability - HIGH

Solution
The links for the vulnerabilities also suggests the version that we can bump for that dependency in order to fix the vulnerability. Since most of the vulnerabilities are originating from transitive dependencies, we can use overrides property in package.json to use that pinned version for the specific dependency. For example, consider ws transitive dependency which can be bumped to 8.17.1 in order to fix the vulnerability. Below is how we can achieve this:
"devDependencies": {
  ....
},
"overrides": {
   "ws": "8.17.1"
}

Once we add the patched versions of the security vulnerabilities in overrides property, we need to do a QA to make sure there are no regressions introduced by the patched versions.

Apart from this, upgrading to newer versions can sometimes be useful as they come with bug fixes and performance improvements. For example, react-pdf comes with lots of improvements like optimized CPU and memory usage, see here. There's one edge case that I am not aware of and would like to discuss:

We now don't have pdfjs-dist/legacy/build instead we have pdfjs-dist/build as react-pdf has dropped support for older browsers. In react-fast-pdf, which is maintained by Expensify here and in Expensfiy App, we have references to pdfjs-dist/legacy/build, which we can just change to pdfjs-dist/build. After this change, on my testing, I was able to send and view the PDF correctly, so everything looks correct but a QA in this area might come handy.

Edit: react-pdf update is already being tracked here. We have to make sure to verify updates to react-fast-pdf
Edit: I missed it the first time but we do have pdfjs-dist/legacy/build but we have .mjs instead of .js, so we still have to update react-fast-pdf to include the .mjs extension.

react-pdf upgrade is being tracked in https://github.com/Expensify/App/issues/48124

react-pdf upgrade is being tracked in #48124

@CyberAndrii wow, nice. So does it mean when your PR to react-pdf is merged, you'll be bumping it in Expensify App? Because if that happens we will have to take care of react-fast-pdf as well.

Yes I guess. Thanks for pointing this out

Hey I’m Szymon from Callstack - can take this over from Hur!

Hey I’m Szymon from Callstack - can take this over from Hur!

Ty. Can you update the PR with latest main?

@hungvu193 ✅

https://github.com/Expensify/App/pull/48532 was merged, and currently, there are no security vulnerabilities on main! 🎉
❯ npm audit
found 0 vulnerabilities

@grgia PR went to prod 2 weeks ago, can you add a BZ to handle payment here? Ty

Contributor+: @hungvu193 due $250 via NewDot.
Do we need/want any regression tests here? My gut says no but I'm new to the issue so erring on the safe side by asking.

Do we need/want any regression tests here? My gut says no but I'm new to the issue so erring on the safe side by asking.

Yes, I don't think we need regression test here, as we only see the security vulnerabilities through the command line.

i agree we don't need a regression test here.

Payment summary
$250 owed to @hungvu193 for this work. @hungvu193 is paid via ND requests so closing this issue and they can request payment via ND.
Thanks!

@zanyrenney for auditing purposes, so we know who's paid/due payment and where they're paid, can you plz use the format from the payment SO? Thx.

Contributor: @username paid $250 via Upwork
Contributor+: @username due $250 via NewDot

$250 approved for @hungvu193


remove dependency

@danielnorberg PTAL
I missed this.

I guess you won't mind me merging it. :D

:+1:


[Infra] Add icon for Intellij IDEA and Toolbox

Why are the changes needed?
Add icon for Intellij IDEA and Toolbox.
Brief change log

How was this patch tested?

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

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for your contribution, LGTM


[Bug] When click history, the breadcrumb can not sync

Describe the bug
issues:

When click history, the breadcrumb can not sync
when select history, refresh the page, still in the history page

To Reproduce
https://www.loom.com/share/4af94a1c7ada4761a638b13c84f83da4
Expected behavior
No response
Additional context
No response
Logs/tracebacks
No response

For issue 1, it is now changed to that opening a link to a history version, history list panel is activated.
For issue 2, now switching history version would not to change title on pagetree and breadcrumb, only document title would be history version.


LogManager.Shutdown () & LogManager.Configuration = block on single threaded platforms

NLog version: 4.7.6
Platform: .Net 4.5 / WebGL / web assembly / Unity Engine

What is the current result?

Any call to LogManager.Shutdown (); the setter of LogManager.Configuration twice will block the main thread on platforms that do not support threads.

What is the expected result?

Both APIs should not stall the main thread.

Did you checked the Internal log?
Yes,
it stalls at ForEachItemInParallel

Please post full exception details (message, stacktrace, inner exceptions)

LogFactory Flush with timeout=15 secs
LogFactory Flush with timeout=15 secs
Flushing all 2 targets...
Flushing all 2 targets...
ForEachItemInParallel() 2 items

Are there any workarounds? yes

Do not call the API's but call config.RemoveRuleByName ("name"); & config.RemoveTarget ("name"); for each target

Is there a version in which it did work?
Not that I am aware of

Can you help us by writing an unit test?
No, because this only happens on the compiled binary.

So the issue is on platforms without support for parallel-threads, where the async-logic is cooperative multitasking ?
Is it possible for the single-thread on this platform to yield its processor-time, so it can execute the async-flush-operations itself?
Would it be acceptable if there was a Shutdown-method with parameter to perform synchronous flush/close ?

So the issue is on platforms without support for parallel-threads, where the async-logic is cooperative multitasking ?
Is it possible for the single-thread on this platform to yield its processor-time, so it can execute the async-flush-operations itself?
Would it be acceptable if there was a Shutdown-method with parameter to perform synchronous flush/close ?

So the issue is on platforms without support for parallel-threads, where the async-logic is handled by cooperative multitasking ?

Correct.

Would it be acceptable if there was a Shutdown-method with parameter to perform synchronous flush/close ?

Yes that would work for sure for the Shutdown() API, but not for the LogManager.Configuration setter.

Is it possible for the single-thread on this platform to yield its processor-time, so it can execute the async-flush-operations itself?

Not sure to be honest. Can you give an example how that could look like?

So the issue is on platforms without support for parallel-threads, where the async-logic is handled by cooperative multitasking ?

Correct.

Would it be acceptable if there was a Shutdown-method with parameter to perform synchronous flush/close ?

Yes that would work for sure for the Shutdown() API, but not for the LogManager.Configuration setter.

Is it possible for the single-thread on this platform to yield its processor-time, so it can execute the async-flush-operations itself?

Not sure to be honest. Can you give an example how that could look like?

Not sure to be honest. Can you give an example how that could look like?

I was thinking if one created some async-versions of LoadConfigurationAsync and ShutdownAsync that returns a task that can be awaited, and those methods awaited Tasks correctly then it would work.
await NLog.LogManager.Setup().LoadConfigurationAsync(newConfig);
NLog.LogManager.GetLogger("test").Info("hello");
await NLog.LogManager.Setup().ShutdownAsync();

Is async await available on your single-threaded platform, so you can do this without blocking:
await Task.Run(async () => await Task.Delay(1000).ConfigureAwait(false)).ConfigureAwait(false);

Not sure to be honest. Can you give an example how that could look like?

I was thinking if one created some async-versions of LoadConfigurationAsync and ShutdownAsync that returns a task that can be awaited, and those methods awaited Tasks correctly then it would work.
await NLog.LogManager.Setup().LoadConfigurationAsync(newConfig);
NLog.LogManager.GetLogger("test").Info("hello");
await NLog.LogManager.Setup().ShutdownAsync();

Is async await available on your single-threaded platform, so you can do this without blocking:
await Task.Run(async () => await Task.Delay(1000).ConfigureAwait(false)).ConfigureAwait(false);

@patrickkulling Just curious. Are you using the NLog-nuget directly, or are you using a custom build for the "WebGL / web assembly / Unity"-platform? Looks like there is a lot of restrictions, so one is not allowed to using anything from System.Threading.

@patrickkulling Just curious. Are you using the NLog-nuget directly, or are you using a custom build for the "WebGL / web assembly / Unity"-platform? Looks like there is a lot of restrictions, so one is not allowed to using anything from System.Threading.

We are using no modified version, just the nuget one.
async await is usually supported as Unity has different implementations for the Task class that usually uses System.Threading

We are using no modified version, just the nuget one.
async await is usually supported as Unity has different implementations for the Task class that usually uses System.Threading

So this piece of code will run just fine on the platform:
await Task.Run(async () => await Task.Delay(1000).ConfigureAwait(false)).ConfigureAwait(false);
Again what are the main features/targets are you planning to use from NLog on this platform?

So this piece of code will run just fine on the platform:
await Task.Run(async () => await Task.Delay(1000).ConfigureAwait(false)).ConfigureAwait(false);
Again what are the main features/targets are you planning to use from NLog on this platform?

Again what are the main features/targets are you planning to use from NLog on this platform?

We are using custom targets, so nothing from NLog itself. The main feature set really is to use it as a logging framework with the provided APIs. They way to extend it with custom targets is great and it fits our need.

We just didn't expected the stalling on Shutdown & when changing configuration.

Again what are the main features/targets are you planning to use from NLog on this platform?

We are using custom targets, so nothing from NLog itself. The main feature set really is to use it as a logging framework with the provided APIs. They way to extend it with custom targets is great and it fits our need.

We just didn't expected the stalling on Shutdown & when changing configuration.

Yes NLog is single threaded everywhere unless you start using AsyncWrapper or inherit from AsyncTaskTarget. Except when doing flush on shutdown and changing config.
Instead of this suggestion:
await NLog.LogManager.Setup().LoadConfigurationAsync(newConfig);
NLog.LogManager.GetLogger("test").Info("hello");
await NLog.LogManager.Setup().ShutdownAsync();

Then I guess it could also be implemented like this:
NLog.LogManager.LoadConfiguraion(newConfig, flushParallel: false);
NLog.LogManager.GetLogger("test").Info("hello");
NLog.LogManager.Shutdown(flushParallel: false);

Do you have a preference?

Yes NLog is single threaded everywhere unless you start using AsyncWrapper or inherit from AsyncTaskTarget. Except when doing flush on shutdown and changing config.
Instead of this suggestion:
await NLog.LogManager.Setup().LoadConfigurationAsync(newConfig);
NLog.LogManager.GetLogger("test").Info("hello");
await NLog.LogManager.Setup().ShutdownAsync();

Then I guess it could also be implemented like this:
NLog.LogManager.LoadConfiguraion(newConfig, flushParallel: false);
NLog.LogManager.GetLogger("test").Info("hello");
NLog.LogManager.Shutdown(flushParallel: false);

Do you have a preference?

The 2nd API looks way more intuitive imo.

The 2nd API looks way more intuitive imo.

@patrickkulling Are you in a mood for creating a pull-request for the master-branch ? Since you know the platform better than me, and have better ability for testing.

@patrickkulling Are you in a mood for creating a pull-request for the master-branch ? Since you know the platform better than me, and have better ability for testing.

@snakefoot Let me try and integrate the NLog sources in our repository. It may take a while for me to come back with a solution as iteration times on webgl are slow (~1hr/build)

@snakefoot Let me try and integrate the NLog sources in our repository. It may take a while for me to come back with a solution as iteration times on webgl are slow (~1hr/build)

Will close this issue. And await your return with the needed changes to support your platforms.


CreateInBatches is not running inside Transactions

I would expect code like this
return d.table().Clauses(clause.OnConflict{DoNothing: true}).CreateInBatches(records, 2000).Error

to execute wrapped in a transaction. this is not the case. I can observe this by inspecting the query log.
Judging from the code and how it is documented, it gives the impression that it should run inside a transaction.

@timo-klarshift I faced the same issue and solved by using session
db.Session(&gorm.Session{CreateBatchSize: 2000}).Create(records)


Group

is there a way to overwrite a consistend group from an device?
Teamviewer is installed in Group "installed", now i wanna change it to group "changed"
currently my way is delete the current group and add the new one, exists a overwrite methode for this?

Hey @duczz,
you don't need to delete groups to just move a device into another one.
If you are using managed groups, you can use Add-TeamViewerManagedDevice, Remove-TeamViewerManagedDevice, or Set-TeamViewerManagedDevice to achieve this.

When i try these i get thise Error:
Set-TeamViewerManagedDevice -Device xxxxxxxxxxxxxxxxxxxxxxx -ManagedGroup xxxxxxxxxxxxxxxxxxxxxx
Set-TeamViewerManagedDevice : Invalid Managed Group identifier specified. Device is not part of the managed group. (invalid_request)

When i try these i get thise Error: Set-TeamViewerManagedDevice -Device xxxxxxxxxxxxxxxxxxxxxxx -ManagedGroup xxxxxxxxxxxxxxxxxxxxxx
Set-TeamViewerManagedDevice : Invalid Managed Group identifier specified. Device is not part of the managed group. (invalid_request)

This command actually sets the policy of the device specified to that of the managed group specified.
In short, the device inherits the policy from the group but this device has to be part of that specific group.

@AlexandrosAlexiou Okay, but how can i set so the device to a group? With add i add a group to a existing group on the device, i wanna overwrite it directly

@AlexandrosAlexiou Okay, but how can i set so the device to a group? With add i add a group to a existing group on the device, i wanna overwrite it directly

Sorry, I do not understand what overwrite refers to. Can you re-explain what you are trying to achieve here?

Sorry for my bad english :(
1 PC has a group, this group should be join in a other group, currently i find only a way to add more groups but not direct way to replace these current group with an other, i need always the way to delete the existing group and add than the group witch i want.


Add Creative About Us Section Designs

Apply creative and professional Ideas to this About section | Take Ideas from the Internet

Samples (add random text) -

You can also update to any other similar UI design,that suites the website designing
Rules -

Must Follow all the steps from Instructions
The PR Should be sent within 24 hours of Assignment, else will get reassigned to the next person.
The PR should be valid and have no Merge Conflicts
DON'T spoil the Code indentations with any formatting tools such as prettier or VSC format
More efficient contributions gets automatically listed here

Hey, i would like to work on this issue.

@itsmanojthapa Assigning. Please send PR asap so others can also try :)

Please assign this to me @fykaa

Assigned @theshubhamgour You can add a different better amendment too :)

I saw the about us section, it can be improved. I would like to work on it if you could assign me @theshubhamgour


Python rules for Bazel

[ ] Add native python rules to workspace
[ ] Update docker rules because of a deprecated pip_import dependency
[ ] Remove pex rules from the project
[ ] Add requirements.txt to support all of the python dependencies for the project.  This is only a first pass to loading python deps.  After the initial migration is done we can lazily load python deps for improved build times, if desired
[ ] Remove tools/rules/newgenproto.bzl file as  it seems to be a duplicate.
[ ] Swap out pex_library  with native py_libray rules
[ ] and pex_binary with native py_binary rules
[ ] Investigate the use of starlark to replace python build scripts
[ ] Investigate the use for py_proto_libaries  from google https://thethoughtfulkoala.com/posts/2020/05/08/py-protobuf-bazel.html

If we are removing all use of pex, we will need to ensure we can still Launch HeronPy topologies. The Heron Executor code currently decides which binary type based on file extension. The logic in this file will need to be updated based on these changes. https://github.com/apache/incubator-heron/blob/fab089ce2c9cdbdd2d6a7ef7cda6cf22b201469c/heron/executor/src/python/heron_executor.py#L790

Draft removal of most references to pex_binary and pex_library.

This would be really cool~

There is no zip_safe and resources in py_binary. I have opted to disable zip_safe and placed the change in its own commit so it can be dropped if needed.
resources in bazel_pex_rules appears to have switched to calling this data:

List of labels; Optional; Default is []
Files to include as resources in the final pex binary.
Putting other rules here will cause the outputs of those rules to be embedded in this one. Files will be included as-is. Paths in the archive will be relative to the workspace root.

This aligns with Bazel's definition of data:

List of labels; optional
Files needed by this rule at runtime. May list file or rule targets. Generally allows any target.

I just reverted the commits on pylint and cpplint.

I think the best way to approach this enormous task is to completely remove a single PEX build rule at a time and make sure everything compiles and all tests pass. Start with the simpler build rules and move to the more complex ones. That way we can verify in a concrete fashion that the changes we are making are correct. It also means the work we are completing can be incrementally merged back into master so that there is progress.
Conceivably a Kanban board that tracks the rules to remove? We can clump some together for fewer PR's.

I like the idea of removing a single build rule at a time.  After jumping into a lot this code I think we've learned a lot (a good time for growth 😄 ) Are you thinking we should abandon this branch and start fresh?

Are you thinking we should abandon this branch and start fresh?

We are thinking alike 😁

Closing to account for smaller chunks of work.


seet the mainplot env's time_limation

Hi, could you please tell me how to control the mainplot env, such as the suit env?
It seems the only thing I can set is the seed.
Can I seet the time_limitations such as suit_env?

You can override the time limit via the task_kwargs argument to suite.load, e.g.
# Set the time limit to 5 seconds (the default for this environment is 10)
env = suite.load('cartpole', 'swingup', task_kwargs=dict(time_limit=5.))


Better custom middleware?

Hello!
According [to the docs] (http://sailsjs.org/#/documentation/concepts/Middleware), custom middleware should be defined inside of a «config/http.js» file. There is no built-in or otherwise conventional way to define middleware in a separate files (correct me if I'm wrong please). I think this is a major drawback, cause business-logic should not be contained in the config directory.
The better approach will be to store custom middleware inside of the project in the «middleware» directory. Such middleware files can be autoloaded exactly like controllers are. The name of the middleware will be defined by the name of the file without extension.
Does it makes sense? Thank you!

I agree that if we were to follow convention then there should be middlerware folder in the api just like controllers, responses, models, services ect . . . .

yep +1
This is somewhat cumbersome at the moment

Thanks for posting, @slavafomin.  I'm a repo bot-- nice to meet you!
It has been 60 days since there have been any updates or new comments on this page.  If this issue has been resolved, feel free to disregard the rest of this message.  On the other hand, if you are still waiting on a patch, please:

review our contribution guide to make sure this submission meets our criteria (only verified bugs with documented features, please;  no questions, commentary, or bug reports about undocumented features or unofficial plugins)
create a new issue with the latest information, including updated version details with error messages, failing tests, and a link back to the original issue.  This allows GitHub to automatically create a back-reference for future visitors arriving from search engines.

Thanks so much for your help!

There is no built-in or otherwise conventional way to define middleware in a separate files (correct me if I'm wrong please).

(btw @slavafomin I'd recommend using require() for this)

Hello!
@mikermcneil could you elaborate please on your suggestion? I'm not sure I get it.
And why are you closing this? I think this feature request is still valid. Thank you.


Inline Completions ghost text flashes on VSCode 1.87 for word-by-word accepts (ghost text did not disappear on 1.86)

Does this issue occur when all extensions are disabled?: Not relevant

VS Code Version: 1.87.2
OS Version: MacOS Sonoma 14.3 (23D56)

Steps to Reproduce: Use word-by-word/line-by-line accepts for an InlineCompletionItemProvider. I re-serve the same completion from cache after word-by-word accepts (with already accepted text filtered out). The completion suggestion flashes even though the ghost text did not change. This did not use to happen on VSCode 1.86 (downgraded and tested with the same VSIX).
Example of text flashing on VSCode 1.87
gif:

mov:
https://github.com/microsoft/vscode/assets/24802378/4fd26d4b-e4be-4259-bbc8-22ee98e8555a

Would be awesome if it reproduces here.

Yeah let me try to figure this out and see if I can reproduce it with this!
Unfortunately I wasn't able to reproduce it for CoPilot too, but with my organization's extension the behaviour changed after 1.87.
The expected implementation for word-by-word/line-by-line completion is to re-serve the text from the old completion (with matching prefix removed) as a new vscode.InlineCompletionItem right?
Thanks for your help!

The expected implementation for word-by-word/line-by-line completion is to re-serve the text from the old completion (with matching prefix removed) as a new vscode.InlineCompletionItem right?

Yes

@hediet I create a mock example where I can still reproduce this on 1.87, and confirm that the text does not flash on 1.86. Still trying to investigate further if there's any link with other extensions or anything that could conflict, but a bit perplexed since it's very much reproducible with 1.87
async provideInlineCompletionItems(
  document: vscode.TextDocument,
  position: vscode.Position,
  context: vscode.InlineCompletionContext,
  token: vscode.CancellationToken,
): Promise<vscode.InlineCompletionList | null | undefined> {
  const trimmedLineTextBefore = document
    .lineAt(position)
    .text.slice(0, position.character)
    .trimStart();
  const phrase = "// Hello world! How can I help you today?";
  if (phrase.startsWith(trimmedLineTextBefore)) {
    return new vscode.InlineCompletionList([
      new vscode.InlineCompletionItem(
        phrase.substring(trimmedLineTextBefore.length),
        new vscode.Range(position, position),
        undefined,
      ),
    ]);
  }
}

On another interesting note, if I replace the full line (i.e including the prefix in the suggestion), it does not flash. Maybe it's not reproducible with CoPilot if that's the approach they're taking?
async provideInlineCompletionItems(
  document: vscode.TextDocument,
  position: vscode.Position,
  context: vscode.InlineCompletionContext,
  token: vscode.CancellationToken,
): Promise<vscode.InlineCompletionList | null | undefined> {
  const trimmedLineTextBefore = document
    .lineAt(position)
    .text.slice(0, position.character)
    .trimStart();
  const phrase = "// Hello world! How can I help you today?";
  if (phrase.startsWith(trimmedLineTextBefore)) {
    const matching = trimmedLineTextBefore.length;
    return new vscode.InlineCompletionList([
      new vscode.InlineCompletionItem(
        phrase,
        new vscode.Range(position.translate(0, -matching), position),
        undefined,
      ),
    ]);
  }
}

@hediet I create a mock example where I can still reproduce this on 1.87, and confirm that the text does not flash on 1.86. Still trying to investigate further if there's any link with other extensions or anything that could conflict, but a bit perplexed since it's very much reproducible with 1.87
async provideInlineCompletionItems(
  document: vscode.TextDocument,
  position: vscode.Position,
  context: vscode.InlineCompletionContext,
  token: vscode.CancellationToken,
): Promise<vscode.InlineCompletionList | null | undefined> {
  const trimmedLineTextBefore = document
    .lineAt(position)
    .text.slice(0, position.character)
    .trimStart();
  const phrase = "// Hello world! How can I help you today?";
  if (phrase.startsWith(trimmedLineTextBefore)) {
    return new vscode.InlineCompletionList([
      new vscode.InlineCompletionItem(
        phrase.substring(trimmedLineTextBefore.length),
        new vscode.Range(position, position),
        undefined,
      ),
    ]);
  }
}

Can you translate this example into a monaco editor example?
That way, if it is really a bug, it will significantly reduce the time I need to fix this (and for other team members to verify a bug-fix).

@hediet here's a repro on 0.48.0-dev-20240320 reproduces it. If you type // Hello and then select code word-by-word, the text flashes.
On 0.46.0 this doesn't occur.
I can repro the bug on 0.47.0 too. Hope this helps!


Fix test plots in bin to use correct directory and files

The test plotting functions in bin assume KCORRECT_DIR is set, and that certain files exist that do not. This should be fixed so users can run these test plots.

Fixed


Map 2023 procedures based on specific procedure types

User story
As a user, I want the API to map 2023 sharepoint list items by specific procedure types instead of top level procedure category (defined by Procedure Family field)
Acceptance criteria

[x] relationship between procedure category (Procedure_x0020_Family) and specific procedure (Procedure)
[x] populate ProcedureType Enum with all choices
[x] map accordingly

Sprint Ready Checklist

[x] 1. Acceptance criteria defined
[x] 2. Team understands acceptance criteria
[x] 3. Team has defined solution / steps to satisfy acceptance criteria
[x] 4. Acceptance criteria is verifiable / testable
[x] 5. External / 3rd Party dependencies identified
[x] 6. Ticket is prioritized and sized

Notes
Add any helpful notes here.

update: mapping 2023 procedures solely by specific procedure type because procedure family + procedure type relationship is not consistent. the family can be used to look a larger trends in the data, but the procedure type is the best field to identify what happened to a particular subject


How to do absolute imports in vue with vueify

Hi there,
First, thanks for vue.js and all the tools it comes with.
I'm using vueify with gulp and browerify. My project folder structure looks like this:
/static/
  > js
    > SessionManager
  > vue
    > budget.js
    > Budget.vue

my budget.js includes Budget.vue doing require('./Budget.vue') and then Budget.vue requires SessionManager I'm trying to prevent using relative paths, so I picked aliasify However this is working nice with my js code, but it doesn't work inside my Budget.vue, so I'm forced to use relative imports there.
I'm not sure at all, if this is because vueify or browserify. This is the part of my gulpfile.js that is doing all this.
     function(entry) {
        return browserify({
          entries: [entry],
        })
          .transform(babelify)
          .transform(vueify)
          .transform(aliasify)
          .bundle()
```

I've changed the code of `aliasify` to log all the files it gets, and it gets the requires that exist in `budget.js`, but nothing from `Budget.vue`.

what's the way to use vueify and do absolute imports from an external folder?

Thanks, cheers
Miguel

Hi again,
I've finally made vueify work with aliasify, being able to do absolute imports. In case anyone is interested, here is how I did it
I'm closing my issue.
Thanks, cheers
Miguel


WebJobs AccessRights Warning

Add information warning that webjobs is unable to provision queues/topics if it does not have Manage AccessRights.

@mamaso,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@mamaso : Thanks for your contribution to the Azure documentation! The author, @tdykstra, has been notified to review your proposed change.

@mamaso Thanks!

#sign-off


feat(error-component): Error component

Summary
Brief summary describing the changes here.
ADO Story or GitHub Issue Link
Link here (if applicable).
Notes

Detailed change notes
can go here

To Do

Anything else
left to do

Checklist

[x] Used Conventional Commit messages as outlined in the contributing guide.

[ ] Noted breaking changes (if any).

[x] Documented/updated all props, events, slots, parts, etc with JSDoc.

[x] Ran the analyze command to update Storybook docs.

[x] Added/updated Stories with controls to cover all variants.
[ ] Ran test locally to address any failures.
[x] Added/updated the Figma link for the Story's Design tab.
[x] Added any new component exports to the src/index.ts file

Testing Instructions
Provide guidance to reviewers/testers here.
Screenshots
(if any)

The robot SVG seems to be missing part of the image when used in practice, not entirely sure why. Will need to make sure they all appear correctly.
Will also need a custom Docs page that has information on how to import the SVGs. Can probably borrow from the Shidoka Icons docs.

Added custom docs for the import of SVGs. Not sure why there is a missing part of the svg, looking into it.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-next.13 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update to warp 3.0

Description of change
Warp 3.0 is finally released which makes use of tokio 1 :)
This PR updates all dependencies.
How the change has been tested
I did run all the tests in lib.rs. All tests did pass.

Thanks! I was planning on doing this asap since warp was recently updated.
I have to publish a previous version compatible with tokio0.2 still and then a version with the newest tokio1.

Thanks! I was planning on doing this asap since warp was recently updated.
I have to publish a previous version compatible with tokio0.2 still and then a version with the newest tokio1.

Perfect, thanks for the fast response :)

Perfect, thanks for the fast response :)


topology complection does not connect two node templates, although suitable relationship types ara available

Example scenario:
A topology contains one node template that has one requirement. In the repository there is another node type available that offers a matching capability. The repository also contains a relationship type that has no restrictions on source and target nodes (i.e. no defined node types, no requirements and capabilities). When starting the topology completion, the topology is completed by adding a second node template that fulfills the requirements of the first node, but the two nodes are not connected with any relationship template.
I located the error at line 78 in org.eclipse.winery.topologymodeler.addons.topologycompleter.helper.NodeTemplateConnector, the line should be:
if (rt.getValidSource() == null && rt.getValidTarget() == null) {
-> the second "==" has been a "!=" before.
After changing this and then running the same example again, everything worked as expected (i.e. the topology gets completed and the two node templates are now connected using the available relationship type).

Thanks for the hint! It should of course be "== null"... maybe a copy&paste issue.
Furthermore, a test case should be added to cover this. Usually, the valid source and valid target elements are not filled in (e.g., hosted on, deployed on etc.).
I will look into it.

Bug is fixed & committed to the winery eclipse repository

I pushed it to here (ec21d9afaf46). @hirmerpl You can use "fixes #1" in the commit message (and manually push to github, too until the automatic mirroring is setup)


[WR-753] Creates a configurable block of Recent Jobs panel to be displayed on …

…Career Profile content type.
Steps to make it work

Enable the module workbc_jobboard
Configure the Recent Jobs block (Along with the other settings please select Content Type to be Career Profile under visibility)
Test on any Career Profile page

Thanks @anuragparihar1. We can test but then please ensure to add the config export to enable the module and block placement.

@infojunkie Your suggestions have been implemented. Please review when you can

@infojunkie Suggested changes have been pushed.


Bubble code restructure

Coverage decreased (-10.65%) to 75.58% when pulling 20f9e3ef023b8d0c7321accc08390ea73a5d1a97 on feature/v4 into f98088123efee3e7bfbbafbf7ab8d175d3eba946 on master.

Coverage decreased (-10.65%) to 75.58% when pulling dff69692dbf5abd82df627fdc8d246adc99d7e5a on feature/v4 into f98088123efee3e7bfbbafbf7ab8d175d3eba946 on master.


Catching errors everywhere

[x] Add exception handler to redux
[x] Add exception handler to saga middleware
[x] Add global error showing component to desktop / android / ios

@keybase/react-hackers this is ready to be looked at tnx

👍 % C


Moving some KSP utils to compiler-util

👋
I'm currently working on migrating an Anvil plugin to support KSP and this work, there's a number of KSP util functions in the compiler module that are would be useful.  I'm looking at functions in these files:

https://github.com/ZacSweers/anvil/blob/main/compiler/src/main/java/com/squareup/anvil/compiler/codegen/ksp/KspUtil.kt
https://github.com/ZacSweers/anvil/blob/main/compiler/src/main/java/com/squareup/anvil/compiler/codegen/dagger/DaggerGenerationUtils.kt

Would you be open to a PR moving these into the compiler-utils module?

Yep!


Update dependencies

Update:

hapi from 16.5.2 to 16.6.0
jest from 21.0.1 to 21.1.0
preact from 8.2.1 to 8.2.5

Codecov Report

Merging #30 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #30   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          25     25
  Branches        6      6
=====================================
  Hits           25     25

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 ef12281...6aac62c. Read the comment docs.


Fix secondary plot bands

Move secondary plot bands to M.GlucoseLineHighchart from M.setupHighcharts so that they only appear on the glucose chart (they were affecting the COB chart if you eat a lot of carbs).

Excellent, thanks!


Roadmap to add Quarkus blueprint to official blueprints page on the website

Is your feature request related to a problem? Please describe.
It would be great to see the Quarkus blueprint on the Officially Supported Blueprints page: https://www.jhipster.tech/modules/official-blueprints/
Is there a feature set that is missing that we should add to the blueprint to get it added or is it just a matter of adding a PR to the github.io project?
Describe the solution you'd like
Make the required changes to get it posted
Describe alternatives you've considered
N/A
Additional context
N/A

cc @jdubois and @danielpetisme It would be good if we can add the blueprint since it is in the main github org. But if there is a feature gap then we can get tickets opened.
If we can add it already let me know and i'll updated and create the .io project PR.

IMHO, the project can be added right now with a "Work in progress, don't use it in prod"-like disclaimer.
@jdubois Make sense to you?

Oh yes we should advertise it, but warn people it's not finished. BTW I tried it a couple of days ago, and the native prod build didn't include the front end... So indeed it's not ready for prod :-)

I'll open a ticket for the native FE build. Does the JVM build include the frontend and just the native build doesn't work? Or is the FE not bundled in both cases?

@jdubois Added a ticket for the native build issue. If you've got any additional info it is in https://github.com/jhipster/jhipster-quarkus/issues/78
Might be a good one for somebody at JHipster code.

closed by https://github.com/jhipster/jhipster.github.io/pull/1038


Async validators

Related to: #11

anytime this is going to be released?

Hi @pohnean, it's still being worked on, as we found a few potential issues with current implementation. I'm trying to find a moment to finish it up to the desired quality. Sorry it takes so long and thanks for your patience. My worst-case ETA is somewhere the middle of next week.

A bit simpler and more predictible implementation ready and tested. @shentao review please


rename IS_UPDATE_INPROGRESS to IS_REVIEW_INPROGRESS

Currently we have a flag IS_UPDATE_INPROGRESS' but this flag does not manage any other requests that are inprogress.
For example, a 're-adding to catalog' process if pending of review, then the ISV must know that there is some request which is in-progress.

[ ] rename IS_UPDATE_INPROGRESS to IS_REVIEW_INPROGRESS
[ ] Update this flag for any request which is in status IN_REVIEW
[ ] Rename the data model property also to reviewInProgress

I will take it


WIP: Implement requirement lists in code generator

I'm not sure if I can incorporate all these changes in time (e.g. in the next 1-2 weeks)


required import winit and masonry features without import him to project

required import winit and masonry features without import him to project
default example
https://github.com/linebender/xilem/blob/main/xilem/examples/flex.rs
required to (without required winit and masonry import in project)
use xilem::{
    widget::{CrossAxisAlignment, MainAxisAlignment},
    view::{button, flex, label, sized_box, Axis, FlexExt as _, FlexSpacer},
    EventLoop, WidgetView, Xilem,
    ArcStr,
    error::EventLoopError,
};

/// A component to make a bigger than usual button
fn big_button(
    label: impl Into<ArcStr>,
    callback: impl Fn(&mut i32) + Send + Sync + 'static,
) -> impl WidgetView<i32> {
    sized_box(button(label, callback)).width(40.).height(40.)
}

fn app_logic(data: &mut i32) -> impl WidgetView<i32> {
    flex((
        FlexSpacer::Fixed(30.0),
        big_button("-", |data| {
            *data -= 1;
        }),
        FlexSpacer::Flex(1.0),
        label(format!("count: {}", data)).text_size(32.).flex(5.0),
        FlexSpacer::Flex(1.0),
        big_button("+", |data| {
            *data += 1;
        }),
        FlexSpacer::Fixed(30.0),
    ))
    .direction(Axis::Horizontal)
    .cross_axis_alignment(CrossAxisAlignment::Center)
    .main_axis_alignment(MainAxisAlignment::Center)
}

fn main() -> Result<(), EventLoopError> {
    let app = Xilem::new(0, app_logic);
    app.run_windowed(EventLoop::with_user_event(), "Centered Flex".into())?;
    Ok(())
}

We do not have any examples written in Arabic.
Please explain what issue you're seeing, and what you're expecting to see. In its current form, this issue contains scant information.
I think you are trying to express that it's not possible to use Xilem without importing Masonry and winit into your project? This is a known issue, but it's not been a priority to address, as we're still in pre-alpha.
Pull requests to add targetted re-exports to make this possible are welcome, however.
Unfortunately, due to how Rust examples work, we cannot force them to use re-exports. This can be seen in this stackoverflow discussion. This might make a good clippy lint?

It's my problem in type
see issues my title

Which of the following things are you trying to report:

It is impossible to use the examples without importing Masonry and Winit
The imports in the examples aren't correct, but it is otherwise possible to use the examples as-is. Your code block suggests that this is the case, but you reference items which don't exist in it.

A PR to fix either of these would be welcome.
If it's either or none of these, please update your original issue to actually state what the issue is.
Your issue does not contain enough information to determine what you mean.

You need to add the properties masonry and wint to xielm and call them through it.
For example, adding this code to xielm:
pub type Axis = masonry::widget::Axis;

Now, to use Axis, you don't need to manually import masonry or wint in my project anymore. It will be enough to just import the xielm library and access everything through it.
Include only the absolutely necessary components for the majority of projects.
I hope I have made my point clear.

My English isn't great, so I've been using online translation tools. But they're not always the best.

These variables are already exported via xilem (see xilem/src/view/flex.rs).
You can use them with use xilem::view::Axis;. E.g. the example elm uses  Axis (but for whatever reason not xilem::view::{CrossAxisAlignment, MainAxisAlignment};, I guess that could be improved e.g. via a PR).
This whole issue is known and e.g. discussed here.

What about EventLoopError?

I used this a while ago, it didn't work without masonry
Axis::Horizontal, CrossAxisAlignment::Center, MainAxisAlignment::Center.
I'm using the GitHub package directly.
If I get a Cargo Crate from GitHub, do I need to manually update the cache for the crate from GitHub in any way ?, or does it update automatically when building the application?


prev issue 57 - 4: the version fields in clicinfo

Separating previous issue #57 into multiple issues for better tracking
4. the version fields in clicinfo
We probably need some exposition here:
a) the "architecture version" presumably relates to a particular version of this spec - the spec should state something like "CLIC implementations that conform to this version of this spec shall have an architecture version of '1'" (or whatever number you decide
b) I'm unsure what the "implementation version" field is for - is that free for the implementer to use?

clicinfo falls into the category of platform discovery info.  If there is agreement on discovery mechanism, this data could move there out of CSR space.  Most embedded platforms will compile these constants into code instead of querying the register, and it is primarily debug tools that want to ascertain these parameters.
Hopefully a separate discovery mechanism will have fewer constraints on encoding space for these fields.

Discovery TG is asking for other proposals in flight to list the set of discoverable parameters for the extension.  Should probably add note to clicinfo and clicbase (and anywhere else a parameter is lurking) saying this will should be replaced with the general discovery mechanism.

Should determine what are the basic parameters from which others can be determined in Chapter 6.  These are the ones that should get included in whatever discovery mechanism is eventually created for each platform.

Closed by https://github.com/riscv/riscv-fast-interrupt/commit/d4688482b0cc256302faee65b1390842876c2e1b


Mark deletion supported

Support deletion by adding a "deleted" mark to the elements.
The higher 8 bits of the list link size at level 0 will be used the store the mark, therefore, the link size has to be limited to the lower 24 bits, however, still large enough for almost all cases.

Hi @ctero-graham,
Thank you!
I'll check the PR and provide feedback soon.

Hi @yurymalkov
Any comments?

Hi @ctero-graham.
I am very sorry, I was very busy. I'll test and review the PR within few days.
Can you please make a PR against the branch "develop"?

Hi @ctero-graham.
I am very sorry, I was very busy. I'll test and review the PR within few days.
Can you please make a PR against the branch "develop"?

Sure，I'll make a new one and close this.

Thanks!


Tiger Game.com

Would it be possible for RGB10 to run Tiger Game.com?
Thanks!

Not enough power.  The RK2023 can.