A general connection question - not an issue

Hi,
I have a general connection question to an xmpp server from node server using xmpp-ftw. Here's what I'm doing:
Connect mobile apps to node app server using http/rest calls and then node-app-server connects to ejabberd xmpp server. meaning all communication from mobile chat apps only goes to node app server and then node app server sends them over to ejabberd.
So, how would xmpp-ftw library make a connection to xmpp server and process all user registrations, send chat messages, manage rosters and so on. Note that these are native mobile apps using http/RESTful calls with JSON payload.
Any hints or help would be greatly appreciated. I read your blog and thought process on how you hacked this together - great job!!
Thanks,
Jatin

Also which xmpp server did you use for your demo? Was it ejabberd? Or something else? And how did you connect the two servers?
Thanks!

The demo runs against buddycloud.org which runs Prosody but I also run regularly against Tigase too. Once DNS and certificates are set up you don't have to do anything special for server to server (s2s) communications.
XMPP-FTW just uses node-xmpp-client behind the scenes and translates between JSON and XML to make things easier for the user.
What you are trying to do sounds a lot like https://github.com/buddycloud/buddycloud-http-api. I'd suggest taking a look at that as it will answer a lot fo your questions. @imaginator will also be able to provide more information.

Thanks for your help - much appreciated
So I installed ejabberd server and enabled http-bind in the config file.  Created two users (john@my-localhost and jane@my-localhost) via ejabberd shell and tested using Adium, etc.
So now to test using code...
Now, on the node.js side - I have following lines based on the example of server-side:
var xmppFtw = require('xmpp-ftw')
var Emitter = require('events').EventEmitter

var Socket = function() {
    this.server = new Emitter()
    this.client = new Emitter()
    var self = this
    this.server.send = function(event, data, rsm, callback) {
        self.client.emit(event, data, rsm, callback)
    }
    this.client.send = function(event, data, callback) {
        self.server.emit(event, data, callback)
    }
}
Socket.prototype.on = function(event, data, rsm) {
    this.server.on(event, data, rsm)
}
Socket.prototype.send = function(event, data, callback) {
    this.server.send(event, data, callback)
}
Socket.prototype.removeAllListeners = function(event) {
    this.server.removeAllListeners(event)
}

var socket = new Socket()
var client = new xmppFtw.Xmpp(socket)
socket.client.on('xmpp.connection', function (data) {
    console.log('Connected', data)
})
socket.client.on('xmpp.error', function (error) {
    console.log('error', error)
})
socket.client.on('xmpp.error.client', function (error) {
    console.log('client error', error)
})
socket.client.send('xmpp.login', { login: 'details', here: true })
socket.client.send(
    'xmpp.chat.message',
    {
        to: 'john@my-localhost',
        content: 'Hello world'
    },
    function (error, data) { console.log(error, data) }
)

I changed john@my-localhost to one of my user accounts on adium.
I installed xmpp-ftw via npm install
However, when I run server.js (above lines) - I'm getting following error:
error { type: 'auth',
  condition: 'client-error',
  description: 'Missing jid and/or password',
  request: { login: 'details', here: true } }

error makes sense as I haven't specified connection info anywhere - but where to? :)
Thanks!

You don't need http-bind since you are using a socket not BOSH
You need to provide login details in the xmpp.login call - please see http://xmpp-ftw.jit.su/manual/core/#login

:) I just went through the manual :-) thank you - so now I have the following.
var xmppFtw = require('xmpp-ftw')
var Emitter = require('events').EventEmitter

var Socket = function() {
    this.server = new Emitter()
    this.client = new Emitter()
    var self = this
    this.server.send = function(event, data, rsm, callback) {
        self.client.emit(event, data, rsm, callback)
    }
    this.client.send = function(event, data, callback) {
        self.server.emit(event, data, callback)
    }
}
Socket.prototype.on = function(event, data, rsm) {
    this.server.on(event, data, rsm)
}
Socket.prototype.send = function(event, data, callback) {
    this.server.send(event, data, callback)
}
Socket.prototype.removeAllListeners = function(event) {
    this.server.removeAllListeners(event)
}

var socket = new Socket()
var client = new xmppFtw.Xmpp(socket)
socket.client.on('xmpp.connection', function (data) {
    console.log('Connected', data)
})
socket.client.on('xmpp.error', function (error) {
    console.log('error', error)
})
socket.client.on('xmpp.error.client', function (error) {
    console.log('client error', error)
})
//socket.client.send('xmpp.login', { login: 'details', here: true })
socket.client.send(
    'xmpp.login',
    {
        "jid": "jatin@my-localhost",
        "password": "pass123",
        /* "resource": "xmpp-ftw", */
        "host": "localhost"
    }
)
socket.client.send(
    'xmpp.chat.message',
    {
        to: 'jane@my-localhost',
        content: 'Hello world'
    },
    function (error, data) {
        console.log(error, data)
    }
)

and I get the following in the console:
Cannot load StringPrep-0.5.4 bindings (using fallback). You may need to `npm install node-stringprep`
createCredentials() is deprecated, use tls.createSecureContext instead
Connected { status: 'online',
  jid:
   { local: 'jatin',
     domain: 'my-localhost',
     resource: '2317589070143440277775534',
     user: 'jatin' } }

So I'm logged in - but I don't see the Hello World message between two adium users - must need more coffee today :(
Thanks!

Make sure you aren't trying to send the IM before you are logged in
On 11 Jun 2015 17:36, "Jatin Patel"<EMAIL_ADDRESS>wrote:

:) I just went through the manual :-) thank you - so now I have the
following.
var xmppFtw = require('xmpp-ftw')
var Emitter = require('events').EventEmitter
var Socket = function() {
this.server = new Emitter()
this.client = new Emitter()
var self = this
this.server.send = function(event, data, rsm, callback) {
self.client.emit(event, data, rsm, callback)
}
this.client.send = function(event, data, callback) {
self.server.emit(event, data, callback)
}
}
Socket.prototype.on = function(event, data, rsm) {
this.server.on(event, data, rsm)
}
Socket.prototype.send = function(event, data, callback) {
this.server.send(event, data, callback)
}
Socket.prototype.removeAllListeners = function(event) {
this.server.removeAllListeners(event)
}
var socket = new Socket()
var client = new xmppFtw.Xmpp(socket)
socket.client.on('xmpp.connection', function (data) {
console.log('Connected', data)
})
socket.client.on('xmpp.error', function (error) {
console.log('error', error)
})
socket.client.on('xmpp.error.client', function (error) {
console.log('client error', error)
})
//socket.client.send('xmpp.login', { login: 'details', here: true })
socket.client.send(
'xmpp.login',
{
"jid": "jatin@my-localhost",
"password": "pass123",
/* "resource": "xmpp-ftw", */
"host": "localhost"
}
)
socket.client.send(
'xmpp.chat.message',
{
to: 'jane@my-localhost',
content: 'Hello world'
},
function (error, data) {
console.log(error, data)
}
)
and I get the following in the console:
Cannot load StringPrep-0.5.4 bindings (using fallback). You may need to npm install node-stringprep
createCredentials() is deprecated, use tls.createSecureContext instead
Connected { status: 'online',
jid:
{ local: 'jatin',
domain: 'my-localhost',
resource: '2317589070143440277775534',
user: 'jatin' } }
So I'm logged in - but I don't see the Hello World message between two
adium users - must need more coffee today :(
Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/xmpp-ftw/xmpp-ftw/issues/93#issuecomment-111199553.

doh me! :)
var xmppFtw = require('xmpp-ftw')
var Emitter = require('events').EventEmitter

var Socket = function() {
    this.server = new Emitter()
    this.client = new Emitter()
    var self = this
    this.server.send = function(event, data, rsm, callback) {
        self.client.emit(event, data, rsm, callback)
    }
    this.client.send = function(event, data, callback) {
        self.server.emit(event, data, callback)
    }
}
Socket.prototype.on = function(event, data, rsm) {
    this.server.on(event, data, rsm)
}
Socket.prototype.send = function(event, data, callback) {
    this.server.send(event, data, callback)
}
Socket.prototype.removeAllListeners = function(event) {
    this.server.removeAllListeners(event)
}

var socket = new Socket()
var client = new xmppFtw.Xmpp(socket)
socket.client.on('xmpp.connection', function (data) {
    console.log('Connected', data);
    if (data) {
        console.log("test");
        socket.client.send(
            'xmpp.chat.message',
            {
                to: 'jane@jatin-patel-local',
                content: 'Hello world'
            },
            function (error, data) {
                console.log(error, data)
            }
        )
        socket.client.send(
            'xmpp.chat.message',
            {
                to: 'jatin@jatin-patel-local',
                content: 'Hello Universe'
            },
            function (error, data) {
                console.log(error, data)
            }
        )
    }
})
socket.client.on('xmpp.error', function (error) {
    console.log('error', error)
})
socket.client.on('xmpp.error.client', function (error) {
    console.log('client error', error)
})
//socket.client.send('xmpp.login', { login: 'details', here: true })
socket.client.send(
    'xmpp.login',
    {
        "jid": "jatin@jatin-patel-local",
        "password": "jello123",
        /* "resource": "xmpp-ftw", */
        "host": "localhost"
    }
)

response...
Cannot load StringPrep-0.5.4 bindings (using fallback). You may need to `npm install node-stringprep`
createCredentials() is deprecated, use tls.createSecureContext instead
Connected { status: 'online',
  jid:
   { local: 'jatin',
     domain: 'jatin-patel-local',
     resource: '657851511143441290297705',
     user: 'jatin' } }
test
null { id: '16a4765c-e038-4503-b0b0-9d8c057e97d3' }
null { id: '94e36b34-cade-4ac4-ba81-e7cc771e53eb' }

Now that's a good test code - need to organize this and get this going for real...so few questions:
1 - any suggestions on how to separate or organize this better? I will have RESTful calls for mobile apis so for example /user/login and /message and so on...so I'm assuming I would wrap these socket.< > calls within these RESTful calls. Or is there a better way to handle this?
2 - for the login - in the real code, this would not be one specific user - so I'm guessing we can pass user record dynamically from the mobile client api call that server receives, and should work?
3 - it doesn't make sense to put xmpp.chat.message inside socket.client.on('xmpp.connection')...call or is that the design?
4 - I did install string-prep but I still get that error message. Is this something I need to worry about?
5 - I'm getting some tls connection message as deprecation warning - any feedback on this issue?
Really appreciate your help here...
Thanks!

