Invalid Carbon date from unixtimestamp in milliseconds working with eloquent models

Laravel Version: 6.8
PHP Version: 7.2
Database Driver & Version:

Description:
Invalid Carbon date from unixtimestamp in milliseconds.
if I add value<PHONE_NUMBER>123 to $model property date like updated_at, I will get wrong date:
2007-04-23 01:18:43.0 UTC
but correct date is
2020-01-07 10:42:19.123 UTC
Steps To Reproduce:
$user = new User();
$user->updated_at =<PHONE_NUMBER>123;
dd($user->updated_at);

Suggestion to fix:
in method Illuminate\Database\Eloquent\Concerns\HasAttributes.php:asDateTime()
after line 792
add checking like
define(UNIX_TIMESTAMP_MILLI_SEC_DIGITS_LENGTH, 13);

if (is_numeric($value)) {
            if(strlen((string)$value) === UNIX_TIMESTAMP_MILLI_SEC_DIGITS_LENGTH) {
                return Date::createFromTimestampMs($value);
            }
            return Date::createFromTimestamp($value);
        }

I think a better solution would be to have a way to explicitly indicate that your want millisecond timestamps, especially if you want to import historical data from before 2001.

I don't think it's meant to work like this. Use a DateTime or Carbon object to set the timestamps instead.

Make sense, but what's reason allow to use unixtimestamp with seconds and doesnt allow with milliseconds. I mean below works correctly
$user = new User();
$user->updated_at =<PHONE_NUMBER>;
dd($user->updated_at);

Could you explain, please?


Replace zsh completion for 'docker volume create --name' by 'docker v…

ref. #23830
ping @albers bash completion
Signed-off-by: Steve Durrheimer<EMAIL_ADDRESS>

LGTM :cat:

LGTM

@tiborvass marked as process/cherry-pick

This is for 1.13, so removed cherry pick label


Hooks running twice with versions 2.99.0 and 3.1.0

Hooks running twice.
Steps to Reproduce

I have hooks.rb file with Before and After hooks.
_Before do
@start_time = Time.now
end

After do
duration = Time.now - @start_time
end_

When I run a scenario, 'Before' hook line '@start_time = Time.now' runs twice. Same with After hook.

Environment
Versions I tried:

cucumber gem versions 2.99.0 and 3.1.0
jruby 9.1.15 and 9.1.16

Are you requiring the hooks file manually somewhere like env?


XDG menu

Is your feature request related to a problem? Please describe.
The Launcher module is great for frequently accessed programs but right now ironbar doesn't provide a solution to infrequently used programs that you don't want cluttering the bar all the time. You mentioned in https://github.com/JakeStanger/ironbar/issues/194 that you don't really want to embed a rofi-like menu (like KDE does) but would you be open to a customizable XDG menu sort of like XFCE?

Describe the solution you'd like
The interface would be something like:
 - type: menu
   xdg_menu: true
   before:
   - label: Run Program
     action: "wofi --show drun"
   - label: Terminal
     action: "xterm"
   after:
   - label: logout
     action: "wlogout"

Describe alternatives you've considered
I've thought about building something with the custom modules but you can't dynamically decide which GTK elements are present.
Additional context
I'd be willing to contribute the module to ironbar if the idea is acceptable.

I think this is acceptable because it's fairly light and stays within the confines of the bar. My main concern with a rofi-style launcher is that quickly becomes its own project, with its own set of modules and own logic and own window etc etc. A simple menu can just grab the data it needs and render and leave it at that.
What is the idea of the xdg_menu option. Would it just display the before/after options with that off? I also think start and end would be preferable to keep in line with the existing config terms.
If you're willing to take this on yourself, go for it!

I've thought about building something with the custom modules but you can't dynamically decide which GTK elements are present.

Yet ;)
(I still think this is a good native module regardless)

What is the idea of the xdg_menu option. Would it just display the before/after options with that off?

Exactly. I figure some people might just want a menu with various options in it.

FWIW I think KDE provides a good model for a restrained launcher where the text entry is basically just a search of the existing menu. A launcher doesn't have to evolve into a full extensible anyrun style thing (and those two things can co-exist).

I think there is possible utility in that, but it's potentially limited. Why use a menu like that over anyrun and the likes? What does it bring to the table that a runner doesn't, and how do we keep the scope under control?
I'm not against it, but as it would take quite a bit more work (to both develop and support), I think it needs to be properly thought out, planned and justified.

As an update: I have a very rough POC at https://github.com/ClaireNeveu/ironbar/tree/menu-widget. Been slowly picking away at it over the last month and after more polish and cleanup I'll put it up for review.

Thanks for the update, I've had a very brief scan of the code and it's looking good so far.

@JakeStanger I'm planning to implement a Grab so I can close and reset the menu when someone clicks outside of it. Since ironbar uses a single centralized popup I'll need to edit it at that level. Is it ok with you for all popups to close when clicked outside of or will I need to build an API to pass events to the individual modules to decide their behavior?

Good question. It's something I've been considering in the back of my mind for a while.
The current close-on-mouse-leave solution is good enough in most cases, but imperfect, and also likely not everybody's preference. It would therefore be nice to have a close-on-click behaviour as an option, but I wouldn't want it to replace the current behaviour.
If it were an option, I'd probably define it at the bar level. I guess it wouldn't be much work from there to add it to CommonConfig to allow for overriding per-widget, or let a widget natively decide its close behaviour. I'd want to keep things as consistent as possible though.
What is the reason for wanting to to be close-on-click? Is it just because the current mouse-leave behaviour makes for bad UX with this style menu?

@JakeStanger Mainly that it's bad UX and bad accessibility for a menu.

Cool, I think that's a good enough reason :)
I may be over-engineering this so feel free to suggest an alternative, but here's the scenario in my head:

The default behaviour can be set at the top-level (or bar level?). If unset, this defaults to hover to keep the current behaviour.
Modules can specify an override (in code) to say "this should use close-on-click, even if hover is set as the global default".
Ideally, CommonConfig provides an option to override that override, so it's never hard-coded.

The last point, I think is probably a stretch goal of sorts and isn't needed, but would round things out. I assume there'll be someone somewhere who'd want the option?
How does that sound? If you want me to take some/all of that on let me know too, as I appreciate the scope is growing a bit here.

That sounds good. I think I'll deliver the initial menu without that change and then circle back to add it just to keep the scope down.

Perfect, sounds great.
You can use info.bar_position, and that has an orientation method on it if you haven't found that yet btw.

Here's the current menu, btw. I did find info.bar_position but in order to work correctly we also need to know if the module is in start, center, or end.
If you have a vertical bar with the menu in start then you want all the menus to line up at the top but if it's in end then you want them to line up on the bottom. Any other behavior will cause the main menu to jump around if you open a sub-menu with more items.

Ah okay that makes sense. info.location should cover that.
Looking good too!


Remove IF EXISTS/IF NOT EXISTS from influxql language

fixes #7065
Removes keywords IF, NOT, and EXISTS.

[x] Rebased/mergable

[x] Tests pass

[x] CHANGELOG.md updated

[x] InfluxQL Spec updated

👍  besides the spelling comment that @jsternberg made.

LGTM 👍


filter objects

A proposal for filtering objects.

I like this overall, but wonder if the callback should accept (value, key, obj)

I like this overall, but wonder if the callback should accept (value, key, obj)

No.
we have mapObj and mapObjIndexed for those separate concerns

I'm with @buzzdecafe on this.

I don't think the Object is needed to make a decision in the predicate function, though it would make it potentially useful to include both the Key and the Value in the parameter list:
(a -> String -> Boolean) -> {String: a} -> {String: a}

Otherwise to filter an object based on the keys, you'd have to something a little clunkier such as:
var secondEq42 = R.compose(R.eq('fortytwo'), R.nthArg(1))
R.compose(R.filterObj(R.identity), R.mapObjIndexed(secondEq42))

Rather than:
var secondEq42 = R.compose(R.eq('fortytwo'), R.nthArg(1))
R.filterObj(secondEq42)

That's probably enough reason not to do this.  But I wonder if we carried an analogy too far when we created mapObj and mapObjIndexed.  There are good reasons for map, filter, etc. not to carry the extra parameters.  Such functions have real meanings that extend beyond finite lists, to data structures for which there are no indices and possibly extend to systems for which there aren't even obvious objects to pass as a third parameter.  But mapObj doesn't have these concerns.  At least as far as I can see, there are no obvious extensions to other structures.
I suppose the old point about things like parseInt is reason enough for this, along with a slightly worn argument about consistency.  But I still feel as though if we're adding filterObj, we would probably also want the API of filterObjIndexed.  I guess I was just hoping for a two-for-one.

From the discussion and issue #993 I conclude it is a good thing to create filterObjIndexed too. I'm curious for insights in the remark in #993 why the results of e.g. filter and propBy still have a reference to the original array/object.

@donnut If you're asking why filter and pickBy don't do some sort of deep cloning, then my answer is that we shouldn't ever be doing that unless specifically asked to do so.  We should care about value equality and not reference equality and act as though our users are working with immutable data as much as possible.  Obviously if we're asked to do something that is mutation-like (assoc, dissoc, merge, etc.) then we need to do some sort of cloning in order to not mutate user data, but otherwise we can use references wherever possible.
Or did I misunderstand your question?

i don't see any compelling reason to deep clone when filtering.

If deep cloning had no performance/memory penalty I suppose you would prefer functions like filter, pickBy and filterObj to create a new arrays or objects without any reference to the original. Am I correct?

@donnut: No, the point is that we should never care.  If, as a user, I'm working with immutable data, then I see no reason to clone it when passing it around and don't want to pay the memory price for two copies of the same thing.  If I'm not and expect to mutate my objects, then I might object if a library instead passes clones of them where I think I'm getting references.
I simply see no advantage to doing a clone.  Am I missing something?

Cloning should really be treated the same way as regular filter right? If I have an array of objects and do filter on them, are they / should they be cloned? I see no reason for it.

@CrossEye I agree that cloning when filtering an object or array prevents users from working with mutable data and that is something that javascript developers won't expect and thus not wanted. When working with an immutable object I assume that it, well, doesn't mutate, whatever happens with it during filter, mapping, or whatever. And the good thing is that it isn't! I guess the 'problem' I have is that immutable objects and arrays in javascript just don't exist and save guards agains the effects of mutation (a referenced object is mutated too) are to costly, are not expected and are not wanted in many cases.
@TheLudd

