Revert "Fix focusWindow parameter name"

This reverts commit https://github.com/haskell-webdriver/haskell-webdriver/commit/8bc94c291838d6d4152138cf4ab94d1db6f8da7e .
when we merged your changes into our fork this broke calls of focusWindow
the docs say it should be "name" as it originally was
https://www.selenium.dev/documentation/legacy/json_wire_protocol/#sessionsessionidwindow
note in w3c it is changed to handle, but this package doesn't get anywhere near w3c support

Could you talk a look at this @thomasjm when you get a chance?

I'm a little confused about this one. I just tried running the tests on one of my projects with this change, and I get this exception:
FailedCommand UnknownError
        Session: SessionId "a37b03176f365dbf223b614cddad46e9" at "<IP_ADDRESS>":8379
        org.openqa.selenium.InvalidArgumentException: invalid argument: 'handle' must be a string
          (Session info: chrome=114.0.5735.198)
        Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
        System info: host: 'desktop2-vm', ip: '<IP_ADDRESS>', os.name: 'Linux', os.arch: 'amd64', os.version: '<IP_ADDRESS>-microsoft-standard-WSL2', java.version: '11.0.19'
        Driver info: driver.version: unknown
          Test.Sandwich.WebDriver.Types.getJSONResult (src/Test/Sandwich/WebDriver/Types.hs:55)
          Test.WebDriver.Commands.Internal.doCommand (src/Test/WebDriver/Commands/Internal.hs:91)
          Test.WebDriver.Commands.doSessCommand (src/Test/WebDriver/Commands.hs:308)

The logs indicate this is Selenium 3.141.59 and Chrome 114.x.
I gather Selenium does a "handshake" during initial setup and infers whether it should use the JSON Wire Protocol vs. the W3C WebDriver Protocol. But why does Selenium seemingly expect W3C parameters in this case in my setup when many other commands work fine?

Looking at my Selenium logs, I see this line after it receives the capabilities:
20:31:50.813 INFO [ProtocolHandshake.createSession] - Detected dialect: W3C

Do you have a different output? I wonder if your capabilities are putting it into the other dialect.

Chrome defaulted to w3c mode since Chrome 75 at which point this library beige significantly. We've been running with w3c mode configured off since then because, correct me if I'm wrong, but in general this package does not adhere to the w3c spec - it uses the legacy wire protocol.

Can you tell me how you turned w3c mode off? That would be interesting to test.
Yes AFAIK this package is designed to use the legacy wire protocol, though I'm not the original author.
Also, can you tell me any specific commands that fail if you use w3c mode?

you can disable w3c mode with these chrome capabilities
W.chrome {  W.chromeExperimentalOptions = KM.fromList [ ("w3c", Bool False) ] }

On a related note. Do you have any plans regarding w3c? Would you be up for this package implementing the w3c spec instead of a mix of both but mostly the legacy spec?
We have a lot of tests that use this package and I'm more interested in moving this to w3c rather than change all our tests to another package.

Do you have any plans regarding w3c? Would you be up for this package implementing the w3c spec instead of a mix of both but mostly the legacy spec?

That would be great! Maybe we could have a quick design discussion about how to do it? One thing I'm not sure about is whether it would be worthwhile to maintain support for the legacy protocol. It seems like a major change to drop it, but maybe it's a thing of the past by this point?
If we did want to keep the legacy protocol, I wonder if we'd want to make a giant typeclass for all the webdriver commands and then provide an implementation for both flavors.
Another thing I was pondering is trying to autogenerate using an OpenAPI spec: https://github.com/aerokube/selenium-openapi. Writing all the commands out by hand has proven to be error-prone in the past.

On supporting the legacy protocol, I don't see the need. Selenium has supported w3c commands since 3 and even 3 has now dropped out of support. I was surprised to see that testing IE is possible with the w3c commands.
I do think not ripping up this library and starting again has a benefit though. Might as well just use webdriver-w3c on hackage otherwise.
Another thing is this library already provides support for things that selenium supports that haven't (yet?) made it into the spec. Some things that can be simulated with actions, such as double click, and some cannot such as file upload.
Generating the types always sounds tempting but I've not seen it work out great on the past. Again would probably amount to starting again with this library also for users. Most of the API surface is the same as selenium anyway, the big difference is the actions api, and I suppose the actual error communication. Neither of which are that bad

Also on the non w3c commands currently supported. In w3c mode chrimedriver will error of you try it the legacy doubleClick method because it wants you to use actions, but it will accept file upload no problem because there is not a w3c alternative


:bug: fix modal trigger bug

Re: #58
The issue was triggering the modals with the touchstart event. I'm thinking this was probably to avoid the split second delay associated with click events, but it really screws with scrolling. Thoughts?

Hey @galengidman - this works, but also introduces additional problems.
Prior to iOS7, clicks on things that aren't links, buttons, and so on (for example, divs, the body element) aren't detected with addEventListener. To get around this, you need to detect taps as well.
Currently, support for this plugin goes all the way back to iOS2, and I'm not keen on giving that up.
I have a solution in the works. It requires determining if the touch event was a tap or scroll and acting accordingly.

Ah, I didn't know that. Thanks for the update.

Happy to help. And thank you for letting me know about this. I learned how to do something new, so cool stuff!


adding 'undefined' relationships (e.g. from dcterms)

I want to use a relationship between entities used from Dublin Core Terms, how would I do that using Python's prov? I know how that could be done using PROV-N, but not programmatically to generate such a document. Specifically, I want to use dcterms:hasPart between two entities in the following fashion:
document
  prefix kauriid <http://kauriid.nz>
  prefix dcterms <http://purl.org/dc/terms/>
  prefix dia <http://www.dia.govt.nz/>

  entity(kauriid:attestations/attestation01)
  entity(kauriid:attestations/ipns/QmP7jb1sU1y8sg85opTPxCzdBcFu9CZ1MAMbvRjnnLe7LK)
  wasDerivedFrom(kauriid:attestations/attestation01, dia:passports/LL124798, -, -, -)
  dcterms:hasPart(kauriid:attestations/ipns/QmP7jb1sU1y8sg85opTPxCzdBcFu9CZ1MAMbvRjnnLe7LK, kauriid:attestations/attestation01, -, -, -)
endDocument

The reason for this is, that at the time of creation of the PROV trail (generation of kauriid:attestations/attestation01), its storage name (on IPFS) is/can not be known. IPFS is 'content addressed' (it derives its storage name from a hash of its content). So later, I need to refer to the IPFS handle kauriid:attestations/ipns/QmP7jb1sU1y8sg85opTPxCzdBcFu9CZ1MAMbvRjnnLe7LK instead. But I need to indicate that it contains the kauriid:attestations/attestation01 entity through the dcterms:hasPart relationship.
Now, is there somewhere a tap into a ProvDocument or the node (e.g. the entity here) to add a relationship with a 'free' type outside the scope of the prov namespace?

Another note on this. When reading the definition/notes in the Dublin Core Terms documents, it reads as if the hasPart relationship can be applied to both activity -> activity as well as entity -> entity relationships.
Looking at the examples given on PROV, it seems like it's only been considered for sub-activities.

Sorry, there is currently no way to add arbitrary relations in the prov package. This is simply not a use case I have considered.
In the example you mention, I would use the collection concept and the hadMember relationship.

Awesome, I like the approach of using membership to a collection for this. That's just the missing bit that I needed. Cheers!


Fix X11 BadMatch when calling XSetInputFocus.

Should fix #62635
Certain X11 window managers (eg, i3wm) seem to unmap ancestors of windows that are on an inactive virtual workspace. This results in Godot windows having the X window attribute IsUnviewable. According to the Xlib docs, XSetInputFocus will fail if the window you are applying it to is not viewable. To solve the issue, we simply need to confirm the window is viewable prior to attempting to set input focus. If it is not viewable (because it's on an inactive workspace), there's no need to set the input focus. This was actually already being done under the ConfigureNotify event, but not the MapNotify event.
This is my first pull request, so  apologies in advance if I've made any errors.

I have also only just noticed that a very similar change within the same source file seems to fix #60690, however I am unsure if should be placed into a separate pull request.

If the two fixes are related, you can amend the commit to fix them both at once.

I have amended the commit to include the related fix.

Thanks! And congrats for your first merged Godot contribution :tada:


Configure exception class whitelist to be reraised by operations processors.

For example, if you use Pundit for authorization, you might
raise a Pundit::NotAuthorizedError at some point during operations
processing. If you want to use Rails' rescue_from macro to
catch this error and render a 403 status code, you should add
the Pundit::NotAuthorizedError to the exception_class_whitelist.
JSONAPI.configuration.exception_class_whitelist = [Pundit::NotAuthorizedError]

Thanks! This adds some nice flexibility that was inadvertently lost with the InternalServer error change.

I agree. It's nice to gracefully rescue internal server errors, but having the option to raise/rescue some classes is pretty important in my experience.


Packed GSM encoding should pad with CR when required

When using packed 7-bit GSM encoding, no padding with a CR is done if the last 7 bits are all zero. This causes "interesting" effects where different inputs are encoded to the same output bytes. "same" is true in the test case below:
byte[] requiresPadding = CharsetUtil.CHARSET_PACKED_GSM.encode("1234567");
byte[] endsWithAt = CharsetUtil.CHARSET_PACKED_GSM.encode("1234567@");
boolean same = java.util.Arrays.equals(requiresPadding, endsWithAt);
Assert.assertFalse(same);

Similarly, such a padding CR character should be ignored when decoding.
Of course one can manually patch up the padding after encoding/decoding, but that's not very convenient. When to pad depends on if the first character starts at an even byte boundary or somewhere else (like sometimes when following a UDH). Maybe the encode method should be extended to take a variable amount of prefix-bits for packed GSM encoding, and then when decoding specify a start-bit-offset.

Cleaning up old issues.  Open to a PR if you think it would be helpful.


Visual C++ linker error but not with GCC

I have not had any problems using Boost.URL (v. 1.86) with GCC.
Firstly, I've successfully used url_view with GCC as well as with VC++ to parse and iterate URLs.
Recently, I decided to modify URLs and this is when I ended up getting a linker error with VC++ but not with GCC.  Please note that the code compiles with VC++ but will not link, here is a snippet that will cause a link error:
url u("https:www.example.com:443/path/file.txt?id=42&name=John");
Linker error:
1>libboost_url-vc143-mt-x64-1_86.lib(url_base.obj) : error LNK2001: unresolved external symbol __std_count_trivial_1
Note: adding libboost_url-vc143-mt-x64-1_86.lib to the VC++ Linker/Input/Additional Dependencies does not make any difference.
For completeness, this is the working code of how I add parameters to the url above:
u.encoded_params().append({ "gender", "male" });
u.encoded_params().append({ "age", "30" });

Updating to the latest Visual Studio version should resolve this

Firstly, thank you for your response and thank you and Vinnie for your efforts with this very useful library.  I updated my version of VS 2022 and it appears that I will need to rebuild boost along with many different libraries before I can tell you whether or not your suggestion resolved my issue with VC++, because I am now swamped with compiler errors :)
Off topic, the single reason that I use VC++ is because of it's very nice IDE.  I then compile and build my work for Linux.  I think that I will spend the rest of the day looking at IDE's for Linux, because other than the IDE, I have no reason to deal with Microsoft.  I will look at the open sourced Linux IDEs and commercial ones next.  I do not need an advanced debugger, I only need an advanced IDE with the excellent editing features of Visual Studio.  I don't do any GUI work whatsoever and do mostly work with boost beast.  If you can recommend something, either open source or not, I'd appreciate it.  Thanks once again.

