Feature: ResultCard component

This PR creates a new ResultCard component as well as more generic composable Card components. Closes #22.
IMPORTANT: There are edits to the homepage that should not be merged. These are intended to make it quick to review these components locally.
Component API:
<ResultCard
  // assumes these come from a list somewhere, most likely
  businessCategory="foodAndBeverage"
  businessName="Dad's Donuts"
  businessDescription="Blah blah blaaaah"
  businessLocation="Atlanta, GA"
  businessUrl="https://dobusiness.com"
  donationUrl="https://donatemoney.com"
  // overrides the default fallback image
  imageSrc="https://imagesrc.jpg"
  imageAlt="cool image you got there"
/>

Screenshots / video of changes

Steps to test
Run locally and check out the homepage.

OH and BTW, I added eslint dependencies because...well, there was no linting and I was making lots of mistakes. I can put this in another PR if it's too cluttery here, or if someone else is handling this elsewhere. Just let me know.

@chancestrickland this is looking solid - Is there any chance we can incorporate the work @kkemple did here https://github.com/Rebuild-Black-Business/RBB-Website/pull/35 - Just want to make sure we get proper schema markup baked into the ResultCard component for businesses.
Also very much appreciate you adding that linting. Need to have that in sooner rather than later for suuure.

@chancestrickland some linting was merged to master today, make sure to merge master in!

@magnificode I incorporated some of @kkemple's patterns, though it seems like we still need to flesh out the categories a bit. Left some todos in place but let me know those are going to be handled. I imagine we'll pull something from Airtable in whatever context these components are used rather than the component itself, so we can probably revisit this after merging.
@racedale I updated and merged with master.

@magnificode I incorporated some of @kkemple's patterns, though it seems like we still need to flesh out the categories a bit. Left some todos in place but let me know those are going to be handled. I imagine we'll pull something from Airtable in whatever context these components are used rather than the component itself, so we can probably revisit this after merging.
@racedale I updated and merged with master.

Yeah no worries at all, appreciate you keeping things flexible there and adding to-dos. This will continue to be a bit fluid as designs start rolling in. Very much appreciate the work here @chancestrickland !

@chancestrickland - feel free to remove the examples on the home page for now! If you wanted to turn the snippet you have in your original PR message into commented documentation in the Component file itself that would be awesome! Just to get a little usage example in the file itself.
Ping me when you've got that handled and I'll merge this in. Thank you again for the great work!

@magnificode Removed the homepage stuff, added that snippet in a JSDoc block. Holler if you need anything else to 🚢


ANTLR Golang visitor pattern implementation/example

Related #3 https://github.com/pboyer/antlr4/issues/93
Comparing the Java code and the Go runtime, the visit method should call tree.accept(visitor)
The code is in AbstractParseTreeVisitor.java
	public T visit(ParseTree tree) {
		return tree.accept(this);
	}

The generated go code also have Accept methods in *_parser.go
still didn't found where are testes for go except for this https://github.com/antlr/antlr4/blob/master/.travis/run-tests-go.sh

another way is to get ride of ANTLR and write a raw parser in Go, but this lost the portability to other language. example: https://qiita.com/

there are on going work for visitor pattern's in go https://github.com/antlr/antlr4/pull/1841 , though it looks it would still take some time before it got merged

close due to archive repo


Allow Overriding Linkerfile for SBT Projects

This PR allows setting the LINKERFILE build config variable when SBT=1.
Ex:
 ~/repos/fork/msdk/Examples/MAX32520/Hello_World
❯ make LINKERFILE=max32520_ram.ld
Loaded project.mk
Auto-located linkerfile: /home/jakecarter/repos/fork/msdk/Libraries/CMSIS/Device/Maxim/MAX32520/Source/GCC/max32520_ram.ld
arm-none-eabi-size --format=berkeley /home/jakecarter/repos/fork/msdk/Examples/MAX32520/Hello_World/build/max32520.elf
   text    data     bss     dec     hex filename
  34572    2580     372   37524    9294 /home/jakecarter/repos/fork/msdk/Examples/MAX32520/Hello_World/build/max32520.elf

Ex: (Trying to set a non-existent linkerfile)
 ~/repos/fork/msdk/Examples/MAX32520/Hello_World
❯ make LINKERFILE=myfile.ld
Loaded project.mk
/home/jakecarter/repos/fork/msdk/Libraries/CMSIS/Device/Maxim/MAX32520/Source/GCC/max32520.mk:64: Failed to locate linkerfile: myfile.ld
make: *** No rule to make target 'myfile.ld', needed by '/home/jakecarter/repos/fork/msdk/Examples/MAX32520/Hello_World/build/max32520.elf'.  Stop.

The changes have been applied to the Hello_World project for the MAX32520 for easier testing/review.  The same changes will be applied to all micros on approval.

Move default LINKERFILE selection to part-specific makefile (ex: max32520.mk).
Use ?= in sbt-config.mk to allow user override

Resolves https://jira.maxim-ic.com/browse/MSDK-1100

@ozersa I just updated all projects.  I think it should be more reliable now, and I tested the common SBT projects/micros.  Let me know if you find any other issues

I'm confused as heck, mostly cause I don't totally understand the build system. Why is the linkerfile selection removed from the project makefiles? Wouldn't that not allow for the linkerfile to be overridden in non-SBT builds now?

I'm confused as heck, mostly cause I'm not super familiar with the build system. Why is the linkerfile selection removed from the project makefiles? Shouldn't we still need to set up the linkerpath somewhere?

For future readers:  The default is specified by the target-specific makefile (ex. max32520.mk).  The previous section that has been removed by this PR was a workaround for a bug on MSYS2 when MAXIM_PATH was not set.  The bug was resolved as of https://github.com/Analog-Devices-MSDK/msdk/pull/173.


refactor [GitHubFollowers]

Warnings

:warning:
This PR modified service code for github but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against 61f00486c346e86aea2576a94038c987bcb8da51

Crap! The example needs to have style: 'social' explicitly set, probably alongside the label setting. I was messing around with the examples and forgot to put that back in


Future Enhancement: Libsodium for Illuminate\Encryption

I've been working on a pure PHP implementation of the cryptography features offered by libsodium. It rests at paragonie/sodium_compat.
One important detail: sodium_compat opportunistically uses the PHP extension in PECL if it exists. Additionally, sodium_compat includes a lot of built-in design decisions to reduce the risk of cache-timing vulnerabilities.
The algorithms implemented include:

Symmetric Cryptography

HMAC-SHA-512-256 (crypto_auth())
Xsalsa20-Poly1305 (crypto_secretbox())

Asymmetric Cryptography

Ed25519 (EdDSA over Curve25519) (crypto_sign())
X25519 (ECDH over Curve25519) (crypto_scalarmult(), crypto_kx())
X25519-Xsalsa20-Poly1305 (crypto_box(), crypto_box_seal())

Other Cryptography

BLAKE2b (crypto_generichash(), etc.)
SipHash-2-4 (crypto_shorthash())

However, sodium_compat has yet to be audited by an independent third party. I'm filing an issue now to kick off any planning or discussion necessary to make sodium_compat available to Laravel users as soon as it gets audited. (I'd also like to gauge interest in seeing this in a future Laravel release.)

Thank you :)
But suggestions are posted on the https://github.com/laravel/internals repo.

I think it's very unlikely Laravel will be making any major changes like this in 2017. We've still got users recovering from the migration away from mcrypt. If Laravel does switch in the future, I think it'd be important that the library is stable and mature.

@GrahamCampbell Sure, but when the day does arrive (after v1.0.0 is tagged, which won't happen unless/until it passes a cryptography audit), here's the recommendation.
Opened https://github.com/laravel/internals/issues/374 in the correct place.


Change ABI suffix to Trait in dual case account and eth account traits

Fixes #1000

[ ] Added entry to CHANGELOG.md

Thanks @ggonzalez94. This change while small is breaking the API, and we must add a Change (Breaking) entry to the changelog. Let's not merge it before 0.15.1 is released.

@ericnordelo just added the changelog. Agreed we shouldn't merge it before 0.15.1 is released.

@ericnordelo with the release of 0.15.1 are we good to review and release this?


Product listing limit causes invalid results

PHP Version
7.4
Shopware Version
6.4.2
Expected behaviour
When sending GET request to /api/product endpoint with filters including result limit=1 applied to url, I expect a valid product to be returned.
Actual behaviour
Random product is being returned.
How to reproduce
Filters used :
'query' => [
        'type' => 'equals',
    'field' => 'productNumber',
    'value' => '15028c',
],
'limit' => 1

Example url: '/api/product?query%5B0%5D%5Bquery%5D%5Btype%5D=equals&query%5B0%5D%5Bquery%5D%5Bfield%5D=productNumber&query%5B0%5D%5Bquery%5D%5Bvalue%5D=15028c&limit=1'
Same query without passing limit=1 in url returns a correct result.
I tracked the issue being caused by https://github.com/shopware/platform/commit/7492840e2724a0e5b90e2fd594d87cbe36e4cad4#diff-5baaaba385312522430d48fe76762868af0be5171929a25e23c7ae0b9223b20dR105
As a result when filter is added, the SQL statement does not have a group by clause, which basically returns invalid result.
SQL query with limit = 1
SELECT `product`.`id`, SUM(IF(`product`.`product_number` = :param_0bf09c73a4de4699891ee37575bd05dc , '1', 0)) as _score FROM `product` WHERE `product`.`version_id` = :version HAVING _score >= :_minScore ORDER BY _score DESC LIMIT 1

SQL query without limit=1
SELECT `product`.`id`, SUM(IF(`product`.`product_number` = :param_a23a3af80298447dae96c42e4cda5be0 , '1', 0)) as _score FROM `product` WHERE `product`.`version_id` = :version GROUP BY `product`.`id` HAVING _score >= :_minScore ORDER BY _score DESC

Hi @kardi31,
i tried to recreate the query you describe above... but if i see the right thing, the payload should look like this:
{
    "query": [
        {
            "query": {
                "type": "equals",
                "field": "productNumber",
                "value": "15028c"
            },
            "ranking": 100
        }
    ],
    "limit": 1
}

You are using here the query parameter which is used for search rankings / boostings. To search for a product exactly by its product number, you should use the 'filter' parameter
{
    "filter": [
        {
            "type": "equals",
            "field": "productNumber",
            "value": "15028c"
        }
    ],
    "limit": 1
}

Thank you @OliverSkroblin  . Indeed the request with filter parameters is returning correct results.  IMO if a functionality should not be used in certain way, there should be some precautions against it. With the way it currently is, we receive a successful response with incorrect data.

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


ISSUE-163 Removed s3-key-by-parameter on init

What?

Removed passing-by-param the S3 Key

Why?

It was introducing an error on multi layer inits. (as per the PR https://github.com/binbashar/leverage/issues/163)

References

closes https://github.com/binbashar/leverage/issues/163

Before release
Review the checklist here

Thanks @juanmatias 🚀


PageResults.cpp: Taking out maxpp requires taking it out of log entry…

…. Just leave it in for now?

seems like diffbot-testing compiles just fine. maxpp is not used any more.


23 tests fail on Darwin PPC, mostly with: err_cb ERROR 6: File is not an OpenEXR file: magic 0x762F3101<PHONE_NUMBER>) flags 0x02020000

79% tests passed, 23 tests failed out of 112

Total Test time (real) = 3074.38 sec

The following tests FAILED:
	  7 - OpenEXRCore.testAttrSizes (Subprocess aborted)
	 18 - OpenEXRCore.testOpenScans (Subprocess aborted)
	 19 - OpenEXRCore.testOpenTiles (Subprocess aborted)
	 21 - OpenEXRCore.testOpenDeep (Subprocess aborted)
	 22 - OpenEXRCore.testReadScans (Subprocess aborted)
	 23 - OpenEXRCore.testReadTiles (Subprocess aborted)
	 25 - OpenEXRCore.testReadDeep (Subprocess aborted)
	 26 - OpenEXRCore.testReadUnpack (Subprocess aborted)
	 35 - OpenEXRCore.testWriteAttrs (Subprocess aborted)
	 37 - OpenEXRCore.testWriteTiles (Subprocess aborted)
	 41 - OpenEXRCore.testNoCompression (Subprocess aborted)
	 42 - OpenEXRCore.testRLECompression (Subprocess aborted)
	 43 - OpenEXRCore.testZIPCompression (Subprocess aborted)
	 44 - OpenEXRCore.testZIPSCompression (Subprocess aborted)
	 46 - OpenEXRCore.testPXR24Compression (Subprocess aborted)
	 47 - OpenEXRCore.testB44Compression (Subprocess aborted)
	 48 - OpenEXRCore.testB44ACompression (Subprocess aborted)
	 60 - OpenEXR.testCompression (Subprocess aborted)
	 94 - OpenEXR.testRgba (Subprocess aborted)
	 95 - OpenEXR.testRgbaThreading (Subprocess aborted)
	 97 - OpenEXR.testSampleImages (Subprocess aborted)
	 99 - OpenEXR.testSharedFrameBuffer (Subprocess aborted)
	104 - OpenEXR.testTiledRgba (Subprocess aborted)
Errors while running CTest

Many of those failures look identically:
37/112 Testing: OpenEXRCore.testWriteTiles
37/112 Test: OpenEXRCore.testWriteTiles
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/build/bin/OpenEXRCoreTest" "testWriteTiles"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/build/src/test/OpenEXRCoreTest
"OpenEXRCore.testWriteTiles" start time: May 12 08:17 CST
Output:
----------------------------------------------------------
tempDir = '/var/tmp/OpenEXR_LNbCWD/': 24

=======
Running testWriteTiles
err_cb EXR_ERR_FILE_BAD_HEADER (6): File is not an OpenEXR file: magic 0x762F3101<PHONE_NUMBER>) flags 0x02020000
Return Error: (6) File is not an OpenEXR file or has a bad header value
Core Test failed: exr_start_read (&f, fn.c_str (), &cinit)
           file:/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/openexr-3.1.7/src/test/OpenEXRCoreTest/write.cpp
           line:1204
       function:void testWriteTiles(const std::string&)
