GET /api/dashboard/home/info  Not Found for PE 3.2.2

Error : GET /api/dashboard/home/info for Version PE 3.2.2  not found 'message: "Http status error [404]'

Hi @abdalmoti,
Yes, this API is not available in TB PE 3.2.2.
This endpoint will be added to the new release TB 3.3.0.

When TB PE 3.3.0 will be available to upgrade?

Release is scheduled for 2-3 weeks

Hi @abdalmoti,
The release took place on August 13.


Invoke-Paranoia

Not perfect. Tested on win7 x64 usgbc

Awesome! Rolling this into the 1.3 release.


connection.query is not a function

I have a test suite that queries against a postgres running in a docker container. When I run tests using mock-knex before I run my integration tests, all those tests start failing with the following stack:
20) lib/models/Foo "before all" hook:
     TypeError: insert into "users" ("created_at", "password", "updated_at", "username") values ($1, $2, $3, $4) returning "id" - connection.query is not a function
      at /someProject/node_modules/knex/lib/dialects/postgres/index.js:151:18
      at tryCatcher (/someProject/node_modules/knex/node_modules/bluebird/js/main/util.js:26:23)
      at Promise._resolveFromResolver (/someProject/node_modules/knex/node_modules/bluebird/js/main/promise.js:480:31)
      at new Promise (/someProject/node_modules/knex/node_modules/bluebird/js/main/promise.js:70:37)
      at Client._query (/someProject/node_modules/knex/lib/dialects/postgres/index.js:150:12)
      at Client.query (/someProject/node_modules/knex/lib/client.js:127:24)
      at Object.<anonymous> (/someProject/node_modules/knex/lib/runner.js:116:24)
      at Object.tryCatcher (/someProject/node_modules/knex/node_modules/bluebird/js/main/util.js:26:23)
      at Object.query (/someProject/node_modules/knex/node_modules/bluebird/js/main/method.js:15:34)
      at /someProject/node_modules/knex/lib/runner.js:44:21
      at /someProject/node_modules/knex/node_modules/bluebird/js/main/using.js:176:30
      at tryCatcher (/someProject/node_modules/knex/node_modules/bluebird/js/main/util.js:26:23)
      at Promise._settlePromiseFromHandler (/someProject/node_modules/knex/node_modules/bluebird/js/main/promise.js:507:31)
      at Promise._settlePromiseAt (/someProject/node_modules/knex/node_modules/bluebird/js/main/promise.js:581:18)
      at Promise._settlePromises (/someProject/node_modules/knex/node_modules/bluebird/js/main/promise.js:697:14)
      at Async._drainQueue (/someProject/node_modules/knex/node_modules/bluebird/js/main/async.js:123:16)
      at Async._drainQueues (/someProject/node_modules/knex/node_modules/bluebird/js/main/async.js:133:10)
      at Immediate.Async.drainQueues [as _onImmediate] (/someProject/node_modules/knex/node_modules/bluebird/js/main/async.js:15:14)

I'm using the following hooks in mocha everywhere I run tests using mock-knex:
before(function () {
    db = knex({ client: 'postgres' });
    mockDb.mock(db);
    models = modelsFactory({ knex: db, config });
});
after(function () {
    mockDb.unmock(db);
});
beforeEach(function () {
    tracker.install();
});
afterEach(function () {
    tracker.uninstall();
});

Any idea what I should look for?
The following versions are in play:

nodejs v4.2.2
bookshelf 0.9.1
knex 0.9.0
mock-knex 0.3.0

It is likely due to unmock not functioning properly? This is a known issue that requires attention.

Did you ever look in to this? I am having the same error

@jbrumwell I am also having this error (connection.query is not a function), which I eventually tracked back to being related to the fact that I am expecting unmock() to work properly and it doesn't. Worse, mock-knex is clearly impacting GLOBAL state as the mocked knex instance is in an entirely different test suite and initialized separately from the one that is not mocked, and it was just by luck that that suite got run first. If this isn't something that can be fixed shortly, I'll have to move away from mock-knex entirely as it is unimaginable to have a library in my code base that affects global state and is not undoable.

@mschoendorf correct we have to mock the instance passed to us or bookshelf models etc would not be mocked and would be using the original knex. I unfortunately do not have a timeline for you but will be looking to get it resolved in at least the latest version soon. Thank you for pinging me.

@mschoendorf @franvarney @gustavnikolaj This should be fixed with the release of 0.3.3, If you have time to run the release/0.3.3 branch and see if your still experiencing this issue that would be great.

Getting this issue on 0.3.4...

@mattgrande Can you provide a failing example? What is the original client (mysql, postgres)? What version of knex / bookshelf etc?
Thank you
Jason

Client: postgres
Node: 6.5.0
Knex: 0.11.7
Mock-knex: 0.3.4
I'll try and get you a failing example...

Here's what I'm doing:
// some-controller.js
import knex from 'knex';
const pg = knex( config.knex );

function doTheThing( req, res ) {
    const user = req.body;
    pg.select('id').from('classrooms')
        .then( rows => {
            res.status(200).json( rows );
        });
}

// some-controller.spec.js
// Imports here...
const knex = _knex( config.knex );

describe( 'POST /some/path', () => {

    beforeEach(function(done) {
        mockDb.mock( knex );
        let tracker = mockDb.getTracker();
        tracker.install();

        tracker.on('query', function checkResult(query) {
            console.log('QQQ', query);
            query.response([]);
        });

        done();
    });

    afterEach(function() {
        mockDb.unmock( knex );
    });

    it( 'should return a 404 if there is no classroom id provided', done => {
        const user = _buildUser( 'student' );
        const req = _postRequest( user );
        specHelper.expect404( req, done );
    });

    function _buildUser( role ) {
        let user = {
            _id: uuid.v4(),
            username<EMAIL_ADDRESS>        };
        return user;
    }

    function _postRequest( user ) {
        return request( app )
            .post( '/some/path' )
            .send( user );
    }

});

And here is the error:
Unhandled rejection TypeError: select "id" from "classrooms" - connection.query is not a function
    at /Users/matt/projects/api-iota-server/node_modules/knex/lib/dialects/postgres/index.js:180:18
    at Promise._execute (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/debuggability.js:272:9)
    at Promise._resolveFromExecutor (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/promise.js:475:18)
    at new Promise (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/promise.js:77:14)
    at Client._query (/Users/matt/projects/api-iota-server/node_modules/knex/lib/dialects/postgres/index.js:179:12)
    at Client.query (/Users/matt/projects/api-iota-server/node_modules/knex/lib/client.js:187:24)
    at Runner.<anonymous> (/Users/matt/projects/api-iota-server/node_modules/knex/lib/runner.js:129:36)
    at Runner.tryCatcher (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/util.js:16:23)
    at Runner.query (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/method.js:15:34)
    at /Users/matt/projects/api-iota-server/node_modules/knex/lib/runner.js:55:21
    at tryCatcher (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/util.js:16:23)
    at /Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/using.js:185:26
    at tryCatcher (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/promise.js:504:31)
    at Promise._settlePromise (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/promise.js:561:18)
    at Promise._settlePromise0 (/Users/matt/projects/api-iota-server/node_modules/bluebird/js/release/promise.js:606:10)

(Sorry for the dump of text)

Does request open a live connection? What happens if you run the query directly in the test?
it( 'should return a 404 if there is no classroom id provided', done => {
  pg.select('id').from('classrooms')
        .then( rows => {
            console.log('done');
        });
});

Does this get called? My thought here is that you are not mocking the same instance of knex but are in fact creating two different instances. If you stub the creation code to its own module something like
lib/knex
import config from '';
import knex from 'knex';
export default knex( config.knex );

Ah, okay, so if I only create the knex object once, and then mock that, it should work? That makes a lot of sense; I'll give it a shot later.

Yep, that's what it was. Thanks.

No :-)


Fix formatter after updateOptions

Now throws "formatter is not a function" after calling updateOptions.

Thank you!


Query authentication Flow configuration

Created by: @marvinkite Sep 10 2020 at 13:47 CET
Last updated: Jul 06 2021 at 17:25 CET
ClickUp ID: IK-205
As browser starts authentication session  HTTP POST https://{customer_name}.indykite.id/auth/{application_id}	the Helios service can lookup the appropriate flow to execute and load to the memory.
The application_id could implicitly determine the customer so the hostname could be obsoleted entirely for detecting the customer_id.
Configuration stored as Binary (data) with a schema id (data_type) and for consistency check an ETag (etag)
Permissions (Shell we add it here?)
Helios Service Account should be able to read to be able to execute the flow
Admin user only when allowed so shell we pass some extra parameter to authorise? Maybe the digital_twin_id? The authorisation decision may be evaluated before service calls this operation.  How the authorisation call would look like.
Code Documentation
Find the flow config
FindAuthenticationFlowConfig finds the default flow config for given application
Input Parameters:
- application_id
Output Object:
- customer_id
- app_space_id
- config_id
- data
- data_type
- etag
success (non empty output) or fail (empty)
[(Flow may refer to other ConfigNodes in the future we can pre-fetch at once)]
Get the flow config if changed
GetAuthenticationFlowConfig gets the flow configuration if etag value has changed
Input Parameters:
- config_id
- etag
Output Object:
- config_id
- data
- data_type
- etag
Cypher#1 - find the flow by application_id:
Sample parameters
:params {application_id: '696e6479-6b69-4465-8000-020000000000'}
Query
MATCH (c:Customer)-[:HAS]->(apps:AppSpace)-[:HAS]->(app:Application {id:  $ application_id})
OPTIONAL MATCH (apps)-[:HAS]->(flow:ConfigNode:AuthFlow {default: true})
RETURN { customer_id: c.id, app_space_id: apps.id, config_id: flow.id, data: flow.data, data_type: flow.data_type, etag:flow.etag};
Cypher#2 - get the flow if etag was updated:
Sample parameters
:params {config_id: '696e6479-6b69-4465-8000-020000000FIX', etag: ''}
Query
OPTIONAL MATCH (flow:ConfigNode:AuthFlow {id:  $ config_id}) WHERE flow.etag <>  $ etag
RETURN {flow_id:  $ config_id, data: flow.data, data_type: flow.data_type, etag:flow.etag};
Change History:
Checklist

[ ] Create the cypher query
[ ] Implement and apply the cypher query

Commented by: @marvinkite Sep 12 2020 at 20:06 CET
@yetizer This works for now. We can update this when the configuration can be stored. No I use hardcoded value.


Unable to start project due to version issue

I tried setting up a minimal project to try out the library. Unfortunately the console application does not start due to an issue with the XGBoostSharp assembly.
Here is the project setup:
.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="libxgboost-2.0.3-osx-x64" Version="1.0.0" />
    <PackageReference Include="XGBoostSharp" Version="0.4.5" />
  </ItemGroup>

