Documentation not loading. swagger_doc.json {"error":"Not Found"}

Below is the configuration I used to build API's using Grape.
But I am not able to build documentation using Swagger
Gems:
gem 'grape'
grape-0.13.0
gem 'grape-swagger-rails'
grape-swagger-rails-0.1.0
gem 'rack-cors', :require => 'rack/cors'
rack-cors-0.4.0

config/application.rb
require 'rack/cors'
config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')
config.autoload_paths += Dir[Rails.root.join('app', 'api', '**', '*.rb')]

config/initializers/swagger.rb
GrapeSwaggerRails.options.url      = '/swagger_doc.json'
GrapeSwaggerRails.options.app_url  = "http://api.lvh.me:3000"

config/routes.rb
  constraints(subdomain: 'api') do
    mount API::Base => '/'
  end
  mount GrapeSwaggerRails::Engine, at: "/apidocs"

app/api/api/base.rb
require 'grape-swagger'
module API
  class Base < Grape::API
    default_format :json
    mount API::V1::Base

    add_swagger_documentation(
      api_version: "v1",
      hide_documentation_path: true,
      mount_path: "/",
      hide_format: true
    )
  end
end

Issue:
When I hit http://lvh.me:3000/apidocs. I'm getting below error below green Nav bar.

Can't read swagger JSON from http://api.lvh.me:3000/swagger_doc.json

When I hit http://api.lvh.me:3000/swagger_doc.json. Getting below response.
{"error":"Not Found"}

I am not able to figure out what am doing wrong. Need help in rendering Swagger documentation with grape framework.
http://stackoverflow.com/questions/33843077/grape-swagger-documentation-not-loading

That api_version I think is making a /v1/ path somewhere. IF you have a demo app with this up I can help you figure this out.

This may be an issue with the defaults set by grape-swagger.  Look here to see if one of those settings causes anything unexpected.
I'm going to go ahead and close this issue.  If it's still a problem, feel free to ping me here to reopen the issue or just open a new one.


Create CMM Images and push to GitHub Packages.

Changed the ".sh" to executable.

This change is


Strings Are Not Consistent

The strings we use throughout the codebase for logging/artifacts/activities are not universally standardized. All strings that have the potential to go to the user or LLM should be full sentences with proper punctuation.

Not going to be feasible without some linting rule to enforce it. Unfortunately rules such as https://docs.astral.sh/ruff/rules/first-word-uncapitalized/ do not apply to string literals.


StreamError: send(“There was a problem while sending data.“, Socket failed with code 9 (“Bad file descriptor”) [sendFailedToSendAllBytes])

I have a webpage that once the document is ready, starts a socket connection. The client only receives messages on a continuous basis and does not send any. I noticed an issue where if I refresh the page, I.E. closing the current socket and instantly opening a new one, I would get the error stated in the title on any attempts to send data to client.
Upon doing some research I found this example which locks onClose: https://github.com/IBM-Swift/Kitura-Chat-Server/blob/master/Sources/KituraChatServer/ChatService.swift
This resolved the issue. FYI this was using Vapor 1. Not sure if something has already been put in place with Vapor 2 to handle this situation. Sample code I used is below.
private let connectionsLock = DispatchSemaphore(value: 1)

ws.onClose = { [weak self] ws,_,_,_ in
			self?.lockConnectionsLock()
			  //remove connection logic
			  self?.unlockConnectionsLock()
}

  private func lockConnectionsLock() {
    _ = connectionsLock.wait(timeout: DispatchTime.distantFuture)
  }

  private func unlockConnectionsLock() {
    connectionsLock.signal()
  }

Vapor 1 is no longer being supported. Sorry for the inconvenience.


There's too many villages in the swamps

See title. No time to explain. tired.

Do agree. They are way too common in swamps :+1:

k


Java parses leading annotation

Motivated by #20026

Drafting to forward port the related annotations commits from Scala 2.

@som-snytt I've merged the Scala 2 one. Does this one need to be updated or is it ready to go?

@SethTisue I assume there is more annotations work to forward port, but I haven't had a chance (will) to look at it. Undrafting because it fixes something. I guess a solar eclipse can result in either a burst of productivity or a shadowed malaise.


Gorm v2 Callbacks

Your Question
The callbacks type returned by (db *DB) Callback() *callbacks (see here) is not exported, meaning none of its methods are documented. In order to figure out how to use it, you have to dig through a bit of code.
Is this intentional? I would expect callbacks to be exported from the gorm package as Callbacks.

Yes, this is intentional, the API is not necessary for most users but only those people who want to hack GORM, and they have to read some GORM code to do the job, also refer: https://gorm.io/docs/write_plugins.html if you want to hack GORM.


Changing a theme at runtime requires the use of XAML/C# styles, and is not possible using CSS.

Type of issue
Missing information
Description
There's a slight misinformation on this page.

Changing a theme at runtime requires the use of XAML styles, and is not possible using CSS.

Changing a theme at runtime requires the use of XAML/C# style definition, and is not possible using CSS.
C# is not mentioned. This info is necessary for those migrating from non-XAML frameworks.
Page URL
https://learn.microsoft.com/en-us/dotnet/maui/user-interface/theming?view=net-maui-8.0
Content source URL
https://github.com/dotnet/docs-maui/blob/main/docs/user-interface/theming.md
Document Version Independent Id
04d29bb3-0ea9-e42a-d6d2-cf338baca362
Article author
@davidbritch
Metadata

ID: 04d29bb3-0ea9-e42a-d6d2-cf338baca362
Service: dotnet-mobile
Sub-service: dotnet-maui

#2515


[WIP] Completion Block for CollectionView and TableView DiffableDatasources

Checklist

[ ] All tests are passed.
[ ] Added tests.
[ ] Documented the code using Xcode markup.
[x] Searched existing pull requests for ensure not duplicated.

Description
This library provides a back port to UITableViewDiffableDataSource, UICollectionViewDiffableDataSource, and NSCollectionViewDiffableDataSource and tries to stay as close to the API as possible.
However, one part of the API is missing for UICollectionView and UITableView that does not exist for NSCollectionView which is the Completio block of applying the difference.
UIKIt: apply(_:animatingDifferences:completion:)
AppKit: applySnapshot:animatingDifferences:
However, to achieve this we would need to change the internals of DifferenceKit on the reload method to accept a completion block and call it once it is done applying the difference.
Motivation and Context
By providing a completion on apply method, the API will be exactly as Apple's APIs.
Impact on Existing Code
As Apple's API completion block is optional, the function parameter could default to nil and this will not effect the client code and will not cause any breaking changes.

As discussed with @ra1028 on the following PR adding completion block on DifferenceKit is not an option marking this PR as irrelevant.

@serjooo
Thanks for your PR.
I don't prefer adding a completion block to DIfferenceKit, but I think possible it in DiffableDataSources because it's closer to the UI layer.
I'll try to implement completion block with CATransaction to be exactly as official DiffableDataSource API.


Flic2 support

There is a new release of the fliclib-linux-hci lib with Flic2 support.
See https://github.com/50ButtonsEach/fliclib-linux-hci/commits/master.

Huh, I thought they claimed flic 2 would use an "all new" "open" protocol...

They have new SDKs for the flic2 but only for android and ios.
I couldn't find a specification of the protocol itself.
But I thought it makes more sense to update this addon rather than creating a new add-on for the flic2.

f2438f4db05dfb4f4f6341aac21eccc8561370e5
I'm waiting on mine to arrive to test.

By the way, they did document the protocol here: https://github.com/50ButtonsEach/flic2-documentation/wiki/Flic-2-Protocol-Specification
However, I assume it only applies to the Flic 2, so it makes sense to just stick with the binary approach this adapter uses.

Thank you for flic2 support!
Do you know when this version is available on Mozilla WebThings gateway >> add-ons >>new addon?
Right now I see the flic button add-on but, its a version behind this one ( showing 0.2.0). Thanks for the information!

I someone (you, @tim-hellhake, @freaktechnik) wants to test this and see if it works, that'd be great. Otherwise, I need to wait for my button to arrive from Sweden sometime in the next couple weeks.

I can test it but I guess i have to use a custom build of the gateway with the new service binary?

Not the gateway, just the add-on. The binary is in the add-on.


HBASE-27002 Config BucketCache as victim handler of LRUCache

HBase JIRA: HBASE-27002

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 35s
Docker mode activated.


Is it possible to use this library with ES6 modules?

React is already imported via import. As are members of react-bootstrap.  But when I try to extend those (React.Bootstrap and React.Bootstrap.Select) everything blows us.

+1

+1

+1

+1

+1 on this one


java.lang.NegativeArraySizeException on AsyncProfiler.dumpCollapsed

I have got this exception in my dockered java instance
"java.lang.NegativeArraySizeException: -2093828439\
\	at one.profiler.AsyncProfiler.execute0(Native Method)\
...

on AsyncProfiler.dumpCollapsed(SAMPLES)
Java:
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-39)
OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)
AsyncProfiler version 2.5
Cannot reproduce it though.

Does that make sense to catch this exception and rethrow it with a message like:
"Not enough memory for dump profiling results. Please use 'file=somefile.txt' option" ?

Oh.. that makes sense, thank you :)

Does that make sense to catch this exception and rethrow it with a message like:

Well, if the profiler could do that - it would  for sure simplify troubleshooting for those who hit it in the future! :)

Does that make sense to catch this exception and rethrow it with a message like:

This is mostly question of usability (not some rocket since).

Fixed. Now profiler will throw a more meaningful exception if the output is too big.


Fix redirect URLs to be based on deployment url.

Current deployments have hardcoded localhost for oauth redirect URLs.

686d906 should fix this.

It would seem vercel ENV can be the preview url instead of the production or develpoment urls. For this reason, i hardcoded support for the production adn development servers.
a0b71da


Agent recognize only greet intent

Rasa Core version: 0.13.3
Python version: 3.6.0
Operating system (windows, osx, ...): windows 10
Issue: Hi, i have a issue with stories interaction. Agent recognize only greet intent. Why? I attached source code of project.
Thank you
train_model.zip

Please ask these kind of questions in our forum


Appstore "Shared key mismatch" exception handling

With this small change, now you'll be able to validate your auto-renewing subscription with using your ios app's shared key.
here you can find out how to obtain your app's shared key:
https://stackoverflow.com/questions/5022296/generate-shared-secret-key-in-itunes-connect-for-in-app-purchase#comment26097056_5022296

