Testworld 2.0 Syncing node to height 1

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/MinaProtocol/mina/issues
[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/MinaProtocol/mina/discussions

Description
Node synced to height 1 (one) after deleting the .mina-config folder and restarting. If I restart the node again, the node is correctly bootstrapped.
Re: node without running block producer, used for archive node
Steps to Reproduce

Stop mina node
Delete folder .mina-config
Start node

Expected Result
Block height:	N
Max observed block height:	N
Actual Result
Block height:	1
Max observed block height:	1
How frequently do you see this issue?
Rarely
What is the impact of this issue on your ability to run a node?
Low
Status
Mina daemon status
-----------------------------------

Max observed block height:              22930
Max observed unvalidated block height:  22930
Local uptime:                           10m17s
Chain id:                               332c8cc05ba8de9efc23a011f57015d8c9ec96fac81d5d3f7a06969faf4bce92
Git SHA-1:                              4a0fff9a2966d14b7a1c0ec00785cea9096b5341
Configuration directory:                /home/olton/.mina-config
Peers:                                  56
User_commands sent:                     0
SNARK worker:                           None
SNARK work fee:                         100000000
Sync status:                            Bootstrap
Block producers running:                0
Coinbase receiver:                      Block producer
Consensus time now:                     epoch=4, slot=4666
Consensus mechanism:                    proof_of_stake
Consensus configuration:
        Delta:                     0
        k:                         290
        Slots per epoch:           7140
        Slot duration:             3m
        Epoch duration:            14d21h
        Chain start timestamp:     2023-10-17 16:01:01.000000Z
        Acceptable network delay:  3m

Addresses and ports:
        External IP:
        Bind IP:        <IP_ADDRESS>
        Libp2p PeerID:  12D3KooWDLNXPq28An4s2QaPZX5ftem1AfaCWuxHHJq97opeWxLy
        Libp2p port:    8302
        Client port:    8301

Metrics:
        block_production_delay:             7 (0 0 0 0 0 0 0)
        transaction_pool_diff_received:     6
        transaction_pool_diff_broadcasted:  0
        transactions_added_to_pool:         0
        transaction_pool_size:              0
        snark_pool_diff_received:           13
        snark_pool_diff_broadcasted:        0
        pending_snark_work:                 0
        snark_pool_size:                    0

Additional information
No response

olton@berkeley:~$ mina client status
Mina daemon status
Global number of accounts:                     200001
Block height:                                  1
Max observed block height:                     1
Max observed unvalidated block height:         0
Local uptime:                                  7m24s
Ledger Merkle root:                            jwprraP9mpU1iPAXLqPMbN1vDCcCJThQcEbz6PpRfeSZ3wgAT7b
Protocol state hash:                           3NKeF7pcS99PHV59bCqTt3XghbgzuKJ97boU6YMDa82bh3NXhcP7
Chain id:                                      332c8cc05ba8de9efc23a011f57015d8c9ec96fac81d5d3f7a06969faf4bce92
Git SHA-1:                                     4a0fff9a2966d14b7a1c0ec00785cea9096b5341
Configuration directory:                       /home/olton/.mina-config
Peers:                                         114
User_commands sent:                            0
SNARK worker:                                  None
SNARK work fee:                                100000000
Sync status:                                   Synced
Catchup status:
Finished:  1
Block producers running:                       0
Coinbase receiver:                             Block producer
Best tip consensus time:                       epoch=0, slot=0
Best tip global slot (across all hard-forks):  0
Consensus time now:                            epoch=5, slot=5116
Consensus mechanism:                           proof_of_stake
Consensus configuration:
Delta:                     0
k:                         290
Slots per epoch:           7140
Slot duration:             3m
Epoch duration:            14d21h
Chain start timestamp:     2023-10-17 16:01:01.000000Z
Acceptable network delay:  3m
Addresses and ports:
External IP:
Bind IP:        <IP_ADDRESS>
Libp2p PeerID:  12D3KooWDLNXPq28An4s2QaPZX5ftem1AfaCWuxHHJq97opeWxLy
Libp2p port:    8302
Client port:    8301
Metrics:
block_production_delay:             7 (0 0 0 0 0 0 0)
transaction_pool_diff_received:     0
transaction_pool_diff_broadcasted:  0
transactions_added_to_pool:         0
transaction_pool_size:              0
snark_pool_diff_received:           8
snark_pool_diff_broadcasted:        0
pending_snark_work:                 0
snark_pool_size:                    0


Access to files and attachments

There's no way for an Apostrophe editor to directly access an uploaded file. The type ahead slug doesn't generate the actual, direct URL to the file. I'm not sure the best solution for this.

While we're at it the division into "basics" and "info" tabs is meaningless
and confusing:
https://dl.dropboxusercontent.com/spa/jfyjetktfp495r1/9_nupcd4.png
All the required stuff should be in tab one. Everything else could go in an
"Admin" tab.
On Mon, Oct 3, 2016 at 12:05 PM, Austin Starin<EMAIL_ADDRESS>wrote:

Assigned #687 https://github.com/punkave/apostrophe/issues/687 to
@boutell https://github.com/boutell.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/punkave/apostrophe/issues/687#event-810503432, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAB9feQdQ6MmUTQOGKRl99WCpQ3wCqsaks5qwSfggaJpZM4KMwBr
.

--
*THOMAS BOUTELL, *SUPPORT LEAD
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Alex fixed the original issue. (Doing something about the crappy arrangeFields defaults for this type is a separate concern, bad Tom)

@agilbert Thanks for hitting this!


Improve test coverage!!!

The plugin becomes too complex to test manually. Finally automate testing for all features, issues and stuff

As this plugin offers mostly visual features and they're very interconnected I'd say the best step is to make extensive use of e2e tests at first.
I tried Ghostinspector yesterday but their test suite fails to properly draw anything on the map.
E.g. if I place 4 markers somewhere on the map, they'll all be in the middle of the map in their test suite.
I also got the recommendation for http://nightwatchjs.org/ and will check this out in the next days.


chore(main): release 1.1.7

:robot: I have created a release beep boop
1.1.7 (2023-05-21)
Full Changelog: https://github.com/icoretech/airbroke/compare/v1.1.6...v1.1.7

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/icoretech/airbroke/releases/tag/v1.1.7 :sunflower:


fix: Added try catch to open play store in browser when not found.

Fixes #926
Changes: Added try catch to open play store in browser when not found. Stops app from crashing when manage events clicked on device with no play store.

Fix travis build


Add lombok to Iridium

Is your feature request related to a problem? Please describe.
We'd like to use a way to generate getters/setters and builder functions.
Describe the solution you'd like
I'd like to use Lombok
Describe alternatives you've considered
n/a
Additional context
n/a

Hello @joshfischer1108 ,
I want to take this up. Do I only have to add Lombok dependency?

Thanks for your interest @haseeb-xd.  This is active work already assigned to someone, I just haven't had the chance to assign the work to him.
We have plenty of other issues to work through if you are interested.  If you see them with the active-work label, this means someone is already working on it. Other than that, feel free to look around. I'm happy to answer any questions along the way.

JakeChrysler will take this task of adding Lombok.


[enhancement] support EmbeddedResource

It would be great to have support for Embedded images

Thanks for raising this. Could you please clarify what you mean? An example of the code you want generated would help.


[2.0] Question about domain proxy

Rancher versions:
rancher/server or rancher/rancher: 2.0.0
rancher/agent or rancher/rancher-agent: as deployed
Hello. I have a question about LB proxy like at 1.6 version.
How to deploy an LB on a single port, where I can request on different domains and it will point to different services like it was on 1.6 version? For now, every endpoint listens on its own port.

duplicated of https://github.com/rancher/rancher/issues/13711
now rancher supports node selector. Please see https://rancher.com/docs/rke/v0.1.x/en/config-options/add-ons/ingress-controllers/

@loganhz But it creates random ports on front ip even I create all targets on single lb.
But I suppose to get one public port for all targets

Hi @clicman, please look at the issue https://github.com/rancher/rancher/issues/13717
We will track the random ports issue there.
Please feel free to leave your comment in that issue.
Close this issue.


Add action for inviting people to our organisation

This PR automates the process of inviting people to our organisation 😊

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)


Added Support for more TI Tiva Microcontrollers:

TM4C123GH6PZ (100 pin version of TM4C123GH6PM)
TM4C123GH6PGE (144 pin version of TM4C123GH6PM)
TM4C129ENCPDT (TM4C1294 with Crypto hardware added, TQFP package)
TM4C129ENCZAD (TM4C1294 with Crypto hardware added, BGA package)

Summary
Impact
Testing

@fckruegel please fix the nxstyle warning here:
https://github.com/apache/incubator-nuttx/pull/2161/checks?check_run_id=1327083440
you can run locally too by:
./tools/checkpatch.sh -g HEAD~...HEAD

There are other errors too:
nuttx/arch/arm/src/tiva/hardware/tm4c/tm4c_memorymap.h:616:1: error: Missing blank line after comment
nuttx/arch/arm/src/tiva/hardware/tm4c/tm4c_pinmap.h:1:85: error: Long line found

If there is the unreasonable warning like "Wrong column position of comment right of code" mention in PR, we can then ignore it.

Does anyone know why the check indicates a failure on nxstyle errors in arch/xtensa/src/esp32/esp32_spiflash.c? That file is not changed by this PR!!!

Does anyone know why the check indicates a failure on nxstyle errors in arch/xtensa/src/esp32/esp32_spiflash.c? That file is not changed by this PR!!!

It has to do with how the commits are determined on the PR. You can ignore the non relevant ones or do a rebase.


devicetree: deprecate DT_DMAS_LABEL APIs

Mark all variants of the DT_DMAS_LABEL APIs:

DT_DMAS_LABEL_BY_IDX
DT_DMAS_LABEL_BY_NAME
DT_INST_DMAS_LABEL_BY_IDX
DT_INST_DMAS_LABEL_BY_NAME