Well... the library should work on nearly all compilers. In your case, it seems like you built boost with a different compiler version, and now your project can't link the symbols from the other compiler. But everything should work if it's the same compiler because we test the library extensively in CI. In any case, there are good IDEs and compilers for both Linux and Windows. Visual Studio has improved CMake support over the recent years, and many people are using Visual Studio Code right now. CLion has great CMake integration and all kinds of static analysis.

I am convinced that this is an issue with VC++ 2022 and not with Boost.URL
The first problem that I described in my top post, I am able to parse but not modify URLs pertains the VC++ 2022 17.1.6.
After upgrading to 17.12.0, something changed with the compiler and too many libraries that use C++20 features and that I heavily rely on no longer compile/build using either the 17.10.1 or 17.12.0 VC++ updates.
For now, I'll just use GCC since I have not had a single issues with any of the libraries that I use, including Boost.URL.

Alan was correct.  His suggestion to update VC++ 2020 resolved my unresolved external issue.  After upgrading, I had new problems but those were solved by cleaning up various preprocessor directives no longer needed.
Everything is properly working with Boost.URLs for me at this time with VC++ 2022 and GCC.  Thank you Alan and Vinney for your excellent quality libraries!


Custom graphics functions

I'd like to do:
grid.canvas.gc.simpleText = grid.canvas.bc.simpleText = renderText;
with:
        function renderText(config, str, x, y) {
            var gc = this;
            if (config.someCondition) {
                some_complex_function(config, str, x, y);
            } else {
                gc.fillText(str, x, y);
            }
        }

The problem is that the fillText function has disappeared when I inspect the gc object in my browser so i can't render anything.
In addition, I only want to render text using this method for a subset of columns because I don't want to incur any unecessary performance costs for the columns that should not be affected by this special rendering.
How should I approach?
At the moment, I have created a new renderer and I have copied the whole code of SimpleCell to only replace the calls to gc.simpleText with my function and I assign that new renderer only for the columns that should be affected.
Bonus neophyte question, what's the difference between grid.canvas.gc and grid.canvas.bc?

@nclsclsn We will get back to next week, sorry for the delay

@joneit Can you address his question?


Ip messaging to programmable chat

Migrate Ip messaging to programmable chat !.

This pull request should contain only changes related to public/js/twiliochat.js, public/js/tests/tests.js and views/index.jade.
I don't fully understand why you're changing form QUnit to Mocha. Could you explain your reasons to change this dependency?
You can run the current existing test suite with node-qunit-phantomjs.


Add owl:versionInfo annotation to ontology

See https://github.com/OBOFoundry/OBOFoundry.github.io/pull/1210
Making this change is currently blocked by https://github.com/owlcs/owlapi/issues/947

Without waiting for the OWLAPI issue to be fixed, I found a workaround by not passing through OBO format within the build.


[1.11.2]Charging of Personal Shrinking Device cause duplication

When I put the PSD and a drop of Miniaturization Fluid in a crafting grid the uncharged PSD and the drop are not removed from the grid when I pick up the charged PSD. I'm using cm2-1.11.2-2.0.1-b106 from Twitch.

Confirmed, will look into it.

CM3 will not have miniaturization fluid drops in the first place and the PSD will not be chargeable (at least not with that fluid).


Webpack

I'm attempting to load request using Webpack and am seeing this error:

I have seen that this is supposed to work in the browser using browserify and was curious what I'm doing wrong. Maybe browserify processes the dependencies differently from webpack which is causing this issue. Any ideas?

+1, also seeing this
Output:
ERROR in ./~/request/lib/har.js
Module not found: Error: Cannot resolve module 'fs' in /absolute/path/to/project/node_modules/request/lib
 @ ./~/request/lib/har.js 3:9-22

ERROR in ./~/request/~/tunnel-agent/index.js
Module not found: Error: Cannot resolve module 'net' in /absolute/path/to/project/node_modules/request/node_modules/tunnel-agent
 @ ./~/request/~/tunnel-agent/index.js 3:10-24

ERROR in ./~/request/~/tunnel-agent/index.js
Module not found: Error: Cannot resolve module 'tls' in /absolute/path/to/project/node_modules/request/node_modules/tunnel-agent
 @ ./~/request/~/tunnel-agent/index.js 4:10-24

ERROR in ./~/request/~/forever-agent/index.js
Module not found: Error: Cannot resolve module 'net' in /absolute/path/to/project/node_modules/request/node_modules/forever-agent
 @ ./~/request/~/forever-agent/index.js 6:10-24

ERROR in ./~/request/~/forever-agent/index.js
Module not found: Error: Cannot resolve module 'tls' in /absolute/path/to/project/node_modules/request/node_modules/forever-agent
 @ ./~/request/~/forever-agent/index.js 7:10-24

ERROR in ./~/request/~/tough-cookie/lib/cookie.js
Module not found: Error: Cannot resolve module 'net' in /absolute/path/to/project/node_modules/request/node_modules/tough-cookie/lib
 @ ./~/request/~/tough-cookie/lib/cookie.js 23:10-24

ERROR in ./~/request/~/form-data/lib/form_data.js
Module not found: Error: Cannot resolve module 'fs' in /absolute/path/to/project/node_modules/request/node_modules/form-data/lib
 @ ./~/request/~/form-data/lib/form_data.js 7:9-22

ERROR in ./~/request/~/har-validator/~/is-my-json-valid/~/jsonpointer/jsonpointer.js
Module not found: Error: Cannot resolve module 'console' in /absolute/path/to/project/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer
 @ ./~/request/~/har-validator/~/is-my-json-valid/~/jsonpointer/jsonpointer.js 1:14-32

I figured it out. The problem is that Webpack requires some extra config unlike browserify due to it's more barebones nature. See my example branch and diff for how I got the tests to run successfully.
https://github.com/request/request/compare/master...pho3nixf1re:webpack-tests

Yeah, found the same, thanks. For anyone else that stumbles across this, the relevant webpack docs are here: http://webpack.github.io/docs/configuration.html#node

@jaredmcdonald thanks a lot :)

@pho3nixf1re it would be great if you submit a PR about testing request with webpack (additional test, not in place of the browserify one) :+1:

Yes! I intend to. I only replaced it in my branch as a quick proof of concept. I'll get on that this weekend.

Adding the json webpack loader unfortunately did not fix this for me.

Same issue here.
The solution: install json-loader so that webpack can handle *.json files. Then add that loader and a new node object to your webpack.config.js like so:
$ npm install --save-dev json-loader

webpack.config.js
var path = require('path');

module.exports = {
  entry: 'index',
  output: {
    path: path.join(__dirname, 'scripts'),
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      { test: /\.json$/, loader: 'json-loader' }
    ]
  },
  resolve: {
    extensions: ['', '.webpack.js', '.web.js', '.js']
  },
  node: {
    console: 'empty',
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }
};

Adding the node: { ... } object avoids the error, but then I can't use console in the browser. Is there a way around this?

I just figured it out:
node: {
    console: true
}

This was a huge help for me. Thanks to all above.

Thanks all, bumped into this myself.

any lcuk?

I'm using webpack & request and got the error you all got here.
Tried the solution with the json-loader & node element and still getting the errors...

Nevermind, accidently added 'include: src' to the loader.
+1 fora great solution!

Hi. I need help. I want to combine node js mysql into my react app.
Please see codes below:
import React from 'react'
import ReactDOM from 'react-dom'
import mysql from 'mysql'
export default class Server extends React.Component{
render(){
return(

Success Inserting New Data
Company Name: {this.props.name}
Email: {this.props.email}

);
}
}
var company_data = {
name: 'Company Name Sample',
email<EMAIL_ADDRESS>};
let connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'earnmoredoless'
});
connection.connect();
let sql = connection.query('insert into account set ?', data, function(err, res){
//success
if(!err){

	ReactDOM.render(
		<Server data={company_data} />,
		document.querySelector('#app')
	);

}else{

	console.log('Failed inserting new data.');
}

});

+1
this saved me

+1
Saved!

+1 I had problems with dotenv myself, and the solution above solved my issue. Thanks!

Adding node { fs: 'empty' } resolved the cannot resolve module 'fs' issue for me, but now my console has an error TypeError: fs.readFileSync is not a function.  I'm running into this issue while trying to use dotev and webpack with es6 babel transpiler.  Importing webpack as import 'dotenv/config'; as described in https://github.com/motdotla/dotenv/issues/114

While the node {} solution above helped my webpack.config.js it broke my karma.conf.js which depends on it, with the following error:
ReferenceError: Strict mode forbids implicit creation of global property '_crypto'

Anyone solved this to work with dotenv?

I'm having this issue while trying to use node-soap, which depends on request in a React app that uses webpack. I've tried modifying my webpack config to contain;
node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }

As suggested above, but that didn't resolve the issue for me. I'm still seeing these errors;

Others are seeing the same issues;
https://gitter.im/vpulim/node-soap/archives/2016/04/13
https://gitter.im/vpulim/node-soap/archives/2016/01/11
And as far as I'm aware no one has a solution yet. I'm not super familiar with webpack, but if no one else has a solution yet, I may try to shave that yak this weekend if I have the time so I can debug this further.
@kevhuang @sailingthoms @MrOutis or @gaearon Have any of you discovered a solution for this yet? Or do you have any ideas about what else needs to be done to get node-soap/request working with React? (Preferably with create-react-app without having to eject).

@screendriver Where did you get the information about the node object? I'm don't see it in the documentation.
@richburdon, @lucasbento Do have an example for help you?

@garethderioth sorry I can't remember. It's been too long.
By the way: meanwhile I am using the HTML5 fetch API and this polyfill for my AJAX requests.

