Runtime error on Zeit Now

When deployed to Zeit Now, my proof-of-concept repo (https://github.com/iherger/prisma2-now) leads to the following runtime errors:
Photon could not resolve the needed binary for the current platform linux-glibc-libssl1.0.2.
Instead we found<EMAIL_ADDRESS>which we're trying for now. In case Photon runs, just ignore this message.

The prisma data source and generators are defined without the platforms setting, i.e.
datasource pg {
  provider = "postgresql"
  url      = env("POSTGRESQL_URL")
  enabled  = true
}

generator photon {
  provider = "photonjs"
}

generator nexus_prisma {
  provider = "nexus-prisma"
}

I just performed a Zeit now deploy using your example repository and didn't have any issue.
https://prisma2-now.drigger.now.sh
Can you please try again? I installed the latest preview in that repository and deployed.

Thanks for looking into this.
I had an old prisma2 version in the dev dependencies, but even with the latest version 2.0.0-alpha.120, I am getting a runtime error (well, it's a warning, I guess):

Oh okay, I can also see the warning if I look deep down in my logs even though the service is working fine.
I think their runtime changed. I will carry this internally.

@iherger Can you confirm that the service works for you? But the warning is listed? I will write more about why this warning exists and how it can be mitigated later.

I can confirm that the service works.
FYI: I also tried adding
platforms = ["native", "linux-glibc-libssl1.0.2"]

which resulted in the service not working (but no runtime error message/warning, strangely enough...)

Zeit's build machines are different from their deployment machines. Prisma CLI fetches binaries and circles through them to fetch the right binary which is where this warning gets printed. It is a feature not a bug (the classic) that makes zeit's now with Prisma 2 with 0 configuration.
Does that make sense?
This spec details this feature and this section has listed this use case.

Hey!
We'll make sure the libssl version matches, so you can deploy those without problems.
More details: https://github.com/zeit/api/issues/489

Since https://github.com/zeit/now/issues/2824 has been closed, we need to retest this.
Assigning it to myself, I will post my findings here.
@iherger maybe you can also test this.

@pantharshit00 , I just redeployed on zeit/now and I still get the warning message. As before, everything works well, though.

@iherger Did you read my message above? https://github.com/prisma/prisma2/issues/394#issuecomment-524261197
That warning is intentional :)
We should maybe re-phrase it or something to make it more welcoming.

@divyenduz, thanks. Yes, I read this, and it makes sense, and everything works fine!
My understanding was that zeit/now wanted to fix this by bringing their build and deployment machines in sync, so that the warning would disappear, but I may have gotten this wrong.

Your understanding is absolutely correct. I think they published a fix today. Maybe this error does not appear anymore afterwards.
If that is the case and if you are satisfied, please feel free to close this issue :)

Thanks. The warning seems to have disappeared.

I'm not able to run prisma 2 on zeit now witn next.js v9. It always ends with:
Error: Photon binary for current platform linux-glibc-libssl1.0.2 could not be found.
  Make sure to adjust the generator configuration in the schema.prisma file:
generator photon {
  provider  = "photonjs"
  platforms = ["native"]
}
  Please run prisma2 generate for your changes to take effect.
  Note, that by providing `native`, Photon automatically resolves `linux-glibc-libssl1.0.2`.
  Read more about deploying Photon: https://github.com/prisma/prisma2/blob/master/docs/core/generators/photonjs.md

Also I tried every combination of generator settings (with and without platforms). Any idea what could be wrong? @divslinger @iherger

Ok, so there is still this problem with Zeit Now and Next.js. The ZEIT Now example works as it doesn't use Next.js. I don't know the exact reason for this bug but I think it's related to different Builder for Next.js. Can we reopen? @pantharshit00

@petrbrzek Can you please create a new GH issue with a minimal reproduction and tag me there? Thanks


server: support lossy metrics compaction

Signed-off-by: glorv<EMAIL_ADDRESS>
What is changed and how it works?

Issue Number: ref #12355
What's Changed:

add a new config to support lossy metrics compaction(reduce histogram size by filter out variants with less than 1% samples), this can further reduce the metrics size by about 10%.

This PR is split from #12732 by keeping the metrics-policy part:
Add a new config server.metrics-compact-policy with three options:

"no"(default). do nothing, return all the raw metrics data.
"lossless". As implemented in https://github.com/tikv/tikv/pull/12602, do not return counters with 0 value and histograms will 0 samples as they are the same as the default value, so we reduce the data with no information loss.
"lossy". Try to reduce the metrics as much as possible. In addition to level LoseLess, this PR will also reduce histogram vector type by filtering all histograms whose sample count < max sample count * 0.01. We may also do further operations(in the future), e.g. we can apply the ideas in https://github.com/tikv/tikv/pull/12417 to compress some data types when we come up with some consensus.

Test Result:

Metrics Compaction Policy
no
lossless
lossy

1407K
521K(37.0%)
400K(28.4%)

Related changes
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
None

@BusyJay @breezewish @zhangjinpeng1987  @kevin-xianliu  PTAL, thank you~

Closed as we don't reach an agreement on whether it is proper to reduce that much metrics.


Some federation endpoints have an ugly [200, {}] response

This is due to a legacy bug in Synapse from before the federation spec was a thing. It's correctly specified in the spec, but we need a /v2 endpoint of some things to remove the thing - similar to the invite endpoint.
This issue primarily exists as a place to point people who notice the weirdness.

Wasn't that https://github.com/matrix-org/matrix-doc/issues/1418?

indeed, I knew I wasn't crazy in thinking this was fixed. Looks like it needs a spec PR - I'll keep this open as a personal reminder to write that spec before we cut a release (as clearly it being a merged PR with a label isn't good enough).

as clearly it being a merged PR with a label isn't good enough

if that's true, isn't it also true of other MSCs under spec-pr-missing ?

I think I'm a little confused on this issue. So this is a spec bug and not actually implemented in Synapse/Construct? So I should use just res instead of [200, res] as the response body in the v1 endpoint for our server library?

the v1 endpoints return [200, res]. There also exist v2 versions of these endpoints which just return res: v2/invite has existed since s2s spec r0.1.0, and MSC1802 proposes the introduction of v2/send_join and v2/send_leave, though these have not yet made it into a released spec (though this is now just a formality).
Recent versions of synapse implement all three v2 endpoints, as well as the v1 versions for compatibility with older implementations. For outbound requests, Synapse will first try the v2 endpoints and then fall back to the v1 versions for compatibility with older servers.
I can't speak to what construct does here.
To be spec-compliant, you should follow Synapse's behaviour.
If this sounds like a mess: yes, fixing bugs in federated protocols is hard and takes ages :/.

as clearly it being a merged PR with a label isn't good enough

if that's true, isn't it also true of other MSCs under spec-pr-missing ?

Almost certainly. Usually I try to keep an eye on that label but this particular MSC missed the queue somehow.

Does the same thing apply for the send transaction endpoint?

That would be https://github.com/matrix-org/matrix-doc/issues/2236

Ah, thank you. I didn't find it in the other events listed in the MSCs linked here, but a simple search probably would have worked. Sorry about that.


Cannot cache requests

Application does not support caching of the same request.  Can this be implemented in Flask?

Flask-Cache support added and defaults, env vars included.  Performance on built project has not been confirmed.


add and modify sensor driver

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: fredchenams:white_check_mark: LizhenADI:x: andy2012zwjYou have signed the CLA already but the status is still pending? Let us recheck it.


AWS: ami-12fd8178 is missing?

To launch an instance in N. Virginia region, I searched "ami-12fd8178" in Community AMIs,
but I couldn't find the ami. When I searched "mxnet", I found following three AMIs.
MXNet.jl_GPU_IJulia_No_S3 - ami-29e6b043
GPU enabled MXNet.jl (Julia 0.4.2) +IJulia
Root device type: ebs Virtualization type: hvm
DeepestLearning - ami-b0162fda
Cuda 7.5 with cuDNN r4 (4.0.7) w/ TensorFlow, MXNet, Theano
Root device type: ebs Virtualization type: hvm
MXNet.jl_GPU - ami-eda8fc87
GPU enabled MXNet.jl 0.0.4 on Julia 4.2
Root device type: ebs Virtualization type: hvm
Am I missing something to find the ami-12fd8178?
(I might just use one of the above AMIs. The second one probably suits my purpose, which is to use python.)

Yes. The ami-12fd8178 is lost.
Now, the AMI Ids for the Deep Learning Amazon Linux AMI are the following:
us-east-1 : ami-e7c96af1
us-west-2: ami-dfb13ebf
eu-west-1: ami-6e5d6808
Product highlights:
New in Version 2.0 - CPU Instance Type Support, MXNet built with MKL support.
6 Deep Learning Frameworks - contains the most popular Deep Learning Frameworks (MXNet, Caffe, Tensorflow, Theano, Torch and CNTK) all prebuilt and pre-installed.
Pre-installed components to speed productivity include Nvidia drivers, CUDA, cuDNN, Anaconda, Python2 and Python3.

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


Renjani - Bio

Checklists
General Checks

[x] the branch is up to date with main/master
[x] the code works when pulled and run locally
[x] All CI checks pass
[x] all conflicts are resolved (if any)
[x] PR has a descriptive title
[x] PR has appropriate labels and milestones for easy identification
[x] PR it is assigned to the owner
[x] reviewers are assigned
[x] the PR contributes only one focused change
[x] It is in the appropriate column in the project board (if necessary)
[x] has short and clear description
[x] is linked to an issue (if it is related)
[x] feedback is addressed (if any and if it is appropriate feedback.)

Markdown

[x] the markdown source is formatted
[x] spelling and grammar is correct in all text
[x] The markdown looks correct when you preview the file
[x] all links and images work
[x] any embedded code snippets are formatted

Run the scripts locally and try to fix the errors, then add your .md file and push it again. To get rid of the file, you should remove it by running:
git rm <file>
then add it and push the change in your branch.
this time you should run
git add .
then commit and push it.


Disable submit button when uploading attachments

#2687  👈
main

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

Join @tommylau523 and the rest of your teammates on  Graphite


Could field actions show up in UI, even if it requires type conversion ahead?

#175 makes me wonder if these field actions could show up for the other date/time field types like FieldType.DATE and FieldType.TIME as well. It looks all other date/time fields should be converted into FieldType.DATE_TIME_TZ before field action. But is it working well today? Does UI handle it properly, i.e. showing as available transformations for other date/time field types as well?

#35 indicates that the answer is "no".
Hmm but if user need to explicitly add the type converter action for say FieldType.DATE => FieldType.DATE_TIME_TZ, that looks very low level. I'd expect implicit/automagical type conversion, at least for those date/time field types.
@mattrpav , @jpav , do you have any idea?

Or we'll have to add field actions with all the combination of those date/time field types.

I agree, I was also expecting auto-conversion to kick in here

So based on the chat in #35 , we'll have to add all the variation of date/time field types.

I think we need to keep discussing this.  Seems crazy to me to need all those variations. I'm still hoping if we implement auto-conversion differently, we can handle this without sacrificing usability, and in fact possibly increasing it.

@jpav interesting, what are you thinking in terms of implementing auto-conversion differently?

@jpav agree it's insanely annoying from engineering perspective. So the point is,

No additional steps from user POV
Appropriate set of field actions show up for the field type

With a bit additional chat, having an umbrella field type FieldType.ANY_DATE is a way to go?

@rohanmars , FYI, related to DateConverter as well

Closing - filed #205


Misc. Fixes, Generative Sample Template

This PR includes some additional fixes for numbering on the "installing packages" portions.  When the Gitbook is built, it appears the extra spaces in the numbering made it restart at 1. I believe this is fixed in this PR.

This also includes the "Generative Template" with built-in examples for community contributors to easily submit samples that "conform" to the existing examples.

@lillismith @mrahmaniasl , here is that first PR that includes the Dynamo template for generative workflows.


improve api commands

This PR:

combines all statistics commands to one

make it human readable (use -json for programing-friendly output)
multi-patterns support
regexp patterns support

rename restartlogger to api log
-json flag to all cmds
others

v2ray api stats -runtime # v2ray api statssys
v2ray api stats all.node1 # v2ray api statsget -name "all.node1"
v2ray api stats -json node1 node2 # v2ray api statsquery -name "node1"; v2ray api statsquery -name "node2"
v2ray api stats -regexp 'node1.+downlink' # new
v2ray api log # new, follow logs
v2ray api log --restart # v2ray api restartlogger

Examples
v2ray api stats -runtime
# 1   Up time               1h49m7s
# 2   Memory obtained       138.83MB
# 3   Number of goroutines  222
# 4   Heap allocated        6.93MB
# 5   Live objects          84712
# 6   Heap allocated total  394.39MB
# 7   Heap allocate count   5287466
# 8   Heap free count       5202754
# 9   Number of GC          110
# 10  Time of GC pause      143.282649ms
v2ray api stats -runtime -json
# {
#   "NumGoroutine": 208,
#   "NumGC": 111,
#   "Alloc": 6615144,
#   "TotalAlloc": 416545216,
#   "Sys": 145575944,
#   "Mallocs": 5321673,
#   "Frees": 5241267,
#   "LiveObjects": 80406,
#   "PauseTotalNs": 143417944,
#   "Uptime": 6613
# }

v2ray api stats node1 node2:
# 1   0           outbound>>>all.node1>>>traffic>>>downlink
# 2   0           outbound>>>all.node1>>>traffic>>>uplink
# 3   68.91MB     outbound>>>all.node2>>>downlink
# 4   1.49MB      outbound>>>all.node2>>>uplink
#
# Total: 70.40MB
v2ray api stats -json node1 node2
# {"stat":[{"name":"outbound>>>all.node1>>>traffic>>>uplink"},{"name":"outbound>>>all.node2>>>traffic>>>uplink","value":1611277},{"name":"outbound>>>all.node2>>>traffic>>>downlink","value":72614836},{"name":"outbound>>>all.node1>>>traffic>>>downlink"}

PS
For other format output:
v2ray api stats -json node1 node2 | v2ray convert -o=yaml

The last commit adds -json flag to v2ray api bi, so that third-party-programs don't have to parse the table, but they still has to parse values, like time, status, which are different between strategies.

rstlogger
I think vague abbreviations should be avoided

rstlogger

I think vague abbreviations should be avoided

reverted

Go v1.16 introduces a new package called runtime/metrics. Is it better to use it instead?
ref: https://golang.org/doc/go1.16#runtime

Go v1.16 introduces a new package called runtime/metrics. Is it better to use it instead?
ref: https://golang.org/doc/go1.16#runtime

Sorry, homebrew here is still 1.15.8, it's not convenient to try the new package.

Improved format loading
For end users:

auto detect config format
mixed config formats support
Improvements above also comes to api adi, ado, rmi, rmo

Examples:

	{{.Exec}} run -d dir                        (1)
	{{.Exec}} run -c c1.json -c c2.yaml         (2)
	{{.Exec}} run -format=json -d dir           (3)
	{{.Exec}} test -c c1.yml -c c2.pb           (4)
	{{.Exec}} test -format=pb -d dir            (5)
	{{.Exec}} test -format=protobuf -c c1.json  (6)

(1) Load all supported files in the "dir".
(2) JSON and YAML are merged and loaded.
(3) Load all JSON files in the "dir".
(4) Goes error since .pb is not mergeable to others
(5) Works only when single .pb file found, if not, failed due to
    unmergeable.
(6) Force load "c1.json" as protobuf, no matter its extension.

For developpers:

"infra/conf/merge" refactor
"core.LoadConfig" refactor
add "infra/conf/mergers"

contribute to it will benefit run,test,convert, api adi, ado, rmi, rmo
easily add new formats, by just adding a converter like json.FromTOML

default format auto, to all cmds above

auto detect input format
mixed formats support

don't use 'stdin:' placeholder
v2ray test now behaves exactly the same with v2ray run, including stdin reading

Thank you for your work.
I'm sorry, that I'm not in the best shape, which caused a long delay.


feature : implement new flag for-output-file-on-jacked

feature : implement new flag for-output-file-on-jacked that saves result based on its output type on a file

This merge conflict has been resolved on PR #76 since it contains the same commit files for the new flag for the output file.


Patents, other Questions

Hi!
First of all, thanks for this great super mouse! I have a few questions:

Is this design patent free?
Can I buy an assembled mouse from you, or do I need to find an assembly company to do that for me?
Do you have designs for the shell?

Thanks again for this cool idea!

@tderflinger
Hey, thanks for your interest in my Open Source Mouse! Here are your answers.

There is not a patent on this design. It is Open Source. Please see the OSHWA website for how to make sure that you are playing well with others. Basically, if you make anything from it, or make it and publish anything, you must attribute to me the work.

This project was a gift in the shwag bag for the 2018 Open Source Hardware Summit. There are no more populated boards left. Also, the Mouse Eye Sensors and lenses are not available. I have some in my lab that I could sell you at cost plus a tiny amount. If you're interested, please let me know. All the other parts are available.

I don't have any designs for the shell. That's on you.

 I'm happy to sell you the EOL parts (Sensor and Lens) at a very good rate. LMK if you're interested. All the other parts are easy to solder by hand of with a stencil, paste, and reflow-gun.

Hi BioMurph!
Thanks for offering to sell the EOL parts. When there is a need I will gladly come back to you.
I am relatively new to hardware and would like to give the design to a third party company to produce one piece for me.
Already, I have installed KiCad and looked at the PCB. Somehow I could not find the BOM with all the parts needed. Do you have a file with the parts numbers need to produce the mouse?
Regards,
-Tommy

The build is not too hard, but I understand that without experience it can be daunting.
I use BetaLayout for prototypes. They give a free stencil, which makes assembly easy. Maybe there is a hacker space in your area that can assist?
The BOM is in the repo, in the plots file.

All right, thanks for this information! I will check out BetaLayout.


[PR][CLOSED] Added @author and @see tag for doxygen documentation

 Issue by geunsik-lim
Tuesday Jul 10, 2018 at 04:36 GMT
Originally opened as https://github.sec.samsung.net/STAR/TAOS-CI/pull/112

This PR is to append @author and @see tag to generate doxygen document.
Changes proposed in this PR:

Add doxygen tags: @author, @see

Signed-off-by: Geunsik Lim<EMAIL_ADDRESS>
[Template] PR Description
In general, github system automatically copies your commit message for your convenience.
Please remove unused part of the template after writing your own PR description with this template.
$ git commit -s filename1 filename2 ... [enter]

Summarize changes in around 50 characters or less

More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical;
various tools like `log`, `shortlog` and `rebase` can get confused
if you run the two together.

Further paragraphs come after blank lines.

**Changes proposed in this PR:**
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded
  by a single space, with blank lines in between, but conventions vary here.

Resolves: #123
See also: #456, #789

**Self evaluation:**
1. Build test: [ ]Passed [ ]Failed [*]Skipped
2. Run test: [ ]Passed [ ]Failed [* ]Skipped

**How to evaluate:**
1. Describe how to evaluate in order to be reproduced by reviewer(s).

Add signed-off message automatically by running **$git commit -s ...** command.

$ git push origin <your_branch_name>

geunsik-lim included the following code: https://github.sec.samsung.net/STAR/TAOS-CI/pull/112/commits

 Comment by git-bot-sec
Tuesday Jul 10, 2018 at 04:36 GMT

Thank you for submitting PR #112. Your PR has to pass all verificiation processes of cibot before getting a review process from reviewers. We recommend that you read instruction manual in . If you want to monitor the progress status of your PR in detail, visit http://aaci.mooo.com/.

:octocat: cibot: Thank you for posting issue #136. The person in charge will reply soon.


replace debounce

The debounce method and its helper method doDebounce are terrible! I misunderstood how debouce works when I first added this and it needs to be corrected.

PS: Review the use of the throttle method as well and see what improvements can be made.

Closed by PR #24


Fix weird 'C' in CompletionResponse struct

🤔

My friend has informed me that the 'C' is not weird but Cyrillic 😅

@bnwlkr Wow that's a good one! Thank you for the PR 😌
The latin C and cyrillic С are on the same keyboard key, I guess I've started typing that word in cyrillic (it would be "Срщшсуы") and spotted error half-way through this word. And then instead of pressing option+backspace I've manually backspaced all characters except first one, because it looked fine.


from_json for non default constructible class with dependency injection

I have a class without a non default constructor like this:
class SomeStruct
{
public:
    SomeStruct() = delete;
    SomeStruct(std::shared_ptr<ContextData) : contextData_(contextData) { }
private:
    std::shared_ptr<ContextData> contextData_;
}

ContextData is a class that encapsulates dependencies, i.e., data I wish to shared between classes. In my main(), I would create a new ContextData object based on data from, say, a configuration file, and pass it around to classes that need this data.
Is there a way to implement from_json() for SomeStruct? I saw the example in the demo for a move constructible type, but I don't understand how I can capture additional data needed by the constructor of my class that is not coming from the json object argument to from_json().

Your type needs to be move-constructible. Then you can follow the example from the documentation: https://github.com/nlohmann/json#how-can-i-use-get-for-non-default-constructiblenon-copyable-types

Do you need further assistance with this issue?

I conclude that for a struct to be json serializable, it must be default-constructible or move-constructible, which implies that the only way to achieve dependency injection is to do:
struct SomeStruct
{
    std::shared_ptr<DataStruct> dependencies_;
    void setData(std::shared_ptr<DataStruct> dependencies)
    {
        dependencies_ = dependencies;
    }
};

instead of this:
struct SomeStruct
{
    std::shared_ptr<DataStruct> dependencies_;
    SomeStruct(std::shared_ptr<DataStruct> dependencies)
    : dependencies_(dependencies)
    {
    }
};

Is this correct? This is what I'm doing now. The downside is that between when the object of SomeStruct is constructed and when the client code decides to call setData(), some members of SomeStruct would have unassigned values. If this is the only way to achieve to_json() and from_json() of SomeStruct, I am happy to have the issue closed.


Add Power VS cluster api support

If the upstream powervs is ibmcloud, what's the upstream ibmcloud equivalent?

For both PowerVS and IBMCloud Platform the upstream cluster-api name ibmcloud, but intern we have IBMVPCCluster and IBMPowerVSCluster.

/hold until openshift/ocp-build-data#2072 is merged

/hold cancel
/lgtm
/assign @Fedosin
Mike could you also PTAL and leave an approve if you're happy with this

/approve

/retest-required

@JoelSpeed i have rebased the changes to remove merge conflicts and your lgtm label has been removed, Could you please take a look.

/lgtm

/test e2e-aws-serial

/retest-required


chore: code engine destination changes

PR summary
Code engine destination support for job
Fixes: <! -- link to issue -->
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?
code engine destination with only application as a webhook
What is the new behavior?
code engine destination is added with 2 options now one with application type and another with job
Does this PR introduce a breaking change?

[x] Yes
[ ] No

While creating and updating code engine destination class DestinationConfigOneOfWebhookDestinationConfig was used to specify the destination configurations as both webhook and code engine destintations had common properties.
As introducing job and application type in to code engine destination hence creating a separate class for code engine destination which is DestinationConfigOneOfCodeEngineDestinationConfig.
Users will have to use DestinationConfigOneOfCodeEngineDestinationConfig instead of DestinationConfigOneOfWebhookDestinationConfig for specifying destination configurations.
Other information

:tada: This PR is included in version 0.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


GIFs not downloading

Firstly, thanks for the tool! Been working great, however I recently noticed that GIFs from tweets seem to not be included in downloading media. I believe this worked before as I have some GIF files from previous scrapes; possible that the recent GIF playing upgrade changed something?

+1


Curve connector

Description

A connector to Curve (https://curve.fi/)
Should implement the Uniswapish class
Support ethereum, avalanche and polygon chains
Contains unit tests and meets % coverage requirements

See existing work: https://github.com/hummingbot/hummingbot/pull/5334
Bounty

Sponsor: Hummingbot Foundation
Bounty Amount: 286,500 HBOT
Developer Payment: 286,500 HBOT (100%)
Proposal: https://snapshot.org/#/hbot-ip.eth/proposal/0x0f86d963fc90c972efb78f6ae56b2ae2b189c6d6c8ffa1470aa000251a1163cb
Status: Open

Is this taken? Interested...

Is this taken? Interested...

No, it's still open.

Can you share what you've built for Balancer connector with me so that I
can assess your code before we assign you a bounty?
On Tue, Jun 6, 2023, 11:31 AM Tommy Anderson @.***>
wrote:

Don't really want to have to start over... but perhaps I can be assigned
to this one?
—
Reply to this email directly, view it on GitHub
https://github.com/hummingbot/gateway/issues/101#issuecomment-1579261204,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANWHVWS37JDALV52Z75TTLXJ5ZPHANCNFSM6AAAAAAX3Z6AMU
.
You are receiving this because you authored the thread.Message ID:
@.***>

This bounty remains open.
If you are a new dev who hasn't picked up any bounties before, please send me sample code if you want to be assigned this bounty, as it's a larger, more complex one.

Its July 15th is this still viable to participate? I can see quite a bit has been worked on in the repo

Its July 15th is this still viable to participate? I can see quite a bit has been worked on in the repo

Yes, the task is to take over the existing work and finish it off. If you'd like to take this bounty, please book a time on my calendar for a brief screening call: https://calendly.com/hummingbot/michael-feng

Assigned to @vic-en, please be informed:

Since you’re assigned to this bounty exclusively, please keep us informed on your progress over the next few days
Let us know if you don’t have time, and we will unassigned and keep it open for other devs
Only one dev can be assigned to one bounty

Thanks for your contribution!

@nikspz Wrapping up and about to commence testing.
ETA end of week.

PR #215 Merged to latest development branch (dev-1.22.0), connector will be available in 1.22.0 Release

Thanks for your participation, the bounty has been sent to @vic-en . The connector has been deployed on development branch and next hummingbot version 1.22.0


slskd: fix nginx options and make slskd.yml writable

Description of changes

This PR modifies the following aspects of the slskd module:

it fixes the behaviour of the nginx configuration in order to actually take the enable option into account, as it was not the case before;
it removes the enableACME option of the nginx configuration, as this is not the responsibility of this module to enable it (users could want to set up the proxy host with e.g. the useACMEHost option; see other web-related modules like nextcloud);
it adds a bindAddress option for the nginx proxy, which tells nginx which address to use to contact slskd. Indeed, this is necessary in some scenarios, as slskd might be reachable from a specific interface, and not lo;
it generates the config at service startup, which makes it writable. This allows for later modifications at runtime, which is necessary in order to update e.g. the listening port if it is obtained dynamically. This is also the approach taken by the transmission module for instance. Password is now provided through a passwordFile for consistency with this new approach (again, following what is done in the transmission module)

I am aware that this last change breaks the behaviour of the existing module, as it replaces the existing environmentFile. Feel free to tell me how to modify my request in order to either combine both behaviours or deprecate the previous method, etc., as this is my first pull request here :)
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3575

Thanks for your reply @zane-weissman! I'll try to find to find some time in the next one/two weeks to perform the rebase.

I'm not sure if we should remove the environmentFile option. It can be used to set other options that users may want to hide (i.e., soulseek username), and the removal introduces a breaking change.

(mistake on my part, going to re-open this)


Add filtering on metric name to label_values

Currently, Prometheus supports the following HTTP API call to retrieve all label values by its name:
/label/:name/values
It would be great to extend this with some kind of filtering on metric name, so you can get label values limited to the given metric.
For example, the label is device and I would like to get device name values only for the metric node_filesystem_free and not node_network_receive_bytes or other.
Say something like /label/:name/values?metric=:metric
Thanks!

Closing this, I realized that something more complex needed 😇


Frame Synchronization d400

Required Info

Camera Model
D415

Firmware Version
5.9.14

Operating System & Version
Linux (Ubuntu 16.04)

Kernel Version (Linux Only)
4.13.0-45-generic

SDK Version
2.14.0

Platform
PC

Issue Description
Hi, i've been working with the multicamera example so it is able to stablish the hardware synchronization of the connected cameras (in this case 2 d415) and it also captures an image like in the example of save-from disk, each camera in a different thread.
I've made some captures and the metadata retrieved from the captures shows that the frame counters are almost always different from both cameras and also in the same camera color and depth are still different. I don't understand exactly why this is happening, both hardware and software synchronization work in other test applied before.
Also, when we did the test with a chrono the difference between the time in each picture taken by the cameras was 0.05 seconds.
I'll attach the excel with relevant data from all the metadata of the test.
Muestras_415.xlsx
Thanks for the help.

When you are doing hardware sync between your two D415s, may I please confirm that you have connected the two cameras together, as described in the multi-cam sync white paper document linked to below?

https://realsense.intel.com/wp-content/uploads/sites/63/Multiple_Camera_WhitePaper_rev1.1.pdf
Also, have you set one of the D415s as a Master and the other as a Slave?
RealSense Group CTO Anders said recently: "When you set a camera to slave it will still acquire frames at the right frame rate even if there is no sync input signal.  It tries to sync but if there is no signal that comes in at the right time, it gives up and triggers itself."

Yes, the cameras are connected following the instructions of the white paper.
Also, the master mode is stablish like this:
'rs2_set_option((const rs2_options*)sen, RS2_OPTION_INTER_CAM_SYNC_MODE, 1, e);'
and the slave mode: 'rs2_set_option((const rs2_options*)sen, RS2_OPTION_INTER_CAM_SYNC_MODE, 2, e);'
Also i've checked that there is an external sync pulse so the cameras should be master and slave respectively. Is it possible that even with the pulse generated the cameras are still not synchronized?

Sync user @vladsterz also had questions on the subject a couple of days ago.   You may find something useful in their own post if you haven't seen it already.
https://github.com/IntelRealSense/librealsense/issues/2281

@rafaor29  Hey. I can confirm that frames counters are different in the two devices, which makes a lot of sense in my opinion. Since master and slave devices can start independently (or even if master has to start first, the statement holds), they will start acquiring frames at different times. Let's suppose that they start at the very exact moment. Now if slave drops a frame, different counters will occur once again. I am not sure what happens with the trigger pulse when master drops a frame, but it will lead to different counters as well.

Hi @vladsterz . I've seen that we're experiencing similar issue. I agree that it has sense that the frame counter is different so you can align the frames later. Still, what i think it is happening that the slave camera is not getting the signal at the right time as said before in this post, and it is triggering itself.
After stablishing the master and slave devices, how do you check each one is the one it is supposed to be?
Also, what you said, in the excel that i uploades you can find 2 cases in which a frame drop occurs in camera 74 and the difference between the timestamps of the color and depth sensors is bigger than usual.

Hey @rafaor29 . It's is easy to check whether a device is master or slave.
depth_sensor.get_option(RS2_OPTION_INTER_CAM_SYNC_MODE) is the command.
I have not checked the color-depth sensor sync, since I want to establish inter-device syncing at first.

[Realsense Customer Engineering Team Comment]
As for RGB-depth HW sync, please see #774.

[Realsense Customer Engineering Team Comment]
Hi @rafaor29,
Any update? Still need any support for this topic?

[Realsense Customer Engineering Team Comment]
Please reopen if you require more information


Animating custom recipe

Hey there,
I've been playing with Makie a lot in the past days.
I'm trying to animate a plot with a custom recipe using lift.
Below is a working example. You should be able to copy and run it.
I made a loop with sleeps that plays pretty much exactly what I would like to record.
When I try to use lift I get the following error message from which I couldn't figure out what to do as plot!(plot::Plot(MyBox,)) does not seem to be valid syntax.
julia> plot!(sc, lift(n -> boxes[n], idx_node); strokewidth=6)
ERROR: Plotting for the arguments (::MyBox) not defined. If you want to support those arguments, overload plot!(plot::Plot(MyBox,))
Stacktrace:
 [1] _plot!(::Combined{Any,Tuple{MyBox}}) at /home/jonas/.julia/packages/AbstractPlotting/NOT5R/src/interfaces.jl:522
 [2] plot!(::Combined{Any,Tuple{MyBox}}) at /home/jonas/.julia/packages/AbstractPlotting/NOT5R/src/interfaces.jl:515
 [3] plot!(::Scene, ::Type{Combined{Any,Tuple{MyBox}}}, ::Attributes, ::Tuple{Observables.Observable{MyBox}}, ::Observables.Observable{Tuple{MyBox}}) at /home/jonas/.julia/packages/AbstractPlotting/NOT5R/src/interfaces.jl:551
 [4] #plot!#195(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Scene, ::Type{Any}, ::Attributes, ::Observables.Observable{MyBox}) at /home/jonas/.julia/packages/AbstractPlotting/NOT5R/src/interfaces.jl:512
 [5] plot! at /home/jonas/.julia/packages/AbstractPlotting/NOT5R/src/interfaces.jl:481 [inlined]
 [6] #plot!#191 at /home/jonas/.julia/packages/AbstractPlotting/NOT5R/src/recipes.jl:32 [inlined]
 [7] (::getfield(AbstractPlotting, Symbol("#kw##plot!")))(::NamedTuple{(:strokewidth,),Tuple{Int64}}, ::typeof(plot!), ::Scene, ::Observables.Observable{MyBox}) at ./none:0
 [8] top-level scope at none:0

using Makie

# Define Box struct
struct MyBox
  mins
  maxs
end

# make custom plot recipe for MyBox
function Makie.plot!(sc::AbstractScene,
    mybox::MyBox; kwargs...)
    mins = mybox.mins
    maxs = mybox.maxs
    poly!(sc, Point2.([mins,(maxs[1],mins[2]),maxs, (mins[1], maxs[2]), mins]);
      color=:transparent, strokecolor=:red, strokewidth=2, kwargs...)
end

#Define wrapper around MyBox for different plotting
struct MyGreenBox
    mybox::MyBox
end

#A green box is plotted like a regular box but with fill color :green
function Makie.plot!(sc::AbstractScene,
    mygreenbox::MyGreenBox; kwargs...)
    plot!(sc, mygreenbox.mybox; color=:green, kwargs...)
end

#prepare list of boxes (some green)
boxes = map(1:10) do _
    mins = rand(2)
    maxs = mins .+ rand(2)
    b = MyBox(mins, maxs)
    rand() > 0.7 && (b= MyGreenBox(b))
    b
end

################################################################################
## This is a "live demo" of what I want to record
################################################################################

# 1) Show each nth box in nth frame with strokewidth=6
# 2) Keep all boxes in following frames but with thinner strokewidth

#prepare scene with some background dots
sc = Scene()
scatter!(sc, 2rand(Point2f0, 100), markersize=0.05)

sc_backup = deepcopy(sc);
plot!(sc, boxes[1]; strokewidth=6)
for n=2:length(boxes)
    sc = sc_backup; plot!(sc, boxes[n-1])
    global sc_backup = deepcopy(sc);
    plot!(sc, boxes[n]; strokewidth=6)
    display(sc)
    sleep(0.5)
end

################################################################################
## Attempt recording - which fails
################################################################################

sc = Scene()
scatter!(sc, 2rand(Point2f0, 100), markersize=0.05)

idx_node = Node(1)

plot!(sc, lift(n -> boxes[n], idx_node); strokewidth=6)
plot!(sc, lift(n -> boxes[1:n], idx_node))

record(sc, "test.mp4", 1:10) do n
    push!(idx_node, n)
end

Questions:

Is this possible? (Are there some grave mistakes to my approach?)
What methods do I have to overload to allow lifting of my custom plot recipe?
Can we improve the documentation to make the solution clearer ( maybe using something like this as an example)

Update:
I just found https://simondanisch.github.io/ReferenceImages/gallery//type_recipe_for_molecule_simulation/index.html
but I'm still a little stumped

I believe you have to use the @recipe macro - but that's still in flux.  There's some documentation within AbstractPlotting.jl if you search for recipe.

Thank you for pointing me to this.
This is probably what I was looking for.
I still have trouble with it though, as the example in the docstring does not run without errors. (on my computer)

Help? You already said that this interface is still in flux but there is an example in the docstring so I figured this should probably work.
I've tried it and for me it doesn't. From the docstring of @recipe:
using Makie
@recipe(MyPlot, x, y, z) do scene
      Theme(
          plot_color = :red  #Note:I've fixed the => to a =
      )
  end
function plot!(plot::MyPlot)
      # normal plotting code, building on any previously defined recipes
      # or atomic plotting operations, and adding to the combined `plot`:
      lines!(plot, rand(10), color = plot[:plot_color])
      plot!(plot, plot[:x], plot[:y])
      plot
  end

julia> myplot(rand(10),rand(10),rand(10))
ERROR: Plotting for the arguments (::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}) not defined for myplot. If you want to support those arguments, overload plot!(plot::myplot{ <: Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}})

I could however not figure out how to make this error go away as for example
julia> function plot!(plot::myplot{ <: Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}})
    # normal plotting code, building on any previously defined recipes
    # or atomic plotting operations, and adding to the combined `plot`:
    lines!(plot, rand(10), color = plot[:plot_color])
    plot!(plot, plot[:1], plot[:2])
    plot
end
ERROR: TypeError: in Type{...} expression, expected UnionAll, got typeof(myplot)
Stacktrace:
 [1] top-level scope at none:0

Maybe I'm just too stupid for this and I missed something obvious but then it should be pretty easy to help, right?

Sorry, was on vacation... You should have read the first error message:
ERROR: Plotting for the arguments (::MyBox) not defined. If you want to support those arguments, overload plot!(plot::Plot(MyBox,))

If you do that, you can create the recipe 1:1 as the molecule example:
using Makie

# Define Box struct
struct MyBox
  mins
  maxs
end

# make custom plot recipe for MyBox
function AbstractPlotting.plot!(plot::AbstractPlotting.Plot(MyBox))
  mybox_node = plot[1] # the node / signal
  mybox = mybox_node[] # get the current value for no animation
  mins = mybox.mins
  maxs = mybox.maxs
  poly!(plot, theme(plot), Point2.([mins,(maxs[1],mins[2]),maxs, (mins[1], maxs[2]), mins]);
    color=:transparent, strokecolor=:red, strokewidth=2)
end

plot(MyBox((0, 0), (1, 1)))

Please let me know where you got stuck with the molecule example so we can improve it ;)

The animated version:

function AbstractPlotting.plot!(plot::AbstractPlotting.Plot(MyBox))
  mybox_node = plot[1] # the node / signal
  points = lift(mybox_node) do mybox
    mins = mybox.mins
    maxs = mybox.maxs
    Point2.([mins,(maxs[1],mins[2]),maxs, (mins[1], maxs[2]), mins])
  end
  poly!(
    plot, theme(plot), # forward kw arguments,
    points;
    color=:transparent, strokecolor=:red, strokewidth=2
  )
end

Btw, Makie/GeometryTypes does have a box type named Rect:
x = Rect(0, -1, 2, 1)
println(minimum(x), " ", maximum(x), " ", widths(x))
[0, -1] [2, 0] [2, 1]

Hey @SimonDanisch !
Thank you for your time.
Responding in order:

I believe I did read the first error message but still couldn't make it work.
If I remember correctly it was because plot!(plot::Plot(MyBox,) didn't work
because AFAICT Plot is not exported by using Makie.

Your code works like a charm - well mostly. From your comment above ( theme(plot), # forward kw arguments,  ) I assume that theme(plot) is supposed to forward kwargs from the original call.
This does not seem to be the case for me. (function defined as above)
plot(MyBox((0, 0), (1, 1))) gives me a box with black background instead of transparent (but with red stroke)
plot(MyBox((0, 0), (1, 1)); strokecolor=:green) and this does not change the stroke

I'm aware of Rect and I'll use it next time but this question came up as part of a coding/visualization exercise

Ah, theme(plot) doesn't have precedence over keyword arguments (since it's intended usage is outside of recipe, where you don't want to ignore the kw-args). I guess for now you should just use plot[:attribute_you_want_to_extract]. In the future, maybe something like:
plot(plot, theme(plot, kw_args...)) could be a decent API.

Ah, ok.
I believe the single largest challenge for me is that I still do not fully understand what lift does.
Even though I have read the latest docs on lift I still find it hard when and how to use it inside the
plot!-recipe.
Along those lines:
If in addition to plotting one box I want to be able to plot a vector of boxes, is this the best I can do?
function AbstractPlotting.plot!(plot::AbstractPlotting.Plot(Vector{MyBox}))
  mybox_node = plot[1] # the node / signal
  points = lift(mybox_node) do myboxes
      map(myboxes) do mybox
          mins = mybox.mins
          maxs = mybox.maxs
          Point2.([mins,(maxs[1],mins[2]),maxs, (mins[1], maxs[2]), mins])
      end
  end
  poly!(
    plot, theme(plot), # forward kw arguments,
    points;
    color=:transparent, strokecolor=:red, strokewidth=2
  )
end

This works:
using Makie

struct MyBox
  mins
  maxs
end

function AbstractPlotting.plot!(plot::AbstractPlotting.Plot(Vector{MyBox}))
    mybox_node = plot[1] # the node / signal
    rects = lift(mybox_node) do myboxes
      map(myboxes) do mybox
          mins = mybox.mins
          maxs = mybox.maxs
          FRect(mins, maxs .- mins)
      end
    end
    poly!(
        plot, rects;
        strokecolor = :red, strokewidth = 1f0
    )
end

plot([MyBox((0, 0), (1, 1)), MyBox((1, 1), (2, 2))])

Although it uncovered a bug with stroke + rects -.- I'll try to fix it soon...
Btw, for these simple conversions, you can also use convert_arguments:
function AbstractPlotting.convert_arguments(P::Type{<: Poly}, mybox::MyBox)
    mins = mybox.mins
    maxs = mybox.maxs
    PlotSpec(convert_arguments(P, FRect(mins, maxs .- mins))..., color = :red)
end
poly(MyBox((0, 0), (1, 1)))

I'm not 100% sure why the second convert_arguments is needed, but I'm guessing there is some recursive application of convert_arguments missing somewhere :D


Can you optimize this function?

This feature is really very convenient, but I encountered some problems when using it, for example, after inputting two images, if the height of the two images is different, after the node will lead to image cropping

I have updated the workflow and added new node for context editing which could solve this issue.
workflow: https://civitai.com/models/933018?modelVersionId=1110698
parameter: https://civitai.com/articles/9292


Example in readme latex disagrees with code

The latex is a definite integration, but the example code doesn't mention the integration bounds.

That is because the support of the measure underlying the type Uniform01OrthoPoly is the interval [0, 1].

That is because the support of the measure underlying the type Uniform01OrthoPoly is the interval [0, 1].


Functional vs. time-discretized polarization correction

Collecting some thoughts after the discussion last week about whether the transmission correction should be represented as a function (that can be evaluated at any precise time) vs. a discretized version (a scipp.DataArray).

There may be performance implications, but it is not a priori clear that one of them is better or excluded. We need to look into the full equations to make a judgement (requires #16).
The data reduction workflow must perform normalization, e.g., to monitors. Therefore, monitor data must be averaged over a certain time interval. Events can keep higher time resolution, but given that the monitors cannot, does it even make sense to evaluate the event's transmission at a precise time?

The current conclusion is that we will try the functional approach. I think it is going to work. Conceptually this is nice, since it further decouples the data reduction workflow from the polarization analysis: There is no need for the data reduction workflow to be aware of any time or wavelength scales of the polarization equipment. The data reduction will return in event mode, with preserved time and wavelength for each event. These will be used to compute the factors for applying the polarization correction.

* The data reduction workflow must perform normalization, e.g., to monitors. Therefore, monitor data must be averaged over a certain time interval. Events can keep higher time resolution, but given that the monitors cannot, does it even make sense to evaluate the event's transmission at a precise time?

Comment:

I discussed shortly with SANS people from ISIS - and it would be anyhow better if the monitor is integrated just over the same time frame as the events to be corrected for polarization analysis, because of possible fluctuations in intensity from the source.
There are different opinions in generel if that approach is better (same time intervals for monitor and data, or integrating monitor over longer time). At ISIS they concluded the former solution is better

We can (and should, I suppose) still perform time-dependent monitor normalization with what I suggested above. But the time scale is independent from anything we do for the polarization correction.

Agreed


Auth test

Description:
Describe your changes.
Related issue:
Add link to the related issue.
Check list:

[x] Mark if documentation changes are required.
[x] Mark if tests were added or updated to cover the changes.

d


unsafe implementation of WebView SSL Error Handler

Version of the agora_rtc_engine
agora_rtc_engine 6.3.0
with flutter package
agora_uikit
Platforms affected

[X] Android
[ ] iOS
[ ] macOS
[ ] Windows
[ ] Web

Steps to reproduce
To Reproduce
Steps to reproduce the behavior:

use agora package: agora_uikit
build your app
create your release
Submit your release for review

Expected results
App should pass the review of Google Play Console
Actual results
The app is rejected due to issue with " unsafe implementation of WebView SSL Error Handler"
Code sample
No response
Screenshots or Video

Logs
No response
Flutter Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.3, on macOS 14.4.1 23E224 darwin-x64, locale en-EG)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] VS Code (version 1.92.2)
[✓] Connected device (2 available)

I checked the package name io.agora.online.component.teachaids, and it is not from our package, I think it's better to check the dependencies in your project and see where it comes from.

@littleGnAl
this project used to use agora flexible android sdk via flutter
and they removed this integration completely
could it be the reason for such issue?
and how to debug or remove all the sdk remnants ?

@littleGnAl
Kindly i need some help regarding this issue
i was asked by agora support team to. use this native code
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // If you're adding a WebView, you would do it like this:
       // val webView = WebView(this)
        setContentView(webView) // Make the WebView the content view, or add it to your layout

        webView.webViewClient = object : WebViewClient() {
            override fun onReceivedSslError(view: WebView, handler: SslErrorHandler, error: SslError) {
                handler.cancel() // Cancel the request if there is an SSL error
            }
        }

        webView.loadUrl("https://your-secure-url.com")
    }

will this code be enough to handle such issue ?

I think you should ask the library owner to fix this issue.

Where did you get this package io.agora.online.component.teachaids, you should ask them to fix it.


⚠ Bofrost.be has degraded performance

In ccaeaf8, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1357 ms

Resolved: Bofrost.be performance has improved in c9ef06b after 21 minutes.


[firebase_core] Allow one configuration file for all plattforms

Is your feature request related to a problem? Please describe.
In the Roadmap #2582 is the effort described to "Reduce the installation steps".
Adding the config file for every platform is cumbersome, adding just one file for all platforms would be great.
Describe the solution you'd like
I would settle on some kind of format (maybe JSON) and folder name for a Flutter config file.
This config file should be added to the application by the developer and firebase_core would try to read that file first to configure any Firebase app using these methods Android, iOS, web.
Additional context
For the priority, I would first look at the Firebase config file and then try to use the platform-specific config files.
JSON as a format could be helpful as a format as one could for now just copy the web config.
@FirebaseExtended/invertase @Salakar Could be relevant for the core rework invertase/flutterfire#7

@IchordeDionysos appreciate you taking the time to write this out, unfortunately this isn't something we're going to be looking at, at least not as part of #2582 - there's some complications as each platform has their own specific keys and ways of initializing these credentials.
Having said that though; we are taking steps to make it easier for you to figure out how to integrate the credentials, e.g. we've got a new docs site in the works with specific platform integration sections: https://firebase.flutter.dev/docs/overview#platform-setup - and we're also taking steps to reduce manual native code changes that are normally required to integrate.


cost: -nan

I'm trying to train a model on a 59G Chinese corpus.
After a few iterations, I got "cost: -nan". And every vector element in vectors.txt is '-nan'.
It looks like the training did not converge. What should I do to avoid this situation?
Any replies will be appreciated.
TRAINING MODEL
Read<PHONE_NUMBER> lines.
Initializing parameters...done.
vector size: 300
vocab size: 9285835
x_max: 0.000000
alpha: 0.750000
iter: 001, cost: 0.755250
iter: 002, cost: 0.630120
iter: 003, cost: 0.578230
iter: 004, cost: 0.545477
iter: 005, cost: 0.524861
iter: 006, cost: 0.509154
iter: 007, cost: 0.496371
iter: 008, cost: 0.486092
iter: 009, cost: -nan
iter: 010, cost: -nan
iter: 011, cost: -nan
iter: 012, cost: -nan

Try decreasing the learning rate (referred to eta here). From my experience, when I was training on Toronto book corpus with 40 threads, I got something very similar to you. I decrease eta from 0.05 to 0.005, after which I didn't face the issue.

Thanks dude, it works.


Fix RichTextLabel shadow color when text has transparency

Fixes #59042.

Before
After

Also fixes a pre-existing bug that RichTextEffect processes outline color. You can see the first line in the "Before" screenshot, the text has wrong outline color.
See #59054 for 3.x version.

Thanks!


[2492] Switch on funding section in prod

Context
https://trello.com/c/ldWoOSnZ/2492-turn-on-funding-in-prod
Changes proposed in this pull request
Switch on showing the funding section in production, collecting the data from users on Register.
This does not switch on sending funding to DTTP - the work for this is still outstanding. When the work is completed, we can switch on the separate flag send_funding_to_dttp.
At that point we will have to re-sync any trainees for which we have collected funding information with DTTP.
Guidance to review
🚢

 Turn on funding in prod


Taking screenshot of active window excluding borders apparently still includes the borders

Version
Fedora 38 KDE Wayland, Pinta 2.1.2

I think this must be a bug with either your system's screenshot app or the KDE XDG desktop portals, so I'd suggest reporting it upstream.
Pinta is just opening whatever image is given to it by the screenshot portal, and that dialog isn't coming from Pinta itself.


I want to be able to rotate screens

Description

For mapping, this hurts me. Yeah it usually should make sense upright since you wont be able to read but to be fair i just want to be given the option.
Screenshots

i mean you acknowledge why you aren't able to rotate them: it makes the text difficult to read.

i mean you acknowledge why you aren't able to rotate them: it makes the text difficult to read.

it hurts me so much though, and you can still rotate you camera.

it hurts me so much though, and you can still rotate you camera.

do the screens rotate to match the camera

it hurts me so much though, and you can still rotate you camera.

do the screens rotate to match the camera

lol i was under the assumption it didn't rotate to match your camera, this is jank-looking as hell we're literally distorting spacetime

i really don't see a good reason to rotate the screen considering the game already auto-orients them to be readable at all rotations. i'm gonna close this.


fix: Force rendering on dedicated GPU (fixes hybrid GPU setup not working)

This PR presents a fix for those who have both integrated and dedicated (NVIDIA) graphics cards and experience a crash on Resolve's startup with this container setup. I'd like to ask someone to test that the proposed solution does not break Resolve when there's only a single dedicated GPU in the machine. This PR was tested only on a laptop with a hybrid Intel/NVIDIA GPU setup.
TLDR: Scroll down for the quick fix.
This was tested on Manjaro Linux KDE / NVIDIA drivers 515.48.07  / pipewire branch / AlmaLinux 9 base image / DaVinci Resolve 18.0b4
Background
So even after getting #13 to build and launch properly on Manjaro (on my desktop computer with a single NVIDIA desktop GPU) and I switched to my laptop (it runs Manjaro, too), Resolve closed (crashed) immediately after the welcome window (where I can browse projects) opened. The only possibly relevant log messages I could filter out were these:
0x7f1fc1f42600 | UI.GLContext         | ERROR | 2022-06-17 11:12:38,375 | Not initialized!
0x7f1fc1f42600 | UI.GLContext         | ERROR | 2022-06-17 11:12:38,375 | Failed to make context current.
0x7f1f943f3640 | UI.GLContext         | ERROR | 2022-06-17 11:12:38,456 | Not initialized!
0x7f1f943f3640 | UI.GLContext         | ERROR | 2022-06-17 11:12:38,456 | Failed to make context current.
0x7f1f943f3640 | UI.GLIO              | ERROR | 2022-06-17 11:12:38,456 | MainPlayer: Failed to make OpenGL context current.
0x7f1fc1f42600 | UI.GLIO              | ERROR | 2022-06-17 11:12:38,456 | MainPlayer: Failed to initialize worker thread.
0x7f1eea7d4640 | UI.GLContext         | ERROR | 2022-06-17 11:12:38,456 | Not initialized!
0x7f1eea7d4640 | UI.GLContext         | ERROR | 2022-06-17 11:12:38,457 | Failed to make context current.
0x7f1eea7d4640 | UI.Scopes            | ERROR | 2022-06-17 11:12:38,457 | Failed to make OpenGL context current.
0x7f1fc1f42600 | UI.Scopes            | ERROR | 2022-06-17 11:12:38,457 | Failed to initialize worker thread.
0x7f1fc1f42600 | Main                 | ERROR | 2022-06-17 11:12:38,457 | Failed to initialize OpenGL texture pool, no valid contexts available.

Since a Manjaro update was pushed (along with NVIDIA drivers getting bumped from version 510.x to 515.48.07) between me switching from my desktop computer to my laptop (which has both an integrated Intel graphics card and a dedicated NVIDIA card) I first thought that the NVIDIA driver update broke something. Furthermore, running nvidia-smi in the container returned info about my NVIDIA graphics card, making the issue even more cryptic. Then, enabling network connectivity in the container resulted in Resolve's welcome screen staying open, but completely freezing, only stopping using SIGKILL. The logs contained a variety of the above messages, hinting that Resolve somehow couldn't get an OpenGL context (an error I've seen when programs weren't using the dedicated NVIDIA GPU but instead only the integrated graphics card).
Installing glx-utils into the container (and then also mesa-dri-drivers-x86_64) using
sudo dnf install glx-utils mesa-dri-drivers.x86_64

I finally found that the container was still using my integrated GPU:
$ glxinfo | grep "OpenGL"
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 620 (WHL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.4
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.3.4
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Solution
When you are using your laptop, graphics are most likely handled by the integrated (Intel or AMD) graphics card and this seems to be true to programs started inside containers, too! Some programs that require OpenGL only work properly when you start them using prime-run <program name> (this tool comes with the proprietary NVIDIA drivers). Now, prime-run is not installed into the container, but it's probably doing nothing more than setting environment variables (see this Ask Ubuntu answer). So, to get Resolve to start using the NVIDIA card, inside the container, I did this:
# enter the container
./resolve.sh /bin/bash

# inside the container, run Resolve using this:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only /opt/resolve/bin/resolve

and it worked! :sparkles:
Fixing the container scripts
Now, there are multiple ways to go about starting Resolve on the NVIDIA card without having to manually enter the container and issue the above command. It should suffice to add the following environmental variables to the CMD part of the Dockerfile:
CMD __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only /opt/resolve/bin/resolve

Thank you for the excellent write-up.  I only have one discrete GPU available so I won't really be able to test much except to make sure it doesn't crash.
Question:  Would this need to be added to resolve.sh run command as well?
I'll try it later today.  Thanks again!

Thank you! I'll get back to my computer with a single GPU, soon, too, so I'll also test if these settings cause any harm.

Question: Would this need to be added to resolve.sh run command as well?

No, it works without altering the resolve.sh file. At first I was expecting that I'd need to either use prime-run ./resolve.sh or use prime-run in the last line of the resolve.sh file, but those did not work and Resolve just kept crashing (as it was still using the integrated GPU). I tested this edited Dockerfile using the resolve.sh that is currently on the branch and it works :)

Update: Resolve seems to work properly on my desktop computer with a single GPU, too.

The first time I tried it I had no sound and took FOREVER to start but I'm wondering if that's unrelated.  I rebooted and now it appears to works fine though I havent' extensively testeed it.  Let me look into what these are doing...
__NV_PRIME_RENDER_OFFLOAD=1 -- this  causes the special Vulkan layer VK_LAYER_NV_optimus to be loaded.
__VK_LAYER_NV_optimus=NVIDIA_only -- causes VK_LAYER_NV_optimus to only report NVIDIA GPUs
__GLX_VENDOR_LIBRARY_NAME=nvidia -- Makes  GLVND loads the NVIDIA GLX driver.
Do we want the GLX driver on modern hardware?  It looks like GLX wasn't updated since 2005.  Isn't EGL preferred these days?
Or does it mean to use nvidia if GLX is needed?
This page  is kinda interesting if you're using optimus:
 Some systems require the use of the NVIDIA driver as the output source provider when the EFI graphics configuration is set to 'Hybrid' mode. This can easily be configured with:

 sudo nvidia-xconfig --prime

Does setting this do the equivalent?
FWIW-- I did try sudo dnf install glx-utils and glxinfo | grep "OpenGL" looks identical with and without those variables set so it's probably harmless as long as you're using the NVIDIA drivers.
Again, thanks for this!

Followup-- did sudo nvidia-xconfig --prime do the same thing as adding those lines?

Sorry for the late catch-up. It wasn't clear if I should run sudo nvidia-xconfig --prime on the host or in the container. I would try to avoid changing system-level configurations on the host as it can affect multiple programs, not just Resolve - additionally increasing battery usage if I force the system to switch rendering over to the dedicated GPU for everything.
Executing the command in the container errors out with pkg-config not being found:
$ sudo nvidia-xconfig --prime

WARNING: Unable to locate/open X configuration file.

sh: line 1: pkg-config: command not found
X Configuration file set up for PRIME. Please run "xrandr --setprovideroutputsource modesetting
NVIDIA-0" and "xrandr --auto" to enable. See the README for more details.
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
New X configuration file written to '/etc/X11/xorg.conf'

and then executing /opt/resolve/bin/resolve causes Resolve to crash as it did before.
I tried excluding some of the environment variables, but excluding __GLX_VENDOR_LIBRARY_NAME=nvidia still results in a crash. Excluding only __VK_LAYER_NV_optimus=NVIDIA_only still fixes the issue. So
$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia /opt/resolve/bin/resolve

seems to work, too - but I'm not so sure if it will not cause any problems down the line. To be honest, I'm not that worried about NVIDIA loading that driver (especially for a single application) - I'd suspect it loads something that is part of the NVIDIA driver package, which should be up to date. Without it, Resolve cannot acquire an OpenGL context, causing it to crash.

Thanks!  We can go with that original line-- but before I commit, I want to make sure you saw the MIT license that was added a few days ago, and make sure you're good with it.  I know it's just one line (and a common configuration) but just wanted to check before I make you an "official contributor" :)

Sure! Not a problem for me :)

Great!  Thanks for contributing!


Develop User Stories for PredictMod UI development targets

Develop basic user stories to guide downstream development of the UI. Examples include:

When first arriving at the site, should it immediately ask for a file upload, or give information about the tool and options to use it?
After submitting a job, should the (1) website stay static, (2) show some sort of status, or (3) provide output via email, file download, etc?
I'm sure other stories will develop as we move forward.
@lorikrammer @Mute-yc @pmcneely

This is how I envision the experience a researcher will having using PredictMod. I'm not sure if the format is appropriate for user stories, but we can discuss in the meeting later this week.

I go to [hive.biochemistry.gwu.edu/gfkb/predictmod].
The page is static/readable (no popups), and I can read about PredictMod, disclaimers, and instructions.
I (scroll if needed) and select the "Upload File" button. Maybe there's a button at the top I can press to take me to the upload file button if the content is too long?
I am prompted to confirm the file type ("PredictMod input must be in the following formats, etc." blurb). This might be too complicated for v1.0, maybe something to incorporate in later versions and have a written notice below the "Upload File" button?
I select "I understand" to confirm. Dependent on step 6
I upload my file.
I select "run"
I receive a notice that my submission has been received, and a loading icon/message appears. I would think a loading bar/circle would be the easiest to implement, but maybe a refresh message or an email would be better? This can be improved in v2.0
I receive my result Future versions may have resources or additional figures for me to review

Looks like a great place to start development. We can catch up more Thursday/or earlier as you and @Mute-yc feel is appropriate.


Don't allow to delete user groups "staff" and "delegates"

OS 2.1s new group policy allows to delete every user group. OS offers predefined groups like "delegates". In my opinion it is not a good feature that one can delete these groups. The purpose of OS is to provide a tool for conventions and there will always be delegates and a "staff".
So in my opinion these groups should not be deleteable.
But maybe there are good reasons to allow this?

@donovaly the reason to allow this was to keep OS as customize able as possible. If a group of people use this, but not for an assembly they might have totally different need for different groups.
It could be changed if someone has other arguments

If a group of people use this, but not for an assembly they might have totally different need for different groups.

OK, if there are good reasons. I just wanted to assure that this is not a bug.

There is still a bug here: If you delete staff group before you add the users manager perms to another group, you can lockout yourself and it is not possible to reset admin via command line.


Can't insert a Grid inside a Stack

Inserting a Grid component direcly inside a Stack (that has some spacing) cause a margin issue for the Grid container.
<Stack spacing={1}>
  <Grid container spacing={2}>
    <Grid item md={6}> col 1</Grid>
    <Grid item md={6}> col 2</Grid>
  </Grid>
</Stack>

[X] The issue is present in the latest release.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
The negative margin from the Grid component is being overriden by the margin: 0 from the Stack component: https://github.com/mui-org/material-ui/blob/master/packages/mui-material/src/Stack/Stack.js#L68
Expected Behavior 🤔
I should be able to use a Grid inside a Stack component.
A workaround is to add an intermediate div between the Stack and the Grid:
<Stack spacing={1}>
  <div>
    <Grid container spacing={2}>
      <Grid item md={6}> col 1</Grid>
      <Grid item md={6}> col 2</Grid>
    </Grid>
  </div>
</Stack>

Steps to Reproduce 🕹
https://codesandbox.io/s/beautiful-worker-j03no
Code causing the issue:
<Stack spacing={1}>
  <Grid container spacing={2}>
    <Grid item md={6}> col 1</Grid>
    <Grid item md={6}> col 2</Grid>
  </Grid>
</Stack>

Context 🔦
I want to display a list of "rows" and I want the rows to have the same margin between them, so the Stack seems to be relevant here, and inside one of the row I want to display multiple blocks inside columns.
Your Environment 🌎

`npx @mui/envinfo`
Tested in chrome 92.0.4515.159
  System:
    OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
  Binaries:
    Node: 12.22.1 - ~/.nvm/versions/node/v12.22.1/bin/node
    Yarn: 1.21.1 - /usr/bin/yarn
    npm: 8.1.0 - ~/.nvm/versions/node/v12.22.1/bin/npm
  Browsers:
    Chrome: 92.0.4515.159
    Firefox: 93.0
  npmPackages:
    @emotion/react: ^11.5.0 => 11.5.0
    @emotion/styled: ^11.3.0 => 11.3.0
    @mui/core:  5.0.0-alpha.51
    @mui/lab: ^5.0.0-alpha.51 => 5.0.0-alpha.51
    @mui/material: ^5.0.4 => 5.0.4
    @mui/private-theming:  5.0.1
    @mui/styled-engine:  5.0.1
    @mui/system:  5.0.4
    @mui/types:  7.0.0
    @mui/utils:  5.0.1
    @types/react:  17.0.30
    react: ^17.0.2 => 17.0.2
    react-dom: ^17.0.2 => 17.0.2
    typescript:  4.4.4

Perhaps a better example of why this might be desired would be when the Stack parent of the Grid has multiple children, such that the spacing actually makes more sense (ie. maybe multiple Grids, etc). Yes, adding a Box (or anything) around the Grid children "solves" the issue, but it seems unnecessary to introduce additional markup solely for this purpose. Would it be possible to tweak the style rules to account for Grid children when applying spacing margin?
<Stack spacing={2}>
  <Grid container spacing={3}>
    <Grid item>...</Grid>
  </Grid>
  <Grid container>...</Grid>
  <WhateverElse />
</Stack>

I have a plan to add an option to switch between using margin and flexbox gap to the Stack component. Using flexbox gap should fix this issue, it is a better way than using margin.
Flexbox gap is at 91.84%, it is promising. https://caniuse.com/?search=flexbox gap

Just encountered this due to nesting components. Grids inside Stacks sometimes happen even when people aren’t “trying to make the layout too complicated”.

@mxcl To use Grid inside a Stack, you should add useFlexGap to the Stack:
<Stack spacing={1} useFlexGap>
  <Grid container spacing={2}>
    <Grid item md={6}> col 1</Grid>
    <Grid item md={6}> col 2</Grid>
  </Grid>
</Stack>

I highly recommend setting the useFlexGap: true to the theme, so that you don't have to add the prop to all Stack.
createTheme({
  components: {
    MuiStack: {
      defaultProps: {
        useFlexGap: true,
      }
    }
  }
})

I am closing this issue it is now possible in the latest v5 of Material UI.


refactor(db) replace db.old_dao:infos() with db.infos

Summary
Very tiny patch to replace db.old_dao:infos with db.infos.

Waiting for the tests to pass before merging.


⚠ Bofrost.at has degraded performance

In 00a7c83, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 952 ms

Resolved: Bofrost.at performance has improved in f51c0c4.


trx logger does not include Description attribute

Description
Test description attributes like Description, CssIteration, WorkItem, CssProjectStructure do not show up in the trx log. Only Owner and Priority are part of the log.
Steps to reproduce

Create an MSTest V1 based project.
Add a DescriptionAttribute on top of the test method.
Run tests with trx turned on.

Expected behavior

The trx should have the description string associated with the test in the log.

Actual behavior

The description string does not show up in the log.

Environment

I'm trying this on Dev15 prev-5 and on Windows 10.

It's already in the TRX schema:
    <xs:element name="Properties" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Key" />
                  <xs:element name="Value" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="WorkItemIDs" type="WorkItemIDsType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>References to workitems (bugs, issues) related to this test on the team server.</xs:documentation>
        </xs:annotation>
      </xs:element>

Essentially any use of [TestProperty] should go in here. I was able to use it in my own TRX logger, and it passes schema validation

@dotMorten Thanks for info. Do you like to patch your own TRX logger changes to vstest TRX logger?

@smadala My logger is completely different from yours. I would have preferred being able to reuse the TRX logger you have (a .NET Standard version that can serialize an IEnumerable<TestResult> would be appreciated !), but found it overly complex to deal with and would need a lot of forking.
I could try and take a stab at it, but yours is so much more complex :-)

Is there a fix for the issue?
If so which version of .net core should I use to be able to include description attribute?

@dmitryNaumovA1qa no 😒

Just submitted a PR that ensures Description, WorkItemIDs and TestProperties gets written to the TRX

The Trx logger does not write out categories from NUnit, because the category type name is hardcoded to "MSTestDiscoverer.TestCategory", whereas the NUnit name is "NUnit.TestCategory".  The idea back in 2012 was that categories should be Traits that where not hardcoded to anything in particular.  Can we a) get this fixed so that any trait show up in the trx file?  or b) Add in the NUnit category type name ?
See issue https://github.com/nunit/nunit3-vs-adapter/issues/506
We [NUnit] accepted a PR to include the MSTest name as a temporary workaround until this was fixed, but it turns out this results in duplicate categories in the Test Explorer.  https://github.com/nunit/nunit3-vs-adapter/issues/559

@OsirisTerje I'm not sure about the relevance wrt writing a TRX report? The xsd schema has a generic Category field. How these categories are transported around with which trait name seems sort of irrelevant, but if you want to use a Microsoft trx defined standard, you sort of have to adhere to that, or request their loggers have a more abstract way to define the various traits and their meaning.,

@dotMorten  This code line https://github.com/Microsoft/vstest/blob/0341da456744f78bba8ff2a25c1cddfc89c87b08/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs#L51  looks hardcoded to MSTest to me.  The NUnit3TestAdapter doesn't write to the trx file, that  is all up to vstest, it only provides the information, and the category type name is marking it as a category.  There is no generic type name for the category on that side .

This is a new feature and won't be implemented, we are focusing on adding new features to Testing.Platform instead. https://aka.ms/testingplatform


HSEARCH-1085 MappingModelMetadataProvider should pass the chosen Clas…

…sLoader rather than overriding the context
A 6 years old workaround finally being removed :)

https://hibernate.atlassian.net/browse/HSEARCH-1085

Nice! Merged, thanks.


UI bug: Wrists slot having more gem than gem socket that is available

Sim setting link: https://wowsims.github.io/wotlk/warrior/#eJztUk0oRFEYfd/3hnnzJJcsnlmNt5LCffc2C6u57KREVnYsyMJCssBqIiUlyoYpsSTZIob8FVN+hlfkd0FpysbSRnxv3ljbzMLCWdzuPefcc7q3zwwbyLEX+jEOsAyQBsgAfACmERtLIqigHyYAZrJimRbeKBiFwta+ruHuASPIQuEdMBlLJ9G6eEK7cP0QV1JohtjHA9r6wSaaxeyKxGMS9Vc6GszdRutuTadbZySk7ukW+TwrY5OkHeWYJDFF7JE8N2u6DRqFfm5RipfP2CXxr6vkpOP5mZc7vYNWhnJD7PYm1x1gU7ve+nbhrXtbnm2PKk7v0dSI2d9Gu4ieX9waGKJHYvUJav/IC0aCBli4BDAQNesYRKDB55tUk79pUW0/TIe/qVU0hRDPTpk2CVWSC8Gl4EJKGXU4d7jgjhCOFNIRUadG8mgNGeQzWMaii2zBRWvOxciYi1XJL+TjLmYg8A7BBGh3oNmzeijbE+9RpX5juapIzHtIxep9Jh2r7MniOiZeMNJu/d2ZGFT5SImnjn7Jac5Ljwf/jycOVW4WNNUJ3/2ZgCc=

This looks like a visual bug, with the blacksmithing gem slot showing when it shouldn't (because BS isn't selected).


Cannot discover when subnet is larger than /24

There are several issues regarding this issue: #175, #199, #201, #221, etc. This issue summarizes the problem.
The problem:
LocalSend scans the network via multicast and via IP scan.
Multicast works regardless the size of the network.
IP scans only works in /24 networks or smaller.
In some environments, multicast is not possible so LocalSend fallbacks to the resource intensive IP scan.
This might not work if the network is larger than /24.

I was going to open a issue, but I'll just leave a comment here.
I had a similar issue, tag doesn't work. Opened the incoming port on my pc to be sure, but I had to manually put in the ip address of my phone (on the same network) to my pc to send something.
phone: <IP_ADDRESS> assigned through dhcp
pc:    <IP_ADDRESS>    static
router:
dhcp subnet: <IP_ADDRESS>/16
Range Start: <IP_ADDRESS>
Range End: <IP_ADDRESS>

@Tienisto Thank you for pointing out this issue and your open-source contribution. Localsend is a very useful software. Is this issue easy to solve? Can we add a device MAC address or other means to establish a directed connection? I work for a large company with a /8 network segment, so I have difficulty using localsend. It’s the best software I’ve tried so far. Thank you!

On my DLINK wifi router (DIR-2055 , HW:A1 , FW:1.11), I turned all firewall features off and localsend works for discovering and sending/receiving files!


GROOVY-9635: resolve "V" in T=V; "T" may have been reused as type param

https://issues.apache.org/jira/browse/GROOVY-9635

The following script fails with a VerifyError with this PR merged:
import java.util.function.Function
@groovy.transform.CompileStatic
class C<R extends Number> {
    def <V> V m(Function<C, V> f) { // R from C is confused with R->V from Function
        V result = f.apply(this)
        return result
    }
}

@groovy.transform.CompileStatic
def method() {
    def ret = new C().m(new Function<C, String>() {
        @Override
        String apply(C that) {
            return 'foo'
        }
    })
    assert ret == 'foo'
}

method()

Is it because a Number type is never supplied for C?
From: Paul King<EMAIL_ADDRESS>Sent: Friday, September 4, 2020 1:03 AM
To: apache/groovy<EMAIL_ADDRESS>Cc: Milles, Eric (TR Technology<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [apache/groovy] GROOVY-9635: resolve "V" in T=V; "T" may have been reused as type param (#1359)
The following script fails with a VerifyError with this PR merged:
import java.util.function.Function
@groovy.transform.CompileStatic
class C {
def <V> V m(Function<C, V> f) { // R from C is confused with R->V from Function

    V result = f.apply(this)

    return result

}

}
@groovy.transform.CompileStatic
def method() {
def ret = new C().m(new Function<C, String>() {

    @Override

    String apply(C that) {

        return 'foo'

    }

})

assert ret == 'foo'

}
method()
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fgroovy%2Fpull%2F1359%23issuecomment-686930325&data=02|01|eric.milles%40thomsonreuters.com|69b89ffe5a4847092fa308d85098342c|62ccb8646a1a4b5d8e1c397dec1a8258|0|0|637347961922283071&sdata=6vNHDl%2B%2B01KImfLmay9X%2BFOaGYNZiBWMzSxMU53QSbo%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEKZ3CSQBI52FUBYNSLQEUTSEB7J5ANCNFSM4QRAJSWQ&data=02|01|eric.milles%40thomsonreuters.com|69b89ffe5a4847092fa308d85098342c|62ccb8646a1a4b5d8e1c397dec1a8258|0|0|637347961922293065&sdata=bObBkbDI9AZ9wgdR1oROTPw%2B88tXN2nQMx5glnrGf%2FY%3D&reserved=0.

So the issue is somewhere in the anon. inner class created for Function<C, String>.  When I replace it with closure coercion, I don't get the error.  I don't know that this problem didn't exist before these changes.
@groovy.transform.CompileStatic
Function<C, String> func() {
  /*
  new Function<C, String>() {
    @Override
    String apply(C that) {
      return 'foo'
    }
  }
  */
  { that -> 'foo' } as Function<C, String>
}

Here is the error I get.  Any idea what "invariant" refers to?  Is this coming from the contracts module integration?
java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    ConsoleScript14$1.invariant_ConsoleScript14$1()V @55: invokevirtual
  Reason:
    Type 'ConsoleScript14' (current frame, stack[0]) is not assignable to 'java/lang/Boolean'

Any idea why I get this error when creating a full distribution and running within Groovy Console and not when running via GroovyShell through the unit tests?

This is the java decompilation that Groovy Console is producing for the anonymous inner class:
@groovy.contracts.Contracted
public class script1599241127913$1 extends java.lang.Object implements java.util.function.Function<C, String>, groovy.lang.GroovyObject {

    final script1599241127913 this$0
    static final boolean $GCONTRACTS_ENABLED
    private static org.codehaus.groovy.reflection.ClassInfo $staticClassInfo
    public static transient boolean __$stMC
    private transient groovy.lang.MetaClass metaClass

    script1599241127913$1(script1599241127913 p0) {
        this$0 = p0
        super()
        metaClass = /*BytecodeExpression*/
    }

    @java.lang.Override
    public java.lang.String apply(C that) {
        return 'foo'
    }

    ...

    protected void invariant_script1599241127913$1() {
        if ( $GCONTRACTS_ENABLED ) {
            try {
                if (org.apache.groovy.contracts.generation.ContractExecutionTracker.track('script1599241127913$1', 'void invariant_script1599241127913$1()', 'invariant', false)) {
                    java.lang.Boolean $_gc_result = false
                    org.apache.groovy.contracts.ViolationTracker.init()
                    $_gc_result = true
                    if (!($_gc_result.booleanValue())) {
                        if (org.apache.groovy.contracts.ViolationTracker.violationsOccurred()) {
                            try {
                                org.apache.groovy.contracts.ViolationTracker.rethrowFirst()
                            }
                            finally {
                                org.apache.groovy.contracts.ViolationTracker.deinit()
                            }
                        }
                    }
                }
            }
            finally {
                org.apache.groovy.contracts.generation.ContractExecutionTracker.clear('script1599241127913$1', 'void invariant_script1599241127913$1()', 'invariant', false)
            }
        }
    }

    ...

    static {
        $GCONTRACTS_ENABLED = org.apache.groovy.contracts.generation.Configurator.checkAssertionsEnabled('script1599241127913$1')
    }

    @groovy.transform.Generated
    public volatile java.lang.Object apply(java.lang.Object param0) {
    }

}

Found it. There was a misnamed metadata key in groovy-contracts. I am surprised more things didn't break, but fixed now in any case.

Merged, thanks!


Add support for net.URL

I think that the net.URL is a very common type to be used in configuration.
I already found myself several times defining a URL configuration argument as a string type, and performing url.Parse to get a *url.URL object.
Since this type is not implementing the Setter or Decoder interface, it can't be used as is.
I think that adding a support to this type would be very useful.

Thanks!


Fails to construct mod on startup - 1.19.2

Describe the bug
When starting up the game, there is the error that Create has failed to load correctly. (java.lang.NoClassDefFoundError: com/tterrag/registrate/AbstractRegistrate)
To Reproduce
Put the 1.19.2 version of NTL and Flywheel 0.6.8 in your modpack
Expected behavior
Game starts up normally
Screenshots

System

Create version 0.5h
Mod loader Forge
Minecraft version 1.19.2

Note: the same error happens on the 1.18.2 version 0.5i

This is currently a bug and will be fixed later, for now please download
0.1, or wait for 1.19.2 support again.
On Fri, Jan 27, 2023, 4:44 AM T0RNATO @.***> wrote:

Describe the bug
When starting up the game, there is the error that Create has failed to
load correctly. (java.lang.NoClassDefFoundError:
com/tterrag/registrate/AbstractRegistrate)
To Reproduce
Put the 1.19.2 version of NTL and Flywheel 0.6.8 in your modpack
Expected behavior
Game starts up normally
Screenshots
[image: image]
https://user-images.githubusercontent.com/62496453/215005232-2c7aeaa3-561d-401e-9447-6ff7dcafd150.png
System

Create version 0.5h
Mod loader Forge
Minecraft version 1.19.2

—
Reply to this email directly, view it on GitHub
https://github.com/tizu69/ntl-redone/issues/29, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOP64ZOWKNETQ4BMSZHP76DWUNACHANCNFSM6AAAAAAUIHUMLM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Expand AWS Lambda layer pyarrow build?

We're exploring building a compatible layer for aws-sdk-pandas (https://github.com/delta-io/delta-rs/issues/1108) now that deltalake is integrated with https://github.com/aws/aws-sdk-pandas/pull/1834
Today the pyarrow build in ./building/lambda/build-lambda-layer.sh is not generating some of the optional components found in https://github.com/apache/arrow/blob/master/docs/source/developers/cpp/building.rst#optional-components and which deltalake requires.
cmake \
    -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DARROW_PYTHON=ON \
    -DARROW_PARQUET=ON \
    -DARROW_WITH_SNAPPY=ON \
    -DARROW_WITH_ZLIB=ON \
    -DARROW_FLIGHT=OFF \
    -DARROW_GANDIVA=OFF \
    -DARROW_ORC=OFF \
    -DARROW_CSV=OFF \
    -DARROW_PLASMA=OFF \
    -DARROW_WITH_BZ2=OFF \
    -DARROW_WITH_ZSTD=OFF \
    -DARROW_WITH_LZ4=OFF \
    -DARROW_WITH_BROTLI=OFF \
    -DARROW_BUILD_TESTS=OFF \
    -GNinja \

Notably, dataset, as the error in https://github.com/delta-io/delta-rs/issues/1108 shows, but perhaps more too (need to investigate).
Ideally, we'd have the pyarrow build in this repository supply all the required libraries (some are turned on already), so that the delta-rs/deltalake repo can publish it's own compatible layer.
Thoughts?

Hi @nkarpov, as you might have guessed, the reason we have turned off some of these parameters is because we are trying to keep the size of the layer below the Lambda limit (250Mb unzipped, 50Mb zipped). The PyArrow dataset module is one of them as it was deemed not essential to our methods.
We would be wiling to reconsider as long as the impact on the layer size is reasonable. So my suggestion if you accept is for your team to go through the exercise of building our layer with the appropriate Arrow arguments you require for yours. Once you have them and if the layer size is still reasonable we will look into publishing it.

That's awesome thank you @jaidisido !
I've created the PR https://github.com/aws/aws-sdk-pandas/pull/1977 which I hope is a tolerable bump on the size. I think it's likely also other packages may in the future benefit from this change since the change is bringing this internal PyArrow build closer to the published pip version.


Write a Swift program to convert fahrenheit to kelvin

Description
Write a Swift program to convert fahrenheit to kelvin
(1°F − 32) × 5/9 + 273.15 = 255.928K
Input  : 1
Output : 255.928

Contributed by - @KyleMcIndoe

How to contribute

Save the solution in ConvertFahrenheitToKelvin.swift file
Add ConvertFahrenheitToKelvin.swift file in program/convert-fahrenheit-to-kelvin folder

Hello,
I'd like to take this further.

Hey @Subham5401
You can comment !assign on any good first issue you want to contribute to, to be auto-assigned
!assign

!assign

!assign


RelNotes 8 Draft

There was an error while validating job c060f97d-0079-4291-a976-e5867d2cd8f5 Message:
Result status: Failed
There was a problem accessing Github repository 'https://github.com/Microsoft/cordova-docs.git'.
Details:Microsoft.LightweightJobEngine.Core.Language.ContextCommandBase+ContextCommandException:
Result status: Failed
There was a problem accessing Github repository 'https://github.com/Microsoft/cordova-docs.git'.
---> System.AggregateException: One or more errors occurred. ---> System.ArgumentException: Error clonning repository ---> LibGit2Sharp.LibGit2SharpException: Failed to receive response: The server returned an invalid or unrecognized response
at LibGit2Sharp.Core.Ensure.HandleError(Int32 result)
at LibGit2Sharp.Core.Proxy.git_remote_fetch(RemoteSafeHandle remote, Signature signature, String logMessage)
at LibGit2Sharp.Network.DoFetch(RemoteSafeHandle remoteHandle, FetchOptions options, Signature signature, String logMessage)
at LibGit2Sharp.Network.Fetch(String url, IEnumerable1 refspecs, FetchOptions options, Signature signature, String logMessage)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.ExecuteFetch(String url, Repository repo, IEnumerable1 refspecs)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass34.b__2c()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.b__0()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction(Action action)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)
--- End of inner exception stack trace ---
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository()    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetVersionAsync(String path)    at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.CheckExternalServicesCommand.Do(IDictionary2 context)
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at Microsoft.LightweightJobEngine.Core.Language.ContextCommandBase.ThrowIfErrorsLogged()
at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.CheckExternalServicesCommand.Do(IDictionary2 context)    at Microsoft.LightweightJobEngine.Core.Language.JobWorkflow1.RunCommands(Guid jobId, IDictionary`2 context, CancellationTokenSource cancelSignal)


test: PPS-88 Implemented Scooby testing facilities

Implemented and refactored several testing features, including MockServer, now accepting custom routes, and ScoobyTest, a utility class to test the DSL.

Related to ticket: PPS-88 Implement ScoobyTest


Baget as nuget server

Can we use baget with only file system instead nit using any databases inside that? Is possible like nuget server?

The default SQLite database only depends on the file system. You don't need an external database server or anything.
Why do you ask?

Closing this off due to inactivity. Feel free to comment or create a new issue if you have additional questions!


Rahul reorg tutorials

This PR:

Reorganized the tutorials section to incorporate the concept of "lanes"

App
API
UI Components
Auth & Security
Bots

Added a simple "Getting started" page to the tutorials section

Coverage remained the same at 94.655% when pulling d4bcd942efca9ca45e8adb75eac8b894389d34ee on rahul-reorg-tutorials into a7e607de7d5008b679ef0d917501a39001bb4bb1 on main.


Question: vcstool versus git submodules?

I have two questions, the answers of which I have been unable to find online:

What is the difference between vcstool and using git submodules?

What are the advantage of vcstool over git submodules?

The answer to both questions, in short, is: git submodules are very often a pain to work with.
If you're using a git submodule and never (or very very rarely) update it (i.e. updating the commit it points to), then it's not too bad. However, if you're updating it somewhat often, it becomes a bit of a pain. It's much easier with vcstool: you either vcs pull (to pull new commits if your .repos file is tracking branches for your repos) or you simply update your .repos file (if your .repos file is tracking specific branches or commits), which is just a simple text file.
Also, in some cases, you may simply want to combine repos without necessarily involving a git repo. If you want to share/define a specific complex workspace (i.e. a set of git repos), you can do it with a simple text file (and you can use vcs export).
Another reason is that vcstool supports more than just git: hg, svn, bzr, and even zip and tar (https://github.com/dirk-thomas/vcstool#which-vcs-types-are-supported). It also has very handy commands to manage your set of repos (vcs pull, vcs log, vcs diff, vcs status, etc.).
I'm sure there are other reasons.

makes sense! thanks for taking the time to answer!