[material-ui][docs] Component index icons should be blue, not purple

Steps to reproduce 🕹
Open https://mui.com/material-ui/all-components/

Actual
Purple
Expected
Blue
Why?

Material UI brand is blue, not purple. Bootstrap brand is purple.
Purple doesn't look great as a color, subjective to my view, but I think we can back this up with data when looking at the big picture: https://www.linkedin.com/pulse/what-most-popular-color-world-natalia-golenkova/ (I took men as 80% of the developers)

Going with blue would reduce the need to customize the color for developers when they are in a hurry. And improve the default look & feel (on average, some will prefer purple)
Linked to #40256

I genuinely think the idea of a "Material UI brand" is super confusing; it doesn't make much sense to me. 😕  Doesn't the library follow Material Design's design specifications? If so, what's the point of having a slightly different Material Design visual that we categorize as "the Material UI brand"? If the goal is to implement MD as closely as possible, unless it hurts something super serious web development-wise, we shouldn't deviate from it (i.e., changing a core element such as the primary color). Our personal opinions about, for example, whether purple is a great color or not, are not as important; it's a decision MD made. In that sense, Bootstrap can do whatever as they don't intend to implement an existing design language as Material UI does with Material Design.
Material Design's primary color is purple (and the purple shades used in the illustrations were picked up from similar illustrations from their official site, as well as their official Figma design file).

Can I work on this issue?

Hey @roy9495 — thanks for the interest! I think we need to develop the discussion a bit more to evaluate if we even need to do something. Appreciate it. 👍


reddit.py

❓ Questions & Help

Hi all,
I was trying to run $ python examples/reddit.py, and I got this error:
Traceback (most recent call last):
File "examples/reddit.py", line 63, in
model = Net(dataset.num_features, dataset.num_classes).to(device)
File "examples/reddit.py", line 25, in init
self.conv1 = SAGEConv(in_channels, 16, normalize=False, concat=concat)
File "/h2/xchen/work/anaconda3/lib/python3.7/site-packages/torch_geometric/nn/conv/sage_conv.py", line 34, in init
super(SAGEConv, self).init(aggr='mean', **kwargs)
TypeError: init() got an unexpected keyword argument 'concat'
Similarly, some error like this:
Traceback (most recent call last):
File "examples/reddit.py", line 92, in
loss = train()
File "examples/reddit.py", line 73, in train
out = model(data.x.to(device), data_flow.to(device))
File "/h2/xchen/work/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call
result = self.forward(*input, **kwargs)
File "examples/reddit.py", line 33, in forward
res_n_id=data.res_n_id))
File "/h2/xchen/work/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in call
result = self.forward(*input, **kwargs)
TypeError: forward() got an unexpected keyword argument 'res_n_id'
Any idea?
Xuhao

You need to update your PyTorch Geometric version :)


AccessTokenResponse Cache is cleared with every new access token request

Describe the bug
At every new access toke request the cache is reinitialized.
So the cache will never contain more than one cached authorization token.
auth.access_token_client.py
class AccessTokenClient
def get_auth(self) -> AccessTokenResponse:
        """
        Get's the access token
        :return:AccessTokenResponse
        """
        global cache

        cache_key = self._get_cache_key()
        try:
            access_token = cache[cache_key]
        except KeyError:
            cache_ttl = 3600
            access_token = None
            if not access_token:
                request_url = self.scheme + self.host + self.path
                access_token = self._request(request_url, self.data, self.headers)
            else:
                cache_ttl = access_token.get('expires_in')
            cache = TTLCache(maxsize=10, ttl=cache_ttl - 15)  # <---- THE CACHE IS CLEARED HERE
            cache[cache_key] = access_token
        return AccessTokenResponse(**access_token)

Expected behavior
The cache should be initialized only once and be updated when a new access token is requested.
Additional context
In addition to this issue, it would also be very useful to be able to set the TTLCache maxsize to a value greater than 10 since we usually cycle through more than 10 authorizations.
This applies to :
auth.access_token_client.py
cache = TTLCache(maxsize=10, ttl=3600)
grantless_cache = TTLCache(maxsize=10, ttl=3600)

base.client.py
role_cache = TTLCache(maxsize=1000, ttl=3600)
A good solution in my opinion would be to have the maxsize as an environmental variable or 10 by default.
Thanks

Thanks, I'll have a look!

Hi Michael, this is great!!
Can you add the SP_API_AUTH_CACHE_SIZE also to the role_cache in the base.client.py?
Thanks a lot for your awesome work.

Hey Michael, if you are going to improve the cache system, it might be a good idea also to reduce the TTL.
Since 3600 seconds is the exact expiration time for the tokens it might happen that after finding a token in the cache it expires before he actual API request is made.
{'message': 'The security token included in the request is expired', 'code': 'Unauthorized'}
Thanks


Moving cardano-client-adapter from hydra-java to BloxBean project

As agreed we are moving cardano-client-lib-adapter from hydra-java to the new suppliers module. Once this move is completed, we will remove or deprecate cardano-client-lib-adapter module within hydra-java project (https://github.com/cardano-foundation/hydra-java).

@matiwinnetou As hydra-java is now available in maven-central, we can start  planning to merge this PR


[webview_flutter] Adds support to listen to url changes

This PR follows the procedure for changing federated plugins: https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#changing-federated-plugins
This is the aggregate solution for https://github.com/flutter/flutter/issues/27729 and is NOT intended to be submitted. This will be split into PRs for each package after approval of this PR.
This adds the PlatformNavigation.setOnUrlChange(UrlChange) method to track url changes.
Android adds support for this with the WebViewClient. doUpdateVisitedHistory
iOS adds support by observing the value WKWebView.URL. Since the WKWebView.URL would pass back an NSURL to the observeValue callback, the observeValue callback would need to distinguish the difference when returning an int or an identifier. So the ObjectOrIdentifier data class was created to handle this. Alternatives considered:

Convert NSURL to an NSString. This would work for this situation, but wouldn't work for a class that can't be easily converted to a String.
Create a separate observeValue callback method for returning an identifier. Potentially named observeIdentifier. This doesn't work for returning a list of Objects.

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

We've just completed the migration of the plugin code to the flutter/packages repository, as described in https://flutter.dev/go/flutter-plugins-repo-migration, and this repository is now being archived. Unfortunately that means that all in-progress PRs here must be moved to flutter/packages.
Please see our instructions for an explanation of how to move your PR, and if you have any issues moving your PR please don't hesitate to reach out in the #hackers-ecosystem channel in Discord.
Our apologies that your PR was caught in this one-time transition. We're aware that it's disruptive in the short term, and appreciate your help in getting us to a better long-term state!


Feature/add tsc alias

Use tsc alias to add .js file extension to the ES bundled files to avoid import error when trying to use kiota in JavaScript environment

Replaced by: https://github.com/microsoft/kiota-typescript/pull/1225


SSL errror when upgrading to .NET core 3.1

Hi,
We are using .NET core on an API gateway in combination with service fabric. As a result of upgrading .NET core from 2.0 to 3.1 https has stopped working.
This is an extra of a CURL call displaying the error:

Trying xxxxxxx...
Connected to xxxxxx.se (xxxxx) port 8081 (#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile<EMAIL_ADDRESS>CApath<EMAIL_ADDRESS>TLSv1.3 (OUT), TLS handshake, Client hello (1):
error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
It is an issue hard to reproduce. Could this be caused by an incompatibility with the service fabric listeners? I see that TSL1.3 has being enforced.

Any ideas?
OS: Windows Server 2016
Service fabric:
<PackageReference Include="Microsoft.ServiceFabric" Version="6.2.283" />
<PackageReference Include="Microsoft.ServiceFabric.AspNetCore.Kestrel" Version="3.1.283" />
<PackageReference Include="Microsoft.ServiceFabric.Data" Version="3.1.283" />
<PackageReference Include="Microsoft.ServiceFabric.Services" Version="3.1.283" />
<PackageReference Include="Microsoft.ServiceFabric.Services.Remoting" Version="3.1.283" />

Thanks,
José.

I forced .NET to use TLSv1.2 and it worked on a single node. Now the problem I am facing is that in production only about 1 out of 5 times (approx.) I get response through https the rests are just plain HTTP response. This is very confusing I am starting to think that this could be a Service fabric issue.

@javiercn


Library size - SVG list

Hey,
Nice library you wrote.
But I have one question/suggestion - for my use case I prefer to have the smallest possible library and I noticed that the list of the svg tags is probably the biggest unused (in my case :) ) chunk.
Of course I can just rip it of in my fork but may be you have a  better idea how to make svg support optional in order to have leaner solution.
I would imagine other cases will benefit from it as well, as in unconstrained environment one can just go for React.

💯


SPTrustedSecurityTokenIssuer: Added support for specifying both thumbprint and path

Pull Request (PR) description
Added possibility to specify path and thumbprint for the certificate so that it is impossible to inadvertently change the certificate on disk either by accident or maliciously. The certificate will be verified to match the specified thumbprint when importing using bot parameters.
This Pull Request (PR) fixes the following issues
Task list

[x] Added an entry to the change log under the Unreleased section of the
file CHANGELOG.md. Entry should say what was changed and how that
affects users (if applicable), and reference the issue being resolved
(if applicable).
[x] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Community Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[ ] New/changed code adheres to DSC Community Style Guidelines.

This change is

@jensotto Great addition, but you do need to update the unit tests as well. They are now failing and preventing the merge.


Certain emails not sending when using SES as ESP

What's working:

sending forgotten password email via sendgrid or ses
sending new user email via sendgrid

NOT working:

sending new user email via ses

so, indication that it's related to SES, but only when a certain type of email template is being sent.
plan to create standalone emailer scripts, test against both servers and try to reproduce the component causing the failure in this case

look also at differences between the templates which work and don't work - sending to multiple recipients. sending and receiving from same address?


feat(generators): update to use @web/dev-server

Fix #1843
Please let me know if there is any place missing.
Also, I see that this check security/snyk (daKmoR) — 1 test has failed is failing, not sure if I need to do something ?
Thanks !

Not sure why snyk is failing on this 🤔
@daKmoR could you check?

The linter is complaining that the mocha versions are not in sync, the monorepo uses v6 elsewhere. We could update it, but probably for a separate PR.

It was using version 6.2.2 in 3 other places. I have change it now (and executed the lint this time, sorry 😐 )
Also, I think I made a mess with the commits (I did the initial ones before have yarn executed, so the scope was incorrect - generators where it should be create). I tried to fixed now but got worse
Are you able to fix it in the merge process or should I recreate the PR with the correct commits ?

No worries we can squash the commits.

No worries we can squash the commits.

Ok, Anyway I just pushed it fixed, hope everything is ok now.
Please let me know if there is anything else needed to fix/change.
Thanks !

Thanks!


Android exports with Use Gradle Build create larger outputs

Godot version
4.0.3 stable
System information
Windows 10, OpenGL 3.3
Issue description
Hi
when I export my project, my export file is 100MB, after using a custom template my apk file becomes 30MB, but when use Gradle build it's become 100mb again, why? it is a bug or can not have both?
Steps to reproduce

Build a custom template
Install the Android build template
Add Android export
Add your path of the custom template
check using gradle build
export

Minimal reproduction project
N/A

Are you building an AAB with the Gradle build? If so, it's expected to be larger as it contains binaries for all architectures (rather than a single architecture in the APK as you've probably configured in the Android export preset).