4, 5 don't worry for now.
1, 3 is up to you
2 I'd suggest creating some sort of session manager to map a http session
to a socket connection.
Definitely take a look at the buddycloud http api
On 11 Jun 2015 17:57, "Jatin Patel"<EMAIL_ADDRESS>wrote:

doh me! :)
var xmppFtw = require('xmpp-ftw')
var Emitter = require('events').EventEmitter
var Socket = function() {
this.server = new Emitter()
this.client = new Emitter()
var self = this
this.server.send = function(event, data, rsm, callback) {
self.client.emit(event, data, rsm, callback)
}
this.client.send = function(event, data, callback) {
self.server.emit(event, data, callback)
}
}
Socket.prototype.on = function(event, data, rsm) {
this.server.on(event, data, rsm)
}
Socket.prototype.send = function(event, data, callback) {
this.server.send(event, data, callback)
}
Socket.prototype.removeAllListeners = function(event) {
this.server.removeAllListeners(event)
}
var socket = new Socket()
var client = new xmppFtw.Xmpp(socket)
socket.client.on('xmpp.connection', function (data) {
console.log('Connected', data);
if (data) {
console.log("test");
socket.client.send(
'xmpp.chat.message',
{
to: 'jane@jatin-patel-local',
content: 'Hello world'
},
function (error, data) {
console.log(error, data)
}
)
socket.client.send(
'xmpp.chat.message',
{
to: 'jatin@jatin-patel-local',
content: 'Hello Universe'
},
function (error, data) {
console.log(error, data)
}
)
}
})
socket.client.on('xmpp.error', function (error) {
console.log('error', error)
})
socket.client.on('xmpp.error.client', function (error) {
console.log('client error', error)
})
//socket.client.send('xmpp.login', { login: 'details', here: true })
socket.client.send(
'xmpp.login',
{
"jid": "jatin@jatin-patel-local",
"password": "jello123",
/* "resource": "xmpp-ftw", */
"host": "localhost"
}
)
response...
Cannot load StringPrep-0.5.4 bindings (using fallback). You may need to npm install node-stringprep
createCredentials() is deprecated, use tls.createSecureContext instead
Connected { status: 'online',
jid:
{ local: 'jatin',
domain: 'jatin-patel-local',
resource: '657851511143441290297705',
user: 'jatin' } }
test
null { id: '16a4765c-e038-4503-b0b0-9d8c057e97d3' }
null { id: '94e36b34-cade-4ac4-ba81-e7cc771e53eb' }
Now that's a good test code - need to organize this and get this going for
real...so few questions:
1 - any suggestions on how to separate or organize this better? I will
have RESTful calls for mobile apis so for example /user/login and /message
and so on...so I'm assuming I would wrap these socket.< > calls within
these RESTful calls. Or is there a better way to handle this?
2 - for the login - in the real code, this would not be one specific user

so I'm guessing we can pass user record dynamically from the mobile
client api call that server receives, and should work?
3 - it doesn't make sense to put xmpp.chat.message inside
socket.client.on('xmpp.connection')...call or is that the design?
4 - I did install string-prep but I still get that error message. Is this
something I need to worry about?
5 - I'm getting some tls connection message as deprecation warning - any
feedback on this issue?

Really appreciate your help here...
Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/xmpp-ftw/xmpp-ftw/issues/93#issuecomment-111206422.

Thanks!
Question on all the modules - there's a separate module for few XEPs - such as RPC, MUC, PubSub, etc.  Is this all part of the core library or do I need to use them separately?
By buddycloud http api - do you mean review the structure or use it? unfortunately, we can't use buddycloud service as we need to own the business logic specifically around chat messages.
Thanks!

You could work from a fork of the http server, or use it as an example.
All the modules need to be injected into the core library on use. Take a
look at the code for xmpp-ftw-demo for an example.
On 11 Jun 2015 19:17, "Jatin Patel"<EMAIL_ADDRESS>wrote:

Thanks!
Question on all the modules - there's a separate module for few XEPs -
such as RPC, MUC, PubSub, etc. Is this all part of the core library or do I
need to use them separately?
By buddycloud http api - do you mean review the structure or use it?
unfortunately, we can't use buddycloud service as we need to own the
business logic specifically around chat messages.
Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/xmpp-ftw/xmpp-ftw/issues/93#issuecomment-111230175.

Thanks for your help!


add more details

Description
Add some details to README.md
Preparations:
N/A
How to test:
Run in a tmux screen or similar if testing on a large dataset.
N/A
Expected outcome:

[x] Produced files contain expected values
N/A

Review:

[x] Code reviewed by

PR checklist
Closes #XXX

[] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If necessary, include test data in your PR.
[ ] Follow the input/output options guidelines.
[ ] Add a resource label
[ ] Use BioConda and BioContainers if possible to fulfil software requirements.
Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:

[ ] PROFILE=docker pytest --tag <MODULE> --symlink --keep-workflow-wd --git-aware
[ ] PROFILE=singularity pytest --tag <MODULE> --symlink --keep-workflow-wd --git-aware
[ ] PROFILE=conda pytest --tag <MODULE> --symlink --keep-workflow-wd --git-aware

It's good!


More IN clause tests

Coverage remained the same at 59.691% when pulling 4eb52f9766cdc6ccaea0828b44b92540aafe3d97 on nare469:naren-in-clause-tests into 4574bcfb50990ec43ff95180eaae9429c323a0f9 on graphflow:master.

Coverage remained the same at 59.495% when pulling fd3394fb05eae62f2bf7b622bc08fc89608577af on nare469:naren-in-clause-tests into 39212f2b1535f9b9cc3fca632e4a144345f10ba2 on graphflow:master.


Move rotation arrows on Resources tab

For the different items in each rotation, move the arrows from below the list to beside.
For example, currently the arrows are here:

But ideally they would be here (like they are on the Overview page):

@lisaberrygis Fixed, please test on DEV: https://livingatlasdev.arcgis.com/policy/resources/

Looks great. No issues.
It defaults beneath when testing on a pseduo-mobile experience in Chrome, but I think this is fine since the real estate on the screen is different.


Add Memory Matching Game for User's engagement

Implemented a memory matching game where players can flip cards to find matching pairs.
Designed game mechanics including card shuffling, flipping, and matching logic.
Added timer and score tracking features to enhance gameplay experience.
Updated UI with card graphics and responsive design for improved user interaction.
Ensured game resets after completing a round, allowing for continuous play.

@ayush-patel1 your pull request have been accepted, please read CONTRIBUTIONS.md and follow the steps to add the projects information in projects.json file


Kibana 5.6.2 help on request index

Hello,
great job, you help us a lot with that plugin integration.
But we still have a question about how to properly configure the json in order to reach an elasticsearch index for drawing a simple scatter plot. We are stuck can you help us ?
From this example

We manage to copy and make it run

But even with your indication on github, we are stuck.

Do you have any clue ?
Thank you in advance for any kind of help.
Best regards.
Hector

Index seems to be found, but i'm not sure of the other parameters. I suppose i have to change them in order to match the scatter plot example (and not the histogram one).
Thanks.

@hcountou in order to help, I need to have a sample of your data. Please upload it in the structure you have, plus provide a query if you have one to get just the data you need from ES.

Hello,
thank you for the quick answer.
Those data are not sensible. So here they are.
Data_test.txt
We wanted a simple scatter plot nicer than the one we can obtain in kibana.

The number of "yes" corresponding to the values (in the yes column)
For each reco listed
And this for each type of dimension.

We generate our index with logstash. I don't know i you want our logstash conf file ?
We added an example also.
Thank you again for your help.
Best regards.

I recreated your data using these two commands from the Kibana dev console:
https://gist.github.com/nyurik/78442ad6a4218157114594c67b58272b
With that, I am able to do a very dumb graph (it pulls a lot of points from the server and does local aggregation):
https://gist.github.com/nyurik/85f8a53199f69c28d3585b1d936b2459
The graph was adapted from this Vega example:
https://vega.github.io/vega/examples/scatter-plot/
The reason I couldn't use Vega Lite was due to a bug there, filed at
https://github.com/vega/vega-lite/issues/3137
If you have a huge amount of data, we will need to think of how best to aggregate it somehow, and then the graph might change.

@hcountou v0.4.0 has been published, fixing the above issues.  Let me know if there are any issues.


Use skeleton template as the CLI starter

The changes in this PR are needed for #1029 :

The onboarding flow now uses the skeleton template (without routes) instead of hello-world.
Support copying file dependencies when generating routes. For example, when generating the home route app/routes/_index.tsx, if this file contains import .... from '../components/Button'; import ... from '../styles/app.css';, then both app/components/Button.tsx and app/styles/app.css will also be copied from the skeleton to the new project.
Also works with dependencies of root.tsx, entry.server.tsx and entry.client.tsx (e.g. root.tsx may import a Layout component and the CLI will copy all the related files).

Todos:

[x] Migrate all the routes in the skeleton template to Remix V2 convention.
[x] Change how getDestinationRoute works when the routes are V2 by default.
[x] Implement file resolution to try extensions like .tsx, .ts, .css, .server.ts, /index.ts, etc.
[x] Generate root.tsx in h2 setup command.

@blittle I've added more comments and fixed a small issue I found 👍


Use packaging specifier set for tests target version

Previous solution was flawed - with new major RF version release test set for given version didn't run for new. SpecifierSet allow more flexible approach for defining the test target version.

Codecov Report
Base: 96.98% // Head: 96.98% // No change to project coverage :thumbsup:

Coverage data is based on head (5f247bc) compared to base (2f983ea).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #424   +/-   ##
=======================================
  Coverage   96.98%   96.98%
=======================================
  Files          41       41
  Lines        3253     3253
=======================================
  Hits         3155     3155
  Misses         98       98

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Added Next13 Blogging Site

Have you read the Contributing Guidelines ?
YES
Description
A blogging website created using Next.js 13 and Sanity.io 3.

Users can post and edit blogs from Sanity Studio integrated into the website but log in with authenticated credentials.
Users are able to read the blogs posted on the website.
Users can enter preview mode and see the blog preview without even posting it, in real-time using the studio.
Created using the latest technology and based on Typescript for robustness.

Fixes #782

Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)

@ShivangM Please add images in your readme.md file in order to understand .

Ok sure.

Updated the review file with screenshots and a detailed explanation of how to use it.

@ShivangM See it's a very basic landing page ,