@garethderioth
@jaredmcdonald said it above in https://github.com/request/request/issues/1529#issuecomment-90347445

Yeah, found the same, thanks. For anyone else that stumbles across this, the relevant webpack docs are here: http://webpack.github.io/docs/configuration.html#node

By the way: meanwhile I am using the HTML5 fetch API and this polyfill for my AJAX requests.

Create React App users: please note that CRA already includes a window.fetch polyfill so you can safely use it instead of request if it satisfies your use case.

@screendriver @josiahsprague Instead of this:
node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
}

I wrote:
target: 'node',

It solved all my issues.

@gaearon What if the dependency is required by some third library? (Eg. node-glob in my case?)

My screenshot of errors posted above is irrelevant, which is probably obvious to anyone who read those errors. 😂 Anyway, it seems that both of the solutions in @pedzed's comment would work for me. Another potential solution is using target: 'node-webkit or another similar option depending on your situation..
In my case, I just switched from node-soap to browser-soap, but that won't work for everyone.

I had a different issue that's similar to this, but ended up being #933 for anyone who may experience it

+1
Thanks!

I made a small change using what @screendriver & @kilometers provided (thanks!).
Webpack complained if there was an empty extension, however, I don't think this would be required for most.
var path = require('path')
var request = require('request')
var webpack = require('webpack')

module.exports = {
  entry: './src/main.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'build.js'
  },
  module: {
    rules: [
      {
        test: /\.json$/,
        loader: 'json-loader'
      }
    ]
  },
  resolve: {
    /*extensions: ['.webpack.js', '.web.js', '.js']*/
  }
  node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }
}

Best easy solution without affecting bundled code:

For peeps who have trouble with storybook and don't want to replace storybook's original webpack config, you can extend it by creating .storybook/webpack.config.js and add:
// Load the default config generator.
const genDefaultConfig = require('@kadira/storybook/dist/server/config/defaults/webpack.config.js');

module.exports = function (config, env) {
    const newConfig = genDefaultConfig(config, env);

    // Extend to resolve fs issues
    newConfig.node = {
        fs: 'empty'
    };

    return newConfig;
};

  node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }

Using this above code error has been solved but
fs.writeFile('/home/react-hello-world/test.txt', 'aaa', function(err) { alert(err); });
fs.writeFile is not working please give any solution.

@chandrasekarb try set fs to true instead of 'empty'

target: 'node', worked for me :department_store:

I ran into this issue and it was because I was running a dual client/server config for server side rendering. The server-side rendering config was marked as target: 'node', while the client config didn't have one specified. I added target: 'web' to the client config and the error went away.

I had the same issue trying to use jQuery with Nuxt (or Node), the problem was I was importing jQuery and Bootstrap and added jsdom to solve it but did not work. I solved it importing libraries directly in head section of nuxt.config.js, another way is to set client mode in nuxt config plugins, I hope it help someone.


llvmPackages_7: init on release-18.09

Motivation for this change
chromium builds best with llvm 7 and instead of taking the hit of
hunting for gcc patches until release-18.09 is phased out, we just
backport it
see #51602
cc @dtzWill could you have a look at any commits, i might have missed?
this merged branch was built as follows:
± git merge-base release-18.09 master
2a1c0dd

± git checkout -b release-18.09-llvm-7 2a1c0dd
Switched to a new branch 'release-18.09-llvm-7'

± git cherry-pick -x $(git log master --format=oneline -- pkgs/development/compilers/llvm/7 | cut -f1 -d' ' | tac )
[release-18.09-llvm-7 0120cd8826f] llvm7: init at 7.0.0rc3
 Author: Will Dietz<EMAIL_ADDRESS> Date: Tue Sep 18 14:19:58 2018 -0500
 15 files changed, 1260 insertions(+)
 create mode 100644 pkgs/development/compilers/llvm/7/clang/default.nix
 create mode 100644 pkgs/development/compilers/llvm/7/clang/purity.patch
 create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
 create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt.nix
 create mode 100644 pkgs/development/compilers/llvm/7/default.nix
 create mode 100644 pkgs/development/compilers/llvm/7/libc++/default.nix
 create mode 100644 pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
 create mode 100644 pkgs/development/compilers/llvm/7/libc++abi.nix
 create mode 100644 pkgs/development/compilers/llvm/7/lld.nix
 create mode 100644 pkgs/development/compilers/llvm/7/lldb.nix
 create mode 100644 pkgs/development/compilers/llvm/7/llvm-outputs.patch
 create mode 100644 pkgs/development/compilers/llvm/7/llvm.nix
 create mode 100644 pkgs/development/compilers/llvm/7/openmp.nix
 create mode 100644 pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
[release-18.09-llvm-7 efc3c480d86] llvm7: patch test shebang (otherwise test fails)
 Author: Will Dietz<EMAIL_ADDRESS> Date: Tue Sep 18 14:35:21 2018 -0500
 1 file changed, 2 insertions(+)
[release-18.09-llvm-7 30d468d7f47] llvm-manpages: fix build by removing references to $lib output
 Author: Will Dietz<EMAIL_ADDRESS> Date: Tue Sep 18 14:45:39 2018 -0500
 1 file changed, 3 insertions(+)
[release-18.09-llvm-7 64b459e5ae3] comment
 Author: Will Dietz<EMAIL_ADDRESS> Date: Tue Sep 18 14:52:17 2018 -0500
 1 file changed, 1 insertion(+), 1 deletion(-)
[release-18.09-llvm-7 ad2705efb6e] compiler-rt: quickfix codesign patch by dropping hunks 'already applied'
 Author: Will Dietz<EMAIL_ADDRESS> Date: Tue Sep 18 15:00:39 2018 -0500
 1 file changed, 33 insertions(+), 155 deletions(-)
 rewrite pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch (78%)
[release-18.09-llvm-7 f51bf899719] llvm7: use final release tarballs now that they're available
 Author: Will Dietz<EMAIL_ADDRESS> Date: Wed Sep 19 07:43:33 2018 -0500
 1 file changed, 2 insertions(+), 2 deletions(-)
[release-18.09-llvm-7 93244a2dc24] llvm7: update hashes, they did change after all.
 Author: Will Dietz<EMAIL_ADDRESS> Date: Wed Sep 19 08:00:23 2018 -0500
 9 files changed, 9 insertions(+), 10 deletions(-)
[release-18.09-llvm-7 1e9d9d2e4ff] llvm*: http -> https, prefer releases.llvm.org
 Author: Will Dietz<EMAIL_ADDRESS> Date: Wed Sep 19 08:02:21 2018 -0500
 7 files changed, 7 insertions(+), 7 deletions(-)
[release-18.09-llvm-7 f5e526ba11a] libc++7: prefer 'optional' as suggested by comment
 Author: Will Dietz<EMAIL_ADDRESS> Date: Wed Sep 19 08:36:40 2018 -0500
 1 file changed, 1 insertion(+), 5 deletions(-)
[release-18.09-llvm-7 f254fb70666] llvm7: only use 1 number in version suffix, upstream changed
 Author: Will Dietz<EMAIL_ADDRESS> Date: Thu Sep 20 19:42:44 2018 -0500
 1 file changed, 1 insertion(+), 1 deletion(-)
[release-18.09-llvm-7 fa6fed6230d] llvm7: optionally use libpfm (exegesis), default off w/darwin
 Author: Will Dietz<EMAIL_ADDRESS> Date: Thu Sep 20 19:53:59 2018 -0500
 1 file changed, 4 insertions(+), 1 deletion(-)
[release-18.09-llvm-7 21959244dc4] llvm7: update musl patch for sanitizers
 Author: Will Dietz<EMAIL_ADDRESS> Date: Mon Sep 24 10:43:07 2018 -0500
 1 file changed, 75 insertions(+), 76 deletions(-)

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I rebased the merge commit to avoid larger merge depth: d56ec49ae42.  I don't see anything to wait for; we can improve later in the worst case.


[DXVK][D3DX9] Sega Rally (REVO)

After installing Sega Rally (Revo) with Lutris I encounter a strange problem, the trees seem to fall.
See the video here : https://youtu.be/217nBXhAJDo
According to a user of the Lutris discord the problem comes from DXVK.
Software information
Sega Rally (EUR) | Sega Rally Revo (USA)
System information
SteamDeck

GPU: RDNA 2.0
Driver:
Wine version:  Lutris-7.2-2-x86_64
DXVK version: 2.1

Apitrace file(s)
A big apitrace :
NEW apitrace better sleeping tree :
https://mega.nz/file/zJElRDqY#QOWKdeVzW4eg7hS7f6D0-4wXIPoMeHWknLrE_7uLmQA

Windows 11 apitrace (trees not fall) :
https://mega.nz/file/yY0yGTLa#Dt0pefvGOzgR5vb67iRXzKdcsc5m-Lj4GWPt_D6e58I
OLD apitrace :
https://mega.nz/file/PMMl3AhA#cFaiiLSYDr90VHU4vGZtzZLsepOtLxcXDFC8zX1NWz4
I see the bug at about 30 seconds from the end, but maybe it happens at other times, at 0.5-1fps it's hard to see.

We really need that apitrace.

When having performance issues apitracing d3d9 games setting d3d9.apitraceMode = True in a dxvk.conf can sometimes help

Around 02:38

When having performance issues apitracing d3d9 games setting d3d9.apitraceMode = True in a dxvk.conf can sometimes help.

I have updated the post with a new and much better apitrace, I hope it will help you to solve the problem of this great game :-)
https://mega.nz/file/zJElRDqY#QOWKdeVzW4eg7hS7f6D0-4wXIPoMeHWknLrE_7uLmQA
Thanks again for all your work!

Thanks this trace is indeed alot better. Sadly it also seems to not be helpful in debugging the issue as even replaying it natively on Windows it shows the falling trees. So one cant really compare it to native or wined3d.
Could you upload a dxvk d3d9 log? If you enable debugging information or what it is called in the games lutris settings a log should appear in the games folder.
Also is the fps capped in the game?

I will try to send you the logs tomorrow.
The game is limited to 60FPS but I could read on the internet that there were frame rate problems.
here https://www.pcgamingwiki.com/wiki/Sega_Rally_Revo it says 62.5FPS
and here https://www.neogaf.com/threads/fighting-framerates-help-with-sega-rally-revo.1167878/ they talk about framespacing but the subject is a bit beyond me.
Surprisingly I can run the game at up to 144FPS on my windows PC and the game seems to run quite well.
If you tell me a step to do under windows game can also try to run it.

Thanks.

If you tell me a step to do under windows game can also try to run it.