Cloning should really be treated the same way as regular filter right?

When filtering an array, the array is not cloned, so it is not handled the same. Is that what you mean?
In the current proposal of filterObj I included baseCopy and a test to 'prove' the filtered object was not referencing the original object. I'll remove that and send in a new pr. Shall I also make filterObjIndexed while I'm at it?

R.pickBy should be deprecated as part of this change. It would be confusing to have two very similar functions with very different names.

@davidchambers Yes, filterObj and filterObjIndexed makes pickBy redundant. Should I add
* @deprecated since v0.14.0
after the two new functions are accepted?

or pickBy makes filterObjIndexed unnecessary. pickBy is a much better name

Should I add
* @deprecated since v0.14.0
after the two new functions are accepted?

You could update this pull request to include this note.

or pickBy makes filterObjIndexed unnecessary. pickBy is a much better name

Are you suggesting we have both R.pickBy and R.filterObj?

As much as I agree that pickBy is the better name, and it does contribute to certain consistencies within the library  (xxx /  xxxBy), I think there is a stronger sense of the [map|filter|reduce|mapObj] / [map|filter|reduce|mapObj]Indexed pairing.  Moreover, filterObjIndexed adds a feature not found in the current pickBy, namely the full object parameter to the callback function.  As usual, I don't think that's often useful, but we supply it in the other similar functions, so I think it belongs here.
So I think it's time to deprecate pickBy.

I added the deprecated warning in pickBy, although I'm not sure everybody agrees. Please let me know if this is ok, otherwise I'm happy to change it.

Please git rebase master. :)

done, with help of @TheLudd!

in light of #1061 what is the status of this one? FWIW, I am still strongly :-1: on the name filterObjIndexed. Much better is pickBy. Much, much better.

I'm fine with pickBy. The whole idea of filterObj started off with me overseeing 'pickBy. Closing this PR.


Negative values

Added support for negative values. Not recommended for stacked Bar or Area charts.

https://www.loom.com/share/90f6334161ac4d55a4782962bb6060f5


Update functions-reference-node.md

Fix a typo in copy

@maximivanov : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks for the typo fix @maximivanov


Please Add SRT export or download button

Please Add SRT export or download button on huggingface demo. Thanks

Hey, I was working on this but have found a bug in the library.
The bug is causing the timestamp to not be a round number.
We could fix it here (temporarily), but I have raised a bug there.
It's best to let them comment on the bug raised before I continue.

Thanks @PushpenderSaini0!

The bug in the library was fixed.
You can assign this bug to me , i will finish up my work and send a PR.


Lefletjs sample for custom template dialog

Can someone help how to use leafletjs with this platform, I have to show map in custom template dialog to pickup latlong and return selected latlong from child dialog to Editor
Is there any way how I can use L.Map in MyDialog.ts file to init map?
Thanks for your time.

Hi @infiycloud ,
for the embedding of your custom map javascript library you can have a look at this official serenity demo: https://serenity.is/demo/BasicSamples/ChartInDialog#.
In your xyzDialog.ts you can add two public fields before the constructor - like this:
public latitude: number = 0;
public longitude: number = 0;

Now create your leaflet object and attach an event handler to it (see documentation of leadlet.js at https://leafletjs.com/examples/quick-start/):
var myThis = this;
function onMapClick(e) {
		myThis.latitude =e.latlng[0];
		myThis.longiitude =e.latlng[1];
}

@JohnRanger
I've tested it by Open Street Map and it worked well.

Hi @infiycloud ,
this would make up a nice wiki entry. Would you mind to share your working implementation so others could benefit from it? :-)
Wiki is here: https://github.com/volkanceylan/Serenity/wiki
With kind regards,
John

@JohnRanger
For leaflet.js , I used MapBox access-token to download tiles of maps.
Anyone can Sign Up in MapBox and take his/her own access-token to render MapBox tiles.


Return the URLResponse for chunks(for:delegate:)

Change the chunks(for:delegate:) methods to return a tuple of (AsyncThrowingDataChunks, URLResponse) so it is a drop in replacement for bytes(for:delegate:). This means it is now async.
I've left the original versions in but made them internal, so that the URL extension can use them. They're useful if you want a non-asynchronous version, but the matching names makes them awkward to use in an asynchronous context as
func parseChunks(url: URL) async throws {
    let chunkStream = urlsession.chunks(for:url)
    for try await chunk in chunkStream {
    }
}

will cause a compiler error as it thinks the code should be using the async version of chunks(for:delegate:)
I'm not sure if they should be public, but with a different name to indicate their synchronous nature more.

Thanks so much for this! Sorry it took me a while to have a look.
I think you are right to be unsure about functions that differ only in async-ness. I don't think there is typically a good enough reason to keep that as it is almost always confusing.
No worries though, we can think about that later!


Perform SDN setup when switching between Flat and Multitenant plugins

Currently in the flat/multi-tenant setup scripts, setup_required() is same in both the cases and this causes the user to explicitly delete the lbr0 bridge when switching between flat and multi-tenant plugins and vice versa.
Enhance setup_required() in both the plugins to detect setup requirement when user switches between the plugins.

This is a broad issue, and somewhat talked about here: https://github.com/openshift/origin/issues/3940
We need to split the setup file anyway to accommodate docker daemon restarting vs OVS rules.

Fixed in https://github.com/openshift/openshift-sdn/pull/181


Addition of true-peak conformance tests to the test suite

True-peak tests are only run if the libebur128 has been built with speexdsp.
To be used with ebu loudness test set v4

Thank you!


Eve optimizer using loss value

I think we can use Eve without loss function.
To do so, we just pass the loss value like this: optimizer.update(loss=loss_value).
Here, I use **kwds.

Thanks for your PR. Could you resolve the conflicts first?
I still don't see the benefit for having loss argument in addition to lossfun, because you can pass your precomputed loss  by update(lossfun=lambda: loss). Could you elaborate on that?

Thank you for your reply.
I misunderstood your implementation about passing loss value.
now, there's no benefit for having another argument except for explicitness of passing loss variable or loss function.


chore: removed moment and added dayjs

🚨 Proposed changes
Migrated to dayjs.
close https://github.com/immobiliare/backstage-plugin-gitlab/issues/13
⚙ Types of changes
What types of changes does your code introduce? Put an x in the boxes that apply

[ ] New feature (non-breaking change which adds functionality)
[x] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Refactor

:tada: This PR is included in version 1.1.0-next.2 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: add WindowedReader

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
PLEASE DO NOT LEAVE THIS EMPTY !!!
Please explain IN DETAIL what the changes are in this PR and why they are needed:

Summarize your change (mandatory)
How does this PR work? Need a brief introduction for the changed logic (optional)
Describe clearly one logical change and avoid lazy messages (optional)
Describe any limitations of the current code (optional)

Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

@v0y4g3r Please add some description for this PR.


tabs everywhere

:yum:

https://github.com/plusacht/ember-bootstrap-datetimepicker/commit/e71941523dc9ec3413e132c18b682b2df746d800
:blush:


Wiki Stakeholder Access

This page has conflicting information under Stakeholder wiki access > Private projects.
The first paragraph reads: "Users with Stakeholder access in a private project can read project wiki pages"
The second reads "Stakeholders have zero access to read or edit code wiki pages in private projects"
I think the split should be to do with provisioned vs published wikis?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c86f5178-e331-f45e-b60a-f0f3955f7a08
Version Independent ID: 8a0882a7-8f48-32bb-c741-12976b428c38
Content: Manage permissions for READMEs and wiki pages - Azure DevOps
Content Source: docs/project/wiki/manage-readme-wiki-permissions.md
Product: devops
Technology: devops-collab
GitHub Login: @chcomley
Microsoft Alias: chcomley

Hi @simondmorias, Thanks for your feedback! I've created a work item on my backlog to address this. Once the update goes live, this issue will automatically close. Thanks again!


ID of staticman comments section not sufficiently unique

The staticman comments section has the ID #comments which isn't really unique, given that kramdown automatically generates IDs from headlines.  Specifically, any "Comments" headline would also generate the ID #comments.
I hit this when I added staticman to my blog which has an article about syntax highlighting which talks about source code comments in a section named, well, "Comments".
I solved the issue for my blog by prefixing the IDs generated by Kramdown, but I think the ID of the comments should be more unique nonetheless, e.g. minimal-mistakes-staticman-comments or so… just something that's less likely to conflict with a header ID.

Good catch. I'll have to double check by pretty sure I'm not using #comments anywhere so it could easily be removed from the <section> element.

Fixed in https://github.com/anbuchelva/anbuchelva.github.io/commit/1f7bd64c1389e86817de0cd6dbcf778fd8c9bc27 and will be in the next release of MM


PeriodSum tests and implementation

Implements PeriodSums with functionality for PeriodSums that contain SimplePeriods and PeriodSums

Corrected for PR comments

I have no idea why it would not let me compile with that expression before - it should be fixed now!


Unify logging cflib backend

This unify the logging between the cpp and python backend of the crazyflie server. Instead of creating one topic per log variable, it now makes one topic per log group based on the LogDataGeneric msg in crazyswarm2 to reduce overhead. See the discussion here: #56
For now it is in draft as I forgot my crazyflies at the office and working from home today 😅 So I'll test it out next week!

Good I tested it as I found some more problems as well. That is why I always want to try it on a real crazyflie 😅 Anyway, if there is nothing else I can merge this!

Yeah, feel free to merge!


Saving last success video

What it's the actual situation on ARA ?
Video is saved when NRT fail.
Describe the solution you'd like
To unterstand while some NRT failled,  I would like to see the video of a NRT last success.
Today, we would like to compare the last success result to the fail result.
The reason is when a feature is broken after several months, we can forget the good behaviour.
Describe alternatives you've considered
Additional context

Hi @GeoffreyBoulay
Thx for remaking the issue :D I'll close the other one ;)
dktsni

Duplicated with #225


GNOME HDR

Can DXVK_HDR be made to work with GNOME's experimental Rec. 2020 PQ HDR mode? I was wondering if I could force DXVK to display in HDR even if the colors were not completely correct. Just asking if it could be done today because knowing GNOME, a proper solution could take a few years.