As deprecated in favor of utilizing:

DT_DMAS_CTLR_BY_IDX
DT_DMAS_CTLR_BY_NAME
DT_DMAS_CTLR
DT_INST_DMAS_CTLR_BY_IDX
DT_INST_DMAS_CTLR_BY_NAME
DT_INST_DMAS_CTLR

Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

No issue in keeping the deprecated macros in devicetree tests?

@mbolivar-nordic asked for that for previous deprecations to make sure we still test the APIs.


Add option node affinity by OS version in our manifest

the goal is to deploy kimup on a node where the binary is accepted

Example
spec:
  replicas: 1
  selector:
    matchLabels:
      control-plane: controller-manager
  template:
    metadata:
      annotations:
        kubectl.kubernetes.io/default-container: manager
      labels:
        control-plane: controller-manager
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values:
                - amd64
                - arm64
                - ppc64le
                - s390x
              - key: kubernetes.io/os
                operator: In
                values:
                - linux

Add this in the code of both controller and in manifest file


Update intellitrace

Description
Fix the build of intellitrace package and update it from the externals
https://dotnet.myget.org/feed/vstest/package/nuget/Microsoft.Internal.Intellitrace

I'll lead on this one, and get the build working in the next few days if possible.


Should

I am wondering if there is a bug in the instructions step 5 and whether the

Thanks for raising this issue @jakobpn.
@davidchesnut, could you please investigate?

Hi @jakobpn,
Good catch! Yes you should also change the

@davidchesnut what does this do now? I got rid of the functions.js entry point (it's now part of taskpane.js), and my custom functions still work. It appears I can put any URL with the same authority and it works, but if I actually remove the <Script> element, the add-in fails to load.

@parched I'm finding your question hard to understand. Also, instead of commenting on this closed issue, could you please create a new issue on this repo and explain your problem thoroughly? For example, what in the documentation seems wrong to you?


[Snyk] Security upgrade python-multipart from 0.0.5 to 0.0.7

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

project/app/requirements.txt

⚠ Warning
tox 4.8.0 has requirement typing-extensions>=4.7.1; python_version < "3.8", but you have typing-extensions 4.5.0.
tox 4.8.0 has requirement packaging>=23.1, but you have packaging 22.0.
pyproject-api 1.5.3 has requirement packaging>=23.1, but you have packaging 22.0.
platformdirs 4.0.0 has requirement typing-extensions>=4.7.1; python_version < "3.8", but you have typing-extensions 4.5.0.
coveralls 3.3.1 has requirement coverage!=6.0.*,!=6.1,!=6.1.1,<7.0,>=4.1, but you have coverage 7.2.7.

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

658/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-PYTHON-PYTHONMULTIPART-6227505
python-multipart:  0.0.5 -> 0.0.7
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)

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

Comparison is base (365ff36) 80.80% compared to head (2190f6c) 80.80%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #35   +/-   ##
=======================================
  Coverage   80.80%   80.80%
=======================================
  Files          13       13
  Lines         125      125
=======================================
  Hits          101      101
  Misses         24       24

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


chore: only fetch blocks for filter matched

light client will request blocks from full node when rpc fetch_header was called, I think it's unnecessary, it should be only requested for filter matched blocks.

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

Comparison is base (578dcc6) 69.78% compared to head (8a06cab) 69.83%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #154      +/-   ##
===========================================
+ Coverage    69.78%   69.83%   +0.05%
===========================================
  Files           25       25
  Lines         6395     6409      +14
===========================================
+ Hits          4463     4476      +13
- Misses        1932     1933       +1

Flag
Coverage Δ

unittests
69.83% <100.00%> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

...ocols/light_client/components/send_blocks_proof.rs
94.28% <100.00%> (-0.65%)
:arrow_down:

src/protocols/light_client/mod.rs
69.12% <100.00%> (ø)

src/protocols/light_client/peers.rs
61.56% <100.00%> (+0.34%)
:arrow_up:

src/utils/network.rs
92.95% <100.00%> (ø)

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


Cache Service Static Instance Bug

Describe the bug
Cache service is Static, which means that any attempt to use a new cache can wipe/swap the cache.
This is horrendous for FederatedStore which uses the cache to store graphs. This is an Ancient bug but since the internal GraphStorage java object has been removed since #2595 this bug has appeared during docker containers testing.
Truth Table of error and behaviour below.
To Reproduce
  | AddGraph with no Cache | AddGraph with HashMap Cache | AddGraph with JCS Cache
-- | -- | -- | --
FederatedStore is currently using HashMap Cache | Graph is added to HashMap Cache | The Cache service continues to be HashMap Cache, the cache is initialised, FederatredStore only contains this new graph. | The Cache service is switched to JCS Cache, the cache is initialised, JCS cache is loaded from disc, FederatredStore contains this new graph and anything pre-existing in the cache.
FederatedStore is currently using JCS Cache | Graph is added to JCS Cache | The Cache service is switched to HashMap Cache, the cache is initialised, FederatredStore only contains this new graph. | The Cache service continues to be JCS Cache, the cache is initialised, JCS cache is loaded from disc, FederatredStore contains this new graph and anything pre-existing in the cache.

Closed by https://github.com/gchq/Gaffer/pull/2893


Base Resource Support

See FHIR PR #25 for details on support for base resources.
This PR just fixes how resources are constructed since you can no longer use Id very easily in the struct literals.

This PR should be merged at the same time as:

fhir PR #25
ie PR #37
fhir-golang-generator PR #12


Add documentation about using jupyter notebooks

We can include some notes about how to run the jupyter notebooks for the project in the README file or the docs.
Something like:
 pip install jupyterlab
How to launch jupyterab:
jupyter-lab
ref: https://jupyter.org/install

Closing as deprecated, Jupyter notebooks are no longer the main development environment (src/ is)


Apply and use Snapshot API-Key before Sep.12

In order to keep higher limits, make sure to apply for an API Key - have a read here: https://docs.snapshot.org/tools/api/api-keys

complete https://github.com/nance-eth/nance-interface/commit/42de0358effa8ace0e768bc27cfd524853b224d8


Uncaught ReferenceError: _createStitches is not defined

Bug report
Describe the bug
ReferenceError after updating to Gatsby 4.5.3
Screenshots

System information

OS: Linux 5.10.47-linuxkit
Version of Stitches/react: [1.2.6]
Version of Stitches: [1.2.11]
Version of Node.js: [14.18.2]

Additional context
Was working as expected under Gatsby 3.3

I have the same issue with Gatsby 4.5.3

I had ran into same issue, and I remember that was about gatsby's change.
Here is how i fixed it: https://github.com/daangn/websites/commit/54a66bedf3b4da51e18d6f1e06163e74a051238a#diff-47095d732e10a13dde36c22e0b71a4a61d15941872f12c6c911b5791c7fc3e4a

Closing as it appears to be an external issue.
Feel free to open a new one with more details if you believe it's a Stitches issue.


Auto test failing (Windows)

https://slicer.cdash.org/viewTest.php?onlyfailed&buildid=2793058

It seems there is an issue with module dependencies on the testing environment of 3D Slicer. I opened https://github.com/Slicer/Slicer/issues/6529 regarding this problem


Fix: Margarita components web storybook loads universal-components co…

…rrectly
Summary: After switching the 'main' field in package.json to the source folder of universal-components, the web storybook for margarita-components stopped working as the files from universal-components were not transpiled anymore. This PR fixes that issue by transpiling files from universal-components when building the storybook.

Thanks @RobinCsl ! 👍


AsDataSet() configuration options: Powershell Notation

Your Example for C#:
var result = reader.AsDataSet(new ExcelDataSetConfiguration() {

        ConfigureDataTable = (_) => new ExcelDataTableConfiguration() {
		    UseHeaderRow = true

        }
});

My rudimenary Basic snippet in PS5.1:
# ExcelDataTableConfiguration => okay
$dTabCnfObj = New-Object ExcelDataReader.ExcelDataTableConfiguration
$dTabCnfObj.UseHeaderRow = $true

# ExcelDataSetConfiguration => okay
$dSetCnfObj = New-Object ExcelDataReader.ExcelDataSetConfiguration
$dSetCnfObj.UseColumnDataType  = $true
# and now beginns the pain (add ExcelDataTableConfiguration to ExcelDataSetConfiguration):
$dSetCnfObj.ConfigureDataTable = "???? [working Example please]"
# $dSetCnfObj.ConfigureDataTable = $dTabCnfOb  didd not work of course ;-)

How accomplish the Same functionality in Powershell (native or with linq)?
Can you translate this snippet to Powershell-Natation, please?
Thank you for any assistance

Hi,
I believe this should work:
function ConfigureDataTableCallback($reader) {
	$dTabCnfObj = New-Object ExcelDataReader.ExcelDataTableConfiguration
	$dTabCnfObj.UseHeaderRow = $true
}

$dSetCnfObj = New-Object ExcelDataReader.ExcelDataSetConfiguration
$dSetCnfObj.UseColumnDataType  = $true
$dSetCnfObj.ConfigureDataTable = &ConfigureDataTableCallback

$reader = [ExcelDataReader.ExcelReaderFactory]::CreateReader( ... )
$result = $reader.AsDataSet($dSetCnfObj)

The ConfigureDataTable property takes a method which is called for each DataTable

Hi andersnm
Thanks for your Suggestion.
Now looks better (no Errors), but the ExcelDataTableConfiguration-Options insyde (in my Case UseHeaderRow) takes no Effect on the Result.
Other Idea?

Aplogies, I missed the return statement in the callback. Have updated the code sample

No Problem. Thanks.
This i have also tested before, but didnt work.
Now throws this error:
"ConfigureDataTable": "The value" ExcelDataReader.ExcelDataTableConfiguration "of type
"ExcelDataReader.ExcelDataTableConfiguration" can not be in the type
"System.Func`2 [ExcelDataReader.IExcelDataReader, ExcelDataReader.ExcelDataTableConfiguration]". "

No i have the Trick found ;-)
$dSetCnfObj = New-Object ExcelDataReader.ExcelDataSetConfiguration
$dSetCnfObj.UseColumnDataType  = $true
$dSetCnfObj.ConfigureDataTable = {
	    $dTabCnfObj = New-Object ExcelDataReader.ExcelDataTableConfiguration
	    $dTabCnfObj.UseHeaderRow = $true
            **return $dTabCnfObj**
}

This works for me.
Any better Approaches welcome :-)

That looks neat. I prefer your approach with the anonymous lambda.
Seems I made more mistakes in my code sample, f.ex the syntax for passing a method is $function:ConfigureDataTableCallback. Apparently I should stop posting untested code samples for a language I'm not familiar with =)
Have updated my original sample with a more complete script - and actually tested now!
Closing, I think we solved this


Is ws.on("connection") not working?

Hi,
I use following server route:
app.ws("/", (wss, req) => {
  console.log(req.user); // the user that has connected through websocket
  ws.on("connection", () => {
    console.log("Test");
  });
});

I never see that console statement when I connect my client to the server. Connection is successful however.
Here is the client code:
const ws = new WebSocket('ws://localhost:5000/');
	ws.onopen = () => {
		ws.send('Ping'); // Send the message 'Ping' to the server
	};

	ws.onmessage = (e) => {
		console.log(e.data);
	};

So it seems that the ws.on("connection") callback never runs. Is this not implemented, so I can only use ws.on("message") ?

Hi @dhuber666,
Thanks for your interest in this library. I think you might be confusing the WebSocket class with the WebSocket.Server class. The object passed to your callback would be an instance of WebSocket. This class does not emit a 'connection' event.
This library actually routes the WS connection to the correct handler on the 'connection' event. So in most cases you could instead add your logic to the beginning of your app.ws handler/callback.

HI @HenningM
Ah okay I get it.
When the user comes to the route app.ws("/"...) he is already in the "connection" or connected phase?
In fact I tested it out with just calling ws.send and it works perfectly.
That library is a blast!
Thank you for that.

Hello i am having similar issue, can you pls. check if you can help the issue https://github.com/HenningM/express-ws/issues/116 please?


Examples for generating 'Stable, Predictable and Unique' keys

Reconciliation chapter spends a good time explaining why using the index or even Math.random() as a key is a bad idea, proceeding to suggest using an existent id as a key. When there's not an existent id, it's suggested to "add a new ID property to your model or hash some parts of the content to generate a key".
That's a very controversial issue, a lot of people do it wrong. An example of how to do it would make the chapter a lot better. It's an extensive chapter (compared to others) that seems to end up with no code conclusion.

I think that's because its an unsolved problem :upside_down_face:


LinkedHashSet?

Is there a way to have LinkedHashSet with flare?

Yes there is. Take a look at SyncMap#of, you can use any map implementation you'd like to back a SyncMap.


[Issue] Energy Detector sometimes voids energy, or is an infinit energy source without input

Describe
Expected

measures the throughput and allows to limit it
input and output of the Energy Detector are always the same
no energy is lost (or only a bit as energy consumption of the Energy Detector)

Observed

one time it suddenly was an infinity energy source even without an input attached (it gave 1.6 kFE/t)
now it drains any available energy on the input and voids the excess

multiple in parallel share the input evenly
limiting the throughput works, but it is used up to max even without an attached cable

two of our Energy Detectors are limited to 0 and don't have an input source attached, but still report a throughput of last time it was transmitting power

Reproduce
Steps to reproduce the behavior:

use an not infinite energy source (Bigreactors - Basic Reactor)

used mods

Bigreactors - Basic Reactor
Flux Networks
Rftoolspower - Powercell (High)
Makanism - Basic Universal Cable
many others not directly interfacing with this (ask if you need to know more)

Versions:

Forge version: 36.1.4
AdvancedPeripherals version: 0.4.4b

FYI, Rebooting the PC did not fix the report problem of the third observed behaviour.

By looking at EnergyDetectorTileEntity.java
it looks to me like the internal input and output of the Energy Detector is in fact a two times int_max sized energy storage, thus what we thought is voided is instead stored in the Energy Detector and is later what we thought is an infinity energy source.

When you use setTransferRateLimit(EnergyDetectorPeripheral.java) these values will override. But yes, that is the issue. I will try to fix that today if I can find time.

Oops, i wouldn't close the issue.

Hey, could you try if this version fixed your issue?
advancedperipherals-0.4.5-DEVb.zip

No, its still the same.

advancedperipherals-0.4.5-DEV1b.zip
I think, I fixed it. In any case, I can no longer reproduce it.
Unzip the file before you use it.

Ahh yes, I can reproduce this from you above too. The energy detector eats the energy because the storage is quite infinite big.
I fixed that.
advancedperipherals-0.4.5-DEV2b.zip
There is now also a config option for the maximum flow range.
You can test it if you want.
Unzip the file before you use it.

While im testing just a thought:
I don't know the Energy Transfer Api, but is there a specific reason why you need an internal storage on the Energy Detector?
Is it maybe possible to directly transfer the energy from the source block to the output block?

Well, this is a very good idea.
I will try that out when i am at home again.

Ahh yes, I can reproduce this from you above too. The energy detector eats the energy because the storage is quite infinite big.
I fixed that.
advancedperipherals-0.4.5-DEV2b.zip
There is now also a config option for the maximum flow range.
You can test it if you want.
Unzip the file before you use it.

Now it doesn't transfer any energy. (I also tried it in a new world)

Wait, now in an other setup it works, I will need to take a closer look on what was wrong there.

I changed the system of the energy detector completely. It will send the energy from the tile entity of the one side to the tile entity of the output side. It will no longer store any energy.

Ok great now its transferring energy and it doesn't store energy, but sadly there are new problems:
The Energy Detector is now actively draining energy out of the cable (instead of passive receiving it), this has the consequence that if there isn't enough energy for all devices that need energy the Energy Detector takes as much as it needs and all other devices only get the rest (if there is any).
This behavior is different to how cables normally work, because normally they would evenly distribute the available energy over the devices.

idea for solution:
You could implement a proxy class for the energy storage on the output side and set it as the "internal storage" of the Energy Detector:

when ever the cable tries to put energy into the Energy Detector the EnergyStorageProxy looks if there is an output device and forwards the the method calls to it
if there is no output device it should return that there is no storage capacity left / maybe also canReceive() -> false
EnergyStorageProxy.receiveEnergy(inEnergy, ...) should be something likeint transferred= out.receiveEnergy(Math.min(inEnergy, maxTransferRate), ...)
setTransferrate(transferred)
return transferred

Btw. the current transferrate returned by the peripheral shows sometimes old data.
Maybe you should sum transferred over one tick and check on every tick if you need to update the peripheral, because receiveEnergy() could be called multiple times.

The Energy Detector is now actively draining energy out of the cable (instead of passive receiving it)

I fixed that, that also fixed that the peripheral shows old data.

EnergyStorageProxy.receiveEnergy(inEnergy, ...) should be something like

I already set the transfer rate to the received energy.

This behavior is different to how cables normally work, because normally they would evenly distribute the available energy over the devices.

Mekanism can't send the energy if the energy detector use it.
If you decrease the max transfer rate of the second energy detector, the universal cable will be able to send energy to the other cable.

I fixed that, that also fixed that the peripheral shows old data. 👍🏻

Great, I will take a look at it once the update is out.
As far as I understand your code in your latest commit 12f1c52 you just moved the "if no input or no output return null" to the top of the method, or did I miss something?
How does this fix that the energy detector is actively draining energy from the input?

I already set the transfer rate to the received energy.

I just wrote setTransferrate(transferred) because how you update the transferrate is not relevant for what I wanted to suggest, maybe that was more confusing then helpful.
Actually I was thinking about how the receiveEnergy(int maxReceive, boolean simulate) Method of a EnergyStorageProxy class could look like to handle passively receiving energy, this EnergyStorageProxy would then be set as the internal storage of the energy detector.

Mekanism can't send the energy if the energy detector use it.
If you decrease the max transfer rate of the second energy detector, the universal cable will be able to send energy to the other cable.

My point was that it behaves differently if I replace the second energy detector with a universal cable and that my expectation was that a energy detector would behave the same like a universal cable as long as both don't exceed their max transfer rate.
(at least in this setup, I know that the energy detector behaves as a diode, but shouldn't make a difference in this setup)

you just moved the "if no input or no output return null" to the top of the method, or did I miss something?
I used && instead of || before, so the energy detector will drain energy even if there is no tile entity.

I just wrote setTransferrate(transferred) because how you update the transferrate is not relevant for what I wanted to suggest, maybe that was more confusing then helpful.
I now know what you mean, sorry. I'll look into it tomorrow.

My point was that it behaves differently if I replace the second energy detector with a universal cable and that my expectation was that a energy detector would behave the same like a universal cable as long as both don't exceed their max transfer rate.

Sorry, but I do not know how I could fix that.  I'll look into it tomorrow, but I can't guarantee anything

I just managed to build your mod on my pc, I will also try to take a look into it.

I think I fixed the transferring so that it works as I expected,
but now I'm still searching the reason why the current transferrate returned by the peripheral shows sometimes old data.
I'll look later into it again and create a pull request after some more experiments.

I'll look later into it again and create a pull request after some more experiments.

Thank you for your help 👍🏻

why the current transferrate returned by the peripheral shows sometimes old data.
I can't reproduce that, the detector returns always the current data

I should review before I merge a pull request...
The energy detector do not send energy out/do not receive energy.
I hadn't much time to look into this, but could you try to fix that?

That's strange...
I just checked out your master branch after the merge and tested it locally, for me it works without any problems.
Could you please tell me what you did / how you hooked it up, so I can try to reproduce it?

It does not seem that you send the energy? Or do I misunderstand anything?

It does send energy, but it still seams like there is strange stuff happening with universal cables.
using the Network Reader at the input cable:

using the Network Reader at the output cable:

The input cable seems to call receiveEnergy(...) 4 times per tick => yes my code still makes it possible that the maxTransferrate can be bypassed by using a cable that calls receiveEnergy(...) multiple times per tick. The only difference to your code is that mine prints the sum of the transferred energy of all calls to receiveEnergy(...) in the last tick and yours only prints the transferred energy from the last call to receiveEnergy(...).

What also confuses me is that the cable after the energy detector has a throughput of 9.5FE/t but the induction Matrix only receives 5FE/t like the actual limit and the input cable was.

Could it be something because getCapability(...) returns for both sides the same storage?

But I still don't see any reason why yours doesn't transfer energy...

I will try to push the pull request and see if that works for me.

There is an issue with your commit.
You need to use Optional#isPresent instead of isEmpty. isPresent would return true if the Optional isn't empty. So you should use !isEmpty.
The issue is at EnergyDetectorTileEntity.java:103. I could fix that, but i'm busy. Sorry

The if block doesn't need to be entered if outReceivingStorage is present, because it is only there to refetch the capability if the lazyOptional has been invalidated.
This is just a performance optimization because the documentation says:

Modders are encouraged to cache this value, using the listener capabilities of the Optional to be notified if the requested capability get lost.

oops that's a java 11 feature, sorry

Yeah, I need to use java 8, sorry.

Stupid auto close... 😄

Well, thank you for your help! I really appreciate that!

Fixed in 0.4.6b


Cannot Complete on Kubuntu ARM due to Error --> configure: error: cannot guess build type; you must specify one

Hello I would like to execute the Hercules helper script on a vanilla Kubuntu ARM due to an error in the preparation of the compile run.
According to the output, I downloaded the newest version of "config.guess"  and (the default version is from 2008 --> see below) but it did not resolve the error.
What strange to me is that I replaced the content of "config.guess + config.sub"  with newest content:
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright 1992-2024 Free Software Foundation, Inc.
-# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2024-07-27'
but it still shows the wrong timestamp.
I made the lines wich I think affected bold, please help,
thanks Sascha
Output:
Using logfile: hercules-buildall-2024-08-22-1.log
Creating build cmds file: /home/sascha/Developer/mainframe/build-commands-2024-08-22-1.log
Creating extra diagnostic info file: /home/sascha/Developer/mainframe/extra-info-2024-08-22-1.log
Script version: /home/sascha/Developer/mainframe/hercules-helper/hercules-buildall.sh: v0.9.14-113-g2fd3218-dirty
Config file: /home/sascha/Developer/mainframe/hercules-helper/sdl-hyperion.conf
General Options:
--trace         : false
--verbose       : true
--prompts       : false
--beeps         : false
--sudo          : false
--askpass       : false
--detect-only   : false
--no-packages   : false
--no-rexx       : false
--no-gitclone   : false
--no-bldlvlck   : false
--no-autogen    : true
--no-configure  : false
--no-clean      : false
--no-make       : false
--no-tests      : false
--no-install    : false
--no-setcap     : false
--no-envscript  : false
--no-bashrc     : false
System information:
uname -a        : Linux armubuntu 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 23:26:06 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
uname -m        : aarch64
uname -p        : aarch64
uname -s        : Linux
System detection:
OS Type          : Linux
Machine Arch     : aarch64
Memory Total (MB): 3903
Memory Free  (MB): 1307
VERSION_ID       : ubuntu
VERSION_ID_LIKE  : debian
VERSION_PRETTY   : Ubuntu 24.04 LTS
VERSION_STR      : 24.04
OS               : debian variant
OS Version       : 24
Language         : LANGUAGE=en_US:en
LANG=en_US.UTF-8
Checking for Windows WSL2... nope
Checking for Windows WSL1... nope
Platform Bitness : 64
[[ note: ]] Note: based on the selected options, your sudo password may be required.
Configuration:
FLAVOR               : sdl-hyperion
Config file          : /home/sascha/Developer/mainframe/hercules-helper/sdl-hyperion.conf
CUSTOM_BUILD_MSG     : "Built for you with Hercules-Helper"
REPO_NAME            : hyperion
OPT_BUILD_DIR        : /home/sascha/Developer/mainframe
OPT_INSTALL_DIR      : /home/sascha/Developer/mainframe/herc4x
OPT_REGINA_DIR       : Regina-REXX-3.6
OPT_REGINA_TARFILE   : Regina-REXX-3.6.tar.gz
OPT_REGINA_URL       : https://gist.github.com/wrljet/053c3bab74910d42f8775841fcc6fd3f/raw/fe7d723509356ebb77d1eb4593f15dda941949da/Regina-REXX-3.6.tar.gz
GIT_REPO_HERCULES    : https://github.com/SDL-Hercules-390/hyperion.git [checkout develop]
GIT_REPO_EXTPKGS     : https://github.com/SDL-Hercules-390 [default branch]
Environment variables:
Search Path      : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
SUDO_ASKPASS     :
CC               : cc
: cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
GCC              :
CFLAGS           :
CPPFLAGS         :
LDFLAGS          :
LD_LIBRARY_PATH  :
Performing Steps:
run  : Check for required system packages
run  : Include REXX support, build Regina REXX if needed
run  : Git clone Hercules and external packages
run  : Run bldlvlck
run  : Build Hercules external packages
skip : Run autogen
run  : Run configure
run  : Run make clean
run  : Run make (compile and link)
run  : Run make check
run  : Run make install
run  : setcap executables
run  : Create script to set environment variables
run  : Add setting environment variables to bash profile
Existing build tools versions:
autoconf       : autoconf (GNU Autoconf) 2.71
automake       : automake (GNU automake) 1.16.5
libtool        : libtool (GNU libtool) 2.4.7
m4             : m4 (GNU M4) 1.4.19
make           : GNU Make 4.3
compiler       : cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
linker         : GNU ld (GNU Binutils for Ubuntu) 2.42
gcc presence   : /usr/bin/gcc
g++ presence   : /usr/bin/g++
Step: Create installation directory
Installation directory created: /home/sascha/Developer/mainframe/herc4x
Step: Check for required packages:
sudo apt-get update ... may take a while ...
Checking for package: git ... is already installed
Checking for package: wget ... is already installed
Checking for package: curl ... is already installed
Checking for package: time ... is already installed
Checking for package: ncat ... is already installed
Checking for package: build-essential ... is already installed
Checking for package: cmake ... is already installed
Checking for package: autoconf ... is already installed
Checking for package: automake ... is already installed
Checking for package: flex ... is already installed
Checking for package: gawk ... is already installed
Checking for package: m4 ... is already installed
Checking for package: libltdl-dev ... is already installed
Checking for package: libtool-bin ... is already installed
Checking for package: libcap2-bin ... is already installed
Checking for package: libbz2-dev ... is already installed
Checking for package: zlib1g-dev ... is already installed
Step: Check REXX and compiler files:
REXX via ($PATH):
Checking for Regina-REXX... nope
Checking for ooRexx... nope
Processing started: Do 22 Aug 2024 10:05:41 CEST
Step: Build Regina Rexx [used for test scripts]:
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 1113k  100 1113k    0     0  1906k      0 --:--:-- --:--:-- --:--:-- 6255k
./configure --enable-64bit --libdir=/usr/lib
checking for one of the following C compilers: xlC xlc gcc cc c89 acc... using /usr/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking build system type... ./config.guess: unable to guess system type
This script, last modified 2008-03-12, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run (./config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to<EMAIL_ADDRESS>in order to provide the needed
information to handle your system.
config.guess timestamp = 2008-03-12
uname -m = aarch64
uname -r = 6.8.0-41-generic
uname -s = Linux
uname -v = #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 23:26:06 UTC 2024
/usr/bin/uname -p = aarch64
/bin/uname -X     =
hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              = aarch64
/usr/bin/oslevel       =
/usr/convex/getsysinfo =
UNAME_MACHINE = aarch64
UNAME_RELEASE = 6.8.0-41-generic
UNAME_SYSTEM  = Linux
UNAME_VERSION = #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 23:26:06 UTC 2024
configure: error: cannot guess build type; you must specify one
[[ error: ]] configure failed!
finish() called, exit status = 1

Since I try to run also a second instance in a container with ubuntu 24.04 I also got the same error. Could be a general problem try to run the hercules-helper script on Ubuntu  with ARM architecture ?
Thanks for helping,
Sascha
Output:
checking build system type... ./config.guess: unable to guess system type
This script, last modified 2008-03-12, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run (./config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to<EMAIL_ADDRESS>in order to provide the needed
information to handle your system.
config.guess timestamp = 2008-03-12
uname -m = aarch64
uname -r = 6.1.25
uname -s = Linux
uname -v = #1 SMP Fri Mar 29 11:57:58 CST 2024
/usr/bin/uname -p = aarch64
/bin/uname -X     =
hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              = aarch64
/usr/bin/oslevel       =
/usr/convex/getsysinfo =
UNAME_MACHINE = aarch64
UNAME_RELEASE = 6.1.25
UNAME_SYSTEM  = Linux
UNAME_VERSION = #1 SMP Fri Mar 29 11:57:58 CST 2024
configure: error: cannot guess build type; you must specify one
[[ error: ]] configure failed!
finish() called, exit status = 1

Sascha,
The problem is in the Regina build step.
Please re-run and add the --no-rexx switch.
If things work smoothly, then I'll show you how to get it to use Regina 3.9 instead of 3.6.
Bill

Bill,
thank you very much, now it runs compiles w/o error. Can this be fixed permanently ?
Now I am curious how to use Regina 3.9....
Beside of that I have a request: is it possible to build a switch which enables a root user to run the script ? I want to use a container and therefore i commented out this section in the "hercules-buildall.sh"
if [ "$EUID" -eq 0 ]; then
echo    # print a new line
echo "Running this as root is dangerous and can cause misconfiguration issues"
echo "or damage to your system.  Run as a normal user, and the parts that need"
echo "it will ask for your sudo password (if required)."
echo    # print a new line
echo "For information, see:"
echo "https://askubuntu.com/questions/16178/why-is-it-bad-to-log-in-as-root"
echo "https://wiki.debian.org/sudo/"
echo "https://phoenixnap.com/kb/how-to-create-add-sudo-user-centos"
echo    # print a new line
read -p "Hit return to exit" -n 1 -r
echo    # print a new line
exit 1
fi
Cloud be possible to deactivate this check via an switch like --root=yes ?
It would help a lot to built/update a container, thanks
Sascha

Yes, I'll add something for root.

Hi Bill,
thanks !
Yu might also update the config.guess + config.sub wich still has the timestamp of 2008...
Sascha

Sascha,
I've added a new --accept-root command line switch.
Try it out and let me know if it works.
Bill

Sascha,

Hi Bill, thanks !
You might also update the config.guess + config.sub which still has the timestamp of 2008...
Sascha

The config.guess in SDL Hercules is fairly recent from the GNU project and has an internal timestamp of 2021.
The config.guess in the Hercules-Helper patch directory is also from 2021.
If you look at the Hercules-Helper default config file sdl-hyperion.conf, page down a ways, you will see:
# Regina download
opt_regina_dir="Regina-REXX-3.6"
opt_regina_tarfile="Regina-REXX-3.6.tar.gz"
opt_regina_url="https://gist.github.com/wrljet/053c3bab74910d42f8775841fcc6fd3f/raw/fe7d723509356ebb77d1eb4593f15dda941949da/Regina-REXX-3.6.tar.gz"
# opt_regina_dir="Regina-REXX-3.9.3"
# opt_regina_tarfile="Regina-REXX-3.9.3.tar.gz"
# opt_regina_url="https://gist.github.com/wrljet/dd19076064da7c3dea1aa9614fc37511/raw/e842479d63fae7af79d4aec467b8fdb148ca196a/Regina-REXX-3.9.3.tar.gz"

If you copy this file to your work/build directory, and use the --config= switch to point to it,
and swap the commented lines between the Regina 3.6 and 3.9, things should work for you on
your modern Arm system.
Bill

Bill,
thanks for your help & patience, regarding the new --accept-root command line switch -> its works !
Regarding the config.guess -> the timestamp 2008 comes when I do not use the --no-rexx switch ( and obviously the error comes as discussed above)
Output:
If the version you run (./config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to<EMAIL_ADDRESS>in order to provide the needed
information to handle your system.
config.guess timestamp = 2008-03-12
...
UNAME_VERSION = #1 SMP Fri Mar 29 11:57:58 CST 2024
configure: error: cannot guess build type; you must specify one
[[ error: ]] configure failed!
finish() called, exit status = 1
Regarding the REXX 3.9.3 -> I followed your suggestions added --config= & swap the commented lines but unfortunately it exits with an error.
Output:
REXX via ($PATH):
Checking for Regina-REXX... nope
Checking for ooRexx... nope
Processing started: Mon Aug 26 19:51:09 CET 2024
Step: Build Regina Rexx [used for test scripts]:
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 2692k  100 2692k    0     0  3856k      0 --:--:-- --:--:-- --:--:-- 3856k
./configure --enable-64bit --libdir=/usr/lib
checking for one of the following C compilers: clang xlc gcc c99 c89 acc cc... using /usr/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking if compiler supports ANSI prototypes... yes
configure: error: --enable-64bit cannot be specified on non-64bit OS.
[[ error: ]] configure failed!
finish() called, exit status = 1
Sascha

Please zip up and send me the entire log.

Hi Bill
the latest
config.guess has a timestamp of 2024-07-27
config.sub has a timestamp of 2024-05-27
you can download the config.guess repository from
http://git.savannah.gnu.org/r/config.git
enrico

OK, I'll do that.

Done.  Only tested on x86 Debian, though.

Hi Bill
just to have everything in sync it would be useful to update the config.guess and the config.sub
in the hyperion autoconf subdir
e

Hi Bill,
Sorry for the late response, here are  the log files.
build-commands-2024-09-17.log
extra-info-2024-09-17.log
hercules-buildall-2024-09-17.log
Other point regarding root access: Can you expand the check and download section for programs also for the  sudo command ? Reason: for containerizing.

Enrico,
Per your suggestion, I've updated config.{guess,sub} in the SDL-Hercules-390 repo as well.  In commit https://github.com/SDL-Hercules-390/hyperion/commit/04bc6414420c96ab82b53df61b9e385006427df5
Bill

Hi Bill,
did you have time to look at files that I sent late ?
Sascha

I certainly have had time, but no, I haven't looked at the logs yet.
config.{guess,sub} have been updated in both Hercules-Helper and SDL-Hercules, though.
Bill

Great, looking forward you have time looking at the logs.


Are you planning to ship releases for ARM (armv7l and arm64)

Are you planning to provide releases for armv7l (aka. armhf) and arm64 (aka. aarch64) for Linux? According to the LLVM download page, the 10.0.1 release has pre-built binaries for Linux ARM. Thank you!

Hi Akos!
I don't know how the binaries in the releases.llvm.org are submitted, but you can ask for more information in llvm mailing lists. Specifically in the release 11.0 thread. You can find the binaries for the next release in https://prereleases.llvm.org/11.0.0/.
Just to be clear, clangd normally runs on your development environment. So are you really developing on machines with the specified cpus or are you trying to cross-compile for those targets?

I don't know how the binaries in the releases.llvm.org are submitted, but you can ask for more information in llvm mailing lists. Specifically in the release 11.0 thread. You can find the binaries for the next release in https://prereleases.llvm.org/11.0.0/.

Thank you for the pointer, @kadircet 👍

So are you really developing on machines with the specified cpus

Yes. We want to be able to run the new Arduino IDE on Raspberry Pi. We have a language-server implemented for the Arduino programming language in Go that wraps clangd and delegates to it.
We have to make clangd available for armv7l and aarch64 arch anyways, and I was wondering if we could make a contribution to this project instead of doing it privately, and the community could help maintaining it.
For example, we could use @clangd/install to download binaries from your release page. This is what vscode-clangd also does. By the way, VS Code officially supports ARM/Raspberry Pi Linux (armhf, arm64) so I thought sooner or later, this will be requested by others too.
Of course, I can understand if you're not interested and do not want an extra overhead.

It is always great to hear about new customers of clangd!
Since you linked at the llvm releases page, I thought you were talking about official releases. I think it is still important to have some binaries available in the official release too.
For our own, weekly and unofficial binaries, we currently build them using github actions and AFAICT it won't provide us with an arm machine as a host to run on. So we would have to cross compile to arm, you can find details in https://github.com/clangd/clangd/blob/master/.github/workflows/autobuild.yaml.
I am not sure if the necessary libraries and such are available in github actions yet and even if they are we don't really have machines or the capacity to test this new configuration but we would definitely appreciate contributions from your side. The only restrictions we currently have are around making sure the produced binary is self contained (to ensure maximum portability between different distros), which requires statically linking all (well allmost all) dependencies.
If you can manage to get it to work on github actions with the statically linking constraints, i think we would be more than happy to produce those binaries as part of our weekly snapshots.
@sam-mccall is the real expert on the topic though, so I would also wait for him to chime in and raise any extra concerns he might have. (he's currently OOO, so you might need to wait for a while.)

Basically, what Kadir said. Thanks for reaching out! A few notes of my own...
The llvm.org binary distributions are AFAIK manually built by people interested in the respective platforms. Contributing binaries for them is an option probably a fair amount of work and also results in large packages with all of LLVM.
I think it's reasonable to treat the stable releases from github.com/clangd/clangd as official-enough and target those.
Regarding portability - this varies a bit between platforms, on Mac we don't manage to statically link as much stuff but it's OK as there's not that much diversity in the target systems. So my guess is we want to follow the linux path and statically link lots, but it may not be a hard requirement - you certainly know the arm+linux landscape better than me.
I think it's fine to include these in the autobuild script providing:

it doesn't take massively longer to build than other platforms (e.g. we don't need to bootstrap a cross-compiler, instead can use ubuntu packages or a docker container)
1-2 variants is enough to cover the main linux+arm targets
it doesn't introduce a huge amount of new complexity to the build scripts (ideally it fits into the existing platform matrix without large refactoring)
someone familiar with the platform is willing to maintain things when it breaks (we can fix simple problems ourselves, but can't necessarily test the resulting binaries)

I think a rough plan would be:

prototype a cross-compile on a linux machine similar-ish to the ubuntu x64 environment github provides (mostly determining cmake flags/libraries needed)
verify the binaries work and poke at them with ldd to understand which dependencies are dynamic
fork the clangd/clangd repo and modify autobuild.yaml to make it do these builds (you trigger it by creating a release in the forked repo mentioning the llvm commit)
clean up the fork as much as possible and send a PR

Thank you, @kadircet and @sam-mccall 👍
We will update this thread once we have a draft PR or a follow-up question.

The llvm.org binary distributions are AFAIK manually built by people interested in the respective platforms. Contributing binaries for them is an option probably a fair amount of work and also results in large packages with all of LLVM.

Oops, for some reason I assumed these binaries weren't already available.
It looks like both armv7 and aarch64 binaries are part of the official releases.
So using these is definitely another alternative. (I'm not sure what libs they require/how portable they are, the x64 ones are marked as targeting specific ubuntu versions for this purpose).
Logistically they're a large download so it might be an idea to extract the required files and repackage: bin/clangd, lib/clang/12.0.0/include/**, LICENSE.TXT. I'm not sure exactly where such a repackaging would fit though - it might make sense to host it yourself.

This would be really great :+1:, would allow me to incorporate ARM support for clangd in https://github.com/williamboman/nvim-lsp-installer

Whatever happened on this? clangd is fantastic and I too develop on an aarch64 platform (nvidia jetson).  For now I do a manual install by downloading the whole of the aarch64 version of clang from say https://github.com/llvm/llvm-project/releases/tag/llvmorg-14.0.6 and then extracting just clangd (and I just figured out it also needs headers installed to run correctly)...which is a little bit of a pain. Sorry if I'm a little naive here, but what's the relation between that github page and this one? is it possible to extract those file from their github page and put them here?

Adding to this too. I utilize https://github.com/clangd/vscode-clangd on my Windows on Arm device and find myself installing llvm manually from https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.2 and pointing my clangd configurations to it.

The Arduino IDE uses and wraps clangd ❤ under the hood for the Arduino Language Server. The arduino/clang-static-binaries repo contains cross-compiled artifacts for additional platforms. We consume them in our apps. If interested, please check the releases page. If you have any questions, please ask there, not in this issue.
I wanted to bring this up, maybe it helps others for the time being there is an official clangd LS.

We want to be able to run the new Arduino IDE on Raspberry Pi.

Although the Linux ARMv7 artifact is missing, the ARM64 is compatible. I tried it on my Raspberry Pi a couple of weeks ago, and it worked.

Are you considering using docker-setup-qemu to produce clangd for the aarch64 platform?
@sam-mccall

No, we're not considering this.
If someone wants to contribute scripts for building on additional platforms and it:

can run on the existing github actions setup
doesn't add significant complexity (say >100 lines) to the automated build setup
isn't slower than the current slowest releases (mac, roughly 3h20min) source

then I think we'd likely accept such a patch.

Sorry for resuming this very old issue, but there may be good news here. Github has released (AFAIK in public beta) arm64-based linux (and windows) runners for Github actions.

Just so you know, any neovim users using mason.nvim to manage their coding tools are unable to install clangd on linux arm64, because the registry directly points to the clangd assets here on Github.

I'm not sure, but if someone is interested in experimenting and would like to propose a PR to https://github.com/clangd/clangd/blob/master/.github/workflows/autobuild.yaml to do this, I'm happy to kick off a trial run of it.

I may find some time this week to experiment with it, but I'm not too familiar with building clangd. I'll try to have a look.

It's actually pretty straightforward with cmake. It just takes a long time.
I don't remember all the cmake args off the top of my head, but I've got
them at work in a dockerfile. I can get them on Tuesday.
This great news btw.
Thanks,
Jason
On Sun, Sep 1, 2024, 5:38 AM Jacopo De Amicis @.***>
wrote:

I may find some time this week to experiment with it, but I'm not too
familiar with building clangd. I'll try to have a look.
—
Reply to this email directly, view it on GitHub
https://github.com/clangd/clangd/issues/514#issuecomment-2323257359, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAUKSZZQG24DW3B5WWFDXQTZULOCVAVCNFSM6AAAAABNOIIQ5GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRTGI2TOMZVHE
.
You are receiving this because you commented.Message ID:
@.***>

These are the steps I use to build clangd on Ubuntu:
git clone --depth=1 --branch llvmorg-18.1.0 https://github.com/llvm/llvm-project.git
mkdir -p llvm-project/build
cd llvm-project/build
cmake -DCLANG_ENABLE_STATIC_ANALYZER=1 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_LIBCXX=1 -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -G "Ninja" -DCMAKE_INSTALL_PREFIX=../clangd_18.1.0 ../llvm
ninja install
ninja check-clang

I found that using ninja to build tended to do better and not run my system out of RAM during the build, but you could also just use the default Makefiles generator by omitting -G Ninja from the cmake command and changing the last two commands to
make -j8 install
make check-clang

I have a 16 core machine with 32 GB RAM, but even with that using the default parallel build option (make -j) would run my system out of memory. So I just limited the number of parallel processes to using half my cores. You can adjust as necessary.
To package you would then just
cd ../
cp LICENSE.TXT clangd_18.1.0
tar -caf clangd_18.1.0_linux_x86_64.tar.gz clangd_18.1.0/bin/clangd clangd_18.1.0/LICENSE.TXT clangd_18.1.0/lib/clang

This should get it into a format that looks like some of the other binaries you can download from this repo. You would obviously want to parameterize the above instructions on clangd version and architecture, etc.
Unfortunately I've not built it on windows or other linux distros so I can't help there, but since it's done with cmake, the build should be pretty similar.  I've also not used github runners so I'm not sure what needs to be done to get the above instructions that work in bash to be executed by the runner.

@jasonbeach You can consider this:

Build steps (Bash on Linux/Darwin)

[user@host ]% git clone --depth=1 https://github.com/valord577/nativepkgs.git
[user@host ]% cd ./nativepkgs
[user@host ]% export LIB_RELEASE=0 # (optional) build debug output
[user@host ]% ./build_linux_amd64.sh llvm

Build steps (PowerShell on Windows)

PS ...path...> git clone --depth=1 https://github.com/valord577/nativepkgs.git
PS ...path...> cd .\nativepkgs
PS ...path...> ${env:LIB_RELEASE} = "0"  # (optional) build debug output

# auto enter vs env (2019/2022) and print cmake command line
PS ...path...> .\build_win-msvc_amd64.ps1 llvm

...


PCR quoting nonce is too small

The nonce supplied to PCR quotes is only 32 bits. This is small enough as to make collisions fairly trivial. An attacker can feasibly collect clean attestations for a non-trivial portion of the nonce space.
I think ideally this would be a minimum of 128 bits.

The Nonce here is only used to know the PCR quote is not stale. There is no security dependency on this nonce. The main purpose of the nonce is to allow the remote verifier to use a freshness seed.

The goal of proving freshness is specifically to provide security value, there is no other purpose.

If an attacker can predict the verifier's nonce, they can provide a stale attestation which the verifier will believe is fresh.
Because this nonce is only 32 bits, an attacker can spend a not-insurmountable amount of time iterating over the nonce space, collecting measurements with each one and saving those attestations. Later, when the verifier issues a fresh attestation challenge, the attacker can observe the verifier's nonce, look up the corresponding attestation from their stash, and provide it to the verifier, thus defeating the freshness goal.

"If an attacker can predict the verifier's nonce, they can provide a stale attestation which the verifier will believe is fresh."

Just to expand & understand the threat model
Caliptra generates some NONCE and signs PCR quote on every new request
Attack is that a 'middle' man is doing this for every possible NONCE and all possible PCR quotes (where they have control of the different FWs that Caliptra would run)
Further, the middle man has the "hardware" access as in they were able to bypass the PAUSER and issue these requests in production mode?

We are presuming that in the normal flow, the nonce is being initially generated by the remote verifier. It is passed to Caliptra firmware via mailbox command. The nonce is not generated by Caliptra. We are also not presuming that Caliptra firmware will restrict access to this quoting API based on the PAUSER. It's not exposing a signing oracle, just a quote oracle. Firmware passes the received nonce down to the hardware, which emits a signed attestation. Firmware returns the attestation over the mailbox, and the attestation makes its way back to the remote verifier. The verifier compares the signed nonce with the one it initially generated, to check freshness.
The attack is that there's an entity that is able to challenge Caliptra with an attacker-controlled nonce. The entity could be on the same machine, or could be a network adversary. In any case, the attacker issues repeated quote requests, with different nonces, enumerating the 32-bit nonce space. The attacker saves every quote they receive.
Later, the remote verifier generates its nonce and sends it to the machine. The MITM intercepts this request and responds with a signed quote whose nonce matches the one selected by the remote verifier. The request never hits Caliptra, and the remote verifier is fooled into thinking that the response is fresh.
If the nonce were 128 bits wide, this attack would not be feasible, because it would take the attacker too long to enumerate the nonce space and use the same nonce that the remote verifier eventually selects.

Will fix the bug but I want to correct one thing - mailbox HW is NOT available for any random PAUSER - only valid PAUSERs set into the PUASER registers can use the mailbox...in other words, it is NOT open for all for injecting any command they want. If there is some architecture built on that assumption, it will break.

Depending on the architecture of the security control plane, the trusted pauser may need to be proxy quote-api requests/responses from/to the outside world.
In order to prove freshness to an outside system, it is sometimes necessary to allow a not-fully-trusted system to control the nonce used for a quote.

The bug is fixed and the nonce has been extended to 256 bits in our internal repo.

https://github.com/chipsalliance/caliptra-rtl/pull/149/ sync to dev-msft should fix this


⚠ Spryr has degraded performance

In a4b90ab, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3059 ms

Resolved: Spryr performance has improved in 9f42993 after 7 minutes.


Update tft_model.py

line 1130, train_data = self._batch_data(valid_df) (data referential error)
Modified as: train_data = self._batch_data(train_df)

 @googlebot I signed it!
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2020年7月29日(星期三) 晚上10:02
收件人<EMAIL_ADDRESS>抄送: "Wendi<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [google-research/google-research] Update tft_model.py (#337)
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers
It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.
Corporate signers
Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.
 Googlers: Go here for more info.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


feat: allow specifying cross-rule settings

Description
Cross-rule settings. Example:
import perfectionist from 'eslint-plugin-perfectionist'

export default [
  {
    plugins: {
      perfectionist,
    },
    rules: {
      'perfectionist/sort-objects': ['error', {
        type: 'alphabetical',
      }],
      'perfectionist/sort-interfaces': ['error'],
    },
    settings: {
      perfectionist: {
        type: 'line-length',
        partitionByComment: true,
      },
    },
  },
]

Additional context
#202

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.
[x] Read contribution guidelines.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (105f096) to head (12e2d1b).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main      #206   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           39        40    +1
  Lines         4664      4722   +58
  Branches       870       878    +8
=========================================
+ Hits          4664      4722   +58

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


chore(ui): Add permission tests for Node CVE pages

Description
Adds Cypress tests for the top level permissions requires across Node CVE pages.
Note: this includes fixtures for the core graphql requests needed on Node and Node CVE single pages. In the case of the Node CVE single page, we will need to mock requests for every test since it is likely that there will be zero Node CVEs in the CI environment.
In the case of the Node single page, there should be at least one node available on all systems so it is likely that we do not need to mock every request. In the initial permissions test, I did mock the response as an empty response to an arbitrary node id would display the "Not found" page in the UI. In this case we are not interested in the data being returned, only that the requests are made that would return some data.
User-facing documentation

[x] CHANGELOG update is not needed
[x] Documentation is not needed

Testing

[x] inspected CI results

Automated testing

[x] added e2e tests

How I validated my change
CI

ocp 4-12 failed to create cluster


platformio CI

Uses a matrix to identify each app directory, and determines which files have changed, and only builds those apps with changes.
Presently only platformio projects are built but this will be extended over time to cover all projects.

This is great!


Give more info on why a specific item is being referenced

In some of the tests, I would assume it is choosing a specific item to pull because of data in a previous item pulled.
IE, for the organization test, if it is pulling "Organization/27", if I am wondering "why did it choose that one?", there are so many other things prior, it is hard to determine where the Inferno test might have seen "Organization/27" before.  If these type of tests where it is being called because of a previous reference could state where that reference was, that would be helpful.

Hello @dletter :
This FAQ may answer your question: https://github.com/onc-healthit/onc-certification-g10-test-kit/wiki/FAQ#q-how-does-inferno-test-us-core-organization-resource
If you need more clarification, please let me know.
Thanks


UnRegistration Event is not sent when a server is disconnected from the cohort

The current setup contains two platforms.
The first platform is running with one server - server1. This server runs only access-services.
The second platform is running with one server - server2. Server2 has enabled access-services and Egeria local-graph.
After running instance on each server, the initial exchange is successful, the Registry Event - Registration is sent.
When server2 is deactivated temporarily, there is no event published on cohort topic.
When server2 is activated again, the Registry Event - REFRESH_REGISTRATION_REQUEST is sent successfully.

My understanding is that a temporary deactivation of a server does not result in a deregistration event - the server may be being recycled or moved, and will rejoin the cohort & pick up with messages from the appropriate sync point?

Yes, indeed. After a temporary deactivation of a server, there is no Kafka event so that server is not recycled.

I meant that I think that is as-designed. We only deregister a server from the cohort if it's removal is permanent. The managing servers lab refers to this behaviour at https://github.com/odpi/egeria/blob/master/open-metadata-resources/open-metadata-labs/administration-labs/managing-servers.ipynb

@planetf1 is correct - it is working correctly.  We do not send the unregistration request when a server goes down (deactivate temporarily) because there may be other instances of the server still running and they will not want to be unregistered from the cohort.

@danielaotelea can this be closed?


Add post comment entities

Added related entities for Post and Comments, including abstract heirachy and factories.

Hey @Karththigan I just made some changes to ur comments and added some basic documentations. Take a look, if everything's fine go ahead and merge it.


Feature/make coc static page

close #39

@azi Thank you so much for your work!!! :+1:

@JuanitoFatas   Thanks your review :bowtie:  :smiley_cat::smiley_cat::smiley_cat:


Scripts with UPDATE / CASE not executing properly

The script below works fine on SQL Developer but finds a parse error on DBeaver.
DECLARE
vError VARCHAR2(4000);
BEGIN
UPDATE MY_TABLE
SET NU_PUSH = (NU_PUSH + 1),
ST_PUSH = (
CASE
WHEN ((NU_PUSH + 1) >= 3) AND vError IS NOT NULL THEN 'FL'
WHEN ((NU_PUSH + 1) < 3) AND vError IS NOT NULL THEN 'PD'
ELSE 'EN'
END
),
TX_ERROR_PUSH = vError,
TM_PUSH = SYSDATE
WHERE ID_NOTIFICATION = -1;
END;

Yes, the bug was in incorrect CASE statement parsing.
Thanks for report.
Workaround (as for all other similar problems) is to select query and execute it with CTRL+Enter


fix(material/chips): hide checkmark indicator for multiple selection

adds hideMultipleSelectionIndicator to hide checkmark indicator for multiple selected values in chip-list
fixes #27354

I'm not sure if we necessarily want to do this. The one for single selection was added for backwards compatibility, but the one for multiple selection has always been there.

well, I personally think there still should be an option if we have the ability to toggle between multiple selection, since we do have it then why not also the ability to make amendment and add thing that exists in other part of same component?
just my 20 cents honestly, if we can do it for single one then why not for multiple one, though it's something that exists now.
feel free to close this if you feel like we don't need this. 😅

@zarend since you did the single selection one, what's your take on this?

I think it might be good to add for that parity, just as long as having the checkmark is the default.

Added checkmark to single-selection to fix an accessibility issue. There's an option to hide the checkmark for single-selection so that developers can have the legacy visuals if they want it. Multiple-selection has always had icon indicators, so there was no need to make a way to omit them.
There's no accessibility need to hide the checkmark indicator for multiple selection. I'm okay with considering a feature request to be able to hide the checkmarks for multiple selection if there is enough interest in that.

I don't think there was much interest in this except the only mentioned issue on this PR, except for making it same as single one I will let you people be the judges of this.

Hi @Naaajii ,
Thanks for bringing this up. I don't think there's enough demand yet for us to consider it as a feature yet.
If you would like to keep going with this, I suggest filing a feature request. That would give other developers a chance to weigh in on this. That way the Angular team can see how much interest there is in this.
Best regards,
Zach


Apple TV documentation

Motivation: Website documentation for the core Apple TV support.

I added a section on Apple TV in the "Testing" page... I think this is now ready to merge.

This is now live in master: http://facebook.github.io/react-native/releases/next/docs/building-for-apple-tv.html


cleanup: replace oneWay with toView

We should standardize the internals on toView now that it has landed. Here's one instance, probably others...
https://github.com/aurelia/templating/blob/3d40e1d4318ecd73ddc978fb2343785053f57431/src/bindable-property.js#L47
We still need to support oneWay but the internals should use toView where possible.
related to https://github.com/aurelia/binding/issues/629 and https://github.com/aurelia/templating-binding/issues/118

You know what?
https://github.com/search?l=JavaScript&q=org%3Aaurelia+one-way&type=Code
there is no spoon one-way in libs
there is some in vscode extension and in documentation
guess takes 2-3 careful replace in files
and we are good

no takers then? (-:

This can be closed actually (-:
@bigopon @jdanyow


Adding Azure CLI script to deploy the Azure AI Search resources

Adding Azure CLI script to deploy the Azure AI Search resources needed to pass the IT tests AzureAiSearchEmbeddingStoreIT and AzureAiSearchContentRetrieverIT
cc @jdubois I've used part of your existing script #Thanks

@agoncal thanks! BTW, how do you usially run these scripts? I am using Windows...

@langchain4j I am using WSL on Windows. It's a good choice rather than virtual machine.

@Martin7-1 thanks, I've used WSL a few days a go to run a similar script (for Azure OpenAI), but had many issues... Need to check what is exactly wrong

I've added a comment to the shell scripts: https://github.com/langchain4j/langchain4j/pull/1403


add PyQt5 package

Seems like PyQt5 fails to install on Apple Silicon, more specifically its dependency: PyQt5-Qt5

It's only for debug stuff right now - shall we make it linux only?


Hanni/useful

Goals:
Integration of
-Bezier curves
-Torus knots
-Cubic Hermite curves
-Kochanek-Bartels curves
-Help texts and parameter help
-to be continued

(Y)

Hi Hanni,
thank you for adding documentation, that's very, (very, very, very) necessary!
Unfortunately noticed some tiny style issues:
There seem to be some typos, which cause compilatin to fail. You can also check whether the Travis CI build above succeeded.
Then some of the indentation to seems be broken and some empty lines and spaces at ends of lines have been added. Are you sure that everything of that is as intended?
Which kind of Editor are you using, I know that there are some editors that make it kind of hard to do proper whitespace handling.
You can use git log -p to see exactly what changed!
By the, I think it's great that you added indentation to some of the preprocessor statements. Normally you would not do this, but in our case the preprocessing is so damn complex that it IS a huge improvement.
Thanks a lot! :)

closed because of deprecation


Promote commons-collections4 to an API dependency (#1120)

Closes #1120

Refer to Contributing Guidelines please base your changes on development.

rebase is pushed, sorry


Add helper function to convert decimal values to strings

The new decimalToString function is useful for tests.

@majetideepak CI is failing.

@mbasmanova Can I help with the linter failure?

@majetideepak It is all good. I'm landing the diff now. Thank you for the contribution.


Create top ui

The pause button was added to Level 1 in pull request #37 instead of the Top UI scene.


Data race in append() missed by the race detector

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.9.2 darwin/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN="/Users/escapist/gocode/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/escapist/gocode/"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.9.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/_l/pbv9psw11872p3zrn8dptkq40000gn/T/go-build881315384=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
What did you do?
I run the following sample code with -race option:
code is also available at https://play.golang.org/p/L9SMvPzfcu
package main
import (
"time"
)
var safeSlice = []int{1}
var testS = make([]int,0,1)
func main() {
for i := 0;i < 5;i++ {
go func(index int) {
for {
s1 := append(safeSlice, index)
if s1[1] != index {
panic("")
}
s2 := append(testS, index)   // <-   data race here
if s2[0] != index {          // <-  panic here
panic("")
}
}
}(i)
}
time.Sleep(time.Second*5)
}
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
What did you expect to see?
Append to a fixed slice with capacity  larger than size is not thread-safe because every goroutine is trying to write data to same memory location in the underlying array.
I expect the data race to be detected by the race detector.
What did you see instead?
The race detector missed the data race and every goroutine could see a slice with an unexpected value.

Interestingly for me the example outputs race warnings in a similar environment (100 runs out of 100):
ex ¶ go run -race ex.go
==================
WARNING: DATA RACE
Write at 0x00c420078000 by goroutine 6:
  main.main.func1()
      /tmp/ex/ex.go:17 +0x132

Previous write at 0x00c420078000 by goroutine 5:
  main.main.func1()
      /tmp/ex/ex.go:17 +0x132

Goroutine 6 (running) created at:
  main.main()
      /tmp/ex/ex.go:11 +0x50

Goroutine 5 (running) created at:
  main.main()
      /tmp/ex/ex.go:11 +0x50
==================
==================
WARNING: DATA RACE
Write at 0x00c420078000 by goroutine 7:
  main.main.func1()
      /tmp/ex/ex.go:17 +0x132

Previous write at 0x00c420078000 by goroutine 5:
  main.main.func1()
      /tmp/ex/ex.go:17 +0x132

Goroutine 7 (running) created at:
  main.main()
      /tmp/ex/ex.go:11 +0x50

Goroutine 5 (running) created at:
  main.main()
      /tmp/ex/ex.go:11 +0x50
==================
panic:

goroutine 19 [running]:
main.main.func1(0x1)
	/tmp/ex/ex.go:19 +0x214
created by main.main
	/tmp/ex/ex.go:11 +0x51
exit status 2

This is an official build — go version go1.9.2 darwin/amd64 from go1.9.2.darwin-amd64.tar.gz file:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/tmp/go:/Users/artyom/go"
GORACE=""
GOROOT="/Users/artyom/Library/go"
GOTOOLDIR="/Users/artyom/Library/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/lb/3rk8rqs53czgb4v35w_342xc0000gn/T/go-build997454935=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

I also see a data race warning.
Please show us the exact commands that you are executing and exactly what you see.  Thanks.

I ran this with go run -race
I tried again with go build -race and saw the expected data race warning.

Odd.  I see the race with both go build -race and go run -race.
Can you show us the complete output of go run -race FILE.go?

go run tx.go                                                                                ‹system›
panic:
goroutine 4 [running]:
main.main.func1(0x0)
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:19 +0x143
created by main.main
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:11 +0x43
panic:
goroutine 8 [running]:
main.main.func1(0x4)
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:19 +0x143
created by main.main
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:11 +0x43
exit status 2
go run -race tx.go                                                                                ‹system›
WARNING: DATA RACE
Write at 0x00c420016080 by goroutine 6:
main.main.func1()
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:17 +0x132
Previous write at 0x00c420016080 by goroutine 5:
main.main.func1()
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:17 +0x132
Goroutine 6 (running) created at:
main.main()
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:11 +0x50
Goroutine 5 (running) created at:
main.main()
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:11 +0x50
panic:
goroutine 5 [running]:
main.main.func1(0x1)
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:19 +0x214
created by main.main
/Users/escapist/gocode/src/github.com/ysxue/pipe/tx.go:11 +0x51
exit status 2
It looks like I misplaced the -race option.
The race detector works fine.


Regarding Environment Setup

Hi, I am really excited about this project and can't wait to test it. Could you please provide the preparation steps in detail that are mentioned here docs.pycall.org/en/latest/usage.html#preparation
I have Ubuntu 14.04 as my base OS.
Thanks

I'm terribly sorry, but that is simply out of scope for this project. Setting up Asterisk requires a lot of time, research, and there are many variables that come into play. It isn't reasonable to add all of that to this small library's documentation :(

@rdegges  If you could give some links that i can follow. I am doing research on my part.
Thanks

Definitely read through this book: http://cdn.oreilly.com/books/9780596510480.pdf It's one of the best references out there.


Add an event for default rule "Set Setuid or Setgid bit"

Motivation
To Add an event for default rule "Set Setuid or Setgid bit" as mentioned here

Feature

Alternatives

Additional context

/assign


how to install it on the napari platform?

Hi~may its a simple question, but I still want to ask how to install it by the napari? I counldnt find the plugins on the napari hub website  but i can find another plugin napari-file-watcher on it.   so how to use the function via the napari interface and how to install it? thank you

hi~I have installed it successfully, but the parameters of reconstruction doesn`t have annotation. Could you please explain it?   hope for your answer~

Have you solved this problem? I do not know how to run the code either

Hey,
So sorry @cindy12-gao for taking some time to answer, did you figure it out?
This software is for reconstructing SIM data that has been taken with a 2D lattice pattern (vertical and horizontal lines superimposed), and as it is sone now we move the sample across the patterns in order to take the sequence of images. Is that the case for you too? Otherwise you would have to slightly change the code, the function "align_data" shouldn't be there.
Then the parameters:
pixel_size is the pixel size of the camera in nanometers
periodicity is then the period of the sinusoidal pattern (both horizontal and vertical)
na is the numerical apperture of your objective
wvl is the wavelength of illumination (this and the na is to generate the OTF of the microscope).
pad px is in case you want to pad your images by adding zeros in the borders, and this number relates to how many zeros you add (you can leave it 0)
w is the regularization factor (SIM reconstruction with Wiener filter).
rad is the value for the apodization
cd and t are some extra factors to sligthly change the result in the frequency space but not significant, I always leave them to 1 (actually I wanted to remove them at some point). These I multiply in the denominator of the final formula.
Offset is not used for anything anymore, so I will remove it. Sorry this is a code I did for my PhD and since people didn't use it I didn't improve it. I think you probably should look at the code and try to adapt it to your application :)

You can install it by going in the folder and running "pip install -e ." and then run napari, the plugin will be installed then. @wow-cat

Yeah, we're using data from the same principle of SIM， and we use zeiss elyra 7 to image. I`ll try the parameter later, thank you for your reply.

Thanks for your information. I have successfully installed this plugin. @kasasxav

I'm not 100 sure it will work with the elyra data. We both call it lattice SIM but the data I use is with a sinosoidal pattern in two dimensions, and they seem to use an array of spots. You can try though and otherwise adjust it. This reconstruction here I'm doing is the classic SIM one with Wiener filtering but applied to 2D patterns using translation, instead of 1D and using rotation.


test_schedule_insert_slot failure

As reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887446, the test test_schedule_insert_slot fails with an AssertionError.

I wonder how debian fixed this issue. Is there a patch?


moving to match doesn't open fold

Without this plugin, if I have folding enabled, moving to the next search (including initiating a search) will open all folds necessary to expose the matched text.  With the plugin, the folds don't open; the cursor moves to the correct fold containing the matched text but doesn't open any folds.

@rburny Is it possible to delegate to normal! n instead of moving the cursor explicitly?

@dbarnett what do you mean? The plugin always delegates to Vim's usual commands for search, and just plugs itself after them to display the counts. Here's how n is remapped:
nmap <silent>n  n<Plug>SearchIndex

Unfortunately, Vim seems to only open folds after n is typed directly by the user. I've tried the following options (with searchindex uninstalled), and neither of them opens folds:
:normal n
:normal! n
:noremap Zn n   followed by   Zn

However I have a workaround - we can use zv command to unfold current line. I just need to experiment with it a bit.

Oh okay, I wasn't looking for the delegation quite as high up as the mapping. The one n tacked on there is kind of subtle.

OK, I have added the code to open the fold after search. @mdavis94538 , please verify.
Unfortunately, there might be some miscalculation of results when you use folding; I'll file a separate bug for that.

Confirmed, the folds open now, and the counts are sometimes off.


Status of Claim and Transfer

Description
We would like an opportunity to keep track of a transfer or a claim was successful or it failed.
Basic Example
No response
Drawbacks
No response
Unresolved questions
No response

Definitely something that must be implemented, it is on my radar.
And would be a candidate both as poll based api, but possibly also as something exposed to an event-bus of some type.


Add filepicker component prototype to SCIPION web file choosing component in VF container

seems to be implemented by pablo


HTTP Auth, page settings

Hello, first of all thank you for this module!
I want to state upfront that this can be labled as "Question", i just can't find out how one is supposed to connect to a page that is secured with standard HTTP auth.
im trying the following, which does not seem to work, if i render the page i only get a blank image.
.then(function () {
	return page.setting('userName', 'name');
}).then(function () {
	return page.setting('password', 'pw');
})

Now i do read in the Phantomjs documentation (http://phantomjs.org/api/webpage/property/settings.html) that:

Note: The settings apply only during the initial call to the page.open function. Subsequent modification of the settings object will not have any impact.

and thus i'm wondering if the way i'm trying to get the auth credentials into the pages settings is the envisioned one.
I struggled with this scenario for a while now, please excuse me if i missed something in the docs or examples. Any help on this subject would be much appreciated! Thanks in advance

I'm sorry, i'd found the other issue regarding the basic atuh and did as described there but fiddled around too much with my setup and confused my self.
with the page settings it self it does not work, but using
return page.property('customHeaders', {
	"Authorization": "Basic " + btoa('user:pw')
});

as well as:
Phantom.create(["--ignore-ssl-errors=yes"])...

does work!


chore(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.27.32

This PR contains the following updates:

Package
Type
Update
Change

github.com/aws/aws-sdk-go-v2/config
require
patch
v1.27.31 -> v1.27.32

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

9 additional dependencies were updated

Details:

Package
Change

github.com/aws/aws-sdk-go-v2
v1.30.4 -> v1.30.5

github.com/aws/aws-sdk-go-v2/credentials
v1.17.30 -> v1.17.31

github.com/aws/aws-sdk-go-v2/feature/ec2/imds
v1.16.12 -> v1.16.13

github.com/aws/aws-sdk-go-v2/internal/configsources
v1.3.16 -> v1.3.17

github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
v2.6.16 -> v2.6.17

github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
v1.11.18 -> v1.11.19

github.com/aws/aws-sdk-go-v2/service/sso
v1.22.5 -> v1.22.6

github.com/aws/aws-sdk-go-v2/service/ssooidc
v1.26.5 -> v1.26.6

github.com/aws/aws-sdk-go-v2/service/sts
v1.30.5 -> v1.30.6