global variable `$thor_runner' not initialized

I'm getting warning when running my program (which uses Thor) with $VERBOSE = true:
/home/wolf/.rvm/gems/ruby-2.5.3@sm-toolkit/gems/thor-0.20.0/lib/thor.rb:396: warning: global variable `$thor_runner' not initialized

simple repro:
#!/usr/bin/ruby

$VERBOSE = true

require 'thor'

class Test < Thor
end

Test.start(ARGV)

Still in 0.20.3:
/var/lib/gems/2.5.0/gems/thor-0.20.3/lib/thor.rb:396: warning: global variable `$thor_runner' not initialized

Any chance to get this fixed?


Specify type of stack variable in generated code for parser

This fixes the errors I'm getting on some grammars:
error[E0282]: type annotations needed for `std::vec::Vec<T>`
  --> src/parser.rs:12:1
   |
12 | / plex::parser! {
13 | |     fn parse_(Token, Span);
14 | |
15 | |     // combine two spans
...  |
36 | |     }
37 | | }
   | |_^ consider giving `stack` the explicit type `std::vec::Vec<T>`, where the type parameter `T` is specified
   |
   = note: type must be known at this point
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

Thanks!


404 in Production

Hey,
I am using NuxtJS 3.8.1 and "@nuxtjs/robots":  "^3.0.0"
Locally everything is working fine but on my live server I will get a 404 error by nginx when visiting domain.com/robots.txt
I am not getting the normal nuxt error page as usual but instead nginx 404 not found.
I am using Cleavr for my Nuxt Deployment.
nuxt.config.ts
modules: [
'~/modules/sitemap',
'nuxt-schema-org',
'@vueuse/nuxt',
'dayjs-nuxt',
'@nuxtjs/robots'
],
robots: {
configPath: 'robots.config'
},

robots.config.ts in my root directory
export default [
  { UserAgent: '*' },
  { Allow: '/' },
  { BlankLine: true },

  { Sitemap: (req) => `https://${req.headers.host}/sitemap.xml` }
]

Any ideas?

It works now.
My nginx config included the following line
location = /robots.txt  { access_log off; log_not_found off; }
I commented it out and it works.
#location = /robots.txt  { access_log off; log_not_found off; }
Maybe this helps some other people with the same issue.


[FEATURE] Improvement of navigation bar.

Is your feature request related to a problem? Please describe.
The current website lacks a navigation bar, making it difficult for users to navigate through different sections. This issue hampers user experience, as visitors are unable to easily access various parts of the site. A well-designed navigation bar is crucial for enhancing usability and ensuring that users can effortlessly find the information they need.
Describe the solution you'd like
Add a logo to the left side of the navigation bar to establish brand identity, Implement hover effects such as color changes, underlines, or background highlights to indicate interactive elements.
Describe alternatives you've considered
Addition of scroll progress bar
Additional context
I would like to add something like this

kindly assign me the task.

Hey @HarshtheGeek , we already have a navbar and we don't require a scroll progress bar anytime soon.


Error merging non-generic and generic Protocol classes

Environment data

Pylance language server 2021.3.3 (pyright be28f16e)
Python: 3.9.2
OS: Fedora 33

Actual behaviour
Defining the merge of a generic Protocol (such as Iterable[T]) and a non-generic Protocol (such as Sized) makes Pylance end with a cryptic error Error: Debug Failure. False expression. raised from canAssignProtocolClassToSelf.
The following example is from PEP-544:
from typing import Iterable, Protocol, Sized, TypeVar

T = TypeVar('T')
class SizedIterable(Iterable[T], Sized, Protocol):
    pass

The same happens if I make T covariant instead, or if I replace Protocol with Protocol[T] or Protocol, Generic[T].
In fact already the following fails:
T = TypeVar('T')

class FirstProtocol(Protocol):
    def first():
        ...

class MergedProtocol(FirstProtocol, Protocol[T]):
    def merged() -> T:
        ...

Logs
[Info  - 4:15:07 PM] Pylance language server 2021.3.3 (pyright be28f16e) starting
[Info  - 4:15:07 PM] Server root directory: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist
[Info  - 4:15:07 PM] No configuration file found.
[Info  - 4:15:07 PM] Setting pythonPath for service "vscode": "/bin/python"
Search paths found for configured python interpreter:
  /usr/lib64/python3.9
  /usr/lib64/python3.9/lib-dynload
  /home/token0/.local/lib/python3.9/site-packages
  /usr/lib64/python3.9/site-packages
  /usr/lib/python3.9/site-packages
[Warn  - 4:15:07 PM] stubPath /home/token0/tmp/vscode/typings is not a valid directory.
[Info  - 4:15:07 PM] Assuming Python version 3.9
[Info  - 4:15:07 PM] Assuming Python platform Linux
[Info  - 4:15:07 PM] Searching for source files
[Info  - 4:15:07 PM] Found 1 source file
[Info  - 4:15:07 PM] Background analysis(1) root directory: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist
[Info  - 4:15:07 PM] Background analysis(1) started
Background analysis message: setConfigOptions
Background analysis message: setTrackedFiles
Background analysis message: markAllFilesDirty
Background analysis message: ensurePartialStubPackages
Background analysis message: setFileOpened
Background analysis message: getSemanticTokens full
[BG(1)] getSemanticTokens full at /home/token0/tmp/vscode/tmp.py ...
[BG(1)]   parsing: /home/token0/tmp/vscode/tmp.py (61ms)
[BG(1)]   parsing: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 4ms] (135ms)
[BG(1)]   binding: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/builtins.pyi (38ms)
[BG(1)]   binding: /home/token0/tmp/vscode/tmp.py (0ms)
[BG(1)]   parsing: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/typing.pyi [fs read 1ms] (43ms)
[BG(1)]   binding: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/typing.pyi (22ms)
[BG(1)]   parsing: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 2ms] (23ms)
[BG(1)]   binding: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (2ms)
[BG(1)]   parsing: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stubs/typing-extensions/typing_extensions.pyi [fs read 0ms] (4ms)
[BG(1)]   binding: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stubs/typing-extensions/typing_extensions.pyi (1ms)
[BG(1)]   parsing: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/abc.pyi [fs read 0ms] (1ms)
[BG(1)]   binding: /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/typeshed-fallback/stdlib/abc.pyi (1ms)
[BG(1)] getSemanticTokens full at /home/token0/tmp/vscode/tmp.py (369ms)
Background analysis message: getSemanticTokens range
[BG(1)] getSemanticTokens range 0:0 - 9:0 at /home/token0/tmp/vscode/tmp.py (1ms)
Background analysis message: analyze
[Error - 4:15:08 PM] An internal error occurred while type checking file "/home/token0/tmp/vscode/tmp.py": Error: Debug Failure. False expression.
    at canAssignProtocolClassToSelf (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluator.ts:18276:9)
    at forEach (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluator.ts:18337:22)
    at Array.forEach (<anonymous>)
    at Object.canAssignProtocolClassToSelf (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluator.ts:18328:38)
    at callback (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts:110:69)
    at i.timeOperation (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/common/timing.ts:44:28)
    at run (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts:42:46)
    at Object.canAssignProtocolClassToSelf (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts:110:13)
    at /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/checker.ts:2555:56
    at Array.forEach (<anonymous>)
[BG(1)] analyzing: /home/token0/tmp/vscode/tmp.py ...
[BG(1)]   checking: /home/token0/tmp/vscode/tmp.py (274ms)
[BG(1)] analyzing: /home/token0/tmp/vscode/tmp.py (275ms)
[Error - 4:15:08 PM] Error performing analysis: Error: Debug Failure. False expression.
    at canAssignProtocolClassToSelf (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluator.ts:18276:9)
    at forEach (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluator.ts:18337:22)
    at Array.forEach (<anonymous>)
    at Object.canAssignProtocolClassToSelf (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluator.ts:18328:38)
    at callback (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts:110:69)
    at i.timeOperation (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/common/timing.ts:44:28)
    at run (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts:42:46)
    at Object.canAssignProtocolClassToSelf (/home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts:110:13)
    at /home/token0/.vscode/extensions/ms-python.vscode-pylance-2021.3.3/dist/pyright-internal/src/analyzer/checker.ts:2555:56
    at Array.forEach (<anonymous>)

Thanks for the bug report. This will be fixed in the next release of pylance.

Thanks a lot!

This issue has been fixed in version 2021.3.4, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md#202134-31-march-2021


Create Alasi.md

Thanks for this PR.
U need 2 code review approval.
Approach others in twitter group or discord channel (https://discord.com/invite/jBj2zMR)
Post ur pr link in those grp.

All Good

@Holaryeankar007 you need to change the file name from Alasi.md to alasi.md for it to be approved

Lower case file necessary too :)

i have corrected that
On Sun, 18 Oct 2020 at 12:55, Tushar Kandpal<EMAIL_ADDRESS>wrote:

@tusharkandpal requested changes on this pull request.
you didn't closed the table
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twindle-co/twindle/pull/256#pullrequestreview-511137076,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANYYWRIVYBFRJVPD4S26CYDSLLJS7ANCNFSM4SUGH4CQ
.


Allow function as parameter to where()

Description
The signature of the where function is currently
self.where(..any) -> selector

I want it to be
self.where(..any or function) -> selector

Use Case
Currently, selecting with a range of parameters is difficult.
table.cell.where(x: 0)
table.cell.where(x: 2)
table.cell.where(x: 4)
// ...

it would be much easier like this:
table.cell.where(cell => calc.rem(cell.x, 2) == 0)

This has come up a few times before. Copying an earlier response of mine:
I can see the appeal, but it's a can of worms to implement:

The introspector would need to start running arbitrary code (which is more or less impossible since it's tracked for memoization)
We lose all hope of writing acceleration structures for faster style matching during realization
Once content = type, selectors will become type patterns and then type checking would again mean running arbitrary code

Linking back to a post where this was mentioned: https://forum.typst.app/t/how-do-make-a-reference-that-inserts-name-of-section-and-page-number/461/5.

I will close this as it is not really feasible.


Broken site: bbc.co.uk/iplayer

Checklist

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

Verbose log

$ youtube-dl --verbose https://www.bbc.co.uk/iplayer/episode/m00073t6/prime-ministers-questions-24072019
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.bbc.co.uk/iplayer/episode/m00073t6/prime-ministers-questions-24072019']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.08.02
[debug] Python version 3.6.8 (CPython) - Linux-3.10.0-957.27.2.el7.x86_64-x86_64-with-centos-7.6.1810-Core
[debug] exe versions: ffmpeg 4.2-static, ffprobe 4.2-static
[debug] Proxy map: {}
[bbc.co.uk] m00073t6: Downloading video page
[bbc.co.uk] m00073t6: Downloading playlist JSON
[bbc.co.uk] m00073tc: Downloading media selection XML
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/chaz/.local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "/home/chaz/.local/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/home/chaz/.local/lib/python3.6/site-packages/youtube_dl/extractor/bbc.py", line 577, in _real_extract
    self._sort_formats(formats)
  File "/home/chaz/.local/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 1327, in _sort_formats
    raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

I am not able to download the video at https://www.bbc.co.uk/iplayer/episode/m00073t6/prime-ministers-questions-24072019. It plays as expected in Firefox.

For any work on this you must provide working GB proxy/vpn.


compile warnings

As ref'd in #4 , the compiler has warnings re from_serde, into_serde, and a few other bits of code. It compiles, but I'd like to help get it to be warning-free. 🙂

Starting work on this.

All issues resolved except for one regarding debug_assertions  in the Cargo.toml file.

The URL ref'd is:
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
That page explains how making a cfg(debug_assertions) doesn't work as anticipated. However, I am not 100% sure of the solution. Reading a bunch of posts on the issue; leaving this update here as a status update & reference for self.
Also, there are some warnings from clippy -- I'll start tweaking some of those too.
This process of refactoring is helping me to learn a lot. Thank you for allowing me to tinker with this repo.

One additional reminder to self:
There is this issue in the rust-webpack-template repo that ref's how this needs to be removed from the walk-through because it is misleading. But I still am not 100% sure what the "do this instead" path is. Will read more tomorrow.

Right after posting last comment, found this solution. But it is getting late, so will implement and send PR sometime tomorrow.

Ok, so I'm not entirely confident about implementing that solution. What I did appears to work, but I lack the familiarity with the build-n-deploy chain, so my confidence is lacking. I'm going to just PR with what I have and make a new ticket to remind me that I need to loop back to this issue after gaining more confidence with this repo, Rust, and the build process.
PR #12 closes most of this ticket & Issue #13 contains the remainder.


Bundle unpacking doesn't retry after DeadlineExceeded even after resubscribing.

Bug Report

Seen something like this on twomany separate occasions now.
What did you do?

Installed a catalog-source and subscription at the same time.
Image pull hit the dockerhub rate limits, so the catalog-source bundle didn't come up.
The InstallPlan went into condition DeadlineExceeded with: Danger alert:Failed Bundle unpacking failed. Reason: DeadlineExceeded, and Message: Job was active longer than specified deadline
Came back later when the catalog-source was ready and recreated the subscription.
The new InstallPlan instantly went into condition DeadlineExceeded
Workaround: After much tinkering, found that deleting the failed job in openshift-marketplace and then creating the subscription allowed the install to proceed.

What did you expect to see?
When recreating a subscription, retry the bundle lookup even if the previous failed job exists.
What did you see instead? Under which circumstances?
A clear and concise description of what you expected to happen (or insert a code snippet).
When recreating a subscription, artifacts of the previous failed bundle lookup prevent a retry.
Environment

operator-lifecycle-manager version:

release-4.9

Kubernetes version information:

oc version
Client Version: 4.9.0-0.nightly-2021-07-16-011609
Server Version: 4.9.0-0.nightly-2021-07-16-011609

Kubernetes cluster kind:

OpenShift 4.9
Possible Solution
See if the bundle lookup job was the result of a previous installplan and recreate it instead of failing.
Additional context
Add any other context about the problem here.

So the expected flow would be when the subscription is recreated, recreate the unpack job versus now where the job stays in a failed state? It would require invalidating the "old" unpack job and configmap, even though they have the same name because the bundle is the same. Potentially we could use a hash of these names instead, or as an annotation somewhere.

Seems like we could have a ownership issue between the configmap and job unpacker, we could revise the ownerrefs to make this more intuitive.

There is another aspect to this: after a failed install due to a bundle unpack/pull failure, re-attempting to install the operator by removing the Susbcription and ClusterServiceVersion will run into the stale, failed instance of the previous bundle job. OLM will subsequently not attempt to install the operator because it can't overcome the failed bundle. The bundle should have been removed as soon as the InstallPlan or ClusterServiceVersion has been removed.
This is also seems to impact successful installs that are triggered by patching a Subscription to point to another CatalogSource, as part of testing operator upgrades. It could be a separate issue, but unless after removing the Subscription / ClusterServiceVersionyou also remove the succeeded unpack jobs, re-attempting to test an upgrade like this also fails.

I encountered this issue and resolved it by deleting the Jobs in the operator's namespace, and any InstallPlan too. Then I restarted the OLM operator.

@EronWright did you re-install the operator?  does your steps are similar as this KB: https://access.redhat.com/solutions/6459071

By simply deleting the job works. Thanks @EronWright


feat: add force_new_deployment variable

what

Added the force_new_deployment flag to force new task deployment of the service
Updated github configs

why

To make it possible to force a new deployment

references

https://github.com/cloudposse/terraform-aws-ecs-alb-service-task/pull/112

/test all

/test all

/test all


Implement DataTableDemoAccess to improve performance for demo model

To improve the performance for demo model database without license.

Don't forget to update this to also exclude slow tests:
https://github.com/DHI/mikepluspy/blob/main/.github/workflows/full_test_2024_1.yml#L61

@ryan-kipawa
slow marker has been added. It has been skipped for pytest.


Unclear how this page relates to "Overview of Reporting APIs for Enterprise customers" page

Hello,
I'm struggling to understand the differences between these two pages:
https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/ea-portal-rest-apis
https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/enterprise-api
Are they the same API?  Or different?  Could these pages please be improved to add clarity?
Thanks,
Chris

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

ID: 70716451-402a-451f-e66e-8dc6e60d0a05
Version Independent ID: b6fbd03c-a8c2-5da2-b552-87e31c9cfe21
Content: Azure Enterprise REST APIs
Content Source: articles/cost-management-billing/manage/ea-portal-rest-apis.md
Service: cost-management-billing
Sub-service: enterprise
GitHub Login: @bandersmsft
Microsoft Alias: banders

@chrisweis Closing this issue as duplicate of https://github.com/MicrosoftDocs/azure-docs/issues/76437
Duplicate of #76437


Show full screen image

How can i show a fullscreen image that i get it from firebase storage when i clicked on it ???

The Github issue tracker is for bugs and features requests for the Flutter SDK. Help and support questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community .


[Bug]: Server UI not loading

Is there an existing issue for this?

[X] I have searched the existing issues

What is the current behavior?
After deploying the server via docker and then I navigate to UI the page displays Loading... forever

.
What is the expected behavior?
The UI shows the dashboard
Steps To Reproduce

Deploy using steps from here on an M1 Mac running docker using the M1 image
Navigate to page

Version
Testsigma Community Edition

I am also facing the same issue

@aditya-qapitol @sseenivasan89 I had similar issues with my M1 machine specifically, can you shut down the server delete the db_data and ts_data and start the docker-compose again? Also, inside docker, you can remove the currently running images.
This is already raised internally, we will fix it in immediate release.

@amitpersonal007 is there an update to this issue? Im currently facing the same issue where it only shows 'Loading...'

Hi, I am facing the same issue. I am using M1

@logesh-kumar Can you provide the docker-compose.yml file you are using on your m1 mac ?


add a new label-warning using default orange color

this will make it into the next release.

Great !


List partitions for all topics

Description
I'm trying to get a list of partitions for all topics. The only way I can achieve this, it seems, is through the producer/consumer API. At this point in my application, I need neither a consumer nor a producer, since this is the bootstrap/setup phase of the app lifecycle. Is there a way I can get a partition list without having to instantiate a new Producer/Consumer?
Checklist
Please provide the following information:

[x] Confluent.Kafka nuget version: 0.11.4

No, you will need to instantiate one of those, and the Producer is cheaper, so I would go with that.

We've added an AdminClient to the 1.0-experimental branch and metadata requests are moving to that. This client is still a 'full' client (and in fact uses a librdkafka producer type client under the covers). Technically, only one working connection to the cluster is required in order to get all topic / partition information, but kafka easily handles 10k's open connections, so there shouldn't ever be any practical problems in doing using a full client (which opens connections to all brokers).


Upgrade strategy 1.5 => 2.0

Hi,
If we add devise 1.5 now to a Rails 3.1.3 project, will it be possible to migrate easily to 2.0?
Currently and for the near future, we use only very simple feature set from devise
(user log in with password).
Or should we bite the bullet and go for devise 2.0 at once?
Thanks.

You should be able to upgrade easily:
https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0
You can try it now. Any feedback is welcome!

Thank you, sorry for the redundant question.
Problem is that
https://github.com/plataformatec/devise/wiki
did not match any find on the word "Upgrade" ...
Maybe with the new 2.0 version, the Upgrade page needs to be listed higher up in the list of Wiki topics.

Maybe with the new 2.0 version, the Upgrade page needs to be listed higher
up in the list of Wiki topics.

That would be great. Could you please update the page yourself and make the
Upgrade page more explicit?
Thanks! :D

I did it already. Thanks :-)


tests: add pgsql cancel request tests - v3

Showcase CancelRequest postgresql message output.
Related to
Task #6577
Previous PR: https://github.com/OISF/suricata-verify/pull/1536
Changes from previous PR:

update CancelRequest message's fields, to be the same seen in the AuthenticationOk response - to ease correlation

Redmine ticket:
https://redmine.openinfosecfoundation.org/issues/6577

Suricata PR: https://github.com/OISF/suricata/pull/10039

This failing on both 7 and 8 will block merge of the suri pr.

This failing on both 7 and 8 will block merge of the suri pr.

I keep making that mistake >___<

Min-version check updated on https://github.com/OISF/suricata-verify/pull/1545


Workflow for renaming fields in client