How do you set up the custom template? The custom Release and Debug template fields are prebuilt APKs, and thus only used for APK export (not Gradle builds).
For a custom Gradle build, you should reinstall the source template that you compiled yourself. I don't remember if there's an option for a custom source template in the preset or if you should unzip it manually in your project's res://android folder.

Are you building an AAB with the Gradle build?

APK v7 and v8

How do you set up the custom template?

https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_android.html
https://docs.godotengine.org/en/stable/contributing/development/compiling/optimizing_for_size.html

docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_android.html

That page seems slightly outdated (or more like it lacks important information on the Gradle build source template).
When you compiled from source, it should have generated bin/android_source.zip.
Then you should remove any existing res://android folder, and reinstall the source template using that self-compiled zip.
You can do that by unzipping it manually as res://android/build, or copying bin/android_source.zip to the templates folder as described in that page, or use the "Install from File" option from that dialog if it shows up when pressing "Install Android Build Template..."

docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_android.html

That page seems slightly outdated (or more like it lacks important information on the Gradle build source template).
When you compiled from source, it should have generated bin/android_source.zip.
Then you should remove any existing res://android folder, and reinstall the source template using that self-compiled zip.
You can do that by unzipping it manually as res://android/build, or copying bin/android_source.zip to the templates folder as described in that page, or use the "Install from File" option from that dialog if it shows up when pressing "Install Android Build Template..."

tnx but I get an error

To be sure, can you check which version of Godot you compiled from source?
You mentioned using Godot 4.0.3.stable, so you need to make sure that the custom Android template that you compile is for that same version, otherwise it can lead to compilation errors like this.
The error could also be something else of course, CC @m4gr3d who might have more insights.

To be sure, can you check which version of Godot you compiled from source?

My Godot 4.0.3
My Godot source is 4.0.3 and everything needed for export is 4.0.3

To be sure, can you check which version of Godot you compiled from source?
You mentioned using Godot 4.0.3.stable, so you need to make sure that the custom Android template that you compile is for that same version, otherwise it can lead to compilation errors like this.
The error could also be something else of course, CC @m4gr3d who might have more insights.

`# Generated using https://godot-build-options-generator.github.io
disable_3d = "yes"
optimize = "size"
minizip = "no"
module_basis_universal_enabled = "no"
module_bmp_enabled = "no"
module_bullet_enabled = "no"
module_camera_enabled = "no"
module_csg_enabled = "no"
module_dds_enabled = "no"
module_enet_enabled = "no"
module_gdnative_enabled = "no"
module_gltf_enabled = "no"
module_gridmap_enabled = "no"
module_hdr_enabled = "no"
module_jpg_enabled = "no"
module_meshoptimizer_enabled = "no"
module_minimp3_enabled = "no"
module_mobile_vr_enabled = "no"
module_navigation_enabled = "no"
module_multiplayer_enabled = "no"
module_noise_enabled = "no"
module_ogg_enabled = "no"
module_opensimplex_enabled = "no"
module_openxr_enabled = "no"
module_opus_enabled = "no"
module_pvr_enabled = "no"
module_regex_enabled = "no"
module_stb_vorbis_enabled = "no"
module_svg_enabled = "no"
module_tga_enabled = "no"
module_theora_enabled = "no"
module_upnp_enabled = "no"
module_vhacd_enabled = "no"
module_visual_script_enabled = "no"
module_vorbis_enabled = "no"
module_webm_enabled = "no"
module_webrtc_enabled = "no"
module_websocket_enabled = "no"
module_webxr_enabled = "no"
`
this is my custom.py, can this make a problem?

I encoutered the same problem. My source code version is 4.1.1.rc and I build android release template myself with and disable_3d=yes. the generated android_release.apk and android_source.zip are all around 30MB.
1, when  is disabled, the output apk size is 16MB.
2, when  is enabled and  is apk, the output apk size is 48MB
3, when  is enabled and  is aab, the output aab size is 16MB again.
Can anyone figure out why this happen?

I encoutered the same problem. My source code version is 4.1.1.rc and I build android release template myself with and disable_3d=yes. the generated android_release.apk and android_source.zip are all around 30MB.
1, when "use gradle build" is disabled, the output apk size is 16MB.
2, when "use gradle build" is enabled and "export format" is apk, the output apk size is 48MB
3, when "use gradle build" is enabled and "export format" is aab, the output aab size is 16MB again.
Can anyone figure out why this happen?

today I export Android with Godot v4.1 and the file size is 38MB but when using gradle build it enables the size to go up to 121MB why size is so big?

@BITQinDynasty I'm used this tweak, and it's shrink to 20.5mb (with custom android source).

android:extractNativeLibs="true"

@BITQinDynasty我使用了这个调整，它缩小到 20.5mb（使用自定义 android 源）。
UPD：但是，由于空指针取消引用，这会导致游戏崩溃。 UPD2：没关系，看起来这是我的自定义 Android 源中的问题。要去解决这个问题。 UPD3：使用默认的 android 构建模板并设置 android:extractNativeLibs="true" 我们得到 28.1mb，与 67.5mb 相反。

Adding Android: extractNativeLibs="true" has solved the problem, and I hope the default template can be added

@DexterFstone Can you use the Android Studio apk analyser to check what the generated apk contains.

android:extractNativeLibs="true"

@BITQinDynasty我使用了这个调整，它缩小到 20.5mb（使用自定义 android 源）。
UPD：但是，由于空指针取消引用，这会导致游戏崩溃。 UPD2：没关系，看起来这是我的自定义 Android 源中的问题。要去解决这个问题。 UPD3：使用默认的 android 构建模板并设置 android:extractNativeLibs="true" 我们得到 28.1mb，与 67.5mb 相反。

Adding Android: extractNativeLibs="true" has solved the problem, and I hope the default template can be added

solved

Should we consider enabling this option by default @m4gr3d ?

Should we consider enabling this option by default @m4gr3d ?

There are tradeoffs in doing so, notably slower app load time

Although your APK might be larger, your application loads faster because the libraries load directly from the APK at runtime.

https://developer.android.com/guide/topics/manifest/application-element#extractNativeLibs
https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl

Should we consider enabling this option by default @m4gr3d ?

There are tradeoffs in doing so, notably slower app load time

Although your APK might be larger, your application loads faster because the libraries load directly from the APK at runtime.

https://developer.android.com/guide/topics/manifest/application-element#extractNativeLibs
https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl

But now that the option is enabled in template, why is it not enabled in Gradle build?

@scgm0 What's the minSdk value you set when using the gradle build?

But now that the option is enabled in template, why is it not enabled in Gradle build?

The reason for it is that android:extractNativeLibs=true used to be the default behavior up until api 23. So apks compiled with minSdk < 23 default to that and have their native libraries compressed, while apks with minSdk >= 23 have their native libraries uncompressed by default.
The minimum sdk we support is 21. As such the template apks are generated with android:extractNativeLibs=true automatcially.
The gradle build on the other hand has a default min sdk of 24 (for proper vulkan support), so by android:extractNativeLibs is set to false for those builds.


Don't wait for a chan that will never close

Fixes a subtle bug where we assumed we would always have a background task when we have a trace object. This would cause trace.Close() to hang indefinitely.
The fix is to use a waitgroup instead of a semaphore channel. Then we add to the waitgroup when we spawn a background task.

LGTM.
You could also create the channel at the point the where you add to the WaitGroup, and then in Close check if the channel is not nil before waiting on it.

Good to know! Are there any advantages compared to using a waitgroup?
My reasoning with the waitgroup is that if another future trace/reporter wants to do a background task they can do so easily by incrementing a waitgroup rather than managing multiple channels (or doing this refactor).

Are there any advantages compared to using a waitgroup?

It is more about conveying meaning, with the channel it clearly says you are waiting on one thing. I don't think it really matters here.


Trigger staging release - bundles 54

Description of changes:
Triggering bundles staging release
/hold
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/test eks-anywhere-presubmit

/lgtm

/approve
/unhold

/test eks-anywhere-presubmit


