"No writer found for path..." warnings after successful upload

Hi,
I see in the log many warnings like com.pinterest.secor.common.FileRegistry  : No writer found for path...
After looking at the code I found out that this happens during successful uploading of files to S3.
In the Uploader uploadFiles method there is this flow:

Call to mFileRegistry.deleteWriters that closes the Writer (and its file) and removes it from the Writers collection.
Uploading the file
A call to mFileRegistry.deleteTopicPartition

Now deleteTopicPartition calls deleteTopicPartitionGroup that calls deletePath (on all paths) that calls deleteWriter... but the writer was already deleted in step 1 so you get: No writer found for path...
One solution (there are others) would be that deletePath will call a method that will not warn if writer is missing. something like:
`
public void deleteWriter(LogFilePath path) throws IOException {
deleteWriter(path,true);
}
public void deleteWriter(LogFilePath path, boolean expectWriter) throws IOException {
    FileWriter writer = mWriters.get(path);
    if (writer == null) {
        if (expectWriter)
            LOG.warn("No writer found for path {}", path.getLogFilePath());
    } else {
        LOG.info("Deleting writer for path {}", path.getLogFilePath());
        writer.close();
        mWriters.remove(path);
        mCreationTimes.remove(path);
    }
}

public void deletePath(LogFilePath path) throws IOException {
    TopicPartitionGroup topicPartition = new TopicPartitionGroup(path.getTopic(),
                                                       path.getKafkaPartitions());
    HashSet<LogFilePath> paths = mFiles.get(topicPartition);
    paths.remove(path);
    if (paths.isEmpty()) {
        mFiles.remove(topicPartition);
        StatsUtil.clearLabel("secor.size." + topicPartition.getTopic() + "." +
                             topicPartition.getPartitions()[0]);
        StatsUtil.clearLabel("secor.modification_age_sec." + topicPartition.getTopic() + "." +
                             topicPartition.getPartitions()[0]);
    }
    deleteWriter(path, false);
    FileUtil.delete(path.getLogFilePath());
    FileUtil.delete(path.getLogFileCrcPath());
}

`
Please advise.
Thanks,
Doron

This sounds good to me.  Doron, do you mind prepare a PR for this?
On Thu, Dec 15, 2016 at 12:12 AM, Doron Levi<EMAIL_ADDRESS>wrote:

Hi,
I see in the log many warnings like com.pinterest.secor.common.FileRegistry
: No writer found for path...
After looking at the code I found out that this happens during successful
uploading of files to S3.
In the Uploader uploadFiles method there is this flow:

Call to mFileRegistry.deleteWriters that closes the Writer (and
its file) and removes it from the Writers collection.
Uploading the file
A call to mFileRegistry.deleteTopicPartition

Now deleteTopicPartition calls deleteTopicPartitionGroup that calls
deletePath (on all paths) that calls deleteWriter... but the writer was
already deleted in step 1 so you get: No writer found for path...
One solution (there are others) would be that deletePath will call a
method that will not warn if writer is missing. something like:
`
public void deleteWriter(LogFilePath path) throws IOException {
deleteWriter(path,true);
}
public void deleteWriter(LogFilePath path, boolean expectWriter) throws IOException {
FileWriter writer = mWriters.get(path);
if (writer == null) {
if (expectWriter)
LOG.warn("No writer found for path {}", path.getLogFilePath());
} else {
LOG.info("Deleting writer for path {}", path.getLogFilePath());
writer.close();
mWriters.remove(path);
mCreationTimes.remove(path);
}
}
public void deletePath(LogFilePath path) throws IOException {
TopicPartitionGroup topicPartition = new TopicPartitionGroup(path.getTopic(),
path.getKafkaPartitions());
HashSet paths = mFiles.get(topicPartition);
paths.remove(path);
if (paths.isEmpty()) {
mFiles.remove(topicPartition);
StatsUtil.clearLabel("secor.size." + topicPartition.getTopic() + "." +
topicPartition.getPartitions()[0]);
StatsUtil.clearLabel("secor.modification_age_sec." + topicPartition.getTopic() + "." +
topicPartition.getPartitions()[0]);
}
deleteWriter(path, false);
FileUtil.delete(path.getLogFilePath());
FileUtil.delete(path.getLogFileCrcPath());
}
`
Please advise.
Thanks,
Doron
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/295, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHCX_xHC32WIv2tb3_In8mnOoELaG8onks5rIPaHgaJpZM4LN0qK
.

OK, I will get to it next week.
Regards,
Doron
בתאריך 15 בדצמ׳ 2016 20:17, "Henry Haiying Cai"<EMAIL_ADDRESS>כתב:
This sounds good to me. Doron, do you mind prepare a PR for this?
On Thu, Dec 15, 2016 at 12:12 AM, Doron Levi<EMAIL_ADDRESS>wrote:

Hi,
I see in the log many warnings like com.pinterest.secor.common.
FileRegistry
: No writer found for path...
After looking at the code I found out that this happens during successful
uploading of files to S3.
In the Uploader uploadFiles method there is this flow:

Call to mFileRegistry.deleteWriters that closes the Writer (and
its file) and removes it from the Writers collection.
Uploading the file
A call to mFileRegistry.deleteTopicPartition

Now deleteTopicPartition calls deleteTopicPartitionGroup that calls
deletePath (on all paths) that calls deleteWriter... but the writer was
already deleted in step 1 so you get: No writer found for path...
One solution (there are others) would be that deletePath will call a
method that will not warn if writer is missing. something like:
`
public void deleteWriter(LogFilePath path) throws IOException {
deleteWriter(path,true);
}
public void deleteWriter(LogFilePath path, boolean expectWriter) throws
IOException {
FileWriter writer = mWriters.get(path);
if (writer == null) {
if (expectWriter)
LOG.warn("No writer found for path {}", path.getLogFilePath());
} else {
LOG.info("Deleting writer for path {}", path.getLogFilePath());
writer.close();
mWriters.remove(path);
mCreationTimes.remove(path);
}
}
public void deletePath(LogFilePath path) throws IOException {
TopicPartitionGroup topicPartition = new TopicPartitionGroup(path.
getTopic(),
path.getKafkaPartitions());
HashSet paths = mFiles.get(topicPartition);
paths.remove(path);
if (paths.isEmpty()) {
mFiles.remove(topicPartition);
StatsUtil.clearLabel("secor.size." + topicPartition.getTopic() + "." +
topicPartition.getPartitions()[0]);
StatsUtil.clearLabel("secor.modification_age_sec." +
topicPartition.getTopic() + "." +
topicPartition.getPartitions()[0]);
}
deleteWriter(path, false);
FileUtil.delete(path.getLogFilePath());
FileUtil.delete(path.getLogFileCrcPath());
}
`
Please advise.
Thanks,
Doron
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/295, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHCX_xHC32WIv2tb3_
In8mnOoELaG8onks5rIPaHgaJpZM4LN0qK>
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/295#issuecomment-267400821, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGAFO5cfO2SYWx3vkh1TLtODBWEU-tx6ks5rIYRFgaJpZM4LN0qK
.


Remove references to breaking upstream data source

The upstream data source uses different field names for 2016 data, so the notebook does not run (error on data import). 2014 and 2015 data still run fine with the old field names, so I just removed references to 2016.
(A little background--I found this notebook linked from the elife blog post introducing Binder 2.0, here: https://elifesciences.org/labs/8653a61d/introducing-binder-2-0-share-your-interactive-research-environment
)

For reference, the field changes are:
2014/2015: 'Datum', 'Standort',   'Velo_in', 'Velo_out'
2016:      'datum', 'fk_zaehler', 'velo_in', 'velo_out'.

It is trivial to update the code to look for these field names instead, but since the purpose of the notebook is just to demo working with live data, it seemed appropriate (and easier) to just stick with the older, still-working datasets.

Thanks for this. If you have a moment to adjust it to also work with 2016 that would be great. It is a bit annoying that 2016 used to work but not any more :-/
The reason to fix it/add some special casing is that I assume 2017 will use the new 2016 naming and people will now start using 2017 because 2017 has been over for a while :)

If you don't have the time that is also fine, let me know either way.

Hi Tim,
I may be able to get to it, but I’d suggest accepting this PR for now because it at least allows the demo code to work again.
-Tom
Sent from my phone

On Apr 20, 2018, at 8:54 AM, Tim Head<EMAIL_ADDRESS>wrote:
If you don't have the time that is also fine, let me know either way.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Good point!