Thanks for this. Will prepare the pypi release as soon as I get back from the vacation.


fix: Preserve form content when clicking the 'back' button

Closes #19

So, I am not sure this fixes it because:
1 - The URL <50 genes is shareable
2 - Clicking on the analysis buttons reloads the page
So it is not always the case that the button behaves the same as the back button.

I tested it here, it is exactly the case. It works smoothly when it is the result of clicking "submit", but in the other cases it fails.

So, I am not sure this fixes it because: 1 - The URL <50 genes is shareable 2 - Clicking on the analysis buttons reloads the page
So it is not always the case that the button behaves the same as the back button.

So I wasn't aware of that, cool!
Ok, that should be an easy fix.

It's definitely not the best solution, but this is an easy enough work around that keeps the old functionality while still preserving form content in some scenarios:

If the user comes from the "submit" page, go back to it and preserve form content.
In any other case (coming from URL sharing, different analysis type, etc), go to the home page without preserving form content, since this is how it currently works.

I've done this in 7abe69d.
Injecting the content back into the form if the user didn't come from the form is a bit too complicated for me atm, sorry.


[Story] Add public ALB in front of the preview instance

What projects is this story for?
OpenChallenges
As a user, I want
No response
Description
Enable a user to send requests to the preview instance. Adding a public ALB in front of the preview instance should be the way to go.
Acceptance criteria

A request sent to the public IP of the ALB returns a response from the preview instance

Tasks

[ ] Run a dummy HTTP server on the preview instance so that the instance can respond to requests
[ ] Add an ALB in front of the preview instance

Anything else?
No response
Have you linked this story to a GitHub Project?

[X] I have linked this story to a GitHub Project and set its metadata.

Duplicate of #1589


Revert "replace MG internal names MOSI and POSI with official names"

Reverts MeteoGroup/weather-api#12

Can you please elaborate why you reverted a correct fix to the documentation?
And why you violated the review principle here? Commit, Pull request and merging all by the same person?
Not to mention, that your Github profile does not comply with our policies (Clear name and recognisable image)

Pull request was merged without our knowledge (Weather API team) by person which does not belongs to the team.
Pull request's changes was not checked and approved by us (Weather API team members and product owner) but was merged to MASTER branch.

Regarding violation of review principles - I am sorry that I did it in this way. Sometimes you have to react fast...and this was that situation.
This time it was documentation changes, next time it can be new algorithm which is not tested but merged to master by person from outside of team responsible for repository. I think this is a way bigger violation then my commit, pull, merge shortcut.
Regarding documentation improvement - together with product owner we will review documentation and apply required changes.

Understood. I think you completely missed the point how I prefer conscious development at MeteoGroup among skilled and responsible developers works. Especially how community driven improvement works.
Good luck, Jan


Metron high cpu load

Hi, I'm testing release 259 - The metron agent is consuming a lot of cpu - it is slowing down all. For deploying I am using: https://github.com/cloudfoundry/bosh-deployment with the default configuration.
Someone else with these problems?
Maybe I am adding this to the wrong repo?? ...
Thanks a lot
Alex

@deltatree Are you on a bosh-lite? Do you have v2 API enabled for metron? The property is  loggregator.use_v2_api https://github.com/cloudfoundry/diego-release/blob/fe795cfa4b9daa2bbd7b6b68df8dccb187338314/jobs/rep/spec#L77.
You can likely set this to false to mitigate the issue. Before you do that however would you mind providing us with a cpu profile? Here are the steps to get a profile:

ssh on to the offending instance.
sudo -1
Find the pprof port: lsof -c metron | grep TCP | grep LISTEN | grep -v 3457 | grep -v 3458 | grep -v 9090 | grep -v 8080 That should list the port pprof is listening on.
Get a cpu profile: curl http://localhost:41117/debug/pprof/profile?debug=1 > profile.out
Once you have that file you can send it to us on slack #loggregator

Yes I am on bosh-lite. Loggregator was on default - I changed it but there is no improvement.
I've attached the cpu profile from one instance:
profile.zip
All instances have the same behaviour.
Thanks a lot
Alex

@deltatree - I am surprised switching off the v2 flag didn't resolve this. There is a known CPU issue with v2 that we are working to correct. That said we don't see anything obvious in the profile. When you see this again can you please contact us in #loggregator so we can help troubleshoot.

@ahevenor - Hi, how can I login to slack? The only channel I currently have is this here...
What do you mean with again? It is all the time - have a look:

We introduced an improvement which batches messages inbound to metron that should help with CPU Utilization. This was released in Loggregator 89 and is expected to be included in CF 263 (currently in release election process). I am not sure this address the scenario @deltatree is seeing but it improves CPU utilization in our tests.

Hi all. Any updates on this? @deltatree, let us know if the loggregator updates have helped with this.

I'm going to close this issue due to inactivity, but feel free to re-open the issue if you need more help.

Hi, sorry for commenting so late: I was on holiday.
I tried with current versions, but with the default setup I'm getting a very high load ... if I look into the vms: metron is consuming all of the cpu...

bosh2 -e vbox releases
Using environment '<IP_ADDRESS>' as client 'admin'
Name                     Version   Commit Hash
binary-buildpack         1.0.13*   0bde2c77+
capi                     1.30.0*   f930be1a
cf-mysql                 35        4947ee5
cf-networking            1.0.0     560e00f
cf-smoke-tests           26*       a2b4d73
cflinuxfs2               1.130.0*  4f8bf79d+
consul                   170*      06fd84c
datadog-firehose-nozzle  59        5bd8b794+
diego                    1.18.1*   58757374
dotnet-core-buildpack    1.0.19*   cd3bbb05+
etcd                     112*      c97b2c3
garden-runc              1.8.0*    16f64c91
garden-windows           0.4.0     942bd2a6
go-buildpack             1.8.4*    c29b5300+
grootfs                  0.19.0    53831be
hwc-buildpack            2.3.4     cdb29cf7+
java-buildpack           3.17*     298f4bd5+
loggregator              89*       e5611f8
nats                     17*       faf1d99e+
nodejs-buildpack         1.5.36*   ecd44abe+
php-buildpack            4.3.34*   c834c1cc+
postgres                 17        b21260ee+
~                        16*       e3cfa2b2+
python-buildpack         1.5.19*   6e5bc32a+
routing                  0.157.0*  114fe5e9
ruby-buildpack           1.6.40*   060529d1+
staticfile-buildpack     1.4.6*    e5ea4334+
statsd-injector          1.0.28*   4c0ffe4
uaa                      41*       83b20714
(*) Currently deployed
(+) Uncommitted changes
29 releases

Ok, if you're still seeing this issue, then maybe @ahevenor (cc @jasonkeene) can help out.
Like Adam said, you can also ask for help in the #loggregator channel of the Cloud Foundry slack.
Cloud Foundry slack: https://cloudfoundry.slack.com/
#loggregator channel: https://cloudfoundry.slack.com/messages/C02HCCXV5/

We've observed this issue recently on our end as well, and hypothesized that the high CPU usage across VMs was being exacerbated by the ordering of the deployment. By moving doppler to deploy immediately after etcd, each job with a metron component should be able to successfully establish a connection to it that much sooner, and consume fewer resources by repeatedly failing. We tested this and found improvement, so we've opened PR 165 on cloudfoundry/cf-deployment.

@markikollasch @apoydence If this were the case wouldn't htop @deltatree posted eventually go down after a deploy?

Just a holler that we just saw this too.


Wechaty文档Case Study: Money BOT图片错误

https://wechaty.js.org/docs/case-study/money-bot/

中文版图片加载失败

英文版Markdown未正确解析成html

Thanks for the reporting.
We'd like to accept a PR to fix it.


[SPARK-27687][SS] Rename Kafka consumer cache capacity conf and document caching

What changes were proposed in this pull request?
Kafka related Spark parameters has to start with spark.kafka. and not with spark.sql.. Because of this I've renamed spark.sql.kafkaConsumerCache.capacity.
Since Kafka consumer caching is not documented I've added this also.
How was this patch tested?
Existing + added unit test.
cd docs
SKIP_API=1 jekyll build

and manual webpage check.

Test build #105348 has started for PR 24590 at commit f43ee4e.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

cc @srowen

Test build #105348 has finished for PR 24590 at commit f43ee4e.

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

Merged build finished. Test PASSed.

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

Test build #105375 has started for PR 24590 at commit 38bc96d.

Test build #105375 has finished for PR 24590 at commit 38bc96d.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #105377 has started for PR 24590 at commit 38bc96d.

Test build #105377 has finished for PR 24590 at commit 38bc96d.

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

Merged build finished. Test PASSed.

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

@gaborgsomogyi @SparkQA , can anyone help me whats wrong here https://stackoverflow.com/questions/58456939/how-to-set-spark-consumer-cache-to-fix-kafkaconsumer-cache-hitting-max-capaci

@BdLearnerr I've answered but next time please use the mailing list.


Include stddef.h for size_t (include what you use)

Depending on your favorite include order, size_t will not be defined in linenoise.h. Impact of this change should be minimal, since we'll end up including stddef.h eventually anyways :)

One year this PR is open for one-line diff and still not merged. I've stambled into this issue as well. I think this library is abandoned.

Merged https://github.com/rain-1/linenoise/commit/ee6128ae035c023bbe29df6b1e76bae07ba8fb12
thank you for the contribution


Seller Object Query

Can I query the Keepa Seller Object using this python package? If so, what is the format for the query? I don't see any documentation for this.
Thanks.

Also looking at this to use a request for a list of ASINS for a select Seller ID - any plans to update the Docs?

Sorry, been busy with my day job.  This being an open-source project, it's sometimes tough to find time to maintain this as it's now orthogonal to my current work and I'm not being paid to support his at the moment.

Docs are available for this at https://keepaapi.readthedocs.io/en/latest/api_methods.html, search for seller_query.
However, the force refresh for the method doesn't work.
example:
api.seller_query('A12G...', 'GB', storefront=True, update=0)
This isn't running an update on the storefront, it's just showing what keepa has stored in it database

Could you try update=30?

I don't think update works how its supposed too so I've contacted keepa. It's not this library.
I've been testing it and seem to get the update as slow as an hour later. I kept making the same request until i got updated results. Then the 'last updated' time said the time of my first request. So definitely a problem with keepa, not with this library.
Also, I tried with a direct get request without this library and it was the same.


refactor cli arg parsing

Uses lihaoyi/mainargs to parse CLI args in stead of ad-hoc logic. Arguments are no longer positional and all require flags. This is my preference for clarity and simplicity, but isn't compatible with the previous format.
BASIL
  -a --adt <str>     BAP ADT file name.
  -r --relf <str>    Output of 'readelf -s -r -W'.
  -s --spec <str>    BASIL specification file.
  -o --output <str>  Boogie output destination file.
  -v --verbose       Show extra debugging logs.
  --analyse          Run static analysis pass.
  --interpret        Run BASIL IL interpreter.
  -h --help          Show this help message.

This is good to have, but you need to update the tests for this too.
This also seems to make sbt exit entirely if you input incorrect arguments, which does not seem desirable and should be fixed.

Good catch, thanks, those should be fixed now


Added "Tools for Apache Kafka" a.k.a vscode-kafka

Thx Fred, nice addition! We'll take care of adding it to the image.


Changed translation for single player

Single Player translated into German should be Einzelspieler.
For the German word the hyphenation would be obsolete https://www.duden.de/rechtschreibung/Einzelspieler
"Ein Spieler" was more like a word to word translation. (Translated back: One player)
Could fit too, but I am not sure if this was intended for the original "single player".

Found the crowdin project and fixed it there too.

Great thx
Merged in PR #165
@all-contributors please add @Stimmenhotel  for translation


Tighten proc and caps in apparmor policy

Adds denies for various paths underneath /proc,
restricts capabilities. Following this patch,
adding capabilities beyond the default set will
not be possible without also specifying an alternative
AppArmor profile.
Signed-off-by: Eric Windisch<EMAIL_ADDRESS>

May need more granular settings for /sys...


RFC: add misc emu for twister

This PR adds a misc emulator type to twister. Much like the misc-flasher for west flash, it allows any proprietary simulators that can't be upstreamed to be implemented with ease in a custom board.
The first commit is the misc emulator itself, basically introducing misc to twister & the schema, and adds an empty misc.cmake to make the CMake happy and commented to show how it can be used. Normally a custom cmake run target is defined in these <emu>.cmake files, here we just leave it as empty so that it can be implemented in a custom board's board.cmake.
The second commit is an example of how this misc emu works - it basically sleeps for 5s and use cat to print something (Hello World!) to the stdout, then sleep for 10 minutes, but it should be killed immediately once twister reads something interesting, which is 5s+ for the hello_world example, much less than the 10 minutes.
cd $ZEPHYR_BASE
scripts/twister -i -p adp_xc7k_ae350 -s samples/hello_world/sample.basic.helloworld

twister.log:
2023-06-20 16:49:22,280 - twister - INFO - Using Ninja..
2023-06-20 16:49:22,366 - twister - INFO - Zephyr version: zephyr-v3.4.0-171-g0ba587dcd0b8
2023-06-20 16:49:22,402 - twister - DEBUG - Running cmake script /Users/ycsin/zephyrproject/zephyr/cmake/verify-toolchain.cmake
2023-06-20 16:49:22,402 - twister - DEBUG - Calling cmake: /Users/ycsin/homebrew/bin/cmake -DFORMAT=json -P /Users/ycsin/zephyrproject/zephyr/cmake/verify-toolchain.cmake
2023-06-20 16:49:23,166 - twister - DEBUG - Finished running  /Users/ycsin/zephyrproject/zephyr/cmake/verify-toolchain.cmake
2023-06-20 16:49:23,167 - twister - INFO - Using 'zephyr' toolchain.
2023-06-20 16:49:23,275 - twister - DEBUG - Reading test case configuration files under /Users/ycsin/zephyrproject/zephyr/tests...
...
2023-06-20 16:49:43,693 - twister - DEBUG - Found possible testsuite in /Users/ycsin/zephyrproject/zephyr/samples/kernel/condition_variables/condvar
2023-06-20 16:49:43,704 - twister - DEBUG - No duplicates found.
2023-06-20 16:49:43,708 - twister - DEBUG - Reading platform configuration files under /Users/ycsin/zephyrproject/zephyr/boards...
...
2023-06-20 16:49:44,316 - twister - DEBUG - adding qemu_nios2 to default platforms
2023-06-20 16:49:44,317 - twister - DEBUG - Reading platform configuration files under /Users/ycsin/zephyrproject/zephyr/scripts/pylib/twister/boards...
2023-06-20 16:49:44,319 - twister - DEBUG - adding unit_testing to default platforms
2023-06-20 16:49:44,319 - twister - DEBUG - platform filter: ['adp_xc7k_ae350']
2023-06-20 16:49:44,319 - twister - DEBUG -     arch_filter: None
2023-06-20 16:49:44,319 - twister - DEBUG -      tag_filter: None
2023-06-20 16:49:44,319 - twister - DEBUG -     exclude_tag: None
2023-06-20 16:49:44,319 - twister - INFO - Building initial testsuite list...
2023-06-20 16:49:44,322 - twister - INFO - Writing JSON report /Users/ycsin/zephyrproject/zephyr/twister-out/testplan.json
2023-06-20 16:49:44,869 - twister - INFO - Adding tasks to the queue...
2023-06-20 16:49:44,869 - twister - DEBUG - adding adp_xc7k_ae350/samples/hello_world/sample.basic.helloworld
2023-06-20 16:49:44,869 - twister - INFO - Added initial list of jobs to queue
2023-06-20 16:49:44,869 - twister - DEBUG - Launch process 0
...
2023-06-20 16:50:00,161 - twister - INFO - 1 test scenarios (1 test instances) selected, 0 configurations skipped (0 by static filter, 0 at runtime).
2023-06-20 16:50:00,161 - twister - INFO - 1 of 1 test configurations passed (100.00%), 0 failed, 0 errored, 0 skipped with 0 warnings in 37.88 seconds
2023-06-20 16:50:00,161 - twister - INFO - In total 1 test cases were executed, 0 skipped on 1 out of total 574 platforms (0.17%)
2023-06-20 16:50:00,161 - twister - INFO - 1 test configurations executed on platforms, 0 test configurations were only built.
2023-06-20 16:50:00,161 - twister - INFO - Saving reports...
2023-06-20 16:50:00,161 - twister - INFO - Writing JSON report /Users/ycsin/zephyrproject/zephyr/twister-out/twister.json
2023-06-20 16:50:00,162 - twister - INFO - Writing xunit report /Users/ycsin/zephyrproject/zephyr/twister-out/twister.xml...
2023-06-20 16:50:00,165 - twister - INFO - Writing xunit report /Users/ycsin/zephyrproject/zephyr/twister-out/twister_report.xml...
2023-06-20 16:50:00,165 - twister - INFO - Run completed

twister.json:
{
    "environment":{
        "os":"posix",
        "zephyr_version":"zephyr-v3.4.0-171-g0ba587dcd0b8",
        "toolchain":"zephyr",
        "commit_date":"2023-06-20T16:48:57+08:00",
        "run_date":"2023-06-20T08:49:23+00:00"
    },
    "testsuites":[
        {
            "name":"samples/hello_world/sample.basic.helloworld",
            "arch":"riscv32",
            "platform":"adp_xc7k_ae350",
            "run_id":"e87916cdaee3bea6672d5d74ad51c543",
            "runnable":true,
            "retries":0,
            "status":"passed",
            "execution_time":"7.68",
            "testcases":[
                {
                    "identifier":"sample.basic.helloworld",
                    "execution_time":"7.68",
                    "status":"passed"
                }
            ]
        }
    ]
}

handler.log:
[0/1] cd /Users/ycsin/zephyrproject/zephyr/twister-out/adp_xc7k_ae350/samples/hello_world/sample.basic.helloworld && sleep 5 && cat /Users/ycsin/zephyrproject/zephyr/twister-out/adp_xc7k_ae350/samples/hello_world/sample.basic.helloworld/tmp/script && sleep 600
Hello World! adp_xc7k_ae350

Unassigned myself because this PR is more build system related than RISC-V related.

Updated reviewers based on maintainers & codeowners - remove some of the previous reviewers were probably auto included by riscv related files, but please feel free to review

Interesting idea. I guess it can be useful. What do you think about adding misc to https://github.com/zephyrproject-rtos/zephyr/blob/main/scripts/pylib/twister/twisterlib/testinstance.py#L211 ? With it twister will first check if a given exec is recognized by an OS and if not, a test won't execute.

Sounds like a good idea!

@nashif your thoughts on this would be appreciated!

@nashif can you take a look please?


Added the pretty brackets feature for "()", "[]" & "||"

#32
Whenever a bracket is inserted, a corresponding invisible bracket is inserted at either end of the expression or the current block. Seeking left and seeking right are updated accordingly, making the cursor always stay in between the invisible brackets. Backspace deletion is also managed, making the invisible bracket delete whenever it's pairing bracket is deleted.

Hi @jatin-47, thanks for the patch 👍🏻
It mostly looks good, however one problem I noticed was the final generated LaTeX contains the invisible brackets (\left. and \right.) as well. If users nest brackets, the invisible brackets as duplicated as well.
While invisible brackets are necessary when we want to show users a preview of the equation, the correct behavior would be to only include the invisible brackets in the final generated LaTeX when we have a mismatch of opening and closing brackets.
One way to solve this could be to detect the mismatch just before the LaTeX is generated and add/remove invisible brackets as necessary, but that would add considerable complexity to the generation process.
I just thought of a better approach (IMO) - what if we include all brackets ({ }, [ ], ( ), < >) as functions in the Functions tab of the editor? Then whenever a user clicks on a bracket, the corresponding bracket pair will be inserted, without us needing to insert invisible brackets.
We could create a BracketOneBlockComponent extends OneBlockComponent class that looks something like this -
class BracketOneBlockComponent extends OneBlockComponent {
    constructor(parent, startBracket, endBracket) {
        super(parent);
        this.startBracket = startBracket;
        this.endBracket = endBracket;
    }

    toLatex() {
        return `\\left${this.startBracket} ${this.blocks[0].toLatex()} \\right${this.endBracket}`;
    }
}

Then provide this class in the Functions tab like how it is done from lines 178 to 196 in the MJXGUI constructor.
I hope I could explain my thinking.

I thought of this method before implementing the present solution, but I discarded it because it spoils the User Experience as the brackets are present on the keyboard, and then also, if the user has to click them on the screen, it becomes annoying. 😅
IMO, giving it as a function can be the easiest way around, but doing it on our side will make it a good UX for users.
Possible fixes:

Doing the post-processing of the final LaTeX to remove the invisible brackets from the main expression and all the blocks. (Easy)
Changing the insertion and deletion algorithms a bit. (Medium)

Please give suggestions.

IMO it would be best to just implement the brackets as functions, since even Google Docs and Microsoft Word do it that way. While it would be best UX-wise to handle the brackets using the keyboard, but the insertion and deletion algorithms would be too complex for it to be worth it (as far as I can tell).
However, if you can come up with an algorithm that gives the correct behavior (without the invisible brackets) in all cases, then that would be fine too. So I would say you can try using the second approach (changing the insertion and deletion algorithms), but if it seems too complex, then we should go with the function-based approach. I would be opposed to the first approach (postprocessing) since that would make the code bulkier and harder to maintain in the future.

Instead of comparing with Google Docs or MS Word, we should compare with Desmos Graphing Calculator's UI for inserting equations because I find it best as per the UX is concerned.
The first approach is also not that bad because the time complexity of post processing is at max O(10^4) [as per my assumptions of max 200 expression length and block length in each component and taking 4 blocked components on average].
The second approach can be implemented.
So, for now I will update the branch with the second approach.

I agree with your point about desmos. I think if we can implement that behavior correctly we should go for it 👍🏻

Please have a look. @hrushikeshrv

Hi @jatin-47, sorry for the delay. I'm a little buried in work this week, so I will need some time to review this, but I'll do it this week.

Please have a look.

@hrushikeshrv is this project still gonna participate in Hacktoberfest or is it abandoned?

Hi @jatin-47, I don't think this project will be part of Hacktoberfest. I will still be maintaining it, but I'm afraid I don't have enough time in the month of October to be reviewing pull requests by contributors.
I appreciate your contribution! If you're okay with some delay while I review your PR's, please do keep contributing. However, if you want to take part in Hacktoberfest, I'm afraid I won't be able to review your PR's fast enough.


Last Week in Pony - Aug 7th, 2022

News goes here!

Audio from the August 2nd, 2022 Pony development sync is available:
https://sync-recordings.ponylang.io/r/2022_08_02.m4a

Well be posted Tuesday morning. Laptop PSU have up the ghost. 10am for WorstBuy to open to buy another.


Lock billboards horizontally

Something that I've been looking to do is to lock sprites to a horizontal axis.
At the moment, if the camera gets above or below the sprite they'll lean to accommodate this.
This is fine for floating camera type games but doesn't look believable for some sprites, such as trees or fences, as well as first-person or virtual reality titles.
Is it possible to lock individual axis, so that this can be prevented?

I took a quick look and it depends on the method used for billboarding.

When using the method outlined in this article (https://www.noveltech.dev/unity-lit-billboard-shadergraph/), it's trivial to implement.
You can add a Vector3 property frozenAxis to your shadergraph, multiply object position by this vector3
Then do one minus frozenAxis, multiply the billboard position by it.
Finally add the two together for your position and feed it to the output node and you're done (basically lerping between basic and billboarded position).

The method outlined in the article also allows lit billboards so it's pretty nice, but it has the unfortunate side effect of reversing UVs so you need to handle it in your shadergraph.

The method for billboarding in the implementation in the repo differs from the one I mentionned in the previous comment since it seems to more or less disregard the Y-axis. Instead rotation seems to be purely driven by x and z vertex position so you can't use the previous trick.
I'll try to find a solution and upload cleaned and up-to-date versions for the shaders.

For billboarding with locked y like the following script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//Thank you! https://youtu.be/_LRZcmX_xw0
public class Billboard_Sprite : MonoBehaviour
{
private Camera theCam;
public bool useStaticBillboard; //This here prevents the twisting of the trees

// Start is called before the first frame update
void Start()
{
    theCam = Camera.main;
}

// Update is called once per frame
void LateUpdate()
{
    //transform.LookAt(theCam.transform); ((This here causes the trees to twist))

    if (!useStaticBillboard)
    {
        transform.LookAt(theCam.transform);
    } else
    {
        transform.rotation = theCam.transform.rotation;
    }

    transform.rotation = Quaternion.Euler(0f, transform.rotation.eulerAngles.y, 0f);
}

}


Enemy Commander

WIP Backlog Task, not completely worked out
Short Summary
As enemy I want to be capable of issuing strategical decisions and actions, so that I'm able to provide the players an immersive campaign.
Description
Many of these earlier written thoughts will be in our planning and considered individually:
https://github.com/KillahPotatoes/KP-Liberation/issues/329#issuecomment-362052191
Basically the enemy needs at first some values concerning his strength, aggressiveness/awareness.
First one is to determine how many soldiers/materiel he's able to throw against the players.
The second one would be how much he sees a threat in the players action, so it'll grow during the campaign.
The sector garrisons are currently provide a very basic "enemy" for the players as a local or tactical threat. For the strategical aspect the enemy should also, depending on the players progress in certain areas, try to reinforce these sectors with additional manpower for their garrison. This by moving vehicles/soldiers from one sector to another or by reinforcing them from his military bases (which could be considered as enemy forces spawn points). All of this maybe (if the AI would be really reliable enough concerning driving skills) as real driving convoys, so that players can have opportunities to intercept them, etc. It should provide many possibilities for a much deeper experience in the future.
And of course the enemy commander should evaluate possibilities for sensible counter attacks to recapture sectors or destroy player FOBs to weaken their presence in areas of the map.
Currently it's just a rough concept we've to work out in more detail. In general it should provide a sensible and credible behavior of the enemy AI forces, to make the campaign feel like as immersive as possible.
Sub-Tasks

[ ] Implement sensible values for the enemy capabilities
[ ] Reinforcements of sector garrisons from other sectors or fresh from enemy military bases
[ ] Counter attacks on player sectors/FOBs
[ ] etc.

I find your idea already very interesting and I am curious how you will realize that.
Personally, I've been toying with the idea whether it wouldn't be interesting and useful to include a small PVP aspect.
I got stuck with interesting, sure for one or the other but probably not for all, that it is or will be meaningful I doubt rather, because it is already a big intervention in the normal game wise of Liberation.
But to add it as an optional feature if you encounter an advocate I think it shouldn't hurt and you will see who uses it and who doesn't.
The idea behind it was to have a Opfor commander ( Restrict Zeus and smaller build menu than the Bluefors ) and maybe 4 to 6 playable units with a whitelist and then selected players on the Opfor side can support and disturb the advance of the Bluefor players or push them back.

I think having a small player group on the enemy side in the same way that Antistasi does it could be interesting, but I'm not sure how many possibilities should be included.
But it would certainly be interesting to have the enemy group be able to actually place the FOB's (which could then be used for the secondary objectives) and other similar features.

so i haven't played antistasi yet. but i think we're talking about the same possibilities in my idea, it's really just that you can interfere with the progress of the bluefor players or even push them back.
Because if we are honest the ki is straw stupid in many cases they often react very late or not at all so that the player goes partially upright to the AO and switches off the opponent quite comfortably without this also only reacts, therefore also the proposal with a commander ( zeus ) to bring the enemy side there then directly intervene and support can but not necessarily needed. so i wouldn't use this variant as the main component so that e.g. the FOBs were built by them and created then the site mission or the AI without their commander does not do anything anymore because that would then it would be no more liberation. what would surely be more interesting, i think, would be the possibility to regain sectors and perhaps still fasten or strengthen them. and all that optional and no must so that it is not forced to use this and you can adapt to your server community easily and quickly.

If there must be players on the OPFOR team, then I believe they should only be able to spawn into the battle by taking control of an AI that's currently deployed in a sector or reinforcement wave.
These players would have to be severely limited. OPFOR has a massive advantage already because of their huge numbers and constant stream of reinforcements on the later difficulties. The AI can sometimes be exceptionally proactive, taking several sectors at a time if unchallenged. Besides this, Arsenal should be an automatic no-go, and they should only be able to take vehicles by hijacking them from OPFOR AI in a sector.
Such a system would be highly controversial. Fighting against swarms of enemies is something Liberation does better than any mission in Arma. To sacrifice that just so a few players could drive a tank out of the AO, wait for a battle to start, and then come up behind the players and blast them away, or hijack an artillery piece and simply turn them to meat paste, would be far from popular. We would need special blacklists just for what vehicles OPFOR players are allowed to commandeer. A whole new framework would have to be built on top of Liberation to make this work fairly.
In the meantime, you could just install Achilles locally on a Zeus player, have him convert a few players to OPFOR, and drop them down in enemy sectors when it's time to defend them. And this might just work out better, for 60 seconds of Zeus work, than what might be 100 hours or more of work for the developers.


debug.stack decorator is broken

To reproduce
#[test]
fn test_debug_stack() {
    const KERNEL: &str = r#"
        export.foo
            add
        end"#;

    let assembler = Assembler::default()
        .with_kernel(KERNEL)
        .unwrap()
        .with_debug_mode(true);

    let program = "
        begin
            debug.stack
        end
    ";

    assembler.compile(program).unwrap();
}

This gives the error internal error: entered unreachable code: decorators in an empty SPAN block.

This is basically the same as #1122 - so, closing it.


checkout works on local but dose not work on server

When I run the website on my local machine checkout works. But when I run on the server it shows ':( Something went wrong.' does anyone know how to fix the issue?

same here

@jekabso21 did you managed to solve that problem?

ok, I managed to solve that problem.
just raplace this
import PhoneInput from 'react-phone-input-2';
to this
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import RPI from "react-phone-input-2";
const PhoneInput = RPI.default ? RPI.default : RPI;

@jekabso21 did you managed to solve that problem?

@jgudo No I needed to find the way how to fix that in 24h so at the end I hosted server where I placed on server and set self certified https. Because it dose not work if it is not on https and the website needs premissions to use camera. And the only way to get premmisions to use camera is with https.

Wadguk's solution above works well for this issue


Text/RichEditBox: Fix binding issue with foreground

Description

Adds missing binding.
Motivation and Context

Closes #4470
How Has This Been Tested?

Tested manually.
Screenshots (if appropriate):

@codendone is this change appropriate for RichTextBox?

@chingucoding does textblock have the same issue?

/azp run

@StephenLPeters TextBlock does not suffer from this bug.

I don't understand why this fix was needed. The Foreground property inherits, so as long as an intermediate element isn't overriding the Foreground to a value which this element wants to ignore, this should be the same result.
What was the broken scenario?

I don't understand why this fix was needed. The Foreground property inherits, so as long as an intermediate element isn't overriding the Foreground to a value which this element wants to ignore, this should be the same result.
What was the broken scenario?

@codendone you can see the issue here: https://github.com/microsoft/microsoft-ui-xaml/issues/4470  The visual state manager sets the foreground property on in the PointerOver state but when we enter the Normal state we don't revert to the same foreground color.  Looking at the tempalte, I can't explain why that is the case... it looks like it should return the foreground property to the default value (null?) which should then receive the propogated value from the parent.  Maybe the foreground property propogation doesn't work with VSM returning the value to null?


move static cluster setup logic into Server/Cluster

Overview
move static cluster setup logic into Server/Cluster
Related to #1203
Pull request checklist

[ ] I have read the contributing guide.
[ ] I have agreed to the Contributor License Agreement.
[ ] I have updated the documentation.
[ ] I have resolved any merge conflicts.
[ ] I have included tests that cover my changes.
[ ] All new and existing tests pass.

Code review checklist
This is the checklist that the reviewer will follow while reviewing your pull request. You do not need to do anything with this checklist, but be aware of what the reviewer will be looking for.

[ ] Ensure that any changes to external docs have been included in this pull request.
[ ] If the changes require that minor/major versions need to be updated, tag the PR appropriately.
[ ] Ensure the new code is properly commented and follows Idiomatic Go.
[ ] Check that tests have been written and that they cover the new functionality.
[ ] Run tests and ensure they pass.
[ ] Build and run the code, performing any applicable integration testing.

woops sorry, there is actually a failing test


Clicking outside a modal window should terminate the model, and that'…

…s it - the click itself should have no effect. This is currently other windowing systems' default behavior. Fixes #12451

We already had #13351 to fix this issue, though it's not merged yet. I'll let you see with @poke1024 and @reduz which approach is the best solution :)

Fixed by #13351.


Slow Image Launch then Failure

Ridiculously slow image download leading to failure from within an EC2 10 Gigabit network.
+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+
ubuntu@chaos:~$ lxc launch ubuntu:18.04 test
Creating test
Retrieving image: rootfs: 40% (75.67kB/s)
Followed by:
+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+
ubuntu@chaos:~$ lxc launch ubuntu:18.04 test
Creating test
Error: Remote operation canceled by user
What's up with the 1980's network speed and ultimately a failure?
I tested my network and it's fine, LXD currently unusable because of this issue.

Can you try downloading something else from https://cloud-images.ubuntu.com through wget/curl to check?
I suspect it's a bad route or some issue with the cloud-images server rather than something we can do much about on our side.

I tried wget from https://cloud-images.ubuntu.com/ a few times, getting a consistent 1.24MB/s from there, haven't had the need to launch from the ubuntu repository again but lxc copy from my other remote LXD servers is fine.
Thanks for the reply, closing it.


Increased visibility for "add to cart" action and items in cart

When items are added to the cart the counter above the cart link in the header increments. Some users do not see this change.
I suggest that we add an animation for the counter such that it looks to be "growing" or "pop" with an accent color.

Resolved - closing.


"Rules may not be recursive" error

While attempting to build GHC e515c7f37be97e1c2ccc497ddd0a730e63ddfa82 with Hadrian c6d7b2a33e6ff987e7112c57555425c285c380e9 I encountered the following error,
$ hadrian/build.cabal.sh -j
Up to date
/-------------------------------------------------------\
| Run Configure "." (stage = Stage0, package = ghc)     |
|      input: hadrian/cfg/system.config.in (and 2 more) |
|  => output: hadrian/cfg/system.config (and 2 more)    |
\-------------------------------------------------------/
shakeArgsWith   0.000s    0%
Function shake  0.319s   65%  =========================
Database read   0.001s    0%
With database   0.000s    0%
Running rules   0.168s   34%  =============
Total           0.488s  100%
Error when running Shake build system:
* OracleQ (ConfigKey "host-os")
* hadrian/cfg/system.config
* hadrian/cfg/system.config settings mk/config.h
* OracleQ (ConfigKey "host-os")
Build system error - recursion detected:
  Key type:   OracleQ ConfigKey
  Key value:  OracleQ (ConfigKey "host-os")
Rules may not be recursive

@bgamari Oh. I'll try to reproduce and fix asap.

@bgamari I couldn't reproduce the "Rules may not be recursive" error. Can you try if Hadrian 88a7b4e31616f06ea9c0f75d3565ae11936009e0 has the same problem?
By the way, it looks like the build is broken by recent libffi changes. I'll raise another issue.

@bgamari After fixing the libffi issue I still can't reproduce this. Is the build still broken for you?

Indeed I still encounter this with ghc/ghc@429fafb5b2b1ac02fd04d9a98e30b5991125692c and Hadrian ca6ab27204bedc59716040da849a47ef64fcafa9.

@bgamari That's puzzling.
Do you happen to have a custom UserSettings.hs file?
I know what can cause this: trying to compute a setting like windowsHost before the configure script had a chance to run and collect the information about the system. But as far as I can see, in such situations (when configure output is not yet available), we are using System.Info.os to determine the OS.

Andrey Mokhov<EMAIL_ADDRESS>writes:

@bgamari That's puzzling.
Do you happen to have a custom UserSettings.hs file?

Unfortunately I do not.

I know what can cause this: trying to compute a setting like
windowsHost before the configure script had a chance to run and
collect the information about the system. But as far as I can see, in
such situations (when configure output is not yet available), we are
using System.Info.os to determine the OS.

Hmm. Is there any way to get shake to print where the rules that it's
complaining about are defined?

Debugging oracles is a bit tricky.
Could you ask Hadrian to build hadrian/cfg/system.config with --verbose?

Sadly the error doesn't really shed any more light,
$ hadrian/build.cabal.sh  hadrian/cfg/system.config --verbose
Up to date
/-------------------------------------------------------\
| Run Configure "." (stage = Stage0, package = ghc)     |
|      input: hadrian/cfg/system.config.in (and 2 more) |
|  => output: hadrian/cfg/system.config (and 2 more)    |
\-------------------------------------------------------/
Executable found: bash => /bin/bash
shakeArgsWith   0.000s    0%
Function shake  0.307s   69%  =========================
Database read   0.001s    0%
With database   0.000s    0%
Running rules   0.134s   30%  ==========
Total           0.442s  100%
Error when running Shake build system:
* hadrian/cfg/system.config
* hadrian/cfg/system.config settings mk/config.h
* OracleQ (ConfigKey "host-os")
* hadrian/cfg/system.config
Build system error - recursion detected:
  Key type:   FileQ
  Key value:  hadrian/cfg/system.config
Rules may not be recursive

@bgamari Thanks! My feeling is that this commit is the problem, but I can't quite figure out where I managed to introduce a cyclic dependency which is so difficult to trigger.

Andrey Mokhov<EMAIL_ADDRESS>writes:

@bgamari Thanks! My feeling is that this commit is the problem, but I can't quite figure out where I managed to introduce a cyclic dependency which is so difficult to trigger.

Hmm, strangely enough reverting that commit doesn't seem to help.

@bgamari Ah, that's interesting. Could you perhaps git-bisect?

Andrey Mokhov<EMAIL_ADDRESS>writes:

@bgamari Ah, that's interesting. Could you perhaps git-bisect?

Unfortunately it fails as early as
907cad60863a4ea2b940fa7aa6c73b0da82eab7c. I'm afraid I'm unable to build
any earlier commits due to naming shadowing of RuleResult.

Hmm, well this is a bit unfortunate; it ended up being that I was using a stale executable. See #427.

Uh-h, mystery solved!


Scripting API for the Player

Discussed in https://github.com/orgs/kineticstoolkit/discussions/213
@opherdonchin
I really like where this discussion is going, and this may be the starting point for something I envisioned long ago, but that wasn't on the priority list yet:
A scripting API for the Player
Instead of having loads of options on the constructor, I think an API with well documented rw/ro properties would be still more versatile and helpful. This also means more work, but in the long term it will be great.
Steps

[ ] The first step is on my side: I need to cleanup the Player's code before we start fiddling with it. It was one of the first modules I programmed in KTK and it can be simplified a lot.

[ ] The second step (that can be done in parallel) is to establish the API and feature set. Obviously you can help me there, because you already do.

[ ] The third step will be to program it. At this point, I'll be happy if you want to fork and participate, and I could work on it also.

Draft of an API (v1)
Player properties
State-related properties

current_index (rw) : int. Get/set the current index.
current_time (rw) : float. Get/set the current time in seconds.
up (rw) : str. Get/set the ground plane by setting which axis is up. May be {"x", "y", "z", "-x", "-y", "-z"}.
zoom (rw) : float. Get/set the current camera zoom.
azimuth (rw) : float. Get/set the current camera azimuth in radians.
elevation (rw) : float. Get/set the current camera elevation in radians.
translation (rw) : tuple(float, float). Get/set the current camera translation (panning).
target (rw) : tuple(float, float, float). Get/set the current camera target.
perspective (rw) : bool. True to draw the scene using perspective, False to draw the scene orthogonally.
track (rw) : bool. False to keep the scene static, True to track the last selected marker as time increases.

Added

grid (rw) : tuple(RGB). Get / set the grid color. None for no grid. Defaults to white.
background (rw) : tuple (RG). Get / set the background color. Defaults to black.

Content-related properties

timeseries (ro) : dict(str, list[TimeSeries]). Get the original TimeSeries used as source data in the Player. The dictionary key corresponds to the name parameter mentioned below, and the list of TimeSeries is the group of TimeSeries that correspond to this name.
interconnections (ro) : dict(str, list[dict]). Get the original interconnections used as source data in the Player. The outer dictionary key corresponds to the name parameter mentioned below, and the list of dictionaries is the interconnections parameter.
merged_timeseries (ro) : TimeSeries. The merged TimeSeries that includes every time-matched point or frame, and where the names have been prefixed by "name:".
merged_interconnections (ro) : dict. A big dictionary that merges all interconnections by prefixing them accordingly by "name:".

Added

offsets (ro) :  dict(str, list[int]). The relative time offset for each TimeSeries. The dictionary key is the name corresponding to an entry in the timeseries property. The value is the offset which is added or subtracted from the current animation frame to decide which frame to draw. Maybe this should be time and not index?
frozen_timeseries (ro) : dict(str, list[TimeSeries]). These are time series which are drawn 'frozen' and do not move when the animation advances (see snapshot below). The specifications are as for the timeseries property above. It is not clear to me whether these would need a separate merged_timeseries property or whether they could be included into the current merged_timeseries, either with a flag to always draw the specific frame or by replicating that frame over the entire timeline of the marged_timeseries.
frozen_interconnections (ro): dict(str, list[dict]). These are the interconnections that match the frozen_timeseries and they are specified in the same manner as the interconnections property above.
frozen_offset (ro): dict(str, int). The specific frame to be drawn for the frozen_timeseries. The string key is a name matching one of the frozen timeseries. The int is the specific frame in that time series to draw.

Methods
Constructor
ktk.Player(
    *ts: TimeSeries,
    name: str = "",
    interconnections: dict[str, dict[str, Any]] = {},
    current_index: int = 0,
    marker_radius: float = 0.008,
    axis_length: float = 0.1,
    axis_width: float = 3.0,
    interconnection_width: float = 1.5,
    up: str = "y",
    zoom: float = 1.0,
    azimuth: float = 0.0,
    elevation: float = 0.2,
    translation: ArrayLike = (0.0, 0.0),
    target: ArrayLike = (0.0, 0.0, 0.0),
    track: bool = False,
    perspective: bool = True,
    frozen: int=None,
)

Added the name option to identify this group of TimeSeries. We could create a Player to analyse Bob's movement:
player = ktk.Player(ts_bob, name="Bob", interconnections=interconnections

then add Jack's movement on top of it:
player.add(ts_jack, name="Jack", interconnections=interconnections)

so that the markers shown would be "Bob:HeadVertex", "Bob:C7", "Jack:HeadVertex", "Jack:C7", etc. and the interconnections could also match these new marker names.
I added the frozen property which defaults to being None so the timeseries isn't frozen. If it's an int, it specifies the frame at which this TimeSeries is frozen.
Player.add
Player.add(
    *ts: TimeSeries,
    name="",
    interconnections: dict[str, dict[str, Any]] = {},
    frozen=None
)
) -> None

Add new TimeSeries to the Player. Use name to separate groups of TimeSeries and avoid duplicate names.
I added a frozen property (defaulting to none) that matches the frozen property of the constructor.
Player.remove
Player.remove(name: str) -> None
Remove all TimeSeries and interconnections that have been added using a given name.
Player.close
Player.close()

No change. It closes the current figure.
Added methods
Player.snapshot
player.snapshot(name=list / str / None) -> list / str

Creates a frozen time series (or multiple frozen time series) using the current frame. That is, a copy is made of time series in the current frame into the frozen list without disrupting the time series.
With no argument, this will freeze all TimeSeries in the Player. With a string argument, this is taken as the name of the TimeSeries to be frozen. A list will be taken to be a list of names that need to be frozen.
The return value is the names of the frozen versions of the time series (or a list of names if more than one was frozen). The names are generated by appending the time / frame number to the name of the time series.
Player.export()
I have no idea how this should work best.

This looks like it would work really well. There are a few things that I think would be interesting to add:

'Frozen' time series that stay fixed while the animation runs
The ability to take a snapshot of the current frame that creates frozen time series and then continue to run. This should be possible either in the API or using an interactive key.
Time/index offsets so that different time series don't all have to be running from the same place
The ability to selectively choose the 'background' elements such as the grid and the background. It might be nice to add interactive key that toggles these on or off, while the API would also allow specifying color.
Export the current (or a specific) frame to figure / jpg

I'll try to update the API accordingly below, although there were a couple of points that I wasn't sure what would work best:

Should the offset for frozen TimeSeries be in seconds or in frames?
Should the frozen TimeSeries have a seperate merged_frozen_timeseries or be merged into the single merged_timeseries

I wasn't fully clear on the intention with having a list of TimeSeries associated with each name. It made sense to me when I read the properties, but it seems like you would need to either (1) change the constructor and the add method to allow lists of TimeSeries, or (2) allow duplicate names in the add function to permit adding a new TimeSeries to an existing name.
I also wasn't sure how best to add the export, so I just put in as a stub.
One thought about the TimeSeries class is that it would be nice if it had a general info poperty like it has time_info and data_info properties. This could be useful for recording things like oiginal units or subject id or whatever.
Opher

Draft of an API (v1-opher)
Player properties
State-related properties

current_index (rw) : int. Get/set the current index.
current_time (rw) : float. Get/set the current time in seconds.
up (rw) : str. Get/set the ground plane by setting which axis is up. May be {"x", "y", "z", "-x", "-y", "-z"}.
zoom (rw) : float. Get/set the current camera zoom.
azimuth (rw) : float. Get/set the current camera azimuth in radians.
elevation (rw) : float. Get/set the current camera elevation in radians.
translation (rw) : tuple(float, float). Get/set the current camera translation (panning).
target (rw) : tuple(float, float, float). Get/set the current camera target.
perspective (rw) : bool. True to draw the scene using perspective, False to draw the scene orthogonally.
track (rw) : bool. False to keep the scene static, True to track the last selected marker as time increases.

Added

grid (rw) : tuple(RGB). Get / set the grid color. None for no grid. Defaults to white.
background (rw) : tuple (RG). Get / set the background color. Defaults to black.

Content-related properties

timeseries (ro) : dict(str, list[TimeSeries]). Get the original TimeSeries used as source data in the Player. The dictionary key corresponds to the name parameter mentioned below, and the list of TimeSeries is the group of TimeSeries that correspond to this name.
interconnections (ro) : dict(str, list[dict]). Get the original interconnections used as source data in the Player. The outer dictionary key corresponds to the name parameter mentioned below, and the list of dictionaries is the interconnections parameter.
merged_timeseries (ro) : TimeSeries. The merged TimeSeries that includes every time-matched point or frame, and where the names have been prefixed by "name:".
merged_interconnections (ro) : dict. A big dictionary that merges all interconnections by prefixing them accordingly by "name:".

Added

offsets (ro) :  dict(str, list[int]). The relative time offset for each TimeSeries. The dictionary key is the name corresponding to an entry in the timeseries property. The value is the offset which is added or subtracted from the current animation frame to decide which frame to draw. Maybe this should be time and not index?
frozen_timeseries (ro) : dict(str, list[TimeSeries]). These are time series which are drawn 'frozen' and do not move when the animation advances (see snapshot below). The specifications are as for the timeseries property above. It is not clear to me whether these would need a separate merged_timeseries property or whether they could be included into the current merged_timeseries, either with a flag to always draw the specific frame or by replicating that frame over the entire timeline of the marged_timeseries.
frozen_interconnections (ro): dict(str, list[dict]). These are the interconnections that match the frozen_timeseries and they are specified in the same manner as the interconnections property above.
frozen_offset (ro): dict(str, int). The specific frame to be drawn for the frozen_timeseries. The string key is a name matching one of the frozen timeseries. The int is the specific frame in that time series to draw.

Methods
Constructor
ktk.Player(
    *ts: TimeSeries,
    name: str = "",
    interconnections: dict[str, dict[str, Any]] = {},
    current_index: int = 0,
    marker_radius: float = 0.008,
    axis_length: float = 0.1,
    axis_width: float = 3.0,
    interconnection_width: float = 1.5,
    up: str = "y",
    zoom: float = 1.0,
    azimuth: float = 0.0,
    elevation: float = 0.2,
    translation: ArrayLike = (0.0, 0.0),
    target: ArrayLike = (0.0, 0.0, 0.0),
    track: bool = False,
    perspective: bool = True,
    frozen: int=None,
)

Added the name option to identify this group of TimeSeries. We could create a Player to analyse Bob's movement:
player = ktk.Player(ts_bob, name="Bob", interconnections=interconnections

then add Jack's movement on top of it:
player.add(ts_jack, name="Jack", interconnections=interconnections)

so that the markers shown would be "Bob:HeadVertex", "Bob:C7", "Jack:HeadVertex", "Jack:C7", etc. and the interconnections could also match these new marker names.
I added the frozen property which defaults to being None so the timeseries isn't frozen. If it's an int, it specifies the frame at which this TimeSeries is frozen.
Player.add
Player.add(
    *ts: TimeSeries,
    name="",
    interconnections: dict[str, dict[str, Any]] = {},
    frozen=None
)
) -> None

Add new TimeSeries to the Player. Use name to separate groups of TimeSeries and avoid duplicate names.
I added a frozen property (defaulting to none) that matches the frozen property of the constructor.
Player.remove
Player.remove(name: str) -> None
Remove all TimeSeries and interconnections that have been added using a given name.
Player.close
Player.close()

No change. It closes the current figure.
Added methods
Player.snapshot
player.snapshot(name=list / str / None) -> list / str

Creates a frozen time series (or multiple frozen time series) using the current frame. That is, a copy is made of time series in the current frame into the frozen list without disrupting the time series.
With no argument, this will freeze all TimeSeries in the Player. With a string argument, this is taken as the name of the TimeSeries to be frozen. A list will be taken to be a list of names that need to be frozen.
The return value is the names of the frozen versions of the time series (or a list of names if more than one was frozen). The names are generated by appending the time / frame number to the name of the time series.
Player.export()
I have no idea how this should work best.

I still think that creating a Matplotlib 3D figure from TimeSeries and interconnections has value, but it is something different to the Player. If this is something that you really need, may we envision a KTK extension for it? I think the instructions for developing extensions should be clear, but I can happily guide you in this development if you choose this avenue. Otherwise, let's work on the Player 😃

I will try to work on making a draw or draw_matplotlib extension, but first I need to get my grant out the door on the 20th. The actual coding is pretty minimal, so it doesn't seem like it should be a lot of work.

Yup. That all makes sense to me.

I'm happy that you like the grid, background and export options
I like using time rather than offset
I think your instinct to use TimeSeries manipulations rather than adding features to the Player makes sense
I think the idea that freezing should be a property of the time series rather than a separate category makes sense

Please note that the freezing option isn't a priority for me. It just seems like it would be helpful. I was imagining two sorts of use cases:

While interacting with the Player, picking specific snapshots to combine to make a "multiple exposure" image of the movement.
Creating a video where some key posture (for instance, the moment of ball contact) is frozen as a reference and you can the see the approach to that postue and the departure from it.

However, if it adds complexity, I don't see an issue with delaying it until other things are done.
Opher

Thanks! If I can help with the coding, let me know!

Not done, need to update the docstrings and the doc


InitialSilenceTimeoutMs ignored with DialogServiceConnector

Describe the bug
InitialSilenceTimeoutMs is ignored when I use DialogServiceConnector. I always have a timeout of 5 seconds before the Speech Service stops recognizing speech even if I try to change this timeout using the setProperty method.
To Reproduce
Steps to reproduce the behavior:
DialogServiceConfig dialogServiceConfig = BotFrameworkConfig.fromSubscription(configuration.speechSubscriptionKey, configuration.speechRegion);
dialogServiceConfig.setProperty(PropertyId.SpeechServiceConnection_InitialSilenceTimeoutMs, "15000");
DialogServiceConnector botConnector = new DialogServiceConnector(dialogServiceConfig, AudioConfig.fromDefaultMicrophoneInput());
botConnector.listenOnceAsync();

Version of the Cognitive Services Speech SDK
Java SDK version - 1.17.0
Platform, Operating System, and Programming Language

OS: [e.g. Windows, Linux, Android, iOS, ...] - Android
Programming language: Java

What specifically are you trying to change?
We have several silence timeouts, and I want to make sure you are using the correct one.
e.g we also have end silence timeouts and the Conversation_Initial_Silence_Timeout and SpeechServiceConnection_EndSilenceTimeoutMs.
Thanks.

I want to edit two timeouts. First, I want to give my user more than 5 seconds to say something before the bot assumes that it was an empty speech. I also want to give my users the oportunity to pause one or two seconds in the middle of a speech. For example "I have 5 liters of gasoil type a (pause of one or two seconds) and 10 liters of gasoil type b".
Quoting rhurey from issue #502:
"Initial Silence Timeout: The amount of silence at the beginning of a recognition before the Speech Service stops recognizing speech.
End Silence Timeout: The amount of silence after speech before the Speech Service stops recognizing speech."
I think that I need to edit those values.
Thank you for your answer.

Hi @aalonso-solusoft, were you able to make your scenario work using those two timeouts? Please let us know if you need any further assistance

Hi @glecaros . No, I only have timeouts of 5 seconds, even if I configure the "PropertyId.SpeechServiceConnection_InitialSilenceTimeoutMs" with bigger times.

Reducing the volume level on the mic between 20-30, will greatly reduce background interference. Most people have theirs set between 70-100, which (as you can guess) can cause a lot of unwanted performance with speech recognition.

Hi @aalonso-solusoft, I talked with the service team and there seems to be an issue on how the property is being populated by the SDK (we opened a bug internally to fix this) In the meantime, you can try the following workaround:
this.dialogServiceConfig.SetServiceProperty("initialSilenceTimeoutMs", "10000", ServicePropertyChannel.UriQueryParameter);
this.dialogServiceConfig.SetServiceProperty("endSilenceTimeoutMs", "15000", ServicePropertyChannel.UriQueryParameter);

Please let me know if that helps.

Thanks @glecaros, it works perfectly. I close the issue.


HOTT-805: On first accessing quota search, please hide the error message

On first accessing quota search, please hide the error message "Sorry, there is a problem with the search query. Please specify one or more search criteria"
Jira link
https://transformuk.atlassian.net/browse/HOTT-805
What?
I have added/removed/altered:

[ ] Add a guard in the presenter, so that the following line won't try reject! on nil, and the search result will be an array in any case

Why?
I am doing this because when a search is not provided, the app tries to run a reject! on a nil object, and errors.
Have you? (optional)

[ ] Reviewed view changes with stake holders
[ ] Validated mobile responsive behaviour of view changes


refactor[CL]: rename PrecisionFactorAtPriceOne to ExponentAtPriceOne

Closes: #4748
What is the purpose of the change
Better dev-UX
Testing and Verifying
N/A
Documentation and Release Note
N/A

Hey, I wasn't aware of this issue, but IMO the standard should be PrecisionFactorAtPriceOne instead of exponentAtPriceOne

I stand by this re-name, exponent at price one seems like a more intuitive naming for me compared to precision factor at price one.

Hey, I wasn't aware of this issue, but IMO the standard should be PrecisionFactorAtPriceOne instead of exponentAtPriceOne

@czarcas7ic  Is there a reason you prefer PrecisionFactorAtPriceOne?

My conviction on the name isn't that strong, happy to go with the exponent name since you all agree!

My conviction on the name isn't that strong, happy to go with the exponent name since you all agree!

hey @czarcas7ic, my point is to use one name for the same thing throughout the repo to prevent confusions with the name, but I think I agree with you that PrecisionFactorAtPriceOne is a better name.
ofc it is up to you guys to pick the final name, I only want to prevent naming confusions
CC: @mattverse @p0mvn

one simple nit that i noticed is that we haven't added [exponent-at-price-one] as a part of tx use field here
can we please add it create-concentrated-pool [denom-0] [denom-1] [tick-spacing] [exponent-at-price-one] [swap-fee]

one simple nit that i noticed is that we haven't added [exponent-at-price-one] as a part of tx use field here
can we please add it so that it looks like this;
create-concentrated-pool [denom-0] [denom-1] [tick-spacing] [exponent-at-price-one] [swap-fee]

@pysel can you please address this, and then we can merge this

Added the comment, will merge once passes CI

Added the comment, will merge once passes CI

oh, apologies for a long response, thank you @czarcas7ic for adding!


unrecognized arguments

hi :)
When i try for eg :
docker run -it --name ouroboros
-p 8000:8000
-v /var/run/docker.sock:/var/run/docker.sock
circa10a/ouroboros --metrics-addr <IP_ADDRESS> --metrics-port 8000
I got "main.py: error: unrecognized arguments: --metrics-port 5000"
what's wrong ?