Cool. That might be useful at least for narrowing down if dxvk is the issue.
But before that a quick and easy thing to try since you are using Lutris on Linux. If it isn't already then try to enable D3D Extras in the games Lutris settings. This will make Lutris use the Windows versions of some extra d3d helper dlls that dxvk itself doesn't provide. Some, but not all, games use them and wine's own versions can have bugs from time to time.

Thanks.

If you tell me a step to do under windows game can also try to run it.

Cool. That might be useful at least for narrowing down if dxvk is the issue. But before that a quick and easy thing to try since you are using Lutris on Linux. If it isn't already then try to enable D3D Extras in the games Lutris settings. This will make Lutris use the Windows versions of some extra d3d helper dlls that dxvk itself doesn't provide. Some, but not all, games use them and wine's own versions can have bugs from time to time.

Hello,
I updated with a new trace made under windows 11, the trees do not fall.
https://mega.nz/file/yY0yGTLa#Dt0pefvGOzgR5vb67iRXzKdcsc5m-Lj4GWPt_D6e58I
Tommorow I try DXVK on windows.

Hello,
After having played a few hours on Sega Rally on Windows 11 with DXVK DLLs I didn't encounter any particular problem...
Could the problem be located somewhere else ? MESA drivers ?
If the problem came from MESA, would the apitrace have displayed the bug on another system?

More likely d3dx9 or d3dcompiler related, you can try to install the native versions of that with winetricks.
2 Apr 2023, 15:26 by @.***:

Hello,
After having played a few hours on Sega Rally on Windows 11 with DXVK DLLs I didn't encounter any particular problem...
Could the problem be located somewhere else ? MESA drivers ?
If the problem came from MESA, would the apitrace have displayed the bug on another system?
—
Reply to this email directly, > view it on GitHub https://github.com/doitsujin/dxvk/issues/3320#issuecomment-1493331794> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/A3G6J6PNYF72FGZ26HTXQPLW7F46PANCNFSM6AAAAAAWKR5FUY> .
You are receiving this because you are subscribed to this thread.> Message ID: > <doitsujin/dxvk/issues/3320/1493331794> @> github> .> com>

If you are using Lutris on Linux it should be as simple as turning on d3d Extras

If you are using Lutris on Linux it should be as simple as turning on d3d Extras

I have the same problem when activating or deactivating the D3Dextras.

Finally got around to trying this.
So far i have been unable to reproduce this issue on both Windows and Linux (need winetricks d3dcompiler_47 to not crash) with dxvk. This is on my desktop with a 7900xtx

Hi,
From last steamdeck update (3.5.5) all works perfectly !
I don't know what is changed for this result, kernel or video driver ...
You can close the ticket.
Thank for your work !


Flask Python Login w/LDAP Auth

Hello world, I have Python/Flask application with a login screen. My goal is to utilize LDAP authentication in unison with my Python/Flask app. The issue that i am running into is this:
raise RuntimeError('The session is unavailable because no secret '
RuntimeError: The session is unavailable because no secret key was set.  Set the secret_key on the application to something unique and secret."
I have a secret key and i still get the error same error when i comment it out.
Here is my code:
import token
from flask import Flask, session
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager

app = Flask(__name__)
#app.secret_key = 'welfhwdlhwdlfhwelfhwlehfwlehfelwehflwefwlehflwefhlwefhlewjfhwelfjhweflhweflhwel'
app.config['SESSION_TYPE'] = 'filesystem'
app.config['LDAP_AUTH_SERVER'] = 'LDAPLocation.com'
app.config['LDAP_PORT'] = '636'
app.config['LDAP_TOP_DN'] = 'CN=something here,OU=somethingHere,OU=SomeService Accounts,dc=magic,dc=pumpum,DC=com Xe'
app.config['LDAP_BIND_USER_PASSWORD'] = 'pssword'
app.register_blueprint(token, url_prefix='/auth')

db = SQLAlchemy(app)

login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'

from app.auth.views import auth

app.register_blueprint(auth)

Thank you in advance....

I don't know where you found this code, but it must be extremely old since it still uses flask.ext.*.


adds indexes on foreign keys

Doesn't fix the glaring performance problem on the homepage, but nonetheless this needed doing.

🚢 🚢 🚀


Implement Countdown Timer for Enhanced User Engagement in Game Project[Enhancement]:

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
With 6 months of hands-on experience in React, HTML, CSS, and JavaScript, I possess the skills necessary to successfully implement the requested changes. My proficiency in these technologies ensures efficient and high-quality development, making me an ideal candidate for these tasks in the GSSoC.
Describe the solution you'd like
Replacing the current 'recent timer' with a countdown timer will significantly improve user engagement and clarity within the game. A countdown timer provides a clear visual indication of the remaining time, reducing confusion and enhancing the player's focus on the game objectives. It adds a sense of urgency and excitement, motivating players to make quick decisions and take timely actions. Introducing this feature will elevate the gaming experience and ensure better user satisfaction. Assigning this task to me for GSSoC contribution will allow me to seamlessly integrate the countdown timer into the game project, enhancing its overall functionality and user experience.
Select program in which you are contributing
No response
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

@Pratik2401 If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created seprate chennals for all projects...
Thank you :)

will these timer work

Hi, @Durgesh4993 please assign this issue to me under GSSoc'24.

@Durgesh4993 can you pls reply to these one?

can you please assign me under GSSOC.'24 .


selector.removeAttr('style') causes menu to open up again after closing

selector.removeAttr('style') on line 183 (version 10.0.2) causes the menu to open up again after it closed (not fully, only 20px or so and then it closes again - and stays closed ;-))
setTimeout(function() {
	if (amount === '0px') {
		// the following line is the problem!
		selector.removeAttr('style');
		css();
	}
}, 400);

Seems like this line can be removed safely... as soon as I remove it, it works perfectly... also tested on an iPhone 5s, on which the problem does not occur but the removal of this line is no problem either.
Android 4.4.2 on a HTC One

For what it's worth, I've experienced this exact problem, although not in desktop browsers. Just on mobile, iOS (haven't had a chance to try Android), especially on iPads.

Can you guys try the current development version 0.10.3? I've been using it for a while and not experienced this problem. Let me know :)
Thanks, Adam


Do I need to install powermta before use?

I am a novice, need to send a lot of mail every day, thank you!

No


Exclude by wildcard and a stacktrace

First, thanks for this project.
Second, a feature request: Would it be possible to exclude based on the groupId only, such as specifying org.apache:: as an exclude param?
And lastly, I get this stack trace during execution:
[ERROR] Failed to execute goal org.complykit:license-check-maven-plugin:0.5.3:os-check (default) on project entitydb-core: Execution default of goal org.complykit:license-check-maven-plugin:0.5.3:os-check failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.complykit:license-check-maven-plugin:0.5.3:os-check (default) on project entitydb-core: Execution default of goal org.complykit:license-check-maven-plugin:0.5.3:os-check failed.
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.complykit:license-check-maven-plugin:0.5.3:os-check failed.
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 19 more
Caused by: java.lang.NullPointerException
        at org.complykit.licensecheck.mojo.OpenSourceLicenseCheckMojo.readPomContents(OpenSourceLicenseCheckMojo.java:301)
        at org.complykit.licensecheck.mojo.OpenSourceLicenseCheckMojo.recurseForLicenseName(OpenSourceLicenseCheckMojo.java:255)
        at org.complykit.licensecheck.mojo.OpenSourceLicenseCheckMojo.execute(OpenSourceLicenseCheckMojo.java:175)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
        ... 20 more

If you have any ideas let me know. Thanks!

Ugh. NPE. Thanks so much for taking the time to open the issue. Can you attach the pom you're trying to parse or email it to me (me@michaelrice.com)?

Unfortunately I cannot and sorry for being so slow to respond. But I did clone your code and I put in some sysouts where you have TODOs in the exception handlers in OpenSourceLicenseCheckMojo. The problem is the pom.xml is not found. (The exception handler on line 287 let me know.) This is not the real path but it is identical in terms of length:
/full/path/to/project/parent-pom/child-pom/child-pom/target/project.pom
I hope that makes at least a little bit of sense. What caught my eye is that it is looking in the project's target directory for the pom.xml. Is that correct? I am running mvn clean install.
Hope this is helpful and let me know if you need me to dig some more.


remove constraints on rules and token names

First of all, thanks for this great lib.
I have this error during the performSelfAnalysis check.
Error: Parser Definition Errors detected:
 Invalid Grammar Token name: ->ENCODING-CONTROL<- it must match the pattern: ->/^[a-zA-Z_]\w*$/<-
    at D:\formation\asn.1\node_modules\chevrotain\src\parse\parser\parser.ts:237:15
    at ASN1CstParser.PerformanceTracer.TRACE_INIT (D:\formation\asn.1\node_modules\chevrotain\src\parse\parser\traits\perf_tracer.ts:50:14)
    at ASN1CstParser.Parser.j(D:\formation\asn.1\node_modules\chevrotain\src\parse\parser\parser.ts:151:10)
    at new ASN1CstParser (D:\formation\asn.1\src\analysis\ASN1CstParser.ts:169:10)

In the ASN1 language, there are some keyword that contains a dash character (-) like for instance :
ENCODING-CONTROL
RELATIVE-OID-IRI
ABSTRACT-SYNTAX
TYPE-IDENTIFIER
MINUS-INFINITY
PLUS-INFINITY
NOT-A-NUMBER
RELATIVE-OID
TIME-OF-DAY
DATE-TIME
OID-IRI

Is there a reason for this control ?
What is the recommanded way to proceed with this kind of keyword?
You can see my library that is using chevrotain here:
https://github.com/jlguenego/asn.1

I think this constraint is an historic leftover which could be removed (PRs welcome 😄 ).
However the limitation is on a token's name, not what the token pattern matches.
So there is nothing stopping you from creating a ENCODING_CONTROL token which consumes "ENCODING-CONTROL" string

understood. So this is not a critical bug  .
Nonetheless I am going to do this PR ... for fun 😄

That would be most welcome 👍

I tried to do it ;)

Just for info, I release a website that show ASN.1 language stuff. This website is using chevrotain behinds.
https://asn1.netlify.app/
Thanks again for this.

Now I finally know what ASN.1 is:

https://en.wikipedia.org/wiki/ASN.1

I will hopefully release a new Version of Chevrotain with the fix later this week.
I will keep the issue open until then.

released in 7.1.0

released in 7.1.0


Use svg badges instead of the png versions

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>2280f75425dede43c211b4be7ef4e0 on use_svg_badges into 6b27674116ad5440c0a0c75a1bb80f047fa5cbb0 on master.


Don't render empty groups