</Project>

Program.cs
using XGBoostSharp;

using var classifier = new XGBClassifier(maxDepth: 3, learningRate: 0.1f, nEstimators: 100);

Console.WriteLine("Hello, World!");

When running the app I get the following error:
Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'XGBoostSharp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

File name: 'XGBoostSharp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'

Process finished with exit code 134.

I'm running the app on an M1 Pro CPU under macOS 15.1.1. .NET SDK 8.0.403, Runtime .NET Core 8.0.10
I would appreciate if you can give me any pointers to mistakes on my side or if there is some misconfiguration of the NuGet.

Hi @DanielZuerrer
Sadly I only have a windows machine to test on locally. Here the same minimal project runs with no issues using either the xgboostsharp package or the xgboostsharp-cpu package. The package is tested on macos-13 via CI and github actions. This is the only macos test I can do at this time. It is weird though that it is the dotnet package that can't be found. I would have expected potential macos issues to come from the native libxgboost package. How does your build folder look? Is the XGBoostSharp.dll present? On my windows machine it looks like this:

Thank @mdabros for the response. The XGBoostSharp.dll is present, the build folder looks identical to yours. We could also try it on a windows machine of a colleague and there everything worked without any issues. This leads me to believe it's an issue with the underlying libxgboost.dylib not matching the ARM architecture.
Would it be possible for you to provide an additional NuGet for ARM macs in addition to the three native x64 libraries? I have already checked the wheels you listed in the NuGet readme and there is an mac arm64 version of xgboost.

@DanielZuerrer Sounds like that could be the problem. Yes, I can try adding a package for arm64 if there is a native lib available in the wheels. I will try to add it when/if time permits during this week or the next. I will get back to you here once it is available. If possible I will try to test the package via CI, but if not, you might have to do a couple of tests locally to ensure if works :).

@DanielZuerrer I have added the native package for osx arm64. See https://www.nuget.org/packages/libxgboost-2.0.3-osx-arm64/.  You are welcome to try and test it with the current release. However, I believe it will not work before XGBoostSharp is build for AnyCPU instead of specific x64. I have made those changes in this PR: https://github.com/mdabros/XGBoostSharp/pull/41. I I have tested the package for osx arm64 using CI sucessfully, and it should work with the next release. However, I was unable to get get the CI running with osx arm64 together with the other packages and runtimes, so it is disabled in the CI for now. See the PR for more details.
I will create a new release containing the AnyCPU build during next week.

@mdabros thank you, I'm happy to see you got to it so quickly. You're correct, the sample app with the osx arm64 package still has the same issue. However, I cloned this repository and added the sample console app to the solution directly. With the latest version from PR #41 it now works. Thank you for the quick updates!

@DanielZuerrer Sounds good, and thanks for testing!

@DanielZuerrer Version 0.4.6 has been released with the changes mentioned above. So you can get this version via nuget now. https://github.com/mdabros/XGBoostSharp/releases/tag/v0.4.6

@mdabros thank you again, that's great news. I got it running in our project and everything looks good!
One small issue I've found is that the libxgboost-2.0.3-osx-arm64 package does not seem to play well with class library projects. This arrangement of dependencies does not work:

Building the solution gives this error:
Error MSB3030 : Could not copy the file "bin/Debug/net8.0//runtimes/osx-arm64/native/libomp.dylib" because it was not found.
However in this arrangement it does work:

For us it's fine to just have the libxgboost-2.0.3-osx-arm64 dependency in the API project, it's just not super nice with the dependencies going the "wrong way". So it's definitely nothing urgent, but if you know where the issue could we would appreciate any updates. Probably also something for a different issue as we got everything running now.
Thanks again for all the support and quick updates!

@DanielZuerrer Sounds good you got things running. It would be great to close this issue, and open a new one with the dependency issue. I will try to take a look at it when time permits. Thanks for bringing in the issues, so we can have them fixed.

I finally got around to making the new issue here: #45
As mentioned, it's definitely not urgent as the workaround is okay for us.


When reading stdin restic detects changes in the same data

Output of restic version
restic 0.9.6 compiled with go1.13.4 on linux/amd64
How did you run restic exactly?
docker exec percona-mysql-5.7 mysqldump --all-databases --skip-dump-date | restic --repo /tmp/restic-repo/ --password-file /tmp/pass backup --stdin

Files:           0 new,     1 changed,     0 unmodified
Dirs:            0 new,     0 changed,     0 unmodified
Added to the repo: 301 B

processed 1 files, 828.729 KiB in 0:00
snapshot fa88e084 saved

What backend/server/service did you use to store the repository?
Locally on Ubuntu 18.04 with ext4 filesystem.
Expected behavior
If there were no changes in databases (dumps are identical), restic should report that there are no changes (or 1 file is unmodified).
Actual behavior
If run the command several times, restic reports that 1 file was changed despite that fact that dumps are identical.
Steps to reproduce the behavior

Deploy MySQL on Docker.
Dump a database and pass output to restic with the --stdin option.

Do you have any idea what may have caused this?
As far as I understand, restic checks timestamps (atime, mtime, ctime) for a file and probably this mechanism cases the issue. But it is not clear how it works for stdin.
Do you have an idea how to solve the issue?
Probably a flag to ignore timestamps is needed.

@andrey1vanov Thanks for filling out the issue template!
As you suspect, the matter here is that restic checks ctime to detect file changes. If the ctime changed it will consider the file changed, and process it.
In your case, restic will process the file, but it will not store an additional copy of it in the repository, because it has already stored a copy of this data in previous backup runs. This is due to deduplication - it will only save one copy of the same data.
So, effectively this just takes a little more processing time. Is that a concern for you? I don't think restic will be changed so that the reporting of which files changed depends on the result of the deduplication rather than the metadata of the files.
Here's what I think is the relevant code (from cmd/restic/cmd_backup.go):
	var targetFS fs.FS = fs.Local{}
	if opts.Stdin {
		if !gopts.JSON {
			p.V("read data from stdin")
		}
		filename := path.Join("/", opts.StdinFilename)
		targetFS = &fs.Reader{
			ModTime:    timeStamp,
			Name:       filename,
			Mode:       0644,
			ReadCloser: os.Stdin,
		}
		targets = []string{filename}
	}

@rawtaz

So, effectively this just takes a little more processing time. Is that a concern for you?
My concern is that despite the fact that we sent the same MySQL dumps (the same data) to stdin, nevertheless, we see that something was changed in that data. So, it leads to false expectations.

My proposal in case with stdin is to ignore ctime or allow to ignore it explicitly with --ignore-ctime option as an example.

@andrey1vanov But how is this an actual problem for you?
The normal goal by backing up data is to get the data backed up, and that is what you still get here. The new/changed files reporting is just statistics for you, so I fail to see how this is relevant enough be a problem.
Surely you have other means to know if your database contents changed for the day than looking at the report from a backup run?
The flag you propose would effectively be just for modifying how statistics is reported, it has no practical effect on the actual backup or deduce process in your use case. It's just cosmetics.

I don't think it's ok to accept statistics being inaccurate, and disagree that they are just "cosmetic".  I use the statistics to get a feel for whether or not things are working as expected.
My latest example was one of my mounts dropped without me knowing, restic showed total_files_processed = 0, which quickly led to a fix.

@PrplHaz4 If you think it's more than a cosmetic problem, perhaps you or the OP can explain what the actual practical problem is?

