handle non-existent paths in R.lensIndex and R.lensProp

These changes are motivated by https://github.com/ramda/ramda/pull/1328#issuecomment-133120377. I'm keen to hear from @epeli, @scott-christopher, and others.

I think we should keep these bundled lenses as they are, as supporting partial objects violates one of the lens laws:
var lens = R.lensProp('a');
R.equals(
  R.set(lens, R.view(lens, {}), {}),
  {}
); // false

R.set(lens, R.view(lens, {}), {}) gives {a: undefined} on master. Are you suggesting it should give {} instead, @scott-christopher? I'm not sure we could do this without having R.view return a maybe.

Both implementations will give {a: undefined} because they shouldn't be operating on partial objects. My comment was more so suggesting that lensProp/lensIndex should only be used with non-partial objects. Having said that, I'm not aware of the consequences if a lens does not adhere to that particular law.
I'm pretty sure Prisms and Isos are intended for this sort of thing (though they're probably a little too far down the path to introduce in Ramda).
Perhaps @tel could provide some insight?

This is definitely a prism thing. Lenses cannot conceive of "choice" within the structure yet that's exactly what you're hitting when you consider structures which could or could not be there.
Another way of saying it is that lenses operate only and exactly when there is exactly one subpart being focused on. You need prisms or traversals to handle the situation where you have 0-or-1 target or 0-to-many targets respectively.
As a tangible example of how this plays out, the view analogue for Prism s a looks like
preview :: Prism s a -> s -> Maybe a

And for Traversal it's (essentially)
toList :: Traversal s a -> s -> [a]

And as to what goes wrong when you violate the lens laws? They're just going to accumulate inconsistent behavior, especially as you combine them.
The right way to think of it is that propLens('key') is a lens like Lens { key: a | r } a where r is a row type indicating some set of unknown remaining keys. That type cannot unify with a type where values {} reside unless we think of {} as having a type like { val: Maybe a | r } for some r and take missing values to be implicit Nothings. At this point our lens ought to unify and end up at the type Lens { val: Maybe a | r } (Maybe a) so the logic forces us to a Maybe type again.

Seems to solve my issue. Don't know about lens laws but this feels practical at least.
Just wondering whether it creates the intermediate values even when the lens is used just for viewing?

Just wondering whether it creates the intermediate values even when the lens is used just for viewing?

No, it doesn't. I added some logging to be sure:
> R.view(R.compose(a, b, c), {a: {b: {c: 42}}})
accessing...
accessing...
accessing...
42
> R.set(R.compose(a, b, c), 99, {a: {b: {c: 42}}})
accessing...
accessing...
accessing...
reconstructing...
reconstructing...
reconstructing...
{ a: { b: { c: 99 } } }

Let's summarize the situation:

As @scott-christopher rightly pointed out, the behaviour of the lens functions in this branch violates the following lens law:
Setting the value of the focus to the result of getting the value of the focus should have no effect.
Since R.view(R.lensProp('x'), {}) gives undefined, the result of a round trip is {x: undefined} rather than {}.

The behaviour of the lens functions in the latest release (and on master) violates the same law in the same manner.

As @tel pointed out, preserving the law requires the use of Maybe so that R.view can indicate the absence of a property.

Ramda does not currently use Maybe anywhere.

Here are our options as I see them:

Make R.view a Maybe-returning function, and update R.over and R.set accordingly (or leave all three functions as they are and introduce corresponding prism functions).

Make R.lensProp and R.lensIndex throw if the specified property/index does not exist.

Leave things as they are.

Merge this pull request.

I'm no longer in favour of the last option. Now that I have a better understanding of the issues, my preference is not to support partial objects. As a result, I prefer the second option to the third, since we should be consistent in disallowing partial objects (we currently allow digging one level too far into a partial object, but no further).


How can I change the labels value at vertical ?

Hello,
How can I change the labels value at vertical ?

You can use formatYLabel on chartConfig

How can i have the fixed value on Y-axis label ? and any way we can define the different colors on y-axis label?


bugs when running warm up with "warmup_by_epoch=True"

leraning rate config:
lr_config = dict(
    policy='step',
    warmup='linear',
    warmup_by_epoch=True,
    warmup_iters=10,
    warmup_ratio=0.01,
    step=[36])

output:
2021-12-14 16:40:44,615 - mmdet - INFO - Epoch [1][50/101]      lr: 5.803e-05, eta: 0:32:22, time: 0.389, data_time: 0.080, memory: 11264, loss_seq: 1.8719, loss: 1.8719, grad_norm: 6.4753
2021-12-14 16:41:00,572 - mmdet - INFO - Epoch [1][100/101]     lr: 1.070e-04, eta: 0:29:11, time: 0.319, data_time: 0.021, memory: 11264, loss_seq: 0.4622, loss: 0.4622, grad_norm: 1.6385
2021-12-14 16:41:20,112 - mmdet - INFO - Epoch [2][50/101]      lr: 1.570e-04, eta: 0:29:25, time: 0.381, data_time: 0.079, memory: 11264, loss_seq: 0.1903, loss: 0.1903, grad_norm: 0.7615
2021-12-14 16:41:36,097 - mmdet - INFO - Epoch [2][100/101]     lr: 2.060e-04, eta: 0:28:18, time: 0.320, data_time: 0.021, memory: 11264, loss_seq: 0.1289, loss: 0.1289, grad_norm: 0.4345

Lr increases by iters instead of epoches.

by_epoch=True or False dose not affect anything.

@Sharpiless I think it works, how do you judge？

Closed due to no reply for more than 15 days.


Update configuration warnings for Particles, CPUParticles, Particles2D & CPUParticles2D

Particle systems track changes in meshes, materials & parameters in the editor in order to update warnings properly.
Fixes #33488

@pouleyKetchoupp Is this still desired? If so, it needs to be rebased on the latest master branch.

After discussion in the last PR meeting, I'm planning to change this PR to use a timer and update warnings periodically (possibly in the editor code) rather than registering for changes in resources, which messes too much with particles code.
In the meantime, let's switch this PR to draft.

Superseded by #62677.


feat(deploy): add npm run seed to manually seed users in production

add docs in README

close #46

I did some modifications to be to exit call npm run seed. Also I had some problems running in production  regarding the socket.io client and accessing the domain context. Should be OK now.


Fix TS 2.4 Errors in sidebarPart.ts

Errors
In sidebarPart.ts:
[11:19:57] Error: /Users/matb/projects/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts(71,3): Type 'Event<IComposite>' is not assignable to type 'Event<IViewlet>'.
  Type 'IComposite' is not assignable to type 'IViewlet'.
    Property 'getOptimalWidth' is missing in type 'IComposite'.
[11:19:57] Error: /Users/matb/projects/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts(75,3): Type 'Event<IComposite>' is not assignable to type 'Event<IViewlet>'.
[11:19:57] Error: /Users/matb/projects/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts(113,3): Type 'TPromise<Composite>' is not assignable to type 'TPromise<Viewlet>'.
  Type 'Composite' is not assignable to type 'Viewlet'.
    Property 'getOptimalWidth' is missing in type 'Composite'.

How to investigate

Install TS 2.4 in the vscode workspace by running npm install typescript@next
Make sure vscode is using the workspace version of TS for error reporting by running the Select TypeScript versions command

https://github.com/Microsoft/vscode/commit/573b0577c4518d48413dbaf97d8f46d63d10689f


[core-util] Edit delay()

Minor edit to use modern syntax and simpler control flow.

API change check
API changes are not detected in this pull request.


gatsby-plugin-s3 deploy failed with InvalidAccessPointARN

I follow the recipe trying to deploy Gatsby project to s3 but it failed with InvalidAccessPointARN: Access point ARN region is empty error.
https://www.gatsbyjs.org/docs/deploying-to-s3-cloudfront/
My AWS S3 works fine, I can upload Gatsby public folder manually and launch the website.
My plugin configuration is :
{     resolve: 'gatsby-plugin-s3',     options: {       bucketName: process.env.S3_BUCKET_NAME,       region: 'ap-east-1'     } }
Error message.
`

npx -n "-r dotenv/config" gatsby-plugin-s3 deploy

✖ Failed.
InvalidAccessPointARN: Access point ARN region is empty

s3.js:202 Request.validateAccessPointArn
[hellosleep-web]/[aws-sdk]/lib/services/s3.js:202:28

sequential_executor.js:106 Request.callListeners
[hellosleep-web]/[aws-sdk]/lib/sequential_executor.js:106:20

sequential_executor.js:78 Request.emit
[hellosleep-web]/[aws-sdk]/lib/sequential_executor.js:78:10

request.js:683 Request.emit
[hellosleep-web]/[aws-sdk]/lib/request.js:683:14

request.js:22 Request.transition
[hellosleep-web]/[aws-sdk]/lib/request.js:22:10

state_machine.js:14 AcceptorStateMachine.runTo
[hellosleep-web]/[aws-sdk]/lib/state_machine.js:14:12

request.js:403 Request.runTo
[hellosleep-web]/[aws-sdk]/lib/request.js:403:15

request.js:792
[hellosleep-web]/[aws-sdk]/lib/request.js:792:12

new Promise

request.js:778 Request.promise
[hellosleep-web]/[aws-sdk]/lib/request.js:778:12
`

Can somebody help? Much appreciate.

Interesting, haven't seen this one before.
What's the value of process.env.S3_BUCKET_NAME? Can you use console.log or look at the "bucketName" value in .cache/s3.config.json to ensure it is what you expect it to be?
Looking in here it seems to me that aws-sdk treats the Bucket parameter as an Access Point if it's an ARN. Make sure that for bucketName you're just providing the name of the bucket, not the ARN.

Thanks @JoshuaWalsh , I did use ARN instead of bucketName. Change to bucketName solve the problem. Thank you!


mfxFrameAllocResponse: allow NumFrameActual be zero.

The current implementation needs all decode surfaces to be registered at MFXInit time.
In some use cases like "encoder level dynamic change", "video analytics buffers batch", the downstream will dynamically adjust buffer count. So the request may not so reasonable.
Since libva and our driver do not request surface register when we create va context anymore, It's no reason to enforce it at media sdk level.
These behavior changes will make middleware like GStreamer and FFmpeg got a much simpler code.

the example allocator function be
mfxStatus  FrameAllocator::_Alloc(mfxHDL pthis, mfxFrameAllocRequest *request, mfxFrameAllocResponse *response) {
    response->mids = NULL;
    response->NumFrameActual = 0;
    return MFX_ERR_NONE;
}

@xhaihao , @XinfengZhang. please help review it.
thanks

@mgonchar any suggestion on this?
thanks

@xuguangxin well, I don't see any sense in such allocator, which actually does nothing. Why can't you avoid allocation call? Could you point me to place in code, which force you to make allocation when you don't want it?