Problem
Congrats on the beta release! :tada:
I saw the videos on YouTube, and have a question.
Here (https://youtu.be/NK2p6WNs7EY?t=74) and here (https://youtu.be/IEg68UqgNBA?t=37), the narrator manually updates and then re-updates the field names for relations between two models, which will be reflected in the client API. This is great to be able to do, and I'd gladly do it once - but is this the finished workflow, meaning that you'll have to redo these changes every time you update your schema and hence client?
Solution
To be able to provide names for specific fields once, and not have to do it again ever regardless of the number of introspections/generations of the client.

Hey, we will indeed implement something that keeps these changes if possible across Introspection runs: https://github.com/prisma/prisma/issues/2503 We call this "Re-Introspection" and will implement all kinds of details to hopefully make this awesome: https://github.com/prisma/prisma/labels/topic%3A re-introspection
I will close this issue now as the other one explicitly tracks the solution we are thinking of 🚀


Error - 'Firebase.h' file not found

I tried to buid with react-native run-ios for the first time and it gives me error:

here's my package.json:
{
  "name": "firestackApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "firebase": "^3.4.1",
    "react": "15.3.2",
    "react-native": "0.35.0",
    "react-native-firestack": "^2.3.0"
  },
  "jest": {
    "preset": "jest-react-native"
  },
  "devDependencies": {
    "babel-jest": "16.0.0",
    "babel-preset-react-native": "1.9.0",
    "jest": "16.0.1",
    "jest-react-native": "16.0.0",
    "react-test-renderer": "15.3.2"
  }
}

Can you guys help me how to solve this issue?

This has been fixed in master. I'll cut a new release.

Hi,
Can you explain what you say? i have the same problem too.
Thanks,

Still have this issue on v ^2.3.2

I tried to setup from the beginning and it works. Try these details steps:

Do react-native init your_app
Do npm install firebase --save inside your_app folder
Do npm install react-native-firestack --save
Do  react-native link react-native-firestack.
Inside ios folder in your project folder check your Podfile, edit your Podfile to be like these:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'

target 'firestack_app' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  use_frameworks!

  # Pods for firestack_app
  [
    'Firebase/Core',
    'Firebase/Auth',
    'Firebase/Storage',
    'Firebase/Database',
    'Firebase/RemoteConfig',
    'Firebase/Messaging'
  ].each do |lib|
    pod lib
  end

end

Do pod install from your terminal, and make sure everythings going well in this step.

------- Setup Firebase ------
7. Setup your firebase, Add Firebase to your iOS app, Make sure your iOS bundle ID is same with your iOS bundle ID from XCode.
8. Download your GoogleService-Info.plist file
------ Setup your XCode -------
9. Close your XCode project.
10. Check your_app folder/ios/ , you will find file your_app.xcworkspace. Open it. From now on, use this file to setup your xcode project.
11. Drag and drop your GoogleService-Info.plist file to your XCode project (See image below)

12. Save everything and close your XCode.
13. Now you can work from React Native project. (See this Usage Docs Usage Docs )
NB: I'm using MacOS


[OAuth2-plugin] JWT Token

It would be very useful if the OAuth2 plugin provided the ability to issue JWT tokens instead of reference tokens.  This would improve performance as it would avoid the need to peform queries when verifying a token.
Moreover, it would be even more useful if the plugin allowed to configure custom fields (and related values) to insert in JWT tokens for each Oauth2 application (for example by providing a "JWT" field when creating an Oauth2 application). All the custom info should then be forwarded to API insances.

@codebien Do you mean in place of using the X-Headers that are attached to the request to services upstream of the kong proxy?  That was my same consideration as well.

So I've posted a lot of my thoughts about why I think adding JWT support would be great for the tokens in #1023 , however I'll summarize here.
So to elaborate on JWT. My personal taste would be to use JWT over the following headers supplied to my microservice in it's current implementation. It concerns me that the microservice's user identity is contingent on the trust of the mutable headers added by Kong.
So the headers added by Kong for the upstream API are:

X-Consumer-ID, the ID of the Consumer on Kong
X-Consumer-Custom-ID, the custom_id of the Consumer (if set)
X-Consumer-Username, the username of the Consumer (if set)
X-Authenticated-Scope, the comma-separated list of scopes that the end user has authenticated (if available)
X-Authenticated-Userid, the logged-in user ID who has granted permission to the client
Contrast that with a (JWT)[http://jwt.io/], which is signed and therefore immutable. You can guarantee that from the time the access_token was verified to the time the upstream service received the request that was zero tampering to the identity information.

The idea would be for the existing access_token as a by reference token, and instead of the added X- headers convert that into a by value token, IMHO a JWT. Obviously this probably needs to be configurable.
We've already built some of this as an external server, but since the introduction of Kong it would be nice to move that functionality into Kong as well.
Here's the architectual concept laid out in (How To Control User Identity Within Microservices)[http://nordicapis.com/how-to-control-user-identity-within-microservices/]
@thefosk I would love to get your thoughts on this.  If it's heading in a direction you'd agree with I don't mind putting together a PR.

@ambros IMO we are talking of two slightly different questions
What I requested is to have kong issuing (customizable) JWT instead of reference tokens.
Then, how the information carried by the JWT is forwarded to upstream services is, IMO, of secondary importance.
What you are saying is, according to my understanding, to group the various X-Header (that are currently proxied to upstream services) in a JWT, is it correct? Then this is another issue.
IMO my issue has 3 different points to discuss:

Capability to issue JWT tokens instead of Reference tokens when an
API's user hit /ouath2/token.

Capability to insert custom fields into JWT tokens. They could de defined when an OAuthApplication is added, like this:

{
    "name": "test",
    "client_id": "SOME-CLIENT-ID",
    "client_secret": "SOME-CLIENT-SECRET",
    "redirect_uri": "http://some-domain/endpoint/",
    "jwt": {
        "myCustomField1": "user role",
        "myCustomField2": "user age"
    }
}

How to proxy the information carried by the JWT to upstream services. IMO, there are 3 possible ways:

Proxying the whole JWT as it is received after verification
Proxying only a JSON that contains the custom fields as a string in an X-Header
Proxying each custom field in a dedicated X-Header

@codebien I agree we're talking about JWT but at different sides of Kong. I believe adding support for JWT in generate for the token of oauth2 is a plus.

What you are saying is, according to my understanding, to group the various X-Header (that are currently proxied to upstream services) in a JWT, is it correct? Then this is another issue.

Yes I'm advocating using a Value JWT in place of the oauth identity X-Headers as it's immutable once signed.
On your 3 points:

Capability to issue JWT tokens instead of Reference tokens when an
API's user hit /ouath2/token.
I agree 100% on additiong JWT tokens as an option for access tokens when making requests to /oauth2/token.
Capability to insert custom fields into JWT tokens. They could de defined when an OAuthApplication is added
I think this would be nice to have and I would certainly like this information on the upstream service side. I'm assuming you means these would be derived?  Derived from what?

Also because JWT are only signed, not encrypted it's strongly cautioned against putting much information in the claims section.  So this is why I made reference to a "by reference token" that looks like this on the public side with a payload like this:
{
    "iat": 11111111,
    "exp": 2222222,
    "iss": "abcd1234dcba4321",
    "sub": "54321abcdf12345fdcba"
}

Where iss would be configured in Kong to represent Kong's identity as the issuer of the JWT.  The sub would be an opaque identifier that could be used by the frontend to make additional requests to other services to get more information about an identity.

3.How to proxy the information carried by the JWT to upstream services. IMO, there are 3 possible ways:

Proxying the whole JWT as it is received after verification
Proxying only a JSON that contains the custom fields as a string in an X-Header
Proxying each custom field in a dedicated X-Header

So this is the part I carried more about then the front end, mainly because I believe in opaque tokens or "reference" tokens on the front-end.  So the way things are today I'm okay with.  Obviously this is where we differ in opinion and features.
So on the back-end the Authorization header would set with a JWT "by value" token which would include all the existing X-header information today:

X-Consumer-ID
X-Consumer-Custom-ID
X-Consumer-Username
X-Authenticated-Scope
X-Authenticated-Userid

But in addition could contain information such as you suggested coarse grain role information probably out of the consumer database or a 3rd party store.  Basically enough information such that the microservices on the back-end don't need to lookup additional information to do anything.
All of that being said I believe that this should be configurable by the user of the plugin.  So if they wish to use the traditional opaque bearer tokens and X-Headers they can.

@ambrons We have developed a JWT plugin that generates a JWT (including Kong X-headers) for upstream API.
The JWT requires:

an authentication plugin to be enabled on the API
JWT credentials to be provided for the requesting consumer

I can make a PR to Kong, but I don't know if this is usefull for core.
The reason we have developed this plugin for an existing customer that want to standardize upstream info coming from Kong for all APIs as mentioned in your refering article.
The plugin can be used from Kong 8, and re-uses the jwt_parser lua file from the jwt plugin.

comments are welcome:
https://luarocks.org/modules/trust1team/kong-plugin-jwt-up

@t1tcrucible Thanks for the update.  I actually went another direction do to the eco system we're already running it we found alternatives.  That being said I'd be interested in looking at the plugin and providing feedback.

Our goal is to implement other authentication protocols, all resolving in signed JWT token (now HS256, but will go to RS256) for upstream.
Anyway, I'll PR to Kong - to see if it can be reviewed/commented.
Still have some tests to add.

Some additional information, for a customer we had the following issue:

an API is protected with JWT policy, and in need of a end-user token (the user has to perform a login, and a generated token is issued upon successful login).
the end-user can be authenticated towards the API, and the upstream server obtains the end-user context.
the application consumer, runs some background jobs, targeting the API aswell, but can authenticate using key-auth.
in any case (key-auth by application consumer, JWT for end-user requests) a JWT should be available for the upstream API (in our case signed with a certificate, thus RS256).

Problems we have:

combination key-auth + JWT demands both

We update the JWT-up plugin to always deliver a JWT for any authentication performed. This can be really particular, and maybe discouraged from a security perspective.
For example:

application consumer + key-auth => jwt credentials for app consumer are used in the plugin to generate on the fly a JWT before proxying to upstream + all Kong headers are transformed to claims
end-user + JWT => perfoms the same checks as the JWT policy + adds all Kong headers as claims to the JWT (and implicitly generates new JWT) before sending upstream

We don't have performance impact yet. But would be happy to have some feedback about the approach.

Does anyone have update about this issue?
@t1tcrucible do you still use your solution? Are you planning to merge it into kong repo?

Closing this issue as there has been no activity for a long time.


Conflicting @types/geojson dependency with terraformer

I am including this package as a dependency in a TypeScript project via npm install but the TypeScript compilation (tsc) fails due to an unresolved type dependency of @types/geojson:
node_modules/terraformer/terraformer.d.ts:40:30 - error TS2694:
Namespace '".../ldtreeBrowser/node_modules/@types/geojson/index"' has no exported member 'GeoJsonTypes'.

40  public type: GeoJSON.GeoJsonTypes;

This import happens in terraformer which is a dependency of terraformer-wkt-parser.
I dig a little bit into it and found that the problem comes because terraformer-wkt-parser has as a direct dependency "@types/geojson": "^1.0.0" (which installs v1.0.6) and at the same time installs the latest terraformer (v1.0.12) that includes  "@types/geojson": "^7946.0.0 || ^1.0.0", which in the end needs v7946.0.7 as it includes the missing export.
What I don't understand is why when cloning this repo and doing an npm install, the version of terraformer that gets installed is v1.0.8 which still had "@types/geojson": "^1.0.0", therefore being aligned with terraformer-wkt-parser.
My guess to fix it would be to bump geojson types on terraformer-wkt-parser to "@types/geojson": "^7946.0.0 || ^1.0.0" as well?
Apologies in advance if I am doing something wrong on my end.

What I don't understand is why when cloning this repo and doing an npm install, the version of terraformer that gets installed is v1.0.8

you can blame that on the package-lock.json.

My guess to fix it would be to bump to "@types/geojson": "^7946.0.0 || ^1.0.0" as well?

i'd expect that to do the trick too, but i'm not known for my TS anymore.

you can blame that on the package-lock.json.
Ah of course! I totally forgot about it. Thanks for clarifying.
i'd expect that to do the trick too, but i'm not known for my TS anymore.
I could do a PR if needed.

thanks for offering! i'm pretty sure two PRs are needed.

Terraformer

"optionalDependencies": { "@types/geojson": "^7946.0.0" },

because as you've found, v1.x doesn't actually compile.

terraformer-wkt-parser

"optionalDependencies": { "@types/geojson": "^7946.0.0 || ^1.0.0"  },

if you could make those changes and confirm everything compiles and plays nice together in a TS project, it'd be sincerely appreciated.


Regression in llama model inference due to #3005

Right now vllm tip/master running llama model result in the following:
File "/root/python/github.com/vllm/vllm/model_executor/layers/attention/backends/flash_attn.py", line 100, in forward
    output = PagedAttentionImpl.forward_prefix(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: PagedAttentionImpl.forward_prefix() takes 7 positional arguments but 9 were given

We have isolated the bug to merged PR https://github.com/vllm-project/vllm/pull/3005
@WoosukKwon

Fixed by #3286


Adding Manufacturer specific data into Advertising data

Hi,
I am kind of new to C++ and Bluetooth. I have just started using your server. I have successfully implemented a basic NUS based chat application by modifying your server code and standalone app code. Thanks for all your effort.
But I need to add manufacturer specific data into the advertising data. I could not find any easy way until now to do this. With my limited understanding, I realized that I have to change things much deep into your codes (e.g. using add Advertising command of management-api instead of set advertising command). But the problem is that I am afraid of chaning things without having a complete grasp (which I don't have at the moment).
p.s. I found a python based example where they provide a seperate method just to set this data. But I need  a C++ based solution.
Could you please help? Thanks in advance.

Hi,
I figured it out. Actually, I created a simple work-around. The setAdvertising() method Mgmt.cpp file has been modified. This method now disables the "setAdvertising" command and then uses "addAdvertising Command" to make use of a custom AD-Payload. I used only one instance, zero for all time related parameters, zero for all flags. I didn't use the scan response field. The whole raw-advertising data is provied as adv_data. This worked for me.

For those interested, I also did something similar as the FTaluk solution.
Here's my implementation in Mgmt.cpp that calls addAdvertising adding one 128-bit service UUID and a 8 chars short name into the advertisement packet:
// Start advertising with custom data
// Advertisement packet will contain: flags, shortName, uuid
bool Mgmt::addAdvertising(std::string shortName, const uint8_t* uuid)
{
    constexpr size_t ADVERTISING_SHORTNAME_MAX_LEN = 8;
    constexpr size_t ADVERTISING_UUID_LEN = 16;
    constexpr size_t ADVERTISING_MAX_DATALEN = 2 + ADVERTISING_SHORTNAME_MAX_LEN + 2 + ADVERTISING_UUID_LEN;

	struct SRequest : HciAdapter::HciHeader
	{
        uint8_t  instance;
        uint32_t flags;
        uint16_t duration;
        uint16_t timeout;
        uint8_t  advDataLen;
        uint8_t  scanRspLen;
        uint8_t  data[ADVERTISING_MAX_DATALEN];
	} __attribute__((packed));

	SRequest request;
	request.code = Mgmt::EAddAdvertisingCommand;
	request.controllerId = controllerIndex;
	request.dataSize = sizeof(SRequest) - sizeof(HciAdapter::HciHeader);

    request.instance = 1u;
    request.flags = 3u; // Connectable && Discoverable, see Bluez/lib/mgmt.h
    request.duration = 0;
    request.timeout = 0;

    size_t shortNameEffectiveLen = std::min(ADVERTISING_SHORTNAME_MAX_LEN, shortName.length());
    request.advDataLen = ADVERTISING_MAX_DATALEN - (ADVERTISING_SHORTNAME_MAX_LEN - shortNameEffectiveLen);
    request.scanRspLen = 0;

    request.data[0] = static_cast<uint8_t>(ADVERTISING_UUID_LEN + 1);
    request.data[1] = 0x07; // Incomplete UUID list
    memcpy(&request.data[2], uuid, ADVERTISING_UUID_LEN);

    request.data[2+ADVERTISING_UUID_LEN] = static_cast<uint8_t>(1 + shortNameEffectiveLen);
    request.data[3+ADVERTISING_UUID_LEN] = 0x08;  // Set short name
    memcpy(&request.data[4+ADVERTISING_UUID_LEN], shortName.c_str(), shortNameEffectiveLen);

	if (!HciAdapter::getInstance().sendCommand(request))
	{
		Logger::warn(SSTR << "  + Failed to start advertising with UUID");
		return false;
	}

	return true;
}

@stez-mind can you give more detail about the usage of Mgmt::addAdvertising?
It is not working for me. You have to do Mgmt::setAdvertising(0) after, right?

Hi @xuio,
sorry it has been quite a long time since I worked on this.
I just checked my implementation and I was not calling explicitly Mgmt::setAdvertising(0) directly from the C++ sources but I remember that I was doing a few tasks separately with a script calling hcitool.

@stez-mind Thanks for answering!
Can you share the context in which you call Mgmt::addAdvertising(...). Thanks!

@stez-mind: It would be super useful to get a bit of background information on how you constructed the request structure. Most of the things are self-explanatory. But scanRspLen confuses me.
If I assign the data length to it and set advDataLen to zero, theoretically this should send a scan response and not an advertising package. But that is not what is happening, at least not for me :(
The other thing that would be super helpful to know is how to raise the advertisement package max limit. I read that it is set to 1 by default. But I see no way to raise it.


[Bug]: CLoudfront ignore_changes=['origins[*].originPath']

What happened?
Expected Behavior
When adding the ignore_changes=['origins[*].originPath'] to cloudfront.Distribution(opts=...) I expect the origin path to be ignored (we change the path very often)
If I try to ignore_changes=['origins'] I will get the error:
aws:cloudfront/distribution:Distribution resource 'XXX' has a problem: origin.0.origin_access_control_id must not be empty, got . Examine values at 'XXX.origins'.

I have 2 origins, s3 bucket which has an origin_access_control_id and a lb origin which does not has origin_access_control_id
why am I getting this error?
If I remove the ignore_changes everything is working just fine.
note: I am using refresh: always
Actual Behavior
The origin path does get ignored but pulumi wants to change the origin(!) to a different one,
I have 2 origins, one that point to a load balancer and one that point to a s3 bucket.
I have origin_path set only on the s3 bucket origin, but when I use the ignore originPath, pulumi set the originPath to the lb instead of the s3!
~ [2]: {
                      ~ connectionAttempts   : 3 => 3
                      ~ connectionTimeout    : 10 => 10
                      + customOriginConfig   : {
                          + httpPort              : 80
                          + httpsPort             : 443
                          + originKeepaliveTimeout: 5
                          + originProtocolPolicy  : "https-only"
                          + originReadTimeout     : 30
                          + originSslProtocols    : [
                          +     [0]: "TLSv1.2"
                            ]
                        }
                      ~ domainName           : "<original origin (s3 bucket)>" => "<second origin (should not be here -> alb)>"
                      - originAccessControlId: "XXXXXX"
                      ~ originId             : "<original origin (s3 bucket)>" => "<second origin (should not be here -> alb)>"
                      ~ originPath           : "<stays the same>" => "<stays the same>"
                    }

Output of pulumi about
CLI
Version      3.97.0
Go Version   go1.21.5
Go Compiler  gc
Host
OS       ubuntu
Version  22.04
Arch     x86_64
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Thanks for reporting this @Rez0k and sorry that Pulumi is not working as expected for you. Could you please include a more complete program as well as output of pulumi about from your program directory that would include pulumi-aws version in the output? That would be very helpful for my team as we pick this up to debug what is going on. Appreciated!

Thanks for reporting this @Rez0k and sorry that Pulumi is not working as expected for you. Could you please include a more complete program as well as output of pulumi about from your program directory that would include pulumi-aws version in the output? That would be very helpful for my team as we pick this up to debug what is going on. Appreciated!

pulumi about output:
CLI
Version      3.97.0
Go Version   go1.21.5
Go Compiler  gc

Plugins
NAME    VERSION
aws     6.17.0
python  unknown
tls     5.0.0

Host
OS       ubuntu
Version  22.04
Arch     x86_64

This project is written in python: executable='/usr/bin/python3' version='3.10.12'

Backend
Name           XXX
URL            s3://XXX
User           XXX
Organizations
Token type     personal

Dependencies:
NAME                   VERSION
boto3                  1.34.36
boto3-stubs            1.34.36
Jinja2                 3.1.2
jsonschema             4.20.0
mypy-boto3-cloudfront  1.34.0
pip                    23.3.2
pulumi-aws             6.17.0
pulumi-tls             5.0.0
setuptools             69.0.3
wheel                  0.42.0

complete program:
def create(self, args: dict, opts = None):
    cf_origin_access_control = None
    if len(args['s3_origins']) > 0:
        cf_origin_access_control = cloudfront.OriginAccessControl(
            f'{args["env"]}-{args["s3_origins"][0]["origin_id"]}'[:64],
            name = f'{args["env"]}-{args["s3_origins"][0]["origin_id"]}'[:64],
            description = args['s3_origins'][0]['origin_id'],
            origin_access_control_origin_type = "s3",
            signing_behavior = "always",
            signing_protocol = "sigv4",
            opts=pulumi.ResourceOptions(parent=self)
        )

    cf_origins = []
    for s3_origin in args["s3_origins"]:
        cf_origin = cloudfront.DistributionOriginArgs(
            origin_id=s3_origin['origin_id'],
            domain_name=s3_origin['domain_name'],
            origin_path=s3_origin['origin_path'],
            origin_access_control_id=cf_origin_access_control.id
        )
        cf_origins.append(cf_origin)

    cf_custom_origins = []
    for custom_origin in args['custom_origins']:
        cf_custom_origin = cloudfront.DistributionOriginArgs(
            origin_id=custom_origin['origin_id'],
            domain_name=custom_origin['domain_name'],
            origin_path=custom_origin['origin_path'],
            custom_origin_config=cloudfront.DistributionOriginCustomOriginConfigArgs(
                http_port="80",
                https_port="443",
                origin_protocol_policy="https-only",
                origin_ssl_protocols=["TLSv1.2"],
                origin_read_timeout=custom_origin["origin_read_timeout"]
            )
        )
        cf_custom_origins.append(cf_custom_origin)

    # Create CloudFront default cache behavior
    default_cache_behavior = cloudfront.DistributionDefaultCacheBehaviorArgs(
        allowed_methods=args['default_cache_methods']['allowed_methods'],
        cached_methods=args['default_cache_methods']['cached_methods'],
        target_origin_id=args['default_cache_methods']['target_origin_id'],
        cache_policy_id=args['default_cache_methods']['cache_policy_id'],
        origin_request_policy_id=args['default_cache_methods']['origin_request_policy_id'],
        response_headers_policy_id=args['default_cache_methods']['response_headers_policy_id'],

        min_ttl=args['default_cache_methods'].get('min_ttl', 30),
        default_ttl=args['default_cache_methods'].get('default_ttl', 30),
        max_ttl=args['default_cache_methods'].get('max_ttl', 30),
        compress=args['default_cache_methods']['compress'],
        viewer_protocol_policy = args['default_cache_methods']['viewer_protocol_policy'],

        function_associations=[cloudfront.DistributionDefaultCacheBehaviorFunctionAssociationArgs(
            event_type='viewer-response',
            function_arn=args['default_cache_methods']['function_association_arn']
        )]
    )

    cf_ordered_cache_behaviors = []
    for behavior in args['ordered_cache_behaviors']:
        cf_ordered_behavior = cloudfront.DistributionOrderedCacheBehaviorArgs(
            path_pattern=behavior['path_pattern'],
            allowed_methods=behavior['allowed_methods'],
            cached_methods=behavior['cached_methods'],
            target_origin_id=behavior['target_origin_id'],
            cache_policy_id=behavior['cache_policy_id'],
            origin_request_policy_id=behavior['origin_request_policy_id'],
            response_headers_policy_id=behavior['response_headers_policy_id'],
            min_ttl=behavior.get('min_ttl', 30),
            default_ttl=behavior.get('default_ttl', 30),
            max_ttl=behavior.get('max_ttl', 30),
            compress=behavior['compress'],
            viewer_protocol_policy=behavior['viewer_protocol_policy']
        )
        if behavior.get('restrict_viewer_access'):
            cf_ordered_behavior.trusted_key_groups=[trusted_key_group.id]
        cf_ordered_cache_behaviors.append(cf_ordered_behavior)

    # Create CloudFront custom error responses
    cf_custom_error_responses = []
    for error_response in args['custom_error_responses']:
        cf_error_response = cloudfront.DistributionCustomErrorResponseArgs(
            error_code=error_response['error_code'],
            response_code=error_response['response_code'],
            error_caching_min_ttl=error_response.get('error_caching_min_ttl', 30),
            response_page_path=error_response['response_page_path'],
        )
        cf_custom_error_responses.append(cf_error_response)

    # Create CloudFront distribution
    distribution = cloudfront.Distribution(
        args['name'],
        enabled=True,
        comment=args['name'],
        default_root_object=args['default_root_object'],
        price_class=args['price_class'],
        aliases=args['alternate_domain_names'],
        origins=cf_origins + cf_custom_origins,
        default_cache_behavior=default_cache_behavior,
        ordered_cache_behaviors=cf_ordered_cache_behaviors,
        custom_error_responses=cf_custom_error_responses,
        restrictions=cloudfront.DistributionRestrictionsArgs(
            geo_restriction=cloudfront.DistributionRestrictionsGeoRestrictionArgs(restriction_type="none")
        ),
        viewer_certificate=cloudfront.DistributionViewerCertificateArgs(
            cloudfront_default_certificate=False,
            acm_certificate_arn=args['acm_certificate_arn'],
            minimum_protocol_version=args['minimum_protocol_version'],
            ssl_support_method="sni-only"
        ),
        opts=pulumi.ResourceOptions(parent=self, ignore_changes=["origins[*].originPath"]),
    )

    self.distribution_id = distribution.id

This is the program I have, I have a yaml config file that helps me to create the cloudfront distribution.
The problem is that when I try to ignore the originPath of each origin (I have 3) with ignore_changes=["origins[*].originPath"], one origin is deleted for no reason.
I can't understand why.
note: I use refresh always at my pulumi config.

Hi @Rez0k I'm having another look here, it would be really great to have a minimal fully working repro to make sure I narrow in on your exact issue. But it looks like I can make an educated guess.
Consider this program:
import pulumi
import pulumi_aws as aws

s3_distribution = aws.cloudfront.Distribution("s3_distribution",
    origins=[aws.cloudfront.DistributionOriginArgs(
        domain_name="mybucket2.s3.amazonaws.com", # change this
        origin_id="myS3Origin",
        connection_attempts=2,
        connection_timeout=10,
    )],
    enabled=True,
    default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(
        allowed_methods=[
            "DELETE",
            "GET",
            "HEAD",
            "OPTIONS",
            "PATCH",
            "POST",
            "PUT",
        ],
        cached_methods=[
            "GET",
            "HEAD",
        ],
        target_origin_id="myS3Origin",
        forwarded_values=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs(
            query_string=False,
            cookies=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs(
                forward="none",
            ),
        ),
        viewer_protocol_policy="allow-all",
        min_ttl=0,
        default_ttl=3600,
        max_ttl=86400,
    ),
    restrictions=aws.cloudfront.DistributionRestrictionsArgs(
        geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(
            restriction_type="whitelist",
            locations=[
                "US",
                "CA",
                "GB",
                "DE",
            ],
        ),
    ),
    viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(
        cloudfront_default_certificate=True,
    ),
    # opts=pulumi.ResourceOptions(ignore_changes=["origins[*].originPath"]))

If I provision this in Pulumi, and then change the origin, I get a confusing diff.
Due to the issue with how Pulumi handles set types:
https://github.com/pulumi/pulumi-terraform-bridge/issues/186
TF thinks that this change actually REMOVES one origin, and ADDS another origin instead of editing in-place, because it
computes a new identity key for the origin after the change. When translating this to Pulumi diffs it is very confusing.
We need to do better here as we are tracking in the above issue.
If at this point I add this:
opts=pulumi.ResourceOptions(ignore_changes=["origins"]))

Then it indeed suppresses the diff and pulumi up shows no changes as expected.
However if I try to do this:
opts=pulumi.ResourceOptions(ignore_changes=["origins[*].originPath"]))

It fails to suppress the diff and actually seems to be a no-op, this is a known issue tracked below but essentially it
also is an artifact of the problem that TF thinks this is a REMOVE, ADD diff:
https://github.com/pulumi/pulumi-terraform-bridge/issues/1756

If I start from an empty state and do this:
opts=pulumi.ResourceOptions(ignore_changes=["origins"]))

Then Pulumi might be copying prior state (no origin) which is indeed an error. So this bit may be working as expected.

https://github.com/pulumi/pulumi-aws/issues/2095 is another issue that runs into very similar problems with this resource.
I believe this is unrelated to using --refresh.  We'll circle back here when we have a good solution to the referenced issues.


GA dates for Orient DB 2.2

Can you give us an approximate date when OrientDB 2.2 will be GA. We are waiting for the fix for issue #4941.

Hi @shajigopal,
I will let the team answer for themselves.  However, you might find an answer to your question by monitoring this page:
http://orientdb.com/docs/last/Roadmap.html
It's been a few weeks since it was updated, probably because of the holidays.  It is updated fairly regularly.

Thank you @mmacfadden .

Docs updated.


Misc updates

Problem?
Coding standards need improvement. Contentful API is called on every navigation to the Portfolio page. No loading or error handling exists for async data fetching. A bunch of quality of life improvements could be made. No lazy loading of routes.
Solution!
Using .styled files for styled components now. Major updates to portfolio page to use session storage, have a loader, use a reducer, and improved structuring. Changing some conventions around how styled components are named and used.

Oh yeah, making this a bit more PWA-ish too.


feat: make initial theme mode to system dependent

Signed-off-by: Ayush P Gupta<EMAIL_ADDRESS>Description
This PR aims at making initial brightness to system dependent. Currently, the app always starts with light mode even if we have a system on dark mode.
Relevant ans: https://stackoverflow.com/questions/56304215/how-to-check-if-dark-mode-is-enabled-on-ios-android-using-flutter
Fixes #(issue)
Screenshots (if appropriate):
System running on dark mode

Type of change
Please tick the relevant option by putting an X inside the bracket

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

Checklist:

[x] My code follows the guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] All current GitHub actions pass
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings
[x] I have read the CONTRIBUTING document

Looks good as always, thank you!


Add advanceDateByTime

🚀 Feature Proposal
Jest has a great mocking for timers with useFakeTimers and advanceTimersByTime. It'd be very useful to have a similar set of utilities for setting the global Date.now() and manually advancing it.
Motivation
Testing Date related logic.
Example
An example of code that could be tested with this feature.
export type ElapsedTime = () => number;

export const createElapsedTime = (): ElapsedTime => {
  const mark = Date.now();

  return () => Date.now() - mark;
};

Pitch
Date related code is a central component of many modern applications. Being able to use the Jest ecosystem to test this code properly would expand the region of code that Jest can mock and test well.

Duplicate of #2234, will be solved by #7776


Build error with MSVC

The generated .rs.h file cannot be built with MSVC because of the unrecognized assert macro. If you could add the <cassert> include in there, it would fix the issue.

Thanks -- I've published 1.0.28 with a fix.

Thanks -- I've published 1.0.28 with a fix.


bump to 2.1.5

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Make options optional again

This was done incorrectly in #65
/cc @dbu

Parameter #3 $options of method Http\Message\MultipartStream\MultipartStreamBuilder::addResource() expects array{headers: array<string, string>, filename: string}, array{filename: string} given.

@dbu what about this one ?

thanks for the fix! https://github.com/php-http/multipart-stream-builder/releases/tag/1.4.1

This change seems to cause static analysis tools like (at least) Psalm to stumble over calls to addResource; see https://psalm.dev/r/1f410c9dd2 for a minimal reproduction case. I think the ? needs to be put outside the quotes.


Enhancements for a Smoother User Experience: Smooth Scrolling and Asynchronous Image Decoding 📱

Hi, this PR contains minor improvements:

Adding scroll-behavior: smooth CSS for a smoother user experience.
Adding decoding="async" for <img /> elements to decode images asynchronously, allowing other content to be rendered before image decoding completes.

LGTM 👍🏻


Split the 3 url parameters setter

ref #17 : the three response back url can now be different.

Hi Ghazi, I haven't actually tested this, but does it actually remove the ability to just set a single return url using the generic returnUrl parameter? If so, this would break many existing integrations (including mine!), and deviate away from the OmniPay principle of being able to swap between payment gateway drivers easily. One solution might be to let the setReturnUrl method just call the other methods, setting the individual urls to whatever was passed in the generic returnUrl param...
Cheers,
Andy

I thought about it and I was sure that it has bad implications. I like the backward compatibility fallback you have proposed and I will implement it.

Hi @GhaziTriki I have given you access to the repo so you can merge these yourself like Andy suggested. Just make sure to keep BC for @coatesap and write tests =)

Thank you very much. I am really grateful you have given me access to the repository.

You're welcome :+1:


Introduce engines

Problem
When I hear dependency I think of something third party thingy and putting neovim identifier inside it maybe is not a great idea. As this is the editor for which we are making the spec.
Solution
I would suggest to introduce a top level table named engines or something which can hold the first party version constraints like neovim itself.
engines = {
    neovim = ">=0.7.0",
    rpc = "0.7.0",
    -- lua = "LuaJIT",
    -- treesitter = "0.9.0",
    -- vim = ">8.2"
}

FAQ

What's this engines table can hold?

I am only considering first party components like neovim itself but other things can be added if the need arises.

Why name it engines?

This name is coming from package.json spec but it can be changed to better complement the neovim community.
Prior

package.json spec - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#engines

This could also effect https://github.com/nvim-lua/nvim-package-specification/issues/19

This is pretty much a duplicate of #19
neovim is not top-level, it's under dependencies. What I was thinking is just leaving those "special" dependencies, "engines" or whatever you want to call it under dependencies directly, and packages or external dependencies being a nested dictionary/table, like this:
dependencies = {
  neovim = "...",
  packages = {
    -- ...
  },
  rocks = {
    -- ...
  },
  external = {
    -- ...
  },
}

Just as Neovim doesn't have feature flags, we should minimise what handles we want to specify. For almost everything, the version of Neovim will be sufficient. There is no need to unnecessarily add bloat without good reason.

@numToStr I'm not against this, but I think you can just add them directly to dependencies.

So, RPC/vim I think should probably not be included. I could see an argument being made for checking the version of treesitter and luajit, but I don't think there is a real world usecase for the former, and the presence of the latter can be checked by vim.jit

@ii14 Defining neovim under dependencies felt kinda odd too me.
If I talk about others, rust also recently introduced a special rust-version field.

@mjlbach Yes. This is just a sketch, we can surely decide which fields should be defined.

So, RPC/vim I think should probably not be included.

@mjlbach Even if it appears useless and is not supported by the spec right now, I don't think we should rule out the possibility of something like this being useful in the future, or package managers just adding their own extensions to the spec, like some package manager for vim adopting this and adding vim field.

engines field also suggested in https://github.com/neovim/packspec/issues/41


Update unit test for merging smp

Description
xYieldPending and xIdleTaskHandle are extended to arrays in FreeRTOS SMP. This PR update the unit test for single core FreeRTOS and SMP FreeRTOS.

This PR should be merged before merging FreeRTOS SMP to main PR

Test Steps
Single core FreeRTOS test result can be found in github action.
FreeRTOS SMP test result can be found in this PR.
Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Close this pull request due to prioritization


Let us set chromecast volume

The chromecast device has a separate volume setting from your system volume, so it would be nice to be able to set it inside the menubar app.  Right now I have to go into the chromecast app to set the chromecast volume.
Thanks!

Hi @mahyar,
Very good idea. I think I know how to make it happen. I'll let you know how it goes.
Thanks for the feedback!

Hee!
Any updates on this subject? I'd like to set the volume also ;-)
I'm currently using the chromecast audio which has a different volume balance when used from my iPhone. When I run it on my mac it's around 25% of the maximum volume.
Kind regards,
Robbert

I second (or third) that!

I agree! This is a great app, but with volume control it will be an awesome app!

+1

+1!

+1 !
My Mac volume is too low, just 25% - 30% compared to my iphone with AllCast app.

+1 pls. Volume level from macbook is too low, i have to boost volume on my speakers to the max.

+1 Here - Fixing this would make the experience a HUGE amount better..

+1 Right now I've to boost volume on my audio player to max.


new STS with fixes for hotfix release

This PR fixes #18630
This PR fixes #18615

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.232%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
14797

Relevant Lines:
29111

💛  - Coveralls


Add main-branch build icons to README.

This PR adds a column for main branch Jenkins jobs to our README. I'm keeping the 5.10 jobs here for now (until we drop remaining support, anyway.)
Here's what it looks like:

Checklist:

[x] Code and documentation should follow the style of the Style Guide.
[x] If public symbols are renamed or modified, DocC references should be updated.

@swift-ci please test


Use > as redirect operator for output files

Seeing multiple failure of the default out.md file missing, so assuming this change would be able to fix the issue. I maybe wrong in my assumption. Failed Github action runs:

https://github.com/balena-io/docs/runs/5267559383?check_suite_focus=true
https://github.com/balena-io/docs/runs/5250397725?check_suite_focus=true

Right now runs are passing even though the error code might suggest that the run failed. But, I probably don't have the right idea behind this.

“>” overwrites an already existing file or a new file is created providing the mentioned file name isn’t there in the directory. This means that while making changes in a file you need to overwrite certain any existing data, use the “>” operator.

Can't add you as a @mre reviewer, so pinging.

Oh yeah that totally makes sense. I broke it during refactoring quite a while ago. Surprised that no one reported it before.
Thanks for fixing this. I cut v1.3.1 for that.

Thanks for creating such a great tool. Happy to help! @mre


Error: ENOENT: no such file or directory, open '.csslintrc'(when using gulp with meanjs)

[07:44:35] Using gulpfile /usr/share/nginx/html/www.vipco.fr/gulpfile.js
[07:44:35] Starting 'default'...
[07:44:35] Starting 'env:dev'...
[07:44:35] Finished 'env:dev' after 138 μs
[07:44:35] Starting 'copyLocalEnvConfig'...
[07:44:35] Starting 'makeUploadsDir'...
[07:44:35] Finished 'makeUploadsDir' after 435 μs
[07:44:36] Finished 'copyLocalEnvConfig' after 26 ms
[07:44:36] Starting 'lint'...
[07:44:36] Starting 'less'...
[07:44:36] Finished 'less' after 588 ms
[07:44:36] Starting 'sass'...
[07:44:36] Finished 'sass' after 20 ms
[07:44:36] Starting 'csslint'...
[07:44:36] Starting 'eslint'...
/usr/share/nginx/html/www.vipco.fr/node_modules/rcloader/index.js:39
if (err) throw err;
^
Error: ENOENT: no such file or directory, open '.csslintrc'
at Error (native)

Support questions should be directed to StackOverflow.


Add Square shape

Add Square shape.
Just like we have Ellipse and Circle. We could have Rectangle and Square.
The API
s = Square()
s = Square(size=200)
s = Square(center=Point(x=100, y=100), size=200)

Attributes
The square object will have the following attributes:

center
size
width
height

The value of height and width attributes would be same as the size.

@amitkaps what do you think?

size normally refers to area. Maybe length is more idiomatic?

Not doing this. We leave that as exercise for students.


Details of point cloud alignment and how to bring in custom datasets to the eval pipeline

Hi authors,
Great work! Can you please share more details about the pointcloud alignment mentioned in your paper below:

To ensure cohesion across various sources, we conduct preprocessing steps such as room segmentation, point subsampling, axis alignment, normalization, and semantic label alignment.

In essence, can you share a code snippet of how to do this alignment for a new dataset. Does it also work for a completely different setting, i.e. can we align the point clouds in the same way for a robotics dataset or a table-top setting for zero-shot evaluation? Thanks for your help in advance!

Hi, we have released the instructions preprocess/README.md and an example script for data preprocessing and alignment in preprocess/rscan.py. Note that for zero-shot transfer to robotics or table-top settings, fine-tuning may be necessary, as the vision encoder and alignment are optimized for indoor scene domains. Achieving effective generalization in this context may not be straightforward.

Thanks so much. CLosing this issue!

One quick question: Can you please elaborate, what do you mean by close-vocabulary training? Based on my understanding, your pretraining is general alignment between 3D and language and hence is this step absolutely necessary for your pretraining step?
This is optional for SceneVerse training but may be required for closed-vocab training

Hi, the closed vocabulary training means using a model with a class prediction/classification head which is supervised by a fixed class of semantic labels (i.e., ScanNet 607). As in SceneVerse we directly aligned 3D and language, there is no need for such head and hence it does not necessarily requires mapping your class label to 607 (since you can use the original labels directly for alignment). However, if you want to use a classification head or models trained on ScanNet, then you probably want to map your classes to 607.

Thank you, your answer aligns with my understanding of your pretraining.


[QUESTION] Receiving notifications at the same time with delay

Scenario:

I send a notification to my friend's phone. He didn't receive my notification.
Then he send me a notification to my phone, I receive the notification.
I send a notification to my friend's phone. He didn't receive my notification.
Then he send me a notification to my phone, I receive the notification.
I send a notification to my friend's phone. He didn't receive my notification.
Then he send me a notification to my phone, I receive the notification.
(no matter if the app is open or in background)

After few minutes, he receives 3 notifications at the same time.
He has a Moto G 4 Generation
Expected Behaviour
Receive one notification for each push I send
Actual Behaviour
He receives notifications at the same tieme after a few minutes (with delay)
Those are my function in my php server:
function sendNotification($registrationIds, $title, $message, $date){
	$log = CargarConfiguracionesIniciales();

	$msg =array(
                                    'title'		=> $title,
				'message'   		=> $message,
				'style'				=> "inbox",
				'summaryText'		=> "You have%n% notification",
                'soundname'			=> "default",
                'priority'			=> 2,
                'no-cache'			=> 1,
                'vibrate'           => 1,
                'forceShow'         => true,
				'content_available' => 1,
				'typeNotification'	=> (int) 6,
				'date'		=> $date);

	$fields = array('registration_ids'  => $registrationIds,
					'data'              => $msg);

	$headers =array('Authorization: key=' . API_ACCESS_KEY,
					'Content-Type: application/json');

	return json_encode(enviar($headers, $fields, $log));

}

What-s going wrong here?
Version: phonegap-plugin-push 1.10.2 "PushPlugin"
Thanks for helping!

@fgagneten sorry this is not a problem with the push plugin. There is no guarentee in quality of service when you send push notifications. There is nothing I can do in the plugin to get GCM/FCM/APNS to deliver the messages in a timely manner.

But I received notification at the same time that he sent to me, so... the problem is not related with the services of GCM

The plugin shows the push notifications when they arrive, if you friend's phone display all of them at once after a while it's because of the device receive them all at once, not because the plugin.
The device or Android version might have some battery saving feature that makes it not receive the push.
You can try to set the priority to "high" or "10", that should wake the device sooner, right now you are using 2, which is bellow normal (5)

@jcesarmobile nope, 2 is maximum priority. https://github.com/phonegap/phonegap-plugin-push/blob/v2.0.x/docs/PAYLOAD.md#priority-in-notifications
@fgagneten you can capture some logs to see if the plugin is delaying the display of the messages but I highly doubt that to be the case.

Ah, sorry, I didn't notice it was part of the payload, but it's still worth looking into the priority param for FCM/GCM when sending the notification from the server to them.

Yes, that would be useful. The priority I mentioned is for where it gets
displayed in the notification shade.


touch-action style is not removed on destroy

After calling destroy I still see touch-action: pan-y in the style attribute of my container.

Seeing similarly, the touch-action:none style attribute on my container after destroy called.

@arschmitz to fix this we would have to keep track of whether we were the ones to have set the touchAction property.  Perhaps we could cache any older / existing values and replace with that when tearing down?

Or register a data attribute for this? data-hammer-prev-style? And put it back to the previous value when destroying?

I add feature about this issue. #900


Class FormApi not found.

必須項目 (Required items)

ServerOS:

PHP version:

Minecraft version:

Texter version: 2.3.0

issue(s):
Hi, I'm running the plugin for the first time and I'm encountering the problem of the plugin not being loaded, and this is the error.

[23:03:10] [Server thread/INFO]: Enabling Texter v2.3.0
[23:03:10] [Server thread/CRITICAL]: Error: "Class 'tokyo\pmmp\MCBEFormAPI\FormApi' not found" (EXCEPTION) in "Texter-master/src/tokyo/pmmp/Texter/Core" at line 256
[23:03:10] [Server thread/DEBUG]: #0 Texter-master/src/tokyo/pmmp/Texter/Core(135): tokyo\pmmp\Texter\Core->initFormApi()
[23:03:10] [Server thread/DEBUG]: #1 src/pocketmine/plugin/PluginBase(90): tokyo\pmmp\Texter\Core->onEnable()
[23:03:10] [Server thread/DEBUG]: #2 DevTools.phar/src/FolderPluginLoader/FolderPluginLoader(127): pocketmine\plugin\PluginBase->setEnabled(boolean 1)
[23:03:10] [Server thread/DEBUG]: #3 src/pocketmine/plugin/PluginManager(576): FolderPluginLoader\FolderPluginLoader->enablePlugin(tokyo\pmmp\Texter\Core object)
[23:03:10] [Server thread/DEBUG]: #4 src/pocketmine/Server(1920): pocketmine\plugin\PluginManager->enablePlugin(tokyo\pmmp\Texter\Core object)
[23:03:10] [Server thread/DEBUG]: #5 src/pocketmine/Server(1906): pocketmine\Server->enablePlugin(tokyo\pmmp\Texter\Core object)
[23:03:10] [Server thread/DEBUG]: #6 src/pocketmine/Server(1700): pocketmine\Server->enablePlugins(integer 1)
[23:03:10] [Server thread/DEBUG]: #7 src/pocketmine/PocketMine(305): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string /root/pmmp/, string /root/pmmp/plugins/)
[23:03:10] [Server thread/DEBUG]: #8 /root/pmmp/PocketMine-MP.phar(1): require(string phar:///root/pmmp/PocketMine-MP.phar/src/pocketmine/PocketMine.php)
[23:03:10] [Server thread/INFO]: Disabling Texter v2.3.0
[23:03:10] [Server thread/INFO]: Starting GS4 status listener
[23:03:10] [Server thread/INFO]: Setting query port to 19132
[23:03:10] [Server thread/INFO]: Query running on <IP_ADDRESS>:19132
[23:03:10] [Server thread/INFO]: Default game type: Survival Mode
[23:03:10] [Server thread/INFO]: Done (0.408s)! For help, type "help" or "?"
[23:03:10] [Server thread/NOTICE]: [Texter] Latest version: v2.3.0 / No update needed

Hi @CaptainDuck .
This error occurs because submodules are not included when downloading with zip.
Sorry to trouble you, but please use the phar built from poggit.
here

Hello, thanks for your reply, I only use the zip to update the API to Alpha 11.
Thanks for the information :)

Please close isuue if it can be used normally.
Thank you for using the plugin.

Close it because there is no reply. Thank you for your report!


instanceof with generic type tends to taint code with "any", even if the type parameter's value is obvious

See the example below.  Flow should know that in this case, a instanceof B implies (a: B<T>).  But instead it just gives up on choosing a type parameter for B and goes with (a: B<any>) like a chump.
    class A<T> {}
    class B<T> extends A<T> { t: T; }

    function f<T>(a: A<T>)
    {
    	if (a instanceof B)
    		return a.t;  // works fine, but Flow thinks a is B<any>, not B<T>
    }

    let b = new B<number>();
    b.t = 1;
    let t = f(b);  // t has the following type: any | void
    if (!t) throw new Error();  // here void is ruled out...
    let s: string = t;  // ...so only any is left, and therefore Flow sees no error here :(

This is pretty annoying in my current project.  Maybe Flow could be smarter about this?

The inference seems to work a bit better if you change the signature to
function f<T>(a: A<T> | B<T>)

At least in this case, you could also explicitly add the return type
function f<T>(a: A<T> | B<T>): void | T

Changing the signature that way is something I want to avoid because it requires me to enumerate the whole A hierarchy in many cases.  Too much extra stuff to remember and type, too many duplicated details to have to maintain in the future.
Adding an explicit cast somewhere from any to T is fine, when I notice the problem to begin with.  But sometimes I might fail to notice that an any has snuck in.  I want that dangerous type to only appear where I explicitly specify it!  In this case, I'd prefer it if Flow would just use mixed instead...  then I would at least notice the problem!
Maybe there's some configuration setting that lets that happen, I don't know.  I tried using the unclear-type linting rule but it just disallowed explicit any that I typed myself.  The any here is unaffected by that because it's "implicit" (according to Flow).

Yea this is a soundness hole in Flow that we have wanted to fix for a while. The issue is that there isn't really a nice behavior here;  refining a to B<any> is obviously unsound, but refining to B<mixed> would result in errors whenever you tried to access its generic properties.
Luckily @mvitousek has some in progress work that is going to make this change a lot easier, so hopefully we can get to it soon.


trainings for new customers

Acceptance Criteria tbd (based on feedback from users?).
Cloud Foundry training for technical customers --> we should tap into existing resources like https://www.cloudfoundry.org/training
cc @mogul @berndverst

My agendas from past trainings I've run: https://docs.google.com/document/d/1N0VQf5y0ZeO-9BS0Xk1W2p-YetF7HUqzSB4D-Kj7MXw/edit

Navin expressed interest in having a training for his team. We'll keep circling back to him to see what he needs - might make most sense to start by shaping it to what he's looking for?

@nvembar ^

/cc @berndverst

Talk to Steve Greenberg about his previous work to develop the official training materials and certification exam for the CF Foundation!


Support _sort with _include and _revinclude

Is your feature request related to a problem? Please describe.
In SearchUtil.java we have the following code snippet:
if (queryParameters.containsKey(SearchConstants.INCLUDE)
                || queryParameters.containsKey(SearchConstants.REVINCLUDE)) {
            // Make sure _sort is not present with _include and/or _revinclude.
            // TODO: do we really need to forbid this?
            if (queryParameters.containsKey(SearchConstants.SORT)) {
                throw SearchExceptionUtil.buildNewInvalidSearchException(
                        "_sort search result parameter not supported with _include or _revinclude.");
            }

I think we made that simplifying assumption when this was first implemented; we weren't sure what the proper behavior would be (should the sort apply to the include resources or just the match resources?).
Now I'm pretty confident that it should only apply to the match resources and I think we should be able to support these parameters when used in combination.
Describe the solution you'd like
Apply the _sort to the search so that we get the first _count target resources that match the query.  Then add in the include/revinclude resources for this page of results.
Describe alternatives you've considered
Continue to disable the use of these parameters together.
Additional context

I verified this via the following queries in our connectathon environment:
{{baseUrl}}/ExplanationOfBenefit?_include=ExplanationOfBenefit:*&_sort=_lastUpdated&_elements=meta
returned 4 EOB resources, properly sorted by their Resource.meta.lastUpdated values, followed by included Coverage, Organization, and Patient resources.
{{baseUrl}}/ExplanationOfBenefit?_include=ExplanationOfBenefit:*&_sort=-_lastUpdated&_elements=meta
returned 4 EOB resources, reverse sorted by their Resource.meta.lastUpdated values, followed by included Coverage, Organization, and Patient resources.


cargo test does not give file name for panics in macros

Description:
If a test case fails with a panic inside of a macro invocation, the test file name is not included in the stack trace.
Steps to reproduce:
$ cargo new test-macro-panic
$ cd test-macro-panic
$ $EDITOR src/lib.rs

// src/lib.rs
#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
        use std::collections::HashMap;
        let x: HashMap<&str, &str> = HashMap::new();
        assert_eq!(x["y"], "z");
    }
}