<end of output>
Test time =   1.00 sec
----------------------------------------------------------
Test Failed.

What goes wrong and how to fix it?
P. S. I had to switch openexr to use a generic fallback with pthread instead of libdispatch, which is not supported on PPC (and does not exist prior to 10.6). This should be fixed in the master, I believe.

Complete log:
openexr_test.log

Above was native 10.6 ppc, here below is 10.6.8 Rosetta.
Rosetta headers allow to build as if libdispatch is there, however test results are even worse; on test 99 it freezes, so logs are up to 98.
--->  Testing openexr
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/build" && /usr/bin/make test
Running tests...
/opt/local/bin/ctest --force-new-ctest-process
Test project /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/build
        Start   1: OpenEXR.Iex
  1/112 Test   #1: OpenEXR.Iex ...............................   Passed    0.10 sec
        Start   2: OpenEXRCore.testBase
  2/112 Test   #2: OpenEXRCore.testBase ......................   Passed    0.05 sec
        Start   3: OpenEXRCore.testBaseErrors
  3/112 Test   #3: OpenEXRCore.testBaseErrors ................   Passed    0.05 sec
        Start   4: OpenEXRCore.testBaseLimits
  4/112 Test   #4: OpenEXRCore.testBaseLimits ................   Passed    0.05 sec
        Start   5: OpenEXRCore.testBaseDebug
  5/112 Test   #5: OpenEXRCore.testBaseDebug .................   Passed    0.05 sec
        Start   6: OpenEXRCore.testXDR
  6/112 Test   #6: OpenEXRCore.testXDR .......................   Passed    0.11 sec
        Start   7: OpenEXRCore.testAttrSizes
  7/112 Test   #7: OpenEXRCore.testAttrSizes .................Subprocess aborted***Exception:   0.13 sec
        Start   8: OpenEXRCore.testAttrStrings
  8/112 Test   #8: OpenEXRCore.testAttrStrings ...............   Passed    0.10 sec
        Start   9: OpenEXRCore.testAttrStringVectors
  9/112 Test   #9: OpenEXRCore.testAttrStringVectors .........   Passed    0.06 sec
        Start  10: OpenEXRCore.testAttrFloatVectors
 10/112 Test  #10: OpenEXRCore.testAttrFloatVectors ..........   Passed    0.06 sec
        Start  11: OpenEXRCore.testAttrChlists
 11/112 Test  #11: OpenEXRCore.testAttrChlists ...............   Passed    0.05 sec
        Start  12: OpenEXRCore.testAttrPreview
 12/112 Test  #12: OpenEXRCore.testAttrPreview ...............   Passed    0.06 sec
        Start  13: OpenEXRCore.testAttrOpaque
 13/112 Test  #13: OpenEXRCore.testAttrOpaque ................   Passed    0.05 sec
        Start  14: OpenEXRCore.testAttrHandler
 14/112 Test  #14: OpenEXRCore.testAttrHandler ...............   Passed    0.06 sec
        Start  15: OpenEXRCore.testAttrLists
 15/112 Test  #15: OpenEXRCore.testAttrLists .................   Passed    0.08 sec
        Start  16: OpenEXRCore.testReadBadArgs
 16/112 Test  #16: OpenEXRCore.testReadBadArgs ...............   Passed    0.08 sec
        Start  17: OpenEXRCore.testReadBadFiles
 17/112 Test  #17: OpenEXRCore.testReadBadFiles ..............   Passed    0.06 sec
        Start  18: OpenEXRCore.testOpenScans
 18/112 Test  #18: OpenEXRCore.testOpenScans .................Subprocess aborted***Exception:   0.09 sec
        Start  19: OpenEXRCore.testOpenTiles
 19/112 Test  #19: OpenEXRCore.testOpenTiles .................Subprocess aborted***Exception:   0.10 sec
        Start  20: OpenEXRCore.testOpenMultiPart
 20/112 Test  #20: OpenEXRCore.testOpenMultiPart .............   Passed    0.06 sec
        Start  21: OpenEXRCore.testOpenDeep
 21/112 Test  #21: OpenEXRCore.testOpenDeep ..................Subprocess aborted***Exception:   0.17 sec
        Start  22: OpenEXRCore.testReadScans
 22/112 Test  #22: OpenEXRCore.testReadScans .................Subprocess aborted***Exception:   0.07 sec
        Start  23: OpenEXRCore.testReadTiles
 23/112 Test  #23: OpenEXRCore.testReadTiles .................Subprocess aborted***Exception:   0.07 sec
        Start  24: OpenEXRCore.testReadMultiPart
 24/112 Test  #24: OpenEXRCore.testReadMultiPart .............   Passed    0.06 sec
        Start  25: OpenEXRCore.testReadDeep
 25/112 Test  #25: OpenEXRCore.testReadDeep ..................Subprocess aborted***Exception:   0.16 sec
        Start  26: OpenEXRCore.testReadUnpack
 26/112 Test  #26: OpenEXRCore.testReadUnpack ................Subprocess aborted***Exception:   0.08 sec
        Start  27: OpenEXRCore.testWriteBadArgs
 27/112 Test  #27: OpenEXRCore.testWriteBadArgs ..............   Passed    0.05 sec
        Start  28: OpenEXRCore.testWriteBadFiles
 28/112 Test  #28: OpenEXRCore.testWriteBadFiles .............   Passed    0.05 sec
        Start  29: OpenEXRCore.testUpdateMeta
 29/112 Test  #29: OpenEXRCore.testUpdateMeta ................   Passed    0.05 sec
        Start  30: OpenEXRCore.testWriteBaseHeader
 30/112 Test  #30: OpenEXRCore.testWriteBaseHeader ...........   Passed    0.09 sec
        Start  31: OpenEXRCore.testStartWriteScan
 31/112 Test  #31: OpenEXRCore.testStartWriteScan ............   Passed    0.05 sec
        Start  32: OpenEXRCore.testStartWriteDeepScan
 32/112 Test  #32: OpenEXRCore.testStartWriteDeepScan ........   Passed    0.05 sec
        Start  33: OpenEXRCore.testStartWriteTile
 33/112 Test  #33: OpenEXRCore.testStartWriteTile ............   Passed    0.06 sec
        Start  34: OpenEXRCore.testStartWriteDeepTile
 34/112 Test  #34: OpenEXRCore.testStartWriteDeepTile ........   Passed    0.06 sec
        Start  35: OpenEXRCore.testWriteAttrs
 35/112 Test  #35: OpenEXRCore.testWriteAttrs ................Subprocess aborted***Exception:   0.10 sec
        Start  36: OpenEXRCore.testWriteScans
 36/112 Test  #36: OpenEXRCore.testWriteScans ................   Passed    0.05 sec
        Start  37: OpenEXRCore.testWriteTiles
 37/112 Test  #37: OpenEXRCore.testWriteTiles ................Subprocess aborted***Exception:   0.07 sec
        Start  38: OpenEXRCore.testWriteMultiPart
 38/112 Test  #38: OpenEXRCore.testWriteMultiPart ............   Passed    0.05 sec
        Start  39: OpenEXRCore.testWriteDeep
 39/112 Test  #39: OpenEXRCore.testWriteDeep .................   Passed    0.05 sec
        Start  40: OpenEXRCore.testHUF
 40/112 Test  #40: OpenEXRCore.testHUF .......................   Passed    0.08 sec
        Start  41: OpenEXRCore.testNoCompression
 41/112 Test  #41: OpenEXRCore.testNoCompression .............Subprocess aborted***Exception:   0.16 sec
        Start  42: OpenEXRCore.testRLECompression
 42/112 Test  #42: OpenEXRCore.testRLECompression ............Subprocess aborted***Exception:   0.22 sec
        Start  43: OpenEXRCore.testZIPCompression
 43/112 Test  #43: OpenEXRCore.testZIPCompression ............Subprocess aborted***Exception:   0.31 sec
        Start  44: OpenEXRCore.testZIPSCompression
 44/112 Test  #44: OpenEXRCore.testZIPSCompression ...........Subprocess aborted***Exception:   0.28 sec
        Start  45: OpenEXRCore.testPIZCompression
 45/112 Test  #45: OpenEXRCore.testPIZCompression ............   Passed    0.06 sec
        Start  46: OpenEXRCore.testPXR24Compression
 46/112 Test  #46: OpenEXRCore.testPXR24Compression ..........Subprocess aborted***Exception:   0.32 sec
        Start  47: OpenEXRCore.testB44Compression
 47/112 Test  #47: OpenEXRCore.testB44Compression ............Subprocess aborted***Exception:   0.19 sec
        Start  48: OpenEXRCore.testB44ACompression
 48/112 Test  #48: OpenEXRCore.testB44ACompression ...........Subprocess aborted***Exception:   0.20 sec
        Start  49: OpenEXRCore.testDWAACompression
 49/112 Test  #49: OpenEXRCore.testDWAACompression ...........   Passed    0.05 sec
        Start  50: OpenEXRCore.testDWABCompression
 50/112 Test  #50: OpenEXRCore.testDWABCompression ...........   Passed    0.05 sec
        Start  51: OpenEXRCore.testDeepNoCompression
 51/112 Test  #51: OpenEXRCore.testDeepNoCompression .........   Passed    0.05 sec
        Start  52: OpenEXRCore.testDeepZIPCompression
 52/112 Test  #52: OpenEXRCore.testDeepZIPCompression ........   Passed    0.05 sec
        Start  53: OpenEXRCore.testDeepZIPSCompression
 53/112 Test  #53: OpenEXRCore.testDeepZIPSCompression .......   Passed    0.05 sec
        Start  54: OpenEXR.testAttributes
 54/112 Test  #54: OpenEXR.testAttributes ....................   Passed    0.12 sec
        Start  55: OpenEXR.testB44ExpLogTable
 55/112 Test  #55: OpenEXR.testB44ExpLogTable ................   Passed    0.06 sec
        Start  56: OpenEXR.testBackwardCompatibility
 56/112 Test  #56: OpenEXR.testBackwardCompatibility .........   Passed    0.17 sec
        Start  57: OpenEXR.testBadTypeAttributes
 57/112 Test  #57: OpenEXR.testBadTypeAttributes .............Bus error***Exception:   0.46 sec
        Start  58: OpenEXR.testChannels
 58/112 Test  #58: OpenEXR.testChannels ......................   Passed    0.08 sec
        Start  59: OpenEXR.testCompositeDeepScanLine
 59/112 Test  #59: OpenEXR.testCompositeDeepScanLine .........   Passed   11.78 sec
        Start  60: OpenEXR.testCompression
 60/112 Test  #60: OpenEXR.testCompression ...................Subprocess aborted***Exception:  12.87 sec
        Start  61: OpenEXR.testConversion
 61/112 Test  #61: OpenEXR.testConversion ....................   Passed    8.10 sec
        Start  62: OpenEXR.testCopyDeepScanLine
 62/112 Test  #62: OpenEXR.testCopyDeepScanLine ..............   Passed   79.38 sec
        Start  63: OpenEXR.testCopyDeepTiled
 63/112 Test  #63: OpenEXR.testCopyDeepTiled .................   Passed   22.63 sec
        Start  64: OpenEXR.testCopyMultiPartFile
 64/112 Test  #64: OpenEXR.testCopyMultiPartFile .............   Passed   18.69 sec
        Start  65: OpenEXR.testCopyPixels
 65/112 Test  #65: OpenEXR.testCopyPixels ....................   Passed    2.54 sec
        Start  66: OpenEXR.testCpuId
 66/112 Test  #66: OpenEXR.testCpuId .........................   Passed    0.05 sec
        Start  67: OpenEXR.testCustomAttributes
 67/112 Test  #67: OpenEXR.testCustomAttributes ..............   Passed    0.09 sec
        Start  68: OpenEXR.testDeepScanLineBasic
 68/112 Test  #68: OpenEXR.testDeepScanLineBasic .............   Passed   93.88 sec
        Start  69: OpenEXR.testDeepScanLineMultipleRead
 69/112 Test  #69: OpenEXR.testDeepScanLineMultipleRead ......   Passed    0.39 sec
        Start  70: OpenEXR.testDeepTiledBasic
 70/112 Test  #70: OpenEXR.testDeepTiledBasic ................   Passed  177.63 sec
        Start  71: OpenEXR.testDwaCompressorSimd
 71/112 Test  #71: OpenEXR.testDwaCompressorSimd .............   Passed   80.47 sec
        Start  72: OpenEXR.testDwaLookups
 72/112 Test  #72: OpenEXR.testDwaLookups ....................   Passed   51.96 sec
        Start  73: OpenEXR.testExistingStreams
 73/112 Test  #73: OpenEXR.testExistingStreams ...............   Passed    2.66 sec
        Start  74: OpenEXR.testFutureProofing
 74/112 Test  #74: OpenEXR.testFutureProofing ................   Passed    5.67 sec
        Start  75: OpenEXR.testHuf
 75/112 Test  #75: OpenEXR.testHuf ...........................   Passed  314.42 sec
        Start  76: OpenEXR.testInputPart
 76/112 Test  #76: OpenEXR.testInputPart .....................   Passed    6.99 sec
        Start  77: OpenEXR.testIsComplete
 77/112 Test  #77: OpenEXR.testIsComplete ....................   Passed   96.39 sec
        Start  78: OpenEXR.testLargeDataWindowOffsets
 78/112 Test  #78: OpenEXR.testLargeDataWindowOffsets ........   Passed   46.55 sec
        Start  79: OpenEXR.testLineOrder
 79/112 Test  #79: OpenEXR.testLineOrder .....................   Passed    0.23 sec
        Start  80: OpenEXR.testLut
 80/112 Test  #80: OpenEXR.testLut ...........................   Passed    0.08 sec
        Start  81: OpenEXR.testMagic
 81/112 Test  #81: OpenEXR.testMagic .........................   Passed    0.07 sec
        Start  82: OpenEXR.testMultiPartApi
 82/112 Test  #82: OpenEXR.testMultiPartApi ..................   Passed    3.08 sec
        Start  83: OpenEXR.testMultiPartFileMixingBasic
 83/112 Test  #83: OpenEXR.testMultiPartFileMixingBasic ......   Passed  126.25 sec
        Start  84: OpenEXR.testMultiPartSharedAttributes
 84/112 Test  #84: OpenEXR.testMultiPartSharedAttributes .....   Passed    0.11 sec
        Start  85: OpenEXR.testMultiPartThreading
 85/112 Test  #85: OpenEXR.testMultiPartThreading ............   Passed   11.50 sec
        Start  86: OpenEXR.testMultiScanlinePartThreading
 86/112 Test  #86: OpenEXR.testMultiScanlinePartThreading ....   Passed    1.38 sec
        Start  87: OpenEXR.testMultiTiledPartThreading
 87/112 Test  #87: OpenEXR.testMultiTiledPartThreading .......Bus error***Exception: 233.55 sec
        Start  88: OpenEXR.testMultiView
 88/112 Test  #88: OpenEXR.testMultiView .....................   Passed    0.07 sec
        Start  89: OpenEXR.testNativeFormat
 89/112 Test  #89: OpenEXR.testNativeFormat ..................   Passed    1.37 sec
        Start  90: OpenEXR.testOptimized
 90/112 Test  #90: OpenEXR.testOptimized .....................   Passed   46.99 sec
        Start  91: OpenEXR.testOptimizedInterleavePatterns
 91/112 Test  #91: OpenEXR.testOptimizedInterleavePatterns ...Subprocess aborted***Exception:   0.38 sec
        Start  92: OpenEXR.testPartHelper
 92/112 Test  #92: OpenEXR.testPartHelper ....................   Passed    0.09 sec
        Start  93: OpenEXR.testPreviewImage
 93/112 Test  #93: OpenEXR.testPreviewImage ..................   Passed    1.00 sec
        Start  94: OpenEXR.testRgba
 94/112 Test  #94: OpenEXR.testRgba ..........................Subprocess aborted***Exception:   1.10 sec
        Start  95: OpenEXR.testRgbaThreading
 95/112 Test  #95: OpenEXR.testRgbaThreading .................SIGTRAP***Exception:  28.84 sec
        Start  96: OpenEXR.testRle
 96/112 Test  #96: OpenEXR.testRle ...........................   Passed    4.83 sec
        Start  97: OpenEXR.testSampleImages
 97/112 Test  #97: OpenEXR.testSampleImages ..................Subprocess aborted***Exception:   1.50 sec
        Start  98: OpenEXR.testScanLineApi
 98/112 Test  #98: OpenEXR.testScanLineApi ...................   Passed  212.30 sec