Is your feature request related to a problem? Please describe.
Currently creating an empty group using .and(q -> q) or .or(q -> q) will result in an empty expression group which will make the query fail.
Describe the solution you'd like
Instead of producing invalid sql the empty group (and the preceding conjunction) shouldn't be rendered.
Describe alternatives you've considered
An alternative would be to produce an always false expression but that's probably not what somebody would expect and makes building optional clauses way harder.

Fixed in 1.0.2


V2.2

Github:  Fix this so I'm not constantly closing unwanted Pull requests just to add another version.


nothing showing when using the prefab

so i was just trying this out to see what sort of menu system it is. ive dragged the prefab into my world but on testing i see no menu at all

The menu system works 100% of the time from desktop pressing "M", but maybe 1 in 20 times when swiping in VR.
I've gone back to your work and it works flawlessly. It barely works in mine.
Also, would it be possible to include your word as a scene so we can inspect how you set the prefab up?

@nathanleggett This is fixed. Worked with Thry for a bit and he uploaded a new build. Currently works in my world.

Maybe I should add a readme, but in the vrcs prefabs database there's a link to a video showing how it's used.
On desktop press m.
In vr swipe dowm


Set a non-string password from byte-array

Is it possible to set the zipFile.Password to something other than a string? In libzip, it is possible to use any NUL-terminated char array as a password for i.e. unzipping files, however that appears to be a challenge in SharpZipLib. As the password char/byte array I'm referring to does not represent a string, encoding the array into a string yields the unwanted result of interpreting it differently than it is supposed to.
An example password is shown below, how would one use that to decrypt an entry with SharpZipLib?
byte[] passwordData = {
    0x90, 0xd2, 0xcf, 0x42, 0xb5, 0x4f, 0x95, 0x59,
    0xca, 0xa7, 0x12, 0x6f, 0xaf, 0x68, 0x20, 0x53,
    0x66, 0x30, 0x30, 0xed, 0x9e, 0x43, 0x33, 0xf5,
    0x24, 0x61, 0x6a, 0x7a, 0x6f, 0x4f, 0x33, 0x32,
    0xe4, 0x74, 0x99, 0xac, 0x21, 0x71, 0xb8, 0x7f,
    0x53, 0x55, 0x4c, 0xf7, 0x16, 0x0c, 0x83, 0xf2,
};

Example zip files and passwords (md5 hash of password is filename of .zip and .cs)
samples.zip

Yeah, that probably isn't possible right now. The library tries to be as easy to use (or hard to misuse) as possible for the generic cases, which includes having a password that is in text form. Making the password bytes public should not be too hard to implement though... but it's not possible right now.

All right, thanks for your reply :) Too bad, I'd love to be able to use SharpZipLib for this!


KL Weight (deterministic warmup)

The KL weight of self.epoch/400 might be too slow
https://github.com/YosefLab/scVI/blob/e27cb81812e7bff1b8dfa3624292c353dfbcda96/scvi/inference/inference.py#L50

It seems bad to hard code 400 epochs because the size of datasets varies so greatly. It may be better for the warm up to last for a fixed number of iterations (optimization steps) rather than a fixed number of epochs.
Also, I don't think we'd want early stopping ever before the warm up is over. @oscarclivio @PierreBoyeau Perhaps this has something to do with why you're seeing better results with early stopping disabled?
Is  warm up even necessary for good results? I know it seemed like it was at one point, but perhaps other changes we've made make it no longer necessary?
If it is necessary, perhaps @gabmis would add it to the set of hyperparameters that scVI sets automatically with hyperopt?

Are there any updates on this? It seems many of us have been using no deterministic warmup recently. Should we provide a better way to access how long the warmup lasts?

We might want to document this better and access the warmup parameter / provide a better way to input the warmup schedule ?

How about changing the default behavior to be "no warm up" ? Would that lead to a better or worse user experience? I see benefits/drawbacks to both ways.


PLAT-49775: Add DayPicker dayNameLength Prop

Issue Resolved / Feature Added
AdddayNameLength prop that supports different length for names of days in DaySelector and DayPicker's label.
Resolution
Additional Considerations
Links
PLAT-49775
Comments
Enact-DCO-1.0-Signed-off-by: Teck Liew<EMAIL_ADDRESS>

LGTM

This is good work, @teckliew! I appreciate that you took the opportunity while adding a feature to do some refactoring to clean up the code base and reduce duplication.
I made a couple changes I wanted to call out:

I changed DayPicker to only use DaySelectorDecorator.js rather than the entire HOC stack because it resulted in fewer layers due to removing an extra instance of Pure. The duplication introduced (a configured Changeable) was pretty minor and worth the tradeoff, imo.
I adopted the DayPickerDecorator convention with compose we've used elsewhere but did not add it as an export at this time. When we revisit the expandable UI migration, we can address all of these components together.
I moved the i18n subscription into DaySelectorDecorator to reduce the number of layers plus add dynamic locale changing to DaySelector which it previously lacked.
I refactored initIlib() to generate a state object rather than setting a bunch of member variables. Member variables are generally bad anyway because they can be set out of band of state updates and we needed a state change to reflect the new locale so it bundled nicely.

Please give it a look and verify everything still behaves as you expected and we'll get it merged.

Everything looks 👌 to go. Definitely looks a lot better.


Lower python requirements to 3.11

Proposed Changes
Home Assistant currently supports python 3.11 and 3.12. So python version needs to be lowered to 3.11 to match.

Home Assistant currently supports python 3.11

We only run core on 3.12

@joostlek yea I just realized that. My fault


remove variable before the return

The vraptor-music-jungle was broken to me. I believe the last refactor forgot remove the variable too. That is right?

yes, totally. thank you @angeliski


Make the test files deterministic

This patch was developed in binarydist's Debian package, to support
the Reproducible Builds effort.

Awesome, thanks!

@kr Thanks a lot to you  :-)


malloc: *** error for object 0x11: pointer being freed was not allocated

Having installed version 7.4.3 via SPM our app randomly crashes with the error
malloc: *** error for object 0x11: pointer being freed was not allocated
Description
Having installed version 7.4.3 via SPM our app randomly crashes with the error
malloc: *** error for object 0x11: pointer being freed was not allocated
Steps to Reproduce
There are no specific steps, as the crash is not occuring all the time, sometimes it happens on start up, other times while browsing the app.
Expected Behavior
The app doesn't crash
Relevant Logs / Console output
malloc: *** error for object 0x11: pointer being freed was not allocated## Your Environment
iOS 16.2, xcode 14.2.0
Additional context
We are not 100% sure that New Relic pod is solely to blame, but downgrading to 7.4.0 seems to have stopped the crash occuring

I am also facing random crashes that are reported on Firebase
Here is a sample of the crash logs
Crashed: com.apple.root.default-qos
0  libsystem_kernel.dylib         0x7674 __pthread_kill + 8
1  libsystem_pthread.dylib        0x71ac pthread_kill + 268
2  libsystem_c.dylib              0x20c8c abort + 180
3  libsystem_malloc.dylib         0x1de2c malloc_vreport + 908
4  libsystem_malloc.dylib         0x1e010 malloc_report + 64
5  libsystem_malloc.dylib         0x19918 find_zone_and_free + 308
6  NewRelic                       0xd380 NRMA__deallocInteractionHistoryList + 2108
7  NewRelic                       0x66294 NewRelic::RequestEvent::RequestEvent(unsigned long long, double, std::__1::unique_ptr<NewRelic::Connectivity::Payload const, std::__1::default_delete<NewRelic::Connectivity::Payload const> >, NewRelic::AttributeValidator&) + 160
8  NewRelic                       0x74af0 NewRelic::EventManager::newRequestEvent(unsigned long long, double, std::__1::unique_ptr<NewRelic::Connectivity::Payload const, std::__1::default_delete<NewRelic::Connectivity::Payload const> >, NewRelic::AttributeValidator&) + 56
9  NewRelic                       0x62340 NewRelic::AnalyticsController::addRequestEvent(NewRelic::NetworkRequestData const&, NewRelic::NetworkResponseData const&, std::__1::unique_ptr<NewRelic::Connectivity::Payload const, std::__1::default_delete<NewRelic::Connectivity::Payload const> >) + 200
10 NewRelic                       0x399ac NRMA__getDataForSessionTask + 9400
11 NewRelic                       0x4b944 removeTarget_action + 8816
12 libdispatch.dylib              0x2460 _dispatch_call_block_and_release + 32
13 libdispatch.dylib              0x3f88 _dispatch_client_callout + 20
14 libdispatch.dylib              0x7074 _dispatch_queue_override_invoke + 788
15 libdispatch.dylib              0x15a6c _dispatch_root_queue_drain + 396
16 libdispatch.dylib              0x16284 _dispatch_worker_thread2 + 164
17 libsystem_pthread.dylib        0xdbc _pthread_wqthread + 228
18 libsystem_pthread.dylib        0xb98 start_wqthread + 8

Same issue here - the crash started only in the version which contained a bump from 7.4.0 to 7.4.3 if that helps

crash_info_entry_1 are all like
home24(697,0x2a85b7000) malloc: *** error for object 0x280fccc90: pointer being freed was not allocated

Still seeing this in 7.4.4
We're rolling back to 7.4.0

Please use the latest New Relic iOS agent 7.4.11 which contains a new feature flag, NRFeatureFlag_NewEventSystem. Enable this feature flag which should remove the ~Payload() crash.


Convert unit tests to Swift

Convert Objective-C unit tests to Swift unit tests so that all tests are Swift.
For reasons described in https://github.com/googlemaps/google-maps-ios-utils/issues/473, the maintenance and contribution to this library are hindered by its mixed-language source and the fact that most of the source code is written in Objective-C. This feature request captures the work to translate the Objective-C unit tests to Swift.
See related issue #511 for the plan.

There is a bug in the Maps SDK for iOS blocking some of our unit tests from running successfully. We are waiting for the next release of the Maps SDK to be able to run these tests.


labelmap is not working well for node label start with number

1, In K8s environment, if we define a node label "5gc-abc-se/vnf=xyz", it is a valid node label according to https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2, due to we have pm job relabel_configs as below:
relabel_configs:
- action: labelmap
regex: _meta_kubernetes_node_label(.+)
3, the node label will be convert to "5gc_abc_se_vnf": "xyz"
"metric": {
"5gc_abc_se_vnf": "xyz",
"name": "kubelet_volume_stats_used_bytes",
"beta_kubernetes_io_arch": "amd64",
4, but "5gc_abc_se_vnf" is not a valid metrics label according to
https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels
Label names may contain ASCII letters, numbers, as well as underscores. They must match the regex [a-zA-Z_][a-zA-Z0-9_]*. Label names beginning with __ are reserved for internal use.
5, if we have a federation job defined in another Prometheus, and the the target is the one of this Prometheus service. we will find error "lastError": "expected label name, got "INVALID"", as below:
{
"discoveredLabels": {
"address": "prometheus.monitoring:9090",
"metrics_path": "/federate",
"__param_match[]": "{namespace="test"}",
"scheme": "http",
"job": "federate"
},
"labels": {
"instance": "prometheus.monitoring:9090",
"job": "federate"
},
"scrapePool": "federate",
"scrapeUrl": http://prometheus.monitoring:9090/federate?match[]={namespace%3D"test"},
"globalUrl": http://prometheus.monitoring:9090/federate?match[]={namespace%3D"test"},
"lastError": "expected label name, got "INVALID"",
"lastScrape": "2021-12-06T06:10:47.716774956Z",
"lastScrapeDuration": 1.159234488,
"health": "down"
},
I think labelmap should be improved, if the node label start with number, it should add "_" automatically to avoid the issue above.
for example node label "5gc-abc-se/vnf=xyz" should be convert to metrics label "_5gc_abc_se_vnf": "xyz", I think "_5gc_abc_se_vnf" is valid metric label.

Unfortunately, we can not do this, it could break people:

That could collision with existing labels
That could be fixed in another way by subsequent relabeling rules.
Last but not least, we can not decide for users how to sanitize labels. There could be other things than this making invalid labels, and sanitizing can depend on the language and other things.

I such, I propose you two workaround and close this issue.
Workaround 1, your proposal:
- action: labelmap
  regex: _meta_kubernetes_node_label_(.+)
- action: labelmap
  regex: [0-9](.+)
  replacement:  _$1

Workaround 2, avoid the labels in the first place:
- action: labelmap
  regex: _meta_kubernetes_node_label_([a-z].+)

Thank you for your report!

Got it and thanks a lot.

My proposal:
from:
- action: labelmap
  regex: _meta_kubernetes_node_label_(.+)

change to:
- action: labelmap
  regex: __meta_kubernetes_node_label_([0-9].+)
  replacement: _${1}
- action: labelmap
  regex: __meta_kubernetes_node_label_([a-zA-Z].+)

BRs/Jian


Url Rewrite conditions shouldn't require a pattern attribute

Right now if you don't pass in a pattern attribute for each condition the file parser throws. This behavior is incorrect.
For example it break the isFile and isDirectory checks
<add input="{REQUEST_FILENAME}" matchType="isFile" negate="true">  wont work.

Turns out that this is an issue with case insensitive enum parsing. The  IsFile and the IsDirectory enums should be isFile and isDirectory . We should also do case insensitive enum parsing.
Previously filed in https://github.com/aspnet/BasicMiddleware/issues/145


Sync sometimes backs you out when finishing or failing its sync process

Software and hardware versions
ODK 2.0 RC1, Nexus 6, Android 6. I was reproing with the cold chain demo, but I don't think it matters.
Problem description
When syncing, as the process nears completion sometimes it will back you out to the previous screen.
You then have to open up the sync UI again to see what the result was.
Steps to reproduce the problem
Authenticate and synchronize to a server. You don't need to by syncing new changes, you can just keep hitting sync and eventually one of them will pop you out. It seems to be more frequent on older hardware.
Expected behavior
The sync UI should never back you out or finish unless you press a button indicating you want that.
Other information

The problem does not seem to be the finish() calls in SyncFragment or SyncBaseActivity. I commented them out and the problem persists.

Fixed by https://github.com/opendatakit/services/pull/57


@types definition in dependencies instead of devDependency

https://github.com/mongodb-js/mongodb-connection-string-url/blob/f9306a10d882309fddc050f9f9571aaf793a63f7/package.json#L59

As mentioned in #18, users of this package will need @types/whatwg-url because this package's own types depend on this. It's unfortunate that npm doesn't have a concept of "type dependencies" or similar, but right now, it is what it is.

users of this package will need @types/whatwg-url because this package's own types depend on this

That's ok if package's own types depend on mongodb-connection-string-url, all dependencies and devDependencies will be satisfied by simply running npm i mongodb-connection-string-url.
Check out the definition of devDependencies, no one will ever need @types/whatwg-url without also already having ts-node, and therefore they will never be in a production environment, and would have never called npm i --production.
Therefore no one needs @types/whatwg-url as a real dependency.
Therefore #18 should have been accepted: (@types/whatwg-url should be removed as a real dependency and added as a devDependency)

@Jacolack I don’t think you understood why this being a simple devDependency would not work – devDependencies are not installed transitively, unlike regular dependencies. I can just quote myself again:

It's unfortunate that npm doesn't have a concept of "type dependencies" or similar, but right now, it is what it is.

Yes it's unfortunate but on the other hand this is misusing the regular dependencies field, causing unnecessary bloat in prod environments. Until npm supports this I would still prefer having it declared in devDependencies, and adding an extra line in the mongodb package docs or something for developers (who should be reading docs instead of blindly downloading from npm anyway).
Another solution would just be to publish the types separately, with @types. This would be a cleaner solution since it means all the dependencies can be expressed correctly and developers can pull in what they want. I believe this means either the mongodb package needs to do that as well or this would need to be included in the mongodb package docs as well.
Another more hacky workaround is taking advantage of the fact that peer dependencies are automatically installed with typical npm install, but can be eliminated from prod builds with --omit=peer. But this isn't really what peer dependencies were made for so it's an icky solution.


feat: network token enforcement

Network now launches with zero total issuance, requiring a reserve transfer from the relay to get started. This will be automated with a pop up feature, but for now one can reserve transfer from relay to Pop with the following encoded calls:

Send 100 UNIT to Alice on Pop
0x630804000100098e0400010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d04040000000b00407a10f35a0000000000
Send 100 UNIT to Bob on Pop
0x630804000100098e04000101008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4804040000000b00407a10f35a0000000000

Commits:

filter balances::force* calls to prevent minting of native token, ensuring network can only be funded from relay token
removes endowments from chainspec
removes endowments from genesis within integration tests, updating tests accordingly

https://github.com/r0gue-io/pop-node/issues/47

LGTM. We will probably want to introduce some tests later on for allowing users to withdraw tokens back to the relay chain

Already exists: https://github.com/r0gue-io/pop-node/blob/9102be205e2201006b1f9e64e620bfd2a2ce0cf0/integration-tests/src/lib.rs#L325

LGTM. We will probably want to introduce some tests later on for allowing users to withdraw tokens back to the relay chain

Already exists:
https://github.com/r0gue-io/pop-node/blob/9102be205e2201006b1f9e64e620bfd2a2ce0cf0/integration-tests/src/lib.rs#L325

Ah nice. Missed that one and thought we were testing transfer to SA account.

Should we add testing the integrations in the CI or is that too much?

Already included - see https://github.com/r0gue-io/pop-node/actions/runs/8383155297/job/22958325605:


Update Pygments to latest upstream version.

In HTML, the line break immediately following a start tag is ignored;
(see: www.w3.org/TR/html4/appendix/notes.html#h-B.3.1). An extra span tag
has been introduced in the upstream Pygments HtmlFormatter in order to preserve the first new
line. The relevant Bugdown Tests have been updated to reflect this new behavior.

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

@umkay it looks like this is failing the node test suite, which attempts to render all of our markdown test cases with marked, the third-party frontend markdown processor we use, and ensure the results are the same as those produced by the backend processor.  This probably requires some changes in static/js/echo.js to configure marked to match the backend behavior.

@timabbott sorry about that, I've updated the relevant files

@umkay thanks for fixing this!  I squashed your commits together (since the tests don't pass with just the first one), fixed some formatting in the commit message and then merged this.
Another packages successfully upgraded, yay :)


Automatically manage dbxrefs between ComplexPortal and GO complex terms

From #16513
Suggested action points:

CP group: Create and maintain a mapping file between CPX-GO IDs (we can use the GPAD for this)
GOC: Put in place a mechanism to maintain the GO xrefs to CPX up to date at each release.
2.1 Involves removing all current dbxrefs (ie both "IntAct:EBI-xxx" as well as existing ComplexPortal:CPX-xxx), to have the mechanism completely automated.
For new term creation: No CPX xref would be manually added; these would be requested directly to CP if missing. (At the moment if this happen we can direct people to the 'request' button on the CP page).

Thanks, Pascale
@bmeldal

from @tonysawfordebi by email:
I think there's (possibly) some confusion here...
Any references to complexes in the Cross-references section of QuickGO's term page are derived from xrefs that are defined in the ontology itself; they get passed through to QuickGO untouched.
The content of the Protein Complexes section is derived from annotations between complexes and complex terms, and we now don't have very many of those, because it has been decided that complexes should not be annotated to complex terms any more, because these annotations are really cross-references. If that is the case, then - in my simple-minded view of the world - they should go into the ontology along with the existing cross-references. Either that, or there should be no complex cross-references in the ontology, and somebody needs to come up with a new mechanism for specifying them. What we really don't want is two separate ways of doing essentially the same thing.
What are the objections to having the xrefs in GO itself? To me, it doesn't really seem any different to having xrefs to, say, ChEBI entries.
Cheers,
Tony

Ok, the source of the data is clear:
xrefs: from the hard-coded ontology entries. Currently, the xrefs only get added at the point of requesting a new term. The old EBI-xxx links are dead as they still point to IntAct, not Complex Portal.
"Protein Complexes": from the "annotations" done via Protein2GO. Updated with every release but this type of annotation is no longer permitted as it's a xref and we don't want it in the annotation files. Groups are removing these annotation as we speak, making sure they are done to the individual GPs. That means that this section will be empty very soon.
Logical endpoints:

One place for all CP AC-GO CC term xrefs that are updated via CP GPAD.

Data should be visible through QuickGO and Amigo.

ACs are all of CPX-xxxx type and links point to CP (not EBI-xxxxxxx ACs pointing to 0 results in IntAct).

Question: How can we implement this pipeline so it's automatic?
My humble opinion:
I don't mind which section it goes in as long as it's updated automatically as no-one is going to add the missing xrefs manually. If it goes via the ontology it'll be in the files. If it goes directly onto the website it won't be in the files except the GPAD we supply on our IntAct ftp site and therefore less visibly for programmatic users.

@cmungall If ComplexPortal provides and maintains a mapping file, will the x-references be automatically be maintained ?

Perhaps the planned way to handle xrefs from catalyzed Reactome reactions to GO MF terms would apply here (with the very big disclaimer that we haven't implemented it yet). Reactome generates a complete table of reaction - MF pairs in connection with each release (no distinction among new, revised, and old items); GO takes that list, drops all existing Reactome - MF xrefs and generates a complete new set from the new list. Generating the list is our chore (but a scriptable one) and a user curious about the history of an xref must come to us and ask about the history of the Reactome reaction instance to find out; generating the xrefs is GO's (scriptable) chore.

Thanks @deustp01
And how are these xreferences integrated into the ontology ? Is there already a process in place?

The process at the moment is that we manually add them to terms upon request. But perhaps this can be rolled into a similar process to the one we are putting in place for reactome xrefs.

@goodb @cmungall the issue with the Reactome links from QuickGO is fixed after last Ontology update 2019-03-29. Thanks.

but in db-xrefs.yaml
database: Reactome
name: Reactome - a curated knowledgebase of biological pathways
synonyms:

REACTOME
REAC
...
no all lowercase synonym there. I guess easy fix is to add another synonym "reactome" to db-xrefs.yaml

From January 18 - sorry for the lapse. If that second synonym, REAC, is intended to catch old-style (now obsolete) Reactome stable IDs, it should be REACT.

@goodb @cmungall yesterday update of Ontology has all lower case "reactome" again.
Example from go-plus.json: "val" : "reactome:R-HSA-6800138"
I thought the agreement was to use "val" : "Reactome:R-HSA-6800138"
which was fixed in Ontology update from 2019-03-29

@alexsign I see what you mean—I will look into this. So far I don't see any build process changes that should have led to this.

@alexsign this appears to be correct in the ontology build, but the overall GO snapshot pipeline (i.e. including the annotations) has been having problems for a while now. Once those issues clear out I am expecting this to be corrected.

@balhoff thanks, I'll keep what I have now until the issue is fixed

@cmungall @balhoff
Would we now be able to load a mapping file if ComplexPortal were to provide it ?
Thanks, Pascale

@pgaudet see comments above.  If they can provide a simple tabular mapping file like the Reactome one, then yes.

@bmeldal

It's on our to-do list but I don't have an ETA yet. Sorry.

No worries- at least we know the action now. I'm assigning this one to you now.
We can also close this until you are ready to submit ? Up to you.
Thanks, Pascale

Leave it open so it remains on my to-do list!

@bmeldal any update on this?

I still haven't got a developer to create this file. Sorry.

No problem, just checking.

@bmeldal Hi ! This is my once-a year ping ;)

it took me less time to write this than it did to read this ticket from top to bottom:
curl -L -s ftp://ftp.ebi.ac.uk/pub/databases/intact/current/various/complex_portal.gpa |\
   perl -ne 'print "\n[Term]\nid: $3\nxref: $1:$2\n" if m@^(ComplexPortal)\t(\S+)\tpart_of\t(GO:\d+)@'

output:
...
[Term]
id: GO:0005615
xref: ComplexPortal:CPX-3290

[Term]
id: GO:0070743
xref: ComplexPortal:CPX-3290
...

the hacky script will of course need changed when gpa changes to v2
anyway this part is easy. integrating this into the ontology file is harder than it should be, when I look at the go-ontology Makefile. I think we need to dedicate ~1day to rewriting how we manage import and export of mappings, and switch to sssom

thanks !

@pgaudet @cmungall does that mean you no longer need a separate mapping file from us? That would be ace!

@cmungall is your solution above a permanent fix? If yes, please close this ticket and I can close one on my end, too.

@cmungall 's script returns two types of results:

complexes annotated to cellular anatomical entities: for eg:
id: GO:0005743 mitochondrial inner membrane
xref: ComplexPortal:CPX-3281 Mitochondrial proton-transporting ATP synthase complex

This is not a xref: the annotation is right, but the GO and the CPX terms here are no equivalent.

Species-specific CP complexes to GO complexes:
id: GO:0000172: ribonuclease MRP complex
xref: ComplexPortal:CPX-3284: yeast Nucleolar ribonuclease MRP complex

This is correct, and it potentially provides new information, since we cannot annotate a Protein Complex to a GO Protein complex (the complex is not part_of the complex, it is an instance of the complex, in a specific organism.
We could implement Chris' script in the ontology pipeline, filtering out any annotation to cellular anatomical entity
Thanks, Pascale

Shouldn't the gpa file be fixed?

ComplexPortal	CPX-3284	part_of	GO:0000172	PMID:20075859	ECO:0000353		559292	20220104	ComplexPortal

This isn't properly a part-of
I think we need to add is_a to:
https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#allowed-gene-product-to-go-term-relations
I see we have a few issues about complexes in GPAD
https://github.com/orgs/geneontology/projects/91?card_filter_query=complex
But I don't see one for this particular issue.
We can of course still filter the annotations in the way @pgaudet describes, this is easy, but I think everything is simpler if the correct relations are used

Just a clarification about the semantics of the annotations: if we state in an entity is_a GO term, isn't that the definition of a mapping?
It seems to me these are correctly being filtered out, as annotations?

"mapping" is an underspecified term, but with sssom, mappings are typically
exact, broad, narrow, close, related.
On Wed, Oct 25, 2023 at 10:13 PM pgaudet @.***> wrote:

Just a clarification about the semantics of the annotations: if we state
in an entity is_a GO term, isn't that the definition of a mapping?
It seems to me these are correctly being filtered out, as annotations?
—
Reply to this email directly, view it on GitHub
https://github.com/geneontology/go-ontology/issues/16553#issuecomment-1780426757,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMMOPA7H5R2AJRCYFXJZDYBHWNZAVCNFSM4GAZUXS2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZYGA2DENRXGU3Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

This doesn't seem to be needed by users. We can reopen if we start getting requests.


Next.js transpilation breaks neon driver adapter

Bug description
Next.js seems to break the prisma driver adapters when package transpilation is used.
I created a reproduction repo (see below) that shows the issue.
I specifically added @neondatabase/serverless to transpiledPackages in the nextjs.config.js.
My usecase is that we export prisma in a monorepo workspace (in a different project) that is transpiled by nextjs. In that process webpack and prisma lose the configured type parser from here: https://github.com/prisma/prisma/blob/main/packages/adapter-neon/src/conversion.ts#L265-L338
In order to workaround this issue one can readd these parser functions like I do here: https://github.com/mmachatschek/repro_nextjs_neon_driveradapter_issue/blob/main/nextjs/src/pages/api/prisma.ts#L19-L23 and make everything work again
the error looks like this:
Inconsistent column data: Conversion failed: expected a string in column 'createdAt', found {}
    at si.handleRequestError (/Users/markus/repro_esm_cjs_neondb_issue/nextjs/node_modules/@prisma/client/runtime/library.js:125:6817)
    at si.handleAndLogRequestError (/Users/markus/repro_esm_cjs_neondb_issue/nextjs/node_modules/@prisma/client/runtime/library.js:125:6151)
    at si.request (/Users/markus/repro_esm_cjs_neondb_issue/nextjs/node_modules/@prisma/client/runtime/library.js:125:5859)
    at async l (/Users/markus/repro_esm_cjs_neondb_issue/nextjs/node_modules/@prisma/client/runtime/library.js:130:9805)
    at async handler (webpack-internal:///(api)/./src/pages/api/prisma.ts:36:22)

How to reproduce
Clone the repo https://github.com/mmachatschek/repro_nextjs_neon_driveradapter_issue

Spin up postgres with a neon proxy for local testing: docker compose up -d
Install deps cd nextjs && npm install
Migrate DATABASE_URL=postgres://postgres:postgres@localhost:5432/db npm run migrate
Add a record in the database on the Article table
Start nextjs dev server DATABASE_URL=postgres://postgres:postgres@localhost:5432/db npm run dev
Call the nextjs route POST http://localhost:3000/api/prisma
See error in console

Expected behavior
The query is correctly executed and the database records are returned.
Prisma information
Reproduction repo https://github.com/mmachatschek/repro_nextjs_neon_driveradapter_issue
Environment & setup

OS: independent
Database: postgres 15 with ws proxy or neon database
Node.js version: node 20

Prisma Version
prisma                  : 5.8.0-dev.38
@prisma/client          : 5.8.0-dev.38
Computed binaryTarget   : darwin-arm64
Operating System        : darwin
Architecture            : arm64
Node.js                 : v20.9.0
Query Engine (Node-API) : libquery-engine e78ce01346936f624c1ca1f087385a25ee17b5bb (at<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli e78ce01346936f624c1ca1f087385a25ee17b5bb (at node_modules/@prisma/engines/schema-engine-darwin-arm64)
Schema Wasm             : @prisma/prisma-schema-wasm 5.8.0-21.e78ce01346936f624c1ca1f087385a25ee17b5bb
Default Engines Hash    : e78ce01346936f624c1ca1f087385a25ee17b5bb
Studio                  : 0.497.0
Preview Features        : driverAdapters

If needed I can cross post this issue on the next.js repo too.

@andyjy  I added the transpiledModules for the sake of reproduction. We have a internal package (in our codebase) that exports a CMS which uses prisma. That internal package is used in the nextjs project so that internal package needs to transpiled.
you would need to replace @neondatabase/serverless with that internal package that consumes that package and you will get the same error as I described

We have a internal package (in our codebase) that exports a CMS which uses prisma. That internal package is used in the nextjs project so that internal package needs to transpiled.

I see - I'm doing what sounds the same (internal package that uses Prisma and is imported into Next.js package).
Does your project not work if you don't use transpileModules at all, or are you trying to achieve some other effect via transpileModules?  Asking since transpileModules is not required for internal packages within my monorepo - I simply import the typescript source from my internal package from within my Next.js project and it all works.

@andyjy we use turbo repo with nextjs and the internal packages and when we are not transpiling our modules we run into the issue that is described here: https://turbo.build/repo/docs/handbook/sharing-code/internal-packages#5-try-running-the-app
not using transpileModules basically doesn't work for us.

All I can say is I'm also using turborepo with nextjs + internal packages in a monorepo + Neon driverAdapter and not getting any error - so I assume we're doing something different in our setup.
Maybe some of the below might help resolve it for you:
I have transpileModules: [] - yes, empty array[^1]
I'm importing internal packages into my Next.js package using relative file:../ references (npm install <folder>):
"dependencies": {
    "internal-package": "file:../internal-package"
}

Finally I'm using npm workspaces with a top-level package.json in my monorepo - not sure if that affects any of the above but mentioning as your reproduction repo does not.
[^1]: The Next.js docs are definitely light on this, without it set at all I get the error you linked above - as far as I can remember I landed on the empty array almost by accident. (I was previously transpiling an external package, and discovered the empty array worked after trying to remove it entirely.)

Result of reproduction changed when upgrading to newest versions of everything:
 ⨯ TypeError: PrismaNeon must be initialized with an instance of Pool:
import { Pool } from '@neondatabase/serverless'
const pool = new Pool({ connectionString: url })
const adapter = new PrismaNeon(pool)

Code at https://github.com/mmachatschek/repro_nextjs_neon_driveradapter_issue/pull/1

Hello @mmachatschek, since https://github.com/prisma/prisma/pull/24434, Prisma Driver Adapters no longer tamper with the globally unique pg type parser object.
You should thus now be able to use the Neon Driver Adapter without requiring transpilation at all :)
Can you please give it a try with<EMAIL_ADDRESS>(Please remember to re-run prisma generate). Thanks!

Getting back to the issue at hand, we tend to discourage Next.js transpilation because it can get yield very unpredictable results.

Hi @mmachatschek, any chance you saw the comment above?
Would that fix this issue for you? Thanks.

Hi @jkomyno I'm currently unable to test this in combination with our keystone-js codebase as it depends on some internal changes in the framework I can further test that as soon as these topics were solved.
Based on your comment and the linked PR it looks like my initial issue is solved and it aligns with the findings I had while debugging it.
So we can close this issue. If I happen to encounter the issue again or with a different error, I'll rise another issue


Avoid unnecessary recomputing of layouts

Currently, SizeHints are calculated on every event which is expensive and makes the UI slow when you for example have labels with a lot of text.
Try visiting a web page in the http example. When the response finishes loading, typing becomes really slow. Profiling shows that a lot of time is spent in Label.SizeHint. A likely solution is to add dirty flags to layouts and widgets to indicate whether the call to Resize can be avoided.

I found this issue interesting and I started looking into go tool pprof. I played the scenario described above while  taking a cpuprofile:
(pprof) peek SizeHint
19.01s of 19.69s total (96.55%)
Dropped 132 nodes (cum <= 0.10s)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                            18.12s   100% |   github.com/marcusolsson/tui-go.(*Box).SizeHint
     0.03s  0.15%  0.15%     18.12s 92.03%                | github.com/marcusolsson/tui-go.(*Label).SizeHint
                                            10.92s 60.36% |   github.com/marcusolsson/tui-go.stringWidth
                                             6.18s 34.16% |   github.com/marcusolsson/tui-go.(*Label).heightForWidth
                                             0.99s  5.47% |   strings.Split
----------------------------------------------------------+-------------
                                            18.16s   100% |   github.com/marcusolsson/tui-go.doLayout
         0     0%  0.15%     18.16s 92.23%                | github.com/marcusolsson/tui-go.(*Box).SizeHint
                                            18.12s   100% |   github.com/marcusolsson/tui-go.(*Label).SizeHint
----------------------------------------------------------+-------------
(pprof) top
16300ms of 19690ms total (82.78%)
Dropped 132 nodes (cum <= 98.45ms)
Showing top 10 nodes out of 70 (cum >= 10880ms)
      flat  flat%   sum%        cum   cum%
    4130ms 20.98% 20.98%     4130ms 20.98%  github.com/mattn/go-runewidth.inTable
    3680ms 18.69% 39.66%     7810ms 39.66%  github.com/mattn/go-runewidth.inTables
    2030ms 10.31% 49.97%    10180ms 51.70%  github.com/mattn/go-runewidth.(*Condition).RuneWidth
    1730ms  8.79% 58.76%     2060ms 10.46%  strings.genSplit
    1290ms  6.55% 65.31%     2250ms 11.43%  bytes.(*Buffer).WriteByte
    1030ms  5.23% 70.54%     1040ms  5.28%  bytes.(*Buffer).grow
     930ms  4.72% 75.27%     5180ms 26.31%  github.com/mitchellh/go-wordwrap.WrapString
     620ms  3.15% 78.42%      620ms  3.15%  unicode.IsSpace
     460ms  2.34% 80.75%     2710ms 13.76%  bytes.(*Buffer).WriteRune
     400ms  2.03% 82.78%    10880ms 55.26%  github.com/mattn/go-runewidth.(*Condition).StringWidth
(pprof)
(pprof) list SizeHint
Total: 19.69s
ROUTINE ======================== github.com/marcusolsson/tui-go.(*Box).SizeHint in /home/yml/gopath/src/github.com/marcusolsson/tui-go/box.go
         0     18.16s (flat, cum) 92.23% of Total
         .          .    124:// SizeHint returns the recommended size for the layout.
         .          .    125:func (b *Box) SizeHint() image.Point {
         .          .    126:	var sizeHint image.Point
         .          .    127:
         .          .    128:	for _, child := range b.children {
         .     18.16s    129:		size := child.SizeHint()
         .          .    130:		if b.Alignment() == Horizontal {
         .          .    131:			sizeHint.X += size.X
         .          .    132:			if size.Y > sizeHint.Y {
         .          .    133:				sizeHint.Y = size.Y
         .          .    134:			}
ROUTINE ======================== github.com/marcusolsson/tui-go.(*Label).SizeHint in /home/yml/gopath/src/github.com/marcusolsson/tui-go/label.go
      30ms     18.12s (flat, cum) 92.03% of Total
         .          .     42:}
         .          .     43:
         .          .     44:// SizeHint returns the recommended size for the label.
         .          .     45:func (l *Label) SizeHint() image.Point {
         .          .     46:	var max int
         .      990ms     47:	lines := strings.Split(l.text, "\n")
         .          .     48:	for _, line := range lines {
      20ms     10.94s     49:		if w := stringWidth(line); w > max {
         .          .     50:			max = w
         .          .     51:		}
         .          .     52:	}
      10ms      6.19s     53:	return image.Point{max, l.heightForWidth(max)}
         .          .     54:}
         .          .     55:
         .          .     56:func (l *Label) heightForWidth(w int) int {
         .          .     57:	return len(strings.Split(wordwrap.WrapString(l.text, uint(w)), "\n"))
         .          .     58:}
ROUTINE ======================== github.com/marcusolsson/tui-go.(*TextEdit).SizeHint in /home/yml/gopath/src/github.com/marcusolsson/tui-go/text_edit.go
         0       40ms (flat, cum)   0.2% of Total
         .          .     49:	for _, line := range lines {
         .          .     50:		if w := stringWidth(line); w > max {
         .          .     51:			max = w
         .          .     52:		}
         .          .     53:	}
         .       40ms     54:	return image.Point{max, e.heightForWidth(max)}
         .          .     55:}
         .          .     56:
         .          .     57:// OnEvent handles terminal events.
         .          .     58:func (e *TextEdit) OnEvent(ev Event) {
         .          .     59:	if !e.IsFocused() || ev.Type != EventKey {

Looking over the change above - it's a little surprising (to me) that the cache isn't also reset on Resize() of a label, since the SizeHint is dependent on the label's size (in the word-wrap case). But I'm also not coming up with a test case where it doesn't work...


Yarn translator cannot handle "uid" field in dependencies

Same file as #73.
https://github.com/TryGhost/Admin/blob/b872df2e0eee3ca07c5717a36ef1f5fa0cc97c1d/yarn.lock#L6931
$ nix run github:max-privatevoid/dream2nix/yarn-lock-empty-quoted-strings -- \
    add github:TryGhost/Admin/b872df2e0eee3ca07c5717a36ef1f5fa0cc97c1d

(...)
Translating project metadata
error: parser failed at:
         uid da580474a2c449b715444934ddb626b7c07f46a7
         r

       … while evaluating 'mapAttrsToList'

       at /nix/store/ygz58w4f2hgnrdwa657k7gkx3ajd6d8r-bs58z9v8mfd6hxh9zwhsmyzlmiamhqjj-p53cz6rh27q40g9i0q98k3vfrz6lm12w-source/lib/attrsets.nix:258:23:

          257|   */
          258|   mapAttrsToList = f: attrs:
             |                       ^
          259|     map (name: f name attrs.${name}) (attrNames attrs);

       … from call site

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/translators/nodejs/pure/yarn-lock/default.nix:104:11:

          103|         serializePackages = inputData:
          104|           lib.mapAttrsToList
             |           ^
          105|             (yarnName: depAttrs: depAttrs // { inherit yarnName; })

       … while evaluating 'serializePackages'

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/translators/nodejs/pure/yarn-lock/default.nix:103:29:

          102|
          103|         serializePackages = inputData:
             |                             ^
          104|           lib.mapAttrsToList

       … from call site

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/translator.nix:43:32:

           42|
           43|       serializedPackagesList = final.serializePackages final.inputData;
             |                                ^
           44|

       … while evaluating 'findCycles'

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/translator.nix:167:45:

          166|             let
          167|               findCycles = node: prevNodes: cycles:
             |                                             ^
          168|                 let

       … from call site

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/translator.nix:202:17:

          201|               cyclesList =
          202|                 findCycles
             |                 ^
          203|                   (utils.nameVersionPair mainPackageName mainPackageVersion)

       … while evaluating the attribute 'cyclicDependencies'

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/translator.nix:252:20:

          251|
          252|             inherit cyclicDependencies;
             |                    ^
          253|

       … while evaluating 'compressDependencyGraph'

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/dream-lock.nix:183:31:

          182|
          183|     compressDependencyGraph = decompGraph:
             |                               ^
          184|       lib.mapAttrs

       … from call site

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/dream-lock.nix:226:11:

          225|         cyclicDependencies =
          226|           compressDependencyGraph
             |           ^
          227|             uncomp.cyclicDependencies;

       … while evaluating 'toJSON'

       at /nix/store/hi9lkvpv3hdhrvnr2kl3anx46wh3g65w-1pf3i6vyis07cmghq9w0psi6hmwzc12j-dream2nix-full-src/utils/dream-lock.nix:244:14:

          243|
          244|     toJSON = dreamLock:
             |              ^
          245|       let

       … from call site

       at «string»:8:7:

            7|     in
            8|       dream2nix.utils.dreamLock.toJSON
             |       ^
            9|         # don't use nix to detect cycles, this will be more efficient in python

  Exception

  Translator failed to create dream-lock.json

  at /nix/store/ig5if3b8b7rq70x2z21nvb2k347fdlyj-cli/commands/add.py:476 in run_translate
      472│         )
      473│
      474│       # raise error if output wasn't produced
      475│       if not output_temp_file.read():
    → 476│         raise Exception(f"Translator failed to create dream-lock.json")
      477│
      478│       # read produced lock file
      479│       with open(output_temp_file.name) as f:
      480│         lock = json.load(f)

The yarn parser has been re-written since then and doesn't have the problem anymore.


Add multi-resolution BSpline registration support

I think this patch is ready to go. I'll add an example in another PR.