Constant baseline cpu usage

With no containers running, after a fresh install, the baseline cpu usage of dlite on OSX 11.11.3 is around 2.7%.
A top reveals:
252     1 root     S     417m  21%   0% /usr/bin/docker daemon -H unix:///var/run/docker.sock -H tcp://<IP_ADDRESS>:2375
No containers are running, although stopping the docker service does not yield a lower baseline cpu usage.
Sampling the process:
Call graph:
    1744 Thread_4001120   DispatchQueue_1: com.apple.main-thread  (serial)
    + 1744 runtime.mach_semaphore_wait  (in dlite) + 11  [0x406022b]  sys_darwin_amd64.s:407
    1744 Thread_4001123
    + 1744 runtime.mach_semaphore_timedwait  (in dlite) + 19  [0x4060243]  sys_darwin_amd64.s:417
    1744 Thread_4001124
    + 1744 _cgo_06e60881fdb7_Cfunc_run_xhyve  (in dlite) + 32  [0x42b1a51]  xhyve.go:63
    +   1744 run_xhyve  (in dlite) + 1544  [0x42d5ddd]  xhyve.c:1041
    +     1744 mevent_dispatch  (in dlite) + 615  [0x42b6e1c]  mevent.c:452
    +       1744 kevent  (in libsystem_kernel.dylib) + 10  [0x7fff9aa8cfc6]
    1744 Thread_4001125
    + 1744 runtime.mach_semaphore_wait  (in dlite) + 11  [0x406022b]  sys_darwin_amd64.s:407
    1744 Thread_4001138
    + 1744 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff8f165375]
    +   1744 _pthread_start  (in libsystem_pthread.dylib) + 168  [0x7fff8f167b90]
    +     1744 _pthread_body  (in libsystem_pthread.dylib) + 131  [0x7fff8f167c13]
    +       1723 callout_thread_func  (in dlite) + 185  [0x42ccb92]  vmm_callout.c:189
    +       ! 1714 _pthread_cond_wait  (in libsystem_pthread.dylib) + 821  [0x7fff8f168186]
    +       ! : 1714 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff9aa8beb2]
    +       ! 5 cerror_nocancel  (in libsystem_kernel.dylib) + 20  [0x7fff9aa86bf1]
    +       ! 3 _pthread_cond_wait  (in libsystem_pthread.dylib) + 835  [0x7fff8f168194]
    +       ! 1 _pthread_cond_wait  (in libsystem_pthread.dylib) + 840  [0x7fff8f168199]
    +       !   1 __error  (in libsystem_kernel.dylib) + 0  [0x7fff9aa86bc5]
    +       19 callout_thread_func  (in dlite) + 226  [0x42ccbbb]  vmm_callout.c:202
    +       ! 14 vlapic_callout_handler  (in dlite) + 82  [0x42c7877]  vlapic.c:730
    +       ! : 13 vlapic_fire_lvt  (in dlite) + 143  [0x42c7600]  vlapic.c:447
    +       ! : | 13 vcpu_notify_event  (in dlite) + 69  [0x42c9e11]  vmm.c:1795
    +       ! : |   13 _pthread_cond_signal  (in libsystem_pthread.dylib) + 609  [0x7fff8f166280]
    +       ! : |     13 __psynch_cvsignal  (in libsystem_kernel.dylib) + 10  [0x7fff9aa8be9a]
    +       ! : 1 vlapic_fire_lvt  (in dlite) + 112  [0x42c75e1]  vlapic.c:446
    +       ! :   1 vlapic_set_intr_ready  (in dlite) + 27  [0x42c7317]  vlapic.c:261
    +       ! 2 OSSpinLockLock  (in libsystem_platform.dylib) + 11  [0x7fff89720218]
    +       ! 2 vlapic_callout_handler  (in dlite) + 110  [0x42c7893]  vlapic.c:733
    +       ! : 2 binuptime  (in dlite) + 14  [0x42cc707]  vmm_callout.c:82
    +       ! :   2 mach_absolute_time  (in libsystem_kernel.dylib) + 0,18  [0x7fff9aa85746,0x7fff9aa85758]
    +       ! 1 vlapic_callout_handler  (in dlite) + 364  [0x42c7991]  vlapic.c:769
    +       !   1 callout_reset_sbt  (in dlite) + 0  [0x42cc907]  vmm_callout.c:281
    +       1 callout_thread_func  (in dlite) + 190  [0x42ccb97]  vmm_callout.c:179
    +       1 callout_thread_func  (in dlite) + 201  [0x42ccba2]  vmm_callout.c:194
    1744 Thread_4001141   DispatchQueue_2: com.apple.libdispatch-manager  (serial)
    + 1744 _dispatch_mgr_thread  (in libdispatch.dylib) + 52  [0x7fff8bda0d01]
    +   1744 _dispatch_mgr_invoke  (in libdispatch.dylib) + 216  [0x7fff8bda1099]
    +     1744 kevent_qos  (in libsystem_kernel.dylib) + 10  [0x7fff9aa8cff6]
[...]

Total number in stack (recursive counted multiple, when >=5):
        5       __psynch_cvwait  (in libsystem_kernel.dylib) + 0  [0x7fff9aa8bea8]
        5       _pthread_body  (in libsystem_pthread.dylib) + 131  [0x7fff8f167c13]
        5       _pthread_start  (in libsystem_pthread.dylib) + 168  [0x7fff8f167b90]
        5       thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff8f165375]

Sort by top of stack, same collapsed (when >= 5):
        __psynch_cvwait  (in libsystem_kernel.dylib)        8681
        runtime.mach_semaphore_wait  (in dlite)        6976
        __workq_kernreturn  (in libsystem_kernel.dylib)        1744
        kevent  (in libsystem_kernel.dylib)        1744
        kevent_qos  (in libsystem_kernel.dylib)        1744
        runtime.kevent  (in dlite)        1744
        runtime.mach_semaphore_timedwait  (in dlite)        1744
        __psynch_cvsignal  (in libsystem_kernel.dylib)        13
        hv_vcpu_run  (in Hypervisor)        7
        cerror_nocancel  (in libsystem_kernel.dylib)        5

Any ideas?

no clue. i can investigate, but i wouldn't be surprised if this is simply due to xhyve being fairly new and not fully optimized. entirely possible there's nothing i can do on my end, but i'll look.

Do you also see the same behaviour?

yeah, it fluctuates but there's generally a percent or two of cpu usage

Additional Observations
With 2 cores assigned to the VM, my dlite / dyhve-os install with no containers running hovers around 2.9 - 3.1% CPU according to Activity Monitor.app
On my Mac when I run docker ps like so:
watch -n 3 "docker ps"
the CPU usage stays at 3.0% consistently.
However if I ssh into the VM itself and run the same
watch -n 3 "docker ps"
Activity Monitor immediately shows the dlite process using 3.4 - 3.9% CPU sometimes spiking to 4.5 - 4.7%.
That seems like a really strange behavior to me.
Is that just the encryption overhead from being sshed into the VM? Seems unlikely, but wanted to pass this observation along here.
Hardware
MBP 11,3 - Core i7 2.6Ghz

i did a bunch of experimenting and i wasn't able to make any changes in dlite or dhyveos that had a significant impact here. my thought is that this is simply because of a combination of NFS, SSH and xhyve not being fully optimized. hopefully this will get better over time.
if the small amount of CPU usage is a concern for you it's easy enough to run dlite stop when you're not using it and dlite start when you want it again.

Thanks for looking into this @nlf. I'll see if 11.11.4 brings any improvement on this.


Add framerate to VideoLayer.

This is the expected frame rate. Could be used in QoS evaluation to compare expected vs actual frame rate.

Closing this one as it is not currently used in QoS evaluation.
Probably need to bring in something like MinFPS for frame based stream tracker. But, closing this as this is not used.


FTP can’t delete folders

Describe the bug
FTP can’t delete folders

Duplicate of https://github.com/isontheline/pro.webssh.net/issues/182


Detailed Report Message - Calendar

This issue wasn't copied over.
@LaurenBassett The RNG chose you to copy over Calendar's detailed reports Rego code over to this repo.

Baseline 2.1.1
ExtSharingPrimaryCalSettingDetailsStr(LastEvent) = Description if {
    LastEvent.NewValue == "SHOW_ONLY_FREE_BUSY_INFORMATION"
    Description := concat("", ["Only free busy/information for primary calendars  is shared outside ", LastEvent.OrgUnit])
}

ExtSharingPrimaryCalSettingDetailsStr(LastEvent) = Description if {
    LastEvent.NewValue == "READ_ONLY_ACCESS"
    Description := concat("", ["All information for primary calendars  is shared outside ", LastEvent.OrgUnit, " but outsiders cannot change calendars."])
}

ExtSharingPrimaryCalSettingDetailsStr(LastEvent) = Description if {
    LastEvent.NewValue == "READ_WRITE_ACCESS"
    Description := concat("", ["All information for primary calendars  is shared outside ", LastEvent.OrgUnit, " and outsiders can change calendars."])
}

ExtSharingPrimaryCalSettingDetailsStr(LastEvent) = Description if {
    LastEvent.NewValue == "MANAGE_ACCESS"
    Description := concat("", ["All information for primary calendars  is shared outside ", LastEvent.OrgUnit, " and outsiders can manage calendars"])
}

Baseline 2.2.1
ExtInvitationsWarningSettingDetailsStr(LastEvent) = Description if {
    LastEvent.NewValue == "true"
    Description := concat("", ["Users are warned when inviting guests  outside ", LastEvent.OrgUnit])
}

ExtInvitationsWarningSettingDetailsStr(LastEvent) = Description if {
    LastEvent.NewValue == "false"
    Description := concat("", ["Users are not warned when inviting guests  outside ", LastEvent.OrgUnit])
}


ci: Skip publish steps for api-markdown-documenter

The package is private, so the publish steps should be skipped by default.

The package is private, so the publish steps should be skipped by default.

This package isn't private - it's currently being published to npm. We could probably make it private, but it isn't currently.

The package is private, so the publish steps should be skipped by default.

This package isn't private - it's currently being published to npm. We could probably make it private, but it isn't currently.

My mistake - I meant markdown-magic... Fixed the code and commit description.


Capture t'shoot info from old quickstart

