feat: enable OpenAI models

This PR enables the use of gpt-4o, gpt-4o-mini, o1-preview, and o1-mini.
There are a few new environment variables:
LLM_TYPE=(anthropic|openai) // defaults to anthropic
OPENAI_MODEL=gpt-4o // one of the above, must be present, no default
OPENAI_API_KEY=sk... // OpenAI key here
.toAIStream() has been deprecated in the newer Vercel AI SDK, and did not work with the OpenAI LLM implementation.  This has been updated to use .toDataStream(...)
Notes:

I did not test the cloudflare deploy.
The OpenAI prompt needs a little work for gpt-4o, but functions well with the o1-* models.

Could you add changing the base url so you can use something like Deepseek?

Could you add changing the base url so you can use something like Deepseek?

Sure, one certainly could do that.  For my purposes, this is a stab at getting the initial support to be functional.  I believe that the next refactor should include a more-robust model selector (possibly via UI), and way of handling more of the providers that Vercel's AI SDK supports: https://sdk.vercel.ai/providers/ai-sdk-providers For instance, I'd also like to be able to use Anthropic's models via GCP or OpenAI's models via Azure, or Groq with one of the Llama3 models, and a different system prompt...

OpenRouter is much more favorable - https://openrouter.ai/docs/requests


Use Skopeo to pull container images

This PR enables the use of Skopeo to pull container images.
Skopeo uses the OCI schema version 2 to fetch container images.
It lays out the images on disk differently than Docker after a pull.
In order to enable analysis of containers pulled in this way, this PR
introduces the OCIImage class which reflects the expected layout.
In order to deal with the different expected directory structures, commit 1
moves a commonly used function in rootfs.py, get_untar_dir, into the
ImageLayer class, and creates a new property called 'image_layout'.
In this way, container image layouts on disk can be dealt with based
on derived Image classes.
Commit 2 introduces the OCIImage class and changes to the
DockerImage class which makes use of the new ImageLayer property
and method. Commit 3 replaces all instances of get_untar_dir with the
ImageLayer instance's get_untar_dir method. Commit 4 connects all
the pieces from the command line option to the image extraction method.
Finally, commit 5 adds Skopeo to the list of requirements for Tern in the
documentation, Dockerfiles and the development environments.
Commit 6 deals with the different image dictionary layouts based on the
image layout in the html report specifically.
Note that the change to the Dockerfile that installs tern using pip has not
changed as this changeset is not included in any releases yet.
Fixes #948
Signed-off-by: Nisha K<EMAIL_ADDRESS>

I tested this with Dockerfiles, multi-layer images and problematic past images/scenarios and everything looked as expected. I did get some weird race-y warning messages at times but could never reliably reproduce them.
There are a few nit changes I left as comments but other than that, this looks good.

I tested this with Dockerfiles, multi-layer images and problematic past images/scenarios and everything looked as expected when running natively on Linux. I did get some weird race-y warning messages at times but could never reliably reproduce them.
The main issue I come across is when running this using the ternd container (both on Mac and Linux). If I run docker run --rm ternd:latest report -i debian:buster as instructed in the changes I get a very long traceback error:
2021-12-15 06:08:01,668 - DEBUG - __main__ - Starting...
2021-12-15 06:08:01,668 - DEBUG - prep - Setting up...
2021-12-15 06:08:01,669 - DEBUG - run - Starting analysis...
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/usr/local/lib/python3.9/site-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.9/site-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.9/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/usr/local/lib/python3.9/site-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/docker/api/client.py", line 214, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
  File "/usr/local/lib/python3.9/site-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
  File "/usr/local/lib/python3.9/site-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/docker/api/client.py", line 237, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/tern", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/tern/__main__.py", line 287, in main
    do_main(args)
  File "/usr/local/lib/python3.9/site-packages/tern/__main__.py", line 116, in do_main
    crun.execute_image(args)
  File "/usr/local/lib/python3.9/site-packages/tern/analyze/default/container/run.py", line 75, in execute_image
    image_string = extract_image(args)
  File "/usr/local/lib/python3.9/site-packages/tern/analyze/default/container/run.py", line 32, in extract_image
    image_attrs = docker_api.dump_docker_image(args.docker_image)
  File "/usr/local/lib/python3.9/site-packages/tern/load/docker_api.py", line 208, in dump_docker_image
    client = check_docker_setup()
  File "/usr/local/lib/python3.9/site-packages/tern/load/docker_api.py", line 31, in check_docker_setup
    client = docker.from_env(timeout=180)
  File "/usr/local/lib/python3.9/site-packages/docker/client.py", line 96, in from_env
    return cls(
  File "/usr/local/lib/python3.9/site-packages/docker/client.py", line 45, in __init__
    self.api = APIClient(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/docker/api/client.py", line 197, in __init__
    self._version = self._retrieve_server_version()
  File "/usr/local/lib/python3.9/site-packages/docker/api/client.py", line 221, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))


cache should support timed invalidation

For example if an $http.get request is made after :60 of the cache, and I have set cacheTimeout to :30, then a new $http.get request should hit the network.

The angular caches are pluggable. You can use a 3rd party library such as https://github.com/jmdobry/angular-cache to achieve this.


Installing with Chocolately via OneGet?

After installing with Chocolatey is there anything else that I'm supposed to do in order to get posh-git to work? I installed it but I'm not seeing any information in the PowerShell window when I navigate to a project's folder.

The Chocolatey install should be sufficient - if git status works, you should see a prompt.
What do you see in your $PROFILE?

git status shows me the modified and untracked files like expected but I'm not seeing any of the poshgit information that I should be seeing.
When I typed $PROFILE It gave me this:
C:\Users\Tyler\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

What's in the file?
Tip: gc $PROFILE | clip to copy to clipboard.

When I try that I get the following error:
gc : Cannot find path 'C:\Users\Tyler\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' because it does
not exist.
At line:1 char:1
+ gc $PROFILE | clip
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\Tyler\...ell_profile.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

OK, seems the Chocolatey install failed - I would expect it to look something like this:
if(Test-Path Function:\Prompt) {Rename-Item Function:\Prompt PrePoshGitPrompt -Force}
# Load posh-git example profile
. 'C:\tools\poshgit\dahlbyk-posh-git-fc7c407\profile.example.ps1'
Rename-Item Function:\Prompt PoshGitPrompt -Force
function Prompt() {if(Test-Path Function:\PrePoshGitPrompt){++$global:poshScope; New-Item function:\script:Write-host -value "param([object] `$object, `$backgroundColor, `$foregroundColor, [switch] `$nonewline) " -Force | Out-Null;$private:p = PrePoshGitPrompt; if(--$global:poshScope -eq 0) {Remove-Item function:\Write-Host -Force}}PoshGitPrompt}

Try a cinst poshgit -force from an elevated prompt and drop what shows up in C:\ProgramData\chocolatey\logs\chocolatey.log here?

I'm using Chocolatey via OneGet on Windows 10 so I don't have the cisnt command. When I force the installation via the Install-Package poshgit -force the log file is not created.

@ferventcoder any ideas?

Don't use Chocolatey through OneGet for now. It's known to have issues.

Wait for an official announcement from the Chocolatey team before you do. For now, please use only the official client.

@dahlbyk can you update the title here to reflect that this was OneGet using Chocolatey to install?

I think @ferventcoder suggestion to not use Chocolatey through OneGet aka PackageManagement is the answer to this.  In fact, given that this is a PowerShell module it is best to use the PowerShellGet provider in PackageManagement.  That is, just use the v5 built-in Install-Module command.  For PS v3/4 you can get the PackageManagement install and also use Install-Module.  For PS v2, use Chocolatey directly - choco install poshgit.

:)
My suggestion for Chocolatey is to use choco.exe and sit tight for the official OneGet Chocolatey Provider to be released.

:)
My suggestion for Chocolatey is to use choco.exe and sit tight for the official OneGet Chocolatey Provider to be released.


Put A.S.Sp in right margin of speech prefix in PDF

@martindholmes (on Issue 7) wrote:  "On the issue of the PDFs, I think it would be a mistake to put the speech numbers in the left margin. In order to do that, the entirety of the text needs to be shifted to the right, which will dramatically increase the page count. Instead, I suggest that we put the abbreviated form (1.1.Sp1) in the right margin where the line numbers already go, but next to the speech prefix; since speech prefixes aren't counted as part of the line-count, that line in the right margin is guaranteed to be empty. That should ensure that only empty space is used, so the page-count doesn't rise, and since speech prefixes are typically shorter than regular lines, we should never run into overwrite collisions."

I've actually already done this, but the result is that the layout is screwed because assps are longer than line-numbers. The fallout is that I'll have to re-work the entire page layout, which was already close to breaking anyway (text too close to the paper edges), and there's no simple way to do what we need to do for that, so I'll have to do a lot of experimentation and testing of various LaTeX packages to get to a solution.

I think this can be closed, with any further adjustment being part of the overall PDF styling.


support other aspect ratios?

if too hard: enforce square aspect ratio

window is now set to square ratio when resized


Register domain names

We're going to use Google Domains as the registrar.

[x] register dwebyvr.org and dwebvancouver.org
[x] share with Emily
[x] document in notes where domains are registered
[x] upload receipts to Open Collective

There's an Infrastructure page on the website


Font kerning issue when rendering to PDF on Ubuntu

Setup:
Ubuntu 12.04 LTS
PhantomJS 1.9.1
It happens for all fonts with the same letters combinations rendering completely off. The fonts are Microsoft Core Fonts.
When I render to PNG it renders fine. Also when I run the same code on my Mac it renders fine.
I've tried modifying ~/.fonts.conf according to https://wiki.ubuntu.com/Fonts but it makes no difference.