I was saying statistics are not merely cosmetic.
Not intimately familiar w/this problem, but it sounds like anytime stdin is used it will look files have changed according to statistics, but they haven't - the only thing different is ctime.
Maybe the "fix" for this is accepting that fact and putting a note in the doc.
The feature request would maybe be something like you said about using dedupe results in statistics if ctime is ignored or by default when input is stdin (as there's no better way to determine if there have been changes to the data)?

printing file stats at all doesn't really make sense when using --stdin. maybe restic shouldn't print file stats at all in that case?
So instead of:
repository af7ba211 opened successfully, password is correct

Files:           0 new,     1 changed,     0 unmodified
Dirs:            0 new,     0 changed,     0 unmodified
Added to the repo: 305 B

processed 1 files, 2.897 KiB in 0:00
snapshot 946f084a saved

Maybe it should say:
repository af7ba211 opened successfully, password is correct

Added to the repo: 305 B

processed stdin, 2.897 KiB in 0:00
snapshot 946f084a saved

thoughts?

I think this is something that doesn't need fixing. It's pretty simple:

How restic checks if other files (non-stdin ones) have changed or not is by the timestamp of the data, not by the contents of the data.
When you in this specific case supply data to restic by stdin, you have not changed the data, but you have changed the timestamp. Simply because the timestamp of the "file" stdin is not the same as the last time you backed it up.
In other words, the ctime for the stdin "file" that restic is backing up has changed. Just like when the timestamp for a regular file changed.
What restic then does is process the file, and flag that the file was changed. Like any other program using timestamps for change detection would.

If you look at this as if stdin is/was a regular file that had its timestamp changed, you might see it as more normal – If a regular file's timestamp was changed, but the contents was still the very same as last time you backed it up, restic would do the very same thing as you are seeing here with stdin. There's no difference, except that the file happens to come in through stdin instead of residing on the filesystem.
If you want to change this, do you also want to change how restic treats regular files that has a changed timestamp but no changed contents? Probably not.
That's just my opinion. I personally wouldn't spend time "fixing" this. But it's not my decision, and I support whatever decision is made by the core devs 👍
There's a similar discussion on the topic of change detection at https://github.com/restic/restic/issues/2495 but it's a bit different in terms of issue/use case.

@rawtaz

But how is this an actual problem for you?

Every hour we create database backups and upload them to our S3 storage. So as to understand whether something was changed or not it is more convenient to analyze logs and find at what time we got changes instead of comparing every commits in restic repository. Also I imagine users' frustration when they saw that something was changed during a backup but restic diff shows no differences.
For me it is quite strange that restic checks ctime with the --stdin flag as there is an expectation that we operate data (or data flows) between processes rather than files. So, file attributes of the file descriptor should be ignored probably.
Also, if statistics were provided it should not be confusing. It should be clear, precise and provide an understanding of a situation for further analysis instead of showing us that something was changed but in fact it was not.

I don't think it's a major problem, but we should not print the stats for files/dirs when reading from stdin.

One more question about stdin. Why restic diff does not show that metadata for a snapshot was changed? There is U designation in case when metadata (access mode, timestamps, ...) for the item was updated. But I see the following:
comparing snapshot 5a0bba25 to 44744c0a:

Files:           0 new,     0 removed,     0 changed
Dirs:            0 new,     0 removed
Others:          0 new,     0 removed
Data Blobs:      0 new,     0 removed
Tree Blobs:      0 new,     0 removed
  Added:   0 B
  Removed: 0 B

I think this issue raises very practical concerns with the stdin handling. As you pointed out, stdin is not a file but rather just "data".
I think right now the project is mainly focused on traditional files, and the --stdin feature was just quickly added to improve usability. But as adoption of restic grows, it'd be amazing to have the tools to handle data from multiple stdin streams and make sure they're a first-class citizen in the backup. In my eyes, the current issue of misleading output from restic in special stdin use cases is just a symptom of the underlying decisions that maybe could be done even a bit more cleanly.
@fd0 is there a way to get rid of all logic that involves some sort of "file creation time" in restic?

I think this issue raises very practical concerns with the stdin handling. As you pointed out, stdin is not a file but rather just "data".
I think right now the project is mainly focused on traditional files, and the --stdin feature was just quickly added to improve usability. But as adoption of restic grows, it'd be amazing to have the tools to handle data from multiple stdin streams and make sure they're a first-class citizen in the backup. In my eyes, the current issue of misleading output from restic in special stdin use cases is just a symptom of the underlying decisions that maybe could be done even a bit more cleanly.
@fd0 is there a way to get rid of all logic that involves some sort of "file creation time" in restic?

I think this issue raises very practical concerns with the stdin handling. As you pointed out, stdin is not a file but rather just "data".
I think right now the project is mainly focused on traditional files, and the --stdin feature was just quickly added to improve usability. But as adoption of restic grows, it'd be amazing to have the tools to handle data from multiple stdin streams and make sure they're a first-class citizen in the backup. In my eyes, the current issue of misleading output from restic in special stdin use cases is just a symptom of the underlying decisions that maybe could be done even a bit more cleanly.
@fd0 is there a way to get rid of all logic that involves some sort of "file creation time" in restic?

I think this issue raises very practical concerns with the stdin handling. As you pointed out, stdin is not a file but rather just "data".
I think right now the project is mainly focused on traditional files, and the --stdin feature was just quickly added to improve usability. But as adoption of restic grows, it'd be amazing to have the tools to handle data from multiple stdin streams and make sure they're a first-class citizen in the backup. In my eyes, the current issue of misleading output from restic in special stdin use cases is just a symptom of the underlying decisions that maybe could be done even a bit more cleanly.
@fd0 is there a way to get rid of all logic that involves some sort of "file creation time" in restic?


Xray Execution status after the upload

We have noticed that the executions always have the "To Do" status after the upload, which should be "Done." I also added the following key in resultsUpload, but it didn't work:
"testExecutionIssue": {
"passed": "Done"
}

You can already do that: https://qytera-gmbh.github.io/projects/qtaf/sections/plugins/xray/Configuration/#testexecutionissue


FileName with unicode charcter CPP AWS SDK

I have a requirement where I download the file from S3 bucket to client with a filename which consists of unicode character.
Example:
transfer_manager->DownloadFile(bucket_name, object_name, fileName)

, where filename is filePath/–test--aws––store__–Status%28th–Aug_2022–.txt. After successful execution of DownloadFile the unicode character in filename gets replaced with ?(question mark) and it's saved as �test--aws��store__�Status%28th�Aug_2022�. I am using windows as a client. Using sdk https://github.com/aws/aws-sdk-cpp. Please let me know if I am missing something.

I think this will be fixed with this PR. It looks like the sdk is encoding the filename when it shouldn't be which is fixed in the PR

We don't want to change how we handle some characters by introducing the PR I made above. You can find a list of safe and unsafe characters for s3 object keys here. Please let me know if you have any questions about this.


Error in strsplit(sample_name_long, split = ";") : non-character argument

Hi,
I'm having a strange issue with reading OPUS files and requesting only the data. This used to work, about a year ago:
read_opus('e:/mir/MIR-training/HI-test/spectra/103283XS01.0', data_only = TRUE)

The error message looks like this:
Error in strsplit(sample_name_long, split = ";") : non-character argument
In addition: Warning messages:
1: In strptime(time_hour, format = "%Y/%m/%d %H:%M:%S", tz = etc_tz) :
  unknown timezone 'Etc/NA'
2: In as.POSIXct.POSIXlt(strptime(time_hour, format = "%Y/%m/%d %H:%M:%S",  :
  unknown timezone 'Etc/NA'
3: In as.POSIXlt.POSIXct(x) : unknown timezone 'Etc/NA'

Reading the file works as expected with data_only = FALSE.

I have the same issue:
data_list <- read_opus_single (dsn = "C:/Users/Documents/Data/POM characterization/FTIR/Data/DByDate/15_2_2024/L12_Y24.0")
Warning messages:
1: In strptime(time_hour, format = "%Y/%m/%d %H:%M:%S", tz = etc_tz) :
unknown timezone 'Etc/GMT+1	'
2: In as.POSIXct.POSIXlt(strptime(time_hour, format = "%Y/%m/%d %H:%M:%S",  :
unknown timezone 'Etc/GMT+1	'
3: In as.POSIXlt.POSIXct(x) : unknown timezone 'Etc/GMT+1	'

For the warning in strptime, we tracked the problem down to unexpected whitespace in the timezone; in get_meta_timestamp our timezone is coming out "(GMT+1)\t" with a spare tab character. We solved it for the moment by updating a regular expression to strip whitespace from the end of the timezone (line 29 in extract_metadata.R):
tz <- gsub(pattern = "\\(|\\)|\\s+$", "", x = time_hour_tz[3L])

I'm reluctant to post this in a PR because I'm unsure where this tab character is coming from, and whether this is better handled somewhere in the parsing functions.

Hi,
I'm having a strange issue with reading OPUS files and requesting only the data. This used to work, about a year ago:
read_opus('e:/mir/MIR-training/HI-test/spectra/103283XS01.0', data_only = TRUE)

The error message looks like this:
Error in strsplit(sample_name_long, split = ";") : non-character argument
In addition: Warning messages:
1: In strptime(time_hour, format = "%Y/%m/%d %H:%M:%S", tz = etc_tz) :
  unknown timezone 'Etc/NA'
2: In as.POSIXct.POSIXlt(strptime(time_hour, format = "%Y/%m/%d %H:%M:%S",  :
  unknown timezone 'Etc/NA'
3: In as.POSIXlt.POSIXct(x) : unknown timezone 'Etc/NA'

Reading the file works as expected with data_only = FALSE.

Hi Dylan, thanks for bringing this issue up! I'll checkout a solution that fixes the locale setups we know, possibly this week.

For the warning in strptime, we tracked the problem down to unexpected whitespace in the timezone; in get_meta_timestamp our timezone is coming out "(GMT+1)\t" with a spare tab character. We solved it for the moment by updating a regular expression to strip whitespace from the end of the timezone (line 29 in extract_metadata.R):
tz <- gsub(pattern = "\\(|\\)|\\s+$", "", x = time_hour_tz[3L])

I'm reluctant to post this in a PR because I'm unsure where this tab character is coming from, and whether this is better handled somewhere in the parsing functions.

Thanks for a first ad-hoc solution, i'll investigate a bit further and see whether we can use a fix that generalizes.

Great, we can provide a sample file if needed.

Great, we can provide a sample file if needed.

please, very happy if you do so. baumann dash philipp at protonmail dot com or here.

Thanks everyone. I'll also send an example file!

This should be fixed now :-) Would be great if you can briefly check out the PR and test with your example file, too. Also, would be good to have an extra test file. Good to not test CRAN size limit, but it can't hurt to solidify testing with reverse engineering ;-)
More infos what was done in PR.
@mtalluto regex parsing for extra tab/space was useful, and it provides stable to get rid of the warning.
Overall, we were missing to parse "sample" and "history" blocks when data_only = TRUE. Therefore, sample name and timezone infos from the OPUS files weren't included. It is good to do so I think.

cc @ThomasKnecht , would be great if you can give a short review of the code (if time) :-)

Thank you all for catching this bug 💯

@mtalluto regarding the fix of the warning; the correct time info we could only find in the history. It is a messy file (Windows origin plus proprietary Bruker), so that's the best we can do to parse the text lines.

Tested from my end, our file now loads with no warnings. I sent you the file via email, feel free to include with the tests.

Thanks!

Thanks!

welcome, thanks also for the file. And if you have any suggestions or comments in the future, happy to discuss.


Remove microscope helpers from testing packages

This PR removes the microscope helpers and code from the test package.
Fixes: #9407

This change is

test-me-please

Coverage decreased (-0.02%) to 45.427% when pulling 9a8c46ef608d0b3a795321e340fdf4cf4827199b on mdevilliers:remove-calls-to-microscope-9407 into 2586d5902b3ae7b369794fb06b95313cb2d9fd86 on cilium:master.

Monitor aggregation flake: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/15820/testReport/junit/Suite-k8s-1/16/K8sDatapathConfig_MonitorAggregation_Checks_that_monitor_aggregation_restricts_notifications/

test-me-please


feat: track product images in state

Before this PR
The product images container would not update even after a selection was made and the JSON field was updated.
After this PR
The products images container updates to show the newly selected image, accurately reflecting the state of the JSON.
Video
update-p-image-container-on-save.mov

Current dependencies on/for this PR:

next

PR #256

PR #258

PR #259

PR #257

PR #267

PR #275

PR #264

PR #274

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: 6cwJaETgMG17vfBY88e2


Crash related to Windows directory separtor

Thanks for making this, I'm finding it very useful.
On Windows I am getting a crash: attempting to perform arithmetic on a nil value  "last"
Here is the code causing the issue.
https://github.com/danielfalk/smart-open.nvim/blob/ecaf1f272328d62fffd115b1a42ec6aacb48e676/lua/smart-open/util/virtual_name.lua#L16-L26
The variable last is still nil at the end of the function because on Windows, the path separator is \ instead of /. If I changed "/" into "\\" the error is fixed.
So I believe that all we need to do is change the directory separator depending on if Windows or not.

I don't use windows, and so can't test it there.  I can add a note to the readme that says that it's not officially supported.  I can take PRs though.


Night mode fixed. JS block time adapted to new type.

I fixed a couple of things and rebased to master. I see you've made some changes today, so there are some conflicts now.

Closed in favor of #3


VMStructs was changed in JDK 20 - need to adjust

The check_jmethodID function was basically ignored on JDK 20 because the vmstructs layout has changed.
This fix is addressing the change.

/merge


No central place to put versions in gradle build

We now use build-logic (instead of buildSrc) to factor out various dependency conventions for multi-projects.
Still impossible to get versions in one place. See:
Version catalogs aren't available for code inside of build[logic/Src]/src, so they're not compatible with the guidelines for multi-module projects
Make version catalogs accessible from precompiled script plugins

Using toml files. Seems to be the most flexible for now.


contact board members to request updated bios/headshots

contact board members to request updated bios/headshots

this should be sent to groups.io cdf-gb list

hi Dan -  do you need this by a certain date?

Voluntary. We have 90% coverage. Closing for now


Fixes typo on go path

It would probably be easier to replace all of this with
bash-it enable plugin go

Check and see if that would work. Here's what it would add: https://github.com/Bash-it/bash-it/blob/master/plugins/available/go.plugin.bash

GOPATH is no longer set. Closing this PR


No Module error

└─# shodanx
[INFO]: Import Error occured in Module imports due to: No module named 'alive_progress'
[INFO]: If you are encountering this issue more than a time please report the issues in ShodanX Github page..
Above mentioned error shown.

Hi @gowthamvijay05 ,
Please use the command mentioned in below to resolve your problem.
pip install alive_progress

I hope this command will resolve your error.
Kind regards,
@RevoltSecurities


Rework eligibility

Team eligibility is computed as-needed
Eligibility requirements are a configuration setting (long term, these could be per-event and have a richer DSL for e.g. age comparisons)
"eligible", "ineligible", and "show_ineligible" parameters reworked into
the "include_ineligible" parameter (defaults to False)

I tested that the on-demand eligibility calculation seems to be working for 1-person teams (looking at the /api/team output for various accounts). I couldn't figure out how to test adding users to a different team - is that functionality broken/disabled somewhere in this repo?

One thing we will probably want to discuss is an eligibility breaker that trips if at one point a team has someone join. For example, 4 man HS team gets a college ringer who answers 90% of problems then leaves. eligibility is as property of teams currently is to remove that loophole.

@hiliang-cmu That makes sense. It looks like show_disabled defaults to True in get_team_members(), so even as-is I think this should mark a team that previously had an ineligible member as ineligible.
However, if we ever decide to allow users to switch or outright leave teams, another solution might be needed (storing all historical team members?)

Tested this vs 2018 competition scoreboard, US HS/MS results are consistent


More restrictive input validation during predicate pushdown filter extraction

While running some TPC-H queries using dask-sql + dask-cudf, I noticed some failures around predicate pushdown that seemed to be caused by us incorrectly pushing down blockwise comparisons between columns.
This PR attempts to tighten the logic of _blockwise_comparison_dnf to block this edge case; marking this as draft as I'm not sure if we want to block all RHS getitem calls yet.
cc @rjzamora

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (2f068f9) 85.55% compared to head (d841dcc) 85.51%.

Files
Patch %
Lines

dask_sql/physical/utils/filter.py
0.00%
1 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1269      +/-   ##
==========================================
- Coverage   85.55%   85.51%   -0.05%
==========================================
  Files          77       77
  Lines        4257     4259       +2
  Branches      758      759       +1
==========================================
  Hits         3642     3642
- Misses        446      447       +1
- Partials      169      170       +1

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


Add missing peerDependencies

Running commands:
ember addon my-addon -b @embroider/addon-blueprint --pnpm --skip-npm --release-it --typescript
cd my-addon
ppm install

got following errors:
 WARN  Issues with peer dependencies found
my-addon
├─┬ @glint/environment-ember-loose 0.9.7
│ ├── ✕ missing peer<EMAIL_ADDRESS>│ ├── ✕ missing peer<EMAIL_ADDRESS>│ └─┬ @glint/template 0.9.7
│   └── ✕ missing peer<EMAIL_ADDRESS>└─┬ ember-template-lint 4.18.1
  └─┬ ember-template-imports 3.4.0
    └── ✕ missing peer<EMAIL_ADDRESS>Peer dependencies that should be installed:
<EMAIL_ADDRESS><2.0.0"<EMAIL_ADDRESS><7.0.0"

test-app
├─┬ @ember/test-helpers 2.8.1
│ └─┬ ember-destroyable-polyfill 2.0.3
│   └─┬ ember-compatibility-helpers 1.2.6
│     └─┬ babel-plugin-debug-macros 0.2.0
│       └── ✕ missing peer<EMAIL_ADDRESS>├─┬ @glimmer/component 1.1.2
│ └─┬ ember-cli-typescript 3.0.0
│   └─┬ @babel/plugin-transform-typescript 7.5.5
│     ├── ✕ missing peer<EMAIL_ADDRESS>│     ├─┬ @babel/helper-create-class-features-plugin 7.20.2
│     │ └── ✕ missing peer<EMAIL_ADDRESS>│     └─┬ @babel/plugin-syntax-typescript 7.20.0
│       └── ✕ missing peer<EMAIL_ADDRESS>├─┬ ember-data 4.3.0
│ └─┬ @ember-data/adapter 4.3.0
│   └─┬ @ember-data/private-build-infra 4.3.0
│     ├─┬ @babel/plugin-transform-block-scoping 7.20.2
│     │ └── ✕ missing peer<EMAIL_ADDRESS>│     └─┬ babel-plugin-debug-macros 0.3.4
│       └── ✕ missing peer<EMAIL_ADDRESS>└─┬ ember-load-initializers 2.1.2
  └─┬ ember-cli-typescript 2.0.2
    ├─┬ @babel/plugin-proposal-class-properties 7.18.6
    │ └── ✕ missing peer<EMAIL_ADDRESS>    └─┬ @babel/plugin-transform-typescript 7.4.5
      └── ✕ missing peer<EMAIL_ADDRESS>Peer dependencies that should be installed:
<EMAIL_ADDRESS><8.0.0"

this PR adds those missing peer dependencies to both addon and test-app

regarding @babel/core:
It's not really correct to add @babel/core to the test app like this, because it won't actually get used -- it will just be     there misleading people. The proper fix will be in ember-cli-babel 8, see https://github.com/babel/ember-cli-babel/issues/453

regarding ember-template-imports need for ember-cli-htmlbars:
This seemed weird so I went investigating and it appears to be a bug that ember-template-imports even has a peerDep on ember-cli-htmlbars. As of https://github.com/ember-template-imports/ember-template-imports/pull/73 it doesn't depend on it at all, and it should remove the peerDep.

regarding glint-environment-ember-loose
It does seem like these are unfortunately needed, because the types in glint-environment-ember-loose depend on the types in these peers. We should work with the glint team to not need the ember-cli-htmlbars dependency, because it's not a great namespace to be using for this purpose. There is Ember first-class API instead (@ember/template-compilation).

I would really prefer if newly-generated v2 addons didn't need all the glint-environment-loose stuff at all, but I don't actually know whether you can use glint-environemnt-ember-template-imports without it.
I think you could still be compatible with apps that are using loose mode glint by providing a type module for them to incorporate into their template registry, as described in https://github.com/typed-ember/glint/issues/439

Thanks for looking into this @ef4!
For 1. I still seem confused, as https://github.com/babel/ember-cli-babel/issues/453 talks about making @babel/core peerDependency of ember-cli-babel itself, which means the app need to have it in devDependencies or dependencies?
Seem I missing something.
For 2. created https://github.com/ember-template-imports/ember-template-imports/pull/87
For 3. this is below my "paygrade" 🙈 may try to tackle if find some time and courage but doubt will be able to

Correct, the app will add babel/core. But the difference is that ember-cli-babel 8 will actually use that copy. ember-cli-babel 7 will not (at least not reliably).


Enable Strict null check for ./vs/base/test/common/event.test.ts

#65233

[ ] "./vs/base/test/common/event.test.ts"

Thanks!


[METRO-124] Create a new LanguageAdministrator plugin

[METRO-124] Create a new LanguageAdministrator plugin

Reason for change :  Enhancement
Currently languages need to be set per application, which also does not work when the application is not active.
We should extend the Location sync to provide the current active langue/locale (by default determined by the location) and
the possibility to override this from the interface (e.g. when the middle ware allows the user to select a different language).
Also a notification of this change/event should be available so JS can respsond to this event.

Solution :
Instead of extending LocationSync, we have agreed to introduce a new plugin named LanguageAdministrator
to take care of the language related requirements.

Implemented Activated() & Deactivated() functions and removed StateChange() in LanguageAdministrator plugin.
Addressed other review comments from Pierre Wielders.


Drain Symbolism and Logic

Do these symbols make sense for the GRB?
Should we keep, remove or replace:

"Drains to Sewer"
"Drains to Ocean/Bay"
"Adopted"
"Adopted by you"

Things to include in the pop up.docx
We had shared this doc before you were on the project, James. Let me know if this helps...

Keep Drains
Available
Adopted
Adopted by you

map symbol
label
login
adopted

grey heart
Adopted
F
T

green grill
Available
F
F

orange heart
Adopted by you
T
T

Change "Available" symbol from green-grill to blue-waves

map symbol
label
login
adopted

grey heart
Adopted
F
T

blue-waves
Available
F
F

orange heart
Adopted by you
T
T

this is dependent on completion of #84 replacing the green-drain image with a blue-waves image.


1.1.0: sphinx warnings

+ /usr/bin/python3 setup.py build_sphinx -b man --build-dir build/sphinx
running build_sphinx
Running Sphinx v4.1.1
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 2 added, 0 changed, 0 removed
reading sources... [100%] index
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-backports.entry-points-selectable.3 { history } /home/tkloczko/rpmbuild/BUILD/backports.entry_points_selectable-1.1.0/backports/entry_points_selectable.py:docstring of importlib_metadata.entry_points:: WARNING: py:class reference target not found: importlib_metadata.EntryPoints
/home/tkloczko/rpmbuild/BUILD/backports.entry_points_selectable-1.1.0/backports/entry_points_selectable.py:docstring of importlib_metadata.entry_points:: WARNING: py:class reference target not found: importlib_metadata.SelectableGroups
done
build succeeded, 2 warnings.

More fallout from https://github.com/jaraco/skeleton/pull/36.


Algolia Search - Bad data

I am going to try to work on these myself (If I can) but...

The Custom field type for tags renders the names , Great! But if you have content picker it is rendering - umb://document/ab2001d3116744588317f979d7ee19e3. Again not really good data. The name is what you really need here.

Adding a Media picker causes things to crash and produce errors. It simply does not like it. The media URL (absolute) is what it should be able to return.

For what Algolia can do, linking into things like mobile apps and so on when you have a page of data the url you return should be an absolute URL, NOT relative.

Property type of tags is only rendering the first item

Hi @thenexus00 ,
Thank you for your support, let me know if there's anything I can assist you with.
Regards,
Adrian

Hi @thenexus00 ,
Thank you for your support, let me know if there's anything I can assist you with.
Regards, Adrian

I am struggling a little with the IndexValueFactory
Every property type needs a check to ensure good named data comes through.
Multi tree picker for example should return the name.
At some point  the field selection should be changed so you can choose what Value to return as I am sure some people will want ID's in some cases, names in others etc.

I have Tag's fixed and I have names rendering for Multiple content picker. I will get these in git on Monday.
There is one big Algolia example with search pages rendering as grouped results. They do this with multiple indexes. This is a great way for the separate data types.
The current implementation has the ability to basically have an index per document types you choose which is great. What it also needs is a filter. To define a property as the filter and a value for the filter.
Say you have category which is a Tag attribute. Choosing this and in a field input typing the word. Only pages with said filter will go into an index. I have this running for another platform. I am not too good with the back office and not across the new UI stuff. If this is a valid Idea it would be good to get this in.


Wrong response code for creating entities without id or with id = 0

Wrong response code is returned when creating entities with id = 0 or entities without an id (composite key) because of an if clause in line 384 in the RestController:
    if ($entity->id) {
        $self = $entity->getLinks()->get('self');
        $self = $plugin->fromLink($self);
        $response = $this->getResponse();
        $response->setStatusCode(201);
        $response->getHeaders()->addHeaderLine('Location', $self);
    }

What is the purpose of this if clause? Can it perhaps be replaced by the following:
if ($entity instanceof Entity){
   ...
}

I think the check for an identifier is because it's generally required in order to get the self relational link. However, I don't see anything in the code that should cause this to break; I'm going to try it now.

And, actually, testing with instanceof is unnecessary, as createHalEntity() will only ever return an entity instance.

@Wilt Okay, there are two related issues:

#43
#51

It looks like the assumption I made in the past is that an error will occur if there is no identifier present in the entity when generating the URI; however, what actually happens is that when the identifier is missing, because it's optional, it's simply dropped. I'm not sure if this is a good or a bad thing; I can certainly see it being unexpected. However, the only case this should typically happen is if you have a composite ID from multiple fields in the entity, which you are likely accounting for via a listener when generating the link.
Thoughts? You can see my attempt here:

https://github.com/weierophinney/zf-rest/commit/48dfb23267b1999542128d9a555f983df65469f6

@Wilt I think I've figured out another way to accomplish this, while working on #79.

@Wilt The way to fix this was to check for a self relational header, which you can see here:

https://github.com/zfcampus/zf-rest/pull/84/files#diff-9f89f7db73347387a05cdd06cc52abd8R394

The whole reason for that conditional was to not create the Location header in the response if we don't have a self relational header. The assumption at this point is that if we do, the plugin will be able to render it properly, so I now test only for the existence of that header.

I'm out of office for another two weeks but i promise I'll look into it as soon as I'm back...
Greetings,
Wilt
On Jul 7, 2015 11:46 PM, weierophinney<EMAIL_ADDRESS>wrote:
@Wilt Okay, there are two related issues:

#43
#51

It looks like the assumption I made in the past is that an error will occur if there is no identifier present in the entity when generating the URI; however, what actually happens is that when the identifier is missing, because it's optional, it's simply dropped. I'm not sure if this is a good or a bad thing; I can certainly see it being unexpected. However, the only case this should typically happen is if you have a composite ID from multiple fields in the entity, which you are likely accounting for via a listener when generating the link.
Thoughts? You can see my attempt here:

https://github.com/weierophinney/zf-rest/commit/48dfb23267b1999542128d9a555f983df65469f6

Reply to this email directly or view it on GitHub:
https://github.com/zfcampus/zf-rest/issues/82#issuecomment-119352035

@Wilt I think I have this resolved now, actually, with the fix for #79.

Looks great. Seems to me it does all that is necessary and it definitely solves my issue.


Add config support to initialize the context

Added support to configure the context using :metrix and :context.
E.g.
config :metrix,
  context: %{"key" => "value"}

The tests in metrix_test.exs clear the context before each test. It used to clear it after, but clearing it before removes the values added to test.exs, which are used for testing that configuration actually takes effect.
There's a new test, context_test.exs with the module tag :config, for testing the configuration.
mix test --only config

Thanks @objectuser!
I moved the initial context initialization from within the Context itself to be passed in as the initial argument. I also changed the testing to be more isolated, not relying on the test config file.


[books] reorder books according to completion status

Behind the page , it's alphabetical for iso code of languages.


feat(specification-storage): implement endpoint to fetch specifications

Purpose
Implement endpoint to fetch specifications
Approach

define API with OpenApi
create Liquebase scripts to create related table and populate default data
implement endpoint logic
cover with tests

Changes Checklist

[x] API Changes: Document any API paths, methods, request or response bodies changed, added, or removed.
[x] Database Schema Changes: Indicate any database schema changes and their impact. Confirm that migration scripts were created.
[x] Interface Version Changes: Indicate any changes to interface versions.
[ ] Interface Dependencies: Document added or removed dependencies.
[x] Permissions: Document any changes to permissions.
[ ] Logging: Confirm that logging is appropriately handled.
[x] Unit Testing: Confirm that changed classes were covered by unit tests.
[x] Integration Testing: Confirm that changed logic was covered by integration tests.
[ ] Manual Testing: Confirm that changes were tested on local or dev environment.
[x] NEWS: Confirm that the NEWS file is updated with relevant information about the changes made in this pull request.

Related Issues
https://folio-org.atlassian.net/browse/MRSPECS-3

Great job!


Redshift: add migration script for 0.5.0 to 0.8.0

Note - there is a performance optimization to be done in this upgrade script, which is to drop the JSON columns before doing the INSERT INTO SELECT.


fix: hexdec conversion exception for negative hex

fix: hexdec conversion exception for negative hex

We use WeChat to discuss， wx：qq742161455


Deal with physical node remove

We need to support user remove physical node from cluster. Generally when user delete physical node:

Change node status to Down
Export Node delete API for UI, user could delete the node without longhorn-manager running on it.
If volume has attached to the node which has been deleted, Detach it(replica on the removed node is remained for now and user need to delete this replica manually before attach to other node).
If EngineImage is controlled by the node which has been deleted, change it to another node.

Some thoughts:

It's better if we can follow the similar procedure of removing a disk. First, the user needs to detach any volumes attached to the node; second, the user needs to disable the scheduling for the node and remove the replicas on it.
We would only allow a node to be removed if it's down, and previous conditions are met. (no replica.NodeID == downNode, no engine.NodeID == downNode). After this check, no NodeID in replica or engine should be equal to the downNode.
Before the node was removed, if volume or engineImage has OwnerID equal to this node, set the OwnerID to empty. A random controller should able to pick them up. Volume should set the engine and the replicas (if exists) it owned to be the same OwnerID as itself when picking up the volume.

@yasker
That procedure of removing node sounds nice. Will fix soon.
If user could follow the procedure of remove the node, that should be fine. But what if user using kubectl delete node to remove node first? I think we need to handle this extreme situation too.  If the volume was controlled by a removed node, detach it automatically and make sure it could be reused on other node. Not sure if we need to remove the replica scheduled to the removed node.

@JacieChao Yeah, that's possible, and it's in the uninstall process.
For the manager uninstallation, the user would want to keep the volume running, so we cannot detach the volume or delete the replica. So if the user removes the node directly using kubectl, we may not do anything, except shout it out in the log (no longer a BUG though). If the user wants to remove it from Longhorn API, we should verify all the process has been followed before proceeding to remove the node.

@yasker I think it's not enough to log it out. For now user couldn't operate volumes from Longhorn API(e.g. detach or delete) when remove node by kubectl first. Since volume was controlled by the manage node which has been removed, other controller couldn't pick it up and the API will stuck to detaching.

@JacieChao That's fine for now. We don't expect the user to remove the node CRD directly unless he is uninstalling Longhorn (and presumably upgrade to a new version if any volumes are left). Once the new manager (or the old manager restarted), it would back to normal.
Why would the volume be stuck to detaching? We have to make sure the volumes work even during the uninstallation process. We cannot detach them during the uninstallation process.

@yasker If user remove node CRD it won't cause volume stuck. What we talk about is user remove physical node from cluster. If user remove the physical node from cluster, the engine pod and replica pod will be removed too. Then the volume will be stuck to detaching.

@yasker You're right. The volume will stuck in my local code. Will add the procedure and fix it soon.

Please also document the Kubernetes' reaction to a down node, make sure we have the correct assumption to deal with it.

Uninstall
Before uninstall, user need to remove KubernetesNodeDown node first. Otherwise volume or engineImage has OwnerID equal to this node won't be removed.

@yasker Add Manual-Test-Plan for kubernetes node remove case.
https://github.com/JacieChao/longhorn-tests-wiki/blob/master/Manual-Test-Plan.md

It's LGTM except for the fallthough part.

@yasker Fixed


ARSCNViewDelegate Handling Content Updates not working after import import MapboxARKit

I have been trying to implement plane detection and I was breaking my head for hours trying to figure out why the methods regarding to the newly added anchors in SceneKit were not working.
all the renderer listeners are not working after importing MapboxARKit library into the project.
https://developer.apple.com/documentation/arkit/arscnviewdelegate
e.g:
optional func renderer(SCNSceneRenderer, nodeFor: ARAnchor)
Amazing project!
Would you help me out to sort out this problem! thanks!

@boundsj


Ensure basic/test_basic/kernel_preprocessor_macros checks the OpenCL C version correctly for 3.0 onwards.

Currently, it fails if __OPENCL_C_VERSION__ is greater than the version reported by CL_DEVICE_OPENCL_C_VERSION.
However (as of the 3.0 provisional spec), it's possible to have an OpenCL 3.0 device which reports 1.2 as the highest backwards-compatible version (from querying CL_DEVICE_OPENCL_C_VERSION), but supports 3.0 according to CL_DEVICE_OPENCL_C_ALL_VERSIONS.
In that case, this test should only fail if __OPENCL_C_VERSION__ > CL_DEVICE_OPENCL_C_VERSION and __OPENCL_C_VERSION__ is not in the list returned by CL_DEVICE_OPENCL_C_ALL_VERSIONS.
I took the liberty of refactoring some of the test to make use of some helper functions in kernelHelpers.h.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.David Avedissian seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Merging as agreed in the 2020/09/15 teleconference.


NTR: disaggregase

Overview
https://www.ncbi.nlm.nih.gov/pubmed/26312418
Molecular chaperones and heat shock proteins are specialized in controlling the quality of the proteins in the cell, specifically by aiding proper folding, and dissolution and clearance of already formed protein aggregates. The latter is a function of disaggregases, mainly represented by the ClpB/Hsp104 subfamily of molecular chaperones, that are ubiquitous in all organisms but, surprisingly, have no orthologs in the cytosol of metazoan cells. This review aims to describe the characteristics of disaggregases and to discuss the function of yeast Hsp104, a disaggregase that is also involved in prion propagation and inheritance.
I think it will need to be a direct child of MF , and of protein binding like
sibling of
GO:0044183   protein folding chaperone
Definition (GO:0044183 GONUTS page)
Interacting selectively and non-covalently with any protein or protein complex (a complex of two or more proteins that may include other nonprotein molecules) that contributes to the process of protein folding.
unless you want to add a grouping term?
proposed definition
A ATPase chaperone activity that mediates the solubilization of ordered  protein aggregates

Actually this  an ATPase so it could be housed, will tweak the def (but aren't most folding chaperones, except chaperonin-mediated T-complex ATPases?)

Thre is a process for this, but it is an activity performed by some classes of chaperone:
protein unfolding
The process of assisting in the disassembly of non-covalent linkages in a protein or protein aggregate, often where the proteins are in a non-functional or denatured state.

I will also create grouping class, 'molecular chaperone activity' :
+[Term]
+id: GO:0140551
+name: molecular chaperone activity
+namespace: molecular_function
+def: "Interacting with another protein to stabilize it or help it acquire its functionally active conformation, without being present in its final structure." [PMID:21776078]
+is_a: GO:0003674 ! molecular_function
+created_by: pg
+creation_date: 2020-11-12T17:14:10Z

Should I also remove this relation:
GO:0032984 protein-containing complex disassembly
is_a GO:0043933 protein-containing complex subunit organization?

also changed the definition of 'protein folding chaperone':
OLD def: "Interacting selectively and non-covalently with any protein or protein complex (a complex of two or more proteins that may include other nonprotein molecules) that contributes to the process of protein folding."
NEW def: "Binding to a protein or a protein-containing complex to assist the protein folding process."

The problem is that chaperones group quite a few different activities. Not all are protein folding. For example preventing aggregation, preventing degradation, transporting. If we can't disambiguate these as activities, we wnd up making very convoluted annotation
chaperone, part_of  in  RNA stability, part_of positive regulation of gene expression occurs_during response to oxidative stress.
protein binding part_of  protein unfolding part_of  protein quality control  (not a real term)
We could make much more succint annotation if we didn't need to concatenate like this
We can have a grouping term but it needs to be very general - it might be better not to have a grouping term
but have specific chaperones for the different types (easer to find?)
i) Disaggregase
ii) Folding chaperone
iii) Those chaperones that 'escort' protein to the mitochondrial IM (maybe these would be carriers in GO but they are always referred to as Tim complex chaperones)
and  others

GO:0032984 protein-containing complex disassembly
is_a GO:0043933 protein-containing complex subunit organization?
sounds weird.
Is the term  "protein-containing complex subunit organization" necessary?

Euuuh, or anything with "subunit organization"?

Euuuh, or anything with "subunit organization"?

Right - assembly should be sufficient?

'subunit organization' seems to cover assembly, disassembly  and other stuff, but "organization" should be sufficient why say 'subunit organization' Is there a reason?

@ValWood
Are you saying that those 3 terms
i) Disaggregase
ii) Folding chaperone
iii) Those chaperones that 'escort' protein to the mitochondrial IM
should not have a common parent ?
https://github.com/geneontology/go-ontology/issues/19173#issuecomment-726296356

I think I am saying a grouping term might not make sense because these different types of 'chaperones' have different activities.  Or is the common theme 'some aspect of 'protein protection' ???

I guess it's ok - I just dont want to have the top level of MF too flat.

New term:
+[Term]
+id: GO:0140545
+name: protein disaggregase activity
+namespace: molecular_function
+def: "An ATP-dependent molecular chaperone activity that mediates the solubilization of ordered protein aggregates." [PMID:26312418]
+is_a: GO:0016887 ! ATPase activity
+relationship: has_part GO:0005515 ! protein binding
+relationship: part_of GO:0032984 ! protein-containing complex disassembly
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/19173 xsd:anyURI
+created_by: pg
+creation_date: 2020-11-10T16:57:19Z

Also, changed protein folding chaperone ( GO:0044183)
-OLD def: "Interacting selectively and non-covalently with any protein or protein complex (a complex of two or more proteins that may include other nonprotein molecules) that contributes to the process of protein folding." [GOC:mtg_cambridge_2009]
+NEW def: "Binding to a protein or a protein-containing complex to assist the protein folding process."  [PMID:26312418]
+is_a: GO:0016887 ! ATPase activity
+relationship: has_part GO:0005515 ! protein binding
+relationship: part_of GO:0032984 ! protein-containing complex disassembly
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/19173 xsd:anyURI
+created_by: pg
+creation_date: 2020-11-10T16:57:19Z

Also, changed protein folding chaperone ( GO:0044183)
-OLD def: "Interacting selectively and non-covalently with any protein or protein complex (a complex of two or more proteins that may include other nonprotein molecules) that contributes to the process of protein folding." [GOC:mtg_cambridge_2009]
+NEW def: "Binding to a protein or a protein-containing complex to assist the protein folding process."
On reflection I don't think it should be  part_of
+relationship: part_of GO:0032984 ! protein-containing complex disassembly
This is resolving proteins from aggregates not 'complexes'
It seems more like "protein quality control" (although we don't yet have a general PQC term, there are other tickets about this)

Just need to review parentage here...

PQC would be a process though

I was thinking that this would always be part of PQC (function process link), however it can occur in other contexts I think...
close?

it can occur in other contexts I think

I think so too


Consumer tags exceeding maximum allowed length are generated

A consumer tag is generated when Channel.Consume is called with consumer set to empty string. The generated value may exceed maximum allowed length resulting in a failure to map basicDeliver messages back to consumers and ultimately dropping messages without acks or nacks.
Change the tag generator so that it never generates names exceeding maximum allowed length. See #305 for similar problems.
I didn't run integration tests yet, but I plan to submit a pull request with the fix: https://github.com/deadok22/amqp/commit/440a0930e2eaecd094302ce250a636aace65d8c4

Please submit a PR.

Pull request: #322


Fixed Exclamation Visibility and Door Interaction Fix

-Made it so the door has it's "interactable" property set to "false" upon opening to prevent the exclamation point from showing up and the door being set to the player's "inRangeObject"
-Made it so the door has it's "spellable" property set to "false" upon opening to prevent the player from attempting to open the door and having an animation play as though they were unlocking it
For issue #14

In commit ffc8ba6, I explicitly set the player's inRangeObject to null. This effectively hides the exclamation point, since the door's interactable flag is changed to false after opening. I wonder if it would make more sense to do something like this all the time, though. In other words, "resetting" the player's inRangeObject whenever they interact with something, to ensure that thing can still be acted upon following the interaction

Can you draft this up as an issue clearly explaining this idea to make sure we're on the same page for how we'd implement this?

Will do! I'll create an issue on the TwilioQuest repo and link back to this for reference


⚠ NCAA has degraded performance

In 5f7a1ab, NCAA (https://www.ncaa.com) experienced degraded performance:

HTTP code: 200
Response time: 1945 ms

Resolved: NCAA performance has improved in 1ca84ae.


Polish some static core components

Thanks to our amazing test coverage, this one should just pass and, whilst not being super important, enhance the code quality :)

@PasWen Due to structural changes in 0.7.0, you have to adjust your PR in order to resolve the conflicts. sorry!

Closed via #94


increase the font of name of headers in detail views

Increased the font-size. I'm not entirely happy how it positions it differently depending on where in the list is it and also too long names just fade out, but neither of these might be real problems.

relates to #159

Looks better than before, but I'll work on this branch before merge

@realtalin is this ready?

@realtalin is this ready?

Yep, sorry for leaving it in limbo. Still doesn't look great imo, but I need to read up on react if I want to make more major changes (or someone who knows React)


Nettonsoft JSON version 9.0.1

Hi, is there a chance you'll upgrade to the latest version of Netonsoft.Json ? (v9.0.1)
We are having some troubles using your json serializer in a .NET project that uses json 9.0.1 (and it seems that Bond currently works with Newtonsoft.Json v7.0.1 which is a bit obsolete.)
Thanks.

We'll need to look at what sort of breaking changes came in version Newtonsoft.Json versions 8 and 9. If it "just" works, we can relax the upper bound, otherwise, some more work will need to be done to make Bond work with 7, 8, and 9.

@yagilofir Bond 4.3.0 supports Netonsoft.Json v9.0.1

Re-reading the nuspec verisioning documentation, I think what we had before commit e2be0bf was the correct thing. It specified a lower bound of 7.0.1 but no upper bound.
Looking through the history of NuGet's update behavior, the default is to install the lowest version that satisfied the constraints. If you'd like to use Newtonsoft JSON 9.0.1, you can install/upgrade to that version of Newtonsoft.Json explicitly, and Bond will still work. You can also use Install-Package -DependencyVersion Highest:
PM> install-package bond.csharp -DependencyVersion Highest -WhatIf

Attempting to gather dependency information for package 'bond.csharp.4.3.0' with respect to project 'Playground', targeting '.NETFramework,Version=v4.6.1'
Gathering dependency information took 584.53 ms
Attempting to resolve dependencies for package 'bond.csharp.4.3.0' with DependencyBehavior 'Highest'
Resolving dependency information took 0 ms
Resolving actions to install package 'bond.csharp.4.3.0'
Resolved actions to install package 'bond.csharp.4.3.0'
Install Bond.Core.CSharp.4.3.0
Install Newtonsoft.Json.9.0.1
Install Bond.Runtime.CSharp.4.3.0 : Bond.Core.CSharp [4.3.0, 4.3.0], Newtonsoft.Json [7.0.1, 10.0.0)
Install Bond.CSharp.4.3.0 : Bond.Core.CSharp [4.3.0, 4.3.0], Bond.Runtime.CSharp [4.3.0, 4.3.0]
Time Elapsed: 00:00:01.2734569

I'm preparing a PR to relax the upper bound in the .nuspec back to what we had before.

As part of adding .NET Core support, we've bumped the minimum Newtonsoft.JSON version to 9.0.1. See commits 2deb1864dfdeac5aaa4aa42d2ecd76530b4bf49c and 6829035e0cb2c940f1f261e15090bf91e7dbb148.


Control output directory and file naming of plotting functions

Invoking the plotting function(s) creates outputs in the current working directory. There is no reco algorithm in the filename, so plots from different algos so filenames could clash.
I am thinking we could pass an output_dir (by default ./output) to the plotting routines and then have a minimal tree structure of the kind event_id / reco_algo.

Will be solved by #22

Output dir is configurable since #28 , still need to revise file naming.


Plugin destroys deployments with provider.runtime other than python.

Are you certain it's a bug?

[X] Yes, I'm using the latest plugin release

Is there an existing issue for this?

[X] I have searched existing issues, it hasn't been reported yet

Issue description
If runtime in provider section is set to something not python (nodejs16.x) it will break the whole deployment.
Source:
index.js

40:  pythonBin:
41:     process.platform === 'win32'
42:       ? 'python.exe'
43:       : this.serverless.service.provider.runtime || 'python',

Service configuration (serverless.yml) content
N/A

Command name and used flags
serverless package
Command output
Error: spawn nodejs16.x ENOENT

Environment information
Environment: linux, node 16.13.0, framework 3.17.0, plugin 6.2.2, SDK 4.3.2

Hi @pgrzesik, I'm picking up where @mklenbw left off (thanks @mklenbw for reporting this issue and getting it started!).
To provide a bit more context, this issue is currently blocking the use of node 16 as a runtime (and probably node 14 as well) for Lambda, as it needs to be set in provider.runtime to be enabled.
I've created #773, which includes the work that @mklenbw did. The tests should be fixed now. Let me know once you've had a chance to run the tests. I ran prettify and lint locally, so hopefully there won't be any issues.

I can confirm that patching with #773 fixes this problem. (using runtime: node18.x)
God bless patch-package!


Fix issue #862

I create a dictionary that correlates a  Greek character to the appropriate English character. Some of the symbols are not in the dictionary like the " " and "-" but because this two characters are at the same position between the keyboards so no correlation is needed.
The code had no errors when i run py.test.
I can provide more information or extra work, if deems necessary.

If you like the solution with the dictionary i can do the same with Russian language


Do we need the @list decorator in compiler

We have this decorator with no signature and documentation
https://github.com/microsoft/typespec/blob/01b75f905de93c844a8a01449d9b5bb062ebeeec/packages/compiler/lib/decorators.ts#L776

move with lifecycle operation decorators (rest?)

est: 5

Describe the breaking change
The core @list decorator is being deprecated in favor of the @listsResource decorator from the http library
Back-compat design to avoid immediate breaking
Deprecation
Link to detailed breaking design
Impact
This change affecting:

[ ] ARM
[ ] Data-plane
[ ] Existing specs: approx. # of service/spec impacted: 0
[ ] New specs
[ ] Emitters
[ ] SDK

Targeted Sprint
Sprint: July 2023
Additional information
Add any other information about the change including fixes for here.


JAMES-4046 Upgrade Lucene

resolve https://github.com/linagora/james-project/issues/5001
status: fine at version 6

I am starting to get lost debugging the testSearchAtomsUS MPT test.
I confirm that this test failed from Lucene 4.x already.
C: A83 STORE 1:9  +FLAGS (\FLAGGED)
S: \* 1 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 2 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 3 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 4 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 5 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 6 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 7 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 8 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: \* 9 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
S: A83 OK STORE completed\.

C: A85 STORE 10:14  +FLAGS (\ANSWERED)
S: \* 10 FETCH \(FLAGS \(\\Answered \\Recent\)\)
S: \* 11 FETCH \(FLAGS \(\\Answered \\Recent\)\)
S: \* 12 FETCH \(FLAGS \(\\Answered \\Recent\)\)
S: \* 13 FETCH \(FLAGS \(\\Answered \\Recent\)\)
S: \* 14 FETCH \(FLAGS \(\\Answered \\Recent\)\)
S: A85 OK STORE completed\.

After this script, only messages 10 to 14 are added the Answered flag, while it is not the case for messages 1 to 4. Messages 1 to 4 after this script still stuck with only the Flagged flag.
The weird thing is if we do not update the  Flagged flag for messages 1 to 4 in the first place, then setting the Answer flag for them is OK.
My feeling is we have an issue updating the flag for the messages that already have a flag. But I could not progress more in that direction...

Have you checked for race conditions? I suspect the lucene indexes updates not to be idempotent...

Have you checked for race conditions?

Synchronized keyword does not solve the issue for example.

With the UpdatedFlags ad hand we can instead subtilly mix added flags / deletes flags?
BTW we might adopt a similar indempotent friendly way to apply updates into OpenSearch too I believe...

It is likely not impossible with Lucene or at least our case for partial update (Lucene supports partially update only NUMERIC and BINARY field type while our flags need to be STRING to easily query). Lucene does not provide a direct API to update just a part of a document. The typical approach in Lucene is to delete the old document and add a new one with the updated fields. This is because Lucene's indexing structure does not allow for in-place updates of individual fields without reindexing the entire document.

My feeling is we have an issue updating the flag for the messages that already have a flag.

So after a .updateDocument call:

If I use the old IndexReader, I see no change on the document but can search for the document.
If I use the new IndexReader (to try to get the latest snapshot of the index), I see no change on the document and even can not search for the document.

I tried to make IndexWriter commit everywhere and open new IndexReader but can not see the change got reflected (right away). And somehow the update is really laggy.
e.g:

after we set the FLAGGED flag on the message, we see the message has no flag.
after we add the ANSWER flag to the message, we see the message has only the FLAGGED flag.

I do not understand how that happens....
I tried to implement the optimistic concurrent control for the update flag, but either the .updateDocument API of Lucene suck as it just returns void (no way to know if the update succeeds or not so we can retry) or the IndexReader is not reliable to get the latest status of the document.

Ok I see. This is because we read the document from Lucene, patch it, then upload it again.
It is very possible for the document not to be updated internally yet (because index changes are async) and thus not seen when updating the document a second time...

Nuke option: read again from the DB :smiling_imp:
Smart option: see how partial document update had been implemented in OpenSearch / friends. They likely solved the problem already...

Otherwize I think adding some awaits in the tests might be ok, we thus would aknowlege there is a data race in our Lucene code...

Otherwize I think adding some awaits in the tests might be ok, we thus would aknowlege there is a data race in our Lucene code...

I added some AWAIT 10 seconds in the MPT test but it did not solve the issue.

It is very possible for the document not to be updated internally yet (because index changes are async) and thus not seen when updating the document a second time...

Likely not as during debugging I stop for a long time and after that, the update is still not reflected.
Of course with a new IndexReader opened (snapshot of current index).

I tried to put AWAIT after every STORE +FLAG command -> not work.
I tried to use the Luke tool to introspect the index during debugging, but not work as we can only check the index after the test...
Likely I would put this work in the standby mode for now. Unless anyone wants to have fun with it...

How about disabling the mpt tests for now, then continue the migration towards 9.11 to see if this has been done differently or solved on lucene side after?

It was just a suggestion. This task aint a priority at all, just a nice plus if we can deal with it.
Dont hesitate to take a break on something else :)