hi @mgonchar ,
A simple example is zero-copy multi-channels transcode for live streaming. Imaging a decoder output NV1 to 50 encoders, and we may add more encoders latter if users joined. Each encoder will cache some buffers, and we can't foresee how many buffers we need in MFXVideoDECODE_Init time

@dmitry-gurulev any suggestion for this patch?
thanks

@dmitry-gurulev , thanks for the review.
You mean like https://github.com/Intel-Media-SDK/MediaSDK/blob/95e1735206bfd91cb5c6ae809ebb85c87f0db599/api/include/mfxstructures.h#L330
I can add "mfxU16  SkipFrameAllocFree" if you agreed.
thanks

@xuguangxin,

You mean like
mfxU16  EnableReallocRequest;

Yes, exactly.

I can add "mfxU16  SkipFrameAllocFree" if you agreed.

IMO, that's not a perfect name, maybe 'EnableEmptyRequest\EnableZeroNumFrameActual\EnableNoAllocatedFrames'?

IMO, that's not a perfect name, maybe 'EnableEmptyRequest\EnableZeroNumFrameActual\EnableNoAllocatedFrames'?
use those names means mediasdk still need to call FrameAllocator's allocate/free functions, but we expect the FrameAllocator to give zero allocated frame to us. right?
Is it possible to skip allocate and free functions? It does not give the caller/mediasdk any information. The mfxFrameAllocRequest can be provided by MFXVideoDECODE_QueryIOSurf

@dmitry-gurulev @mgonchar
fixed, please help review it again.
thanks

@dmitry-gurulev @mgonchar , any suggestion on the update?
thanks

@xuguangxin check copyrights in files you've modified. Some CI checks failed because of incorrect copyright

@mgonchar thanks for the reminder, fixed.

Hi @varistar ,
This patch is important. It will greatly simplify the FFmpeg/gstreamer mediasdk plugins code.
And it's will open the possibility of complex use cases.  like https://github.com/Intel-Media-SDK/MediaSDK/pull/2145#issuecomment-639195981.
Any suggestions on this?
Thanks

@varistar updated for h264dec, vpp and h264enc. could you help review it again.
I will change other codecs if current code is ok to you.
thanks


Caching UI with Akita Example request

I'm using Akita to state manage, but you don't have any laconic and practical caching strategies.
Can I manage stage that is cached on application/localStorage/DB levels with Akita?

https://datorama.github.io/akita/docs/enhancers/persist-state
Feel free to join Akita's Gitter channel and ask further questions there.


chore: release main

:robot: I have created a release beep boop
accesskit_python: 0.1.1
0.1.1 (2024-01-06)
Bug Fixes

Decrease minimum Python version to 3.8 for Python bindings (#334) (3725373)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/AccessKit/accesskit/releases/tag/accesskit_python-v0.1.1 :sunflower:


No warning/error logs in prod environment

Hi,
I'm not sure whether its actually a Monolog error, but I cannot find a solution for that problem for the 3rd day, and I thought maybe you can help.
I had different monolog configurations for my dev/stage/prod env, but since I've experienced the problem, I tried to use the same for all, which is the following:
monolog:
    handlers:
        mail:
            type:               fingers_crossed
            action_level:       error
            handler:            buffered
        buffered:
            type:               buffer
            handler:            swift
        swift:
            type:               swift_mailer
            from_email:         <myemail>
            to_email:           <myemail>
            subject:            "Server Error"
            level:              debug
        db:
            type:               service
            level:              warning
            id:                 logger_database
            path:               "%kernel.logs_dir%/%kernel.environment%.log"
            formatter:          monolog.processor.request
        file:
            type:               fingers_crossed
            action_level:       info
            handler:            nested
        nested:
            type:               stream
            path:               "%kernel.logs_dir%/%kernel.environment%.log"
            level:              info
        login:
            type:               stream
            path:               "%kernel.logs_dir%/auth.log"
            level:              info
            channels:           security

The database logger is a custom bundle, from this source:
http://dionbeetson.blogspot.hu/2013/01/symfony2-logging-application-errors-to.html
The guy, who wrote the database logger bundle informed me, that his solution is for Symfony2.1, and will update it soon, however the problem is not only with the database logger.
In dev and stage environment, the logger works like a charm, everything goes to the right place, but the email sender
In production environment (I tried it on the same server changing the env to prod, and also with debug turned on and off - cache cleared, etc.) the database logger and the email sender reporting are not working, and the file loggers are only receiving <=200 level messages (app.INFO, request.INFO). Also the database debugger gets only <=200 level messages.
We though about that maybe apache error logging is the troublemaker here, but it also works with dev and stage env, so it can't be.
If the debug option is turned on in prod environment, I receive an Apache 500 error, but nothing is logged anyway..
I'm working on Amazon AWS, using PHP 5.4.20, Symfony 2.2.11
Thanks for your help or solution in advance.

Hi,
thanks for your short and helpful answer after 2 months, I was hoping a bit faster and just-a-bit more helpful attitude, how should I know that it's a symfony problem and not a monolog one? I thought maybe you have faced a problem similar to this.
but ok, so you did not; don't bother with the reply, I will ask it in somewhere else. :(
have a nice day


Autoplay videos occasionally fail to play in Safari 11

I'm running into an issue where autoplay videos are inconsistent in Safari 11 (but fine in Chrome and Firefox). Specifically, triggered events in videojs-contrib-ads (preroll) sometimes do nothing and the video requires a click to play, even though the video element has muted=true and autoplay.
Using:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
To clarify, the video plays correctly with preroll ads about 70% of the time, with this debug output from videojs-contrib-ads:

About 30% of the time, the adsready event is triggered with no subsequent events, causing the video to no autoplay:

The AdTagURL being tested is:
https://pubads.g.doubleclick.net/gampad/ads?correlator=2179236500362919&cust_params=beta%3D0%26google%3D1%26slot%3Dvideo%26test%3Dhouseads%26video_service%3D3%26video_id%3Dm2jtspultyvb4avdhubv%26player_version%3D2.1.3%26categories%3Darts-and-entertainment-movies%2Carts-and-entertainment-television%2Carts-and-entertainment%2Carts-and-entertainment-celebrity-fan-sla%26player%3D2.1.4%26ap%3D2%26ctp%3D0&description_url=http%3A%2F%2Fwww.thehollywoodgossip.com&env=vp&gdfp_req=1&iu=%2F1030006%2Fthehollywoodgossip_video&output=xml_vast3&sz=640x480&unviewed_position_start=1&url=null&eid=324123020%2C495644009&sdkv=h.3.195.4&sdki=3c0d&scor=554421001053338&adk=2876963133&u_so=l&osd=2&frm=0&sdr=1&is_amp=0&vpa=auto&vpmute=0&mpt=videojs-ima&mpv=1.2.1&afvsz=200x200%2C250x250%2C300x250%2C450x50%2C468x60%2C480x70&ged=ve4_td1_tt0_pd1_la1000_er<IP_ADDRESS>_vi0.0.1321.637_vp0_eb16491
Any guidance would be appreciated!

Hi all,
Safari 11 blocks the video with autoplay and with sound.
doc: https://www.howtogeek.com/326532/safari-now-disables-auto-playing-videos.-heres-how-to-allow-them-for-certain-sites/
A.

@ibraalek10 As mentioned in the issue, this is on videos with the muted attribute.

Yes, but i had same problems months ago also with the "muted" attribute..
For this reason i shared this article..
Take a test..
A.

I'm not seeing this in using our autoplay example when I replace the tag with your tag. We're also in the process of updating our autoplay example to be more robust here.

Going to close this out as there hasn't been some activity here for a while. Feel free to reopen if this is still an issue.


add missing parameter to update

Add missing parameter (the model) to the update function in stateful.ipynb.

Hey there!
I've just double-checked and the example seems to run for me. (At least with my current set of library versions.)
Is this failing for you when you try to run this?

My bad, I just found out that the params parameter in the update function it is not necessary. Will close this PR, thanks for answering :)


Add datetime support to eel websockets.

Added the ability to just coerce datetime objects directly into their __str__ output when being sent down the pipe through a web-socket.
The main use case for this (at least for my current usage of Eel) is as follows:

I'm using different models to store sets of data that flow between the frontend and backend.
One of the main pieces of functionality for my application is allowing real-time updates and the inclusion of counters and stopwatches (that start from, or countdown to) a datetime object.
Returning a dictionary that contains raw datetime objects currently just coerces them to a None type value or null when viewed in the JavaScript itself.

Now, I could just coerce my datetime objects into strings directly before sending them down the pipe to be sent through a web-socket, but this would then mean that I need to convert them back to datetime objects when I'm dealing with them back in Python.
I think it's more worthwhile to just convert datetimes into strings by default when they're encountered by the jsn.dumps functionality within Eel.

Hi @becurrie,
Thanks for the PR - glad you're using Eel and want to contribute to its development. 🎉
I think it's a fair idea to allow more data types to be serialized. That said, I think we might want to consider the more general case for users transferring data/objects between the Python and JS sides. With that in mind, I think we might want to consider letting Eel take in custom JSONEncoder/Decoders, which are used instead of the default, so that developers can pass whatever they want between Python and JS - not just basic datatypes and, with your proposed change, datetimes.
Does that make sense? Do you want to take a shot at implementing this?

Hi @becurrie,
Thanks for the PR - glad you're using Eel and want to contribute to its development. 🎉
I think it's a fair idea to allow more data types to be serialized. That said, I think we might want to consider the more general case for users transferring data/objects between the Python and JS sides. With that in mind, I think we might want to consider letting Eel take in custom JSONEncoder/Decoders, which are used instead of the default, so that developers can pass whatever they want between Python and JS - not just basic datatypes and, with your proposed change, datetimes.
Does that make sense? Do you want to take a shot at implementing this?

Yeah that makes perfect sense and general is always better, I can take a shot at it when I get some more time over the next month or so :)


Update to refined 0.3.0

Sorry for the late answer. I'll merge as soon as I'll give some love to this project, hopefully soon.

No problem, there's no rush.

Manually added your commit via https://github.com/alexarchambault/argonaut-shapeless/pull/33. Thanks!


added XML Tree View for xslt/xsl files