One last fix: update the binder20-elife tag (will fix issue #12)


Get lists from 2.35..2.37 + loop syntax changes

This pr updates the sources to use the new loop syntax. Some of the changes were done by hand, just by adding 0.. to the conditions. Seems to work fine.

Thanks. I did the same thing in 13576b1ea957882be7ff2c99f4cdc27454930219.


Support multiple AfterAssertionErrorCollected callbacks

Check List:

[ ] Fixes -> ignore
[x] Unit tests : YES
[ ] Javadoc with a code example (on API only) : NA
[x] PR meets the contributing guidelines

Let AssertJ integrations safely rely on this fuctionality!
Without this multiple callbacks support there is a problem with using DefaultAssertionErrorCollector.setAfterAssertionErrorCollected() method.
It can be used only by user at the moment, but not by another frameworks developers .
Why do I think so?  Because callback field in the DefaultAssertionErrorCollector class is not instance of any Collection<AfterAssertionErrorCollected> type, but is just AfterAssertionErrorCollected. Thus setAfterAssertionErrorCollected() method can be executed only once for each SoftAssertions object (by exact single actor - user), because every next call leads to overriding and erasing previously set callback.

@Achitheus that's interesting, could you give us a real life use case to show why this could be useful ?

@Achitheus that's interesting, could you give us a real life use case to show why this could be useful ?

Yes. Im gonna add AssertJ soft assertions support for java Allure reports. I am already done with it and even tested, but haven't suggested PR at the moment. My solution relys on this functionality to detect assertion error and mark current step as failed and then escalate this status to all outer steps of the step chain.
But there is a question. What if user also try to set his own callback for logs for example or what if he add dependency which also use this feature? Conflicts will definitely happen. And in this conflict, whoever is last is the winner because he rewrited all previous callbacks (only the last one to be precise). That's why I need this change

I should have pushed several commits at once. Sorry. I hope you don't have actions proccesing time restrictions or something :)

@joel-costigliola what do you think? Could you please run actions one more time?

Sorry I missed your reply, I'll think about it this week end, but gut feeling is it should be ok

@joel-costigliola I'm not rushing you but just reminding :)

Thanks for the reminder, I'll put it for the next version 3.26.0

@Achitheus thanks, PR commented.

@joel-costigliola Thank you for your insightful comments! Let me know if there is anything else I can do/fix.

@joel-costigliola I finally realized my mistake. I should use mvn verify instead of mvn test to see locally format violations and license issues.
I hope next time everything will be "green" :) Sorry

@joel-costigliola build success locally.
As I mentioned above, the queston of the right place for setAfter...() method test is still open for me. I left it in the current test class for now.
I'm ready for the third round :) Let me know if there is anything else I can do!

Integrated thanks @Achitheus !


fix: Add cloudwatch metrics to policy

RE-add the PutMetrics perm.

This PR is included in version 2.5.1 :tada:


Show magazine topic

We are excited to announce a new topic in Rust Magazine called #show-magazine. This is a dedicated space for Rustaceans to showcase their projects and crates to the larger Rust community. Similar to Show HN or Show /r/rust, #show-magazine is an opportunity for developers to share their works-in-progress, completed projects, and upcoming Rust-related events with the community. It is the perfect platform to receive feedback, connect with other Rust enthusiasts, and celebrate the diverse range of projects developed in the Rust ecosystem.
Each #show-magazine article comprises 5 to 8 rust projects or crates submitted by different authors. The submission is open to everyone.

Sounds great!  If it really takes off, I wonder if it might be worth thinking about moderators


storage account for flow logs must be in same region as NSG

Please consider making an update to the "considerations" section of this document indicating that the storage account targeted for flow log storage must be in the same region as the NSG.

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

ID: bd699dac-d6e5-5a39-624f-2d3f77f92fca
Version Independent ID: c922bcd2-0778-a7af-4855-1bff6c9ce380
Content: Introduction to flow logging for network security groups with Azure Network Watcher
Content Source: articles/network-watcher/network-watcher-nsg-flow-logging-overview.md
Service: network-watcher
GitHub Login: @KumudD
Microsoft Alias: kumud

@kskvarci Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@TravisCragg-MSFT Please assign this issue to @damendo . Thanks!

Great point. This has been added to the docs.

#please-close


Please stop wasting my disk with multiples Android/Java stacks - Share one Docker image between IDEs

For each IDE that is installed  on my machine I get another copy of Android stack, Visual Studio install one Android Stack, Android Studio install another Android Stack and so on for another ones each one with a different path. It would be wonderful if there is an official Google android SDK here on GitHub but Google keep the source locked inside they own git servers, would be great even a clone read-only here, Im thinking about put all the Android stack inside a Docker/VM image that would be shared for everyone, it can be even a shared image between Microsoft and Google , look at Eclipse Che project, there everything is a docker container.

Agreed

\extJava


Emphatize in documentation that the annotation @EnableScheduling should be present in the main application.

Update the doc to empathize that the scheduler processes (deletion and triggers) only works if you enable the scheduling in our Spring Boot app (@EnableScheduling).

Fixed in PR #26

Fixed in PR #26

This issue is solved

This issue is solved


About Fetch API

Assert (/Users/mkonicek/code/react-native/ReactAndroid/src/main/jni/first-party/jni/LocalString.cpp:36): 4 byte utf-8 encodings only valid for up to 21 bits

@mkonicek - weird that your name is coming up here :ocean:

Yeah, I have faced this one when trying to download an image file with fetch.

Wow this is strange. What's the repro? Is that a JS error, a compiler error, a log message? :)

What version of React Native are you using?

@mkonicek If I try to fetch image file with GET, it crashes the app with the above message in the adb logs.

+1 fetching an image with GET is giving me this crash in RN 0.18-rc

I got this crash in RN 0.17.0

I think it was caused by the character-set.

Curious what the use case is. Once you fetch('https://example.com/someImage.png') what do you do with it? How do you display it?
It might be that fetch doesn't support binary data on Android. We should at least have a better error :) And the fact a path from my machine appears in logcat is super weird, I'll try to find out why it happens.

Turns out all React Native code actually runs proxied on @mkonicek's laptop. It's the only explanation.

:)

:smile:

For me the use case is that there's not really any way to handle image errors on Android and I want to verify that a source is a valid image before trying to display it and otherwise display some default image. Im getting raw html from textile (http://txstyle.org/) and want to be able to render an image from source but I could potentially get an image src attribute like '/asdsadas' or 'notarealsite.com' since the html is generated from end-user input, so I need to do some kind of validation of the image before passing it off to the Image component because unfortunately on Android there's no onError and the onLoadEnd callback never fires due to a crash if a garbage uri is passed in (since image components support rendering images from a uri that refers to somewhere on the device but do no validation before attempting to render it)

@mangogogos For that use case, you can just send a HEAD request to check if the image exists. Been working quite well for me.

I always forget that HEAD requests are a thing... thanks, that's working like a charm! @satya164

Image.onError would be an useful thing to have on Android - anyone up for sending a PR for this?

Cool idea with the HEAD request @satya164!

@Llong1 Did any of the above suggestions help?

This issue is being closed because it has been inactive for a while.


Source-build tasks should use System.Text.Json

At least two tasks are not using System.Text.Json yet:

UpdateJson - https://github.com/dotnet/installer/blob/main/src/SourceBuild/content/eng/tools/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/UpdateJson.cs
GetJsonAttributeValue - added with https://github.com/dotnet/installer/pull/18478

Please fix.

This is a duplicate of https://github.com/dotnet/source-build/issues/921


Mobile version

Hello. Could it work on mobile like it works on desktop with page transitions?
Thanks!

Hello santicros,
Thank you for open an issues :)
Currently, Vue Booklet can not use page transitions effect on mobile. It may be little difficult but I can try to make it be a new feature.


Check number of empty lines between methods in classes

Feature request

TSLint version: 5.8.0

Proposal
In our company we have style guides regarding the number of empty lines between methods in classes. Would it be possible to add a rule to check this style?

Could be implemented as part of #3139

This has some conceptual overlap with no-consecutive-blank-lines. If we're creating a newline rule then we should fold that functionality into the new rule as well.

Anyone working on this one ?
Would be really nice to have.

Per #4534, closing this formatting rule request. If you really need the rule, custom rules are always an option and can be maintained outside this repo!

💀 It's time! 💀
TSLint is being deprecated and no longer accepting pull requests for new rules. See #4534. 😱
If you'd like to see this rule implemented, you have two choices:

Recommended: Use typescript-eslint to lint your TypeScript code with ESLint ✅
Legacy: Write it as a custom TSLint rule 🤷♂

👋 It was a pleasure open sourcing with you!
If you believe this message was posted here in error, please comment so we can re-open the issue!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


Minor: three jump after conditionals

Location:
https://github.com/cfenollosa/os-tutorial/tree/master/05-bootsector-functions-strings
cmp ax, 4      ; if ax = 4
je ax_is_four  ; do something (by jumping to that label)
jmp else       ; else, do another thing
jmp endif      ; finally, resume the normal flow    ######### control never gets here, delete this line pls

ax_is_four:
    .....
    jmp endif

else:
    .....
    jmp endif  ; not actually necessary but printed here for completeness

endif:

You should remove line marked with "#"s.

He would be using the jmp endif if for some reason jump else doesn't work (i guess) :sweat_smile:


[DO NOT MERGE YET] revamp node.js build, package, and build process; add semistandard li…

…nter
DO NOT MERGE JUST YET. Because of the size of this change, I want people to test this PR first. I published a package for testing: npm install uws-new-build

TODO before merging:

[x] Primus integration tests
[ ] engine.io integration tests
[ ] Discuss cross-platform binary building and packaging (Windows, Darwin binaries)
[ ] Fix typo (see commit comment)
[ ] Make sure new build process will work
[ ] Get god-emperor @alexhultman's approval

Fixes #285
Fixes #284
This completely changes how node.js is packaged, and built.
This also adds the semistandard linter.

.npmignore added (this prevents files from getting into the published npm package, a gitignore for npm)
package.json moved to project root (allows for installing from git)
Replaces platform-specific packaging and build Makefiles with
cross-platform node.js scripts
Added semistandard linter; npm test now lints the .js source
Reorganized some miscellaneous node.js scripts to nodejs/misc/
Splits the native module requirer into lib/native.js, for the build
scripts (prevents build false-negatives in case the JS code has errors),
and people who want to load just the native module (e.g. Primus)

For you, @alexhultman, this will change how you package and publish the module. This is what you need to do before publishing:
at the project root

npm install (installs the development dependencies for testing)
npm test (tests the code, which as of right now, is just the semistandard linter)
npm publish. The npm prepublish script automagically builds the (Linux) node.js binary addons for you, so you don't have to do any makeing beforehand. Darwin and Windows, we need to figure something out for that.

