Add support for ingredients in Italian

Added first version of ingredients .json files in Italian ('it') and new function to set the ingredients language.
In order to add support for more languages in the future, the ingredients .json files will need to be added under the i18n directory, as already done for 'it'.
Resolves #14

Codecov Report

Merging #39 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #39   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         5    +2
  Lines           17        32   +15
  Branches         4         5    +1
=========================================
+ Hits            17        32   +15

Impacted Files
Coverage Δ

src/modules/CanBeVegan.js
100.00% <100.00%> (ø)

src/modules/IngredientsListProvider.js
100.00% <100.00%> (ø)

src/modules/IngredientsListsLoader.js
100.00% <100.00%> (ø)

src/modules/IsVegan.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

@hmontazeri Can you please have a look at this pull request ?

@hmontazeri Hi Hamed, thanks.

@gianantoniopini do we really need the dependency to validate.js?

@hmontazeri Regarding the dependency to validate.js. Currently it is used in the new setIngredientsLanguage function to perform basic validation when setting a new ingredients language. I thought it might be a good idea to sort of "delegate" the validation to this package. But we could also remove this dependency and implement the validation code ourselves, if you think it might be better.

I’d rather have no dependency to other packages if not really necessary... so I’d recommend we do it ourself as it’s just a basic validation is languages set or not. Do you agree?

Yes, i understand. I will move the validation implementation to our package and remove the dependency to validate.js . It should be a simple change.

Codecov Report

Merging #39 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #39   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         5    +2
  Lines           17        32   +15
  Branches         4         5    +1
=========================================
+ Hits            17        32   +15

Impacted Files
Coverage Δ

src/modules/CanBeVegan.js
100.00% <100.00%> (ø)

src/modules/IngredientsListProvider.js
100.00% <100.00%> (ø)

src/modules/IngredientsListsLoader.js
100.00% <100.00%> (ø)

src/modules/IsVegan.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

@hmontazeri Just committed the change to remove the dependency to validate.js

Checking it! Getting back to you soon. Thanks

Looks good to time @gianantoniopini. Thanks for the effort 👍


The conversation state is not cleaned up after an exception is thrown.

Version
master
Describe the bug
Give a clear and concise description of what the bug is.
To Reproduce
var rootDialog = new AdaptiveDialog(nameof(AdaptiveDialog))
{
Triggers = new List()
{
new OnConversationUpdateActivity()
{
//Actions = WelcomeUserAction()
},
new OnBeginDialog()
{
Actions = new List()
{
new NumberInput()
{
Prompt = new ActivityTemplate("what is your age?"),
Property = "dialog.age",
MaxTurnCount = 3
},
new SendActivity()
{
Activity = new ActivityTemplate("{dialog.age}")
},
new SendActivity()
{
Activity = new ActivityTemplate("something else")
}
}
}
}
Expected behavior
after an exception is thrown, the dialog flow can be restarted.
Screenshots

Additional context
This line blow in TestBotHttpAdapter.cs is not working , the conversationState is under MemoryScope now.
// Delete the conversationState for the current conversation to prevent the
// bot from getting stuck in a error-loop caused by being in a bad state.
// ConversationState should be thought of as similar to "cookie-state" in a Web pages.
await conversationState.DeleteAsync(turnContext).ConfigureAwait(false);
[bug]

I can fix this by cleaning the conversation state in DialogManager

But this is not natural, we should fix it in Microsoft.Bot.Builder.
Thoughts? @tomlm

@tomlm - tagged as P0 - we should clean up memory scopes on exception so recovery is clean.

oh interesting.  Deleting the State doesn't matter because we have the MemoryState that we write out at end of turn.


Fix exchange rate and disable exchange date field

It should fix #27.
@qoobaa can you review it and test it, please? I've never used this feature so I'm not very familiar with this functionality.

I'll merge it and deploy to staging first - it's easier to test there. I'll let you know soon if it works :-). Thank you.


remove deepcopy from grad! and obj!

This PR brings the following two changes:

Removes unnecessary code from the test directory
updates grad! and obj! implementations for augmented nlp blocks.

Codecov Report

Merging #9 (8971776) into main (5c3e038) will decrease coverage by 0.41%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   83.42%   83.00%   -0.42%
==========================================
  Files           6        6
  Lines         362      359       -3
==========================================
- Hits          302      298       -4
- Misses         60       61       +1

Impacted Files
Coverage Δ

src/prox_augmented_block.jl
70.49% <75.00%> (-2.09%)
:arrow_down:

src/augmented_block.jl
82.05% <100.00%> (-0.88%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


PUT that results in 204 No Content doesn't invalidate the cache for subsequent GETs

It looks like the cache invalidation via PUT is not working if the server responds with 204 no content. However if the response for the PUT is 200 OK + body the cache for the affected resource is invalidated. This leads to a state were the client gets an old representation for a resource he just updated on the server.
I think i found the relevant parts while debugging this behavior:

cache is only written for responses that have a body:

https://github.com/square/okhttp/blob/89621df62dda5cf73726ce2d5410c82c6f760f00/okhttp/src/main/java/okhttp3/internal/cache/CacheInterceptor.java#L128-L131

the cache.put(Response) also seems to be indirectly responsible to invalidate other cached responses

https://github.com/square/okhttp/blob/89621df62dda5cf73726ce2d5410c82c6f760f00/okhttp/src/main/java/okhttp3/Cache.java#L220-L230

Can fix.


Update docs for chore: better column schema check for flow

A document change request is generated from https://github.com/GreptimeTeam/greptimedb/pull/4855

close as not actually needed


Basket. Can't sign Unstake operation

Description
When user add Unstake operation to the basket - he can't sign it. Operation with batch can't be opened, simple operation with unbound amount - can't pass verifications.
Example account: 5Cad3FdyS4j4z39uzTPhcPFey5MNXEszCCTTfkH6Ly1LsFwz

Steps to Reproduce

Create Unstake operation with chill (keep bond amount less than minimal nominator deposit)
Add this operation to basket
Create Unstake operation without chill
Add this operation to basket
Go to basket
Try to sign

Expected Behavior
Can sign this operations
Actual Behavior

Can't open operation with chill
Simple operation is shown as Unavailable

Environment
https://github.com/novasamatech/nova-spektr/commit/241bff1698bb2f040fdd1dddda5e557fa7040f72

Example
https://github.com/novasamatech/nova-spektr/assets/40560660/09852423-7846-43be-ab6c-295c0800b67a

Test data
accounts.json
basketTransactions.json
wallets.json

Status verification: ⏳
What has been verified:

Sign simple unstaking
Sign batch with chill

Found during testing:

https://github.com/novasamatech/nova-spektr/issues/1920


Postfix gives: "Operation timed out"

I have created a user (via the "register"-button), but the verification email with the link is NOT send because Postfix is looking at the wrong port?
My emailserver (the receiving one) is hosted by Anonaddy.me.
In the logs of Postfix I see this:
anonaddy    | Jun 23 14:08:02 mail postfix/smtp[975]: connect to mail.anonaddy.me[<IP_ADDRESS>]:25: Operation timed out
anonaddy    | Jun 23 14:09:19 mail postfix/smtp[915]: 7857B1AF493<EMAIL_ADDRESS>relay=none, delay=60, delays=0.06/0.01/60/0, dsn=4.4.1, status=deferred (connect to mail.anonaddy.me[<IP_ADDRESS>]:25: Operation timed out)

This issue is a follow-up for a closed issue. I have changed my mailserver to the one of anonaddy.me, but I kept on getting the same error.

@NVQXE23I Does not look linked to the Docker image but the online service.
@willbrowningme Can you transfer this issue to https://github.com/anonaddy/anonaddy.com? Maybe we should have a feedback repo for this like https://github.com/docker/hub-feedback? WDYT?

@crazy-max or perhaps convert to a discussion?
@NVQXE23I so you are self-hosting the Docker image but you are using a custom domain that you've added to the hosted app.anonaddy.com service as your recipient address on the Docker image?
Port 25 is the correct port for communicating with the mail server.

@willbrowningme

Port 25 is the correct port for communicating with the mail server.

Yeah looks like the hosting provider is blocking port 25.
@NVQXE23I Can you check outgoing is not blocked?
$ telnet mail.anonaddy.me 25

Closing this issue since that should answer your question, but feel free to re-open if it doesn't. Thanks.

@willbrowningme

or perhaps convert to a discussion?

Yes looks good too


feat: error if class or enum are statically referenced

Closes partially #543
Summary of Changes
Show an error if a class or enum is statically referenced. They must only be referenced to access one of their members/variants or to call them¹.

¹ If they are not callable, we already show another error.

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

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


Error creating spin-2 field with purify_b=True and specified lmax

Using pymaster version 2.2.2
It seems to be necessary to set the lmax parameter of my NmtField objects equal to the lmax of my NmtBin object, which was created by specifying bin edges. But setting lmax doesn't seem to work for a spin-2 field with purify_b=True.
nside = 128
apod = np.ones(hp.nside2npix(nside))
q = np.random.randn(hp.nside2npix(nside))
u = np.random.randn(hp.nside2npix(nside))
spin2 = nmt.NmtField(apod, [q, u], purify_b=True) # No error
spin2 = nmt.NmtField(apod, [q, u], lmax=200) # No error
spin2 = nmt.NmtField(apod, [q, u], purify_b=True, lmax=200) # This gives an error with following traceback

----> 1 spin2 = nmt.NmtField(apod, [q, u], purify_b=True, lmax=200)

File ~/.venv/cmb/lib/python3.12/site-packages/pymaster/field.py:254, in NmtField.__init__(self, mask, maps, spin, templates, beam, purify_e, purify_b, n_iter, n_iter_mask, tol_pinv, wcs, lmax, lmax_mask, masked_on_input, lite)
    252 task = [self.pure_e, self.pure_b]
    253 alm_mask = self.get_mask_alms()
--> 254 self.alm, maps = self._purify(self.mask, alm_mask, maps_unmasked,
    255                               n_iter=n_iter, task=task)
    256 if w_temp and (not self.lite):
    257     alm_temp = np.array([self._purify(self.mask, alm_mask, t,
    258                                       n_iter=n_iter,
    259                                       task=task)[0]
    260                          for t in temp_unmasked])

File ~/.venv/cmb/lib/python3.12/site-packages/pymaster/field.py:398, in NmtField._purify(self, mask, alm_mask, maps_u, n_iter, task, return_maps)
    396 for ipol, purify in enumerate(task):
    397     if purify:
--> 398         alms[ipol] += hp.almxfl(palm[ipol],
    399                                 fl[:self.ainfo.lmax+1],
    400                                 mmax=self.ainfo.mmax)
    402 # 3. Spin-2 mask bit
    403 # Compute spin-0 mask
    404 # The extra minus sign is because of the scalar SHT below
    405 # (E-mode definition for spin=0).
    406 fl[2:] = -np.sqrt((ls[2:]+2.0)*(ls[2:]-1.0))

ValueError: operands could not be broadcast together with shapes (73920,) (20301,) (73920,)

I guess one way to work around this would be to add a junk bin to my binning scheme that extends up to 3*nside-1?

Sorry for the delay. Thanks for picking this one up! The reason for  the failure is that purification requires operating on both the field and its mask, so you need to specify both lmax and lmax_mask.
I realise this may be inconvenient, and it is not clear to me that having to couple these two parameters is the right thing in this case. E.g. I could imagine that, for some masks, you may want to go to higher lmax when purifying, even if it means padding the field with zeros at higher ell while purifying...
In short, if the workaround (setting both lmax=200 and lmax_mask=200 above does not work for you (e.g. returns biased spectra because the mask is not sufficiently well resolved in harmonic space), do let me know.

This solved the problem. Thanks!
But now I have a related question: When creating a workspace, it seems to be necessary for the lmax of the fields to match the lmax of my binning scheme. Why is this necessary? The bandpower window functions returned by the workspace get_bandpower_windows() stops at this lmax, but I would generally expect that the window function support would extend beyond the nominal maximum ell of the highest bin. Again, this seems to be something that I could work around by adding a junk bin (or bins) that extends higher in ell than I really need. But maybe I am missing something?

Yes, perhaps this could be better documented, but bins in NaMaster are intended to define all the angular scales at which the power spectra will be calculated (even the ones you may not care about).
As you say, unless this is very inconvenient, adding a few garbage bins at the end should do the trick. This shouldn't affect the code speed, since the slowest step is either estimating the coupling matrix or purifying, both of which need to be carried out over all ells on which the window functions are calculated (which are more than you'd like to include in the bins, if I understand correctly).

Great. That makes sense.
While I have you here, I have one more question (getting further and further from the original GitHub issue):
Suppose I have a workspace for the cross-spectrum between two spin-2 fields. The output of ws.get_bandpower_windows() has shape (4,nbin,4,lmax+1). If I look at the [0,i,3,:] slice, is that the window function for true sky EE leaking into my BB bandpower? Or is it true BB leaking into my EE bandpower? I think that the latter is correct, because if I turn on purify_b=True, then the [0,i,3,:] slice is non-zero but the [3,i,0,:] slice is identically zero (so I think this it the EE->BB leakage function).
This isn't clear from the function documentation (and I also looked up the reference equations from the NaMaster paper).
Thanks!

Yes, that's right. Essentially, the measured bandpowers and the true C_ell are related via:
# below, X and Y are indices going over {EE, EB, BE, BB}
bpw_measured[X, b1] = sum_{Y, ell2} MCM[X, b1, Y, ell2] * cl_true[Y, ell2]

Therefore MCM[0, b1, 3, ell2] is the amount of BB power in ell=ell2 that leaks into the b1-th EE bandpower.

(indeed the equations from the paper that are linked in the docs are not particularly enlightening about this point, so perhaps I should include the example above in the docs -- thanks for bringing this up)

Thanks for all the help! I'll close this issue now...

Just reopening and will close by fixing the docs.


package h264 output as video capture device for use by other apps

I would like to use scrcopy output in other apps, as video capture device. For example this would allow to use instagram app video effects camera and then feed it to skype, zoom, twitch, obs, etc.
There is already part of the solution (as I see it, could be wrong of course) in ws-scrcopy fork (websocket server). Maybe could process it with v4l2loopback tools to make virtual "videocam" in linux.
unfortunately do not know of similar library in windows. but there are windows apps, e.g. xsplit-vcam or chromacam - which create such devices on windows too. but there is a code for obs plugin that simulates virtual webcam under Windows. https://github.com/CatxFish/obs-virtual-cam

// added reference to obs-virtual-cam plugin as possible source of code for windows solution.

A v4l2 device with v4l2loopback would be great :+1:

This feature will be great, I want to use the screen capture frames directly to Tensorflow using Python-OpenCV. Hope it will be available =)

That feature would be great. Please add soon. Thanks

i'm upping this also, this feature would not be great only but awsome in fact :D

i want it too

Great to have.

Great to have.

This would be so good. All the other solutions require extra apps and provide mediocre quality and framerate. If scrcpy could clone the screen as a virtual webcam it could be an even more powerful tool than it already is, especially with the current situation the world is in.

This would be so good. All the other solutions require extra apps and provide mediocre quality and framerate. If scrcpy could clone the screen as a virtual webcam it could be an even more powerful tool than it already is, especially with the current situation the world is in.

if scrcpy is encoding the video with h264, is that something with an ip based web address i might be able to use? basically could vlc open the stream?
if so, then the cross platform https://github.com/webcamoid/webcamoid uses ffmpeg to read inputs and it should be able to handle http and rtsp streams of video, to turn that input into the virtual camera feed.
considering how smooth the scrcpy phone stream is, it seems like it could be part of a lighter foss solution to repurpose older phones as webcams (i've yet to find recommendations that aren't closed source or that require heavy solutions like installing obs).

A v4l2 device with v4l2loopback would be great +1

Here it is: https://github.com/Genymobile/scrcpy/pull/2268


Pavedwithgp

Adding new 'Include Experience' option to the config options for custom gamemodes.
Defaults to false (if custom gamemode is disabled, will always return false).

Looks great!


More various random items and interactions

More clothes, more item.
More craft.

Air ballons
Gas tanks
More color clothes
RWall destruction
Some way to space (extinguisher?)

Closet

Only clothes


Integration of facebook analytics

Any plans of integrating facebook analytics as a component just like geolocation. It will be great feature.

https://github.com/facebook/react-native-fbsdk#analytics-for-apps ?

@facebook-github-bot feature

Hey @zsajjad! Thanks for opening the issue, however it looks like a feature request. As noted in the Issue template we'd like to use the GitHub issues to track bugs only. Can you implement the feature as a standalone npm module? If not consider sending a pull request or a create an entry on Product Pains. It has a voting system and if the feature gets upvoted enough it might get implemented. Closing this now, thanks for understanding!


Clean up pybind file

Use macros to simplify client and dataset bindings

Codecov Report

Merging #297 (4ee497c) into develop (86b6d7a) will increase coverage by 17.18%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files

@@             Coverage Diff              @@
##           develop     #297       +/-   ##
============================================
+ Coverage    76.48%   93.67%   +17.18%
============================================
  Files           66        9       -57
  Lines         4266      759     -3507
============================================
- Hits          3263      711     -2552
+ Misses        1003       48      -955

Impacted Files
Coverage Δ

include/command.h

include/commandreply.h

src/cpp/address.cpp

src/cpp/tensorpack.cpp

include/client.h

src/cpp/metadatafield.cpp

include/srexception.h

include/tensorpack.h

include/stringfield.h

include/logcontext.h

... and 47 more


[Feature request] ALTER REL TABLE GROUP: Add FROM ... TO ... statement

It would be nice, if we could add additional node table pairs via FROM ... TO after creation of a REL TABLE GROUP relationship table. For example you need to alter database schema in the course of app progress. Or imagine an app, that allows structured, user-generated content via some kind of plugin system. This requires users to create additional tables. These tables might need to have relations to other tables. Some of these relations might have been instantiated via REL TABLE GROUP. Vice versa, same goes for DROP. Currently there is no ALTER in combination with manipulation of FROM ... TO afterwards. At least I couldn't find it in below resources:
https://kuzudb.com/docusaurus/cypher/data-definition/create-table#create-rel-table-group
https://kuzudb.com/docusaurus/cypher/data-definition/alter/

One more clarification: Given
CREATE REL TABLE GROUP Knows (FROM User To User, FROM User to City, year INT64);

What I'd like to have is an ALTER command to ADD or DROP relations from Knows at some point later on, similar to
ALTER REL TABLE GROUP Knows ADD FROM Person TO Person;
ALTER REL TABLE GROUP Knows DROP FROM User TO User;


libpng compilation fix

Got compilation error on make:

img.cpp: In function 'unsigned char* GfImgReadPng(const char_, int_, int_, float)':
img.cpp:101:20: error: invalid use of incomplete type 'png_struct {aka struct png_struct_def}'
if (setjmp(png_ptr->jmpbuf))
^
In file included from img.cpp:31:0:
/usr/include/png.h:595:16: error: forward declaration of 'png_struct {aka struct png_struct_def}'
typedef struct png_struct_def png_struct;
^
In file included from /usr/include/pngconf.h:72:0,
from /usr/include/png.h:485,
from img.cpp:31:
img.cpp: In function 'int GfImgWritePng(unsigned char_, const char*, int, int)':
img.cpp:232:20: error: invalid use of incomplete type 'png_struct {aka struct png_struct_def}'
if (setjmp(png_ptr->jmpbuf)) {
^
In file included from img.cpp:31:0:
/usr/include/png.h:595:16: error: forward declaration of 'png_struct {aka struct png_struct_def}'
typedef struct png_struct_def png_struct;

Seems like new versions of libpng provide access to png_struct only via functions, fixed it.
png2jpg.c contained the same code, so I replaced it.

Thank you for your contribution!
Unfortunately, I'm now attending the internship program and currently I don't have my personal ubuntu machine. So it may take a little more time to check and try.

I am sorry that I merged your contribution late. Anyway I got a job and now have a time to catch up ;)
Thank you!


maximumImagesCount is not working on iOS devices

Is maximumImagesCount value works on iOS devices?
On Android devices, maximumImagesCount settings works very fine without any issues.

Please can you resolve this issue for iOS devices?

Nope, see the doc here: "Android only since plugin version 2.1.1, default no limit" - so if you need it please use an older version.


Add tests configration file for tests.

I assume this is rather useless now to do, we can just override the Configuration dictionary in tests' setup.


Update the section "What is a booster vaccination..." (vac_booster_basics) in the faq

Updates both the faq in German and English with new texts.
When merging, it'd be best to squash, because of the small commits.
Fixes #3080
Partly addresses #2345 by removing the section
Screenshots:

Internal Tracking ID: EXPOSUREAPP-14105

The section about the Impf-Guide could be improved:

Reduce the text so that "Impf-Guide" is only mentioned once instead of twice
Add a period at the end of the sentence
In the English text make a note that the "Impf-Guide" is in German

Also, please consider removing the information that boosters where recommended after 3 months in the past. It is not relevant anymore and makes the text unnecessary complex.

I added some concrete suggestions for changed wording.

Also, please consider removing the information that boosters where recommended after 3 months in the past. It is not relevant anymore and makes the text unnecessary complex.

I think adding the 3 months, is more beneficial than removing it. Many are confused by sudden changes and this should help ease it out a bit. What do you think?

@brianebeling
Okay, agreed!

@MikeMcC399 @Ein-Tim Many thanks for suggestions and reviewing! Enjoy the weekend!

I missed that fact that the new link does not abide by the conventions specified in https://github.com/corona-warn-app/cwa-website/blob/master/docs/CHANGE_WEBSITE_CONTENT.md#links-on-faq-pages:
Links on FAQ pages
The following conventions should be followed for links in the FAQ sources /src/data/faq.json and /src/data/faq_de.json:

All internal and external links on the FAQ pages should use the HTML hyperlink attribute target='_blank' to open in a new frame. This provides a consistent user experience and works around an issue with the browser back arrow button in the FAQ Glossary.
External links should use the HTML hyperlink attribute rel='noopener noreferrer' to avoid a cross-domain security issue in older browsers when the link also contains target='_blank'.
Internal links should not contain the attribute rel='noopener noreferrer'. There is no security issue for internal links.

@MikeMcC399 Alrighty, we will fix that on Monday. Thanks for pointing that out!


Drop support for axum-jsonschema

It's a tiny library that is just an opinionated glue of other libraries that feels a bit like is-odd.
In its current state it didn't fit my original use-case anymore and I didn't think it would be worth the hassle to make it more flexible/configurable since I could copy the code and modify it to my needs.
I don't think it is worth the maintenance burden of juggling different upstream library versions, maybe I could move it to its own repo or gist as a reference for others.

Since only I have access to the crates.io package currently, I'll just move it to its own repo and archive it if everyone agrees.

Right, that makes sense. In that case the axum-extra stuff should maybe be separated out as well? It's a mess really...
Personally I wouldn't mind more crates though. I have been maintaining larger workspaces, the important part is just to automate the release process a bit.
Could even do aide-core for the traits, aide-axum for the axum integration, and so on..

Could even do aide-core for the traits, aide-axum for the axum integration, and so on..

You'd need to wrap all the axum types due to orphan rules. I didn't want to do this so that aide is as much as a drop-in as possible. I'm not sure about user experience, but I think as it stands currently you can get documentation for your existing axum application by replacing 2-3 imports, we'd lose this if we went the wrapper-way (we'd also have to keep up with every upstream change even if they don't necessarily concern aide (e.g. new methods on extractors)).
I think the least messy way would be to just go the feature-gated way supporting a specific version set at a time (e.g. latest compatible at the point of the release), if anyone diverges from that, they'll have to create their own wrappers.

Right.. So those two extra crates use wrapper types then?

I assume, yes, there is no other way for them to be in separate crates afaik.


Derive Serialize for all response types

Why?
Fixes #27.

Ah yeah, fair enough. I'll put an allow for this lint for now and leave it to be decided later.


i cannot get the fog in version 4 to look the same, what am i doing wrong?

Godot version
4.13
System information
Windows 10
Issue description
Since moving to Godot 4 the only thing i have found missing is the fog.... the new fog if set strong enough to obscure the draw distance (say 4km draw)... it will look so washed out in the foreground like everything is foggy
the old fog could be used to obscure the draw distance, it was not "realistic"... am i the only one experiencing this frustration that my graphics looked better in Godot 3?
i do not know the technical reason for this but i hope to find it
i do not have any working Godot 3 code anymore however here are some screenshots i dug out, i think this old one showed how the unrealistic fog both has a nice bright look in foreground, has strong fog here to obscure popup:
https://www.facebook.com/photo/?fbid=10158498900213359&set=pcb.10158498900918359
this is a more recent one, sorry they are different scenes but this large scene would have liked the old fog... it has the new fog and i can get it to look nothing but dull:
https://www.facebook.com/photo/?fbid=10159496570933359&set=pcb.10159496572243359
i personally think this is a major overight that the new fog is "realistic"... is it because it's not expotential? which would be more physically accurate but would not work in the way we use fog in 3D video games (partly for a fog look, but also mainly to obscure the draw distance, if you ever see the draw distance, you know it's an amature product)
i cannot find the previous github complaints about this... surely it is a "BUG" not feature, the reason is because we were promised everything would be backwards compatible with Godot 3 and we would loose nothing.... this is a pretty massive loss to all scenes in open areas
Godot 3 fog, i cannot reproduce this anymore.... Source engine could, probabally GZDoom could, they all use the old fog

Godot 4, not the same scene but i cannot find any examples of where i even got it close

Steps to reproduce
create scenes with fog... it is simple impossible to create fog like screenshot 1 without washing out the scene and causing the immediate foreground to become all blue
Minimal reproduction project
na

For support questions and help please first turn to the other community channels, this is for bug reporting, not a help desk. Please use other channels first to see if this is a bug or user error.

There are proposals for adding some Godot 3-like fog improvements, see https://github.com/godotengine/godot-proposals/issues/4619 and https://github.com/godotengine/godot-proposals/issues/3429. As AThousandShips already noted, this issue can probably be closed and discussed further in proposals if needed.
There is also an existing PR for implementing some of these features: https://github.com/godotengine/godot/pull/84792

i very much doubt anyone has stared at the fog settings and/or played with them more than me i wasn't gonna get an answer from a support channel was i.... it's to do with how the fog has been implemented  as realistic without regard for normal practice of obscuring draw distance
thanks for linking me to the PR anyway i'll go there


Refreshing ESX 6.5 support on CI

CI is refreshed to unblock #859.

Drone secretes are refreshed with this PR
one of the test is failing and needs further triage as the Ubuntu VMs are having latest docker  i.e. 1.13 (https://ci.vmware.run/vmware/docker-volume-vsphere/1016)

TestConcurrency is commented out to take further triage.
=== RUN   TestConcurrency
Running concurrent tests on tcp://<IP_ADDRESS>:2375 and tcp://<IP_ADDRESS>:2375 (may take a while)...
Running create/delete concurrent test...
--- FAIL: TestConcurrency (29.75s)
	sanity_test.go:199: Successfully connected to tcp://<IP_ADDRESS>:2375
	sanity_test.go:199: Successfully connected to tcp://<IP_ADDRESS>:2375
	sanity_test.go:298: Create/delete concurrent test failed, err: Error response from daemon: create volTestP10: Post http://%2Frun%2Fdocker%2Fplugins%2Fvmdk.sock/VolumeDriver.Create: http: ContentLength=44 with Body length 0
FAIL

vmdk_ops log
01/27/17 12:47:23 558076 [Ubuntu.14.04-[vsanDatastore] dockvols/4af40ea9-ae91-4556-b6b6-641b72c85ec5/volTestP10.vmdk] [WARNING] vmci_reply returned error Broken pipe (errno=32)
01/27/17 12:47:25 558076 [photon.vsan-[vsanDatastore] dockvols/4af40ea9-ae91-4556-b6b6-641b72c85ec5/volTestP00.vmdk] [INFO   ] executeRequest 'remove' completed with ret=None
01/27/17 12:47:25 558076 [Thread-39] [INFO   ] cmd get with opts {} on tenant_uuid 4af40ea9-ae91-4556-b6b6-641b72c85ec5 datastore vsanDatastore is allowed to execute
01/27/17 12:47:25 558076 [photon.vsan-[vsanDatastore] dockvols/4af40ea9-ae91-4556-b6b6-641b72c85ec5/volTestP01.vmdk] [INFO   ] executeRequest 'get' completed with ret={'Error': 'Volume volTestP01 not found (file: /vmfs/volumes/vsanDatastore/dockvols/4af40ea9-ae91-4556-b6b6-641b72c85ec5/volTestP01.vmdk)'}

//CC @shaominchen

@shuklanirdesh82 Do you plan to check in this change first, and investigate the TestConcurrency failure separately?

Yeah @shaominchen that's the plan, the failure is observed only against 1.13 docker and will open the separate issue later on. After getting approval you can get the change and resume your testing.
The CI changes are ready for you to test out your change.
FYI: The failure observed with my proposed change is different and expected.

@shuklanirdesh82 As I talked to you offline, I've already finished all my tests on both 6.5 and 6.0U2 setups. But until new CI is ready, I can't merge my change because it will fail in the current CI.
So, I don't need to test out my change - everything is done. Just need the new CI ready so that I can merge my PR.

Feel free to merge but link the issue where track uncommenting the tests commented here.

Thanks @kerneltime for the approval, reference has been raised to uncomment.


GMock Linker Error: Build MAVSDK On Windows

I've had trouble building MAVSDK on Windows from source following documentation found here. After installing CMake, and Visual Studio 2019 C++ Build Tools, my steps are as follows in Powershell

git clone --depth=50 --branch=master https://github.com/mavlink/MAVSDK.git mavlink/MAVSDK

cd .\mavlink\MAVSDK\

git checkout master

git submodule update --init --recursive

cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -S.

This step works fine, and initial output is copied/pasted here.
Version: v0.29.0
Version major: 0
Version minor: 29
Version patch: 0
Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.14393.
The C compiler identification is MSVC 19.26.28806.0
The CXX compiler identification is MSVC 19.26.28806.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe - skipped
Detecting C compile features
Detecting C compile features - done
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe - skipped
Detecting CXX compile features
Detecting CXX compile features - done
Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.14393.
The C compiler identification is MSVC 19.26.28806.0
The CXX compiler identification is MSVC 19.26.28806.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe - skipped
Detecting C compile features
Detecting C compile features - done
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe - skipped
Detecting CXX compile features
Detecting CXX compile features - done
Preparing external project "jsoncpp" with args:
-- -DBUILD_SHARED_LIBS=ON
-- -DCMAKE_BUILD_TYPE=Release
-- -DCMAKE_INSTALL_PREFIX=install
-- -DCMAKE_INSTALL_PREFIX:PATH=D:/Users/pool6/mavlink/MAVSDK/build/default/third_party/install
-- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
-- -DBUILD_SHARED_LIBS=OFF
-- -DJSONCPP_WITH_CMAKE_PACKAGE=ON
-- -DJSONCPP_WITH_TESTS=OFF
This step works fine, but the next command fails.

cmake --build build/default --config Release --target install

I get a linker error about gmock. (Output copied/pasted below)
mavlink_mission_transfer_test.obj : error LNK2019: unresolved external symbol "class testing::internal::Mutex testing::internal::g_gmock_mutex" (?g_gmock_mutex@internal@testing@@3VMutex@12@A) referenced in function "private:
virtual void __cdecl MAVLinkMissionTransfer_UploadMissionSendsCount_Test::TestBody(void)" (?TestBody@MAVLinkMissionTransfer_UploadMissionSendsCount_Test@@EEAAXXZ) [D:\Users\pool6\mavlink\MAVSDK\build\default\src\unit_tests_ru
nner.vcxproj]
mavlink_mission_transfer_test.obj : error LNK2019: unresolved external symbol "class testing::internal::ThreadLocal<class testing::Sequence *> testing::internal::g_gmock_implicit_sequence" (?g_gmock_implicit_sequence@internal
@testing@@3V?$ThreadLocal@PEAVSequence@testing@@@12@A) referenced in function "protected: class testing::internal::TypedExpectation<bool __cdecl(struct __mavlink_message &)> & __cdecl testing::internal::FunctionMocker<bool __
cdecl(struct __mavlink_message &)>::AddNewExpectation(char const *,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::tuple<class testing::Matcher<struct __mavlink_m
essage &> > const &)" (?AddNewExpectation@?$FunctionMocker@$$A6A_NAEAU__mavlink_message@@@Z@internal@testing@@IEAAAEAV?$TypedExpectation@$$A6A_NAEAU__mavlink_message@@@Z@23@PEBDHAEBV?$basic_string@DU?$char_traits@D@std@@V?$al
locator@D@2@@std@@AEBV?$tuple@V?$Matcher@AEAU__mavlink_message@@@testing@@@6@@Z) [D:\Users\pool6\mavlink\MAVSDK\build\default\src\unit_tests_runner.vcxproj]
D:\Users\pool6\mavlink\MAVSDK\build\default\src\Release\unit_tests_runner.exe : fatal error LNK1120: 2 unresolved externals [D:\Users\pool6\mavlink\MAVSDK\build\default\src\unit_tests_runner.vcxproj]
Any suggestions would be much appreciated. When I get this working, I would be more than happy to open a pull request for updating the documentation.

Update: I got it to compile by setting -DBUILD_SHARED_LIBS=OFF. It seems that setting -DBUILD_SHARED_LIBS=ON messes up GTest Linking currently. Some people here have suggested setting a preprocessor definition GTEST_LINKED_AS_SHARED_LIBRARY to the project when doing so... I'm not sure how clean that would be though. Anyways, thanks!

Thanks for reporting! Feel free to open a PR if you later find a way to fix it. In the meantime, I'll close this one :slightly_smiling_face:.

I faced the same issue. @JonasVautherin, won't it be a good idea to change the docs in the meantime?

I am not working on Windows, so all I know is that it works on my Windows (may not be the usual setup since I installed it just for MAVSDK), and it seems like it works in the CI.
Happy to review any PR if you have suggestions to improve the Windows workflow :blush:.

I am not working on Windows, so all I know is that it works on my Windows (may not be the usual setup since I installed it just for MAVSDK), and it seems like it works in the CI.
Happy to review any PR if you have suggestions to improve the Windows workflow :blush:.

just for motice, I have the same issue

@smotrjashka does https://github.com/mavlink/MAVSDK/issues/1164#issuecomment-674197395 help?


Nsjo/notify string

upgrade char * logic to c++ std string
By upgrading the string in the notify type to a c++
standard string we avoid a lot of c point gymnastics.
Especially because we use std strings in the end most
of the times any ways.

@nxpfrankli That is OK. Just so I understand. Can you describe this restriction more.
What interface?
Why do we need to keep this interface in C89?
Maybe I we can add this in a README / Contribute file for future developers.
Thank you for you work.

@nxpfrankli That is OK. Just so I understand. Can you describe this restriction more.
What interface?

whole system actually separate into two part. UI part and library part.
library part do actually work.  UI part just show information.
Someone may want GUI or integrate into the other deploy tools.

Why do we need to keep this interface in C89?

We want to keep libuuu's interface as simple as possible.  We don't want to force UI part must be written by C++.

Maybe I we can add this in a README / Contribute file for future developers.
Thank you for you work.

We want to keep libuuu's interface as simple as possible. We don't want to force UI part must be written by C++.


I'd like to join this project's community

Your public repo
https://github.com/kasiasun/gov4git-identity-public.git
Your public branch
main
Your email (optional)
No response

Approved

Research Lead, Plural Technology Collaboratory (https://aka.ms/plural), Research Special Projects

Outside of Microsoft I am Founder of RadicalxChange (https://radicalxchange.org) and Founder and Chair of the Plurality Institute (https://plurality.institute)

From: Kasia Sitkiewicz @.>
Sent: Wednesday, November 1, 2023 6:33:44 PM
To: pluralitybook/plurality @.>
Cc: Glen Weyl @.>; Assign @.>
Subject: Re: [pluralitybook/plurality] I'd like to join this project's community (Issue #189)
Assigned #189https://github.com/pluralitybook/plurality/issues/189 to @GlenWeylhttps://github.com/GlenWeyl.
—
Reply to this email directly, view it on GitHubhttps://github.com/pluralitybook/plurality/issues/189#event-10837560510, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABIRKSCB53GXL2D2ASDTPFLYCLE4RAVCNFSM6AAAAAA6Z7H7WKVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQHAZTONJWGA2TCMA.
You are receiving this because you were assigned.Message ID: @.***>

kasiasun added to community.


Create Home Assistant add-on or custom component.

Would this be possible?  It would be amazing.
thanks!

I have to check HA APIs to so if it's possible. First of all, what do you expect from the integration? How do you want to use the integration?

We have a Chevy Volt and a Charge Point charger.  I would like to track the energy usage in HA.  It's more a matter of interest than necessity but useful to know.
thanks

@OrangeTux Great, I finally read about integrating ocpp into ha on github. Can you write a rich example about this? I also have a charging pile. I want to connect it to ha, but I don't know where to add information such as the id of the central system. Can you explain more about this? Thank you very much.

Can you write a rich example about this?

What do you want from a 'rich example'? As I don't use HA I had a hard time to figure out what users would expect from the integration.

but I don't know where to add information such as the id of the central system.

I'm not sure what you mean with 'id of the central system'. The CSMS doesn't has an ID. BY default the server listens on port 9000.
Let me know if you have more questions.

Slip of the tongue For the central system ID, it should be the charging point ID. If I have two or more charging piles, I want to connect them to HA. I need to use their ID to distinguish them. Should this information be written in the configuration file? How to write it?

I have an EN+ charging pile. I want to connect it to the homeassistant. I have already connected it to wifi. Next, I will configure the configuration file and write custom components. Finally, some information about the charging pile can be displayed at the front end of hass and the charging current can be set. But I don't know how to edit the configuration file and add some information to your source code. Is this information the ID of the charging pile? IP address? Or is it my mobile phone number? e-mail？

Currently the plugin only supports a single charger. You don't need to configure the charger ID, the plugin accepts all IDs.
Currently you can configure much. Only the port where the server will listen on (defaults to 9000), the measurands you want to display in the HA UI. And the refresh rate of those measurands.
If you want to add more configuration options you've to edit this section.
Every entry in the PLATFORM_SCHEMA dictionary corresponds to a configuration option in HA's config file. If you want to add more options you need to pick a name for the key. Also you need to configure the type of the configuration value.

Oh ~ great, maybe you made me fall in love with this platform and praised your reply speed.
Now I still need to make a load that matches the charging pile. Is it because I don't have a load that the charging pile works, so it shows unknown in my integration? Then where should those icons be set?
Well done! I'm a kid who's only been in contact with homeassistant for half a year. I believe I will love it in the future!

Now I still need to make a load that matches the charging pile. Is it because I don't have a load that the charging pile works, so it shows unknown in my integration?

I'm not exactly sure what you mean by this. But normally if a charger is charging it sends MeterValues requests to the Central System. These request contain transaction related metrics, called measurands in OCPP. An example is the measurand 'Current.Import' that contains the amount of current flowing into the car.
You can configure which measurands you want to show in the HA UI using the config option monitored_variables. Note that most chargers don't send all different measurands possible.

Then where should those icons be set?

You can pick any of the Material Design Icons.

I bought the AC charging pile to test the load instead of the electric car, but the monitored variables on HA are unknown.
The configuration file is as follows:
`sensor:

platform: ocpp
port: 9000
scan_interval:
seconds: 10
monitored_variables:

"Current.Export"sensor.py   the modified partMEASURANDS = {
"Current.Export": ["Current.Export", "mdi:flash-auto"]
} class ChargeMetric(Entity):
"""Sensor for charge metrics."""

def init(self, measurand, data):
"""Instantiate instance of a ChargeMetrics."""
#pdb.set_trace()
self.measurand = MEASURANDS[measurand][0]
self._icon = MEASURANDS[measurand][1]
self.data = data
self._state = None I want to add the icon of monitoring variable, and I think this is no problem, but the front end of HA shows unknown. ![Y2%~6~GT0LK5H7R8 )8P9](https://user-images.githubusercontent.com/70205502/98512428-41907f80-22a1-11eb-84d0-1997efa32c04.png)

I don't have an electric car，so I bought an AC charging pile to test the load instead of an electric car, but the monitored variables on HA are unknown.
sensor.py the modified part:
MEASURANDS= { "Current.Export": ["Current.Export", "mdi:flash-auto"] }
class ChargeMetric(Entity):  def init(self, measurand, data):  self.measurand = MEASURANDS[measurand][0]  self._icon = MEASURANDS[measurand][1]  self.data = data  self._state = None
I want to add the icon of monitoring variable, and I think this is no problem, but the front end of HA shows unknown.

Hi, I am not familiar with HA apps, but the measurand you chose to extract is not the one that will provide you the current consumed by the EV. The one you are looking for is "Current.Import". By definition, Import and Export are in the perspective of the EV and not the Charging Station, thus Current.Import could be translated to "current being imported by the EV"
Could you also provide more info about the AC load you are using? like a link to the description of that device?
Thanks!

@OrangeTux
Hi, I will explain the above comments
I want to show the information I need on HA according to OrangeTux's idea, such as charging current, voltage and other parameters. He successfully displayed the parameter current.import When charging a car, I will see the charging current in the timeline, but I copied the file he linked to my own custom_component file, and also configured the information in configuration.yaml . turn on the AC charging pile load and set the current (this behavior simulates charging a car with charging piles). Then charge successfully, but some information displayed on my HA is unknown. Under normal circumstances, it should be the same as Mr. OrangeTux's example. I don't know where the problem lies.
Or let HA successfully display the size of the controlled measured value, besides what I said above, what other steps are needed?
@tropxy
I'm glad you saw my comments and replied to me.
I quite agree with you, this is the link of the AC load I bought.http://www.cniux.com/index.aspx

I didn't realize the integration of charging pile into HA. I got the following information after simulating the client running Python program:

i've created a HACS compatible repository for the home assistant plugin here:
https://github.com/lbbrhzn/ocpp
I can see BootNitifications, Hartbeat, StatusNotifications from my Wallbox PulsarPlus, but no measurands yet.

Great! I will check it out later.

i've created a HACS compatible repository for the home assistant plugin here:
https://github.com/lbbrhzn/ocpp
I can see BootNitifications, Hartbeat, StatusNotifications from my Wallbox PulsarPlus, but no measurands yet.

I can't add this repository to HACS, it tells me that the structure is invalid.
Any solution?
Thanks

I can't add this repository to HACS, it tells me that the structure is invalid.
Any solution?

Solved now. Please note that this integration is highly experimental. It's my first python project and my first home assistant integration. Any help on improving it is highly appreciated!


Python: FunctionCallingStepwisePlanner not working in semantic-kernel 1.0.0rc1 | programming language python

Describe the bug
I have implemented to test FunctionCallingStepwisePlanner  but got below issue:
An error occurred during planner invocation: OpenAIChatCompletionBase._process_function_call() got an unexpected keyword argument 'result'
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
It should work.
Screenshots
If applicable, add screenshots to help explain your problem.
Platform

OS: Windows
IDE: VS Code
Language: Python
Source: semantic-kernel 1.0.0rc1

Additional context
semantic_kernel\planners\function_calling_stepwise_planner\function_calling_stepwise_planner.py
result param is not used in chat_completion._process_function_call method that need to fix

Can confirm encountering the same issue.

Can confirm encountering the same issue.

Yes


Messages and timers during file presentation

When starting a presentation from a file (PDF), I can't seem to show any other elements, like messages or timers. It seems that there is no way to change the presentation from fullscreen to non-fullscreen.

This would likely be fixed by solving #2098 as well, although being able to show messages during a fullscreen presentation is something I've always missed in OpenSlides 1.6.

To show messages and countdowns during pdf presentation you have to reduce the z-index of the .fullscreen css class in projector.css:
https://github.com/OpenSlides/OpenSlides/blob/master/openslides/core/static/css/projector.css#L94
I think it's not desired to "disturb" a presentation with activated projector elements. If you have good use cases for it we can discuss it.

We have use cases for both, although one is arguably not too strong.
Speakers can use presentations, but they still have a limited time. Thus, being able to show the countdown during his slideshow would really help.
As for messages: We occasionally use them to hush people, or to announce a short break. For the latter, leaving fullscreen mode for a bit would not be too bad.
However, I wonder why being able to disturb a presentation with activated elements would be considered bad. If you do not want to show the elements, you can hide them with one click. Are there use cases where you want to keep the elements in the background during a fullscreen presentation?

Sounds reasonable to we can reduce the z-index in v2.0.1. or 2.1.x

Ok.


Role Tags gets overridden by Edit Command.

To implement Role Tags as non-Tags / Saved and Displayed separate from normal tags.

Can you elaborate what it means to be overridden

Our current display of the role tags is displaying them placing them together with other misc tags. When we use edit command to edit tags, it removes the displayed role tags as well. Role tag variable in patient or staff remains unchanged.

Got it, was just able to reproduce the issue

Should be an easy fix to display the role tag separately from normal tags.

Should be an easy fix to display the role tag separately from normal tags.

Would that not just be a UI fix? I reckon there would need to be a change in the way roletag is stored in person objects

Yep simplest solution is just a ui fix. Need to remove some logic components to stop adding the role tag to normal tag set though.


FEAT: Implement groupby nth

Is your feature request related to a problem? Please describe
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
https://pandas.pydata.org/docs/reference/api/pandas.core.groupby.DataFrameGroupBy.nth.html
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hello, if no one else is working on it then can I take over this issue?

Hello, if no one else is working on it then can I take over this issue?

Sure, you can reply take and issue will be assigned to you.


Autocomplete

There doesn't seem to be a vuikit component for autocomplete. Is that in the works?

Is not in the roadmap, but not discarded for some future update.

Is not in the roadmap, but not discarded for some future update.


Support file uploads

Any idea when the release will go out to support file uploads? I see it merged but a release wasn't cut. I'm happy to help review, etc. in order to get that out.


pbTests: Set remote_tmp for Unix VPC runs

Fixes: #1722
Checklist

[x] commit message has one of the standard prefixes
[x] playbook changes run through VPC or QPC Running now: https://ci.adoptopenjdk.net/job/VagrantPlaybookCheck/953/ (Mainly checking Solaris works, and the fix doesn't break anything else)

is in the file already? Can we do something that will make that activate properly in VPC?
VPC doesn't use the inventory, so hosts:solaris means nothing to Ansible. We could force it to, by making the temporary host file into something more like the inventory; i.e.

hosts:
  $OS-vagant: {ip: [<IP_ADDRESS>]:$vagrantPort}

It does worry me that we're forcing the directory like this so would be good to understand why it doesn't work (or whether we can use a neutral directory like /tmp) or at least document why we've got this change

I believe in most cases $HOME/.ansible/tmp is already the case, it just isn't for Solaris (apparently). However, yeah, I get the concern. I could try the /tmp directory, and then just make sure the vagrant user has the perms to execute from there in the Vagrantfile's provisioning script.


Fix github actions workflow

Fixes #5
@yurishkuro - Could you please set the dockerhub key as a secret in this repo?
Once that is set we should have automated builds set up.
Signed-off-by: Annanay<EMAIL_ADDRESS>

Huh, DCO is going to show an error because past commits are not signed? @yurishkuro

can you squash them?

There's a ton of conflicts, I'll take a stab at this tomorrow.

Hi @yurishkuro - There's a merge conflict every 3-4 commits and there's ~260 of them 😥
Beginning to question if we need past commits to be signed?

You only have two commits in this PR, how can there be so many conflicts?
The signing of commits is a CNCF requirement.

All of my commits are signed. Merging this.


Cache not being fully emptied if using localStorage and multiple web pages

Hello,
I noticed a weird behaviour while testing my app (which shares the state of the cache among many browser tabs).
If one of the tabs clears the localStorage cache, then the cache is emptied for that tab but the others still have the state of the $http calls in the $$promises object. Even worse when I trigger a cache.removeAll() from those others caches since the keys are already gone there is no proper way to get ride of this inconsistent state being hold in the $$promises object.
I solved the problem by adding the following line to the removeAll() function
$$promises = {}
Regards

That was quick! Thanks!

I am currently using chrome, the line $$promises = {} seems to be on the src code Im using.  I have tried removeall, destroyall and clearall but the localstorage is not erased.


Remove the startpage from HaxeDevelop

Hi!
I get an error on the startpage. While I'm looking at it, could it be possible to completely remove the startpage? After pressing yes/no nothing happens too. It doesn't really add much, since all functionality is in the menus too.

Os: Windows 10
HaxeDevelop version:

Yes I agree this start page is old school @Meychi - drop?

Maybe this is because the application was not able to set the FEATURE_BROWSER_EMULATION value properly in the registry?

I found that ProjectManager.dll in FD install dir caused some type havok. Startpage did this and also ProjectManager crashed. PluginCore.dll in plugins dir also causes similar issues.
Do you happen to have this file or something other incorrect present?

Perhaps it's my fault ( I will try to fix soon. Sorry


 And probably because I'm currently on a Python2.7 + Windows system where the time() precision is crappy.
So I propose returning NaN in this case

Hello @vbarbaresi!
I'm sorry for the long delay to reply to you.
Thank you for catching that, and already proposing a PR!
I did a small research and you are right, the timer resolution in py2.7 windows is more than crappy, is a whopping 💩16ms! 😱
Well, I did fix it in this scenario, but I've made a more involved solution, could you please pip install -U about-time and see if it is ok for you? The changes are at #2.
Also, could you see if you can now run the tests for Clearly?

Thanks! Yes, your solution works for me :ok_hand:


Remove unnecessary references

i32 and chrono::DateTime implement Copy trait. We don't need to take reference of it.

I have updated the version!

Oh, Should I leave outer crate's version as-is?

Oh, Should I leave outer crate's version as-is?

We can leave the outer crate as is. I'll do a release after this merges.
Thank you for jumping in a contributing!


Ability to remove company account

Admin user should be able to remove entire company account.

should be a confirmation popup which asks to type in company name

Done and in master.


Fix assembly constants not getting applied at build time

As discovered during the July 2022 release, the assembly constant 'SIGNED:TELEMETRY' defined in the QDK build (here) is not propagating as a build time flag 'TELEMETRY' in the QSharpVsix and LanguageServer projects.
I have find the root cause for this. Powershell now enforces $args is read-only. Our script was using this as a variable to provide extra arguments to the build command, but now the value is not longer applied so the flags were not properly set.
Fix simply consists on changing the name of the variable.

/azp run


The path to the extension's directory is wrong

When I install coc-floatinput, I get the following message on startup.
[coc.nvim] Unable to load global extension at /home/xxx/.config/coc/extensions/coc-floatinput: package.json not found
/home/xxx/.config/coc/extensions/node_modules/coc-floatinput is the correct path.
This is the minimal vimrc.
syntax enable
filetype plugin indent on

if has('vim_starting')
	let s:pluin_manager_dir='~/.vim/plugged/vim-plug'
	execute 'set runtimepath+=' . s:pluin_manager_dir
endif

call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}
let g:coc_global_extensions = [ 'coc-floatinput' ]
call plug#end()

vim: Neovim v0.5.0-695-gf34eeba2d
OS: ArchLinux
coc-floatinput version: 6c2e05ea5ef3962975ac3102ab3f4f477c5b489c
coc.nvim: https://github.com/neoclide/coc.nvim/tree/825f7f5b89fb1708f18711798ef7a2ba6aa1bde5

Did you try to remove /home/xxx/.config/coc/extensions/node_modules/coc-floatinput and install it again? I tried several times in my Manjaro, but no error

Hmmm I'll reproduce it every time.
I recorded this gif.

It may also be a cache problem, you can try to clear the cache. npm cache clean --force

Unfortunately, npm cache clean --force didn't solve this problem :cry:

Okay, provide the version of your node and npm, and the installed log

node --version
v14.10.1

npm -v
6.14.7

:CocOpenLog
2020-09-16T13:52:57.423 ERROR (pid:2647158) [extension:coc-floatinput] - schema.json not found, reinstall coc.nvim to fix this!
2020-09-16T13:52:57.480 INFO (pid:2647158) [plugin] - coc.nvim 0.0.79-b71489207a initialized with node: v14.10.1 after 150ms
2020-09-16T13:53:02.709 ERROR (pid:2647158) [extensions] - Error on load /home/xxx/.config/coc/extensions/coc-floatinput Error: package.json not found
    at Extensions.checkDirectory (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:42549:23)
    at /home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:42206:32
    at new Promise (<anonymous>)
    at /home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:42202:79
    at Array.map (<anonymous>)
    at Extensions.globalExtensionStats (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:42202:68)
    at Extensions.getExtensionStates (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:41922:38)
    at ExtensionList.loadItems (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:83060:47)
    at Worker.loadItems (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:84737:32)
    at ListManager.start (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:77387:31)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async /home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:23614:13
    at async Plugin.cocAction (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:23990:16)
    at async NeovimClient.<anonymous> (/home/xxx/dotfiles/.vim/plugged/coc.nvim/build/index.js:11588:21)

I found some new information: if you have coc.nvim version v0.0.78, it seems to work fine.
I also built a master and used it, and I had the same problem here.

Should be fixed in 1.3.2

I checked it. It's fixed. Thank you :wink:


Packages updated

Updated all packages to latest and compile SDK version changes to 34

Any update on that? Is the maintainer active?


Equivalence library lacks many equivalences in the clifford group

Many equivalences in the clifford group are missing from the equivalence library. Some examples:

sdg == h.z == z.s == s**3
sx == sdg.h.sdg
cy == sdg.cx.s
x,y, and z in terms of h and s (for example, x == h.s.s.h)

I opened an issue that may be related to this one.
In brief, the transpile method end the task with error when passing the universal gate set ['h', 's', 't', 'cx']

where is the equivalence library? is it the templates library?
https://github.com/Qiskit/qiskit-terra/tree/master/qiskit/circuit/library/templates/clifford

* `sx` == `sdg.h.sdg`

This is in the equivalence lib already: https://github.com/Qiskit/qiskit-terra/blob/master/qiskit/circuit/library/standard_gates/equivalence_library.py#L391-L399

* `cy == sdg.cx.s`

This is in the equivalence lib already:
https://github.com/Qiskit/qiskit-terra/blob/master/qiskit/circuit/library/standard_gates/equivalence_library.py#L713-L721

Hi, I have started working on this issue with @ShellyGarion .


Idiomatic loop counter usage

Description
Idiomatic loop counter usage
Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

/retest

/lgtm

/approve

/retest


parsing custom blocklist with wildcard domains

Pull request to implement a small change to accommodate the feature i suggested in issue #6888.
Currently blocklist handler is already able tag a domain as wildcard with the property 'wildcard': True for Unbound to pick up. I think it's trivial to add support for wildcard domains in the format *.example.com from custom blocklist with minimal change in logic.
New code only attempt to alter the parsing of custom blocklist and does not touch other inputs.

Hello, as this pull request was closed, how does wildcard is working into personnal URL blocklist ?


Feature/current url

Sorry. :)

I had changed the comment only.
URL is difference between 'https://www.google.com/' and 'https://www.google.com'.


update kfserving version

What this PR does / why we need it:
Because kfserving SDK version is changed to be consistent with kfserving release (0.2.1),  to avoid confusing user, made decision by kfserving comminication, drop old version, and release new one to align with kfserving current release. so kfserving new release is <IP_ADDRESS>, update fairing accordingly.

This change is

Build error
Installed /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/python_dateutil-2.8.1-py3.7.egg
error: numpy 1.15.4 is installed but numpy>=1.17.3 is required by {'kfserving'}
The command "python setup.py install" failed and exited with 1 during .
Your build has been stopped.

Another error:
Installed /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/minio-5.0.4-py3.7.egg
error: azure-storage-blob 1.5.0 is installed but azure-storage-blob==1.3.0 is required by {'kfserving'}
The command "python setup.py install" failed and exited with 1 during .

Seems we need to fix this in the kfserving SDK, already send a PR https://github.com/kubeflow/kfserving/pull/534

Thanks @jinchihe. Yes these conflicting library versions are causing the failures. would be good to resolve.

@abhi-g I trying to resolve this from kfserving, kfserving pin azure-storage-blob version. should be done very soon, thanks!
/hold

/retest

Another one after work with kfserving
nstalled /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/azure_cosmosdb_nspkg-2.0.2-py3.7.egg

error: python-dateutil 2.8.1 is installed but python-dateutil<2.8.1,>=2.1 is required by {'botocore'}

The command "python setup.py install" failed and exited with 1 during .

/hold cancel
/retest

/lgtm

/retest

test seems stuck trying to install some dependencies

/retest

Trying to re-trigger the testing, the "retest" lab cannot trigger that if not failed.

/lgtm

/approve


jQuery

Your code looks promising, I like the ideas behind, it seems to be the way, but..
Is there any plan to remove the jQuery dependency in the future? Thanks

any updates later on?


Values are not changing without running the App on my mobile

Hi Shaoranlaos,
thanks for your contribution.
I have noticed a strange behaviour of the node on my PowerOcean.
The values i get back are only changing as long as i'm also connected to ecoflow by the app on my mobile.
A soon as the App is idle or off, all the values coming back from ecoflow are not changing anymore. They are
locked on the last valid readings.
would be grateful if you could check...
Thanks
Uli

Hi Uli,
not sure what the Problem could be. It is working fine for me even without the app open.
But i do not have a PowerOcean, I can only test with a Powerstream, Delta Max and the Smart Plugs.
I encountered the same Problem when i used the inoffical API via MQTT (the one before the offical API was released and that was reverse engineered).
That was also the reason I build this node for Node-Red to better (and more consistently than MQTT) use the data from the Ecoflow devices.
Could you check what the online value in the Device List is saying for the PowerOcean when the App is closed?
Maybe the PowerOcean goes Offline in the official API (and that would be a bug on the Ecoflow side).
Sorry i can not do more,
Shaoranloas

Hi Shaoranloas,
thanks for your answer.
the online value is still 1 (online) so this seems to be the old problem you encountered also.
see here : https://github.com/tolwi/hassio-ecoflow-cloud/issues/57
in this case, i guess i need to wait for Ecoflow to fix this..
Thanks a lot
best regards
Uli

Hey Uli,
how long did you wait before checking the Online-Status?
I also did some testing and it seems that the online status takes up to 15 Minutes to show a device as offline after it is no longer delivering data.
It is also the case (like you encountered) that the official API is delivering the last known data for the time a device is offline (not sure why they do that but it has probably something to do with the way the HTTP-API is integrated into there own internal MQTT-Bus).
Thanks for making me aware of that i will add it to the Readme and the internal help page of the node.
BR
Shaoranlaos

Hi Shaoranlaos,
i did additional tests which might help.
I also have the installer app from Ecoflow, which is needed to setup the Power Ocean initially. This app also displays the actual values.
So i have recognised the following

The Online flag stays on '1' the whole time. Anyway the value could be stucked like the others. So maybe the
Ecoflow cloud resets them to offline and i cannot see it....
On my company laptop i also use the Web Apps (installer and User App). The values are only updating
when i'm connected to my home Wifi. In the company wifi there are no updates at all (only displaying the
last values when closing the mobile app.
When opening the mobile or the web app - the initial values that are displayed are the ones that are shown
in your API. They are changing to live values after some seconds.
the actual values can only be received, as long the mobile Apps (installer and User App) or the WebApps (installer and User
App) are running.
Tried the MQTT version "https://github.com/tolwi/hassio-ecoflow-cloud". Same problem
Here additionally the MQTT access was blocked by ecoflow after deploying changes in NodeRed around 20 times.
I needed to set new Access and Secret Keys on Ecoflows developer website to get it running again

So i think the problem is the access on the Serial Numer of my device in the cloud, as the installer app has complete different
User/Password. Maybe the Ecoflow cloud needs some kind of 'Trigger' to start sending actual values. It definetly sends the old values when accessed by the new API (MQTT and HTTP).
Pls let me know your thoughts
best regards
Uli

Hi Uli,
Thanks for the investigation.
I can at least explain your second point (at least that is the case on my company network):
Companies almost always allow only HTTP connection to the internet from there networks (even if there is a dedicated Guest-Network). The apps from Ecoflow are using MQTT for there live updating, so that is blocked and only the initial values are shown (checked that with out Firewall guy).
Regarding your 5th point: I also encountered that and hadn't now what the reason was. That was another reason why i switched to the HTTP-API in the hope that doesn't happen on this way also (not yet running long enough to see if that is the case).
That trigger idea is a possibility but i haven't seen any indicator in the API-Doc for the PowerOcean of this. It is a bit weird because the PowerOcean doesn't seem to be any different in regards to the endpoints it provides (beside that it has an additional historical endpoint).
I will see if i can find anything else in regards to this. Let me also now if you find anything new.
BR
Shaoranlaos

Hi Shaoranlaos,
i have tested your Node with my River mini where it works perfectly anytime.
So it seems to be a problem only at the Power Ocean.
i'm also active here : https://github.com/evcc-io/evcc/discussions/14864
evcc is the software where i need the PowerOcean data for charging my Car.
I have contacted Ecoflow, they are reading this thread also...
They have promised to check this problem. Lets see...
Thanks
Uli


test: create database with cdc and wait for indexes

This PR updates the tests so that databases are created with CDC on upfront, and also adds calls for db.awaitIndexes on tests with constraints.
testing if this has any affect on flaky behaviour.

I think we can in practice, but I'm wondering if that makes any difference in these tests - since we are creating constraints on a brand new database.


Upgrade to unity 5.5.1p3

Modified code so that it produces no compile-time warnings or errors in Unity 5.5.1p3, and all examples appear to work correctly.

All changes look good, but why change the private modifier of the Gain property in GATChannelGain? There are methods to adjust gain, going through the property's setter directly isn't thread safe and can cause clipping.
Thanks for giving G-Audio some love, I wish I had the time to do so too!

I actually only made that change as a relatively unthinking compile-time fix. That gain property wasn't working, and changing the accessibility of it got it to work. I wish I could explain myself better, but it was a relatively absent-minded change.

Does it compile if you change the Gain setter's modifier to protected instead? In both classes? My hunch is that since the property is overriden, private set is not legal.
Please give it a shot, if that works I'll merge the changes - it's actually pretty important that Gain's setter remains protected.

Merging it even though I had no news regarding the Gain property. I'll commit a protected setter myself after the merge. It's important to keep that protected modifier because of thread concurrency.


fix(build): support PPM_API_CURRENT_VERSION macros

Signed-off-by: Luca Guerra<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area cmd

/area pkg

/area docs

/area tests

What this PR does / why we need it:
Which issue(s) this PR fixes:
This PR adds support for scap/falco driver versioning, introduced in https://github.com/falcosecurity/libs/pull/39 . Currently, driverkit is broken on any version equal or newer than the above.
Since Driverkit does not use CMake to generate the driver header file, we need to do it at runtime by following the same process that the cmake generator does.
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

fix(build): add support for Falco/Scap driver API versioning macros.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: LucaGuerra
To complete the pull request process, please assign leodido after the PR has been reviewed.
You can assign the PR to them by writing /assign @leodido in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 87bd3fa5c7c44a60d89c76c514d00145781429e6


Introduce a @Depth annotation

When serializing trees with groups such as the following, it is convenient to be able to configure the Serialization depth:
class TreeEntry
{
    /**
      * @var TreeEntry
      * @Groups{"a"}
      */
    public $parent;
}

A new @Depth(n) where N is the maximum depth level to normalize can be useful for such use case. When n is reached, the normalizer will output the IRI of the resource instead of embedding it. Proposal:
class TreeEntry
{
    /**
      * @var TreeEntry
      * @Groups{"a"}
      * @Depth(2)
      */
    public $parent;
}

Alternative:

Introduce the Depth annotation directly in the Symfony Serializer component
Add a handler system similar to the circular reference handler
Register a custom handler outputting an IRI in the bundle

If the depth of the objects is higher than the specified value in @Depth annotation, then how will the output look like ?
Also, the next step the Serializer will do after normalizing is encoding. In that case, wouldn't the encoding step fail ?

In Symfony, it will work like for circular reference: allow to register a \Callable as handler, the default callable throw an exception
The bundle will register a custom handler outputting the IRI of the relation
Because of the previous, it will the encoding will be OK in the bundle

Really good idea, maybe add also this option in normalization / denormalization context ?

+1 from me. @Depth is pretty much essential for serializing trees.

@dunglas any update regarding this feature?

Done in symfony/symfony#17113


Discuss: Add publishing section

Once our awesome project is cautiously documented, carefully translated and beautifully built, only thing left is for us to publish it.
This is a final step that's missing from the guide today that would close the circle.
Possible options that could be documented :

Push/sync to any bare Web hosting
GitHub pages
And the all mighty ReadTheDocs.org !
This last one of course already having docs (https://docs.readthedocs.io/en/latest/localization.html and https://docs.readthedocs.io/en/latest/guides/manage-translations-sphinx.html) may just be cross-referenced (who said intersphinx i18n ?)
Note that they're already discussing to reference this guide into their docs in readthedocs/readthedocs.org#9000... Hope they'll join the tchat :)

Any other valuable option ?

No doubt Readthedocs would be a good option.

Ready, see #7


Message object does not have tool_call_id which is required when we add tool call message to history

Basically, if we add tool call to message history, it expects a follow up message that is tool result and it should have the tool_call_id.
Here is the reference - https://platform.openai.com/docs/guides/function-calling
and https://community.openai.com/t/formatting-assistant-messages-after-tool-function-calls-in-gpt-conversations/535360/2
BadRequestError: Error code: 400 - {'error': {'message': "Missing parameter 'tool_call_id': messages with role 'tool' must have a 'tool_call_id'.", 'type': 'invalid_request_error', 'param': 'messages.[3].tool_call_id', 'code': None}

@gurvinder-dhillon Are you using the collect and call tools method like this example https://github.com/MadcowD/ell/blob/main/examples/future/use_tool_once.py or something else?

Isn't tool call id already on the ToolCall object and ToolResutl object.

Yeah it's in that content blopck object.


BatchRenderer2D Optimization

As we saw in one of your livestream, when you render your sprites with a max texture per drawcall of 2 you had an insane 93 drawcalls while you only had a total of 8 different textures.
The reason is that your sprites are not sorted.
So this advice will work both with static and dynamic buffer renderers, batched or unbatched.
The idea is this:
When you submit a renderable via void submit(const Renderable2D* renderable), you don't do anything except populate a vector with the info of that submit (meaning you save a pointer to the renderable and a copy of the transformation matrix).
Then when you flush, that is where you do all the work.
But before you do, the first thing is you need to sort the vector.
Here you just need to sort by the texture id. that way, whatever order you submit your sprites in, if you have a max texture of 2 and 8 textures, you will have 4 draw calls max.
This becomes even more important when you can have different shaders per renderable. you then sort first by shader, second by material then by mesh.
Then you need to track the state of the opengl pipeline and you only call glUseProgram when you change shader, then for each shader, you only set the material uniforms when you change material etc. All that is quite simple to implement and is necessary to drastically reduce the number of drawcalls.
Oh and in general you shouldn't unbind things unless you absolutely know it is necessary.
This is to avoid things like:
glBind (something)
glBind(0) --> unnecessary api call
glBind(somethingElse)

What if you want a specific draw order in your layer? Say, Object A and B are both on the same layer, but you want B drawn over A whilst B having a lower texture ID?

Don't forget that this is a 3D engine so even if you use it to render 2D sprites their positions are still represented by 3D vectors. Easy to then use the Z coord to deal with this.

Could you provide a example? Where and what vector do I need to sort. (i'm just being curious as i don't know how long the series are being halted for)

Ossadtchii - To my understanding this is not just a simple sorting of vector that ed is suggesting.  It's also a wonderful idea and I will personally be implementing into my own engine (thank you and I can't believe I didn't think of it, but I guess that is why I went looking here for suggestions).  In order to do it your self, you will need to change the submit method to store some key information about the renderable being submitted (I would use a struct that stored the shader id, the material id / name (if you are using them), and the texture id) alongside a pointer to the renderable and I would store that in the struct as well.  Now when it comes to the flush method I would do as suggested and go down and sort the vector storing all of these structs first by shader id, then material id, then texture id.  At the end you then just render the renderables in the new order obtained by this newly sorted vector.  But I don't believe it is as simple as needing to sort a vector as the system just isn't built for it.  The only way you could make such a simple change is in the Simple2DRenderer where we are still storing everything in a bulk manner.  The batch renderer just ruins everything by rendering to the buffer on submission (yet again, not saying this is bad but it doesn't help in this scenario).  With this suggested method you would just render them all to the buffer after sorting so you still get the benefit of the batching but also the benefits of the sorting.
Breakdown of efficiency improvements (+) and places where efficiency is hurt (-):
+submit now is doing much less (unless creating the struct and storing it in the vector is more costly than writing to the vector).
-flush is doing a lot more than just the draw call to render the buffer.
-sorting the vector will take some time.
-we are now doing all of the batching that was done each submission all in the flush method.
+draw calls (the things that take up the most time) have been drastically reduced and in my opinion should far outweigh the small inefficiencies stated above as they are all things that if they were to bring your engine to it's knees show a larger underlying problem.
I hope I was able to help.

Because 2D rendering doesn't define a canonical order (and, typically, requires fairly complex, order dependent alpha compositing), BatchRenderer provides a strict ordering guarantee in the form of submission order. The system is designed to perform well, even given that the input data isn't going to be optimal.


Enforce C89 compliance

This PR imposes strict C89 compliance when Vim is built with GCC, as well as adding necessary flags to enable C89 support for compilers that require it (the AC_PROG_CC -> AC_PROG_CC_C89 change).
I specifically didn't try to cover every way that someone could build Vim since I think this change is primarily useful as a sanity check for pull requests.  This also fixes the two current problems that were found by building with the changes.
However, this PR does reliably cause two of the mac builds on Travis to fail.  I don't have access to a mac nor do I see an obvious reason why these changes should lead to the test failure that happening:
From test_alot.vim:

Found errors in Test_popup_and_window_resize():

Caught exception in Test_popup_and_window_resize(): WaitFor() timed out after 1000 msec @ function RunTheTest[38]..Test_popup_and_window_resize[25]..WaitFor, line 25

Maybe @nuko8 or someone else with a mac can help look into this?

@jamessan
Seems like use of _POSIX_C_SOURCE prevents macOS from selecting correct API for Vim to be compiled properly on that OS.
This was indicated by the failure of the detection of libc.h, which exists in /usr/include, when the proposed configure script was run on the OS.
Apparently, _POSIX_C_SOURCE doesn't allow it to use u-prefixed integer types such as u_long.
So, before looking into the reason why the test fails, I tried fixing it:
diff --git a/src/configure.ac b/src/configure.ac
index d400ea02f..5e976f10a 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -139,7 +139,7 @@ AC_MSG_CHECKING([for Darwin (Mac OS X)])
 if test "`(uname) 2>/dev/null`" = Darwin; then
   AC_MSG_RESULT(yes)
   MACOS_X=yes
-  CPPFLAGS="$CPPFLAGS -DMACOS_X"
+  CPPFLAGS="$CPPFLAGS -D_DARWIN_C_SOURCE -DMACOS_X"

   AC_MSG_CHECKING(--disable-darwin argument)
   AC_ARG_ENABLE(darwin,

With _DARWIN_C_SOURCE, the mentioned unsigned integer types are defined regardless of whatever the value of _POSIX_C_SOURCE is.
Although that patch was primarily made for fixing the detection failure, it also let the test pass for me.

Thanks, @nuko8!  That does seem to fix it.

Codecov Report

Merging #2735 into master will decrease coverage by <.01%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##           master    #2735      +/-   ##
==========================================
- Coverage      75%   74.99%   -0.01%
==========================================
  Files          92       92
  Lines      134149   134154       +5
==========================================
- Hits       100614   100610       -4
- Misses      33535    33544       +9

Impacted Files
Coverage Δ

src/if_python3.c
74.86% <ø> (ø)
:arrow_up:

src/channel.c
82.75% <100%> (ø)
:arrow_up:

src/gui_gtk_x11.c
47.68% <75%> (ø)
:arrow_up:

src/pty.c
50% <0%> (-5.56%)
:arrow_down:

src/ex_cmds.c
79.39% <0%> (-0.23%)
:arrow_down:

src/if_py_both.h
76.59% <0%> (ø)
:arrow_up:

src/os_unix.c
54.52% <0%> (+0.04%)
:arrow_up:

src/if_xcmdsrv.c
84.17% <0%> (+0.17%)
:arrow_up:

Continue to review full report at Codecov.

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

@jamessan
Then, I have one thing to report to you.
Builds on macOS with -W-Wimplicit-function-declaration give
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE -DMACOS_X -DMACOS_X_DARWIN  -Wimplicit-function-declaration -ansi -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
os_unix.c:606:14: warning: implicit declaration of function 'getpagesize'
      [-Wimplicit-function-declaration]
                                            ) * getpagesize();
                                                ^
1 warning generated.

This is due to the way getpagesize() is declared on macOS (unistd.h):
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
int	 getdtablesize(void) __POSIX_C_DEPRECATED(199506L);
int	 getpagesize(void) __pure2 __POSIX_C_DEPRECATED(199506L);
char	*getpass(const char *) __POSIX_C_DEPRECATED(199506L);
#endif

Since the value of _POSIX_C_SOURCE of this PR is 200809L, the declaration is made invisible to os_unix.c for the case.
Although this kind of warning usually implies that invalid memory access is likely to happen at runtime,  this particular warning can be safely ignored because of the fact that getpagesize() is of type int (*)(void).   So one possible way to fix it would be to literally ignore it using #pragma just like os_macosx.m does.  But if there's any cleaner way (e.g., use of a function superseding getpagesize(), if any), I prefer it.
@ichizok , any idea?

On, my mistake, I didn't check getpagesize() was already legacy.
It probably should use sysconf(_SC_PAGESIZE).

--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -603,7 +603,7 @@ mch_total_mem(int special UNUSED)
 #  ifdef MAC_OS_X_VERSION_10_9
                                            + vm_stat.compressor_page_count
 #  endif
-                                           ) * getpagesize();
+                                           ) * sysconf(_SC_PAGESIZE);
        mach_port_deallocate(mach_task_self(), host);
     }
 # endif

@ichizok
Thanks.  I confirm that the patch above fixes the current issue regarding getpagesize().  (Personally, I think that is worth an independent PR, but, of course, it's up to you.)

Thank you for confirmation. I created: https://github.com/vim/vim/pull/2741

This breaks on FreeBSD (and I suspect all the other BSDs) for the same reason as the DARWIN_C_SOURCE problem: the u types are no longer defined. The _DARWIN_C_SOURCE kludge won't work here.
--- objects/os_unix.o ---
In file included from os_unix.c:2811:
In file included from /usr/include/sys/acl.h:41:
In file included from /usr/include/vm/uma.h:40:
In file included from /usr/include/sys/malloc.h:40:
/usr/include/sys/_lock.h:36:2: error: unknown type name 'u_int'
        u_int   lo_flags;
        ^
/usr/include/sys/_lock.h:37:2: error: unknown type name 'u_int'
        u_int   lo_data;                /* General class specific data. */
        ^
In file included from os_unix.c:2811:
In file included from /usr/include/sys/acl.h:41:
In file included from /usr/include/vm/uma.h:40:
/usr/include/sys/malloc.h:96:2: error: unknown type name 'u_char'; did you mean 'char'?
        u_char          mti_zone;
        ^
/usr/include/sys/malloc.h:107:2: error: unknown type name 'u_long'; did you mean 'long'?
        u_long           ks_magic;      /* Detect programmer error. */
        ^
os_unix.c:3595:21: error: use of undeclared identifier 'ONLCR'
        if (keys.c_oflag & ONLCR)
                           ^
5 errors generated.
*** [objects/os_unix.o] Error code 1

make[3]: stopped in /wrkdirs/usr/ports/editors/vim/work/vim-8.0.1709/src

Adam Weinberger wrote:

This breaks on FreeBSD (and I suspect all the other BSDs) for the same reason as the DARWIN_C_SOURCE problem: the u types are no longer defined. The _DARWIN_C_SOURCE kludge won't work here.
--- objects/os_unix.o ---
In file included from os_unix.c:2811:
In file included from /usr/include/sys/acl.h:41:
In file included from /usr/include/vm/uma.h:40:
In file included from /usr/include/sys/malloc.h:40:
/usr/include/sys/_lock.h:36:2: error: unknown type name 'u_int'
        u_int   lo_flags;
        ^
/usr/include/sys/_lock.h:37:2: error: unknown type name 'u_int'
        u_int   lo_data;                /* General class specific data. */
        ^
In file included from os_unix.c:2811:
In file included from /usr/include/sys/acl.h:41:
In file included from /usr/include/vm/uma.h:40:
/usr/include/sys/malloc.h:96:2: error: unknown type name 'u_char'; did you mean 'char'?
        u_char          mti_zone;
        ^
/usr/include/sys/malloc.h:107:2: error: unknown type name 'u_long'; did you mean 'long'?
        u_long           ks_magic;      /* Detect programmer error. */
        ^
os_unix.c:3595:21: error: use of undeclared identifier 'ONLCR'
        if (keys.c_oflag & ONLCR)
                           ^
5 errors generated.
*** [objects/os_unix.o] Error code 1

make[3]: stopped in /wrkdirs/usr/ports/editors/vim/work/vim-8.0.1709/src

Is this a problem with adding "-ansi" or the other change?
--
hundred-and-one symptoms of being an internet addict:
176. You lie, even to user-friends, about how long you were online yesterday.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

It's the other change, I think. I get the same result with -ansi removed.

8.0.1709 has broken MacVim.

Adam Weinberger wrote:

It's the other change, I think. I get the same result with -ansi removed.

Can you propose a way to check that this doesn't work?
Perhaps an AC_COMPILE check that fails?
--
Rule #1: Don't give somebody a tool that he's going to hurt himself with.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


#39 Add remote commands processing

Make possibility to trigger rebalance and restart by calling special methods of bubuku.

@antban is it possible to have a command to stop rebalancing? In case it's buggy or doing something that harms the infrastructure.

@rcillo Right now it's not, but nothing stops us of doing this

:shipit:


fix(doc): server_configuration for css_variables

I was scrolling through server configurations searching for css_variables and I saw this problem:

You can check it out css_variables

So I made the change to look like this:

Snippet to enable the language server:
require'lspconfig'.css_variables.setup{}

edit source lua file please


Disable unstable JS _show ETag test

The full discussion is in #559, but here is a summary.
Through instrumentation of ddoc_cache and ets_lru I suspect that this is
caused by cache eviction happening after the second GET. While I didn't
instrument exactly where the GET occurs it's clear that it's fairly
late, certainly after the PUT 201 is returned, and likely after the
subsequent GET actually reads from ddoc_cache.
After applying a change to allow me to completely disable the ddoc_cache
(-ddoc_cache max_objects 0 in vm.args) I ran the test on a loop
overnight, and the test never failed (>1000 executions). Previously the
test would fail every 20-30 executions.
TL;DR: we can't guarantee immediate ddoc_cache eviction on a ddoc
update, even for a single .couch file on a single node. (For obvious
reasons we definitely can't guarantee this in a cluster configuration.)
I will document this as a backwards compatibility change in 2.0 and
forward with a separate checkin to couchdb-documentation.
Thanks to @rnewson @janl and @davisp for helping track this one down!
This checkin also includes an improvement to the output when a JS test
fails a notEquals assertion.
Closes #559

Pre-approved by @janl and @davisp in #559. Rebasing and merging now.