NRK gives Unable to download JSON metadata: <urlopen error [Errno 51] Network is unreachable>

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.06.06
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dl -v -s --no-geo-bypass -i https://tv.nrk.no/serie/fantus-og-maskinene/sesong/1
youtube-dl
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-s', '--no-geo-bypass', '-i', 'https://tv.nrk.no/serie/fantus-og-maskinene/sesong/1']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.6 (CPython) - macOS-11.5.2-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4, rtmpdump 2.4
[debug] Proxy map: {}
[NRKTVSeason] fantus-og-maskinene/1: Downloading season JSON
ERROR: Unable to download JSON metadata: <urlopen error [Errno 51] Network is unreachable> (caused by URLError(OSError(51, 'Network is unreachable')))
  File "/usr/local/Cellar/youtube-dl/2021.6.6/libexec/lib/python3.9/site-packages/youtube_dl/extractor/common.py", line 634, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/Cellar/youtube-dl/2021.6.6/libexec/lib/python3.9/site-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File<EMAIL_ADDRESS>line 523, in open
    response = meth(req, response)
  File<EMAIL_ADDRESS>line 632, in http_response
    response = self.parent.error(
  File<EMAIL_ADDRESS>line 555, in error
    result = self._call_chain(*args)
  File<EMAIL_ADDRESS>line 494, in _call_chain
    result = func(*args)
  File<EMAIL_ADDRESS>line 747, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File<EMAIL_ADDRESS>line 517, in open
    response = self._open(req, data)
  File<EMAIL_ADDRESS>line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File<EMAIL_ADDRESS>line 494, in _call_chain
    result = func(*args)
  File "/usr/local/Cellar/youtube-dl/2021.6.6/libexec/lib/python3.9/site-packages/youtube_dl/utils.py", line 2735, in https_open
    return self.do_open(functools.partial(
  File<EMAIL_ADDRESS>line 1349, in do_open
    raise URLError(err)

Description

I've had this issue for months now, and I can't seem to figure out what the issue is. I've tried different machines (macos and Linux), with and without VPN. Different DNS servers (mostly using my own pihole).
Download specific episodes work ie. youtube-dl --no-geo-bypass -i https://tv.nrk.no/serie/fantus-og-maskinene/sesong/1/episode/1 – so the issue is downloading whole season json.
(Tried with and without --no-geo-bypass flag)
Seems like there could be an issue with me having lyse fiber?
I did try to manually set the DNS to <IP_ADDRESS>, flush dns, verified it resolved to the <IP_ADDRESS>, but got the same result.
Any input?

This is resolved in git master, or 57b9a4b4c6cf2580b5007db78bd333a9a237fd47.


Enh/add auth

Description:

This PR shall represent a draft for adding a potential authentication layer based on fastapi.security to the FastApi-app.
For this procedure, the OTEAPI_AUTH_DEPS-env can be enabled, which underlies a similar syntax like the OTEAPI_PLUGIN_PACKAGES-variable. The major difference is that the single modules are referencing to the individual class of the Python-package-regex: my_package.my_module.my_class.
Of course, one has to be careful hiding the OTEAPI_AUTH_DEPS-variable to the outside world, since it may lead to similar security concerns such as the OTEAPI_PLUGIN_PACKAGES-env.
An example of the overall variable my look like that:
my_module.my_class | my_other_module.my_other_class
When this example variable will be parsed during start-up of the app, my_class and my_other_class will be imported and hence result in:
FastApi(dependencies=[Depends(my_class()), Depends(my_other_class))]
This gives the flexibility that a developer can come up with its own authentication scheme.
Moreover, my_class or my_class might be a childclass of the common classes from the fastapi.security-module such as HTTPBasic or  HTTPBearer and can provide a callback-function by overriding the __call__-method:
MyHttpAuth(HTTPBearer):
        async def __call__(self, request: Request) -> str:
                auth = await super().__call__(request=request)
                my_callback_function(auth.credentials)
                return auth.credentials

The token from the auth.credentials may then be further used for authentication to OntoRec etc.
I am keen towards your feedback and suggestions for improvement!
Type of change:

[ ] Bug fix.
[x] New feature.
[ ] Documentation update.

Checklist for the reviewer:

This checklist should be used as a help for the reviewer.

[ ] Is the change limited to one issue?
[ ] Does this PR close the issue?
[x] Is the code easy to read and understand?
[ ] Do all new feature have an accompanying new test?
[ ] Has the documentation been updated as necessary?

@CasperWA :
I added a unit test for checking the retrieval of the token from the configs or the request headers. While running the pytests in docker_compose_dev.yml manually via cli in the container, all tests exit successfully. However, the SecretStr seems to be censored to "******" only during the docker-build. Is it maybe related that the DummyCache for the pytests are using different json_encoders  for SecretStr in different environments?
FYI: I made the exposure of the redis-cache endpoint optional, since I think this might not be desired in various prodcution scenarios as explained in the AppSettings here.

@CasperWA, I think all threads are resolved. As soon as this PR is merged, we can update this line in the requirements.txt and the branch would be ready to be merged as well here.

@CasperWA, I think all threads are resolved. As soon as this PR is merged, we can update this line in the requirements.txt and the branch would be ready to be merged as well here.

It's a reality! You can update to minimum v0.3.0, i.e.: ~=0.3.0.

Hmm, I can't immediately penetrate the test error messages. Do you mind if I take a stab at it locally and commit a fix, if I find one? Otherwise I'll just let you know the issue and you could commit :)

Hi @CasperWA,
I can reproduce locally. But I am puzzled what is the difference to the previous dev-version of the  SecretConfig and the current one from oteapi-core==0.0.3.  I will try yo investigate

@CasperWA, I have figured out the issue.
The routes in the redisadmin was doing a type check while returning the data from the DummyCache. In my example I use the redis-endpoint in order to test whether the token has been retrieved through the config or through the request-headers.
Nevertheless, the DummyCache should also return a str, because the sessions/configs are serialized via the json-method in the routers of each single strategy (see json.dumps in the test_data for the pytest). This leads us to the opportunity, that we can neglect the json.dumps in the get-method of the DummyCache and the conversion from JSON-str to a dict works properly via json.loads in all routers.

@MBueschelberger Could you comment on the last part, Then this can be merged and I can look at the OTELib PR that depends on this.

@MBueschelberger merge at will :)


spirv can't Debug in Source in RenderDoc with "-emit-spirv-directly" option

I want to debug in RenderDoc using slang source, but it doesn't work.
The command line is:
.\slangc hello.hlsl -profile sm_5_0 -entry frag -o shaders\hello.frag.spv -O0 -g3 -line-directive-mode none -emit-spirv-directly

With "-emit-spirv-directly" option, the source is display in RenderDoc, but can't debug. If I remove "-emit-spirv-directly" option, it could Debug in Source, but the Source is glsl.
It's possible that my usage is incorrect. Please advise me on the correct usage.
the shader is:
static const float4 positions[3] = {
    float4( 0.0,  0.5, 0, 1),
    float4(-0.5, -0.5, 0, 1),
	float4( 0.5, -0.5, 0, 1)
};

static const float3 colors[3] = {
	float3(1.0, 0.0, 0.0),
	float3(0.0, 1.0, 0.0),
	float3(0.0, 0.0, 1.0),
};

struct VSInput
{
    uint vertexId : SV_VERTEXID;
};

struct VSOutput
{
	float4 Pos : SV_POSITION;
    [[vk::location(0)]]
    float3 Color : COLOR0;
};

[shader("vertex")]
VSOutput vert(VSInput input)
{
	VSOutput output = (VSOutput)0;
	output.Color = colors[input.vertexId];
	output.Pos = positions[input.vertexId];
	return output;
}

[shader("pixel")]
float4 frag(VSOutput input) : SV_TARGET
{
	return float4(input.Color, 1);
}

Source step through debugging with Slang's direct-to-spirv backend is planned for later of the year.
A new issue tracking the development of this functionality is created here: https://github.com/shader-slang/slang/issues/3475
Closing this issue now.


Fix account history

This small change will allow transaction history to be displayed on both the current version and on agave


Implement automatic reload of canvas in case the previous one is found

closed because of better version.

Added the version from Paolo and reopened.


month view and timezone

Hi
how do i get the utc date when clicking on a date instead of the timezone date.. im in timezone +1 and when clicking on 14/3 i get 13/3-23:00 as the event date ... my problem is when i sent this to my backend i have field in my DB with a date type, and when that is saved it saved as 13/3 and not the 14/3 which i want!
kind regards
c_bb

You can use moment (as here) nad configure it to use UTC time for displaying time.

Hi Burtek
can't seem to get it to work .. could i get you to make a plunker example? I would appreciate that very much
kind regards
c_bb

I will, but please provide me with exact info what do you want to achieve? You want to have both calendar and events displayed with correct date and time (what timezone?) and data saved on server in UTC?

I'm closing this issue, should you need help, provide details and I'll be more than happy to help you.

You can use moment (as here) and configure it to use UTC time for displaying time.

Can you show me how to configure it to use UTC time?  I want to be able to set the calendar's timezone.  I see how to set it to use moment but I can't see how to set the display timezone.
Thanks!

You can use moment (as here) and configure it to use UTC time for displaying time.

@burtek Can you show me how to configure it to use UTC time?  I want to be able to set the calendar's timezone.  I see how to set it to use moment but I can't see how to set the display timezone.
Thanks!


Vdebug fails to launch debugger buffers for PHP

#328  was closed but is not fixed.
The issue remains for me even after updating to commit 4b5616b.
The connection is made and script execution of the PHP stops but the buffers are not loaded and then the connection is dropped by Vdebug.
Debugging output.
- [Debug] {Tue 13 2018 15:58:49} ** ReloadKeymappingsEvent
- [Debug] {Tue 13 2018 15:58:59} ** SetBreakpointEvent
- [Debug] {Tue 13 2018 15:58:59} Replacing local path
  (/Users/kepford/Sites/client/vagrant/client) with remote path
  (/home/vagrant/client)
- [Info] {Tue 13 2018 15:58:59} Adding line breakpoint, id 11000
- [Debug] {Tue 13 2018 15:59:09} Started
- [Debug] {Tue 13 2018 15:59:09} Listening on port 9000
- [Debug] {Tue 13 2018 15:59:13} Found client, ('<IP_ADDRESS>', 49909)
- [Debug] {Tue 13 2018 15:59:13} Finishing socket server
- [Debug] {Tue 13 2018 15:59:14} Setting buffer for DebuggerStack: []
- [Debug] {Tue 13 2018 15:59:14} Setting buffer for DebuggerStatus: []
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'inoremap <expr> <Up> pumvisible() ? "\" : "\<Up>"
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'inoremap <expr> <Down> pumvisible() ? "\" : "\<Down>"
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'nnoremap <Down> :resize -1
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'nnoremap <Up> :resize +1
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'nnoremap <Right> :vertical resize -1
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'nnoremap <Left> :vertical resize +1
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'vnoremap <Right> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'onoremap <Right> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'vnoremap <Left> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'onoremap <Left> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'vnoremap <Down> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'onoremap <Down> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'vnoremap <Up> <Nop>
'
- [Debug] {Tue 13 2018 15:59:15} Storing existing key mapping, 'onoremap <Up> <Nop>
'
- [Info] {Tue 13 2018 15:59:15} Closing the connection
- [Debug] {Tue 13 2018 15:59:15} Command: stop -i 1
- [Debug] {Tue 13 2018 15:59:15} Response: <?xml version="1.0" encoding="iso-8859-1"?>
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stop" transaction_id="1" status="stopped" reason="ok"></response>
- [Debug] {Tue 13 2018 15:59:15} Closing the socket
- [Debug] {Tue 13 2018 15:59:15} Closing the socket
- [Debug] {Tue 13 2018 15:59:15} Creating hidden buffer: ['']
- [Debug] {Tue 13 2018 15:59:15} Creating hidden buffer: ['']
- [Debug] {Tue 13 2018 15:59:15} Creating hidden buffer: ['Status: stopped', 'Listening on port', 'Not connected', '', 'Press <Leader>/ to start debugging, q to stop/close. Type :help Vdebug for more information.']
- [Debug] {Tue 13 2018 15:59:15} Creating hidden buffer: [' 11000   | line
  | /Users/kepford/Sites/client/vagrant/client/docroot/index.php:17']
- [Debug] {Tue 13 2018 15:59:15} Creating hidden buffer: []
- [Debug] {Tue 13 2018 15:59:15} Creating hidden buffer: []
- [Debug] {Tue 13 2018 15:59:15} Closing the socket

+1, I have the same issue (Linux terminal, Neovim). Similar log output overall (except the "Storing existing key mapping" ones).

+1, me too: Ubuntu 16.04, Neovim:
Vdebug log:
- [Debug] {Tue 27 2018 05:08:59} Setting buffer for DebuggerWatch: []
- [Debug] {Tue 27 2018 05:08:59} Setting buffer for DebuggerStack: []
- [Debug] {Tue 27 2018 05:08:59} Setting buffer for DebuggerStatus: []
- [Info] {Tue 27 2018 05:08:59} Closing the connection
- [Debug] {Tue 27 2018 05:08:59} Command: detach -i 1
- [Debug] {Tue 27 2018 05:08:59} Response: <?xml version="1.0" encoding="iso-8859-1"?>
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="detach" transaction_id="1" status="stopped" reason="ok"></response>
- [Debug] {Tue 27 2018 05:08:59} Closing the socket
- [Debug] {Tue 27 2018 05:08:59} Closing the socket
- [Debug] {Tue 27 2018 05:08:59} Closing the socket
- [Debug] {Tue 27 2018 05:08:59} Creating hidden buffer: ['']
- [Debug] {Tue 27 2018 05:08:59} Creating hidden buffer: ['']
- [Debug] {Tue 27 2018 05:08:59} Creating hidden buffer: []
- [Debug] {Tue 27 2018 05:08:59} Creating hidden buffer: []
- [Debug] {Tue 27 2018 05:08:59} Creating hidden buffer: []
- [Debug] {Tue 27 2018 05:08:59} Creating hidden buffer: ['']
- [Debug] {Tue 27 2018 05:08:59} Closing the socket

Xdebug log:
Log opened at 2018-03-27 02:15:03
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Checking header 'REMOTE_ADDR'.
I: Remote address found, connecting to <IP_ADDRESS>:9009.


Minimum version

Not long ago, there was information for the minimum version for every feathure. Now it's removed! How I can know in which version SEQUENCE object appear?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3fe1f7ad-1e14-ed5e-992c-1037500f20f1
Version Independent ID: f4a6dbbf-0273-536c-f3f2-2e56b1c7bc28
Content: ALTER SEQUENCE (Transact-SQL) - SQL Server
Content Source: docs/t-sql/statements/alter-sequence-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @CarlRabeler
Microsoft Alias: carlrab

@kalatchev for the general page about sequence in SQL Server 2014, for instance - you can go here https://docs.microsoft.com/en-us/sql/relational-databases/xml/xml-data-sql-server?view=sql-server-2014 - for the actual syntax - such as the CREATE SEQUENCE or ALTER SYNTAX statement, these topics are version agnostic. Within each such topic, there should be (and most times there is, but not always) "Applies to" tags to identify when a new argument, for example, was added. See, for example ALTER INDEX https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-index-transact-sql
all this said, if you have a specific question about ALTER SEQUENCE not working as expect, please advise and we will try to get you assistance.
Finally, for this particular topic, I searched the GitHub history and do not see any versioning information being removed.
Cheers, Carl

Thank you, @CarlRabeler . Despite your explanation, I was not able to find information in which version sequences are introduced. The main topic ( https://docs.microsoft.com/en-us/sql/relational-databases/sequence-numbers/sequence-numbers ) has not such info.
IMHO version information is very important for every developer and it should be available on almost every page. Also, I think the documentation should not follow support lifetime, but to be like time machine, as there are installations of old servers and they should be maintained somehow. In fact, our company still supports SQL Server 2012, which is missing in documentation.

No 2012?!? My suspucion is that sequences appeared there.
Today people use both software and hardware much longer than before (which is the reason PC market is much lower than before). And ISV's have to adapt and support very old versions and systems. My proposal is to establish kind of Archived Docs site, where to put a copy of documentation and downloads for such needs. It could be a read-only dump of current site, just for reference. Yes, I know is database driven, but it's not impossible.

For 2012 docs, go to https://www.microsoft.com/en-us/download/details.aspx?id=347

For 2014, go to https://www.microsoft.com/en-us/download/details.aspx?id=42557

Well, that makes sense :smile: Little bit inconveniently, but solves the problem. Thanks.

I know, it is something that we are aware of and working on.


[Combine] Full combine support

Full Combine support

currently the combine support is more of reading/writing the tellurium combine archives. These does not implement the general Combine Archive specification (especially subfolders are not handled)
writing archives with results (i.e. executed experiment archives)

This has been solved by switching to libcombine.
Writing archives with results is covered by #207


Decorators make invalid assumptions about the target URL pattern when redirecting

Abstract
I think the redirect_to parameter of the decorators (e.g. @waffle_flag) make invalid assumptions about the destination view, namely that they have the same set of arguments as the decorated view.
Background
The @waffle_flag decorator supports supplying a redirect_to argument, which can contain a URL pattern to redirect to if the flag isn't set. To determine the URL to redirect to, waffle uses the following function:
def get_response_to_redirect(view, *args, **kwargs):
    try:
        return redirect(reverse(view, args=args, kwargs=kwargs)) if view else None
    except NoReverseMatch:
        return None

This basically makes the assumption that the URL structure of the decorated view closely matches the URL structure of the redirected to view. It does that by trying to reverse the redirection URL pattern using the args and kwargs of the decorated view.
Where does the assumption that these two match come from? Why should or must these two match?
Example case
Here's a simple counter example.
urls.py:
url(r'^show/(?P<entity>.+)/$', views.show, name='show'),
url(r'^failure/', views.failure, name='failure'),

The show view is our main view. When the feature flag isn't enabled, we want to redirect to failure.
And here's the corresponding views.py:
@waffle_flag('feature1', redirect_to='failure')
def show(request, entity):
    return HttpResponse('success: ' + str(entity))

def failure(request):
    return HttpResponse('failure')

I think this is really straightforward and should work. I would expect that If the flag is set, and /show/foo/ is opened, it displays success: foo. If the flag is unset, it should redirect to /failure/.
However, because show expects a parameter entity, waffle assumes that failure will take the same parameter, which it doesn't. So the @waffle_flag fails to find a view matching the redirect_to and instead generates a 404.
Do you agree that this behavior is unexpected and really unfortunate?

I agree that is confusing. I would expect the passing of args and kwargs to be optional, controlled via boolean toggle. I'm happy to review a PR fixing this.

What is the use case for the submitting the arguments from one view to another? I don't quite see why there should be a boolean toggle for this.

Backward-compatibility. We don't know who is relying on this functionality. What may be "wrong" to us may be a feature to someone else.

@clintonb Ah, so you're saying you would also let this toggle default to the old behavior then, I assume?

That’s correct.


Switch decisions.txt to decisions.csv #107

Switched decision.txt with decisions.csv in all the files .
Pull Request
Title
Switched decision.txt with decisions.csv in all the files .

Description
Switched decision.txt with decisions.csv in all the files .

Issue link: https://github.com/microsoft/vasim/issues/107

Type of Change

🔄 Refactor

Testing

Hi, thanks for getting started on this! Did you close the PR because you will begin another one?


Remove an assert from visitForwardedGuaranteedOperands

Some guaranteed forwarding instructions have multiple operands: mark_dependence, ref_to_bridge_object.
The corresponding instruction types checked here already have documentation that the forwarded operand is the first operand. The assert is overly cautious, and checking for indiviudal opcodes would be tedious maintenance.

@swift-ci smoke test and merge


Australia EPG not loading

Shows Australia as passing but no guide info is showing up on every channel

Another Australian EPG Sourcing :
https://i.mjh.nz/Stirr/
https://i.mjh.nz/SkySportNow/
https://i.mjh.nz/SkyGo/
https://i.mjh.nz/Singtel/
https://i.mjh.nz/Foxtel/
And also DSTV South Africa EPG
https://i.mjh.nz/DStv/

Was working, down again

Was working, down again

Another Australian EPG Sourcing :
https://i.mjh.nz/Stirr/ https://i.mjh.nz/SkySportNow/ https://i.mjh.nz/SkyGo/ https://i.mjh.nz/Singtel/ https://i.mjh.nz/Foxtel/
And also DSTV South Africa EPG
https://i.mjh.nz/DStv/

Cool thanks!

@Shifty0wl Is the EPG currently working properly?
https://iptv-org.github.io/epg/guides/au/ontvtonight.com.epg.xml

At this exact moment it is working. Seems to work for a day, then down a day then work a day

Yeah so the Australian EPG is down again

Strange, it works fine for me:


fix handle Status in beta rowset writer

Proposed changes
Handle Status returned from subroutine in beta rowset writer.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


[QUESTION] Does it exist the concept of context for a request?

Before you submit this issue, you has been search all existed issues and search the documentation

[X] I've been search all existed issues
[X] I've been read all documentation

Describe your question
Hi,
I'm performing authentication using AOP. I have created a class used with annotation that checks the Authentication header and the validity of scopes. I would like to store the user associated with the JWT token in the context of the request to avoid calling later the database or redis or whatever. In other frameworks exist the concept of Context, where you can store data associated to a request.
Is there something like this in hyperf?
Thanks.

You can use Hyperf\Context\Context

Please, @limingxinleo, correct me if I'm wrong
I understand them that if I do:
Context::set('user.id', $decoded->sub);

I will be able to access the value with
Context::get('user.id');

In the context of the request. It will not be shared between requests.
Thanks a lot for your help.

Yes, you are right.


Added organization to glossary

Change-Id: Idb808019dd4f5aba465e364523ab0d7085aa1cea

Thanks for the contribution! this is a read-only mirror. please read the contribution guide.


Examples: Remove Apex Legends

This code has been moved to the apexbot repository.

why? how to i get apex offset?

why? how to i get apex offset?

Just reverse this game with IDA?


[BUG] All links result in 404 when Serve Uploads From is filled with a valid domain

Describe the bug
I have noticed that I have 4 zombie processes. After checking ps it was clear that these processes are from Chibisafe Docker container. I have decided to restart the container using docker stop chibisafe and docker start chibisafe.
Later that day I have discovered that all file URLs from Chibisafe won't work anymore.
{"message":"Route GET:/L64W0bmCWIKV.png not found","error":"Not Found","statusCode":404}

but:
$ docker exec -it chibisafe sh
/home/node/chibisafe # find . -name '*L64W0bmCWIKV*'
./uploads/thumbs/L64W0bmCWIKV.webp
./uploads/thumbs/square/L64W0bmCWIKV.webp
./uploads/L64W0bmCWIKV.png

Uploading images works fine, but the newly uploaded image still does not have a thumbnail and the permalink returns a 404.
To Reproduce
Steps to reproduce the behavior:

Restart the container
See that all thumbnails in the dashboard are gone and none of the links work.

Expected behavior
I would like to be able to restart the container without unforeseen consequences.
Screenshots

Additional context
Latest, manual build from master.
docker-compose.yml

services:
  chibisafe:
    image: chibisafe/chibisafe:latest
    container_name: chibisafe
    build:
      context: ./
      dockerfile: ./Dockerfile
    volumes:
      - /var/docker_volumes/chibisafe/database:/home/node/chibisafe/database
      - /var/docker_volumes/chibisafe/uploads:/home/node/chibisafe/uploads
      - /var/docker_volumes/chibisafe/logs:/home/node/chibisafe/logs
    ports:
      - 24424:8000
    restart: unless-stopped

Startup log:
[+] Running 1/0
 ⠿ Container chibisafe  Created                                                                                0.0s
Attaching to chibisafe
chibisafe  | Prisma schema loaded from src/prisma/schema.prisma
chibisafe  | Datasource "db": SQLite database "database.sqlite" at "file:../../../../database/database.sqlite"
chibisafe  |
chibisafe  | 4 migrations found in prisma/migrations
chibisafe  |
chibisafe  |
chibisafe  | No pending migrations to apply.
chibisafe  | Prisma schema loaded from src/prisma/schema.prisma
chibisafe  |
chibisafe  | ✔ Generated Prisma Client (4.15.0 | library) to ./../../node_modules/@prisma/client in 271ms
chibisafe  | You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
chibisafe  | ```
chibisafe  | import { PrismaClient } from '@prisma/client'
chibisafe  | const prisma = new PrismaClient()
chibisafe  | ```
chibisafe  | Prisma schema loaded from src/prisma/schema.prisma
chibisafe  | Datasource "db": SQLite database "database.sqlite" at "file:../../../../database/database.sqlite"
chibisafe  |
chibisafe  | 4 migrations found in prisma/migrations
chibisafe  |
chibisafe  |
chibisafe  | No pending migrations to apply.
chibisafe  | Prisma schema loaded from src/prisma/schema.prisma
chibisafe  |
chibisafe  | ✔ Generated Prisma Client (4.15.0 | library) to ./../../node_modules/@prisma/client in 217ms
chibisafe  | You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
chibisafe  | ```
chibisafe  | import { PrismaClient } from '@prisma/client'
chibisafe  | const prisma = new PrismaClient()
chibisafe  | ```
chibisafe  | Chibisafe is listening on <IP_ADDRESS>:8000

All files are there (with proper owner/group/chmod), the database is there:
sqlite> select count(*) from files;
215

Once again, Node is leaving zombie processes:
root      533401  0.0  0.0<PHONE_NUMBER>4 ?        Sl   13:51   0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 2155ed16181228b6c9712d89104719bcd705e5bf59da567bc44fa01130e3a435 -address /run/containerd/containerd.sock
root      533421  0.1  0.5<PHONE_NUMBER>2 ?        Ssl  13:51   0:00  \_ node /opt/yarn-v1.22.19/bin/yarn.js start
root      533681  0.0  0.0      0     0 ?        Zs   13:51   0:00      \_ [node] <defunct>
root      533715  0.6  0.6<PHONE_NUMBER>4 ?        Sl   13:51   0:01      \_ /usr/local/bin/node /home/node/chibisafe/.yarn/releases/yarn-3.6.0.cjs start
root      533726  0.8  0.6<PHONE_NUMBER>6 ?        Sl   13:51   0:01      |   \_ /usr/local/bin/node /home/node/chibisafe/.yarn/releases/yarn-3.6.0.cjs workspace @chibisafe/backend start
root      533951  0.0  0.4<PHONE_NUMBER>6 ?        Sl   13:52   0:00      |       \_ /usr/local/bin/node /home/node/chibisafe/node_modules/cross-env/src/bin/cross-env.js NODE_ENV=production NODE_PRESERVE_SYMLINKS=1 node -r tsconfig-paths/register dist/main.js
root      533958  1.1  0.9 21387328 111864 ?     Sl   13:52   0:02      |           \_ /usr/local/bin/node -r tsconfig-paths/register dist/main.js
root      533846  0.0  0.0      0     0 ?        Zs   13:51   0:00      \_ [node] <defunct>
root      533933  0.0  0.0      0     0 ?        Zs   13:52   0:00      \_ [node] <defunct>

I've figured it out.
It's Serve Uploads From fault.
When filled with a valid domain name (in my case img.example.com) it breaks all the links.
Leaving it blank solves the issue.
Still, it looks like a bug to me.

Yeah, this is intended. If the Serve Uploads From option is set then chibisafe will no longer serve the files and it would be up to you to serve them via other means (nginx, caddy, apache, etc.) on the domain you specify.
This should probably be made clearer.

We just updated the wording for the setting in hopes it's not confusing any more https://github.com/chibisafe/chibisafe/commit/385a1cf30b5f67d808877352fb66a5d03a211968
As for the zombie processes, I'm not sure where to even begin checking what could be the issue if it actually is one. No unusual memory usage or cpu from those processes I assume?

Thanks for changing the wording, now it's clear.
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       10011  0.0  0.0      0     0 ?        Zs   Aug11   0:00      \_ [node] <defunct>
root       10188  0.0  0.0      0     0 ?        Zs   Aug11   0:00      \_ [node] <defunct>
root       10267  0.0  0.0      0     0 ?        Zs   Aug11   0:00      \_ [node] <defunct>

Yup, zero resources usage.

Thank you for reporting this, we'll keep an eye on it and check if it becomes a problem or at the very least determine why it happens.


WLED light settings after 5 second sleep

Just trying to get some clarification (or customization) on what is happening with the lights after the locate function. It looks like this portion here (arrowed) is sending that code but after looking at the WLED api documentation I am not sure what I would change this to
def lights(position, pi):
start_num = int(position) - 1
send_request(pi, start_num, int(position), [255, 255, 255]) # Convert color value to [0, 0, 0, 255] to only use white part of LED (RGBW LEDs only).
time.sleep(5) # Change how long the LED stays on for.
---> send_request(pi, 0, 60, [0, 255, 0])  <----
Is it possible to send a command back that would let it go back to the existing effect setting? For my instance I had scanner selected with pink/blue colors but now I am getting green and blue. Something to note is that I do have to change the RGB sequence in WLED for these strips to function correctly. (The color order is GRB in my settings)

Yeah it's kind of annoying in that way, I tried getting it to go back to previous settings after the locate function. But the only reliable way I've seen other people do it, is by running yet through node-red on home assistant. And that adds a whole layer of complexity. You can modify the request to include effects, but I don't do that in the code because I would be making an assumption that everyone likes the same effects I do.

Thanks for confirming and yep that makes sense. I just modified the script to a color code of my choice and it's working as desired :)


Print encoders

This PR contains the following features:

Moves encoder/decoder to its own package
Prints encoder/decoder to companion object.
Avoids the creation of encoder/ decoder for basic types.
Converts objects without properties to io.circe.Json
Creates reusable printers (e.g. objectDef, caseClassWithCodecsDef)
Prints encoders/decoders for anonymous objects.
Prints encoders/decoders for Enums.

This is a continuation of the following previous PRs:

https://github.com/higherkindness/skeuomorph/pull/102
https://github.com/higherkindness/skeuomorph/pull/97
https://github.com/higherkindness/skeuomorph/pull/90
https://github.com/higherkindness/skeuomorph/pull/81

You can find, the objectives for all these PRs here: https://github.com/47deg/marlow/issues/188

Generating http4s client code based on a Open API specification using http4s v0.20 and 0.18 using circe to encode/decode.

In general I appreciate critiques of my code, however it would be useful if the comments were more constructive and specific (with practical examples to support your perspective). Bear in mind that this is not the first PR that I asked you to review. You have reviewed all my previous PRs, then it would be valuable if you could give constructive criticism that aligns with Agile principles (incremental and iterative).
@vil1 Given this and the context (we are using Printer), how do suggest we write code in a more structured and more testable way?  As you are inferring that all the other modules are the clearest,  the most testable and compile?  If that is the case, could I ask if you are comparing the same thing in terms of the complexity and scope of the problem (spec, protocol and code generated)?  Could you provide any insights on good practice that you have encountered in the other modules that could be incorporated into my module? Last question, what do you mean when you say: reason about the code generated? Are you referring to algebraic reasoning?
I would love the idea of using the scala.meta at this stage, however, I understand that @pepegar is going to introduce this later. Adopting this approach would achieve a code that is a compilable and more testable.

@vil1 If you are referring to the use of the distributive/divisible operators (>|<, *<, and >*), or the contraMap functions, I can see your point. It is not as clear as in an interpolated string, or a quasi-quote, to see what code our program is generating.
I learned about these divisible operators from a nice and brief talk that @pepegar gave about these type-classes in the latest Lambda-World, in the Typelevel unconference. This project is one of the major usages for those type-classes that I have seen, and I am intrigued by the results. I do admit that I myself would not have gone for that at first, and would have used interpolated strings with plain Scala, or perhaps the contextual library. However, Benigno has also pointed to me the type-safety benefits of these operators, as opposed to interpolated strings.
As mentioned in my comment, I understand that @BeniVF and @pepegar are already discussing an eventual migration to Scalameta, which would allow to use  a) an immutable model for ASTs, making tests less susceptible to spacing concerns; b) delegating the printing to the libraries that underly scalafmt; and 3) use in our source code the scalameta quasiquotes, which would enable for some compile-time checks on the syntax. If they go ahead, that would solve some of our concerns.