I'm testing Primus integration right now.
Also, I just noticed that your uws package provides prebuilt binaries for Darwin, and Windows. How do you usually do that?

Primus tests look fine, aside from #299, so that's good.

@alexhultman Now that I think of it, because the build process is done in scripts/build.js, we could even remove node-gyp entirely, and use the raw compilation executables, with their flags.
I'm not entirely sure how possible it is, but we could always have the script to fallback to node-gyp if everything else fails, as a sort-of last resort.

Looks like some nice work. These changes will also make it easier to contribute for Node.js folks.

@silverwind Does the new build of uws work on your droppy platform?

I'm going to rebase and try out a new compilation method sometime later.

Can conform this works after adding git://github.com/SEAPUNK/uWebSockets.git#new-nodejs-build to my package.jsonand reinstalling. 👍 from me.

@alexhultman When will be a good time to talk about this PR on Gitter? I have a few questions I want to get out of the way.

@alexhultman any comments?

I told Alex that I'd be redoing parts of this later, but I haven't gotten around to it yet.

Okay, I think I know exactly what I want to do with this regarding build and publish process. I'll play with this PR and CI integration throughout this week.
Ref: https://github.com/SEAPUNK/uWebSockets/issues/1

I'll close this for now -- it might be a while before this is ready.


Move spec*.go files into a new oci package

Closes #1756

WithNewSpec(),  WithSpec(), and WithRemappedSnapshot() were moved out of spec_opts.go into container_opts.go and remain in the containerd package, since they produce NewContainerOpts not SpecOpt .
WithResources() was moved out of spec_opts*.go into task_opts*.go and remains in the containerd package because it produces UpdateTaskOpts

Codecov Report

Merging #1796 into master will decrease coverage by 0.67%.
The diff coverage is 7.5%.

@@            Coverage Diff             @@
##           master    #1796      +/-   ##
==========================================
- Coverage   49.33%   48.66%   -0.68%
==========================================
  Files          77       81       +4
  Lines        7692     8119     +427
==========================================
+ Hits         3795     3951     +156
- Misses       3252     3520     +268
- Partials      645      648       +3

Flag
Coverage Δ

#linux
48.72% <7.5%> (-0.69%)
:arrow_down:

#windows
44.89% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

oci/spec_unix.go
97.87% <ø> (ø)

oci/spec_opts.go
0% <0%> (ø)

oci/spec.go
40% <100%> (ø)

oci/spec_opts_unix.go
5.36% <8.33%> (ø)

Continue to review full report at Codecov.

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

The last commit ("Proposed fix for image content store") contains a fix for the issue I called out in a comment earlier. This removes any assumptions about shared content stores, however it does expand the Image interface.

LGTM
I think this is a good step to making it easier to deal with non-oci runtimes. WithSpec and friends may need to move elsewhere, but I don't have a good suggestion without a better view of what other runtimes might look like.

oci -> ociruntime?

I don't have any strong opinions on the name. In the issue @mlaventure suggested oci so I went with that. Looking at the godoc for this new package they are all factories for the SpecOpt type. So something like oci/specopt would be my first choice.

the only issue I have with oci/specopt is the default name of the import package

LGTM
Can you rebase?


How to setup control parameters for the e22 chip

Hi,
we bought 2 of RangePi Modules and basic examples works very well.
Cause the Pi acts as a UART brige with micropython, we can´t figure out to configure the E22 sx1262 chip set.  Special the sf=x is important for us to set.
Is it possible to set standard parameters like:
LoRa
SX1262.begin(freq=434.0, bw=125.0, sf=9, cr=7, syncWord=0x12, power=14, currentLimit=60.0
preambleLength=8, implicit=False, implicitLen=0xFF, crcOn=True, txIq=False, rxIq=False,
tcxoVoltage=1.6, useRegulatorLDO=False, blocking=True)
This method is used to set LoRa configuration.
freq : Frequency in MHz
bw : Bandwidth in kHz
sf : Spreading factor, 5 to 12
cr : Coding rate, 5 to 8
syncWord : Sync word, private = 0x12, public = 0x34
power : TX power in dBm
currentLimit : Current limit in mA
preambleLength : Preamble length
implicit : Implicit or explicit header, implicit = True
implicitLen : Implicit header payload length
crcOn : CRC on or off
txIq : TX invert IQ
rxIq : RX invert IQ
tcxoVoltage : TCXO input voltage in V
useRegulatorLDO : Use LDO regulator = True, use DC-DC regulator = False
blocking : Blocking TX/RX = True, non blocking TX/RX = False
etc...
Thanks for your support.

The E22 manual says we can use the jumper to put it in different operating modes.

As far as I can tell M0 and M1 are the jumpers locations on the board that come with the jumpers active.

@rebotnix

It looks like there is a tool to change the settings with too @rebotnix
Full manual:
E22-400T30DC_UserManual_EN_v1.0.pdf

This seems to have extra relevant info as well... https://github.com/xreef/EByte_LoRa_E22_Series_Library


NameError: uninitialized constant Igdb::Configuration

I keep getting this error (NameError: uninitialized constant Igdb::Configuration) anytime I try to use the Igdb.connect method in IRB.
I can provide any additional information if needed.
Ruby version: 2.2.3

Fixed in version 0.7.0.
$ require 'igdb'
$ Igdb.connect('api_key')

Thanks for the update!


feat(dev): add devcontainer config, add instructions to README

I wanted to create an APK for testing and prefer devcontainers (https://code.visualstudio.com/docs/devcontainers/containers) as they allow me to keep dev environments separated and uncluttered, I did two things:

I added the devcontainer.json file to enable that part. It looks like you are using prettier, so I added that extension, but others would be possible as well
I extended the README to include the devcontainer explanation and a step by step explanation for getting an Android apk

I tested npm run / npm run web, which works fine, but I can't test the Android and iOS emulators as I don't have them (and to be honest, I kind of doubt this will work from a devcontainer). And I ran an Android apk build, which worked perfectly fine, allowing me now to have evcc as an app on my mobile :)
Please let me know if you want any adjustments. Also, if you disagree with the approach, I can just keep my fork and would of course accept that
Thanks for your work!

It would even be possible to automatically spin up an evcc container in demo mode next to it and connect to it. Whoever when I try to do that and the web app is running on http://localhost:8081 and the demo evcc container is running on http://localhost:7070, I get a CORS error:

If we could fix that (and I don't know how), then creating a development environment for the web app connected to a demo container could be done in a few minutes without additional knowledge, lowering the barrier for others to contribute. If you would like to investigate further, I'd be more than happy to help.


how to change the timezone?

Hello,
Thank you for this image it is really great, I use it a lot :)
Small question, how to change the default timezone in UTC ?
I try
environment:
      - TZ=Pacific/Noumea
      - PGTZ=Pacific/Noumea

Thank you

Hello,
Added environment variable PG_TZ:
environment:
      - PG_TZ=Pacific/Noumea

or
docker run --name psql -d -e  "PG_TZ=Pacific/Noumea"  romeoz/docker-postgresql

Alternatively, you can use query:
docker exec -it psql sudo -u postgres psql -c "ALTER USER postgres SET timezone='Pacific/Noumea';"

Good luck


[WFLY-17259] Drop source transformation for the weld/jpa module

https://issues.redhat.com/browse/WFLY-17259

Looks good.  Thanks for the change Brian!


Refactor sanic view

This PR updates sanic's view to be consistent with the other views we have. From #1840
This PR does adds the following breaking changes:

get_context now receives a response parameter
process_result is now async and receives a request parameter

Deprecation:

get_context return type is now a dictionary, accessing its values via the dotted notation is deprecated[1][2]

New:

Removed the upper bound version of sanic
Errors are consistent with other integrations
You can use the response value of context to change the status code of the response

Things to do:

[x] Add release notes
[ ] Add tests for v21 and v22 if it makes sense
[x] Add deprecation on getattribute
[x] Document the changes

[1] TODO: I should check if we allow to return a different dictionary (without mypy complaining)
[2] we should do this for all the integrations, will open an issue for this later

Thanks for adding the RELEASE.md file!

Here's a preview of the changelog:

This release updates the Sanic integration and includes some breaking changes.
You might need to update your code if you are customizing get_context or
process_result
get_context now receives the request as the first argument and the response as
the second argument.
process_result is now async and receives the request and the GraphQL execution
result.
This change is needed to align all the HTTP integrations and reduce the amount
of code needed to maintain. It also makes the errors consistent with other
integrations.
It also brings a new feature and it allows to customize the HTTP status code by
using info.context["response"].status_code = YOUR_CODE.
It also removes the upper bound on the Sanic version, so you can use the latest
version of Sanic with Strawberry.

Here's the preview release card for twitter:

Here's the tweet text:
🆕 Release (next) is out! Thanks to @patrick91 for the PR 👏

Get it here 👉 https://github.com/strawberry-graphql/strawberry/releases/tag/(next)


cnspec: init at 8.10.0

Description of changes
An open source, cloud-native security and policy project
https://github.com/mondoohq/cnspec

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
23.05 Release Notes (or backporting 22.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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 233438 run on x86_64-linux 1

1 package built:

cnspec


openshift deploy issue

Can you please check this repo deployment on Openshift. I am unable to deploy this on Openshift.
it is displaying error
The container embetacloud is crashing frequently

@Mrigank11  FYI Pleae check this link

Sorry @nk932714 for late reply.
But till now I'm not able to deploy on Openshift.
You can try using branch "ot" in my repo in which I've fixed the port problem.
In my case it always says, "build failed" but everything seems good in the logs.
I'd recommend you to use AWS or try using the docker image: mrigank11/embetacloud:ot

Error Log with docker image procedure

**
--> Scaled older deployment embetacloud-2 down

--> Scaling embetacloud-3 to 1

--> Waiting up to 10m0s for pods in rc embetacloud-3 to become ready

W1009 06:14:42.446257       1 reflector.go:323] github.com/openshift/origin/pkg/deploy/strategy/support/lifecycle.go:509: watch of *api.Pod ended with: too old resource version: 75351387 (75358525)