Submit the project under basic folder.
Sign up and sign bottom not working (if you made like this then it's okey)
Try to change the project name to some logical name .


How is it going with EarlGrey 2.0

According to the roadmap we already are expected to have EarlGrey 2.0 ready to use. Could you provide some information how it's going with 2.0 version?

We're currently working on the open-sourcing. We'll send a larger update on the Google Group once the release is ready. We'd be happy to provide more information on any particular feature you're looking for.

Is it going to be black box testing? Does it mean that it will omit features based on a source code exposing?
Is there any deadline for release?

EarlGrey 2.0 will not be black boxed. Calling app methods won't be as straightforward as in EarlGrey 1.0, but we're trying to ensure the best experience possible.

We'll let you know as soon as we push the new release out.

Well, EarlGrey 2.0 will be built upon XCUITest, right?
Does it make sense now to begin covering our iOS Apps with EarlGrey? Or its API will be significantly change after 2.0 release?

XCUITest is quite restrictive. It can only run in a separate process (trying to run it in the main app context leads to a deadlock; running in a background thread is not supported either), it does not provide direct access to UIView and/or UIViewController objects (only via XCUIElement representation).
It's a perfect match for black box testing, but EarlGrey at the moment does not enforce black-boxing the system under test, thus moving to XCUITest would be a huge conceptual move; but also a complete rewrite of the testing API implementation.
To me it seems unlikely for EarlGrey 2.0 to be built on top of XCUITest. But what is the official answer?

@tabynbayev We'll release the source with a sample project soon and you should be able to estimate the change required for your test suites.
@werediver We're aware of the multi-process nature of XCUITest. While it make white-boxing a bit more tedious, it does allow EarlGrey out of process interactions. Stay tuned for more details.

Thank you! You are awesome, guys =)

BTW - EG 2 is available here


Logistical sorter places down but also has a phantom copy.

Forge Version -
<IP_ADDRESS>4
Mod Version: -
Mekanism - <IP_ADDRESS>7
Mekanism Generators - <IP_ADDRESS>7
Mekanism Tools - <IP_ADDRESS>7
When placing the logistical sorter down it will place down correctly but also renders a copy next to it but isnt technically there as in you can interact with it / you can still walk through it and build on that block but it looks like another logistical sorter is placed down. When breaking the original both blocks disappear only giving the original version back.

Fixed in development, thanks!


dffml: plugins: Autosklearn should not be added for Windows OS

Just went through this: https://automl.github.io/auto-sklearn/master/installation.html#windows-osx-compatibility
It's an easy fix, to check for the os and then add it to the plugins list.

Is it okay if I give it a shot?

@SGeetansh Yes! The plugins list is in dffml/plugins.py, look for the if block around daal4py and how it isn't added to the list for Python 3.8. Do the same for autosklearn if platform.system() is "Windows". A CHANGELOG.md entry is not necessary for this PR.

Should I check just for Windows or macOS too? Because I don't think it supports macOS for now.
https://automl.github.io/auto-sklearn/master/installation.html#mac-osx

Ah, yes. Please do.


[Snyk] Upgrade chai from 4.3.7 to 4.3.10

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade chai from 4.3.7 to 4.3.10.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 3 versions ahead of your current version.
The recommended version was released 22 days ago, on 2023-09-28.

The recommended version fixes:

Severity
Issue
PriorityScore (*)
Exploit Maturity

Regular Expression Denial of Service (ReDoS) SNYK-JS-GETFUNCNAME-5923417
537/1000  Why? Proof of Concept exploit, CVSS 8.6
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Release notes

Package name: chai

4.3.10 - 2023-09-28This release simply bumps all dependencies to their latest non-breaking versions.
What's Changed

upgrade all dependencies by @ keithamus in #1540

Full Changelog: v4.3.9...v4.3.10

4.3.9 - 2023-09-27Upgrade dependencies.
This release upgrades dependencies to address CVE-2023-43646 where a large function name can cause "catastrophic backtracking" (aka ReDOS attack) which can cause the test suite to hang.
Full Changelog: v4.3.8...v4.3.9

4.3.8 - 2023-08-24What's Changed

4.x.x: Fix link to commit logs on GitHub by @ bugwelle in #1487
build(deps): bump socket.io-parser from 4.0.4 to 4.0.5 by @ dependabot in #1488
Small typo in test.js by @ mavaddat in #1459
docs: specify return type of objDisplay by @ scarf005 in #1490
Update CONTRIBUTING.md by @ matheus-rodrigues00 in #1521
Fix: update exports.version to current version by @ peanutenthusiast in #1534

New Contributors

@ bugwelle made their first contribution in #1487
@ mavaddat made their first contribution in #1459
@ scarf005 made their first contribution in #1490
@ matheus-rodrigues00 made their first contribution in #1521
@ peanutenthusiast made their first contribution in #1534

Full Changelog: v4.3.7...v4.3.8

4.3.7 - 2022-11-07What's Changed

fix: deep-eql bump package to support symbols comparison by @ snewcomer in #1483

Full Changelog: v4.3.6...v4.3.7

    from chai GitHub release notes

Commit messages

Package name: chai

744a16e 4.3.10
0ccd823 upgrade all dependencies (#1540)
923d0a4 4.3.9
1a0f887 make
a141e57 upgrade deps
d9ff2c6 4.3.8
8d3205b build
b351dc0 Fix: update exports.version to current version (#1534)
1a8247f Update CONTRIBUTING.md (#1521)
3a8c49a docs: specify return type of objDisplay (#1490)
b455124 test: fix typo in test.js (#1459)
98f4233 build(deps): bump socket.io-parser from 4.0.4 to 4.0.5 (#1488)
acd16e0 chore: 4.x.x: Fix link to commit logs on GitHub (#1487)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

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

Comparison is base (70d2898) 74.74% compared to head (5c86390) 74.74%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #31   +/-   ##
=======================================
  Coverage   74.74%   74.74%
=======================================
  Files           8        8
  Lines        1964     1964
  Branches      204      204
=======================================
  Hits         1468     1468
  Misses        489      489
  Partials        7        7

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


RestoreSpec restoreFilter should also set --path filter

Description
When restoring from a repository in a namespace with multiple PVC it can happen the latest snapshot actually doesn't contain the necessary data. This happens because with multiple PVC multiple snapshots are taken in short succession during a backup operation.
Since restoring from the latest snapshot seems to be the default behavior of the Restore operation, imho the correct latest snapshot should be selected. The restoreFilter should therefore also set the --path option of restic, to let restic automatically select the correct snapshot.
Alternatively this could also be done based on the claimName in the folder restore method.
Additional Context
No response
Logs
No response
Expected Behavior
k8up selects the correct snapshot to restore previously saved data to a PVC instead of generally the latest snapshot, which might not contain the necessary data when multiple PVC are backed up within a single namespace.
Steps To Reproduce
No response
Version of K8up
v2.7.1
Version of Kubernetes
1.27.1
Distribution of Kubernetes
k3s

I have the same problem. I backed up multiple PVCs in a namespace.
And when I want to restore only one particular PVC it restores the latest wrong one

While setting up and testing recovery pipelines I have encountered the same issue. Is there any other workaround besides manually specifying snapshot ID?

Did bump into this as well, think the code is here: https://github.com/k8up-io/k8up/blob/master/restic/cli/restore.go#L121
Looks to me as if there is currently no other way than specifying the snapshot ID to ensure that the right thing will be restored.

Found out that for my case (initial restore on a re-deployment of the whole cluster) I can work around this by creating a plain Job and calling restic directly for the restore. The results are then just fine.
I am using the following small script which I inject via a ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
  name: restore-scripts
  annotations:
    kustomize.toolkit.fluxcd.io/substitute: disabled
data:
  restore-command.sh: |
    #!/bin/bash

    set -eux -o pipefail

    : ${SNAPSHOT:=latest}

    restic restore \
      --host ${VOLUME_NAMESPACE} \
      --path /data/${VOLUME_NAME} \
      --tag ${CLUSTER_REVISION} \
      --target / \
      ${SNAPSHOT}

Note that I am also using --tag which I use to separate cluster revisions so that I can say "restore from revision 1 and backup into revision 2" within the same repository.
I've then used the k8up image in the Job itself to run everything. I think the image should be kept in sync with the k8up deployment.
apiVersion: batch/v1
kind: Job
metadata:
  name: restore
  annotations:
    kustomize.toolkit.fluxcd.io/force: enabled
spec:
  completions: 1
  parallelism: 1
  # The Job must stay, otherwise Flux will re-create it regularly
  # ttlSecondsAfterFinished:
  template:
    spec:
      containers:
        - command:
            - /scripts/restore-command.sh
          image: ghcr.io/k8up-io/k8up:v2.7.1@sha256:77114c20de9c33661fd088670465714d58a1e3df4ffc5968b446704363fb369c
          imagePullPolicy: IfNotPresent
          name: restore
          securityContext:
            runAsUser: 0
          env:
            - name: VOLUME_NAMESPACE
              value: PATCH_VOLUME_NAMESPACE
            - name: VOLUME_NAME
              value: PATCH_VOLUME_NAME
            - name: CLUSTER_REVISION
              value: "rev${cluster_bootstrap_revision}"
            - name: SNAPSHOT
              value: latest
          envFrom:
            - secretRef:
                name: k8up-restic-restore
          volumeMounts:
            - name: scripts
              mountPath: "/scripts"
            - name: data
              mountPath: "/data/PATCH_VOLUME_NAME"
      volumes:
        - name: scripts
          configMap:
            name: restore-scripts
            defaultMode: 0555
        - name: data
          persistentVolumeClaim:
            claimName: PATCH_VOLUME_NAME
      restartPolicy: OnFailure

All the things which start with PATCH have to be replaced and also the ${...} things are to be replaced with reasonable values. In my setup Flux is taking care of this for me.
The secret provides the following variables to make restic happy:
AWS_ACCESS_KEY_ID:
AWS_SECRET_ACCESS_KEY:
RESTIC_PASSWORD:
RESTIC_REPOSITORY:

Maybe this can help to work around the missing feature for others too.


chore(dependencies): update dioxus to 73a2beb3275007a6550adc5c420f36e31b7ddef7

What this PR does 📖

allows configuring the Dioxus data directory
fixes the windows installer - installs uplink to the ProgramFiles directory, and fixes uninstall
note that on Linux, you have to install libwebkit2gtk-4.1-dev
fixes logging on windows, for dev mode

Which issue(s) this PR fixes 🔨

Resolve #679

Special notes for reviewers 🗒
Additional comments 🎤

turns out that with the updated Dioxus, there's a BorrowMut error with extensions.

Not sure how to work around this. We might just be out of luck.

found a problem on Linux

turns out that with the updated Dioxus, there's a BorrowMut error with extensions. This happened when I tried to use the emoji extension.  Not sure how to work around this. We might just be out of luck.

Yea I noticed that when testing the previous PR that it had a borrowmut with the extension. Its interesting that we havent seen it in the closures within uplink itself though (or at least not yet?). There are only 3 places where its used at there though, although imo, it might be best to go the coroutine route.

the BorrowMut occurs with use_shared_state, not in state.write(). really weird.

i believe that PR https://github.com/Satellite-im/Uplink/pull/701 will resolve the problem with EditMsg and reactions


Update FFI

This PR updates FFI to the current version, 1.11.3. Closes issue #125
Since I only have VS2019 on my machine, I also updated the build tools.
Some of the specs were failing because it seems that the Win10 version of the calculator application spawns in a separate process that does not match the expected PID. Instead, I switched to spawning notepad processes, which behave as expected.
One oddity that I came across was the press and release mouse events were not working for me until I sent the messages a second time. I'm not sure if that is unique to my machine though. If that ends up not being needed I can remove the commit, but wanted to point it out. EDIT: I tested these changes on a Win7 box and the double press/release was not needed. So this problem seems to only be an issue on Win10.

Released 1.0.0 - thanks!

Thanks @jarmo!


NIFI-2757: Site-to-Site with DN mapping

Added DN identity mapping pattern support to Site-to-Site client
authorization.
HTTP Site-to-Site has been working without this fix since it uses the same mechanism with other REST endpoints for authenticating user identity. This PR fixes RAW transport protocol, by adding mapping code at StandardRootGroupPort.checkUserAuthorization(final String dn).
Confirmed it worked using two running NiFi instances. Contrib check passed locally.

Reviewing...

+1 looks good, verified this fixes the problem when using identity mapping with RAW site-to-site, thanks!


[BUG]  Websocket and Basic Auth Proxy on s1.tst.iroha2.iroha.tech

OS and Environment

MacOS, Docker (Windows as well)
Proxy Server: Basic Auth Enabled
TORII_API_URL: http://s1.tst.iroha2.iroha.tech/
Client: iroha_client_cli
Network: Proxy enabled environment

GIT commit hash
794fe35
Minimum working example / Steps to reproduce

Configure the iroha_client_cli to use the TORII_API_URL http://s1.tst.iroha2.iroha.tech/ (with Basic Auth enabled on the proxy server)
Execute the command: ./iroha_client_cli events pipeline

Actual result
Error:
0: Failed to listen for events.
1: HTTP error: 400 Bad Request

Expected result
Successfully events listening
Who can help to reproduce?
@AlexStroke @Stukalov-A-M

@AlexStroke  I suspect that transaction gets applied but client fails to get a confirmation. Can you check that?

if you confirm, this is the same issue that @BAStos525 and @Artemkaaas encounter with websockets and proxy server. The problem is that when listening to an event that transaction was applied we use websocket protocol

@AlexStroke I suspect that transaction gets applied but client fails to get a confirmation. Can you check that?

@mversic I checked by query domain list all I can see that the transaction has not been applied.

if you confirm, this is the same issue that @BAStos525 and Artem encountered with websockets and proxy server. The problem is that when listening to an event that transaction was applied we use websocket protocol

@AlexStroke I suspect that transaction gets applied but client fails to get a confirmation. Can you check that?

@mversic I checked by query domain list all I can see that the transaction has not been applied.

can we see what the logs say, was transaction received and processed?

The tx wasn't received and processed. When we testet cli transaction flow the tx wasn't sent, because, i suppouse, the iroha_cli commands firs initiates ws listener and then send transactions. And if listener falls with an error, the command returns the error without transaction sending. Also i have a problem with all ws listeners on the Rust clients, they all fall with HTTP 400. But standart HTTP methods like: submit() work successfully, so i can submit any tx via Rust client.

yes, exactly this. The problem is websocket

In addition, i built my own Rust ws client using another libs and it works correctly. So, seems the problem not with websocket in general, but with client ws libs in particular

The tx wasn't received and processed. When we testet cli transaction flow the tx wasn't sent, because, i suppouse, the iroha_cli commands firs initiates ws listener and then send transactions. And if listener falls with an error, the command returns the error without transaction sending. Also i have a problem with all ws listeners on the Rust clients, they all fall with HTTP 400. But standart HTTP methods like: submit() work successfully, so i can submit any tx via Rust client.

yes, exactly this. The problem is websocket

In addition, i built my own Rust ws client using another libs and it works correctly. So, seems the problem not with websocket in general, but with client ws libs in particular

can you be more specific about what you did?

@DCNick3 this might be related to #4047 ?

@AlexStroke which version of Iroha is running on the node?

If you don't mind i can commit a fix on the next week after finishing final checks

sounds good, assign yourself to the ticket

The tx wasn't received and processed. When we testet cli transaction flow the tx wasn't sent, because, i suppouse, the iroha_cli commands firs initiates ws listener and then send transactions. And if listener falls with an error, the command returns the error without transaction sending. Also i have a problem with all ws listeners on the Rust clients, they all fall with HTTP 400. But standart HTTP methods like: submit() work successfully, so i can submit any tx via Rust client.

yes, exactly this. The problem is websocket

In addition, i built my own Rust ws client using another libs and it works correctly. So, seems the problem not with websocket in general, but with client ws libs in particular

can you be more specific about what you did?

I just built a simple ws client using the websocket library. It was rough, but it helped me to restrict the source of bug searching area.
use std::error::Error;
use iroha_data_model::block::stream::{BlockMessage, BlockSubscriptionRequest};
use parity_scale_codec::{DecodeAll, Encode};
use websocket::{ClientBuilder, Message, OwnedMessage};
use tokio_util::compat::{TokioAsyncReadCompatExt};
use websocket::header::{ Headers};
use websocket::native_tls::TlsConnector;
use websocket::ws::dataframe::DataFrame;
use crate::utils::non_zero_handler::non_zero_handler;

pub fn socket_init() -> Result<(), Box<dyn Error>> {
    let buf = b"Connection: Upgrade\n\
    Upgrade: websocket\n\
    Sec-WebSocket-Version: 13\n\
    Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits\n\
    Authorization: Basic VlFhUDJyUVNrbVhxT0Y5Z2RyTGdrdEJvWmI6TGVpV2xqTHpVczR2eFhwNXJQY3JQbTN3RE8=\n";
    let mut headers = [httparse::EMPTY_HEADER; 5];
    httparse::parse_headers(buf, &mut headers[..]).expect("");

    let headers = Headers::from_raw(&headers).unwrap();
    let mut client = ClientBuilder::new("https://s1.tst.iroha2.iroha.tech/block/stream")
        .unwrap()
        .custom_headers(&headers)
        .connect(TlsConnector::new().ok())
        .unwrap();
    let msg = Message::binary(BlockSubscriptionRequest::new(non_zero_handler(1)).encode()) ;

    let request = client.send_message(&msg).unwrap();
    let mut response = OwnedMessage::from(client.recv_message().unwrap()).take_payload();
    let rsp_msg = BlockMessage::decode_all(&mut response.as_slice()).unwrap();

    println!("{:?}", rsp_msg);

    Ok(())
}

@AlexStroke the image cannot be opened


Fix/wjiang/set grid fix

When set_grid is call, the cf_root is not created. So the GridType should come from cap.
Description

Related Issue

Motivation and Context

How Has This Been Tested?

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[x] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[x] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

This fix is necessary for issue https://github.com/GEOS-ESM/GOCART/issues/207

I might need some @tclune thoughts on this. This might be better as a hotfix than a feature if you are saying the previous code wasn't right.

closed. Replaced by #2003


No RPA version header

I have an RPA that has no "RPA-X.X " at the beginning of archive.rpa
https://i.imgur.com/FmCieAV.png
Anyone knows why? Game is "The Hard Way"
About says "Made with RenPy <IP_ADDRESS>3"
The error I get is ValueError: the given file is not a valid Ren'Py archive, or an unsupported version
Also https://gameresourcesviewer.ru/ which I believe uses rpatool can decompile it.

Found this

Not sure why the dev attempted to protect this free version from disassembly. If you'd like to take a peek:

Edit loader.py, add a '#' in front of line 121 that says "return [b"madmufin"]". Remove the '#' from the next line 123.
Using a hex editor replace the first 8 bytes from "madmufin" to "RPA-3.0 ".
Use your favorite tool (unren, un-rpyc, etc.) to decompile


[Bug]: The test case "test_lock" will fail possibly

Description about the bug
There is a low possibility the test case test_lock will fail. The error message has been pasted into Relevant log output
Run the command cargo test -p xline --test lock_test several times maybe reproduce this issue.
Version
0.1.0 (Default)
Relevant log output
running 2 tests
test test_lock ... FAILED
test test_lock_timeout ... ok

failures:

---- test_lock stdout ----
Error: GRpcStatus(Status { code: InvalidArgument, message: "lease error: lease<PHONE_NUMBER> already exists", metadata: MetadataMap { headers: {"content-type": "application/grpc", "date": "Sun, 19 Mar 2023 05:48:33 GMT", "content-length": "0"} }, source: None })

failures:
    test_lock

test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.62s

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Resolve in #212


Lightning Module's to_disk should use fsspec to write reusults

🚀 Feature
use fsspec here to support more storage backends besides local disk:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cea5f1f53876399dfaa0d37accdc527af7ca39af/pytorch_lightning/trainer/supporters.py#L138-L165
cc @nateraw

I would like to take a look into this, and submit a PR.


feat(react-native): update iteration count for encryption

Problem solved
Update iteration count on react native embedded wallet for more speed
Changes made

[ ] Public API changes: NONE
[ ] Internal API changes: NONE

How to test

[ ] Automated tests: NONE
[ ] Manual tests: Login with both a new and existing account on a new device both login should work

LGTM!

@ElasticBottle are you waiting on other changes to merge this one?


Add rake task to find redirected DFID reports

Add a temporary rake task which finds all published redirects with the DFID base path (/dfid-research-outputs/). These were not removed from the search API when the redirects were configured. This commit will allow us to build a list of them in order to remove them from the search API in bulk.
This rake task will be removed once it has been run in production.
https://trello.com/c/ECoFt3Yq/136-dfid-research-output-finder-issues-to-investigate

Are you concerned at all with dfid-research-outputs that are unpublished with type redirect?

🤦♀ I was concentrating on fixing the duplicate search results, but of course there could be deleted reports lurking in the search index too.
I can't find any unpublished DFID redirects in my dev DB, but it doesn't hurt to include it in the query in case there are some in production. 👍

Sure - they wouldn't actually appear in this query as they'd not have a document_type of redirect. I checked the db and there isn't actually any though (there is only one unpublished dfid-research-output and that's a gone)


Added Dueling DQN

I saw there was a need for the dueling DQN on the "Remaining issues & research questions" section, and I figured it would be a good first contribution. I am working on getting access to more compute right now, so I just have a few comparisons. Outside of the neural network code, the rest remains the same as the DQN.
Cartpole: Orange is dueling, green is dqn

Lunar Lander: pink is dueling, blue is dqn

Breakout: both are dueling (two separate runs)

Ok, I resolved the three comments (changing the wandb project and entity, and the name for the intermediate nn state). I also ran the formatting pre-commit.

I will run some new tracked experiments shortly (over the next few days). Should they be new ones, or can I sync the existing runs to the project?

Ok, I resolved the three comments (changing the wandb project and entity, and the name for the intermediate nn state). I also ran the formatting pre-commit.

Thank you very much!

I will run some new tracked experiments shortly (over the next few days). Should they be new ones, or can I sync the existing runs to the project?

Sure, if you can sync the existing run into the project that would save time!

Added cartpole and lunarlander runs to project. Running breakout run now.

Awesome https://wandb.ai/vwxyzjn/vectorized-value-methods/reports/DDQN--VmlldzoxNTAwNDkw tracks this benchmark now

Oh btw do you have a GPU by any chance? Atari experiments may take a long time with CPU :)

The learning curve already makes sense. Merging now. Thank you @lockwo so much


Rider is only supported on Linux when installed via JetBrains ToolBox

Describe the bug

When installing Rider for Linux the download page (https://www.jetbrains.com/rider/download/#section=linux) directs you towards a .tar.gz for manual installation.
Alternatively Rider can be installed (unofficially) via FlatHub (https://flathub.org/apps/com.jetbrains.Rider) (almost 50,000 installs).

Following either of these installation methods means DiffEngine is unable to locate Rider. The only supported method is installation via JetBrains Toolbox (https://www.jetbrains.com/toolbox-app/). This is perfectly acceptable but it's not entirely apparent that's the case.

it should be failing over to discovering rider via the path environment variable. is this not working?


Suggestion: save preprocessor in a more transferable format

The pickle format is meant mainly for short term storage.
It comes with a few drawbacks:

"The pickle module is not secure."
It ties the model to the current implementation: refactoring the code or upgrading a library might break unpickling
It's Python only and opaque: it would be difficult to use a trained model and serve it separately

/cc @kermitt2 @lfoppiano

@de-code do you have any suggestions?

Thank you @de-code I agree, I had already several times problems when modifying the code which broke compatibility of the existing pickle preprocessor - and it will happen again when adding the feature preprocessor. We could probably simply save the data in json because it's only a few maps.

What about saving everything in the config.json? Or should be in a separate file?

I think it would make the config.json hard to read because the different saved vocab maps can be a bit large. Another discussion we had was to use the config.json file as a way to parameter a training instead of passing arguments, so that would make sense to separate the model preprocessor data.

json sounds good. I often reduce the size by gzip compressing slightly larger files and there is usually good support for gzip.

I forgot to link it to PR #105, I guess we could close this issue.

yes !


pam_ssh_agent_auth is old

Issue description
Could we update the pam_ssh_agent_auth package to 0.10.2? (We last changed this in 2013 :D)
I tried doing so but the patch file we apply seems way off what they have now.
Pinging @edolstra as the maintainer

This commit updates the version - maybe this issue can be closed?


String support for Zen

This PR adds string support through Zen's Z3 backend, so that Zen users can compile, evaluate, and check code manipulating strings.
Supported features are:
-string variables
-string constants
-equality comparisons between strings
-string concatenation

Looks good. Just left one minor comment.

Thanks, addressed comment and removed generic type from ZenConcatExpr.


v9: Changing slug in app.json causes app to white screen with no error because fonts don't load

Describe the bug
For anyone who runs into this bug while testing v9 (and possibly v8)....
MacOS is case sensitive so if you decide to use MixedCase for your app's slug value without knowing better (doh) or you change it for any other reason, then Ignite's use of the useFont hook doesn't create a new folder with the new name and yet it can't find the earlier folder.
Test was done in a new app from Ignite Expresso (v9).

answer the init questions for new app LowerCase and choose for the slug also LowerCase
complete the questions
start the app in Expo Go (yarn start), all should be fine
open app.json
realize your mistake on the slug value and change it to lowercase ("slug": "lowercase")
restart the app
the app will white-screen with no information

Ignite version
9 (expresso)
Additional info
A helpful thing to do is to modify the call to useFonts(...) to grab the resulting error and throw causing the app to display a message and the fault, including the parent of the problematic child folder.

open app.tsx
find the call to useFonts() hook
modify the line to capture the error as well as areFontsLoaded
const [areFontsLoaded, fontError] = useFonts(customFontsToLoad)
throw an error so that Expo Go quickly shows you the problem:

  if (fontError) {
    const { name, cause, message } = fontError
    throw new Error(`Could not load fonts. Did you rename your app or slug perhaps?\n${name}: ${cause}\n${message}`)
  }

copy paste the parent directory from the error message and paste into Finder > Go > Go to Folder...
fix the child folder name/case-ing.
reload app
error should gone

You should use the rename command from ignite-cli to do this. Could you try that and see if it fixes this issue?

Spoke via Slack, was not aware of the cli command. Closing but leaving for discoverability.


Submit a pull request, and post a new entry at the SQ forum

the repository to submit PR
the SQ forum

About discourse API:

https://docs.discourse.org/#tag/Posts/paths/~1posts.json/post
https://meta.discourse.org/t/authenticating-using-api-keys-when-accessing-api-through-fetch/134149/3

Posted a question at https://meta.discourse.org/t/can-non-admin-user-issue-their-own-api-key/173226 to confirm how non-admin users can issue their API token.


fix for crash in DarkMode on older platforms

IsColorSchemeChange will be called on all platforms, but
GetIsImmersiveColorUsingHighContrast is dynamically loaded on Win10+
and not nullchecked before being called. This leads to a null ref crash on Win7
and 8

This will go into the next NuGet release.


fix(Transition): fix transition memory leak edge case

close #12181

/ecosystem-ci run

Why can't we remove the last check to make this less redundant (we already have an oldInnerChild at the top level)?

https://github.com/vuejs/core/blob/ec2fcec0899056672ca9c32fc2ea0730fb3f0365/packages/runtime-core/src/components/BaseTransition.ts#L240-L244
oldInnerChild is used in delayLeave

@ferferga
No worries, reviews of the PR are very welcome.

Given this is a really tiny change that could pass unnoticed in any refactor, I'd add a reference to the issue as a comment and even a test, I think it could be done with FinalizationRegistry. I could try later if you don't want to do it.

I'm not sure how to do it, maybe you could try it later.

Tests added at https://github.com/vuejs/core/pull/12190
I'm targeting this branch as well, please let me know if I should target main instead.


Hacky workaround for #9822

This works around a not yet root-caused issue that we have only seen on GKE.
If this issue shows up in another configuration, we can revisit a more robust fix.

LGTM.
cc @roberthbailey @alex-mohr

This issue was opened against docker 10 days ago: https://github.com/docker/docker/issues/14203.

FYI this was fixed upstream in https://github.com/opencontainers/runc/pull/515.


Update TypeScript definitions and tests

Original issue: https://github.com/reactjs/reselect/issues/125
cc. @threehams

Coverage remained the same at 100.0% when pulling 0aed9b78338d11b6e15a8c81c99f42ddf63e19a4 on aikoven:3.0.0 into f63e49c7b48bd91e4d11ad72851bba089fe3e563 on reactjs:3.0.0.

Current coverage is 100% (diff: 100%)

Merging #192 into 3.0.0 will not change coverage

@@           3.0.0   #192   diff @@
===================================
  Files          1      1
  Lines         12     12
  Methods        0      0
  Messages       0      0
  Branches       0      0
===================================
  Hits          12     12
  Misses         0      0
  Partials       0      0

Powered by Codecov. Last update f63e49c...0aed9b7

In general these seem to be working really well, I have added a few comments. The main thing I wanted to check was that this code still worked:
  const selector2 = createSelector(
      (_, props: {id: string}) => props.id,
      (state: {foos: {[id: string]: string}}) => state.foos,
      (id, foos) => foos[id]
    );

  selector2({foos: { '1': 'bar'}}, {id: '1'});
  // typings:expect-error
  selector2({foos: { '1': 'bar'}}, {notid: '1'});
  // typings:expect-error
  selector2({notfoos: { '1': 'bar'}}, {id: '1'});

Which it does, and it is covered by testParametricSelectors.
I found it interesting that specifying type any for the unused state parameted _ caused the resulting selector to widen its state parameter to any, which is not what I wanted. Using type never for the unused parameter does seem to have the desired effect though and allows you to turn on noImpilictAny
I will try them out against a whole application next week and report back

@frankwallis Thanks. I've enabled noImplicitAny. There's a problem with >8 selectors in array and I'm not sure there's a way to fix it. We could do
export function createSelector<S, P, T>(
  selectors: ParametricSelector<S, P, any>[],
  combiner: (...rest: any[]) => T,
): ParametricSelector<S, P, T>;

but it would kill all the type safety for previous overloads.

Coverage remained the same at 100.0% when pulling dd1003fded1fd336db95af40fc8c832e0d7615c1 on aikoven:3.0.0 into f63e49c7b48bd91e4d11ad72851bba089fe3e563 on reactjs:3.0.0.

@aikoven - yes I don't think that can be done currently, there is an open typescript issue about it here. I think the issue also exists with the >8 parameters version as well as the array version (I have added a comment).
I suppose the question is whether it is better to leave them out for now or include them? This may be solvable in 2.1.3 using the new 'mapped types' functionality (https://github.com/Microsoft/TypeScript/pull/12114#issuecomment-261688194) but I haven't tried it yet..

@frankwallis

This may be solvable in 2.1.3 using the new 'mapped types' functionality

I can't find a way to apply mapping to an array. I tried this:
export function createSelector<S, R extends any[], T>(
  selectors: {[K in keyof R]: Selector<S, R[K]>},
  combiner: (...values: R) => T,
): Selector<S, T>;

But there are two problems:

keyof R is number | "length" | "push" | ..., not 0 | 1 | 2 | ....
(...values: R) => T doesn't work either, produces error A rest parameter must be of an array type.

Maybe it'd be better if we completely left out the ...rest overloads for the sake of type safety. We can provide enough overloads to cover most cases. Besides, one call to createSelector can usually be split:
createSelector(
  selector1, selector2, selector3, selector4,
  (v1, v2, v3, v4) => {...}
)
// vs
createSelector(
  createSelector(selector1, selector2, (v1, v2) => ({v1, v2})),
  createSelector(selector3, selector4, (v3, v4) => ({v3, v4})),
  ({v1, v2}, {v3, v4}) => {...}
)

Yes I found the same thing, mapped types don't seem to work for arrays/tuples :(. I agree that the ...rest declarations should be left out for now, perhaps provide overrides up to 12 selectors and call it done?

Hm... it doesn't seem to be possible to receive additional arguments (besides the singular props) on the selectors? Though this is already the case with the existing definitions.

@Kovensky You're right, I'll fix that.
I'd also like to wait until TS 2.1 is released to correctly type createStructuredSelector.

Updated PR.
Added support for extra args in selectors, removed ...rest versions of createSelector, updated to TS 2.1.

Coverage remained the same at 100.0% when pulling 8c48a39b1090c7af830e3a0b59b1408198e18471 on aikoven:3.0.0 into f63e49c7b48bd91e4d11ad72851bba089fe3e563 on reactjs:3.0.0.

Sorry for being quiet for a while (crazy project at work), but I've been watching, and @frankwallis has been doing a great job of reviewing. Sounds like you have a more comprehensive project than mine.
I've been spending the last few days updating a six-month-old project which uses Reselect pretty heavily so I can check out the typings in a real environment. While doing that, I've run into problems with typings across three libraries, so I may or may not have any input around the types of problems I ran into. I should be able to either comment (with very minor stuff, specifically around Typescript's inference issues) or merge by the end of the day.

Note that I do want to bring up the possibility of merging these into DefinitelyTyped instead of this repo.
Three months ago, there was a huge advantage to having these available from the package itself - getting typings required a third-party tool (typings or tsd) and maintaining a separate list of dependencies. TS 2.0 fixed that with @types, which was pretty fantastic.
Now, we're having the opposite problem, where we're needing to make a major version update within this library because of breaking changes in type definitions, even though the underlying library hasn't changed. In addition, these typings require everyone to use Typescript 2.1, and I don't know what adoption rates are like. If there's an addition to the JS code in this library, it'll require anyone using TS to update to 2.1 to use it at all.
Now that Microsoft is involved, DefinitelyTyped has many more resources available, and the discussion about versioning is happening again, although it's related to library version rather than TS version. It seems that 2.1 features will be allowed on DefinitelyTyped one month after the release of the new version.
https://github.com/Microsoft/types-publisher/issues/3
Lot to think about here. Lot of uncertainty in the future. I'd like to know what all of you think.

DefinitelyTyped does still recommend bundling over publishing to @types, though.
I wonder if that policy should be revisited with the new publishing system...

I'll take a look at why Angular 2 publishes to DefinitelyTyped, even though the entire project is written with Typescript. That may have more to do with public vs. private typings, though - generating a public d.ts file is on the Typescript roadmap as a planned feature.

@threehams I agree that it's a pain, although I think that using DT again is a step back. Its problems are well-known and they are the reason why Typings was created. IMO it has one advantage over Typings: you don't have to choose between different typings for same package. With Typings it's common to end up with conflicts arising because of that.
Btw, starting with TS 2.0 it's easy to use NPM for typings, so Typings isn't needed anymore. E.g. if we publish typed-reselect to NPM, we can just add it to dependencies and then point TS to it:
// tsconfig.json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "reselect": ["node_modules/typed-reselect"]
    }
  }
}

Still, there's the same problem as with Typings: if there isn't one official typings package, it may be difficult to choose between them.
Also there's an overhead for referencing each typings package in tsconfig.json. Maybe someday TS will be smart enough to find typings in node_modules automatically.
To me the main reason to bundle typings is that it makes them official, which lets the community to focus around the single variant and avoid partitioning.
However, the versioning problem is much bigger than I thought before. It involves both source package version, which must be bumped for each breaking change in typings, as well as TS version.
The best solution I see now, is keeping typings in the separate repo and package, but close to the source repo (e.g. in reactjs org), and pointing to them in readme.

Publishing types in a separate package sounds like a major divergence from other projects. Is there any precedent for that? Wouldn't we also still need to do major version releases (to avoid breaking semver) when the typings change?
This is an unsolved problem. However, since reselect's code is so stable, I would be in favor of keeping the definitions within this repo for now, and follow / contribute to the larger discussions happening. There is a lot of work being done on the DT types-2.0 branch (related to the types-publisher creating @types modules), and the long-term plan seems to be close to what you're describing here - with the one source of truth being individual modules within the npm @types organization.
I've spent a good part of the day tracking down and reading discussions, but there's still more out there. Some highlights:
Someone equally as confused as me, gradually figuring it out:
https://github.com/typings/typings/issues/746
Discussion about mass changes to definitions within DT as part of Types 2.0:
https://github.com/typings/typings/issues/738
Pull request intended to bring everything in the typings project together into @types:
https://github.com/Microsoft/types-publisher/issues/4

@threehams Thanks for your research.

However, since reselect's code is so stable, I would be in favor of keeping the definitions within this repo for now

We'd still have to bump major when we update typings for new TS versions. There are some features in roadmap that allow more accurate typings for reselect, e.g. Variadic types.
If we publish typings as a separate package, we can have an independent versioning schema that would satisfy semver for both source package and typings. Although we'd have to somehow provide a mapping from source version to typings version(s).
If I understand correctly, https://github.com/Microsoft/types-publisher/issues/4 proposes a way to keep typings in a separate repo (not DT), but still be able to install it via @types/. IMO it's the best possible solution to this.

@threehams Thanks for your research.

However, since reselect's code is so stable, I would be in favor of keeping the definitions within this repo for now

We'd still have to bump major when we update typings for new TS versions. There are some features in roadmap that allow more accurate typings for reselect, e.g. Variadic types.
If we publish typings as a separate package, we can have an independent versioning schema that would satisfy semver for both source package and typings. Although we'd have to somehow provide a mapping from source version to typings version(s).
If I understand correctly, https://github.com/Microsoft/types-publisher/issues/4 proposes a way to keep typings in a separate repo (not DT), but still be able to install it via @types/. IMO it's the best possible solution to this.

I think I've played with these typings as much as I can, and I'm good to merge these. Thanks aikoven for making these and frankwallis for reviewing!
As for where to put these typings over time? Let's keep watching those couple discussions on aliasing and versioning (I'm subscribed to them all). For now, we're past the 30 day grace period for new TS versions which is the current standard, so anyone on < 2.1 can stay with reselect 2. We should mention this in the release notes, though.
I'm not too concerned about variadic types for now. It's been on the roadmap for a while, there's no clear consensus yet, and the current scope doesn't cover reselect's API (rest arguments before callback). Plus, if it were covered, it should be backwards compatible, since it will only expand the number of params, not restrict them.

@aikoven @frankwallis Any further concerns before merging, or very strong opinions on splitting these to another repo right now?

Plus, if it were covered, it should be backwards compatible

I'm not 100% sure about this, since it would change generic arguments, which would break code that used old signatures with arguments specified. Still, there's a good chance that variadic kinds wouldn't work for our case at all.
Anyway, I think this would only happen in distant future, and maybe by that time there's more clear way for publishing types.

Since discussion of this PR seems to have paused, just thought I'd give it a bump and a +1. Would be really great to have a typesafe selector param.
My 2¢: Isn't it always the case that a breaking change may not affect a library user
if they don't use its full functionality?

For the record I think that these typings would be better off outside of the repository so they can be independently versioned and will be like the majority of other packages. IMHO the only packages which should include their own typings are those written in typescript as there is much less likelihood of having to update the typings file independently from the code.
Regarding adding another generic parameter, this will be possible to do without breaking existing code when you can specify a default value for generic parameters. This is expected to drop in the next few months in typescript 2.3.0

This pull request has been held up by the "here or outside" question for a while, so I'm making the call to merge it into this repo 3.0. The discussion (within TS + Microsoft) around better handling of typings in separate modules hasn't gone much further since we last discussed this, so I'd rather not wait any longer for that to be resolved.
I'm watching the relevant issues in Typescript and types-publisher. We can revisit it as we narrow / change typings due to new features in TypeScript.


Unable to locate text area tag. Switching to ID search

2023/08/24 00:07:44 INFO Verbose mode active
2023/08/24 00:07:44 INFO Loading undetected Chrome
2023/08/24 00:07:44 INFO patching driver executable ./chromedriver.exe
2023/08/24 00:07:44 INFO Loaded Undetected chrome
2023/08/24 00:07:44 INFO Opening chatgpt
2023/08/24 00:07:46 INFO Element //button[//div[text()="Log in"]] has found
2023/08/24 00:07:46 INFO Clicked login button
2023/08/24 00:07:48 INFO Element username has found
2023/08/24 00:07:48 INFO Filled email box
2023/08/24 00:07:48 INFO Element //button[text()="Continue"] has found
2023/08/24 00:07:50 INFO Clicked continue button
2023/08/24 00:07:50 INFO Element password has found
2023/08/24 00:07:50 INFO Filled password box
2023/08/24 00:07:53 INFO Logged in
2023/08/24 00:07:58 INFO Info screen skipped
2023/08/24 00:07:58 INFO ChatGPT is ready to interact
2023/08/24 00:07:58 INFO Unable to locate text area tag. Switching to ID search
Traceback (most recent call last):
File "c:/Users/iMusic/Desktop/chatgpt_headless_chrome/chatgpt_automata.py", line 18, in
answer = chatgpt.interact(question="based on eva lyrics, to summarize its keywords")
File "C:\Users\iMusic\AppData\Local\Programs\Python\Python38\lib\site-packages\chatgpt_automation\chatgpt_client.py", line 258, in interact
raise RuntimeError('Unable to find the text prompt area. Please raise an issue with verbose=True')
RuntimeError: Unable to find the text prompt area. Please raise an issue with verbose=True

Hey,
Can you please pass headless=False and see if the info screen is still visible? In my end, I can't reproduce the problem.

Oops!
You tried signing in with a different authentication method than the one you used during signup. Please try again using your original authentication method.

Oh, I got it, its my own problem, I register my account with google account, so it cannot log in with mailaddress and password, now I register a new account with email address and password, now it works! And one more question, can I use it to log in with google account rather than mail address and password.

And one more thing that can I stay in loggin state rather than each time when I use the script I need to log in again.

I have an issue for Google SSO here but I don't have time to implement it. I am not sure when I can find some time. If you would like to contribute, you can work on it.


Property 'div' does not exist on type 'JSX.IntrinsicElements'.

Describe the bug
This problem will appear when I use vite build a react-ts project.
When I write some HTML element in JSX, IDE will always prompt Property '...' does not exist on type 'JSX.IntrinsicElements'.. I‘d not change anything, it‘s just a default project create by vite.
Actually, the react-ts template preset provided on the vite official website also within this problem.

Reproduction
https://stackblitz.com/edit/vitejs-vite-88gtsm?file=index.html&terminal=dev
Steps to reproduce
No response
System Info
System: Windows 11
Binaries: Default packages provided by vite(react-ts template)
Browser: Chrome 115.0.5790.110
IDE: VSCode

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I used npm and I have done npm i.
The StackBlitz should install dependencies automatic.
ZENKIE
---Original---
From: @.>
Date: Thu, Aug 3, 2023 19:06 PM
To: @.>;
Cc: "Zenkie<EMAIL_ADDRESS>Subject: Re: [vitejs/vite] Property 'div' does not exist on type 'JSX.IntrinsicElements'. (Issue #14011)
Hello, Not sure if you are using the code within StackBlitz or vscode or other IDE.
When you do pnpm create @.*** and select one of the options that provides a typescript solution. After you've done you have to install the dependencies after the react vite project has been created.
A new folder appears called node_modules and I do not see it appear in StackBlitz ( even when I run npm install ) which is needed to reference the types to make sure typescript works correctly with the IDE.
When I create the project locally on my computer and run npm install or pnpm install I do not get the errors what you get. So check if stackblitz doesn't have any issues.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

This happens to me out of the box with the unmodified template using yarn 3.

Errors  Files
    25  src/App.tsx:1
     3  src/main.tsx:1

Actually Vite haven‘t give me an error, it‘s just an Editor warning. But when I use NextJS, they got no problem about this.
I use vite because it start so fast, but there’re some problem like this, It made me feel not good.😥

Actually Vite haven‘t give me an error, it‘s just an Editor warning. But when I use NextJS, they got no problem about this.😥

I was having the same errors on VSCode and updating it solved for me.

Update what?
ZENKIE
---Original---
From: "Leandro @.>
Date: Sat, Aug 12, 2023 19:02 PM
To: @.>;
Cc: "Zenkie<EMAIL_ADDRESS>Subject: Re: [vitejs/vite] Property 'div' does not exist on type 'JSX.IntrinsicElements'. (Issue #14011)
Actually Vite haven‘t give me an error, it‘s just an Editor warning. But when I use NextJS, they got no problem about this.😥
I was having the same errors on VSCode and updating it solved for me.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Similar issue here when I started a new vite project using npm create vite@latest, Node v18.17.1, Typescript 5.1.6

Stuck on a similar issue.
yarn  dev command works but yarn build fails

Just encountered same problem on my machine..

change the "moduleResolution": "Node" in tsconfig.json

This was the correct answer for me. I used Neovim + CoC.nvim with coc-tsserver. Worked fine after the modification.

Closing as this seems to be fixed in stackblitz.

Similar issue here when I started a new vite project using pnpm create vite@latest, Node v16.14.0, Pnpm 7.4.0,Typescript 5.1.6

哥们，你这有水印，小心点

For anyone else that might have this problem. Setting workspace typescript version in VS Code solved it for me:
In the VS Code command palette, run the TypeScript: Select TypeScript version command.
Make sure you have Use Workspace version selected.

Source: https://github.com/microsoft/TypeScript/issues/52396#issuecomment-1404056467

For anyone else that might have this problem. Setting workspace typescript version in VS Code solved it for me:
In the VS Code command palette, run the TypeScript: Select TypeScript version command. Make sure you have Use Workspace version selected.

Source: microsoft/TypeScript#52396 (comment)

Brilliant!


add CEF configuration

Required items, please complete
Change(s):

Added Azure deployment template for Auxiliary table
Added Logstash samples for CEF Auxiliary logs ingestion

Testing Completed:

Yes

Hello @alexdev-msft, Please accept license agreement.

@alexdev-msft please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="Microsoft"


New iterator method 'try_fold' can be optimized

Either can gain even more optimized iterator methods by overriding the try_fold method added in 1.27; however, this will cause a pretty big bump in the minimum supported rust version (which appears to be 1.12 based on CI test configuration).

Oops! No it cannot, because it requires mentioning the unstable Try trait! :stuck_out_tongue:
I guess I'll leave this here though for once it actually can be done. (that time must be approaching not too long from now!)

We could use a build script to enable an internal cfg when Try is available.


How to stop all ongoing animation?

Hello,
I have gone through the tutorial(http://www.raizlabs.com/dev/2015/01/uiview-animation-sequencing-and-grouping-techniques/#comment-11772), love the way to you explained the keyframe animation specially by giving a demo app and explained it in a very simpler way :) .
I have a question regarding the attached sample application.
How to stop ongoing animation? let suppose animation started (title animation, tap label activity indicator, and copy right label animation).As it takes time to get it done completely and in-between If I want to stop this ongoing animation group it should stopped immediately and once that animation stopped all subviews(title label,tap label and copy right)should be in their right places.

Hi @kamarshad, because this library is built on the UIView block animation API, there is no way to explicitly cancel an animation, short of enumerating the animationKeys of each involved view's layer and canceling those. Even then, the views would jump to their final states rather than remaining in the presentation state when the animations were removed.
I think this would be a difficult problem even dropping down the the CAAnimation API, but if you know of a way to implement it, I think it would be a great feature.

I'm implementing the ability to cancel in-flight sequences in #14

@jvisenti  Thanks  :+1:

Implemented in v0.4.0


Column in temp table can't reference column in main table

Statement.prepare throws "SqliteError: no such table: temp.Alpha" when I prepare a statement targeting a temp table one of whose columns references a column in a table in the main database.
const Sqlite3 = require('better-sqlite3')
const db = new Sqlite3(`./experiments.sqlite`)

const stmt0 = db.prepare(`
  DROP TABLE IF EXISTS Alpha
`)

stmt0.run()

const stmt1 = db.prepare(`
  CREATE TABLE Alpha (
    id       integer   PRIMARY KEY AUTOINCREMENT,
    flavor   text      NOT NULL
  )
`)

stmt1.run()

const stmt2 = db.prepare(`
  CREATE TEMP TABLE Beta (
    alphaId   integer   NOT NULL REFERENCES Alpha(id),
    color     text      NOT NULL
  )
`)

stmt2.run()

const stmt3 = db.prepare(`
  DELETE FROM Beta
`) // throws "SqliteError: no such table: temp.Alpha"

stmt3.run()

console.log('done')

Complete error output:
/Users/me/projects/this-project/node_modules/better-sqlite3/lib/methods/wrappers.js:5
        return this[cppdb].prepare(sql, this, false);
                           ^
SqliteError: no such table: temp.Alpha
    at Database.prepare (/Users/me/projects/this-project/node_modules/better-sqlite3/lib/methods/wrappers.js:5:21)
    at Object.<anonymous> (/Users/me/projects/this-project/bsqltest.js:28:18)
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'SQLITE_ERROR'

I get the same error even if I prefix all the table names with main. and temp. in these queries.
The same queries seem to work fine when I run them using the sqlite3 CLI tool. That makes me think this is an issue with better-sqlite3, but I would be thrilled if this is just a glitch in my own SQL.

Tool
Version

node
16.14.2

better-sqlite3
8.3.0

As far as specifying the schema name in the REFERENCES clause, that also seems to fail:

...REFERENCES main.Alpha(id) throws SqliteError: near ".": syntax error

sqlite3 also throws Parse error: near ".": syntax error for this

...REFERENCES [main.Alpha](id) throws SqliteError: no such table: temp.main.Alpha

sqlite3 accepts this

There is no temp.Alpha because it's main.Alpha.

If a schema-name is specified, it must be either "main", "temp", or the name of an attached database. In this case the new table is created in the named database. If the "TEMP" or "TEMPORARY" keyword occurs between the "CREATE" and "TABLE" then the new table is created in the temp database. It is an error to specify both a schema-name and the TEMP or TEMPORARY keyword, unless the schema-name is "temp". If no schema name is specified and the TEMP keyword is not present then the table is created in the main database.

https://www.sqlite.org/lang_createtable.html

The same queries seem to work fine when I run them using the sqlite3 CLI tool. That makes me think this is an issue with better-sqlite3, but I would be thrilled if this is just a glitch in my own SQL.

Your conclusion is wrong, as they are compiled with different options https://github.com/WiseLibs/better-sqlite3/blob/master/docs/compilation.md#bundled-configuration . In particular the SQLite CLI does not enforce foreign keys by default.
 $ sqlite3
SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> DROP TABLE IF EXISTS Alpha;
sqlite> CREATE TABLE Alpha (
   ...>   id       integer   PRIMARY KEY AUTOINCREMENT,
   ...>   flavor   text      NOT NULL
   ...> );
sqlite> CREATE TEMP TABLE Beta (
   ...>   alphaId   integer   NOT NULL REFERENCES Alpha(id),
   ...>   color     text      NOT NULL
   ...> );
sqlite> PRAGMA foreign_keys = ON;
sqlite> DELETE FROM Beta;
Parse error: no such table: temp.Alpha

I don't think what you're trying to do is possible (foreign keys across different databases) or I can't find any recent info on it. But this is definitely not a better-sqlite3 issue. https://sqlite-users.sqlite.narkive.com/m6g9nMKH/sqlite-references-from-temporary-table-to-main-database-table

That's a bummer. Thanks for settling this for me, and in particular for that narkive link -- I hadn't been able to find anything in the SQLite docs or the broader web on this topic.


Issue with store creating multiple .temp files and having issues writing to it

Hi,
I was asked to open a issue here by sindresorhus as he mentioned that you could help here (original request - https://github.com/sindresorhus/electron-store/issues/261)
Issue:
I have a stored named MasterStore and it creates a MasterStore.json files and everything works prefect. However, after sometime for some reason the .setCache function errors out because it is trying to access some MasterStore.json.temp file. below is the error log
Error: EPERM: operation not permitted, rename 'C:\Users\AppData\Roaming\neclient\MasterStore.json.tmp-900921090850e765' -> 'C:\Users\AppData\Roaming\neclient\MasterStore.json' at renameSync (node:fs:993:3) at attempt (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\atomically\dist\utils\retryify.js:33:27) at attempt (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\atomically\dist\utils\retryify.js:39:36) at attempt (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\atomically\dist\utils\retryify.js:39:36) at Object.writeFileSync (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\atomically\dist\index.js:160:50) at ElectronStore._write (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\conf\dist\source\index.js:375:28) at set store [as store] (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\conf\dist\source\index.js:296:14) at ElectronStore.set (C:\Users\AppData\Local\Programs\neclient\resources\app\node_modules\conf\dist\source\index.js:189:20) at Object.setCacheValue (C:\Users\AppData\Local\Programs\neclient\resources\app\system_services\cache-service.js:59:21) at BeforeAppShutDown (C:\Users\AppData\Local\Programs\neclient\resources\app\main.js:352:23)
i crate the store using
const masterStore = new Store({ name: 'MasterStore' });
and set contents by  masterStore.set(key, value);
can someone tell me what's the reason its doing this? and how i can fix it?

no one?

Do you have a repro I can try?
conf is updating its stores synchronously (https://github.com/sindresorhus/electron-store/issues/106), which doesn't give this library a lot of time to write the file to disk, as it can't just block the main thread for a long time, it should be writing asynchronously instead if possible, that would give it more time to retry operations.
Other than that Windows is a dumpster fire, if for whatever reason it just doesn't allow you to rename a file there's nothing the library can do to force it.
I guess this library could try to write non-atomically in those situations, but that's nonsense for a library that explicitly provides atomic writes.

Hi @fabiospampinato,
thanks for the explanation, no I do not have a public repo of my app that you can use. My application is in electron-js and I use a cache package called electron-store which uses your lib.

It's something for electron-store to do


Fixing #320 + better analyzer standalone work

Fixed #320
Improved logging and standalone usage for a pip usage of the analyzer

I encountered same issue as in #320
Please advise when this PR will be merged into master so I can pull again to try.

@tommyli123 it's merged. Please check.

Yes it works well.  Thank you very much
On Wed, May 6, 2020 at 1:57 AM Omri Mendels<EMAIL_ADDRESS>wrote:

@tommyli123 https://github.com/tommyli123 it's merged. Please check.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/presidio/pull/321#issuecomment-624525335,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQKSZBW2O6QEB2UE24XO6LRQEQ7RANCNFSM4MYC7AEA
.

--
-tommy


ImportError: DLL load failed while importing _pid_controller:

ERROR: Please adapt your project to R2023a following these instructions: https://github.com/cyberbotics/webots/wiki/How-to-adapt-your-world-or-PROTO-to-Webots-R2022b
ERROR: Missing declaration for 'TexturedBackground', add: 'EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023a/projects/objects/backgrounds/protos/TexturedBackground.proto"' to 'C:/Users/User/python_projects/karma-suru-yarisma/crazyflie-simulation/webots/worlds/crazyflie_world.wbt'.
ERROR: Missing declaration for 'TexturedBackgroundLight', add: 'EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto"' to 'C:/Users/User/python_projects/karma-suru-yarisma/crazyflie-simulation/webots/worlds/crazyflie_world.wbt'.
ERROR: Missing declaration for 'Floor', add: 'EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023a/projects/objects/floors/protos/Floor.proto"' to 'C:/Users/User/python_projects/karma-suru-yarisma/crazyflie-simulation/webots/worlds/crazyflie_world.wbt'.
INFO: crazyflie_controller_py: Starting controller: python.exe -u crazyflie_controller_py.py
Traceback (most recent call last):
  File "C:\Users\User\python_projects\karma-suru-yarisma\crazyflie-simulation\webots\controllers\crazyflie_controller_py\crazyflie_controller_py.py", line 30, in <module>
    from  pid_controller import init_pid_attitude_fixed_height_controller, pid_velocity_fixed_height_controller
  File "../../../controllers\pid_controller.py", line 15, in <module>
    import _pid_controller
ImportError: DLL load failed while importing _pid_controller: The parameter is incorrect.

This is the output on the webots console.
I am doing:
swig -python pid_controller.i
python setup.py build_ext --inplace

Swig 4.0.1
Python 3.9.1
Windows 11 (developer build)
and then running
webots webots/worlds/crazyflie_world.wbt
Added webots to PATH

Hi! We haven't tried this on 2023a.. so there are probably some difference. You can try it on 2022b perhaps? The crazyflie should be also part of the regular robots now in webots since 2022b https://www.cyberbotics.com/doc/guide/crazyflie

I'll close this due to inactivity


feat(docs): Added edge traversal terminology explanation

Description
In this PR I added a section to the Graph/Edge doc page.
It explains the terminology we often use for edge traversals.
This PR also fixes the original diagram used and adds diagrams that visually explains the different traversal terminology.
Docs Version(s)

[x] edge
[x] 3.X
[x] 2.X

To-Dos

[x] Format with yarn format
[x] Lint with yarn lint
[x] Build successfully with yarn build

Code of Conduct
By submitting this pull request, I agree to follow the code of conduct.

@RPicster I simplified the terminology sections you added by removing redundant sentences -- the images in the examples illustrate the concepts well and I don't think there's much value in restating the definition in the previous sentence.
I also clarified that descendants are successors and predecessors anre ancestors.
I also added some links to/from other docs (got a little carried away and updated some unrelated doc pages as well).
I'm going to go ahead and merge this, but if anything could be further improved or I made any mistakes, please open another PR!
Thanks for this :)
P.S.- The green color of the example boxes does not mesh well with our theme, it's on my to-do list to fix.

Cool, thanks!
I couldn't find the change where you clarified that:
"I also clarified that descendants are successors and predecessors are ancestors."
But if it is written somewhere... shouldn't it be the other way around?
not all descendants are successors, but all successors are descendants.
not all ancestors are predecessors, but all predecessors are ancestors.


Sort batches within a block by dependency order

@bobbinth:
At the block level, output notes must come before corresponding unauthenticated input notes. That is, if batch1 has an unauthenticated input note A, this note must be an output note of batch0 (e.g., having it be an output note of batch2 should not be allowed).

I think this is somewhat related to the "Loosen block selection strategy" item from #519.

Closed by #572


Meta-Issue: Accessibility

This is a meta issue to track other issues related to accessibility.  Enabling Islandora to be used by all is a major goal of the project and part of Islandora 8 Roadmap priorities.  In addition, most jurisdictions in Canada, US and EU mandate that web applications meet Web Content Accessibility Guidelines (WCAG) 2.0 AA standards or equivalent standards.
While Drupal 8 provides good base accessibility support, additional modules and features provided by Islandora 8 need to support accessibility as well.

understanding the needs, standards and issues related to web accessibility
evaluating and testing for accessibility in Islandora 8
incorporating accessibility needs and concerns  in the design, development and testing workflow

It would be good to be able to automatically propagate the alt text on Original File to Service File and Thumbnail derivatives.

@dannylamb
WAVE Web Accessibility Tool - WebAIM is a good tool to evaluate accessibility.  It has a FF and Chrome plugin as well as a web UI: http://wave.webaim.org/report#/future.islandora.ca.
Another good tool is ChromeVox to highlight tab ordering.  Although it is a screen reader, it is more useful to test tab ordering.

Came across this post in my news feed today, I thought I'd drop it here since it looks like it has a lot of good, practical info: https://evolvingweb.ca/blog/how-test-your-drupal-sites-accessibility .


Fix LimitRange namespace bug

What this PR does / why we need it:
LimitRange integration had long standing bug
that caused every VMI to require namespace to
be set.
This also fixes situations where we don't apply
limits to VMI if the VMI is missing the label.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #7681
Special notes for your reviewer:
Release note:
Bug-fix: LimitRange integration now works when VMI is missing namespace

Presets integration has same issue

/cc

In which situations the VMI obejct will miss a namespace?

/approve

@fossedihelm PTAL

@xpivarc Thanks
/lgtm
/retest-required

/lgtm
sorry for the delay

/retest

/test pull-kubevirt-e2e-kind-1.22-sriov

/retest-required

/test pull-kubevirt-fossa

/retest-required


Update to Rustc 1.80.0

Some packages require 1.80.0, it would be nice to update the toolchain at least to it

I don't see why not. Do you happen to remember which package and/or the error message?
Feel free to submit a PR. Otherwise I will do it once I finish my current experiment with reproducible builds.

Cool, orion at least was complaining for me, giving the "this requires 1.80.0" message

As I think more about it I wonder why you are restricted by the tool-chain version that is currently specified in this project?
My idea was that users would either:

Use acap-rs-app-template as a template for a new git repository and install tools and libraries from crates.io (only applicable for acap-logging so far), or directly from this repository. This would be the preferred way since everyone benefits from improvements made to upstream.
Fork acap-rs (this repository) and customize the tooling for their specific needs.

Fair question, mostly cuz I was being dumb and developing in a fork of this repo instead of the template :)

Not dumb, I would probably do the same since there is a lot more scaffolding in this repository that aligns with how I want my projects to be set up (duh :upside_down_face:). Was there anything in particular that made starting from this repository, rather than the template, attractive to you?


Added update button on toolbar

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #6115

Details of Changes
Add details of changes here.

Added toolbar button when update is available.
Clicking toolbar button opens the download dialog prompt.

Validation
How did you test these changes?

[x] Built and ran the app
[x] Tested the changes for accessibility

Screenshots (optional)

@puppetsw would it be possible to change the behavior so that clicking the button automatically updates the app and skips the dialog? The dialog should still be shown for mandatory updates.

Wouldn't it be interesting to put an infobar indicating an available update in the settings? Below where does it indicate the installed version?

Wouldn't it be interesting to put an infobar indicating an available update in the settings? Below where does it indicate the installed version?

The settings dialog is not the correct place to indicate an update, by placing the indicator in the toolbar, we're letting the user know as soon as there is an update.

@puppetsw just to clarify, the dialog for mandatory updates should be shown even if the user doesn't click on the update button.

@puppetsw just to clarify, the dialog for mandatory updates should be shown even if the user doesn't click on the update button.

Ah okay. I understand. I'll make some changes.

@puppetsw can you confirm this is how it works?

The update button shows when updates are available, clicking the button will toggle the update and restart the app
When a mandatory update is detected, the dialog will prompt users to update

@puppetsw can you confirm this is how it works?

The update button shows when updates are available, clicking the button will toggle the update and restart the app
When a mandatory update is detected, the dialog will prompt users to update

@yaichenbaum Yep, that's how it should work.