Single Page Imports doesn't work

Single Page Imports doesn't work.
After enabling the option, nothing happens when you click on the icon. In the upper right corner of LogSeq it says "Loading your theme..."
Tested on the built-in theme, on third-party themes.

Does the plugin work without enabling single page imports?
Do you have a preferred "Theme mode" set in Logseq's settings? The screen would look like this:

After enabling single page imports, did you reload the plugin? Close and open Logseq?
If you open the Developer Tools (macOS: Option + Command + I) are there any red error messages that appear related to logseq-raindrop?

Thank You. After "dancing" with various settings now all ok. I'll try on clean LogSeq installation.
Some questions and future requests:

Would it be possible to keep folders structure from RainDrop?
How can I keep all bookmarks but separate page for each? I have about 3k bookmarks, LS freezing on it in one page :)

Sorry to get back to you so late @AlexPeregudov. Interesting ideas! What does it look like to you to keep the folder/collection structure from Raindrop in Logseq?

If you want to tag imports with the name of collection, that's definitely a possible feature!
If you want to put the name of the collection in the page name of multi-page imports (e.g. a page would be called "Raindrop/Podcasts/Radiolab"), that's possible, but I think a bit confusing, especially if you rename the collection in Raindrop.

For your second question, if you want to keep all your bookmarks on separate pages, I don't think you want to use single-page imports. Single-page import is for when you want one page "Raindrop" that includes all the pages you've saved to Raindrop. Multi-page import is for when you want one page per imported raindrop, possibly all nested under a namespace.