error: update acceptor rejected embetacloud-3: pods for rc "embetacloud-3" took longer than 600 seconds to become ready**

i don't know how its deployed but it is working on openshift now. But there is a issue of loading magnet

I can't reproduce the issue(not even deploy on openshift). However, this error simply means connection to tracker timed-out. Either Openshift is blocking torrents or the torrent you choose is dead, try another.

I deployed it using docker image pull. But i don't how. Initially it was giving me error while I was trying to deploy. I have tried two three hours then i gave up. But next day when I opened openshift it was deployed. Is there any way to check how i deployed.
I will try again andif  i get success then definitely i will tell you the procedure how i deployed.

I tried deploying this on openshift and no problems so far
It's only been a day since deployment so will keep check
I used mrigank11/embetacloud:ot Docker image
Thanks for your project , also let me know if you want to test anything

I deployed it to openshift from docker image you mentioned above version ot and I can visit the app ,  sign in with Google account but can't load any magnets , also tried in-build search but same error loading magnets
Let me know which logs to provide if it helps

Confirmed. Openshift blocks torrent.
So, it's not gonna work on openshift.

Same issue with AWS Deploy but only via links or inbuild search. Magnet links from thepirateway works fine.


[explorer] use suix_getEpochMetrics to fetch home page data to speed up performance

Description
We use suix_getEpochs to fetch metrics for the transaction block graph and epochs tab, but this API returns validator data for each epoch which ends up transmitting a lot of data (~6MB) to the client. This also results in the API taking ~5 seconds end-to-end.
@gegaowp made a new suix_getEpochMetrics that is similar to the above endpoint but leaves out the validator data, so we can use that instead + now the page is a lot snappier 😄
Before:
https://suiexplorer.com/
After:
https://explorer-git-wrobertson-exploerspeed-mysten-labs.vercel.app/
Test Plan

Manual testing (chart data matches prod, table loads and paginates correctly)

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

https://suiexplorer.com/epoch/215

Good thought - yeah we still use getEpochs on that page, but we only fetch 1 epoch and we actually use the validator data so I don't see any need to re-work that

@gegaowp I was doing some testing before landing and noticed this RPC method isn't implemented for testnet. Any idea what's up with that?

@williamrobertson13 it's not indeed b/c I did not roll indexer v2 to testnet / devnet yet.

@williamrobertson13 it's not indeed b/c I did not roll indexer v2 to testnet / devnet yet.

Ahhh gotchya (I should've read the announcement post better 😆). I'm going to hold off on landing this until that rolls out just because I don't feel like going back and supporting both versions & don't want to land this if it only works for mainnet

hey @gegaowp! now this RPC doesn't seem to exist on mainnet indexer (it does work for testnet though!) 🤔
https://explorer-git-wrobertson-exploerspeed-mysten-labs.vercel.app/?network=mainnet
https://explorer-git-wrobertson-exploerspeed-mysten-labs.vercel.app/?network=testnet


catalog: Cleanup certificates for deleted pods

This PR introduces a mechanism for OSM to watch specifically for Kubernetes Pod Deletion events and react to those by deleting the XDS certificate allocated to the given pod.

Affected area:

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [ ]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests                  [ ]
CI System              [ ]
Performance            [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

ref https://github.com/openservicemesh/osm/issues/1719

Codecov Report

Merging #1956 (f9b0d3c) into main (3c30e60) will decrease coverage by 0.33%.
The diff coverage is 43.28%.

@@            Coverage Diff             @@
##             main    #1956      +/-   ##
==========================================
- Coverage   56.31%   55.97%   -0.34%
==========================================
  Files         142      144       +2
  Lines        5775     5844      +69
==========================================
+ Hits         3252     3271      +19
- Misses       2520     2569      +49
- Partials        3        4       +1

Impacted Files
Coverage Δ

pkg/catalog/announcement_handlers.go
0.00% <0.00%> (ø)

pkg/catalog/repeater.go
26.66% <0.00%> (-8.12%)
:arrow_down:

pkg/certificate/mock_certificate.go
0.00% <0.00%> (ø)

...ertificate/providers/tresor/certificate_manager.go
60.63% <0.00%> (-0.66%)
:arrow_down:

pkg/certificate/providers/tresor/fake.go
35.29% <0.00%> (ø)

pkg/certificate/types.go
0.00% <ø> (ø)

pkg/configurator/methods.go
58.33% <ø> (ø)

pkg/configurator/mock_client.go
0.00% <0.00%> (ø)

pkg/endpoint/providers/azure/client.go
0.00% <0.00%> (ø)

pkg/endpoint/providers/azure/provider.go
33.33% <ø> (ø)

... and 23 more

Continue to review full report at Codecov.

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


Slider initialization message bug

When sliders are initialized on startup, additional messages are sent because the value of the sliders have changed. Must find a way to prevent those extra messages from being sent

@JacobKealey Fix is pushed on master, needs QA


add an identifer to Thing

What's the identifier for? I wonder if we should be starting to think about the API we're going to use to expose IDs instead of this?
Related, I think - are we interested in moving across to the actual schema.org schemas rather than hand-rolled ones?

I'm using it to store placesId from the Places API, specifically to match results from the places autocomplete and search APIs. I chose 'identifier' since it's part of schema.org/Thing, and one of the intended uses is for UUIDs so it seemed not terrible - although let me know if you see a better solution?

(And on the related note, yes - we have #450 filed in the next milestone to move to schema.org references directly).

That seems quite reasonable, thanks for following up.
At some point we might need to think about whether things like UUIDs really do belong in the schema.org identifier field or whether we should allow ID generation to make use of existing unique keys like this, but that point isn't now :)

Of course!
That's an interesting thought. Some more thinking around this might be helpful especially if we begin to collect results from multiple data sources - for instance, right now identifier holds the placesId for me, but should my arcs entity be tied to an OpenTable restaurant id as well? Having arcs id generation take all of that into account might be a seamless way for developers to ignore that complexity.


False positive cyclic dependencies when building for different targets

Problem

If particular crate depends on crate A and crate B, such that if imported together, they would cause cyclic dependency, but crate B is only imported on specific target, for example wasm32, cargo will error out regardless of that target restriction.
Steps

Create brand new crate foo with the following:

❯ tree
.
└── foo
    ├── Cargo.lock
    ├── Cargo.toml
    └── src
        └── lib.rs

Include some dependencies that might cause cyclic problems if imported together, but keep one of them locked behind specific build target. For the sake of this example, I'm including the ones that caused problems to me personally. I would assume there would be more of them. Note that in "real world", my issue was caused by the problematic dependency being pulled indirectly through different crate.

Sample Cargo.toml:

[package]
name = "foo"
version = "0.1.0"
edition = "2018"

[dependencies]
reqwest = "0.11.4"
sqlx = { version = "0.5.5", features = [ "runtime-tokio-rustls", "offline" ]}

[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }

Try to build it explicitly for an x86 target: cargo build --target x86_64-unknown-linux-gnu. In my case I received the following cyclic dependency error:

cargo build --target x86_64-unknown-linux-gnu
    Updating crates.io index
error: cyclic package dependency: package `ahash v0.7.4` depends on itself. Cycle:
package `ahash v0.7.4`
    ... which is depended on by `hashbrown v0.11.2`
    ... which is depended on by `indexmap v1.7.0`
    ... which is depended on by `serde_json v1.0.64`
    ... which is depended on by `wasm-bindgen v0.2.74`
    ... which is depended on by `js-sys v0.3.51`
    ... which is depended on by `getrandom v0.2.3`
    ... which is depended on by `ahash v0.7.4`

If getrandom dependency is removed, everything builds without errors.

Notes
The issue was tested to present on the following versions:
❯ cargo version
cargo 1.53.0 (4369396ce 2021-04-27)
❯ cargo version
cargo 1.54.0-beta (5ae8d74b3 2021-06-22)
❯ cargo version
1.55.0-nightly (27277d966 2021-07-16)

I believe this is expected behavior and a legitimate cycle.  When cargo builds the lockfile, it builds it for all target platforms concurrently (essentially ignoring the target restrictions).  This is so that the lock file is the same no matter what platform you build on.
In this case, the feature unification results in the cycle as shown.

Closing as I believe this is an actual cycle.  If you have more information, feel free to re-open.

I'm going to reopen, as I think this is more of an issue than I first considered, and possibly easier to fix than rewriting the resolver 😆 .
Here is a demo using cargo's testsuite:
use cargo_test_support::registry::{Dependency, Package};

#[cargo_test]
fn target_specific_cycle() {
    // Demonstration of dependency cycle that is probably a false positive.
    //
    // Alone, each member works fine. It is only when they are combined in a
    // workspace where it fails. Separately their dependency trees are:
    //
    // member-x86 v1.0.0
    // ├── ahash v1.0.0
    // │   └── getrandom v1.0.0
    // └── serde_json v1.0.0 features:indexmap
    //     └── indexmap v1.0.0
    //         └── ahash v1.0.0  (*)
    //
    // member-wasm v1.0.0
    // └── getrandom v1.0.0 features:js,wasm-bindgen
    //     └── wasm-bindgen v1.0.0
    //         └── serde_json v1.0.0
    //
    // But when in the same workspace, the resolver wants to treat it as-if
    // all targets are built concurrently:
    //
    // error: cyclic package dependency: package `ahash v1.0.0` depends on itself. Cycle:
    // package `ahash v1.0.0`
    //     ... which satisfies dependency `ahash = "^1.0"` of package `indexmap v1.0.0`
    //     ... which satisfies dependency `indexmap = "^1.0"` of package `serde_json v1.0.0`
    //     ... which satisfies dependency `serde_json = "^1.0"` of package `wasm-bindgen v1.0.0`
    //     ... which satisfies dependency `wasm-bindgen = "^1.0"` of package `getrandom v1.0.0`
    //     ... which satisfies dependency `getrandom = "^1.0"` of package `ahash v1.0.0`
    //
    // This cycle doesn't make sense. When building the wasm target, we're not
    // even including ahash. When building for x86, there is no dependency
    // edge to wasm-bindgen.
    Package::new("ahash", "1.0.0")
        .dep("getrandom", "1.0")
        .publish();

    Package::new("getrandom", "1.0.0")
        .add_dep(
            Dependency::new("wasm-bindgen", "1.0")
                .optional(true)
                .target("wasm32-unknown-unknown"),
        )
        .feature("js", &["wasm-bindgen"])
        .publish();

    Package::new("wasm-bindgen", "1.0.0")
        .dep("serde_json", "1.0")
        .publish();

    Package::new("serde_json", "1.0.0")
        .add_dep(Dependency::new("indexmap", "1.0").optional(true))
        .publish();

    Package::new("indexmap", "1.0.0")
        .dep("ahash", "1.0")
        .publish();

    let p = project()
        .file(
            "Cargo.toml",
            r#"
                [workspace]
                members = ["member-x86", "member-wasm"]
            "#,
        )
        .file(
            "member-x86/Cargo.toml",
            r#"
                [package]
                name = "member-x86"
                version = "1.0.0"

                [dependencies]
                ahash = "1.0"
                serde_json = { version = "1.0", features = ["indexmap"] }
            "#,
        )
        .file("member-x86/src/lib.rs", "")
        .file(
            "member-wasm/Cargo.toml",
            r#"
                [package]
                name = "member-wasm"
                version = "1.0.0"

                [dependencies]
                getrandom = { version = "1.0", features = ["js"] }
            "#,
        )
        .file("member-wasm/src/lib.rs", "")
        .build();

    p.cargo("generate-lockfile").run();
}

We discussed it amongst the team, and we think it may be feasible to push the cycle check to a later stage.  However, there is a concern of exactly where to put it.  If it is put too late, then some legitimate cycles for other platforms may not get detected.  There are also some questions about catching cycles due to targets, and catching cycles due to features.  The cycle detection could be moved to the new resolver (after #5565/#8832 are closed which will transition all feature resolving to the new resolver).  Another possible place is in unit-graph generation.
Also, there is some risk that some parts of cargo are not resilient to cycles in the dependency graph.  We think, since dev-dependencies are a thing, that shouldn't be too common.  However, it is a risk.
I'm also wondering if this is essentially the same as #8734.

Are there any workarounds to this? (I have this exact cycle.)


Theme parameter is not typed when using function form of styled

Expected Behavior 🤔
With the code below, in the function passed to styled, theme should be typed as Theme:
import React from "react";

import { Toolbar } from "@material-ui/core";
import { styled } from "@material-ui/styles";

const StyledToolbar = styled(Toolbar)(({ theme }) => ({
  backgroundColor: theme.palette.primary.main,
  color: "white",
  fontSize: "20px",
  lineHeight: "40px"
}));

Current Behavior 😯
theme is typed as any instead, so there is no type checking or code completion on the theme properties.
Steps to Reproduce 🕹
See CodeSandbox
Environment 🌎

Tech
Version

Material-UI
v4.1.2

React
v16.8.4

TypeScript
3.5.2

@material-ui/styles is a generic solution without a default theme. You have to provide type and implementation manually.
You probably want to use @material-ui/core/styles to get type and implementation by default.

Thanks, got that.
However, even after switching to @material-ui/core/styles, for some reason the type of the parameters to the function form still ends up as any in my code, even though it appears to be correctly defined as {theme: Theme} & Props in the definition of ComponentCreator in styled.d.ts:

Try accessing a property that doesn't exist and see if it compiles. The source of truth is the build not your editor.

I'm afraid it does compile and ends up as undefined.

https://github.com/mui-org/material-ui/issues/16351#issuecomment-504965517
I found makeStyles() function has same difference of @material-ui/core/styles and @material-ui/styles version.
But in where referencing makeStyles in document it seems always referring @material-ui/styles one.
Only the document I found about that difference is here:
https://material-ui.com/customization/default-theme/#material-ui-core-styles-vs-material-ui-styles
IMO It maybe better to use core one in doc if it is relatively more frequently used.


Add proxy support for Azure buckets

Part of #1563
I was able to manually test this using a Blob SAS Token in my personal Azure account.

I'm trying an attempt to test at least the proxy integration with a mock server here, will update the PR with the results.


Plugin doesn't show image or video after restarting the app with WKWebView

Bug Report
The plugin doesn't show image or video after restarting the app with WKWebView
Problem
After restarting the app video file or image file is not available anymore with WKWebView.
After choosing an image or video from the gallery it works fine, but if I restart the app image or video is not available anymore by the path received before. This issue reminds me #506 issue, with the only the difference WKWebView instead of UIWebView.
What is expected to happen?
I expect to see an image or video after restarting the app as it was with UIWebView
What does actually happen?
I updated my Cordova ios version to 5.1.1 to use WKWebView as described here: https://cordova.apache.org/howto/2020/03/18/wkwebviewonly.html
I installed the latest version of this plugin, that doesn't solve the problem
Information
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils  : 1.9.2
ionic (Ionic CLI) : 3.9.2

global packages:
Cordova CLI : not installed

local packages:
@ionic/app-scripts : 3.1.8
Cordova Platforms  : none
Ionic Framework    : ionic-angular 3.9.1

System:
Android SDK Tools : 26.1.1
ios-deploy        : 1.9.4
Node              : v8.11.3
npm               : 5.6.0
OS                : macOS
Xcode             : Xcode 12.1 Build version 12A7403

Command or Code

Environment, Platform, Device
ios 14.1, cordova-ios 5.1.1
Checklist

[x] I searched for existing GitHub issues
[ ] I updated all Cordova tooling to the most recent version
[x] I included all the necessary information above

I am seeing the same behaviour as well.
I managed to work-around this by editing the tempFilePath function as below:
https://github.com/apache/cordova-plugin-camera/blob/db2ffedecc23993e2393a6226a63bd05998f0f01/src/ios/CDVCamera.m#L397
NSString* docsPath = [NSTemporaryDirectory()stringByStandardizingPath];
NSString* docsPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/NoCloud"];
Note: this may mean you are storing files on the device permanently depending on how you clean up the files, but this is fine for my use case.

@wingo7  is this issue still occuring?
The plugin doesn't aim to store the image or video permanently on the device.
The plugin want's to pass the selected image (or video) to the html side. You should upload it to a server f.e..
But it does not aim to keep it available permanently.

Closing ticket due to lack of response, issue is probably solved with most recent Cordova tooling.


Add reason string for all assertions/requires

The next solc version introduces support for reason strings for error messages. As soon as this release is available, migrate to that version and annotate all requires and asserts in the OpenZeppelin codebase with meaningful error messages.

📈 This is a feature request.

See https://github.com/ethereum/solidity/pull/3364

This was released on solidity 0.4.22. It can be included in openzeppelin now.

@elopio @spalladino I can work on this. Do you have any guidelines for the messages (for example to make them as short as possible)? Or should I do a PR with a couple of sample cases so we can check?

@elopio Done!

I'd like to bring up the problem of having english error messages as return values instead of, say, status codes via https://eips.ethereum.org/EIPS/eip-1066

At the very least, errors should be referred to as constants, imo

Good idea. English error messages have more specific information but status codes facilitate automation. Should we have a global list of status codes constants? We can extend https://github.com/Finhaven/EthereumStatusCodes with others such as "Not Enough Funds". @elopio what are your thoughts on this?

Sorry for the late reply, I had to read the EIP. omg so many eips!!!
The idea sounds very nice, but it also sounds like it will take a long time for the community to agree on the form and the codes. We can update to that format once it's accepted.
About using constants, I have weird feelings towards constants that are upper-cased copies of strings, like:
ERROR_MESSAGE_NOT_ENOUGH_FUNDS_TO_DO_PAYMENT = "Not enough funds to do the payment";

If we have repeated messages, it could be useful. But from your PR we can't tell if we'll repeat any of them. I think it could be a premature optimization, but I'm not against it. If @shrugs wants them, go ahead.
We can also ask @frangio, he might have a strong opinion.
Anyway, your pr is a nice addition and we can iterate on it until it's perfect :) Thanks for that.

No strong opinion about constants unless the error messages are repeated.
I haven't been through the EIP in detail. Is there anything we can do in the meantime to improve devs' experience without harming the progress of the EIP by setting this bad precedent?

@frangio We could limit the error messages to the status codes available in https://github.com/Finhaven/EthereumStatusCodes, or extend that list with some new codes. But if the codes are subject to change, we can't ensure forward compatibility. In that case it is worth it waiting.
About using constants, some error messages will be repeated but in different contracts.

On good http APIs you get an error code, and a human readable message. From that specification I'm missing the message, which is what we wanted to add here.

That seems to be true... We don't need the status codes necessarily, only the format. There is probably some discussion about that in the ethereum/solidity repo.

Was talking with Ben from truffle about this today; generally a status code is a general error condition so your client can react accordingly (by retrying, redirecting, giving up, prompting the user to login, etc). The protocol itself doesn't dictate how error messages are transferred, so different layers on top of that (like REST, GraphQL) return errors differently.
But I expect we'll need to emulate a lot of that functionality in the status codes proposal as well. I'll go into more detail about this on that EIP.

We like the reason strings that the 0x project is using. Fo example:
require(
    currentAssetProxy == address(0),
    "ASSET_PROXY_ALREADY_EXISTS"
);

Should we also add tests for these strings, to make sure they are not altered by mistake?

@nventuro 100%!

The time has finally come to work on this! I'm closing this issue in favor of https://github.com/OpenZeppelin/openzeppelin-solidity/issues/1709, where we should track progress, further discuss any issues that arise, etc. Thanks everyone for your help!


UIVisualEffectView alpha = 0 issue

Hello.
I'm having an issue with this Library in iOS 9.
After initialising the library, when it sets the rootViewController, it logs into console this:

<UIVisualEffectView 0x15eb1ba0> is being asked to animate its opacity. This will cause the effect to appear broken until opacity returns to 1.

The way, how I am initialising the LGSideMenuController:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptionsKey: Any]?) -> Bool {

     let c = LGSideMenuController.init(rootViewController: window!.rootViewController)
     window!.rootViewController = c

     return true
}

Warning is logged from last ELSE case from LGSideMenuController.m (line 1764)
if (self.leftView && self.isLeftViewVisible) {
        self.rootViewCoverView.alpha = self.rootViewCoverAlphaForLeftView * percentage;
    }
    else if (self.rightView && self.isRightViewVisible) {
        self.rootViewCoverView.alpha = self.rootViewCoverAlphaForRightView * percentage;
    }
    else {
        self.rootViewCoverView.alpha = percentage;
    }

How can I prevent the app from logging this / or fix this issue?
I am using XCode Version 8.2.1 (8C1002), Swift 3.0, app support starts with iOS 9.0, LGSideMenuController 2.0.5

I will try to fix it soon.

Thank you very much! I appreciate your caring!

Same problem here :(

Ok, I spend a lot of time trying figure out how to fix it, but it seems that there is no any way to achieve this. Many people have the same problem in different other cases and frameworks.
But this warning really just a warning, it is not dangerous and you can simply ignore it.


actions: add CHANGELOG.md and a release target to Makefile

This commit adds a release target to the Makefile, simplifying the generation
of the CHANGELOG.md (oh, this commit also adds a CHANGELOG.md). Invoke the
make target like so.
make release VTAG=v0.4.1

This will update the CHANGELOG with the commits included since the last
release, commit that change, and create the version tag. Then you just need
to push to github in order to publish the binary.
Fixes: https://github.com/boson-project/faas/issues/41

Hmm... just realized this will conflict with https://github.com/boson-project/faas/pull/44


net/http: GET request hangs in Linux forked process exported via Cgo shared library

What version of Go are you using (go version)?

$ go version
version go1.16.4 linux/386

Does this issue reproduce with the latest release?

See Go definition of CheckConnection() function attached in Sample.zip. I exported CheckConnection Go function as C function in .so file using following command.  This function makes http GET request to google.com using http.client.
 go build -o libapp.so -buildmode=c-shared libapp.go

Then using generated .SO and .h, called exported Go function from my C test program. Below is the command I used to compile and build my C test program.
 gcc -m32 -o ctest ctest.c ./libapp.so

In the C test program, I called exported CheckConnection() function from main() and from forked process. Function call from main() gets succeeded whereas function call from forked process hangs at
  res,err := myClient.Get("https://www.google.com")

Attached is the sample code reproducible.  [(Sample.zip)]
Sample.zip
What did you expect to see?
Both calls to CheckConnection() should succeed.
What did you see instead?
CheckConnection() call from main() succeed and CheckConnection() call from forked process hangs.

Duplicate of #15538


authorization (in addition to authentication already done) via CanCanCan

See #3 for how to implement roles

Done with #85


Remove 2FA Restrictions for AAD and Certificate management

Addresses #6005
Both restrictions removed for User/Org certificate management.

Manage packages, AAD account without 2FA:

MSA account without 2FA:

@dtivel, @chenriksson  - Removed the restriction of 2FA for AAD for setting the required signers, see the screenshot in the description. Please review.

@shishirx34 LGTM


Allow overriding of registry locality

Also fixes bug where non-kube envs could override to something that parsed incorrectly
Signed-off-by: Liam White<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: liamawhite
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hzxuzhonghu
If they are not already assigned, you can assign the PR to them by writing /assign @hzxuzhonghu in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: howardjohn, liamawhite
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hzxuzhonghu
If they are not already assigned, you can assign the PR to them by writing /assign @hzxuzhonghu in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

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

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

Needs approval from an approver in each of these files:

pilot/OWNERS [ZackButcher]

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

@liamawhite: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

@liamawhite: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-unit-tests

prow/istio-integ-k8s-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@liamawhite: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-unit-tests

prow/istio-integ-k8s-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@liamawhite: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-pilot-multicluster-e2e

prow/istio-unit-tests.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

rebase for test failure fix

@liamawhite: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
d4cfcfa6c0fd496877ad991e64953bbe0e7f4f5e
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
ebc822f075b82779b45bdd9c24fd194d126163f0
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@liamawhite: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
ebc822f075b82779b45bdd9c24fd194d126163f0
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
ebc822f075b82779b45bdd9c24fd194d126163f0
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Documentation on rotating the root certificate

While it is not common, there is always the possibility that one would have to rotate the root CA. Could you add documentation on how to do it without downtime?

Also would like to know this. Is it possible since you'd need to trust the old and new at the same time?
We were actually looking to use an intermediate CA so would it be possible to trust the root, renew the intermediate, then change back to only trusting the intermediate?

Your trust store PEM could be two different roots at the same time, so even if there is no intermediate you can just append root1 and root2 in a transition phase, rotate all pods and then remove root1 from the trust store.


How to sync manually?

#zram_dir is the directory you wish to hold in zram, the original is moved to a bind mount bind_dir and is synchronised on start/stop and write commands.
pi@raspberrypi:~ $ sudo zram-config write
Usage: zram-config {start|stop|enable-ephemeral|disable-ephemeral}
Zram-config is newest.

And How about adding 'flush' function.
flush is to increase available overlay disk , zram-config flush move all files to disk .

already closed sorry.


[bug]: GetChanInfo returns an error for zero-conf channels

Background
To update channel fees, you can use the UpdateChannelPolicy and then use GetChanInfo to confirm the fee rate update was applied, but for zero-conf channels the latter API call returns an error
So when looking up such a channel with GetChanInfo, it should return the channel info
Your environment

LND 0.15.5-beta

Steps to reproduce

Create a zero-conf channel
Update the fee rate
Check that the fee rate was applied

Expected behavior

The fee rate should be returned

Actual behavior

Error is returned

What's the returned error?

edge not found

Is the zero-conf channel confirmed? Which SCID are you using in the call to GetChanInfo?

I wasn't able to reproduce this following the steps above. The channel was an unconfirmed, zero-conf channel and GetChanInfo returned the expected info

ok cool, must be due to using the wrong id then

This happened due to a disconnected block notification which called https://github.com/lightningnetwork/lnd/blob/d9c79d874e44770daf097042b4ca20a7c6e34008/channeldb/graph.go#L1519-L1533
This leads to every SCID in the graph being deleted if it has a height after the disconnected height - meaning every alias SCID. The fix here would be set endShortChanID to right before the start of the alias SCID range. I'm not sure what can be done to remedy this if this has happened to live zero-conf channels without trying to close the channel or trying to surgically insert the edge

I'm not sure what can be done to remedy this if this has happened to live zero-conf channels without trying to close the channel or trying to surgically insert the edge

Can pass in an interface to skip if an scid alias is ours and "looks" like something we'd make?

Can pass in an interface to skip if an scid alias is ours and "looks" like something we'd make?

I meant that if this has already happened to a node, the edge wouldn't exist and I wasn't sure how to fix that after-the-fact without possibly closing the channel

Re-opening this as it still seems to be popping up. Got a report of a main gateway node not having the channel update (?), so it can't send the latest one to leaf nodes, who are now making invalid invoices, causing incoming payments to fail.
This has been a very long standing issue. One recovery method could be just re-generating if we don't have it for some reason, but the bigger question is why it's getting "lost" in transit.


copyfile apple api update

@bors r+

:pushpin: Commit 0f66767255eb7ce29974d013d147d872cea8fad1 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 0f66767255eb7ce29974d013d147d872cea8fad1 with merge e3e237daa5acc3b3e4610dabd45b55d33118587e...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing e3e237daa5acc3b3e4610dabd45b55d33118587e to main...


Сhanges /upload and /api/upload

Changing the functions of those responsible for '/upload' and '/api/upload'
Using this code, we managed to fix the '/upload' page: it uploads the .pcap file to the '/tmp' folder, then transfers it to '/arkime/raw', keeping the original name, and deletes the file from the '/tmp' folder.
Elasticsearch version end Arkime/Moloch version: last
OS name and version: linux
file 'arkime/viewer/viewer.js'   [line 1921]
// uploads apis ---------------------------------------------------------------
const storage = multer.diskStorage({
    destinatiom: (req, file, cb) => {
        cb(null, '/tmp');
    },
    filename: (req, file, cb) => {
        cb(null, file.originalname);         //save original name pcap file
    }
});
const upload = multer({ storage: storage });

app.post(
    ['/api/upload', '/upload'],
    //  [checkCookieToken, multer({ dest: '/tmp', limits: internals.uploadLimits }).single('file')],
    [checkCookieToken, upload.single('file')],
    miscAPIs.upload
);

file 'arkime/etc/config.ini'  [linе 238]
because the '--copy' function does not work as expected (it split the test file into 2 separate files), I had to use additional functions to move the file to the '/arkime/raw/' folder
uploadCommand = (/usr/sbin/tcpdump -w /opt/arkime/raw/{ FILENAME } -r { TMPFILE }) && /opt/arkime/bin/capture -r /opt/arkime/raw/{ FILESAVE } -c { CONFIG } { TAGS } && rm { TMPFILEDEL }
file 'arkime/viewer/apiMisc.js'  changing the parameters of the function 'Config.get('uploadCommand')'  [line 201]
// upload apis --------------------------------------------------------------
let fileName = req.file.filename;
const cmd = Config.get('uploadCommand')
        .replace('{TAGS}', tags)
        .replace('{CONFIG}', Config.getConfigFile())
        //.replace('{NODE}', Config.nodeName())
        .replace('{FILENAME}', fileName)                                   // opt/arkime/raw
        .replace('{FILESAVE}', fileName)                                     // file name to save to arkime
        .replace('{TMPFILE}', req.file.path)                                 // /tmp
        .replace('{TMPFILEDEL}', req.file.path);                          // remove file in fload /tmp

This would be better as a PR instead of a github issue
In general it is considered a large security issue to use the filename provided, especially if it isn't scrubbed or checked if that file already exists
Why does it matter if it is split into multiple files? If it really does matter just increase the max file size in Arkime
The upload command in general is just a toy, if you really have files so big that they are getting split, you should just be copying them to the machine and running arkime capture yourself.
Unclear why you commented out the NODE replacement?
What is the purpose of TEMPFILEDEL vs TMPFILE and FILESAVE vs FILENAME?
If you really wanted to copy the file you should use the "cp" command instead of "tcpdump"


AP Mode Error

I tried basic code. When the button is pressed, pressed will be written on the screen.
Code:
#include <Arduino.h>
#include <GyverPortal.h>
GyverPortal portal;
void build() {
GP.BUILD_BEGIN();
GP.THEME(GP_DARK);
GP.BUTTON("btn", "Button");
GP.BUILD_END();
}
void action() {
if (portal.click("btn")) Serial.println("pressed");
}
void setup() {
Serial.begin(115200);
WiFi.softAP("", "");
IPAddress IP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(IP);
Serial.println(WiFi.localIP());
portal.attachBuild(build);
portal.attach(action);
portal.start(WIFI_AP);
}
void loop()
{
portal.tick();
}
Serial monitor:
[E][WebServer.cpp:633] _handleRequest(): request handler not found
[E][WebServer.cpp:633] _handleRequest(): request handler not found
[E][WebServer.cpp:633] _handleRequest(): request handler not found
pressed
It basically works but is there any way to fix these errors?

I tried your code on esp8266. Have no errors

there is an interesting situation. the same code gives error on platform io but works without error on arduino ide.


Sending data on upload (eg:CSRF-TOKEN )

image.request.data and image.request.headers

同上0.0，求给个设置token的地方

同上0.0，求给个设置token的地方

Thanks for your advice.
This feature will be added in the next version

I have published v1.1.0 to npm. Please use the last version.


Upgrade to go 1.13.3 (CVE-2019-17596)

What this PR does / why we need it:
full diff https://github.com/golang/go/compare/go1.13.1...go1.13.3

go1.13.2 (released 2019/10/17) includes security fixes to the
crypto/dsa package and the compiler.
See the Go
1.13.2 milestone on our issue tracker for details.

go1.13.3 (released 2019/10/17) includes fixes to the go command,
the toolchain, the runtime, syscall, net,
net/http, and crypto/ecdsa packages.
See the Go
1.13.3 milestone on our issue tracker for details.

Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

/retest

Note, the CI run was failing due to the image being pushed about 5 hours after this PR was created.

We could use golang:1.13 and we would get the latest minor version always
when the build happens. What do you all think?
On Fri, Oct 18, 2019, 7:00 PM Matt Farina<EMAIL_ADDRESS>wrote:

Note, the CI run was failing due to the image being pushed about 5 hours
after this PR was created.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/helm/helm/pull/6698?email_source=notifications&email_token=ADBXB2DN65K2L2QFJA5K6CDQPG26XA5CNFSM4JCCGV22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBUOW3A#issuecomment-543746924,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBXB2A2LB63SLS6SK7NFEDQPG26XANCNFSM4JCCGV2Q
.

If we don't specify a minor version, it may not be easy to troubleshoot sporadic issues, although this may be rare.

If we don't specify a minor version, we don't need to pay attention to this change throughout the lifecycle of the go version.

Specify minor version, which is in line with best practices.

@tao12345666333
For this

If we don't specify a minor version, it may not be easy to troubleshoot sporadic issues, although this may be rare.

We are actually specifying a patch version in this case, not minor. And I agree that not knowing golang version could make debugging tougher. helm currently shows what's the golang version it was built with:
$ helm version
version.BuildInfo{Version:"v3.0+unreleased", GitCommit:"3ee8f78c79db3025f991d4f399d444d516dff52e", GitTreeState:"dirty", GoVersion:"go1.13.1"}

so it's easy to troubleshoot
For

If we don't specify a minor version, we don't need to pay attention to this change throughout the lifecycle of the go version.

Again, it's patch version here. I would recommend being always having the latest patches. I actually even recommend having the latest minor versions - why say no to good features and bug fixes. Only major versions are a pain as they contain breaking changes most times. Instead of always paying attention to the lifecycle of go version, and also manually changing version, it would be easier to just use golang:1.13. In reality a lot of people keep an eye on the golang versions and blogs, in our case, we just don't have to make changes continuously for the releases
For

Specify minor version, which is in line with best practices

Again, it's patch version. And I haven't seen anyone tell that specifying patch / minor version is a best practice. In many package management systems, people mention packages with the spec that they want the latest in the given minor version, or even the latest in the given major version. And the versions are locked in a lock file and sometimes updated when installing packages. I think it's completely fine to have latest and greatest. Just my opinion. Core maintainers might feel differently


[FLINK-7041] Deserialize StateBackend from JobCheckpointingSettings with user classloader

R: @tzulitai
CC: @StephanEwen I noticed that the state backend that is in the configuration is never used anywhere. I'm guessing this is for future work or is something missing in the code?

Thanks for the quick fix @aljoscha!
Regarding tests:
Can we also have another test that verifies JobGraphs containing custom StateBackends or StateBackends with custom classes can be submitted without exceptions?
Looks like org.apache.flink.runtime.jobmanager.JobSubmitTest is a good place for that.

Ah scratch that, perhaps the CheckpointSettingsSerializableTest is sufficient.

Thanks for the fixups @aljoscha :-D
The last Travis run was successful, the test name rename should not affect anything.
Merging this ..

Thanks! 😃


Total gone missing

From one day to another Zählerstand total is  not available anymore. Did not change anything.
Restarting: Integration or complete HA does not help. Unpower, repower Bridge. Also no Change.
The other value that I only have enabled is power. Which is fine all some seconds. As expected.

thanks for your report - please update to 1.0.6 to fix this issue - when you can confirm the fix, then please be so kind and close this issue - TIA

Works again. Big thanks.


chore(main): release 2.1.0

:robot: I have created a release beep boop
2.1.0 (2023-05-03)
Features

add support and documentation for browser iife usage (f4305e0)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/LinLin00000000/openai-billing/releases/tag/v2.1.0 :sunflower:


Issue with description - broken or missconfigured link?

It looks there is an issue with the description for the setting Authentication/Registration/LoginButtonAuthenticationType under the section enable-aspnet-identity-authentication
This is how it looks from my chrome browser:

I want to configure this setting to enable SSO with our AAD, but not sure which value should I use in the setting.

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

ID: 6313f348-4130-74f5-320d-b5bd270060c6
Version Independent ID: de470e06-c2d3-354e-ba80-75691a5d8bd4
Content: Set authentication identity for a portal - Power Apps
Content Source: powerapps-docs/maker/portals/configure/set-authentication-identity.md
Service: powerapps
GitHub Login: @sandhangitmsft
Microsoft Alias: sandhan

This value of Authentication/Registration/LoginButtonAuthenticationType site setting will be the same value that you have used for your AuthenticationType site setting e.g. if you are using a SAML Provider then this will be a site setting such as Authentication/SAML2/[provider]/AuthenticationType.
For AAD this is the value of the entityID attribute defined in the federationmetadata.xml and looks like https://sts.windows.net//


Error 115 : Operation now in progress

I was trying to make an API request to my OrientDB server with the PHPOrient library and getting the following error message:
"Error 115: Operation now in progress"
I am using the Enterprise 2.1.0 version

Okay, I noticed that this error occurs when a client with https is making request from an http server(orientDB installed here)


v0.22.0 (6-Apr-2015)

It's time to get a <IP_ADDRESS>.0 release ready. Release day is 6-Apr-2015. What needs to be in it?

[ ] #718  (#663 or #692)
[ ] #705 (no-brainer 5 min review!)
[ ] #723
[ ] #605 (after nearly one year of test without problem...)

cc @pmiossec

You guys do great work. :)
I would like to vote for #678 (since it is biting me right now trying to do an initial clone.) I would build it myself but I don't want to install VS 2012 just to get the VS 2012 SDK to build it for TFS 2012. :(
If I had VS 2013, can I build for TFS 2012 without VS 2012?

With vs2013, you won't be able to build the dlls for vs2010 or vs2012, just
the one for vs2013 but it will connect without problem to a tfs 2012!

@spraints I have updated the list of the PR that I want to see merged in the next release. And I want that version to be released as soon as possible.... If we could give it a go....

@spraints Can we give git-tfs some love and release something soon?

Sorry for the delay. The ship lists for the releases seem like they end up being a blocker for releases, rather than improving the process. How would it sound if we just had "release day" once a month, and release whatever's on master? I could put this on my calendar, and cut a release the e.g. 1st of each month. That would mean that I'd cut one tomorrow (or, more likely, Monday), probably without everything in the list at the top of this issue. How does that sound?

I highly wanted that #718 will be in the next release because at the moment, if someone encounter the case that this PR fix, he will have a broken history without even knowing it ( and we deliver a version with this important problem since more than one year :( ). And to tell you the truth, in this special case, I'm ready to merge even a not perfect code just to have this problem fixed.
But if we release a version now and one in just one month, which will be great, I'm pretty happy to wait one more month! The most important will be to find time to review (and adjust) waiting pull request...
But doing a release with what we have in master is an excellent idea because we could see that some people create issue on bugs already fixed and that will fix that...
Let's go release!

:boom: v0.21.0 is released! I've got release day on my calendar as first Monday of every month. :boat:

Well done! :fireworks: :cool:
Go for the next release! ;) If there is only PR that make the cut, I would that that's #718... (even if you could review #705 that should take you no more than 5 min...)

By the way, don't forget to update Chocolately so chocolately gets v0.21.0 as the latest version! (I just tried updating via choco and v0.20.0 is still the latest version reported.)
Thanks and definitely appreciate the release!!! :)

@frizzr  the package is automaticaly pushed to chocolatey when we released but it is waiting for moderation now that the packages are verified by the chocolatey team!
So we have to wait until they approve it (max 3 days as they say in the automatic replay email...)

Gotcha. Sorry for the impatience. I went ahead and installed it anyway. :)
Great product...and thanks again. :)

@frizzr @pmiossec Chocolatey is still on v.0.20.0 as of 3/10.  :(

Yes I have send an email yesterday and it should be moderated soon.
But you could install it anyway : https://chocolatey.org/packages/gittfs/0.21.0
with the command line choco install gittfs -version 0.21.0

I didn't realize you could use -version on a non-moderated build. Thanks!

Yes I have send an email yesterday and it should be moderated soon.

:heart: feel free to loop me in if I can help in any way. I think I ended up submitting v0.21.0 twice during the release process. The second one is the preferred version. I'm pretty sure the first one was broken in some way, like a bad URL to the release zip?

@spraints I come back into the business and I'm sorry to insist on the fact that we must merge #718 (that fix a bad history in the case of a rename).

v0.22 happened. and some other releases.


feat(apps): track created apps and delete their namespaces after all tests are done

this set will be used to track installed apps, so that the tests can delete all corresponding namespaces after all are finished
This PR was inspired from the discussion at https://github.com/deis/workflow-e2e/issues/142#issuecomment-204458448
Note that this still needs manual testing to ensure that app namespaces are properly cleaned up.

Very clean code!  Learned a lot of golang just reading through this PR!

@arschles if you fix up the print statements this is g2g

@jchauncey fmt.Printf=> fmt.Fprintf change made in https://github.com/deis/workflow-e2e/pull/146/commits/46ccffd7096c5316989d604d71b66b41c2bd1305

🚢


Performance optimization for FHIR bulk export

This PR contains a performance optimization for *.ndjson generation.
Execution times for ./run_synthea -p 10000:

with this fix: 16:32
without fix:  34:31

The tests have been performed on a MacBook Pro with specs:
16 GB 1600 MHz DDR3
2.2 GHz Quad-Core Intel Core i7

Thank you for the pull request. I tested it and it seems like a nice enhancement.
Couple of thoughts:

If you call Exporter.closeOpenFiles() once at the very end of Exporter.runPostCompletionExports(...), you do not need to modify App.java or Generator.java whatsoever.
Your edits create several checkstyle warnings. Can you correct them, please?

> Task :checkstyleMain
[ant:checkstyle] [WARN] Exporter.java:9: Wrong lexicographical order for 'java.io.IOException' import. Should be before 'java.io.PrintWriter'. [CustomImportOrder]
[ant:checkstyle] [WARN] Exporter.java:53: Line is longer than 100 characters (found 117). [LineLength]
[ant:checkstyle] [WARN] Exporter.java:54:46: WhitespaceAround: '*' is not preceded with whitespace. [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:54:47: WhitespaceAround: '*' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:54:51: WhitespaceAround: '*' is not preceded with whitespace. [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:54:52: WhitespaceAround: '*' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:346:19: WhitespaceAround: 'synchronized' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:350: Line is longer than 100 characters (found 110). [LineLength]
[ant:checkstyle] [WARN] Exporter.java:359:17: WhitespaceAround: 'synchronized' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:369:10: WhitespaceAround: 'while' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:369:25: WhitespaceAround: '{' is not preceded with whitespace. [WhitespaceAround]
[ant:checkstyle] [WARN] Exporter.java:369:30: Line contains a tab character. [FileTabCharacter]
Checkstyle rule violations were found. See the report at: synthea/build/reports/checkstyle/main.html
Checkstyle files with violations: 1
Checkstyle violations by severity: [warning:12]

Thanks for the quick reaction and the suggestion about Exporter.runPostCompletionExports(...). I was having a hard time finding an elegant way to close the files.
I pushed the update with the applied review notes.

Looks like all the unit tests passed, but the slack notification failed. So I'm not worried about the ❌ icons above.

@eugene-blokhin thank you for the pull request!


build on windows methods

Would SoftEtherVPN5 build methods be the same as SoftEtherVPN4?
Currently, the windows build guide is too hard for a none developer
I ran into some problems which I can not fix.
If not the case Hopley the windows build guide will be more detailed

it is our debt.
windows build guide is not only hard, but it is broken.
maybe I'll take time this weekend, who knows.
meanwhile, you can use Azure DevOps build artifacts (from pipeline)

Thanks for the quick reply
Never used Azure before nonetheless, I will try it.
Also, I'm not eager to use SoftEtherVPN5,  Maybe I'll wait :)


Please add typings

An index.d.ts with:
export interface Station {
  id: string;
  relevance: number;
  score: number;
  weight: number;
}

function autocomplete(query: string, results?: number, fuzzy?: boolean, completion?: boolean): Station[];

export default autocomplete;

Might be enough.
Thanks :)

Although I'd like to support typing-based dev workflows with my libs, I would like to avoid another item on the maintenance list that I don't directly benefit from, as I wouldn't use them by myself.
Given that I write untyped/plain JS, a disconnect between the typings and the actual code might easily happen anyways, so have you considered adding the typings to the DefinitelyTyped collection?

@derhuerst I highly recommend using Typescript, it's adds a lot of goodness to the dev process. I'd rather not add it to the Definitely Typed collection, then I'd have to maintain code I'm not going to be using for long.
I think we can close this issue then. Rock on 🤘

I haven't used TypeScript a lot so far, but from my subjective judgement, the moments where it would have been worth its costs are very rare.


Add and refactor events for iced integration

I set up the framework of events we should target on each platform if possible. I mostly followed the way iced structures its events.

Okay, what do you think of this architecture?

Do you like it this way, or do you think we should push requests onto a queue instead?

Whether that happens directly in the impl<A> Window<A> blocks and we have our types concrete or whether we have a platform-neutral Window/WindowSystem/WindowHandle type is something that @glowcoil and I disagree on (with @glowcoil being in the "concrete impl block" camp and me being in the "platform-neutral trait" camp).

TBH I'm open to either of these! I don't really have a strong preference.

Okay, I'll work on a solution tomorrow!


Added OnActivate and OnDeactivate methods to ILightEvent

Added OnActivate and OnDeactivate methods which should be called when the profile becomes active/inactive
This pull request proposes the following changes:
ILightEvent now has two more methods - OnActivate and OnDeactivate which are called when the Application is being brought to foreground or vice versa.
Known issues/To do:
Needs to be tested if new methods are called in all cases

Never mind, will do some more testing and re-submit.


Fix animations introducing or removing objects

Overview: What does this pull request change?

ShowPassingFlash now removes objects when the animation is finished
Added remover flag to Animation analogous to remover

Motivation and Explanation: Why and how do your changes improve the library?

Fixes #2349.
Links to added or changed documentation pages

Further Information and Comments

Code:
class IntroducersInSuccession(Scene):
    def construct(self):
        mobjs = [Square() for _ in range(11)]
        VGroup(*mobjs[:6]).arrange().shift(2 * UP)
        VGroup(*mobjs[6:]).arrange().shift(2 * DOWN)
        self.play(
            Succession(
                Circumscribe(mobjs[0]),
                ShowSubmobjectsOneByOne(mobjs[1]),
                Create(mobjs[2]),
                FadeIn(mobjs[3]),
                Write(mobjs[4]),
                Unwrite(mobjs[5]),
                GrowFromCenter(mobjs[6]),
                ShowPassingFlash(mobjs[7]),
                SpinInFromNothing(mobjs[8]),
                FadeOut(mobjs[9]),
                DrawBorderThenFill(mobjs[10]),
            )
        )

Before:
https://user-images.githubusercontent.com/12128106/147375936-0072cf39-ac79-4c46-9211-9c6dcd76544c.mp4
After:
https://user-images.githubusercontent.com/12128106/147375926-0ff6a60d-6cda-4186-bbeb-575556a04405.mp4

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

I like the semantics of this approach! In particular, the new method for preparing the scene seems useful. I'll have to think a bit more about this and how it interacts with the already present machinery for adding mobjects (the moving_mobjects and the Scene.add_mobjects_from_animations stuff), but in general this looks very clean.
For now, thank you!