Adding binary wheels to a Function App

I'm having issues trying to add a custom, binary wheel (GDAL) to an Azure Functions app on Consumption. Unfortunately, manylinux wheels for GDAL are not provided in PyPI and building it is a bit of a chore (developing on Windows) so we have used a pre-built wheel in the function app directory to be able to use it.
Previously, deployment used to work with requirements.txt containing a path to the wheel:
./GDAL-2.4.0-cp36-cp36m-manylinux1_x86_64.whl

Which caused building with --build-native-deps to actually install the wheel as expected from the function app directory.
This does not seem to work any more and the change seems to have happened in Azure/azure-functions-core-tools@a8f620398818cb03ff59a2b96bbae922784ac666 - but the rather drastic change in behaviour is not documented anywhere as far as I can see.
Expected behavior
func azure functionapp publish succeeds.
Actual behavior
func azure functionapp publish fails, with
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/GDAL-2.4.0-cp36-cp36m-manylinux1_x86_64.whl'

Tried workarounds
I did try building a .zip myself, as discussed in #182, but deploying the .zip to Consumption Function App using az functionapp deployment source config-zip fails with Failed to retrieve Scm Uri (due to Kudu not being available on Consumption plans?)
There is discussion in Azure/azure-functions-core-tools#1052 concerning func pack and deploying the .zip from func pack, but --no-build isn't really applicable here - I would like to bundle the app normally, but just inject this wheel at some point.
I did try with --additional-packages, but unfortunately the GDAL package in apt is way too old to build the wheel.
Known workarounds
Currently, after digging through what feels like dozens of bug reports across different repositories (Azure/azure-functions-core-tools#1230 being the crucial one, and realizing to follow the commit referencing it..), I did find the (rather undocumented) environment option FUNCTIONS_PYTHON_DOCKER_RUN_COMMAND allowing me to (essentially manually) mount the Function App directory ($ENV:FUNCTIONS_PYTHON_DOCKER_RUN_COMMAND="run --rm -d -v ${PWD}:/mounted mcr.microsoft.com/azure-functions/python:2.0.12410-python3.6-buildenv sleep infinity") and allowing pip install to find the required wheel. However, this is not really a solution, as I guess I'll need to update the docker image manually when it gets updated?
My question then would be; what is the recommended way of bringing binary wheels into an Azure Function on Linux Consumption? Not everything, after all, can be built on deploy and sometimes binary wheels are the only way to go. Consider, for example, having to interface with a third party provided binary library.
At the very least, consider this a bug report on the documentation - it could be heavily improved. There are little pieces and very ugly hacks easy to find, but actual documentation is, well, non-existent. For example, issue #6 is very easy to find, but seems to be mostly brainstorming about how to do it which isn't immediately clear.

I have Python Azure Functions on a Linux Container and I can deploy it from my local computer with the command “func azure functionapp publish $APP_NAME  --build-native-deps” using docker for linux containers.  Due to some restrictions I can not use -build-native-deps in my automatic build and release pipelines, therefore I tried to run func azure functionapp publish $APP_NAME, but this fails with the following error:  "binary dependencies without wheels are not supported", because I have libraries like "pyodbc" in my requirements.txt.
Is there another way to publish a function app and add binary wheels to it?

going through azure func core tools code.. I think we need to add extra code at below link to check if the wheel file exists in custom folder or wheelhouse where customers can upload in project.
instead of just failing on pip download. Please fix this ASAP... we are seeing many customers with this issue
https://github.com/Azure/azure-functions-core-tools/blob/dev/tools/python/packapp/__main__.py#L154

Same issue for me with GDAL as well, as reported here: https://github.com/Azure/azure-functions-core-tools/issues/1358#issuecomment-503013415

I believe @ankitkumarr's suggestion should still be applicable here: https://github.com/Azure/azure-functions-python-worker/issues/182#issuecomment-478064747. We recognize a well known path .python_packages/lib/python3.6/site-packages in the function app folder which can have any dependencies installed in it, custom or otherwise. A Linux environment would be needed for installation. @kulkarnisonia16 , we've seen instances of this before as well, would be worth documenting a process for installing custom dependencies.

@maiqbal11 the problem with GDAL is that it requires a binary file installed under /usr/bin/ogr2ogr which does not get published, so even when doing:
apt-get install -y gdal-bin libgdal-dev
pip install --target=".python_packages/lib/python3.6/site-packages" GDAL==2.1.3 --global-option=build_ext --global-option="-I/usr/include/gdal"

this installs the wheel package correctly but we are still missing the binary file on execution

@mebibou, got it. I don't believe we have an out-of-the-box experience to currently support this on the consumption plan. Custom containers would be the recommended approach.

@maiqbal11 this is a pretty big deal - e.g. SQLAlchemy suffers from the same problem - I get ModuleNotFound with that in --build local, --build remote and --build-native-deps. Not supporting something such a well-known library is a bit worrying.

Hey @robertlagrant, which SQLAlchemy version are you using?

So sad to see we can't deploy our azure function because of gdal/geos... Would it be available soon or will we have to find another cloud provider ? :/

@AlBlanc is it possible for you to share a small repro and the exact binary needed. We can then quickly evaluate and see if we can add the binary to the base Consumption image. It is important for us to enable more customers - we have similarly enabled XGBoost/OpenCV and other libraries in the last few months and we can evaluate these too.

@anirudhgarg  Thank for your interest.
I just built a small Django project using geodjango, here is a link of the repo
Please provide a valid postgres (with postgis) settings with environment variables: POSTGRES_HOST, POSTGRES_USER, POSTGRES_PASS and POSTGRES_DBNAME in order to be able to start the project.
Here is a list of required depedencies, can you confirm me that only geo-related librairies are missing (proj4, gdal and geos).
For the moment, I've only found windows wheels here, I am still looking for a manylinux wheel.
In case I don't find any and you are still up to include it in azure function, let me know and I'll take some times to build it.

I may have found it 😃  https://manthey.github.io/large_image_wheels/
There is plenty of interesting wheels here, we just require one using python3 but not python 3.7, about the GDAL version we only requires >2.4, 3.x are fines

@anirudhgarg Did I provide enough information? Will you study this case?

Pray for @anirudhgarg, I hope his absence is not related to COVID-19!

Ha ha - I am ok. Thanks for the concern. :).  But things are taking longer as we are all adjusting to working completely online.  Just to understand that you are trying to run a python function app in the consumption plan with the following libraries:
asgiref==3.2.3
astroid==2.3.3
azure-functions==1.2.0
azure-functions-wsgi-adapter==0.2
Django==3.0.4
isort==4.3.21
lazy-object-proxy==1.4.3
mccabe==0.6.1
psycopg2-binary==2.8.4
ptvsd==4.3.2
pylint==2.4.4
pytz==2019.3
six==1.14.0
sqlparse==0.3.1
wrapt==1.11.2
and this is not working - out of these libraries do you know which one is causing issues ?