I am getting the same error message, "loading theme..."


Fixing model definition and data post-processing

Fixed the model definition to add a property definition, added a post-processing to generate the output dictionary in the proper way.
Two things:
The stepSize in the new method for the simulator_api file is hardcoded to 600 since I have no access to the config file used in the cloud server, feel free to un-comment the line reading this value from the config file.
The output dictionary has these names in each room's data:
Example:
Supply_damper_22_601b_00_airFlowRate
Supply_damper_22_601b_00_damperPosition
Let me know if this naming is acceptable


drivers: spi: nrfx_spi(m|s): attempt to use instance based instantiation

This PR is an attempt to showcase an option to make nRF drivers instance based. At the same time, some refactoring to improve readability/consistency has been done as well.
Context
nRF drivers have never used instance based instantiation, mainly because of how HAL is designed (it provides some utilities that rely on the peripheral index, e.g. pre-defined IRQ callbacks). As a result, drivers tend to be more complex than others, for example, they still require per-instance Kconfig options. They also make use of certain HAL definitions by concatenating tokens, for example, to obtain the register addresses (instead of using the one from DT). This PR attempts to align the SPI driver with common practices in-tree, while still keeping nrfx HAL.
NOTE: I haven't tested all changes, this is just a draft that likely needs some more work.

Closing this for now, will require changes to nrfx to do this, or, switch to nrf_/native drivers.


examples: Improve damp setup to lower memory consumption at init time

you've pushed too much :)

Wow no idea what happend, fixed.

we need to update all docstrings and make sure m is replaced with vp

Done where found it

Codecov Report

Merging #888 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #888      +/-   ##
==========================================
- Coverage   89.17%   89.16%   -0.02%
==========================================
  Files         105      105
  Lines       11966    11966
  Branches     2377     2377
==========================================
- Hits        10671    10669       -2
- Misses        997      998       +1
- Partials      298      299       +1

Impacted Files
Coverage Δ

devito/builtins.py
73.75% <0%> (-2.5%)
:arrow_down:

Continue to review full report at Codecov.

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

Merged


OCPBUGS-34574: TaskRuns should not be fetched for Failed PLR's

Static plugin PR: https://github.com/openshift/console/pull/13806

/cherrypick release-v1.15.x


datalens: correct nginx proxy

Please guide me for proper proxying datalens via nginx:
datalens.conf
server {
listen 80;
server_name datalens;
root /opt/datalens/;
    location / {
        proxy_set_header  Host              $host;
        proxy_set_header  X-Real-IP         $remote_addr;
        proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto $scheme;
        proxy_set_header  X-Forwarded-Proto $scheme;
       #to docker listen port
        proxy_pass        http://<IP_ADDRESS>:8080;
        proxy_read_timeout  600;
        proxy_redirect off;
    }
}

and as a result face with:
[error] 13002#13002: *25 open() "/opt/datalens/build/js/dl-main.98e55631.js" failed (2: No such file or directory), client: xxxxx, server: datalens, request: "GET /build/js/dl-main.98e55631.js HTTP/2.0", host: "datalens", referrer: "http://datalens/"
<and so on...>