In general I appreciate critiques of my code, however it would be useful if the comments were more constructive and specific (with practical examples to support your perspective). Bear in mind that this is not the first PR that I asked you to review. You have reviewed all my previous PRs, then it would be valuable if you could give constructive criticism that aligns with Agile principles (incremental and iterative).
@vil1 Given this and the context (we are using Printer), how do suggest we write code in a more structured and more testable way?  As you are inferring that all the other modules are the clearest,  the most testable and compile?  If that is the case, could I ask if you are comparing the same thing in terms of the complexity and scope of the problem (spec, protocol and code generated)?  Could you provide any insights on good practice that you have encountered in the other modules that could be incorporated into my module? Last question, what do you mean when you say: reason about the code generated? Are you referring to algebraic reasoning?
I would love the idea of using the scala.meta at this stage, however, I understand that @pepegar is going to introduce this later. Adopting this approach would achieve a code that is a compilable and more testable.


Support for GS-1331 (Kamvas 13)

I've got the new Kamvas 13 (not the pro), and I'm really wanting to switch to Linux. Unfortunately, the drivers for my tablet and the art software are the only things I use preventing this switch.
I don't know how hard it would be to add the support, or if it would just work with one of the similar tablets in the config.ini, but I didn't see the Kamvas 13 in it, so I'm assuming it won't work.
If not, that's alright. I understand that it's probably a lot of work for a tablet not a lot of people are currently using.