The old Quickstart guide has some troubleshooting information that is not in the "Troubleshooting your installation" page (https://keptn.sh/docs/install/troubleshooting/) .  This info should be added to that section.

This is done.


Hacktoberfest Contribution

Hey. I am Conrad Kakuru Akankwasa GDSC core lead Datascience and machine learning Makerere University. is there anyway i can support contribute to your app

Ohhh i have a backgroud in flutter though am a data scientist

Hey @ConradKash . I think you could work on an Onboarding carousel?


Discrepancy between queries executed in thanos-query UI vs grafana

Thanos, Prometheus and Golang version used:

Thanos image: thanosio/thanos:v0.18.0
Prometheus image: quay.io/prometheus/prometheus:v2.25.0
Grafana image: grafana/grafana:7.3.2
Object Storage Provider:

S3

What happened:
We are experiencing a big discrepancy between a query executed directly in thanos-query UI and in a dashboard in grafana. Namely, a query executed in thanos-query UI takes around 1 second to complete and, the very same query, is 5/6 times slower in grafana.
Below, it is possible to see a screenshot from thanos-query UI where the query took 1049ms and a screenshot from grafana, with the same query, that took around 5 times more to complete and present results in grafana ui.

What you expected to happen:
The queries should take the same time to be executed both on thanos-query UI and grafana.
How to reproduce it (as minimally and precisely as possible):
Thanos-query and thanos-store configs:
Query:
- args:
- query
- --grpc-address=<IP_ADDRESS>:10901
- --http-address=<IP_ADDRESS>:10902
- --log.level=debug
- --log.format=json
- --query.auto-downsampling
- --query.replica-label=replica
- --store=thanos-sidecar.crm.svc.cluster.local:10901
- --store=thanos-sidecar.observability.svc.cluster.local:10901
- --store=thanos-store.crm.svc.cluster.local:10901
Note that the reason why we have two sidecars in store parameter, is because we have specific metrics stored only on "observability" prometheus and we also need to be able to access that info from thanos-query, on namespace "crm", while it is not shipped to S3.
Store:
- args:
- store
- --log.level=debug
- --log.format=json
- --objstore.config-file=/config/bucket.yml
- --grpc-address=<IP_ADDRESS>:10901
- --http-address=<IP_ADDRESS>:10902
- --data-dir=/var/thanos/store
- |-
--selector.relabel-config=
- action: keep
regex: "(crm|observability)"
source_labels:
- prometheus
Finally, below there is a print screen from grafana datasource:

Full logs to relevant components:

Anything else we need to know:

What is the step that you see on the requests when you do them via Grafana vs. Thanos Query UI?

Hi @GiedriusS,
In grafana the step is 120, as can be seen in the GET request below:

https://metrics.observability."mycompanydomain"/api/datasources/proxy/57/api/v1/query_range?query=sum%20(container_memory_working_set_bytes%7Bcontainer!%3D%22POD%22%2Ccontainer!%3D%20%22%22%2Cpod%3D~%22.*%22%2Cnamespace%3D~%22crm%22%7D%20%2F%201024%20%2F%201024)%20by%20(pod)&start=1614510720&end=1614683520&step=120

In thanos-query UI it is 691:

https://thanos.crm."mycompanydomain"/api/v1/query_range?query=sum (container_memory_working_set_bytes{container!="POD",container!= "",pod=~".*",namespace=~"crm"} / 1024 / 1024) by (pod)&dedup=true&partial_response=true&start=1614510937.114&end=1614683737.114&step=691&max_source_resolution=auto&_=1614682888059

With this information it is easy to understand the reason for the execution time discrepancy.
However, some notes regarding grafana integration with thanos:

The step in grafana is automatically calculated and the 120 value is because we are using resolution 1/1 in grafana. If we change resolution, we can have performance improvements but we also lose data accuracy.

Testing the same scenario, without thanos, pointing directly to a prometheus datasource that have same data as thanos (we have both scenarios running in our testing environment for comparison), even with step set as 120 (and resolution 1/1) on grafana, it is very quick to render data with no need to change resolution. Obviously, it is different to get data from local storage vs s3 and that explains the difference in performance but i wasn't expecting this difference of 5/6 times slower (or even worse if we increase the period or if we add more graphs to the dashboard).

So, my question: Is there anything that we are doing wrong in our configs or we will need to live with this performance? This can be a problem to use Thanos in production environments because it causes a bad user experiencing with this slowness.
Thank you,
BR

Hi @GiedriusS,
In grafana the step is 120, as can be seen in the GET request below:
...
So, my question: Is there anything that we are doing wrong in our configs or we will need to live with this performance? This can be a problem to use Thanos in production environments because it causes a bad user experiencing with this slowness.

 Do you have a common memcached instance shared between Thanos Store instances (if you have more than one)? Do you have query-frontend? Have you tuned the other knobs such as --store.grpc.series-max-concurrency appropriately? Is your remote object storage as close as it can possibly get geographically? These are some of the simple things you can do to improve the performance. If you tick all of the boxes then it's hard to tell, you'd have to profile / use tracing to understand where it is taking such a long time.

Hi @GiedriusS, we run thanos-compactor with the following config and that part is ok because we can already see blocks downsampled:
      - args:
        - compact
        - --wait
        - --log.level=info
        - --log.format=json
        - --objstore.config-file=/config/bucket.yml
        - --data-dir=/var/thanos/compact
        - --debug.accept-malformed-index
        - --retention.resolution-raw=15d
        - --retention.resolution-5m=30d
        - --retention.resolution-1h=30d
        - --delete-delay=0s
        - --deduplication.replica-label=replica

So, briefly explaining our solution, We have several kubernetes namespaces and each namespace has the following components:

prometheus + thanos sidecar
thanos query
thanos store

Additionally, there is one special namespace which we call "observability" that also runs thanos compact besides the mentioned components.
Then, on grafana, we have one datasource per namespace, pointing to corresponding thanos-query endpoint.
Note that each thanos query, has configured the respective thanos-sidecar, the respective thanos-store and also the "observability" thanos-sidecar because we have specific metrics stored only on "observability" prometheus and we also need to be able to access it while it is not shipped to S3. Example of the config:
- args:
- query
- --grpc-address=<IP_ADDRESS>:10901
- --http-address=<IP_ADDRESS>:10902
- --log.level=debug
- --log.format=json
- --query.auto-downsampling
- --query.replica-label=replica
- --store=thanos-sidecar.crm.svc.cluster.local:10901
- --store=thanos-sidecar.observability.svc.cluster.local:10901
- --store=thanos-store.crm.svc.cluster.local:10901

We don't have memcache shared between thanos-stores because each thanos-store will only be invoked by it's own thanos-query, located in same namespace. Do you think that, for this specific solution, we would need memcache in each thanos-store, even if we don't have multiple thanos-query invoking it?
In addition, we tried query-frontend but we didn't see any improvement regarding performance on grafana side and, due to that, we removed it.
Regarding "store.grpc.series-max-concurrency", we are using default value (20) and, as mentioned above, considering that thanos-store has a relation on 1vs1 with thanos-queries in each namespace, it seems appropriate.
Finally our remote object store is S3, located in same region of EKS nodes.
Do you think that we are missing anything with this solution?
Thanks,
BR

AT odd points Time (such as   1:01,3:01,5:01,...,23:01)，i have the same problem, query date from thanos receiver.
Thanos image: thanosio/thanos:v0.18.0
Prometheus image: quay.io/prometheus/prometheus:v2.21.0
Grafana image: grafana/grafana:7.3.2
Object Storage Provider: S3
I used thanos query、thanos receiver、thanos store


Client Error: Bad Request for url: https://api.quantum.ibm.com/runtime/jobs

Submission fails with:
IBMRuntimeError: 'Failed to run program: '400 Client Error: Bad Request for url: https://api.quantum.ibm.com/runtime/jobs. {"errors":[{"message":"Request validation of body failed, because: Starting a session using the /jobs endpoint will no longer be supported after March 31, 2024. If you are using qiskit-ibm-runtime, please upgrade it before this date. If you are calling the API directly, please use the /sessions endpoint instead.","code":1208,"more_info":"https://docs.quantum-computing.ibm.com/errors"}]}''

Solved


Pip install setup docs

From https://github.com/quantopian/zipline/issues/2016#issuecomment-344957172

Coverage remained the same at 87.341% when pulling 1a68e565995b3e8ff480a4e097953ba020db29d5 on pip-install-setup-docs into 079ea3dc19a631423982c45e84b649d8d135e403 on master.

Coverage remained the same at 87.341% when pulling 25e21507844372da18543a277faee2a9d4b2b724 on pip-install-setup-docs into 079ea3dc19a631423982c45e84b649d8d135e403 on master.

Coverage decreased (-0.07%) to 87.276% when pulling 25e21507844372da18543a277faee2a9d4b2b724 on pip-install-setup-docs into 079ea3dc19a631423982c45e84b649d8d135e403 on master.

Coverage remained the same at 87.372% when pulling 8611a5e75fea2d130deff76a6efe3ff37e224139 on pip-install-setup-docs into 49a3a4a2785a4a75dc21f04389094681eb408579 on master.

Coverage remained the same at 87.372% when pulling 8611a5e75fea2d130deff76a6efe3ff37e224139 on pip-install-setup-docs into 49a3a4a2785a4a75dc21f04389094681eb408579 on master.

Coverage remained the same at 87.372% when pulling d0d96bbf5a49bf226f8c2ad44f377e41c551523e on pip-install-setup-docs into 49a3a4a2785a4a75dc21f04389094681eb408579 on master.

Hi @richafrank anything I can do to help get this branch merged?

Hi @richafrank anything I can do to help get this branch merged?

I think we should get agreement with the team that the install workflow changes here are what we want, and that there aren't any broken scenarios.

I'm :+1: on merging these changes as-is. The only thing we might want to add to this is an entry to the release notes telling people that they need to pre-install numpy now if they're using pip.


Add filter for crosspost

This allows filtering posts that have been sent out to several channels at the same time. You can prioritize one channel and only the posts on that one will be shown.

+1


which tts engine this project is using ?

which tts engine this project is using ?
is it different depend on os  ?    need a doc here.
is there any other voice could be choose ?

这个项目用的是谷歌翻译的语音包，并没有调用本地TTS

Currently, this package only uses a Google Translate solution to solve this problem for free, but there are plans to write a provider that will make the engine usage more expandable. This will allow users to choose from different engines. I don't know the exact release date yet, but it may be available as early as this summer.
Thanks.


Remove dependency on smallvec and set MSRV of 1.75

Smallvec in Masonry was always intended to be a placeholder until return-position impl Trait was stabilized. Well, now it's stable, it's been stable for a year, we should use it.
Methods that return Smallvec<T> should instead return impl Iterator<Item = T>. The MSRV of Masonry and xilem_masonry should be set to reflect that.

I want to note, that RPITIT prevents trait-objects (more specifically Box<dyn Widget> is not possible then). It's also generally discouraged for public APIs (see also https://github.com/rust-lang/rfcs/pull/3425#issuecomment-1533873712).

I want to note, that RPITIT prevents trait-objects (more specifically Box is not possible then).

How so?

How so?

See https://doc.rust-lang.org/beta/reference/items/traits.html#object-safety

mostly confident we're never going to bump into the problems that link mentions

Probably, main issue is mostly trait object safety for Widget AFAICS.
I'm not yet that confident in the masonry codebase, but is it even necessary to have children in the Widget trait? (I.e. have it instead on the concrete widget types)?

Oh, right, the Widget trait is the one that returns children. Well, there would be ways around that, but I do agree that complicates things a bit.

I'm not yet that confident in the masonry codebase, but is it even necessary to have children in the Widget trait? (I.e. have it instead on the concrete widget types)?

Yup. This means that the framework can eg take a position and return a reference to the Widget at that position without having to write code in WidgetPod. It's also useful for debugging, building the accessibility tree, and in the future the event system will rely on it a lot more.
Having children() on the Widget trait is a core design element.

Closing this for now, since we do want the Widget trait to remain dyn-safe.


FlowerManga: Update Url and Build

Closes: #3054
Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[ ] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

the current link works fine for me.
are the two sites related? both have different results for popular mangas and google tag id is different as well

the current link works fine for me. are the two sites related? both have different results for popular mangas and google tag id is different as well

Well, until I don't know, because the scan doesn't have discord, everyone in the Brazilian community thought that FlowerManga was "F", because of the Federal Police's anti-piracy operation.

It could possibly be a backup of the site, in case one of the two: ".net" and ".com" went down.

idk, can make a new extension for this domain


Gmres default

Changes the default num_krylov_vectors in GMRES to 20. Also refactors most of the GMRES preprocessing into abstract_backend so that it doesn't have to be repeated.

Codecov Report

Merging #837 into master will decrease coverage by 0.01%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##           master     #837      +/-   ##
==========================================
- Coverage   98.39%   98.37%   -0.02%
==========================================
  Files         129      129
  Lines       22117    22103      -14
==========================================
- Hits        21761    21743      -18
- Misses        356      360       +4

Impacted Files
Coverage Δ

tensornetwork/backends/abstract_backend.py
92.20% <89.18%> (-0.96%)
:arrow_down:

tensornetwork/backends/jax/jax_backend.py
98.84% <100.00%> (-0.10%)
:arrow_down:

tensornetwork/backends/jax/jax_backend_test.py
99.17% <100.00%> (-0.01%)
:arrow_down:

tensornetwork/backends/numpy/numpy_backend.py
98.00% <100.00%> (-0.17%)
:arrow_down:

tensornetwork/backends/numpy/numpy_backend_test.py
99.28% <100.00%> (-0.01%)
:arrow_down:

...ornetwork/backends/pytorch/pytorch_backend_test.py
100.00% <100.00%> (ø)

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 c2a9788...89459d2. Read the comment docs.


Show a call graph originating from a specific function

Very rough draft 😅

Also added GraphViz 🤷

Also horizontal:

Also added arc diagram:

Experimenting with mermaid.js:

the arc diagram and mermaid.js look really nice


Jit local project file support

Added support for local jit configuration file. Now we try to load .jit file from cwd. If the local .jit file is not present then we use configuration defined in home directory.

Codecov Report

Merging #3 into master will increase coverage by 1.15%.
The diff coverage is 62.5%.

@@            Coverage Diff             @@
##           master       #3      +/-   ##
==========================================
+ Coverage   47.66%   48.81%   +1.15%
==========================================
  Files           4        4
  Lines         214      211       -3
==========================================
+ Hits          102      103       +1
+ Misses        107      104       -3
+ Partials        5        4       -1

Impacted Files
Coverage Δ

jira.go
24.61% <0%> (-1.62%)
:arrow_down:

jit.go
77.21% <100%> (+2.82%)
:arrow_up:

config.go
70.27% <72.22%> (-1.16%)
:arrow_down:

commands.go
0% <0%> (ø)
:arrow_up:

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 2036858...f170aec. Read the comment docs.


Feat(Business Partner KIT): Release 2405

Description

In this pull request, we have updated Business Partner KIT with new versioned apis for each service in BPDM.
Also, updated sidebar.js to adapt api controller structure accordingly.

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[X] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[X] Copyright and license header are present on all affected files

Hi @SujitMBRDI @danielmiehle @maximilianong with this pull request you accidentally remove the src/pages/CHANGELOG.md, re-adding it now with https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/909

Hi @SujitMBRDI @danielmiehle @maximilianong with this pull request you accidentally removed the src/pages/CHANGELOG.md, re-adding it now with #909

Hello @evegufy, sorry it was done accidentally.
But thanks for adapting changes.


Start setting lang element on pages

We should start setting the <lang> html element on our pages using the current culture as per https://github.com/aspnet/Templating/issues/67#issue-265503099.

Using the current culture? Or hard-coding to en? I think both options are problematic because even though the template by default is in fact in English, once the developer starts modifying the app, it might be setting the current culture to a more desired culture, but that's not necessarily true either.
My preference would be to leave it out unless we're certain we can do something meaningful.

That's a good point, if someone is using client-side localization we would be lying. Given that I vote that we don't change anything. End-users can easily add it if it makes sense for their site.

Seeing as there are no objections I'll close.


feat: add servers option for OpenAPI

Closes/related to #872
The missing server option has been a drawback when it comes to the swagger UI (e.g. provide prod and test servers) and portability of the openapi.json to services that is based on knowing the servers.
Example usage:
from fastapi import FastAPI
from fastapi.openapi.models import Server

server1 = Server(url="http://example.com", description="optional description")
server2 = Server(url="http://test.com")

app = FastAPI(servers=[server1, server2])

@app.get("/")
async def root():
    return {"message": "Hello World"}

It would also work to just pass a dictionary, but then the typechecker won't be happy:
from fastapi import FastAPI

app = FastAPI(servers=[{"url": "http://example.com", "description": "test"}])

Thanks! :rocket:
I updated it a bit to receive dicts by default. To not force users to import another class and create instances to be able to set the parameter. And added a test for it :heavy_check_mark:
Thanks for your contribution! :tada: :coffee:

Thanks for updating the branch, I agree that dict is better as default.


Revert "Add HTTP(s) konnectivity proxy and use it with OpenShift APIServer"

What this PR does / why we need it:
This reverts commit 556a45f5cdfb2e176f1a30191945ea6571491212.
Current code is failing conformance tests: https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.17-periodics-e2e-aws-ovn-conformance/1811055875415085056
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/lgtm

/retitle Revert "OCPBUGS-34865: Add HTTP(s) konnectivity proxy and use it with OpenShift APIServer"

/jira refresh

/override "Red Hat Konflux"

/retest

/test e2e-conformance

/hold
Just so this doesn't incidentally merge all of a sudden.

/close


make work as general react-redux memoizer

Hey Anton, so basically for one we need it to work in the demo:
https://codesandbox.io/s/64mzx7vjmz?module=%2Fsrc%2Fconnect%2Findex.js
You mentioned that function references was the primary issue. So we need that.
Here's a primary test that must work:
static getDerivedStateFromProps(nextProps, prevState) {
        const { storeState, ...props } = nextProps
        const state = selector(storeState, props)

        console.log(prevState === state) // this must be true, when we are expecting it to be true :)

        return prevState === state ? null : state
}

Then dispatch({ type: 'BAR' }). The comparison will always be will always be false, even when nothing in state has changed. So hopefully this is just a matter of making the dispatch key/val work.

As far as this:
const fn = memoize(obj => ({ obj })
fn({ foo: 123 }) === fn({ foo: 123 })

Perhaps, we don't in fact need that. So let's just forget that for now.
Feel free to fork the demo, upgrade the deps, and paste a link to the working demo on the react-redux PR. I think it would be quite impressive to see all this come together in that demo. So for now, let's just think about what's actually being done in the demo, and then later I'm sure other cases will be brought to us.

for example, this one is not working:
const mapState = ({ category, videosByCategory, videosHash }, { dispatch }) => {
  const slugs = videosByCategory[category] || []
  const videos = slugs.map(slug => videosHash[slug])
  return { videos, dispatch }
}

I'm thinking we just need to do this:
const state = selector(storeState, props)
return isShallowEqual(state, prevState) ? null : state

Perhaps that's the perfect combination with your library. I just wasnt sure if memoize-state was not working. But if the nested objects have good guarantees on being equal object references, and we just need to do a single shallow equal on the resulting object, then I think we are on good hands.

Yeah, so first of all isShallowEqual will solve some moments, even then memoize-state actually gonna to return equal states.
I am not sure yet why example you posts does not work, but there is also "ariry" related problem.
If you pass state and props, but do not access the props - memoize will think that you need props as objects and equal value to the prev state (almost always false).
This will occur if mapStateToProps does not have the second parameter at all.
The correct way to use memoizeState for "redux" is
memoize(mapStateToProps, {strictArguments: true});

It will reduce passed arguments to the real function arity.
PS: But this is not related to your problem.
So - I've got the task to solve, give me some time to play with it.

cool.
...got it working well enough with the additional shallow equal check:
https://codesandbox.io/s/64mzx7vjmz?module=%2Fsrc%2Fconnect%2Findex.js
with this simple/sample API, we always pass both state + props, so the arity is always 2. I tried it both with and without strictArity: true and it works the same in both (i.e. I'm getting true for shallowEqual(state, prev) when I should.
Im gonna delete my last comment on the original PR about this not working. I just misunderstood that the returned object shouldn't be compared, but rather one level deep.
That said, it almost feels like it should return the exact same object reference as last time if all the key/vals are equal. That saves having to do an additional shallow equality check. I think you might already have this info before memoize returns??

, it almost feels like it should return the exact same object reference as last time if all the key/vals are equal.

You know, you are actually was and is right about it. I am not sure what shallow equal did help.

try logging state + prev in codesandbox to see. ..what I did was:
static getDerivedStateFromProps(nextProps, prevState) {
        const { storeState, ...props } = nextProps
        const state = selector(storeState, props)

        if (state.videos)  { // consistently capture the results to same selector that has `state.videos`
             window.state = state
             window.prev = prev
        }

        return shallowEqual(state, prevState) ? null : state // `null` indicates no state changes occurred
      }

and then played with the memoize function on these until I figured out what was going on. ..the nested keys are equal, but the parent object reference is not. if you keep track of which nested refs/values are equal as you operate on them, then you know when you are done if you can reuse the original object reference, and then you can just return that. ..that will make your library really shine and catch the attention of the react-redux people. Right now, those same people are realizing the value of Immer. They're also re-thinking future react-redux APIs. I know they want to keep compatibility of course, but now is the perfect time to start thinking about new react-redux apis for the future. So these people liked Immer for reducers, maybe you're immer/mobx-like approach for reselect is something that will also catch their attention.  You don't really need to ever mapDispatch--it's just a convenience so your components can pass less args to handlers. In addition, mapMergeProps is a solution to the problem of having the mapDispatch arg which doesn't have access to the selected state. Now factor in there is this problem of "redux being too complicated" and lots of learners in the world.  That's the thinking for the basic everyday-programmer approach. In short, react-redux v6 is done in that demo once you remove the need for calling shallowEqual. ..I also think HMR might work automatically with this simplified setup. Before they cached all the different arities/etc you could do, and perhaps HMR broke for that. If not, I had these same issues with React Universal Component, it's not a problem. Provided that the new context api is as fast as the previous techniques, nobody even needs react-redux anymore--just roll your own, and make a few tweaks as needed.

the fake dispatch is a great idea! The side effects would have to simply not be permitted. What do you mean by "way to inject 'additional' keys to track"?
...as for multiple components, we could do this:
static getDerivedStateFromProps(nextProps, prev) {
        const { dispatch, storeState, ...props } = nextProps
        const selector = prev.selector || memoize(sel)
        const state = selector(storeState, props)

        if (!prev.selector) state.selector = selector
        return state === prev ? null : state
}

that way its memoized per instance. The codesandbox has been updated with a note about handling action creators:
https://codesandbox.io/s/64mzx7vjmz?module=%2Fsrc%2Fconnect%2Findex.js
...im starting to think you're right, memoizing action creators is a very bad idea. I know I have apps that do dom manipulation side effects in action creators, etc.

What do you mean by "way to inject 'additional' keys to track"?
If you will found, that memoize should also react on some keys it didn't before - ie set up tracking on the keys the usage of those it could not detect.

const selector = memoize((state,props) => () => props.dispatch(state.videos.length ? 1 : 2);
selector.setAdditionalTrackingOn(['.videos.length'],['dispatch']);

but we don't need "key tracking" if we inject a fake dispatch, right?

"the latest value provider" could solve any function case, but I'll better skip requirements and possibility of so black magic.

So

creating per-element selectors in getDerivedStateFromProps solves the issue with a single cache line depth,
calling dispatches directly from component solves action memoization, but makes component less testable, as long it is become harder to understand that the action was dispatched.
{strictArguments: true} is still the thing, as long if you will pass, but dont use props - memoization will be disabled. Currently redux will not even pass the props is selector does not accept them. Ie getDerivedStateFromProps should be disabled is selector accepts only the state.

I've played with your example, and it seems to be ok. It also removes areStatesEqual before the selector(as long memoize state is doing the same), and might could remove shallowEqual after(as long selector is a "whole" memoized), stripping away a lot of comparisons.
The only thing is missing - some trash dispatchers(a clock?) to stress test the approach.

...yea, we can optimize it a lot still. and bring back to the arguments detection of the selector like in the original react-redux.
I think the next steps are:

not require additional shallowEqual check.
fake dispatch

Feel free to fork it and do anything you think would be good. It's basically based on how much time we have to incrementally improve it.
ps. your option is called strictArity currently :)

You dont need it already. You just have to store the "result" of selector not AS state, but as a key in state. Look like react merges the state you generate, with the one component already had (setState is doing the same), resulting the new object.

static getDerivedStateFromProps(nextProps, prevState) {
        const { storeState, ...props } = nextProps
        const selector = prevState.selector || memoize(sel)
        const result = selector(storeState, props)

        return shallowEqual(result, prevState.result) ? null : { result, selector }
      }

Now you dont mix result with system information (ie "selector"), and maintain the "same" object across the changes.

is not the case, as long current version of selector did not pass dispatch down, thus removing a problem.
In other case one will have to traverse result, searching for functions, and fake "somehow" dispatch (passed from props)? Sandbox execute it, get affected keys... and next rerun selector on each of those props change, even if you dont need to_. They will be needed only when you will click a button and emit an action, before then they better keep silent.

 const mapAllToProps = (state, {dispatch, ...props}) => ({
  name: state.name,
  action: () => dispatch({type:superActionAndAnaliticsEvent, payload:{state, props})
});

^^ that is legal, but will update on anything update.

but the whole point is not to do shallowEqual because possibly you already know when selector is called, and the result is less work/comparisons. Do you have this info? If not, we can forget about this.

it can't update on "anything" as that defeats the purpose of high quality memoization that works for 80% of use cases. Now in 100% of use cases that  dispatch state or props we have no memoization. We need a solution that does NOT update action function in all cases, except for when keys it needs change.

The only thing to be changed - store the result of selector inside the state, not as the state. "Stage" is an uber object, controllable by React. A key in state - just a key, without magic.
mapStateToProps, to props be consumed by component by next render is one thing. To props to be consumed in action that might be never called - another. I don't see any other way, but distinguish mapState and mapDispatch as we always did before.

but state.selector = selector cant make state become a different reference. selector should return the same reference if it's more performant to do so.

it's a bit of extra unecessary work if it's never called, but it's the same thing as mapped state, just hidden.

this.state = {key1:1}; this.setState({key2:2:}); this.state == {key1:1, key2: 2}. React merges states updated, thus it looses the reference equality. Just nextState = { selectorResult, selector }, not nextState = selectorResult. And it will work.

Huge unnecessary work.  And I am not sure that executing every function we might found inside is a great idea.

What we could do with data adapters?
// allocate "persistent" object
const tracker = state.tracker =  state.tracker || {};
// store in that object "last" state
tracker.state = state;
 adapt = state => Proxy(state, {
    get(target, props) {
       // redirect "all" reads from to the "last" version
       return tracker.state[prop];
    }
 });
 const result  = selector(adapt(state))

But it will not work, as long breaks immutability of the state, and break all comparisons between the old state and the new, cos old state IS lifted to the new.
Achievable by some triggers around, for example - one could disable "lifting" while comparison is working, as long it should work only when someone "suddenly" trigger an action.

ok, so we can do this?:

static getDerivedStateFromProps(nextProps, prevState) {
        const { storeState, ...props } = nextProps
        const selector = prevState.selector || memoize(sel)
        const result = selector(storeState, props)

        return result === prevState.result ? null : { result, selector } // no shallowEqual! yay -- last time, you still put shallowEqual here.
}

Then that task is done.

Yea, it's definitely a risky approach. I guess we can table this for now. If you think of anything else, let me know.

code has been updated, and it works!
https://codesandbox.io/s/64mzx7vjmz?module=%2Fsrc%2Fconnect%2Findex.js

I found an important selector use-case that does not work, but really should:
const mapState = ({ page, direction, ...state }) => ({
  page,
  direction,
  isLoading: isLoading(state)
})

If we refactor it to the following it works:
const mapState = state => ({
  page: state.page,
  direction: state.direction,
  isLoading: isLoading(state)
})

So obviously it loses its reference capabilities when you destructure a portion of state. Is there any way around this?

@faceyspacey - lets continue with spread in separate issue - https://github.com/theKashey/memoize-state/issues/5


ISSUE: Notification Shows Old Note (Disregarding any modification)

Hi.
When reminded/notified of notes, the notification shows the initial note and not as it was last. By clicking on the notification, the app opens with the note that it then shows correctly the note as it's currently after all the modifications.
Tested on: Lineage 19 (Android 12) and Lineage 18 (Android 11).
Version: Latest from F-Droid.
Thank You for your work! :pray:

I'm aware this happens if the notification pop ups while editing the note, but does this happen otherwise, when not currently editing the note? If so, how to reproduce?

Yes, this happens even after having edited the
notes and closed the app.
To reproduce:

Create a note.
Set an alarm/reminder and close the app.
Wait for the notification. At this point the
notification should show no difference.
Go back to the app, edit the note and close
again.
Wait for the following notification. At this
point the notification shows the initial note,
that of point 1, instead of showing the final
note, that of point 4.

On Sun, 2022-09-25 at 18:25 -0700, maltaisn wrote:

I'm aware this happens if the notification pop
ups while editing the note, but does this happen
otherwise, when not currently editing the note?
If so, how to reproduce?
—
Reply to this email directly, view it on GitHub,
or unsubscribe.
You are receiving this because you authored the
thread.Message ID: <maltaisn/another-notes-
@.***>


Attempt to handle crashes

Restart server process after a command crashes the process
Inform the user where they can get help

cc @mhoran
If we can direct people to the wiki page when reporting crashes, we can hopeful improve the kind of feedback we're getting.

Wow, why did it take so long for us to come up with this? What a great idea!
I still have breakpad support kicking around, which may make sense to merge in at some point. However, I've usually found it more useful just to reproduce locally than try to navigate the backtrace -- which usually ends up being an issue in Qt.


Add rest endpoints

What's new :

Old and New Endpoints
A debug controler
PreAuthorize method
3 users to test : admin, consultant_domaine_1,gestionnaire_domaine_2
PasswordService (generate password maybe to optimize)
full swagger documentation


Appended the 'class' keyword to line 11

Added the class keyword to be able to use the weak keyword when setting the delegate in the FPNSearchCountryViewController

Thanks for your help !


System customizer can be authored canvas app etc

At least System customizer can be authored Canvas App and Dataflow

@tanimani
Thanks for the proposed change. We'll review and update.


PUT request causes server to stop responding and memory use increases when user is a part of many Roles

[x] You've met the prerequisites.

[x] You're running the latest version of Parse Server.

[x] You've searched through existing issues. Chances are that your issue has been reported or resolved before.

Environment Setup

running parse-sever v2.4.5 on Heroku and locally, this has been happening since at least version 2.2.0
Using Parse iOS SDK version 1.13.0 installed by Cocoa Pods

Steps to reproduce
A user needs to be logged in and be a part of many Roles. The situation I have is that the user is a part of 14k roles (Mainly through roles relation).
Update an object:
PFUser* user = [PFUser currentUser];
user[@"notUsed"] = @(random());

[user saveInBackgroundWithBlock:^(BOOL succeeded, NSError * _Nullable error) {
	NSLog(@"saved user %d",succeeded);
}];

Server never responds running locally or in Heroku's case a 30 second timeout is hit.
Memory usage keeps climbing.
Logs/Trace
Parse-server logs with VERBOSE
verbose: PUT /parse/classes/_User/CkSazcRv3Q { host: 'subdomain.herokuapp.com',
  'x-parse-client-version': 'i1.13.0',
  accept: '*/*',
  'x-parse-session-token': 'r:390c7f9(rest of session token)',
  'x-parse-application-id': 'zIIH9cru(rest of app id)',
  'x-parse-client-key': 'VBt6qm7Zq(rest of client key)',
  'x-parse-installation-id': 'cc25c6c4-eda1-45e5-a744-ffb843b64d22',
  'x-parse-os-version': '9.3 (15E65)',
  'accept-language': 'en-us',
  'accept-encoding': 'gzip, deflate',
  'content-type': 'application/json; charset=utf-8',
  'content-length': '22',
  'user-agent': 'Brandr/65 CFNetwork/758.3.15 Darwin/15.4.0',
  connection: 'keep-alive',
  'x-parse-app-build-version': '65',
  'x-parse-app-display-version': '3.4' } {
  "notUsed":<PHONE_NUMBER>
}

Server Errors (Heroku)
Apr 05 09:07:29 brandr-staging heroku/router:  at=error code=H12 desc="Request timeout" method=PUT path="/parse/classes/_User/CkSazcRv3Q" host=subdomain.herokuapp.com request_id=2394afd7-4abd-4fcd-b6b4-853a7211566e fwd="<IP_ADDRESS>" dyno=web.1 connect=0ms service=30010ms status=503 bytes=0

What I've figured out so far
I tried stepping through the save process with a local running parse-server and a remote database (Object Rocket).  I found that in the RestQuery.js execute function, _this.runFind() gets called alot but _this.runCount() not so much. So I added the print statement shown below.
	RestQuery.prototype.execute = function () {
		var _this = this;

	  return Promise.resolve().then(function () {
	   	return _this.buildRestWhere();
	  }).then(function () {
		console.log("will run find " + _this.className + " id:" + JSON.stringify(_this.restWhere));
	    return _this.runFind();
	  }).then(function () {
	    return _this.runCount();
	  }).then(function () {
	    return _this.handleInclude();
	  }).then(function () {
	    return _this.response;
	  });
	};

I found that this was being executed on every Role that the user was a part of via the roles relation. There are around 14K roles in this DB with each role having a roles relation to an Admin role that the user I logged in was a part of. An exerpt from the console showed the following (somewhere around 14k times):
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"ywpqrQfmZ8"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yxTfXBCKWO"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yxvmYSDRCF"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yy45AJQjEN"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yyFqpgF634"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yyMvs0jzar"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yyRL1PccbJ"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yycMseo1zA"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yysqrApSC7"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yzFbtjaklN"}}
will run find _Role id:{"roles":{"__type":"Pointer","className":"_Role","objectId":"yzLihKLOb4"}}

It appears that in order to make an authorized update request parse-server gets all of the roles that the authorized user is a part of. It would make more sense to see what roles would be required by the object that is being updated and get those if needed. It is possible in my situation to change the ACL on a couple classes so that no user has more than a few Roles that they are a part of. However, for compatiblity from the Parse hosted server to self-hosted, open source parse-server it would make more sense to change the way auth handles Roles for update requests.

@spenceps we're currently building 2.2.6 that has an optimization for role gathering https://github.com/ParsePlatform/parse-server/pull/1366

14,000 Roles?  This definitely falls outside of the expected usage scenario, and would seriously complicate queries.  I'm not sure we should seek to address this in the server, or if your security model should be rethought.

The hierarchy is just one level deep. I have one Admin role that is the only role relation on a TeamAdmin role that is made for every Team object that is created.

@spenceps I've refactored the code in the PR it should run in O(n) time. As you only have 1 level of hierarchy that should be constant time. For the memory usage, can you let us know how it's behaving with the fix?
You can run it from the development package through babel node

@flovilmart It is working a lot better now. The request is taking 10-15 seconds now as opposed to never returning. Memory looks a lot better too. I tried to get the changes pushed up to Heroku to make it easier to quantify the memory improvements but for some reason Heroku wasn't recognizing the submodule. When this change gets released I'll look at the memory closer. Thanks.

That's still a pretty long time. We'll need to provide some caching opportunity so you can handle that caching yourself. and prevent fetching all those roles. What would be interesting is to have a trace of the requests, so we can understand where we spend the time.

It would be cool to be able to cache to Redis. I forgot to mention the first time that only the first request was slow, subsequent requests were very fast, but that probably wouldn't be the case all the time if I was in production mode and had more than one server.
I'm thinking that the best thing for me to do at this point is to change the way I do security on a couple classes so that I don't have a few users that are a part of 14k roles.

I'm thinking that the best thing for me to do at this point is to change the way I do security on a couple classes so that I don't have a few users that are a part of 14k roles.

That would be bring a serious improvement. What I suggest is that you create a SuperAdmin role and attach that role to all the objects that would require it. Then add your users to SuperAdmin. That would work, but also increase the burden to flag all the correct objects.

It would be cool to be able to cache to Redis.

We could expose a role Cache somewhere, with RolesCache.get(roleName), RolesCache.update(roleName) then it would be your responsibility to invalidate, and managed that cache.
But I don't see it as a high priority for now.

@flovilmart  Here is the difference that this change made. Before v35 is without this change and after is the same thing done with the change. It comes close to using 1 GB before and 150 MB after.

This is on a Heroku dyno with 512 MB RAM so Heroku might have done something because it was over the limit.

that's a dramatic improvement!
We could definitely investigate the caching through in memory or redis. I you have time to implement, I'd welcome the PR!


Remove boundary check for mapping from lid to referenced lid since

target attribute is populated before referenced lid is added to
mapping.
Adjust getReferencedLids() method to return const array ref with
safe size.
@geirst, please review

We must re-enable https://github.com/vespa-engine/vespa/pull/3351 before handling this PR.


[Bug] Content options don't work for Xenia Canary v487f440 and newer

Due to the recent changes to Xenia Canary, Content options don't work for Xenia Canary.
EDIT: To make the game configuration file work with the new update, do these steps:

Open "Xenia Settings" in Xenia Manager
Select the game
Click on "Copy Settings From Default Profile"
Click on "Save Changes"

This is due to how loading game specific configuration files via "--config" launch argument.

Fixed in v2.0.0


Disabling autoScale for non-visible series

Hello,
Firstly thank you this great open-source chart library, really a pleasure working with it.
I have a problem that I think can be resolve easily, but need some context.
Basically I have two main series in my chart : "Backtest" and "Témoin" (I'm french!)

Thoses lines series are calculate using others lines series that i dont show by default, like this for example :

The problem is : thoses "others lines series" are not visible but they are taking into account for the scale of the chart, so my most important line series ("Backtest" and "Témoin") are really little for some of thoses "others lines series" :

The solution would be to have the possibility to disable autoScale for non-visible series, because :

I already tried to use autoScale: false when visible is false too, but it don't work (maybe i misunderstood the scope of that property)
I know I can remove and add series, but I still want the performance that allow visible: false (because there is a lot of points)

That's all !
Thank you and have a great day.

Yeah, I think it's a bug.
Would you like to provide a PR with fixes? I think it should be pretty easy to do, it just needed to add if statement to check visible option from series options (similar to this one) somewhere here (and add an e2e test case for that as well).

Yeah, I think it's a bug.
Would you like to provide a PR with fixes? I think it should be pretty easy to do, it just needed to add if statement to check visible option from series options (similar to this one) somewhere here (and add an e2e test case for that as well).

Thanks for the quick answer !
I don't know how to code with TS, but I still forked the project and watch what i could, the fact that the source object of type IPriceDataSource don't have the options configuration of a serie block me real quick...
I'm sorry I don't think I have the skill to do this PR :/

Thanks for the quick answer !
I don't know how to code with TS, but I still forked the project and watch what i could, the fact that the source object of type IPriceDataSource don't have the options configuration of a serie block me real quick...
I'm sorry I don't think I have the skill to do this PR :/

The fix is just published in 3.3.0 version.


Login template issue with height in Safari

In a login template there's a tiny vertical scroll and empty space at the bottom appearing when using Safari. In Chrome everything is fine.
bug screenshoted

Had the same problem with firefox. Probably not the best solution but this is how i fixed it:
`
`

This will be fixed in an upcoming release.

That template is now deprecated with the release of the newer versions, if you encounter any issues with the newer templates please open a new issue.


hdrhist impl. does not track values correctly for seconds since epoch

see pull request #23

I want to say this is due to my ignorance of how to use hdrhistogram. (When I use min=0, the test passes, but as min approaches max/2, the buckets start to get distorted)


[BREAKING] Fix: request expiry

Breaking changes:

issue/redeem/replace request struct:

opentime is now active block number, so it no longer equals the parachain height
added btc_height - this is what the clients will need to use for resuming open requests upon startup

removed opentime from auction event

LGTM so far
Can you please also make a PR to the spec that reflects these changes with the new active_block_number please?

LGTM so far
Can you please also make a PR to the spec that reflects these changes with the new active_block_number please?

Done, see https://github.com/interlay/btc-parachain-spec/pull/2


Update OCA guidance document according to new image slice specs

Image slice image treatment crops differently as expected. Will need to update guidance documents to reflect the current way images are being cropped.

This is already done.


unable to re-register job to new project

launch any test on CI with let's say zafira_project=111
-> everything is registered correctly
change zafira_project=222
run tests on CI again
-> new test run still is registered using old project name!

it seems like primary key for jobs should be complex: add project id into it and register new job as only project was updated between runs

fixed in 3.3.32


ArgumentNullException when removing items from ObservableCollection bound to ItemsControl with CardExpander items

Describe the bug
System.ArgumentNullException: 'Value cannot be null. Parameter name: defaultDestinationValue' when removing items of ObserableCollection<Model> bound from ViewModel class to ItemsControl in Window with ItemTemplate templated with CardExpander after expanding any CardExpander.
To Reproduce
Situation:

MainWindow (pure Windowdescendant, no FluentWindow) with Resources <ui:ThemesDictionary Theme="Light" /> and <ui:ControlsDictionary />.
MainWindow with simple ViewModel class as DataContext.
ViewModel class with ObservableCollection<Model> Items property bound to ItemsControl having ItemTemplate as CardExpander.

Steps:

In runtime, fill the Items with some Model items (button [Reload Items] calling Items = new ObservableCollection<Model>(list)).
Expand any CardExpander.
Remove any item/all items/assign new instance of ObservableCollection to Items property (buttons [Delete], [Remove All Items] or [Reload Items] calling Items.Remove(item), Items.Clear() or code from step 1).
=> exception will be thrown

Description:

If you use default WPF style (no WPF-UI resources in MainWindow.xaml), everything will work.
If you use WPF-UI resources in MainWindow.xaml, exception is thrown.
If you do not expand a card (skip step 2), all will work with or without WPF-UI resources.

ErrorProof.zip
Expected behavior
No exception thrown. Removing items from ObservableCollection or assigning new instance should have no such impact.
Screenshots
No response
OS version
Windows 10 Pro 22H2 19045.4529
.NET version
4.7.2
WPF-UI NuGet version
3.0.4
Additional context
No response

Thank you for providing the complete sample code; I think this will be helpful in fixing this bug.

I observed that you were utilizing the ResourceDictionary within the MainWindow; however, when I configure the ResourceDictionary in the App.xaml, this exception does not occur.

Is it unsupported in WPF to put style resources into Window? Or is putting the resources into App.xaml the only way to have it working?
The situation is: all our WPF windows/user controls are in libraries. The libraries are used from win32 (non .NET) code => there is no Application object created. I know, I can create own one in the library and merge the WPF-UI resources into it - I already do it with our current WPF styles that we want to replace with WPF-UI. But if I do it this way, all windows are affected by these styles at once and we want to restyle them one by one and to not wait with the release until all of them are restyled - it's OK for us to have some with our old style and some with WPF-UI's (our one is close to WPF-UI, so not a big "disharmony").
I already have bad experience with this "general styles" approach: when an application loads our library with its styles automatically merged into Application's resources, all styles of the application itself and of other libraries are affected. Therefore I decided to put WPF-UI resources directly to windows/user controls that are being restyled.
Is there any better solution I am not aware of?
Thanks much for your help.

Is it unsupported in WPF to put style resources into Window? Or is putting the resources into App.xaml the only way to have it working?
The situation is: all our WPF windows/user controls are in libraries. The libraries are used from win32 (non .NET) code => there is no Application object created. I know, I can create own one in the library and merge the WPF-UI resources into it - I already do it with our current WPF styles that we want to replace with WPF-UI. But if I do it this way, all windows are affected by these styles at once and we want to restyle them one by one and to not wait with the release until all of them are restyled - it's OK for us to have some with our old style and some with WPF-UI's (our one is close to WPF-UI, so not a big "disharmony"). I already have bad experience with this "general styles" approach: when an application loads our library with its styles automatically merged into Application's resources, all styles of the application itself and of other libraries are affected. Therefore I decided to put WPF-UI resources directly to windows/user controls that are being restyled.
Is there any better solution I am not aware of?
Thanks much for your help.

Sorry, I'm not quite knowledgeable about this aspect either.

Thanks for your response. I was trying the same with some other styles placed directly in Window's resources - as is perfectly common in WPF - and everything worked. How can this unexpected behaviour of WPF-UI resources be fixed?
Thanks for the time of you all.

Hello. Any news about this issue? Thanks much.

The problem occurs due to animating the Tag property, which has a default value of null in DependencyProperty. The problem is solved by using another property that has a default value, e.g. MinHeight works without problems, keeping the same animation without exception.

Thanks for the response. Is the solution part of some planned future version?

@bujma I can make a PR if @pomianowski agrees to that approach with MinHeight

I cannot say if it is the correct solution, but it will be fine to have it fixed in the near future, thanks much.


Please be clear about using virtualenv or venv #Documentation

While diggung through your docs + talks, there is no clear mention of what virtual environment you are using. Pypa endorses venv which also is stdlib natively , thus i highly favor.
What are you using, can venv be used too, what would hinder it?

We use neither and implement our own isolation mechanism instead that works from within a zipfile (from inside a PEX). That isolation code exists primarily in two places:

https://github.com/pantsbuild/pex/blob/85f156548e3ac0d4d9c03246815a4dd0a67a31ed/pex/environment.py#L37
https://github.com/pantsbuild/pex/blob/1b7689e7c74fc80c92d8177181c464bc77930123/pex/pex.py#L379

I'm going to close this issue as answered, but if you have more questions about this please fire away.


scalar_prod implementation

I am missing a scalar_prod function. on ArrayBase. This seems straightforward to implement (almost blindly copy/paste scalar_sum), so I will be submitting a pull request. I am not familiar enough with computer engineering to say if an unrolled_prod is a valuable addition as well, so I will just include it in the PR awaiting feedback from someone with more background!

I am not familiar enough with computer engineering to say if an unrolled_prod is a valuable addition as well

If you're interested, this is a pretty good article for background, even though it's talking about C++ with the MS compiler instead of Rust with LLVM. Basically, in order to allow the compiler to perform the sum/product using SIMD even with strict floating-point behavior, it's helpful to explicitly unroll and reorder the sum/product manually.

That seems like a very nice read, thank you!

Implemented in #505.


Improve readability

"such the" -> "such as the"

@andresnava : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Correction confirmed. Thanks.


hyper server send rst after response 503

Version
0.14.20
Platform
Linux kwephis1142986 4.18.0-<IP_ADDRESS>.h579.eulerosv2r10.x86_64 https://github.com/hyperium/hyper/issues/1 SMP Sat Jul 31 09:58:46 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Description
I send a POST request with a large body, and the server responds with 503 immediately before reading the body. Then hyper receives the body data at this time and returns the rst message
I expected to see this happen:
Hope to close the connection gracefully without sending rst

It's hard to know what happened without see the server code.
But if you replied with a 503 immediately without reading request body, then the OS will usually send a RST since it is closing the connection with data still unread.


Develop a Casdoor plugin for APISIX

Here are two plugins can be used as references:

KeyCloak: https://apisix.apache.org/docs/apisix/plugins/authz-keycloak/
Casbin: https://apisix.apache.org/docs/apisix/plugins/authz-casbin

The new plugin auth-casdoor will be added by making PR to APISIX's repo like how it's done for authz-casbin: https://github.com/apache/apisix/pull/4710
We can choose to make a casdoor-lua-sdk first or not, based on how the developer decide it.
There is some existing work to connect APISIX with Casdoor via OIDC: https://github.com/casdoor/casdoor/issues?q=apisix , but plugin is a better and easier solution. So a plugin is also important as well.

@Steve0x2a

Hi, this sounds really interesting but sorry I would not be able to actively develop this at this time. Though, if anyone else is willing to take this up I would be happy to help them.

https://github.com/apache/apisix/pull/6382
But it's only a draft pr because... I haven't figured out how to add test for it.

@rushitote got it. I think @ComradeProgrammer has made a PR: https://github.com/apache/apisix/pull/6382 , can you help review it?

@ComradeProgrammer
So, if you manually tested the plugin you can then move onto the unit tests. The unit tests are very similar to manually testing the application where you send a request and check for the response to see if it's correct.
First install the submodules by git submodule update --init --recursive, that will install the testing toolkit and other required components. Then install cpan and then this tool, which APISIX uses for testing. You could look at the APISIX's docs for detailed information on installing the tool and writing tests.
Also, you would need to modify the CI files of APISIX to install and configure Casdoor before running tests, but that can be done later on. You could create a folder for authz-casdoor under t/plugin for any config files you need to save for CI.

@ComradeProgrammer So, if you manually tested the plugin you can then move onto the unit tests. The unit tests are very similar to manually testing the application where you send a request and check for the response to see if it's correct.
First install the submodules by git submodule update --init --recursive, that will install the testing toolkit and other required components. Then install cpan and then this tool, which APISIX uses for testing. You could look at the APISIX's docs for detailed information on installing the tool and writing tests.
Also, you would need to modify the CI files of APISIX to install and configure Casdoor before running tests, but that can be done later on. You could create a folder for authz-casdoor under t/plugin for any config files you need to save for CI.

Thank you very much. It turned that your advice was of great help! With the help of your instructions, I've successfully added tests for this pr. Besides, it seems that there is no need to add casdoor into CI files, because there are mocking suits in apisix so that some of casdoor's apis can be mocked. I can hardly express my sincere appreciation!

@ComradeProgrammer So, if you manually tested the plugin you can then move onto the unit tests. The unit tests are very similar to manually testing the application where you send a request and check for the response to see if it's correct.
First install the submodules by git submodule update --init --recursive, that will install the testing toolkit and other required components. Then install cpan and then this tool, which APISIX uses for testing. You could look at the APISIX's docs for detailed information on installing the tool and writing tests.
Also, you would need to modify the CI files of APISIX to install and configure Casdoor before running tests, but that can be done later on. You could create a folder for authz-casdoor under t/plugin for any config files you need to save for CI.

Thank you very much. It turned that your advice was of great help! With the help of your instructions, I've successfully added tests for this pr. Besides, it seems that there is no need to add casdoor into CI files, because there are mocking suits in apisix so that some of casdoor's apis can be mocked. I can hardly express my sincere appreciation!

Thank you very much. It turned that your advice was of great help! With the help of your instructions, I've successfully added tests for this pr. Besides, it seems that there is no need to add casdoor into CI files, because there are mocking suits in apisix so that some of casdoor's apis can be mocked. I can hardly express my sincere appreciation!

That's great, I am really glad to hear that! The tests written by you are really well. Also didn't knew about the mocking suites in APISIX, it's nice that it has that.

The APISIX members will accept https://github.com/apache/apisix/pull/6382, but there are a few questions:

Should we rename auth-casdoor to authz-casdoor, as the discussion in https://github.com/apache/apisix/pull/6382#discussion_r820404245?
The current implementation hardcodes state=casdoor in

"/login/oauth/authorize?response_type=code&scope=read" ..
"&state=casdoor&client_id="

AFAIK, it is vulnerable to CSRF attack. What do you think?
Finally, please help us to review https://github.com/apache/apisix/pull/6382, thanks!

@spacewander thanks for reaching us here :)

Should we rename auth-casdoor to authz-casdoor, as the discussion in https://github.com/apache/apisix/pull/6382#discussion_r820404245?

We will change to authz-casdoor based on the existing naming convention.

AFAIK, it is vulnerable to CSRF attack. What do you think?

Thanks for bringing this up to us. This is indeed a security concern. We will fix this issue soon at: https://github.com/casdoor/casdoor/issues/564

Finally, please help us to review https://github.com/apache/apisix/pull/6382, thanks!

Sure! We will help review it.

Hi @spacewander , we're done here. Can you take a look at the updated PR: https://github.com/apache/apisix/pull/6382 ?

Done at: https://github.com/apache/apisix/pull/6382


Dataset: patch --> crowd label

Document how labels are generated.

132a67f adds a module that pulls the dataset from the raw features and labels. It's pretty simple.
I'll document the labels in my thesis and another document to go with the dataset.

Regarding making the labelsmore informative (by changing the binary label to some kind of agreement percentage): This probably needs to be based on radio agreement, since from my earlier notebooks I found that when people agree on radio they tend to agree on infrared location. One problem is that I'm currently labelling the nearest infrared object with a 1 and all other objects with 0, but this results in some ambiguous infrared objects being labelled with 0 because they were slightly too far away to be "nearest". This problem would still exist with nonbinary labels, but I think it would be considerably more misleading. Options include leaving the labels binary, or somehow labelling based on distance.

I think forcing the labels to be binary is the way to go, as long as the procedure to do so is documented (the code is available anyway).
Once this is done, and @jbanfield can run your whole pipeline, put the dataset up on zenodo.org (add me, username cong, so that I can edit it in future). There is a 2GB size limit, so some care would need to be taken.

Okay. In that case, the dataset's all ready. I'll write something up soon.
@jbanfield: Let me know if you need help getting the code running.

I'll be back in town on the weekend, so this is my task on Monday.  Will let you know how it goes.


Explicit builders for all types

Description
Deprecate some builders in favor of new explicit ones for all types in Kotools Types.
Builders should follow this pattern:
fun <T> typeOrNull(value: Any): T? = TODO() // should return `null` if the value is invalid
fun <T> typeOrThrow(value: Any): T = TODO() // should throw an error if the value is invalid

Checklist

[x] Implement for NonZeroInt.
[x] Implement for PositiveInt.
[x] Implement for StrictlyPositiveInt.
[x] Implement for NegativeInt.
[x] Implement for StrictlyNegativeInt.
[x] Implement for NotBlankString.
[x] Implement for NotEmptyList.
[x] Implement for NotEmptySet.
[x] Implement for NotEmptyMap.
[x] Refactor.
[x] Update Work in progress section in changelog.

Don't use the Either type from Arrow, create an explicit type for each function like so:
sealed interface NonZeroIntResult {
    class Success(val value: NonZeroInt) : NonZeroIntResult
    class Error : IllegalArgumentException("NonZeroInt doesn't accept zero."), NonZeroIntResult
}

fun nonZeroInt(value: Int): NonZeroIntResult = TODO("Not implemented")

Minimize complexity introduced by this issue by removing useless production code.

Done.

Introduce this feature as an alpha stage.


[NEED HELP]:

Description of the bug
(Error when trying to run python main.py)
Environment Information

Operating System: [e.g. Ubuntu 22.04.4 LTS]
Python Version: [e.g. Python 3.9.20]
Driver & CUDA Version: [Driver Version: 535.183.01   CUDA Version: 12.2]
Error Messages and Logs:
[/anaconda3/envs/AudioPipeline/lib/python3.9/site-packages/pyannote/audio/core/io.py:43: UserWarning: torchaudio._backend.set_audio_backend has been deprecated. With dispatcher enabled, this function is no-op. You can remove the function call.
torchaudio.set_audio_backend("soundfile")
/.local/lib/python3.9/site-packages/networkx/utils/backends.py:135: RuntimeWarning: networkx backend defined more than once: nx-loopback
backends.update(_get_backends("networkx.backends"))
Traceback (most recent call last):
File "/Amphion/preprocessors/Emilia/utils/tool.py", line 39, in load_cfg
cfg = json.load(f)
File "/anaconda3/envs/AudioPipeline/lib/python3.9/json/init.py", line 293, in load
return loads(fp.read(),
File "/anaconda3/envs/AudioPipeline/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/anaconda3/envs/AudioPipeline/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "***/anaconda3/envs/AudioPipeline/lib/python3.9/json/decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 14 column 9 (char 225)

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Amphion/preprocessors/Emilia/main.py", line 493, in
cfg = load_cfg(args.config_path)
File "/Amphion/preprocessors/Emilia/utils/tool.py", line 41, in load_cfg
raise TypeError(
TypeError: Please finish the // TODO: in the config.json file before running the script. Check README.md for details.]
Additional context
(Add any other context about the problem here.)

Solved with deleting all comment strings with //


POSIX BRE / ERE compliant parsers

Hello,
I would like to suggest adding POSIX Basic Regular Expression (BRE) and Extended Regular Expression (ERE) support, possibly via modules e.g. regex::RegexBRE.
The main reason for this is for compatibility with coreutils functions:

awk: only supports ERE
sed: supports BRE (default) or ERE (with -E)
grep: supports BRE and ERE, and sometimes PCRE (but inconsistently, it's not POSIX)

I understand that the use case for this is somewhat narrow and thus perhaps out of the scope of this library. Just wanted to at least bring it up before working on my own implementation, in case there is a need.
The implementation for this could likely just be a basic  wrapper that validates the supplied data is POSIX-compliant and performs token substitutions in-place to enable parsing via the default regex engine.
Reference on the syntax: https://en.wikibooks.org/wiki/Regular_Expressions

Yeah this is definitely out of scope, sorry. I'm pretty sure this has been discussed before, although I can't find an issue for it.

The implementation for this could likely just be a basic wrapper that validates the supplied data is POSIX-compliant and performs token substitutions in-place to enable parsing via the default regex engine.

Nope. Doesn't work. A BRE/ERE parser isn't enough to make them POSIX compatible. You also need a POSIX compatible regex engine to go along with them. For example, POSIX regexes use "leftmost longest" semantics where, for example, sam|samwise will match samwise, but this regex engine (and other PCRE-like regex engines) will match sam. The differences don't end there. BREs have backreferences. The resolution of submatches is different (and notoriously difficult to get right). Then there's the handling of non-greedy matches (if at all) and locale support.
With that said, I do think it would be interesting to make regex-syntax support BRE/ERE parsing at least. There's likely quite a bit of common ground. Folks would still need to build their own BRE/ERE regex engine, but they at least wouldn't need to start by writing their own parser. With that said... Writing a BRE/ERE regex engine is probably an order of magnitude more work than writing the parser, so I'm not sure it would really be that beneficial. That is, if you really need a Rust BRE/ERE regex engine, I'm definitely never going to be able to give that to you, so you'd have to write that piece. And if you're writing that piece, it's not a whole lot of extra work to write the parser, relatively speaking.
In theory I might be willing to support a BRE/ERE syntax mode (but definitely one that isn't supported by the regex engine itself), but I'd want to see at least the following:

A good use case for why this is needed. You mention "compatibility with coreutils functions," but you actually list programs, not functions. It's not clear what use a regex parser in Rust would be for them. Are you talking about a Rust re-implementation of those programs? If so, a regex parser is really the least of your worries (as noted above).
A proposal for how to implement these new supported syntaxes in a way that is not too invasive and doesn't overly complicate the code.
A strategy for how we'll check that the syntax supported is indeed POSIX compatible. That is, I'd want to hear about the testing strategy for this.

Thanks for the quick response and for the insight. Admittedly I didn't realize that there would likely be a lack of compatibility with the engine, which means a lot more work than I originally was thinking. Something that simply reformats a string for the regular engine and gets "close enough" to perfect POSIX is probably suitable for my use case, but of course it wouldn't be acceptable here if there are engine differences (didn't know about that, thanks for the information).
I know there had been some discussion on https://github.com/uutils about sed and awk, so maybe when those roll around it this will be worth re-investigating.
I'll close this since it seems very much blue sky now


Cannot Provision Host Pool with Managed Image

There is a bug in the validation in "Image Resource Group Name"  I have an Underscore in the resource group name MyName_RG.  Everything works fine, no issues with underscore, until I try to use a manged image.  The field validation marks it as failed, but the error message says, "The resource group name for the managed image may containl only alphanumeric characters, periods, underscores, hyphens and parenthesis and cannot end in a period."  What is the workaround for this?

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

ID: 970202b7-165f-18df-e928-c47c45a18755
Version Independent ID: d5393b62-4211-72f5-fc7a-363f68f6d8a2
Content: Windows Virtual Desktop host pool Azure Marketplace - Azure
Content Source: articles/virtual-desktop/create-host-pools-azure-marketplace.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Thanks for the feedback! We are currently investigating and will update you shortly.

@BryanAdvisicon thanks for pointing this out. I tested and found the same issue. Seems hyphens still work though

@Heidilohr @ChristianMontoya how would you like this addressed?

I have already created the tenant, ADDS, vnet, subnets and supporting VMs, as well as a managed image.  It would be a serious pain to recreate all the work I have  done to this point.  I am assuming it is the validator for the field on the page and not an actual rule violation, since underscores do not seem to be an issue anywhere else.  I think fixing the web form would be the easiest fix.  Unless you have another suggestion.

I would agree. My guess is also that it is an issue with the validation in the portal. So not so much that it doesn't support underscores. I have ran into situations like this before with other products. Another thing you could try is another browser. Sometimes I find the validator can be different depending on that.
It will likely still work when deploying from PowerShell or ARM template
https://docs.microsoft.com/en-us/azure/virtual-desktop/create-host-pools-powershell
https://docs.microsoft.com/en-us/azure/virtual-desktop/create-host-pools-arm-template
I will let @ChristianMontoya comment further though as to the action plan to address it.

@MicahMcKittrick-MSFT , @BryanAdvisicon : Yes, this is just in the validator for the Azure Marketplace offering. We now have a workitem to track this and make it less restrictive. In the meantime, you can use what Micah recommends to continue deploying your custom image.

Thanks @ChristianMontoya
@BryanAdvisicon I will close this out since we are this issue internally.


Clarifying example for oauth token yaml

While any arbitrary name for the environment variable can be used, we may reduce friction by suggesting that the default label used by the classic is also used in the YAML to ensure compatibility with legacy tasks and scripts and documenting the reason for the suggestion (best practice?).
Example change:
env:
SYSTEM_ACCESSTOKEN: $(system.accesstoken) # Any identifier may be used, however mirroring the value used in classic pipelines ensures backwards compatibility with existing tasks
This would also make the example consistent with https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#systemaccesstoken

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

ID: 67504b34-d64b-02a4-2e10-ab99f3b8cfe4
Version Independent ID: 2cf63b2e-184b-7726-3b8a-d8baffd6fcce
Content: Jobs in Azure Pipelines and TFS - Azure Pipelines
Content Source: docs/pipelines/process/phases.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

Similarly, it may be worth noting in the classic tab that when you "Select the Allow scripts to access OAuth token option in the control options for the job." the token will exist as the environment variable SYSTEM_ACCESSTOKEN.

Thanks @LittleBoxOfSunshine! The update will go out shortly.

#sign-off


Validation messages does NOT respond to 'rules' changes.

ElementUI version
1.0.2
OS/Browers version
Ubuntu / Chrome 51
Vue version
2.0.8
Reproduction Link
http://jsfiddle.net/nprj0tb2/
Steps to reproduce

Click the "Submit" button (leave the form empty) in order for the error message be showed up.
Click the "Change Locale to ..." button, so that it updates the rules object as a computed property.
Notice the error message which is not updating automatically based on the new rule object.
Repeat step 1 again.
The error message will be updated manually.

What is Expected?
if the user changes the language of a multilingual app while some validation errors are on the page, it is surprising that the validation errors are not updated automatically based on the selected language.
In short, the expected behavior is that the error messages update once the rules object changes (the validation process should re-run in that case).
What is actually happening?
Error messages does NOT respond to rules object changes.

I can send a PR to add this feature if you will.

Sure, a PR is definitely welcome.


updates from HMI and cob4-2 - cleaned up and generalized for other robots

Test on cob4-2: OK

what's the status with this PR?
It's getting too big and contains commits not related to the PR title...

we should have a deep look in this on wednesday. Maybe some changes are already included in other RPs, so this PR will get smaller.

includes the following features:

aggregated robot_state_publisher and removal of topic_relay (joint_states)
fix for machine launch tags
launch file for cob_mimic
proper topic remapping for diagnostics
proper consistent namespaces for cob_sound, cob_mimic and cob_light with proper yaml adaptions
many cob_hardware_config updates/optimizations specific to cob4-2

more features and generalizations will be done #296

fine with me, tested on cob4-2

tested on cob4-2: OK

Merging together with https://github.com/ipa320/cob_robots/pull/296


GDScript 2.0:  Cannot get member "nav_poly" from "[Resource:-9223370519170995752]" when using const and preload()

Godot version
v4.0.alpha14.official [106b68050]
System information
Windows 10
Issue description
A Resource File with "class_name Pool" has a variable:
var nav_poly : NavigationPolygon = NavigationPolygon.new()
When i access this variable from the main scene in Gdscript autocomplete works fine:
$NavReg2d.navpoly = pool.nav_poly
But i get the Error : Cannot get member "nav_poly" from "[Resource:-9223370519170995752]".
Anyhow when i run the scene the code works fine and the generated NavigationPolygon is used.
In Godot 3.5(Stable) i don´t get an error with same code.
Steps to reproduce
https://user-images.githubusercontent.com/50340215/184619018-41186244-9d05-43d6-a021-20c00e4c5ddf.mp4
Minimal reproduction project
Godot 4(A14) Project.zip

@Calinou This is not a navigation issue but an issue GDScript const + preload.

I found another issue that seems related to the Error.
When i load my project a signal in the script with the error is hidden in the inspector and
the signal does not work.
When i comment out the line with the error my signal reappears in the inspector and then it works.
Please watch the video.
By the way:
In Godot 3.5 i use that line of code:
export(NodePath) onready var nav_agent = get_node(nav_agent) as NavigationAgent2D
which works perfect.
In Godot 4 i tried several ways to get the same result but i ended with that code:
@export_node_path(NavigationAgent2D) var n_agent
@onready var nav_agent = get_node(n_agent)
Is there a way to get it back to one line of code ?
https://user-images.githubusercontent.com/50340215/185045328-ae15e41f-cb3d-4f97-b4e1-5b12aee23eb1.mp4

The problem is still there in Godot 4 (A16)

The issue is still present in Godot 4 (B3)

The issue is still there in Godot 4 (B7)

Seems like the problem is still there in the current Godot 4 release build. If I change const to var, the error goes away and the scene works fine.

I´ve tried it with "var" and the error went away.
Thank you so much.


seeking clarification on SSL support

I use letsencrypt to generate the SSL certs, after which the right certs are stored in:

crt: '/etc/letsencrypt/live/domain.com/fullchain.pem',
key: '/etc/letsencrypt/live/domain.com/privkey.pem'

At the guide, it says that:

If your certificate and key are already in the right location on your server and you would like to prevent Mup from overriding them while still needing an SSL setup, you can add upload: false to mup.js in the meteor.ssl object.

I am bit confused. Since now the certs are already on server, how can I use the SSL cert directly, without the need to upload it like this:
ssl: {
      port: 443,
      crt: '/location/bundle.crt',
      key: '/location/private.key',
    },

and How should I use upload: false?
Thank you!

I'm wondering this same thing too...
Wondering if I can create a symlink to the right location... Thus using a cron job to auto renew the certs, and not having to load them in every 3 months...


Add UIScrollView support

It would be great to have support for either a continuous vertical scroll or paged left/right as Springboard does it

just add some tags so you can handle the data call backs
    _openSpringBoard = [[OpenSpringBoard alloc] init];
    _openSpringBoard.tag = 1;
    _openSpringBoard.delegate = self;
    [_openSpringBoard.view setFrame:CGRectMake(0, 0, 320, 480-44-20)];

    _openSpringBoard2 = [[OpenSpringBoard alloc] init];
    _openSpringBoard2.tag = 2;
    _openSpringBoard2.delegate = self;
    [_openSpringBoard2.view setFrame:CGRectMake(320, 0, 320, 480-44-20)];

     mySV = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480-44-20)];
    [mySV setBackgroundColor:[UIColor greenColor]];
    [mySV addSubview:_openSpringBoard.view];
    [mySV addSubview:_openSpringBoard2.view];
    [mySV setPagingEnabled:YES];
    [self.view addSubview:mySV];
    [mySV setContentSize:CGSizeMake(640, 480-44-20)];

(NSMutableArray *) openSringBoardLoadIconArray:(OpenSpringBoard *)openSringBoardVC iconPageLimit:(int *)numIcons

if (openSringBoardVC.tag ==1) do page 1 icons.
etc

boom
    pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(160-40,480-44-20-40, 80.0, 20.0)];
    [pageControl addTarget:self action:@selector(:) forControlEvents:UIControlEventTouchUpInside];
    pageControl.numberOfPages = 2; // must be set or control won't draw
    // in case the parent view draws with a custom color or gradient, use a transparent color
    pageControl.backgroundColor = [UIColor clearColor];
    [self.view addSubview:pageControl];

Thanks, John. I like your approach.  We've been debating whether to support landscape mode & then how to handle moving icons between different pages. Any recommendations?

let's hold back on the landscape mode.
in the apple sample code for "Autoscroll" from wwdc / scroll view suite, there's some code and in movie the guys steps through logic for handling long holds and responding to this gesture when icon hits side of the screen.
This multi page containers is going to be a royal head ache to cross this logic over into different views.
They are each going to need to talk to each other - and is going to have a lot of wiring necessary for each page.
it's probably better not to go down this path that I've started. For me - it gets the job done for now.
It would so much easier if they were all in one view which spands multiple pages within the one uiscrollview.
if icons being added go beyond (iconsPerPage) >
then offset the new ones by device screen width * pageNumber and reset the y position.
then you wont need to change the existing moving logic - just handle events when we hit the sides of the screen.


cleanup: Remove attributions.json file

Remove attributions.json file from the project.
This was a test file and is not needed anymore.
Additional context
#76

File has been removed.


Epic: Re-design refresh token handling

ideas

keep history of refresh tokens to enable revocation in case the same token gets refreshed twice
bind refresh token to session cookie for SPA scenarios (maybe less and less feasible with ongoing browser cookie hardening)

related
https://github.com/IdentityServer/IdentityServer4/issues/2610
https://github.com/IdentityServer/IdentityServer4/issues/3245

soft delete, and future RT usage has better logging

Consider supporting scope parameter on RT requests
https://github.com/IdentityServer/IdentityServer4/issues/3644

Related: #3354

Related: #1056

Related: #2976

related #1655

#4206

In a sense, the deleted (or enabled) flag from the grants table and the rework of the RT plumbing is related. I also think it means updating more store than just the RT store (maybe the authZ code store due to similar concerns?) to have not Get and Delete APIs, but more like GetAndDelete (as mentioned here  #1655 and related to #4213 and perhaps #3354).

Is this a good place to ask about support for the two options in section 6 "Refreshing An Access Token" of the upcoming OAuth 2.1 spec?
Authorization server MUST utilize one of these
methods to detect refresh token replay by
malicious actors for public clients:

   *  _Sender-constrained refresh tokens:_ the authorization server cryptographically binds the refresh token to a certain client instance by utilizing [I-D.ietf-oauth-token-binding] or [RFC8705].

   *  _Refresh token rotation:_ the authorization server issues a new refresh token with every access token refresh response.  The previous refresh token is invalidated but information about the relationship is retained by the authorization server.  If a refresh token is compromised and subsequently used by both the attacker and the legitimate client, one of them will present an invalidated refresh token, which will inform the authorization server of the breach.  The authorization server cannot determine which party submitted the invalid refresh token, but it will revoke the active refresh token.  This stops the attack at the cost of forcing the legitimate client to obtain a fresh authorization grant.

I'm not sure about "sender-constrained refresh tokens", but is "refresh token rotation" already covered by theTokenUsage.OneTimeOnly setting?
(In any case, those keywords should probably be in the docs/repo somewhere for searchers like me.)

We added ConsumedTime and use that instead of deleting refresh tokens when consumed. They will only be deleted via TokenCleanupService after the expiration.

@brockallen I've looked through commit #4428 and see ConsumedTime added to the model, but I don't see anywhere that it's assigned a meaningful non-null value or is used somehow to implement the refresh token rotation strategy required in the OAuth 2.1 draft spec as quoted above.
Can you help clarify for me how it's intended to solve that?
Or were you just making an unrelated announcement about the refresh token re-design progress to update everyone in the thread, and I misinterpreted it following my question as a direct reply? Thanks in advance.

There's an open PR with it.


Add a unit test to confirm the Node version

Many tests will appear to fail if the user has an old version of node installed (pre 10?). Please add a unit or configuration test to report that accurately when they run npm test rather than appearing to have a lot of failing tests.
This article describes variants of how to do this, but adding an appropriate tape test might be the most convenient.

Ok I think that covers it. @dtribble feel free to re-open if there's a workflow that doesn't give a decent error message.


chore: add react-navigation flipper devtools

📝 Description
Adds developer tools to make debugging easier when using React Navigation.
https://reactnavigation.org/docs/devtools/
While working on https://github.com/LedgerHQ/ledger-live-mobile/pull/2462 I needed to debug the navigation and this helped me a lot
Also updates flipper and cleaned up the flipper performance plugin integration.
❓ Context

Impacted projects: live-mobile
Linked resource(s): ``
Old pr: https://github.com/LedgerHQ/ledger-live/pull/94

✅ Checklist

[ ] Test coverage
[x] Atomic delivery
[x] No breaking changes

📸 Demo

https://user-images.githubusercontent.com/3009753/184420401-d6789678-36d2-45ee-83c7-3162d8079f1c.mov
🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

Hey, is there a specific config, setup to do to get this working?
I followed the doc in our Readme (cf. here) to setup Flipper but it looks like Navigation (and performance) plugins are not enabled.
I am using Flipper 0.158.0.
I built and started the app in debug mode:
DEBUG_RNDEBUGGER=1 pnpm mobile ios

and
DEBUG_RNDEBUGGER=1 pnpm dev:llm

PS: not sure it is necessary to use DEBUG_RNDEBUGGER for both commands

I'll update the doc and rebase the PR today so that we can merge this


init geofences

Does not work see --> https://github.com/o0shojo0o/ioBroker.traccar/issues/497#issuecomment-1649631644

it works but the server send trash


Automated Package Upgrade

:tada: This PR is included in version 28.5.45 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: