allow cfg attributes on substitution groups

Short Description:

Allows the use of cfg attributes on substitution groups, such that they can be enabled and disabled at build time.
Motivation:

See this code.
Here, they use two cfg_attrs to remove one substitution group based on whether a specific feature is enabled.
This is a bit ugly, as the two invocations of duplicate are identical except for the second substitution group not being present on the second invocation.
Therefore, the first substitution group is actually copied between the two invocations.
It would be better to be able to, within the invocation itself, be able to disable a substitution group using a method akin to cfg_attr.
Design

This could be one way of designing it (this is using verbose syntax to match that of the above example):
duplicate_item(
    [
        module_type      [non_blocking]
        maybe_async_attr [maybe_async::must_be_async]
        File             [tokio::fs::File]
        HttpBody         [reqwest::Body]
        HttpClient       [reqwest::Client]
    ]
    #[cfg_attr(feature = "non_blocking")]
    [
        module_type      [blocking]
        maybe_async_attr [maybe_async::must_be_sync]
        File             [std::fs::File]
        HttpBody         [reqwest::blocking::Body]
        HttpClient       [reqwest::blocking::Client]
    ]
))]

This will disable the second substitution group when the non_blocking feature is disabled, exactly like the current semantics of the above example.
This would work the same way for the short syntax and global substitutions (where each attribute would work on just one substitution group or substitution).
Misc:

Open questions:

[ ] Could this be implemented by calling cfg_attr directly from duplicate, such that it can return an empty string when the cfg is false?
[ ] Can this be extended to any attribute macro and not just cfg or cfg_attr?

I just noticed how much context that discussion assumes. I recommend you to just take a look at this code comment here instead.
The idea is that when the proc macro detects any usage of cfg/cfg_attr attributes it generates a transitively-recursive call to the macro_rules (I posted a link to it). Then macro_rules generate use items that dispatch to true/false variants of macro_rules and then they collect the results of all cfg predicates evaluations into a list and call back to the original proc macro with #[macro_name(___cfgs(results) ...)] prrepended in the argument list

@Veetaha thank you for your explanations and links. It good to know that there probably is a workable implementation, though I would need to sit down and focus to really get my head around how it works.


Small fixes to test results reporting

PR is added to the queue for testing as 1. task. (59f447b)

Test (Success) 51053261 build is completed (59f447b)
See https://github.com/ThaliTester/TestResults/tree/5105326159f447b_Small_fixes_to_test_results_reporting_vjrantal/ for the logs

Test<PHONE_NUMBER>f447b(59f447b) has failed
See https://github.com/ThaliTester/TestResults/tree/5105326159f447b_Small_fixes_to_test_results_reporting_vjrantal/ for the fail logs

PR is added to the queue for testing as 1. task. (92ae435)

Test (Success) 51053261 build is completed (92ae435)
See https://github.com/ThaliTester/TestResults/tree/5105326192ae435_Small_fixes_to_test_results_reporting_vjrantal/ for the logs

PR is added to the queue for testing as 2. task. (c9004a4)

Test (Success) 51053261 build is completed (c9004a4)
See https://github.com/ThaliTester/TestResults/tree/51053261c9004a4_Small_fixes_to_test_results_reporting_vjrantal/ for the logs

Test<PHONE_NUMBER>ae435(92ae435) has failed
See https://github.com/ThaliTester/TestResults/tree/5105326192ae435_Small_fixes_to_test_results_reporting_vjrantal/ for the fail logs

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

Comments from the review on Reviewable.io


Fix traduction

@Flavio-Occ Thank you for your contribution! :)

The 2.41.0 version has been updated.
Thank you.


Raise minimum supported Swift version from 5.4 to 5.5

Motivation:
SwiftNIO periodically drops support for older Swift versions. Now that 5.7 has been released, 5.4 will be dropped.
Modifications:

Remove 5.4 specific Package.swift and docker-compose
Update the 5.7 docker-compose to use the released 5.7 and move from focal (2004) to jammy (2204)
Fix the tools version in<EMAIL_ADDRESS>Update docs

Results:
Minimum Swift version is 5.5

We should ship a release with https://github.com/apple/swift-nio-ssl/pull/400 in so any folks who can't upgrade beyond 5.4 have warning free builds.

CI updated. @swift-server-bot test this please


Updated catalan translation (6 new in UI)

Updated catalan translation (6 new in UI)
Fixed some typo

Thanks :+1:


test pre-trained model on my own dataset

when I test the pre-trained S2Looking model on my own dataset, it doesn't working.
Is it not possible to apply pretrained models to different datasets? Do I need to train every time the datasets are changed?
The object in the middle box has moved.

yes, you have to train your model using your dataset to get good result.


sqlparse version high vulnerability

Describe the bug
The sqlparse package < 0.5.0 has a high-security vulnerability. Details can be found in the dbt-core issue: sqlparse version high vulnerability
This was solved in dbt-core 1.7.13.
Can you please bump the core dependency to 1.7.13?

This particular issue has been resolved, and the fix is available in the dbt-teradata 1.7.3 release.


(macOS) importing failed: torch_sparse/_convert_cpu.so Symbol not found.

🐛 Bug
Importing Data failed with the message:
... /lib/python3.9/site-packages/torch_sparse/_convert_cpu.so, 6): Symbol not found: __ZN2at8internal13_parallel_runExxxRKNSt3__18functionIFvxxmEEE
I installed it in a newly created environment with conda install pytorch-geometric -c rusty1s -c conda-forge
To Reproduce
Steps to reproduce the behavior:

from torch_geometric.data import Data

Expected behavior

Importing should succeed.
Environment

OS: MacOS 11.1
Python version: 3.9
PyTorch version: 1.8 or 1.9
CUDA/cuDNN version:
GCC version:
Any other relevant information:

conda list | grep rusty1s

pytorch                   1.8.0           cpu_py39h4f2e8f6_1    conda-forge
pytorch-cluster           1.5.9           py39_torch_1.8.0_cpu    rusty1s
pytorch-geometric         1.7.2           py39_torch_1.8.0_cpu    rusty1s
pytorch-scatter           2.0.7           py39_torch_1.8.0_cpu    rusty1s
pytorch-sparse            0.6.10          py39_torch_1.8.0_cpu    rusty1s
pytorch-spline-conv       1.2.1           py39_torch_1.8.0_cpu    rusty1s
or
pytorch                   1.9.0           cpu_py39hbc4979b_0    conda-forge
pytorch-cluster           1.5.9           py39_torch_1.9.0_cpu    rusty1s
pytorch-geometric         1.7.2           py39_torch_1.9.0_cpu    rusty1s
pytorch-scatter           2.0.7           py39_torch_1.9.0_cpu    rusty1s
pytorch-sparse            0.6.10          py39_torch_1.9.0_cpu    rusty1s
pytorch-spline-conv       1.2.1           py39_torch_1.9.0_cpu    rusty1s
Additional context

Thanks for letting me know. I tried to reproduce on macOS 11.2 and everything works just fine. Can you try to install via pip to see if this error is present there as well?

This is a channel mixing issue. The documentation is telling users to install with:
conda install pytorch-geometric -c rusty1s -c conda-forge

whereas the conda-build command uses:
-c defaults -c pytorch -c conda-forge -c rusty1s

This results is the packages building against the PyTorch channel version, but trying to run against the Conda Forge one.
Recommendation
Documentation should updated to
conda install -c defaults -c pytorch -c conda-forge -c rusty1s pytorch-geometric

Even better, users should be encouraged to create new environment rather than installing into existing ones.


Investigate wallet research

ZeroWallet: https://medium.com/@amanladia1/zerowallet-a-zkp-based-wallet-authentication-mechanism-9871dcca0a01

Closing it as this research is not really fruitful for NeoLogin.


[Master] Fetch baseSites configuration from backend

Use baseSites endpoint /rest/v2/basesites?fields=FULL to fetch configuration from backend.
Fallback mechanism using configuration should also be considered (to support older backends).

Stan to refine and make small tickets.

We agreed on using the existing /basesites endpoint, which was introduced in 1905. While the payload might be too heavy and we need to do some additional  filtering client-side, the benefit is that we're not blocked by any backend work. Moreover, we have SSR with state-transfer, which means that the initial load is not blocked with a first backend call.

QA steps:
Prerequisites:
1 . set occ base url in meta tag (index.html) to dev-com17
2. add to local hosts file:
<IP_ADDRESS> multi-store.com apparel.com apparel-de.store.com apparel.de.store.com apparel-uk.store.com apparel.uk.store.com multi-store.com fail.store.com

Browser

Run yarn start --disable-host-check
Open URLs and play with them:

http://multi-store.com:4200/electronics-spa
http://multi-store.com:4200/electronics
http://apparel.de.store.com:4200/
http://apparel.uk.store.com:4200/

a) Verify that those use different (dynamic) base sites, url encoding attributes, languages, and currencies (including defaults).
b) Verify that those fail due to no matching url pattern for any base site:

http://fail.store.com:4200/
http://multi-store.com:4200/

SSR

Run SSR

yarn build:core:lib
yarn build
yarn build:ssr
yarn start

Verify the (4) again but in SSR

Server qa done


chore: Add super-linter configuration and workflow

Pull Request
Description
Introduces code quality checks using Super-Linter with custom configurations. This adds automated linting and formatting across the codebase through a new GitHub Actions workflow.
The implementation includes:

Configuration files for various linters (EditorConfig, ESLint, JSCPD, Markdown, and YAML)
A new GitHub Actions workflow that runs on push to main and pull request events
Custom rules and settings for each linter to maintain consistent code style
Integration with GitHub's status checks to enforce code quality standards

The workflow uses the slim version of Super-Linter v7.1.0 and validates the entire codebase against the main branch.
fixes #10

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#8  👈
#7
#6
#5
#4
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Oct 31, 4:34 AM EDT: A user merged this pull request with Graphite.


No issues reported by lgtm

https://lgtm.com/projects/g/zaproxy/zap-hud/alerts/?mode=list

Hopefully will be addressed by https://github.com/zaproxy/zap-hud/pull/325

Down to 4 alerts now :D
Will submit a PR to hopefully fix these asap...


collscontroller: make recordings and lists optional

usercontroller: turn off recordings and lists for user endpoint

Coverage remained the same at ?% when pulling 97d36318d11a6c978545b50a576ce4a14d7871f1 on api-tweaks into c13440723e510672623f5e0b776090aecb3b4664 on develop.


fuse: allow change open flags

https://github.com/torvalds/linux/commit/a6643094e73247c1ebd36816f494f631fa7be348

On Linux, this command can change only the O_APPEND, O_ASYNC, O_DIRECT, O_NOATIME, and O_NONBLOCK flags.  -- fcntl (2)

Seems nothing we can do for these flags.


Use timer to flush out expired cache items

For all cached items, check and quota.
For quota,  it is tricky,  Some callback functions attached to on-progress requests may use the expired items. Have to be careful when removing them.

Issue moved to istio/proxy #1197 via ZenHub


Create iridium

Description

Motivation and Context

How has this been tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Hi @NIKKII54321 , I think you may have meant to open this PR to Iridium the satellite company?


Extend OCPBalance for full cell

Extend the OCPBalance class to fit the half-cell datasets to a full cell measurement.

Would this be fitting all 4 stretch / shift factors at the same time? Or something cleverer?

Nope, it would literally be that (though cleverer approaches are welcome). It should work, but I haven't checked if there are any identifiability issues.


[Bug] Avoid compacting recently added rowset

This CL fixes #3270 by skipping recently added version when performing cumulative compaction. A new config named "cumulative_compaction_skip_window_seconds" is added to adjust the time window.

Hi, @gaodayue
After #3264 is merged, backend's configure can be changed without restart. Better to make cumulative_compaction_skip_window_seconds modifiable.

@imay that's great, let me rebase

I have run this UT manually, and it is successful.

So, I will merge this PR.


[docs] Minor typo in distributed inference

I think split_across_processes should be split_between_processes right?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


[SPARK-31766][K8S][TESTS] Add Spark version prefix to K8s UUID test image tag

What changes were proposed in this pull request?
This PR aims to add Spark version prefix during generating test image tag for K8s integration testing.
Why are the changes needed?
This helps to distinguish the images by version.
BEFORE
$ docker images | grep kubespark
kubespark/spark-py  F7188CBD-AE08-4705-9C8A-D0DD3DC8B86F  ...
kubespark/spark     F7188CBD-AE08-4705-9C8A-D0DD3DC8B86F  ...

AFTER
$ docker images | grep kubespark
kubespark/spark-py  3.1.0-SNAPSHOT_F7188CBD-AE08-4705-9C8A-D0DD3DC8B86F ...
kubespark/spark     3.1.0-SNAPSHOT_F7188CBD-AE08-4705-9C8A-D0DD3DC8B86F ...

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the K8s integration test.
...
Successfully tagged kubespark/spark:3.1.0-SNAPSHOT_688b46c8-c119-404d-aadb-d05a14262db7
...
Successfully tagged kubespark/spark-py:3.1.0-SNAPSHOT_688b46c8-c119-404d-aadb-d05a14262db7
...
Successfully tagged kubespark/spark-r:3.1.0-SNAPSHOT_688b46c8-c119-404d-aadb-d05a14262db7

Test build #122868 has started for PR 28587 at commit 26b8c9f.

Test build #122868 has finished for PR 28587 at commit 26b8c9f.

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

Merged build finished. Test PASSed.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/27511/

Could you review this PR, @HyukjinKwon ?

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/27511/

Merged build finished. Test PASSed.

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

Merged to master.

Thank you, @HyukjinKwon .
Since this helps the testing infra, I'll backport to branch-3.0 too.


In the below case, is the memcached hardware(CPU/LAN card) the limit or some software issue?

In the below case, is the memcached hardware(CPU/LAN card) the limit or some software issue?
We noticed at over 300,000 memcached requests per second and at about 2.5~3 Gbps traffic memcached suspected problems occur.
memcached server hardware(and hardware connecting to it) is
Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
with 10GBASE-T, short less than 5 m cat 7 cable hooked up to Cisco Nexus switch as layer 2 network.
CPU for memcached server: Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz
OS for memcached server: Redhat Enteprise Linux 8.5
memcached config:
MAXCONN="600000"
CACHESIZE="30000"
OPTIONS="-l {internalip_redacted} -t 8"
memcached version:
memcached-1.6.14-1.el8.remi.x86_64
debug information:
Regarding: https://github.com/memcached/memcached/wiki/Timeouts
listen_disabled_num -> normal
Is the machine in swap? no
Is the machine overloaded? it seems so in below graph but these are servers dedicated fully to memcached
Unfortunately could not run mc_conn_tester.pl when problems occurred. Also timeouts were not noted, only memcached requests and connections slowing down.
Memcached CPU graph %:

Memcached CPU graph detailed:

Memcached requests per second:

App profiler showing although other portions slowing down, mostly memcached is slowing down severely:

Thank you.

Unfortunately there are a lot of dimensions of system performance that aren't easy to see from a few graphs.
I'd push on getting conn_tester running over localhost to figure out if the issue is network or not, which at least cuts the problem in half.
If the issue is in the server configuration, there are a lot of more general guides to tuning performance on network servers which will get you what you need. I'd also consider looking at performance second-to-second via htop/top/something to see if you're micro bursting to capacity which would get averaged out over graphs.
have you used any of the available memcached benchmark programs to test the hardware outside of production traffic?

Thank you for your response.
Regarding dormando's reply "push on getting conn_tester running over localhost":
When we recently had about 10~15% memcached response time increase in APP profiler I got mc_conn_tester.pl running on the internal network, I will try using localhost next time(our memcached instances aren't listening to localhost at this time so we will need to restart them all).
These conditions may or may not be the same as when we got the severe response time increases.
I averages 150 values of mc_conn_tester.pl output.
When response time was slightly increased:
Averages
Elapsed 0.000744826, Connection 0.000309134, Set 0.000262018, Get 0.000142491
When response time was normal:
Averages
Elapsed 0.000651147, Connection 0.000274482, Set 0.000233992, Get 0.000114999
It seems everything slows down a bit.
Of note this are dedicated memcached instance.
When the responses increase, software IRQ cpu usage increases

Regarding dormando's reply "consider looking at performance second-to-second via htop/top/something to see if you're micro bursting to capacity which would get averaged out over graphs":
I do this often, the cpu usage itself seems stable on memcached servers.
Regarding dormando's reply "available memcached benchmark programs to test the hardware outside of production traffic":
I am not familiar with such tools, is there a specific benchmark program you would recommend?

I use mc-crusher for development testing but it might not be that easy to use. If you just give a google and try a few of them something's bound to work.
A lot of what could be going on or tuned here is unfortunately outside the realm of support I can give; if you're hitting a specific bottleneck or bug with the daemon we can work that out, but it's likely you just have to do some OS tuning. Memcached has pretty good defaults, so all I'd recommend from the daemon side of things is that you have enough worker threads (-t). They can be 1:1 with the number of CPU's on a dedicated system, but I'd advise cpus minus one or two for overhead.
Using a benchmark tool to reproduce your problem and a systems expert you should be able to figure out any tuning required.

Thank you for your reply.
I will close this issue.


Fixed #29541 -- Fixed crash of Cursor.execute() when Cursor.setinputsizes() is called without arguments with cx_Oracle 6.4.

Ticket 29541.

Probably it makes sense to backport to 2.0.x if this is the only change required. Can you add a release note for 2.0.8 (I just added the stub)? Maybe we should update ref/databases for 1.11 if the fix won't be made there.

@anthony-tuininga fixed this issue in the https://github.com/oracle/python-cx_Oracle/commit/fee92abe5a6a0937e4789d251dc50825cb434113, so it should be fixed in the 6.4.1 version. Now I'm not sure if we will backport this fix to 2.0.x or 1.11.x, but if not then IMO there is no need to document that this version is invalid.

Great! Yea, I don't know if we need to apply this to master, depending on how quickly 6.4.1 will be released.

Calling Cursor.setinputsizes() without any parameters is useless, so I think that we can merge this to the master.


[Bug]: BLOCKING ISSUE after OAUTH test, cannot revert back to SMTP

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I updated my DNN instance from 9.12 to 9.13. After tried to setup OAUTH2 with exchange, I cannot revert back to a working SMTP configuration with anonymous authentication.
You will get the error "C'è un problema nella configurazione del server SMTP. La posta non è stata inviata. An error occurred while attempting to establish an SSL or TLS connection. The host name did not match the name given in the server's SSL certificate. Il certificato remoto non è stato ritenuto valido dalla procedura di convalida."

Steps to reproduce?

Upgrade to 9.3
Send a test message from EMAil configuration page using anonymous authentication and SSL off. It will work
Try to setup OAUTH, select Exchange Online. Fill TenantID, ClientID, ClientSecret.  Save
You will the the error "C'è un problema nella configurazione del server SMTP. La posta non è stata inviata. An error occurred while attempting to establish an SSL or TLS connection. The host name did not match the name given in the server's SSL certificate. Il certificato remoto non è stato ritenuto valido dalla procedura di convalida."

Current Behavior
No response
Expected Behavior
No response
Relevant log output
C'è un problema nella configurazione del server SMTP. La posta non è stata inviata. An error occurred while attempting to establish an SSL or TLS connection. The host name did not match the name given in the server's SSL certificate. Il certificato remoto non è stato ritenuto valido dalla procedura di convalida.

Anything else?
No response
Affected Versions
9.13.0 (latest release)
What browsers are you seeing the problem on?
Firefox
Code of Conduct

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

Hello,
I found a temporary fix:
When you change in DNN from standard SMTP to oauth, in web.config  will change to .
When you revert back to standard SMTP, the default provider will remain MailKitMailProvider. In order to manually fix the issue, it is necessary to change MailKitMailProvider to CoreMailProvider.
Please, take in consideration to fix this bug.

It seems like the MailKitMailProvider does not respect the setting "SSL off", since it's always set to SecureSocketOptions.Auto instead of SecureSocketOptions.None (http://www.mimekit.net/docs/html/T_MailKit_Security_SecureSocketOptions.htm):
https://github.com/dnnsoftware/Dnn.Platform/blob/7631f2c7f187d7e95983980728565914604d8594/DNN Platform/Library/Services/Mail/MailKitMailProvider.cs#L106

It seems like the MailKitMailProvider does not respect the setting "SSL off", since it's always set to SecureSocketOptions.Auto instead of SecureSocketOptions.None (http://www.mimekit.net/docs/html/T_MailKit_Security_SecureSocketOptions.htm):
https://github.com/dnnsoftware/Dnn.Platform/blob/7631f2c7f187d7e95983980728565914604d8594/DNN Platform/Library/Services/Mail/MailKitMailProvider.cs#L106

I don't know, anyway using standard SMTP, DNN should use CoreMailProvider instead of MailKitMailProvider. As I wrote, the default DNN email provider is CoreMailProvider.Using OAUTH, DNN switches to MailKitMailProvider but it will not change when you revert back to SMTP: it remains MailKitMailProvider .

Related code:
https://github.com/dnnsoftware/Dnn.Platform/blob/7631f2c7f187d7e95983980728565914604d8594/Dnn.AdminExperience/Dnn.PersonaBar.Extensions/Services/ServerSettingsSmtpAdminController.cs#L125-L129

It's currently quite tricky on how to handle this. We can remember the original mail provider and restore this once you switch back, however this bring other issues on the table:

Let's say you have mail provider XMailProvider in web.config that doesn't support OAuth.
You switch to OAuth. DNN sees the provider doesn't support OAuth and switches to MailKitProvider and remembers the provider.
You change the provider manually in web.config to YMailProvider.
You switch back to SMTP, causing to restore the original mail provider which is XMailProvider.

We can check if the current provider is MailKitProvider and only then restore it back, but what if you want to keep using MailKitProvider?
I've talked with @valadas about this on Discord in the open source co-coding session. Daniel said it would better to introduce a separate config for the OAuth Mail Provider (for example <oAuthMail>), which is probably better.
What's the best way to tackle this?

@fablaser I was abel to reproduce this in 09.13.04
Can you please change the original Issue to include the actual issue (the switching to MailKitMailProvider) as that might increase the changes of this getting fixed :-)


Allow filtering of tasks by deadline

Users are currently only able to view the list of tasks without being able to modify it based on any criteria.
Filtering tasks by deadline will allow users to quickly identify the specific tasks that they are looking for based on the input deadline.
Moving forward, more functionalities will be added to provide users with greater flexibility and control over the task list.
Close #82

Codecov Report
Base: 62.23% // Head: 61.25% // Decreases project coverage by -0.98% :warning:

Coverage data is based on head (f4c1c64) compared to base (94bf567).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #84      +/-   ##
============================================
- Coverage     62.23%   61.25%   -0.99%
  Complexity      502      502
============================================
  Files            98      102       +4
  Lines          1867     1897      +30
  Branches        215      218       +3
============================================
  Hits           1162     1162
- Misses          636      666      +30
  Partials         69       69

Impacted Files
Coverage Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

...ress/logic/commands/FilterTaskDeadlineCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/commands/ListTaskCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
72.72% <0.00%> (-7.28%)
:arrow_down:

...address/logic/parser/FilterTaskDeadlineParser.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

.../model/task/TaskDeadlineContainsDatePredicate.java
0.00% <0.00%> (ø)

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

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


another fix to bobbit's IRC maximum message length

maximum length includes hostmask too, which means that messages were still being cut off despite checking that command + body + CRNL was <= 512 bytes
the hostmask can change at any time due to operator or service actions, so the most robust fix is setting a conservative maximum length rather than trying to keep an accurate idea of what the bot's hostmask is

Codecov Report
Attention: Patch coverage is 33.33333% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 52.83%. Comparing base (d5e90bb) to head (50a0d39).
Report is 2 commits behind head on bobbit-0.2.x.

Files
Patch %
Lines

src/bobbit/protocol/irc.py
33.33%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##           bobbit-0.2.x      #82   +/-   ##
=============================================
  Coverage         52.83%   52.83%
=============================================
  Files                21       21
  Lines               810      810
=============================================
  Hits                428      428
  Misses              382      382

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

Note to self: possibly a longer term fix to this would be to discover the hostname length at session start and then add a new handler for hostname update messages
I think IRC servers send those when the hostname is changed, so...

Note on the note to self:
You need to request capabilities in order to get change host messages, so bobbit would need to start doing that and handling the case where the capabilities aren't granted
He'd then need a handler for CHGHOST messages that could figure out the new hostmask and update that and then figure out the new maximum message length.


get_name can only be called from the main thread.

I got the following issue. It's not presented always, but y appears randomly and stops the execution of the program.
For now it has been show on Editor, multiple times.
get_name can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
UnityEngine.Object:get_name()
BootstrapStageLogger:Logger(String, AnalyticsDataStage) (at Assets/_CommonFMM/Scripts/Bootstrap/BootstrapStage.cs:17)
c__AnonStorey1:<>m__0(Task`1) (at Assets/_CommonFMM/Scripts/Pipeline/BootstrapServices/AnalyticsDataStage.cs:49)
System.Threading.Tasks.c__AnonStorey0:<>m__0(Object)

From the look of your stack trace it appears that your problem is actually inside Unity, not in the promise library. Since promises have no concept of threading inherintly but are just a useful tool that can be used for managing tasks across threads, you still need to keep track of what threads you're using promises from yourself.
If you aren't already using this, the dispatcher pattern can be quite useful when managing tasks that run on different threads, and it fits nicely with promises. Unity also has limitations on which threads can access certain data so make sure that you aren't calling any Unity functions off the main thread that it doesn't support. One solution to this is to cache the data you need on the main thread and then pass that to the dispatch thread that will do the actual processing on it.


Handle idAttribute as an array

The idea of this PR is to handle idAttribute values from Bookshelf that are arrays, these are a little bit supported and my team is currently using them for some stuff.
Thought we could add it even though it's not official.

What should we return for id? I set it to return the a string of the ids joined by commas ,, but could be a differently formatted string.
NOTE: JSONAPI specifies that id MUST be a string.

@ShadowManu remember that
_.matches({data: {attributes: {decription: '...'}})({data: {attributes: {decription: '...', name: 'Matteo'}})

returns true since matches matches as having all the properties in the first parameter, but maybe there are more parameters in the right.
So we have the same setup, but expect different things; like, we don't check for id nor type in the one that checks omit; also, we expect the result to not contain the idAttributes (name, email)

@chamini2 got it. LGTM then.


Add agent data capture doc

Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>

@hypertrace/agent-maintainers could you please review?

LGTM, I wonder if this should be in an own folder (e.g. agent/data-capture) as I know there is some other documents around agents. The reason why this is important is because we mostly are going to add links to this in code and hence changing it at later stage will be a "breaking change"

no objections I can move it there. @davexroth ?

@jcchavezs moved


dont sudo pip install

good advice - but this whole thing needs a way bigger overhaul (should be using https://pypi.org/project/twine/ for example).


A small corpus of unmatched addresses using v0.3.1

Hello,
Here is a list of ~200 addresses "from the wild" that pyap does not match

Anyone here?
I'm happy to try fix it and open a PR, but I can't be sure that there's anyone that can review or merge it...¿


TyCommander fails to release the com port

Unlike the teensy loader, TyCommander 0 97  does not release the com port after loading.
Since, TyC seems to be using the teensy loader to do the actual load, maybe there is something I am missing. Complicates debugging on the cmd window as TyCmd monitor won't open the com port until
TyCommander is closed.
Any thoughts?

You can enable/disable the Serial connection of TyCommander by clicking on the Serial button:

Also in Tools | Preferences you can choose to not start the Serial connection by default.

Hope that helps


Question Mark on Ionicons ios-notifications-outline icon

I'm getting this

using Ionicons "ios-notifications-outline" Icon. Everything else is working fine and "ios-notifications-outline" is located in the Ionicons.js file so it's not throwing a PropType error or anything. Any guidance would be great. Thanks!
      <IoniconIcon.TabBarItem
        iconSize={40}
        iconName='ios-notifications-outline'
        title=''
        selected={activeFooterTab === 'notifications'}
        onPress={() => onTabSelect('notifications')}>
          <NotificationsTabContainer navigator={navigator}/>
      </IoniconIcon.TabBarItem>

My guess would be that your font is not in sync with the JS, so try to upgrade that or clean build intermediates.

Thanks for the tips! Closing cause I can't reproduce this in another project.

@oblador I'm having the same issue with some ionicons icons: "ios-arrow-forward" renders correctly but "ion-help-buoy" renders as a "?".
What do you mean by:

font is not in sync with the JS, so try to upgrade that
What exactly should I do?

or clean build intermediates
I've tried running:

watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache clean && npm install && npm start -- --reset-cache

But still have the same issue...

OK I have found why. In node_modules/react-native-vector-icons/dist/glyphmaps/Ionicons.json, we have different names sometimes than in http://ionicons.com/.

You can use this website to visually look for the icon you want since most of them have different names
[https://infinitered.github.io/ionicons-version-3-search/]


Improve handling of program list (for snabb --help)

Several small fixes:

Add src/program/programs.inc to gitignore
Fix FORCE rule trick in Makefile to ensure it is updated
Fix usage printout to program names with punctuation (e.g. example_foo)

@lukego Mered into eugeneia:documentation-fixups (am I doing this right?)

Hi @eugeneia!
Thanks for merging. Sorry about the slow response: latest problem I need to solve is how to stay on top of Github notifications :-).
So yes I reckon the process is working:

[x] Pull Request is created and we decide you are the one in charge.
[x] You accept the change by merging it into one of your well-loved branches.
[ ] As soon as you are ready you send a Pull Request from your branch to next saying that all the included changes should go into the next release.

So already now we can close this issue in the knowledge that the change has safely landed in your documentation-fixes branch and from there it will be PR'd to next and from there to master.
Does that make sense at all? :-)
Let us see how practice matches up with theory!


Look at Sketch Problem

Hello, I found a problem:

Hi, please try out v1.1.2 that I just released:
https://github.com/thomasa88/AnyShortcut/releases/download/v1.1.2/AnyShortcut-v1.1.2.zip
Please confirm that it fixes the issue for you.
If you have installed using the installer from the Autodesk app store, you can replace AnyShortcut.py and AnyShortcut.manifest with the files in the zip file to test the change. You can find the installation directory by expanding Details in the add-ins dialog in Fusion 360.

Hi Thomas
Thanks a lot!

Version 1.1.2 has been submitted to Autodesk.


Duplicate tag

https://atogatari.com/screenshot/58fea902b2d83a26e170d1d0
General tag & Anime tag are both eva，can't convert the general eva to anime

Yes, I'm aware of this issue, which is caused by extra space not being trimmed (in this case, "eva "). I have already made the fix to both client side and server side.
I will come up a strategy to merge existing tags...


Is there a way to enable history on some models

Sorry if this is trivial (seems so) but I couldn't find anything in docs.

The question isn't clear. What do you mean?

I want that Django-simple-history only tracks history of one particular
Django model, not all of the models in my project.
On Fri, May 22, 2020 at 9:21 PM Ross Mechanic<EMAIL_ADDRESS>wrote:

The question isn't clear. What do you mean?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/treyhunner/django-simple-history/issues/665#issuecomment-632764997,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABT45GEFSKSMK4SEZH77LQDRS2NQTANCNFSM4NHNVC3Q
.

--
Regards
Sanchit Sharma

It’s very clear from the documentation. Specify history = HistoricalRecords() on any particular Django model. In fact, there is no way to do this on all Django models so I don’t understand the disconnect.

My bad. Sorry for overlooking. Don't know how missed this while reading the docs.


OAuth public/private key concerns

Recent PR #4364 made a change where it is possible to specify private key per cluster.
This got my attention because it implies that different clusters may have different key pairs.
https://github.com/uber/cadence/blob/5191468f2297dc7666c574fe74492fae4e85b58a/common/config/cluster.go#L70
Another thing I noticed that for verification we have only one public key per cluster. https://github.com/uber/cadence/blob/7aca8298408de8ef3b2b4035f31f63b27f3821ed/common/authorization/oauthAuthorizer.go#L65
Here are my concerns:

If we assume that all of cadence server + worker deployments would fall under single owner, then having multiple key-pairs per cluster does not make sense, single would do.
Otherwise, I think we got it backwards.

Current setup implies that a cluster have a key-pair with public key on its side to validate JWT tokens. Since it has one public key to validate tokens against, this means that private key counterpart has to be distributed for signing parties. If this falls under single owner it may not be a problem.
But consider several parties. For this case you do not want to share your private key with them, as this is private by definition. Now consider the opposite scenario. Each party generates its own key-pair, keeps their private key for signing and give Cadence server maintainer their public counterpart. Now the maintainer could add the public key, but only one key can be configured, and there are several parties.
Lets review a similar pattern - ssh connection. The host has a config file ~/.ssh/authorized_keys where multiple public keys can be added that are allowed to login.
Another example github itself - you can add multiple public keys to it, that are allowed to login.
I suggest the following:

we should accept and validate against the list of public keys (not one).
cluster should contain only one private key for himself (not a list of them per each replication cluster).

@noiarek
@longquanzheng

Hi @vytautas-karpavicius
Thanks for the call out.

we should accept and validate against the list of public keys (not one).

Agreed. I have it in the todo list in the design doc. But it’s not highest  priority at the moment so we didn’t implement it. The assumption is that private key will be managed by a centralized service which return the jwt only. So we shouldn’t distribute the private keys. For example, Uber may have its own way of doing service Auth. You will build a centralized service to own the private key and return jwt to other services. However, it will still make sense to allow a list of public keys for rotation purposes.

cluster should contain only one private key for himself (not a list of them per each replication cluster).

yes or no. It’s going to be different to guarantee all clusters have the same key pairs, and it’s not necessary to do so.
Since each cluster will have its own config they can certainly be different. Just from the structure point of view, since we allow each cluster have their own config, the public key should allow to be different as well.
But it doesn’t mean they have to be different. In your/some cases, if you want them all to be the same, it’s okay and it’s allowed.
Just from a perspective of what we can provide and not, I think allowing different key pairs make more sense than require every cluster to use the same.

Thank you @longquanzheng for clarifications and detailed answers.
Ok, I see that multiple key pairs is indeed required and may be useful in some cases. I'm not against it and it does make sense.
The issue I see, is not the fact that clusters will have different key pairs, but rather the way they are currently configured. Right now we have clusterGroup config section where private keys are specified. It has a private key for current cluster (all good) as well as remote clusters - this is is part that I'm not comfortable with. It means that private key of remote cluster need to be distributed here.
If we were to have a list of public keys to validate against, listing private keys for remote clusters would not be needed. The current cluster will sign it with it own private key only, no matter the destination. The remote cluster would have a list of public keys of corresponding callers that are allowed.
If some centralized service or another implementation that manages the keys is used that may not be an issue - true. But for this particular implementation it can be.

It has a private key for current cluster (all good) as well as remote clusters - this is is part that I'm not comfortable with. It means that private key of remote cluster need to be distributed here.

Right. I do agree the concern, and looks weird.
There is a little more background here -- TChannel doesn't support TLS so we have to apply Authorization for cross cluster requests.
However, if we have done the Authentication using gRPC, this part can be removed/skipped. As they are all Cadence clusters so we should trust them once requests are authenticated. (This is also what Temporal has done)

https://github.com/uber/cadence/pull/4492
looks like interns traffic are using gRPC today. Does it include traffic across cluster? If so we can add authentication to it and then remove the authorization provider per cluster config — for those cross cluster traffic, as long as it passes authentication, there is no need to perform authorization checks


Salvage 1 has incorrect Requirement conditions.

Cooldown times set to watch for Salvage3 instead of salvage1 completions.

Causes Salvage 1 missions to continuously repeat availability. Game breaking.

v1.0.3 corrects (includes previous RC pre-releases)


[CP] [stable] Fix analysis server plugins not receiving setContextRoots (or having wrong roots)

Commit(s) to merge

https://dart-review.googlesource.com/c/sdk/+/381460
https://dart-review.googlesource.com/c/sdk/+/381481

Target
stable
Prepared changelist for beta/stable
https://dart-review.googlesource.com/c/sdk/+/381760
Issue Description
Recent changes to the analysis server result in fewer analysis contexts being created to improve performance. Analysis contexts were also used by analysis server plugins and when no analysis context is created at the location where a plugin should be enabled, it would instead be enabled for the parent context, resulting in the wrong folders having the plugins enabled, and potentially triggering a race condition because the same plugin may be assigned to the same root multiple times.
The result was that analysis server plugins could be nonfunctional, or given the wrong root folders to analyze.
What is the fix
This fix is to ensure that analysis contexts are created at all locations where plugins are enabled (or changed from the parent context).
Why cherry-pick
Without the cherry pick, analysis server plugins may not work at all, or may be enabled for folders that they should not (potentially producing spurious results).
Risk
Medium? I'm not sure what the scale is here. It's not the most trivial cherry-pick, however the changes in behaviour should be limited to only when plugins are used (although the extra check for plugins applies to all contexts) and the change includes several new tests covering the reported error conditions and some additional cases.
(cc @bwilkerson @srawlins @pq in case they have opinions on this)
Issue link(s)
https://github.com/dart-lang/sdk/issues/56475
Extra Info
No response

I spotted an issue with the fix here. The fix is simple, but we need some additional tests for those cases. I'll work on a CL for main and then update this cherry-pick with the fix after.

The fix has a very low risk of causing problems (it's safe to land), and a failure to cherry pick the fix will leave some unknown percentage of our users unable to use the plugins they've come to depend on. I think our users will be much better off if we can approve this.


Microsoft Visual C++ Runtime Library Error

Issue Type: Bug
VS Code installed under Windows "Program Files":
Getting Microsoft Visual C++ Runtime Library Error everytime, a file is modified or added in the workspace.
Error code: R6034
Error message: "An Applicattion has made an attempt to load the C runtime library incorrectly."
VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:20:54.427Z)
OS version: Windows_NT x64 10.0.17134
Extensions (10)

Extension
Author (truncated)
Version

xml
Dot
2.4.0

code-runner
for
0.9.7

plantuml
jeb
2.10.3

plantuml
jke
1.8.1

anaconda-extension-pack
ms-
1.0.1

python
ms-
2019.1.0

cpptools
ms-
0.21.0

PowerShell
ms-
1.11.0

vscode-yaml
red
0.2.1

vba
spe
1.2.0

(1 theme extensions excluded)

@bfriebel This also happens when you have all extensions disabled and it doesn't matter which type the file you modify has?

/needsMoreInfo


ARROW-15748: [Python] Round temporal options default unit is day but documented as second. Follow-up

This is a follow-up to https://github.com/apache/arrow/pull/12507 to address @jorisvandenbossche's comment.

@pitrou sorry this is a bit of a test spam but @jorisvandenbossche is right about temporal options not being tested in master.


Laggy panning

I'm adding markers in real-time every few seconds to leaflet. When viewing using OpenStreetMap tiles, it pans nicely to the new marker. When using Shramov's Google plugin there is a strange lag/flicker when the map pans to the new marker.
It's hard to explain. The markers are close together, only a few 100meters apart. This "bug" is observed in IE11 and Chrome.
This image shows the moment of panning. The fact that tiles are missing is not a huge problem for me, but the panning animation is very laggy. Even existing markers and polylines move "stuttering".

Hopefully I managed to be clear in explaining the issue. Thanks!

Apparently it's fine to use Leaflet if you have a Maps for Work license.

I can confirm that use with leaflet while under a Maps for Work license was allowed, after directly requesting confirmation of this use case from our account manager.

Thats nice and all but there are free alternatives that perform just as good without the need of fancy licenses.
I could just use the Google Maps API for a map implementation instead of using Leaflet + Maps for Work license, right?

The issue is the implementation while building a paid product.  All of the big providers except Bing explicitly disallow that use, including MapQuest.

So when I have for instance a paid app that uses Leaflet, that's not allowed? Even when I give full credit in lets say an 'about' page or so?

It's unfortunate that Leaflet doesn't really work that well with Google map tiles (panning and zooming lags and seems a little off).
The reason why I would prefer to use Leaflet is because the Google Maps V3 API is rather rigid and has but a handful of plugins to use.  Leaflet on the other hand has a full community behind it, which means a much nicer library to use for development and many plugins that can really help speed up development.

Attribution guidelines are extremely specific.  Most require attribution be displayed on map at a minimum.  Furthermore, most attribution is secondary meaning Google is adhering to someone elses attribution requirements, and that is why they are so specific about how people use their maps.
As for using google maps, or any provider, without a formal licensing agreement, that is very grey, and unless there are specifically allowed app based terms it is without a doubt violating TOS.

I dont know if you're using Angular @TheSisb but if you do you could give angular-google-maps a try. It's very extensive with loads of addons and features.

I hadn't seen that.  It looks like a step in the right direction (for Google Maps) but we don't currently use Angular on our project.  If the decision is made to use Google Maps over an alternative at this point, I'll may include Angular in our project just for the map.  Seems like overkill though.

As you confirmed yourself; that seems like an extremely unwise choice. Using a full framework just to use a plugin for that framework is indeed a huge overkill.
Don't know if you're familiar with PHP but it's like installing all of Symphony just to send an e-mail. Or including jQuery just to change the contents of a span once.
Like I said; overkill. Choose wisely which framework / library / plugin to use and why.

Closing this old issue since nobody is working on it. Feel free to provide a pull req for that :)

@brunob I've tried to get around this and used several techniques to make it smoother but the best it got is like this https://jsfiddle.net/rcknr/jqyjup8g/ i.e. just slightly less horrible than it is right now.
Do you want me to pull request this?

@rcknr yes a PR would be nice and more easy to see the diff :)

Changing this line
this._limitedUpdate = L.Util.limitExecByInterval(this._update, 150, this);
to
this._limitedUpdate = L.Util.limitExecByInterval(this._update, 0, this);
really improved it for me.


GSoC 2022 Idea: Autodetect IPs used inside the VM

With regards to IP info reporting, Cloudstack relies entirely on it's DHCP data bases and so on. When this is not available (L2 networks etc) no IP information is shown for a given VM.
I propose we introduce a mechanism for "IP autodetection" and try to discover the IPs used inside the machines by means of querying the hypervisors. For example with KVM/libvirt we can simply do something like this:
root@fedora35 ~]# virsh domifaddr win2k22 --source agent
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 Ethernet   52:54:00:7b:23:6a    ipv4         <IP_ADDRESS>/24
 Loopback Pseudo-Interface 1                      ipv6         ::1/128
 -          -                    ipv4         <IP_ADDRESS>/8

The above command queries the qemu-guest-agent inside the Windows VM. The VM needs to have the qemu-guest-agent installed and running as well as the virtio serial drivers (easily done in this case with virtio-win-guest-tools.exe ) as well as a guest-agent socket channel defined in libvirt.
Once we have this information we could display it in the UI/API as "Autodetected VM IPs" or something like that.
I imagine it's very similar for VMWare and XCP-ng.
Thank you

In terms of time, 2-3 months should be more than enough to develop this feature.

Thanks for submitting the idea, GSoC2022 has ended. I'm closing this, you can resubmit this idea again for next year in case this wasn't selected or worked upon this year.


Add count_from_dayoff option for business_days

Add a count_from_dayoff option for #116
If more test needed, please tell me.
I don't implemented for BusinessHours, because I don't need it.
Thanks

I appreciate the contribution to the project, but I'm going to have to decline this pull request.  As stated in the closed issue you reference, I stated:

This is operating as intended, and as stated in the readme and original mission in the project, this is meant to be a solution for a particular domain, not a 'configure-all-the-things' project. You are welcome to fork the project and use it however you like.

Every little configuration like this is something that I have to provide moving forward, ensure it doesn't break existing code, etc.  I've been burned badly by that in the past.  I'm willing to err on the other side for this project, and have been saying so for almost a decade.


Input.is_action_pressed() still returns true after Cmd-Tab and releasing the key

Godot version:
3.2.stable
OS/device including version:
MacOS X Catalina 10.15.2
Issue description:
Basically the same as https://github.com/godotengine/godot/issues/18785 . This is still reproducible on mac.
Steps to reproduce:
https://github.com/godotengine/godot/issues/18785
Minimal reproduction project:
https://github.com/godotengine/godot/issues/18785

Can anyone still reproduce this bug in Godot 3.2.3 or any later release?

I am running 3.2.3.stable and encountered this issue today (16 Feb 2021)

@joshuatree0587 Which operating system are you using, and what kind of input are you using (keyboard/mouse/controller)?

I'm running macOS Catalina 10.15.7 and using a keyboard to trigger the default "ui_left" and "ui_right" actions.

For anyone stumbling on this via Google, you can temporarily work around the issue in data by handling NOTIFICATION_WM_FOCUS_OUT on a script attached to your root scene node.
# HACK
# When the game loses focus, is_action_pressed remains true for any action that was active at the time.
# To become false, the key must be pressed & released again after the window regains focus.
# To remedy this, we will tell the engine that the user released certain actions.
# The engine has no concept of "cancelling" an input, so this might have unintended side effects,
# such as inadvertently activating in-game abilities or UI controls.
func _notification(what):
	if what == NOTIFICATION_WM_FOCUS_OUT:
		Input.action_release("ui_up")
		Input.action_release("ui_down")
		Input.action_release("ui_left")
		Input.action_release("ui_right")
		...


Support EIP-3085 and EIP-747

Since more and more DApps required cross-chain feature. I think onboard should also improve the network switch behavior and experience and also implement add custom token in the wallet if possible.
Both of them are listed on EIPs

EIP-3085: Wallet Add Ethereum Chain RPC Method (wallet_addEthereumChain)
EIP-747: Add wallet_watchAsset to Provider

since onboard is the most popular wallet connector library I think these two feature should be included which will benefit everyone. Cheers!

Sorry this should be able to fulfill by interacting the wallet provider directly


la croix color theme for mapped preds

addresses issue #64

[x] change color
[ ] add legend

thoughts on these colors
the tan for unvalidated predictions, the blue for validated and true, salmon for validated and false?

taking from the paplemousse la croix color theme
cc @ingalls

switching out tan it wasn't distinctive enough at lower zoom levels of a prediction AOI

legend take 1

cc @ingalls

legend re-formatting

legend centered on the bottom with margins


Trouble w/ hot reload

I'm having trouble getting the hot reload to work with the Go API. I ran the steps below:
https://github.com/McMenemy/GoDoRP#getting-started
After running docker-compose up I went to http://localhost:5000/ and saw the This is the RESTful api message. If I change that in the api.go file to anything else I don't see the change unless I rebuild the docker image (docker-compose build).
I can confirm from the output the api server is running in dev mode:
api_1       | 1:19:07 runner      | InitFolders
api_1       | 1:19:07 runner      | mkdir ./tmp
api_1       | 1:19:07 runner      | mkdir ./tmp: file exists
api_1       | 1:19:07 watcher     | Watching .
api_1       | 1:19:07 watcher     | Watching vendor
api_1       | 1:19:07 watcher     | Watching vendor/database
api_1       | 1:19:07 main        | Waiting (loop 1)...
api_1       | 1:19:07 main        | receiving first event /
api_1       | 1:19:07 main        | sleeping for 600 milliseconds
api_1       | 1:19:07 main        | flushing events
api_1       | 1:19:07 main        | Started! (11 Goroutines)
api_1       | 1:19:07 main        | remove tmp/runner-build-errors.log: no such file or directory
api_1       | 1:19:07 build       | Building...
api_1       | 1:19:08 runner      | Running...
api_1       | 1:19:08 main        | --------------------
api_1       | 1:19:08 main        | Waiting (loop 2)...
api_1       | 1:19:13 app         | 2018/01/05 01:19:13 connected to DB
api_1       | 2018/01/05 01:19:13 Running api server in dev mode

Am I doing something wrong?

Hi @n00ge , sorry for the late response, have not looked at this project in a while. Just re git cloned and ran docker-compose up and everything worked for me. After you change the text in api.go you have to refresh the page to see the text changes (react will automatically refresh the page for you).


Added profile and script

Added my name to the contributors' file
Added my profile in the profile folder
Added hello world in JavaScript

Please resolve conflicts.


Fix copy-paste error method-parameters.md

When you assign new instance to the value type paramenter by reference, the changes are visible from the caller method
var instance = new TestStruct { Property = 0 };
AssignNewInstance(ref instance);
Console.WriteLine(instance.Property);
// 42

void AssignNewInstance(ref TestStruct local)
{
    local = new TestStruct { Property = 42 };
    return;
}
struct TestStruct
{
    public int Property { get; set; }
}

Internal previews

📄 File
🔗 Preview link

docs/csharp/language-reference/keywords/method-parameters.md
docs/csharp/language-reference/keywords/method-parameters

Hi @andre1110
The current text is actually correct (although it could use some further clarification).  See my notes in #32853

Hello @BillWagner
I tend to think that you are wrong for 2 reasons:

Your code snippet in #32853 demonstrates 'ref assignment' and not 'assignment' per se. IMHO when reading the sentence If the method assigns the parameter to refer to a different object I can only naturally imagine the code similar to what I pasted in the original post.
If we assume you are correct, then the same 'ref assignment' for a reference type instance should yield different results according to the documentation: When you pass a reference type by reference: If the method assigns the parameter to refer to a different object, those changes are visible from the caller. However, in fact, it does not:static MyClass staticInstance = new MyClass { Id = 5 };

var localInstance = new MyClass { Id = 3 };
AssignNewMyClass(ref localInstance);
Console.WriteLine("The value outside of the method: {0}", localInstance);
// The value outside of the method: 3

static void AssignNewMyClass(ref MyClass x){
    x = ref staticInstance;
    Console.WriteLine("The value inside the method: {0}", x);
    // The value inside the method: 5
}

class MyClass
{
    public int Id { get; set; }
    public override string ToString() => Id.ToString();
}


feat(geometry): Rotate GeoJSON Polygons when a right angle is found

This commit adds new methods that rotate the GeoJSON polygon if it finds that the lower left corner of the polygon has a right angle. This way, GHEDesigner will place the grid of boreholes along the site boundaries, which is more spatially efficient and closer to what people would actually build.
The commit also refactors some of the methods that do pure geometry manipulation into a geometry.py module that is separate from the projection.py module that converts between lat/long and meters.
To illustrate the change that this commit makes, it effectively turns the following borehole layout that the current package produces:

.. into this:

@vtnate do you know why are tests not being run on this? Based on the actions repo settings, it seems to me like they should run automatically. Or that we should get a prompt to approve tests, and then they should run.

 Those pictures are valuable.
@mitchute Perhaps because this PR is coming from a fork and not our own repo? CI is set to run on every push. I will investigate the github settings and update our CI yaml file.

Thanks, @mitchute . Sorry that I forgot to update the unit test. I just pushed an update for it and all of them now pass on my local machine:

I can also change this to be a PR from a branch instead of my fork if that's helpful but it looks like you already have a fix for that here, @vtnate .

@chriswmackey, can you run pre-commit run --all on your branch to run the linter/formatter?

Thanks, @vtnate . I ran the linter and committed the auto-updated files. Hopefully, this gets all of the tests to pass.

The code looks good to me, though I think @mitchute should review/approve for scientific appropriateness before we merge it.

I'm good with it. Feel free to merge this.


Rewriting datatree to Zarr file after opening it with open_datatree returns nan

I'm trying to reload a datatree that I have previously written to disk. When saving the datatree with e.g. additional nodes to a zarr file, the data of the previous nodes become nan.
Minimal example
import datatree
import numpy as np
np.random.seed(0)

dt = datatree.DataTree()
dt["some/data"] = np.random.random((100,100))
dt.to_zarr("test.zarr")
print(dt["some/data"].mean().compute())
# returns array(0.49645889) as expected

dt = datatree.open_datatree("test.zarr", engine='zarr', chunks={})
dt["some/data"].mean().compute()
print(dt["some/data"].mean().compute())
# still returns array(0.49645889) as expected

dt.to_zarr("test.zarr")
print(dt["some/data"].mean().compute())
# returns array(nan) which is unexpected

dt = datatree.open_datatree("test.zarr", engine='zarr', chunks={})
print(dt["some/data"].mean().compute())
# returns array(nan) which is unexpected

Interestingly, nan is returned already after the attempt to write dt to disk, without opening it again.
Work arounds
Inserting dt.load() after reopening the datatree can solve the issue but that loads all the data into memory, even those parts that are already on disk and did not change. Another option is to use dt.to_zarr("test.zarr", mode="a") to only write the new additions.
Maybe dt.load() should be invoked when mode = 'w'?
Versions
datatree.__version__ == '0.0.10'

Further versions
xr.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.9.10 | packaged by conda-forge | (main, Feb  1 2022, 21:24:11)
[GCC 9.4.0]
python-bits: 64
OS: Linux
OS-release: 4.18.0-348.el8.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: ('en_US', 'UTF-8')
libhdf5: 1.12.1
libnetcdf: 4.8.1

xarray: 2022.12.0
pandas: 1.4.3
numpy: 1.22.3
scipy: 1.9.0
netCDF4: 1.5.8
pydap: installed
h5netcdf: 1.0.2
h5py: 3.7.0
Nio: None
zarr: 2.12.0
cftime: 1.6.0
nc_time_axis: 1.4.1
PseudoNetCDF: None
rasterio: None
cfgrib: <IP_ADDRESS>
iris: None
bottleneck: 1.3.5
dask: 2022.9.2
distributed: 2022.9.2
matplotlib: 3.5.1
cartopy: 0.21.0
seaborn: 0.11.2
numbagg: None
fsspec: 2022.02.0
cupy: None
pint: 0.17
sparse: None
flox: 0.5.9
numpy_groupies: 0.9.19
setuptools: 59.8.0
pip: 22.0.4
conda: 4.11.0
pytest: 7.1.3
mypy: 0.971
IPython: 8.1.1
sphinx: None

Thanks for this report @observingClouds !
Interestingly trying to do the same thing in pure xarray is apparently forbidden by Zarr.
import xarray as xr
import numpy as np
np.random.seed(0)

ds = xr.Dataset()
ds["data"] = (['x', 'y'], np.random.random((100,100)))
ds.to_zarr("test.zarr")
print(ds["data"].mean().compute())
# returns array(0.49645889) as expected

ds = xr.open_dataset("test.zarr", engine='zarr', chunks={})
ds["data"].mean().compute()
print(ds["data"].mean().compute())
# still returns array(0.49645889) as expected

ds.to_zarr("test.zarr", mode="a")

<xarray.DataArray 'data' ()>
array(0.49645889)
<xarray.DataArray 'data' ()>
array(0.49645889)
Traceback (most recent call last):
  File "/home/tom/Documents/Work/Code/experimentation/bugs/datatree_nans/mwe_xarray.py", line 16, in <module>
    ds.to_zarr("test.zarr")
  File "/home/tom/miniconda3/envs/xrdev3.9/lib/python3.9/site-packages/xarray/core/dataset.py", line 2091, in to_zarr
    return to_zarr(  # type: ignore
  File "/home/tom/miniconda3/envs/xrdev3.9/lib/python3.9/site-packages/xarray/backends/api.py", line 1628, in to_zarr
    zstore = backends.ZarrStore.open_group(
  File "/home/tom/miniconda3/envs/xrdev3.9/lib/python3.9/site-packages/xarray/backends/zarr.py", line 420, in open_group
    zarr_group = zarr.open_group(store, **open_kwargs)
  File "/home/tom/miniconda3/envs/xrdev3.9/lib/python3.9/site-packages/zarr/hierarchy.py", line 1389, in open_group
    raise ContainsGroupError(path)
zarr.errors.ContainsGroupError: path '' contains a group

That seems inconsistent with the behaviour described in the Dataset.to_zarr docstring (which says "“w” means create (overwrite if exists)"). I think the desired result of trying to overwrite part of a zarr store needs to be consistent upstream before we can get it right in a multi-node datatree context, so I've raised an xarray issue for that first.

I think what is happening is that the overwriting an open zarr store is producing broken references somewhere between Datatree and Zarr. A few clues:

If you add .load() to the first open_datatree call, things work as expected.
If you swap out the zarr engine for netcdf4, you get an informative error that indicates a cache conflict:import datatree
import numpy as np
np.random.seed(0)

store = 'test.nc'

dt = datatree.DataTree()
dt["some/data"] = np.random.random((100,100))
dt.to_netcdf(store, mode='w')
print(dt["some/data"].mean().compute())
# returns array(0.49645889) as expected

dt = datatree.open_datatree(store, engine='netcdf4', chunks={})
dt["some/data"].mean().compute()
print(dt["some/data"].mean().compute())
# still returns array(0.49645889) as expected

dt.to_netcdf(store)

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File ~/miniforge3/envs/xarray/lib/python3.10/site-packages/xarray/backends/file_manager.py:209, in CachingFileManager._acquire_with_cache_info(self, needs_lock)
    208 try:
--> 209     file = self._cache[self._key]
    210 except KeyError:

File ~/miniforge3/envs/xarray/lib/python3.10/site-packages/xarray/backends/lru_cache.py:55, in LRUCache.__getitem__(self, key)
     54 with self._lock:
---> 55     value = self._cache[key]
     56     self._cache.move_to_end(key)

KeyError: [<class 'netCDF4._netCDF4.Dataset'>, ('/workdir/notebooks/test.nc',), 'a', (('clobber', True), ('diskless', False), ('format', 'NETCDF4'), ('persist', False)), 'b89e2809-1dc7-4df1-a130-018904b07b53']

In short, I don't think this workflow of overwriting an existing dataset/datatree should work and is likely to lead to problems. It is likely to run into all kinds of tricky problems with caching.


Any reason to have the Client and Server projects?

Hello,
More than an issue, it is a doubt (I didn't find another point to comment on) ...
About the need of having two projects, one for the server (MVC) and the other one client (Blazor).
Any technical reason / best practice for it instead of having only one blazor project?

It is practice project.
The project you saw is no longer in use.
My other git project path is below :
https://github.com/codingzombie82/Service
Use dotnet core api + blazor client.
2021년 2월 5일 (금) 오후 12:28, Raul Duque<EMAIL_ADDRESS>작성:

Hello,
More than an issue, it is a doubt (I didn't find another point to comment
on) ...
About the need of having two projects, one for the server (MVC) and the
other one client (Blazor).
Any technical reason / best practice for it instead of having only one
blazor project?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dotnet-presentations/blazor-workshop/issues/301, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACLBLRNY45KHKT7Z5EGLM43S5NQVNANCNFSM4XEAF3LA
.

It is practice project.
The project you saw is no longer in use.
My other git project path is below :
https://github.com/codingzombie82/AppService
Use dotnet core api + blazor client.
2021년 2월 5일 (금) 오후 2:14, 이진영<EMAIL_ADDRESS>작성:

It is practice project.
The project you saw is no longer in use.
My other git project path is below :
https://github.com/codingzombie82/Service
Use dotnet core api + blazor client.
2021년 2월 5일 (금) 오후 12:28, Raul Duque<EMAIL_ADDRESS>작성:

Hello,
More than an issue, it is a doubt (I didn't find another point to comment
on) ...
About the need of having two projects, one for the server (MVC) and the
other one client (Blazor).
Any technical reason / best practice for it instead of having only one
blazor project?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dotnet-presentations/blazor-workshop/issues/301, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACLBLRNY45KHKT7Z5EGLM43S5NQVNANCNFSM4XEAF3LA
.

@raulandresduque If i understand your question correctly - You are asking about BlazingPizza.Server & BlazingPizza.Client. Blazor WebAssembly has 2 hosting models:

Host it as a static web site in a web server
Use ASP.NET as a server which hosts the Blazor WebAssembly app and serves it to the browser

In this workshop the second model is showcased. Plus the BlazingPizza.Server is also used to house the APIs powering the Blazor WebAssembly application (lile pizza api endpoint, order end point, toppings endpoint etc).
This is a typical practice followed by most people.
Hope this helps.

@raulandresduque if you think your questions is answered - please consider closing this issue. Thanks.


CI: Conformance E2E Setup & Test (9, 5.10-20231026.065108...)

CI failure
Hit on https://github.com/cilium/cilium/pull/27520 : https://github.com/cilium/cilium/actions/runs/6788118583/job/18465835688
Seeing a lot of other failures in the recent job history:
https://github.com/cilium/cilium/actions/runs/6797935163
https://github.com/cilium/cilium/actions/runs/6797514393
https://github.com/cilium/cilium/actions/runs/6797075058
https://github.com/cilium/cilium/actions/runs/6795855417
https://github.com/cilium/cilium/actions/runs/6794956035
https://github.com/cilium/cilium/actions/runs/6791851552
https://github.com/cilium/cilium/actions/runs/6790500828
Seems to have cropped up after the this was merged: https://github.com/cilium/cilium/pull/29000
[=] Test [node-to-node-encryption]
..
  [-] Scenario [node-to-node-encryption/node-to-node-encryption]
  [.] Action [node-to-node-encryption/node-to-node-encryption/ping-ipv4: cilium-test/host-netns-bdd4b (<IP_ADDRESS>) -> cilium-test/host-netns-ps78w (<IP_ADDRESS>:0)]
  [.] Action [node-to-node-encryption/node-to-node-encryption/curl-ipv4: cilium-test/host-netns-bdd4b (<IP_ADDRESS>) -> cilium-test/echo-other-node-78455455d5-7vnrx (<IP_ADDRESS>:8080)]
  ❌ Captured unencrypted pkt (count=11 packets)

cilium-sysdump-9-final.zip

See https://github.com/cilium/cilium/issues/29029

this is a dupe (didn't find the other in my search because it was already closed). rebasing allowed the test to pass, going to close this


flutter_eval demo error in flutter 3.3.2

The following CompileError was thrown building EvalExample:
Unknown function body type ExpressionFunctionBodyImpl

The relevant error-causing widget was
EvalExample
lib/main.dart:7
When the exception was thrown, this was the stack
#0      compileMethodDeclaration
package:dart_eval/…/declaration/method.dart:56
#1      compileDeclaration
package:dart_eval/…/declaration/declaration.dart:18
#2      compileClassDeclaration
package:dart_eval/…/declaration/class.dart:29
#3      compileDeclaration
package:dart_eval/…/declaration/declaration.dart:16
#4      Compiler.compileSources.<anonymous closure>.<anonymous closure>
package:dart_eval/…/compiler/compiler.dart:303
#5      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617:13)
#6      Compiler.compileSources.<anonymous closure>
package:dart_eval/…/compiler/compiler.dart:292
#7      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617:13)
#8      Compiler.compileSources
package:dart_eval/…/compiler/compiler.dart:289
#9      Compiler.compile
package:dart_eval/…/compiler/compiler.dart:118
#10     _EvalWidgetState._recompile
package:flutter_eval/src/flutter_eval.dart:308
#11     _EvalWidgetState.initState
package:flutter_eval/src/flutter_eval.dart:288
#12     StatefulElement._firstBuild
package:flutter/…/widgets/framework.dart:5015
#13     ComponentElement.mount
package:flutter/…/widgets/framework.dart:4853
...     Normal element mounting (7 frames)
#20     Element.inflateWidget
package:flutter/…/widgets/framework.dart:3863
#21     Element.updateChild
package:flutter/…/widgets/framework.dart:3592
#22     RenderObjectToWidgetElement._rebuild
package:flutter/…/widgets/binding.dart:1195
#23     RenderObjectToWidgetElement.mount
package:flutter/…/widgets/binding.dart:1164
#24     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure>
package:flutter/…/widgets/binding.dart:1111
#25     BuildOwner.buildScope
package:flutter/…/widgets/framework.dart:2605
#26     RenderObjectToWidgetAdapter.attachToRenderTree
package:flutter/…/widgets/binding.dart:1110
#27     WidgetsBinding.attachRootWidget
package:flutter/…/widgets/binding.dart:945
#28     WidgetsBinding.scheduleAttachRootWidget.<anonymous closure>
package:flutter/…/widgets/binding.dart:925
(elided 4 frames from class _RawReceivePortImpl, class _Timer, and dart:async-patch)

This is a known issue, I forgot to add arrow functions support on class methods. Will be fixed in v0.5 at the latest.

new error after i change   State<MyHomePage> createState() => _MyHomePageState();  to State<MyHomePage> createState() { return  _MyHomePageState();}
Launching lib/main.dart on iPhone 13 Pro Max in debug mode...
Xcode build done.                                           14.2s
Connecting to VM Service at ws://<IP_ADDRESS>:49505/a240wrz7su8=/ws

════════ Exception caught by widgets library ═══════════════════════════════════
The following RuntimeException was thrown building $StatefulWidget$bridge(dirty, state: $State$bridge<StatefulWidget>#028b5):
dart_eval runtime exception: Stack Overflow
#0      _LinkedHashMapMixin._getValueOrData (dart:collection-patch/compact_hash.dart:567:3)
#1      _LinkedHashMapMixin.[] (dart:collection-patch/compact_hash.dart:594:13)
#2      $InstanceImpl.$getProperty

RUNTIME STATE
=============
Program offset: 3458
Stack sample: [$State$bridge<StatefulWidget>#028b5, Instance of '$BuildContext', null, null, null, null, null, null, null, null]
Call stack: [0, -1]
TRACE:
3452: PushObjectPropertyImpl (L0[0])
3453: Return (L1)
3454: PushScope (F35:952, '_MyHomePageState._counter (set)')
3455: SetObjectPropertyImpl (L0[0] = L1)
3456: Return (L1)
3457: PushScope (F35:987, '_MyHomePageState.build()')
3458: PushObjectProperty (L0.widget)  <<< EXCEPTION
3459: PushReturnValue ()
3460: PushObjectProperty (L2.title)
3461: PushReturnValue ()

The relevant error-causing widget was
$StatefulWidget$bridge $StatefulWidget$
When the exception was thrown, this was the stack
#0      Runtime.bridgeCall
#1      EvalStaticFunctionPtr.call
#2      $Bridge.$_invoke
#3      $State$bridge.build
#4      StatefulElement.build
#5      ComponentElement.performRebuild
#6      StatefulElement.performRebuild
#7      Element.rebuild
#8      ComponentElement._firstBuild
#9      StatefulElement._firstBuild
#10     ComponentElement.mount
...     Normal element mounting (24 frames)
#34     Element.inflateWidget
#35     MultiChildRenderObjectElement.inflateWidget
#36     MultiChildRenderObjectElement.mount
...     Normal element mounting (175 frames)
#211    Element.inflateWidget
#212    MultiChildRenderObjectElement.inflateWidget
#213    MultiChildRenderObjectElement.mount
...     Normal element mounting (436 frames)
#649    Element.inflateWidget
#650    Element.updateChild
#651    RenderObjectToWidgetElement._rebuild
#652    RenderObjectToWidgetElement.mount
#653    RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure>
#654    BuildOwner.buildScope
#655    RenderObjectToWidgetAdapter.attachToRenderTree
#656    WidgetsBinding.attachRootWidget
#657    WidgetsBinding.scheduleAttachRootWidget.<anonymous closure>
(elided 4 frames from class _RawReceivePortImpl, class _Timer, and dart:async-patch)
════════════════════════════════════════════════════════════════════════════════
flutter: Wrote generated EVC bytecode to: file:///Users/zmtzawqlp/Library/Developer/CoreSimulator/Devices/D4462A35-FCBB-4827-964B-F54895926C98/data/Containers/Data/Application/452C35FF-F77F-4258-B23A-5C41E62729A3/Documents/assets/program.evc

Ok, I know why this error is happening. It's very late for me now though, will fix tomorrow. You can remove the use of widget.title for now to test

Ok, I know why this error is happening. It's very late for me now though, will fix tomorrow. You can remove the use of widget.title for now to test

ok, thinks

Fixed in v0.5


Adding rageQuittedAt

Adding the date where a user has done the rageQuit to the subgraph.
This way, it would be possible to query recently ragequitted users the same way we can query recently created users
I think it should just be possible to do a simple member.rageQuitAt = event.block.timestamp inside handleRageQuit

@daviddavo
Sorry for the delay here! We have a field called createdAt that has that date. Does that help?
mapping: rageQuit.createdAt = event.block.timestamp.toString();


Plex scrobble updates the DB but export says no update

Great tool with some learning curve!
I set up Plex -> Jellyfin sync. Plex send a webhook to ws which updates the DB:
[2022-07-06T18:27:20.073745-07:00] webhook.NOTICE: [plex] marked [Frasier (1999) - 07x002] as [Played]. {"request":{"id":"$ID","ip":"$IP","agent":"PlexMediaServer/<IP_ADDRESS>97-5bd057d2b","uri":"/?apikey=$API_KEY"},"id":$ID,"item":{"type":"episode"},"attributes":{"backend":{"id":"$BACKEND","name":"$NAME","client":"PlexMediaServer","version":"<IP_ADDRESS>97-5bd057d2b"},"user":{"id":1,"name":"$USERNAME"},"item":{"id":"34273","type":"episode"},"webhook":{"event":"media.scrobble"}}} []

And I've verified this in the DB:
┌───────┬─────────┬─────────────────────────────────────────────────┬────────────┬─────────────────────────┬────────┬────────────────┐
│ id    │ Type    │ Title                                           │ Via (Last) │ Date                    │ Played │ Via (Event)    │
├───────┼─────────┼─────────────────────────────────────────────────┼────────────┼─────────────────────────┼────────┼────────────────┤
│ 3655  │ Episode │ Frasier (1999) - 07x002                         │ plex       │ 2022-07-06 18:27:20 PDT │ Yes    │ media.scrobble │

But then when I try to export the change to jellyfin, it doesn't work:
$ docker exec -ti watchstate console state:export -v --servers-filter 'jellyfin'
[2022-07-06T18:28:50-07:00] NOTICE: DATABASE: Loading changed items since [2022-07-06 18:07:32 PDT].
[2022-07-06T18:28:50-07:00] NOTICE: SYSTEM: Using push mode for [0] backends and export mode for [0] backends.
[2022-07-06T18:28:50-07:00] NOTICE: SYSTEM: No play state changes detected.

So 2 things:

Why does it not work when there's clearly been an update in the DB?
It would be nice to export the state as soon as webhook is called instead of waiting for the cronjob to run.

Hi,
looking at the logs i assume you probably don't have export enabled, could you do 'console servers:view' and check out 'export.enabled' value. Running the same command with -vvv will give you more information.
As for why we don't sync as soon as possible if you happen to have webhooks enabled you could run the push command every 1m instead if 10m, i simply set the default to 10m as it cover wide range of episodes runtime length. Check out the environment section in FAQ.md and set the WS_CRON_PUSH_AT to whatever value you like :-)
If you do have export enabled. then report back and we could dig further.

I do have export enabled on the jellyfin backend:
┌──────────┬────────────────────────────────────────────────┐
│ Backend  │ Filter: None                                   │
├──────────┼────────────────────────────────────────────────┤
│ jellyfin │ name: jellyfin                                 │
│          │ type: jellyfin                                 │
│          │ url: 'https://$DOMAIN/'             │
│          │ token: $TOKEN        │
│          │ uuid: $UUID         │
│          │ user: $USER         │
│          │ import:                                        │
│          │   enabled: true                                │
│          │ export:                                        │
│          │   enabled: true                                │
│          │   lastSync:<PHONE_NUMBER>                         │

Export is disabled on the plex backend though since I do not want to export to plex (only FROM plex to jellyfin).
But, I understand now that push is different from export. I had export enabled but not push. I set WS_CRON_PUSH=true in my docker container and now it does attempt to push but still fails:
--------------------------
Task: push (Started: Wed, 22:10:00 PDT)
Command: console state:push -vvv
Exit Code: 0 (Ended: Wed, 22:10:00 PDT)
--------------------------

[2022-07-06T22:10:00-07:00] INFO: Export to this backend is disabled by user choice.
[2022-07-06T22:10:00-07:00] WARNING: Ignoring [Frasier (1999) - 07x002] for [jellyfin]. No metadata was found.
[2022-07-06T22:10:00-07:00] NOTICE: SYSTEM: No play state changes detected.

I'm not sure why it's complaining about export being disabled - it's clearly enabled. Any thoughts.

As you can see from the log [2022-07-06T22:10:00-07:00] WARNING: Ignoring [Frasier (1999) - 07x002] for [jellyfin]. No metadata was found did you import your jellyfin metadata?
run the following console db:list --id 3655 --output yaml if there is no metadata related to jellyfin then it might mean the show is not matched in jellyfin. go to jellyfin and edit the show metadata and checkout the external ids section.
Or you can do
console backend:library:list jellyfin

get the library id which contains the show then run
console backend:library:unmatched jellyfin library_id

it should give you list of unmatched items.
If everything checks out then I'm going to need import trace log to determine why they are not being matched.

INFO: Export to this backend is disabled by user choice. this relates to plex i forgot to put the backend name in the text if context is disabled.

Ah ok so just a red-herring then? Ok to ignore this log.

As you can see from the log [2022-07-06T22:10:00-07:00] WARNING: Ignoring [Frasier (1999) - 07x002] for [jellyfin]. No metadata was found did you import your jellyfin metadata?
run the following console db:list --id 3655 --output yaml if there is no metadata related to jellyfin then it might mean the show is not matched in jellyfin. go to jellyfin and edit the show metadata and checkout the external ids section.

Didn't know I had to do that. Okay so I imported from jellyfin and now I see metadata for both backends in console db:list --id 3655 --output yaml.
I do see that the metadata doesn't match - plex doesn't have any guids (which is what I'm assuming ws uses to match?):
https://gist.github.com/karan/d1e5519c0069b7b92d4f78f5d1802947

Or you can do
console backend:library:list jellyfin

get the library id which contains the show then run
console backend:library:unmatched jellyfin library_id

it should give you list of unmatched items.

I've ensured there's no unmatched and no mismatched items in my libraries.

If everything checks out then I'm going to need import trace log to determine why they are not being matched.

Happy to provide any logs if you let me know what steps to follow.

The meta seems fine now, for episodes parent guid is enough for syncing. now that you have imported your jellyfin metadata try exporting it should hopefully work 😄

Aha that worked. Tested with the following steps:

Start watching on plex
Notice media.scrobble event in ws logs
docker exec -ti watchstate console state:push -vvv -> Pushes to jellyfin!

Now that it works, this tool is quite amazing!
Thanks for the help.

Glad it worked for you.


[WIP] Start to sketch out integration with cosign.

When COSIGN_EXPERIMENTAL=true, this will verify base images, and sign produced images using the KEYLESS flow.
Fixes: https://github.com/google/ko/issues/357
Fixes: https://github.com/google/ko/issues/356

cosign uses Go 1.16 features, so we should discuss what to do with some of the older tests 🤔

Codecov Report

Merging #433 (cc511e5) into main (7f145a7) will decrease coverage by 1.19%.
The diff coverage is 2.27%.

@@            Coverage Diff             @@
##             main     #433      +/-   ##
==========================================
- Coverage   53.43%   52.23%   -1.20%
==========================================
  Files          36       36
  Lines        1834     1878      +44
==========================================
+ Hits          980      981       +1
- Misses        703      745      +42
- Partials      151      152       +1

Impacted Files
Coverage Δ

pkg/commands/resolver.go
29.33% <0.00%> (-3.18%)
:arrow_down:

pkg/commands/config.go
48.88% <4.54%> (-8.64%)
:arrow_down:

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 7f145a7...cc511e5. Read the comment docs.

I'm honestly pleaseantly surprised how relatively small this diff is

Yeah, I've been working to minimize it 😉
Really aside from the output garbage and the logic to eliminate redundant verifications it's like 5 LoC each.

we should try to refactor cosign's packages to make them easier for us (and others, hopefully) to consume in this way

Part of me wonders if we'd have even noticed if we didn't check in vendor.  I agree, and would certainly appreciate any help in that department.  🙏 😇

@jonjohnsonjr @imjasonh https://github.com/sigstore/cosign/issues/657 👀

@dlorenc thinks I should play with the stuff in pkg/cosign instead.  I'll see how much leaner that is from a vendor perspective, and how much more code it requires.

Needs rebase.


Query SCAN generating wrong SQL if used after COUNT with JOINS

Hi,
I am using the COUNT and then SCAN records and it generates the wrong sql with JOIN
type PaymentMethodListSchema struct {
	ID                   int    `json:"id"`
	BankAccountTypeTitle string `json:"bankAccountTypeTitle"`
}

var records []PaymentMethodListSchema
query := db.Model(&wallet.PaymentMethod{}).Where("user_id = ?", 1).Select("wallet_payment_methods.id, bct.title as bank_account_type_title").Joins("left join wallet_bank_account_types as bct on bct.id=wallet_payment_methods.bank_account_type_id")

var total int64
query.Count(&total) // REMOVE COUNT to generate correct query
query.Scan(&records)
jutil.PrintToJSON(records)
fmt.Println(total)

Correct Query generated without COUNT
SELECT wallet_payment_methods.id, bct.title as bank_account_type_title FROM "wallet_payment_methods" left join wallet_bank_account_types as bct on bct.id=wallet_payment_methods.bank_account_type_id WHERE user_id = 1 AND "wallet_payment_methods"."deleted_at" IS NULL

Wrong Query generated if used with COUNT
SELECT "wallet_payment_methods"."id","wallet_payment_methods"."created_at","wallet_payment_methods"."updated_at","wallet_payment_methods"."deleted_at" FROM "wallet_payment_methods" left join wallet_bank_account_types as bct on bct.id=wallet_payment_methods.bank_account_type_id WHERE user_id = 1 AND "wallet_payment_methods"."deleted_at" IS NULL AND "wallet_payment_methods"."deleted_at" IS NULL

How do i use COUNT and SCAN together as i have TABLE so i want to show the total records and data also ?

https://gorm.io/docs/v2_release_note.html#Method-Chain-Safety-Goroutine-Safety

How do i get context from query variable as mentioned above ?
Is this correct ctxDB := db.WithContext(query.Statement.Context) ?

@jinzhu Ignore my last comment i found how to get context 👍
https://gorm.io/docs/method_chaining.html#Method-Chain-Safety-Goroutine-Safety


fix: incorrect stdout for mise shell function in xonsh

The old implementation had issues with piping the result since stdout/stderr was not acutally captured in the shell but directly printed to the terminal.
The fix here unfortunately effectivly turns off colors in mise, as mise seems to not honor CLICOLOR_FORCE et. al. environment variables as per #1836

I think it'd be better if we just found out why CLICOLOR_FORCE isn't working and fixed that directly

The coloring problem is only a side-effect of this fix, so it should imho have no bearing on whether this fix should be accepted or not. The fix addresses stdio within the xonsh shell which I handled incorrectly, thereby breaking pipe-ability. You can read about that here: https://github.com/xonsh/xonsh/discussions/5316

I'd like to be able to fix the xonsh piping issue without regressing on color output.

I'd rather have a functionally working shell incl. pipeability than colours, nice though they may be. That the colours work at all in xonsh with the current code is a mere accident and side effect of my buggy original implementation.

closing due to inactivity


feat: detects usage of global Buffer

fixes #35 - in node.js environment Buffer is globaly available. This emulates this behaviour if
there are modules relying on this.

Coverage remained the same at 100.0% when pulling abbf62af586668c9a52e5504a502e0cf27d77c6b on detect-buffer-usage into 2b22f54d837b07fd3fbc2109bd2042b3e6c04bb3 on master.


[BUG] User is unable to click to request Promocode on the BuyMore page

Promo code Don't miss out is NOT CLICKABLE

Closing.


Use a fluent API with the decorator.

Code like this is confusing
    report.setService(helper(helper(report).findEntity("service")).toEntityReference());

Better to have a fluent API
    report.setService(helper(report).findEntity("service").toEntityreference());

@sureshms keeping this as cleanup of entity helper

Simplified the code after merging EntityHelper into Entity and EntityRepoaitory classe. Closing this.


Duplicate issues filled in

https://github.com/Orange-OpenSource/pivotal-tracker-mirror/issues/250 https://github.com/Orange-OpenSource/pivotal-tracker-mirror/issues/225 https://github.com/Orange-OpenSource/pivotal-tracker-mirror/issues/195 seem duplicate of the same original tracker story.
Seems the duplicate detection does not work

An issue remains when a mirror is scheduled and the target repo already has matching issues, but not tracked in our db.
A potential solution discussed with @ArthurHlt could be to fetch the paginated list of all existing GH issues on the target repo prior to starting the mirroring process, and update them instead of creating new ones

closing in favor of #22


Support Go modules

As vgo has been accepted, would be great to get gogetdoc updated to find the right docs based on the source location under $GOPATH/src/v.
See https://github.com/Microsoft/vscode-go/issues/1532#issuecomment-392173256

Totally!  I suspect that go/types (the package upon which this tool is built) will actually take care of that for us once vgo becomes part of the toolchain.

@lsmith130 thanks for the gentle reminder.  The latest version should work for modules in most cases. Feel free to file another issue if you find things that aren't working.


Add glide

WHY
Add glide. for management source.

Please add new make target to install dependencies using glide.
ref: https://github.com/wantedly/pq2gorm/blob/9a45f914d3d9a5965adcde87795fdc5bbedae990/Makefile

Please add new make target to install dependencies using glide.

Thank you for review. I'll try it 🙇

OK, I could build kubedeploy from scratch just running make only.
LGTM 👍


Release Process Service API POST / GET and PUT

Kindly start reviewing the code. Will push the duplication related fix in a while. I have already created a new component for the step 3 in both app and service release process. Currently this component is available only for service release process. Will update the same to app release process in the next commit

Sorry for the large PR. Could not make it short as it has dependency on multiple apis and screens//components

As discussed in last Retro we are going to prioritize quality over quantity and not approve PRs with almost no data types defined or used. We are seeing any used to quickly get stuff finished. Start defining types or interfaces in the RTK query calls and use them.

Sure. Working on it. Let me know your comments if any on other parts of the code


What knowledge is needed to fully understand  the front-end code of this forum?

In other words, can you recommend a learning roadmap of React for this project? Thanks~

Hi @yanshenxian , can you modify your question into English to let developers all over the world be able to read it? Thanks.

Hi @yanshenxian , can you modify your question into English to let developers all over the world be able to read it? Thanks.

@yanshenxian It's a normal React project, so you will need:

Basic knowledge of HTML, JS, CSS..
Knowledge of React.

So may I know that whether you are a user of casbin-forum or want to contribute to it (for interest or gsoc)?

@yanshenxian It's a normal React project, so you will need:

Basic knowledge of HTML, JS, CSS..
Knowledge of React.

So may I know that whether you are a user of casbin-forum or want to contribute to it (for interest or gsoc)?

@hsluoyz HH. I'm a mere beginner with React. And I wonder more detail about React like the components used.Then maybe it's convenient to learn the project.Finally instead of write a forum product, I want to write something else inspired by casbin-forum project just for interest.

@hsluoyz HH. I'm a mere beginner with React. And I wonder more detail about React like the components used.Then maybe it's convenient to learn the project.Finally instead of write a forum product, I want to write something else inspired by casbin-forum project just for interest.

@yanshenxian good to hear!

@yanshenxian good to hear!


Cargo watch infinite loop

Hello, I have a problem with cargo watch in my project. Standalone run of cargo watch in the console works great, but when invoked from IDE it appears to go into an infinite loop:
https://monosnap.com/file/XMcSlzqSGTtofIzCK0xkoETGGHNuhC
What information I can provide to help with debugging?

rust-analyzer from master
vscode stable 1.36.1

I've found the problem, I had a build.rs file which generated code and that triggered cargo watch. It would be nice to be able to configure cargo watch excludes.

Can you use cargo:rerun-if-changed or such to avoid re-running the build script?

I don't think so. The problem is bigger than this, I have a monorepo where I have TypeScript code as well and I don't want cargo watch to trigger when I change them, so it would be nice to have an exclude list (or to be able to provide one using cargo watch flags).

or to be able to provide one using cargo watch flags

Maybe rust-analyzer.cargo-watch.check-arguments?

These arguments go "inside" the command, they are not related to cargo watch itself.

@s-panferov Are you still having this issue with the new in-server check watching?

I had a build.rs file which generated code and that triggered cargo watch.

build.rs should never write to the source dir. Instead it should write to OUT_DIR. Cargo will prevent publishing a crate writing to the source dir.


Incompatibility with Requiem

The server crashes when a player steps out of their body leaving a shell / fake player behind. It seems like the problem has to do with the "Player Roles" mod trying to apply roles to the fake player.
It would be amazing if this could be fixed some how since the "Player Roles" mod is amazing and something that is really useful for our server.
Latest Crash Report:
crash-2022-05-14_16.36.02-server.txt

I believe this will also be resolved by the fix for #72 in https://github.com/NucleoidMC/player-roles/commit/6f2b9cba9a91856c2671875347fbc8ba770222f9! 🙂


Adding mr337 CAC

Description
Adding personal CAC for authentication.
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

New rebase for the update to the migrations path.


return an object to all "get" functions so we can cancel them

Would it be possible to return some sort of object reference to all "get" functions, so we can stop the get if need be? Like setTimeout or Tracker.autoRun allow - this will mean that it's possible to cancel upcoming get's from a componentWillUnmount lifecycle message, so that we don't get warnings when unmounted components are used in callbacks....

Once a request has been sent to Strava, you can't un-send it.
There are no plans to add a feature like this and no one else is has commented here to request it in over a year, so I'm closing this.
The workaround would be to wrap your get calls in something like setTimeout().