feat: support reverse scan for hummock

Is your feature request related to a problem? Please describe.
In past scenes, we only need forward scan in all of state executor.  So we remove backward scan of hummock because it is hard to implement reverse iterator of delete-range.
@st1page propose a expanded range cache to store part of keys in memory. Sometimes we may need to load more data from  hummock, and if we want to load data from the left side of cache, we need to a reverse-scan.
Describe the solution you'd like
The interface shall support range bound and item limit.
Describe alternatives you've considered
Maybe I need some time to think of how to implement reverse iterator of delete range.
Additional context
No response

c.c. @stdrc

This can be simplified with #13148

#13148 is done. I think we can continue to support reverse scan based on vnode watermark. @Little-Wallace @wenym1

Ping. Window function is still waiting for this.

Done in #12570


Staking Transaction Fee

Description
Currently, there is a potential vulnerability where a nominator can exploit the system by rapidly moving their delegated stake between validators to receive rewards from multiple subnets. To mitigate this, we propose implementing a transaction fee for unstaking operations (remove_stake and remove_subnet_stake). The fee should be equivalent to the last-received return the nominator would receive for the amount being unstaked.
Acceptance Criteria

Transaction fees implemented for unstaking operations based on last-received return
Fee calculated in pre_dispatch and deducted in post_dispatch of SubtensorSignedExtension
calculate_transaction_fee helper function to calculate fee
Error handling and logging for fee deduction failures

Tasks
Task 0: Add Storage Items
#[pallet::storage]
pub type PreviousEmissions<T: Config> = StorageMap<_, Blake2_128Concat, u16, u64, ValueQuery>;

#[pallet::storage]
pub type PreviousValidatorDividends<T: Config> = StorageMap<_, Blake2_128Concat, T::AccountId, u64, ValueQuery>;

Task 1: Update PreviousEmissions and PreviousValidatorDividends
Update PreviousEmissions in pallets/subtensor/src/block_step.rs after emitting inflation:
Self::emit_inflation_through_hotkey_account(&hotkey, validator_emission, server_emission);
PreviousEmissions::<T>::insert(netuid, validator_emission);

Update PreviousValidatorDividends in pallets/subtensor/src/block_step.rs after calculating validator dividends:
let validator_dividend = Self::calculate_stake_proportional_emission(
    validator_stake,
    total_stake,
    validator_emission,
);
PreviousValidatorDividends::<T>::insert(&hotkey, validator_dividend);

Task 2: Implement Helper Functions
impl<T: Config> Pallet<T> {
    fn get_last_subnet_emission_value(subnet_id: u16) -> u64 {
        PreviousEmissions::<T>::get(subnet_id)
    }

    fn get_last_validator_dividend(validator: &T::AccountId) -> u64 {
        PreviousValidatorDividends::<T>::get(validator)
    }

    fn get_nominator_stake(who: &T::AccountId, validator: &T::AccountId) -> u64 {
        let subnet_id = Self::get_uid_for_hotkey(validator).unwrap_or(0);
        Stake::<T>::get(who, (validator, subnet_id))
    }
}

Task 3: Implement calculate_transaction_fee
impl<T: Config> Pallet<T> {
    fn calculate_transaction_fee(who: &T::AccountId, validator: &T::AccountId, amount: u64) -> u64 {
        let last_received_return = Self::get_last_received_return(who, validator);
        last_received_return * amount
    }
}

Task 4: Modify pre_dispatch and post_dispatch
impl<T: Config> SubtensorSignedExtension<T> {
    fn pre_dispatch(
        self,
        who: &T::AccountId,
        call: &T::Call,
        _info: &DispatchInfoOf<T::Call>,
        _len: usize
    ) -> Result<Self::Pre, TransactionValidityError> {

```rust
        match call {
            Call::remove_stake { validator, amount, .. } | Call::remove_subnet_stake  { validator, amount, .. } => {
                let transaction_fee = Pallet::<T>::calculate_transaction_fee(who, validator, *amount);
                T::Currency::withdraw(
                    who,
                    transaction_fee,
                    WithdrawReasons::FEE,
                    ExistenceRequirement::KeepAlive
                )?;
                Ok((Some(validator.clone()), transaction_fee))
            },
            _ => Ok((None, 0)),
        }
    }
}

impl<T: Config> SubtensorSignedExtension<T> {
    fn post_dispatch(
        pre: Self::Pre,
        info: &DispatchInfoOf<T::Call>,
        post_info: &PostDispatchInfoOf<T::Call>,
        len: usize,
        result: &DispatchResult
    ) -> Result<(), TransactionValidityError> {
        if let (Some(validator), transaction_fee) = pre {
            if result.is_ok() {
                T::Currency::resolve_creating(&validator, transaction_fee);
            }
        }
        Ok(())
    }
}

Task 5: Update Error Handling and Logging
impl<T: Config> SubtensorSignedExtension<T> {
    fn post_dispatch(
        pre: Self::Pre,
        info: &DispatchInfoOf<T::Call>,
        post_info: &PostDispatchInfoOf<T::Call>,
        len: usize,
        result: &DispatchResult
    ) -> Result<(), TransactionValidityError> {
        if let (Some(validator), transaction_fee) = pre {
            if result.is_err() {
                log::error!("Failed to process transaction for validator {:?}: {:?}", validator, result);
                T::Currency::resolve_creating(&validator, transaction_fee);
            }
        }
        Ok(())
    }
}

Additional Considerations

Update docs and comments
Handle edge cases
Evaluate impact on UX
Monitor effectiveness and optimize

TODO:

[x] @Mananitade lead
[ ] Fee based on last-received return
[ ] Proportional to amount unstaked
[ ] Whale alerts

doesn't the stakeRateLimit solve this?

probably, I'm just moving old issues to the new board so these might be ancient artifacts

I believe stakeRateLimit is a much better solution than #591 (and it's done already). This issue should be closed.

@sam0x17 mentioned , this is an old ticket , which is not relevant anymore. closing . @ppolewicz  for context, this is meant was meant to prevent people from manipulating the chain bloat fix (i.e. only paying out once a day).
A user could wait till the last moment and then still earn the full staking reward for the epoch. The fee was meant to prevent this type of exploit.
Its no longer relevant.


[bug]Not same working to xeol-io/xeol

I have built a test with the following Yaml in GithubActions, but it does not detect it well.
xeol-io/xeol has been recently supported, so it works correctly, but the results are different in Actions.
ScanFromImage

yml
name: "TestWorkFlow Syft/XEOL"

on:
  workflow_dispatch:
    inputs:
      repo:
        description: 'ImageRepo'
        required: true
        type: string
      tag:
        description: 'ImageTag'
        required: true
        type: string
      regions:
        description: 'support regions'
        required: true
        type: string
        default: us-west-2

permissions:
  id-token: write
  contents: read

jobs:
  TestWorkflow:
    name: "TestWorkFLow Syft Grype XEOL"
    runs-on: ubuntu-latest
    steps:
    - name: Configure AWS Credentials
      uses: aws-actions/configure-aws-credentials@v3
      with:
        role-to-assume: "ASSUMEROLE ARN FROM Secrets"
        aws-region: ${{ inputs.regions }}
    - name: ECR Login
      id: login-ecr
      uses: aws-actions/amazon-ecr-login@v1
    - name: ECR IMAGE PULL
      id: imageid
      env:
        ENDPOINT: ${{ inputs.repo }}
        TAGNAME: ${{ inputs.tag }}
      run: |
        echo $ENDPOINT:$TAGNAME
        docker pull $ENDPOINT:$TAGNAME
    - name: Syft
      uses: anchore/sbom-action@v0
      with:
        image: ${{ inputs.repo }}:${{ inputs.tag }}
        format: spdx-json
        artifact-name: sbom.spdx.json
        output-file: "sbom.spdx.json"
    - name: XEOL
      uses<EMAIL_ADDRESS>      with:
        image: ${{ inputs.repo }}:${{ inputs.tag }}
        fail-build: false

Result
Run<EMAIL_ADDRESS>  with:
    image: 34[2] imagename:rel-v.20220715-1358
    fail-build: false
    output-format: table
  env:
    AWS_DEFAULT_REGION: us-west-2
    AWS_REGION: us-west-2
    AWS_ACCESS_KEY_ID: ***
    AWS_SECRET_ACCESS_KEY: ***
    AWS_SESSION_TOKEN: ***
    ANCHORE_SBOM_ACTION_PRIOR_ARTIFACT: sbom.spdx.json
/usr/bin/chmod +x /home/runner/work/_temp/8[3](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:3)580c[4](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:4)7-120a-4bff-a7b3-fae13a936a1d
/home/runner/work/_temp/83[5](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:5)80c47-120a-4bff-a7b3-fae13a93[6](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:6)a1d -b /home/runner/work/_temp/83580c4[7](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:7)-120a-4bff-a7b3-fae13a936a1d_xeol v0.2.0
[info] checking github for release tag='v0.2.0'
[info] fetching release script for tag='v0.2.0'
[info] checking github for release tag='v0.2.0'
[info] using release tag='v0.2.0' version='0.2.0' os='linux' arch='amd64'
[info] installed /home/runner/work/_temp/[8](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:8)3580c47-120a-4bff-a7b3-fae13a[9](https://github.com/myrepo/actions/runs/6465183770/job/17550930783#step:8:9)36a1d_xeol/xeol
xeol output...
No eol software found

Running a scan from a Syft-generated SBOM produced the same results
Cause
It appears that you are downloading and using an older (v0.2.0) Xeol.
Are there any plans to update this action?
If not, I will consider incorporating Xeol myself.

Good catch! Yes, the version is old. https://github.com/xeol-io/xeol-action/blob/main/XeolVersion.js is downloading 0.2.7.
It looks like our automation for updating the version is failing. I will update the action now

This should now be fixed in xeol-action v1.0.7

@noqcks
The scan was performed using 1.0.7.
AlpineLinux was detected, but SpringBoot was not.
Run<EMAIL_ADDRESS>/usr/bin/chmod +x /home/runner/work/_temp/68928dfb-2[19](https://github.com/myrepo/actions/runs/6492768751/job/17632347857#step:8:20)f-466c-901d-2635fadfc498
/home/runner/work/_temp/68928dfb-219f-466c-901d-2635fadfc498 -b /home/runner/work/_temp/68928dfb-219f-466c-901d-2635fadfc498_xeol v0.9.3
[info] checking github for release tag='v0.9.3'
[info] fetching release script for tag='v0.9.3'
[info] checking github for release tag='v0.9.3'
[info] using release tag='v0.9.3' version='0.9.3' os='linux' arch='amd64'
[info] installed /home/runner/work/_temp/68928dfb-219f-466c-901d-2635fadfc498_xeol/xeol
xeol output...
  Executing: xeol -o table sbom:sbom.spdx.json
NAME    VERSION  EOL         DAYS EOL  TYPE
alpine  3.12.3   [20](https://github.com/myrepo/actions/runs/6492768751/job/17632347857#step:8:21)[22](https://github.com/myrepo/actions/runs/6492768751/job/17632347857#step:8:24)-05-01  529       os

The image that is being scanned is identical to the one that drafted the XEOL Issue.
We are scanning the SBOM created by Syft, but it was assumed to detect SpringBoot.
https://github.com/xeol-io/xeol/issues/197

Actually, looks like this is actually an issue with old versions of Syft not picking up spring-boot<EMAIL_ADDRESS>downloads syft 0.84.0. If you hardpin a newer version with syft-version it should work.
      - name: Create SBOM
        uses<EMAIL_ADDRESS>        with:
          syft-version: v0.93.0
          image: kimb88/hello-world-spring-boot
          format: spdx-json
          output-file: "${{ github.event.repository.name }}-sbom.spdx.json"

      - name: Xeol End-of-Life (EOL) Scan
        uses<EMAIL_ADDRESS>        with:
          sbom: "${{ github.event.repository.name }}-sbom.spdx.json"

I modified the Workflow in the specified form and ran it, and it ran fine.
Run<EMAIL_ADDRESS>
/usr/bin/chmod +x /home/runner/work/_temp/49e608ac-29af-4b1c-97a8-32877cb4376d
/home/runner/work/_temp/49e608ac-29af-4b1c-97a8-32877cb4376d -b /home/runner/work/_temp/49e608ac-29af-4b1c-97a8-32877cb4376d_xeol v0.9.3
[info] checking github for release tag='v0.9.3'
[info] fetching release script for tag='v0.9.3'
[info] checking github for release tag='v0.9.3'
[info] using release tag='v0.9.3' version='0.9.3' os='linux' arch='amd64'
[info] installed /home/runner/work/_temp/49e608ac-29af-4b1c-97a8-32877cb4376d_xeol/xeol
xeol output...
  Executing: xeol -o table sbom:sbom.spdx.json
NAME         VERSION  EOL         DAYS EOL  TYPE
alpine       3.12.3   2022-05-01  530       os
spring-boot  2.5.2    2022-05-[19](https://github.com/myrepo/actions/runs/6503213412/job/17663349142#step:8:20)  512       java-archive


Could you explain me how to apply proguard rules of 3rd lib for main project?

I have lib c, and I want to write a proguard rules in it, then add c to main project, so that main project doesn't need to add rules. Could you guide me a little bit?

I want to write a proguard rules in it

Not sure what that means.
In simple case you just need to add rxjava proguard rules as dependency to the library c, so it'll be used as transit one for main project.


add keywords for reserved domain names in RU/SU zones

Q
A

Branch?
master

Bug fix?
yes/no

New feature?
yes/no

BC breaks?
no

Deprecations?
yes/no

Tests pass?
yes

Fixed tickets
#...

License
MIT

Thanks!
Howewer, could you show some cases?


Multi-threading command

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #1589
Closes #1593
What are the significant changes in functionality due to this change request?
Addition of a XML node in the RunInfo to specify the command that needs to be used for multi-threading.
It was hardcoded to be --n-threads
In addition, it adds a modification of the installation script to guess the location of conda.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[x] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

@wangcj05  the tests are failing for connection timeout. Is there a problem with the machines? @joshua-cogliati-inl @mandd

@joshua-cogliati-inl addressed your comments

Job Test CentOS 7 on 8287f9b : invalidated by @aalfonsi

Job Test CentOS 8 on 8287f9b : invalidated by @aalfonsi

Job Test Fedora 31 on 8287f9b : invalidated by @aalfonsi

Job Test Fedora 32 on 8287f9b : invalidated by @aalfonsi

Job Test Ubuntu 16 on 8287f9b : invalidated by @aalfonsi

Job Test Ubuntu 18-2 Python 3 on 8287f9b : invalidated by @aalfonsi

Job Test Ubuntu 18 PIP on 8287f9b : invalidated by @aalfonsi

Job Test Ubuntu 16 on 8287f9b : invalidated by @aalfonsi

Job Test Fedora 32 on 8287f9b : invalidated by @aalfonsi

Job Test Ubuntu 16 on 8287f9b : invalidated by @joshua-cogliati-inl
test civet

Job Test Fedora 32 on 8287f9b : invalidated by @joshua-cogliati-inl
Failed with ImportError: /home/civet/civet/build_0/raven/crow/install/crow_modules/_distribution1Dpy3.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZSt28__throw_bad_array_new_lengthv


[ADAM-1655] Move R package to bdgenomics.adam.

Resolves #1655.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2428/Build result: FAILURE[...truncated 15 lines...] > /home/jenkins/git2/bin/git fetch --tags --progress https://github.com/bigdatagenomics/adam.git +refs/pull/:refs/remotes/origin/pr/ # timeout=15 > /home/jenkins/git2/bin/git rev-parse origin/pr/1764/merge^{commit} # timeout=10 > /home/jenkins/git2/bin/git branch -a -v --no-abbrev --contains 8b7894ecd179822fbcef235887718540bd5bd449 # timeout=10Checking out Revision 8b7894ecd179822fbcef235887718540bd5bd449 (origin/pr/1764/merge) > /home/jenkins/git2/bin/git config core.sparsecheckout # timeout=10 > /home/jenkins/git2/bin/git checkout -f 8b7894ecd179822fbcef235887718540bd5bd449First time build. Skipping changelog.Triggering ADAM-prb ? 2.6.2,2.11,1.6.3,centosTriggering ADAM-prb ? 2.7.3,2.11,1.6.3,centosTriggering ADAM-prb ? 2.7.3,2.11,2.2.0,centosTriggering ADAM-prb ? 2.7.3,2.10,1.6.3,centosTriggering ADAM-prb ? 2.6.2,2.10,1.6.3,centosTriggering ADAM-prb ? 2.6.2,2.10,2.2.0,centosTriggering ADAM-prb ? 2.7.3,2.10,2.2.0,centosTriggering ADAM-prb ? 2.6.2,2.11,2.2.0,centosADAM-prb ? 2.6.2,2.11,1.6.3,centos completed with result SUCCESSADAM-prb ? 2.7.3,2.11,1.6.3,centos completed with result SUCCESSADAM-prb ? 2.7.3,2.11,2.2.0,centos completed with result FAILUREADAM-prb ? 2.7.3,2.10,1.6.3,centos completed with result SUCCESSADAM-prb ? 2.6.2,2.10,1.6.3,centos completed with result SUCCESSADAM-prb ? 2.6.2,2.10,2.2.0,centos completed with result SUCCESSADAM-prb ? 2.7.3,2.10,2.2.0,centos completed with result SUCCESSADAM-prb ? 2.6.2,2.11,2.2.0,centos completed with result FAILURENotifying endpoint 'HTTP:https://webhooks.gitter.im/e/ac8bb6e9f53357bc8aa8'
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2429/
Test PASSed.

Looks good to me, any sequencing concerns for merge?

any sequencing concerns for merge?

This should go in before #1765, but otherwise no.

Thank you, @fnothaft


v2.0.19

@jacobscarter I see there's v2.0.19 but that version does not contain any code changes. See https://github.com/angular-ui-tree/angular-ui-tree/compare/v2.18.0...v2.19.0 for the diff.
Can we remove this tag / version?

@Voles this happened because 2.18 was released with regressions and breaks, @StefanCodes rolled the repo back to 2.17 but bower still had 2.18, releasing 2.18 didn't overwrite the bad version bower had, so 2.19 was released.  So while GitHub shows no code difference between the two versions, if you pull them down from bower you will see the differences.  Because everything is working fine as is I would like to not complicate things more by trying to roll things back to 2.18 and updating bower, npm, etc.  I'll close the ticket but let me know if you disagree.
I am looking forward to getting 2.20 released with the changes that have already been merged as well as PR #819 and #807 please let me know if getting those merged is something we can do sooner rather than later.
I don't want to lose our momentum we have built up.

@jacobscarter perfect, thanks for your clarification. I'll take a look at the outstanding PR's.

@Voles you're the man! Thank you.


The new "hidden loader internals" PR can cause classloading issues

For example:
java.lang.ClassCastException class net.ludocrypt.corners.world.chunk.YearningCanalChunkGenerator
cannot be cast to class net.minecraft.class_3754
<snip>.YearningCanalChunkGenerator is in unnamed module of loader <snip>.KnotClassLoader$Separate @7f4b9586;
net.minecraft.class_3754 is in unnamed module of loader <snip>.KnotClassLoader$Separate @7799d031)
	at net.minecraft.server.MinecraftServer.handler$ebe004$onInit(MinecraftServer.java:2790)
	at net.minecraft.server.MinecraftServer.<init>(MinecraftServer.java:295)

This is not a mod issue, it just means we can't use separate classloaders to implement mod-to-mod hidden internals - I'll migrate to some ASM in the transformer cache.

It turns out this can occur on 0.17.10 as well, so this specific crash might not be a loader problem. I still want to switch to using some ASM after the transform cache though.
Full crash report: crash-2023-01-25_16.49.56-client.txt

I believe this was resolved with f3cf272fddaecd9b9c8376dce94fe3e0df0ce551


PHPUnit testing failed . 7 failures and 3 risky

Hi..
I want to propose some code about error handling when rendering template. So.. i follow https://github.com/thephpleague/plates/blob/master/CONTRIBUTING.md
But, unfortunately when i run command  ./vendor/phpunit/phpunit/phpunit i got these following error messages:
my development environment is windows 7 using git bash for windows.
There were 7 failures:

League\Plates\EngineTest::testGetTemplatePath
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'vfs://templates\template.php'
+'vfs://templates/template.php'

D:\DocumentRoot\my-contrib\plates\tests\EngineTest.php:212

League\Plates\Extension\AssetTest::testCachedAssetUrl
Failed asserting that false is true.

D:\DocumentRoot\my-contrib\plates\tests\Extension\AssetTest.php:40

League\Plates\Template\NameTest::testGetPath
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'vfs://templates\template.php'
+'vfs://templates/template.php'

D:\DocumentRoot\my-contrib\plates\tests\Template\NameTest.php:67

League\Plates\Template\NameTest::testGetPathWithFolder
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'vfs://templates/folder\template.php'
+'vfs://templates/folder/template.php'

D:\DocumentRoot\my-contrib\plates\tests\Template\NameTest.php:74

League\Plates\Template\NameTest::testGetPathWithFolderFallback
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'vfs://templates\fallback.php'
+'vfs://templates/fallback.php'

D:\DocumentRoot\my-contrib\plates\tests\Template\NameTest.php:81

League\Plates\Template\TemplateTest::testGetPath
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'vfs://templates\template.php'
+'vfs://templates/template.php'

D:\DocumentRoot\my-contrib\plates\tests\Template\TemplateTest.php:67

League\Plates\Template\TemplateTest::testRenderDoesNotExist
Failed asserting that exception message 'The template "template" could not be fo
und at "vfs://templates\template.php".' contains 'The template "template" could
not be found at "vfs://templates/template.php".'.

FAILURES!
Tests: 130, Assertions: 203, Failures: 7, Risky: 3.

Helloooo.. where is plates folks?
plates has not maintained?

Hey man, sorry for the delay. Plates is certainly maintained still, but I'm a little behind on tickets as I push to release the next version of my Glide library. I'll loop back to Plates when that is done.
These errors you are receiving must have something to do Windows paths, and more specifically the vfsStream stream wrapper, which is only used for testing. I'll have to do some digging into this. Thanks for bringing it to my attention.

The risky tests have been fixed (46778e8c5748fc2bc95887754c2a05d71b90fbae).
The tests failing on windows due to the directory separators is still being looked at (#70). Hopefully that will be fixed soon as well.
Closing this issue since these items are being handled elsewhere. Thanks for reporting! 👍

Hi @reinink , nice to know PHP Plates still maintained.

@okaprinarjaya Absolutely! :feelsgood:


Set focus on recipient field after selection of recipient

This closes #2315

Automated message from Dropbox CLA bot
@TigorC, it looks like you've already signed the Dropbox CLA. Thanks!

Looks great, merged, thanks @TigorC!


Add smallstep as issuer

Hi cert-manager team,
Looking to add smallstep as an issuer to the documentation. Please let me know if this is the best approach or if there is another process for updating documentation. Also, please let us know if there are other areas where our documentation should be placed. Thanks!

Thanks for the PR 😄
It looks like some other commits have got mixed up in this, so you may need to rebase your branch and get rid of the erroneous extra commits!
I think we should probably document to users how to setup a smallstep issuer, as right now it's not actually indicated or linked to anywhere from what I can see in https://github.com/jetstack/cert-manager/pull/2080/commits/a68fc76b58b92ae9c43d57029f15cc73462008ec.
We'll probably want to have a whole "installing additional issuers" guide, which should at the very least explain the 'model' of installing additional controllers which handle interaction with the external CA (probably deferring the 'meat' or complex parts of the implementation to the proposal, to avoid confusing users as they start out).
I think a new "setup external issuers" page here: https://github.com/jetstack/cert-manager/tree/master/docs/tasks/issuers would make sense, which can simply explain the model (i.e. it's possible to install additional controllers which will fulfil CertificateRequest resources), and then linking off to setup instructions for each issuer type (i.e. smallstep and any other future one people build!).
You'll also probably want to add an entry to the table here too: https://github.com/jetstack/cert-manager/blob/master/docs/tasks/issuers/index.rst - I think we should explicitly mention that it requires additional setup steps though, as otherwise users may attempt to create a StepIssuer resource before they've properly configured things.

This is now documented over on the soon-to-be-launched documentation website: https://cert-manager.netlify.com/docs/configuration/external/
You can PR changes to this document at github.com/cert-manager/website 😄


CLI does not list any items if one of them cannot be read

passcards list fails with an error and no useful output if reading the contents of any single item fails.
Steps to reproduce:

List the contents of a 1Password Agile Keychain vault with passcards list
Edit one of the .1password files to make it invalid, eg. by introducing a JSON syntax error
Run passcards list again

Expected result:
Passcards lists all the items that it can read
Actual result:
Unhelpful error message

CC @asbjornenge

:grin: :+1: Thanks again!

I just ran into this issue.
I had a 1password file containing an empty json object (just {}), hence no uuid field which caused passcards to exit with the following error:
VfsError: Error: ENOENT: no such file or directory, open '/home/zauberfisch/[......]/1Password/zauberfisch.agilekeychain/data/default/undefined.1password'
removing the empty file fixed the problem for me. But that sounds like a simple enough problem to catch while listing accounts.


s3mpi not compatible with Windows

s3mpi::s3store(iris, 'iris', 's3://avant-data-insights/')
Error in system(s3.cmd, intern = TRUE) : 's3cmd' not found

Also the windows wrapper for s3cmd seems to be a fremium model?
"You can try S3Express for free for 21 days."
http://www.s3express.com/download.htm

@robertzk @iveksl2 @peterhurford

That's unfortunate. I'll look into it later today. Have you found any other alternatives? Does the official AWS cli support Windows? We could just use that instead of s3cmd.

Come to think of it, we can probably use some publicly available buckets to test s3read in CI and on appveyor.

Oh man, I was getting excited for a second about the open source following but you work in the same room.

:+1:

Need to use system2 for windows support

Also don't use windows

:)


libRadtran version for hypertrace workflow

I've just started getting errors in the hypertrace workflow, which look like they stem from the wget pulling a slightly different libradtran version than is requested.  The error appears as:
Run wget -nv http://www.libradtran.org/download/libRadtran-2.0.3.tar.gz
wget -nv http://www.libradtran.org/download/libRadtran-2.0.3.tar.gz
tar -xf libRadtran-2.0.3.tar.gz
cd libRadtran-2.0.3
wget -nv http://www.meteo.physik.uni-muenchen.de/~libradtran/lib/exe/fetch.php?media=download:reptran_2017_all.tar.gz -O reptran-2017-all.tar.gz
tar -xf reptran-2017-all.tar.gz
PYTHON=$(which python2) ./configure --prefix=$(pwd)
# For some reason, uvspecfunction compilation fails...
make --ignore-errors
shell: /bin/bash -e {0}
env:
  pythonLocation: /opt/hostedtoolcache/Python/3.8.6/x64
  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.8.6/x64/lib
2020-12-29 13:28:15 URL:http://www.libradtran.org/download/libRadtran-2.0.4.tar.gz [71453375/71453375] -> "libRadtran-2.0.3.tar.gz" [1]
/home/runner/work/_temp/06b19355-b3c5-4cfb-8321-99b1fcbb1f74.sh: line 3: cd: libRadtran-2.0.3: No such file or directory
Error: Process completed with exit code 1.

It seems that the ibRadtran-2.0.3.tar.gz file actually contains 2.0.4, which then changes the cd.
Changing out line 39 of the workflow from
cd libRadtran-2.0.3

to
cd libRadtran-2.*/

would fix the issue, but I'm not sure if they current hypertrace workflow is compatible with different libradtran versions.  @ashiklom , any thoughts?

Thanks for catching this! A safer fix might actually be to force the older version by using this URL (note the history part):
http://www.libradtran.org/download/history/libRadtran-2.0.3.tar.gz
That said, I think we can safely upgrade Hypertrace to use libradtran 2.0.4 -- I checked their release notes and it looks like it's just bugfixes and a few new solvers, but no breaking changes. I'll try to pull together a patch for that in the next few days.
FWIW, for my most recent work, I've started experimenting with using Hypertrace with sRTMnet, which is way faster and, if you're to be believed 😉 , more accurate. I have a PR with that forthcoming sometime soon, at which point I think we can make LibRadtran the "experimental" choice.

Thanks for catching this! A safer fix might actually be to force the older version by using this URL (note the history part):
http://www.libradtran.org/download/history/libRadtran-2.0.3.tar.gz
That said, I think we can safely upgrade Hypertrace to use libradtran 2.0.4 -- I checked their release notes and it looks like it's just bugfixes and a few new solvers, but no breaking changes. I'll try to pull together a patch for that in the next few days.
FWIW, for my most recent work, I've started experimenting with using Hypertrace with sRTMnet, which is way faster and, if you're to be believed 😉 , more accurate. I have a PR with that forthcoming sometime soon, at which point I think we can make LibRadtran the "experimental" choice.

Aha!  That seems safe, and either 2.04 or the alternate URL works for a patch for now.
Re: sRTMnet integration, awesome news!   I won't yet make any explicit statements regarding direct superiority as compared to libradtran, but hopefully it lets you expand to higher dimensional LUTs, which is almost certainly good :-).

Aha!  That seems safe, and either 2.04 or the alternate URL works for a patch for now.
Re: sRTMnet integration, awesome news!   I won't yet make any explicit statements regarding direct superiority as compared to libradtran, but hopefully it lets you expand to higher dimensional LUTs, which is almost certainly good :-).

Resolved with #199.

Resolved with #199.


Bug Fix: Adding a new user to a role updates the UI

Fixes #667
Thank you @krallin for tracking this down and creating the issue.

:+1: Great fix and test!


htmlToStandard: Fallback implementieren, falls Dateiname keine Zahl beinhaltet

Implemented Fallback which sets a number 0 for those files and informs user about missing numbers.


Nturinski/backout backups

Deleted resources/templates folder
getTemplateDataFromBackup get the hard-coded version release and downloads/extracts the zips
Refactored downloadAndExtractZip to accept a releaseVersion and cliJsonFeed to get the templateUrl so that the release number can be passed and appropriate release can be downloaded programmatically

Question: Should we not delete the template.zip for the backups?  We aren't caching these templates, so if we fall back on the backups on the next activation, we will have to download/extract the zip files again.

An issue with this new implementation is that there is no guaranteed method of ensuring that we have templates to use.  The only solutions I can think of are either:
1.) Let ext.templateData: TemplateData | undefined
2.) Have another true backup function to fall back on.
I think the chances of this happening are pretty slim though.


Revive support for MLIR dialect registration in iree compiler python API.

In SHARK, we used to register MLIR dialects at the python level with the python extension iree.compiler.transforms.register_all_dialects(context) that has been removed along with the low-level MLIR CAPI in IREE builds as of https://github.com/openxla/iree/pull/13395. This breaks our tunings for end users. https://github.com/nod-ai/SHARK/issues/1397 https://github.com/nod-ai/SHARK/issues/1395
Best case scenario, this can be added as a build flag so that we can have this API (or its equivalent) available in python packages published from our fork.
Otherwise, as a follow up to https://github.com/openxla/iree/issues/9224, if it is possible to achieve the same functionality while doing so, it would be great to adapt to the more lightweight approach suggested by removing the low-level CAPI, and only import and register the mlir dialect(s) we need to annotate cleanly.

Thank you @stellaraccident!!


Support dicts in parameter values.

In dictionaries, keys need to not be quoted.
We process parameter values recursively, so that (nested) lists and dicts are handled.

I'm suggesting this as an alternative to this.


fix regression of not using jit model for text-generation/text-classf…

…ication/token classfication/question-answer task
also add UT to avoid such regression. UT will check if the optimized model is jit model.
What does this PR do?

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

@echarlaix @jiqing-feng please help review

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


[QUESTION] -v Options versus Available Controls

Is there a better way to ask questions about libcamera?

The -v option to libcamera-still outputs two main sections:

Options
Available controls

If I run libcamera-still -v, is everything in the Options section (except "verbose") the default value?  For example, contrast: 1.  Is 1 the default?
I need to determine the default value for each Available Control so am trying to map it to its corresponding Option.  Would you please review this and let me know of any mistakes and fill in the missing pieces?  This is for the Module 3 camera.
Thanks - Eric
NoiseReductionMode : [0..4]
	denoise: auto
ScalerCrop : [(0, 0)/128x128..(0, 0)/4608x2592]
	??
Sharpness : [0.000000..16.000000]
	sharpness: 1
AwbEnable : [false..true]
	awb: auto
AwbMode : [0..7]
	??
FrameDurationLimits : [17849..112075593]
	??   framerate: 30 ??
ExposureValue : [-8.000000..8.000000]
	ev: 0
Brightness : [-1.000000..1.000000]
	brightness: 0
AfMode : [0..2]
	??
AfWindows : [(0, 0)/0x0..(65535, 65535)/65535x65535]
	??   autofocus-window: all ??
AfSpeed : [0..1]
	autofocus-speed: normal
AfTrigger : [0..1]
	??
AfRange : [0..2]
	autofocus-range: normal
AfPause : [0..2]
	??
AfMetering : [0..1]
	??
LensPosition : [0.000000..32.000000]
	??
ExposureTime : [13..0]
	??
AeExposureMode : [0..3]
	exposure: normal
AeEnable : [false..true]
	??
AeConstraintMode : [0..3]
	??
AeMeteringMode : [0..3]
	metering: centre
Contrast : [0.000000..32.000000]
	contrast: 1
Saturation : [0.000000..32.000000]
	saturation: 1
AnalogueGain : [1.122807..16.000000]
	??	Isn't the minimum gain 1.0 ?
ColourGains : [0.000000..32.000000]
	??

NoiseReductionMode - Default to NoiseReductionModeHighQuality
ScalerCrop - The scaler crop is sensor and mode dependent, and this in turn depends on the application using the device.  Typically, it would be (0, 0)/4608x2592 for the Camera v3.
AwbEnable - Default to true
AwbMode - Default to AwbAuto
FrameDurationLimits - Default to [1/33ms, 1/33ms]'' (30fps) ExposureTimeandAnalogueGain- No default, only set when a user control is passed in with an explicit value.  Otherwise AE controls the exposure time.AeExposureMode- Default toExposureNormal AeEanbled- Default totrue AeConstraintMode- Default set in the config file toConstraintNormal AeMeteringMode- Default set in the config file toMeteringCentreWeighted ColourGains `` - No default, only set when a user control is passed in with an explicit value.  Otherwise AWB controls the colour gains.
@njhollinghurst can you look at the focus/lens ones (wrt libcamera-still) as I'll probably get them wrong.

AfMode: The libcamera API default is AfModeManual. But libcamera-still defaults AfModeContinuous (unless a --lens-position or --autofocus-on-capture command-line option is used, when it will be AfModemanual or AfModeAuto respectively).
AfTrigger: This is a write-only control with no default. Initially not triggered (roughly AfTriggerCancel). libcamera-still will send AfTriggerStart at the end of the viewfinder interval after --autofocus-on-capture.
AfPause: This is a write-only control with no default. Initially not paused (roughly AfPauseResume).
AfMetering: Default is AfMeteringAuto. libcamera-still will set it to AfMeteringWindows if the --autofocus-window command-line option was used.
AfWindows: The default is an empty list of windows. Note that in the libcamera API, multiple windows are allowed, measured in raw sensor pixels; but in libcamera-still only a single window may be given, in fractions of the sensor size.
LensPosition: The default for the V3 camera with AfModeManual and AfRangeNormal is 1.0 (nominal distance 1m).

Any more info needed for this?  If not, I'll close it down shortly.

Yes, I have additional questions I will post in a day or two.
Thanks for asking.
Eric

From: naushir @.>
Sent: Thursday, August 17, 2023 2:31:21 AM
To: raspberrypi/libcamera-apps @.>
Cc: Eric Claeys @.>; Author @.>
Subject: Re: [raspberrypi/libcamera-apps] [QUESTION] -v Options versus Available Controls (Issue #548)
Any more info needed for this? If not, I'll close it down shortly.
—
Reply to this email directly, view it on GitHubhttps://github.com/raspberrypi/libcamera-apps/issues/548#issuecomment-1681781348, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AT2PYKY2JAKLVXARPEZGJN3XVXCETANCNFSM6AAAAAA3CADSJY.
You are receiving this because you authored the thread.Message ID: @.***>

How can I determine the default values for ColourGains, ExposureTime, and AnalogueGain?
Would it be possible for the "Available controls" section to contain the default value in addition to the min and max values?
Do you know why the output of libcamera-still --list-cameras -v would be different with, and without --timeout 1 ?
See AnalogueGain and ExposureTime.
On my imx708 chip I've seen ExposureTime : [13..0] which I assume is invalid.

How can I determine the default values for ColourGains, ExposureTime, and AnalogueGain?

When the AWB and AGC are enabled (this is by default), they adapt the values of these controls based on the image scene and statistics.  As such, they don't really have an inherent default value.  When AWB/AGC are disabled then the value for these controls are based on what the users sets.

Would it be possible for the "Available controls" section to contain the default value in addition to the min and max values?

It may be possible, I will have to look into this.

Do you know why the output of libcamera-still --list-cameras -v would be different with, and without --timeout 1 ? See AnalogueGain and ExposureTime. On my imx708 chip I've seen ExposureTime : [13..0] which I assume is invalid.

Hmmm, this does look a bit strange.  On the HQ camera (imx477) the values are identical, as you would expect.  I'll have to try and get hold of an ov5647 module to see what may be going wrong here.  They are a bit hard to find now!

If I recall correctly, the way to turn off AWB is to specify the red and blue values, so I agree the concept of a default doesn't apply.
Since the values in those screenshots are what the camera can do, shouldn't the values be the same regardless of any command-line arguments?
On my imx708 chip I've seen ExposureTime : [13..0].  Any idea why?
Thanks for considering adding defaults to the "Available controls" section.  It will make determining the defaults much easier since a mapping between control name and the "Options" name won't be needed.

On my imx708 chip I've seen ExposureTime : [13..0]. Any idea why?

Again, that's quite strange.  My output shows ExposureTime : [26..112015443].  Does it occasionally show different values?

Would it be possible for the "Available controls" section to contain the default value in addition to the min and max values?

Unfortunately this does not work as expected:
Available cameras
-----------------
0 : imx477 [4056x3040 12-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx477@1a)
    Modes: 'SRGGB10_CSI2P' : 1332x990 [120.05 fps - (696, 528)/2664x1980 crop]
           'SRGGB12_CSI2P' : 2028x1080 [50.03 fps - (0, 440)/4056x2160 crop]
                             2028x1520 [40.01 fps - (0, 0)/4056x3040 crop]
                             4056x3040 [10.00 fps - (0, 0)/4056x3040 crop]

    Available controls for 4056x3040 SRGGB12_CSI2P mode:
    ----------------------------------------------------
    AeConstraintMode : [0..3] [0]
    AeEnable : [false..true] [<ValueType Error>]
    AeExposureMode : [0..3] [0]
    AeFlickerMode : [0..1] [0]
    AeFlickerPeriod : [100..1000000] [<ValueType Error>]
    AeMeteringMode : [0..3] [0]
    AnalogueGain : [1.000000..22.260870] [<ValueType Error>]
    AwbEnable : [false..true] [<ValueType Error>]
    AwbMode : [0..7] [0]
    Brightness : [-1.000000..1.000000] [0.000000]
    ColourGains : [0.000000..32.000000] [<ValueType Error>]
    Contrast : [0.000000..32.000000] [1.000000]
    ExposureTime : [114..674191602] [<ValueType Error>]
    ExposureValue : [-8.000000..8.000000] [0.000000]
    FrameDurationLimits : [100000..694434742] [<ValueType Error>]
    NoiseReductionMode : [0..4] [0]
    Saturation : [0.000000..32.000000] [1.000000]
    ScalerCrop : [(0, 0)/64x64..(0, 0)/4056x3040] [(2, 0)/4053x3040]
    Sharpness : [0.000000..16.000000] [1.000000]

It seems like some control types cannot print default values so you get this <ValueType Error> displayed which is not pretty.  I may have to defer this for now and speak to the libcamera team about it in more detail.

It normally displays ExposureTime : [114..674191602], although if another libcamera-still is running it gives ExposureTime : [0..66666] (as well as different AnalogueGain and ScalerCrop values).
I realize running it when another libcamera-still is running is unusual it seems odd that the output would be different.  I can make sure the Allsky software doesn't run a second libcamera-still.
Your mockup with the default values would be perfect if the <ValueType Error> had the default or said none as appropriate.
Interesting that the two boolean values have <ValueType Error> as well as ColourGains and ExposureTime which don't have defaults.  Do AeFlickerPeriod and FrameDurationLimits have defaults?

I realize running it when another libcamera-still is running is unusual but it seems odd that the output would be different. I can make sure the Allsky software doesn't run a second libcamera-still.

I think this would be advisable.  Although, I'm still not sure why it would make any difference.

Do AeFlickerPeriod and FrameDurationLimits have defaults?

  FrameDurationLimits is set to 1/33ms by default.

Any further questions related to this?  If not I'll close it shortly.

Will you be speaking to the libcamera team about the <ValueType Error>?  If so, should I open a new Issue for it?
If not, then please close this Issue.

Yes I'll chat with them and discuss this.  No need to open a new issue, hopefully it should "just work" after they make some changes since the << operator for ControlInfo will take care if the new output.


Failed to load DXT-compressed textures.

DXT-compressed textures cann't be loaded beacuase D3DCreateTextureFromMemory does not support typeless compressed formats. Typeless compressed format is required to support both linear and sRGB color space.

See commit: f8d1a619622b787ee3a044c5a21ae96170e30ae6


dual stack can only be set on the same virtual network card

Expected Behavior
Allow the use of dual network cards to use ipv4/ipv6 dual stack, and support independent mtu settings
Current Behavior
The current ipv4/ipv6 dual stack can only be set on the same virtual network card, so the mtu can only be set to the same value
Possible Solution
Add environment variables to allow the use of independent network cards for ipv4 and ipv6 protocols, and set different mtus
Steps to Reproduce (for bugs)

Context

Your Environment

Calico version
Orchestrator version (e.g. kubernetes, mesos, rkt):
Operating System and version:
Link to your project (optional):

@Aaron-PanJi, I'm trying to understand the issue you're having. Could you elaborate a little bit more?
Did you get to try enabling dual stack (https://docs.tigera.io/calico/latest/networking/ipam/ipv6#enable-dual-stack) with IP autodetection config to use different interfaces (https://docs.tigera.io/calico/latest/networking/ipam/ip-autodetection)? If so, did that not work?
I'm not sure, but we might be able to do it with the right configuration (though MTU setting might be tied and we'd need to look into that)...


JPL unit test jpl:prolog_in_java

The unit test jpl:prolog_in_java seems to give errors but pass anyways:
After building the whole SWI+JPL, from build/:
[ssardina@Thinkpad-X1 build]$ ctest -V -R jpl:prolog_in_java
UpdateCTestConfiguration  from :/home/ssardina/git/soft/prolog/swipl-devel.git/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/home/ssardina/git/soft/prolog/swipl-devel.git/build/DartConfiguration.tcl
Test project /home/ssardina/git/soft/prolog/swipl-devel.git/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 48
    Start 48: jpl:prolog_in_java

48: Test command: /usr/bin/env "SWI_HOME_DIR=../../home" "SWIPL_BOOT_FILE=../../home/boot.prc" "TEST_JPL=../../../packages/jpl/test_jpl.pl" "/usr/lib/jvm/java-8-oracle/bin/java" "-Djava.library.path=." "-classpath" "/usr/share/java/junit.jar:src/java/jpl.jar:src/java/jpltest.jar" "junit.textui.TestRunner" "org.jpl7.test.TestJUnit"
48: Test timeout computed to be: 9.99988e+06
48: ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/build/home/library/filesex.pl:80:
48: 	/home/ssardina/git/soft/prolog/swipl-devel.git/build/home/library/filesex.pl:80: Initialization goal raised exception:
48: 	'$open_shared_object'/3: files: cannot open shared object file: No such file or directory
48: ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/packages/jpl/jpl.pl:4318:
48: 	Exported procedure files_ex:link_file/3 is not defined
48: ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/packages/jpl/jpl.pl:4318:
48: 	Exported procedure files_ex:set_time_file/3 is not defined
48: .........................................
48: .........................................
48: ......................................
48: Time: 0.063
48:
48: OK (120 tests)
48:
1/1 Test #48: jpl:prolog_in_java ...............   Passed    0.78 sec

The following tests passed:
	jpl:prolog_in_java

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   0.79 sec

One can go into the JPL directory and do the test manually as follows:
ssardina@Thinkpad-X1 jpl]$ pwd
/home/ssardina/git/soft/prolog/swipl-devel.git/build/packages/jpl
[ssardina@Thinkpad-X1 jpl]$ /usr/bin/env "SWI_HOME_DIR=../../home" "SWIPL_BOOT_FILE=../../home/boot.prc" "TEST_JPL=../../../packages/jpl/test_jpl.pl" "/usr/lib/jvm/java-8-oracle/bin/java" "-Djava.library.path=." "-classpath" "/usr/share/java/junit.jar:src/java/jpl.jar:src/java/jpltest.jar" "junit.textui.TestRunner" "org.jpl7.test.TestJUnit"
ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/build/home/library/filesex.pl:80:
	/home/ssardina/git/soft/prolog/swipl-devel.git/build/home/library/filesex.pl:80: Initialization goal raised exception:
	'$open_shared_object'/3: files: cannot open shared object file: No such file or directory
ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/packages/jpl/jpl.pl:4318:
	Exported procedure files_ex:set_time_file/3 is not defined
ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/packages/jpl/jpl.pl:4318:
	Exported procedure files_ex:link_file/3 is not defined
.........................................
.........................................
......................................
Time: 0.057

OK (120 tests)

You did not or incompletely build the clib package.  At least, that is where the missing file should come from and I do not get this error.

mmm I am pretty sure I compiled all modules, but I would double check everything again. Thanks for giving me a useful pointer to explore.

I am still having issues with this error when I ran the test. However, clib package seems to be compiled well and passes all tests:
ctest -V -R clib

...
he following tests passed:
	clib:cgi
	clib:crypt
	clib:memfile
	clib:process
	clib:readutil
	clib:socket
	clib:stream
	clib:time
	clib:uri

The file /home/ssardina/git/soft/prolog/swipl-devel.git/build/home/library/filesex.pl does exist:
:- module(files_ex,
          [ set_time_file/3,            % +File, -OldTimes, +NewTimes
            link_file/3,                % +OldPath, +NewPath, +Type
            chmod/2,                    % +File, +Mode
            relative_file_name/3,       % ?AbsPath, +RelTo, ?RelPath
            directory_file_path/3,      % +Dir, +File, -Path
            directory_member/3,         % +Dir, -Member, +Options
            copy_file/2,                % +From, +To
            make_directory_path/1,      % +Directory
            copy_directory/2,           % +Source, +Destination
            delete_directory_and_contents/1, % +Dir
            delete_directory_contents/1 % +Dir
          ]).

This requires further investigation, just wanted to document this here.

Loading depends on the foreign file packages/clib/files.so   Somehow that seems missing or not loadable.   I didn't hear about this issue from anyone else which suggests it could be some local twist.  Anyway, it is irrelevant to JPL as the tests only seem to use the pure Prolog predicates of this library.

Sorry, I got carried away while I was trying to design test for the Rational module I am building. I realized the Java unit testing was in the old version 3, so I migrated it all to version 4, which took a while as I had to learn the whole thing (both on the SWI CMake setup and using JUnit). That is issue #40 which is somehow related to this one as well as it is about testing. I want to clean it up fully, I am close.
Regarding this error, yes yes I can see it is not that serious, but I don't like seeing the word "ERROR" in my console... ;-)
Strangely, I do have clib fully compiled under packages/ with the files.so there, and I can even load the problematic module in SWI. Anyway will investigate further later...
[ssardina@Thinkpad-X1 build-junit44]$ swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 8.1.28-DIRTY)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

    CMake built from "/home/ssardina/git/soft/prolog/swipl-devel.git/cmake"

For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- use_module(library(filesex)).
true.

?- ^D
% halt

[ssardina@Thinkpad-X1 build-junit44]$ l packages/clib/files.so
-rwxrwxr-x 1 ssardina ssardina 108K Apr 14 17:32 packages/clib/files.so

@JanWielemaker , there has to be something strange here when running SWI from the development dir (not the installed one in the system) on tests that need to use jpl.pl which access the foreign libraries.
The JPL tests run on the build/package/jpl  dir, where libjpl.so is placed and   LD_LIBRARY_PATH will have . on it, so that is found. But if a test needs files.so it cannot find it.
However, if I manually create a create a lib/ subdir in build/home  and out there a symbolic link
files.so -> ../../packages/clib/files.so

then all works!
Also works if  I made that symbolic link from package/jpl where the test runs.
You say you don't see any error, but do you run the test with VERBOSE? Because the tests passed, but the error is thrown in the middle. The tests are not so well done to fail when a file fails to load (I am fixing that!), they pass anyway!
It is interesting there is no home/lib dir with pointers to all the .so, but somehow if I make them, SWI will look there...
The error I get is:
62: ERROR:    '$open_shared_object'/3: files: cannot open shared object file: No such file or directory
62: ERROR: /home/ssardina/git/soft/prolog/swipl-devel.git/packages/jpl/jpl.pl:4332:

Are we talking java-in-prolog or prolog-in-java?
library(filesex) is used by jpl.pl for add_jpl_to_classpath/0, but that part of the library doesn't require the foreign extension, which is why using the library should not be a problem (just leads to a warning).
In  the build tree loads home/swipl.rc, which changes the file search paths to find the foreign resources.     I guess the tests should not use -F none, which blocks this.
Somehow, ctest -V -R java doesn't raise any warnings for me though.

Thanks Jan for following it up. I am very curious now...
The problem is jpl:prolog_in_java and indeed when loading library jpl.pl in the add_jpl_to_classpath predicate.
We are not using the -F at all, but we are using -f none which should be fine.
Effectively, SWI is being called from build/packages/jpl dir with
SWI_HOME_DIR=../../home
SWIPL_BOOT_FILE=../../home/boot.prc
and with the following options:
libswipl.dll -x ../../home/boot.prc -f none -g true -q --home=../../home --no-signals --no-packs
Is this correct? This comes from old systems so maybe it is not quite correct. It is interesting that if I remove the Windows libswipl.dll (I ran in Linux) it gives error on the boot.rc...none
Now, somehow when Prolog is called inside Java it is not using /home/swipl.rc at all, if I delete it the file or add a typo in the file (which should give error), it does not affect the tests. This means the tests are not using that file when loading SWI.
However, if I ran the local build version from CLI in build/ it does load it!
src/swipl -x home/boot.prc -f none --home=home/ --no-signals

OK, I SOLVED IT!!  I think I am starting to understand a bit better the whole SWI framework, it's really impressive system!
I studied build_home.pl and realized that I needed to use the executable file src/swipl, have no idea why it was using libswipl.dll, but I guess it comes from old code of someone in Windows and it was the non-CMAKE time..
Anyway, I figured it out and now I setup the following to start SWI within Java:
./../home/../src/swipl -x ../../home/boot.prc -f ../../home/swipl.rc -g true -q --home=../../home --no-signals --no-packs

So I need to explicitly load -f ../../home/swipl.rc and pass the executable ./../home/../src/swipl
Really happy now and did a huge clean up of the unit testing and incorporated many tests I have built when I worked on this a year ago that were not part of the official testing. Now the testing set is a Test Suite in JUnit 4 and works great. All in #5ec0ee5c3c42426691888aca2dead51e0160150f
Now I can focus back on Rational.

Good catch.  Only, the fix may give problems on Windows.   The argv[0] doesn't matter too much, except for finding the right file for -F, so using libswipl.dll it will look for libswipl.rc rather than swipl.rc.
I think the clean solution is to go back to the original and add -F swipl to the flags.  All other flags have recently been updated (including the new --no-packs to avoid interaction with user packs).

More junit issues: Macport installs /opt/local/share/java/junit.jar which is in fact junit 4.13.  That might be the case on more platforms.   Is there an easy way to find out the junit version in some jar?

More junit issues: Macport installs /opt/local/share/java/junit.jar which is in fact junit 4.13. That might be the case on more platforms. Is there an easy way to find out the junit version in some jar?

Ohh Mac, and Macport...
OK we can add any known path, that's easy and should work fairly robust right?
In principle, one can find jar files first, and open them via unzip to extract META-INF/MANIFEST.MF and it has the Implementation-Version: 4.12. Now all that in CMAKE, should be possible (I guess CMAKE can call scripts), but too much infrastructure for such a standard package right?  What if there are many JARs, etc..?

Good catch. Only, the fix may give problems on Windows. The argv[0] doesn't matter too much, except for finding the right file for -F, so using libswipl.dll it will look for libswipl.rc rather than swipl.rc.

we really don't need a "flag" to mark the OS, we can get the OS in java and decide what we need to execute.
As it was, libswipl.dll was passed always, which breaks in Linux. (I have no idea how your system was finding the libs nonetheless because it is pretty clear that swipl.rc/ will not find them if we use that.)

I think the clean solution is to go back to the original and add -F swipl to the flags. All other flags have recently been updated (including the new --no-packs to avoid interaction with user packs).

OK this is more serious and I do want a robust solution here. (Un)fortunately I don't have Windows.
I think I am not following you completely. If you can answer these ones,it would be great:

Should I use -F or -f or is irrelevant user or system wide here?
The executable for Linux will be ../../home/swipl.rc and I can totally do cases for Windows and Mac. Is the Window one ../../home/libswipl.rc? I can find what OS it is running via SWI os.name flag or from Java anyways right?
Finally, what do you mean the other flags have been updated? Are you suggestion to drop them?

If I know those 3 things it is trivial to adapt what I have now in java to "setup" the Prolog JNI interface, which is this:
String[] init_swi_config = new String[] {
//	"libswipl.dll", "-x", startup, "-f", "none",    // libswipl.dll will not update search paths for libraries
swi_exec, "-x", startup, "-f", "../../home/swipl.rc",
"-g", "true", "-q",
"--home="+home, "--no-signals", "--no-packs" };
Prolog.set_default_init_args(init_swi_config);
Thanks!

I think the most 'correct' (means robust) argv is
 libswipl.dll -x startup -F swipl -f none -g true -q --home=XXX --no-signals --no-packs

That should work regardless of the OS and should load home/swipl,rc to find the shared objects.

Ohh Mac, and Macport...

Tell me all about it :cry:

OK we can add any known path, that's easy and should work fairly robust right?

Yeah, I think that is fine.

In principle, one can find jar files first, and open them via unzip to extract META-INF/MANIFEST.MF and it has the Implementation-Version: 4.12. Now all that in CMAKE, should be possible (I guess CMAKE can call scripts), but too much infrastructure for such a standard package right? What if there are many JARs, etc..?

You can call anything from CMake, but you don't want to as one cannot assume a POSIX shell or POSIX tools.  For that reason a lot of good stuff is built into cmake itself as cmake -E command arg ....    You can use (cmake tar also reads zip)
cmake -E tar tf .../junit.jar

to get the table of content.   Reading the MANIFEST.MF seems a little hard, you can only extract the whole thing.  If there is a file in junit4 (I guess so) that is fairly unique we can use the above to test for this file.  I can help there.   Not sure how badly it is needed.

Regarding the dir for Mac, I have included it in the search so should work. I don't think doing much more fancy guessing inside CMAKE is worth it; what we can do is document this for the JPL developer (make sure one has junit4.jar or some version of it in some of these dirs).
Regarding the more important argv to call Prolog inside Java, there is something big I am missing here. I am of course wary of claiming you are wrong! ;-)
If we fix "libswipl.dll", then the init file swipl.rc, which is effectively build_home.pl under main SWI source, will be bound to not set-up the search paths correctly because predicate cmake_binary_directory/1 will for sure fail (that I can claim 100%) due to this line:
The failure of cmake_binary_directory/1 will cause the failure of swipl_package/2
Finally, this will cause this code to fail and NOT update the search paths to point to the development libs in build/packages/*.

If we fix "libswipl.dll", then the init file swipl.rc, which is effectively build_home.pl under main SWI source, will be bound to not set-up the search paths correctly, because predicate cmake_binary_directory/1 will for sure fail (that I can claim 100%) due to this line.

Nope.  The system config file (base) name is determined using -F, or in the absence thereof as the file name of argv[0] without extension.  So, using libswipl.dll it will look for libswipl.rc, which is wrong and why you had problems.  Using -F swipl it will look for swipl.rc, so we are fine.
Argv[0] is also used to find the installation home, but in this case we pass this explicitly using --home=Dir.  So in fact argv[0] is not used if both -F base and --home=Dir are given.
In a normal run, argv[0] as libswipl.dll works for Windows and on other systems the default generally suffices to find the resources and if this is not the case one typically needs SWI_HOME_DIR or --home=Dir.   So, overall libswipl.dll is fine as arg[v] for the JPL use case.

Nope. The system config file (base) name is determined using -F, or in the absence thereof as the file name of argv[0] without extension. So, using libswipl.dll it will look for libswipl.rc, which is wrong and why you had problems. Using -F swipl it will look for swipl.rc, so we are fine
Argv[0] is also used to find the installation home, but in this case we pass this explicitly using --home=Dir. So in fact argv[0] is not used if both -F base and --home=Dir are given.

All this I get it. By using -F swipl we force loading the script swipl.rc always and with --home we give the home explicitly. All good and argv[0] does not interfere there..

In a normal run, argv[0] as libswipl.dll works for Windows and on other systems the default generally suffices to find the resources and if this is not the case one typically needs SWI_HOME_DIR or --home=Dir. So, overall libswipl.dll is fine as arg[v] for the JPL use case.

So far so good, swipl.rc will be loaded due to -F, I don't dispute that, but my point is that in that script predicate  cmake_binary_directory/1 will fail. See third line:
cmake_binary_directory(BinDir) :-
    current_prolog_flag(executable, OsExe),
    OsExe \== 'libswipl.dll',           % avoid dummy for embedded JPL test
    prolog_to_os_filename(Exe, OsExe),

And, If this predicate fails, the packages's dirs are not added to the search path as we need. And this is exactly what happens in my devel install and I can see the Prolog swipl.rc file (which is effectively build_home.pl)

Ah.  I missed that point.   Yes, you are right there.   Then why is it ok for me?  Seems I should get this error unless $CLASSPATH already contains jpl.jar.   In that case the first clause of add_jpl_to_classpath/0 does the job and the autoloaded directory_file_path/3 is never called and thus nothing is loaded.   Just, CLASSPATH is not in my environment.
Bit of a mystery.  Anyway, your fix should be fine.   I guess we have no way to detect we are embedded and thus the check whether or not jpl.jar is in classpath is irrelevant?

My understanding Jan is that this is not about CLASSPATH but about setting the search paths for the package C libraries .so. This is done by add_package/2 which asserts predicates of the sort file_search_path/2 for the many libraries that were compiled and put into build/package/<name of lib>. If these are not found, then Prolog will give errors when trying to use say file.so. Why you don't get those errors is a mystery.
The CLASSPATH is also important when the Prolog code wants to use a Java class that is inside java.jar. And indeed I have changed the script to set CLASSPATH to work.
So, summarizing: the Prolog test code needs:

A good Prolog environment with the search paths to find the package libraries .so
CLASSPATH including jpl.jar for those tests that call classes there.

Makes sense?
Now, what do you mean by "embedded"? You mean when Prolog is called from Java/C? we still want the Prolog engine to have all the search paths correctly because that embedded Prolog could still use SWI libraries right? What am I missing? So I really don't know why build_home.pl has that check OsExe \== 'libswipl.dll. Plus this is ONLY relevant for testing the development system right?

It all gets a bit fuzzy.   CLASSPATH does matter for the files.so issue because if CLASSPATH includes jpl.jar the first clause of add_jpl_to_classpath/0 succeeds and the (autoloaded) call that requires library(filesex) never fires.   Yes, that means the test scenario cannot load libraries that rely on foreign extensions, but this was never part of the tests and I doubt it needs to be.   If there is no real reason to make the tests depend on other packages I think we shouldn't.   So your (1) is not obvious to me.  If you have tests where relying on other packages is useful, I agree.

So I really don't know why build_home.pl has that check OsExe \== 'libswipl.dll

I think the reasoning was that the tests where Prolog is loaded from Java (embedded) do (did) not need to have all the paths nicely setup and this was the easiest way to deal with that.

Plus this is ONLY relevant for testing the development system right?

It is relevant for testing, but note there are two scenarios.  The normal one where we test before installation and the one where the test suite is installed with the system and the tests are executed in the installed version.  The latter was added for testing cross-compiled versions and is somehow also part of the Debian policies.
P.s.  Note that with a very small change jpl.pl no longer depends on library(filesex) and thus not on files.so.   I think it makes sense to apply that.  Would you agree?

Ok.  Pushed a patch that removes dependency on files.so.   Enjoy!

wow wow. That blew my mind! Thanks for the clear explanation, it would have taken even more days to connect the dots. Yes it gets really fuzzy. I have not connected that point as I got obsessed on why SWI was not seeing the libs. And I forgot the original problem was in jpl.pl to find the jpl.jar! Yes if the jar is in the CLASSPATH then the 1st clause will apply and no need to use files.so. (I still need to understand why that does not happen in my system even though I do have jpl.jar in the CLASSPATH)
1. I agree that if jpl.pl can do it without library(filesex), then it should. What would that take though?
2. On the other hand, I think it is cleaner, and without much effort, to get the testing SWI engine to have all paths to the libs, why not? While I don't use any library indeed, I do not rule out that we could use some in future tests. I would not like to have a JPL set-up with a note to developers; 'do not use any libs because it won't work' ;-)
Also, using something like  libswipl.dll as a mark to tell Prolog not to set-up the search paths for the libs because we just happen not to use them feels not clean or easy to reconstruct for a newcomer (like it was my case). Not that setting those paths takes a long of time or anything right? I would prefer to remove that from the Prolog code and let the engine set-up a whole SWI framework as compiled.
3. I did not consider the second scenario, I have to verify everything works well there, it may not if the paths are different, which will be!
I particularly would like your views on 2 and what is the reason for not allowing swi to set-up the search paths always: cleaner and more robust right?
OK for tomorrow, here in Autralia is late...
(once this is done, 3 issues will be closed; this, junit4, and rational)

I tend to agree about (2).  I guess it was mostly laziness or remains of even older problems.   Just go ahead.  I'm a little in doubt about 8.1.29.  How close do you think you are?

I tend to agree about (2). I guess it was mostly laziness or remains of even older problems. Just go ahead. I'm a little in doubt about 8.1.29. How close do you think you are?

I concur. I think this was stuff left from old code with other problems that are not there anymore and that was a quick fix back then. Done!
I am close but not yet finished.

This issue is now resolved and I am happy, it was an old pain and learnt a lot, done.
I am almost finished with the full upgrade of unit testing (#40), big cleanup there, but just fixing what the person reported in the forum. I am waiting for his/her last feedback but I trust it is not resolved finally (dependencies of JUNIT)
Rationals is there too, in another branch, but waiting for the other two fixes to go before.

If you want NOW, maybe no, but in a couple of days yes.

If you want NOW, maybe no, but in a couple of days yes, maybe even Wed if junit is all done

It seems rational to wait for rationals  :smile:

ahaha that's very rational thinking indeed :-)
OK I am cleaning up the git history so we can push a cleaner rebased version to master.
Git is just amazing, but one has to learn how to use it well. I have learnt a lot the past week, really impressive what you can do (I have been using it for years but not with so much care as it deserves here)
Will let you know when the PR is ready

Git is just amazing

It is.   Takes either a lot of tricks to learn or a good intro that explains how it really works, so you know what is it telling you if is says "your HEAD is detached" :smile:

Indeed, a good intro helps a lot, but it also needs actual hands-on and many pitfalls!
hahah  "your HEAD is detached", excellent... mine is "detached and rebased" :-)


Tests added for NameValueTest

Hi,
jodd.util.NameValueTest : two further tests added
Bye,
Sascha

Yippee Ki Yay!


nodeos failing

in /eos/build make test, all tests pass except these. I'm on eos 1.1:
29/34 Test #29: nodeos_run_test ........................***Failed    2.59 sec
      Start 30: nodeos_run_remote_test
30/34 Test #30: nodeos_run_remote_test .................***Failed    2.27 sec
      Start 31: distributed-transactions-test
31/34 Test #31: distributed-transactions-test ..........***Failed    5.33 sec
      Start 32: distributed-transactions-remote-test
32/34 Test #32: distributed-transactions-remote-test ...***Failed    5.28 sec
      Start 33: restart-scenarios-test_hard_replay
33/34 Test #33: restart-scenarios-test_hard_replay .....***Failed    5.30 sec
      Start 34: validate_dirty_db_test
34/34 Test #34: validate_dirty_db_test .................***Failed    2.28 sec

running nodeos produces the following error:
1507489ms thread-0   chain_plugin.cpp:200          plugin_initialize    ] initializing chain plugin 1507490ms thread-0   main.cpp:113                  main                 ] 10 assert_exception: Assert Exception version > 0: Block log was not setup properly with genesis information.     {}     thread-0  block_log.cpp:470 extract_genesis_state

don't care these errors, these don't have any influence on the following steps

I've got similar issue. Trying to start eos on VPS with Ubuntu 16.04 and got
The following tests FAILED:
	 26 - unit_test_binaryen (Failed)
	 27 - unit_test_wavm (Failed)
	 29 - plugin_test (Failed)
	 30 - nodeos_run_test (Failed)
	 32 - distributed-transactions-test (Failed)
	 33 - restart-scenarios-test-resync (Failed)
	 34 - restart-scenarios-test-hard_replay (Failed)
	 35 - restart-scenarios-test-none (Failed)
Errors while running CTest
Makefile:61: recipe for target 'test' failed
make: *** [test] Error 8
[3]-  Exit 100                /root/opt/mongodb/bin/mongod -f /root/opt/mongodb/mongod.conf

I've got similar issue. Trying to start eos on VPS with Ubuntu 16.04 and got
The following tests FAILED:
	 26 - unit_test_binaryen (Failed)
	 27 - unit_test_wavm (Failed)
	 29 - plugin_test (Failed)
	 30 - nodeos_run_test (Failed)
	 32 - distributed-transactions-test (Failed)
	 33 - restart-scenarios-test-resync (Failed)
	 34 - restart-scenarios-test-hard_replay (Failed)
	 35 - restart-scenarios-test-none (Failed)
Errors while running CTest
Makefile:61: recipe for target 'test' failed
make: *** [test] Error 8
[3]-  Exit 100                /root/opt/mongodb/bin/mongod -f /root/opt/mongodb/mongod.conf

And when i try to start nodeos I've got an error
2728377ms thread-0   net_plugin.cpp:2154           operator()           ] Error reading message from <IP_ADDRESS>:9876: Connection reset by peer
2728406ms thread-0   net_plugin.cpp:2154           operator()           ] Error reading message from <IP_ADDRESS>:5556: Connection reset by peer
2728578ms thread-0   net_plugin.cpp:2156           operator()           ] Peer <IP_ADDRESS>:9000 - 4567172 closed connection
2728578ms thread-0   net_plugin.cpp:2156           operator()           ] Peer <IP_ADDRESS>:9876 closed connection
2728578ms thread-0   net_plugin.cpp:2154           operator()           ] Error reading message from <IP_ADDRESS>:9876: Connection reset by peer
2728578ms thread-0   net_plugin.cpp:2154           operator()           ] Error reading message from <IP_ADDRESS>:9876: Connection reset by peer
2728578ms thread-0   net_plugin.cpp:1052           operator()           ] Error sending to peer <IP_ADDRESS>:19877: Bad file descriptor

Can you try the latest version?

fixed in the latest version


OverflowError: string longer than<PHONE_NUMBER> bytes

I get an OverflowError: string longer than<PHONE_NUMBER> bytes when I run lc-serve deploy babyagi :
$ lc-serve deploy babyagi
⠇ Pushing `/tmp/tmpqonzhjbz` ...🔐 You are logged in to Jina AI as BioGeek (username: BioGeek). To log out, use jina auth logout.
Please report this session_id: [yellow bold]5d27a10c-e609-11ed-90b1-0b09b5b0a9c3[/] to https://github.com/jina-ai/jina-hubble-sdk/issues
Traceback (most recent call last):
  File "/home/j.vangoey/.pyenv/versions/chat-py39/bin/lc-serve", line 8, in <module>
    sys.exit(serve())
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/lcserve/flow.py", line 33, in wrapper
    return asyncio.run(f(*args, **kwargs))
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/nest_asyncio.py", line 35, in run
    return loop.run_until_complete(task)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/nest_asyncio.py", line 90, in run_until_complete
    return f.result()
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/asyncio/futures.py", line 201, in result
    raise self._exception
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/asyncio/tasks.py", line 256, in __step
    result = coro.send(None)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/lcserve/__main__.py", line 254, in babyagi
    await serve_babyagi_on_jcloud(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/lcserve/__main__.py", line 81, in serve_babyagi_on_jcloud
    await serve_on_jcloud(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/lcserve/__main__.py", line 47, in serve_on_jcloud
    gateway_id_wo_tag, is_websocket = push_app_to_hubble(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/lcserve/flow.py", line 284, in push_app_to_hubble
    return HubIO(args).push().get('id'), _any_websocket_router(app)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/hubble/__init__.py", line 48, in arg_wrapper
    return func(*args, **kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/hubble/executor/hubio.py", line 597, in push
    raise e
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/hubble/executor/hubio.py", line 580, in push
    image = self._send_push_request(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/hubble/executor/hubio.py", line 358, in _send_push_request
    resp = upload_file(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/hubble/executor/helper.py", line 523, in upload_file
    response = getattr(requests, method)(url, data=data, headers=headers, stream=stream)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/requests/api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/urllib3/connectionpool.py", line 398, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/envs/chat-py39/lib/python3.9/site-packages/urllib3/connection.py", line 244, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/http/client.py", line 1079, in _send_output
    self.send(chunk)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/http/client.py", line 1001, in send
    self.sock.sendall(data)
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/ssl.py", line 1205, in sendall
    v = self.send(byte_view[count:])
  File "/home/j.vangoey/.pyenv/versions/3.9.13/lib/python3.9/ssl.py", line 1174, in send
    return self._sslobj.write(data)
OverflowError: string longer than<PHONE_NUMBER> bytes

Hi @BioGeek , I've tried this and was not able to reproduce, could you try again and tell me if you're still experiencing this problem ?


Bump version to 0.45.1 (Round 3)

rc2 failed for java's release workflow failed.

Wait for main branch CI to pass.


GitVersion: Mainline doesn't yet support pre-release tags.

When running workflow in a branch, the pipeline fails because there is a previous release with a pre-release semver and GitVersions versioning mode is set to mainline. Results in the error above.
Current working solution is to delete those tags via command line with
git push --delete origin tagname

We've tested this from scratch an we could not repo the problem. We're going to close.


Multiple concurent results database in the same Redis container

A nice enhancement would be to be able to run multiple simulation and be able to retrieve and compare the given results directly from the same Redis container.

There is something to do with the name of the db in (node.py):
self.redis = redis.StrictRedis(host=redis_host, port=REDIS_PORT, db=0)


1.10.2-1.1.4 Flux Plugs not Sending/Receiving after some time

After some time flux plugs will not send nor recive energy form generators of any kind. Have to brake block and replace it again

@Leon1236 Any logs at all?

cant provide logs because its ingame event
it seams that it is random. yasterday i had to replace blocks 3 times and today not even once

Can you provide more info. Which Sonar Core are you running. Is this a server or client. What version of forge are you using?

I don't know if this is helpful in any way so take it or leave it, but I have this issue repeatable 90% of the time with flux points and the refined storage controller. Upon world load/reload the flux point appears to be connected but the controller slowly loses power. Breaking the point and replacing fixes it and provides power as intended. Exiting the world and loading it again causes the flux point to again appear perfect but not be transmitting any power. Very rarely this doesn't occur for some reason and things are fine upon world load, but thats very very uncommon. Its odd. I've noticed it once or twice with other setups, but specifically the combination of the refined storage controller and flux points has given me the most trouble. I don't have any logs and I was reluctant to pin the issue on Flux Networks without more to go on.
For me this is all on forge <IP_ADDRESS>1 with Sonarcore 3.2.4 and Flux Networks 1.1.4. Refined Storage 1.2.2 also if it matters. Single player, large custom modpack.

Fixed in dev. You'll need to update Sonar Core when I post the fixes


fix(types): fix toUnion signature to correctly infer type

This PR fixes #58

Damn, changing the order of constraints actually worked.  LGTM!


Error parser ignored unclosed tags

Hey, I am using HtmlAgilityPack to check for html syntax errors in my app. But the problem is that if the Html document contains for example a  tag that wasn’t closed, the code doesnt show parse error. But it shows parse error if theres an unopened closed tag, for example a  tag. Is there any way to solve this?

这是来自QQ邮箱的假期自动回复邮件。

您好，你的邮件已收到。
亮亮


Update CONTRIBUTORS.yaml

Add neoformit and Lain-inrae to contributors

Sorry, didn't see your request before.
Thanks a lot.


Add animation

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#189  👈
#188
#187
#186
#185
#184
#183
#182
main

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

Join @ksharma-xyz and the rest of your teammates on  Graphite


Update howto-deploy-iot-operations.md

Correct settings for Key Vault ID to correctly refer to the KV Resource ID so readers know which property to use.

@kgremban
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks @WilliamBerryiii
#sign-off


Ownership reassignment of an application

Admin should have the ability to reassign ownership of an application to a different user. Sometimes the main point of contact changes so there is a need to update the user who handles the DPG.

Hi @PelinSmines, can you specify which part/section of the admin this should be added to as a new feature?
Based on our current knowledge, the re-assignment itself should be a simple database update but the release of this update will definitely require a test environment. That issue was added to the to-do list as #37 .

@ricardomiron can you please help with defining the location for the needed feature?


Add support for $exists and $missing queries

I needed this for a project. Hope it can make it in. Here are the docs on the $exists query (scroll to bottom for the "missing" query).
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html

Hey, thanks for the feedback. I have updated the API per your suggestion. However, my main concern is whether or not ES may expand the meaning of $exists in the future. Today, it is only used for "field" specifier ({ exists: { field: 'phone' } }), but if they add other specifiers in the future the simplified array-of-strings API cannot accommodate that. Just thought I'd mention it.

Released as v1.2.0. Thanks guys!


Should helper macros (like return if None) be included?

In my jam game, I used 4 macros: r!, rq!, c!, and cq!, read "return", "return quiet", "continue", and "continue quiet" respectively. Usage looks like this:
fn my_system(my_query: Query<&Foo, With<Bar>>) {
    let foo = r!(my_query.get_single());
    // ...
}

This will unwrap the Option if it's Some, or log a warning (with a link to the exact line of code) and then return () from the system if it's None. The macros all support an optional first argument with the value to return instead of (), and can handle both Option and Result thanks to a trait that's impled for both of those types.
The quiet variants skip the warning, which is useful for cases that are "expected" to fail, like an observer that applies some optional effect if the entity it was triggered for contains a particular component.

Link to source: https://github.com/benfrankel/blobo_party/blob/main/src/util/macros.rs

I personally love convenience macros like this, but I see that they add cognitive complexity and "strangeness" and are probably more opinionated than anything else in the template since they effectively change Bevy's syntax.
Not saying "no", since I really really like these, but I'd like to hear an actual outsider's perspective first. Preferably, multiple people's opinions.

It seems that this belongs in a 3rd-party crate; and we can link to that crate in the tooling recommendations doc.

I released a crate for the macros: https://github.com/benfrankel/tiny_bail


Make ℅ state it's 1 to n, not 0 to n in the docs

Merge this xor #1567

Merging this then for backwards compatibility + https://chat.stackexchange.com/transcript/106764?m=62870968#62870968 + https://chat.stackexchange.com/transcript/106764?m=62871878#62871878


Duplicated constant REGEXPBB

Report
What did you do?
Used the latest version of danger v5.10.3
What did you expect to happen?
To not see any warnings
What happened instead?
Saw following warnings
/.ruby/vendor/ruby/2.5.0/gems/danger-5.10.3/lib/danger/ci_source/support/find_repo_info_from_url.rb:22: warning: already initialized constant Danger::FindRepoInfoFromURL::REGEXPBB
/.ruby/vendor/ruby/2.5.0/gems/danger-5.10.3/lib/danger/ci_source/support/find_repo_info_from_url.rb:13: warning: previous definition of REGEXPBB was here

Your Environment

ruby 2.5.3
rails 5.2.2
danger 5.10.3

Reference
https://github.com/danger/danger/blob/v5.10.3/lib/danger/ci_source/support/find_repo_info_from_url.rb#L13

It seems that it is my fault 😓 . I don't know how it got duplicated. I'll fix it in a moment 👍


await parent() causes parent layout load to re-run

Describe the bug
According to the loading data documentation,

To summarize, a load function will re-run in the following situations:

It calls await parent() and a parent load function re-ran

A child load function that calls await parent() should not cause parent load function(s) to re-run.
It is the other way around - the child load function should re-run if the parent load function re-ran.
However, calling await parent() seems to cause the parent load function(s) to re-run.
Reproduction
Steps

Open the StackBlitz project.
Alternately click veritas and lacetti links.
Check the console.

Logs
/routes/[sedan]/[id]/+layout.server.ts
/routes/[sedan]/[veritas]/+layout.server.ts

/routes/[sedan]/[lacetti]/+layout.server.ts
/routes/[sedan]/[id]/+layout.server.ts # not expected

/routes/[sedan]/[veritas]/+layout.server.ts
/routes/[sedan]/[id]/+layout.server.ts # not expected

Switching between /sedan/veritas and /sedan/lacetti should not cause the following function to re-run.
/** @type {import('./$types').LayoutServerLoad} */
export async function load({ params: { type } }) {
  console.log(`/routes/[${type}]/[id]/+layout.server.ts`);
  return {};
}

It should re-run only if the params.type has changed. It has not. The value stays as sedan.

Fix

Remove await parent(); from /routes/[type]/[id]/+layout.server.ts
Alternately click veritas and lacetti links.
Check the console.

Logs
/routes/[sedan]/[id]/+layout.server.ts
/routes/[sedan]/[veritas]/+layout.server.ts

/routes/[sedan]/[lacetti]/+layout.server.ts

/routes/[sedan]/[veritas]/+layout.server.ts

Logs
No response
System Info
❯ npm list
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>
Severity
annoyance
Additional Information
No response

Giving this the documentation because this works as designed. If you are using await parent() in a server load function, that parent data needs to be made available somehow, and passing the data back to the server would not scale for larger payloads. Since the server is stateless, the parent load function needs to rerun in order to make that data available.

I have a similar issue, but with client loads.
From a childs load function, I'm calling await parent() and then throwing a redirect. This causes the parent load to be called twice. The reason for the redirect is to automatically select a child route ie: go from /foo/ to /foo/bar
The parent load calls a slow API so I'd like to avoid that.
Is this intended, if so what is a better way to load a list of data and then automatically select the first one AND change the route accordingly? Thanks!

Giving this the documentation because this works as designed. If you are using await parent() in a server load function, that parent data needs to be made available somehow, and passing the data back to the server would not scale for larger payloads. Since the server is stateless, the parent load function needs to rerun in order to make that data available.

I understand this, but could this be avoided on initial load if no client load is involved?
Say I have a root +layout.server fetching data, and a root +page.server that is only meant to be a redirect to deeper levels (so there is no root +page.svelte file).
This +page.server needs the layout data to generate the url it will redirect() to. The main goal of doing this in server is to allow SSRing the destination page on initial load (after that the root page is never reached again because the client has the data to generate the destination link when needed).
This works as expected except the layout load is ran twice. It seems to me like it's avoidable in theory, but maybe I'm wrong or maybe it's too much of an edge case.


[TabBar] Use InfoBadge for TabBarItem badge support

We should change the API for TabBarItem to just have an InfoBadge property and use the InfoBadge in the template here

Related issue: https://github.com/unoplatform/Uno.Gallery/issues/1106

@morning4coffe-dev is handling this

@agneszitte I can't seem to assign @morning4coffe-dev to this, can we add him to to users?

@agneszitte I can't seem to assign @morning4coffe-dev to this, can we add him to to users?

Done


File Handler action to support Teams integration

Currently you can create the predefined newfile/open/preview file handlers or a custom handler. I currently  have open and preview implemented.  When i click on my custom file type in Microsoft Teams. I get the following error:
Hmm… looks like this file doesn't have a preview we can show you.
Is it possible to create a file handler that gives preview functionality inside Teams similar to the office products?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 815ef941-29d7-1864-6be3-f533dd62da00
Version Independent ID: 1d566c70-e679-caf2-312a-27aa5e2cc62e
Content: Add custom actions to files - OneDrive - OneDrive dev center
Content Source: docs/file-handlers/define-actions.md
Product: onedrive
GitHub Login: @rgregg
Microsoft Alias: rgregg

File Handlers on the shared control in Teams is a feature that we're looking at.  I don't have an exact date to share but it's something being worked on.

Any update?

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


Subscription fe

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

What needs to be documented once your changes are merged?

👷 Deploy Preview for betsweatwin processing.

Name
Link

🔨 Latest commit
62e526de80c2d0727323bd00f91a91910a6b85c1

🔍 Latest deploy log
https://app.netlify.com/sites/betsweatwin/deploys/655063497da86500080724a9


Changes in response structure

Hi,
It will be a great help if we can change the response structure in a more user friendly way. eg.
 {
          "response": {
            "status": "success",
            "result": {
              "target": "www.somethimg.com",
              "avgRtt": "4.17",
              "maxRtt": "7.019",
              "minRtt": "0.854",
              "pctTransmitted": "3",
              "pctReceived": "3",
              "pctLoss": "0%"
            }
          },
          "request": {
            "query": "<IP_ADDRESS>",
            "timeout": "1",
            "retry": "3",
            "version": "v4"
          }
        }

This way we can better analyse the response later, as we are keeping a track of the actual request as well.
Thanks,
Prerna

solved by #5
thanks for your contribution


Add possible disable created service and propose new approach about customize ignore_changes

Reopen https://github.com/cloudposse/terraform-aws-ecs-alb-service-task/pull/119
what

Add possible disable created service

why
Sometimes there is a need to add ignore_changes to sites. The current approach is to copy the entire block. I propose to output the necessary variables to the output, and then add the appropriate block that will create the service with your code.
references
Don't create issue :)

/terratest


[Enhancement] Redesign Result interface to fit different metrics

The current stage, we have added regression models. However, the user interface is hard-coded for classification model evaluation in the result section. There is a need to redesign this part to make it dynamically adjustable. If a regression model is used, it should display evaluation metrics relevant to regression models.

Do you mean that the result section should also change based on the model selection?

Yeah

The current metrics of regression model are [Mae, Mae, R2 score]

I'm currently considering dividing the model into various playgrounds so that users can choose specific ones to engage with and experience machine learning. In that case, we won't require as much if-else logic in our current playground. Additionally, we might be able to address the issue where the example didn't work.