the issue resolved only after copying sources from docker container to host
docker cp  datalens-ui:/opt/app/dist/public/build /opt/datalens/

is it possbile giide how correctly proxy app ?

@phoedos hi, could you describe your case in more detail?
Why do I need an additional nginx over ui container?

dear @goshander
need to present project as experimental dashboard to my collegues inside corporate network with using self-signed ssl certificates.
Thus either I edit manually configs in dockerized UI or I setup standalone nginx and just proxy_path requests to dockerized ui:8080.
This is a regular practice to share dockerized projects via nginx.

sorry guys, my bad, wrong nginx configuration.
proxy_pass is working fine now, no additional changes required.


Expose and implement an IHandleGenerator interface

We are using the DefaultRefreshTokenService.  We have implemented our own RefreshTokenStore to provide storage for the refresh tokens.  We map the handle to our primary key.  The DefaultRefreshTokenService uses CryptoRandom.CreateUniqueId() to generate a 32 character random string.  Since we use SQL Server to back our storage any index on that column is going to get fragmented very quickly.  It would be nice if you used DI to obtain a IHandleGenerator so that I could create sequential GUID's or something that would play nicer in the database.  I realize I can create my own RefreshTokenService and that will work for us.  It just seems like a shame to create our own service just for that.  If you think this is a good idea I could try to provide a PR.

But the handle must be truly random - otherwise it can be guessed.

Good point.


FR: Device switch

It'd be cool to have the ability to choose a device for group (mobile/pc). It'll be very helpful to delay startup of a group of heavy plugins on mobile.

+1

Not only mobile/desktop, but also work desktop and home desktop would make sense, since you are sometimes using slightly different setups in both

Good idea! I'll look into it

If I can help, for Group snippets, I just "simply" detect the platform (for example "mobile") using const platform = Platform.isDesktop ? 'desktop' : 'mobile'
I, after, activate the snippets if the group name contains the word mobile or desktop. If the group doesn't contain the word, then it's both.
On another hand, with my fast-start user plugin snippets, I used that :
if (!plugin.app.isMobile) {
	// run here the desktop group
} else {
	// run here the mobile group
}

For the "differenciate between work desktop" and "Home desktop", I dunno how to detect these change, but the API allow to get a lot of information, so maybe we can detect IOS/Android/IpadOS/IOS/Mac/Linux and base the change on that ?
To be honest, I'm curious how can we differentiate two computer running the same OS.

Thanks for the advice! The way I'm approaching it now is through letting users create device names, and then setting the current device by Saving the name to the local storage (probably per vault, but I'm open for input wether it should be per vault & device or just per device). Thanks to Licat for pointing me in that direction!

Oh, I dunno it was possible! But, yes, good idea :D

There's now a new release available with BRAT, please let me know if this works the way you imagened it to or not. And of course if you encounter any bugs/unexpected behaviour.

Tested on my phone, loading time was reduced to 3 seconds instead of 7! I excluded all plugins except plugin groups inside community-plugins.json and have no issues with functionality. But I'll continue testing. Thanks!

Really happy to hear that!

As there seem to be no issues I'll close this issue for now.


[Feature Requests] Configuration Options and Support for plurals and context

Hello
I'm trying out some i18n plugins for IntelliJ in combination with i18next(-react), and I found yours and it's one of the better.
In i18next the default namespace separator is :  or the ns-attribute in the parameter object.
e.g. t('common:submit')  resp. t('submit', { ns: 'common' })
Therefore I'm missing some, in my opinion, useful (configuration) features:

The namespace, key, plurals and context separators should be customizable.
an option to define a default namespace, which then is not given in the key e.g. t('submit') where common is now the default ns.

It would also be great when you add support for plurals and context
Plurals, Context and both combined
{
  "keyWithCount_one": "{{count}} item",
  "keyWithCount_other": "{{count}} items"

  "friend": "A friend",
  "friend_male": "A boyfriend",
  "friend_female": "A girlfriend"

  "friend_male_one": "A boyfriend",
  "friend_female_one": "A girlfriend",
  "friend_male_other": "{{count}} boyfriends",
  "friend_female_other": "{{count}} girlfriends"
}

i18next.t('keyWithCount', {count: 0}); // -> "0 items"
i18next.t('keyWithCount', {count: 1}); // -> "1 item"
i18next.t('keyWithCount', {count: 5}); // -> "5 items"

i18next.t('friend'); // -> "A friend"
i18next.t('friend', {context: 'male' }); // -> "A boyfriend"
i18next.t('friend', {context: 'female' }); // -> "A girlfriend"

i18next.t('friend', {context: 'male', count: 1}); // -> "A boyfriend"
i18next.t('friend', {context: 'female', count: 1}); // -> "A girlfriend"
i18next.t('friend', {context: 'male', count: 100}); // -> "100 boyfriends"
i18next.t('friend', {context: 'female', count: 100}); // -> "100 girlfriends"

So if there is a count, context or both of them in the parameter object if would be great to see all matching keys in the hover.
Be aware of, that there are languages with at least 5 plurals besides the singular.
Kind Regards
Frank

Thanks for your report 👍
Individual adaption to framework specific usecases are not in the main scope right now. I will keep this as an enhancement for long-term features.

Public testing for the first release candidate is underway.
Feel free to try it out and take a look. Feedback is always welcome 😃.
The release will be available in the RC channel soon. Alternatively, you can download it manually.

Resolved by release v4.0.0


Ice no longer works in SteamOS

I used to run Ice on SteamOS(Debian Wheezy with some packages from Valve), but it no longer seems to work. I get the same errors with both the upstream version and my fork, which used to work fine. It probably has to do with an upgrade to one of the packages in the system when compared to last year, but I'm not sure which one.
Here is the error I'm experiencing:
steam@steamos:~/Ice$ src/ice.py
Traceback (most recent call last):
File "src/ice.py", line 11, in
runner.run(sys.argv)
File "/home/steam/Ice/src/ice/runners/command_line_runner.py", line 15, in run
engine = IceEngine()
File "/home/steam/Ice/src/ice/runners/ice_engine.py", line 46, in init
self.users = self.steam.local_users()
File "/usr/local/lib/python2.7/dist-packages/pysteam/steam.py", line 77, in local_users
u = user.User(self, int(entry))
ValueError: invalid literal for int() with base 10: 'anonymous'
An error has occurred! A copy of the crash report has been saved to 'error.log'.
If this continues please submit an issue on our Github page (http://github.com/scottrice/Ice)
Here some additional info:
desktop@steamos:/home/steam/Ice$ pip search pysteam
pysteam                   - Python library to work with Steam
INSTALLED: 0.1.3 (latest)
pysteamkit                - A library for working with Steam
desktop@steamos:/home/steam/Ice$ pip search appdirs
appdirs                   - A small Python module for determining appropriate
" +         "platform-specific dirs, e.g. a "user
data dir".
INSTALLED: 1.4.0 (latest)
desktop@steamos:/home/steam/Ice$ pip search psutil
psutil                    - psutil is a cross-platform library for retrieving
information onrunning processes and system
utilization (CPU, memory, disks, network)in
Python.
INSTALLED: 0.5.1
LATEST:    2.2.1
I've also upgraded psutil to 2.2.1, but that didn't change anything.

This issue was fixed in scottrice/pysteam@20071e5ea2faa5cda5681ed84b5ffe01d364291d - you could apply that patch manually.
@scottrice might need to bump up the version counter for pysteam so it updates, or something of that sort.

Same problem, except changing the config in the path doesn't work. I run ubuntu, and the workaround I used was to symlink ~/.local/share/Steam to ~/.steam

This issue is about on old version of SteamOS and is no longer relevant. The amount of SteamOS users has also lowered so dramatically, that this is no longer worthwhile looking into.


Add support for some built-in R operators

@isagalaev I'm opening this PR mainly to see if you like the idea before I spend more time on it. Basically I want to highlight some operators in the R language. I'm using your suggestion in #1268.
The code is borrowed from my colleague @jcheng5 a few years ago: https://github.com/rstudio/highlight.js/blob/0710243a8ea53f2b2d34cebd58b7fa82b7760863/src/languages/r.js

Sorry, but generally we do not highlight operators or punctuation.  Is there some reason R might be exceptional in this regard?  Or if there are some exceptions in our other grammars that I'm not aware of please let me know.

If that is the general rule, then please feel free to ignore this PR. Thank you!


No OMCI command on V2801F (model BaudCom BD-1234-SPM)

Hi All,
I got problem on my BD-1234-SPM (V2801F) in OMCI command as below:
Connecting to <IP_ADDRESS>
Connected to <IP_ADDRESS>
login: admin
Password:
BusyBox v1.12.4 (2019-10-14 09:10:16 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
omcicli mib get 84
omcicli mib get 131
omcicli mib get 171

Does my SFP have no OMCI command? My software version is V1.9.0-191015.

Yes, V2801F based firmware wont output omcicli, it seem only print at UART

Yes, V2801F based firmware wont output omcicli, it seem only print at UART

Thanks, so sad to hear this.

I suggest you to buy ODI Stick instead


Support page visibility API

https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API
Among other things I'm using toasts to display warnings when something didn't work. If you tab out of the browser (or the Electron app in my case) you might miss it.
I don't know how easy this would be to implement. In a perfect world the toasts would pause (progress bar, timers) when document.hidden and continue when it becomes visible again. If that's too complex then an easier approach would be to queue toasts if document.hidden and insert them on visibilitychange.
Oh well, heureka! The pausable feature literally already exists, so it should actually be trivial to pause all toasts when the document becomes invisible. But this should be a separate feature (you might not want pausable via hover but still pause them when the document is invisible). What I'm saying is that the functionality to pause the toast/timers exists and it would just be a second boolean (global, not per toast hover) that triggers it.

Hey, yes it should be quite trivial to add this feature, especially since the pause() and resume() functions are already there. I kind of think this should be the default behaviour actually - notifications should by nature ensure that they're seen.
Will love a PR on this, else I might take a stab at it soon.

Not sure when I have time for it. If you start working on it please assign the issue to yourself so that we don't both do. I'll comment here when I do.

I kind of think this should be the default behaviour actually - notifications should by nature ensure that they're seen.

I agree. And it's hardly a breaking change, I don't think anyone actually cared yet or realized that's how it works.

Cool, we'll leave this open for now for tracking - leave a comment when either of us (or anyone else for that matter) starts work on this. Thanks for the suggestion!

I'm working on this!

Nice, ping me for a review when you got the PR up


Debugging PR : InkToolbar changes to InnerLoop

Description

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

@viveksharmadev can you please sign the Licence agreement, so we can start processing this change?