Hello CammiePone,
For Kamvas 13 may you test in config.ini
current_tablet = [tablet_gt133]
?
Olivier, Kamvas Pro 13 user under Ubuntu and Raspberry

I can try next chance I get, but I don't expect it to work perfectly. The Kamvas 13 uses a newer pen, has two buttons instead of a slider, and has some extra functionality that the Kamvas Pro 13 lacks.

Hello CammiePone,
I think is the same pen. The slider is on a border of tablet for pro version.
The important thing is compile uclogic, install all requested softwares (xinput xserver-xorg-input-evdev python3-evdev python3-usb xdotool libnotify-bin arandr python3-numexpr) then create the xorg config file.
Good luck,
Olivier

The Kamvas Pro 13 uses the PW507,  whilst the Kamvas 13 uses the PW517. The touch bar of the pro was replaced by two extra buttons on the regular Kamvas 13, meaning I'd likely lose out on functionality there. While I'm sure I could get a hackjob working, I'd be missing pieces that I consider vital to drawing, hence why I made the issue to add support for the tablet.

I've also got the new Kamvas 13 and I use Ubuntu 18.04. I only suggests a slight improvement to the solution suggested by Olivier.
I wrote the minimal variant of the configuration for Kamvas Pro 13 with corrected button information which goes as follows:
[tablet_gs1331] model_name    = GS1331 screen        = true screen_width  = 1920 screen_height = 1080 pen_max_x     = 58752 pen_max_y     = 33048 pen_max_z     = 8191 resolution    = 5080 buttons       = 8 pen_min_tilt  = -60 pen_max_tilt  = 60
When I execute the script, the buttons work quite well (of course, after defining a new menu with 8 buttons) but the pen is not recognized before restart. In debug mode though, the printing instructions for the positions of the pen appear in the terminal but the mouse pointer is not moved.  After reboot, the pen PW517 works quite well, it seems to be calibrated even in the corners, but the buttons aren't working anymore. If I run the script again after reboot, it disables the pen and the 8 buttons work again.
Any idea on how to fix this issue would be welcome.
Best,
Yoann

I continue  my previous comment. I have finally solved my installation issue of my Kamvas 13, as explained in a comment of the closest bug I have found #41 . So I can confirm that if one follows the installation instructions for the driver, with the above configuration I suggested yesterday current_tablet = [tablet_gs1331], then both the buttons and pen work fine and are properly calibrated (at least in miror display). Note that, with respect to the Kamvas Pro 13, I removed the line scrollbar     = 1 since there is no scrollbar on the Kamvas 13. Note also that the calibration values are exactly those given by the debug mode (based on uclogic-decode), so that they should really be the correct values.
Good luck,
Yoann

Yes, I think I got it perfectly function. The script works as it is for me. I didn't try to use the monitor settings of the script in config.ini yet. I am used to setting several screens by hand. This was easier at first, but this will definitely help to include my preferred settings once and for all there and I am confident this will work fine too.


The subsetMaf function is ineffective for screening samples and genes.

The subsetMaf function passes the parameters 'tsb' and 'genes' to filter samples and genes. The dataframe filter statement uses the column name directly, causing the filter result to be empty:

Error in subsetMaf(maf = pancan, tsb = selected_samples) :
Subsetting has resulted in zero non-synonymous variants!

maf.dat = maf.dat[Tumor_Sample_Barcode %in% tsb, ]
maf.dat = maf.dat[Hugo_Symbol %in% genes, ]
Whether it should be written this way：
maf.dat = maf.dat[maf.dat$Tumor_Sample_Barcode %in% tsb, ]
maf.dat = maf.dat[maf.dat$Hugo_Symbol %in% genes, ]

Hi,
I have trouble reproducing the issue.
data.table syntax allows columns to be referred to as if they are variables. We do not need to add the prefix $ each time (although its perfectly acceceptable)

I'm sorry.I found that some samples in my data lacked clinical information.


integrate shadcn components

Integrate shadcn components. To keep it simple, I tried to not change the UI much and stick with the current look and feel.
Test Plan

Checklist

[x] Tests updated
[ ] Docs updated

Screenshots

Thanks for working on this! @andrecasal is working on updating the tailwind config as well with #146 so I'm concerned there will be overlap in the effort here. Maybe it would be best for me to just do this myself?
I definitely don't want to bring in components that aren't actually used in the app.

Yes. Should be easy to discard the components that are not used currently. Was debating myself on starter with a bunch of handy UI components vs having only the necessary ones and leaving it up to user for the rest.
Yes. I realized that @andrecasal  was looking into the tailwind config, so kept the changes to a minimum. This could serve as a starter for more changes. Feel free to close this, if you are looking into making these changes yourself.

This is done now #224


Change the logger print channel to not interfere with tqdm

Change the logger print function to the tqdm internal print function (during and just during the web scrape process). This will make with new process bars not be created every time that the logger print into the terminal (somethink like https://www.youtube.com/watch?v=9jNcjdQxEV8&t=223s).
References to tqdm discussion:
https://github.com/tqdm/tqdm/issues/514#event-1514638064
https://github.com/tqdm/tqdm/issues/313#issuecomment-346819396 (The better way is create a class to overwrite the write function handle).
Conceptual visual effect:
from tqdm import tqdm, trange
import time
for x in trange(10):
    tqdm.write('hello')
    time.sleep(1)

This issue need to be fixed before #144.

https://github.com/tqdm/tqdm/blob/master/examples/redirect_print.py

This is creating a double print from the get_part_html_tree().
With the line logger.addHandler(TqdmLoggingHandler()) in kicost.py the output is like:
tme ['U1202#2']
tme ['U1202#2']
Unknown error for LM4040DIX3-5.0+T from tme
Unknown error for LM4040DIX3-5.0+T from tme
Part ['U1202#2'] not found at tme.
Part ['U1202#2'] not found at tme.

Without the line logger.addHandler(TqdmLoggingHandler()) in kicost.py the output is like:
tme ['U1202#2']
Unknown error for LM4040DIX3-5.0+T from tme
Part ['U1202#2'] not found at tme.

Maybe the passed handle worked but not disable the common output, so the text is printed twice and the process bar doesn't stay do end.

Found the error, is related with this wrong directive:
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(log_level)
logger.addHandler(handler)

Missing fix when using multiprocess scrape.

This issue have a step back since the #262. I will re-analyze before assigned myself again.


Add confirmation support for service call buttons

Some of my existing HA Buttons and Tiles use confirmations via tap_action to prevent accidental clicks/taps from executing actions. Some of these actions include reboot or activation of specific devices which could be potentially disruptive/dangerous if triggered at the wrong time. I rely on user confirmation to ensure that these actions aren't executed unintentionally.

(Partial YAML Config)
type: tile
entity: script.network_appliance_power_cycle
tap_action:
  action: call-service
  service: script.network_appliance_power_cycle
  target: {}
  confirmation:
    text: Power Cycle Appliance?
.......

I added the same tap_action configuration to a service call tile button which runs a script different from the Tile's target entity and found that the confirmation dialog was not displayed when clicking/tapping the button.
I'd like the ability to apply a confirmation to service call tile buttons similar to how tap_action works for HA Tiles and Buttons (https://www.home-assistant.io/dashboards/actions/)
Example HACS add-on using tap_action: https://github.com/benct/lovelace-multiple-entity-row/blob/168f25138458bc78f3c18401104a000dbbb4da41/src/index.js#L36

Bad news: the custom-card-helpers package is out of date and seems to have been possibly abandoned despite it's popularity.
Good not great news: Instead of opening a HA styled confirmation window custom-card-helpers opens a browser confirm() window, so I'm going to opt to do that.

Added confirmation support in v2.0.6


[vcpkg baseline][g2o] Update to 2024-12-14

Update to the latest version to fix the following issues.
D:\b\g2o\src\230806_git-93792713b9.clean\g2o\core\optimizable_graph.cpp(483): error C2039: 'join': is not a member of 'fmt'
D:\installed\x86-windows\include\fmt/ostream.h(25): note: see declaration of 'fmt'
D:\b\g2o\src\230806_git-93792713b9.clean\g2o\core\optimizable_graph.cpp(483): error C3861: 'join': identifier not found
D:\b\g2o\src\230806_git-93792713b9.clean\g2o\core\optimizable_graph.cpp(483): error C2672: 'spdlog::logger::error': no matching overloaded function found
D:\installed\x86-windows\include\spdlog/logger.h(252): note: could be 'void spdlog::logger::error(const T &)'

[X] Changes comply with the maintainer guide.
[X] SHA512s are updated for each updated download.
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version.~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

Usage test passed with x64-windows triplet.

Upstream tracking issue 856.

This is a CI Pipeline issue, marked info:reviewed without a response from upstream.


Remove length check from unix::crypt to match crypt(3) behavior

The documentation for unix::crypt describes it as a "Unix crypt(3) work-alike." However, when unix::crypt falls back to the DES option based on the salt, it returns an error if the argument is not 13 characters. This does not match the behavior of crypt(3), which allows any salt length. For example, this C snippet compiles and runs without error using GCC 5.4.0 on Ubuntu 16.04:
#include <assert.h>
#define _GNU_SOURCE
#include <crypt.h>
#include <stdlib.h>

int main()
{
	assert(crypt("foo", "bar") != NULL);
	return 0;
}

This PR removes the length check from unix::crypt and removes a test with a salt that is not 13 characters that expects an error.

You're right, removing the check makes the function that more crypt(3)-compatible.
My intention was to limit the creation of hashes to algorithm::hash() functions, and keep unix::crypt() mostly for checking the existing hashes, where the length check works as a first-line defense against malformed input. However, I'm not against making unix::crypt() closer to its libc counterpart, and since the checks in des_crypt::unix_crypt() will catch any salt errors, I'll accept the patch.
Thanks for the PR!


Add  title logo

Add logo on the title while looking good for user.

Oki

#188 assign to me I don't want to work on #187

what you are trying to add is a favicon , we already have an issue for it , so kindly find some other issue to work on


Event for this.context.application.navigatedEvent fires twice, event args are empty

I have code something like in the repro.
This code is registered as a application extension to run on all pages. The dialog comes up twice each time, once on navigation away, and the other on navigation to I believe, but the event args don't have anything in them, so I can't distinguish in the code if I should fire the dialog. I only want it to fire when the page is navigated to, not away from.
Category

[X] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
I would expect that the event args would have an identifier if the event was away from or to the page.
Observed Behavior
event fires twice and no event args
Steps to Reproduce

Create a application extension for running script on all pages-
https://github.com/SharePoint/sp-dev-docs/blob/master/docs/spfx/extensions/guidance/migrate-from-usercustomactions-to-spfx-extensions.md

In the extension, place code something like this-

/** A Custom Action which can be run during execution of a Client Side Application */
export default class HelloWorldApplicationCustomizer
extends BaseApplicationCustomizer {
@override
public onInit(): Promise {
Log.info(LOG_SOURCE, Initialized ${strings.Title});
let message: string = this.properties.testMessage;
if (!message) {
  message = "(No properties were provided.)";
}

this.context.application.navigatedEvent.add(this, this.showAlert);
return Promise.resolve();

}
public showAlert(args1:EventArgs):void {
let message: string = this.properties.testMessage;
if (!message) {
message = "(No properties were provided.)";
}
// args1 doesn't have any data to distinguish
Dialog.alert("test");
}
}
Try the extension and note after a few navigations between modern pages (as=json) it starts showing the dialog twice.
I did notice if I switched to a simple js alert("test") statement, you can tell it fires once on the page leaving, and the second time on page entering. The Dialog doesn't, but I think that is due to some async code in that class.

I have the same problem!

I have the problem too !!
I noticed that if i arrive on a site through the home page, i get events when leaving the page and when enering the new one and if i rrive on the site through another page, i only get an event when leaving the page...
@VesaJuvonen : could you provide a reliable documentation explaining how navigatedEvent are supposed to work ? When are they triggered ? What are the eventArgs supposed to be ?
We would like to change the content of the top placeholder based on the page we're on and change it when the user scrolls into the page but right know, we can't manage to do that because depending on the situation, we do not have the same navigatedEvents fired...

Hello,
I have the same problem, did you find a solution ?

This is under investigation currently by the product team and they have some idea of what may be causing the issue. I should hear back soon.

We've got the same issue and have a workaround in place to limit what we're doing on navigated to once per navigation. If there's interest I'll post our workaround.

Hi @jonthenerd,
I am really interested in your workaround to narrow navigatedEvents to only one occurrence. can you share it with us please ?
Many thanks

Hi,
The issue is still present in SPFx 1.6. Have you guys found a solution/workaround?

@patmill any ideas?

I’ll try and post my workaround by end of week. It’s working for 1.4.1 but I don’t see why it wouldn’t work for higher.

From: Mikael Svenson<EMAIL_ADDRESS>Sent: Wednesday, September 12, 2018 10:27 AM
To: SharePoint/sp-dev-docs
Cc: Jon Badgett; Mention
Subject: Re: [SharePoint/sp-dev-docs] Event for this.context.application.navigatedEvent fires twice, event args are empty (#1871)
@patmillhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpatmill&data=02|01||16e5e2ae95734234edd908d618c4503d|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636723628764804486&sdata=pusEN46Mbflbl2hN0SrSobYGwmAVcVsS6TvS76IrbOI%3D&reserved=0 any ideas?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSharePoint%2Fsp-dev-docs%2Fissues%2F1871%23issuecomment-420690802&data=02|01||16e5e2ae95734234edd908d618c4503d|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636723628764804486&sdata=Rd0WmpbqBFAvLWMlUUiMLX1fvpgvaeVFLUzVx8WQ48c%3D&reserved=0, or mute the threadhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAC-MAbodLphfTnQDw0Icf1foxUK26PHwks5uaSf5gaJpZM4UDa4x&data=02|01||16e5e2ae95734234edd908d618c4503d|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636723628764804486&sdata=NMsOUAOeGAAqYa0qpnnnIxrS9C0L%2BFQzEPnfzrlYcfY%3D&reserved=0.

Here's the workaround code. This is working in 1.4.1. Using this code, if you have something you need to run on initialPageLoad you'll need to plumb it yourself. The second firing on navigating away is mitigated by just keeping track of the last known page location.
export default class YourCustomizer {
  private currentPage = "";
  private isInitialLoad = true;

  private getFreshCurrentPage(): string {
    return window.location.pathname + window.location.search;
  }
  private updateCurrentPage(): void {
    this.currentPage = this.getFreshCurrentPage();
  }

  private navigatedEvent(): void {
    const navigatedPage = this.getFreshCurrentPage();
    if (!this.isInitialLoad && (navigatedPage !== this.currentPage)) {
      this.realNavigatedEvent();
      this.updateCurrentPage();
    }
    this.isInitialLoad = false;
  }

  private realNavigatedEvent(): void {
    // TODO: Your work that depends upon the page changing
  }
}

I noticed indeed that the navigatedEvent is being called twice when coming from an "internal" url, so basically when the partial loading kicks in.
I think a better solution would be if there was a navigatingEvent and a navigatedEvent, being fired when leaving and entering a page respectively.

Same problem. SPEventArgs contains no info about the type of event.

Is there anywhere to track this fix, and see when it's likely to arrive? We're getting desperate for this one! Thanks

This is active now on my developer tenant

The fix hit my tenant today, it appears to be working as expected now.

This in on my tenant now, which has fixed the firing twice issue. Now does anyone know how to delay the firing until after the navigated page has loaded? At the moment it seems to happen first, so document.location.pathname returns the previous page url where the link was clicked, rather than the one that has just been navigated to.

Seems fixed on my Dev tenant now

@dg2000r yes I noticed that aswell and I find this is very unfortunate.
Don't know if this is the right thing to do, but as a workaround I am now passing the serverRequestPath from the sp context as prop to my react components.

@mirkori Thanks, serverRequestPath at least solves part of issue so I can see which page has been navigated to. The rest of my problem is that I then need to access the DOM of that page but I don't have a workaround for that yet.

Does anyone have any recommendations or updates on this? We're experiencing the same issue.

These are not the original issue which was fixed and confirmed (double event firing). Please file a new issue if you have other issues you are running into.


Fix slow Scala2 subtype check for long twiddles

Resolves typelevel/twiddles#15

@mpilquist any chance you got to take a look at this?
Thanks and Happy New Year!

Sorry, I missed this one. Looks good, thanks!


PHP 8.1 compatibility

It's not possible to compile the mongodb php extension for PHP 8.1.
Here's the relevant output of the compilation log:
cc [...]  -c src/MongoDB/BulkWrite.c -MMD -MF src/MongoDB/BulkWrite.dep -MT src/MongoDB/BulkWrite.lo  -fPIC -DPIC -o src/MongoDB/.libs/BulkWrite.o
In file included from mongodb-1.10.0/src/MongoDB/BulkWrite.c:26:
mongodb-1.10.0/src/MongoDB/BulkWrite.c: In function 'php_phongo_bulkwrite_init_ce':
mongodb-1.10.0/php_phongo.h:174:21: error: 'zend_class_serialize_deny' undeclared (first use in this function); did you mean 'zend_ce_serializable'?
   ce->serialize   = zend_class_serialize_deny;   \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
mongodb-1.10.0/src/MongoDB/BulkWrite.c:669:2: note: in expansion of macro 'PHONGO_CE_DISABLE_SERIALIZATION'
  PHONGO_CE_DISABLE_SERIALIZATION(php_phongo_bulkwrite_ce);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mongodb-1.10.0/php_phongo.h:174:21: note: each undeclared identifier is reported only once for each function it appears in
   ce->serialize   = zend_class_serialize_deny;   \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
mongodb-1.10.0/src/MongoDB/BulkWrite.c:669:2: note: in expansion of macro 'PHONGO_CE_DISABLE_SERIALIZATION'
  PHONGO_CE_DISABLE_SERIALIZATION(php_phongo_bulkwrite_ce);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mongodb-1.10.0/php_phongo.h:175:21: error: 'zend_class_unserialize_deny' undeclared (first use in this function); did you mean 'zend_unserialize_data'?
   ce->unserialize = zend_class_unserialize_deny; \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mongodb-1.10.0/src/MongoDB/BulkWrite.c:669:2: note: in expansion of macro 'PHONGO_CE_DISABLE_SERIALIZATION'
  PHONGO_CE_DISABLE_SERIALIZATION(php_phongo_bulkwrite_ce);

I'm not sure how to fix this. Maybe https://github.com/igbinary/igbinary/blob/3.2.4/src/php7/igbinary.c#L112-L122 could be the solution?

FYI: You opened this issue on the library repository, but the extension has its own repository and issue tracker in mongodb/mongo-php-driver. The new issue template also calls attention to that.
In any event, PHP 8.1 compatibility is currently being tracked in PHPC-1850 and there is a ticket specifically for the serialization issue (PHPC-1849). Thanks for pointing out the fix in https://github.com/igbinary/igbinary/commit/ddc68d59cdd784f538942f650c3e8d84a1db10ff. I'll ensure that's referenced on the PHPC ticket for context when we're able to start on it.

Sorry about the mess, I was on a hurry...


Principal.mo uses deprecated function

https://github.com/dfinity/motoko-base/blob/8028da2d691151a3202d7539b5828a7a381f40c6/src/Principal.mo#L80
It is a little weird if the base library itself uses deprecated functions because it produces compiler warnings that the user cannot do anything about. Shall we inline the Array.append function here?

Thank for the contribution. I think Array.freeze will copy the whole array which means your code would not gain anything over the existing code.
I would just copy the definition of Array.append into Principal.mo and not replace the line. Because having only one line makes it easy to read. Or, alternatively, inline Array.append here which is essentially Array.tabulate.

Hi Timo,
Thanks for the heads-up about Array.freeze. Totally see your point about the potential extra copy. I've tweaked the code to inline the Array.append logic, aiming for efficiency without losing clarity. Here's what it looks like now:
let hashSumArray = Blob.toArray(hashSum);
let combinedSize = Array.size(crc32Bytes) + Array.size(hashSumArray);
let combinedArray = Array.init<Nat8>(combinedSize, func i {
  if (i < Array.size(crc32Bytes)) {
    return crc32Bytes[i];
  } else {
    return hashSumArray[i - Array.size(crc32Bytes)];
  }
});

return Blob.fromArray(combinedArray);

Would love to know if this sits right with you. If it does, I can get the PR ready.
Cheers.

Thank for the contribution. I think Array.freeze will copy the whole array which means your code would not gain anything over the existing code.
I would just copy the definition of Array.append into Principal.mo and not replace the line. Because having only one line makes it easy to read. Or, alternatively, inline Array.append here which is essentially Array.tabulate.

Just a quick follow-up on our previous discussion. I've gone ahead and inlined Array.tabulate directly for now, as it seemed to make the code neater and this specific logic isn’t used elsewhere in Principal.mo. But I’ve also prepared a version that keeps the one-liner style by copying the Array.append logic into a new function. I'm open to your opinion on which approach fits best with the overall code structure.
Here is the other version (external auxiliary function outside the toLedgerAccount func:
  /// Append two arrays into a new array.
  ///
  /// @param array1 The first array to append.
  /// @param array2 The second array to append.
  /// @return A new array containing the elements of array1 followed by the elements of array2.
  public func appendArrays<X>(array1 : [X], array2 : [X]) : [X] {
    let size1 = Array.size(array1);
    let size2 = Array.size(array2);
    Prim.Array_tabulate<X>(
      size1 + size2,
      func i {
        if (i < size1) {
          array1[i]
        } else {
          array2[i - size1]
        }
      }
    )
  };

By the way, I was proactively setting up the PR, but I hit a snag with some failing tests in the master branch, specifically the RBTree test, which has held up my PR submission. I'll keep you posted once that's sorted out.
Thanks


No v0.31 windows release?

Our build/deploy infrastructure is having some issues with the Windows build, which we're working on. I'm hoping to have the 0.31 windows release up early next week.
We're also holding off publishing 0.31 to flow-bin and homebrew until we get this worked out.


kube-prometheus manifests still on alpha rbac

What did you do?
hack/cluster-monitoring/deploy
What did you expect to see?
No errors when creating role bindings and roles.
What did you see instead? Under which circumstances?
namespace "monitoring" created
serviceaccount "prometheus-operator" created
deployment "prometheus-operator" created
error validating "manifests/prometheus-operator/prometheus-operator-cluster-role-binding.yaml": error validating data: couldn't find type: v1alpha1.ClusterRoleBinding; if you choose to ignore these errors, turn validation off with --validate=false
error validating "manifests/prometheus-operator/prometheus-operator-cluster-role.yaml": error validating data: couldn't find type: v1alpha1.ClusterRole; if you choose to ignore these errors, turn validation off with --validate=false
Waiting for Operator to register third party objects.....done!
deployment "kube-state-metrics" created
serviceaccount "kube-state-metrics" created
service "kube-state-metrics" created
daemonset "node-exporter" created
service "node-exporter" created
error validating "manifests/exporters/kube-state-metrics-cluster-role-binding.yaml": error validating data: couldn't find type: v1alpha1.ClusterRoleBinding; if you choose to ignore these errors, turn validation off with --validate=false
error validating "manifests/exporters/kube-state-metrics-cluster-role.yaml": error validating data: couldn't find type: v1alpha1.ClusterRole; if you choose to ignore these errors, turn validation off with --validate=false
secret "grafana-credentials" created
secret "grafana-credentials" configured
configmap "grafana-dashboards" created
deployment "grafana" created
service "grafana" created
configmap "prometheus-k8s-rules" created
serviceaccount "prometheus-k8s" created
servicemonitor "alertmanager" created
servicemonitor "kube-apiserver" created
servicemonitor "k8s-apps-http" created
servicemonitor "kube-state-metrics" created
servicemonitor "kubelet" created
servicemonitor "node-exporter" created
servicemonitor "prometheus" created
service "prometheus-k8s" created
prometheus "k8s" created
error validating "manifests/prometheus/prometheus-cluster-role-binding.yaml": error validating data: couldn't find type: v1alpha1.ClusterRoleBinding; if you choose to ignore these errors, turn validation off with --validate=false
error validating "manifests/prometheus/prometheus-cluster-role.yaml": error validating data: couldn't find type: v1alpha1.ClusterRole; if you choose to ignore these errors, turn validation off with --validate=false
secret "alertmanager-main" created
service "alertmanager-main" created
alertmanager "main" created

Environment
GKE 1.6.2

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.2", GitCommit:"477efc3cbe6a7effca06bd1452fa356e2201e1ee", GitTreeState:"clean", BuildDate:"2017-04-19T20:33:11Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.2", GitCommit:"477efc3cbe6a7effca06bd1452fa356e2201e1ee", GitTreeState:"clean", BuildDate:"2017-04-19T20:22:08Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

GKE 1.6.2

Manifests:

All manifests under contrib/kube-prometheus/manifests with Roles and RoleBindings.

I also tried manually changing them to beta instead of alpha. In that case the RoleBindings will all successfully create, but the roles fail:
Error from server (Forbidden): error when creating "prometheus/kube-prometheus/manifests/prometheus-operator/prometheus-operator-cluster-role.yaml": clusterroles.rbac.authorization.k8s.io "prometheus-operator" is forbidden: attempt to grant extra privileges...

Yes I believe 1.6 has been out for long enough that we can now change all the manifests to beta.
Regarding the last bit: that sounds like a permission issue on your side. The user/identity you are accessing the cluster with doesn't seem to have all permissions that the Prometheus Operator ClusterRole needs, which makes it error because you can't give permissions that are greater than your own.

@brancz thanks, yea the the fact other manifests in the repo were updated but not these made me think it wasn't on purpose and was an issue.
And, hm, ok. That is annoying, I created the cluster, figured gke would give me enough permissions, but not your issue :).


[Bug]: Commands need to be executed from a Cargo folder even when --name is used

What happened?
Context:
https://github.com/shuttle-hq/shuttle/issues/865#issuecomment-1545226936
https://github.com/shuttle-hq/shuttle/issues/865#issuecomment-1545389360
Commands that need to know what project is targeted check the current directory for a Cargo manifest or a Shuttle.toml before the --name parameter is even considered, even though it has higher priority.
Version
v0.16.0
Which operating systems are you seeing the problem on?
macOS, Windows, Linux
Which CPU architectures are you seeing the problem on?
x86_64, ARM64
Relevant log output
No response
Duplicate declaration

[X] I have searched the issues and there are none like this.

@jonaro00 Could you please assign it to me, I'd like to take a stab at it.


[requires.io] dependency update on master branch

Codecov Report

Merging #10 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #10   +/-   ##
=======================================
  Coverage   38.75%   38.75%
=======================================
  Files          10       10
  Lines         289      289
  Branches       51       51
=======================================
  Hits          112      112
  Misses        162      162
  Partials       15       15

Continue to review full report at Codecov.

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


Incorrect Info in README: linter-jshint does not lint json

In the README there is a line that says that linter-jshint will lint JSON, this appears to be incorrect and should be corrected.

linter-jshint, for JavaScript and JSON, using jshint

From the linter-jshint documentation:

This linter plugin for Linter provides an interface to jshint. It will be used with files that have the .js file extension.

It appears there is a JSON linter for AtomLinter but it is not listed in the README. https://github.com/AtomLinter/linter-jsonlint

This is a non-issue with the new read me in the linter-plus branch and with the website I've made that should go public soon.


remove assets prefix

When we deliver the audioplayers with a flutter package, the hardcode assets path will conflict with package path.
Please read the explanation below.
Normally, we give the advancedPlayer a relative path.
await advancedPlayer
        .play("media/sound.mp3");

But in a flutter package we need to give it a fullpath
await advancedPlayer
        .play("packages/package_name/assets/media/sound.mp3");

This is already "fixed" by #513. (though I requested a small change)


fix map struct construct funcs #39699

cherry pick from #39699

run buildall

run buildall

run buildall

run buildall


RuntimeError: The row contains a bad value. [Title]

I'm trying to run the 'Create Weighted Overlay Mosaic' tool. The tool is consistently failing at line 890 with the error: RuntimeError: The row contains a bad value. [Title] (screenshot attached) Is there some additional processing that needs to be done on the input raster field names before the tool is run? Or is something else likely to be causing this issue?
Many thanks.

Hi @CatMcIlwraith, the current version of the tool has a limit of the title being 50 characters. There are 2 possible workarounds until the tool is updated:

(Simplest workaround) Edit the name of the tif files so the name is less than 50 characters in length
If you're comfortable with making edits to the tool, you can do the following to increase the length of text allowed for the Title:

Right click the "Create Weighted Overlay Mosaic" tool in the Contents panel, then select "Edit".
Search for:
('Title','String',50)
then change it to the following:
('Title','String',100)
Save the file
Refresh the tool in the Catalog panel, then re-run tool

Brilliant, that seems to be working now. Thanks very much!


Add Ascend installation adapter

Motivation
I hope lmdeploy can be installed directly from source in the Ascend environment, and I have made adaptation modifications for this.
Modification
I have added requirements_ascend and requirements/runtime_ascend.txt compatible with Ascend and included corresponding conditional branches in setup.py so that users can achieve one-click installation in the Ascend environment.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit tests to ensure the correctness.
If the modification has a dependency on downstream projects of a newer version, this PR should be tested with all supported versions of downstream projects.
The documentation has been modified accordingly, like docstring or example tutorials.

Thank you for your approval!

Works on our ascend machine


Blog post on gitter interview

create blog post and link to the interview conducted with gitter.

https://github.com/nathakits/pupil-labs-website/commit/e3ecfaea00d977bf717ea207c5d3dccdb45e4a7e

@nathakits - see my comments on the code

https://github.com/nathakits/pupil-labs-website/commit/43ce0b92373c3ec8006b033efd5987ef9fa1ab31


Re-add ios_signing dependency to ios_content_validation_test

https://github.com/flutter/infra/pull/287 moved ios_content_validation_test from devicelab to luci builders.  It failed on a try build with No valid code signing certificates were found.  Re-add ios_signing dependency removed in that PR.
https://github.com/flutter/infra/pull/287#discussion_r539705796

@keyonghan I know this dependency was introduced for the devicelab staging in #262.  Will it also work in this config?

@keyonghan I know this dependency was introduced for the devicelab staging in #262. Will it also work in this config?

Does this test need a phone device? We do not have any bot with a device available in the prod pool at this moment.

Does this test need a phone device? We do not have any bot with a device available in the prod pool at this moment.

No, it doesn't need a device, that's why I moved it in https://github.com/flutter/infra/pull/287.  It's archiving the app, which requires a provisioning profile.

Closing, looks like this test can't be moved from devicelab_machines.


Generated files do not end with newline

IAR by default will create compiler warnings for the generated files because they do not end in a newline. This is a warning that is enabled by default in IAR.
It seems to exist because it was required for older compilers. Ref: https://stackoverflow.com/questions/72271/no-newline-at-end-of-file-compiler-warning
I think to work with older compilers, it would be a good idea to generate the files with a newline at the end.

It looks like the generated files do end with a "\n". Maybe IAR is complaining because they aren't ending with a "\r\n"?

With the change in https://github.com/fin-language/fin/issues/55, I think this issue may be resolved. Can you try out the default behavior in finlang 0.3.1?

This worked! My apologies, I think this one may have been partly user error. IAR was complaining about a particular generated enum file:
// SampleEnum.cs
public enum SampleEnum
{
  One,
  Two
}

This generated a file without a blank line as the last line. I found out I could have worked around this if I placed a blank line myself in the .cs file. It wasn't something I was used to having to do on the other files, which were classes.
Anyhow, with the above change, I don't have to add the blank line myself and it compiles without warning!

Going to close this since finlang was updated to add the blank line.