Hi @ShagoY !
I'm unable to reproduce. Since I just pushed the new arguments yesterday, I think you may be a victim of docker's latest cache. Can you try re-pulling the image or using the specific version tag?
docker run -it --name ouroboros -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock circa10a/ouroboros --metrics-addr <IP_ADDRESS> --metrics-port 8000
Also,
I got "main.py: error: unrecognized arguments: --metrics-port 5000"
Are you sure this is accurate? Since you didn't passed 8000 as the port and not 5000

I fixed the bind bug. Thankfully it's only been out a day.
Can try this @ShagoY ?
docker run -it --name ouroboros -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock circa10a/ouroboros:0.3.1  --metrics-port 8000

Hi Circa10a,
It's ok now, thanks.

Are you sure this is accurate? Since you didn't passed 8000 as the port and not 5000

Sorry bad copy/paste ;-)


Can you elaborate the difference between your work and cfnet

Hi,
It seems that your work is closely related to CFNET, yet your performance is much better, 0.624 vs 0.568 in OTB100. Can you elaborate what makes such a big difference since CFNET also uses VID as training set and exponential decay learning rate schedule?
Thanks

First of all, I have to admit that CFNet is the first official publication (in CVPR2017) of an end-to-end learning framework about CF.
Compared to CFNet that is end-to-end pre-trained on the same training dataset, DCFNet achieves a relative gain of 9.8% in AUC because it extracts features without resolution loss, carries out CF based appearance modeling and tracking consistently in the frequency domain.
Without Resolution Loss
The feature extractor of our DCFNet never reduce resolution (stride = 1).
In simple terms, this may be a simple difference in network architecture design.
I think that this is a very important factor for visual tracking, and if there is no border effect, a DCF operatation on a dense features can be interpreted as a approximation of Continuous Convolution.
Besides, I have do a lot of experiment about network architecture and resolution.   From our experiments, we observe that decreasing feature spatial resolution can cause a large reduction in the AUC accuracy. (33<63<125<169)
Consistently in the frequency domain
The CFNet is a improved version of SiamFC.
The filter of CFNet learned is croped to a small size (17x17) for time-domain correlation, which will strongly harm the performance.
So far, I have not seen the CFNet source code.  I guess the main reason for the crop operation is to be consistent with SiamFC.
(Just Imagine) Even if the training image and test image are the same image, the cropped filter may produce a bad response. For a normal CF (not SRDCF), there's no guarantee that the center part of filter are more effective.
In general, CFNet is a very good paper with perfect proofs and experimental controls.


fix: switch to gb fork (facus hotfix for testnet)

Description
Bring the gb testnet hotfix into main.
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

Merging #929 (6d78f0f) into main (d3546fd) will decrease coverage by 0.00%.
The diff coverage is 52.73%.

@@            Coverage Diff             @@
##             main     #929      +/-   ##
==========================================
- Coverage   50.90%   50.90%   -0.01%
==========================================
  Files          64       64
  Lines        9456     9479      +23
==========================================
+ Hits         4814     4825      +11
- Misses       4397     4401       +4
- Partials      245      253       +8

Impacted Files
Coverage Δ

x/leverage/client/cli/query.go
0.00% <0.00%> (ø)

x/leverage/keeper/genesis.go
2.15% <0.00%> (ø)

x/leverage/keeper/grpc_query.go
5.55% <0.00%> (ø)

x/leverage/keeper/interest.go
78.16% <0.00%> (-4.32%)
:arrow_down:

x/leverage/keeper/reserves.go
78.94% <ø> (+2.99%)
:arrow_up:

x/leverage/types/query.pb.gw.go
0.00% <0.00%> (ø)

x/leverage/keeper/keeper.go
45.88% <51.28%> (-1.66%)
:arrow_down:

x/leverage/keeper/token.go
61.73% <55.55%> (+1.34%)
:arrow_up:

x/leverage/keeper/oracle.go
67.07% <66.66%> (-2.16%)
:arrow_down:

x/leverage/client/tests/suite.go
100.00% <100.00%> (ø)

... and 10 more

Open Questions:

Is the price-feeder update really necessary? (did we break interface?)

Open Questions:

Is the price-feeder update really necessary? (did we break interface?)

It's an indirect dependency update, since it requires the umee package - so yeah the update is necessary

I am closing this pr because of the fact that this fix is merged into upstream per @adamewozniak  :)


Why the Bendy-Lib mod doesn't work with the Oculus mod?

The animation is not playing correctly

Hi, we found the solution to solve the problem and have compatibility between bendylib and oculus. Here are the texture packs to add. It worked for me !
https://modrinth.com/resourcepack/emotebend

Thanks for the help


Relay Modern equivalent?

Is there an equivalent to this library for Relay Modern?  Or are there plans to adapt this library to Relay Modern?

Now I'm refactoring our internal app with Flowtype. There are a lot of components and will take some time. After that, I want to migrate on Relay Modern.
I suppose that bump<EMAIL_ADDRESS>with supporting Relay Modern at the end of summer or in the beginning of autumn.