If some desperate with this problem reach this topic, I was using phantom-html2pdf on linux ubuntu and having this issue. Installing ttf-mscorefonts-installer and migrate to phantomjs 2.0 (https://github.com/Pyppe/phantomjs2.0-ubuntu14.04x64) solve the problem

I had the same issue with phantomjs 2.1.1 and AWS Linux AMI (based on CentOS/RHEL).
This suggestion saved my life; https://github.com/wkhtmltopdf/wkhtmltopdf/issues/45#issuecomment-108649125

@erikverheij I'm also having this issue
http://moodysalem.github.io/react-page-div/
When you click download PDF, the html of the page is pushed to a server and the server uses phantomjs 2.1.1 to render it.
When you print from the browser it seems to have different kerning than when the server renders to PDF
I tried adding the .conf file to the /etc/fonts/conf.d directory on the EC2 instance but it didn't seem to change anything. Also can't find much information about reloading those files but I did an fc-cache call after that. Every server request starts a new phantomjs process so I'm not sure what I'm doing differently

I have the same issue
ubuntu, debian  from docker image
phantomjs 1.9.2 & 2.1.1
fixed:  apt-get install libfontconfig1

Has this been solved?
When generating a PDF with SVG fonts kerning is Ok. But the generated file is huge as each letter is vectorized.

@abombelli Not to mention the user is unable to select any text!

I had the same issues and I tend not to believe it but @billschaller 's comment solved it indeed. But I have the same problem like @bazitov, it does not work for several font-faces (for bold, italic etc). Has anyone come to a solution?


Skip the thumbnails for video's/reels picture download

Upon scraping a account i have all the thumbnails of the profile picture, is that possible to remove/filter?

Your title says something other than your issue text.
For downloading videos we already have --no-video-thumbnails to skip the thumb of that.
ps. you missed the issue template!

Ah yes indeed! sorry! completely missed that, i am not home in scripting and stuff haha


Using rbenv in a production environement

I'm using rbenv and am trying to get a ruby application running in production.  Currently, I have everything installed and working properly in development.
I cannot figure out how to get unicorn to run in a startup script (/etc/init.d/unicorn).  When I try to start the service (sudo service unicorn start) I get the following error:
Could not find rake-10.3.2 in any of the sources
Run bundle install to install missing gems.
I believe this is a result of using the sudo command as if I run the $CMD being used to start unicorn at an unprivileged command prompt, it works perfectly fine.
I'd greatly appreciate any support on this issue.  Thank you!

In sudo mode, PATH will be different. There will be no rbenv shims on the PATH, and most likely the wrong Ruby version will be used. Also, in sudo mode, HOME directory might be different. If your rbenv root is at the default location, that will be $HOME/.rbenv for your user.
So, to fix running Ruby scripts from sudo just as you would from your user, you need to ensure this in your init.d script:
export RBENV_ROOT="/home/my-user/.rbenv"
export PATH="$RBENV_ROOT/.rbenv:$PATH"


honor order attribute in "finalize_distibution_options" group of entrypoints

Summary of changes
The order attribute (if specified) is now honored for the targets of entrypoints in the setuptools.finalize_distribution_options group. Since introduction of these entrypoints in #1055 / #1877 there was a bug that caused the default order of 0 to be used regardless of what the target specified.
Closes  #1993
This is my first PR in setuptools. I will add a towncrier changelog file and maybe a test of entrypoint execution order as soon as I have the chance and people here agree that my change is acceptable.
Pull Request Checklist

[x] Changes have tests
[x] News fragment added in changelog.d. See documentation for details

Does this fix need to be applied to setuptools 44 (Python 2 supported)? If so, can you rebase it against the maint/44.x branch and target the PR there?

I think it does. The same problem caused by identical code exists there.

Okay, turns out I have no idea how to do that in git hub. I though I could just cherrypick the two commits onto the maint/44.x branch of my fork, then change the from and into base: branches on github. But github will only let me change the latter. Little help, please?

I see I merged this into maint/44.x, but I think I failed to release it or merge that into master.

Fix for this was released in v44.1.0 and v46.1.0.


Update git2 dependencies

This pull-request update git2 to 0.14.1 and git2-curl to 0.15.0 and libgit2-sys to 0.13.1.
This fix a memory corruption that I have locally when running the testsuite:
==2338650==  Uninitialised value was created by a stack allocation
==2338650==    at 0x11FE3A0: git2::remote::Remote::fetch (remote.rs:276)

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

:pushpin: Commit dd701a17f313ddc17b2968ad747c48a8f2890446 has been approved by alexcrichton

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing e756c130cf8b6348278db30bcd882a7f310cf58e to master...


Add Apple Sign In

What
A try to implement apple login server-side

Why

Checklist

[ ] All files pass Rubocop
[ ] Any complex logic is commented
[ ] Any new systems have thorough documentation
[ ] Any user-facing changes are behind a feature flag (or: explain why they can't be)

[ ] All the tests pass
[ ] Tests have been added to cover the new code

Superseded by #1502.


Visual bug in Choice Set windows with 9 choices

As the header implies, the following Choice Set with 9 items does not default to drop-down and it displays as follows:

Foundry Version: 12.327
PF2e System Version: 6.0.4
Related to #15238.
Thanks

Update - Good news, the choice selection is now defaulting to a list.
Bad news, it's doing the thing again where it's defaulting to numbers -


Error: JS Functions are not convertible to dynamic

Description
facing a crash for some users with the stack trace
JS Functions are not convertible to dynamic
at ? (null:null:null)
at enqueueNativeCall(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:323:enqueueNativeCall)
at nonPromiseMethodWrapper(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/BatchedBridge/NativeModules.js:150:nonPromiseMethodWrapper)
at queueOperation(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Animated/NativeAnimatedHelper.js:84:API.queueOperation)
at addAnimatedEventToView(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Animated/NativeAnimatedHelper.js:195:API.queueOperation$argument_0)
at ? (/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Animated/AnimatedEvent.js:70:eventMappings.forEach$argument_0)
at forEach(null:null:null)
at attachNativeEvent(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Animated/AnimatedEvent.js:68:eventMappings.forEach$argument_0)
at _updateAnimatedNodeAttachment(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js:1119:_updateAnimatedNodeAttachment)
at componentDidUpdate(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js:802:componentDidUpdate)
at commitLayoutEffects(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:6060:commitLayoutEffects)
at commitRootImpl(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:6864:commitRootImpl)
at commitRoot(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:6816:commitRoot)
at performSyncWorkOnRoot(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:6470:performSyncWorkOnRoot)
at performSyncWorkOnRoot(null:null:null)
at flushSyncCallbacks(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:2058:flushSyncCallbacks)
at batchedUpdatesImpl(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:7948:batchedUpdatesImpl)
at batchedUpdates(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:1010:batchedUpdates)
at _receiveRootNodeIDEvent(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:1041:batchedUpdates$argument_0)
at receiveTouches(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:1113:ReactNativePrivateInterface.RCTEventEmitter.register$argument_0.receiveTouches)
at __callFunction(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:419:__callFunction)
at ? (/Users/arjun/anar/mobile/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:116:__guard$argument_0)
at __guard(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:370:__guard)
at callFunctionReturnFlushedQueue(/Users/arjun/anar/mobile/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:115:__guard$argument_0)
at callFunctionReturnFlushedQueue(null:null:null)

as it is clearly visible that the stack is not related to my code. How should i fix this issue ??
Version
0.67.4
Output of npx react-native info
System:
OS: macOS 12.2
CPU: (8) arm64 Apple M1
Memory: 102.03 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.14.2 - /usr/local/bin/node
Yarn: 1.22.17 - /opt/homebrew/bin/yarn
npm: 8.5.0 - /usr/local/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK: Not Found
Android SDK:
API Levels: 23, 28, 29, 30, 31
Build Tools: 27.0.3, 28.0.3, 29.0.0, 29.0.3, 30.0.2, 30.0.3, 31.0.0
System Images: android-24 | ARM 64 v8a, android-24 | Google APIs ARM 64 v8a, android-25 | Google APIs ARM 64 v8a, android-27 | ARM 64 v8a, android-30 | ARM 64 v8a, android-30 | Google APIs ARM 64 v8a, android-30 | Google Play ARM 64 v8a, android-31 | ARM 64 v8a, android-31 | Google APIs ARM 64 v8a, android-31 | Google Play ARM 64 v8a
Android NDK: 22.1.7171670
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8193401
Xcode: /undefined - /usr/bin/xcodebuild
Languages:
Java: 11.0.13 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: ^18.0.0 => 18.1.0
react-native: 0.67.4 => 0.67.4
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
use react-native/Libraries/Animated in code
Snack, code example, screenshot, or link to a repository
Error: JS Functions are not convertible to dynamic
This error is located at:
in ScrollView
in ScrollView
in VirtualizedListContextProvider
in VirtualizedList
in FlatList
in Unknown
in SelfProfile
in Connect(SelfProfile)
in Profiler
in profiler(Connect(SelfProfile))
in Profile
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in MaybeNestedStack
in RNSScreen
in AnimatedComponent
in AnimatedComponentWrapper
in Screen
in RNSScreenStack
in NativeStackView
in NativeStackNavigator
in StackNavigator
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner
in AppNavigator
in AppInitialization
in Profiler
in profiler(AppInitialization)
in PersistGate
in Provider
in RCTView
in Unknown
in SafeAreaView
in RCTView
in Unknown
in RCTView
in Unknown
in MenuProvider
in ApolloProvider
in App
in ReactNativeProfiler
in RCTView
in Unknown
in __Sentry.TouchEventBoundary
in RootApp
in RCTView
in Unknown
in RCTView
in Unknown
in AppContainer

Hmm, usually this issue will pop up is when you passed a function as a parameter to a function that was expecting another (e.g. a string).
Can you share the part where enabling Animated in react-native causes the issue?

Hey, thanks for replying.
the crash stack trace does not point to my own code.
but this is not grammatically possible as we have typescript in our project with strict types enabled, so  the compiler should have given the error if it was like that.
Since i also dont have the unsymbolicated code pointing to a specific line,
can you share some clues as to how i should fix these types of issues ?

#27203
Hmm, only found this similar issues on the repo itself. and it seems stuck there too.
The error message you should be looking for is in node_modules/react-native/ReactCommon/jsi/jsi/JSIDynamic.cpp.
Workaround: You can try using patch-package and patch to this workaround. Though i'll not recommend it.
I got this issue once with the animations also, but it's bc of the wrong type inferred so after few changes, it's working fine.

I have the same problem. It founded after updating react-native from '0.64.3' to '0.68.2'. I didn't have this error before. Sentry is logging three difference places from functions that worked fine before the update.
I attached stacktraces. Maybe it will help you to investigate the issue.
trace_1.txt
trace_3.txt
trace_2.txt

still an issue

Someone may be interested: I had the same error caused by Sentry.addBreadcrumb() with a 'message' that was not a string in some cases.


Changes to solutions with run_string

Hi,
I have a question about the run_string() function. I would like to use some features which are not yet in PhreeqPython (e.g. Exchange and Transport) and will need to use pp.ip.run_string() to run them.
However, when testing using it on a built in function like solution.equalize, I do not get the same results as when I try and run 'Equilibrium Phases' in the use pp.ip.run_string(). The solution is missing phases and I am not sure what I am doing wrong?
Thanks for any help!
##################################
#Github example 2
from phreeqpython import PhreeqPython
pp = PhreeqPython()
pp.add_master_species( element = 'Doc',
master_species = 'Doc',
alkalinity = 0,
egfw = 12)
pp.add_species(reaction = 'Doc = Doc',
log_k= 0)
#Add Jurbanite to the database
str_to_run = """
PHASES # Taken from WATEQ4f database as not present in phreeqc.dat
Jurbanite
AlOHSO4 + H+ = Al+3 + SO4-2 + H2O
log_k       -3.230
"""
pp.ip.run_string(str_to_run)
solution0 = pp.add_solution({'temp' : 8.9,
'pH': 5.75,
'Ca': 0.9,
'Mg': 0.16,
'Na':0.65,
'K':0.05,
'Al':0,
'Fe(+2)': 0.19,
'Cl':0.76,
'C(+4)':3.5, #TIC
'S(6)':0.6,
'Si':0.1,
'DOC':0,
})
str_to_run ="""
EQUILIBRIUM_PHASES 0
Jurbanite  0 1
"""
pp.ip.run_string(str_to_run)
print(solution0.phases)
solution1 = solution0.copy()
#EQUILLIBRIUM PHASES
solution1.equalize(['Jurbanite'], [0], [1])
print(solution1.phases)

Hi!
You need to tell PHREEQC which solution to use, and to store the changes:
I think this should work:
str_to_run ="""
USE SOLUTION 0
EQUILIBRIUM_PHASES 0
Jurbanite 0 1
SAVE SOLUTION 0
END
"""

Also, keep in mind that changes to PhreeqPython solutions are persistent. You copy solution1 from solution0, after equalizing with Jurbanite, only to equalize again. You should make a copy of solution0 directly after the add_solution block

In addition, if you want to know what PhreeqPython is doing 'under the hood', you can enable debug mode using:
pp.ip.debug = True
PhreeqPython will then print all the strings sent to phreeqc

Hi Abel,
The pp.ip.debug = True code has been SUPER helpful, thank you!
In order to get the TRANSPORT function to work I found in running my own code I had to modify the source code at line 186;
from: inputstr += "EQUILIBRIUM PHASES 1 \n"
to: inputstr += "EQUILIBRIUM_PHASES "+str(solution_number) + "\n"
or else the code wouldn't use the correct phase assemblage in the transport function. Hope that makes sense.
Unrelated, but is there an easy way to create multiple of the same solutions? For example, in PHREEQC you can use "SOLUTION 1-15 " and then specify the contents. In PhreeqPython for now I am creating one solution and then copying it 15 times (solution2 = solution1.copy()), but I would guess there is a more elegant way of doing this?
Thanks!

Unrelated, but is there an easy way to create multiple of the same solutions? For example, in PHREEQC you can use "SOLUTION 1-15 " and then specify the contents. In PhreeqPython for now I am creating one solution and then copying it 15 times (solution2 = solution1.copy()), but I would guess there is a more elegant way of doing this?

We could modify the add_solution method to support returning multiple solutions. Otherwise, a simple list comprehension works fine as well:
[sol.copy() for _ in range(10)]

Great, the list works perfect, thank you!


DC SystemController does not show Images panel

In Horizon Distributed Cloud, the “Admin/Compute/Images“ panel is not
enabled in SystemController. This change enables this panel.
Story: 2003408
Task: 24549
Signed-off-by: Kristine Bujold<EMAIL_ADDRESS>

Still looks good :)

\o/


[CS] Look at the fn's rvalue type in getCalleeLocator

Missed this case when implementing https://github.com/apple/swift/pull/24826, we need to look at the function's rvalue type when deciding whether we have a short-form constructor call. I have also added a couple of assertions to RequirementFailure that should hopefully make it slightly easier to spot cases where we've resolved to the wrong affected decl.

*crosses fingers*
@swift-ci please test

Darn – I'll leave the honours up to you @xedin :)


Add UI, PostgreSQL, Minio and S3 relations

This PR does the following:

Adds a relation to the PostgreSQL charm to act as Airbyte's DB.
Adds a relation to the Minio charm as an option for object storage.
Adds a relation to the S3 integrator charm as another option for object storage.
Adds a relation to the Airbyte UI charm to enable communication of server status and service name between the two. The corresponding UI PR can be found here.
Adds a configuration value for logs TTL, which gets added as a lifecycle policy for the selected object storage bucket.
Adds logic for creating object storage buckets on Minio/S3 storage on relation creation or on config change.
Refactors charm code.

Note: I've tested the functionality of adding source and destination connectors, and running a sync job. The only shortcoming thus far is that I am not able to get the Airbyte worker to store the logs in object storage (the bucket creation at the charm level works, Airbyte is just not communicating with the object storage properly to upload the logs). I am currently investigating this issue on different Airbyte slack channels and threads [1,2,3]. I have also tested the S3 integration with RadosGW, but Airbyte seems to have hardcoded this to AWS S3 storage, not just any S3-compatible storage. Regardless, this PR can be considered ready for review, with minor fixes to come potentially on some environment variables later.

Before I review the PR, I noticed something:

I have also tested the S3 integration with RadosGW, but Airbyte seems to have hardcoded this to AWS S3 storage, not just any S3-compatible storage.

@kelkawi-a How does minio work in the current Airbyte deployment? Does it use a different storage class?

Before I review the PR, I noticed something:

I have also tested the S3 integration with RadosGW, but Airbyte seems to have hardcoded this to AWS S3 storage, not just any S3-compatible storage.

@kelkawi-a How does minio work in the current Airbyte deployment? Does it use a different storage class?

Minio on k8s stores on persistent storage.


Detail what each app does...

...so us administrators can make an informed decision whether it's actually required.
Enterprise versions should come with only the important stuff. Leave the toys for Home editions.
Found a list, although not from MS and not up-to-date: https://blog.danic.net/provisioned-apps-in-windows-10-pro/.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ce0131fb-6b3a-5905-1738-253cf37e3b2d
Version Independent ID: cab448be-54ae-539e-22ba-3d202a468d4f
Content: Windows 10 - Apps
Content Source: windows/application-management/apps-in-windows-10.md
Product: w10
GitHub Login: @lizap
Microsoft Alias: elizapo

https://github.com/MicrosoftDocs/windows-itpro-docs/pull/1513 Adds the store link to the provisioned packages. This should help making an informed decision.


Added primary school

The teachers will use It for editing school websites.

@kuba1999 I am sorry, we can not satisfy this request because of two reasons:

This repository does not list primary schools, it's for universities and colleges, as explained in the Readme file.
The licenses which are granted to people who have emails in the domains listed in this repository are for educational purpose only. Therefore, if teachers will edit the school website, they have to use different licenses. Please, request a license by email to<EMAIL_ADDRESS>If you need to teach students with JetBrains tools too, please request a free license by email to<EMAIL_ADDRESS>I am closing this request without merging. Thank you for your understanding!


Parallel FaIR

Even at 12 ensemble members per second, running 1600 scenarios x 2237 ensemble members is going to take a long time (>3 days). In my Working Group 1 setup with FaIR I use multiprocessing.Pool to parallelise things. Does MAGICC do something different here, and is there a preferred method I should use?
Once this method is down it should be relatively simple to get openscm-twolayermodel for low effort cost.

MAGICC does something different but only because it has an on-disk binary. Simply using multiprocessing.Pool (and then calling .map I guess) here would be perfect!

I guess you just turn this loop https://github.com/openscm/openscm-runner/blob/49bd5f533fc56c6554823c2b309d51e933a28449/src/openscm_runner/adapters/fair_adapter/_run_fair.py#L34 into pool.map and off you go

Yeah with a bit of fiddling I think I've got it


[pmo] Teach PMO that in ossa, load [take] invalidates an available va…

…lue.
Example would be a case where we dynamically control if the load [take] occurs
and the load [take] happens with conditional control flow.
This was exposed by the throwing_initializer and failable_initializer
interpreter tests in the test of PolarBear(n:before:during).

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

Andy and I talked a bit about this. There are larger changes he wants to make. I am going to add the comments/etc and then merge. This pass is the first poster child for how load/store promotion is done on ossa so it is the place where I am making tools. It is important that it is easy to read as a result (and this also will get rid of some technical debt as well).

@swift-ci smoke test and merge


Editor config

Description
Editor config
Type of change

New feature (non-breaking change which adds functionality)

Testing steps
N/A
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

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

Coverage data is based on head (2996f4d) compared to base (ebb605d).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #309   +/-   ##
=======================================
  Coverage   64.72%   64.72%
=======================================
  Files          11       11
  Lines        1066     1066
=======================================
  Hits          690      690
  Misses        355      355
  Partials       21       21

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

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


mesa: 20.0.8 -> 20.1.3

Motivation for this change
Updates mesa to latest stable release (20.1.3).
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

My system built with this change.


Result returns translating incorrectly?

I'm not sure if I'm just doing something wrong but it appears that functions which return results aren't translating to Swift in a way that swift is happy with.
Do I need a special macro declaration on Error types?
Here's the error from swift:
Invalid conversion from throwing function of type '(RustStr) throws -> FileWorkoutManager' to non-throwing function type '(RustStr) -> FileWorkoutManager'

Here's the declaration:
#[swift_bridge::bridge]
mod ffi {
    extern "Rust" {
        type FileWorkoutManager;

        fn new_from_db_filepath_str(filepath: &str) -> Result<FileWorkoutManager, WPError>;

Here's the generated swift code:
public func new_from_db_filepath_str<GenericToRustStr: ToRustStr>(_ filepath: GenericToRustStr) throws -> FileWorkoutManager {
    return filepath.toRustStr({ filepathAsRustStr in
        try { let val = __swift_bridge__$new_from_db_filepath_str(filepathAsRustStr); if val.is_ok { return FileWorkoutManager(ptr: val.ok_or_err!) } else { throw WPError(ptr: val.ok_or_err!) } }()
    })
}

I'm getting that error for every single function I've declared with a Result return.

I get the same on other methods that take an &str and return a Result.
It looks like the other Result return errors are that WPError does not conform to Error (which makes me wonder if I need a special macro declaration on that type)

Closing in favor of https://github.com/chinedufn/swift-bridge/issues/150
For now you have to write this on the Swift side (assuming WPError is thread safe, or never gets passed to another thread):
 extension WPError: @unchecked Sendable {}
 extension WPError: Error {}

I think a challenge there is that with my project setup I have a swift library get auto generated from my FFI crate which would overwrite that - but thank you for linking to the other issue


BUG: Use transfer.sh to upload macOS packages.

filebin.ca is no longer reliable.

Thanks, @jhlegarreta !
Yes, I will eventually write and Insight Journal article.
I am pushing a build fix in another branch, after which we can get the CI free with a rebase here.


Adds setting of healthcheck host and port through env variables.

@Lastin I'm closing this based on https://github.com/gocd/docker-gocd-agent-dind/issues/11#issuecomment-597775464 -- otherwise we'd need an env var for every possible property.


Implement Debug Inspection

We have not implemented the Ensime debug inspection api. Like stepping, you can work around this with other tools but it's probably simplest to implement the API directly.

@ChrisCoffey I'm not clear about the workarounds for missing debug inspection, can you give me a hint?

Oh, I was just talking about how it's possible to set manual breakpoints in lieu of stepping. Not a true workaround. I've updated the description to remove the ambiguity.

updated to remove the ambiguity

Yes, I definitely agree we should implement this API and not rely on other third parties.


Polyline bug in HPR example

Go to http://localhost:8080/Apps/Sandcastle/index.html?src=HeadingPitchRoll.html&label=All and check Follow Aircraft, you'll end up with a bunch of artifacts.

These clear whenever you use the arrow keys to change the plane location, but then immediately start building back up.

duplicate #4011

Are you sure it's the same bug?  Because the other one specifically mentions glowing polylines and this happens even if you change it to the default white material

Sorry, it looked the same to me at a glace.  I didn't realize it was a different material


return html without writing to file

also collapsible view of the ttl in the interface

when clicking on the graph button now the html is no longer written over an html files, rather directly on a stream and visualized

first implementation for the ttl, need a though a better visualization:

It's good to have it, though I rather thought it'd be part of the same page, but some sort of "expand on click" box.

yeah absolutely, I am finding now a better solution like you said, collapsible, this was in the meantime to test the visualization of the ttl content itself

much better this way....
Screencast 2023-02-17 18:48:39.webm

Indeed! I'd also make the expanded block larger and maybe stretchable?

Larger, and also stretchable!
Screencast 2023-02-20 13:01:12.webm

Completed with #42


Connection reset by peer And Connection timed out

I want to synchronize the data of EOS main network，But I don't know where to find the p2p-peer-address that can be connected。I tried to get it from https://eosnodes.privex.io/, but did not find it can be connected.

Duplicate of https://github.com/EOSIO/eos/issues/4135


Showcase link is dead

What should happen?
The link "Foundation Showcase" prominently positioned in the navbar of https://get.foundation/ should go to a page that showcases Foundation.
What happens instead?
It goes to https://zurb.com/responsive where it tells me that there isn't much to see (404):

Checklist

[X] I have read and follow the CONTRIBUTING.md document.
[X] There are no other issues similar to this one.
[X] The issue title and template are correctly filled.

Clicking the main menu item: Showcase links to the same 404 page.

The page was never transferred and it seems ZURB removed it.

Okay, but I'm confused now - the link still exists and links to the dead page despite this issue being closed, shouldn't it be removed then?


Suspected duplicate code in resize_bilinear_op.cc

I suspect these two code blocks are doing very similar tasks and can potentially be merged:

Code block 1
Code block 2

The only difference which I can notice is that the code block 1 might benefit from sequential cache read. But I think the compiler should assist to achieve the same efficiency for the code block 2. If so, we should merge these two blocks to eliminate duplicate code.

I can help to fix if my judgement is correct. That would be my first code contribution to TF :)

@ymodak I sent in a pull request which must solve this.

I expected that I could become the assignee and fixed it.  So sad.

@CyangXu Thanks for your issue. Assignee's generally facilitate the PR merging process, you may want to raise PR as an author to fix issue/add new feature. I am sorry you missed this opportunity however feel free to raise PR to address any other issue of your choice and we can help merge it. Contributions from the community are highly encouraged and welcomed. Thanks!

@ymodak Thank you for explanation!

Are you satisfied with the resolution of your issue?
Yes
No


Fix Graphs file to select four energy services

@daren-thomas would you give me a hand with the interface after merging #158 ?

i'm still trying to merge #155 ... but yeah: sure! (i'll look into #158 next!)


Template error

Hey, really awesome repo, I have been trying to setup a Thunder Kittens env, however, I am struggling as I am getting import errors with clangd. When including kittens, I found that it would error out, and after doing some digging, then I found the error to be on line 52 and 55 of /ops/warp/shared/tile/conversions.cuh, where I got Use 'template' keyword to treat 'subtile' as a dependent template name. I am guessing that this is def an issue with my clang env and not with thunderkittens, but I was wondering if you could share the .clangd file used with the project so that I can fix this?
Thanks so much!

I have also edited the code in place to get the following which fixes clang, but I will have to see if it messes with compilation.
/* ----------  SUBTILE  ---------- */

/**
* @brief Returns a reference to a subtile of the given shared tile.
*
* @tparam subtile_height The height of the subtile.
* @tparam subtile_width The width of the subtile.
* @tparam ST The type of the input tile, which must satisfy the ducks::st::all concept.
* @param src The input tile.
* @param row_idx The row index of the subtile, in units of subtile_height*16 elements.
* @param col_idx The col index of the subtile, in units of subtile_width*16 elements.
* @return A reference to the subtile.
*
* @note The subtile {height, width} must evenly divide the tile {height, width}.
*/
template<int subtile_height, int subtile_width, ducks::st::all ST>
__device__ inline typename ST::template subtile<subtile_height, subtile_width> subtile_inplace(ST &src, int row_idx, int col_idx) {
    static_assert(ST::height % subtile_height == 0);
    static_assert(ST::width % subtile_width == 0);
    return typename ST::template subtile<subtile_height, subtile_width>(
        &src[0], subtile_height*16*row_idx, subtile_width*16*col_idx
    );
}


show the prepteam bof on the results page on projector and in CSV export

somehow that is missing. It shows n-1 selected bofs, but the prepteam bof is not displayed on both the projector page nor in the CSV export

this was necessary:
update workshop set location_id=3, round_id=1 where id=110;
It seems a problem, that the workshop id was not 0, but defined in the config file as some other id.
Hah, I forgot to update the PrepBofId in the file cfg/settings.php.
So this is not a bug... Closing


Crash in Marquet Square

Playing under the 1.0.2g version with the mod updated I got a crash in this zone near Curl or the zone where the zombies and shadows are. I asked a friend without the mod to test these zones in the same version of the game and he haven't got any crash.

Would need log to determine if this is released but I highly doubt it is

I went there and got no crash at all with the mod enabled (1.08) version 1.0.2g too


move issues from nmdc-metadata

Use the github issue mover to move schema related issues from nmdc-metadata to nmdc-schema

We still have a https://github.com/microbiomedata/nmdc-metadata repo. How can we tall if the necessary content has been migrated?
If we do that, then we can archive https://github.com/microbiomedata/nmdc-metadata

https://github.com/microbiomedata/nmdc-metadata/issues

I am interested in this and also curious about this. Looking at the issues they're a combination of schema and ingesting ./ fixing metadata.
@cmungall what was the metadata repo for? The docs say its deprecate. but there's still issues.


Story for generating code being used in Swift modules

The current code generation assumes the runtime will come from a module named SwiftProtobuf and that all generated code will end up in a single module.  But reality likely won't match that.
Something gRPC likely will have some protos it will bundle, and then the code they generate for a service will likely get built into another module.  So those service will likely need something like import gRPC to get access to the protos shipped there.  And to avoid collisions, any proto that is in gRPC should likely get references in the generated code as gRPC.[PROTO_NAME] (just like we do for the SwiftProtobuf references.
This can also quickly cascade, one package might expose one set of protos, another package might need to reference those, a third provides some independent protos, and then a forth comes in and has protos that reference the ones from two and three.
Initially it might make sense to think of trying to providing a mapping that uses proto packages to decide what Swift package the code will be in; but that constraint is likely to cause problems.  A collection of proto files might all have the same proto package, but they could be needed by different independent modules, so they want to be in different Swift modules.
For reference the ObjC generator used a generator options for this.  Swift being different, the generate_for_named_framework doesn't seem like it will apply, as the module the code will end up in hopefully will never be needed because it won't be imported and the types shouldn't need scoping.  So something like named_framework_to_proto_path_mappings_path may make the most sense, some form of input let the generator figure out what modules would needed to be imported by each file for the referenced types and how to prefix the types to avoid collisions.

I don't think we can use proto packages to infer Swift modules, the semantics are too different.
I would suggest we consider another file-level proto option for controlling this.

I'd rather keep it out of the proto files.  Just because one project bundles the protos one way doesn't mean the next project will bundle them the same way.  The name prefix option is a little different in that odds are no matter how they are packaged, they should be consistently named.

Sorry, should likely have spelled it out more.
The stuff I expect to be different for different developers (packaging, the current generator options for visibility and output paths), I'd rather those as generator options because the developers don't have to edit the proto files for their packaging needs.
The prefix is something that should likely be consistent in all builds (no matter how things are packaged), so the types will always be the same.  So having that in the file so everyone gets the same thing seems right.

The tricky part is when a message in one package refers to a message in a different package.  So when protoc generates code for Foo, the generated code may need to know what module Bar is in (in order to import it if nothing else).  I don't know if a generator option can really work here, since protoc pulls in all of the referred-to protos and bundles them for the generator -- the generator will need to know the appropriate module to use for each referenced proto.

Right, see the mapping file method I used for objc.  The generator would use an option to tell it what file to read to figure out the file -> Swift module mappings to generate the right imports/references.

Taking this out of the 1.0 milestone as it doesn't change the library at all, just something in the plugin so we can do it in a point release.

So the basic information we need is something that tells us a proto file will be a specific Swift module (so we can generate the import and correct reference).  Since odds are multiple proto files will be in each module, the most likely logical support for this will be module to one_or_more_proto_files.
There are two ways I can see to do this: generator option that can be used multiple times or generator option that provides a file where the mappings are read.  Using an option for the mapping directly is useful in the simple case where there aren't many mappings, but from what Google has seen internally, there could end up being a lot of these for full apps built off common components, so to avoid running in to max command line length, using a file seems like the better choice.  Supporting both seems like it would lead to confusion and more chances of conflicting data.
Format of the file is the next question, the data is logically a map.  TextFormat proto would work, but the TextFormat for those is just the repeated field, so I think it would be harder to use.  JSON protobuf format would work (using a google.protobuf.struct), so keys are modules and values as the proto file names.  The catch is JSON doesn't support comments, and I sorta worry about not having comments as they could be useful for a someone maintaining a mapping.  So that leaves our own text file format that can do comments, so something what the ObjC generation uses for this.  So…
# Comment
module_name: path/to/a.proto
different_module: some/other.proto, another.proto

Comment can also go on the end of a line.
Commas between file paths to allow spaces in file/directory names.
A module name can be listed more than once if there are a lot of files that it applies to so they can be split up to avoid a really long line or to group things logically with comments/etc.

Anyone see any other way to go about this?

Actually, TextFormat might work if we don't try to use a map…
message Mappings {
  message Entry {
    string module_name = 1;
    repeated proto_file = 2;
  }
  repeated Entry mapping = 1;
}

would mean the config looks like:
mapping {
  module_name: "MyModule"
  proto_file: "foo/bar.proto"
}
mapping {
  module_name: "OtherModule"
  proto_file: "mumble.proto"
  proto_file: "other/file.proto"
}


[SPARK-38926][SQL][3.3] Output types in error messages in SQL style

What changes were proposed in this pull request?
In the PR, I propose to upper case SQL types in error messages similar to the SQL standard. I added new util functions toSQLType() to the trait QueryErrorsBase, and applied it in Query.*Errors (also modified tests in Query.*ErrorsSuite). For example:
Before:
Cannot up cast b.`b` from decimal(38,18) to bigint.

After:
Cannot up cast b.`b` from DECIMAL(38,18) to BIGINT.

Why are the changes needed?
To improve user experience with Spark SQL. The changes highlight SQL types in error massages and make them more visible for users.
Does this PR introduce any user-facing change?
No since error classes haven't been released yet.
How was this patch tested?
By running the modified test suites:
$ build/sbt "test:testOnly *QueryParsingErrorsSuite"
$ build/sbt "test:testOnly *QueryCompilationErrorsSuite"
$ build/sbt "test:testOnly *QueryExecutionErrorsSuite"
$ build/sbt "testOnly *CastSuite"
$ build/sbt "testOnly *AnsiCastSuiteWithAnsiModeOn"
$ build/sbt "testOnly *EncoderResolutionSuite"
$ build/sbt "test:testOnly *DatasetSuite"
$ build/sbt "test:testOnly *InsertSuite"

Authored-by: Max Gekk<EMAIL_ADDRESS>Signed-off-by: Max Gekk<EMAIL_ADDRESS>(cherry picked from commit 0d16159bfa85ed346843e0952f37922a579c011e)
Signed-off-by: Max Gekk<EMAIL_ADDRESS>

fyi @HyukjinKwon @cloud-fan @gengliangwang  this backport is similar to https://github.com/apache/spark/pull/36143.

This passed the CIs. Merged to branch-3.3.

https://github.com/MaxGekk/spark/runs/6064561934?check_suite_focus=true


Replace the default "X" close button with the classic  lightbox cross in circle .png image

I want to replace the default "X" close button with the classic  lightbox cross in circle .png image but can't seem to find an example to  try.
Please assume no knowledge on my part. I have some existing CSS in place that I have tried for positioning and  colour:

This worked well. I should say I'm using this within the WYSIWYG Web  Builder 12 software which means I have to over-ride the default CSS  generated by the package.
Regards Roger

I have found an answer that works for me.
Within the document.ready script
callOpen: function (scr,data,$this) { setTimeout(function() { $('.mfp-close').html('').append('<img class="mfp-closer" src="magnific/close.png" width="40px" height="40px"/>'); $('.mfp-closer').click(function() {$('.mfp-close').trigger('click')}); $('.mfp-close').on('mouseover', function () { $(this).find('img').attr('src', 'magnific/closeRed.png'); }).on('mouseout', function () { $(this).find('img').attr('src', 'magnific/close.png'); }); }, 0); },


fix(zeroscans): stop using expect

This should fix the app crashing issue :melting_face:
Checklist:

[x] Updated source's version for individual source changes
[x] Tested the modifications by running it on the simulator or a test device

wtf, wrong repo


yarn2nix: Support custom fetch functions in mkYarnModules

Motivation for this change
See #139227. Currently, mkYarnPackage and mkYarnWorkspace don't support some options from .npmrc, like fetching packages from private repositories using an authentication token header. This change allows callers of these functions to pass overrides of fetchurl or fetchgit to the yarn.nix expression, which allows an array of customizations. In the case of fetching from private package repositories, I may do this:
mkYarnPackage {
  # ...
  yarnNixOverrides = {
    fetchurl = args: pkgs.fetchurl ({ netrcPhase = ''cp ${./.netrc} $PWD/''; } // args);
  };
}

Along with a .netrc file like this:
machine npm.fontawesome.com
  login token
  password XXXXX

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

You can already do this now with just a little more code:
  yarnNix = mkYarnNix { inherit yarnLock; },
  offlineCache = callPackage yarnNix {
    fetchurl = args: pkgs.fetchurl ({ netrcPhase = ''cp ${./.netrc} $PWD/''; } // args);
  };

I wonder if it is worth the extra options for probably very few users who will actually use this.


publish the inspectus jar to GitHub Packages registry

I wrote the procedure at

https://github.com/kazurayam/HostingToGitHubPackagesResistryInGradle

done

https://github.com/kazurayam/inspectus/packages/1743875


Having a link on a secret site details header makes no sense

See: https://status.datacenters.network/history/dc-4-server
Actual: link is useless and broken
Expected: no link

Okease fix it


Replace images under the #SILKLIFE

Hello everyone.
SILK Life encompasses a range of activities that align with our SILK website's values and mission to empower people through cooperation, culture, and social interaction. Choose the images that add a clear vision of the services and activities we offer. The new images should showcase our services and events, and represent the core values of Strength, Intelligence, Love, and Kindness.
Here are the specifications for the new images:

File format: JPEG or PNG
Right-click on the image, check "Inspects" to know the dimension (length and width) of the image, and choose a new image according to that dimension.

Thank you.
Note: Use Creative Common License Content

@Remy-Reveltek, Look at the Art image in #SILKLIFE or comment also then I will go for a pull request.

Go ahead and do a pull request

Okay.

I did it.
Now, I want to add another image. Will I make another gh-page?

@Remy-Reveltek, If I add another gh-page then Sync fork does not work.

@Remy-Reveltek, When you are available then tell me about the above problem. And also told me we add a license as in natural?

tutorial *

@duafatimaa, please read this:
https://chooser-beta.creativecommons.org/

@Remy-Reveltek, Can I add my 2nd image inside previous gh-page? Because When I created another it does not work.

@Aini-Bashir, Create a branch inside Remy Repo and fork it.

@Aini-Bashir, On which section you will work today?

I will complete the "Our Team" section and start "who we are" and if possible, any other area.

@Remy-Reveltek, I resized two images for home but in one image I could not find the license.

I just show you two images and one for License.

I added a cafe image. Only two images are left and I also resized one other image.

@Remy-Reveltek, When you are available then tell me about the pull request.

Yes, however, ensure that both of your commits are accurate and meet our needs. If one of the commits is not what we require, both of them will be declined.
Additionally, please keep SILK Core Values in mind as well as the actual sizes and themes of the images when making updates.

Okay.

I added a thumbnail cafe named image inside the cafe area of section #SILKLIFE and issue #3. Please go through it and I will go for a pull request then

@duafatimaa, let's just do your commit and then I will review it.

Yes,I have done my commit but did not do PR yet. I am waiting for your review.

@Remy-Reveltek, I solve my mistakes. Remy, I add a gh-page after deleting my previous gh-page and do commit also but in the pull request, it shows the previous comments also.

@Remy-Reveltek, You added a 2nd image of Cafe with issue #82. Just clear that this image for #SILKLIFE issue #3

@Remy-Reveltek, You added a 2nd image of Cafe with issue #82. Just clear that this image is for #SILKLIFE issue #3.

Yes, I have added 2nd photo for Cafe.

Okay. Then I will go for the home section.

@Remy-Reveltek, I did my commit but when I go for a pull request the image section shows "Unable to render rich display".

@Remy-Reveltek, I did pull-request.


to sign in remotely you need the right to sign in through remote desktop services, by default, members of the remote desktop users group have this right. if the group you're in doesnt have this right, or if the right has been removed from remote desktop desktop users group, you need to be granted this right manually

This is what i get when i try using thin client RDPWRAP
with terminal Share
to sign in remotely you need the right to sign in through remote desktop services, by default, members of the remote desktop users group have this right. if the group you're in doesnt have this right, or if the right has been removed from remote desktop desktop users group, you need to be granted this right manually

to sign in remotely you need the right to sign in through remote desktop services

Not an RDP Wrapper issue.
Please, add your RDP users to "Remote Desktop users" group or Administrators.


Better support for latest binary ninja builds?

Rather than manually updating commit hashes would you consider a PR for something like this?
diff --git a/cmake/BinExportDeps.cmake b/cmake/BinExportDeps.cmake
index 8832d98..757adb9 100644
--- a/cmake/BinExportDeps.cmake
+++ b/cmake/BinExportDeps.cmake
@@ -87,14 +87,26 @@ find_package(Protobuf 3.14 REQUIRED) # Make protobuf_generate_cpp available

 # Binary Ninja API
 if(BINEXPORT_ENABLE_BINARYNINJA)
-  if(BINEXPORT_BINARYNINJA_CHANNEL STREQUAL "stable")
-    set(_binexport_binaryninjacore_suffix "_stable")
-    set(_binexport_binaryninja_git_tag
-        "master") # 2022-10-18
+  if(BINEXPORT_BINARYNINJA_LATEST)
+    if(BINEXPORT_BINARYNINJA_CHANNEL STREQUAL "stable")
+      set(_binexport_binaryninjacore_suffix "_stable")
+      set(_binexport_binaryninja_git_tag
+          "master")
+    else()
+      set(_binexport_binaryninjacore_suffix "")
+      set(_binexport_binaryninja_git_tag
+          "dev")
+    endif()
   else()
-    set(_binexport_binaryninjacore_suffix "")
-    set(_binexport_binaryninja_git_tag
-        "b160aa0bac77a45bd7c4f39c6fe0263059239d4b") # 2022-10-20
+    if(BINEXPORT_BINARYNINJA_CHANNEL STREQUAL "stable")
+      set(_binexport_binaryninjacore_suffix "_stable")
+      set(_binexport_binaryninja_git_tag
+          "824aa7f7fc88713e74932c6d3230a6fb2d29df97") # 2022-10-18
+    else()
+      set(_binexport_binaryninjacore_suffix "")
+      set(_binexport_binaryninja_git_tag
+          "b160aa0bac77a45bd7c4f39c6fe0263059239d4b") # 2022-10-20
+    endif()
   endif()
   FetchContent_Declare(binaryninjaapi
     GIT_REPOSITORY https://github.com/Vector35/binaryninja-api.git

I realize you might not want the default to automatically pull from a named branch but it makes my life easier to have it as an option since I'm almost always running on the latest dev.

Note that after I made this change locally I also had to make sure I updated the generated headers which made me wonder -- since the repo is being downloaded/checked out anyway, why not generate that inline during the cmake process?

I could've sworn I already answered on this issue. I'll be happy to accept a PR, if BINEXPORT_BINARYNINJA_LATEST defaults to OFF.

[...] since the repo is being downloaded/checked out anyway, why not generate that inline during the cmake process?
There is nothing stopping us to do so, but then we need something that works the same on Windows, Linux and macOS. And so far, it was just easier to regenerate the headers on Linux whenever I update Binary Ninja in our internal third_party/ sub-tree.

That makes sense. Given how sensitive it currently makes the update process to our API changes, I'm going to at a minimum submit some improved documentation in the readme that would help people be aware of the process, and if I'm lucky and have any good ideas something on automating the process itself.
Random brainstorm: Since BN itself comes with a type import/export ultimately based on clang, I wonder if we can't implement it as a BN plugin. The only downside would be non-commercial licenses wouldn't be able to headlessly automate that step, but at least everyone building would inherently already have the tools required since if they're building for BN they presumably have access to BN! 🤔

type import/export ultimately based on clang

For various reasons I cannot run commercial Binary Ninja as part of our build infra.

Even if you can't, users who want to clone/build it could use it if it's available. clang-format isn't necessarily going to be on their box, but BN almost certainly is if they're enabling those settings.

That's true. So basically, we then should have a new CMake option that enables to regenerate the "bindings"/header files. It should default to ON, if CMake found an actual Binary Ninja install.

Yup, that's what I'm thinking. It would simplify the process for people who want to do their own builds to track dev for example.
I'll get with some of my co-workers who are better at cmake than me and see if we can put together a PR for that.


Replace lmoments with scipy for probability distribution functions

This PR replaces lmoments code with scipy.stats for probability distribution function calls. It maintains the previous input/output structure with minor renaming of functions and variables. I also documented the functions as best I could.
One major addition is dropping NaNs from the stacked AMS array input when dealing with data that has been spatially subsetted. Please test both on non and spaitially subsetted data and see if the desired results are returned.

I think there might be some undesired results when Nans are dropped from the AMS array that can be easily seen when plotted:

I will look into this some more to see what to do or if you have suggestions shout them out! LOL

Getting hung up at the return_value cell with a scipy error (going on 10 min):
/srv/conda/envs/notebook/lib/python3.9/site-packages/scipy/stats/_continuous_distns.py:2492: RuntimeWarning: invalid value encountered in subtract
  -pex2+logpex2-logex2)

Really liking that when hovering over maps, the exact cell is highlighted!

Hmm, yes I did get that error too but eventually got an answer. Did this process take a long time before or is this a new behaviour?

I stopped the kernel after about 15 minutes on the hub, but am re-testing now both on hub and locally, can report back. I don't remember it taking this long before though

Hmm, let me test the speed with the lmoments code to compare...

Hmm, yes I did get that error too but eventually got an answer. Did this process take a long time before or is this a new behaviour?

I stopped the kernel after about 15 minutes on the hub, but am re-testing now both on hub and locally, can report back. I don't remember it taking this long before though

Hmm, let me test the speed with the lmoments code to compare...

I'm getting a blank page on the dask cluster dashboard. I wonder if the cluster is working?

I'm getting a blank page on the dask cluster dashboard. I wonder if the cluster is working?

Weird! I just checked too, and I'm seeing the same blank page!

I'm getting a blank page on the dask cluster dashboard. I wonder if the cluster is working?

Weird! I just checked too, and I'm seeing the same blank page!

Ok, I restarted and made sure to open the dashboard right away. The cluster is working but doesn't run on the get_ks_stat or get_return_value functions. Will look into why not


Open beta for 23w14a?

I was wondering if there is a beta version of FerriteCore for the most recent snapshot 23w14a?

FerriteCore 5.2.0 works fine on 1.20-pre1, at least for vanilla.


I was never able to create a smooth loop.

Describe the bug
Added different sets images, including two identical sets of images and set the minimum possible match threshold. Always the same thing, can't create, he says. But I know there's 100% identical footage. :)
Desktop (please complete the following information):

OS: Windows 7 x64
Version 2.35.4

How did you position the frames?
Use the same number for 100% equal frames, like so:
1 2 3 4 5 1
Also, which options did you use?

I arranged them in order.
Frame-1.bmp
Frame-2.bmp
Frame-3.bmp
...
This is how it was extracted from the original gif. And duplicated one of the first frames by placing it closer to the end, while maintaining the numbering order.
And just exported another gif with two identical sequences.
But that's all after I tried a lot of other options and never got a result.
The question is a little off topic. windowsdesktop-runtime-6.0.1 what bit depth (x86 or x64) should I install? I put both, maybe that's the problem? ScreenToGif portable x64 version, but I tried x86 as well.

The algorithm tries to find the first similar enough frame from end-to-start or start-to-end depending on settings.
For example:

In this project, the algorithm wil find the frame $4 as the 100% similar as the first one and will delete all next frames ($5).

I thought so.
sp1 and all major (non-junk) updates are worth it.
Since you show it works, but on more complex images, such as a video series, it does not.
In general, it is clear that the simplest images are needed to use the opportunity. If you want, you can close the thread.

I want to leave this issue ticket open, as I need to improve the UX of the tool.
Right now it's not clear how it works and why it fails.

As for the runtime, I'm thinking about embbeding .NET 6 along with the app, it just going to increase the file size by a lot.
I may also distribute as a msix (maybe with support for MSIX Core, for Windows 7 and above).

Yeah, that's better. This is what most developers with portable versions of software do. And nothing that will increase the size, it's better than insnalling it in the OS.

Fixed a couple of issues with the Smooth Loop feature.
The frames were not being correctly compared, skipping some.
And the warning message was not that great.


implement helm upgrade action

Note This is a prototype implementaton. Feedback for improvement would be appreciated.

Resolves #2806
Changes

modify helm base image to run with /workspace as workdir
add  #Upgrade action in universe.dagger.io/alpha/kubernetes/helm

Signed-off-by: Nico Braun<EMAIL_ADDRESS>

Hi @bluebrown, I like the direction of this. I also use helm upgrade --install when installing new packages, this approach is definitely common.
Let me take a better look at what needs to improve before we can get this change merged.

I think we should decide what flags to support as first class struct fields. I think --username, --password and --create-namespace would be good in addition to the ones I already have. Especially --password could make sense to set it to dagger.#Secret.

Thanks for sticking with me on this @bluebrown. There are a bunch of things which I needed to track down before I could update this PR. My commit comments have all the details.
The last commit in particular has a help request. It's OK if you are not able to help out. By the way, this includes --username & --password flags which I think are a great idea.
This is what I intend to do next:

Pull https://github.com/dagger/dagger/pull/2807/commits/58c2371fc8b0ddfdbb8f5569bb3c963f6f9275c1 into a separate PR
Re-enable K8s tests - have been disabled in #936 and remain disabled since (Sept. 2021)
Figure out what else is missing before we can merge this

To be honest, I didn't expect this PR to become as big as it is. While we could merge it as soon as the existing checks go green, I would like to make this PR higher quality - especially running the right tests. I would like to spend at least another day doing so. My aim is to get this merged by the end of this week, July 22nd. Even if we do not get all the way with kind & Kubernetes tests, at least we will have made good progress in that direction. How does that sound @bluebrown?

Hi @gerhard, as far as I understand, you want me to adjust the tests, to do a real deployment instead of dry-run.  Yes, I can do that.
I also would like thi add the --atomic, flag back to first class. I think its one of the most useful flags, at we use it always to ensure our apps keep running stable, in case something goes wrong during release.

Hi @gerhard, as far as I understand, you want me to adjust the tests, to do a real deployment instead of dry-run. Yes, I can do that.

Yes please. Single test that covers the happy path & ideally all the flags. If --username & --password are too much hassle, it's OK to skip those.

I also would like to add the --atomic, flag back to first class. I think it's one of the most useful flags. At least, we use it always to ensure our apps keep running stable, in case something goes wrong during release.

Good catch! I removed too much.
There are also a bunch of package coding style elements that we are missing. The public definitions will become highly useful with the imminent release of https://github.com/dagger/daggerlsp

There is an issue with the image, still looking into this:
❯ dagger do test install URL

Dagger Cloud URL: https://dagger.cloud/runs/bc253954-0ccb-4fb3-8107-46b8c6c6738a

[✔] client.env                                                                                0.0s
[✔] client.commands.kubeconfig                                                                                0.0s
[✗] actions.test.install.URL.run                                                                                0.0s
5:19PM FATAL failed to execute plan: task failed: actions.test.install.URL.run._exec: invalid FS at path "actions.test.install.URL.run._exec.input": FS is not set

⛴


Expired HTTPS certificate

The HTTPS certificate expired on Sunday 27 November 2022 for at least:

https://blog.europython.eu/
https://www.europython-society.org/
https://ep2021.europython.eu/
https://ep2020.europython.eu/
https://ep2019.europython.eu/
https://secure.europython.eu/

Still working, because it has its own instead of using secure.europython.eu:

https://ep2022.europython.eu/

Hi @hugovk
This is fixed now, thanks for reporting!
Cheers


Hardware skinning auto-detection fails

Hi,
In my case it seems that auto-detection of hardware skinning capabilities fails (both on a desktop PC with Nvidia card and on a laptop with integrated Intel chip -- both should have latest drivers installed).
Obviously, the real problem here is that my exact version of OpenGL is not correctly detected, as the Pipeline._set_use_330 method (in simplepbr/__init__.py) wrongly sets the self.use_330 variable to False, leading to the following errors:
:display:gsg:glgsg(error): An error occurred while compiling GLSL vertex shader created-shader:
created-shader(36) : error C7532: global type uvec4 requires "#version 130" or later
created-shader(36) : error C0000: ... or #extension GL_EXT_gpu_shader4 : enable
created-shader(36) : error C7507: OpenGL does not allow attributes of type uvec4

While explicitly passing use_330=True to simplepbr.init solves the problem, I was wondering if handling a request to enable hardware skinning couldn't simply set self.use_330 to True?
After all, if the hardware really doesn't support OpenGL version 3.30, then errors would occur in both cases, wouldn't they?
So instead of this code in Pipeline.__init__:
        self._set_use_330(use_330)
        self.enable_hardware_skinning = use_hardware_skinning if use_hardware_skinning is not None else self.use_330

the following might be preferred:
        self._set_use_330(use_330)
        if use_hardware_skinning is None:
            self.enable_hardware_skinning = self.use_330
        elif use_hardware_skinning:
            self.enable_hardware_skinning = True
            self.use_330 = True
        else:
            self.enable_hardware_skinning = False

Of course, in this case a request like:
simplepbr.init(use_hardware_skinning=True, use_330=False)

would make use_hardware_skinning take precedence over use_330, but I feel that to make sense (in an otherwise arguably nonsensical request).
What do you think?

On a side note, when enabling hardware skinning does succeed, there is still a (harmless) warning related to version 120:
created-shader(14) : warning C7533: global variable gl_FragColor is deprecated after version 120
:display:gsg:glgsg(warning): Shader created-shader produced the following warnings:
Fragment info
-------------
0(14) : warning C7533: global variable gl_FragColor is deprecated after version 120

Not exactly sure where that one is coming from, though. Could be either from shadow.frag or tonemap.frag, although both do use version 120.

Should hardware skinning really require GLSL 3.30, though?  It just requires 1.30.

It just requires 1.30.

In that case:

Do you feel that it is acceptable to raise the minimum supported shader version from 1.20 to 1.30?
This would certainly obviate the need to modify the shader strings by replacing attribute/varying with in/out.

If dropping support for 1.20 is out of the question, can the maximum supported version be lowered from 3.30 to 1.30?
To be honest, I'm not sure which features of simplepbr do require 3.30, but since support for it was explicitly added, there must be a good reason, I assume.

If neither of the above is acceptable, is it worth further complicating the modification of the shader strings to convert them to one of not two but three different shader versions? Seems to me that it might become a bit messy.

Of course I can't answer for what @Moguri finds acceptable, but I think I can answer this:

To be honest, I'm not sure which features of simplepbr do require 3.30, but since support for it was explicitly added, there must be a good reason, I assume.

There are two good reasons:

When using a core-only OpenGL profile, such as enabled with gl-version 3 2, GLSL versions older than 1.50 are not supported. This is in fact the only way to use modern OpenGL features on some systems, notably macOS.
The new shader pipeline in Panda3D 1.11 will only support GLSL 3.30 and higher (with the trade-off that it can automatically transpile shaders back to 1.20 if needed). Having this feature in simplepbr today makes it possible to test the shader pipeline with games that use it and makes it ready for when it is merged.

Until the new shader pipeline is released, I think that support for 1.20 should be maintained, because we have users that are still limited to OpenGL 2.1.  Requiring GLSL 1.30 would shift the minimum requirement forward by a whole generation of graphics APIs.

I'm in agreement with @rdb. I was planning to keep explicit GLSL 1.20 support until at least Panda 1.11 releases with the new shader pipeline.
I think we can fix this in the shader by trying to enable the GL_EXT_gpu_shader4 extension when we hit this corner. If this also fails, then the hardware truly doesn't support hardware skinning (well, not without charging vertex data to avoid uvec4).

There are two good reasons:

Thanks for the explanation; that does make sense.

I'm in agreement with @rdb. I was planning to keep explicit GLSL 1.20 support until at least Panda 1.11 releases with the new shader pipeline.

Fair enough.

I think we can fix this in the shader by trying to enable the GL_EXT_gpu_shader4 extension when we hit this corner. If this also fails, then the hardware truly doesn't support hardware skinning (well, not without charging vertex data to avoid uvec4).

Sounds like a good solution.
Thanks in advance!

Well, it looks like Mesa (tried Intel and AMD) does not like enabling GL_EXT_gpu_shader4 with #version 120. I don't see another way to get uvec support for #version 120. I can at least add some better error handling. Probably something like if use_hardware_skinning is set but use_330 is not (either automatically or explicitly), then disable hardware skinning and display a warning.

Is it possible to index into an array using a dynamic value at all in GLSL 1.20, perhaps using a float cast to int?  Trying to figure out if there is a way to support some kind of hardware instancing in GLSL 1.20 is one of the pending items to figure out for the shader pipeline.

Yeah, we might be able to get away with a vec4 and some casting. We'll need to get the vertex data into the right format (can we use mungers for this)?
Although, we just need GLSL 130 for skinning. If the hardware really can only do 120, it probably doesn't have much overhead for hardware skinning and PBR. In other words, for the shader pipeline I'd consider:

If GLSL 130+, then inject hardware skinning instructions
Otherwise, fallback to software skinning (with a log message)

I don't think we need to munge the data, since OpenGL will be able to handle the cast internally (as long as we pass false for normalized to glVertexAttribPointer, but I think we are).  The question in my mind was whether GLSL 1.20 allows indexing into an array using a non-constant or non-dynamically-uniform expression.  But I just scanned the spec and it doesn't appear to be prohibited, and glslangValidator is OK with it too, so I think there's nothing in the way of supporting skinning in GLSL 1.20.
For the shader pipeline I think we still want to support skinning in GLSL 1.20, because macOS (and perhaps some other drivers) will only advertise GLSL 1.20 support in non-core-profile mode, even if they are capable of OpenGL 4.  It might be best to consider automatically translating an int attribute to float-and-cast so that users don't have to worry about this.  Probably easiest to handle this in SPIRV-Cross, actually, I'll have to consider filing a PR.

Hardware skinning now works when using 120 shaders, but it may still issue warnings (or possibly fail) on some drivers, so I am still defaulting hardware skinning to off when 330 shaders are not being used.


Only show services-info examples from the org

On the services and information pages for an organisation, we were
previously showing the most popular examples for each sub-topic
regardless of whether they were tagged to the organisation.  Instead,
only show examples which are tagged to the organisation.  This helps on
pages like the HMRC services and information page, where some sub-topics
(such as "Maritime safety") were showing no examples which were to do
with HMRC.
Before:

After:

[x] Product review
[x] Tech review

:+1:

Product reviewed by Ben Andrews.


Implement closeOnSelect

The option to closeOnSelect doesn't appear to be implemented in the current version.  I would love to activate that setting on my project. Could you implement it in the next version?

@dotansimha
Can I request that this request be handled, see the merge did happen into src code, but dist code however does not have it. Can it be that merge happened into src, but not the build task?

closeOnSelect has been implemented


RE: Minecraft Module API GetWhitelist

Bug Report
System Information

Linux Mint 21 x86_64
Release - <IP_ADDRESS> - 21/12/2022 17:54

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms
What are you trying to do?**

Check if a UUID/Username is Whitelisted via GetWhitelist API call.

What are you expecting to happen?**

It to return a updated/current listing of who is whitelisted.

What is actually happening? ('Nothing' is not an acceptable answer!)**

You can remove someone from the whitelist and when the API call returns; the results still have the removed UUID/User in the list.

Reproduction

Start up a Minecraft Instance
Add someone to the Whitelist via Console
Make the API call and see they are not in the list or the list is entirely empty.
Remove said User from the Whitelist via Console
Make the API call and see they are in the list despite being removed.
Use /whitelist list in the Console and see the correct list
Compare to GetWhitelist API call and notice they are not current.

Any Combination of Removing and Adding cause mixed results from what GetWhitelist returns. Making it unreliable for validation purposes.
Sometimes the GetWhitelist returns an empty list and thus my logic fails when seeing if the User is whitelisted.

The Whitelist API calls are defunct and not in use. They're a leftover from when there used to be a UI in AMP to manage the whitelist which has since been removed. These API calls should not be used.


Android - Declaring custom permissions for SDL services crashes other apps when opened

Clarification or Support Needed
I have developed a sample android app which uses SDL library(v5.2.0) for a feature that receives vehicle metrics from the car via Bluetooth. In order to secure the app's SDL related services, I have added a custom permission in the android manifest file. Correspondingly, I have also set this permission to SdlRouterService, SdlService service tag as well. The objective is to secure these services so that others apps on the device cannot access it.  Now I launched my sample app and it worked as expected(Connected to car headunit via Bluetooth). Parallely when I opened Cisco Webex app, the webex app keep crashing. Similary crash happens when I open any other app which uses SDL lib internally.
AndroidManifest.xml
       <permission
        android:name="com.sdl.hellosdlandroid.permissions.SYNC3"
        android:protectionLevel="signature" />

        <service
            android:name="com.sdl.hellosdlandroid.SdlService"
            android:permission="com.sdl.hellosdlandroid.permissions.SYNC3"
            android:foregroundServiceType="connectedDevice">
        </service>
        <service
            android:name=".SdlRouterService"
            android:exported="true"
            android:permission="com.sdl.hellosdlandroid.permissions.SYNC3"
            android:process="com.smartdevicelink.router"
            android:foregroundServiceType="connectedDevice">
            <intent-filter>
                <action android:name="com.smartdevicelink.router.service" />
            </intent-filter>
            <meta-data
                android:name="@string/sdl_router_service_version_name"
                android:value="@integer/sdl_router_service_version_value" />
        </service>

Crash logs capture at the time of cisco webex app crash
 Caused by: java.lang.SecurityException: Not allowed to start service Intent { cmp=com.sdl.hellosdlandroid/.SdlRouterService (has extras) } without permission com.sdl.hellosdlandroid.permissions.SYNC3         at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1680)         at android.app.ContextImpl.startForegroundService(ContextImpl.java:1638)         at android.content.ContextWrapper.startForegroundService(ContextWrapper.java:688)         at android.content.ContextWrapper.startForegroundService(ContextWrapper.java:688)         at com.smartdevicelink.transport.SdlRouterStatusProvider.bindToService(SourceFile:8)         at com.smartdevicelink.transport.SdlRouterStatusProvider.checkIsConnected(SourceFile:1)         at com.smartdevicelink.transport.SdlBroadcastReceiver$5.onListObtained(SourceFile:1)         at com.smartdevicelink.transport.RouterServiceValidator.createTrustedListRequest(SourceFile:23)         at com.smartdevicelink.transport.RouterServiceValidator.createTrustedListRequest(SourceFile:3)         at com.smartdevicelink.transport.SdlBroadcastReceiver.requestTransportStatus(SourceFile:8)         at com.smartdevicelink.transport.SdlBroadcastReceiver.access$200(SourceFile:1)         at com.smartdevicelink.transport.SdlBroadcastReceiver$3.onComplete(SourceFile:3)         at com.smartdevicelink.util.ServiceFinder.onFinished(SourceFile:2)         at com.smartdevicelink.util.ServiceFinder.access$000(SourceFile:1)         at com.smartdevicelink.util.ServiceFinder$2.onReceive(SourceFile:10)
Reproduction Steps

In the existing SDL sample app declare custom permission with protection level to signature. Also make both SDL services to abide by this permission.
Next, Install Cisco webex app or another sample app which uses SDL library internally.
Now launch your sample app. Make sure it get's connected to car headunit or simulator via Bluetooth. Then open cisco webex app or another sample app which uses SDL library.
You will now notice that Cisco webex app or another sample app keep crashing.

Expected Behavior
I was expecting that each app which uses SDL library internally for its feature would have their own SdlRouterService implementation. Obviously, those apps should be using their own router services only if they are trying to connect to car or simulator.
Observed Behavior
In my case other apps which uses SDL lib internally is trying to access my sample app's router service. Since I have declared a custom permission for my router services, the other apps which is trying to access it are getting crashed with the Security Exception.

Why would other apps access my SdlRouterService implementation although they have one?
Does this happen due to android:process="com.smartdevicelink.router" declared in the SdlRouterService?

Questions

Is it advisable to use custom permissions like this?

I had to try this method(declaring custom permissions) because the app security testing team are asking for protecting level of these services.
OS & Version Information

Android Version: 10
SDL Android Version: 5.2.0
Testing Against: Simluator and Car

Test Case, Sample Code, and / or Example App
I have added a sample snippet of Android Manifest file above.

Closing as not an issue.
Per the documentation:

What is the Android Router Service?
The Android OS has limitations around the availability of certain transports (Bluetooth RFCOMM channels, single app AOA/USB permissions). Therefore, SmartDeviceLink (SDL) introduced a service that operates as a router, using a single transport pipe and extending it to many different bound apps. The router service is part of the required integration to become SDL enabled and can be hosted by any of the SDL enabled apps on a phone. Some OEMs might choose to have their own companion app that always hosts a router service for their specific hardware.

This means that there is only ever one instance of the SDL Router Service running on the mobile device. So while each application contains the library and implementation of the service, only one app spins it up and other apps bind to it. Developers are not allowed to alter the contents of the SdlRouterService class if they wish to pass certification. Other applications have the ability to check and see if the hosted router service is trusted or not before they bind. So adding a custom permission will cause the crash as expected and therefore is not allowed for the SdlRouterService.
You are more than welcomed to add a custom permission to your own SdlService however if it is not exported then I do not believe it guarantees much more security.

Thank you @joeygrover  for the info.


(#73) Moved grpc/grpc dependency

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues
#73

Need a line for CHANGELOG.


[py/checks] Set urllib3's logger to WARN level by default

What does this PR do?
Sets urllib3's logger to WARN level by default
Motivation
Same approach as Agent 5. Avoids too verbose logging when requests
is used in a check.

Can you port the patch to datadog_checks_base? Or open an issue so we don't forget.


[FEATURE] Warn when the library packages the test folder as a module

Many packages, xyzservices, wrongfully packages the test folder as a module. If one tries:
grayskull pypi --strict-conda-forge xyzservices

we will see that grayskull correctly identify this issue by adding the test module in the import section:
test:
  imports:
    - tests
    - xyzservices.providers
    - xyzservices

We should use that in our advantage and warn users that this package does the "wrong" thing and will cause clobber errors with others that do the same. The reason we need a warning is b/c most of us got the habit of just deleting that line and ignoring the issue until it blows up in our face with a CondaClobberWarning :-)

Have also seen that with examples. But how about adding this to the linter instead?

Fixed with #280 and #279
Related to #262


cannot get the value of datepicker model

help!

Same thing happend to me.
Its not updating the model.
Did you solve it?

+1

check this issue! https://github.com/g00fy-/angular-datepicker/issues/90


Simulate libsodium sealed box ephemeral key encryption.

Thanks for the pull request, and welcome! The MaidSafe team is excited to review your changes, and you should hear from @Fraser999 (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTOR.md for more information.

Sorry Brian - the intent was to add further functions rather than replace the existing ones.  So we'd end up with eight functions: pre_computed_serialise, serialise, pre_computed_deserialise, deserialise
anonymous_pre_computed_serialise, anonymous_serialise, anonymous_pre_computed_deserialise, and anonymous_deserialise.
We also need to ensure that the comments for the anonymous versions reflect the fact that the recipient has no means of knowing who created the message.  For further info, see https://download.libsodium.org/doc/public-key_cryptography/authenticated_encryption.html and https://download.libsodium.org/doc/public-key_cryptography/sealed_boxes.html

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


[FEATURE] General Video Support

Describe the feature you want 描述你的功能需求
How could we add local video to dolt page? Currently it seems that it only support bilibili video.
Useful reference 有价值的参考

https://dev.to/hi_artem/add-a-video-to-your-hugo-website-104
https://discourse.gohugo.io/t/embedding-local-video-in-static-img-or-page-folder-to-website/20220

By checking the example,
we need a file video.html in the folder layouts/shortcodes with some adaptions

Thanks! I found I can view it from the website while I can't see that from the phone?