Not really on its own, without Gamescope you'd always be having 8bpc, and be missing the swapchain formats that allow DXVK, and such to expose full support to the game. You'd also be missing the EDID/metadata stuff for the game to read.
I recommend switching to KDE Plasma or using a Gamescope DRM session if you want to use HDR.


Add a custom help command and paginator

The help command from d.py is somewhat ugly, and in order to convert it to embeds, a paginator is needed. A paginator will also be needed in a few other places, such as the subscriptions cog.

Unstale

-_-


intent/compose & line break

Steps to Reproduce
I'm trying to have 2 lines, like this when I prepare a message https://bsky.app/intent/compose?text=
line1
line2

But on Windows & Mac doens't have the same behavior.
On Windows
✅
 https://bsky.app/intent/compose?text=line1
line2
line1
line2

❌ \n https://bsky.app/intent/compose?text=line1
line2
line1 line2

✅
\n https://bsky.app/intent/compose?text=line1

line2
line1
line2

On Mac
❌
 https://bsky.app/intent/compose?text=line1
line2
line1
line2

✅ \n https://bsky.app/intent/compose?text=line1
line2
line1
line2

❌
\n https://bsky.app/intent/compose?text=line1

line2
line1

line2

Attachments
No response
What platform(s) does this occur on?
Web (Desktop)
Device Info
Windows & Mac
What version of the app are you using?
Build version: 1.92.1; Bundle info: dfbfcdd (prod); Bundle date: 24110420; Platform: web
Additional Information
Like to https://github.com/jycouet/jyc.dev/issues/2

For me \n does not work in mac.
 does 🤔
Although
 does not work when it's being shared to mobile app

I tried to use
 but actually while being well displayed on the message. It does not submit properly.
This URL: https://bsky.app/intent/compose?text=Just solved the %23AdventOfPBT puzzle made by https%3A%2F%2Ffast-check.dev%2F

👉 Join the challenge%3A https%3A%2F%2Ffast-check.dev%2Fblog%2F2024%2F12%2F02%2Fadvent-of-pbt-day-2%2F
Appears nicely in the message prompt:

But the final message is:

Maybe time to ding into this... It's kinda annoying :D

https://github.com/bluesky-social/social-app/blob/b806f3e85dbf64220a90c602ffbadd58252347ee/src/lib/hooks/useIntentHandler.ts#L56 here is where the text is received... But I don't know why/how it's behaving differently 🤔


Networking Guide

Simplified Networking Guide, based on the old Network polyfill doc.
This guide strongly recommends using fetch, while still informing the user about React Native's support for other libraries.
In order to provide an actual working networking example, a movies.json file is added at the root of the site, allowing the user to fetch a small blob of JSON:
fetch('http://facebook.github.io/react-native/movies.json')

By analyzing the blame information on this pull request, we identified @grgmo and @alexkrolick to be potential reviewers.

Your paragraph on websocket seems a bit redundant. Do you think it would be worth adding a little bit of sample code to it, or does that link explain things sufficiently?

The second, redundant sentence was unintentional. Just removed it.
The original doc did have some sample code for WebSocket that I removed. I think it makes sense to add back at least one of those code blocks, and link elsewhere if the reader wants to learn more.

Alright, reworking things a bit and added back some code samples.

@facebook-github-bot shipit


Use vector logo for header

Emailed Coulter.

Vector logo acquired. Updating ticket title to reflect what actually needs done.


Unable to access X.509 client certificates

Before the most recent version change, it was possible to access the underlying transport, and extract the X.509 client certificates from it.
Now, there is is Io<Sealed> type, which is also used by the IoBoxed type (which is being used by the Mqtt implementation). However, there seems to be no way to get access to the certificates.
The way to acquire them differs between rustls and openssl, so previously we had a trait to abstract this, and added the trait to all requirements of the Io type parameter.
I guess the new way would be to implement a Filter::query method to retrieve the certificates. And the TlsServerFilter should provide an implementation which returns them.

Sorry, I guess that issue should have gone to the ntex repository, rather the examples.
I also did find out that this seems to be supported, the way described, using openssl. As I am using rustls the situation is a bit different.

rustls support is added


refactor!: use sqlalchemy

Change the local database code to use sqlalchemy 2.0 rather than the following:

databases
ormar
ormar-postgres-extensions
pydantic

This drops the above dependencies, in addition to psycopg2 as migrations have been changed to use an async sqlalchemy engine rather than a sync engine.
This needs extensive testing before deployment in production. Though honestly, with the amount of bugs that were in the previous implementation, having a few bugs there would still be less than there used to be! :^)

This has been deployed on the new beta bot: https://discord.com/oauth2/authorize?client_id=1082552330836246528&scope=bot+applications.commands&permissions=395204488384

This has been deployed on the new beta bot: https://discord.com/oauth2/authorize?client_id=1082552330836246528&scope=bot+applications.commands&permissions=395204488384

Going to deploy this tomorrow to the main bot, bar any major bugs from being discovered.


When I search for different accounts, the balance updates but the trx history shows the first searched account still.

Closing as duplicate of https://github.com/telosnetwork/teloscan/issues/46


the package was deprecated unexpectedly?

I think only 1.3.0~1.4.1 is deprecated, but seems the package was deprecated unexpectedly.
it cause the package cannot be searched in npm.

and, v1.4.2 was not published. :-

Sorry looks like I forgot to publish 1.4.2, just did it now.
Now it should work again right?
Searching on npm works for me. The deprecation notice is still there, but I'm wondering if that one is just cached and will be updated after some time.

works for me. thx for the quick fixing!

The deprecation notice on npm now also disappeared, so it should be fixed. Thanks for opening the issue!


no minuses in audit common proj name bucket - add regex validation - for now avoid _-

https://github.com/GoogleCloudPlatform/pbmm-on-gcp-onboarding/blob/main/environments/common/common.auto.tfvars#L64

20240406: Closing issue during retrofit/rebase of this TEF V1 based/modified repo to TEF V4 standards
This issue may participate in the LZ refactor after rebase
Query on all issues related to the older V1 version via the tag
https://github.com/GoogleCloudPlatform/pbmm-on-gcp-onboarding/labels/2024-pre-tef-v4


Fix the logic for checking valid dates and tests

Fix the issue where invalid birthdays in the future is only checked against whether it is in future year or not, so the same year but future month will still be valid even if it is not
Fix the tests that test if the date is in the future with relative dates instead of static ones as the tests will fail once that date is reached
Fix #199

Thanks. You can leave my feature to me next time.


Fix Issue #6301 causing tilemap collisions to fail.

Please do not update the README or Change Log, we will do this when we merge your PR.
This PR (delete as applicable)

Fixes a bug

Describe the changes below:
Check specifically if snapToFloor is undefined, vs. false. Reverting a change made earlier, in order to fix a bug with tile map collisions.
This is related to issue #6301

👍


Build warnings in Mac OS and Node v12 (development)

Version
2.6.11
Reproduction link
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
Steps to reproduce
On Mac OS Catalina (and probably prior versions), with Node v12 installed, follow the developer build instructions:

Clone the repository
Run yarn

What is expected?
Successful report from yarn that all dependencies have been installed, with no warnings or errors
What is actually happening?
The following warning, followed by a slew of details (errors) concerning fsevents and one of its dependencies, nan
warning Error running install script for optional dependency: "/Users/mark/dev/vue/node_modules/fsevents: Command failed.

Dev dependency installation works fine with Node v10. I think I understand the problem and am curious about the right solution.
Vue currently specifies webpack 4.x and karma 3.x as devDependencies, both of which ultimately bring in chokidar 2.x, which lists fsevents 1.2.x as an optional dependency.
Old fsevents is really the problem, in two ways:

It references entities that have been removed in Node 12.x (e.g. v8::Handle; see https://github.com/fsevents/fsevents/blob/v1.2.2/fsevents.cc#L89)
It relies on nan 2.9.x, which also references deprecated/removed entities from the v8 API (e.g. isNearDeath). Newer versions of nan have addressed this issue.

I imagine the easiest solution, assuming nothing else breaks, would be to update the karma and webpack dependencies to some minimal viable version that does away with reliance on these older libs without breaking other expectations. In the meantime, we could also put a note in the build instructions for Mac users noting that they may need to move down to Node v10 if they want to avoid this problem. I understand that this might be obvious to some audience that intends to pitch in with Vue development in the first place, but it might help some.

Contribution welcome to update the minimal dependencies in package.json (without committing changes to yarn.lock) so the project works on Node.js 12

@posva  i can take this up ,please guide me what needs to be updated

@ArjunDandagi unless @posva  thinks otherwise, I believe the two deps that need to be bumped up (due to their own indirect deps on old fsevents) are webpack and karma


indexer table partitioning

Problem
This is an implement issue for #849.
Solution
Create new schema for partitioning tables. Implement a data migration scheme to copy data from old tables to the new ones.
Dependencies
#894

performance test results, https://docs.google.com/document/d/12SyAiPosjL59YOGOdIvZms_luPjCxiAsQSdeexBf66s/edit?usp=sharing


Please enable iOS and iPadOS support.

Is your feature request related to a problem? Please describe.
This plugin is not supported on iOS and iPadOS.
Describe the solution you'd like
Please enable the plugin support for iOS and iPadOS.

Unfortunately, I don't think it will ever be possible to support iOS/iPadOS. On both of those operating systems, apps are sandboxed, meaning an app cannot reach in and access the data of another app. My personal workflow is that I keep Obsidian desktop and mobile synced, so even though it only works on desktop, your data is still synced to mobile. I know that workflow doesn't work for everyone, but sadly its the best workaround I can provide.
I can leave this issue open, but sadly it won't get fixed.


HasField, ClearField, WhichOneof are stringly typed - mypy doesn't catch issues

def ClearField(self, field_name: Text) -> None: ...
def WhichOneof(self, oneof_group) -> Optional[Text]: ...

We could type these more strongly in mypy-protobuf using Literal, which would only allow valid field names.
Eg.
Union[Literal["field1"], Literal["field2"]]

Currently, if we try this in mypy-protobuf, we get errors of the format
dropbox/proto/nucleus/types_pb2.pyi:40: error: Argument 1 of "HasField" incompatible with supertype "Message"

however, I confirmed if we either

remove HasField from the supertype
mark the supertype as Any rather than Text

then mypy-protobuf can provide better typing on the specific instances of Message
I'll propose (1) to typeshed under the argument that you can't usefully call HasField on a Message without some additional knowledge of the real type.
This proposal would prevent a duck-typey use case
Message1 {
   a,
   b,
}
Message2 {
   b,
   c,
}

if m.HasField("b"):
    quack(b)

But if a caller is trying to ducktype, they could work around this by requiring m to be typed with a more specific protocol type.
For most cases, forcing HasField to be a literal will be better.

What is "stringly typed"?

Also I guess we're going for (2) after all?

HasField takes in a string to represent the name of the field. The api itself isn't conducive to a strong typing guarantee. mypy-protobuf can do the best it can by typing the argument as
Union[Literal["a"], Literal["b"]...
Stringly typed is a bit of a trope https://www.techopedia.com/definition/31876/stringly-typed
Also yes - went w/ strategy 2, because I realized that strategy 1 would not be compatible and might break existing usages. I should have updated the thread after realizing that!

I'm seeing lots of errors while using mypy 1.10 which seem to be tied to this change. When we build fresh protos and pyi files, mypy starts to fail with a pile of errors of the form
error: Argument 1 of "ClearField" incompatible with supertype "Message"
for every ClearField and HasField method. Downgrading to mypy 1.8 makes the issue go away. Is this an expected behavior change, and is there some change in the call syntax expected, or is something broken?

Hi. mypy-protobuf 1.10 (versions separately from mypy) relies on some
changes to typeshed which requires you to use the master branch of mypy.
I can try to document this more clearly. 1.9 or 1.8 should be fine with the
latest released mypy
Thanks!!
On Thu, Mar 14, 2019 at 3:04 PM zunger-humu<EMAIL_ADDRESS>wrote:

I'm seeing lots of errors while using mypy 1.10 which seem to be tied to
this change. When we build fresh protos and pyi files, mypy starts to fail
with a pile of errors of the form
error: Argument 1 of "ClearField" incompatible with supertype "Message"
for every ClearField and HasField method. Downgrading to mypy 1.8 makes
the issue go away. Is this an expected behavior change, and is there some
change in the call syntax expected, or is something broken?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/dropbox/mypy-protobuf/issues/62#issuecomment-473015690,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPXo5OJzl-2ZnWGlg6bsZjzrUcdFnmAks5vWp0pgaJpZM4bIKLL
.

You're making a release depending on unreleased mypy? Isn't it better to wait?

One option would be to explicitly document that mypy-protobuf depends on the latest master of mypy. This would make more sense if they were under rapid development, but I think at this point, it'll be better to transition to a model where we wait for mypy to release (as ikonst suggests).
I spoke w/ mypy folks and it appears there will be a new release cut soon, so in this case, I'll just wait for the next release, but in the future, we'll look to apply more rigor to the versioning.


The input [sslMode] is invalid

the SSL mode is being provided by clowder in the database config settings, however this field is not supported and the error message
The input [sslMode] is invalid

Can be seen when attempting to load Clowder configuration that includes this sslMode key.

fixed with #26


Responsiveness improvements

For some reason the touch controls go all over the shop on mobile

Langenium #49 - Responsiveness

Fixed positions of controls
Debugging why the HUD lines continue to be drawn wrong, I'm not accounting for the address bar somehow
Looks like I need to implement a new technique called env() safe area  insets as per<EMAIL_ADDRESS>

Langenium #49 - Responsiveness

Checking if the new env variables affect this, not 100% sure.. it looks like everything starts further up?
Inspecting the DOM, the webgl canvas is twice the size it should be? Investigating.

Looks like view width and view height are deprecated in favour of dynamic view width and view height.

The original problems seem to be fixed now, ready to merge
Released PR #52


can't install plugin

Please tell me, I'm trying to install https://tagmanager.google.com/gallery/#/owners/gtm-server/templates/json-http-request-tag via the "add to workspace" button, but I'm offered to go in and download from its templates, but it is not in the templates. How can I download it? If uploading manually I have a problem as described here https://github.com/stape-io/json-http-request-tag/issues/1

Yes, problem exactly the same you try to use this template with GTM Web container, but it for GTM Server Side container type. You can't use sGTM templates for GTM Web container.


not work ! services not restart when been killed

i pull the latest code from master and build it
here is the configuration i used
command = "top -b"
working-directory = "/tmp/"
start-delay = "0s"
[restart]
strategy = "always"

then i run horust and kill the top process , waiting ... but i found that the top do not restart

Thanks for this report! It's omitted from your report, but I was able to reproduce by sending a SIGKILL signal. For this scenario, exit status 137 is sent to the parent and the code handler is a little bit different and currently missing (provided in upcoming fix PR).


goCQL driver accepts wrong case datacenter which disables lwt partition routing optimization

Please answer these questions before submitting your issue. Thanks!
ScyllaDB 2024.1.4
goCQL v1.14.1
When data center in schema is lower case and goCQL is passed an uppercase dc, lwt routing optimization is lost.
Eg.
cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(gocql.DCAwareRoundRobinPolicy("DC1"))
I recommend you set it as this:
cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(gocql.DCAwareRoundRobinPolicy("dc1"))
goCQL should error with incorrect data center name.
cc: @hopugop can you attach the reproducer please.

@mykaul what's "high" here?
To issue an ERROR message when the DC name isn't correct?

@sylwiaszunejko let's start by understanding what other drivers do and why gocql swallows it or fallback to this kind of behavior (could be that someone asked for it).

For my tests I created a 3-node cluster in a DC named datacenter1.
Here's the reproducer:
package main

import (
	"context"
	"fmt"
	"log"
	"github.com/gocql/gocql"
)

func main() {
	cluster := gocql.NewCluster("localhost:9042")

        // Correct datacenter name, should work as expected - routes LWT to the primary replica.
	//cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(gocql.DCAwareRoundRobinPolicy("datacenter1"))

        // Incorrect case, will fallback to route LWTs to all replicas.
	cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(gocql.DCAwareRoundRobinPolicy("DaTaCeNtEr1"))

	session, err := cluster.CreateSession()
	defer session.Close()

	ctx := context.Background()
	session.Query("create keyspace example with replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 }").WithContext(ctx).Exec()
	session.Query("create table example.my_lwt_table(pk int, ck int, value text, PRIMARY KEY(pk,ck))").WithContext(ctx).Exec()

	for i := 1; i <= 10000; i++ { // 10k is enough to see impact on metrics over several seconds
		m := make(map[string]interface{})
                // Send all writes to partition "1", but different CKs.
		applied, err := session.Query("INSERT INTO example.my_lwt_table (pk, ck, value) VALUES (?, ?, ?) IF NOT EXISTS", 1, i, "a").WithContext(ctx).MapScanCAS(m)
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(i, applied, m)
	}
}

@pdbossman do I understand correctly that you want the driver to check id the dc passed to the policy exists in the cluster? I checked in other drivers (python-driver, rust driver, java-driver 4.x) and I can't find any checking like that. I guess every driver assumes that the user will pass the dc in the correct case.

In the original issue, someone claimed that with Python driver it immediately fails with an error.

@roydahan Could you provide error message? I cannot find this part of the code

No one provided the error message.
Best would be to try quickly reproduce it with Python driver and see it.

OK, I see. In python-driver it will fail, but not because the dc name provided is wrong, but because in python-driver there is an additional field in the DCAwareRoundRobinPolicy named used_hosts_per_remote_dc and it is 0 by default, so if there is no hosts in the local dc (it is because the name is wrong) the driver cannot contact any node so the request will fail. But if we use different number e.g. TokenAwarePolicy(DCAwareRoundRobinPolicy("WRONG_DC", used_hosts_per_remote_dc=3)) everything will work as in gocql.
In java-driver 4.x there is also similar mechanism as in python-driver, there is a field usedHostsPerRemoteDc so if it is set to 0, request will fail but not because of the wrong dc.
In rust driver there is permit_dc_failover option in the DefaultPolicy. If it is set to true driver can use replicas in dcs other than local. By default it is false.
So rather than checking if the dc is correct we need some kind of control over the use of remote dcs.

The behavior that was most undesirable was the loss of lwt optimized routing.  This resulted in extremely high contention and it was very difficult to identify the cause.  In addition, monitoring was displaying the dc as upper case data center, while the data center was defined as lower case in the schema.

@sylwiaszunejko - the regretful default behavior should be not to connect to the DC, if the DC name is different than entered. Let's make sure this is the case.

@sylwiaszunejko - the regretful default behavior should be not to connect to the DC, if the DC name is different than entered. Let's make sure this is the case.

After your comments here https://github.com/scylladb/gocql/pull/202 I thought that you agree that by default the driver should use remote hosts if there is no host available in the DC provided, now I am confused to be honest.
Or do you mean we should add checking if the DC name provided is present in the cluster even though there is no such check in any other driver?

@sylwiaszunejko - the regretful default behavior should be not to connect to the DC, if the DC name is different than entered. Let's make sure this is the case.

After your comments here #202 I thought that you agree that by default the driver should use remote hosts if there is no host available in the DC provided, now I am confused to be honest.
Or do you mean we should add checking if the DC name provided is present in the cluster even though there is no such check in any other driver?

Indeed, the latter. It's a configuration error that should be caught immediately and fixed by the user.
Other drivers might need fixes as well.

Even if we choose to do this enhancement of checking the DC name, it should be a new RFE, cross drivers that should start a discussion and identify possible corners we don't think of.
I think that the current PR should be merged as is, without changing the default and possibly breaking availability for current users.

I think this was fixed by https://github.com/scylladb/gocql/pull/206


(IE browser specific) Getting HTML editor value as empty on click of submit button

I am using Reactive forms in angular 4 where i have used this editor component. On chrome browser it is working fine, but on IE browser after entering the value in HTML editor and then click on Submit button getting it's value as empty.

@v2amruta This Editor doesn't support IE

Thank you for your feedback.


Selection highlight disappears when RichTextBlockOverflow context flyout is showing

Open up XAML Controls Gallery.
Navigate to Text > RichTextBlock.
Scroll down to "A RichTextBlock with overflow".
Select text using a mouse in one of the two RichTextBlockOverflow sections.
Right-click to open the context flyout.

Expected: The selection highlight remains visible when the context flyout is open.
Actual: The selection highlight disappears until the context flyout closes.
This only repros for RichTextBlockOverflow; if you right-click on the RichTextBlock, the selection highlight stays visible as normal.

Note that, strangely, this seems reversed when selecting text using touch: RichTextBlockOverflow is the only place where the selection shows with RichTextBlocks; the selection disappears when text is selected in RichTextBlock instead.

Hmm, never mind that last comment - I see it disappear with RichTextBlockOverflow as well with touch selection.  Seems inconsistently displayed just in general in that case.


Bumps examples/cloud script versions.

And some more master->main renaming.
Verified with imagenet example that everything works.

Replaces #1472

Codecov Report

Merging #1477 (a6780b6) into main (5c677ea) will increase coverage by 0.10%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1477      +/-   ##
==========================================
+ Coverage   82.27%   82.38%   +0.10%
==========================================
  Files          65       65
  Lines        5332     5359      +27
==========================================
+ Hits         4387     4415      +28
+ Misses        945      944       -1

Impacted Files
Coverage Δ

flax/core/frozen_dict.py
96.19% <0.00%> (-1.69%)
:arrow_down:

flax/linen/linear.py
98.38% <0.00%> (-1.06%)
:arrow_down:

flax/training/checkpoints.py
98.46% <0.00%> (+0.08%)
:arrow_up:

flax/serialization.py
93.20% <0.00%> (+3.14%)
: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 5c677ea...a6780b6. Read the comment docs.


Change flake8 noqa to ruff noqa

What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

Current dependencies on/for this PR:

master

PR #14212

PR #14213

PR #14214

PR #14215

PR #14216

PR #14223   👈

This comment was auto-generated by Graphite.


Implement ClickHouse storage and refactor data processing

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#33  👈
#32
#31
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @iuwqyir and the rest of your teammates on  Graphite


Rebooting server doesn't automatically bring WG up

Manually setting up WG for Ubuntu I run "sudo systemctl enable wg-quick@wg0" so that WG always comes back up automatically after a reboot of the server, is it possible to include this with your install script?

This should be already implemented as seen here: https://github.com/wg-dashboard/wg-dashboard/blob/master/install_script.sh#L107

@LaurenceMillward did you set up the dashboard via our automated setup or manually? The dashboard itself does not ensure that the service is enabled.


chore(main): release 1.0.1

:robot: I have created a release beep boop
1.0.1 (2023-04-21)
Bug Fixes

give actions the proper credentials to upload binaries (a361b57)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Brend-Smits/retrieve-github-sbom-action/releases/tag/v1.0.1 :sunflower:


feat: [kubelet/cAdvisor metrics package] add NodeMonitoring ScrapeConfig logic

All changes are in types.go and types_test.go. The rest of the files are generated via make regen
types.go changes:

Modify NodeMonitoring CRD - Created the new NodeScrapeEndpoint that only has fields relevant to scraping nodes.
Add functions needed to support NodeMonitoring

types_test.go changes:

Add selector to TestPodMonitoring_ScrapeConfig and TestClusterPodMonitoring_ScrapeConfig since relabelingsForSelector was modified.
Added a tests to validate and create NodeMonitoring Scrape configs.

A future PR will refactor ScrapeConfig functions for readability.

Let us know once it's rdy for a second review iteration @macxamin ! 💪🏽

Let us know once it's rdy for a second review iteration @macxamin ! 💪🏽

@bwplotka Ready!


Change FSCalendar frame

I found it’s impossible to change FSCalendar frame on the fly, if I change FSCalendar().frame size after initialization — nothing happens, I’ve tried numerous ways, but no luck.
My main goal is to resize frame on screen rotation / keyboard appears etc (I want to control it manually, not via autolayout).
// `calendarView` - container view for FSCalendar, `calendarView.calendar` - FSCalendar
override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    let random = arc4random_uniform(300) + 100

    var newCalendarFrame = calendarView.calendar.frame
    newCalendarFrame.size.height = CGFloat(random)
    calendarView.calendar.frame = newCalendarFrame

    calendarView.setNeedsLayout()
    calendarView.layoutIfNeeded()

    calendarView.calendar.setNeedsLayout()
    calendarView.calendar.layoutIfNeeded()
}

After running that code FSCalendar view itself changes size (white background), but subview with text doesn’t change.

you can try calendarView.clipsToBounds = true

Same thing here, cannot resize a calendar on screen rotation. The calendar is resized properly but its subviews are not - so in my case they are clipped. I hope it will be eventually possible to make it stretch and shrink to fill superview.


Find non-reachable expression in prioritized choice

For this simple example, the neq rule will never match because lt will always match first and so the rule comparison will succeed and > will not be matched. We could find a way to statically analyse such situation and report the error to the user.
comparison = le / lt / ge / gt / eq / neq
lt = "<" spacing
le = "<=" spacing
gt = ">" spacing
ge = ">=" spacing
eq = "==" spacing
neq = "<>" spacing

Such an analysis can draw some inspiration in the FIRST/FOLLOW analysis of LL(1) grammar. An optimization could be to detect such LL(1) cases and to optimize the code accordingly (using match instead of nested if, and avoiding backtracking in this case: it would also improve the error reporting since we do not the try the other (not relevant) alternatives).

A first draft has been wrote by Chao Lin & William Sergeant. See unreachable_rule.rs.


[CELEBORN-649][BUILD] Speed up make-distribution.sh

What changes were proposed in this pull request?
This PR aims to improve build/make-distribution.sh by

skip building javadoc and source artifacts
skip building unnecessary modules
allow skipping client modules

Why are the changes needed?
Speed up the packaging process.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Tested with
build/make-distribution.sh

build/make-distribution.sh -Pspark-3.3

build/make-distribution.sh -Pflink-1.17

@zwangsheng this one also benefits your K8s integration tests

Thanks, merged to main/0.3


Fix insert random cards prefix

Att.

Funny enough, this is an annoyance I've been meaning to come back to, but I don't think the solution is to add extra event handlers but to wrap the whole thing in a form. With the Settings API, it's not clear to me how I should do that in a "blessed" way, so I posted a question on the forum about it. We'll see what they suggest.

If you're willing to update this, it looks like the suggested method is to use modal#scope: https://github.com/obsidianmd/obsidian-releases/pull/2389#issuecomment-1747649426 to capture the enter key press and submit the modal. Do you want to try giving that a shot?

Thank you so much for the fix!


Upgrade to JDK 17

Issue

Fixes #1909, Fixes #1899, Closes #1652
This pull request includes several updates to the GitHub Actions workflows and Maven configuration files to modernize the Java version and improve the build process. The most important changes include upgrading the Java version, modifying the Maven build commands, and updating dependencies.
Change

⬆ Min JDK version has been upgraded to 17
🗿 Hardening: run mvn process-test-classes javadocs:aggregate on ALL modules to verify that code compiles before running integraiton tests
💄 Reformat maven commands to multiline to fit on a screen
Rename GoogleAiGeminiTokenizerTest to GoogleAiGeminiTokenizerIT
Upgrade graalvm and Oracle image
Run tests on every build, run integraiton tests only on langchain4j/langchain4j repo

This pull request includes several updates to the GitHub workflows and various project files to modernize the build environment and improve testing processes. The most important changes include updating the Java Development Kit (JDK) versions, modifying Maven commands for better readability and functionality, and renaming test classes for consistency.
Updates to GitHub Workflows:

JDK Version Updates:

.github/workflows/javadoc.yaml: Updated from JDK 8 to JDK 17 and changed the distribution to 'temurin'.
.github/workflows/main.yaml: Removed JDK 8 and 11, now only using JDK 17 and 21. [1] [2]
.github/workflows/nightly.yaml: Removed JDK 8 and 11, now only using JDK 17 and 21. [1] [2]

Maven Command Enhancements:

.github/workflows/receive-pr.yml: Reformatted Maven command for better readability.
.github/workflows/release.yaml: Reformatted Maven command for better readability and maintainability.
.github/workflows/release_core_and_parent.yaml: Reformatted Maven command for better readability.
.github/workflows/snapshot_release.yaml: Reformatted Maven command for better readability.
.github/workflows/snapshot_release_core_and_parent.yaml: Reformatted Maven command for better readability.

Project File Updates:

Dependency and Property Updates:

code-execution-engines/langchain4j-code-execution-engine-graalvm-polyglot/pom.xml: Updated GraalVM version from 23.1.1 to 24.1.0.
langchain4j-parent/pom.xml: Updated Maven compiler plugin version to 3.13.0 and removed Java 11+ profile. [1] [2] [3]

Test Class Renaming:

langchain4j-google-ai-gemini/src/test/java/dev/langchain4j/model/googleai/GoogleAiGeminiTokenizerIT.java: Renamed from GoogleAiGeminiTokenizerTest.java to follow integration test naming conventions.

Miscellaneous Fixes:

langchain4j-oracle/src/test/java/dev/langchain4j/store/embedding/oracle/CommonTestOperations.java: Added a constant for the Oracle image name and updated container startup and connect timeouts. [1] [2] [3]
langchain4j-qdrant/src/test/java/dev/langchain4j/store/embedding/qdrant/QdrantFilterConverterTest.java: Corrected assertions for better readability. [1] [2] [3] [4]

General checklist

[x] There are no breaking changes
[ ] I have added unit and integration tests for my change
[ ] I have manually run all the unit and integration tests in the module I have added/changed, and they are all green
[x] I have manually run all the unit and integration tests in the core and main modules, and they are all green

[ ] I have added/updated the documentation
[ ] I have added an example in the examples repo (only for "big" features)
[ ] I have added/updated Spring Boot starter(s) (if applicable)

Checklist for adding new maven module

[ ] I have added my new module in the root pom.xml and langchain4j-bom/pom.xml

Checklist for adding new embedding store integration

[ ] I have added a {NameOfIntegration}EmbeddingStoreIT that extends from either EmbeddingStoreIT or EmbeddingStoreWithFilteringIT
[ ] I have added a {NameOfIntegration}EmbeddingStoreRemovalIT that extends from EmbeddingStoreWithRemovalIT

Checklist for changing existing embedding store integration

[ ] I have manually verified that the {NameOfIntegration}EmbeddingStore works correctly with the data persisted using the latest released version of LangChain4j

@langchain4j , integration tests were failing due to missing credentials :(
OpenAiChatModelIT.<init>:53 » IllegalArgument openAiApiKey cannot be null or empty. API keys can be generated here: https://platform.openai.com/account/api-keys

@kpavlov it seems that  nightly build is failing due to some of the recent changes. Could you please take a look? Thank you!

Sorry, @langchain4j , #1961 should fix the thing. JLama was failing under JDK 17


"Random" slow queries

We have issues with "randomly" slow queries on a single arango instance. We use batch for document multi-fetch and multi-update. We also have some document fetch/update as you can see below with HTTP methods.
On 1 706 066 queries :
1704929 http status 200
1021 http status 202
116 http status 404
62421 "GET" (document fetch)
1642624 "POST" (batch request)
1021 "PUT" (document update)
Our average request time is 15 ms.
190 queries are slow (> 3 seconds) :
33 "GET"
157 "POST"
All "slow" requests are 200
We didn't care about slow POST as it may update/fetch thousand docs and they are running on async daemon. But the 33 GET didn't match our < 3 seconds requirements.
Things we tried :
We tried to disable stats => no effect
Decresse GET (divided by 2) by removing GET on collection => no effect
Increase scheduler threads to 24 => no effect
Increase javascript v8-contexts to 16 => no effect
We are using arango 2.8.7 without replication: only one server.
Attached files are :
Arangodb conf file:  arangod.conf.txt
Slow queries request logs: all-slow-requests.txt
Request log extract when slow queries occured: requests-slow-event.txt

What is your environment? (e.g. Mac OS X 10.11, 8 GB RAM, 128 GB SSD)
I assume waitForSync is set to false (default)?

Linux SMP Debian 3.2.73-2+deb7u2 x86_64 GNU/Linux
Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
32 Go RAM
Debian 7.10
RAID 1 1To SATA 7200 rpm
Wait For Sync to false
Here are our documents collection info

253736 document(s)

I would like to share this graphic with you. Did you have e. g. some other metrics from the host to correlate these with your slow queries?

Unfortunately no system metrics can be correlated with these slow queries.
Furthermore, by studying requests log file, as you can see below we notice that slow HTTP requests are random (unable to correlate with system metrics, specific arango threads or particular data...)
2016-05-05T13:27:54.txt
arangodb datas are saved on a dedicated XFS partition

How about to increase logging to see what happens before the 3secs queries?

Sorry for the delay,
We don't notice anything special,
except batch requests (POST _api/batch) during the period we see some slow GET requests (> 3s)
Do you think it would be interesting to replace these batch requests by individual POST requests ?
requests.log extract

I forgot to mention that our arangodb instance host : 8 databases with 1 document collection for each database

@baaum can you upgrade to jessie w/ back ported kernel or upgrade to the back ported 3.16 kernel?

@baaum @petitchevalroux did you investigated it further or found the cause?

@baslr
we upgraded to arango new version without major improvement.
we removed our batch queries and read timeout mostly disappeared.
At the moment, we only have small amounts of PATCH timeout but it's ok for our use case.


MacOs Dockerfile failed on NO_PUBKEY 4F4EA0AAE5267A6C

Sail Version
latest
Laravel Version
10.x
PHP Version
8.x
Operating System
macOS
OS Version
14.3
Description
When I run
docker-compose up -d
docker build failed on error
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F4EA0AAE5267A6C
Steps To Reproduce
Create new example app using sail.
and you will get
`failed to solve: process "/bin/sh -c apt-get update     && mkdir -p /etc/apt/keyrings     && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils librsvg2-bin fswatch     && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null     && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ppa_ondrej_php.list     && apt-get update     && apt-get install -y php8.3-cli php8.3-dev        php8.3-pgsql php8.3-sqlite3 php8.3-gd        php8.3-curl        php8.3-imap php8.3-mysql php8.3-mbstring        php8.3-xml php8.3-zip php8.3-bcmath php8.3-soap        php8.3-intl php8.3-readline        php8.3-ldap        php8.3-msgpack php8.3-igbinary php8.3-redis php8.3-swoole        php8.3-memcached php8.3-pcov php8.3-imagick php8.3-xdebug     && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer     && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg     && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list     && apt-get update     && apt-get install -y nodejs     && npm install -g npm     && npm install -g pnpm     && npm install -g bun     && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /etc/apt/keyrings/yarn.gpg >/dev/null     && echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list     && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null     && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list     && apt-get update     && apt-get install -y yarn     && apt-get install -y mysql-client     && apt-get install -y postgresql-client-$POSTGRES_VERSION     && apt-get -y autoremove     && apt-get clean     && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*" did not complete successfully: exit code: 100
`

I fix it when manually add to Dockerfile
 && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E5267A6C && apt update \ after row
&& apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils librsvg2-bin \
This issue is same for all version of php 8.x

Thanks. Right now we don't have widespread reports of anything going wrong for PHP ^8.0 on macOS with Sail so I suspect this is a temporary hiccup or something specific for your use case. Please try a support channel:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC


Add support for SSL certificates in io/api

Add support to io/api to allow setting the SSL certificate for the requests HTTP GET/POST operations.
In the situation where solarforecastarbiter must be run from behind a HTTP proxy (e.g. due to corporate firewall/network restrictions), it can be necessary to provide a SSL certificate to requests operations (e.g. requests.get(<params>, vertify="some_certificate.crt") instead of requests.get(<params>)). I'm not sure about the exact implementation, but this should just require revisions to the io/api to allow a user to call the functions with an optional specified SSL certificate filepath (e.g. api.request_cli_access_token(username, password, sslcert="some_certificate.crt")).
Note: I did get this working as a proof-of-concept by hacking around in io/api and adding verify="some_certificate.cr" to all the requests.get() and requests.post() calls. Not ideal, but it works.

@dplarson thanks for the report. Your solution seems reasonable. I wonder if we'll need to support more keyword arguments for other network issues, in which case maybe passing generic **kwargs could be a way forward.
It looks like in your case an alternative is to set the REQUESTS_CA_BUNDLE environment variable: https://requests.readthedocs.io/en/master/user/advanced/#ssl-cert-verification

Yeah, maybe **kwargs to all the request methods with appropriate documentation.
Should also update the APISession documentation since it is a requests.Session and the `APISession.verify = '/path/to/cert' should work as well.
https://requests.readthedocs.io/en/master/api/#sessionapi

I've confirmed that defining the REQUESTS_CA_BUNDLE env var (with no changes to the the requests calls in io/api) is sufficient for solving my issue:
> export REQUESTS_CA_BUNDLE=/path/to/custom/certificate.crt
> python script_that_uses_io_api.py

But before closing this issue: would it beneficial to add a note to the io/api docstrings about using REQUESTS_CA_BUNDLE? Or do you think the existence of this issue is sufficient given that this is (likely) an issue affecting a small number of users (with myself being the only confirmed case so far)?

The overlap of people using the python API to get/post data and corporate firewalls is probably pretty small, but I expect it to come up again when it's in wider use. It wouldn't surprise me if users at national labs hit this a few times. So I do think it would be beneficial to add something to the docs.
Maybe add info to the APISession docstring here and/or the SFA API section of api.rst.
I think it's preferable if we can get by with relying on the established requests patterns of letting users set environment variables and/or attributes of APISession, rather than adding **kwargs to every method.

Agreed on documentation being preferable to adding **kwargs to each method. I'll open a PR to add the documentation changes.

I also agree, with the one exception of io.api.request_cli_access_token. I think it is worth adding the **kwargs there since it uses a bare request vs a session. The env variable would still work, but good to have an option beyond that


issue with list of all ec2 instances in us-west-2

Give the default region name as us-west-2 and don't share your access and secret keys

hi teja
output format is json
please check once

please mention a valid output format
aws outpur format supported the following
1.json – The output is formatted as a JSON string.
2.yaml – The output is formatted as a YAML string. (Available in the AWS CLI version 2 only.)
3.text – The output is formatted as multiple lines of tab-separated string values. This can be useful to pass the output to a text processor, like grep, sed, or awk.
4..table – The output is formatted as a table using the characters +|- to form the cell borders. It typically presents the information in a "human-friendly" format that is much easier to read than the others, but not as programmatically useful.
choose which one you want don't mention other than this.

please mention a valid output format
aws outpur format supported the following
1.json – The output is formatted as a JSON string.
2.yaml – The output is formatted as a YAML string. (Available in the AWS CLI version 2 only.)
3.text – The output is formatted as multiple lines of tab-separated string values. This can be useful to pass the output to a text processor, like grep, sed, or awk.
4..table – The output is formatted as a table using the characters +|- to form the cell borders. It typically presents the information in a "human-friendly" format that is much easier to read than the others, but not as programmatically useful.
choose which one you want don't mention other than this.

Hi
Do you know how to submit challenges? Via Github and Via Slack

@Teja1213  Not a good idea to share your secret keys and access keys, if they are still active I would recommend removing the iam user
and your output-format is wrong as @srmanikanta  mentioned


Doesn't the name have the suffix ":latest"?

Depends on what tag is being used.

Ollama version? Update to the latest available.
System configuration? Logfile entries?

@phalexo

Doesn't the name have the suffix ":latest"?

No. It's not necessary to specify :latest if you want to use the default  (ie mixtral) and latest isn't appropriate if you are specifying another tag, like ":8x7b-text-v0.1-q6_K."

Ollama version? Update to the latest available.
System configuration? Logfile entries?

It works after upgrade ollama to 0.1.17

@yunfengsay fantastic! Sorry the error isn't clearer RE requiring an upgrade. Will improve this!


[259] add unit tests for LanguageController

I see that you have moved the "validator" package into "enums" package in service-api module. I guess it was accidentally.
So, please move it back.


Removed Bluejay in favor of a CoreBluetooth implementation

Created BleModule which will take the place of Bluejay for all Bluetooth interactions.
It implements a Queue of Operations which are run sequentially.
It takes the same time as Bluejay to perform actions like install an app to the device.
BleTransportProtocol remains the same (except than now we made PeripheralIdentifier public so DeviceIdentifier has been removed) so no major changes should be needed.

Actioned all Code Review items 👍

I was able to test this with Connect and noticed that if a device isn't already paired to my phone, it won't automatically request to pair. Is that intentional? It would be great if we could preserve that behavior.


Information displaying incorrectly

I am currently using wttr.in on a windows machine running PowerShell 5.1.19041.1645 and it seems the data for any location is displaying incorrectly. Would anyone be able to help? Screenshot is attached.
Note: This happens no matter what location I try.

There is a powershell example that uses "Invoke-RestMethod" vice curl.
For New Jersey airport I used EWR
Invoke-RestMethod https://wttr.in/ewr

@hcrooster96 What exactly is displayed incorrectly?
Do you mean the ANSI sequences in your terminal, that are printed instead of switch colors?
Or what exactly? As @RottenRonnie says, every should actually work fine, if the terminal is configured properly.
Do you need our help with configuration of your terminal? If yes, please provide more data.


[CVE-2021-43816] 7.33 branch (possibly others) uses old containerd library that includes a vulnerability

Security scans on the 7.33 versions of the agent show the following vulnerability
|             LIBRARY              | VULNERABILITY ID | SEVERITY | INSTALLED VERSION | FIXED VERSION |                 TITLE                 |
+----------------------------------+------------------+----------+-------------------+---------------+---------------------------------------+
| github.com/containerd/containerd | CVE-2021-43816   | CRITICAL | v1.5.7            | 1.5.9         | containerd: Unprivileged pod          |
|                                  |                  |          |                   |               | may bind mount any privileged         |
|                                  |                  |          |                   |               | regular file on disk...               |
|                                  |                  |          |                   |               | -->avd.aquasec.com/nvd/cve-2021-43816 |
+----------------------------------+------------------+----------+-------------------+---------------+---------------------------------------+

This dependency has been updated on the main branch, however the latest version of the agent (that I can see) 7.33.0 does not contain this fix

Hi, any idea when/if a fix is coming`?


Added auto-generated files to .gitignore

We should keep these out of version control since they're auto-generated.

Brilliant!
lgtm


PRs doesn't load on bigger screens

On OpenPR and StalePR pages we have infinite scroll implemented.
As the scroller hits the bottom page loads the next set of PRs.
This doesn't seem to work on bigger screens.

Please assign it to me


warp-ctc question

I'm trying to train the warp-ctc model for OCR.  It sounds like it has a lot of potential to be superior even to expensive commercial-based OCR.  I have a couple questions:

What results did you get from training the example Captcha images in your training script?  The best I get is ~1% accuracy after the 10 epochs specified in the script:

    2016-06-18 15:58:19,872 Epoch[9] Batch [9850]   Speed: 117.62 samples/sec   Train-Accuracy=0.011250
    2016-06-18 15:58:33,475 Epoch[9] Batch [9900]   Speed: 117.62 samples/sec   Train-Accuracy=0.009375
    2016-06-18 15:58:47,102 Epoch[9] Batch [9950]   Speed: 117.42 samples/sec   Train-Accuracy=0.008125
    2016-06-18 15:59:00,734 Epoch[9] Batch [10000]  Speed: 117.37 samples/sec   Train-Accuracy=0.010625
    2016-06-18 15:59:00,734 Epoch[9] Resetting Data Iterator
    2016-06-18 15:59:00,734 Epoch[9] Time cost=2725.628
    iter
    2016-06-18 16:03:31,963 Epoch[9] Validation-Accuracy=0.009469
    2016-06-18 16:03:31,974 Saved checkpoint to "ocr-0010.params"

Is there any way to make this faster?  Training on a CPU gives me ~117 samples per second, I switch it over to my GPU (GTX 980) and I still only get ~200 samples per second.  I tried multiple CPUs but that fails.

Have you solved this？ @mattndu    I have the same problem, btw my train_accuracy is 0.00 after 10 epochs (using the example script lstm_ocr.py).

i am titan x also ~200 samples per second,add batchsize can faster.But the effect is not obvious.And GPU occupancy rate is very low.
I think it's because of the dynamic generation captcha.If the pre generated is completed, it should be very fast.
@arestorres train_accuracy is need some luck,i am train 10 Epoch is 0., i am stop and restart train .2 Epoch train_accuracy  to 0.4..

@yajiedesign  thanks, i'll try it again...

@mattndu How can I run this example on CPU? when I run this example it occurs a problem
mxnet.base.MXNetError: [14:15:36] src/storage/storage.cc:43: Please compile with CUDA enabled
can u tell me how can i solve this problem? thanks very much

my  BATCH_SIZE is 320 and run the example on GTX980ti . Speed is about 410 samples/sec and after epoch0,train-accuracy = 0.37 .
@sinmaystar     Have U edit the contexts = [mx.context.cpu()]  ? Or maybe you should compile on CPU model.

File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 128, in init
self.font = core.getfont(font, size, index, encoding)
IOError: cannot open resource
It sounds like " self.captcha = ImageCaptcha(fonts=['./data/Xerox.ttf'])"  has a error
i dont know ..... because i cant find "./data/Xerox.ttf"
and i don't know which resource cannot open ..

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Docker/Dockershim deprecation: guidance on k3s moving away from Docker runtime

Is your feature request related to a problem? Please describe.
Kubernetes has recently taken the decision to migrate away from Docker runtime as of Kubernetes 1.20 (deprecation).
Some users/customers of k3s may be using Docker as their preferred runtime environment (I do).
Could it be possible to have a clear path and some documentation of what is necessary to get back onto containerd container runtime as it is provided by k3s please?
Describe the solution you'd like

Some for detailed step by step to migrate away from dockerd as container runtime
A dedicated documentation page explaining why, and how to migrate away from dockerd
Some early deprecation warning when installing k3s with dockerd as container runtime

Additional context

https://kubernetes.io/blog/2020/12/02/dockershim-faq/
https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/

Thank you very much.

The easiest way to migrate off would probably be to simply one-by-one drain your nodes and then restart them without the --docker flag. Once that's done you can stop/uninstall dockerd and clean up /var/lib/docker.

@brandond I currently have a single node (little bare metal single board computer). So, what would be a path forward in that scenario?
Thanks

@aureq same instructions. Note that this will (obviously) cause downtime on a single-node server as all your pods will be stopped during the transition from one runtime to another.

some  feedback here.
I did update k3s without the --docker install option. At restart, there was a lot of problems. Many pods were evicted due to DiskPressure and running out space (At that time, something appeared to be writing inside the pod and k8s wasn't happy about it).
Unfortunately, I used k3s-killall.sh which wipe all my pods (insert very sad face). That also wipe all my logs/evidences I had in my terminal screen. I didn't get a chance to try to fix the issues. Unfortunately, I wish I knew about kubectl drain and kubectl cordon commands before attempting this.
Weirdly enough, I redeployed all my pods with the upgraded Service declaration for k8s 1.19.3. So far, I haven't experienced any issues.
I think it would be worth for the k3s team to give some clearer guidance so the community doesn't get stranded like I was on Saturday.

The official statement from Rancher on dockershim deprecation is available here: https://support.rancher.com/hc/en-us/articles/360053308831
In case it isn't clear, switching container runtimes DOES SPECIFICALLY involve replacing all your pods. Draining and cordoning your nodes ahead of time is a good idea, but is not strictly necessary on a single-node system since the entire cluster goes down when you stop k3s. There is no 'converting' things over - the docker pods are stopped and deleted when you remove docker, and new containerd-based pods replace them.


updates to parser

Fixes many issues related to generics

wow, great work!
diff --git a/derive/src/parse.rs b/derive/src/parse.rs
index 42de5d2..67d8575 100644
--- a/derive/src/parse.rs
+++ b/derive/src/parse.rs
@@ -14,14 +14,14 @@ use alloc::{format, vec};

 use proc_macro::{Delimiter, Group, TokenStream, TokenTree};

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub struct Attribute {
     pub name: String,
     pub tokens: Vec<String>,
 }

 #[allow(dead_code)]
-#[derive(Debug, Copy, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Copy, Clone)]
 pub enum Visibility {
     Public,
     Crate,
@@ -29,12 +29,12 @@ pub enum Visibility {
     Private,
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub struct Lifetime {
     pub(crate) ident: String,
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub struct Field {
     pub attributes: Vec<Attribute>,
     pub vis: Visibility,
@@ -42,19 +42,19 @@ pub struct Field {
     pub ty: Type,
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub enum ConstValType {
     Value(isize),
     Named(Box<Type>),
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub enum FnType {
     Bare,
     Closure { reusable: bool, fn_mut: bool },
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub enum Category {
     Never,
     None,
@@ -96,7 +96,7 @@ pub enum Category {
 }

 #[allow(dead_code)]
-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub struct Type {
     pub ident: Category,
     pub wraps: Option<Vec<Type>>,
@@ -104,7 +104,7 @@ pub struct Type {
     pub as_other: Option<Box<Type>>,
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub enum Generic {
     ConstGeneric {
         name: String,
@@ -126,7 +126,7 @@ pub enum Generic {
     },
 }

-#[derive(Debug, Clone, PartialEq, Hash, Eq)]
+#[derive(Debug, Clone)]
 pub struct Struct {
     pub name: Option<String>,
     pub named: bool,
@@ -1481,25 +1481,13 @@ fn get_all_bounds<T: Iterator<Item = TokenTree> + Clone>(source: &mut Peekable<T
     for gen in ret.iter_mut() {
         match gen {
             Generic::Generic { bounds, .. } => {
-                *bounds = std::mem::take(bounds)
-                    .into_iter()
-                    .collect::<HashSet<_>>()
-                    .into_iter()
-                    .collect()
+                *bounds = std::mem::take(bounds);
             }
             Generic::Lifetime { bounds, .. } => {
-                *bounds = std::mem::take(bounds)
-                    .into_iter()
-                    .collect::<HashSet<_>>()
-                    .into_iter()
-                    .collect()
+                *bounds = std::mem::take(bounds);
             }
             Generic::WhereBounded { bounds, .. } => {
-                *bounds = std::mem::take(bounds)
-                    .into_iter()
-                    .collect::<HashSet<_>>()
-                    .into_iter()
-                    .collect()
+                *bounds = std::mem::take(bounds);
             }
             _ => (),
         }

<- is this collect() for de-duplication? removing those traits reduce compilation time by ~0.1s and reduce /target  space usage by 1M, also a bit less runtime allocations during the collect().
Also this   for gen in ret.iter_mut() { looks a little suspicios, is getting only the last value from ret an expected behavior?

You're correct, those were not needed so far as I can tell.

got it. So maybe we can avoid that ret variable at all and just add to the bounds right away while parsing? (I did not tried and not sure if this is possible)

@not-fl3 I was able to remove that bit also, it was indeed leftover


How to take codeshot in visual mode?

Hello, nice plugin. How can I take codeshot in visual mode?
I tried:

Select lines in visual mode
Run <,>lua require'code-shot'.shot()

But it takes screenshot of the whole file.
Also, could you provide a Codeshot command instead of having to type lua require'code-shot'.shot() ?

When you run the command, you probably came back to the normal mode. Try to bind the command to a key. And this plugin only works in mode v and V, not Ctrl+V.


Elasticsearch new template version support

Hello,
I am trying to use the latest version of go-elasticsearch to apply new verson of ES template:
{   "index_patterns": [     "client-products_*"   ],   "version": 1,   "template": {     "settings": {       "index": {         "number_of_shards": "15",         "number_of_replicas": "1",         "refresh_interval": "5s",         "max_ngram_diff": "10"       }, }
Elasticsearch returns an error:
2023/12/27 18:23:13 Put elastic serach template path [templates/client-product_template.json] 2023/12/27 18:23:13 [400 Bad Request] {"error":{"root_cause":[{"type":"parse_exception","reason":"request body is required"}],"type":"parse_exception","reason":"request body is required"},"status":400}
Is there any way to apply new version of template?

Hi @ps-rterzman could you share a snippet of code to highlight how you are trying to use the client to achieve that ?

Closing this without response.


ibazel continous testing build

It could be cool if it was possible to use https://github.com/bazelbuild/bazel-watcher to work on this project.
This currently appears to be broken; see https://github.com/bazelbuild/bazel-watcher/issues/641.

ibazel run //cli:enola -- server --model file:(pwd)/docs/use/library/model.yaml --httpPort=8080 would be cool (but NOK)


Exception monitoring

Overview

Track list of actions within the Executor.
On Exception:

Log the action list
Log the full exception stack trace
Log the current application state

Probably log in separate files under a directory or a .zip file.

Implemented


Provide way to get errors and warnings from parsing RDF files

pyomexmeta.RDF.from_file prints errors and warnings to stdout. To embed pyomexmeta into other programs, it would be helpful to be able to retrieve this in a structured way without having to capture and parse the stdout.

This behaviour actually comes from the redland libraries, the dependency libOmexMeta uses for creating and handling the RDF graphs. I suspect that changing this behaviour is possible but difficult since we'll have modify our copy of the dependency libraries. That is unless I've missed something obvious.

The ability to programmatically detect whether a document was successfully parsed seems essential to me. I captured the stdout to figure this out, but this would probably be a roadblock for others. This also won't work on Windows.
I see there are methods in libRDF and raptor to set log handlers. It seems to me that this can be used to capture warnings and errors so that its not necessary to collect stdout or bypass libomexmeta and work with librdf/raptor directly.
librdf_parser_set_error
https://librdf.org/docs/api/parser.html
raptor_world_set_log_handler
https://librdf.org/raptor/api/tutorial-parser-set-error-warning-handlers.html

I agree, these functions look promising. I'll look into it.

+1 for this functionality.

Implemented in 28528c8637969b77738dbe93f42c92c4d90833e3. See docs. Please reopen if something isn't working correctly.

I tried the example in the "Switching to the file logger" section. Nothing is saved to the log file.


Possibility to exclude paths / files within a project from a scan

Scenario:
I do have a repository with some huge files as test resources. Sometimes even binary files.
These result in ScanCode timeouts, when it tries to scans them.
The --skip-excluded CLI parameter currently only provides the possibility to exclude Packages and whole Projects.
See: https://github.com/oss-review-toolkit/ort/blob/14a22cba16320feda72c52640eea4229781500cb/scanner/src/main/kotlin/Scanner.kt#L96-L103
Possible solution:
Use the --ignore option from ScanCode to ignore the files specified via a pathExclude in .ort.yml if --skip-excluded is used for the ORT scanner.
For FossID it is already possible to exclude files from the Project: https://github.com/oss-review-toolkit/ort/pull/4976

To implement this correctly it is required that the exclude configuration is reflected in the stored scan result, to make sure that the returned scan result matches the excludes if they are changed. This might be already solved by the scanner configuration compatibility check in the scan storage, if the excludes are passed as an option to ScanCode, but this needs to be verified.

Open questions:

Should this apply only to projects or to packages as well?
Should this use path excludes or a new separate configuration?
Should this be implemented scanner specific (e.g. the --ignore option for ScanCode) or in a generic way (e.g. deleting files before scanning)?

Bosch will make a concrete suggestion for an implementation and propose it to the community.


How to make case-insensitive search for non-ascii characters?

Hello!
We have XamarinForms mobile app targeting Android, iOS and UWP, and one of our sqlite tables has 700 000 records.
Currently we use custom functions registered like
raw.sqlite3_create_function(_connection.Handle, "lower", 1, null, CustomSqliteFunctions.CustomLower), but performance of this is too bad on big amount of data.
Is it possible for you to make a build that supports ICU or is there any other workaround?
Thank you.

The last time I looked at ICU, it seemed like it would be a significant undertaking for me to incorporate it into my build system.  I'll give this another look, but I don't think it's likely I will want to support sqlite/ICU builds.
If you want to integrate your own build, I can provide some guidance on how to do this with SQLitePCL.raw.  But currently this is not a simple task.  I have been working on a v2 release, and using custom SQLite builds should be easier in v2.

Is it possible to use Sqlite provided by iOS or Android?
I have read that it supports ICU out of the box on Android API 21 and higher, not sure about iOS.
Thank you very much!

Android does not allow direct access to the SQLite library instance that is in the OS.  See my blog entry on that topic:
https://ericsink.com/entries/sqlite_android_n.html

Dupe of #146


Update dependencies

Previous PR is blocked because of vulnerabilities found by the OWASP dependency check plugin.
This PR updates the dependencies to resolve those issues.
One vulnerability has been suppressed (see comment on code changes).

There's another issue with the build, but this PR fixes the owasp dep check step. Merging.


as_json override no longer works for embedded documents

In a recent upgrade from Mongoid 2.3.4 to 2.4.5 I had a few specs start to fail and the root cause seems to be that my override of as_json doesn't seem to be working for embedded documents anymore.  I have the following monkey patch that overrides as_json:
module Mongoid
  module Document

    def as_json(options={})
      attrs = super(options)
      attrs["id"] = self.persisted? ? self._id : nil
      attrs
    end

  end
end

In Mongoid 2.3.4 my specs pass for this, but when I update to 2.4.5 they do not.  What's odd though, is that it looks like the root document still gets the proper treatment, just not the embedded ones.  Here's an example spec that fails:
describe "#project" do

  let(:account) { Factory.create(:account) }
  let(:project) { Factory.create(:project, :account_id => account.id) }

  before do
    controller.stub(:authorize_member_user! => true)
    controller.stub(:current_project => project)
  end

  it "returned JSON should include id property for project phases" do
    get :project, { :account_permalink => account.permalink, :project_permalink => project.permalink }
    json = JSON.parse(response.body)
    json["phases"].all? { |p| p["id"].present? }.should be_true
  end

end

It's not a good idea to monkey-patch Mongoid. I recommend overriding #as_json in each of your models.

How you should be doing what you're override does:
account.as_json(:methods => :id, :except => :_id)

I've adjusted for this code to work on embedded docs again.

Thanks, I appreciate the fix.  I agree this might not be the "best" way, but overriding as_json or serializable_hash in every single model that needs this behavior is a little cumbersome.  Is there a better way to achieve this behavior globally?

@thegrubbsian Put the code in a module, and include that module in every class.


upload bug

the uploader successfully receives the file but does not load the data.
{
"message": "You have successfully upload your data",
"detailed_message": "Please wait several minutes for Healthsites to load your data. We will send you an email if we have finished loading the data.",
"success": true
}
We need to know where the issue is so we can identify and fix the errors in the upload files.
https://staging.healthsites.io/
CSV file
https://docs.google.com/spreadsheets/d/1pRQPWR8s2fsJ5LPfebha1Nal6xnLwIOYVWVuXsrMr5A/edit?usp=sharing
JSON file
https://drive.google.com/drive/folders/0B5CAbAqCEH-VZTl5MGs0UGRYckU?usp=sharing

could you retest it with new form @markherringer ?

This ticket is already out of date, because the form has changed
We can open new ticket if the bug is still occured


Cannot find "textAlign" in this widget

Is there textAlign is available in this widget or any sort of similar properties in this library?

You can use like this:
Text("${Locales.string(context, 'your_key')}", textAlign: TextAlign.center);

@yasin1376 What is "your_key" ? Is this a "LocaleNotifier.of(context)!.change('en');" ?

@mohammednabil95 No, this is the key from your JSON file.

In New version LocaleText also have support for textAlign poroprty


wrong no-mutation behavior

app.use(function * () {
    this.type = 'text/html';
    this.body = fs.createReadStream(path.join(__dirname, 'index.html'));
});

this.type - error - no-mutations

@budarin indeed those are both mutations and should not be allowed by this plugin.

it's not object mutation - it's koa server lifecircle

@budarin yes, which means that koa is incompatible with immutability. Mutating this is absolutely object mutation.

Yes, you are right - I should put this file into eslintignore
Thanks

How do I avoid no-mutation error when adding props to a React component..
Header.propTypes = {
 layout: PropTypes.object,
 actions: PropTypes.object
};

@veeracs i don't think you can without the static properties proposal enabled

I ran into this when setting default configuration values for Axios. It seems to me that there is no real way around dealing with library APIs which require object mutation to set their configuration. Is it assumed we just abstract all such code out into separate files and then add those files to our .eslintignore config?
I like the idea of this plugin and think it's a good idea to help enforce best practices, particularly with team members who might need a bit of coaching to write in a more functional/immutable way, but it's not practical to disallow common libraries that need to be used to get things done due to them not offering a compatible API.