10.6.8_rosetta_tests.txt

10.6.8 x86_64 passes tests fine, so it is not the old OS to blame.
Should be either arch-specific bug in the code, or we need a proper fix for missing/broken libdispatch.

I wonder if you might be able to check if this routine is doing byte swapping? If it isn't that would explain the "magic" failures.
It's in internal_xdr.h.  It's possible EXR_HOST_IS_NOT_LITTLE_ENDIAN is not defined, and it's also possible that le32toh isn't doing what we think it should.
Unfortunately I don't have any big endian machines to try this with.
static inline void
priv_to_native32 (void* ptr, int n)
{
#if EXR_HOST_IS_NOT_LITTLE_ENDIAN
    uint32_t* vals = (uint32_t*) ptr;
    for (int i = 0; i < n; ++i)
        vals[i] = le32toh (vals[i]);
#else
    (void) ptr;
    (void) n;
#endif
}

@meshula Thank you, I will try this and update you.

@meshula I am not sure how the macro #  define EXR_HOST_IS_NOT_LITTLE_ENDIAN (BYTE_ORDER != LITTLE_ENDIAN) gonna work, to be honest. Unambiguous way to define BE is via arch: ppc/ppc64 is always BE with Apple, and everything else is LE.

Ok, the macro is working correctly, it seems: I replaced it with explicit #if defined(__ppc__), and all the same errors are there in tests. Perhaps the code is broken somewhere?
le32toh should be doing this, I guess:
uint32_t
OSReadSwapInt32(
    const volatile void * base,
    uintptr_t             byteOffset
)
{
    uint32_t result;
    volatile uint32_t *addr = (volatile uint32_t *)((uintptr_t)base + byteOffset);

    __asm__ ("lwbrx %0, %2, %1"
             : "=r" (result)
             : "r"  (base), "bO" (byteOffset), "m" (*addr));
    return result;
}

P. S. In fact I got one failure less, but perhaps just a random variation:
82% tests passed, 20 tests failed out of 112

Total Test time (real) = 3580.59 sec

The following tests FAILED:
	  7 - OpenEXRCore.testAttrSizes (Subprocess aborted)
	 19 - OpenEXRCore.testOpenTiles (Subprocess aborted)
	 21 - OpenEXRCore.testOpenDeep (Subprocess aborted)
	 23 - OpenEXRCore.testReadTiles (Subprocess aborted)
	 25 - OpenEXRCore.testReadDeep (Subprocess aborted)
	 26 - OpenEXRCore.testReadUnpack (Subprocess aborted)
	 37 - OpenEXRCore.testWriteTiles (Subprocess aborted)
	 41 - OpenEXRCore.testNoCompression (Subprocess aborted)
	 42 - OpenEXRCore.testRLECompression (Subprocess aborted)
	 43 - OpenEXRCore.testZIPCompression (Subprocess aborted)
	 44 - OpenEXRCore.testZIPSCompression (Subprocess aborted)
	 46 - OpenEXRCore.testPXR24Compression (Subprocess aborted)
	 47 - OpenEXRCore.testB44Compression (Subprocess aborted)
	 48 - OpenEXRCore.testB44ACompression (Subprocess aborted)
	 60 - OpenEXR.testCompression (Subprocess aborted)
	 94 - OpenEXR.testRgba (Subprocess aborted)
	 95 - OpenEXR.testRgbaThreading (Subprocess aborted)
	 97 - OpenEXR.testSampleImages (Subprocess aborted)
	 99 - OpenEXR.testSharedFrameBuffer (Subprocess aborted)
	104 - OpenEXR.testTiledRgba (Subprocess aborted)
Errors while running CTest

@meshula Oh wait, while mostly same tests fail, exact error is different now:
37/112 Testing: OpenEXRCore.testWriteTiles
37/112 Test: OpenEXRCore.testWriteTiles
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/build/bin/OpenEXRCoreTest" "testWriteTiles"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/build/src/test/OpenEXRCoreTest
"OpenEXRCore.testWriteTiles" start time: May 12 20:50 CST
Output:
----------------------------------------------------------
tempDir = '/var/tmp/OpenEXR_2F2F4y/': 24