XML DOCUMENT don`t show xslt/xsl files files structure
Please add to the selection of file extensions that are treated as xml

At this time I'm using this https://github.com/MarekLew/vscode-xml/commit/aab25d215992643f3673288e5ef3a4afb3750c10

You can associate any extension you want to the xml language in you workspace preferences. Please see the VS Code documentation on the topic for more information.


[FEATURE] Add TYPO3 environment "ExtensionBuilder"

Add a TYPO3 + EXT:extension_builder environment which can provide screenshots for the extension documentation.
Fixes: #224
Requires: #223

Rebased PR on latest main branch.


[.NET] Return warning when validated inputs don't have an error message

Related Issue
Fixes #4449
Description
Add warnings for validated inputs without error messages for .NET.
How Verified
.NET tests passed. Confirmed expected behavior using existing MissingErrorMessages.json sample card.
Microsoft Reviewers: Open in CodeFlow

/azp run


I'm getting flood wait error!

After few minutes of testing I'm getting flood wait error. I have added code lines to translate this error instead of crashing, it says:
Flood wait error: Waiting for 2546 seconds.
Please figure out what is the issue, I even tried to change the bot token which helped me but then same error after few mins of testing. There's something wrong!!

Thanks @ritz0007 , Will look into it

Additional Info:

This flood wait is bot specific.
It is random between 1500s to 3000s
I run a few highly interactive bots and never faced this error before specially in case of a pyro bot session

Suggested Solution:

The issue is in main.py while storing the pyro session in memory instead of storing it as a file, cz it will lead to create and authorize the session every time the bot boots up. Which is unusual for telegram, cz it counts as a fresh new login. Remove the line in_memory=True, to fix this error!

Thanks @ritz0007 .


Keep Sony's headset connected to multiple devices in the office

MDR-1RBT has been doing a great job over 4 years intermittently. Now I've never needed its amazing sound quality and functionality (microphone, wireless connection over bluetooth) more than ever at work:

Android phone: Phone call
Ubuntu laptop: Web conf, other media

Switching bluetooth' connection between devices every time is very cumbersome in general. So it'd be great if this headset can simultaneously connect to multiple sound sources.

MDR-1RBT isn't that old! It supports the multi device connection. As the instruction reads, I just had to turn off the Android phone's media audio (which I don't need. I won't listen to media sound on MDR through the Android phone).
General term for this feature might be multipoint.


Weird delay when using mapDispatchToProps shorthand notation

The following code works fine:
const mapDispatchToProps = dispatch => ({
  retrieveAnnouncements: () => dispatch(retrieveAnnouncements()),
  selectNextAnnouncement: () => dispatch(selectNextAnnouncement()),
  selectPreviousAnnouncement: () => dispatch(selectPreviousAnnouncement())
})

but switching it out with this causes an 8 second delay between mapStateToProps and the associated component.
const mapDispatchToProps = {
  retrieveAnnouncements,
  selectNextAnnouncement,
  selectPreviousAnnouncement
}

Chrome console reports
[Violation] Handler took 9291ms of runtime (150ms allowed)

on:
"use strict";
/* harmony export (immutable) */ __webpack_exports__["a"] = bindActionCreators;
function bindActionCreator(actionCreator, dispatch) {
  return function () {
    return dispatch(actionCreator.apply(undefined, arguments));
  };
}

any ideas?

That... seems extremely odd.  Do you have a repro of the issue, or any kind of snapshot of the perf behavior?
As you can see, bindActionCreators is itself extremely trivial, and that shouldn't be causing any kind of problem.

Yeah this is a super weird issue, no idea what exactly is causing this..
I'm not sure really how to read a CPU profile but here is the file
CPU-20170306T114944.txt
I'm using redux-actions to create action creators like so:
import { createAction } from 'redux-actions'
import ACTIONS from 'constants/actionsConstants'

export const selectNextAnnouncement = createAction(ACTIONS.ANNOUNCEMENTS.NEXT)
export const selectPreviousAnnouncement = createAction(ACTIONS.ANNOUNCEMENTS.PREVIOUS)

and importing inside the container
import { selectNextAnnouncement, selectPreviousAnnouncement } from 'redux/actions/announcements'

const mapStateToProps = (state) => {
  const { announcements, activeAnnouncementIndex, isLoading, totalAnnouncements } = state.announcements
  return {
    activeAnnouncementIndex,
    totalAnnouncements,
    announcements,
    isLoading
  }
}

const mapDispatchToProps = {
  retrieveAnnouncements,
  selectNextAnnouncement,
  selectPreviousAnnouncement
}

export default connect(mapStateToProps, mapDispatchToProps)(AnnouncementsContainer)

If I put a console log in both the mapStateToProps and render function of AnnouncementsContainer the mapState console log happens right away but the render function only happens 8 seconds later.

Based on that CPU profile (really helpful, btw!), the only thing I can see that's related is this warning. That's the only place we call stringify, which is the last of the big block of CPU time on the flamegraph:

The only reason I think it might not be that is because the parent functions are anonymous and the parent to our stringify usage is a named function (wrapWithConnect). If you click on the block in the flamegraph, it will send you to that code in the Sources tab. If you have sourcemaps turned on, it will show you the exact module/file where that code lives. You can hover over the tab to get the full location if it doesn't jump out to you who actually owns that code.
Go ahead and do that so we can narrow things down.

Clicking on the anonymous before the stringify sends me to
 return function (action) {
        state = getState();

        result = tracker.detectMutations();
        // Track before potentially not meeting the invariant
        tracker = track(state);

        (0, _invariant2['default'])(!result.wasMutated, BETWEEN_DISPATCHES_MESSAGE, (result.path || []).join('.'));

        var dispatchedAction = next(action);
        state = getState();

        result = tracker.detectMutations();
        // Track before potentially not meeting the invariant
        tracker = track(state);

        (0, _invariant2['default'])(!result.wasMutated, INSIDE_DISPATCH_MESSAGE, (result.path || []).join('.'), (0, _jsonStringifySafe2['default'])(action));

        return dispatchedAction;
      };

which looks like the state mutations detection middleware redux-immutable-state-invariant
Any ideas how this can be related? what should I look at next?

Well, it looks like you're causing an invariant to trip inside that library and it's trying to print the full contents of the action, which must include a sizable payload (hence the 8 second delay).
Regardless, it looks like it might be an overly eager check by that middleware for immutable mutations. I didn't go into too much detail on it, but that's the general idea. It looks like a development aid, so removing it should be harmless. You're probably better off getting rid of it.

FWIW, there's several other options for similar checks as well: https://github.com/markerikson/redux-ecosystem-links/blob/master/devtools.md#linting .

But how does changing from shorthand to the full mapDispatchToProps fix this? I'm still confused

My best guess is it is accessing some property of the action creator somewhere that is tripping the that middleware. By wrapping them in functions, you're delaying that access until later, when it might not trip the middleware. I'm not an expert in that library, so I don't know for sure. I would just remove it.


Package out of sync with icons

Hi there,
The package looks to be out-of-date with the current offerings available on hugeicons. Lots of icons, i.e. https://hugeicons.com/icon/pulse-02-stroke-rounded aren't available with your composer package.
Are there any plans to update?
Thank you!

Hi, yes I have sadly realized this myself recently 😄, the update will come as soon as possible.

Hi, yes I have sadly realized this myself recently 😄, the update will come as soon as possible.

Awesome news - thanks a bunch!

You're welcome, i am closing closing this issue right now, stay tuned for the next update 🙌

Hey Lewis! I just released v0.0.4 with 222 new icons (Crazy, right?). Just wanted to let you know since you asked about new icons.

Hey Lewis! I just released v0.0.4 with 222 new icons (Crazy, right?). Just wanted to let you know since you asked about new icons.

Awesome, thank you for being quick on this. Much appreciated. :)


Non exhaustiveness of patterns

This PR implements non-exhaustiveness check for matchs (issue #1287). Based on the usefulness implementation proposed in the rustc_pattern_analysis[1] module of the Rust compiler. A match is exhaustive iff the wildcard _ pattern is not useful with respect to  the patterns in the match. The values returned by usefulness are used to tell the user which values are missing ([] where the match is exhaustive).
Still in draft until I finish analyzing some edge cases.
[1] https://doc.rust-lang.org/nightly/nightly-rustc/rustc_pattern_analysis/usefulness/index.html

Ah nice! I asked because I was not sure if the other function is maybe different. One small note: I think currently an enum variant is always marked as refutable, but with this checker, I think we should be more exact: It is irrefutable if and only if it is the only variant of the enum.

Cool! Just to confirm:
enum Name {
    Variant1,
    Variant2,
}

is represented as Enum(Name, [Variant1, Variant2]), right?

Not sure I understood correctly but given that enum declaration, we could use it in a pattern like this:
match x {
  Name::Variant1 => ...,
  Name::Variant2 => ...,
}

The second parameter of Pattern::Enum is the data fields of an enum if it has them, i.e. Name::Variant1(x, 2) => ....
If you consider the following enum definition:
enum SingleVarEnum {
  Var(int, int)
}

Then we could do the following because the pattern is irrefutable:
let SingleVarEnum::Var(x, y) = m;

Of course we still need to check that the inner patterns are all refutable.

No worries, take your time, it's not easy navigating in a new codebase.

It seems to be working. I may add a few more tests, but overall it is ready for review.
By the way, it looks like this match
https://github.com/powdr-labs/powdr/blob/930f24ac4368ab9e74013ec0cf04bf920c70ec4a/linker/src/lib.rs#L504 is not exhaustive and that's why the tests are failing.
How should I go about getting someone to look at it? Should I open an issue? Just a message on matrix at any time?


Add arrayFill for gracefully handling lack of Array.prototype.fill support in IE and Safari

Closes #3614
Tested on Chrome, Safari, and Firefox. Safari relies on the alternate implementation of arrayFill, but this still needs to be tested in IE

Updated. I'm not sure what is up with the build fail, it seems to be failing for unrelated reasons?

The 3d-tiles branch has its own failures that need to be fixed, so don't worry about the server as long as the tests pass locally.

I get local failures too, but nothing that isn't failing in the current 3d-tiles branch

@JoshuaStorm the reference doc guide is here if you need to review it: https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Documentation/Contributors/DocumentationGuide/README.md

I get local failures too, but nothing that isn't failing in the current 3d-tiles branch

The 3D-Tiles branch looks out of date with master and it may even be using the old non-functioning bing key.  Hopefully after 1.24 is released today, @lilleyse can merge master into 3d-tiles and resolve any conflicts.

@JoshuaStorm 3d-tiles has been updated to match master, can you merge that into your branch so we can hopefully merge this.  Thanks.

@JoshuaStorm 3d-tiles has been updated to match master, can you merge that into your branch so we can hopefully merge this. Thanks.

Turns out I was wrong, hold off for now.

It's ready now.

I merged in 3d-tiles locally and this is good to go.  Thanks @JoshuaStorm!


Simplify changing Edition types

The old code had lots of hard-coded bespoke conditions that examined the types
of the objects to decide what to copy. This changes it to use duck typing to
figure out what data can be copied between types.
This approach is shorter, simpler and handles more conversions and will handle
new types without them having to be explicitly added. I think it also reveals the
intent better.
The only downside I could think of is if there are fields which are in common between two formats would be duplicated in the fields and the new body, but that seems better than losing them because they haven't been explicitly handled one-by-one.

:+1: for intent, @binaryberry knows this area though so will let her provide proper approval

May I ask why you chose to check the class in some cases and respond_to? in the last case?

LGTM! Much cleaner like this.

@tadast you make a very good point - rebased to use respond_to?.
In the case of more_information, this means that LocalTransactionEdition and PlaceEdition will now get the whole_body from the old edition, which they didn't with my first attempt :+1:
Yay for duck typing!

:cool: I like this change, thanks for addressing the comments :+1:

I've expanded the scope of this a bit to clean up some duplication and some minor bugs. Best reviewed commit-by-commit.
I've tested the changes successfully against Publisher in development.
If people feel this is too much in one PR I can split it out.

Other than my comments it looks alright to me, however I'd be more confident if someone with more domain knowledge would have another look :)

@alext has very kindly agreed to review this when he is able to.


Cannot set per-cloud environment variables

Our GCE cloud is configured to not allow direct Internet access, either via external IP or via NAT, and all traffic must leave via a proxy where it can be logged.  However, the GCE plugin does not provide any way to set the required http_proxy et al environment variables on a per-cloud basis; the best available workaround would be to set them at the Jenkins global level, but then our non-GCE instances (bare metal, legacy EC2, corp Mac Minis, etc) will have the wrong proxy configured.

Hi @dkfitbit , I have been looking into this and I'd like to clarify what contexts you need these environment variables set for. I've attempted ways to set these variables through the startup script but have not had any luck so far.

Example:
export http_proxy="http://some.proxy:3128"
export https_proxy="http://some.proxy:3128"
export no_proxy="localhost,.internal,<IP_ADDRESS>"
# usual Jenkins start-up
java -jar slave.jar
# now all subprocesses started on this executor by Jenkins have $http_proxy set

There might be other adequate ways to make those variables propagate to (1) all jobs that run on the executor (2) but no other executors, but the most obvious way is to set them when launching the JNLP slave.jar, which is what the EC2 plugin does.

It might help to know that we have a mix of executor types: cloud VMs that Jenkins deploys, bare metal machines that Jenkins SSHes into, and Mac Minis that live in corp and that connect to Jenkins (because Jenkins cannot reach them through the firewall).  Each of these different machine types needs different environment variables set.  One Jenkins job might use multiple machine types, perhaps even in parallel, and the environment variable values for a given machine type are the same for hundreds of jobs.

Thanks, that's actually extremely helpful. I would need to consult with our team on completely opening up customization of the launch command in that way. I don't believe it was intended to be used in this way, but it is actually now possible with the javaExecPath field (once release 3.2.0 hits the update center).
While we work on a more robust solution, here is the workaround that was just enabled. Configure the javaExecPath field something like this:
export http_proxy="http://some.proxy:3128";export https_proxy="https://some.proxy:3128";export no_proxy="localhost,.internal,<IP_ADDRESS>";java

It will work as long as the last part of the string is java or whatever the appropriate java executable path is.

Any updates? @dkfitbit

We haven't had time to upgrade from 1.0.5 (we're several months behind on our patching for all plugins, not just GCE).


[Bug]: Scanning a LN invoice QR fails without error

Describe the bug
If I use the camera scanner to scan a LN QR invoice, it immediately scans then goes back to the previous screen with no effect.
Reproduce

Go to camera scanner from anywhere
Scan a LN QR
No effect after scanning, no ability to pay LN invoice
No error message is given

Screenshots / Recording
No response
Operating system
iOS
Bitkit version
(23)
Log output
No response

Maybe there is something up with LNmarkets.
LNmarkets also failed to generate a specific invoice.

Just tried again as the issues on LNmarkets side seem to be resolved. I am getting this error when scanning 0-amount invoice on LNmarkets. Bitkit does seem to be able to parse a specified invoice though (on LNmarkets). @coreyphillips @Jasonvdb @BitcoinErrorLog

When attempting to deposit to LNMarkets without specifying an amount, LNMarkets presents an lnurl-pay string via the qrcode. Unfortunately, Bitkit does not yet support lnurl at this time.
To successfully deposit to LNMarkets in the meantime, an amount must be specified in the textbox below the qrcode. Simply enter the desired amount of satoshis you wish to deposit and click "Request Invoice".

I suppose then that the bug/feature here is to show appropriate error-handling/notification, and/or to add support for lnurl-pay.

This issue has been addressed here and will be included in the next release.

@coreyphillips can I close the issue?

@coreyphillips can I close the issue?

Please keep it open for now. A scanned lightning invoice containing capital letters followed by a colon (Ex: LIGHTNING:) will currently fail. I'll close this issue once that fix is in.

Working for the incoming build 39. If you select lightning invoice in WOS.
https://user-images.githubusercontent.com/5300488/232447162-03f42269-d1b3-4b01-b743-4b444dcbc5c6.MP4

ohhhh i think i see the issue, it defaults to Lightning Address... lame. I'm still not sure whether we should add support for that...

Right, yeah then I think every user is going to make that mistake if WOS is always going to default to lightning address

I never tried talking to them before, let's see... https://twitter.com/BitcoinErrorLog/status/1647901756137914368


Queries by type report

Off course I understand that it is not issue, but I have no options to solve my problem.
I'm using pgbadger to analize postgres logs. I see "queries by type" section and don't understand what means "others" category in table.
my question in stackoverflow
I know only dml, ddl, tcl, dcl commands. DCL is absent in table, but Others is too huge to be only dcl.
Please tell me what queries are included in category "Others"?

'COPY FROM', 'COPY TO' are used when you are importing and dumping tables from and to files.
'CTE' are Common Table Expression, WITH ... AS queries.
Others are all LOG messages that can not be categorized with ('SELECT', 'INSERT', 'UPDATE', 'DELETE', 'COPY FROM', 'COPY TO', 'CTE', 'DDL', 'TCL') keywords.

Thanks for full answer!


Not possible to queue a task from a CPUBOUND task

If you queue a task at the end of a CPUBOUND task, the task never get's queued.
A possibility is to wait for it, but that means the CPUBOUND task is not finished till the queued task is finished too.

You can now wait(queue_task(name, callback=False)).
This guaranties the task is queued but does not wait for its execution.

Thanks


Machine win-13 went dead from network monitoring website.

Machine win-13 went dead from network monitoring website.

win-13 is back online and running. Network adapter was disabled itself, rebooting machine to restart the network service.


Specify settings in appsettings.json files instead of Kubernetes config

Currently, most settings are configured as environment variables in the Kubernetes deployment configuration. These settings should be defined in the appropriate appsettings.json file based on the environment (connection strings, logging, engines, etc.). Only secrets should be configured in by environment variables.
By default, ASP.NET Core supports three environments: Production, Staging, and Development. appsettings.json is for production and contains the defaults for the other files. appsettings.Staging.json is for QA. We could use it for external QA. appsettings.Development.json is for development. We will probably need to add another environment for internal QA, if it has different settings than external QA. We can call it InternalStaging or something like that, so that would use appsettings.InternalStaging.json.

So here is a case for continuing with the environment variables:

There are 3 different k8s environments that are all very similar (~80% overlap).  However, these environments are almost completely different from a "bare metal" deployment for development, namely:

The interconnection of deployments (port routing, etc.) are the same for k8s but different for bare metal.  Moreover, having all the inter-connections in the helm charts rather than separated into different appsettings files in different repos makes it easier to understand and allows for more rapid reconfiguration.
The ClearML and S3 authentication are different for each deployment but contain secrets that would not be able to be put in appsettings.json
The Auth0 credentials do change and are the only thing that could meaningfully put in separate appsettings..json files

Therefore, I recommend keeping the deployments as is, that is, using environment variables declared in helm charts for most of the configuration of the k8s deployments.

There were three main reasons I suggested this change:

For an ASP.NET Core project, the expectation is that most of these settings (other than secrets) will be configured in the appsettings.json. There is value in being as idiomatic as possible.
The settings are more clearly organized in a json file rather than the weird naming that is required when configuring using environment variables.
The appsettings.json provide a couple of nice features, such as environment support (dev, staging, production) with shared settings configured in the main appsettings.json and hot reload of settings when they are changed.

I will leave the decision of whether or not keeping most of the config in the appsettings file is valuable, since you are primarily responsible for maintaining most of these settings for deployment. Feel free to close this issue if you are happy with the current approach.

I believe maintaining most of the parameters in the helm chart is easier - it also allows for updating the behavior without updating the docker build.  I will close this issue for the time being.


[1.27.x] KOGITO-7890 - Use operation id as work item handler name

Cherry pick of https://github.com/kiegroup/kogito-runtimes/pull/2443

jenkins run quarkus-lts

(tests) - kogito-examples job #11 was: FAILURE
Possible explanation: Pipeline failure or project build failure
Please look here: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/kogito/job/1.27.x/job/pullrequest/job/kogito-runtimes.tests.downstream.kogito-examples/11/display/redirect
See console log:

Console Logs
[Pipeline] sh[2022-09-12T04:37:38.346Z] + du -h -d3 /home/jenkins/workspace[2022-09-12T04:37:38.346Z] 2.8M	/home/jenkins/workspace/KIE/kogito/1.27.x[2022-09-12T04:37:38.346Z] 2.8M	/home/jenkins/workspace/KIE/kogito[2022-09-12T04:37:38.346Z] du: cannot access ‘/home/jenkins/workspace/KIE/optaplanner/8.27.x/nightly.quarkus-branch/optaplanner-all_ws-cleanup_1662957454132/optaplanner/optaplanner-persistence/optaplanner-persistence-jackson/target/surefire-reports/org.optaplanner.persistence.jackson.api.score.buildin.bendablelong.BendableLongScoreJacksonRoundTripTest.txt’: No such file or directory[2022-09-12T04:37:38.346Z] du: cannot access ‘/home/jenkins/workspace/KIE/optaplanner/8.27.x/nightly.quarkus-branch/optaplanner-all_ws-cleanup_1662957454132/optaplanner/optaplanner-persistence/optaplanner-persistence-jackson/target/surefire-reports/TEST-org.optaplanner.persistence.jackson.api.score.buildin.bendablelong.BendableLongScoreJacksonRoundTripTest.xml’: No such file or directory[2022-09-12T04:37:38.346Z] du: cannot access ‘/home/jenkins/workspace/KIE/optaplanner/8.27.x/nightly.quarkus-branch/optaplanner-all_ws-cleanup_1662957454132/optaplanner/optaplanner-persistence/optaplanner-persistence-jackson/target/surefire-reports/org.optaplanner.persistence.jackson.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreJacksonRoundTripTest.txt’: No such file or directory[2022-09-12T04:37:38.346Z] du: cannot access ‘/home/jenkins/workspace/KIE/optaplanner/8.27.x/nightly.quarkus-branch/optaplanner-all_ws-cleanup_1662957454132/optaplanner/optaplanner-persistence/optaplanner-persistence-jackson/target/surefire-reports/TEST-org.optaplanner.persistence.jackson.api.score.buildin.simplebigdecimal.SimpleBigDecimalScoreJacksonRoundTripTest.xml’: No such file or directory[2022-09-12T04:37:38.346Z] du: cannot access ‘/home/jenkins/workspace/KIE/optaplanner/8.27.x/nightly.quarkus-branch/optaplanner-all_ws-cleanup_1662957454132/optaplanner/optaplanner-persistence/optaplanner-persistence-jackson/target/surefire-reports/org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreJacksonRoundTripTest.txt’: No such file or directory[2022-09-12T04:37:38.346Z] du: cannot access ‘/home/jenkins/workspace/KIE/optaplanner/8.27.x/nightly.quarkus-branch/optaplanner-all_ws-cleanup_1662957454132/optaplanner/optaplanner-persistence/optaplanner-persistence-jackson/target/surefire-reports/TEST-org.optaplanner.persistence.jackson.api.score.buildin.hardmediumsoftbigdecimal.HardMediumSoftBigDecimalScoreJacksonRoundTripTest.xml’: No such file or directory[2022-09-12T04:37:38.346Z] 975M	/home/jenkins/workspace/KIE/optaplanner/8.27.x[2022-09-12T04:37:38.346Z] 975M	/home/jenkins/workspace/KIE/optaplanner[2022-09-12T04:37:38.346Z] 977M	/home/jenkins/workspace/KIE[2022-09-12T04:37:38.346Z] 977M	/home/jenkins/workspace[Pipeline] }[Pipeline] // dir[Pipeline] }[Pipeline] // script[Pipeline] }[Pipeline] // withEnv[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Install build-chain tool)Stage "Install build-chain tool" skipped due to earlier failure(s)[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Build projects)Stage "Build projects" skipped due to earlier failure(s)[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Sonar analysis)Stage "Sonar analysis" skipped due to earlier failure(s)[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (check space after build)Stage "check space after build" skipped due to earlier failure(s)[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] script[Pipeline] {[Pipeline] sh[2022-09-12T04:37:39.127Z] + wget --no-check-certificate -qO - https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/kogito/job/1.27.x/job/pullrequest/job/kogito-runtimes.tests.downstream.kogito-examples/11/api/json[Pipeline] readJSON[Pipeline] sh

jenkins run quarkus-lts

jenkins run quarkus-lts

jenkins run quarkus-lts

(tests) - kogito-runtimes job #14 was: UNSTABLE
Possible explanation: This should be test failures
Please look here: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/kogito/job/1.27.x/job/pullrequest/job/kogito-runtimes.tests.kogito-runtimes/14/display/redirect
Test results:

PASSED: 2895
FAILED: 1

Those are the test failures:

org.kie.kogito.quarkus.it.openapi.client.ApiWithSecurityContextIT.verifyAuthHeadersOpenApi2_0
java.lang.AssertionError: 1 expectation failed.Expected status code <201> but was <500>.	at org.kie.kogito.quarkus.it.openapi.client.ApiWithSecurityContextIT.verifyAuthHeadersOpenApi2_0(ApiWithSecurityContextIT.java:62)

(quarkus-lts) - kogito-runtimes job #15 was: UNSTABLE
Possible explanation: This should be test failures
Please look here: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/kogito/job/1.27.x/job/pullrequest.quarkus-lts/job/kogito-runtimes.quarkus-lts.kogito-runtimes/15/display/redirect
Test results:

PASSED: 1935
FAILED: 1

Those are the test failures:

org.kie.kogito.quarkus.it.openapi.client.ApiWithSecurityContextIT.verifyAuthHeadersOpenApi2_0
java.lang.AssertionError: 1 expectation failed.Expected status code <201> but was <500>.	at org.kie.kogito.quarkus.it.openapi.client.ApiWithSecurityContextIT.verifyAuthHeadersOpenApi2_0(ApiWithSecurityContextIT.java:62)

@cristianonicolai Looks like there is a related issue in one of the openapi test

jenkins run quarkus-lts


Refactor SyntaxNodeVisitor.ExecuteVisitationMap(ISyntaxNode)

I've selected SyntaxNodeVisitor.ExecuteVisitationMap(ISyntaxNode) for refactoring, which is a unit of 131 lines of code. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Short Units of Code guideline rating! 👍
Here's the gist of this guideline:

Definition 📖
Limit the length of code units to 15 lines of code.
Why❓
Small units are easier to analyse, test and reuse.
How 🔧
When writing new units, don't let them grow above 15 lines of code. When a unit grows beyond this, split it in smaller units of no longer than 15 lines.

You can find more info about this guideline in Building Maintainable Software. 📖

ℹ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲  next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁

Good luck and happy coding! :shipit: :sparkles: :100:

I think the best way would be if we abandon this visitor and do something similar to the query visitor. So, in this case we could create a schema visitor.


Write tool(s) to generate realistic transactions for testing purposes

We need some way to generate lots of realistic-looking transactions, for testing and benchmarking purposes.
Thoughts:

The meaning of "realistic transaction" depends on the use case. Maybe we can have one tool with parameters to change the kind of transactions it generates, or maybe separate tools?
I suspect this tool (or these tools) could be stand-alone
Maybe one option could be for the transactions to write to a file or to stdout? Then other tools could be used to read-from-file into wherever. (Some customers might bring their own files-of-test-transactions, from their own sources or tools.)

We will develop tools for generating test transactions as-needed, for specific testing projects, so I will close this issue.


Latest Release is missing assets

Describe the bug
Release v0.45.14 does not contain the OS build assets

They're there now ✨. You all rock!

CICD jobs just finished execution...

https://github.com/gruntwork-io/terragrunt/runs/13587437031


Public API is down

Error: WebSocket is not open: readyState 3 (CLOSED)
    at WebSocket.send (/home/evilarceus/dev/Spotify-PlayCount/node_modules/ws/lib/websocket.js:329:19)
    at WebSocket.ws.json (/home/evilarceus/dev/Spotify-PlayCount/app.js:83:42)
    at app.get (/home/evilarceus/dev/Spotify-PlayCount/app.js:47:12)
    at Layer.handle [as handle_request] (/home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/layer.js:95:5)
    at /home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/index.js:335:12)
    at next (/home/evilarceus/dev/Spotify-PlayCount/node_modules/express/lib/router/index.js:275:10)

It's back up now.


ValueError: max() arg is an empty sequence

When I run the code like below.
I've got stack at the titled error.
why??
Using TensorFlow backend.
2018-05-22 11:47:25.286883: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.2 AVX AVX2 FMA
Epoch 1/15
Traceback (most recent call last):
File "test.py", line 9, in
model.train(x_train, y_train, x_valid, y_valid)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/wrapper.py", line 50, in train
trainer.train(x_train, y_train, x_valid, y_valid)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/trainer.py", line 51, in train
callbacks=callbacks)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/engine/training.py", line 2145, in fit_generator
generator_output = next(output_generator)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/utils/data_utils.py", line 770, in get
six.reraise(value.class, value, value.traceback)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/six.py", line 693, in reraise
raise value
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/utils/data_utils.py", line 635, in _data_generator_task
generator_output = next(self._generator)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/reader.py", line 137, in data_generator
yield preprocessor.transform(X, y)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/preprocess.py", line 115, in transform
sents, y = self.pad_sequence(words, chars, y)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/preprocess.py", line 148, in pad_sequence
word_ids, sequence_lengths = pad_sequences(word_ids, 0)
File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/preprocess.py", line 197, in pad_sequences
max_length = len(max(sequences, key=len))
ValueError: max() arg is an empty sequence
import anago
from anago.reader import load_data_and_labels

x_train, y_train = load_data_and_labels('./data/train.txt')
x_valid, y_valid = load_data_and_labels('./data/valid.txt')
x_test, y_test = load_data_and_labels('./data/test.txt')

model = anago.Sequence()
model.train(x_train, y_train, x_valid, y_valid)
model.eval(x_test, y_test)
words = 'President Obama is speaking at the White House.'.split()
model.analyze(words)

When I tried with small dataset, this caused me such an error above though, if I fed the huge data, like the one you pushed on this repo, then it works.
so, did you set any limitations on data storage??

Does anyone know about this??

Probably, sentences is an empty list:
>>> max([], key=len)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: max() arg is an empty sequence

Hironsan,
Thank you for your comment though, i know that... the thing is I didn't know why this caused me such an error. anyway, bode94 is right.
I didn't put the empty line at the end of the training data.
that's why if I use the distributed dataset, it works though, when it comes to mine, it did't work...
Thank you, both!

Hope you are doing well!
Best,
Rowing0914

Traceback (most recent call last):
  File "test.py", line 9, in <module>
    model.train(x_train, y_train, x_valid, y_valid)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/wrapper.py", line 50, in train
    trainer.train(x_train, y_train, x_valid, y_valid)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/trainer.py", line 51, in train
    callbacks=callbacks)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/engine/training.py", line 2213, in fit_generator
    callbacks.on_epoch_end(epoch, epoch_logs)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/keras/callbacks.py", line 76, in on_epoch_end
    callback.on_epoch_end(epoch, logs)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/metrics.py", line 124, in on_epoch_end
    for i, (data, label) in enumerate(self.valid_batches):
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/reader.py", line 150, in data_generator
    yield preprocessor.transform(X, y)
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/preprocess.py", line 115, in transform
    y = [[self.vocab_tag[t] for t in sent] for sent in y]
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/preprocess.py", line 115, in <listcomp>
    y = [[self.vocab_tag[t] for t in sent] for sent in y]
  File "/Users/norio.kosaka/anaconda3/envs/py36/lib/python3.6/site-packages/anago/preprocess.py", line 115, in <listcomp>
    y = [[self.vocab_tag[t] for t in sent] for sent in y]
KeyError: 'I-MISC'

import anago
from anago.reader import load_data_and_labels

x_train, y_train = load_data_and_labels('../data/conll2003/en/ner/train_1.txt')
x_valid, y_valid = load_data_and_labels('../data/conll2003/en/ner/valid_1.txt')
x_test, y_test = load_data_and_labels('../data/conll2003/en/ner/test_1.txt')

model = anago.Sequence()
model.train(x_train, y_train, x_valid, y_valid)
model.eval(x_test, y_test)
words = 'President Obama is speaking at the White House.'.split()
model.analyze(words)

train.txt
EU	B-ORG
rejects	O
German	B-MISC
call	O
to	O
boycott	O
British	B-MISC
lamb	O
.				O

This error happens when your validation set contains tags that are not existent in your training set.
As this is a possible case in other kinds of machine learning problem, I build a workaround for it:
I defined a new Proprocessing class that includes that tags from validation set into self.vocab_tag list.
class Preprocessor(WordPreprocessor):

    def fit(self, x_train, y_train, y_valid):
        super().fit(x_train, y_train)

        entities = set()

        for sent in y_valid:
            entities.update(sent)

        for t in entities:

            if t not in self.vocab_tag:
                self.vocab_tag[t] = len(self.vocab_tag)

        return self

But then you also need a new wrapper class that is almost equivalent to Sequence, but uses your new preprocessor:
class AnagoWrapper(Sequence):

    def train(self, x_train, y_train, x_valid=None, y_valid=None, vocab_init=None):
        self.p = Preprocessor(vocab_init=vocab_init).fit(x_train, y_train, y_valid)
        embeddings = filter_embeddings(self.embeddings, self.p.vocab_word, self.model_config.word_embedding_size)
        self.model_config.vocab_size = len(self.p.vocab_word)
        self.model_config.char_vocab_size = len(self.p.vocab_char)

        self.model = SeqLabeling(self.model_config, embeddings, len(self.p.vocab_tag))

        trainer = Trainer(self.model,
                          self.training_config,
                          checkpoint_path=self.log_dir,
                          preprocessor=self.p)
        trainer.train(x_train, y_train, x_valid, y_valid)

Anyway, I am thinking about changing my preproccesor by taking a predefined list of tags into the self.vocab_tag list as this may error once you test your model and your test set contains tags that are not existens in training or validation set.

Hi bode94
Thank you for your prompt action!
Oh,, yeah it's probably i just have created the datasets using head -n 100 train/test/valid.txt > train/test/valid_1.txt
So within the first 100 lines, maybe each text contains other parts...
Now I got it!!
Thank you so much for your contribution as well!
let me check!


Add a python-defined layer over the bindings.

Move the bindings to a tket2._tket2 submodule and re-define all structures from python, backed by their binded counterparts.
See Quantomatic/quizx for an example.
This gives us more flexibility on the python interface, where we can define methods that better reflect the python conventions.
Additionally, typing information is simpler and less error-prone; we only need the hand-written .pyi for the reduced binded methods and missing values will not affect the external API.

Summary of in-person discussion:
Following on from #465, we intend to use hugr-py Node, Port, Wire types in the surface python layer. For ops and types, things like HugrType or TK2Ops should implement the hugr-py Op and Type protocols for compatibility. They should also compare as equal to their hugr-py counterparts.

Closing this, as it will be included in any new tket2 bindings support / replaced by hugr-py uses.


🆔 Introduce !def and make def non-shadowing

A spin-off proposal from #312.

The non-shadowing def is actually useful. It detected this suspicious code:
https://github.com/RedPRL/cooltt/blob/2fc8cfa385cc3c8ef0f81b623e96c606080683d2/test/isos.cooltt#L83-L101


OBJ-252: Request buckets per cluster

Description
This PR utilizes the /object-storage/buckets/{clusterId} endpoint to list buckets instead of /object-storage/buckets.
As region support for OBJ grows, this is a more performant and fault-tolerant approach, since it will now be possible to list buckets from one cluster even if another cluster is experiencing an outage.
In the event of a request failure, we show a banner similar to the RegionStatus banner:

Feedback on the messaging here is welcome.
Technical notes:
This required some relatively big changes to the buckets Redux state. This is a new pattern unlike anything else in the app, so let me know your feedback.
Note to Reviewers
To test failures, block requests to one specific cluster, e.g. https://api.linode.com/v4/object-storage/buckets/eu-central-1. You can also add values to the objectStorageClusterDisplay constant to request clusters that don't exist, which will result in errors for those.
Please check everything OBJ works smoothly.

Something that's so pedantic I can't believe I'm typing it: one feature of the standard Redux patterns that's lost here is that by checking lastUpdated === 0, we're also checking the error case. So if the initial requests fail because of a network error and the user navigates back to the e.g. Volumes tab, the request will be made again because lastUpdated is still 0. It might be possible to keep this behavior by handling the all-failed logic in the reducer itself, and not dispatching the .done() action in that case. So if lastUpdated > 0 then we know at least some of the bucket data is available.

@Jskobos you're right. There are a few additional points here:

The .started() action didn't work correctly because it cleared errors rather than bucketErrors.
Because it's possible to have both data (and thus lastUpdated) and errors, we need to redo the bucket requests if there are bucket errors.

I addressed this... let me know what you think.
Also wrote tests. I had a heck of a time getting the mocking to work correctly, and ended up using redux-mock-store since this thunk is a little unusual.


Construct a neural network for hangul syllables

Construct a neural network for hangul syllables

Modify docker file to automatically compile models


ARM permissions ListForResource does not accommodate resources outside of resource groups

When calling the REST API directly, it's possible to query the current user's permissions on a resource that is not in a resource group, like a role definition:
GET https://management.azure.com/subscriptions/xxx/providers/Microsoft.Authorization/roleDefinitions/yyy/providers/Microsoft.Authorization/permissions?api-version=2015-07-01
This is not possible with the generated ListForResource  method, as resource group is required and is hard-coded in the URL.

Going through old issues that have had no attention.  Is this still an issue?


Move docs to gitbook

Instead of our custom build for docs, it might be worth looking into a standard platform for docs, like gitbook.

Agreed, although there is some nice benefits to having a custom system.


Change over to use Eclipse Jakarta Servlet dependency

Now that https://github.com/eclipse-ee4j/servlet-api/pull/442 is merged, we need to wait for a new release of the API in Maven Central, then we can switch to it.
Related: https://github.com/piranhacloud/piranha/issues/1753

Not entirely sure if this is a 5.x release or not. If not we'll have to wait until EE 10 is out the door.

Tracking as part of #2497


Use -s for --no-patch so it works on rhel7 correctly

Surprisingly, --no-patch option does not exist in git that is on RHEL-7. It still has the option -s that does the same, so let's use this one, to make it not print warning.

[test-all]


Increase coverage for bottery/log.py

Missing lines: 43-45, 5->exit
Related to: #44
See Travis log to confirm the missing lines: https://travis-ci.org/rougeth/bottery

Closed on #52


[FS] Fix null ref in periodic benchmark. Each daemon now only has 1 PoAConsensusRules

https://stratisplatformuk.visualstudio.com/StratisBitcoinFullNode/_workitems/edit/4264.

I am testing @codingupastorm PR now on the test tool 👍


Disabling rotation and preserving original cropped face size

Hello,
Thank you for this amazing library! I have a question regarding the face cropping functionality. Currently, the cropped face images are resized to a fixed output size defined by output_size. However, I need the cropped face images to retain their original size without any resizing.
Is there a way to achieve this using the current implementation? If not, what modifications would you suggest to allow the face crops to be saved at their original size?
And is there anyway to not rotate the face?
Thank you for your help!

Hey there, thanks for pointing this out! There should definitely be an easy way to do this in the future when I restructure the library. For now, I could only give you a "hacky" solution by adjusting the Cropper class. Just make sure to set batch_size=1

Adjusted Cropper Class (No Resize + No Rotate)
import cv2
import numpy as np
from face_crop_plus import Cropper
from face_crop_plus.utils import (
    STANDARD_LANDMARKS_5,
    get_ldm_slices,
    as_numpy,
    as_tensor,
    read_images,
    as_batch,
)

def estimate_scale_and_translate(src, dst, **kwargs):
    # Create arrays from the lists of tuples
    src = np.array(src)
    dst = np.array(dst)

    # Compute scale as the average ratio of distances between all pairs of points in dst and src
    scales = []
    for i in range(len(src) - 1):
        for j in range(i + 1, len(src)):
            scale = np.linalg.norm(dst[j] - dst[i]) / np.linalg.norm(src[j] - src[i])
            scales.append(scale)

    # 0.92 required to matche RANSAC estimation scale when using estimateAffine2D
    scale = np.mean(scales) * 0.92

    # Compute translation as the difference between the scaled src and dst
    translation = np.mean(dst - scale * src, axis=0)

    # Create the transformation matrix
    transform_matrix = np.array(
        [[scale, 0, translation[0]], [0, scale, translation[1]]],
        dtype=np.float32,
    )

    return transform_matrix, None

class CropperNoResize(Cropper):
    def _reinit_landmarks_target(self, output_size):
        std_landmarks = STANDARD_LANDMARKS_5.copy()

        # Apply appropriate scaling based on face factor and out size
        std_landmarks[:, 0] *= output_size[0] * self.face_factor
        std_landmarks[:, 1] *= output_size[1] * self.face_factor

        # Add an offset to standard landmarks to center the cropped face
        std_landmarks[:, 0] += (1 - self.face_factor) * output_size[0] / 2
        std_landmarks[:, 1] += (1 - self.face_factor) * output_size[1] / 2

        # Pass STD landmarks as target landms
        self.landmarks_target = std_landmarks

    def process_batch(self, file_names: list[str], input_dir: str, output_dir: str):
        images, file_names = read_images(file_names, input_dir)

        if self.landmarks is None and self.det_model is None:
            indices, landmarks = list(range(len(file_names))), None
        elif self.landmarks is not None:
            indices, indices_ldm, paddings = [], [], None

            for i, file_name in enumerate(file_names):
                indices_i = np.where(file_name == self.landmarks[1])[0]

                if len(indices_i) == 0:
                    continue

                indices.extend([i] * len(indices_i))
                indices_ldm.extend(indices_i.tolist())

            landmarks = self.landmarks[0][indices_ldm]

        elif self.det_model is not None:
            # Create a batch of images (with faces) and their paddings
            # images, _, paddings = as_batch(images, self.resize_size)
            original_size = (images[0].shape[1], images[0].shape[0])
            images, _, paddings = as_batch(images, original_size)
            images, paddings = as_tensor(images, self.device), paddings

            # If landmarks were not given, predict, undo padding
            landmarks, indices = self.det_model.predict(images)
            landmarks -= paddings[indices][:, None, [2, 0]]

        if landmarks is not None and len(landmarks) == 0:
            return

        if landmarks is not None and landmarks.shape[1] != self.num_std_landmarks:
            slices = get_ldm_slices(self.num_std_landmarks, landmarks.shape[1])
            landmarks = np.stack([landmarks[:, s].mean(1) for s in slices], 1)

        if self.enh_model is not None:
            images = as_tensor(images, self.device)
            images = self.enh_model.predict(images, landmarks, indices)

        images, groups = as_numpy(images), (None, None)

        if landmarks is not None:
            images = self.crop_align(images, paddings, indices, landmarks)

        if self.par_model is not None:
            groups = self.par_model.predict(as_tensor(images, self.device))

        self.save_groups(images, file_names[indices], output_dir, *groups)

    def crop_align(
        self,
        images: np.ndarray | list[np.ndarray],
        padding: np.ndarray | None,
        indices: list[int],
        landmarks_source: np.ndarray,
    ) -> np.ndarray:
      transformed_images = []
      border_mode = getattr(cv2, f"BORDER_{self.padding.upper()}")
      DO_NOT_ROTATE = True

      for landmarks_idx, image_idx in enumerate(indices):
          # Compute the bounding box of the face based on the landmarks
          width_standard = 0.68262291666666670 - 0.31556875000000000
          height_standard = 0.8246919642857142 - 0.4615741071428571
          x_min, y_min = np.min(landmarks_source[landmarks_idx], axis=0)
          x_max, y_max = np.max(landmarks_source[landmarks_idx], axis=0)
          width = int((x_max - x_min) / width_standard / self.face_factor)
          height = int((y_max - y_min) / height_standard / self.face_factor)
          output_size = (width, height)
          self._reinit_landmarks_target(output_size)

          if DO_NOT_ROTATE:
              # This transform does not rotate the cropped face
              transform_function = estimate_scale_and_translate
          elif self.allow_skew:
              transform_function = cv2.estimateAffine2D
          else:
              transform_function = cv2.estimateAffinePartial2D

          transform_matrix = transform_function(
              landmarks_source[landmarks_idx],
              self.landmarks_target,
              ransacReprojThreshold=np.inf,
          )[0]

          if transform_matrix is None:
              continue

          image = images[image_idx]
          transformed_image = cv2.warpAffine(
              image,
              transform_matrix,
              output_size,
              borderMode=border_mode
          )
          transformed_images.append(transformed_image)

      # Normally stacking would be applied unless the list is empty
      # numpy_fn = np.stack if len(transformed_images) > 0 else np.array
      numpy_fn = lambda x: x

      return numpy_fn(transformed_images)

So you could just copy the given code into a file like cropper_no_resize.py and then simply use the updated class, e.g., with the demo data from this repository:
from cropper_no_resize import CropperNoResize

# Initialize cropper
cropper = CropperNoResize(
    batch_size=1,
    output_format="jpg",
    face_factor=0.7,
    strategy="largest",
)

# Process images in the input dir
cropper.process_dir(input_dir="demo/input_images")

Sorry about the messy solution, I hope to greatly rework the package sometime in the future. Let me know if anything else pops up and let's keep this open as an enhancement~

Also, face attribute grouping will not work with these modifications (further adjustments would be required) but I assume you would not need those

Thanks for your amazing help! it works! But a little issue I encounter, that is the output image not exactly 1:1, how can I fix it?
Eugene regards

Haha yup, gald it works!


event-1 | 青史成灰 | Every journey begins with the first step

https://xxxxxmiss.github.io/2017/09/28/event-1/

first comments...

傻吊


Update dialogs.py

The ttk.Toplevel object creation freezes on Ubuntu, if iconify=True. As a workaround the line is commented out. No side-effects were noticed so far.

This does not happens on vanilla Ubuntu... but it does happen on Ubuntu with Mate, when running the tkinter GUI from inside a docker and Anaconda.


number accelerators don't round down

There is one small issue I have found so far:
When I am on line 6, and the file totals only 15 lines, if I do: 20j then it should still round 20 down to 15 and subsequently go to line 15. Currently, you must give it an exact number, 9j in this case, to reach down to line 15.

Thank you for a report. I'll fix it for a next version. For your case, my plugin supports G.


Bugs, Bugs, Bugs

Im Ernst Leute,
ich versuche mit 6.1 produktiv zu arbeiten und seit heute morgen gibt es nur Bugs bei Exceptions, Controller Routing, usw,
Wer pusht so was auf stable?!

Post Deployment ist auch wegen falschen Dependencies im Eimer:
`PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Too few arguments to function Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::__construct(), 0 passed in /app/var/cache/dev_ha9093661bb6fedc2eba2c29cf47c95f9/ContainerCkrrGc1/CoreShopware_Core_KernelDevDebugContainer.php on line 13470 and exactly 1 expected in /app/platform/src/Core/Framework/DataAbstractionLayer/Dbal/EntityDefinitionQueryHelper.php:36
	Stack trace:
	#0 /app/var/cache/dev_ha9093661bb6fedc2eba2c29cf47c95f9/ContainerCkrrGc1/CoreShopware_Core_KernelDevDebugContainer.php(13470): Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper->__construct()
	#1 /app/var/cache/dev_ha9093661bb6fedc2eba2c29cf47c95f9/ContainerCkrrGc1/CoreShopware_Core_KernelDevDebugContainer.php(10417): ContainerCkrrGc1\CoreShopware_Core_KernelDevDebugContainer->getEntityReaderProfilerService()
	#2 /app/var/cache/dev_ha9093661bb6fedc2eba2c29cf47c95f9/ContainerCkrrGc1/CoreShopware_Core_KernelDevDebugContainer.php(13 in /app/platform/src/Core/Framework/DataAbstractionLayer/Dbal/EntityDefinitionQueryHelper.php on line 36

Execution aborted, a subcommand failed!
`

trace: {
    ./platform/src/Core/Framework/DataAbstractionLayer/Dbal/EntityDefinitionQueryHelper.php:36 {
      Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper->__construct(AntiJoinBuilder $antiJoinBuilder)^
      ›
      › public function __construct(AntiJoinBuilder $antiJoinBuilder)
      › {
    }
    ./var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/ContainerCMyYCtK/CoreShopware_Core_KernelDevDebugContainer.php:13467 { …}
    ./var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/ContainerCMyYCtK/CoreShopware_Core_KernelDevDebugContainer.php:7247 { …}
    ./var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/ContainerCMyYCtK/CoreShopware_Core_KernelDevDebugContainer.php:13266 { …}
    ./var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/ContainerCMyYCtK/CoreShopware_Core_KernelDevDebugContainer.php:13019 { …}
    ./vendor/symfony/dependency-injection/Container.php:444 { …}
    ./vendor/symfony/dependency-injection/Argument/ServiceLocator.php:40 { …}
    ./vendor/symfony/console/CommandLoader/ContainerCommandLoader.php:45 { …}
    ./vendor/symfony/console/Application.php:542 { …}
    ./vendor/symfony/console/Application.php:743 { …}
    ./vendor/symfony/framework-bundle/Console/Application.php:143 { …}
    ./vendor/symfony/console/Descriptor/ApplicationDescription.php:91 { …}
    ./vendor/symfony/console/Descriptor/ApplicationDescription.php:68 { …}
    ./vendor/symfony/console/Descriptor/TextDescriptor.php:202 { …}
    ./vendor/symfony/console/Descriptor/Descriptor.php:55 { …}
    ./vendor/symfony/console/Helper/DescriptorHelper.php:67 { …}
    ./vendor/symfony/console/Command/ListCommand.php:75 { …}
    ./vendor/symfony/console/Command/Command.php:255 { …}
    ./vendor/symfony/console/Application.php:1029 { …}
    ./vendor/symfony/framework-bundle/Console/Application.php:100 { …}
    ./vendor/symfony/console/Application.php:272 { …}
    ./vendor/symfony/framework-bundle/Console/Application.php:83 { …}
    ./vendor/symfony/console/Application.php:148 { …}
    ./bin/console:43 { …}
  }
}

WTAF?

Hey @TormentedSoul666,
a more detailed issue description would help us a lot in trying to reproduce/understand your issues.
Regarding your specific problem with the dependencies:
It seems  like the cache is stale, a simple ./psh.phar cache should solve that specific issue.
If you have any further issues, please provide some more context, like how you did the update and from what version you updated, etc.
Kind regards
Jonas
P.S. we try to communicate in english on github, i hope this is fine for you.

Hey @keulinho, thank you for fast answering.
I'm working on a plugin with an own Controller and I'm using Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper for some database stuff.
Anyways, I've cleared the Cache with ./psh.par cache a thousand times and also deleted the folders manually but surprise, they immediately show up again. bin/console immediately throws the Stack Trace Exceptions from my comments above and doesn't work at all.
My Storefront greetz me with
[Too few arguments to function Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::__construct(), 0 passed in /app/var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/ContainerCMyYCtK/CoreShopware_Core_KernelDevDebugContainer.php on line 13467 and exactly 1 expected]
IMHO it's fair to say that this issue has to do with latest commits about dependency management and especially the Twig Cache.

Can you try to deactivate your plugin?
Does the error still persist?
Also did you run ./psh.phar init or ./psh.phar update after you updated platform via git?
(Note that ./psh.phar init will reset your DB, if you don't want that use ./psh.phar update)

I can't run init, because the Docker Stack is deployed on a staging system with other people working on the content.
I pulled Development and Platform, did composer update and then tried ./psh.par update with the following Exception:
Starting Execution of 'update' ('/app/dev-ops/common/actions/update.sh')

(1/6) Starting
> rm -rf var/cache

(2/6) Starting
> bin/console plugin:refresh
	PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Too few arguments to function Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::__construct(), 0 passed in /app/var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/Container77CxMhj/CoreShopware_Core_KernelDevDebugContainer.php on line 13470 and exactly 1 expected in /app/platform/src/Core/Framework/DataAbstractionLayer/Dbal/EntityDefinitionQueryHelper.php:36
	Stack trace:
	#0 /app/var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/Container77CxMhj/CoreShopware_Core_KernelDevDebugContainer.php(13470): Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper->__construct()
	#1 /app/var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/Container77CxMhj/CoreShopware_Core_KernelDevDebugContainer.php(10417): Container77CxMhj\CoreShopware_Core_KernelDevDebugContainer->getEntityReaderProfilerService()
	#2 /app/var/cache/dev_h2aa03e6828d6053cc571d2dae2561cbc/Container77CxMhj/CoreShopware_Core_KernelDevDebugContainer.php(13 in /app/platform/src/Core/Framework/DataAbstractionLayer/Dbal/EntityDefinitionQueryHelper.php on line 36

Execution aborted, a subcommand failed!

I can't deactivate my Plugins, because I can't neither run bin/console (it throws the same exception as the post deployment update) nor deactivate them through the Backend, since it throws the same Exception as the Frontend.

I didn't check the commit in depth because of other stuff I have to do but I'm pretty sure that https://github.com/sgmelayu/platform/pull/105/commits/7768470fd3ee853f0f1459bcf72ec40512afa4aa is causing the issues.

IMHO the commit looks unrelated and i'm not able to reprodruce the issue in a clean chackout on 6.1 branch.
Can you mark your plugin as deactivated ober the DB by setting the active flag to 0 in the plugin table and try to run the update command again?
Do you create a own instance of the EntityDefinitionQueryHelper in your plugin or do you use the service from the DI container?
How do you create/use the EntityDefinitionQueryHelper.

Well, at least the undeletable Twig Cache has little to do with your approaches to solve the problem.
The idea with the database is good, I wasn't thinking about that, thanks.
I use Dependency Injection over the Container, making instances of all used classes would create quite a mess :)
I instantiate it as a method and then use it mainly in method chains on several Field related stuff.

@keulinho you were right, it was indeed the plugin, thanks.
Keep up the good work, Shopware 6 is an impressive product and the definitive E-Commerce future.

nice to see, that you got your issue solved 👍
I'm currently working on the stability of Shopware if erroneous plugins are installed or activated. so it would be nice, if you could tell me a way to reproduce this error. maybe there is a way to prevent Shopware doing nothing at all


Is body landmarks based segmentation mask no longer supported?

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
Yes
OS Platform and Distribution
iOS 14.1.2
MediaPipe version
<IP_ADDRESS>
Bazel version
No response
Solution
Pose
Programming Language and version
Python
Describe the actual behavior
I hope to get human's contour by using the landmark based segementation. Meanwhile, I cannot install any version later than <IP_ADDRESS>
Describe the expected behaviour
I got error saying: "AttributeError: module 'mediapipe.tasks.python.vision' has no attribute 'PoseLandmarkerOptions'. Did you mean: 'FaceLandmarkerOptions'?"
Standalone code/steps you may have used to try to get what you need
import time
import cv2
import numpy as np
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
from mediapipe.framework.formats import landmark_pb2
from mediapipe import solutions

# Create an PoseLandmarker object.
base_options_PL = python.BaseOptions(model_asset_path="pose_landmarker.task")
options_PL = vision.PoseLandmarkerOptions(base_options=base_options_PL, output_segmentation_masks=True)
detector_PL = vision.PoseLandmarker.create_from_options(options_PL)

Other info / Complete Logs
No response

Hi @Setsukyo,
In version <IP_ADDRESS>, it seems that the 'PoseLandmarkerOptions' module was not accessible at a specific moment. The Pose Landmarker Python task was introduced starting from v0.10.0 (refer to the Python release update). This might be the reason why v<IP_ADDRESS> is unable to import the 'PoseLandmarkerOptions' module.
To address this issue, consider upgrading to version 0.10.0 or a later release. If you encounter difficulties to install later version of MediaPipe, please provide additional following details for further investigation and support. if necessary, We will fix the issue internally if genuine bug.

Please provide details on the steps you are following from the documentation or the specific command used for installing Mediapipe.

Indicate whether your macOS is Intel-based or Silicon chip-based, specifying the macOS version (e.g., macOS Sonoma 14.1.1). If it is an Intel-based processor, please specify the type (e.g., i5, i7, i9). If it is Silicon chip-based, mention whether it is M1 or M2.

Confirm the Python version in use. Note that supported Python versions range from 3.8 to 3.11 (refer to the Python Step for more information).

Include the complete error logs for a thorough analysis.

Thank you

Hi @Setsukyo,
I successfully installed MP version 0.10.8 on my colleague's MacBook Pro M1, using Python Version 3.10 and macOS 14.1.2. It's functioning properly, and I've attached a screenshot for your reference, including other version details.

Could you kindly reinstall MP with Python Version 3.10 or any supported version between 3.9 and 3.11? This will help us determine if the issue persists. Currently, it seems unlikely that the problem is on MP's side. Additionally, please confirm whether the Python Version in use is 32-bit or 64-bit, as MP supports Python 64-bit.
Thank you

Hi @kuaashish
I attached my Python version and the issue I encountered below.

However, I just realized maybe the conda environment caused the issue. I deactivated the conda environment and managed to install versions 0.10.0 and 0.10.8. However, so far, I cannot get a version later than <IP_ADDRESS> installed under my conda environment. My conda version is 23.1.0
Moreover, even though I can install versions 0.10.0 and 0.10.8, I cannot get the function "vision.PoseLandmarkerOptions(base_options=base_options_PL, output_segmentation_masks=True)" work. It worked with my last version of installations. Acctually, I had it worked 5 days ago.
I appreciate any suggestions.

Hi @Setsukyo,
The function "vision.PoseLandmarkerOptions(base_options=base_options_PL, output_segmentation_masks=True)" has been successfully imported with v0.10.9, and the entire example is operational. Please refer to the attached GitHub Gist for further details. Kindly confirm whether you are following the provided Colab example. If not, please ensure that you follow the same example, and you should observe the proper importation of the function and the successful execution of the example as expected.
Thank you

Hi @kuaashish,
Thank you!
I did follow the Colab examples, and everything worked well. It turned out that the function was suddenly not working on my local pc. I will update to v0.10.9 and retry. Thank you for helping me.
Bests.

Hi @Setsukyo,
Thank you for the update, Could you please let us know if now this is no longer issue from your end, Can we go ahead and close the issue with resolved status.

Hi @Setsukyo,
I successfully installed MP version 0.10.8 on my colleague's MacBook Pro M1, using Python Version 3.10 and macOS 14.1.2. It's functioning properly, and I've attached a screenshot for your reference, including other version details.

Could you kindly reinstall MP with Python Version 3.10 or any supported version between 3.9 and 3.11? This will help us determine if the issue persists. Currently, it seems unlikely that the problem is on MP's side. Additionally, please confirm whether the Python Version in use is 32-bit or 64-bit, as MP supports Python 64-bit.
Thank you

Right! Just upgrade your mediapipe version to the latest:
pip install mediapipe -U


Country Facts not displaying certain countries when using random button

Not a major issue but certain countries that are stored in the array country_list inside the random.js file, does not display country data when rendered.

Fixed in latest merge request. Several countries were not in the same format that the API was looking for.


How to press the 0 key in the game?

How to press the 0 key in the game?
(How do I send a 0 key to the game?)
(Using JS bot Toshinou)

Locate '0' key on your keyboard (it's between '9' and '-' keys).
Focus the game window.
Press the key.

FYI: It's not implemented yet and it's not an issue. For feature requests use our Discord server.


[PE-D][Tester A] UG Delete Command Explanation has incorrect extra text

It seems the last bullet point in the delete command explanation should end at former. There is some text I can't comprehend after.

Labels: type.DocumentationBug severity.Low
original: AbdulrahmanAlRammah/ped#15

UG Page 6

delete last bullet point


Updating ValidateMarkdown.py to also check the links.

The only files that can be validated are:

CSharp.md, Cxx.md, Java.md, Python.md, VTKBookFigures.md

And the beat goes on...


Add app-ads.txt

AdMob needs app-ads.txt file in source code. Details are available on admob.

Added to firebase. Needa to be shifted to web site later.


No 32-bit ODBC driver for Windows

The Windows release [<IP_ADDRESS>20905] (https://github.com/ClickHouse/clickhouse-odbc/releases/tag/v<IP_ADDRESS>20905)
And Asset:
[clickhouse-odbc-windows.zip] (https://github.com/ClickHouse/clickhouse-odbc/releases/download/v<IP_ADDRESS>20905/clickhouse-odbc-windows.zip)
2.93 MB
Sep 9
Only contains the 64-bit driver. We require a 32-bit driver as is 'promised' in the Altinity documentation web-site:
https://beta.docs.altinity.com/integrations/clickhouse-odbc-driver/windows-clickhouse-odbc/
Please create a 32-bit version for Microsoft SQL Server Integration Services which is a 32-bit application.

Hi
any follow-up?

That is not going to happen.


[Disney] Add support for MarvelKids and StarWars

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

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

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

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

What is the purpose of your pull request?

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

Description of your pull request and other information
Adding support for MarvelKids and StarWars. Fixes #11882 and #11000

Is this PR still needed with the july master?
I've got this merge conflict that I'm not sure how to resolve
class DisneyIE(InfoExtractor):
    _VALID_URL = r'''(?x)
<<<<<<< HEAD
        https?://(?P<domain>(?:[^/]+\.)?(?:disney\.[a-z]{2,3}(?:\.[a-z]{2})?|disney(?:(?:me|latino)\.com|turkiye\.com\.tr|channel\.de)|(?:s
tarwars|marvelkids)\.com))/(?:(?:embed/|(?:[^/]+/)+[\w-]+-)(?P<id>[a-z0-9]{24})|(?:[^/]+/)?(?P<display_id>[^/?#]+))'''
||||||| merged common ancestors
        https?://(?P<domain>(?:[^/]+\.)?(?:disney\.[a-z]{2,3}(?:\.[a-z]{2})?|disney(?:(?:me|latino)\.com|turkiye\.com\.tr)|starwars\.com))/
(?:embed/|(?:[^/]+/)+[\w-]+-)(?P<id>[a-z0-9]{24})'''
=======
        https?://(?P<domain>(?:[^/]+\.)?(?:disney\.[a-z]{2,3}(?:\.[a-z]{2})?|disney(?:(?:me|latino)\.com|turkiye\.com\.tr)|marvelkids\.com|
starwars\.com))/(?:embed/|(?:[^/]+/)+[\w-]+-)(?P<id>[a-z0-9]{24})'''
>>>>>>> Disney
    _TESTS = [{

This is in addition to the other hunks that were no problem (adding additional "From Disney import xxx" clauses in the extractor, 2 import classes)
Also: How do you read an RE like that? Some parts of it make sense (if confusing); then there's that "embed" section that makes no sense to me at all.


Country Code instead of Street name

Hi,
I have successfully integrated traccar with gisgraphy as a geocoder in my private server but while reverse geocoding, only the country code is being retrieved instead of the whole address or the street name. I know for a fact that while reverse geocoding my gisgraphy server returns all the relevant informations as given below although it is in json format
{"numFound":1,"QTime":16,"result":[{"lng":93.96277599615655,"lat":24.82406963531293,"streetName":"NH202","city":"Imphal","state":"Imphal East","countryCode":"IN","geocodingLevel":"STREET","distance":835.5903652266896}]}

But only the country code i.e IN is being retrieved and inserted into the database by traccar.

This is the result I get:
{"numFound":1,"QTime":35,"result":[{"name":"NH202","distance":3.66640648541338,"gid":145829197,"openstreetmapId":258107994,"streetType":"TRUNK","oneWay":false,"countryCode":"IN","length":3572.97670498365,"lat":24.824120188522553,"lng":93.96278092022945,"isIn":"Imphal","isInAdm":"State of Manipur"}]}

What server are you using?

I am using gisgraphy server version 4 and the above posted result is the result from http request. I dont know how to post the result from traccar request.

can't i get the street name from the result.

What is the URL that you used?

i used private server as http://<IP_ADDRESS>:8080/reversegeocoding/ .
It is not accessible from the outside network just from within the same network.
Also if u want an example of how it works in the private server it is the same as in this URL although it uses http method instead of being called by Traccar. The URL is  http://services.gisgraphy.com/reversegeocoding/search?format=json&lat=24.81317333333333&lng=93.96510222222223

In Traccar I use "http://services.gisgraphy.com/street/streetsearch", not the one you provided. I guess result format is different.

Anyway to use the one that i provided. The result is more accurate and detailed in the one that i provided for use in reverse geocoding.

can you help me to use the url that i provided instead of the streetsearch.

streetsearch is not at all accurate so it is a better if we use reverse geocoding as i have provided in the url. It gives much better and accurate results.

Done. I have changed the format.

So i have to compile the traccar server from source code using the commit provided??

You can either wait for new release or build a version from source code if you want.

Thanks i will try to build from source for now until a new release is available.