Collaborators wanted!

Folks,
When I created Jimp in 2014, I didn't expect it to become such an important part of so many projects. Over the last few months, there have been so many great feature requests, issues raised and pull requests.
That's wonderful. It shows that there is a real community behind this project. That's something that I never imagined in 2014. I am humbled and grateful to everyone who has committed their time, energy and expertise to the project.
At the same time, it's clear that the significance of Jimp has moved beyond my abilities to actively administer the project on my own. So I am looking for GitHub collaborators with a view that in time Jimp will move into genuine community ownership.
With that in mind, I've invited the @strandedcity to become a collaborator. He/she has been the driving force behind the browser version.
If anybody else is willing to take on the work of bug fixes, integrating pull requests, etc. please says so below.
For now, I'll keep publish rights to NPM but in future I hope to share that with the community too.
Oliver

How effectively can we help to integrate pull requests?

test it;
evaluate code quality; (how?)
other detail?

Oliver,
Congrats on Jimp's success! You've fostered a great piece of work, and I'm likewise humbled to become an ongoing part of it. It's great that Jimp has become such a useful and popular project (4,500 daily downloads on NPM, wow!). I see people have been using it in Electron apps as well, which is also very exciting.
Real life has been crazy for me lately, but I'll try to make sure to carve out some semi-regular time for the Jimp community once things clear up next month. I see there are all sorts of pull requests and issues live; the sign of a healthy and vibrant community project for sure. Community projects need love and attention of course, and I'll try to bring both.
Thanks so much for creating the community, I'm honored to be a part of it!
Phil

@oliver-moran it seems like @Iwasawafag has also been contributing actively. Another community maintainer to add?

I do not know much about inner workings of many operations in image processing, so I doubt I'm a good candidate for the role. Never heard of a Convolution Matrix for instance, not until I came across #185.
Personally, I'm fine with just sending Pull Requests from time to time

Fair enough, though the image processing Jimp does (up until that PR) is relatively straightforward.
@oliver-moran one other question here... When I contributed before, I was able to run the tests to make sure I wasn't breaking anything, but now the tests don't seem to compare the Jimp output to anything. They test that the various functions run, but there's no way to know the results are correct. Am I missing something?

@Iwasawafag I never heard if it either, so your help is as good as mine :-)
@aurium good questions!
Test it
There is a test script but it does nothing more than run through every method and makes sure that nothing throws an error.
I suggest we need genuine unit tests that does the above but also checks the outcome. This isn't hard. Jimp itself can check one image against another. All we need is to check the output of the current script against a set of images representing the expected outcome.
Would be nice to automate these unit tests before accepting pull requests.
Evaluate code quality (how?)
The code quality of PRs have been very high. The most only refactors I've done have been to integrate with the philosophy and API pattern that Jimp was originally written in.
That's a very soft concept to evaluate but at the same time we all know the importance of a consistent philosophy/pattern in an API.
Perhaps a contributors' style guide would help?
Other detail?
Something to look out for is that changes have come in the form of feature requests/bug fixes and sample code rather than proper pull requests.
I've added @aurium and @Iwasawafag to the list of GitHub contributors.

This was a little sudden. I can't promise to be very active here on a regular basis as I have other projects that needs love, but I guess you could use an extra pair of hands, so I'm going to accept this generous offer. Thanks for putting your trust in me, I'll try my best to be helpful.
I would like to ask few questions as well:
What's the scope of the project?
There isn't a single issue with label "Wontfix", not many pull requests rejected either and features suggested in issue tracker vary from highter level manipulations like drop shadow effect to drawing API. So I find it hard to tell if originally it was supposed to provide low level API for image manipulation or should it  be offering highter level APIs as well?
Also what is the main concern? Is it keeping file size reasonable or adding more syntax sugar to make it easier to use instead? If it's latter - it may get too heavy for use in browsers one day. Should modular architecture be considered for some features? Maybe something like image.draw.lineTo(x, y) as far as syntax goes.
And how do Collaborators should decide where they're taking the project?
Should new features be discussed on the issue tracker first and possibly wait for your (@oliver-moran) approval then submited as Pull Request or everyone is free to work on whatever they feel like?

Thanks @oliver-moran!
I can work on unit tests, beginning on next week.

I find it hard to tell if originally it was supposed to provide low level API for image manipulation or should it be offering higher level APIs as well?

IMHO it's as low level as Gimp. So any individual method that's useful in image manipulation is fair game - but if a feature starts to get a life of its own then it should be spun out as a separate project.
For example, in the past there was a stab at creating a command line interface. Initially, it was assumed that the CLI would be part of Jimp itself. However, a decision was taken that it would be better to have Jimp as one project and the CLI as another.
I would take the same perspective with something like a high level drawing API. It sounds like something that is worthy of an project by itself. Likewise, if the number of "special effect" API, like drop shadows and the like, start to grow out of control then maybe these should be spun out as separate (optional) packages too.

Also what is the main concern? Is it keeping file size reasonable or adding more syntax sugar to make it easier to use instead?

I'm a UX guy. So I come from the perspective that if you need sytatic sugar to make it easier to use then the problem is that it's hard to use.
Philosophically, I think a Unix approach to each method is best. Each method does one thing. Does one thing only. And does that one thing well.

Should new features be discussed on the issue tracker first and possibly wait for your (@oliver-moran) approval then submitted as Pull Request or everyone is free to work on whatever they feel like?

Don't wait for me. I trust your (community) judgement. It's the only way. Ping me when you want a release to NPM.
The only thing I ask is that backward compatibility is maintained unless there is a (well thought through) decision to jump major/minor version number.

I can work on unit tests, beginning on next week.

Thank you! I think this is the top priority. If we could get automated integration testing for each pull request up and running then I think that would be brilliant.

I see Jimp much alike GEGL, where real work happens. Jimp may learn something from that project.

If anyone like Telegram and want to talk about Jimp, I would like to do so! Call me! :slightly_smiling_face:

Open to helping!
Re: code quality. Things like ESLint standards really help not just from a consistent style point of view but also avoiding bad practices.
For a library like this Benchmarks would make sense too: does a PR slow down a function? Is it faster on certain file sizes? Etc.
Looks like testing is probably the main place to start now tho...

Hey guys, I've just found out jimp (it's awesome) and after some google I could not find any editor.
Is there a editor/playground/"photoshop like"/wysiwyg that's using jimp?

If anyone like Telegram and want to talk about Jimp...

How about IRC? I would love to use it to ask other contributors about what stopping us from accepting some of those pull requests that don't have any problems with them?
I would like to start accepting those and if person submitted them does not respond in a long time – modifying as I feel needed and accepting them anyway.

Is there a editor/playground/"photoshop like"/wysiwyg that's using jimp?

Not that I know of. Honestly, I doubt somebody will try to build one on top of Jimp. In browser WebGL is available and it's much faster and for standalone application native code will always win over JS. As for "playground" - RunKit works, but still requires writing code - it's not a graphical editor. Can displaying images though. Example. Is this what you're looking for?
That said, we should probably include a snippet to be loaded in RunKit by default

Don't know if you're familiar with pixls.us, but it's a Free Software community for photographers and digital artists. You might be able to find some helpful folks over in the community: https://discuss.pixls.us
There's devs from various projects hanging about and some tinkerers that might have some time to help.

I have a few contributing projects and they are doing well by throwing all feature and general discussions into google group and gitter.
You guys may want to take a look on Google Groups (mailing list) and gitter.im for that very purpose.

Gitter is good b/c it has some Github integrations but, Google Groups is a weird platform to use if everyone already has a GitHub profile.

Looking to experience some great stuff, count me in.

@abritinthebay - I like the sounds of that. You're a contributor.
@iamropo, @patdavid and @rocketinventor - Welcome!
@rafaelcastrocouto - There's no UI. The library is intended for manipulation of images purely through JS code. An interactive console/playground would be an interesting thing to make tho to explore the methods.

Hi folks,
We are building a new testing infra for Jimp. Please see it at the tests branch and feel invited to contribute.

Hello world!
I would like to help, right now, I'm just studying and watching... But I will check new issues and, with time in my hands, try to solve.. :)

@giorgionetg @abritinthebay @iamropo and all interested people: you should see the issue #227 and will be great if you could help with tests on tests branch.  :wink:

I would be happy to start writing tests using Mocha (at least for Node at this stage).

I'm running out of time to keep this alone, so I'm dropping this here so it might get some help and bring JIMP a little closer to the public!
demo: https://rafaelcastrocouto.github.io/jie/
code: https://github.com/rafaelcastrocouto/jie

I would love to help with this!
However, I struggle with writing tests, so may need some help there :/

I'm adding support for GIF animations, but I have to decide whether to extend Jimp or wrap it. I'm worried about putting a lot of effort into a PR, because the PRs are piling up unreviewed.
If I don't hear from a project collaborator, I'll write a separate module that wraps Jimp. (But I'm also worried about creating a dependency on Jimp.)

@oliver-moran I'd like to help maintain this project. I see there are a lot of issues that are not really issues and need to be closed, so I'd like to clean those up. The only issues being closed at the moment are those closed by their author. Maybe also point out obvious problems with pull requests. In short, clean up the issues/pull requests and make the pull requests easier to review.
That would be a first thing to do, and maybe I would look at PR and merge them, but if I do it would be with all the proper review and safeguards. At first I will likely add a tag to the PRs I consider ready to be merged, and merge them after a further review and a delay.
Anyway, I'm not making any claim to singlehandedly maintain this project, but I want to do my part and help clean up a bit the noise :)

@coyotte508 I think the first step would be to figure out if we need to back out the current code base to the most recent release (see e.g. #274). Much has been rewritten since the May release. I suspect the fact that someone rewrote it may have something to do with Jimp going dormant. Someone took a huge risk apparently (?) without first discussing it with other collaborators.

@jtlapp I definitely agree good communication is needed between the collaborators. I would need to check in with all of them, and need to know @oliver-moran 's philosophy regarding the required node version server-side. I would also update the readme / docs with the appropriate build instructions / requirements.
There's still a lot that can be done without touching the code itself (cleaning up the issues...).

It appears that 0.2.27 was the last version that functioned in a browser without having to introduce workarounds.
I've written an extensive tool for developing GIFs based on Jimp. I'm now in the process of replacing the Jimp dependencies. Even were Jimp backed out to the last stable build, I wouldn't want to use it. It's not written with efficiency in mind, and it shows a lack of understanding of basic programming patterns. For example, synchronous functions take callbacks, including the constructor. At least the 0.2.27 code was clean. The current code is unmaintainably sloppy.
It'll be a while before I make my code publicly presentable. It's still evolving to suit my needs.

@jtlapp Even I have a dire need to edit gif images.

At present it only works in node.js, but I'll add JSdocs so I can get it up. Rushing to it now...

I need it just to run it on nodejs

Okay, getting this all documented was today's project. Let me know if you run into any trouble. Thanks for pinging me to get this out. Package gifwrap, for working with GIFs in Node.js.

@jtlapp Thank you and god bless you.

Heads up new gifwrap users: I'm finding myself needing more colors than the 256 per-frame limit that GIF imposes, so I'm planning to abstract gifwrap to support APNG (animated PNG) as well. gifwrap is only at v.0.6 right now. I could be making some changes that might break compatibility with the existing API. I'll try to keep those changes to a minimum though, as I myself have a ton of code already using the current API. And I'm wondering if I should rename the package at that time, so it doesn't seem to falsely indicate that it's exclusive to GIFs.

Just come across Jimp and I think it would work well for a personal project; however the browser issues documented above are blockers. Specifically I want to be able to create Jump instance based on already loaded base64 string from an image. (that I've not got to work yet btw). Still investigating though.

I think maybe this is not very important right now, but can I contribute to make a logo for this project?

Sure @iqbalhood ! That would be great !

@edi9999 do you need help verifying pull request? If you add me as a collaborator i can start merging some of the low hanging fruit.

I would really like to help modernize the codebase a little bit too!

Hello everyone,
I just stumbled upon this beautiful library and saw this issue. If you still need any help maintaining/ bug fixing, i have some free time i could spend on this project.

@Jefwillems Feel free to start coding! I have merge right and will respond quickly

@jtlapp the state of jimp is much better. are there any changes you want?

Really awesome implementation @rafaelcastrocouto!

@rafaelcastrocouto if you have any more questions or requests though please open a new issue. This one is getting a little long.

Please add me so I can make changes to update this to function on React 18

I'm working on making this easier. Will have news soon!

issue is pinned to the repo!


Gauge LSP - run test cases

Proposed behavior
Option to run Data driven specification
Out of scope

Debugging
Running a particular table row

Steps

Provide a Code lens link to run all the table rows of the specification in parallel
Provide a link to run specification against all table rows sequentially.

Test Cases

[ ] Execute all the scenarios in the specification, show the results in the output window.

Should be available in gauge nightly >= 05-10-2017 and gauge-vscode nightly >= 6-10-2017


fixed #361

Hi all, I'd like to contribute a bugfix for issue #361 to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
The proposed fix refactors the pycsw.core.config.StaticContext.refresh_dc method to update the dublin core queryables for all of the models defined in pycsw.core.config.StaticContext.models

Thanks @ricardogsilva


Serial Port/Serial Monitor Not Working

Arduino IDE itself, everything works perfectly as expected.
In vim-arduino, it is able to upload to the board perfectly. Awesome stuff.
But, it is unable to execute the "ArduinoChoosePort" command and therefore the "ArduinoUploadAndSerial" doesn't work either, reporting:
Error detected while processing function arduino#ChoosePort:
line    7:
No likely serial ports detected!

It's strange that it is able to upload on the correct port but then can't display or allow choosing of the ports.
Any thoughts?

We're looking for the serial port based on a couple of glob patterns which you can find here: https://github.com/stevearc/vim-arduino/blob/c6276cd256a2a30192a985d695d436c5c8a439f1/autoload/arduino.vim#L55-L60
If you can find out what the port actually is, it's easy to set the g:arduino_serial_port_globs value in your vimrc to match it properly. I'd also be curious to know what the pattern is for your port to see if it's something I should add to the default list of globs.

Oh OK sounds good. I will let you know, ideally in the form of a pull
request. If I can't then I'll  just respond here for your help
On Tue, May 22, 2018, 23:45 Steven Arcangeli<EMAIL_ADDRESS>wrote:

We're looking for the serial port based on a couple of glob patterns which
you can find here:
https://github.com/stevearc/vim-arduino/blob/c6276cd256a2a30192a985d695d436c5c8a439f1/autoload/arduino.vim#L55-L60
If you can find out what the port actually is, it's easy to set the
g:arduino_serial_port_globs value in your vimrc to match it properly. I'd
also be curious to know what the pattern is for your port to see if it's
something I should add to the default list of globs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stevearc/vim-arduino/issues/9#issuecomment-391227597,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APx98PuYB5PVt702X0IRgzlH9HHKrDZ5ks5t1PeWgaJpZM4UGKCT
.

#10 I promised a pull request so here it is


Send JES events as "job executor using $IMAGE" events

Currently every job that JES runs has a .started and .finished name as "job executor service".
It would be really nice to see that JES is being used to run X container image.
So rather than job executor service started we see something like alpine/helm:3.7.2 by job executor service started

I think that it's a good idea to add more information to the started event, but we probably can't just directly include the images in the message, because the job-executor can start multiple named actions, which can contain multiple named tasks. So we can potentially run multiple images in one .started event.
But besides that, I'm currently not sure if we can attach the required information to a .started event, such that it will be displayed correctly in the UI.

That would be information we could add to a .status.changed event within the message. See keptn/spec/CloudEvents.md  for reference of this type.


dR changes 2

No problems it seems and I've not touched anything, only added new stuff, there's the new character controller and the old one in this. It should merge easily. The only thing I'm not sure of is whatever the automatic Wwise changes were and if swimming works on the v2 character controller.

nevermind it broke again randomly


Added get_connected_peers() function

Closes #30

Build fails, any suggestions on what's wrong?

Build fails, any suggestions on what's wrong?

modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::create_lobby(int, bool)::{lambda(discord::Result, discord::Lobby)#1}::operator()(discord::Result, discord::Lobby) const':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:60: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::join_lobby(long, String)::{lambda(discord::Result, discord::Lobby)#1}::operator()(discord::Result, discord::Lobby) const':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:102: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::join_lobby_activity(String)::{lambda(discord::Result, discord::Lobby)#1}::operator()(discord::Result, discord::Lobby) const':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:151: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::_get_peer_by_discord_id(long)':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:286: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::_get_peer_by_discord_peer_id(unsigned long)':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:296: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o):/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:306: more undefined references to `NetworkedMultiplayerGodotcord::_peers' follow
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o):(.data.rel.ro._ZTV29NetworkedMultiplayerGodotcord[_ZTV29NetworkedMultiplayerGodotcord]+0x148): undefined reference to `NetworkedMultiplayerGodotcord::get_connected_peers() const'

modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::create_lobby(int, bool)::{lambda(discord::Result, discord::Lobby)#1}::operator()(discord::Result, discord::Lobby) const':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:60: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::join_lobby(long, String)::{lambda(discord::Result, discord::Lobby)#1}::operator()(discord::Result, discord::Lobby) const':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:102: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::join_lobby_activity(String)::{lambda(discord::Result, discord::Lobby)#1}::operator()(discord::Result, discord::Lobby) const':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:151: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::_get_peer_by_discord_id(long)':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:286: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o): In function `NetworkedMultiplayerGodotcord::_get_peer_by_discord_peer_id(unsigned long)':
/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:296: undefined reference to `NetworkedMultiplayerGodotcord::_peers'
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o):/home/runner/work/godotcord/godotcord/modules/godotcord/godotcord_network_peer.cpp:306: more undefined references to `NetworkedMultiplayerGodotcord::_peers' follow
modules/libmodules.x11.debug.64.a(godotcord_network_peer.x11.debug.64.o):(.data.rel.ro._ZTV29NetworkedMultiplayerGodotcord[_ZTV29NetworkedMultiplayerGodotcord]+0x148): undefined reference to `NetworkedMultiplayerGodotcord::get_connected_peers() const'

Ah, you forgot to update something.

Ah, you forgot to update something.

Did a refactor? I think that should be an issue.

Did a refactor? I think that should be an issue.

It one point I search and replaced _peers with connected_peers because I thought about renaming the variable and trying to expose it to gdscript, but I quickly realized that wouldn't work so I undid it.
I guess it didn't completely undo.
I'll copy over the new code into a fresh clone

It one point I search and replaced _peers with connected_peers because I thought about renaming the variable and trying to expose it to gdscript, but I quickly realized that wouldn't work so I undid it.
I guess it didn't completely undo.
I'll copy over the new code into a fresh clone

Maybe that's the issue. Better check once again and push back, I'll take a look into the code.

Maybe that's the issue. Better check once again and push back, I'll take a look into the code.

it's failing once again

it's failing once again

Squashed and ready to merge

Squashed and ready to merge


moar biome settings

Pull Request
Brief description.

Implement all vanilla biome settings.

Licensing

[X] I am the original author of this code, and I am willing to release it
under GPLv3.
[ ] I am not the original author of this code, but it is in public domain or
released under GPLv3 or a
compatible license.

Goal of the PR

[X] everything but spawning
[x] spawning
[ ] bukkit?

Affects of the PR

Types of changes

[ ] Bug Fix
[ ] Build system
[ ] Documentation
[X] New Feature
[ ] Performance
[ ] Refactoring
[ ] Repository
[ ] Revert
[ ] Style
[ ] Tests
[ ] Translation

Compatiblity

[ ] Breaking
change
[X] Non-Breaking change.

Contribution Guidelines.

[X] I have read
the CONTRIBUTING.md
document in the root of the git repository.
[X] My code follows the code style for this
project.

Documentation

[X] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. I don't know what half of these options do @justaureus please help

Testing

[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

I don't think tests are applicable here

@dfsek I'm not going to be able to do spawning or bukkit for a while so it's up to you whether to merge this now

also @PolyhedralDev/config-team all config keys are not final so if you have any thoughts please voice them

@dfsek ready for review, also no bukkit because I hate it


Section "Use Common Error Return Objects" is difficult to understand

https://github.com/zalando/restful-api-guidelines/blob/master/common-data-objects/CommonDataObjects.md#-bookmust--use-common-error-return-objects
I know the background of how this came to be. But currently, the text is unnecessarily hard for a developer to get right. We should aim at better.
Some concerns:

the title says "must" but the first sentence says "should" (this is actually correct, since extensions are also allowed). Later, there's "applications may" (use an extension).

I would advocate placing the mention about extensions (if we really need them, what's the use case?) as a short mention. It's JSON anyways, so any extension would be a valid RFC 7807 error object, anyways. The definition of Swagger format is unnecessary - it takes space and suggests making extensions is a common thing.
Also, the Swagger format is based on an earlier error object than 7807. It differs from 7807 in that:

type is allowed to be relative in 7807
status is optional in 7807

I would recommend removing the whole Swagger declaration from the Guidelines. It's unnecessary cruft and a source of inconsistencies. If it remains, it should match RFC 7807 exactly.

Here is the definition in Open API 2.0 YAML format in the case you don't need any extensions:

Shouldn't we try to point people to not use extensions, for simplicity and general conformance. I'd reorganize the content so that it:

clearly states the "must" of using RFC 7807 when an error status code itself is not enough
the RFC 7807 compliant Swagger definition
short mention that the format may be extended, if needed
mention about the earlier version, and how a client should deal with both

I'm in Berlin 15.-26.8. and could discuss these in person. Also willing to provide a PR once there would be enough comments.

Actually, type is optional in 7807:

When this member is not present, its value is assumed to be "about:blank".

I think having an example Swagger definition there is useful, so people can copy it in their APIs instead of copying it from another API, or having to invent it themselves from the description.
Of course, it should be updated to match the text (and the RFC).

About the type, RFC 7807 was changed compared to the earlier RFC so now you only should include a type if it adds more information compared to the HTTP status code itself. This means there is no point in using http://httpstatus.es/..., instead leave it blank (don't include the item). I think this is a good idea in general.

Would someone like to team with me to create a PR about these things, during this or next week?

I'm in BMO tomorrow after the API guild meeting, we could meet then.

@akauppi Do you still intend to create another pull request for this?

@akauppi Please reopen if you still want to change anything (or simply open a pull request).


Add Message.log for easy logging.

Fixes #152.

Thanks, address the two minor comments then merge when Travis is happy.

Oh, and also add news entry to the documentation.


Comparison with stringify

How does this function perform in comparison with JSON.parse(JSON.stringify(obj))?

It will be slightly slower than just performing a JSON.parse(JSON.stringify(obj)) alone, as that's actually what it does behind the scenes. But it then does a quick walk over your object to fix up a bunch of values that the JSON.parse(JSON.stringify(obj)) stuffs up, like dates, regexs, numbers that are NaN, Infinity, undefined, etc.

Ahh, cool. Thanks for the clarification. I was wondering whether I should switch to a different method but JSON.parse(JSON.stringify(obj)) works for me so I'll stick with it.

I just ran some more benchmarks. If performance is absolutely paramount to you and you know you will not have edge cases like those mentioned above then that might be your best option as performing a native JSON.parse(JSON.stringify(obj)) averages about half the time that fast-clone does. 😃
Otherwise if you may have values like dates, etc I'd recommend using a library for cloning (doesn't have to be this one).


Add a macro to insert guarded events

Feature request: This would be much more ergonomic if we had a procedural macro to insert guarded events on all function scopes, optionally also in loops or even on every scoped block. This could be an annotation macro like #[flame(loops)] and work on single functions or even whole modules (including submodules). Also perhaps allow a #[noflame] annotation to carve out un-instrumented code parts.
What do you think?

I just took matters in my own hands: https://github.com/llogiq/flamer


Documentation Needed

We need a documentation for this project. For this I am opening this Issue. Incase anyone is interested in helping you are welcome! Also if you need any help you can contact directly via : https://discord.gg/gJjvDHFpSh

The documentation is now automatically generated using doxygen and automaticslly deployed to https://jaysmito101.github.io/TerraForge3D/documentation/index.html using github workflow!


Feature request: alphabetical sorting button and group by symbol checkbox

I really like the extension. I think it would be even nicer if it was easy to switch between the following sorting mode:

no sorting (items appear in the order they are in the file)
alphabetical sorting (ascending/descending)

Also it would be nice to be able to chose to group by symbols or not. (symbols groups would appear in the order defined in the configuration. Items in each symbol group would be sorted according to the current sort setting)
In the UI, this could take the form of sorting button:
\/ : alphabetical sorting, ascending
/\ : alphabetical order, descending
- : no sorting
and of a "group by symbols" checkbox.

Well, looks like vscode 1.25.0 is bringing this sort by name feature...

I'm planning to deprecate this extension in the coming days once everyone gets a chance to upgrade to the latest VS Code so it's unlikely for me to implement any additional features. It does not make sense to compete with the built in outline.

I agree... Well thanks for maintaining this extension so far! It was pretty useful.


[BUG] Infinite Loop Error - Able to recreate the issue with one of the simplest version of form json with minimum components on screen

Environment
Please provide as many details as you can:

Hosting type

[ ] Form.io
[x] Local deployment

Version:

Formio.js version: "angular-formio": "^4.6.19"
Frontend framework:"@angular/core": "~9.1.0",
Browser: Any
Browser version:

Steps to Reproduce

Add Data grid
Add panel
Add another data grid,
Add at-least 6 text field components with required validation
Click submit without entering any data
Observe console window

Expected behavior
Required validations should kick in without any Infinite loop error.
Observed behavior
Required validations should kick in with Infinite loop error.

Example
https://adoring-torvalds-b32d1a.netlify.com
For code or form JSON, please enclose in a code block:
{
    "schema": {
        "display": "wizard",
        "components": [
            {
                "title": "Page 1",
                "label": "Page 1",
                "type": "panel",
                "key": "page1",
                "input": false,
                "tableView": false,
                "breadcrumbClickable": true,
                "buttonSettings": {
                    "previous": true,
                    "cancel": true,
                    "next": true
                },
                "collapsible": false,
                "components": [
                    {
                        "label": "Data Grid",
                        "disableAddingRemovingRows": true,
                        "reorder": false,
                        "defaultOpen": false,
                        "layoutFixed": false,
                        "enableRowGroups": false,
                        "tableView": false,
                        "defaultValue": [
                            {
                                "dataGrid1": [
                                    {
                                        "textField": ""
                                    }
                                ]
                            }
                        ],
                        "calculateServer": false,
                        "key": "dataGrid",
                        "type": "datagrid",
                        "input": true,
                        "components": [
                            {
                                "breadcrumbClickable": true,
                                "buttonSettings": {
                                    "previous": true,
                                    "cancel": true,
                                    "next": true
                                },
                                "collapsible": false,
                                "tableView": false,
                                "key": "panel",
                                "type": "panel",
                                "label": "Panel",
                                "input": false,
                                "components": [
                                    {
                                        "label": "Data Grid",
                                        "disableAddingRemovingRows": false,
                                        "reorder": false,
                                        "addAnotherPosition": "bottom",
                                        "defaultOpen": false,
                                        "layoutFixed": false,
                                        "enableRowGroups": false,
                                        "tableView": false,
                                        "defaultValue": [
                                            {}
                                        ],
                                        "calculateServer": false,
                                        "key": "dataGrid1",
                                        "type": "datagrid",
                                        "input": true,
                                        "components": [
                                            {
                                                "label": "Text Field",
                                                "spellcheck": true,
                                                "tableView": true,
                                                "calculateServer": false,
                                                "validate": {
                                                    "required": true
                                                },
                                                "key": "textField",
                                                "type": "textfield",
                                                "input": true
                                            },
                                            {
                                                "label": "Text Field",
                                                "spellcheck": true,
                                                "tableView": true,
                                                "calculateServer": false,
                                                "validate": {
                                                    "required": true
                                                },
                                                "key": "textField1",
                                                "type": "textfield",
                                                "input": true
                                            },
                                            {
                                                "label": "Text Field",
                                                "spellcheck": true,
                                                "tableView": true,
                                                "calculateServer": false,
                                                "validate": {
                                                    "required": true
                                                },
                                                "key": "textField2",
                                                "type": "textfield",
                                                "input": true
                                            },
                                            {
                                                "label": "Text Field",
                                                "spellcheck": true,
                                                "tableView": true,
                                                "calculateServer": false,
                                                "validate": {
                                                    "required": true
                                                },
                                                "key": "textField3",
                                                "type": "textfield",
                                                "input": true
                                            },
                                            {
                                                "label": "Text Field",
                                                "spellcheck": true,
                                                "tableView": true,
                                                "calculateServer": false,
                                                "validate": {
                                                    "required": true
                                                },
                                                "key": "textField4",
                                                "type": "textfield",
                                                "input": true
                                            },
                                            {
                                                "label": "Text Field",
                                                "spellcheck": true,
                                                "tableView": true,
                                                "calculateServer": false,
                                                "validate": {
                                                    "required": true
                                                },
                                                "key": "textField5",
                                                "type": "textfield",
                                                "input": true
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

@ullas1989 We recently implemented some fixes to infinite loops in the latest version of formio.js. Can you try upgrading to see if this resolves the issue?

Upgraded to latest version - "angular-formio": "^4.6.20" and deployed the demo application again. Still same issue.
Live Demo:
https://adoring-torvalds-b32d1a.netlify.com

@travist Any update here. Do you think this is a valid scenario?

I looked at your live demo and do not see any error. The other thing that I will mention is that the "infinite loop detected" sometimes may show up even though there is not really an infinite loop. If you have a form that has many dependent conditions on other components, the renderer will need to take multiple refresh cycles before the form comes to a "stable" spot. This will show the "infinite loop detected" even though there is not. It is a real infinite loop when you constantly see this message fired over and over without stopping. In everyones screenshots, it seems to be the case that it stops, which means that the form converges on state stability which is actually not a problem other than you see a warning in your console that is not legitimate.

We're currently addressing a backlog of GitHub issues, and as part of this effort, some inactive issues may be marked as closed. This isn't a dismissal, but a step toward more efficient tracking.
If you feel the issue is still relevant, please re-open and we'll ensure it gets the attention it deserves. Your understanding is appreciated as we work to enhance our open-source responsiveness.


Add stereo preview example

Add an example demonstrating the use of stride, where the stride is set to twice the image width to allow an image from a second camera to be copied into the empty space, creating a stereo image

On vc4 at least we could allow the selection API to set the compose rectangle to cover the part of the double sized buffer that the ISP is meant to write into. The same buffer could therefore be written by 2 instances of libcamera (one for each eye). The offset will need to be aligned based on the ISP constraints.
I have no idea with regard how to pass that information through libcamera in order to request this though!

@will-v-pi There was some kernel update required which is why we didn't merge this immediately, do we think that might all be sorted now? Perhaps it's worth rebasing and re-pushing...?

This has now been rebased and merged here: https://github.com/raspberrypi/picamera2/pull/1146
Sorry it took so long!!


Error: Not a terminal

Hello, I'm running an AWS instance of Ubuntu Server accessed through Iterm, I followed the basic example on the front page and I get this error:
Error: Not a terminal.
at Program.listen (/var/nodejs/node_modules/blessed/lib/program.js:264:11)
at new Program (/var/nodejs/node_modules/blessed/lib/program.js:112:8)
at Program (/var/nodejs/node_modules/blessed/lib/program.js:30:12)
at new Screen (/var/nodejs/node_modules/blessed/lib/widget.js:259:20)
at Function.Screen (/var/nodejs/node_modules/blessed/lib/widget.js:248:12)
at Object. (/var/nodejs/myapp/app.js:10:22)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
What do you think could cause this issue?

Do you also get the same error when running the blessed sample?
Also check this blessed issue .

@chjj

Just checked and I do get the same error with the blessed sample.  I made sure that I have the latest ncurses-base and ncurses-term installed.

I suggest to open a defect in the blessed project on this.

Yeah, enough people have reported this that I'm thinking of just removing this limitation. With a blessed app, I wanted to check for a tty fd in the case that someone wants to manually check against tty FDs and add different behavior before instantiating a screen object. However, the programmer could do this without this error being thrown anyway. It's more just a minor failsafe so you don't get weird behavior when piping to or from the app, but it's not that serious.

I think just adding an ncurses-like warning might be better.

It works!  Thank you guys, this is so fun!
So when I updated my code with your fix I then ran into this issue:
TypeError: Object # has no method 'setRawMode'
at Program.fn (/var/nodejs/node_modules/blessed/lib/program.js:322:20)
at Program.EventEmitter.emit (events.js:117:20)
at Program.EventEmitter.addListener (events.js:138:10)
at Screen._listenMouse (/var/nodejs/node_modules/blessed/lib/widget.js:560:16)
at Box.fn (/var/nodejs/node_modules/blessed/lib/widget.js:2172:19)
at Box.EventEmitter._emit (/var/nodejs/node_modules/blessed/lib/events.js:90:20)
at Box.EventEmitter.addListener (/var/nodejs/node_modules/blessed/lib/events.js:29:8)
at Screen.setEffects (/var/nodejs/node_modules/blessed/lib/widget.js:1834:7)
at /var/nodejs/node_modules/blessed/lib/widget.js:2211:17
at Array.forEach (native)
commenting out line 322 did the trick, but I'm assuming I'll run into some sort of problem down the road, but I wanted to let you guys know.


Update docs for wrangler v3

There's a migration guide from version 2 in the docs, but the getting started guides still include things like this:
npx miniflare
which of course does not work with the latest released version.
https://miniflare.dev/get-started/cli
When folks google "run cloudflare workers locally", https://blog.cloudflare.com/miniflare/ is the first result, which leads people to the miniflare docs.

A quick win would be to update the blog post in https://blog.cloudflare.com/miniflare/ to include an "Updated information" block that will point them to the latest documentation. So we don't mess up SEO too much but still get things up to date.


Upgrade to dotnet 3.0.ToKenClient instantiated

Upgrade to dotnet 3.0. Do you have an upgrade migration document?
The way TokenClient is instantiated has changed

TokenClient is not part of IdentityServer. This is all very pre-view-y right now, and we don't have docs. You have to wait until we get closer to RTM. sorry.


unc0ver reboots my phone at 2/38

Describe the bug
I was watching YouTube and my phone rebooted. Tried to re-jailbreak but every time I click Jailbreak it reboots my phone at 2/38. I’ve tried with VS and MS2 exploits.
To Reproduce
Steps to reproduce the behavior:

Try to jailbreak
Phone reboots at 2/38

Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

iOS Version: 12.1.2
iOS Device: iPhone 8 (10,4)
unc0ver Version: 3.0.0~b48

Place an "x" between the brackets if true:

[ ] this is a bug others will be able to reproduce
[ ] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[ ] this issue is present after a rootfs restore (tried to check but still crashes)
[x] this issue is present on the latest version of unc0ver

Logs
If applicable, add logs or error messages here.

Disabling “Reload System Daemons” worked for me to fix this issue. Sorry for cluttering up this repository with another issue.


Upgrade querystringify to version 2.0.0 or later

re: @Reeywhaar

hm

What github is trying to tell here? What version is vulnerable? Somewhere it tells > 2.0.0 somewhere that every < 2.0.0
querystringify is transitive dependency so github's suggestion to upgrade to >2.0.0 is invalid
querystringify, judging by package-lock.json is 2.1.1 — the latest version right now.

Seems very odd o_0

hmm, no clue either. And it disappeared by itself from their security alarms for both remark and radio-t-sites. Probably false positive


Add the ability to hide specified superglobal or config keys when rendering whoops error pages

This is largely inspired by laravel's implementation which leverages whoops' built in hide support. We go a small step further and allow the ability to hide config items as well.
The way this is used is you specify the superglobal key or config item you want to hide in the appropriate superglobal or config array. So for example if you're using composer based concrete5 and you want to hide the password and hostname environment variables for the database you might have:
return [
    'debug' => [
        'hide_keys' => [
            '_ENV' => ['DB_PASSWORD', 'DB_HOSTNAME'],
        ]
    ]
];

This same thing works for all superglobals for example if you want to hide a specific query parameter when a user requests something like /foo/?password=something:
'_GET' => ['password'],

What about hiding whole sections?
For example:
'_ENV' => true
to hide every all environment variables?

What about hiding whole sections?

@mlocati you can hide the entire section by doing this:
'_ENV' => array_keys($_ENV),
'config' => ['concrete']

@mlocati you can hide the entire section by doing this:
'_ENV' => array_keys($_ENV),

What if we all new values to $_ENV after the configuration has been loaded?

How about setting default values instead of empty array?
For example:

concrete.proxy.password
concrete.mail.methods.smtp.password
concrete.email.default.address
concrete.email.form_block.address
concrete.email.forgot_password.address
concrete.email.validate_registration.address
concrete.email.workflow_notification.address

What if we all new values to $_ENV after the configuration has been loaded?

That's fair, I don't have time to come back to this and add that but I definitely agree it'd be a good thing to add.

How about setting default values instead of empty array?

This list makes sense to me, lets do it in a PR rather than as part of this PR though


Change dependency for HTML minification example

The example for HTML minification uses the html-minifier dependency. This dependency has a high severity vulnerability and appears to have been abandoned. We should point users to a dependency without known vulnerabilities. html-minifier-terser appears to be a maintained fork which can be used as an alternative.
(I intend to submit a PR to fix this later today -- but if I don't then please consider this issue "fair game"!)

Shipped, thank you!


Vim color scheme

Hi! Nice to meet you!
I love your pink color scheme very much. There is a tiny minor problem here..
Vim color scheme is very great theme platform that many of my friends use. But on their site, your color scheme looks weird. I talked to them in the following issue.
https://github.com/vimcolorschemes/vimcolorschemes/issues/695
They claimed that there generator works perfectly. I think you probably should adjust this so that their website can generate a good looking preview.
This is their website
https://vimcolorschemes.com/soft-aesthetic/soft-era-vim

I noticed the theme looks a bit off in vim and opened #9 a while ago. There's PR #11 that might address the problems you're seeing on vimcolorschemes


Unlocking all achievement wont work

As i want to restart BTD6, i want to reset the achievements as well. however when i tried to reset the achievements, only some of the achievements are able to reset, leaving 35 of them to be still unlocked. Any help pls?

I think this is because some achievements get completed by (for example) playing for 1 hour  and since they can see that you have done that it gets marked as completed. This may not be true but idk.


Integration test job succeeds despite of test failures

What is the bug?
Even if PRs show a green CI check mark ("all check have passed"), inspecting the logs of the integration_tests job usually shows that there were test failures:
2024-10-03T13:58:29.2325946Z
2024-10-03T13:58:29.2327437Z > Task :integrationTest
2024-10-03T13:58:29.2329044Z
2024-10-03T13:58:29.2330461Z Tests with failures:
2024-10-03T13:58:29.2333698Z  - org.opensearch.security.api.DefaultApiAvailabilityIntegrationTest.securityConfigIsNotAvailableByDefault
2024-10-03T13:58:29.2335895Z  - org.opensearch.security.api.CertificatesRestApiIntegrationTest.timeoutTest
2024-10-03T13:58:29.2338895Z  - org.opensearch.security.api.InternalUsersScoreBasedPasswordRulesRestApiIntegrationTest.canNotCreateUsersWithPassword
2024-10-03T13:58:29.2340664Z
2024-10-03T13:58:29.2341034Z 493 tests completed, 3 failed
2024-10-03T13:58:29.3312359Z There were failing tests. See the report at: file:///home/runner/work/security/security/build/reports/tests/integrationTest/index.html
2024-10-03T13:58:31.7322529Z
2024-10-03T13:58:31.7327146Z > Task :jacocoTestReport
2024-10-03T13:58:31.7331759Z
2024-10-03T13:58:31.7334788Z Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
2024-10-03T13:58:31.7336911Z
2024-10-03T13:58:31.7339452Z You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
2024-10-03T13:58:31.7342154Z
2024-10-03T13:58:31.7344713Z For more on this, please refer to https://docs.gradle.org/8.10/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
2024-10-03T13:58:31.7356207Z
2024-10-03T13:58:31.7356423Z BUILD SUCCESSFUL in 9m 26s
2024-10-03T13:58:31.7356953Z 6 actionable tasks: 6 executed

(from just a randomly grabbed PR: https://github.com/opensearch-project/security/pull/4752 ... the same tests also fail for others, so the issue seems to be already in main.)
The logs also show that the tests were tried twice - and both times they failed. So, these are no flakes.
IMO, the job should fail when these tests fail. At the moment, it is unclear to me why the job does not fail.

I think, I have misinterpreted the output - and that the info "493 tests completed, 3 failed - There were failing tests." actually indicates that tests were retried and then became successful.
Closing this for now.


Statusline not showing up

Hello, I installed the plugin and downloaded the evil line example, then sourced the lua file in my init.vim, but the statusline doesn't show up.

There are no errors on startup.

Also please ignore the bad terminal, Im ssh'ing from a windows machine.

set laststauts? output is what?

The output is last status=0

oh lol, so I set it to 2 now, and it works now, thanks for the help


Segment Control

Is it possible to create segmented control (UISegmentedControl) using meteor-ionic?
Theres https://github.com/tinga-dev/ti-ionic-segmented-control but it can't be used directly in meteor-ionic.

Yeah, that's actually a really good example of a simple component that can easily be re-created in meteor - so I went ahead and did it :) Let me know if this works out for you: http://cl.ly/0W2P0A3l3o2U. I think the code is actually a lot cleaner and more flexible than the Angular code, too.


Fix samepid bug #15

My attempt at fixing #15 which turned out to be simpler than I thought - unless I've missed something. There's also a test like you asked for. I haven't written a ton of Python unittests so maybe there's a nicer way to do it.

Coverage increased (+1.2%) to 94.611% when pulling dc1be88728cdfef5ed722bd1fd38c1c804987104 on rasup:fix_samepid_bug into 16e41d9a63b3824a133deb34d70a96612d8cd2dc on trbs:master.

When I run python2 setup.py test I get a whole bunch of, but I don't know why:
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/home/rasmus/code/pid/pid/__init__.py", line 201, in close
    if self.filename and os.path.isfile(self.filename) and cleanup:
AttributeError: 'NoneType' object has no attribute 'path'

Thanks !


Enhancement: Pre defined messages / snippets

Would be a great idea to have pre defined messages or snippets, etc solved text, known issues, guides and so on.

Opps, Duplicate of #116


Track command output of generated projects via shared lane context

In our workspace, we generate multiple different projects and as a result, we invoke the xcodegen command/action three times:
lane :setup_workspace do
  xcodegen(spec: 'Frameworks/project.yml', use_cache: true)
  xcodegen(spec: 'App/project.yml, 'use_cache: true)
  cocoapods
  ensure_git_status_clean if is_ci?
end

While we leverage use_cache to avoid generating projects when its not required, we also want to know if any of the Xcode projects changed before we go ahead and run other actions such as cocoapods.
XcodeGen offers a postGenCommand option that only runs if the project was actually generated (and not skipped due to no changes) however we can't directly run pod install there since we need to wait until we know the status of all the projects.
I guess this is probably quite a unique use case, but I think the best way to support this kind of use case in the action would be to hold the command output for each invocation in the Lane Context where a hash is keyed by the :spec that is passed in.
For example:
spec = params[:spec] || 'project.yml' # project.yml is XcodeGen's default if the argument isn't specified

cmd = ["xcodegen"]
cmd << "--spec #{spec}"
cmd << "--project #{params[:project]}" if params[:project]
cmd << "--quiet" if params[:quiet]
cmd << "--use-cache" if params[:use_cache]
cmd << "--cache-path #{params[:cache_path]}" if params[:cache_path]
cmd << "--project-root #{params[:project_root]}" if params[:project_root]

output = Actions.sh(cmd.join(' '))

outputs = Actions.lane_context[SharedValues::XCODEGEN_OUTPUTS] || {}
outputs[spec] = output
Actions.lane_context[SharedValues::XCODEGEN_OUTPUTS] = outputs

Users of the action could then use the XCODEGEN_OUTPUTS hash to work out if any of the projects actually ended up being generated. In my specific setup, I have a postGenCommand that echos PROJECT_GENERATED, I can then test if any of the outputs contain this string and decide to run cocoapods.
So my lane could end up looking like this:
lane :setup_workspace do
  xcodegen(spec: 'Frameworks/project.yml', use_cache: true)
  xcodegen(spec: 'App/project.yml, 'use_cache: true)

  projects_changed = Actions.lane_context[SharedValues::XCODEGEN_OUTPUTS].any? { |k,v| v.include?("PROJECT_GENERATED") }
  cocoapods if projects_changed

  ensure_git_status_clean if is_ci?
end

Hi 👋
thanks for the detailed issue.. still needed some time to wrap my head around it.
I don't like the solution with the shared-context. Seams very hacky inside the plugin and to use.
Would it work if you can enter an array of specs: ['Frameworks/project.yml', 'App/project.yml'] and determine if any project has changed inside the plugin and only return a boolean?

Thanks for the feedback @m-ruhl, I'll admit that I don't think its ideal but I also think that its too much custom behaviour to build inside this plugin directly.
On second thought, I've had a different idea... Currently, the plugin returns the raw output of the shell command anyway. I'm not sure if this was intentional or not, but i'm actually able to solve my problem by dong this:
outputs = []
outputs << xcodegen(spec: 'Frameworks/project.yml', use_cache: true)
outputs << xcodegen(spec: 'App/project.yml, 'use_cache: true)

projects_changed = outputs.include?("PROJECT_GENERATED")
cocoapods if projects_changed

This is probably actually the easier thing to do 😅
If you are happy, I'll just submit a PR with a test that ensures that the shell output is the return value of this action? I can also document the return_type and return_value to explain this (https://github.com/fastlane/fastlane/blob/2720dabcdbf111f9056813ab39b81a989dc5d319/fastlane/lib/fastlane/action.rb#L70-L78). Let me know what you think! Thanks


[Bug] Wrong behavior for the life extraction

@rimhajal, maybe the graphs you did for the paper could be added to the docs here. But it needs to be fixed because the implemented behavior was in fact wrong. This PR fixes it and your graph shoul dbe fixed accordingly:

When reaching the last line, we should continue to go right
When reaching the last column, we should continue to go down
The last cell ONLY is up until infinity, so the red arrow should rather be a red "point" inside the last cell, to indicate the end of the trip here.

So the final trip looks like (d means down and r means right) : drdrdrdr OR rdrdrdrd then rrrrrrrrrrr if bottom line reached or dddddddd if last column reached, then eternity in the last cell.

so for someone born in 2000, in 2020 at the last column it would go down?

When reaching the last column, go down, but that was already the previous behavior.
When reaching the last line, go right, which was not the previous behavior

Hum... Now tahta i see the codecov report showing that the behavior i not tested, I really wander which is the best option of the two. For example, which one produces the more sensible life times for elders ? a life expectency that is not too high ? etc...
For the paper, let's make the change to the graphs. For this PR, let's wait until we have proper tests to eventually merge it. Sorry about the noise @rimhajal


Cache plugins like wp super cache

Hi Dave,
Do you know if cache plugins lie wp super cache work with your nginx based image ? I have not done any digging on this, just wondering as most of my sites use them and at this moment I'm not sure if the plugin is working or not. A while ago while looking at the nginx container code I think I remember seeing some caching configuration, but not sure and on a hurry to take a glance at it.
Take care.

Hi there, I succesfully use W3-Total Cache with this image on a variety of sites succesfully. Haven't used WP-Super Cache though, have just been a fan of W3 for about a decade now.

W3 total cache has always seemed very complicated to use, could you share your configuration ? did had to do any custom nginx configuration to get it working ?
Thanks

It can get ugly when you start doing minifcation and such, so I can't offer much assistance there, its usually different per site.
I also use Redis for my caching so this may be a bit too much, but you could just replace either with APCu or Opcache which is embedded in the image.
Send me an email and I'll send over some screenshots.

Excellent, thanks !!


update chlong after 1.0.8

What does this PR do?
update changes in chlog after releasing 1.0.8
Fixes # (issue)
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[x] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

Re-add a ## [unreleased.BugFix] - YYYY-MM-DD section?

Next release is 1.1 so no need now, but yes after the 1.1 we shall add it...


x/tools/gopls: semantictokens are disabled

What version of Go are you using (go version)?
$ go version
go version go1.15.6 darwin/amd64

Does this issue reproduce with the latest release?
Yes.

I sent a textDocument/semanticTokens/full request to gopls.
What did you expect to see?
I'd expect a response that contained semantic tokens.
What did you see instead?
{"jsonrpc":"2.0","error":{"code":0,"message":"semantictokens are disabled"},"id":2}

I've found documentation that describes settings, but when I create settings.json with the following contents it doesn't resolve the issue:
{
  "gopls": {
    "semanticTokens": true
  }
}

Here are the exact commands that I'm sending:
Content-Length:      334

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"rootUri":"file:///Users/christianbundy/Source/lsp-editor/hello.go","workspaceFolders":[{"uri":"file:///Users/christianbundy/Source/lsp-editor/","name":"lsp-editor"}],"capabilities":{"semanticTokens":{"requests":{"full":true}}},"initializetionOptions":{"semanticTokens":true}}}

Content-Length:       60

{"jsonrpc":"2.0","id":2,"method":"initialized","params":{}}

Content-Length:      125

{"jsonrpc":"2.0","id":1,"method":"workspace/didChangeConfiguration","params":{"settings":{"gopls":{"semanticTokens":true}}}}

Content-Length:      161

{"jsonrpc":"2.0","id":2,"method":"textDocument/semanticTokens/full","params":{"textDocument":{"uri":"file:///Users/christianbundy/Source/lsp-editor/hello.go"}}}

Ha! I spelled "initializationOptions" wrong. 🤦
Just got a response:
{"jsonrpc":"2.0","result":{"resultId":"2020-12-23 12:17:10.435932 -0800 PST m=+40.572894509","data":[0,0,7,0,0,0,8,4,0,0,1,0,6,0,0,0,8,3,0,0,1,0,4,0,0,0,5,4,0,0,1,4,3,0,0,0,4,7,0,0,0,8,13,0,0]},"id":2}

Admittedly that data structure isn't what I was expecting, but I'm sure it's documented somewhere. Sorry for the noise!


Enlarge arena size and change player moving method

gameWidth = screenWidth * 3
gameHeight = screenHeight * 3
The player figure will keep staying in the middle of screen. When it moves, other objects will change position according to it.

Great work! @giongto35
Feel free to add yourself as a contributor in package.json if you want :D


Processing Reflection-Related Strings in Go

These strings appear to be related to RTTI / reflection. two things suggest this:

their contents, which are Go type names, and
working backwards, to see where they're used, are type descriptors (rtype and friends).

it might be possible to reconstruct these type descriptors, such as structures and their fields, used in a Go program, and then we'd be able to link the string to the type/structure/metadata.
the upside: more complete information
downside: more work
the existing approach is simple and probably works fine. maybe we can update the documentation here to clarify what strings these likely are (reflection-related).
Originally posted by @williballenthin in https://github.com/mandiant/flare-floss/pull/792#discussion_r1239739350

Most (but not all!) rtype (or runtime type) structures are linked in the moduledata typelinks list. I would recommend not attempting to parse these structures, it is quite version specific as their layout has changed multiple times. In the case of obfuscators it is often very hard to determine the runtime version which makes parsing these version specific structures even harder.
As we already have a tool capable of parsing these back to both Go and C style structures: https://github.com/mandiant/GoReSym/blob/722143ebb199428cdf0a3dcfcdf29b621aa204fa/objfile/objfile.go#L1015 I would instead suggest that floss avoid this and delegate labeling strings of this type to that tool. There may be some sort of symbiosis we could leverage here, perhaps it makes sense to allow floss to invoke GoReSym? Or Embed it as a library?

given that these strings are already null-terminated, or at least separated by non-printable characters, the net benefit of processing these structures is simply to annotate the FLOSS results better. the naive strings.exe algorithm already extracts these strings, it just isn't able to say "oh this is a reflect-related string, not from program source code". it would be nice to have this, but we should balance the value with the effort/maintenance burden.

Agree it would be nice to provide this to a user, I suggest integrating full type parsing into floss would be a burden for multiple reasons. Would the integration of GoReSym in some fashion be in scope/reasonable?
This would contain the complexity to that tool.


python3Packages.jaxlib: NVIDIA GPU not detected correctly

Describe the bug
The jax/jaxlib python packages are not detecting NVIDIA GPUs on EC2 instances running NixOS. This is due to other packages including jaxlib in their propagatedBuildInputs instead of checkInputs. I'll follow up with a PR to fix all of these instances.
Steps To Reproduce
Steps to reproduce the behavior:

Run a g4dn.xlarge EC2 instance including the following in its /etc/nixos/configuration.nix

  # NVIDIA drivers, etc.
  nixpkgs.config.allowUnfree = true;
  services.xserver.videoDrivers = [ "nvidia" ];
  hardware.opengl.enable = true;

Set up a shell.nix file as follows

let
  # Last updated: 1/17/2022. Check for new commits at status.nixos.org.
  pkgs = import (fetchTarball ("https://github.com/NixOS/nixpkgs/archive/bc59ba15b64d0a0ee1d1764f18b4f3480d2c3e5a.tar.gz")) { };
in
pkgs.mkShell {
  buildInputs = with pkgs; [
    python3
    python3Packages.flax
    python3Packages.jax
    (python3Packages.jaxlib.override { cudaSupport = true; })
  ];
}

Note

❯ nix-shell shell.nix --run "python -c 'import jax; print(jax.devices())'"
WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
[<jaxlib.xla_extension.Device object at 0x7f6a26b50270>]

OTOH, removing flax from shell.nix makes everything work just fine. This appears to be due to packages including jaxlib in their propagatedBuildInputs which creates multiple jaxlib editions in $PYTHONPATH:
❯ nix-shell shell.nix --run "echo \$PYTHONPATH | tr ':' '\n' | grep jaxlib"
/nix/store/2b9adfxqq0ix45q0qslhwwrl86z5jw97-python3.9-jaxlib-0.1.75/lib/python3.9/site-packages
/nix/store/qrddbps5cq62n2d0fg05dm73ykxzsyv3-python3.9-jaxlib-0.1.75/lib/python3.9/site-packages

This means the CPU version of jaxlib is clobbering the GPU-version. We need to remove jaxlib from the propagatedBuildInputs from all packages so that users have the choice of which version of jaxlib to use.
Expected behavior
GPU to be automatically detected when the correct drivers are installed/configured.
Screenshots
n/a
Additional context
I initially suspected that this was related to the transition to a source-build of jaxlib in https://github.com/NixOS/nixpkgs/pull/151909, but that appears to be unrelated.
Notify maintainers

@samuela @ndl
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.91, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.16`
 - channels(root): `"nixos-21.11.335376.610d4ea2750, nix-ld"`
 - channels(skainswo): `"home-manager, nixpkgs-unstable-22.05pre343295.adf7f03d3bf"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

@ndl It appears I missed this in reviewing your jax package PRs. I'll submit a PR soon!

Thanks for the investigation / debugging! Note that just moving jaxlib from propagatedBuildInputs to checkInputs might be not sufficient - IIRC I've already removed jaxlib in all packages that didn't explicitly require it in setup.py, but some packages do. I'm not sure if putting it just to buildInputs would work to silence the setup and avoid propagation, but if not - several packages might need patches that remove jaxlib from the list of their explicit requirements in setup.py.
In general, I'm not 100% what's the best approach here, though, as the situation with tensorflow is actually similar - and some packages depend on it as well. In my local setup I typically just override both jaxlib and tensorflow globally in the overlay with the GPU-enabled version, thus injecting them everywhere and consistently.

Oof, that's tricky. I'd like to avoid relying on overlays if at all possible, but I do see what you mean here... I'll try to see how far I can get patching the packages to avoid the explicit jaxlib dependency and go from there. IIUC they aren't supposed to be directly depending on jaxlib to begin with.

Does tensorflow/pytorch default cudaSupport = true or do they also default to not including it? These days everyone is training on GPUs, so maybe another solution here is to just default to cudaSupport = true.
The overlay solution would work but it requires massive rebuilds of the entire ecosystem to be done by every user.

For tensorflow see https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/tensorflow/default.nix#L16 and https://github.com/ndl/nixpkgs/blob/master/pkgs/top-level/python-packages.nix#L9629, for pytorch it's https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/pytorch/default.nix#L2 and https://github.com/ndl/nixpkgs/blob/master/pkgs/top-level/python-packages.nix#L8130 respectively.
TL;DR: both of them define aliases <package>WithCuda, <package>WithoutCuda and just <package> where <package> uses pkgs.config.cudaSupport - which, I think, is false by default => if somebody depends just on <package>, they use non-CUDA version.
Note also that the comment from TF derivation highlights the fact that enabling CUDA by default would make the packages unfree - not sure how problematic that is (= will break them for everybody who doesn't have unfree enabled in local config?), just wanted to mention it explicitly.


Added Stardust - Semantic UI integration for React

Hello, I was unable to find correct category, so I have created a PR.

how about UI Frameworks?


Add a parameter to allow customising radial track labels

This is a PR to implement this feature : https://github.com/GeekyAnts/GaugesFlutter/issues/245
Don't hesitate to modify it as you want.

Can you also please add screen shot or something which can demonstrate this feature ?

Sorry, I will close this pull request because I have done it from the "main" branch of my repo.
I will reopen it with a different source branch.


I can't see the progress bar...

The training progress is not shown after training, what's wrong with it?

I got one gpu, waiting for a long time.

opoos, i used all features instead of hvg, so it's too slow


Error reading table

Hi, we've got this problem reading BSEG, any advices what could mean this error?
SapCo2.Wrapper.Exception.RfcException: SAP RFC Error: RFC_ABAP_RUNTIME_FAILURE with message: Data was lost while copying a value.

Can you give more details about the problem? Maybe checking the data types in the model you created with the data types in the RFC may help the solution.

The problem was too long parameter in abap query with equal condition, but i wonder why there wasn't any information about it in exception


Slash command permissions

Hey, thanks for this great repo!
I have a question or a feature request idk :)
Is there a way to set a slash command permission on deploy? Like this
https://discordjs.guide/interactions/slash-command-permissions.html#user-permissions
I think it should be in the CommandOptions
@Command({
  name: 'command',
  description: 'command',
  permissions: [
   {
    id: '224617799434108928',
    type: 'USER',
    permission: false,
  }
],
})

Hi! Thanks for feedback.
If this is set in the decorator, then how, for example, to determine for which guild this will work?

I got the same request :)


Template UI

This relates to [ ]'s WebGL template PR. Just a UI for the template overhaul which somewhat removes the need for people to have different links for template styles, and turns that into a changable setting on the site itself.

@Mikarific mentioned she was working on this. Can you assign it to her @FlyingSixtySix? They do not show up as an Assignee.


legacy: removal of bibconvert module

INCOMPATIBLE Removes bibconvert module. (addresses #3233)

Signed-off-by: Jiri Kuncar<EMAIL_ADDRESS>

@jalavik @tiborsimko are we good to go with removin BibConvert?

@jirikuncar I guess, but we should somehow retain the XSLT and/or KB work - as separate thing perhaps.

The two biggest users of BibConvert were WebSubmit and OAIHarvest.  The removal is relatively safe WRT WebSubmit that is gone, but we may need to be careful WRT new OAI harvester.  (usually connected to XSLT converting mode that @jalavik mentioned)

So there are some sample workflows in invenio-oaiharvester from invenio-workflows which use convert() from BibConvert XSLT engine (but it is not a hard requirement). We can rewrite those to use the xslt directly via some utility function, so should be fine.
My main worry is the actual XSLT files which we should keep somewhere.

You mean the files under https://github.com/inveniosoftware/invenio/tree/master/invenio/modules/converter/converterext/templates ? Since they are all specific to MARCXML, shoudn't they be moved somhere into invenio-demosite?

@kaplun Yes, indeed that could be an option. Those who'd want to use it would have to copy them to their own overlay, but it could suffice for now.


Update tutorials link inside the app

Looks like we forgot to update our link inside the app to docs.zaphq.io, looks like the current link is broken

https://github.com/LN-Zap/zap-iOS/blob/master/Library/en.lproj/Localizable.strings#L8
here are all the links we have in the app. should already be up to date.


doc: add first development guide

Signed-off-by: Djalal Harouni<EMAIL_ADDRESS>

regarding the file location: https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors

To help your project contributors do good work, you can add a file with contribution guidelines to your project repository's root, docs, or .github folder.

i vote for putting CONTRIBUTING.md at the root directory to be consistent with cilium https://github.com/cilium/cilium/blob/master/CONTRIBUTING.md

i vote for putting CONTRIBUTING.md at the root directory to be consistent with cilium https://github.com/cilium/cilium/blob/master/CONTRIBUTING.md

+1, this is also consistent with how many projects do it.

@michi-covalent @willfindlay done, hope I did get it all.


Rule builder: Rules evaluating custom fields on orders fail

PHP Version: 8.2   | Shopware Version: <IP_ADDRESS>  | Affected area / extension: Platform(Default)

Actual behaviour:
Rules, evaluating custom fields (tested text, checkbox, select) related to orders, never result in "true". But the same ones work on products.
Expected behaviour:
Rules evaluate correct.
How to reproduce:

Relate custom fields (of type text, checkbox or select) to orders an fill them with data to check.
Configure rules, evaluating that desired data exist in this fields.
Check the result using the rule in a flow that get's triggered or in the preview for "rise" and higher plans.

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-39967
[created from NEXT-39967, comment 522271]

Also tested in <IP_ADDRESS> with same result.

[public]

Priority changed to: High

Thank you for your report. Based on the information in this report, we have decided to investigate this issue in more detail and are planning to provide a fix for this issue. Although we are always eager to solve such problems as soon as we can, we can't give you a more specific time frame right now. We appreciate your patience and thank you for your understanding.
[created from NEXT-39967, comment 523362]

[public] We could not reproduce the issue. The Preview successfully matches the rule to a specific custom field, at least in the current dev version, but there have been no changes to the code in this area recently.
[created from NEXT-39967, comment 529030]


test: remove tmp dir

I was looking at the test code and noticed one thing, so I am sending you a PR.
The Deno.makeTempDir() creates a temporary directory for testing, but maybe we need to handle deleting this directory.
My understanding is that the directory is increasing each time the test is run on the PC.
(Also, the Deno documentation says It is the caller's responsibility to remove the directory when no longer needed.)
So I added a process to remove temporary directories.
If I have missed something and there is no need to remove it in the first place, you can close this PR👍
Thank you.

This PR looks good, but seems to cause problems with CI on Windows.
fresh-init => ./tests/cli_test.ts:37:6
error: Error: The process cannot access the file because it is being used by another process. (os error 32), remove 'C:\Users\RUNNER~1\AppData\Local\Temp\e4f7d61c'
error: Test failed
    await Deno.remove(tmpDirName, { recursive: true });
    ^
    at async Object.remove (deno:runtime/js/30_fs.js:161:5)
    at async fn (file:///D:/a/fresh/fresh/tests/cli_test.ts:171:5)

fresh-init --twind --vscode => ./tests/cli_test.ts:177:6
error: Error: The process cannot access the file because it is being used by another process. (os error 32), remove 'C:\Users\RUNNER~1\AppData\Local\Temp\25fc6cf1'
    await Deno.remove(tmpDirName, { recursive: true });
    ^
    at async Object.remove (deno:runtime/js/30_fs.js:161:5)
    at async fn (file:///D:/a/fresh/fresh/tests/cli_test.ts:326:5)

@hashrock Thanks for your comment!
I have tried on a Windows machine and was able to reproduce this issue.
I will try to investigate the cause.

Thank you! Looks good, but I'll look into a way to do it without delay just in case. If not, I'll merge it in.


Fixed PredicatesList iterator

Coverage remained the same at 100.0% when pulling e1828e14bd5aa2db395d10551e1449fa6360272c on feature-newiterator into b856efbdc9b16ac8af9c0adcaf4ed9710856a209 on main.


after git commit -m "my comment" will delete all files

git commit -m "my comment" it will delete all my files leaving nothing to push

@johnjake could you provide more information? Are you referring to git pre-commit hook that was installed via running ./ktlint installGitPreCommitHook? Which ktlint version are you using?

I just resume the project technically I am new with ktlint and from previous hard disk, it work perfectly fine until I install and new HDD and install AS, I assume it will work, as normal but then I encounter deleting all the files. I am using 0.33.0 I am not sure if it was installed via ktlint installGitPreCommitHook

Could you please update to latest ktlint version, remove your git hook and install it again via installGitPreCommitHook command? Then check again delete behavior still happens.

Closing due to inactivity. Feel free to reopen with more details.


Error appears after enter test credentials on Plaid modal

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue is failing PRs https://github.com/Expensify/App/pull/4962 and https://github.com/Expensify/App/pull/5029 (CC @marcaaron)
Action Performed:

With the app instlalled on the device navigate to staging.new.expensify.com/bank-account/new
Select the option to log in to bank account
Enter the test credentials.

Expected Result:
User should be able to use the test credentials and redirected to the bank account selector.
Actual Result:
An internal server error occurred when using the test credentials.
Workaround:
Unknown.
Platform:

Where is this issue occurring?

Android
iOS

Version Number: 1.0.93-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/44479856/132071487-c22c4f16-0aac-4888-9d85-8db65182e576.mp4
Expensify/Expensify Issue URL:
View all open jobs on GitHub
Assigned @marcaaron since he's the author of both PRs.

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Is this only happening on Android? It was working fine for me and now suddenly isn't on staging. Since no customers are using this yet we can either revert this or merge it anyway. I'll leave this up to deployers to decide as it's Friday and I don't know if there are plans to deploy a release build or not.

I was only able to check on Android app since iOS bank-account/new link is redirecting to mWeb (mentioned here https://github.com/Expensify/App/pull/5029#issuecomment-912829890) I asked a tester to check on iOS with the new link and will let you know the results.
On the deploy release I think @roryabraham can answer that :)

Same error is reproduced in iOS

Given that:

This is not yet a user-facing feature
Before the offending PRs, the modal just wasn't rendering at all (so it's not really broken any worse than it was before)

I think we can demote this from deploy-blocker to regular bug.

So... I'm stumped on this one. But here's what I can say about it:

I re-tested on dev build + also with staging env variables and it works... totally fine
Staging web works.. well, fine
Built a release build for Android and it works... fine
Went back to try the Play Store beta again and... Internal error occurred

And that's my cue... have a good weekend everyone 😃

Took another look today and I have verified that:

Non-sandbox bank connections should work fine on production
Probably there's some issue with our token endpoint and we are getting rate limited as described here

@kevinksullivan @MitchExpensify do you guys think this is worth prioritizing right now? It basically means that we can't test Plaid using the sandbox credentials on staging versions of the app until resolved.

Did some more testing + looking at logs and noticed that we are actually using the production.plaid.com API endpoint (logs) while using the staging version of the app.
However, the staging version of the app should be pointing to staging-secure.expensify.com which should be using the sandbox.plaid.com endpoint. On the web version of the app the correct endpoint is used. However, it looks like that's not happening for the native app judging from the logs. Pretty confused about why this is happening. 😕

Alright, now I just think maybe this has never worked and we haven't tested it on native. I'm pretty sure we are not using the "staging" environment variables for these builds. @AndrewGable or @Jag96 do either of you guys know?

Yes, I agree. I think TestFlight and Google Play Beta use production end points because we do not build another version, we just move them from TestFlight to production, changing the end points would require a new build

Yes, I agree. I think TestFlight and Google Play Beta use production end points because we do not build another version, we just move them from TestFlight to production, changing the end points would require a new build

Ah ok that makes so much sense thanks for verifying. Mystery solved! I thought I had broken this 😄
It does seem like we're able to detect that we are in the "staging" environment (judging from the STG header badge) so maybe we can have secure calls switch to the staging server in these cases. Will spin something up for that.

It does seem like we're able to detect that we are in the "staging" environment (judging from the STG header badge) so maybe we can have secure calls switch to the staging server in these cases.

Yeah, you can check getEnvironment and betaChecker to see how we handle the badges, I think using the same logic would be the best way to handle that using existing code.

I guess thinking more on this though... is the intention of having a beta version of the app that things like setting up a bank account would work as they do in production? I'm not sure who has access to this beta - but if I was a random public beta tester (or even an internal one) I might be confused about why the app isn't letting me set up a bank account (and the answer would be because we are using a sandbox).

is the intention of having a beta version of the app that things like setting up a bank account would work as they do in production?

Yes, I believe that is the intention.

Got it. Maybe we can add a toggle in settings to switch to the staging secure server? I know there was some discussion about always having staging use the production endpoints. But it makes testing these flows with test credentials impossible. Just not sure how desperate we are to get this working. Will wait for @MitchExpensify @kevinksullivan to chime in before doing anything else.

How do we test this on old.expensify?

On the staging website we just use the staging secure server.
On Mobile-Expensify we hit this page and would be staging or prod based on this which ultimately depends on this which we can toggle with a switch here.

Just following up here. Ended up implementing something similar to what we have in Mobile-Expensify and hid it in the user preferences here:

It should only show on the Google Play / Test Flight versions of the app as it's using the environment checker + basically just forces the API to use staging secure then saves it as a local preference.

Here for the design eyes - can we get some more padding below the language selector and above the test preferences section? Thanks!

Also I think the switch and the label to the left should be vertically centered.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@shawnborton ah shucks I'll create a follow up for those comments @shawnborton as this got merged before I could update. FWIW it's only going to be visible for beta users but I agree with the padding and centering comments 100%.

🚀 Deployed to staging by @ctkochan22 in version: 1.0.95-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.0.96-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Adds proof harnesses for s2n_stuffer_*_pem functions

Resolved issues:
N/A.
Description of changes:

Adds a pre- and post-conditions to the s2n_stuffer_data_from_pem function;
Adds a pre-conditions to the s2n_stuffer_private_key_from_pem function;
Adds a proof harness for the s2n_stuffer_private_key_from_pem function;
Adds a proof harness for the s2n_stuffer_certificate_from_pem function;
Adds a proof harness for the s2n_stuffer_dhparams_from_pem function;
Adds a stub for the s2n_stuffer_read_base64 function;
Adds a stub for the s2n_stuffer_read_expected_str function;
Adds a stub for the s2n_stuffer_skip_expected_char function;
Adds a stub for the s2n_stuffer_skip_whitespace function;

Call-outs:
N/A.
Testing:
N/A.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2123 into master will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #2123      +/-   ##
==========================================
+ Coverage   81.06%   81.07%   +0.01%
==========================================
  Files         247      247
  Lines       18390    18395       +5
==========================================
+ Hits        14907    14913       +6
+ Misses       3483     3482       -1


Relative URL paths as $refs

I am trying to replace RefResolver with Registry in pystac (https://github.com/stac-utils/pystac/pull/1215) and cannot get relative paths to work. I wrote a retrieve function that should make the relative schema URIs  absolute with respect to the location of the base schema, but it seems like the ../.. are getting stripped off.
Here is an example of the type of schemas I am working with: https://raw.githubusercontent.com/radiantearth/stac-spec/v0.8.1/collection-spec/json-schema/collection.json.
"../../catalog-spec/json-schema/catalog.json" for instance is just "catalog-spec/json-schema/catalog.json" within my retrieve function.
This is potentially similar to #70, but these refs are not prefixed by file so I think this style of ref is supposed to be legit

I (obviously in a minute or two) haven't looked completely carefully, but initially, those indeed don't look legit for similar reasons! It's ambiguous what you mean when writing that, whether it's relative to the path of the file itself or whether (the more likely case) that it's relative to the working directory of the process!
You likely should change to use some URI scheme with proper relative path support, but I'd have to take a closer look to be sure.

As a follow-up: is the issue that the $id is not a URL? If so then this might only be an issue with older versions of the spec since later versions specify the $id as a real URL: https://schemas.stacspec.org/v1.0.0/collection-spec/json-schema/collection.json

As a follow-up: is the issue that the $id is not a URL?

I have to remind myself what the spec says honestly, what's going on here has to do with establishing a base URL basically -- and referencing has no way of knowing what base URL you mean (even though you obviously have one in mind, a base URL of the file path to the file you're using). My recollection is that yeah the JSON Schema says $id of the root document is supposed to be an absolute URI, but I forget and have to remind myself, it's been a bit since I wrote referencing even :D

Is there a recommendation for how to work with relative refs?

If I recall correctly from the other issue, the "hacky" way to proceed down this path regardless of whether it's allowed is, in retrieve, to ignore that you get an absolute path and regardless join it to your schema directory path. But I have to check again to see if there's an even better recommendation, or better something consistent with the spec.
And of course I could entirely be misremembering, so I'll leave this open anyhow to see if I've led you astray.

 After I did that the rel refs worked just fine!


Fix building sql-server in travis matrix

Fixes travis matrix build with introduced sql server
Problem
Randomly 2.11 or 2.12 build hangs on preparing sql-server
@getquill/maintainers

Seems like my changes didn't work, one of the build hangs after Sql Server ready printed line, most likely on this one:
sqlcmd -S sqlserver -U SA -P "QuillRocks!" -Q "CREATE DATABASE quill_test"
@mxl, @juliano Do you guys have any idea?

It still hangs, I have not idea why

@mentegy We can merge this. Reopen if you don't mind.

Just change PR description and commit comment.

@mxl I can do this, but a couple of hours later

pulling locally fails into  ERROR: error pulling image configuration: Get https://registry-1.docker.io/v2/microsoft/mssql-server-linux/blobs/sha256:5985832855cf1233b22c268d5f69c55b83e89e01679ec0869d8664fd11e8aff4: net/http: TLS handshake timeout

from travis, one of the build fails with:
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : TCP Provider: Error code 0x2749.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

@getquill/maintainers according to https://github.com/Microsoft/msphpsql/issues/211#issuecomment-272785670 and some other issues there seems like sql server  on some of the travis matrix instance works on another port rather than default. How does travis matrix works? Do it share the same host ?

@mentegy Each build matrix row runs as separate job. It's like it was before but now instead of one job in each build it's two jobs in each build - one with SCALA_VERSION set to 2.11 and other with 2.12. Each job runs a separate virtual machine instance with docker engine installed and all containers run on this docker host. If sql server runs on another port rather than default every time then build should fail each time, but it seems that fails are random.

@getquill/maintainers most likely sql server linux image is unstable. I'd like to not have this non-deterministic build to be present in master. Any ideas?

Considering that it succeeds eventually, wdyt about using a timeout when waiting for sql server and use travis_rety to retry the build if it times out?

closing this on favor of #795


[BUG]: Windows desktop app Get Started flow: Providing an email address isn't optional despite claim that it is

How are you running AnythingLLM?
AnythingLLM desktop app
What happened?
At the end of the Get Started flow, I'm presented with this screen:

Despite the fact that the heading says "Optional", I cannot proceed with setup leaving the email field blank. Unless I fill in the email field, the arrow button to the right keeps popping up the admonition shown in the screenshot.
Are there known steps to reproduce?

Download and run the desktop app installer for Windows.
Complete the setup process, choosing LLM, embeddings and vector store providers.
End up at the abovementioned screen.

I can confirm, it is optional, the opt out could be a bit more obvious, but this is 2024, dark patterns in UI are everywhere now even in open source applications.