Hi @nodkz,
I'm in the middle of refactoring an app to relay-modern and a modern compatible version would be great. Do you have a timeline for this right now?
Thank you for this great library. Helps a lot.
Hannes

Can not guarantee that it happens in this month. But right now I'm migrating on moder with my demo app (https://github.com/nodkz/relay-northwind-app/commits/compat). And next will be our internal project where is used react-relay-network-layer. So i'm in progress to adopt react-relay-network-layer for relay-modern. I hope that it will be done in the end of this or next month.
Thanks for patience.

@toxsick you may want to check out Apollo Link, which is compatible with Relay Modern: https://github.com/apollographql/apollo-link

Opened new branch modern, I suppose till the end of next week all will be done.

New package https://github.com/nodkz/react-relay-network-modern available on npm.
Please try it for Relay Modern.


The same Equivalent() call translates or not based on existence of other Equivalent() etc calls

For many different routines, whether or not the Translator succeeds in parsing
a routine call varies only on whether a separate call to the same routine
exists with different arguments further up in the same library.
The problem exists particularly with the generic equal/equivalent/not-equal
operators; just a few argument examples are given here to demonstrate the
problem, but it potentially happens with any pair of argument types.
The problem might also affect other operators having (Any,Any) signatures,
and it might affect other operators besides those.
Run the following CQL as a single block:
define x: {} = {}
define y: {} ~ {}
define ListEqABC123:          { 'a', 'b', 'c' } = { 1, 2, 3 }
define ListEq123ABC:          { 1, 2, 3 } = { 'a', 'b', 'c' }
define ListEq123String123:    { 1, 2, 3 } = { '1', '2', '3' }
define EquivListABC123:       { 'a', 'b', 'c' } ~ { 1, 2, 3 }
define EquivList123ABC:       { 1, 2, 3 } ~ { 'a', 'b', 'c' }
define EquivList123String123: { 1, 2, 3 } ~ { '1', '2', '3' }
define ListNotEqABC123:       { 'a', 'b', 'c' } != { 1, 2, 3 }
define ListNotEq123ABC:       { 1, 2, 3 } != { 'a', 'b', 'c' }
define ListNotEq123String123: { 1, 2, 3 } != { '1', '2', '3' }

The actual result then is that the Translator succeeds and every statement
outputs a value, which happens to be null except for the first 2.
Next remove either or both of the first 2 lines and then run the CQL again.
If "x" is removed, then 6 of the last lines will fail to Translate,
citing an error like:
Could not resolve call to operator Equal with signature (list<System.Integer>,list<System.String>).

If "y" is removed, then the other 3 of the last lines will fail to Translate,
citing an error like:
Could not resolve call to operator Equivalent with signature (list<System.Integer>,list<System.String>)

Regardless of on what side of the fence one falls in regards to whether
they think Equivalent() etc with distinct argument types should fail to
Translate versus return false etc at runtime, this bug demonstrates a
serious issue in that the Translator isn't even consistent with itself;
the exact same statement having no external references to other expressions
should either Translate or not translate in exactly the same way no matter
what other statements the library contains.
These failing CQL Engine tests reflect this bug:

CqlComparisonOperatorsTest.xml -> all 9 tests listed above

Included in the 1.3 CQL Ballot release.


fix(publish): fix version conflict recognition for github packages

Description, Motivation and Context
The version conflict recognition logic was not working for github
because it returns a different code for the same error compared to
what npmjs.org returns.
I've added two utility functions to check for the error code and
message to make the code more readable in the error handler of the
publish operation.
This way there is a robust detection supporting both npmjs.com and
npm.pkg.github.com registries, not just npmjs.org.
Signed-off-by: Peter Somogyvari<EMAIL_ADDRESS>How Has This Been Tested?
I've added a new test case within the file
packages/publish/src/__tests__/publish-from-git.spec.ts
to cover specifically the GitHub npm registry's error code,
so now the test verifies both npmjs.org and github.com registries
error codes not just npmjs.org as before.
I've also tested it manually, on a mono-repo I maintain where
there is a mixture of github and npmjs.org packages (e.g.
we publish to 2 different registries as part of the publish).
Before the change it would crash because it didn't correctly
recognize the version conflict failure coming back from github.
Now after the change, it prints the message that "all packages
have been published already" indicating that it successfully
detected all conflict errors as handled.
Types of changes

[ ] Chore (change that has absolutely no effect on users)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks for the contribution, it looks like the Lint is failing, could you please run the Prettier script or run full build which indirectly runs Prettier. Read the Contributing guide for more info.
It would also be great if you could show a before and after of what this PR resolves, I'm a visual person and like to see diff if possible. Thank. I will review the code later

it looks like the Lint is failing, could you please run the Prettier script or run full build which indirectly runs Prettier.

@ghiscoding Thank you, fixed in my latest commit! I also removed the redundant else { } as you asked.

@petermetz
Thanks the code is looking good now, I'm now looking at the tests and it seems the coverage went down and looking at codecov report, it looks like some lines from these 2 new utils were not covered. Would it be a lot of work to also cover these lines? If it's too much work, we could skip that for now but it would be nice to have good coverage of the lib. Let me know if it's possible or not. Thanks
https://app.codecov.io/gh/lerna-lite/lerna-lite/pull/738/blob/packages/publish/src/lib/is-npm-pkg-github-publish-version-conflict.ts

@petermetz Thanks the code is looking good now, I'm now looking at the tests and it seems the coverage went down and looking at codecov report, it looks like some lines from these 2 new utils were not covered. Would it be a lot of work to also cover these lines? If it's too much work, we could skip that for now but it would be nice to have good coverage of the lib. Let me know if it's possible or not. Thanks
https://app.codecov.io/gh/lerna-lite/lerna-lite/pull/738/blob/packages/publish/src/lib/is-npm-pkg-github-publish-version-conflict.ts

@ghiscoding No worries, adding some coverage for those extra branches was relatively simple so I just got it done with my latest update!

@petermetz Thanks the code is looking good now, I'm now looking at the tests and it seems the coverage went down and looking at codecov report, it looks like some lines from these 2 new utils were not covered. Would it be a lot of work to also cover these lines? If it's too much work, we could skip that for now but it would be nice to have good coverage of the lib. Let me know if it's possible or not. Thanks
https://app.codecov.io/gh/lerna-lite/lerna-lite/pull/738/blob/packages/publish/src/lib/is-npm-pkg-github-publish-version-conflict.ts

@ghiscoding No worries, adding some coverage for those extra branches was relatively simple so I just got it done with my latest update!

@petermetz
hey sorry to bother again, there's still missing coverage but I think these lines could actually be merged into 1 if with all 3 conditions since they all return false anyway. That would be cheating but it would add full coverage and we probably don't care as much for the first 2 conditions anyway. I promise that's my last thing to ask 😆

@petermetz Thanks the code is looking good now, I'm now looking at the tests and it seems the coverage went down and looking at codecov report, it looks like some lines from these 2 new utils were not covered. Would it be a lot of work to also cover these lines? If it's too much work, we could skip that for now but it would be nice to have good coverage of the lib. Let me know if it's possible or not. Thanks
https://app.codecov.io/gh/lerna-lite/lerna-lite/pull/738/blob/packages/publish/src/lib/is-npm-pkg-github-publish-version-conflict.ts

@ghiscoding No worries, adding some coverage for those extra branches was relatively simple so I just got it done with my latest update!

@petermetz hey sorry to bother again, there's still missing coverage but I think these lines could actually be merged into 1 if with all 3 conditions since they all return false anyway. That would be cheating but it would add full coverage and we probably don't care as much for the first 2 conditions anyway. I promise that's my last thing to ask 😆
Also I think I can wait to publish this code change right? I mean unless you think it's urgent, if not urgent then I would rather wait a bit more since I was waiting for cosmiconfig to publish a new release (the other issue you've opened), they fixed the issue but it will only be published in their next upcoming v9.0 but I don't know when he intends to publish that next major version.

@ghiscoding Done! No worries! Publishing it is not urgent, I've got a manual patching routine that I can use to have the new code in effect and issue our releases that way for now. Thank you for doing the work you do!

Thanks a lot, all good now 🚀

@petermetz this is now available in latest release v2.6.0. As for the other issue, I'm still waiting for cosmiconfig 9.0 to come out (no news on when that will happen) but at least there's an alternative to use 8.0 in the meantime. Thanks again for your contributions. Cheers

@ghiscoding My pleasure! Thank you very much as well!


Update Management integration with Configuration Manager no longer possible?

Functionality to connect Configuration Manager to Azure Monitor was removed from Configuration Manager starting in version 2107:
https://docs.microsoft.com/en-us/azure/azure-monitor/logs/collect-sccm
Does this mean that Update Management integration with Configuration Manager is no longer possible as documented in this article? If so, should the article be updated?

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

ID: adb72622-025d-50a5-82cf-ccb5bfabadec
Version Independent ID: 87079dd0-79f3-e82c-ef6a-f0f076795d38
Content: Integrate Azure Automation Update Management with Microsoft Endpoint Configuration Manager
Content Source: articles/automation/update-management/mecmintegration.md
Service: automation
Sub-service: update-management
GitHub Login: @SnehaSudhirG
Microsoft Alias: sudhirsneha

@davidpaMSFT Thanks for your feedback.
Assigning to content author @SnehaSudhirG  for review.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. The requested updates have not been made since the creation of this issue, and the timeline for resolution may vary based on resourcing, so we've created an internal work item to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary. #please-close


Reuse buffers in the websocket connection to lower GC pressure

TODO: possibly add a maximum size for the buffers and clear if they pass that size?

Did you test this on a non-trivial bot?

Let's see what happens owo


Build Launcher

Hello!
I have an idea for an app which needs Alfred/Spotlight/Wox/Hain like user interface. I also need it to be cross-platform. I could use Electron which is what Hain does, but I really want to avoid using Electron because of fat distribution size and the resource intensive nature of it.
For this use-case, I need to disable the title bar and also control the position of the window (To be at the center).. Are these currently possible with Webview? (I am okay using Go or Rust)

@spy16 They are definitely possible, but require you to use the platform-dependent CGO APIs alongside with webview.NewWindow(). Providing a cross-platform API for this is currently out of scope. Please close this issue if it answers your question.

Duplicate of #450.

Duplicate of #450