Improvement suggestions from Twitter

RobertSpigler made some suggestions for improvement via Twitter. I've pasted his tweets here for discussion, reformatted with numbers added for reference below:
@GlacierProtocol is the best, but needs to improve by

including better info on verifying fingerprints

switch from x86 to Power ISA (specifically @RaptorCompSys hardware)

switch from USB to qrcodes for transferring data to airgapped machine

fix address reuse

implement P2WSH

Implement the P/RNG improvements that Core did in PR# 14955 and 14624, rather than just /dev/random as is currently.

Addressing these one at a time.

Better fingerprints: I'm not sure what this means. Are you referring to GPG signatures of the software used? Or the md5 fingerprints of the generated transactions, used to compare the two quarantined laptops?

Glacier does all private key manipulation on the two quarantined laptops. Are you suggesting that users would buy two RCS systems to use as the quarantined systems? What kind of hypothetical attack would that prevent?

Glacier has always used QR codes for transferring transaction data. USBs are used only for the OS and software packages, something obviously not possible with QR codes. The quarantined USBs are never plugged into any other laptop once created, so there's no pathway for exfiltration.

I'd love to fix address reuse. That will require major changes, however. Today Glacier users find their UTXOs by pasting their one address into a block explorer. That wouldn't work anymore. It would require assistance from an online wallet to locate users' addresses in the blockchain. Then the signing key information would need to be transmitted to the quarantined systems. PSBT can do this (see #54) but we'd need to implement PSBT first, and my investigation concluded that would be a downgrade to Glacier security (though I'd love to hear that I'm wrong about that).

Glacier (since v0.93) does p2wsh-in-p2sh. I chose not to go full p2wsh for several reasons. (1) blockchain.info does not index p2wsh addresses, so that part of the process would need to change. (2) Not every wallet supports sending to bech32 addresses, so we would need to explain all that to the user. (3) The cost savings at the time were insignificant.

I imagine we'll upgrade to full p2wsh/bech32 once the bulk of the tools out there support it without any trouble.

Glacier does not use "just /dev/random", but a combination of /dev/random and casino dice. As long as at least one of those two are uncompromised, the entropy is safe.

We discussed the use of /dev/random in #47. I don't understand the context of the Core changes, but keep in mind that Core is running in a much more hostile environment than Glacier.

Hi,
Thanks for picking this up.

I like how Qubes informs their users.  They have the philosophy of distrusting the infrastructure.

Once you have obtained the Qubes Master Signing Key, you should verify the fingerprint of this key >very carefully by obtaining copies of the fingerprint from multiple independent sources and comparing >them to the downloaded key’s fingerprint to ensure they match. Here are some ideas:
Use the PGP Web of Trust.
Check the key against different keyservers.
Use different search engines to search for the fingerprint.
Use Tor to view and search for the fingerprint on various websites.
Use various VPNs and proxy servers.
Use different Wi-Fi networks (work, school, internet cafe, etc.).
Ask people to post the fingerprint in various forums and chat rooms.
Check against PDFs and photographs in which the fingerprint appears (e.g., slides from a talk or on a T-shirt).
Repeat all of the above from different computers and devices.

Yes.  Ultimately, you can't trust any software compiled on x86 systems. RCS has come out with Blackbird, which is a much more affordable, open, owner controlled system than the original Talos II.

Woops, sorry.  Don't know how I got that wrong.  My apologies.  I think a good thing to note would be that air-gapped machines must parse USB provided information: load drivers, parse partition tables, mount/parse filesystems - performing a lot of untrusted input processing. QubesOS secure copy uses Xen's shared memory, which eliminates lots of processing of untrusted data.  Once Qubes ports to ppc64, using secure copy for the software packages could be a great security upgrade.

Address reuse is both a privacy and security issue, and blockchain explorer use is a privacy issue as well.  I'd need further time to read through your security analysis, but PSBTs and P2WSH are the future for secure multisig.  I'm sure if we get some more heads involved here, we can find a solution.

I understand the reasoning at the time.  Looking at https://en.bitcoin.it/wiki/Bech32_adoption things are much better now.  Bitcoin Core is even looking at defaulting to Bech 32 receiving for 0.19.

I think Glacier should assume the most hostile of environments.  I understand that through the use of XOR, you only need one source of entropy to be strong.  The Core changes do a lot to remove the dependence on OpenSSL.  My wording on twitter wasn't great.  I mean't that rather than keeping up to date with Core, you are still just using /dev/random, rather than their changes.  I think keeping up to date with something as vital as this is important.  XORing it with dice is even better.

Meant to include that using the open source blockstream.info explorer would also in the short term fix your issue of explorers not indexing native segwit addresses, though a better solution should be found in the long term.

1. I like how Qubes informs their users.  They have the philosophy of distrusting the infrastructure.

Once you have obtained the Qubes Master Signing Key, you should verify the fingerprint of this key >very carefully by obtaining copies of the fingerprint from multiple independent sources and comparing >them to the downloaded key’s fingerprint to ensure they match. Here are some ideas:
Use the PGP Web of Trust.
Check the key against different keyservers.
Use different search engines to search for the fingerprint.
Use Tor to view and search for the fingerprint on various websites.
Use various VPNs and proxy servers.
Use different Wi-Fi networks (work, school, internet cafe, etc.).
Ask people to post the fingerprint in various forums and chat rooms.
Check against PDFs and photographs in which the fingerprint appears (e.g., slides from a talk or on a T-shirt).
Repeat all of the above from different computers and devices.

I see: you're talking about the Glacier signing key from keybase.io. I'm afraid I don't know much about this myself.

2. Yes.  Ultimately, you can't trust any software compiled on x86 systems. RCS has come out with Blackbird, which is a much more affordable, open, owner controlled system than the original Talos II.

This just seems completely impractical to me. Glacier is already a huge burden. Now, instead of buying two cheap laptops, I have to buy/build two desktop systems. These cannot be used for any other purpose. I have to store them somewhere for months/years in between Glacier withdrawals. When I use them, I have to hook up two monitors and two keyboards. I'd need a webcam on each, to scan the QR codes. The OS would need to have good support for all these devices, without having to install extra drivers.
Then the two setup computers would also need to be RCS systems. And if you're being strict about following the protocol, one of them should be owned by someone else, or brand new.
Glacier is already a niche product with very few actual users. I'm pretty sure this would take us to 0 actual users.

3: I don't know anything about Qubes, but I'm not really following you. What attack vector would this cut off? The setup PCs are running a live Ubuntu image, downloading a new Ubuntu ISO, and writing that to the USBs. I think there's risks there (see #42) but I'm not sure what a "secure copy" would help with.

6: how would this work, practically? We run bitcoin-cli to get some entropy, instead of /dev/random? What form does this entropy come in? Addresses, I assume? I guess we could just ask for a few new addresses, hash them together to get a binary number, then display that number as the entropy.

I look forward to your feedback on my PSBT investigation, and I hope you stick around. This project is pretty quiet, and the official maintainers are AWOL, so not much is getting done. And if you're good with Python, how about a review on #61?

3\. I'm sure if we get some more heads involved here, we can find a solution.

@Rspigler I'd love to find solutions to your suggestions but please answer my followup questions!

Sorry, I'm finishing off my semester and heading into finials - responding has been on my to do list.  Thanks for the bump.

I see: you're talking about the Glacier signing key from keybase.io. I'm afraid I don't know much about this myself.

Valid signatures can prove that that the signed file was created by the person who signed it (authenticity), and that the file has not been tampered with (integrity).  It can not prove that the file is not malicious.  You do not have sole control over your entire infrastructure, ie github, your website, etc.  Your key could be replaced by a malicious party, (you can name a key anything - like 'Glacier Key'), sign this new malicious version of the product, and post that online instead.  Users validating the download would see nothing wrong.  There should be instructions to verify Glacier's fingerprint from multiple independent sources (and Glacier's fingerprint should be posted more online).  With Glacier being such a high value target, this is a serious concern.

This just seems completely impractical to me. Glacier is already a huge burden. Now, instead of buying two cheap laptops, I have to buy/build two desktop systems.

I understand this concern.  I see the infosec community moving to PowerISA, but it definitely hasn't gotten there yet.  Maybe just putingt this under the 'Extend Glacier Security' section is a good compromise?

Then the two setup computers would also need to be RCS systems

Maybe I'm missing something, but why is this the case?

The setup PCs are running a live Ubuntu image, downloading a new Ubuntu ISO, and writing that to the USBs

I incorrectly assumed you were transferring software via USB - scratch what I said.  Think issue #42 is a great idea to have resolved.

how would this work, practically? We run bitcoin-cli to get some entropy, instead of /dev/random? What form does this entropy come in? Addresses, I assume? I guess we could just ask for a few new addresses, hash them together to get a binary number, then display that number as the entropy.

This seems perfectly secure to me - if it weren't, people would be getting the same addresses in their clients.

I look forward to your feedback on my PSBT investigation

I'm a bit confused by your security analysis.  On part 5, what are your specific concerns with regards to GlacierScript being compromised? It's open source, and written by you?

I hope you stick around. This project is pretty quiet, and the official maintainers are AWOL, so not much is getting done. And if you're good with Python, how about a review on #61?

I wish I could - I'm studying to be a social worker, not developer unfortunately.  Maybe one day I'll be both.  I help mainly through advocacy, education, and funding.  I'd like to put a 1 bitcoin bounty on implementing the following: (please update the title)
1 (including better info on verifying fingerprints), 2 compromised (recommending RCS hardware/PowerISA under extending Galcier), 4 (fix address reuse), 6 (stay up to date with Core's RNG changes), #54, and #42 .  The bounty will be split among the developers who worked on the above, however I deem most fair.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
I am placing 1 bitcoin bounty on Glacier Protocol for the following numbered work:
1, 2 compromised, 4, 6, issue 42, and issue 54.
The date is 4/20/2019
Robert Spigler
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEwsYOJ56G8Q1Wl3glNc4P5sIUGCMFAly7bbYACgkQNc4P5sIU
GCNOgg//Xa5JN9l09PUf2oHO5uZXuzn/iCitLeWZEdw4Z65dr/MLeFhd8ae4OaA0
rC3blvNKygNcBfL5EC0UM6RDMVrUWD0E7f6BTvUjXxo3wtZ9gUDREiFiseaR5RUX
4RyHgDrbvnjKNa1Hd2fkyV1TxiALlmRq3roHNtktE6oDYU67EO6vqjnxUA6LU0dM
vbcB/dG4MuE77S5FLkfM/Wn+tsVuqGaMCF/qvcolpN9cnFVr105rTSoWA/P7eu4Z
fpz+UbmXmDkD/XiNgq0HAoy/QKUEfKpmtvnMVtWspYu70yGjxr1eNyJjVxURgFtS
6RyuCK2a6mGFjeJU6A67jVfypDsOGdcjJR/xfTU8m8XKjku/zBG/cuWT5+McxV7A
M29sNb5oAWWOOHfRJZtSTIzx9dcHB3f1agylz/FNJimtSQFYuoZ7p9RSY0CpalJ0
yHwVCL8FRTSFTozuiJN8E4mjCkZT5sx3eqsHsz2JyW5h5l10aQWmZ3G7OXFp+AUj
r775atzmICN/Tt58Gl1CxXdDZBMP2ytIsUzOht662QXJJMtEl4oJhdQhVIezTaAb
xrVlWk4m7TzK2d7jFzePqyo8QjRy6Oq94Csmbj46WklpJbhNihExtCAvBeO/80XT
w2+1YFUlweOvCEW1n4fjgHfn+unmx1yzgPEOl35q7iZuMZa4+lw=
=oZ+S
-----END PGP SIGNATURE-----

Then the two setup computers would also need to be RCS systems

Maybe I'm missing something, but why is this the case?

A compromised setup computer could write malware to the quarantined USB keys that would generate private keys known to the attacker. Aren't you considering all x86 computers to be compromised?

I look forward to your feedback on my PSBT investigation

I'm a bit confused by your security analysis. On part 5, what are your specific concerns with regards to GlacierScript being compromised? It's open source, and written by you?

Today, users run Glacier-provided software on the quarantined laptops only. No Glacier software runs on any online PC at any time. Therefore even if the Glacier package itself were compromised, it would be practically impossible to steal coins without the attacker also compromising another target (like coinb.in) simultaneously. (I'm considering the withdrawal process only. Compromising key generation is another matter, but PSBT doesn't change anything there.)
With the (envisioned) PSBT flow, the user would have to run Glacier-provided software on both quarantined and online PCs. An attacker could compromise only Glacier and control both ends of the transaction transmission flow, allowing them to use the PSBT data structure to extract keys from the quarantined laptops.
Your bounty is generous, but right now there's no changes at all happening on Glacier as the original authors as well as the subsequent official maintainers have all but abandoned it.

I've been thinking more about avoiding address reuse. A typical Bitcoin-stealing malware attack is to replace a receiving address with the attacker's address. We must be careful that any receiving address the Glacier user sends coins to is a correct address for this wallet.
In the current system, there is only one address, and it is printed on the cold storage information page. We've confirmed that it has not been tampered with by performing a test deposit and withdrawal to this address using our keys.
In a typical system that generates a new receiving address for every deposit, wallet software on the online node would generate those addresses. But we aren't supposed to trust any online computer. Therefore the addresses must be generated using the quarantined laptops. We could also have the online wallet generate the receiving address, but we would need the user to cross-check against the list from the quarantined laptop. We need to carefully consider the design, as this creates a real risk of process fatigue.
Strawman proposal: upon creating a new Glacier wallet, the quarantined laptop will display not one cold storage address, but a list of ~10 numbered addresses. The user should print out this list and keep it with each of the packets. And we need a way to make sure the printed list matches what the quarantined laptop created (since getting from the quarantined laptop to the printer requires transmission through multiple online devices). (Note that today's Glacier does not need this extra verification since the test deposit and withdrawal form a complete loop that verifies the electronic copy of the cold storage information page.)
When executing the deposit protocol, the wallet software will tell the user which of the numbered addresses is the first unused address. ("Address 4 is the next unused address.") The user should cross-check their printed list with the address generated by the wallet software, marking off each address as it is used. (This is very similar to the current deposit protocol, where the protocol instructs the user to open a packet and cross-check the address printed on the cold storage information page.)
We'll need a new process for creating a new list of 10 additional receiving addresses using the quarantined laptops. It's not necessary to include this subsequent list with every packet, since if the user loses access to his/her "master" packet, they should be doing no more deposits to this wallet.

I should state that this was closed and the bounty was given to @willweatherman at Yeticold (https://github.com/JWWeatherman/yeticold) a number of months ago.

I should state that this was closed and the bounty was given to @willweatherman at Yeticold (https://github.com/JWWeatherman/yeticold) a number of months ago.

Thank you for the update @RSpigler.
IMO, Glacier is more secure than Yeti, but Glacier is also obsolete and abandoned.

Thank you for the update @RSpigler.
IMO, Glacier is more secure than Yeti, but Glacier is also obsolete and abandoned.

We welcome improvements

We welcome improvements


Delete testdata bytecode tests

Recently we gathered some code coverage metrics for testdata tests, and compared that to our unit tests.
It turns out that our testdata coverage was a strict subset of unit tests, including in generated files, which makes them not particularly useful as serialization and deserialization tests, and minimally useful as versioned semantic compatibility tests, but very useful as testdata for StableHLO users.
For semantic compatibility, this approach does not scale well due to the high redundancy in test cases. The overhead for cloning all these files at each StableHLO version bump is too high for its limited value (25MB of bytecode files per version, difficult to review due to PR size, consistently breaks our tooling). We have created #1416 to rethink semantic compatibility testing, and are planning to only version stablehlo_legalize_to_vhlo.mlir for serialization testing, which alone has 95% coverage of compatibility machinery, covering all ops, types, and attributes.
This PR was created using the following commands (meaning it should be uniform):
cd stablehlo/testdata
rm *.mlir.bc
sed -i 's/stablehlo-translate.*--interpret/stablehlo-opt -inline %s | stablehlo-translate --interpret/' *.mlir
sed -i "/0_9_0/d" *.mlir

EDIT 5/24: Alternatives considered and mitigations
A primary use case for testdata on top of reference interpreter testing, is to provide copy-pastable snippets for StableHLO users to test their backend implementations against. As such, maintaining some form of textual assembly format is a requirement. The primary alternative considered was to remove the MLIR files and only have bytecode files. This is more stable, and there is an MLIR vscode extension that permits viewing and editing bytecode files in place. This solution was not chosen for two main reasons - 1. Serialized portable artifacts are VHLO, meaning the decoded file would not be a copy-pastable snippet, as IR upgrades and conversion to StableHLO are still required. 2. This extension does not work on github, meaning files would need to be opened in VSCode or deserialized using an opt tool.
The downside of only preserving text files is that StableHLO portable artifacts have stability, meaning they will not break between releases. Textual assembly format may break. In the case of assembly format changes, we may have a large amount of testdata that breaks and requires fixing. This overhead can be automated away with a script that checks out a known good release, generates bytecode files, and deserializes at HEAD to update the testdata. This script is tracked in #1533.

Updated files (and commands used).
In the previous revision we weren't running interpreter tests at all on testdata, in this one we are running interpreter tests on the MLIR files.

Updated commit description with some alternatives considered and rationale for removal.


Add URL-Encoding to base64

Adding QByteArray::Base64UrlEncoding to the args of imgData.toBase64() will add better compatibility when sending it over to something like PHP or JS. Essentially, it replaces all spaces with - . You could also do QByteArray::Base64Encoding which will replace all spaces with + instead of -. However, the - tends to work better amongst other things.
This is pretty much to give better support for POSTing the base64 code to a RESTful receiver on a website or something. Either arg is better than nothing.
See: https://doc.qt.io/qt-5/qbytearray.html#toBase64-1

Thank you for your contribution.
Back in the day of me using a PHP server for images (pictshare) this didn't present a problem, so I didn't research it further, but thank you once again.


Now supportin Travis CI

Compiles for Python 2.7, 3.4, 3.5, 3.6

Merging support for Travis CI and nosetests.


Slideshow template install errors

I've just installed slideshow and I'm getting some errors installing templates.
installed versions
gem list slideshow

*** LOCAL GEMS ***

slideshow (3.0.1)
slideshow-models (3.0.1)
slideshow-templates (3.0.0)

if I try any install commands, e.g. slideshow install impress.js I'm getting 404 errors on download
slideshow install impress.js
confutils/1.1.2 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
logutils/0.6.1 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
fetcher/0.4.5 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
textutils/1.4.0 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
slideshow-models/3.0.1 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
slideshow-templates/3.0.0 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
slideshow/3.0.1 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
Slide Show (S9) v3.0.1 on Ruby 2.2.1 (2015-02-26) [x86_64-linux]
  Mapping fetch shortcut 'impress.js' to: https://raw.github.com/slideshow-templates/slideshow-impress.js/master/impress.js.txt,https://raw.github.com/slideshow-templates/slideshow-impress.js/master/impress.js.txt.quick
Fetching template pack 'impress.js'
    from 'https://raw.github.com:443/slideshow-templates/slideshow-impress.js/master'
    saving to '/home/rorym/.slideshow/templates/impress.js'
  Downloading manifest 'impress.js.txt'...
*** error - fetch HTTP - 404 Not Found

*** error: Not Found

with --verbose enabled I get a URL of
[debug] GET /slideshow-templates/slideshow-impress.js/master/impress.js.txt uri=https://raw.githubusercontent.com/slideshow-templates/slideshow-impress.js/master/impress.js.txt, redirect_limit=4
*** error - fetch HTTP - 404 Not Found

manually checking for that URL in a browser gets a 404 as well..

Thanks for reporting. Will get fixed with the next update. The bundled (built-in) index is not up-to-date. Use:
$ slideshow update
and retry. It will work now. Cheers.

cool that worked great, Thanks :)

I'm getting that error again. Running slideshow update does not fix it...
Anything else I can do?

@nightscape FYI: Thanks for reporting. Will look into it tomorrow (Thursday).    Cheers. PS: Can you let me know what package you try to install e.g. impress.js or another one (e.g. deck.js, reveal.js etc.)?

I created a Pull Request here: https://github.com/slideshow-s9/registry/pull/1


started the burn developer book

Pull Request Template
Checklist

[x] Confirmed that run-checks all script has been executed.
[x] Made sure the book is up to date with changes in this PR.

Related Issues/PRs
None
Changes
Adds a book that is geared toward contributors to burn. I haven't moved any of the existing content yet (such as Architecture.md, burn-import/contributing.md) as I'm not sure what files should me moved or just copied/modified.
Testing
I ran mdbook build --open locally to confirm that the book does in fact build.
I read it, to confirm it is indeed readable
jokes aside, if we keep the style guidelines, should we try to run any checks to see if linked code is still exists or the current information is still up to date with main?

Quick feedback re formatting (haven't read the content in details yet).
I recommend you format the text using something like prettier if you have a VS/Neovim plug-in. We have a configuration for prettier: https://github.com/tracel-ai/burn/blob/main/burn-book/.prettierrc.json (or you can define yours)
This helps formatting tables and wrapping markdown text.

There a URL for it yet?


docs: Add documentation for PG AST22

This markdown file documents the (intermediate) results of the AST22 lab.

@lars-reimann Ready for review.


[CLOUD-4354] Implement exit codes correctly

Closes CLOUD-4354  by correctly implementing the Soda Library exit codes

@gregkaczan I went ahead and merged this so it's fixed in the field, feel free to still review this and make adjustments when you're back on your post.


Feature select resource

[ ] fix tests
[ ] Add optional display props to ResourceSelect that used to represent select value
[ ] Add value props to ResourceSelect and use it to choose proper option in the select

[ ] fix tests
[ ] Add optional display props to ResourceSelect that used to represent select value
[ ] Add value props to ResourceSelect and use it to choose proper option in the select

[ ]  fix tests
[x]  Add optional display props to ResourceSelect that used to represent select value
[x]  Add value props to ResourceSelect and use it to choose proper option in the select

I'll try to fix the tests today. The other two tasks are done

[ ]  fix tests
[x]  Add optional display props to ResourceSelect that used to represent select value
[x]  Add value props to ResourceSelect and use it to choose proper option in the select

I'll try to fix the tests today. The other two tasks are done


Always export the artboards to be able to see the diffs on the Pull Requests

Example:

https://github.com/lanceplaine/capnet-pressing-design/pull/27/files

At work @Talentoday I use the same principles:

Sketch files in the sketch folder
Exported artboards in the mockups folder

This is really really good. I'll re-organise the folders as such, add it to the contribution guide.

Great. Let me know if I can help. I can do one or two projects as example once Git LFS is set up


Run codecov from main on push

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (29c876f) to head (b944802).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #13   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            9         9
  Lines          790       790
=========================================
  Hits           790       790

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Call correct PaywallViewController constructor

Fixes #1 by using an existing constructor. Tested this with RevenueCat iOS 4.39.0.
Also formatted function arguments to have them on separate lines. =)

@Qw4z1 looks like this new parameter is added in RevenueCat version 4.39.0. Thanks for implementing this. Amazing!

Implemented in version 0.0.8


[WIP] First steps and RoquetEquationOfState

What's left:

[x] Basic tests
[x] Functions to compute density and density anomaly

I propose to create documentation in the next PR.

Probably ready to go. @ali-ramadhan, take a look and let me know what you think.


OSX fix

I put here this fix, because I couldn't enjoy this great tool on my OSX ;-)
I'm not 100% sure that the tr '\n' ' ' is needed or not.

@Yitsushi thanks for the correction/suggestions!

@nemeth Thanks for the PR - looks good!
@Yitsushi Thanks for the corrections!
Cheers :beers:


Azcopy for upload

Added support to use azcopy when applicable during file upload.

@khanaffan are we using your new PR, #365, instead of this one for upload/download via AzCopy?

@khanaffan are we using your new PR, #365, instead of this one for upload/download via AzCopy?

I think the plan is to merge the #365 and abandon this one.

Going to close this in favor of the other PR.

Going to close this in favor of the other PR.

/azp run

/azp run

/azp run


Improves documentation in various places

For the "how to cite Flax" I mirrored what the JAX team did very closely.

Codecov Report

Merging #939 (d4ed70d) into master (8f9f7ec) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #939      +/-   ##
==========================================
+ Coverage   80.83%   80.85%   +0.02%
==========================================
  Files          55       55
  Lines        4388     4393       +5
==========================================
+ Hits         3547     3552       +5
  Misses        841      841

Impacted Files
Coverage Δ

flax/linen/module.py
95.20% <ø> (ø)

flax/optim/base.py
82.35% <ø> (ø)

flax/training/common_utils.py
0.00% <ø> (ø)

flax/jax_utils.py
59.81% <0.00%> (ø)

flax/training/checkpoints.py
98.70% <0.00%> (+0.07%)
:arrow_up:

flax/linen/transforms.py
90.38% <0.00%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #939 (d4ed70d) into master (8f9f7ec) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #939      +/-   ##
==========================================
+ Coverage   80.83%   80.85%   +0.02%
==========================================
  Files          55       55
  Lines        4388     4393       +5
==========================================
+ Hits         3547     3552       +5
  Misses        841      841

Impacted Files
Coverage Δ

flax/linen/module.py
95.20% <ø> (ø)

flax/optim/base.py
82.35% <ø> (ø)

flax/training/common_utils.py
0.00% <ø> (ø)

flax/jax_utils.py
59.81% <0.00%> (ø)

flax/training/checkpoints.py
98.70% <0.00%> (+0.07%)
:arrow_up:

flax/linen/transforms.py
90.38% <0.00%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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


[question] [upcycler] Guidance on how to create another upcycler machine with different ratios

Asking for some guidance. First timer modder here. It's my first day today.
After understanding item quality more, I think now I understand the purpose and reasoning of the upcycler mod, and it feels like an amazing solution for the gameplay that I was thinking of
The technology in this mod is still locked behind liquid, and I would love to have it available right from coal/burner age, but at a much much less powerful ratio of conversion so that the research is still worth aiming for (like now, but for a different reason)
So here is where the guidance request comes:
Reading the mod's source code I get a bit overwhelmed by all of the things I'm not quite understanding about what it is doing. It seems to be a relatively simple mod, so I'm aware it is absolutely a lack of skill/knowledge issue
Would it be possible to get some rough goal-posts / guidelines on what to look for exactly in the mod's codebase, considering my goal is to create (not replace) a separate upcycler machine (lets call it burner upcycler) that is:

10% of the conversion power than the existing one
Unlocked from the start

What part of the codebase I should be aiming my attention towards in order to achieve that goal?
Could there maybe be a simple way to do it without having to refactor a ton of code?

Ah looks like we already had some contact over discord, let me know if you still have some questions.


focus() cause unexpected scroll

Do you want to request a feature or report a bug?
bug
What is the current behavior?
On chrome 61.0.3163.79, the view will scroll to top if the editor's focus() method were called.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Checkout this: https://jsfiddle.net/85t88Lat/
What is the expected behavior?
Just get the editor focused, without the extra scroll.
Which versions of Draft.js, and which browser / OS are affected by this issue? Did this work in previous versions of Draft.js?
Draftjs/0.10.1 Chrome/61.0.3163.79

For what it's worth, I tested this in Chrome 60.0.3112.113 / OSX and didn't see the issue with your fiddle. It didn't do the scroll as you described.
Then I upgraded Chrome and now on 61.0.3163.79 and your fiddle does scroll to the top when you click to focus the editor.

Same issue since Chrome 61 (macOS).
Also, a cut action (command + x) scrolls the page to top, too.

Found an similar issue #14. Appears to be an issue of getScrollPosition.js in fbjs

I can confirm that the fix from #14 works for me. Doing a yarn upgrade fbjs (which updates fbjs to 0.8.15) fixes the issue on Chrome 61.

I am also experiencing the same issue on Chrome 61.0.3163.79.
Three of my customers have reported this issue too.

It looks like draft requests version ^0.8.7 of fbjs. So a fresh install of your node_modules should fix this by upgrading to a working 0.8.15 version. Alternatively you can do yarn upgrade fbjs or npm upgrade fbjs as @jeffsaracco mentions above.

Yes, that fix the issue. Will it better to update dependency of fbjs to 0.8.15 in package.json? Since we may not have direct dependency of fbjs

@michaelcox Hey! Thanks for info about this issue! I indeed nuked node_modules, upgraded fbjs to 0.8.15, and am still experiencing this!
@techird you mentioned it fixed this for you?

I'm not sure what the issue might be then @abhiaiyer91. Are you sure you upgraded that module? If you're on node 8 and have a package-lock.json file, you'll need to delete that too. Or do the npm upgrade fbjs thing.

@michaelcox sorry! you are completely right, lock files :) IM GOOD! thank you!

Thanks everyone for flagging this and confirming the fix! I also was able to reproduce it in Chrome Canary (Chrome v63).
It looks like we have updated fbjs internally at FB but not yet in the package.json for Draft in open source. Just opened a PR to update this for everyone in open source, and will do a minor release to get that out to folks asap. 🐎

I experiencing this scroll behaviour with other things (jQuery.focus() for example). As I am not able to find out, what causes this, I am interested in what the fix is in the fbjs lib to prevent this scroll. Possibly I could apply this fix for my problem.


correct whitespace issue causing issues with fpm 0.8.2, fixes issue #2.

Remove unexpected whitespace, causing build issues with fpm 0.8.2. Resolves issue #2.

Thanks for the fix (and apologies for the delay to merge the request!)


Samplegen: make Java samples complete

PTAL @beccasaurus @pongad @vchudnov-g

Codecov Report

Merging #2417 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #2417      +/-   ##
============================================
+ Coverage     86.72%   86.72%   +<.01%
- Complexity     5241     5242       +1
============================================
  Files           458      458
  Lines         20870    20877       +7
  Branches       2252     2252
============================================
+ Hits          18099    18106       +7
  Misses         1968     1968
  Partials        803      803

Impacted Files
Coverage Δ
Complexity Δ

.../transformer/java/JavaGapicSamplesTransformer.java
100% <100%> (ø)
11 <0> (ø)
:arrow_down:

...api/codegen/transformer/java/JavaSurfaceNamer.java
92.24% <100%> (+0.44%)
54 <1> (+1)
:arrow_up:

Continue to review full report at Codecov.

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


Add support for AWS v4

@pwerth Long overdue, but wanted to let you know that this has been now released in v1.1.6.


upload game tests with effects

Pull Request Test Coverage Report for Build 40

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.583%

Totals

Change from base Build 38:
0.0%

Covered Lines:
202

Relevant Lines:
223

💛  - Coveralls


Plot price zones

Is there a way to draw a price zone between two price lines and color the zone with a parameterized alpha value? Such as the green zone in my screenshot, but I'd like to set the alpha value of the filled color. Thanks.

Do you want to emulate something like multi-pane support #50 ?

Do you want to emulate something like multi-pane support #50 ?

I've tried this. There are two main issues. First, correct color blending is required in the overlapping area from both areaseries, such that this area has same color as the background. This can be done. However, the second issue is a show stopper. Any other line series drawn within this overlapping area will be covered (refer to attachment).

Sorry, but I don't quite understand what you want. What is this “price zone" for?

I'm going to close the issue. If you'll have any question or updates - feel free to re-open it.


LEAN-3406: Modify the save project API to delete any existing data.

I'm ok with not explicitly testing this, as long as you made sure the FE works.

Seems to be working fine, I had to add createdAt back to the models.


chore: purge deps

Changes
Replaces:

find-up with escalade
find-cache-dir with scorta

Collectively, find-cache-dir is a tree of 11 dependencies, which includes find-up. By contrast, scorta is a tree of 2, which includes escalade and itself.
This is a true replacement because this dependency chain was isolated:

Both escalade and scorta are significantly smaller and faster than the alternatives (click for benchmarks).

Note: Using scorta/sync here to match original usage.

Testing
Existing tests still passing. Did not add any new ones because it's vendor logic
Docs
No docs added – dependency swap only

Appreciate the work put into these (and anything that gets our dependency count down) but given how new scorta I don't feel comfortable switching to it just yet. The ~9 dep difference isn't worth the cost of potentially breaking someone. I'd be happy to revisit once the library has a chance to bake a bit longer.
If you're interested in getting our dependency count down, got would be a better place to start, given how little we use it for and the fact that all but 1 of it's uses point to our outdated webDependency/CDN code that is being re-implemented in a new branch and is safe to remove.

Understood – although scorta is newly extracted, but not new itself.
I had my eyes on got but assumed that would have less chance of being let go.

That's good to hear! Yea, I saw that escalade had some good usage.
On a second look it looks like pkg-dir uses find-up, so there's a chance that we're stuck with those deps regardless

pkg-dir only comes in through find-cache-dir.
You only lose the whole chain by replacing both find-cache-dir and find-up. With this PR, escalade powers all of that.

Just for reference I had switched got for bent here. https://github.com/pikapkg/snowpack/pull/592

@stramel lol "You either die a hero, or you live long enough to see yourself become the villain."

 Luckily we're working on this in #1149 !)


UNMET PEER DEPENDENCY with angular 4.0.1

Bug, feature request, or proposal:
Bug
What is the expected behavior?
No UNMET PEER DEPENDENCY
What is the current behavior?
UNMET PEER DEPENDENCY
What are the steps to reproduce?
ng start
npm install --save @angular/material@latest
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://goo.gl/DlHd6U
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, browsers are affected?
angular version 4.0.1
<EMAIL_ADDRESS>Is there anything else we should know?
npm install --save @angular/material@latest
Result in terminal
+-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>+-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>+-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>`-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>

https://github.com/angular/material2/issues?utf8=✓&q=UNMET PEER DEPENDENCY

This is due to the CLI creating a project with Angular 2.4 by default. Material beta.3 requires at least Angular 4.0. You can either update your Angular dependencies to 4 or file an issue on the angular-cli repo.


fix: add missing env vars to .env scaffold

Adds the following environmental variables to the .env template used when running:
tigris create project {project_name} --create-env-vars

Missing env vars are:

TIGRIS_PROJECT: the project name
TIGRIS_DB_BRANCH: the name of the database branch

Creating a draft PR as these are the first lines of Go I've written in my life. I've built the CLI and tested the new functionality works manually, but I haven't run any of the tests as I wasn't sure how to do that
edit: ah, make test 😊. But there seem to be several other dependencies that need to be in place before running the tests locally.

Codecov Report
Patch coverage has no change and project coverage change: -0.38 :warning:

Comparison is base (b0d42db) 49.84% compared to head (a819d3f) 49.46%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #227      +/-   ##
==========================================
- Coverage   49.84%   49.46%   -0.38%
==========================================
  Files          50       50
  Lines        3170     3172       +2
==========================================
- Hits         1580     1569      -11
- Misses       1441     1453      +12
- Partials      149      150       +1

Impacted Files
Coverage Δ

cmd/project.go
58.88% <0.00%> (-1.34%)
:arrow_down:

scaffold/scaffold.go
16.14% <ø> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Update: I'm also unsure if the -o flag is being adhered to. It looks like the file is always created in the current directory.

Those are beautiful first lines of code, Phil!


Cannot open Ogg FLAC file: unknown error in flac decoder

Try to open an Ogg FLAC file with soundfile:
In [1]: import soundfile

In [2]: soundfile.__version__
Out[2]: '0.12.1'

In [3]: soundfile.__libsndfile_version__
Out[3]: '1.2.2'

In [4]: sf = soundfile.SoundFile('oggflac.ogg')
---------------------------------------------------------------------------
LibsndfileError                           Traceback (most recent call last)
Cell In[4], line 1
----> 1 sf = soundfile.SoundFile('oggflac.ogg')

File /usr/lib/python3.11/site-packages/soundfile.py:658, in SoundFile.__init__(self, file, mode, samplerate, channels, subtype, endian, format, closefd)
    655 self._mode = mode
    656 self._info = _create_info_struct(file, mode, samplerate, channels,
    657                                  format, subtype, endian)
--> 658 self._file = self._open(file, mode_int, closefd)
    659 if set(mode).issuperset('r+') and self.seekable():
    660     # Move write position to 0 (like in Python file objects)
    661     self.seek(0)

File /usr/lib/python3.11/site-packages/soundfile.py:1216, in SoundFile._open(self, file, mode_int, closefd)
   1213 if file_ptr == _ffi.NULL:
   1214     # get the actual error code
   1215     err = _snd.sf_error(file_ptr)
-> 1216     raise LibsndfileError(err, prefix="Error opening {0!r}: ".format(self.name))
   1217 if mode_int == _snd.SFM_WRITE:
   1218     # Due to a bug in libsndfile version <= 1.0.25, frames != 0
   1219     # when opening a named pipe in SFM_WRITE mode.
   1220     # See http://github.com/erikd/libsndfile/issues/77.
   1221     self._info.frames = 0

LibsndfileError: Error opening 'oggflac.ogg': Error : unknown error in flac decoder.

In [5]:

$ > file oggflac.ogg
oggflac.ogg: Ogg data, FLAC audio

This error originates in libsndfile, and will need to be dealt with on their end. It may be a malformed FLAC file (check with a known-good one), or a bug in libflac, as called by libsndfile. It may also have been fixed already, as our libsndfile is outdated by about half a year. Work is ongoing on a new version, hopefully to be released in the next few weeks.


Patch mystery data misalignment

Leah reported a mismatch between a PDF LM20 report and the data in our database.

I've found another discrepancy between the query and the actual LM-20. This LM-20 has the rptID of 897473. In the spreadsheet export, it has LRI Consulting as the company but it is Specs Family Partners per the form.

If I run their extract query (with a filter for the incorrect rptId) against the linked database (below), I see the same issue:

name
title
organization
po_box,_bldg,_room_no,_if_any
street
city
state
zip_code
file_number
amended
name
organization
po_box,_bldg,_room_no,_if_any
street
state
city
zip_code
date_entered_into
date_fiscal_year_ends
type_of_person
Object of activity specified
Nature of activity
Specific period of performance
Specific extent of performance
name
organization
po_box,_bldg,_room_no,_if_any
street
city
state
zip
specific_subject_employees
specific_subject_labor_orgs
SIGNED Date
SIGNED Date
Number of signatures
atom_link
atom_updated
specific_nature_of_activity
notes

Michael Damian Esposito
Consultant
Espo Employee Relations LLC
400
7507 Roswell Road
Sandy Springs
GA
30350 - 8500
71368
N
Phil Wilson
LRI Consulting Services Inc.
P.O. Box 1529

OK
Broken Arrow
14013
2024-06-05
Dec 31
Other
Y
Engaged to educate employees regarding exercising their rights to organize and bargain collectively.
Various days beginning 6/6/2024 - 6/14/2024
Completed
Ron Hasinger
ADM - Archer Daniels Midland Company

77 W. Wacher Drive
Chicago
IL
60601
Dry Mill hourly production employees and lab techs
Teamsters Local 238
Jul 29, 2024
Jul 29, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=897473&rptForm=LM20Form
2024-09-17 05:00:00Z
Engaged to educate employees regarding exercising their rights to organize and bargain collectively.
Verbal agreement to represent ADM at their facility in Cedar Rapids, IA, to educate employees regarding their rights to organize and bargain collectively.  Consultations billed at $212.50/hour, including travel and expenses. Agreement has not been reduced to writing, is for no specific time, and may be terminated by either party at any time.

The attached database contains two records for LRI consulting, one of them linking to the correct LM20:

name
title
organization
po_box,_bldg,_room_no,_if_any
street
city
state
zip_code
file_number
amended
name
organization
po_box,_bldg,_room_no,_if_any
street
state
city
zip_code
date_entered_into
date_fiscal_year_ends
type_of_person
Object of activity specified
Nature of activity
Specific period of performance
Specific extent of performance
name
organization
po_box,_bldg,_room_no,_if_any
street
city
state
zip
specific_subject_employees
specific_subject_labor_orgs
SIGNED Date
SIGNED Date
Number of signatures
atom_link
atom_updated
specific_nature_of_activity
notes

Michael Damian Esposito
Consultant
Espo Employee Relations LLC
400
7507 Roswell Road
Sandy Springs
GA
30350 - 8500
71368
N
Phil Wilson
LRI Consulting Services Inc.
P.O. Box 1529

OK
Broken Arrow
14013
2024-06-05
Dec 31
Other
Y
Engaged to educate employees regarding exercising their rights to organize and bargain collectively.
Various days beginning 6/6/2024 - 6/14/2024
Completed
Ron Hasinger
ADM - Archer Daniels Midland Company

77 W. Wacher Drive
Chicago
IL
60601
Dry Mill hourly production employees and lab techs
Teamsters Local 238
Jul 29, 2024
Jul 29, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=897473&rptForm=LM20Form
2024-09-17 05:00:00Z
Engaged to educate employees regarding exercising their rights to organize and bargain collectively.
Verbal agreement to represent ADM at their facility in Cedar Rapids, IA, to educate employees regarding their rights to organize and bargain collectively.  Consultations billed at $212.50/hour, including travel and expenses. Agreement has not been reduced to writing, is for no specific time, and may be terminated by either party at any time.

Michael Damian Esposito
Consultant
Espo Employee Relations LLC
400
7507 Roswell Road
Sandy Springs
GA
30350 - 8500
71394
Y
Phil Wilson
LRI Consulting Services Inc.
P.O. Box 1529

OK
Broken Arrow
14013
2024-06-05
Dec 31
Other
Y
Engaged to educate employees regarding exercising their rights to organize and bargain collectively.
Various days beginning 6/6/2024 - 6/14/2024
Completed
Ron Hasinger
ADM - Archer Daniels Midland Company

77 W. Wacher Drive
Chicago
IL
60601
Dry Mill hourly production employees and lab techs
Teamsters Local 238
Jul 29, 2024
Jul 29, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=895577&rptForm=LM20Form
2024-07-29 05:00:00Z
Engaged to educate employees regarding exercising their rights to organize and bargain collectively.
Verbal agreement to represent ADM at their facility in Cedar Rapids, IA, to educate employees regarding their rights to organize and bargain collectively.  Consultations billed at $212.50/hour, including travel and expenses. Agreement has not been reduced to writing, is for no specific time, and may be terminated by either party at any time.

Meanwhile, there are a number of records for Specs, but none of them refer to the LM20 Leah sent us. The closest match is the record tied to Simon Jara, https://olmsapps.dol.gov/query/orgReport.do?rptId=896618&rptForm=LM20Form, but one is an individual filing and the other is a corporate filing.

name
title
organization
po_box,_bldg,_room_no,_if_any
street
city
state
zip_code
file_number
amended
name
organization
po_box,_bldg,_room_no,_if_any
street
state
city
zip_code
date_entered_into
date_fiscal_year_ends
type_of_person
Object of activity specified
Nature of activity
Specific period of performance
Specific extent of performance
name
organization
po_box,_bldg,_room_no,_if_any
street
city
state
zip
specific_subject_employees
specific_subject_labor_orgs
SIGNED Date
SIGNED Date
Number of signatures
atom_link
atom_updated
specific_nature_of_activity
notes

Peter A List
Founder & CEO
Logic Labor Relations, LLC
PO Box 2877

Pawleys Island
SC
29585
70082
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-08-19
Dec 24
Corporation C
Y
Traveled to various facility locations in Texas. Interacted with employees to discuss employee relations; Engaged in walk-throughs and answered employee questions.
Various days beginning 8/19/2024
Ongoing
Luisa Perez
LABOR RELATIONS LMP INC

3107 Diplomat Pkwy W
Cape Coral
FL
33993
Employees employed by the employer at its various facilities in Texas: Including Austin, El Paso, Ft. Worth, Houston, Plano, and San Antonio.
No Petition
Sep 16, 2024
Sep 16, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=897382&rptForm=LM20Form
2024-09-16 05:00:00Z
Traveled to various facility locations in Texas. Interacted with employees to discuss employee relations; Engaged in walk-throughs and answered employee questions.
Oral agreement made with Logic Labor Relations LLC, $3,750 per day, per consultant, plus actual and reasonable expenses.

Peter A List
Founder & CEO
Logic Labor Relations, LLC
PO Box 2877

Pawleys Island
SC
29585
70082
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-08-19
Dec 24
Corporation C
Y
Traveled to various facility locations in Texas. Interacted with employees to discuss employee relations; Engaged in walk-throughs and answered employee questions.
Various days beginning 8/19/2024
Ongoing
Justin Shoemaker
Individual

Pawleys Island
SC
29585
Employees employed by the employer at its various facilities in Texas: Including Austin, El Paso, Ft. Worth, Houston, Plano, and San Antonio.
No Petition
Sep 16, 2024
Sep 16, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=897382&rptForm=LM20Form
2024-09-16 05:00:00Z
Traveled to various facility locations in Texas. Interacted with employees to discuss employee relations; Engaged in walk-throughs and answered employee questions.
Oral agreement made with Logic Labor Relations LLC, $3,750 per day, per consultant, plus actual and reasonable expenses.

Peter A List
Founder & CEO
Logic Labor Relations, LLC
PO Box 2877

Pawleys Island
SC
29585
70082
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-08-19
Dec 24
Corporation C
Y
Traveled to various facility locations in Texas. Interacted with employees to discuss employee relations; Engaged in walk-throughs and answered employee questions.
Various days beginning 8/19/2024
Ongoing
Simon Jara
Concordia Resolve Consulting LLC

Scottsdale
AZ
85258
Employees employed by the employer at its various facilities in Texas: Including Austin, El Paso, Ft. Worth, Houston, Plano, and San Antonio.
No Petition
Sep 16, 2024
Sep 16, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=897382&rptForm=LM20Form
2024-09-16 05:00:00Z
Traveled to various facility locations in Texas. Interacted with employees to discuss employee relations; Engaged in walk-throughs and answered employee questions.
Oral agreement made with Logic Labor Relations LLC, $3,750 per day, per consultant, plus actual and reasonable expenses.

Luisa M Perez
Individual
Luisa Perez
STE 3157 #62
3941 Tamiami Trail
Punta Gorda
FL
33950
68687
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-08-25
Dec 24
Other
Y
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Various days beginning 8/25/2024
Ongoing
Peter List
Logic Labor Relations, LLC

Pawleys Island
SC
29585
Employees employed by the employer at its various facilities in Texas: Including Austin, El Paso, Ft. Worth, Houston, Plano, and San Antonio.
No Petition
Sep 16, 2024
Sep 16, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=897387&rptForm=LM20Form
2024-09-16 05:00:00Z
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Oral agreement made with Logic Labor Relations LLC, $2,812.50 per day, plus actual and reasonable expenses.

Justin Shoemaker
Individual
Individual
PO BOX 983

Pawleys Island
SC
29585
69686
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-08-26
Dec 24
Individual
Y
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Various days beginning 8/26/2024
Ongoing
Peter List
Logic Labor Relations, LLC

Pawleys Island
SC
29585
Employees employed by the employer at its various facilities in Texas: Including Austin, El Paso, Ft. Worth, Houston, Plano, and San Antonio.
No Petition
Sep 16, 2024

1
https://olmsapps.dol.gov/query/orgReport.do?rptId=897402&rptForm=LM20Form
2024-09-16 05:00:00Z
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Oral agreement made with Logic Labor Relations LLC, $2,812.50 per day, plus actual and reasonable expenses.

Simon Jara
Vice President
Concordia Resolve Consulting, Inc.

9393 N 90th St Suite 102 PMB8
Scottsdale
AZ
85258
71368
N
Mike Garcia
Specs Family Partners LTD
2410
Smith Street
TX
Houston
77006
2024-07-22
Dec 24
Individual
Y
Holding and conducting meetings with management and employees to answer questions related to rights afforded by the National Labor Relations Act (NLRA).
07/23/24
08/15/24
Peter List
Logic Labor Relations, LLC

Pawleys Island
SC
29585
warehouse and drivers
teamsters Local 745
Aug 26, 2024

1
https://olmsapps.dol.gov/query/orgReport.do?rptId=896618&rptForm=LM20Form
2024-08-26 05:00:00Z
Holding and conducting meetings with management and employees to answer questions related to rights afforded by the National Labor Relations Act (NLRA).
Verbal agreement to represent Specs company at their facility in Dallas in a campaign to prevent Teamsters 745 from organizing their employees for purposes of collective bargaining. All consultations billed at $2812.50 per day not including travel and expenses. Agreement has never been educed to writing, is for no specific time, and may be terminated by either party at any time.

Luisa M Perez
Manager
LABOR RELATIONS LMP INC

3107 DIPLOMAT PKWY W
CAPE CORAL
FL
33993
68687
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-07-22
Dec 24
Other
Y
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Various days beginning 7/24/2024
Ongoing
Peter List
Logic Labor Relations, LLC

Pawleys Island
SC
29585
Included: On Premise Warehouse Associates; On Premise Drivers FT; On Premise Trainers; Retail Warehouse Class A Drivers; On Premise Receivers; Retail Warehouse Merchandisers; Retail Warehouse Transfer Drivers; and Wholesale Warehouse Merchandisers. Facility location 7777 Hines Place Dallas, TX 75235.
Teamsters Local 745
Aug 22, 2024
Aug 22, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=896499&rptForm=LM20Form
2024-08-22 05:00:00Z
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Oral agreement made through Logic Labor Relations LLC, $2,812.50 per day, plus actual and reasonable expenses

Peter A List
Founder & CEO
Logic Labor Relations, LLC
PO Box 2877

Pawleys Island
SC
29585
70082
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-07-22
Dec 24
Corporation C
Y
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Various days beginning 7/22/2024
Ongoing
Luisa Perez
LABOR RELATIONS LMP INC

3107 DIPLOMAT PKWY W
Cape Coral
FL
33993
Included: On Premise Warehouse Associates; On Premise Drivers FT; On Premise Trainers; Retail Warehouse Class A Drivers; On Premise Receivers; Retail Warehouse Merchandisers; Retail Warehouse Transfer Drivers; and Wholesale Warehouse Merchandisers. Facility location 7777 Hines Place Dallas, TX 75235.
Teamsters Local 745
Aug 16, 2024
Aug 19, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=896342&rptForm=LM20Form
2024-08-19 05:00:00Z
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Oral agreement made with Logic Labor Relations LLC, $3,750 per day, per consultant, plus actual and reasonable expenses.

Peter A List
Founder & CEO
Logic Labor Relations, LLC
PO Box 2877

Pawleys Island
SC
29585
70082
N
Mike Garcia
Specs Family Partners LTD

2410 Smith St
TX
Houston
77006
2024-07-22
Dec 24
Corporation C
Y
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Various days beginning 7/22/2024
Ongoing
Simon Jara
Concordia Resolve Consulting LLC

9393 N 90th St
Scottsdale
AZ
85258
Included: On Premise Warehouse Associates; On Premise Drivers FT; On Premise Trainers; Retail Warehouse Class A Drivers; On Premise Receivers; Retail Warehouse Merchandisers; Retail Warehouse Transfer Drivers; and Wholesale Warehouse Merchandisers. Facility location 7777 Hines Place Dallas, TX 75235.
Teamsters Local 745
Aug 16, 2024
Aug 19, 2024
2
https://olmsapps.dol.gov/query/orgReport.do?rptId=896342&rptForm=LM20Form
2024-08-19 05:00:00Z
Traveled to employer; Interacted with employees and provided information regarding the NLRB, unions, and the election process.
Oral agreement made with Logic Labor Relations LLC, $3,750 per day, per consultant, plus actual and reasonable expenses.

This is probably (?) an issue with our SQL, but it's curious that it seems to be a transient error. Can report IDs be reassigned?

Query:
select
  distinct c.name,
  c.title,
  c.organization,
  c.[po_box,_bldg,_room_no,_if_any],
  c.street,
  c.city,
  c.state,
  c.zip_code,
  f.srNum as file_number,
  f.amended,
  l.name,
  l.organization,
  l.[po_box,_bldg,_room_no,_if_any],
  l.street,
  l.state,
  l.city,
  l.zip_code,
  l.date_entered_into,
  l.date_fiscal_year_ends,
  l.type_of_person,
  CASE WHEN l.direct = 'X' OR l.indirect = 'X' THEN 'Y' ELSE 'N' END as 'Object of activity specified',
  a.[specific_nature_of_activity] as 'Nature of activity',
  a.[specific_period_of_performance] as 'Specific period of performance',
  a.[specific_extent_of_performance] as 'Specific extent of performance',
  p.name,
  p.organization,
  p.[po_box,_bldg,_room_no,_if_any],
  p.street,
  p.city,
  p.state,
  p.zip,
  [specific_subject_employees],
  specific_subject_labor_orgs,
  sl.date as 'SIGNED Date',
  sr.date as 'SIGNED Date',
  CASE WHEN sl.signed IS NOT NULL and sr.signed IS NOT NULL THEN 2 WHEN sl.signed IS NOT NULL OR sr.signed IS NOT NULL THEN 1 ELSE 0 END as 'Number of signatures',
  filing_url as atom_link,
  datetime(receiveDate, 'utc') || 'Z' as atom_updated,
  [specific_nature_of_activity],
  l.notes
from
  contact c
  join lm20 l on c.rptid = l.rptid
  join [specific_activity] a on a.rptid = l.rptid
  join performer p on p.rptid = l.rptid
  join filing f on f.rptid = l.rptid
  join signatures sl on sl.signature_number = 13
  and sl.rptid = l.rptid
  join signatures sr on sr.signature_number = 14
  and sr.rptid = l.rptid
where
  c.name is not null
  and l.rptId = 897473
order by
  datetime(receiveDate, 'utc') desc;

Database:
lm20-db-nightly-20240918-fb6ce1.zip

The problem is appears in the  output of the scraper:
{
    "amended": "N",
    "beginDate": "2023-08-20",
    "endDate": "2024-08-19",
    "registerDate": "2024-09-17",
    "formFiled": "LM-20",
    "receiveDate": "2024-09-17",
    "rptId": 897473,
    "srFilerId": 710112,
    "yrCovered": 2024,
    "empLabOrg": "Concordia Resolve Consulting, Inc.",
    "amendment": "0",
    "empTrdName": "",
    "subLabOrg": "SPECS FAMILY PARTNERS LTD",
    "formLink": "LM20Form",
    "srNum": 71368,
    "repOrgsCnt": 1,
    "paperOrElect": "E",
    "city": "Scottsdale",
    "state": "AZ",
    "address1": "9393 N 90th St Suite 102 PMB8",
    "address2": "",
    "zip": "85258",
    "termDate": "",
    "amount": "0",
    "originalRptId": "897473",
    "detailed_form_data": {
        "file_number": "71394",
        "amended": "",
        "person_filing": {
            "name_and_mailing_address": {
                "name": "Michael Damian Esposito",
                "title": "Consultant",
                "organization": "Espo Employee Relations LLC",
                "po_box,_bldg,_room_no,_if_any": "400",
                "street": "7507 Roswell Road",
                "city": "Sandy Springs",
                "state": "GA",
                "zip_code": "30350 - 8500"
            },
            "any_other_name_or_address_necessary_to_verify_report": {
                "name": "",
                "title": "",
                "organization": "",
                "po_box,_bldg,_room_no,_if_any": "",
                "street": "",
                "city": "",
                "state": "",
                "zip_code": ""
            }
        },
        "date_fiscal_year_ends": "Dec / 31",
        "type_of_person": "Other",
        "employer": {
            "name": "Phil Wilson",
            "title": "",
            "organization": "LRI Consulting Services Inc.",
            "po_box,_bldg,_room_no,_if_any": "P.O. Box 1529",
            "street": "",
            "city": "Broken Arrow",
            "state": "OK",
            "zip_code": "14013",
            "date_entered_into": "06/05/2024"
        },
        "signatures": {
            "13": {
                "signed": "Michael D Esposito",
                "title": "PRESIDENT",
                "date": "Jul 29, 2024",
                "telephone_number": "404-386-4034"
            },
            "14": {
                "signed": "Michael D Esposito",
                "title": "TREASURER",
                "date": "Jul 29, 2024",
                "telephone_number": "404-386-4034"
            }
        },
        "direct_or_indirect": {
            "direct": "X",
            "indirect": null
        },
        "terms_and_conditions": {
            "written_agreement": "",
            "notes": "Verbal agreement to represent ADM at their facility in Cedar Rapids, IA, to educate employees regarding their rights to organize and bargain collectively.  Consultations billed at $212.50/hour, including travel and expenses. Agreement has not been reduced to writing, is for no specific time, and may be terminated by either party at any time."
        },
        "specific_activities": [
            {
                "nature_of_activity": "Engaged to educate employees regarding exercising their rights to organize and bargain collectively.",
                "period_of_performance": "Various days beginning 6/6/2024 - 6/14/2024",
                "extent_of_performance": "Completed",
                "performers": [
                    {
                        "name": "Ron Hasinger",
                        "organization": "ADM - Archer Daniels Midland Company",
                        "po_box,_bldg,_room_no,_if_any": "",
                        "street": "77 W. Wacher Drive",
                        "city": "Chicago",
                        "state": "IL",
                        "zip": "60601"
                    }
                ],
                "subject_employees": "Dry Mill hourly production employees and lab techs",
                "subject_labor_orgs": "Teamsters Local 238"
            }
        ]
    },
    "file_urls": [],
    "file_headers": {},
    "filing_url": "https://olmsapps.dol.gov/query/orgReport.do?rptId=897473&rptForm=LM20Form",
    "files": []
}

okay, the srNum for this file is 71368, but the file number (which should be the same) in the scraped data is 71394. so that's a good clue!!


Remove dupe ctx logger in mains

Proposed Changes

Nothing important, just noticed some dupe contexts in the mains

/ok-to-test

/ok-to-test

Thanks for helping us tidy up!

Thanks for helping us tidy up!


Show Image command is not available

The context   menu to show image is not available for me after successful installation.

It works now after installing an older version


Normalize theme name ? MUI Mui

Is it possible to normalize MUI prefix name for theme :
I can see that there is different upper/lower case way to write css theme
 MuiFormLabel: {
            root: {
                fontWeight: 'lighter',
                fontSize: '0.9rem'
            }
        },
        MuiTableCell: {
            root: {
                padding: '3px 56px 2px 24px'
            },
            body: {
                fontSize: '0.720rem'
            }
        },
        MuiTableRow: {
            footer: {
                height: 40
            }
        },
        MuiTablePagination: {
            toolbar : {
                height: 40,
                minHeight: 40
            }
        },
        MUIDataTableBodyCell: {
        }

I think the right way is to used lower case if you want to be "Material UI" compliant

I don't think there's any hard fast rule about it to be compliant. I will leave this thread open though if others feel strongly about it we can make a change. It would be a painful one as it would be a breaking change

I have no real issue with it as long as it's consistent throughout the whole project. That said, if this is supposed to align with what Material-UI is already doing and attempts to use the same conventions, it would make sense to match their convention of Mui over MUI.
As for the breaking change, I'd probably just take care of this issue in the next major, if I were to change it at all.


sync based on file modified time?

If I'm getting it right, if you update files locally and remotely, using push/pull, you will always loose data -depending on which command is ran first.
So, is there a way to sync based on the file latest modified time (whether it was modified locally or remotely)?

Did you read this section which explains why it doesn't try to sync intelligently?
It has most of the features you'd need, if your work-flow is well defined.


UDP NAT Puncturing

Background
https://www.youtube.com/watch?v=01ajHxPLxAw
https://en.wikipedia.org/wiki/UDP_hole_punching
A naive implementation of UDP NAT puncturing looks like this
sequenceDiagram
    participant A
    participant S as Rendezvous Service (S)
    participant B

    autonumber
    A ->> S: send a udp message
    B ->> S: send a udp message
    S ->> A: internet visible udp address of B
    S ->> B: internet visible udp address of A
    B ->> A: B can send messages to A
    A ->> B: A can send messages to B

Wikipedia has a good description of this flow:
Let A and B be the two hosts, each in its own private network; NA and NB are the two NAT devices with globally reachable IP addresses EIPA and EIPB respectively; S is a public server with a well-known, globally reachable IP address.

- A and B each begin a UDP conversation with S; the NAT devices NA and NB create UDP translation states and assign temporary external port numbers EPA and EPB.
- S examines the UDP packets to get the source port used by NA and NB (the external NAT ports EPA and EPB).
- S passes EIPA:EPA to B and EIPB:EPB to A.
- A sends a packet to EIPB:EPB.
- NA examines A's packet and creates the following in its translation table: (Source-IP-A, EPA, EIPB, EPB).
- B sends a packet to EIPA:EPA.
- NB examines B's packet and creates the following tuple in its translation table: (Source-IP-B, EPB, EIPA, EPA).
- Depending on the state of NA's translation table when B's first packet arrives (i.e. whether the tuple (Source-IP-A, EPA, EIPB, EPB) has been created by the time of arrival of B's first packet), B's first packet is dropped (no entry in translation table) or passed (entry in translation table has been made).
- Depending on the state of NB's translation table when A's first packet arrives (i.e. whether the tuple (Source-IP-B, EPB, EIPA, EPA) has been created by the time of arrival of A's first packet), A's first packet is dropped (no entry in translation table) or passed (entry in translation table has been made).
- At worst, the second packet from A reaches B; at worst the second packet from B reaches A. Holes have been "punched" in the NAT and both hosts can directly communicate.

Let's start with a prototype of this basic protocol.
Integrating with Ockam
This basic prototype will help us explore how this should integrate with Ockam.
The UX of using UDP puncturing would be similar to using Forwarders today. We likely would also failover from NAT puncturing to forwarders if NAT puncturing doesn't succeed in establishing communication.

Forwarders (click to expand)
# Forwarders enable an ockam node to register a forwarding address on another node.
# Any message that arrives at this forwarding address is immediately dispatched
# to the node that registered the forwarding address.

# Create two nodes blue and green
$ ockam node create blue
$ ockam node create green

# Create a forwarder to node n2 at node n1
$ ockam forwarder create blue --at /node/green --to /node/blue
/service/forward_to_blue

# Send a message to the uppercase service on blue via its forwarder on green
$ ockam message send hello --to /node/green/service/forward_to_blue/service/uppercase

# This can be very useful in establishing communication between applications
# that cannot otherwise reach each other over the network.

# For instance, we can use forwarders to create an end-to-end secure channel between
# two nodes that are behind private NATs

# Create another node called yellow
$ ockam node create yellow

# Create an end-to-end secure channel between yellow and blue.
# This secure channel is created trough blue's forwarder at green and we can
# send end-to-end encrypted messages through it.
$ ockam secure-channel create --from /node/yellow --to /node/green/service/forward_to_blue/service/api \
    | ockam message send hello --from /node/yellow --to -/service/uppercase

# In this topology green acts an an encrypted relay between yellow and blue. Yellow and
# blue can be running in completely separate private networks. Green needs to be reachable
# from both yellow and blue and only sees encrypted traffic.

We love helping new contributors!
If you have questions or need help as you work on your first Ockam contribution, please leave a comment on this discussion.
If you're looking for other issues to contribute to, checkout this discussion and labels -  https://github.com/build-trust/ockam/labels/good first issue or https://github.com/build-trust/ockam/labels/help wanted

It would nice to explore this issue.
I think there are a couple of corner cases as for this kind of protocol implementation.
And I would to ask, for example:
Do you think that the destination peer must be aware that it is reached by relayed tunneling ?
And does it mean that any ockam peer implements the rendevouz relay or it must be a mesh of dedicated peers ?
And just out of curiosity: how ockam could be related to libp2p protocol set ?
They have network of p2p nodes that feature bootstrapping, peer and content routing over encryped channels, identification on top many transports. They use Kademlia-like DHT as cornerstone of their network topology. Ipfs is built on top of libp2p. So it looks like ockam is something similar as for functionality.
What is the story of ockam in this rush after new Internet ?

It would nice to explore this issue.
I think there are a couple of corner cases as for this kind of protocol implementation.

Thank you for spending time on this!

Do you think that the destination peer must be aware that it is reached by relayed tunneling?

Can't think of any reason why it must

And does it mean that any ockam peer implements the rendevouz relay or it must be a mesh of dedicated peers ?

For our use cases, we're okay with central well known nodes offering relay, forwarding, rendezvous like services - as long as the data integrity and confidentiality guarantees are end-to-end.

how ockam could be related to libp2p

While there seem to be some similarities in the lowest level protocols. The use cases we're building for are vastly different.

The UX of using UDP puncturing would be similar to using Forwarders today. We likely would also failover from NAT puncturing to forwarders if NAT puncturing doesn't succeed in establishing communication.
# Forwarders enable an ockam node to register a forwarding address on another node.
# Any message that arrives at this forwarding address is immediately dispatched
# to the node that registered the forwarding address.

# Create two nodes blue and green
$ ockam node create blue
$ ockam node create green

# Create a forwarder to node blue at node green
$ ockam forwarder create blue --at /node/green --to /node/blue
/service/forward_to_blue

# Send a message to the uppercase service on blue via its forwarder on green
$ ockam message send hello --to /node/green/service/forward_to_blue/service/uppercase

# This can be very useful in establishing communication between applications
# that cannot otherwise reach each other over the network.

# For instance, we can use forwarders to create an end-to-end secure channel between
# two nodes that are behind private NATs

# Create another node called yellow
$ ockam node create yellow

# Create an end-to-end secure channel between yellow and blue.
# This secure channel is created trough blue's forwarder at green and we can
# send end-to-end encrypted messages through it.
$ ockam secure-channel create --from /node/yellow --to /node/green/service/forward_to_blue/service/api \
    | ockam message send hello --from /node/yellow --to -/service/uppercase

# In this topology green acts an an encrypted relay between yellow and blue. Yellow and
# blue can be running in completely separate private networks. Green needs to be reachable
# from both yellow and blue and only sees encrypted traffic.

@Retamogordo , @mrinalwadhwa : Is work ongoing with this? If it's not, I'd like to be assigned it and give it a go.
Thanks!

@neil2468 Thank you! I don't think anyone is working so all yours. I suggest approaching the problem in small increments. Maybe as a start, prototype the protocol above https://github.com/build-trust/ockam/issues/3507#issue-1381362397

It seems ockam_transport_udp creates a new socket on a new UDP port for each outgoing message that's for a new peer. For this use case, that's problematic as we want the Redezvous Serivce and peer B to both see the same source port for messages from peer A.
@mrinalwadhwa: Would it be okay if I modify ockam_transport_udp to use the same UDP socket for all outgoing messages initiaited within the local node (i.e. for 'client' mode  messages but not 'server' mode where the local node listens on a well know port)?

@neil2468 yes, I think that should be okay.
Copying @etorreborre & @SanjoDeundiak just in case they have some more thoughts to add.


Update composer.json

PHP 7.4 Support

Your requirements could not be resolved to an installable set of packages.
Problem 1
- wirecard/payment-sdk-php[4.0.0, ..., 4.0.3] require php 5.6.* || 7.0.* || 7.1.* || 7.2.* || 7.3.* -> your php version (7.4.7) does not satisfy that requirement.
- wirecard/payment-sdk-php 4.0.4 requires monolog/monolog ^1.16 -> found monolog/monolog[1.16.0, ..., 1.x-dev] but the package is fixed to 2.2.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires wirecard/payment-sdk-php ^4.0 -> satisfiable by wirecard/payment-sdk-php[4.0.0, ..., 4.0.4].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.


Getting codecov to work on main and upload data

At this point, this is the only thing stopping me from adding this package to the registry. I keep getting 403 errors in the codecov webhook, and it doesn't seem to be running on pushes to main.
Linking this thread for reference, as I've asked for assistance: https://community.codecov.com/t/403-on-github-webhook/3159/7?u=brainandforce

I'm going to try disabling and re-enabling codecov for this repo to see if that works.

A bit late to the party, but #125 fixed this issue!


adds JSON output option

This just prints the raw API response JSON, which is nice when you want to pipe to another program!

Awesome thanks! We should update the readme too

Sweet 🤙🏼
On Dec 24, 2018, 3:59 PM -0700, Jess Frazelle<EMAIL_ADDRESS>wrote:

Merged #60 into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


docs: Update documentation about slugs

The documentation indicates the slug comes from the name of the file, but it comes from the title of the content (unless provided in frontmatter).
I was pretty confused by this because I had a title that contained a . and it was used in the URL even though the file name did not.
This information in the Permalink Configuration Values section is correct on this point.

We have moved the Hugo site source to its own repository, so we would appreciate if you could open this PR directly in hugoDocs:  https://github.com/gohugoio/hugoDocs/pulls


Add dist to .gitignore?

Readme says I shouldn't edit dist/* but dist/* are needed to run tests, and if I run grunt to generate them they will be included in any new branch uploaded to Github. This probably isn't wanted, so shouldn't dist be added to .gitignore?

dist is currently checked in for releases only, and not for commits between releases.

this has been done for 1.0, so I'll close this


[l10n] Add Indonesian (id-Id) locale

Update Mui locale for indonesian language

[x] I have followed (at least) the PR section of the contributing guide.

@fuadinaqi Thanks for the contribution.


AWS Rightsize EC2 Instances Revamp

Description
This is a full revamp of the AWS Rightsize EC2 Instances. All functionality has been tested, but I encourage others to double check my work.
From the CHANGELOG:

Policy name changed to reference EC2 service directly
Several parameters altered to be more descriptive and human-readable
Removed deprecated "Log to CM Audit Entries" parameter
Added ability to only report recommendations that meet a minimum savings threshold
Added ability to configure how many days to consider CPU/memory statistics for
Added ability to filter resources by multiple tag key:value pairs
Added ability to take automated actions to resize or delete resources
Added ability to make recommendations based on maximum CPU/memory usage
Added additional context to incident description
Normalized incident export to be consistent with other policies
Added human-readable recommendation to incident export
Streamlined code for better readability and faster execution

Link to Example Applied Policy
https://app.flexera.com/orgs/28010/automation/applied-policies/projects/123559?policyId=6480d50e75202d0001bcfc8f
Contribution Check List

[X] New functionality includes testing.
[X] New functionality has been documented in the README if applicable
[X] New functionality has been documented in CHANGELOG.MD

@XOmniverse - think you also need to update top level README with the new policy name
Also, should the path to policy change? e.g., from cost/aws/rightsize_compute_instances/aws_compute_rightsizing.pt to cost/aws/rightsize_ec2_instances/aws_ec2_rightsizing.pt

For the first item, the global README is now updated through automation.
For the second item, I agree and have made this change.

Not sure why it is complaining about not having a README, could be because we moved it? Anyway, PR looks fine


retract-facts-logical! listener not being called

I'm using a custom listener to dispatch notifications and noticed that my retract-facts-logical! listener wasn't being called. A quick github search suggests the call is missing:
https://github.com/rbrush/clara-rules/search?utf8=✓&q=retract-facts-logical!
Is this an easy fix or is there some complexity in supporting it?
-Jonathan

Looks like an oversight. I'll get this call added to the retraction flow in clara.rules.engine.ProductionNode so it shows up.

It should be fixed in the above commit. Let me know if this isn't working as you'd expect.

Works great, thanks Ryan!

Closing since this was fixed and marking for the 0.8.9 release.


ClientConfigLoadingRules is not working correctly

Hey there,
Looks like ClientConfigLoadingRules is not working correctly
I do merge two configs (old one & updated one) using this code -
// kubeConfigPath = ~/.kube/config
// newConfig = path to new config

	loadingRules := clientcmd.ClientConfigLoadingRules{
		Precedence: []string{newConfig, kubeConfigPath},
	}

	// merge the configs
	mergedConfig, err := loadingRules.Load()
	if err != nil {
		return err
	}

	spew.Dump(mergedConfig)

The weird story is that using code above current context is being updated, but not cluster & user info fields
If I change
Precedence: []string{kubeConfigPath, newConfig},

Then everything is being updated besides current context
Im on the latest version of client-go
Thanks

/reopen
I am also experiencing this issue.


Allow broker to override the access token check in OAuth2 factory

close it as it targets the wrong branch.


Analysis fails for "StreamChat"

This is a follow-up from a discussion on our Discord: https://discord.com/channels/844491846452379649/844491846914539554/989433930774106172
The issue is as follows:

an old tag isn't clearing in production
running analysis locally on a production clone with that old tag clears it correctly
copying the checkout directory from production also make the local analysis run keep the old tag

→ Something in that checkout either makes the analysis job fail, thereby not clearing the old tag, or the old tag somehow survives our attempts to pull/refresh the checkout.
Since this is now locally reproducible, I'll manually fix production so the correct tag is displayed.

So the problem is that our fetch command isn't correctly pruning tags. We've accidentally picked up 10.0.9 and because we only do git fetch --tags we're not getting rid of it anymore. I suspect we don't often see this issue because it old versions don't show up anywhere except in our database. 10.0.9 is different, because it because the latest release version due to its high major release number.
What worked to get rid of the stale tags is:
❯ git fetch --tags --prune-tags --prune
From https://github.com/GetStream/stream-chat-swift
 - [deleted]             (none)     -> <IP_ADDRESS>
 - [deleted]             (none)     -> 10.0.9
 - [deleted]             (none)     -> 2.0
 - [deleted]             (none)     -> 3.0
 - [deleted]             (none)     -> 3.0-alpha
 - [deleted]             (none)     -> 3.0-alpha.1
 - [deleted]             (none)     -> 3.0-beta.1
 - [deleted]             (none)     -> 3.0-beta.2
 - [deleted]             (none)     -> 3.0-rc.1
 - [deleted]             (none)     -> 3.0-rc.2
 - [deleted]             (none)     -> 3.0-rc.3
 - [deleted]             (none)     -> 3.2-beta
 - [deleted]             (none)     -> <IP_ADDRESS>
 - [deleted]             (none)     -> 4.0-beta.1
 - [deleted]             (none)     -> list
 - [deleted]             (none)     -> ui-3.0-beta.1
 - [deleted]             (none)     -> ui-3.0-beta.2
 - [deleted]             (none)     -> ui-3.0-beta.3
 - [deleted]             (none)     -> ui-3.0-beta.4

I'm not sure if that's the canonical version of that git command (feels a bit redundant) but it certainly works.

Looks good now on main page.


panic: runtime error: makeslice: len out of range using docker-machine on windows 10 64b

stefan@Monster MINGW64 ~/centos-jenkins-docker-slave (master)
$ winpty docker run -it 61138c91bd2a
panic: runtime error: makeslice: len out of range

goroutine 1 [running]:
github.com/docker/docker/pkg/term/winconsole.WinConsoleStreams(0xed3fb0, 0xc0820069b0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/docker/pkg/term/winconsole/console_windows.go:252 +0x50f
github.com/docker/docker/pkg/term.StdStreams(0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/docker/pkg/term/term_windows.go:33 +0x220
main.main()
        /go/src/github.com/docker/docker/docker/docker.go:24 +0x47

goroutine 2 [runnable]:
runtime.forcegchelper()
        /usr/local/go/src/runtime/proc.go:90
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 3 [runnable]:
runtime.bgsweep()
        /usr/local/go/src/runtime/mgc0.go:82
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 4 [runnable]:
runtime.runfinq()
        /usr/local/go/src/runtime/malloc.go:712
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [runnable]:
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:19
created by os/signal.init┬À1
        /usr/local/go/src/os/signal/signal_unix.go:27 +0x3c

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

@stefanleh curious why you closed this one. If this is still an issue, can you add the requested information? thanks!

$ docker version
Client:
Version:      1.8.3
API version:  1.20
Go version:   go1.4.2
Git commit:   f4bf5c7
Built:        Mon Oct 12 18:01:15 UTC 2015
OS/Arch:      windows/amd64
Server:
Version:      1.8.3
API version:  1.20
Go version:   go1.4.2
Git commit:   f4bf5c7
Built:        Mon Oct 12 18:01:15 UTC 2015
OS/Arch:      linux/amd64
$ docker info
Containers: 1
Images: 10
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 12
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.10-boot2docker
Operating System: Boot2Docker 1.8.3 (TCL 6.4); master : af8b089 - Mon Oct 12 18:56:54 UTC 2015
CPUs: 1
Total Memory: 1.956 GiB
Name: default
ID: 6CXJ:AZ6D:XEYS:3CQ4:S2EW:DR5P:LS4H:Z5RO:HKIA:FYUM:GEYS:JJHV
Debug mode (server): true
File Descriptors: 16
Goroutines: 35
System Time: 2015-10-28T14:38:35.086919988Z
EventsListeners: 0
Init SHA1:
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker
Labels:
provider=virtualbox
$ uname -a
MINGW64_NT-10.0 Monster 2.1.0(0.288/5/3) 2015-06-28 18:57 x86_64 Msys
environment
docker toolbox for windows / mingw64
steps to reproduce

install docker toolbox on windows
git clone https://github.com/stefanleh/centos-jenkins-docker-slave.git
cd centos-jenkins-docker-slave
docker build .
winpty docker run -it IMAGEID bash

the result
stefan@Monster MINGW64 ~/centos-jenkins-docker-slave (master)
$ winpty docker run -it 61138c91bd2a
panic: runtime error: makeslice: len out of range

goroutine 1 [running]:
github.com/docker/docker/pkg/term/winconsole.WinConsoleStreams(0xed3fb0, 0xc0820069b0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/docker/pkg/term/winconsole/console_windows.go:252 +0x50f
github.com/docker/docker/pkg/term.StdStreams(0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/docker/pkg/term/term_windows.go:33 +0x220
main.main()
        /go/src/github.com/docker/docker/docker/docker.go:24 +0x47

goroutine 2 [runnable]:
runtime.forcegchelper()
        /usr/local/go/src/runtime/proc.go:90
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 3 [runnable]:
runtime.bgsweep()
        /usr/local/go/src/runtime/mgc0.go:82
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 4 [runnable]:
runtime.runfinq()
        /usr/local/go/src/runtime/malloc.go:712
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [runnable]:
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:19
created by os/signal.init┬À1
        /usr/local/go/src/os/signal/signal_unix.go:27 +0x3c

+1

USER POLL
The best way to get notified when there are changes in this discussion is by clicking the Subscribe button in the top right.
The people listed below have appreciated your meaningfull discussion with a random +1:
@ssreekanth

/cc @jhowardmsft

Can you try the latest CLI. There have been many fixes to the ansi emulator, this looks like one of the well known ones.

Can you try the latest CLI. There have been many fixes to the ansi emulator, this looks like one of the well known ones.

Do you mean the latest docker toolbox for windows or latest mingw64?
I'm using whats included in DockerToolbox-1.8.3 from https://www.docker.com/docker-toolbox

Latest docker.exe from master.dockerproject.org. I've no idea how toolbox is packaged tho :(

version coming with toolbox:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   f4bf5c7
 Built:        Mon Oct 12 18:01:15 UTC 2015
 OS/Arch:      windows/amd64

version i've downloaded from master.dockerproject.org:
 Version:      1.9.0-dev
 API version:  1.22
 Go version:   go1.5.1
 Git commit:   8d56954
 Built:        Tue Nov  3 16:40:14 UTC 2015
 OS/Arch:      windows/amd64

response:
Error response from daemon: client is newer than server (client API version: 1.22, server API version: 1.20)

is there any >1.8.3 version of the client i could use which is still working with api 1.20?

Ugh. I doubt it. You could update the binary in the container host too probably. Use the Linux 64 bit one.

Docker Toolbox 1.9 was just made available https://github.com/docker/toolbox/releases/tag/v1.9.0
But non-matching API versions is a pita; there's a PR to solve that here; https://github.com/docker/docker/pull/15964

Thank you for the information. Version 1.9.0 solves my issue.

@stefanleh great! Thanks for reporting back
I'll close this issue, thanks for reporting (and thanks for having a look, @jhowardmsft)

I have the same issue and I also use version 1.9.0. I get the error when I run  docker ps from windows.
When I do 'docker ps' from unix I get no error ( from windows to unix by:  'docker-machine ssh default' )
Does anyone know
`Client:
Version:      1.9.0
API version:  1.21
Go version:   go1.4.3
Git commit:   76d6bc9
Built:        Tue Nov  3 19:20:09 UTC 2015
OS/Arch:      linux/amd64
Server:
Version:      1.9.0
API version:  1.21
Go version:   go1.4.3
Git commit:   76d6bc9
Built:        Tue Nov  3 19:20:09 UTC 2015
OS/Arch:      linux/amd64
`

@Baeke I suggest to try if this is still an issue with the current release (1.10.3, or 1.11.0 which will be released later this week)


Feature Requeste - Smart RSSI Detecting

I always hate to calibrate the RSSI values before the race when you are two groups.
Why not measure the RSSI of each quad when they passes the first time the start/-finish gate like its done by the Delta5 Tracker?

Can't imagine any reliable algorithm of measuring RSSI on-the-fly without any additional tools.
E.g. if for the first time you fly high above the gate should it be chosen as valid RSSI threshold? Or if you fly too close to the laptimer? How would it track further passes if you then fly higher (with lower RSSI)?


bluepill-build-test-for-ios 0.2.0

New Pull Request Checklist

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

I can't see why the PR build is failing - all I see is a 404 page.
bitwise run test passes for us locally.


MINOR: Add a unit test for timestamp field in InsertField SMT

Signed-off-by: Arjun Satish<EMAIL_ADDRESS>PR adds a unit test to check the behavior of the InsertField SMT when trying to insert a field that takes its value from the Kafka record timestamp. All other tests currently pass a null value for the record timestamp.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@rhauch @kkonstantine @C0urante small addition here. reviews appreciated. thanks in advance!

The code looks fine, but I'm curious why we'd want to do a separate test here instead of altering the existing tests to all (or nearly all) use actual timestamp values instead of null?

The other tests seemed to be testing for the empty timestamp case. Hence the new test, also helps keep the new test precise to a usecase. I'd prefer to just add another case for the schema case, if that is the main concern that made you thin that way, @C0urante. WDYT?

I think changing from the empty timestamp case from a real timestamp might be fine here. The ? or ! suffix logic is the same for the timestamp field as it is with the partition, offset, topic, and static fields.
If we want to explicitly test for the optionality of a field based on that suffix that might call for a separate test on its own, but it doesn't seem like there's anything special about the logic or the code for the timestamp field that would necessitate an entirely separate test for it.

@C0urante updated the test. it should cover both schema and schemaeless cases in existing tests. let me know if that works.

@wicknicks I understand that the current tests were taking a shortcut by not filling out a the timestamp field with an actual value. But other than observing this omission, is there another motivation behind this change that we'd need to take into account and include in the description of this PR?

@kkonstantine a Connector was not setting the field correctly in a local setup, and I was digging into why this is the case. to check if the SMT is correct, I looked at the tests, and they were all checking nulls, as you pointed out. Hence, the update, so we have clarity on what the expected input is, and what the output should be.

jdk14 green, jdk 11 failed on 1 flaky test, jdk 8 failed to run, but that's ok.

Thanks, @kkonstantine and @C0urante!


Metafields not getting fetched

I have the latest version 1.5.5 but metafields is always an empty list. After checking the code I can see that the graphql query string does not include the metafields field in it.
lib/graphql_operations/storefront/queries/get_all_products_from_collection_by_id.dart:2
Can any of you help me? I am also willing to create a pull request for this.
Thanks.

Hello @miltonlm
You are open to create a pull request for this

I'm running into the same issue.
I see that product.freezed.dart has some commented out code for metafields (line 147, line 292+)
Also product.dart:392
@imsujan276 can you share some insights into why this code is not in use? What made you drop it?
Might help someone who wants to create a PR to understand if they can build on that/what needs to be looked at, or if it's better to start from scratch.

@reesz The metafields is removed from the products because we have not implemented the metafields in the grapgql query. Also, one of the issue was the metafields need a custom identifier to be passed which not all the store may not have. so for the time being, we have removed this property.
But you are open to create a PR for this.