Actual output:
$ cargo test
   Compiling macro-hiding v0.1.0 (file:///tmp/test-macro-panic)
     Running target/debug/test-macro-panic-1d0aa276665db59b

running 1 test
test tests::it_works ... FAILED

failures:

---- tests::it_works stdout ----
	thread 'tests::it_works' panicked at 'no entry found for key', ../src/libcore/option.rs:704
stack backtrace:
   1:     0x55a4eb5b84a0 - sys::backtrace::tracing::imp::write::h3675b4f0ca767761Xcv
   2:     0x55a4eb5bae5b - panicking::default_handler::_$u7b$$u7b$closure$u7d$$u7d$::closure.44519
   3:     0x55a4eb5baa13 - panicking::default_handler::h18faf4fbd296d909lSz
   4:     0x55a4eb5aebec - sys_common::unwind::begin_unwind_inner::hfb5d07d6e405c6bbg1t
   5:     0x55a4eb5af038 - sys_common::unwind::begin_unwind_fmt::h8b491a76ae84af35m0t
   6:     0x55a4eb5b7911 - rust_begin_unwind
   7:     0x55a4eb5ea3ef - panicking::panic_fmt::h98b8cbb286f5298alcM
   8:     0x55a4eb5eedd4 - option::expect_failed::ha2bedd125befb493uGO
   9:     0x55a4eb56fcdf - option::Option<T>::expect::h665506949329256301
                        at ../src/libcore/option.rs:298
  10:     0x55a4eb56fc7f - collections::hash::map::HashMap<K, V, S>.Index<&'a Q>::index::h10240939780779725218
                        at ../src/libstd/collections/hash/map.rs:1315
  11:     0x55a4eb56de4b - tests::it_works::h6327751ca14abcfdgaa
                        at /tmp/test-macro-panic/<std macros>:7
  12:     0x55a4eb591db6 - boxed::F.FnBox<A>::call_box::h12974170719861018744
  13:     0x55a4eb5944ab - sys_common::unwind::try::try_fn::h16547832986514587285
  14:     0x55a4eb5b789b - __rust_try
  15:     0x55a4eb5b506d - sys_common::unwind::inner_try::hadd81c754a64f07ciYt
  16:     0x55a4eb59482a - boxed::F.FnBox<A>::call_box::h8956144540797489804
  17:     0x55a4eb5b9909 - sys::thread::Thread::new::thread_start::h9bc812305b5e01feFPy
  18:     0x7f3f40fc0423 - start_thread
  19:     0x7f3f40ae9cbc - clone
  20:                0x0 - <unknown>

failures:
    tests::it_works

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured

Notice that backtrace segment number 11 says that the error occurred in test-macro-panic/<std macros>:7.
Expected output:
…
  11:     0x55a4eb56de4b - tests::it_works::h6327751ca14abcfdgaa
                        at /tmp/test-macro-panic/src/lib.rs:7
…

Thanks for the report! This actually has to do with the test harness rather than Cargo itself, so could you open up a bug on rust-lang/rust instead?

Sure. Filed as rust-lang/rust/issues#32981.


Apply package collection validations at SQL level

We're filtering out latest versions post SQL selection, which means that collections like vapor still incur the big cost of returning and decoding all versions. We should move this to the SQL level.

This is not simple. We're currently selecting at the package level via Package → (1:1 join) → Repository. In order to filter on Version, we'd need to add a 1:n join on Version.
Now since Fluent includes all fields in the select clause, this leads to duplicate packages if they have more than one matching version. unique doesn't help here, because the different versions break it and it's not obvious how we could apply it via Fluent. (Well, it's easily applied but it doesn't unique the [Package] array.)
One option is to make Package Hashable and run it through Set(). However, we still need to filter the versions client side, because the Package brings back the invalid versions. So we don't really gain anything here (except for cases where there are lots of packages without any valid versions).

The way to tackle this is to start the selection from Version rather than Package. We'd still keep versions without products but we can't really prune the selection tree from all angles without resorting to raw SQL and lots of fiddling.

I've already addressed this via a JOIN of signification versions with the Package and Repository join, as part of #1072. Not merged yet but it will be as part of that issue, so this is a duplicate essentially.


Datepicker is not working with IE11

Description

The following code works with Chrome but not with IE11.
The examples from https://elemefe.github.io/element-react/#/zh-CN/date-picker works with IE11
Button and other modules work

Reproduce Steps
import 'react-app-polyfill/ie11';
import React from 'react';
import ReactDOM from 'react-dom';
import { DatePicker,Button } from 'element-react';
ReactDOM.render(<DatePicker/>, document.getElementById('root'));   // src/index.js:33

"react": "16.13.1",
"react-dom": "16.13.1",
"react-scripts": "2.1.2",
"react-app-polyfill": "0.2.2",
Error Trace (IE11 F12 Console )
SCRIPT438: 对象不支持“includes”属性或方法
1.chunk.js (61662,57)
Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

Move data fetching code or side effects to componentDidUpdate.
If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: Component
The above error occurred in the  component:
in Component (at src/index.js:33)
Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.
SCRIPT438: 对象不支持“includes”属性或方法
0.chunk.js (186849,24)

Sorry ,IE11 does not have an Object.includes . I've tried to polyfill it :
  if (!Object.prototype.includes) {
    Object.prototype.includes = function(search, start) {
      if (typeof start !== 'number') {
        start = 0;
      }

      if (start + search.length > this.length) {
        return false;
      } else {
        return this.indexOf(search, start) !== -1;
      }
    };
  }


add slack variables

needs to use sha from https://github.com/k8guard/k8guard-action/pull/30 and https://github.com/k8guard/k8guardlibs/pull/22 if merged

this is truly great ! @r0fls

Whoops, no need to update any SHAs here since it just clones the master of each repo. This should be good to go now.


[Fix-5904][upgrade]fix dev branch upgrade mysql sql script error

Purpose of the pull request
this close #5904

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

Merging #5821 (235711f) into dev (1f0c67b) will increase coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #5821   +/-   ##
=========================================
  Coverage     45.01%   45.01%
  Complexity     3656     3656
=========================================
  Files           607      607
  Lines         24888    24888
  Branches       2835     2835
=========================================
+ Hits          11203    11204    +1
+ Misses        12613    12612    -1
  Partials       1072     1072

Impacted Files
Coverage Δ

...er/server/worker/task/AbstractCommandExecutor.java
18.27% <0.00%> (ø)

...er/master/dispatch/host/assign/RandomSelector.java
83.33% <0.00%> (+5.55%)
:arrow_up:

Continue to review full report at Codecov.

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

Best to follow the naming convention

done.

Best to follow the naming convention

done.

seems not any change：）


upd xdg package

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 29.008%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1328

Relevant Lines:
4578

💛  - Coveralls


Scala 3 migration

In a nutshell:

[x] Braces are gone from class, trait, module definitions, in favour of indentation sensitive syntax
[x] if-then-else, for-yield use less parentheses/braces and follow a more classic design (more ML/Haskell/Python like)
[x] Package objects are gone. Now this stuff is moved to the top-level in the file which used the types and values (this was mostly used to name types)
[x] Lambdas with pattern matching get simplified.  This helps whenever we map, filter, etc on collections of tuples.  The case keyword basically disappears
[x] switch implicit classes to extensions
[x] switch implicits to given/using
[x] remove names of given instances
[x] implicitly to summon

I think we are ready.
This will also allow working on issue #34


Simplify overlay handling and fix scroll bug

Closes FRO-1051

Possible to simplify even more with pure css.


Add Battery monitor

The batteries can become damaged if their voltages drop too low. A ros-node that informs and warns of the levels should be added. Additionally it should stop the drone if the voltages reach a critical level

These docs should give you everything you need in terms of monitoring functionality for the Xavier. If the voltage dips below 14V, this ROS node should spam the console with a ROS_FATAL message, before killing the entire Xavier. Since the drone is positively buoyant, it will float to the surface after this.
This approach leaves the DVL and sonar still running. If the electronics group is nice enough, we will be able to control the killswitch from a GPIO port on the Xavier.

Where should the monitor files be located, should it have it's own top-level folder? It doesn't seem to fit in any of the other ones

I think it makes sense to out it in Mission, as the monitor is very relevant to the abortion of a mission

From: Stefan Mack<EMAIL_ADDRESS>Sent: Monday, February 22, 2021 10:57:55 AM
To: vortexntnu/Vortex-AUV<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [vortexntnu/Vortex-AUV] Add Battery monitor (#163)
Where should the monitor files be located, should it have it's own top-level folder? It doesn't seem to fit in any of the other ones
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/vortexntnu/Vortex-AUV/issues/163#issuecomment-783250329, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEGHIDF6XELKTMXINIFPXALTAITCHANCNFSM4X7CDGCA.

If the electricity gets transformed before it's delivered to the drone, it could obscure the voltages of the batteries. I've asked Electrical for aid in remedying this.

I've talked to them, and apparently the electricity doesn't get converted, this resolves the problem

I have checked the commands on the Xavier, the voltages concur with the power cable, though power and current seem to deviate. The values are provided in plaintext with no units or text attached, it is worth to mention that the voltages are provided in millivolt


Fake Schematics not Unloaded fully

The output of /version on my server is:
This server is running CraftBukkit version git-Spigot-56f8471-606c19e (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
The output of /version denizen on my server is:
Denizen version 1.1.1-SNAPSHOT (build 4255-DEV)
(If relevant) A link to a paste of a script demonstrating the issue:
/ex schematic paste name:lava_ball <player.location> fake_to:<server.list_online_players> fake_duration:10s
The issue is:
It seems that when using the newly added fake options for the schematic command, it has issues unloading parts that intersect chunks. Please see image:

This image is of several runs of the above mentioned command. It loads in a sphere of lava and then should remove it after 10 seconds.

Replicated, and fixed in latest builds (which also feature the new schematic persistence system!)