Actually, let me come back with a simpler project. I thought it would be nice to show the real concern by showing what our project look likes but binary dependencies are "hidden" by Django.
As mentioned  above, when using geodjango (In few words, this is a geospatial extension for Django), it requires these binary librairies: proj4, gdal and geos. (All related for geospatial stuffs, you'll find more details here).
I hope this is not too confusing, I'll try to come back with a simpler project that put more in evidence the issue.

Did we get to a conclusion on this?  What's the recommended path forward?  We're seeing the exact same blocker with a partner who is trying to leverage GDAL in a Python Azure Function deployment.

We also have a requirement to use GDAL/OGR within an Azure function.  This can be done with Lambda functions and we are porting the solution from AWS to Azure (hopefully).

Please consider include the direct https:// (can include basic-auth authentication here) link in your requirements.txt and use func azure functionapp publish <appname> to publish your function app. Our remote build server will resolve the dependencies for you.
Here is a small example project using custom GDAL wheel from **https://manthey.github.io/large_image_wheels/GDAL-2.4.0-cp36-cp36m-manylinux1_x86_64.whl
**PythonWheelExample.zip
What happen if I don't have an external website link to my wheel
Consider uploading your custom wheel into your Azure Storage Blob Container, you can generate an SAS link from the blob which allow you to access the blob from remote build. As long as you're not sharing your SAS link to others, your blob is safe.
Why I cannot run my project locally now
A single wheel is OS specific and Python version specific. If you're using a manylinux wheel, it will NOT work on a Windows/MacOS environment.
This is a similar issue when you're using PyTorch in Azure Functions, which the CPU version is not presented in PyPi. In order to make requirements.txt point to different wheels based on OS platform, consider building your own index.html and make your requirements.txt using the new index (pytorch index example),
-f https://download.pytorch.org/whl/torch_stable.html
torch==1.5.0+cpu

or modifying your requirements.txt pointing to different wheel based on sys_platform and python_version
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp36-cp36m-win_amd64.whl; sys_platform == 'win32' and python_version == '3.6'
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp36-cp36m-linux_x86_64.whl; sys_platform == 'linux' and python_version == '3.6'
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp37-cp37m-win_amd64.whl; sys_platform == 'win32' and python_version == '3.7'
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp37-cp37m-linux_x86_64.whl; sys_platform == 'linux' and python_version == '3.7'
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp38-cp38-win_amd64.whl; sys_platform == 'win32' and python_version == '3.8'
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp38-cp38-linux_x86_64.whl; sys_platform == 'linux' and python_version == '3.8'

Why my project does not work on Azure Functions runtime
Possibly, there's a misalignment between your wheels and our runtime environment. We are using Debian Stretch for v2 functions, and Debian Buster for v3 functions. We recommend using the manylinux wheels.
Also, please check your Python runtime version in https://resources.azure.com/subscriptions/<subscription uuid>/resourceGroups/<resource group name>/providers/Microsoft.Web/sites/<function app name>/config. Search for LinuxFxVersion field. Make sure it matches your custom wheel.


conditional_function never executed for first task

In the following code task1 is shown, which is undocumented behaviour.
  var task0 = {
    type: "text",
    text: '
task0
',
  }

  var task1 = {
    type: "text",
    text: '
task1: should not show
',
  }

  var task1_container = {
    timeline: [task1],
    conditional_function: function(){ console.log('hello'); return false },
  }

  jsPsych.init({
    timeline: [task1_container] // unexpected: task1 shows
    //timeline: [task0, task1_container] // as intended, task1 does not show
  })

Is this version 5? I believe this issue is fixed on the master branch.

It is version 5.0.3

This is fixed for the upcoming version 6. (https://github.com/jodeleeuw/jsPsych/issues/239).
If you need something like this working with version 5, you can add a totally blank trial before the first. For example:
var blank_trial = {
type: 'single-stim',
stimulus: '',
is_html: true,
timing_response: 1,
}

thanks, sorry for not checking with the latest


Drag and Drop delay

I want to drag react component when I holding click or touch on it for some time. How can I do that?

You have to dig into the code and implement it yourself. This repo seems dead and I ended up changing the code to achieve even basic stuff / remove some issues.

There's a delay option I introduced in a previous PR, I probably should have documented it, but it's there
https://github.com/yahoo/react-dnd-touch-backend/commit/26884a4ae913da3521530f85e6567563a1a8df8e

@hakunin sorry for not chiming in (I'm on vacation). I plan to pull support mouse event in the future (also lack of use cases in our production usage) that's probably why I haven't been responsive to mouse issues

@longlho Any updates here on pulling in mouse support like mentioned on your comment above and issue #26?

I think I meant pulling out mouse event support, cause it's not entirely 1-1 mapping to HTML5 dnd API and it's buggy for touch due to diff propagation scheme

@longlho Oh, I see. So, this might be a little bit of an aside, but if one needs to support both touch and mouse events - would the idea be that one uses the html5-backend and this library, switching based on device?

yup that's what we've been doing

@longlho if you pull support for mouse events then what do you suggest for supporting hybrid devices (i.e. MS Surface) where the user may be using both touch and mouse?

@desbrowne yeah, i've run into the same issue. Any suggestions on how you fixed it (if you did)?

@ehkasper mouse events haven't been pulled yet, if it does we'll likely have to fork it. So for the time being we simply use touch detection and load the touch backend if it's supported. Older browsers/devices will have a problem with this as touchevent support was buggy but our app requires a modern browser so we eliminate that issue.

just to vote for this issue.
We have a responsive web app. It sounds like now we need to switch html5-backend and touch-backend based on touch/mouse.
I've tried the enableMouseEvents option, but it is quite slow(we have about 100 images). I still need to look into it why it's so slow.
It'd be great to have both support in one single package.

Guys check out this high level DND library:
https://github.com/atlassian/react-beautiful-dnd
Its not a replacement just yet, but I am wathching it closely and will switch soon.

Try the option delayTouchStart


Enable CircleCI for RSE-leaders

We use CircleCI to render static previews of the website in Pull requests. Therefore, CircleCI needs to be granted access to the RSE-leaders repository (public repositories only). If you are not familiar with CircleCI @alysbrett, you could make me a regular member of the RSE-leaders organization, and I will make the request.

[ ] CircleCI enabled by @alysbrett

oh I see, it's a permissions fix that is needed. Carry on! :)


Github Actions Error: "WARNING: WAT: Could not update filesystem"

Hey all, I'm getting this error when I run my unit tests in Github Actions:
WARNING: WAT: Could not update filesystem
     at: call (modules/gdscript/gdscript_functions.cpp:7[8](https://github.com/Fractural/FracturalSceneManagement/actions/runs/4987206565/jobs/8928739100#step:9:9)[9](https://github.com/Fractural/FracturalSceneManagement/actions/runs/4987206565/jobs/8928739100#step:9:10))
WARNING: WAT: No tests found
     at: call (modules/gdscript/gdscript_functions.cpp:789)

Here's a link to my actions on my Github Repo:
https://github.com/Fractural/FracturalInject/actions/runs/4987293388/jobs/8928921285

Turns out Godot doesn't like case-sensitive folder path names. I had my tests folder named "Tests", however even though WAT was looking for "res://Tests", it still couldn't find the tests folder. Changing the folder in WAT's settings back to "res://tests" fixed it. It's weird that I didn't have to renamed the Tests folder in the end -- I only had to change any loading calls (like file.Open, GD.Load , etc.) to use the lowercase name.

I'm going to reopen this because it sounds concerning. Need to double check if this is really Godot or if I did something weird.

@Atlinx What system (linux, windows etc) did this problem occur on?

@Atlinx
This is a github issue. The repo you're cloning from uses "tests", not "Tests".
Relevant commit: https://github.com/Fractural/FracturalInject/tree/cb3d1247817ccc4997ed8857fa57063bdd195f89

ahh that makes a lot of sense. Tysm for figuring it out!


Update The Division 2

Game Title
The Division 2
Status of the Anti-Cheat
⭐ Supported
Tinkering Steps
If purchased on steam just make sure you have the proper anticheat runtime installed in tools as well.
If playing directly on Ubisoft Connect, it seems they have not updated that one yet with the proper files. Workaround is possible.
https://www.reddit.com/r/SteamDeck/comments/10fsva1/how_to_get_the_division_2_ubisoft_connect_to_work/?utm_source=share&utm_medium=ios_app&utm_name=iossmf
Proof of Mention
https://www.reddit.com/r/linux_gaming/comments/10fgkff/the_division_2_is_now_playable_on_steam_deck_and/

Division 2 is already listed as supported.


The bot never leaves a voice channel once it joins

Fixed with commit 7efc06fd16bb48539cf3dc194d3f16ca684e2c08.
The bot now leaves the voice channel if it is the only member left in it.


mvn install fails on netty-resolver-dns-native-macos

Expected behavior
Build success
Actual behavior
[ERROR] Failed to execute goal org.fusesource.hawtjni:maven-hawtjni-plugin:1.14:build (build-native-lib) on project netty-resolver-dns-native-macos: build failed: org.apache.maven.plugin.MojoExecutionException: Requested download does not exist.: Failure to find io.netty:netty-resolver-dns-native-macos:zip:native-src:4.1.71.Final-SNAPSHOT in https://oss.sonatype.org/content/repositories/snapshots was cached in the local repository, resolution will not be reattempted until the update interval of sonatype-nexus-snapshots has elapsed or updates are forced
Steps to reproduce
mvn install -DskipTests

Minimal yet complete reproducer code (or URL to code)
Netty version
4.1.71.Final-SNAPSHOT
2b4ac36966 (upstream/4.1) Fix reentrancy bug in SslHandler which can cause IllegalReferenceCountException (#11854)
167bd2b37a Bump Brotli4j to 1.6.0 (#11843)
81f8b1a501 We should define netty-tcnative (with classifier) as runtime dependency (#11745)

JVM version (e.g. java -version)
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/dlovison/.sdkman/candidates/maven/current
Java version: 1.8.0_292, vendor: AdoptOpenJDK, runtime: /Users/dlovison/.sdkman/candidates/java/8.0.292.hs-adpt/jre
Default locale: en_BR, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

OS version (e.g. uname -a)
Darwin dlovison-mac 20.6.0 Darwin Kernel Version 20.6.0: Mon Aug 30 06:12:21 PDT 2021; root:xnu-7195.141.6~3/RELEASE_X86_64 x86_64

@diegolovison is this from the root of the project ? Also can you provide the full build log ?

@normanmaurer Yes, from the root.
(base) dlovison@dlovison-mac netty % mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/dlovison/.sdkman/candidates/maven/current
Java version: 1.8.0_292, vendor: AdoptOpenJDK, runtime: /Users/dlovison/.sdkman/candidates/java/8.0.292.hs-adpt/jre
Default locale: en_BR, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
(base) dlovison@dlovison-mac netty % ls
CONTRIBUTING.md                                 codec-smtp                                      nohttp-checkstyle.xml                           testsuite-osgi
LICENSE.txt                                     codec-socks                                     pom.xml                                         testsuite-shading
NOTICE.txt                                      codec-stomp                                     resolver                                        transport
README.md                                       codec-xml                                       resolver-dns                                    transport-blockhound-tests
SECURITY.md                                     common                                          resolver-dns-classes-macos                      transport-classes-epoll
all                                             dev-tools                                       resolver-dns-native-macos                       transport-classes-kqueue
bom                                             docker                                          run-example.sh                                  transport-native-epoll
buffer                                          example                                         scripts                                         transport-native-kqueue
codec                                           handler                                         target                                          transport-native-unix-common
codec-dns                                       handler-proxy                                   testsuite                                       transport-native-unix-common-tests
codec-haproxy                                   license                                         testsuite-autobahn                              transport-rxtx
codec-http                                      microbench                                      testsuite-http2                                 transport-sctp
codec-http2                                     mvnw                                            testsuite-native                                transport-udt
codec-memcache                                  mvnw.cmd                                        testsuite-native-image
codec-mqtt                                      netty-parent.iml                                testsuite-native-image-client
codec-redis                                     nohttp-checkstyle-suppressions.xml              testsuite-native-image-client-runtime-init
(base) dlovison@dlovison-mac netty % mvn install -DskipTests > log.txt 2>&1
[
[log.txt](https://github.com/netty/netty/files/7602458/log.txt)
](url)

log.txt

It was missing libraries
https://github.com/netty/netty/pull/11868


Update unit testing

Also removes composer.lock from source control.
Refs php-fp/php-fp-either#8

Thanks so much :)


Please invite me to the Recode-Hive GitHub Community Organization

Name
Rohit Mukherjee
Discord Username (if applicable)
smashabode
Additional Context
No response

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people


Fixed the class name confusion

Classname Path was confusing as IntelliJ Idea picked it up from import io.github.humbleui.skija.* instead of import java.nio.file.Path. To clarify confusion when class names are same, best to use abosolute names.

Thanks!


"property must be marked as being optional" in unit test

My code is
class CFRealmBaseURL: Object {
    dynamic var path = ""

    override class func primaryKey() -> String? {
        return "path"
    }
}

class CFRealmCard: Object {
    dynamic var baseURL = CFRealmBaseURL()
    dynamic var projectType = ""
    dynamic var company = ""
    dynamic var projectNumber = ""
    dynamic var projectProcess = ""
    var relativeURL:NSURL {
        get {
            let path = [self.projectProcess, self.company, self.projectNumber, self.projectProcess].joinWithSeparator("/")
            return NSURL(fileURLWithPath: path, isDirectory: true, relativeToURL: NSURL(fileURLWithPath: self.baseURL.path, isDirectory: true))
        }

        set(newURL) {
            let paths = newURL.pathComponents!

            if let baseURLCount = newURL.baseURL?.pathComponents?.count {
                self.baseURL.path = newURL.baseURL!.absoluteString
                self.projectType = paths[baseURLCount]
                self.company = paths[baseURLCount + 1]
                self.projectNumber = paths[baseURLCount + 2]
                self.projectProcess = paths[Range(start: baseURLCount + 3, end: paths.endIndex)].joinWithSeparator("/")
            }
        }
    }

    dynamic var projectStatus = CFRealmProjectStatus()
    dynamic var projectSummary = ""
    let contactPersonList = List<CFRealmProjectContactPerson>()

    dynamic var createdDate = NSDate(timeIntervalSince1970: 0)

    func setCard(baseURLs:[NSURL], url:NSURL) {
        let fullPath = url.absoluteString
        for aBaseURL in baseURLs { //baseURLs is order by levels from deep to low
            let aBasePath = aBaseURL.absoluteString
            if fullPath.hasPrefix(aBasePath) {
                var path = fullPath
                path.removeRange(Range(start: aBasePath.startIndex, end: aBasePath.endIndex))
                self.relativeURL = NSURL(fileURLWithPath: path, isDirectory: true, relativeToURL: aBaseURL)
            }
        }
    }

    override class func ignoredProperties() -> [String] {
        return ["relativeURL"]
    }
}

The failed alert is :

failed: caught "RLMException", "The CFRealmCard.baseURL property must be marked as being optional."

However, I don't see the need to mark it as optional. Any idea?

To-one relationships (links) in Realm cannot enforce that a link is always present. So they always have to be marked as optional because there's no way to prevent nil from being stored for a link in the file format.
Therefore, we require that Realm models defined in Swift explicitly mark to-one relationships as Optional.
You'll have to do this for both baseURL and projectStatus properties:
class CFRealmCard: Object {
    dynamic var baseURL: CFRealmBaseURL? = nil
    dynamic var projectStatus: CFRealmProjectStatus? = nil
}

@jpsim the to-one relation example in the latest swift docs states // Can be optional, which is quite confusing. It would be worth updating the docs to express that optionals are required (and implicitly unwrapped optionals are not tolerated).

This is a bit inconvenient, it was was better in previous versions with the default value...
Now I will probably use "getters" like this, which should be the equivalent for the previous default values:
    dynamic var myField_: MyField? = nil
    var myField: MyField {
        myField_ ?? MyField()
    }

Would that be the recommended approach?

@i-schuetz did you add myField as an ignored property?

@kharmabum oh right, adding it as an ignored property would solve the first problem, thanks. About the implicitly unwrapped optional I just tend to avoid them, it shouldn't make a difference concerning the last issue...

@kharmabum you're right that the "can be optional" comment was unclear because it was next to a to-one relationship. We've since changed that to say "Properties can be optional". In the "Model->Relationships" section of the docs, we now stated that "to-one relationships must be optional", so hopefully this makes it clear to users what does and does not have flexible optionality.

This is a bit inconvenient, it was was better in previous versions with the default value...

I'm sorry for the inconvenience, although that situation was inconvenient for others who did want that relationship to be optional.
If you're certain that you'll always have a value for that relationship, you can represent it as an implicitly unwrapped optional, as @kharmabum suggested. Although if you ever use a Realm file that matches your model but was created in a different environment, this could crash if there's a nil relationship.

I'm closing this issue now because I think we've sufficiently covered this particular topic here, but if you'd like to continue the conversation, feel free to reopen.

I am having the issue of "property must be marked as being optional", my class has a property:
@objc dynamic var sale: Sale!
where sale is another Object type that should not be nil, how I can achieve that without putting it as optional?, as doing it as optional will require a major update in each area using that property.
Also be noted that it was working fine before that latest update of Xcode 10!


mcr.microsoft.com/java/jdk:8u232-zulu-ubuntu updated to 19.10, breaks Azure Functions

@testforstephen @hexiaokai @brunoborges
It looks like the mcr.microsoft.com/java/jdk:8u232-zulu-ubuntu image in MCR got updated to Ubuntu 19.10 because a distribution upgrade was added into the Dockerfile 11 days ago.
The problem is that this causes the installation of the Azure Functions Core Tools to fail since there doesn't appear to be a package for that version.
Is this the correct image to be used or was this an accidental upgrade? There's no information about this update out in GitHub and right now the azure-functions-java-8 definition is broken because of it.

//cc: @jeffhollan
The image referenced here appears to be focused more on internal Azure deployments. Should this be a standard open JDK base image instead to avoid unexpected breaks like this?

@ahmelsayed @amamounelsayed to check this out and confirm the right base image is being used

// @kulkarnisonia16 as well

@Chuxel Thank you for your question, the java function is using mcr.microsoft.com/azure-functions/java:3.0-java8-appservice --> This is use the azule version, we use mcr.microsoft.com/java/jre:8u212-zulu-debian9
The openjdk version, mcr.microsoft.com/azure-functions/java:3.0-java8
No idea what is azure-functions-java-8. mcr.microsoft.com/azure-functions/java:3.0-java8
What are trying to build and use?

@amamounelsayed This is a definition @testforstephen has been maintaining for VS Code Remote - Containers to work with Azure Functions in Java inside a container. Its an environment you use to develop the function, not deploy the function.
There was an internal mail thread that landed on mcr.microsoft.com/java/jdk:8u232-zulu-ubuntu as the correct base image - but I am not aware of the specifics as to why that version was picked. Presumably that being closest to Azure.
Would mcr.microsoft.com/java/jre:8u212-zulu-debian9 be the right one?  If so, that's an easy fix.
FWIW - What appears to be happening is this section is failing on installing azure-functions-core-tools because 8u212 is now based on Ubuntu 19.10.
    # Install Azure Functions, .NET Core, and Azure CLI
    && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/azure-cli.list \
    && echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-$(lsb_release -cs)-prod $(lsb_release -cs) main" > /etc/apt/sources.list.d/dotnetdev.list \
    && curl -sL https://packages.microsoft.com/keys/microsoft.asc | (OUT=$(apt-key add - 2>&1) || echo $OUT) \
    && apt-get update \
    && apt-get install -y azure-cli dotnet-sdk-2.1 azure-functions-core-tools \

To see where this shows up, if you use the extension, you can run "Reopen Folder in Container" and pick this definition as a starting point:

I just pushed the core tools package to 19.10 sources feed.

@ahmelsayed Perfect - looks like that resolved the core issue.
FWIW - @amamounelsayed and I also had an offline conversation about the right way to maintain these going forward. Happy to have the right folks get access to do maintenance or we can even just directly reference an image. @anthonychu I'm sure can lend some insights into the right plan given he also submitted the Python definition here. 😀That said, this seems to resolve the immediate issue, so I'll close.
Thanks!

We probably should change this devcontainer to use 8u232-zulu-ubuntu-18.04 or another base image that's pinned to a specific OS major version.
The Python devcontainer uses 3.6-stretch. They don't publish Python 3.8 images for Stretch. We probably should update that one to 3.8-buster.
As for making sure Core Tools is published to all the relevant feeds automatically, we have an item https://github.com/Azure/azure-functions-core-tools/issues/1859 tracking that. /cc @ankitkumarr

Better yet if the base image was a bare bones Linux (could be Debian) and all tools were installed manually (not through apt), including the JDK.


Set Links in footer.hbs as per Issue #73

@davidfinkdev  Thanks for contributing PR looks fine while I am merging your PR please go through other issues or create another if you find any and star the repository if you liked it.


Class can claim to be implement an interface even if the other has privates

File A:
class A {
  void public() { }
  void _private() { }
}
void test (A x) { x._private(); }

File B:
import 'A';
class B implements A {
  void public() { }
}
void main() {
  test(new B());
}

This code has no analyzer warnings, despite being guaranteed to crash.

Yes, that's a known feature.
Inside a library, the interface of a class declaration also contains the private members, outside of the library it only contains the visible members. The uses the wording "accessible" when talking about these members, and it's only a warning if a non-abstract class' interface contains an accessible member which isn't implemented by the class. If the member is not accessible, there is no warning.
So, general rule: Don't expose a public interface with private members, and assume that the instances of that type will have those members (well, not if you get those instances from someone outside the library, if they are all created inside the library, then you can assume it - and "this" will have them).
I guess the analyzer could hint about such a problem if we can detect it safely enough to not cause too many false warnings. It's perfectly OK to have private members. It's just not OK to get an instance as a parameter to a public method and assume the instance knows about the private members.

The problem is that this affects all classes ever. You're basically saying "don't use privates in publicly visible classes", which is untenable IMHO.

(It would be different if you could distinguish "interfaces" from abstract base classes.)

You can use private members in publicly visible classes, and we do it all the time.
When a class is both used as an interface and a default implementation, that only works because the private members used by the implementation doesn't leak into the exported interface.
It does mean that you have to be careful what you assume. You can use the private members on this and on any instance you have created yourself, but if you get an instance from the outside, you should not assume that the private members are there - but the type system can't enforce that.
If we removed the private members from the interface inside the declaring library, then a lot of existing code would start warning. Something like Foo foo = new Foo(42); foo._initialized = true; would warn even if I am completely sure that it's the right kind of Foo.
So, it's a trade-off. If we had a way to express both the external interface and the internal interface, then we could annotate appropriately, but there is only one interface introduced per class - which, technically, includes all the private members, it just doesn't warn if you don't implement something you can't see.
You can actually see that the interface contains the inaccessible members:
library a;
import "b.dart";
class A {
  int _foo = 42;
}
abstract class C extends B {  // Abstract because otherwise it would need to implement _foo.
  foo() { print(_foo); }  // No warning because _foo is inherited from B;
}

library b;
class B implements A {}  // No warning, doesn't implement "_foo", but it's not accessible.

Flutter has a number of tree structures that are designed to have an internally-defined abstract base class that you (as an author) subclass, and then the subclasses are instantiated and connected into a tree. The base class has private and public members; the public API uses these privates for all the logic the class hierarchy exposes.
Obviously, given such a design, if you say your class "implements" the Flutter-defined abstract base class but doesn't actually "extends" it, then everything will break. Pretty much as soon as you hand in the class to the aforementioned public methods, they'll crash, much as if you'd handed in a "Timer" or "FileSystemEntity" or a "Vector3" instead of the actual expected type.
The difference is that the analyzer will not report any problems, like it would if you did try to pass in a "Timer" or "Vector3". It will happily say that all the contracts are met. If the class only uses the privates for some rare cases, then you might not know that anything is wrong for quite some time.

You could implement an private interface abstract class _MyTreeItem{} and check for is _MyTreeItem instead, just as a workaround.

That would be a runtime check. What I would much rather have is an analyzer-level check.

We've talked about supporting something like a NoImplicitInterface annotation on classes for DDC/strong mode that prevents other classes from "implementing" them (only extension allowed).  You'd have to mark the class explicitly yourself though.
cc @vsmenon

We've talked about something similar for the analyzer code base, but actually want something more general. I want to be able to mark each public class to indicate which uses of that class we are committing to support (implement, extend, mix in, some combination, or none of the above) so that clients know what is and isn't safe to count on in terms of backward compatibility.


Rejecting the bid transaction leads to runtime error

When the user is about to bid:

But then rejects the transaction, there is a runtime error and the browser navigates away to the mypositions page:

Correct behavior would be to stay on the page so the user can try again. The navigation should only happen after a successful bid.

considered done.


Anonymized values aren't anonymous

Over on Hacker News, @fxaguessy wrote:

The hash functions are totally unrevertable, so it is impossible to come back to the original identifiers.

I replied:

You don't need to break SHA256 to de-anonymize these values.
awless collects account number hashes. AWS account numbers are 12 decimal digits long, meaning there's a total of 10^12 unique values. Values are anonymized before submission using a single round of SHA256, so in ~2^40 hash operations, anyone with your database of hashes can invert every single account number.
For comparison, the bitcoin blockchain presently has a hash rate of ~2^61 SHA256 hashes per second. (Edit: I incorrectly stated 2^41 based on a hash rate of 3 TH/s, when it's actually 3 million TH/s.)

"SHA256 with a global salt" is not appropriate for password storage because it is trivial to brute force. It is equally inappropriate for the anonymization of user identifiers, and for exactly the same reason.
However the statistics reporting works going forward (#38), awless should not continue using this or any other similar anonymization scheme.

Hi, thanks for your feedback. We will design a better way to build and send truly anonymous data.
In the meantime, I just disabled the data sending (cf commit f6389e75787390bd779773a5e253bdb7a5947ddc).

Fixed by f135c87fc6e48fb322a3f4953d6729b37754f5a7


[Entrana] Twitcher's gloves are marked incorrectly as prohibited

Twitcher gloves arent prohibited. I do open often easy casket from bird nests on entrana while choping trees and teleport with full lumberjack outfit except axe ofcourse and i can pass easy to island with them.
https://oldschool.runescape.wiki/w/Twitcher's_gloves

Thanks for the report, this will be fixed in the next update. If you would like to claim the 100k finders fee, you can reply with your ingame name here. My ingame name is Hi Alchs.


"Show links" doesn't work

First of all, that functionality looks very promising.
I updated the plugin, logged out and in, restarted, cleared cache, disabled enabled... but the plugin doesn't work. I don't know if I have to wait for a long time...

@AMGMNPLK Very sorry about that! Is your plugin version at least 2.19.0? What is the error?
PS: please use https://github.com/louis030195/obsidian-ava issues in the future


Creating new tab splits the screen with aerospace

I am not sure if this is a ghostty issue or an aerospace tiling window manager issue. With ghostty running in its own window in aerospace if I hit cmd+t to create a new tab the window acts as if a new app has started and the instead of using the whole screen it splits to half the width. I do get a new tab though which is nice. When I kill this tab the window goes back to the expected size. With each new tab the window halves in size.

Please search. This gets asked so much!


feat(Group variations): add Flex group variations to g…

…roup block refs #157040

@ichim-david Also see: https://github.com/eea/volto-eea-design-system/pull/333


Question: on the computation of mean for point/probabilistic estimates

Hi,
Thanks for making available such great package!
This is not a bug but rather a simple question, I noticed that an "initial estimate" is added to the mean. Could you explain what is the reason? And also, what is the advantage/difference with respect to substract or not to include the "initial estimate"?
Best regards,
Ivan

I forgot to mention that I referred to lines codes 400 and 447 in https://github.com/elephaint/pgbm/blob/main/src/pgbm_dist/pgbm_dist.py

Hi,
Thanks for your kind words! The initial estimate is the mean over all the samples in the training set. This is a common initialization for GBMs in regression problems, because it speeds up the training. Because we start training with this initial estimate, and subsequently build a new tree based on the gradients (thus, the error of this initial estimate), we also need to add this initial estimate in our final prediction to the estimated mean. (I am working on including an initial variance too, but left that out for now).
Hope this explains it,
Olivier

Hi Olivier,
Thanks for the explanation!
Ivan


Provide an API to supply explicit file/line locations

Description
When writing helper functions that call XCTest assertion methods, it's common to have those helpers take defaulted file/line arguments and pass those through to the XCT* calls; this makes the failure message appear at the call site of the helper method instead of all being grouped inside helper. A contrived example:
func assertIsNotEmpty(_ collection: some Collection, file: StaticString = #file, line: UInt = #line) {
  XCTAssertFalse(collection.isEmpty, file: file, line: line)
}

func testSomething() {
  assertIsNotEmpty([])  // failure appears here
}

I didn't see this explicitly supported by the APIs currently available; I looked in the vision doc for future plans but just found this reference:

The source code location of the expectation, typically using the format #file:#line:#column. This helps test authors jump quickly to the line of code to view context, and lets IDEs present the failure in their UI at that location.

Maybe adding defaulted file and line arguments to the #expect/#require macros would be sufficient here?
Expected behavior
No response
Actual behavior
No response
Steps to reproduce
No response
swift-testing version/commit hash
0.0.0-initial
Swift & OS version (output of swift --version && uname -a)
No response

We would probably expose this as an explicit sourceLocation argument, since there's several more fields you'd need to populate, not just file and line.
We were already tracking this internally as rdar://112974442 but I hadn't had a chance to migrate it to GitHub yet. Thanks for filing! We'll track with this issue going forward.


Amazing package please make it much more easier to use, like flutter animate

flutter aniamte is so simple to use, make this one more like that

@fisforfaheem  it is already simple enough to use

No it's not, there should be small videos that show what each function does in ui


Issue in running Phonopy

Hi Admin,
I had been trying to run phonopy in our university HPC, the installation was smooth, and had no problem with that. But when I am running it, It has been showing the same problem constantly, which I am unable to understand.
TypeError: get_stabilized_reciprocal_mesh() got an unexpected keyword argument 'is_dense'
I also attached the full error text file below:
error.txt
Thanks in advance,
Best,
Manish

Please install the latest phonopy and spglib.

Thanks, It worked.


"Start before stopping" not a zero downtime deploy

When upgrading a service's image and selecting "Start before stopping" I'm running into issues where my site is going offline - turning into a 502 Bad Gateway.  The point at which it shows a bad gateway, the fpm container shows 2 stopped and 2 Running containers.  To resolve this, I have to restart my nginx container.
docker-compose
nginx:
  log_driver: ''
  labels:
    io.rancher.container.pull_image: always
  tty: true
  log_opt: {}
  image: namespace/project:nginx.91c82cc1
  links:
  - 'fpm:'
  stdin_open: true
load-balancer:
  ports:
  - 443:80
  - 80:2443
  labels:
    io.rancher.loadbalancer.ssl.ports: '443'
    io.rancher.scheduler.affinity:host_label: domain=my-domain.com
  tty: true
  image: rancher/load-balancer-service
  links:
  - nginx:nginx
  stdin_open: true
fpm:
  log_driver: ''
  labels:
    io.rancher.container.pull_image: always
  tty: true
  log_opt: {}
  image: namespace/project:fpm.974d73a9
  links:
  - 'database:'
  - 'redis:'
  stdin_open: true

Useful
Info

Versions
Rancher v1.0.1 Cattle: v0.159.7 UI: v1.0.5

Access
github admin

Route
environment.code

It sounds like you're hitting this issue?
https://github.com/rancher/rancher/issues/2777

Correct, I am hitting that issue.

Just learned this for myself, if there is a healthy container in the service, the load balancer shouldn't fail

I suspect there are more, possiblely caused by dns cache? load-balancer to nginx is ok, but nginx to fpm is not ok because outdated dns cache, which still ponits to stopped fpm containers?


MSL causes exponential time lookup

Reported by per.ostlund on 31 Mar 2011 10:58 UTC
The MSL is in my opinion written in a very inefficient way, since almost every class extends from a class in Modelica.Icons. This might not seem like such a big deal, but in fact it causes name lookup to have exponential complexity with regards to the nesting depth of the classes. This can be seen for example with a model such as this:
package Modelica
  package Icons
    package Example end Example;
  end Icons;

  package P1
    extends Modelica.Icons.Example;

    package P2
      extends Modelica.Icons.Example;

      package P3
        extends Modelica.Icons.Example;
        ...
      end P3;
    end P2;
  end P1;
end Modelica;

When flattening package PN we need to lookup the base-classes, in this example Modelica.Icons.Example. So we begin by looking for Modelica in PN, and when it's not found in the local scope of PN we continue to P(N-1), which also inherits from Modelica.Icons.Example. So we need to lookup Modelica.Icons.Example in P(N-1), and so on.
This means that when looking up a name in PN we need to lookup both the base class and the name. If T(n) is the time complexity to look up a name, where n is the nesting depth, then T(n) = 2*T(n-1), which means that T(n) = 2n.
This is easy to demonstrate too, by inputting the given example model with a large nesting depth (>20) into Dymola and watching it hang.
The reason why this is a problem is that the entire MSL is written like this, where every class extends from Modelica.Icons and using fully qualified paths for many things without actually marking them as fully qualified. I made an experiment with OpenModelica by assuming that every name that starts with Modelica is fully qualified and should be looked up from the top scope, and this makes the lookup in typical MSL models 3-4 times faster.
My suggestion is therefore that the MSL should be reorganized so that extends from Modelica.Icons.* are changed to .Modelica.Icons.*. This can easily be done automatically by for example a sed-script. Imports should also be used more, since there are many models that uses relative paths that in practice are absolute, for example models that use Modelica.SIunits directly instead of using an import. This would involve a bit more work, since it would probably have to be done by hand.
So the bottom line is that there are several ways in which the current MSL can be optimized with relatively small changes. It is perhaps also a good idea to consider these problems when discussing Modelica 4. I don't really have any suggestions, but perhaps there is some way of encouraging the use of absolute paths over relative paths.

Migrated-From: https://trac.modelica.org/Modelica/ticket/518

Modified by sjoelund.se on 31 Mar 2011 11:03 UTC

Comment by choeger on 31 Mar 2011 18:20 UTC
While I do not agree that lookup is exponential in general (looking up two names does not  take two times the time of looking up one name!), I totally agree, that lookup is too complicated currently. I will try to "fix" this with my new modules proposal.

Comment by sjoelund.se on 31 Mar 2011 18:30 UTC
Well, we already have the encapsulated keyword which would solve all of these issues. The problem is that it is not used. Maybe this is probably due to a lack of tool support - it's easier to just insert Modelica.Icons.Library than doing lookup to see if Modelica.Icons.Library is available from the current scope (and also inserting import Modelica). In total there are <50 uses of encapsulated in the MSL.
And no, in general, lookup is fine. The problem is that the nested classes use inefficient code, and there are a lot of these nested classes.

Comment by dietmarw on 6 Apr 2011 08:24 UTC
I did some tests and also got feedback from other toolsvendors and must say that the usage of absolute Modelica path has almost no influence whatsover on the time to load the MSL. So I rather say that something with the way OM handles name lookups has to be fixed than changing the whole MSL.
Based on this I'm going to close this as won't fix.


Repo Secrets should not be case-sensitive on repo/org name

Description
Repo Secrets should not be case-sensitive on repo/org name
Value
Case insensitive matching for the same source code management platform will reduce negative interactions between users and webhooks.
Definition of Done
vela get secret --engine native --type repo --org GitHub --repo octoCat
yields the same results as
vela get secret --engine native --type repo --org GITHUB --repo OCTOCAT
or
vela get secret --engine native --type repo --org github --repo octocat
Effort  (Optional)
Estimated effort to complete this story? (Best Guess e.g. 1-2 days)
Impacted Personas (Optional)
Users

Hey @michaelschlies
Thanks for the issue! I believe we may have slight differences of opinion on this one but I'm open to ideas. Today, the reason its case sensitive is because of the VCS providers that may be hooked up to the Vela server may be case sensitive.
For example, GitHub uses case sensitivity on organization and repository name. So in order for secrets to be properly, ACL'd to an organization and repository you need to ensure they match the upstream source.

This work effort will not be completed due to the underlying VCS systems having case sensitive requirements.

Fair. Thank you.


Binary variables

Does this package handle binary variables?
I tried this in the Tableau format, but I'm not getting the expected result.
rawModel = [     "max: 21 x11 22.5 x21 22.5 x12 24.5 x22 23 x13 25.5 x23 1500 y1 2000 y2 3000 y3",     "1 x11 1 x21 <= 425",     "1 x12 1 x22 >= 400",     "1 x13 1 x23 >= 750",     "1 x11 1 x12 1 x13 >= 550",     "1 x21 1 x22 1 x23 >= 450",     "1 x11 1 x21 -425 y1 <= 0",     "1 x12 1 x22 -400 y2 <= 0",     "1 x13 1 x23 -750 y3 <= 0",     "1 x11 >= 0",     "1 x12 >= 0",     "1 x13 >= 0",     "1 x21 >= 0",     "1 x22 >= 0",     "1 x23 >= 0",     "y1 = {0,1}",     "y2 = {0,1}",     "y3 = {0,1}",     "int x11",     "int x21",     "int x12",     "int x22",     "int x13",     "int x23",   ];
Thank you for your help.

Sorry for the late response.
At the moment, the re-format functionality needs to be cleaned up and updated.
The library itself handles binary variables; however ReformatLP doesn't (yet).
In the mean time, would this hacky solution work?:
var problem = [
    "max: 21x11 22.5x21 22.5x12 24.5x22 23x13 25.5x23 1500y1 2000y2 3000y3",
    "1x11 1x21 <= 425",
    "1x12 1x22 >= 400",
    "1x13 1x23 >= 750",
    "1x11 1x12 1x13 >= 550",
    "1x21 1x22 1x23 >= 450",
    "1x11 1x21 -425y1 <= 0",
    "1x12 1x22 -400y2 <= 0",
    "1x13 1x23 -750y3 <= 0",
    // I think these are redundant
    "1x11 >= 0",
    "1x12 >= 0",
    "1x13 >= 0",
    "1x21 >= 0",
    "1x22 >= 0",
    "1x23 >= 0",
    "int x11",
    "int x21",
    "int x12",
    "int x22",
    "int x13",
    "int x23",
    // AKA CHEATING
    "int y1",
    "int y2",
    "int y3",
    "1y1 <= 1",
    "1y2 <= 1",
    "1y3 <= 1"
    ];


[ZEPPELIN-1245] Focus first paragraph after notebook creation

What is this PR for?
Once the notebook is created, cursor should focus on the first paragraph
What type of PR is it?
Bug Fix
Todos

[ ] - None

What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1245
How should this be tested?
Once the Zeppelin server is started , Create a new notebook
check if cursor blinks on the first paragraph of the notebook
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Closing this pull request as it is invalid

closing the Pull Request since there are merge conflicts


Improve visual interpolation

Improve interpolation behaviour by:

using the interpolation overstep percentage for Interpolated entity
adding the concept of a VisualInterpolationPlugin to visually interpolate entities that are only updated during FixedUpdate
provide an interpolation_fraction function to automatically compute the interpolation percentage
Update LerpFn to take references as input instead of the actual values

Migration guide:

if you use derive_more to derive Mul<f32> automatically on your interpolated struct, you might have to instead derive Mul<f32> for &C directly:

impl Mul<f32> for &Component1 {
    type Output = Component1;
    fn mul(self, rhs: f32) -> Self::Output {
        Component1(self.0 * rhs)
    }
}

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

Comparison is base (808a3f6) 60.27% compared to head (5bec5f1) 60.49%.
Report is 1 commits behind head on main.

Files
Patch %
Lines

lightyear/src/client/interpolation/interpolate.rs
13.04%
20 Missing :warning:

...r/src/client/interpolation/visual_interpolation.rs
87.03%
7 Missing :warning:

lightyear/src/client/prediction/correction.rs
0.00%
6 Missing :warning:

.../src/client/interpolation/interpolation_history.rs
75.00%
2 Missing :warning:

lightyear/src/client/interpolation/mod.rs
33.33%
2 Missing :warning:

lightyear/src/utils/bevy.rs
0.00%
2 Missing :warning:

lightyear/src/client/prediction/rollback.rs
0.00%
1 Missing :warning:

lightyear/src/protocol/component.rs
50.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #149      +/-   ##
==========================================
+ Coverage   60.27%   60.49%   +0.21%
==========================================
  Files         131      132       +1
  Lines        8678     8746      +68
==========================================
+ Hits         5231     5291      +60
- Misses       3447     3455       +8

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


Remove Brad and Luc from Chinese owners

My guess is that we added some names at the very beginning of Chinese localization to seed the repo. However, getting PR reviews routed to these people could be confusing or even annoying before they have secured a Chinese certificate.

/lgtm
/approve


Filter tests

Please read the documentation in the FilterIT class. Most of it is going to be deleted and it is there just for now, for you to read. The test class verifies the functionality of the filters as well as it confirms the failure of some of the filters.

The parts that are going to be deleted before merging are as follows:
In Filter.java, the following methods were added only to test users:
-FilterBuilder byId(String id){...}
-FilterBuilder byUserName(String userName) {...}
They will be deleted.
In FilterIT.java:
public void testFiltersViaUsers() throws Exception {...}
will be deleted.
In UserApi.java:
public UserCollection getUsersWithFilters(FilterBuilder filter, String tenant) {...}
will be deleted.
Furthermore, the comments in the FilterIT will be trimmed.


[Bug] toast with "Permission not granted" is shown with pick images from gallery on device with android 10

with android 10 and aboe we do not need any permission to get gallery images.
code
     val intent = Intent(ctx, FilePickerActivity::class.java)
        intent.putExtra(
            FilePickerActivity.CONFIGS, Configurations.Builder()
               .setCheckPermission(false)
                .setShowImages(true)
                .setMaxSelection(maxCount)
                .enableImageCapture(false)
                .setShowVideos(false)
                .setShowFiles(false)
                .build()
        )
        ctx.startActivityForResult(intent, REQUEST_CODE_PICK_GALLERY_IMAGES)

.setCheckPermission(false)

this is your Question or Answer

I was intended to make this check internally with lib.
But as you said may be using this setter be good

I am facing issue with android 13 permission like "permission not give". Can you guide me?


client bang function fail on error with no clear exception

The S3.Client list_objects!, get_object! functions do not throw meaningful exception (as expected) on error, generating MatchError instead.
defmodule ExAwsTest do
  use ExUnit.Case
  use ExAws.S3.Client, otp_app: Delorean.RankingsBuilder

  test "abc" do
    __MODULE__.list_objects!("foo", prefix: "bar/baz")
    assert false
  end
end

generates something like:
  1) test abc (ExAwsTest)
     test/unit/ex_aws_test.exs:5
     ** (MatchError) no match of right hand side value: {:error, {:http_error, 400, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error>AuthorizationHeaderMalformed<Message>The authorization header is malformed; the region 'us-west-2' is wrong; expecting 'us-east-1'</Message><Region>us-east-1</Region><RequestId>C7DE1C18F8D90136</RequestId><HostId>x5m/0zmS4VlrUAzM/igI5iWwddeUYq7vozXq/x2+bmWDW6804WzntLsZ5e8m/Mqz</HostId></Error>"}}
     stacktrace:
       (ex_aws) lib/ex_aws/s3/impl.ex:57: ExAws.S3.Impl.list_objects!/3
       test/unit/ex_aws_test.exs:6

Quoting Dave Thomas,  Programming Elixir, p. 129: """The trailing exclamation point in the method name is an Elixir convention—if you see it, you know the function will raise an exception on error, and that exception will be meaningful.""" Sorry, It is not LRM, but I do not think Elixir has LRM.

Yup, I agree, this could be better.

Update: I'm actively working on a branch that generates the functions on the basis of JSON documents distributed by AWS. Those will have better error message support. For now, just consult the string returned by AWS.

To clarify: my main concern was not the message per se. It was type of exception -- I would expect AWS / ex_aws specific one.

This has been fixed in the new approach taken by master.


[bug] SPL-Token transfers always overwrites the selected token to the native token (Solana) when trying to transfer within the appkit interface

Link to minimal reproducible example
https://bonkbets.io/
Summary
Our platform is using a standard installation of appkit, with Solana as the only network available
The in-modal wallet token display properly reflects SPL-tokens that are held by an embedded wallet (generated with email, google SSO, etc)...
However, when trying to transfer any SPL-token out of the embedded wallet via the appkit interface, it overwrites any selected SPL-Token with a native SOL transfer of the same amount input for the target token.
For example, if I want to transfer 15000 BONK from my embedded appkit wallet to an external paper, it instead attempts to send 15000 SOL even when BONK is selected.
List of related npm package versions
"@reown/appkit": "^1.4.1",
"@reown/appkit-adapter-solana": "^1.4.1",

Unless I'm mistaken, here is the entire handler to send a Solana transaction via the appkit client:
https://github.com/reown-com/appkit/blob/13c72ed9dfc27d9dc9a1aa55798d440b39177696/packages/adapters/solana/src/client.ts#L217C1-L251C4
This calls createSendTransaction here:
https://github.com/reown-com/appkit/blob/main/packages/adapters/solana/src/utils/createSendTransaction.ts#L27
Which is a significant fault from the expected behavior of "createSendTransaction", which should create a Solana transaction based on instructions as parameters, sign, and send it. It should probably be named "transferLamports", given that's what it does.
This looks more like test code than anything, frankly. Without providing functional SPL-token transfer logic, like the following, then the wallet should not allow users to select any tokens other than SOL, and developers should be made aware that they will need to write their own transfer logic in-site to send to the wallet provider for signing.
Sample SOL/SPL-token transfer code:
            const initializerPubkey = connectedPubkey;
            const recipientAddressPubkey = new PublicKey(recipientAddress);
            const tokenMintAddress = new PublicKey(user.selectedCurrency.mint);
            const initializerTokenAccount = getAssociatedTokenAddressSync(tokenMintAddress, initializerPubkey);
            const destinationTokenAccount = getAssociatedTokenAddressSync(tokenMintAddress, recipientAddressPubkey);
            const tokenAmount = balanceToWithdraw * 10 ** user.selectedCurrency.decimals;
            const instructions: TransactionInstruction[] = [];

            const createDebitTokenAccount = createAssociatedTokenAccountIdempotentInstruction(
                initializerPubkey,
                destinationTokenAccount,
                recipientAddressPubkey,
                tokenMintAddress
            );

            const transferBalanceIX = user.selectedCurrency?.tokenSymbol === 'SOL' ?
                SystemProgram.transfer({
                    fromPubkey: initializerPubkey,
                    toPubkey: connectedPubkey,
                    lamports: balanceToWithdraw * LAMPORTS_PER_SOL
                }) :
                createTransferCheckedInstruction(
                    initializerTokenAccount,
                    tokenMintAddress,
                    destinationTokenAccount,
                    initializerPubkey,
                    tokenAmount,
                    user.selectedCurrency.decimals
                );
            instructions.push(createDebitTokenAccount, transferBalanceIX);

            await sendAndConfirmTX({
                instructions: instructions,
                notificationID: 'handleWithdrawalNotification'
            }, successfulWithdrawCallback);

@Swertin apologies for the radio silence - we believe this is fixed in v1.6.0 - mind checking?


Equality/Relational Operators

Support for Boolean operators would not be to difficult to add support for. Boolean operations to be added would include:

'<' Less
'>' Greater
'<=' Less than or equal to
'>=' Greater than or equal to
'==' Equality
'!=' Inequality
Each of the operators above should be able to be implemented using existing OperatorExpression class sense they take the infix form {Expression} + {Operator} + {Expression}. Operators should be able to handle complex expressions on both sides:

-(21 / 2) ^ 2 ^ 2 > (2.4 + 3 * 4) / 3.5

It is unclear at the moment what the best way of returning results of a equality/relational operation is. The current idea is to return binary Boolean values (1.0 and 0.0). Another idea is to implement the use of generics to be able to return a true java Boolean value, this would have implications else where but it is not out of the scope of what is possible while keeping the library as small as possible

Equality operators have been added in #8


Fix org invitation flow with subdomains

Related: https://github.com/splashblot/dronedb/issues/45
As part of the emails setup the invitation emails and the internal flow to allow invited users to sign up, it's needed to test and fix (if necessary) the sign up links sent in these emails.

This is now working on "beta", and will be deployed after some testing (and fixes to templates that it exposes ...)  Can you take care of that last piece, @MariaCheca?

This is now working on "beta", and will be deployed after some testing (and fixes to templates that it exposes ...)  Can you take care of that last piece, @MariaCheca?


[SPARK-32539][INFRA] Disallow FileSystem.get(Configuration conf) in style check by default

What changes were proposed in this pull request?

Disallow FileSystem.get(Configuration conf) in Scala style check by default and suggest developers use FileSystem.get(URI uri, Configuration conf) or Path.getFileSystem() instead.
Why are the changes needed?

The method FileSystem.get(Configuration conf) will return a default FileSystem instance if the conf fs.file.impl is not set. This can cause file not found exception on reading a target path of non-default file system, e.g. S3. It is hard to discover such a mistake via unit tests.
If we disallow it in Scala style check by default and suggest developers use FileSystem.get(URI uri, Configuration conf) or Path.getFileSystem(Configuration conf), we can reduce potential regression and PR review effort.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Manually run scala style check and test.

Test build #127089 has started for PR 29357 at commit 06e8f8f.

Merged build finished. Test PASSed.

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

Test build #127089 has finished for PR 29357 at commit 06e8f8f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

@gengliangwang can you put a real example in the PR description? e.g. Path#getFileSystem will respect the default file scheme of the path and create a file system for s3, while FileSystem.get(Configuration conf) may return a file system for local files.

Test build #127097 has started for PR 29357 at commit edb1114.

Merged build finished. Test PASSed.

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

@gengliangwang can you put a real example in the PR description? e.g. Path#getFileSystem will respect the default file scheme of the path and create a file system for s3, while FileSystem.get(Configuration conf) may return a file system for local files.

Thanks, I have updated the description.

Test build #127098 has started for PR 29357 at commit b08aee6.

Merged build finished. Test PASSed.

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

Test build #127100 has started for PR 29357 at commit 92f3d6f.

Merged build finished. Test PASSed.

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

Test build #127097 has finished for PR 29357 at commit edb1114.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127097/
Test FAILed.

Test build #127098 has finished for PR 29357 at commit b08aee6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Test build #127100 has finished for PR 29357 at commit 92f3d6f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

thanks, merging to master!

+1, late LGTM.


Proposal: add a flag to textDocument/completions that resolves all CompletionItems

Right now, if you want to write a client that automatically fetches all additional information for completion results, you have to do a fair amount of legwork. I think it would be useful for clients who are comfortable with slower response times to ask the server to automatically aggregate additional information into one request. This would simplify coding around partial failure in the case of one resolution request failing, for instance.

This would simplify coding around partial failure in the case of one resolution request failing, for instance.

Simplify for the client, but what about server implementations? You are basically asking the servers to become more complex. I.m.o shifting complexity from the client to the server is bad trade-off. There are hopefully many servers and fewer clients.
And... to boot, I think client will nevertheless still have to handle all the complexity of the partial resolving case anyway because if you want the LSP protocol to maintain some kind of backwards compatibility, the client will have to assume there are clients who do not understand the 'please resolve everything' flag. So there will have to be some mechanic to enable this feature conditionally to support older server implementations.

I agree with @kdvolder here.
If implemented at all the server would need to flag this capability upfront to not break the protocol. Since I don't see this happening in the near future I will close the issue as inactive.


Amend interviews page to be full width

Context
The interviews page should be full width, to match the prototype
Changes proposed in this pull request
Set to full width
Guidance to review
https://manage-applications-beta.herokuapp.com/interviews/past
Link to Trello card
https://trello.com/c/knwpqYFL
Things to check

[ ] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] Required environment variables have been updated added to the Azure KeyVault


3 - Implement Feature to Fetch and Store News Data in SQLite Database

@ZaibyS  - do news analysis going back 5 years, not 10, think I saw you asked about this

@espin086
We can have data spanning the last 10 years for the news analysis. Functions for data extraction, loading news data, and sentiment analysis have been developed. Currently working on updating the UI, expected completion by tomorrow.

@espin086
I have integrated the extract_news, transform, and load functions into the main script. Additionally, I have updated the user interface (UI) to include radial buttons and an 'Analyze News' button.  The UI now features a table displaying the results, including the sentiment column.
The remaining task is to plot the graph to visualize the percentage of positive sentiment per day. I plan to work on this on Monday, along with updating the README.md file.

@espin086
I've incorporated visualizations for sentiment counts per year and average sentiment by date, addressed the overriding issue of search_topics, and fixed the sentiment data to include both the sentiment label and its numerical value.
I have updated the README.md file too with the new application screenshots.

@espin086
I've integrated multithreading into the extract function within the extract_news.py file, and it has enhanced the data retrieval process.


fix: check bash path before invocation

Hi there.
Current bash-glob impl does not verify that bash bin exists and sometimes an unhandled exception is thrown. This PR brings the missed check.
$ npx handpick --target=releaseDependencies && npx multi-semantic-release -d
npx: installed 26 in 3.643s
- Hand picking DIRTY releaseDependencies via NPM
✔ Hand picking DIRTY releaseDependencies via NPM
multi-semantic-release version: 2.4.5
semantic-release version: 17.1.1
flags: {
  "d": true,
  "sequentialInit": false,
  "firstParent": false,
  "debug": false
}
[multi-semantic-release]: TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at normalizeSpawnArguments (child_process.js:398:3)
    at spawnSync (child_process.js:557:16)
    at Function.spawnSync [as sync] (/builds/project/node_modules/bash-glob/node_modules/cross-spawn/index.js:46:14)
    at Function.glob.sync (/builds/project/node_modules/bash-glob/index.js:189:18)
    at /builds/project/node_modules/bash-glob/index.js:160:29
    at Array.reduce (<anonymous>)
    at Function.glob.sync (/builds/project/node_modules/bash-glob/index.js:159:20)
    at getWorkspacesYarn (/builds/project/node_modules/multi-semantic-release/lib/getWorkspacesYarn.js:26:26)
    at module.exports (/builds/project/node_modules/multi-semantic-release/bin/runner.js:22:17) {
  code: 'ERR_INVALID_ARG_TYPE'
}

Originally posted by @younes200 in https://github.com/dhoulb/multi-semantic-release/issues/35#issue-684080038
bash-glob/index.js
var bashPath = require('bash-path');
//...
var cp = spawn(bashPath, cmd(pattern, options), options);

cross-spawn.index.js
var cp = require('child_process');
var parse = require('./lib/parse');
var cpSpawnSync = cp.spawnSync;
//...

// Parse the arguments
parsed = parse(command, args, options);

// Spawn the child process
result = cpSpawnSync(parsed.command, parsed.args, parsed.options);

@jonschlinkert,
could you take a look?

Thanks for the ping, I’ll review ASAP!
Sent from my iPhone

On Oct 8, 2020, at 11:13 AM, Anton Golub<EMAIL_ADDRESS>wrote:

@jonschlinkert,
could you take a look?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@jonschlinkert,
these things are still needed: https://github.com/micromatch/bash-glob/pull/4, https://github.com/micromatch/bash-path/pull/1

@jonschlinkert,
one more ping.

@jonschlinkert,
↑

@jonschlinkert,
PR is still waiting for your attention.

@jonschlinkert,
Travis-ci.org is shutting down. Let's migrate to gh-actions/travis-ci.com or just merge this PR while tests are green.
Hi! It seems there are still plenty of builds running. We're pushing back the shutdown date to June 15th. Please consider migrating to travis-ci.com.

@jonschlinkert,
any progress on this?


[default] Display product reviews

@karolbzik we need a design here

At https://www.figma.com/file/VKyqbHFI55TKIKcQlFLiVpVF/Vue-Storefront-Open-Source, under the name "Product card + product review".

I've updated a little the project, the most important changes:

Unified fonts (color, size, weight)
Separating lines on the mobile view
Number of reviews in the headline of the section with reviews

Both designs available in https://www.figma.com/file/VKyqbHFI55TKIKcQlFLiVpVF/Vue-Storefront under the names "Product card" and "Product card on mobile"

After coding and releasing - assign me please this task later so I could perform UX tests.


Move client id cid from query option to http header

Putting the cid in query option causes http cache misses at least on every app that has a different client id. To avoid this we need the cid to be send as a http header field.
@hongsudt can we prioritize this?
@karlcz getting this (as an http header field) into the derivalogs probably involves changes to the recipes rather than to ermrest, right?

I didn't see this when I created other issues for this topic. See #536


Get Discourse discussion forums working as email lists

By the way, @martinwoodward, search for email from me in mid-September with Subject line "How to post by email to Discourse for AAS Task Force forum?" for context.

Been digging into emails with Discourse. Works a little differently than I think we where thinking (i.e. quite different to Google groups).
By default, all new users are now configured to get notifications via email about new messages to the forums while they are away. To stop these email notifications, click on your avatar on the top right hand side of the website, and select “Profile” then “Preferences”. In the middle there is an Email section where you can control what messages you will receive. You can configure to get digests or just notifications for posts you watch or when someone @mentions you in a message.
When you receive an email notification about a new post, you are able to reply to that email and the message will go into the web forums (and others will get notified via email).
If you want to start a new message then it must go into one of the categories, for example<EMAIL_ADDRESS>or<EMAIL_ADDRESS>  Emails sent to<EMAIL_ADDRESS>will be in Uncategorized. The way we have the email features configured at the moment, users must have established trust with the web based forums system before they can create new threads by email. This is designed to be a spam prevention feature – however we can turn this setting down or even configure certain categories so that anyone can send an email message to them regardless of if they have signed up with the forum or not.
For more information about email settings/configuration then take a look at https://meta.discourse.org/t/set-up-email-in-start-topic-via-email/27686 and let me know if we want to change the configuration at all.

On Oct 22, 2015 6:31 PM, "Martin Woodward"<EMAIL_ADDRESS>wrote:

Been digging into emails with Discourse. Works a little differently than
I think we where thinking (i.e. quite different to Google groups).
By default, all new users are now configured to get notifications via
email about new messages to the forums while they are away. To stop these
email notifications, click on your avatar on the top right hand side of the
website, and select “Profile” then “Preferences”. In the middle there is an
Email section where you can control what messages you will receive. You can
configure to get digests or just notifications for posts you watch or when
someone @mentions you in a message.

Thanks, Martin.  Hmm ... This sounds very different from the
"subscribe to a mailing list" paradigm that people are used to (even though
in the population as a whole the percentage of people who are used to this
may be gradually declining, the percentage among people who after likely
WWT users and contributors is probably high).
I gather from the above that new users are automatically subscribed to all
new threads anywhere on forums.worldwidetelescope.org?  E.g., there's no
way to subscribe just to new posts for just code contributors?  (What in
another system we would have called the "dev mailing list".)

When you receive an email notification about a new post, you are able to
reply to that email and the message will go into the web forums (and others
will get notified via email).

This part sounds fine, and like it complies with the Principle Of Least
Surprise.

If you want to start a new message then it must go into one of the
categories, for example<EMAIL_ADDRESS>or
<EMAIL_ADDRESS>Emails sent to
<EMAIL_ADDRESS>will be in Uncategorized. The way
we have the email features configured at the moment, users must have
established trust with the web based forums system before they can create
new threads by email. This is designed to be a spam prevention feature –
however we can turn this setting down or even configure certain categories
so that anyone can send an email message to them regardless of if they have
signed up with the forum or not.

Okay, so each "category" here is, more or less, the equivalent of mailing
lists -- except one can't subscribe to just that category?  Or can one?
Because if one can, then maybe the right way to do new user signup is to
ask people, when they create their account, which categories they'd like to
be subscribed to email notifications for.
Also: the domain people send to is not<EMAIL_ADDRESS>but instead<EMAIL_ADDRESS> That's a bit of
implementation detail poking out into userland that it'd be nice to avoid
if we can...

For more information about email settings/configuration then take a look
at https://meta.discourse.org/t/set-up-email-in-start-topic-via-email/27686
and let me know if we want to change the configuration at all.

Ah, okay, thanks.  I'm on a tiny screen and slow connection right now, but
I'll take a look at that tomorrow and see if it answers any of my questions
above.
Best regards,
-Karl

Whew.  So I've read the page on this now (the one you pointed to, Martin).
Basically, starting new threads via email is not well-supported in
Discourse.  One can hack it up to make it work, sort of, but it will always
be fragile.
This isn't necessarily a showstopper; we may not need to be so
email-centric.  But we should think about it.  I've put it on my "discuss
in person in Boston" list!
-K
On Oct 22, 2015 10:40 PM, "Karl Fogel"<EMAIL_ADDRESS>wrote:

On Oct 22, 2015 6:31 PM, "Martin Woodward"<EMAIL_ADDRESS>wrote:

Been digging into emails with Discourse. Works a little differently than
I think we where thinking (i.e. quite different to Google groups).
By default, all new users are now configured to get notifications via
email about new messages to the forums while they are away. To stop these
email notifications, click on your avatar on the top right hand side of the
website, and select “Profile” then “Preferences”. In the middle there is an
Email section where you can control what messages you will receive. You can
configure to get digests or just notifications for posts you watch or when
someone @mentions you in a message.

Thanks, Martin.  Hmm ... This sounds very different from the
"subscribe to a mailing list" paradigm that people are used to (even though
in the population as a whole the percentage of people who are used to this
may be gradually declining, the percentage among people who after likely
WWT users and contributors is probably high).
I gather from the above that new users are automatically subscribed to all
new threads anywhere on forums.worldwidetelescope.org?  E.g., there's no
way to subscribe just to new posts for just code contributors?  (What in
another system we would have called the "dev mailing list".)

When you receive an email notification about a new post, you are able to
reply to that email and the message will go into the web forums (and others
will get notified via email).

This part sounds fine, and like it complies with the Principle Of Least
Surprise.

If you want to start a new message then it must go into one of the
categories, for example<EMAIL_ADDRESS>or
<EMAIL_ADDRESS>Emails sent to
<EMAIL_ADDRESS>will be in Uncategorized. The
way we have the email features configured at the moment, users must have
established trust with the web based forums system before they can create
new threads by email. This is designed to be a spam prevention feature –
however we can turn this setting down or even configure certain categories
so that anyone can send an email message to them regardless of if they have
signed up with the forum or not.

Okay, so each "category" here is, more or less, the equivalent of mailing
lists -- except one can't subscribe to just that category?  Or can one?
Because if one can, then maybe the right way to do new user signup is to
ask people, when they create their account, which categories they'd like to
be subscribed to email notifications for.
Also: the domain people send to is not<EMAIL_ADDRESS>but instead<EMAIL_ADDRESS> That's a bit of
implementation detail poking out into userland that it'd be nice to avoid
if we can...

For more information about email settings/configuration then take a look
at
https://meta.discourse.org/t/set-up-email-in-start-topic-via-email/27686
and let me know if we want to change the configuration at all.

Ah, okay, thanks.  I'm on a tiny screen and slow connection right now, but
I'll take a look at that tomorrow and see if it answers any of my questions
above.
Best regards,
-Karl


Fix case typo in email settings

The L in EMAIL_HOST_USER has the wrong case in the SMTP parser, which had me tearing my hair out for a while (if either user or password aren't set, Django Email just skips auth completely, rather than returning any kind of sane error)

Oof, how did we miss that! (by using the sendgrid shortcut on my end, at least). Thanks!


New Adapter AdGrid

🏷 Type of documentation

[ ] new bid adapter
[ ] update bid adapter
[ ] new feature
[ ] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[ ] Related pull requests in prebid.js or server are linked: https://github.com/prebid/Prebid.js/pull/12152
[ ] For new adapters check submitting your adapter docs

@muuki88 I see the AdGrid adapter in the new release 9.13.0, but I don't see it on the download page or bidders search page.
Download page - https://docs.prebid.org/download.html
Bidders search page - https://docs.prebid.org/dev-docs/bidders.html

Hi @soman
Thanks for the ping. Just merged this. Should be available soon 😊

@muuki88 Thanks a lot


Tester compatible link generator

Few changes in DI for succes Integration presenter testing e.g. https://github.com/mangoweb-backend/presenter-tester
Nette\Application dependency replaced with Nette\LinkGenerator
Added function MenuComponent::attached($presenter) for inject Presenter to MenuItem(s) after component attachment to presenter. This is only need for isActive() method.

Changes done.

Closing in favor of #32. Thank you anyway


Remove support for ODFE < 1.13.0

We will no longer support ODFE < 1.13.0 in OpenSearchSink. This is expected to happen after release <IP_ADDRESS>-beta1.

Data Prepper will continue to support OpenDistro. Issue #877 discusses how Data Prepper can support new OpenSearch constants while still remaining compatible with OpenDistro.


Support no-cache flag for package

Closing, as the expectation is to have a way to prevent azd up from using the output of package for deployment... but that's something the service should describe, instead of the command. Will move to the other strategy


Example snippet or theme using LiquidX?

What type of change do you want to see?
New feature
Overview
Do you have an example theme with snippets based on LiquidX syntax? I would love to try this out.
Motivation
Something that I can instantly clone and launch development server.
Thanks

@blanklob there you go: https://github.com/unshopable/melter/tree/main/examples/liquidx

Thanks tried it great project, if only this was a Vite Plugin. Do you plan a Vite Plugin?

Created a new issue for that topic: https://github.com/unshopable/liquidx/issues/2
(Also closing this issue now)


refine onNotLeader logic when new leader is not available

close #1169

Maybe we could continue first

Done, and also add a test case for it.


jquery.floatThead for Handsontable

Hi Team,
Please let me know, Do you have any sample example for Handsontable ?
Handsontable render the 3 headers(htmaster,ht_clone_top,ht_clone_left) in run time. I am not sure how to implement jquery.floatThead for Handsontable similar to DataTable Plugin.
jquery.floatThead Overflow scrolling is not fit for Handsontable? Can you please check
Thanks,
P.Narayanan

Sorry, but I have never heard of or used handsontable. I don't have time to check. If you make a jsfiddle and include things from the issue template, I might be able to tell if it will work or not

Hi,
Thanks for your reply
I have created the jsFiddle for above issue.   http://jsfiddle.net/s6t768pq/449/
I am using window scrolling (position: 'absolute') in floatThead but when i use vertical scroll bar Up/Down, am facing flickering issues in table header.
Can you please check in IE browser ?
Thanks,
P.Narayanan

an important requirement of a jsfiddle is that it produce something i can look at. A table that i can see, and reproduce your issue. This is not happening here, this is just some random code.
If you are interested in consulting, my rate is $100/hr minimum 2 hours

I looked some more, and the table was there, just hidden for some reason with css. It looks like handsontable already provides something for floating the header, as its header is broken apart from the table in the dom.
In order for me to help you I would need a lot more investment from you here. It feels more like 'I dont know what is going on, can you fix it?' I dont have time for that.


sdk-py: Add Sequence[dict] type to values param type for update_state()

Summary
The LangGraph API supports a list of dict for the values field for the POST /threads/<thread_id>/state endpoint.
Reference: https://github.com/langchain-ai/langgraph-api/blob/main/api/openapi.json#L3005-L3021

I don't think this will resolve the mypy errors with the RemotePregel interface, but at least it's more precise with respect to the API implementation.
The RemotePregel interface accepts Any for values.


fix: AccountNFT with invalid marker

Fixes #1497
Mimics the behavior of the fix on Rippled side

@cindyyan317 rippled can directly fetch a page based on the NFTokenID marker. But clio can't do this, it has to traverse from the last page. So I assume that's why the marker is the ID of the page itself. I think we can still try to return a NFTokenID as a marker, but it would require clio to traverse from the last token page everytime a marker is provided. However this would make the API less efficient

@cindyyan317 rippled can directly fetch a page based on the NFTokenID marker. But clio can't do this, it has to traverse from the last page. So I assume that's why the marker is the ID of the page itself. I think we can still try to return a NFTokenID as a marker, but it would require clio to traverse from the last token page everytime a marker is provided, which would make the API less efficient

@shawnxie999 Thanks for the suggestion. According to the doc , the marker should be page id. We will flag this mismatch to rippled and discuss the correct fix.
For this PR, I think we don't mimic rippled. The marker is considered valid if it is a valid page object of account .


Delete Volume

I can take this one

I can take this one

Is it okey if I work on this one?
Looking for a first issue to start

@JuanPabloDiaz I believe @xx-db is already working on this issue. I will get some designs for the update description tickets and those would be great first issues.


feat: add awsim labs documentation reference

Description
Part of:

https://github.com/autowarefoundation/autoware/issues/4659

Please follow the instructions on

https://autowarefoundation.github.io/AWSIM/main/GettingStarted/QuickStartDemo/

to test AWSIM Labs with the Autoware and provide feedback!
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[X] I've confirmed the contribution guidelines.
[X] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The Reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@mackierx111 @Aysenayilmaz @mozhoku I have also invited you to the autoware-developers sub-teams, please accept and I will add you as reviewers too.

I've had multiple confirmations from people who've tested the new release.
I'm merging this since there are no updates from you.


Delete flatten_networks

I don't think flatten_networks is needed now that we have some better concepts like forms, partitioned graphs, etc.
@JoeyT1994 seems like you already started removing it's usage in the tests in #162?

Yeah I have been moving away from it.
I think, with the changes in #162, the only use I can see of it is in test_contraction_sequence_to_graph which was some code from a while back converting contraction_sequences to a graphical representation.


Remove version: Proton.ProtonDrive version 1.4.5

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: https://proton.me/download/drive/windows/Proton Drive Setup 1.4.5.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 871)


TzInfo: Unable to compare to UTC

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Hello, I would like to test model was correctly parsed from json string.
In Pydantic V1, the tzinfo was of type datetime.timezone.
In Pydantic V2, the tzinfo is of type TzInfo.
I am unable to import/find TzInfo(UTC) and to assert expected result.
Could you please tell me how should be such comparison made?
I would be also very interested in links to discussions where it was decided to leave python standard for timezones in favour of TzInfo. Was it because of higher performance?
Thank you, Hynek
Example Code
from datetime import datetime

from pydantic import BaseModel
from pydantic_core._pydantic_core import TzInfo

def test_assert_datetime():
    class MyDatetimeModel(BaseModel):
        dt: datetime

    payload = '{"dt": "2022-10-23T21:00:08.784Z"}'
    result = MyDatetimeModel.model_validate_json(payload)

    # assert result is None
    # Expected :None
    # Actual   :MyDatetimeModel(dt=datetime.datetime(2022, 10, 23, 21, 0, 8, 784000, tzinfo=TzInfo(UTC)))

    assert result == MyDatetimeModel(dt=datetime(2022, 10, 23, 21, 0, 8, 784000, tzinfo=TzInfo(UTC))) # What here?

Python, Pydantic & OS Version
pydantic version: 2.0.3
        pydantic-core version: 2.3.0 release build profile
                 install path: /Users/personal/Library/Caches/pypoetry/virtualenvs/sf-base-agent-JSLqnODd-py3.11/lib/python3.11/site-packages/pydantic
               python version: 3.11.3 (main, May 19 2023, 13:45:23) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
                     platform: macOS-13.4.1-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions']

Selected Assignee: @davidhewitt

from datetime import datetime, timezone

from pydantic import BaseModel

def test_assert_datetime():
    class MyDatetimeModel(BaseModel):
        dt: datetime

    payload = '{"dt": "2022-10-23T21:00:08.784Z"}'
    result = MyDatetimeModel.model_validate_json(payload)

    assert result == MyDatetimeModel(dt=datetime(2022, 10, 23, 21, 0, 8, 784000, tzinfo=timezone.utc)) # What here?

test_assert_datetime()

I believe we created a new type because we couldn't instantiate datetime.timezone from Rust without calling into Python which yes is a performance hit.

I am very surprised I haven't tried the most obvious solution. Thanks a lot, @adriangb! <3


Move imports onto separate lines

https://www.python.org/dev/peps/pep-0008/#imports

Imports should usually be on separate lines:

Yes: import os
     import sys

No:  import sys, os

Small little edit :) No biggie if you disagree, I just think it looks nicer

Thanks! Guess the Travis CI build is broken due to Python 3. I'll merge this when I'm off my phone, and see if I can't fix that build.