=======
Running testWriteTiles
err_cb EXR_ERR_ATTR_TYPE_MISMATCH (16): Required attribute 'tiles': Invalid size 9 (exp 12)
err_cb EXR_ERR_MISSING_REQ_ATTR (13): 'tiles' attribute for tiled file not found
Return Error: (13) Missing required attribute in part header
Core Test failed: exr_start_read (&f, fn.c_str (), &cinit)
           file:/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/openexr-3.1.7/src/test/OpenEXRCoreTest/write.cpp
           line:1204
       function:void testWriteTiles(const std::string&)
<end of output>
Test time =   1.60 sec
----------------------------------------------------------
Test Failed.
"OpenEXRCore.testWriteTiles" end time: May 12 20:50 CST
"OpenEXRCore.testWriteTiles" time elapsed: 00:00:01

Compare with the log extract above.
The only change I did is replacing macros like this:
static inline void priv_to_native32( void *ptr, int n )
{
#if defined(__ppc__)
    uint32_t *vals = (uint32_t *)ptr;
    for ( int i = 0; i < n; ++i )
        vals[i] = le32toh( vals[i] );
#else
    (void)ptr;
    (void)n;
#endif
}

If the initial macro worked correctly, these should make no difference whatsoever. But they do.

I think I know what the problem is __BYTE_ORDER and BYTE_ORDER have been used depending on version of glibc. In the case of apple dev for older platforms, it doesn't seem reliable to rely on that macro at all.
Since we know Apple's bigendian architectures are 68k and ppc, could you try
#elif defined(__APPLE__)

#    include <libkern/OSByteOrder.h>
#    define htole16(x) OSSwapHostToLittleInt16 (x)
#    define le16toh(x) OSSwapLittleToHostInt16 (x)
#    define htole32(x) OSSwapHostToLittleInt32 (x)
#    define le32toh(x) OSSwapLittleToHostInt32 (x)
#    define htole64(x) OSSwapHostToLittleInt64 (x)
#    define le64toh(x) OSSwapLittleToHostInt64 (x)
#    if defined(__m68k__) || defined(__ppc__)
#        define EXR_HOST_IS_NOT_LITTLE_ENDIAN 1
#    else
#        define EXR_HOST_IS_NOT_LITTLE_ENDIAN 0
#    endif

as to the following errors, EXR_HOST_IS_NOT_LITTLE_ENDIAN is used in decoding without using the priv_to_native functions. I suggested testing that one function to discover if the "magic" would work, and it does. So making the change I suggest here might solve the other issues you are seeing.

linking https://github.com/macports/macports-ports/pull/18643 here, since I assume that any patches macports is doing for ppc will also need to be part of the tracking for this issue. We should get all the fixes in the openexr repo so that macports doesn't have to do its own patching.

linking macports/macports-ports#18643 here, since I assume that any patches macports is doing for ppc will also need to be part of the tracking for this issue. We should get all the fixes in the openexr repo so that macports doesn't have to do its own patching.

@meshula One question I have is whether we can use posix semaphores or not (and then use compat fallback, like I did in my patch). Is there some reliable way to test that?

I think I know what the problem is __BYTE_ORDER and BYTE_ORDER have been used depending on version of glibc. In the case of apple dev for older platforms, it doesn't seem reliable to rely on that macro at all.
Since we know Apple's bigendian architectures are 68k and ppc, could you try
#elif defined(__APPLE__)

#    include <libkern/OSByteOrder.h>
#    define htole16(x) OSSwapHostToLittleInt16 (x)
#    define le16toh(x) OSSwapLittleToHostInt16 (x)
#    define htole32(x) OSSwapHostToLittleInt32 (x)
#    define le32toh(x) OSSwapLittleToHostInt32 (x)
#    define htole64(x) OSSwapHostToLittleInt64 (x)
#    define le64toh(x) OSSwapLittleToHostInt64 (x)
#    if defined(__m68k__) || defined(__ppc__)
#        define EXR_HOST_IS_NOT_LITTLE_ENDIAN 1
#    else
#        define EXR_HOST_IS_NOT_LITTLE_ENDIAN 0
#    endif

as to the following errors, EXR_HOST_IS_NOT_LITTLE_ENDIAN is used in decoding without using the priv_to_native functions. I suggested testing that one function to discover if the "magic" would work, and it does. So making the change I suggest here might solve the other issues you are seeing.

Should then be if defined(__m68k__) || defined(__POWERPC__), if we wanna minimize a number of defines, or if defined(__m68k__) || defined(__ppc__) || defined(__ppc64__).
I will try your suggestion now.

I think "minimize" is fine, splitting them doesn't give us better or different control of behavior.

I personally like to use __POWERPC__, the only downside is a risk that someone later on decides it is a mistaken capitalization, and breaks everything by converting it into ELF define :)

I'll defer to your judgement on what's most maintainable!

I'll defer to your judgement on what's most maintainable!

Ah, here it is inside __APPLE__ define, so __POWERPC__ should be safe.

@meshula Same as with explicitly using ppc:
82% tests passed, 20 tests failed out of 112

Total Test time (real) = 3699.83 sec

The following tests FAILED:
	  7 - OpenEXRCore.testAttrSizes (Subprocess aborted)
	 19 - OpenEXRCore.testOpenTiles (Subprocess aborted)
	 21 - OpenEXRCore.testOpenDeep (Subprocess aborted)
	 23 - OpenEXRCore.testReadTiles (Subprocess aborted)
	 25 - OpenEXRCore.testReadDeep (Subprocess aborted)
	 26 - OpenEXRCore.testReadUnpack (Subprocess aborted)
	 37 - OpenEXRCore.testWriteTiles (Subprocess aborted)
	 41 - OpenEXRCore.testNoCompression (Subprocess aborted)
	 42 - OpenEXRCore.testRLECompression (Subprocess aborted)
	 43 - OpenEXRCore.testZIPCompression (Subprocess aborted)
	 44 - OpenEXRCore.testZIPSCompression (Subprocess aborted)
	 46 - OpenEXRCore.testPXR24Compression (Subprocess aborted)
	 47 - OpenEXRCore.testB44Compression (Subprocess aborted)
	 48 - OpenEXRCore.testB44ACompression (Subprocess aborted)
	 60 - OpenEXR.testCompression (Subprocess aborted)
	 94 - OpenEXR.testRgba (Subprocess aborted)
	 95 - OpenEXR.testRgbaThreading (Subprocess aborted)
	 97 - OpenEXR.testSampleImages (Subprocess aborted)
	 99 - OpenEXR.testSharedFrameBuffer (Subprocess aborted)
	104 - OpenEXR.testTiledRgba (Subprocess aborted)
Errors while running CTest

I will upload a full log in a moment.

Ok, so I think as a first step we can patch the detection logic. Looking at those test failures, I think there might be two or three places where code needs to be endian aware. It might require debugging to discover the problems, I'm afraid finding the problems through inspection and mental logic might be too much. Do you have access to a ppc machine, or are you relying on some sort of remote automation? testAttrSizes might be the first one to look at as it doesn't involve multithreading, and the involved code is not as complex as the compression code.

@meshula Yes, I have PPC machines. I can try running that test via GDB.

UPD. Well, I guess posix threads are not working on macOS. Rebuilt now openexr from the latest Macports update (only adding endian patch), and results are disastrous:
35% tests passed, 73 tests failed out of 112

Total Test time (real) = 104.27 sec

The following tests FAILED:
	  7 - OpenEXRCore.testAttrSizes (Subprocess aborted)
	 19 - OpenEXRCore.testOpenTiles (Subprocess aborted)
	 21 - OpenEXRCore.testOpenDeep (Subprocess aborted)
	 23 - OpenEXRCore.testReadTiles (Subprocess aborted)
	 25 - OpenEXRCore.testReadDeep (Subprocess aborted)
	 26 - OpenEXRCore.testReadUnpack (Subprocess aborted)
	 37 - OpenEXRCore.testWriteTiles (Subprocess aborted)
	 41 - OpenEXRCore.testNoCompression (Subprocess aborted)
	 42 - OpenEXRCore.testRLECompression (Subprocess aborted)
	 43 - OpenEXRCore.testZIPCompression (Subprocess aborted)
	 44 - OpenEXRCore.testZIPSCompression (Subprocess aborted)
	 46 - OpenEXRCore.testPXR24Compression (Subprocess aborted)
	 47 - OpenEXRCore.testB44Compression (Subprocess aborted)
	 48 - OpenEXRCore.testB44ACompression (Subprocess aborted)
	 54 - OpenEXR.testAttributes (Subprocess aborted)
	 55 - OpenEXR.testB44ExpLogTable (Subprocess aborted)
	 56 - OpenEXR.testBackwardCompatibility (Subprocess aborted)
	 57 - OpenEXR.testBadTypeAttributes (Subprocess aborted)
	 58 - OpenEXR.testChannels (Subprocess aborted)
	 59 - OpenEXR.testCompositeDeepScanLine (Subprocess aborted)
	 60 - OpenEXR.testCompression (Subprocess aborted)
	 61 - OpenEXR.testConversion (Subprocess aborted)
	 62 - OpenEXR.testCopyDeepScanLine (Subprocess aborted)
	 63 - OpenEXR.testCopyDeepTiled (Subprocess aborted)
	 64 - OpenEXR.testCopyMultiPartFile (Subprocess aborted)
	 65 - OpenEXR.testCopyPixels (Subprocess aborted)
	 66 - OpenEXR.testCpuId (Subprocess aborted)
	 67 - OpenEXR.testCustomAttributes (Subprocess aborted)
	 68 - OpenEXR.testDeepScanLineBasic (Subprocess aborted)
	 69 - OpenEXR.testDeepScanLineMultipleRead (Subprocess aborted)
	 70 - OpenEXR.testDeepTiledBasic (Subprocess aborted)
	 71 - OpenEXR.testDwaCompressorSimd (Subprocess aborted)
	 72 - OpenEXR.testDwaLookups (Subprocess aborted)
	 73 - OpenEXR.testExistingStreams (Subprocess aborted)
	 74 - OpenEXR.testFutureProofing (Subprocess aborted)
	 75 - OpenEXR.testHuf (Subprocess aborted)
	 76 - OpenEXR.testInputPart (Subprocess aborted)
	 77 - OpenEXR.testIsComplete (Subprocess aborted)
	 78 - OpenEXR.testLargeDataWindowOffsets (Subprocess aborted)
	 79 - OpenEXR.testLineOrder (Subprocess aborted)
	 80 - OpenEXR.testLut (Subprocess aborted)
	 81 - OpenEXR.testMagic (Subprocess aborted)
	 82 - OpenEXR.testMultiPartApi (Subprocess aborted)
	 83 - OpenEXR.testMultiPartFileMixingBasic (Subprocess aborted)
	 84 - OpenEXR.testMultiPartSharedAttributes (Subprocess aborted)
	 85 - OpenEXR.testMultiPartThreading (Subprocess aborted)
	 86 - OpenEXR.testMultiScanlinePartThreading (Subprocess aborted)
	 87 - OpenEXR.testMultiTiledPartThreading (Subprocess aborted)
	 88 - OpenEXR.testMultiView (Subprocess aborted)
	 89 - OpenEXR.testNativeFormat (Subprocess aborted)
	 90 - OpenEXR.testOptimized (Subprocess aborted)
	 91 - OpenEXR.testOptimizedInterleavePatterns (Subprocess aborted)
	 92 - OpenEXR.testPartHelper (Subprocess aborted)
	 93 - OpenEXR.testPreviewImage (Subprocess aborted)
	 94 - OpenEXR.testRgba (Subprocess aborted)
	 95 - OpenEXR.testRgbaThreading (Subprocess aborted)
	 96 - OpenEXR.testRle (Subprocess aborted)
	 97 - OpenEXR.testSampleImages (Subprocess aborted)
	 98 - OpenEXR.testScanLineApi (Subprocess aborted)
	 99 - OpenEXR.testSharedFrameBuffer (Subprocess aborted)
	100 - OpenEXR.testStandardAttributes (Subprocess aborted)
	101 - OpenEXR.testTiledCompression (Subprocess aborted)
	102 - OpenEXR.testTiledCopyPixels (Subprocess aborted)
	103 - OpenEXR.testTiledLineOrder (Subprocess aborted)
	104 - OpenEXR.testTiledRgba (Subprocess aborted)
	105 - OpenEXR.testTiledYa (Subprocess aborted)
	106 - OpenEXR.testWav (Subprocess aborted)
	107 - OpenEXR.testXdr (Subprocess aborted)
	108 - OpenEXR.testYca (Subprocess aborted)
	109 - OpenEXR.testIDManifest (Subprocess aborted)
	110 - OpenEXRUtil.testFlatImage (Subprocess aborted)
	111 - OpenEXRUtil.testDeepImage (Subprocess aborted)
	112 - OpenEXRUtil.testIO (Subprocess aborted)
Errors while running CTest

So compat is the right choice of fallback.

To clarify, if we land PR https://github.com/AcademySoftwareFoundation/openexr/pull/1409 will the problem be solved? Or are you saying 1409 does not solve the problem?

To clarify, if we land PR #1409 will the problem be solved? Or are you saying 1409 does not solve the problem?

@meshula We have 82% of tests passing when using posix compat fallback (the PR above), while using full posix threads (like Macports did for now) results in 35% of tests passing (much worse). Doing nothing leaves the build broken.
We are not sure at the moment if remaining failures are related to threads, but it is certainly better to use posix compat as compared to alternatives, by a huge margin.
We still have stuff to fix after this, likely for Big-endian or Darwin ABI alignments etc.

Ok, so I think as a first step we can patch the detection logic (i.e. a PR with that change could be landed as a first step to resolving the problems). Looking at those test failures, I think there might be two or three places where code needs to be endian aware. It might require debugging to discover the problems, I'm afraid finding the problems through inspection and mental logic might be too much. Do you have access to a ppc machine, or are you relying on some sort of remote automation? testAttrSizes might be the first one to look at as it doesn't involve multithreading, and the involved code is not as complex as the compression code. If you're not able to debug, then we might need to find help in the community.

@meshula Leaving threads issue aside for a moment, two quick questions:

Has the codebase been tested on any 32-bit targets? Say, Linux or BSD. If yes, that will rule out 32-bit compatibility issues; if not, that is something to verify to begin with.
Is anything important dependent on size of bool or size of spinlock? Those are 4 byte in Darwin ppc32 ABI.

UPD. There is stuff like this in the source code:
    if (sizeof (size_t) < sizeof (uint64_t))
    {
        if (sz >= (uint64_t) UINT32_MAX)
        {
            if (error_cb)
                error_cb (
                    ctxt,
                    EXR_ERR_INVALID_ARGUMENT,
                    "read request size too large for architecture");
            return retsz;
        }
    }

@meshula Maybe this assumes little endian?
typedef struct
{
    uint32_t x_size;
    uint32_t y_size;
    uint8_t  level_and_round;
} exr_attr_tiledesc_t;

/** @brief Macro to access type of tiling from packed structure. */
#define EXR_GET_TILE_LEVEL_MODE(tiledesc)                                      \
    ((exr_tile_level_mode_t) (((tiledesc).level_and_round) & 0xF))
/** @brief Macro to access the rounding mode of tiling from packed structure. */
#define EXR_GET_TILE_ROUND_MODE(tiledesc)                                      \
    ((exr_tile_round_mode_t) ((((tiledesc).level_and_round) >> 4) & 0xF))
/** @brief Macro to pack the tiling type and rounding mode into packed structure. */
#define EXR_PACK_TILE_LEVEL_ROUND(lvl, mode)                                   \
    ((uint8_t) ((((uint8_t) ((mode) &0xF) << 4)) | ((uint8_t) ((lvl) &0xF))))

Test fails on that:
Running testAttrSizes
Core Test failed: sizeof (exr_attr_tiledesc_t) == (2 * 4 + 1)
           file:/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_openexr/openexr/work/openexr-3.1.7/src/test/OpenEXRCoreTest/general_attr.cpp
           line:104
       function:void testAttrSizes(const std::string&)
<end of output>
Test time =   4.90 sec
----------------------------------------------------------
Test Failed.

Historically the code was developed and tested on 32. @xlietz is any of our CI on a 32 bit target?
That pattern of size_t checks should to detect the reading of data that would cause overflows. In those cases, unit tests that are demonstrate that very large reads succeed on 64 bit architectures should also demonstrate that very large reads that fail on 32 bit bit architectures would result in a detected error. So possibly, some of the failures can be addressed by having specialized behavior for 32 bits where the error is expected.
The only assumption that code makes is that the struct is packed such that level_and_round is in the byte following y_size. If packing was different on ppc that other platforms, I'd expect across the board failures, not a percentage of test failures.

The only assumption that code makes is that the struct is packed such that level_and_round is in the byte following y_size. If packing was different on ppc that other platforms, I'd expect across the board failures, not a percentage of test failures.

Yeah, but the test specifically fails on checking that size, right?
sizeof (exr_attr_tiledesc_t) == (2 * 4 + 1)

Oh sorry, I missed the second half of your post.
Would this work? It seems to be portable to msvc, gcc, and clang.
#pragma pack(push, 1)
typedef struct
{
    uint32_t x_size;
    uint32_t y_size;
    uint8_t  level_and_round;
} exr_attr_tiledesc_t;
#pragma pack(pop)

could you print sizeof (exr_attr_tiledesc_t)? maybe that'll give clues

There should already be tight packing around all the structures that are direct read into core, or they shouldn't assume tight packing (i.e. we can change the code to make 3 reads, bit more overhead), but that was also the point of the validation.
As a side note, I did find via visual inspection one field which was not properly handling big / little endian when reading / processing chunks from the file where it validates the data in the mini chunk header at each chunk (i.e. a tile has the x,y,level,size), that will get merged in soon.

is any of our CI on a 32 bit target?

There are no GHA 32 bit options.

Thanks for the confirmation, I wasn't sure if I turned over enough rocks.

is any of our CI on a 32 bit target?

There are no GHA 32 bit options.

@lgritz There are, from what I seen it other repos. Of course, not on macOS, but Linux is good enough. I think kokkos have set up 32-bit checks, as well as xgboost.

As a side note, I did find via visual inspection one field which was not properly handling big / little endian when reading / processing chunks from the file where it validates the data in the mini chunk header at each chunk (i.e. a tile has the x,y,level,size), that will get merged in soon.

@kthurston That will be super-helpful, thank you!

I have built now from the master (only change I needed is for isnan). Results are marginally inferior, but I am not yet sure if it is due to the latest commit or something else:
79% tests passed, 26 tests failed out of 124

Total Test time (real) = 2894.10 sec

The following tests FAILED:
	  9 - OpenEXRCore.testAttrSizes (Subprocess aborted)
	 21 - OpenEXRCore.testOpenTiles (Subprocess aborted)
	 23 - OpenEXRCore.testOpenDeep (Subprocess aborted)
	 25 - OpenEXRCore.testReadTiles (Subprocess aborted)
	 27 - OpenEXRCore.testReadDeep (Subprocess aborted)
	 28 - OpenEXRCore.testReadUnpack (Subprocess aborted)
	 39 - OpenEXRCore.testWriteTiles (Subprocess aborted)
	 43 - OpenEXRCore.testNoCompression (Subprocess aborted)
	 44 - OpenEXRCore.testRLECompression (Subprocess aborted)
	 45 - OpenEXRCore.testZIPCompression (Subprocess aborted)
	 46 - OpenEXRCore.testZIPSCompression (Subprocess aborted)
	 47 - OpenEXRCore.testPIZCompression (Subprocess aborted)
	 48 - OpenEXRCore.testPXR24Compression (Subprocess aborted)
	 49 - OpenEXRCore.testB44Compression (Subprocess aborted)
	 50 - OpenEXRCore.testB44ACompression (Subprocess aborted)
	 51 - OpenEXRCore.testDWAACompression (Subprocess aborted)
	 52 - OpenEXRCore.testDWABCompression (Subprocess aborted)
	 62 - OpenEXR.testCompression (Subprocess aborted)
	 96 - OpenEXR.testRgba (Subprocess aborted)
	 97 - OpenEXR.testRgbaThreading (Subprocess aborted)
	 99 - OpenEXR.testSampleImages (Subprocess aborted)
	101 - OpenEXR.testSharedFrameBuffer (Subprocess aborted)
	106 - OpenEXR.testTiledRgba (Subprocess aborted)
	118 - OpenEXR.bin.exrenvmap (Failed)
	120 - OpenEXR.bin.exrmaketiled (Failed)
	124 - OpenEXR.bin.exrcheck (Failed)
Errors while running CTest

I believe this issue was resolved in the v3.1.8 release, but feel free to reopen if anything is still amiss, thanks.

I believe this issue was resolved in the v3.1.8 release, but feel free to reopen if anything is still amiss, thanks.

I will look at that. There was an issue with struct packing for which we got a patch in Macports and which has been since then fixed in upstream GCC, not sure if that has been submitted here.


Import tab losses functionality when tab location is changed.

Operating system or device - Godot version:
Windows 10 x64 Godot Alpha1
Issue description:
If you change the location of the import tab, all of its functionality gets lost until the editor is restarted.
Steps to reproduce:
pick a different location to have the import tab besides the default. all import settings becomes lost.
Link to minimal example project:
so much for editor customization for now.

The import tab is here:
May have to do with something going on in ENTER/EXIT tree -
https://github.com/godotengine/godot/blob/master/editor/import_dock.cpp

Unless I'm misunderstanding something, I can't seem to reproduce this bug. Running commit 8fc92ae86faed72c402e7770246ed18d50b5c43b
Although I did seem to run into a different problem where after reimporting an asset the importer would select an asset I previously selected. Not a big deal though since I could just reselect the asset I want.

Assuming fixed then, thanks for checking.


Support for custom messages

Hi, first of all thank you for your wonderful work!
I wanted to ask if you support messages from packages like sensor_msgs, like JointState?
If not, how would I go about adding support for it?
Further, for completely custom messages, would this be the same?
Thank you very much!

Yes, rospy_message_converter supports all ROS messages that are built in your catkin workspace, including custom messages. In short: If rosmsg show sensor_msgs/JointState works in your terminal, it also works in rospy_message_converter.


docs(sources): Issue #609 - Missing npm and bower steps in sources docs

Added the missing steps.  It's a nitpick, but will save someone time.

Is this still a work in progress ? I don't have time to review it at the moment, sorry.

Nope, this is complete.  There is a pull request for the doc change.
--Tom

On Mar 15, 2016, at 6:40 AM, Rémi Alvergnat<EMAIL_ADDRESS>wrote:
Is this still a work in progress ? I don't have time to review it at the moment, sorry.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/angular-gantt/angular-gantt/pull/610#issuecomment-196761001


clam-2.0.0-rc1 reports orphan pool size incorrectly

After storing one orphan I'm told the pool is "483 MB". I think it means "483 B", right?
2017-01-18 20:28:30 ProcessBlock: ORPHAN BLOCK 0, 0 MB out of 41943040, prev=a212aad3427ffb1a8d087ece479ec7e26a8e06c5f89a2f9cd1cad141e50f0cf8
2017-01-18 20:28:30 ProcessBlock: ORPHAN BLOCK 1, 483 MB out of 41943040, prev=ac8d533fa8d31365071b35fe492f4a8902e5a33ca75d36d174f6b8a5a5e37bfb
2017-01-18 20:28:30 ProcessBlock: ORPHAN BLOCK 2, 1042 MB out of 41943040, prev=28c41415f9dd99a84547d39b2678d5989db4203b6a0c901fa0b9f5252da1d347

Closing issue, unrelated to client v2.1.0


Spatial Partitioning!

Spatial Partitioning is pretty important! It's also fairly easy to integrate! Please add this 🥺🥺🥺

Wow, good idea! I am on it!
Although, i wonder what folder this should end up in... In maths? Maybe a new structs folder? Or maybe it shouldnt even be the lib folder and instead be in core???
I will have to think about that!

I ended up just putting them in core/utilities/partitioning! 🥰😻


resources

where do you learn to build such stuff? its so hard finding courses or material about the inner workings of a computer, can u tell me how u started?

For the most part, developing hacking tools is plain software development. Except that a software developer doesn't know anything about PE format, never heard of process hollowing and does not need to write any shellcode, and so on...
So, let's say you want to program a downloader? - It's nothing more than a program that downloads a file and runs it. If you want this to be fileless, you will soon find out that process hollowing (RunPE) is the technique to be used to achieve this. Since you're already a programmer, you will know how to integrate RunPE into your application.
And anything beyond that is just incremental learning of new techniques and using them in your tools. I've been programming for about 20 years and hacking for roughly 15 years. Therefore, I've picked up on lots of different techniques, so I can easily figure out which ones to use.
By the way, in r77, there is not a single technique that I've invented. The art is just in chaining everything together in the right way. And espeically, providing an installation & persistance process, which most rootkit developers fail to do.

so simply searching up what i want is the way to go?

are there any websites you recommend in which you search up stuff like a downloader

and which combo do you recommend? c & c++ or c# or all of them?

You should definitely learn programming really well before considering writing hacking tools. Otherwise you're just lost and confused the whole time. There's no way around writing the main part of your program yourself, even when you can copy some techniques off the internet.
Which programming language you use is not that important. C# is really easy to learn. C++ and C are not that easy to start programming with. Whatever you learn, just decide on a project and stick to it. You'll have plenty of challenges along the way and stuff to get familiar with in order to finish your project.

You should definitely learn programming really well before considering writing hacking tools. Otherwise you're just lost and confused the whole time. There's no way around writing the main part of your program yourself, even when you can copy some techniques off the internet.
Which programming language you use is not that important. C# is really easy to learn. C++ and C are not that easy to start programming with. Whatever you learn, just decide on a project and stick to it. You'll have plenty of challenges along the way and stuff to get familiar with in order to finish your project.

thanks for the help, il still do c++ and c considering im learning java in my class and i heard they are very similar.


State machines as a first class concept

Is your feature request related to a problem?
State management in front end work in general is always a problem. So much of the code developers write creates bugs because of implicit states.
State machines help bring states to the surface by making them explicit. This makes them immediately readable and understandable (and serializable!).
Here's an example XState configuration. You can see the states! :
{
		initial: 'off'
		context: {
			numberOfTimesTurnedOn: 0,
		},
		states: {
			lightOn: {
				on: {
					TOGGLE_LIGHT: {
						target: 'off',
						actions: [
							() => console.log('some side effect')
						]
					},
				}
			},
			lightOff: {
				on: {
					TOGGLE_LIGHT: {
						target: 'on',
						actions: [
							assign((context) => ({ numberOfTimesTurnedOn: context.numberOfTimesTurnedOn + 1 }))
						]
					},
				}
			}
		}
	}

Describe the solution you'd like
The simplest solution is creating an official integration with XState.
But maybe better DX and better performance could be had by a first class state machine solution for Qwik. Maybe some hook like useStateMachine that takes a config object? It could be like a more specific version ofuseStore.
Using XState with TypeScript is also fairly verbose and clunky (they have a typegen CLI which helps somewhat but it's unfortunate to need it).
Describe alternatives you've considered
The alternative to state machines is the predominant way of managing state: implicitly with no guarantees of bug-free code.
Additional context
I believe that first class integration of state machine functionality could be a great thing for adoption of Qwik. Right now, the main draw is the underlying, non-developer facing goodies that Qwik offers (resumability, etc) but with first class state machines, Qwik would get an instant boost in terms of DX since state machines helps developers handle complex business logic. And it'll increase the UX of Qwik apps since state machines help reduce bugs in the code (less errors for the user to encounter)
Here's an article describing the benefits of state machines in a more thorough way:
https://blog.openreplay.com/xstate-the-solution-to-all-your-app-state-problems
Thank you!

Great input!
A simple human-readable state machine syntax embedded in HTML, that would be awesome (devtool or similar).
Something similar to XState (and Xstate Visualizer) could be used to plan event flow, state change, and page transitions.
This approach helps to reduce application complexity by preventing invalid state transitions (fewer bugs like mentioned before).
Keeping track of the application state is the most undervalued thing in almost any framework out there.

Hi @ChristianHohlfeld @kee-oth
Thanks for this proposal 🙏  i am not (yet) familiar with xstate but since it is a pure JS/TS implementation it shouldn't be to hard to create the required wrapper for it. Just checked the website and there are already implementations listed we could use as a template to create an official qwik integration 💪
anybody interested in pushing that topic?

@zanettin
Thanks for the reply! I did try to work on some sort of test integration a few months ago but got blocked from my lack of understanding how to use Qwik properly. I haven't been able to work with Qwik much since then but I'm planning on starting some larger-scale applications with Qwik in the coming months and not having state machines is a blocker to starting those projects for me. I value the safety and ease of logic creation too much to start a frontend project without a way to use state machines.
I think maybe a good way to get the ball rolling is to have someone knowledgeable about how Qwik works to contact someone from the XState team (like Mateusz https://twitter.com/AndaristRake). That's how the XState+SolidJS integration really got rolling. Unfortunately I don't posses enough knowledge of Qwik at this time to make an intelligent integration.
Another integration the Qwik community may be interested in is ZagJS from the ChakraUI team. It's a library of specific machines made for specific pieces of UI:
https://github.com/chakra-ui/zag

Thanks a lot for sharing all the info 🙏  really hope that someone has the knowledge and power to push that topic! totally agree with you that this would be beneficial in many ways 👍 maybe you want to do a quick shout-out at our discord channel? maybe there is smb able to give a hand on this 💪

Hey guys, awesome proposal. BTW, this week I took some time to implement a simple and naive integration between Qwik and xstate for a project that I'm working on. Here the repo https://github.com/keuller/qwik-xstate.

Let me know if I can help out on this as well!

I also took some time to integrate my machine with Qwik.
I struggled a bit with serialization at first, but then I managed to extract a custom hook to start the interpreter and subscribe to state updates. Still raw, but it works.
Definition
function useMachine(lazyMachine: QRL<() => AnyStateMachine>) {
  const store = useStore<{
    actor: Nullable<NoSerialize<AnyInterpreter>>;
    state: Nullable<NoSerialize<AnyState>>;
  }>({
    actor: null,
    state: null,
  });

  useVisibleTask$(async () => {
    const machine = await lazyMachine();

    store.actor = noSerialize(interpret(machine).start());

    const subscription = store.actor?.subscribe((state) => {
      store.state = noSerialize(state);
    });

    return () => subscription?.unsubscribe();
  });

  return store;
}

Usage
export default component$(() => {
  const chart = useMachine($(() => chartMachine));

  // [...]
});

@pleopardi excited to try this

@davidkpiano is there any plans to make a adapter qwikjs users? going to try @pleopardi example.
But while being able to use the fsm page is a nice start, using complete package would be great. Started using it in deno, but and loving it (except cant get the wairFor from libs lol)

@davidkpiano I don't use xstate (yet, it does look interesting) but I've been experimenting a bit without xstate, see https://stackblitz.com/edit/qwik-starter-g55vxg?file=src%2Froutes%2Findex.tsx
Your PoC has the problem that it's a singleton and that doesn't work with SSR. To fix that, the machines need to live in context and the problem is that they can't be serialized due to the methods.
Furthermore, for reactivity the state should be a signal or a store.
So the idea is that xstate has configuration and state, and the configuration should be applied lazily when using one of the methods, whereas the state should be serialized.
Ideally, the machine uses a given useStore object to store the machine's state and context, so that it doesn't need to be copied on every transition. Is that possible?
To allow for lazy start/resume, the configuration should be provided as a QRL function, that returns an object that createMachine is called with (or something along those lines). The useRegisterMachine(name, configQRL) hook then stores the name, configQRL, reactive state, and lazy methods in the context.
Then a useMachine('name') hook looks up the machine in the context and returns it. The user reads the state or calls methods. The methods check if the machine was initialized yet and if not they use the registered config to create it.
(note, the overall context needs to be a regular object, not a store, so that it can be added to from hooks during render)

I would love to see official integration here!

I would love to see official integration here!

Last time I tried in earnest, it was pretty difficult to do this. I might just need to get more used to Qwik's paradigms, but I'd love for others to give this a try in the meanwhile.

@davidkpiano  The https://github.com/keuller/qwik-xstate/blob/main/src/routes/index.tsx from @keuller above seems like it ticked many of the boxes @wmertens suggested to do.

@keuller nice example with xstate, I think you can do even more when using this trick: https://github.com/BuilderIO/qwik/issues/5087
I don't think you need a visibleTask, you could do a getMachine() call in each accessor method that resumes the machine on-demand?

in v2 this will be way easier to do so lets circle back after v2 release


Slack channel - start new conversation per thread

What problem are you trying to solve?
Forum post: https://forum.rasa.com/t/slack-channel-start-new-conversation-per-thread/48549
For slack channel currently conversation id (sender_id) is set to slack user id.
This causes problems with concurrent conversations with same user across channels / threads
What's your suggested solution?
Set conversation id as user_id + _ + channel_id if use_threads is false, user_id + _ + channel_id + _ + thread_id if its true.
Examples (if relevant)
No response
Is anything blocking this from being implemented? (if relevant)
This is causing slot values to be overwritten (mixed up) when user is having multiple conversations (threads in same channel) with use_threads true
Definition of Done
Multiple threads on same channel should work as expected

Thanks for submitting this feature request 🚀 @aeshky will get back to you about it soon! ✨

#10086 raised for the same


A potential bug

Hi
I used part of your code in my work, and I find a potential bug (I have not run your original code though). Please can you give it a check? Specifically, this line pads the audio data if its length is smaller than 640 times the corresponding video data length. And this line says the variable data has a size of Tx1, so the torch.nn.functional.pad function in this line will result a output size of Tx(1+padding). This seems incorrect to me. I think the padding result is supposed to be (T+padding)x1, and this line may need to be changed to something like torch.nn.functional.pad(data, (0, 0, 0, padding), "constant"). I know I may be wrong as I have not run your original code. Please can you check it anyway?
Thanks!

Hi @tomato18463, I have fixed the bug. Thank you for pointing out this! #20


Why is the type file after I run dev called plugin

I just created, just added some hooks
// dist/vite.d.ts
import * as vite from 'vite';
import { Options } from './types.js';

declare const _default: (options?: Options | undefined) => vite.Plugin<any> | vite.Plugin<any>[];

export { _default as default };

// tsconfig.json
{
  "compilerOptions": {
    "target": "esnext",
    "lib": ["es2022"],
    "baseUrl": ".",
    "module": "esnext",
    "moduleResolution": "bundler",
    "resolveJsonModule": true,
    "types": ["node"],
    "strict": true,
    "noUnusedLocals": true,
    "declaration": true,
    "esModuleInterop": true,
    "skipLibCheck": true
  },
  "include": ["src"]
}

We temporarily closed this due to the lack of enough information. We could not identify whether it was a bug or a userland misconfiguration with the given info.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required


Consider increment/decrement capabilities for gauges.

Per #119, it seems like there's potentially some room for making gauges somewhat easier to work with.  In contrast with counters and histograms, gauges are the only metric type where a caller must themselves store the gauge value and find a way to periodically update it.  This could be obviated by having a way to allow encoding increment/decrement options so that callers could avoid tracking this state themselves, instead deferring to the installed recorder.
Thoughts/potential snafus:

could this be a new type/enum that encodes absolute value vs incremental value?
should it be brand new macros or some funky syntax for the existing one to emulate the above?
do any of the common metrics collection systems allow deltas for gauges? is there a benefit beyond ergonomics to providing this as such?

should it be brand new macros or some funky syntax for the existing one to emulate the above?

I would propose a minimal change in gauge!, which should not be a breaking change. recognizing a + before the value to indicate it is a delta/increment example:
 gauge!("value.key", +val);
And tying that to a new method on the recorder trait:
fn increment_gauge(&self, key: Key, value: f64);
Should be minimal changes and could integrate with the methods already provided by metrics-runtime to increment a gauge.
My main use would be to create a meter for throughput with the use of 2 gauges, adding byte count to a gauge and setting duration in another, and could utilize a proxy to calculate the rate as a another gauge, with the option to reset the meter.
It would also enable counter like function with setting their values or resetting them.

We've added support for incrementing/decrementing gauges in #138 via two new macros: increment_gauge! and decrement_gauge!, with a very small tweak to Recorder::update_gauge to handle the absolute value vs incremental value usage.


Allow user to provide name instead of QID when adding method, software,...

Use Mediawiki API in combination with dynamic option sets in RDMO with autocomplete function -> text field in RDMO will resemble search fields from wikidata / MaRDI portal

Introduced dynamic option sets. For several questions user entries are auto-completed with results from Wikidata / MaRDI KG.


Updating app with functional components and hooks

Currently migrating this app from class to functional components.
This app uses the React legacy context API which was compatible with React-Redux 5.x. Because of that, components that use the context supplied cannot receive the context when written as functional components. Tried migrating React-Redux to a higher version, which required to modify the context to the newer API, but with no luck.
Any ideas on how to find a solution for this?

I migrated this project to latest React to be used in a Next.js app. We will probably open source our fork soon. Tell me if you wanna help and test it out?

I migrated this project to latest React to be used in a Next.js app. We will probably open source our fork soon. Tell me if you wanna help and test it out?

same here!

@MeTaNoV I want to help and test this out :) how can we connect on this because I am doing a similar task...


Support GOOS=wasip1

The SDK should support both tinygo and upstream Go's GOOS=wasip1 target.

[x] use go:wasmimport for accessing hostcalls
[x] flatten struct arguments passed to hostcalls

This is https://github.com/fastly/compute-sdk-go/pull/64

README updates: https://github.com/fastly/compute-sdk-go/pull/77

v0.2.0 released with support for Go 1.21


chore: panic when OptionAddError is supplied more than one type

Opened this for two reasons. First, this PR.
Saw this today figured we should panic or slog.Error with os.exit?

That being said I noticed that with the default ErrorHandler we provide it is not possible to return custom error types as we are always returning HTTPError although the OpenAPI spec generated would describe the custom type being in the response. There seems to be two options:

Change the default to only return HTTPError when it adheres to one of our interfaces. The issue with this though is that we no longer default to RFC 9457 errors format; honestly I'm not really sure it really matters as users need to implement an HTTPErrror or one of our interfaces to really get an RFC 9457 output.
Document that in order to add customer error types the caller must override the default ErrorHandler. This could be checked at start time as well.

Throwing is fine as it's made at start time and not per request, thanks for this PR!

Yes it's a good change we can make. I personally only use HTTPError on my projects, that's why I don't work on custom error handling, but I agree we can make it better !

Merged with #229


zerver/openapi/python_examples.py: Fix message_id type.

The message_id was made an str object because the request expected Dict[str, str].
The request is now casted to Dict[str, Any] to fix the issue and removed typecast of message_id to str.
Part to be changed in zulip/python-zulip-api

Merged, thanks @LoopThrough-i-j!


Changed the svgs directly, not sure it's a good idea.

I'm not sure I like this solution, but it works for now, and frees up the bottle neck around waiting for this to happen.
I think I would rather leave the SVGs as they are and control them through parameters, but then again I'm not sure why this would be a superior solution.
This at least means that the responsive designs that Meng is working on can be smashed out.
Can revisit this over the coming weeks.
Sorry it took so long.

Hi @batteries76 ,
tbh, I prefer the changes in #25 ; see my comments in #25
But the final say lies with you and @ymloh for frontend matters :bow:

@hqtan @batteries76
While I agree the progress bar looks more prominent overall in #25, the placement of the text is a little off on that one:

#25 - the text "[x] out of 5" is left aligned for all pages

===============
#26 - the text is centered between the left edge and the cloud graphic, as per the design specs on figma

===============
Design specs, page 2:

Maybe we should consult with the designers on how linearly scaling both width and height makes the progress bar look too tiny on smaller portrait viewports? I believe this happens on both #25 and #26

Yes, this is getting frustrating @hqtan and @ymloh.
I have played around with a few versions, but the most responsive looked too small in the mobile version, and the ones that looked better cut off parts of the SVG.
I agree too that Amutha's version looks better in some instances. I think I can make mine a little better just by setting the width at 100%. (I chose 85% a little arbitrarily in the end - sometimes it helped with certain screen sizes)
I'm looking to have another look tomorrow, but this is really dragging on and I'm sorry about that.
I'd be up for a dev session at some stage over the weekend to do a bit or organising and maybe some pairing to break through some of these issues.

Hi @batteries76 , @ymloh !
Thanks for your feedback! Good spot on the positioning of the text in the progress bar @ymloh ; I totally missed that! :bow:
On closer inspection, I think I can see what's happening in #25 - the viewBox svg settings used there is cropping the progress bar, making it look like the text is no longer centred ...
@Matt, this is indeed turning out to be a prickly puzzle:

If we linearly scale the progress bar, it will look small on a mobile device
if we try not to scale the progress bar, we have to perform some cropping, which is also not ideal...

We might have to rethink how we implement the progress bar. Some suggestions:

extract the 'cloud' icons from each svg; make a generic progress bar with CSS, and position the cloud icon on top of bar accordingly
extract the 'cloud' icons from each svg; use Chakra's progress bar, overlay the cloud icon over the bar accordingly
... any other suggestions @batteries76 , @ymloh ?

I think the suggestions could be more involved; we might have to leave it as a post-MVP activity.
I'll bring this up with the design folks in slack to discuss options for moving forward.

Hi @batteries76 ,


Add reviewed

Adds the reviewed https://github.com/g-ozawa/reviewed app to the app gallery.

Also you need to remove the comments from the upper section.

@hiimbex @sotayamashita Thanks for the review.
I fixed reviewd.yml and move it in the /_apps/ folder.
Please check again!

@g-ozawa Btw, I think my app pr-triage and yours are trying to solve same problem so give it a try :smile:

@hiimbex @g-ozawa has fixed so please review it :bow:

:cry:


cblas_dbf16tod

can't use this function: cblas_dbf16tod
wrong message is: undefined reference to `cblas_dbf16tod'
in ubuntu20.04

The bfloat16 extensions are not compiled in by default, you need to build OpenBLAS with make BUILD_BFLOAT16=1 to get them.

ok, thank you, it's useful

The bfloat16 extensions are not compiled in by default, you need to build OpenBLAS with make BUILD_BFLOAT16=1 to get them.

ok, thank you, it's useful!

I don´t think you can create a valid bfloat16 just by casting...

I don´t think you can create a valid bfloat16 just by casting...

so, could you tell me how to use it ( i think i need an example)?
I can't see this function in "OpenBLAS Extensions" wiki page.

Your usage of dbf16tod was correct, only the input was not what you intended - it seems the values were all so small that they were denormal (and mapped to zero in the conversion). BFLOAT16 is not what I usually work with, but with  help from https://stackoverflow.com/questions/55253233/convert-fp32-to-bfloat16-in-c, I can suggest the following addition to your test code (using floats and sbf16tos for simplicity):
#include "cblas.h"
#include "stdlib.h"
bfloat16 float2bfloat(float val) {
bfloat16 ret;
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
    memcpy(&ret, &val, sizeof ret);
#else
    memcpy(&ret, (char*)(&val) + sizeof val - sizeof ret, sizeof ret);
#endif
    return ret;
}
void main(){
int n = 10;
bfloat16 *dx;
float *dy;
dx = (bfloat16 *) malloc(sizeof(bfloat16) * n);
dy = (float *) malloc(sizeof(float) * n);

for(int i=0;i<n;i++){
dx[i] = float2bfloat((float)(n-i));
dy[i] = (n-i);
printf("%d ", dx[i]);
}
cblas_sbf16tos(n,dx,1,dy,1);
printf("\n");
for(int i=0;i<n;i++){
printf("%f ", dy[i]);
}
}


docs: switch Pytorch to lai template [wip]

What does this PR do?
unify docs on the nicer template

Before submitting

Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

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

Reviewer checklist

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

cc @borda

Need to fix:

[ ] a few warnings in docs
[ ] RTFD does not see the package...

the same issue as with Fabric logo https://github.com/Lightning-AI/lightning/pull/18449#issuecomment-1701846078


possible packaging issue

This is very possibly an issue with StackBlitz
However if you navigate here https://stackblitz.com/edit/angular-template-firebase?file=app%2Fapp.module.ts
You'll notice the error :

Unexpected token export
Evaluating<EMAIL_ADDRESS>
My assumption is that StackBlitz is trying to resolve a UMD bundle which could indicate an issue with packaging.

Same here with rc0 and rc1

Looks like it was an issue with StackBlitz and it resolved now
https://github.com/stackblitz/core/issues/131

@Toxicable Worked with Eric Simmons on getting the fix. They looked for index.js before the package.json. It's all good now 👍

@davideast ah awesome, good to see it working in there now.
Speaking of which, do we have a firebase db for testing? the old one from plnkr no long appears to exist

Ah good call. I will update soon.


Interpret scalar transformations as diagonal

Would you be able to add some tests for this edge case?

Done

LGTM - merged! :)


Add support for live-reloading of functions.

Right now, you have to re-deploy a function or restart the Emulator in order for changes to a function to take effect. One solution would be to watch the function's file for changes and re-deploy the function automatically when files change.

Is there an argument to display a log acknowledging when this file has started/finished reloading?

There isn't any explicit argument, however if you set verbose to true (functions config set verbose true and functions restart), then in the logs you'll be able to see the workers shutting down and restarting as you change your code.
When you change your code, the worker will shut down. The next time the function is invoked the worker will start up again, giving you that "cold start" effect.

I just wasted a few hours before realising this feature was biting me on the arse... It seems to watch for ANY file changes in the function folder - Is that right?
Well, if you are foolish enough to like your log file created locally, there is a pretty major problem... It keeps clobbering the worker threads milliseconds after any activity goes into the logging!
Could we have some config to control the filespec that is watched??? Ignoring, oh, maybe, *.log perhaps?

I just added the --watch and --watchIgnore options in 1.0.0-alpha.24.
You can disable file watching completely with functions start --watch false.
You can change what files are ignored with `functions start --watchIgnore node_modules --watchIgnore '.*.log'


Solution proposal for reference schema support (#282)

Is your feature request related to a problem? Please describe.
Reference schemas are not currently supported as described in #282 .
Describe the solution you'd like
I'm happy to write up the solution but wanted to open an issue for discussion before opening a PR. My proposed solution is as follows:

Add a new key to the descriptor files schema section where the value is a list of file paths to reference schemas:

context: "my"
source: "dev"
projects:
  - name: "test"
    topics:
      - name: "my.topic.1.0"
        config:
          replication.factor: "1"
          num.partitions: "1"
        schemas:
          - value.schema.file: "schemas/avro/MyOrder-with-reference.avsc"
            references:
              - "schemas/avro/reference.avsc"
              - "schemas/avro/reference-with-reference.avsc"

This will be parsed and the list of references will be accessible via the Subject object.

The ultimate goal is to be able to register the reference schemas in order (backwards topological sort) and pass in the references when registering the schemas in SchemaRegistryManager.save

Let's say we have schema A which references B. And schema B has references to schema B. To properly register the scheams, we can create a dependency list of the schemas: [[C, D], [B], [A]]. C and D will be registered and register will return their version. At that point we can register B and have the SchemaReference objects for C & D to pass to schemaRegistryClient.parseSchema when registering schema B. The same process applied for registering schema A.
Describe alternatives you've considered
We currently use the maven-schema-registry maven plugin and while it works fine, we would like to consolidate our schema and topic management system into the same descriptor files.
Additional context
I'm happy to add this feature and have some of the code already written. I just wanted to bring up my proposed solution for review from @purbon

Is there any progress on this issue? At the moment I am forced to use the workaround solution by copying the same type in all the schemas. KTB can compile such a configuration, but as you know, "the last" type wins. This is a bad praxis as the same type must be copy-pasted and in case of changes there is a big possiblity to introduce some mistakes as the type which should be defined once and referenced then from other schemas need to be updated in all schemas.
It was kind of "ok" for long time, but after the update of the maven plugin "org.apache.avro:avro-compiler" to version 1.12.0 it became a real problem, because that plugin became more strict and it does not allow to redefine the same time multiple times. So, I need to use older version of the maven plugin in order to make schemas compatible for KTB.


bug: IAM Load Balancer Role lacking elasticloadbalancing:AddTags

Summary
small change necessary in the policy document to avoid ELB provisioning errors due to lack of access (single line update for iam.tf is all that is required to address the problem)
Issue Type
Bug Report
Terraform Version
[ec2-user@ip-10-10-101-78 ~]$ terraform --version
Terraform v1.5.5
on linux_386

[ec2-user@ip-10-10-101-78 ~]$ helm list -A
NAME                    NAMESPACE               REVISION        UPDATED                                 STATUS          CHART                                   APP VERSION
aws-ebs-csi-helm        aws-ebs-csi-helm        1               2023-08-30 15:39:52.787566047 +0000 UTC deployed        aws-ebs-csi-driver-2.10.1               1.11.2
aws-lb-controller       aws-lb-controller       1               2023-08-30 15:39:52.952624315 +0000 UTC deployed        aws-load-balancer-controller-1.4.2      v2.4.2
blueprint-staging       blueprint-staging       1               2023-08-31 17:45:04.015494376 +0000 UTC deployed        blueprint-helm-1.5.2-f7a6bce.1
cert-manager-helm       cert-manager-helm       1               2023-08-31 15:05:50.874386206 +0000 UTC deployed        cert-manager-v1.9.1                     v1.9.1
cluster-autoscaler      cluster-autoscaler      1               2023-08-30 15:36:04.251070664 +0000 UTC deployed        cluster-autoscaler-9.19.1               1.23.0
ingress-nginx-helm      ingress-nginx-helm      2               2023-08-31 16:45:21.354035999 +0000 UTC deployed        ingress-nginx-4.1.4                     1.2.1

Steps to Reproduce
fails consistently
module "eks-load-balancer-controller_helm" {
  source  = "lablabs/eks-load-balancer-controller/aws"
  version = "1.1.0"

  enabled = var.load_balancer_controller_enabled

  irsa_role_name_prefix            = var.cluster_name
  cluster_name                     = var.cluster_name
  cluster_identity_oidc_issuer     = var.oidc_provider
  cluster_identity_oidc_issuer_arn = var.oidc_provider_arn

  # insert the 3 required variables here
  helm_release_name = "aws-lb-controller"
  namespace         = "aws-lb-controller"

  values = yamlencode({
    "podLabels" : {
      "app" : "aws-lb-controller"
    }
  })

  helm_timeout = 240
  helm_wait    = true
}

Expected Results
expecting not to modify the IAM aws-lb-controller role by hand each time I make use of the Terraform module
Actual Results
prepares the service linked role as specified in the policy document but am finding messages within the service logs indicating IAM access is not sufficient to enable the controller

Hello @ccoffman4477, could you please share the error you are getting on the AWS side? Thanks :-)

@jaygridley
User: arn:aws:sts::019098429742:assumed-role/staging-v2-aws-lb-controller/1693418749026622762 is not authorized to perform: elasticloadbalancing:AddTags on resource: arn:aws:elasticloadbalancing:us-east-1:019098429742:targetgroup/k8s-ingressn-ingressn-2678d20407/* because no identity-based policy allows the elasticloadbalancing:AddTags action

@ccoffman4477 I think we might already have a fix for this in https://github.com/lablabs/terraform-aws-eks-load-balancer-controller/releases/tag/v1.2.0. Could you have a try?

@jaygridley confirmed, IAM issue present in v1.1.0 was resolved with v1.2.0 update to the policy document


add OAM to kpt ecosystem

Demonstrate how to use kpt manage applications defined by oam and Crossplane

@googlebot I signed it!

Thanks so much!  I am out the rest of this week, but will take a look Monday.
Check out the docs contributing instructions to see how to generate the site and view it locally:
https://github.com/GoogleContainerTools/kpt/blob/master/CONTRIBUTING.md#contributing-to-docs

@pwittrock  Do I need to run make docs and commit in this PR? I found it's a big PR if I doing so.

@wonderflow
Submit without make docs to avoid the conflicts, and I will run make docs in a follow up PR.  WDYT?

@wonderflow
Submit without make docs to avoid the conflicts, and I will run make docs in a follow up PR.  WDYT?

@pwittrock  sure, let me fix it right now

Thanks!


Manual installation of Plug-ins??

Hi,
When I click on the BROWSE button in the Obsidian Settings under "Community Plugins", it says "failed to load community plugins", because I don't have access to the internet and it cannot find where the plugins are. So I found the "lockscreen" plugin here in GitHub and downloaded it, however there doesn't seem to be a way to "manually" choose the plugin folder and files to install into Obsidian. Is there a way to do this w/out the use of the internet?
Thanks,
Tony
@bronx27 @ericbiewener

Hi,Download main.js and manifest.json, put them under .obsidian/plugins/obsidian-lock-screen-plugin in the root directory of the note, and restart obsidan

Great. Thanks!
On Wed, Aug 31, 2022, 1:00 AM KissMeInTheDark @.***>
wrote:

Hi,Download main.js and manifest.json, put them under
.obsidian/plugins/obsidian-lock-screen-plugin in the root directory of the
note, and restart obsidan
—
Reply to this email directly, view it on GitHub
https://github.com/ericbiewener/obsidian-lock-screen-plugin/issues/9#issuecomment-1232540034,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQKZMJKV3I6QQMIKP5J4UHLV337HXANCNFSM57RAVFKQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Support for docx to pdf error

I've been deployed the dockerize gotenberg to our clusters, when I run a request from postman, it returns a 500 error, and log is
_____     __           __                / /  / /___ ___  / /  ___ _______ / ( / _ / / -) _ / _ / -) / _ '/_/_/_/_////.__/_//  _, /                                    /__/A Docker-powered stateless API for PDF files.Version: 7.5.3-------------------------------------------------------[SYSTEM] modules: api chromium gc libreoffice logging pdfcpu pdfengines pdftk prometheus qpdf uno uno-pdfengine webhook [SYSTEM] pdfengines: pdfcpu pdftk qpdf uno-pdfengine[SYSTEM] uno: long-running LibreOffice listener ready to start[SYSTEM] gc: application started[SYSTEM] prometheus: collecting metrics[SYSTEM] api: server listening on port 3000{"level":"error","ts":1658214348.5521502,"logger":"api","msg":"convert to PDF: unoconv PDF: unix process error: wait for unix process: exit status 6","trace":"ea1cb927-1bff-4af9-b358-94461e7e5c49","remote_ip":"<IP_ADDRESS>","host":"<IP_ADDRESS>","uri":"/forms/libreoffice/convert?serviceNamespace=hkcrm&serviceName=gotenberg&serviceVersion=1.0.0&","method":"POST","path":"/forms/libreoffice/convert","referer":"","user_agent":"PostmanRuntime/7.29.0","status":500,"latency":2598753594,"latency_human":"2.598753594s","bytes_in":31625,"bytes_out":21}
how to solve this unix process error: wait for unix process: exit status 6 Error?

degraded the version to 7.4.2 the problem solved.


Generated Microsoft.Resources package with 2018-05-01 api-version

Description

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] Please add REST spec PR link to the SDK PR
[ ] I have read the contribution guidelines.
[ ] The pull request does not introduce breaking changes.

General Guidelines

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

@Tiano2017 Please fix failing tests

@dsgouda test failures are fixed.

@Tiano2017 Please address the other comments.

PR looks good as far as ManagementGroups is concerned, since it is in a separate namespace and all files and tests should be removed fro here. Thanks!

@shahabhijeet I did that but didn't see any change produced.

I cloned your fork and here is what I get when I build your SDK from your fork
Here are the API version that are currently baked in the SDK
Features_2015-12-01;ManagementLinkClient_2016-09-01;Resources_2016-09-01;Authorization_2016-09-01;Authorization_2018-03-01;Management_2018-03-01;PolicyClient_2018-03-01;ResourceManagementClient_2018-05-01;Resources_2018-05-01;SubscriptionClient_2016-06-01
This meta data is essential for the SDK package


Roadmap Process Improvements

Recommended roadmap process improvements:

The current high-level Dapr roadmap is out of date. Please review the current update cadence of the roadmap document to align with current releases.
The high-level roadmap only identifies singular technical enhancements or fixes and not WHY they are being included in a release. Please identify a way to articulate at a high-level why features are being included in a release.
Please review the Dapr website and repo to better showcase what is coming and WHY an adopter would want to adopt the new release.
The high-level Dapr roadmap is not easy to find from a user coming in via Dapr.io. Please review WHERE the roadmap can be more prominently accessed for an Adopter.
There is no identified roadmap change process for core Dapr or components. Please clearly document how, why and when a feature is added, or removed, from a release milestone.

Putting this issue in the docs repo for wider coverage than solely the community repo.
xref: cncf/toc#1354

Kk
On Thu, Oct 10, 2024 at 12:22 PM Karena Angell @.***>
wrote:

The high-level Dapr roadmap
https://github.com/dapr/community/blob/master/roadmap.md is not easy to
find from a user coming in via Dapr.io and is out of date.
Recommend:

Please review the current update cadence of the roadmap document to
align with current releases.
The high-level roadmap only identifies singular technical
enhancements or fixes and not why they are being included in a
release. Please identify a way to articulate at a high-level why features
are being included in a release.
Please review the Dapr website and repo to showcase what is coming
and why an adopter would want to adopt the new release.

Putting this issue in the docs repo for wider coverage than solely the
community repo.
xref: cncf/toc#1354 https://github.com/cncf/toc/issues/1354
—
Reply to this email directly, view it on GitHub
https://github.com/dapr/docs/issues/4377, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGMEV6IR3W467HWFKABPMLZ23AW5AVCNFSM6AAAAABPXLUCXWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3TSNJTGQ4DAMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@angellk an overhaul has been made to the document via https://github.com/dapr/community/pull/555, and the roadmap has been added to the main page of the Dapr docs