[Design Proposal] Offline Background Tasks

Background
Offline/Background Nodes(RFC) to offload background work provides the required segregation to allow core operations(ingestion/search) to run and scale predictably on the dedicated online fleet(data nodes) while Offline nodes provisioned takes care of crunching through all the background work.
The offline nodes behave much differently from the existing Nodes in the cluster(Data/ClusterManager). They don't host any shards, not eligible to be Cluster Manager and nor can they participate in its voting. They exists to just perform background work.
Challenges
Introduction of Offline Nodes will require us to tackle multiple problems. Here are two High Level Problems we need to solve:

Task Management: Offloading of work to Offline Nodes needs to be orchestrated to ensure healthy administration of work.
Task Modelling: Each operation targeted to run on Offline Node needs to be refactored and modularized as independent task units as compared to being entangled with various unnecessary dependencies.

Apart from that, we need to consider solutions for some low level problems which arise with Offline Nodes in place.

Multiple Writers for single Shard - Today, we work with the assumption that only a single writer exists for a single Shard’s Remote Segments Store. But with Offline Nodes, multiple writers can exist for Remote Segment Store.

We will share a dedicated proposal for both these low level problems.
To keep this discussion manageable, we pertain ourselves to “Merge” Background Task to begin with. Later similar approaches can be followed for other Background Tasks.
Task Management
Requirements

Strong SLA of work completion if successfully submitted.
Uniform Distribution across the Offline Nodes.
Prioritized scheduling - High Priority Tasks get preference over other.
Support retry and ability to resume tasks.

Proposal
To ensure the above requirements are satisfied in a system like Opensearch, any background “work” submission should go through a Persistent Task Store which acts as Queue, allowing available “work“ers to perform work at their own pace without getting overwhelmed and allowing system to smoothly handle any spikes in amount of work to be completed.

Task Store/Queue can be implemented in multiple ways and different implementations might appeal to different set of users, each constituting of different set of complexities in terms of validations, security etc. A few examples of a Queue implementation might be:

Within the same Opensearch cluster using an System Index or ClusterState - PersistentTaskCustomMetadata
Integrate with a Cloud Native distributed database providing Queue like functionality. ex: Apache Cassandra, Apache Kafka
A dedicated Cloud Service encapsulating the Queue. ex: A Serverless Compute Functions encapsulating a Queue Database. This provides better extensibility for complex validations and usecases.

Allowing users to build their preferred implementation of Queue which is extensible enough to allowing them to seamlessly integrate and cater to their use is of paramount importance. Keeping this in mind, we provide Abstractions over Task Management which helps users leverage Offline Nodes without compromising on their internal intricacies.

Above Abstractions are provided as part of a new library in :libs (offline-tasks). Using the above abstractions, each user is free to plugin their own implementations of the Task Management.
A sample local implementation POC using PersistantTasksCustomMetadata is provided here. Similarly a more scalable implementation could be put in place by using a dedicated system index and building queuing logic around it.
Task Modelling
Requirements

Operations targeted to be run on Offline Nodes should exist independently as a Task Unit with minimum dependencies.
Each Task Unit should be independently maintainable and deploy-able.

Proposal
To run operations on Offline Nodes, we need to extract the operation out and model as a “Task”. This allows independent execution of these operations without the unnecessary dependencies/components they are entangled with today.
To achieve that, each operation, ex Merge, Snapshot, RemoteGC etc., would be extracted out as independent Task Unit in a separate Module/Plugin, preferably in dedicated Repository, to allow independent development, maintenance and release. Each Offline Node installs the configured Task Modules/Plugins to run the submitted Tasks.
There is an ongoing effort to break apart the Opensearch :server monolith, proposed in #5910, targeting to refactor the :server monolith and move out components to :libs :modules and :plugins. Since the vision with our proposal is to achieve a segregation b/w core and background operations, we can align with the ongoing refactoring effort and strive to refactor and move out all Merge Components to a separate Module or a Plugin.
Here is an example, using Segment Merges, how the above abstraction would work in an Opensearch Cluster with and without dedicated Offline Nodes.
NOTE: The actual interfaces of Merge may look different once https://github.com/opensearch-project/OpenSearch/issues/12726 completes, but the interaction and extension points for Task Management remain intact.

We can leverage an existing construct, MergeScheduler which handles all Merges triggered by the Index Engine. Once the Engine asks MergeScheduler to schedule a merge, the MergeScheduler injected by our Merge Module would decide whether to perform this merge locally on the data node, or to send to Offline Nodes via TaskClient .

This decision making in MergeScheduler.runLocally() can be tweaked dynamically via few cluster level dynamic settings we register as part of the Merge Module.
The MergeModule would be installed on both Data Node and Offline Node. On the Offline Node it registers the MergeTaskWorker to the BackgroundTaskService. BackgroundTaskService coordinates the execution of various Tasks which are to be executed by the current Node.
The Merge Task sent by the DataNode via TaskClient, eventually is assigned to one of the Offline Nodes for execution and sent to BackgroundTaskService on that particular node.
Architecture
The lifecycle of a Task since its conception to its completion can be divided into 4 main stages:

Creation/Submission
Distribution
Execution
Completion

BackgroundTaskService runs on each Offline Node, and periodically checks for available Tasks. TaskClient allows Nodes to interact with TaskStore/Queue to perform various Task Management Operations.
Task Submission - For Segment Merges, MergeScheduler on the Data Node decides to offload Merge operation for a particular Shard to Offline Nodes. Same TaskClient is provided at Data Node to enqueue a new Task to our TaskQueue/Store for Offline Nodes to pick up and execute asynchronously. TaskClient hides all the implementation details related to TaskQueue/Store
Once the Task is submitted successfully, BackgroundTaskService on Offline Node receive this new Task, eligible to be executed. Since multiple nodes could have received this Task for execution during polling, we need to ensure no 2 Nodes start to execute it parallelly, duplicating work. To overcome this, each Node which received the Task will try to ClaimTask and our Queue Implementation would ensure no 2 Nodes are able to Claim the same Task. Each implementation of Queue would handle this differently, for ex: Single Threaded Cluster Manager in PersistentTaskCustomMetadata, or conditional writes in Apache Cassandra etc.
TaskWorker - After the Merge Task gets picked successfully by a Node, BackgroundTaskService find the registered TaskWorker for the particular TaskType . For Merge Task, MergeTaskExecutor is invoked to perform the merge operation.
Hearbeats - During the Execution of Task, a periodic heartbeat is published to the TaskStore/Queue. This ensures the Node is still actively performing the Task and has not Abandoned it due to any Failure. If due to any Failure, the Node is not able to publish the heartbeat for X minutes, the Task is considered Abandoned and is eligible to be picked up by another Offline Node.
Task Completion - Once the Task completes, it updates the Task status in the TaskStore/Queue and Publishes a Task Completed Event. So that the Listeners at Data Node can know about completion of the Task. Since all this is asynchronous communication, due to transient failures, Completion Event might be lost and the submitter Data Node might never get to know about Task Completion. This happens today as well with any ClusterManager Event Listeners.
Each flow needs to handle such failures by either checking the Task State via TaskClient or handle redundancies in TaskWorker implementation to avoid same Task to be executed again.
Other Considerations
Additional Cost
There is obviously an added cost, which would be directly dependent on the no of Offline Nodes provisioned(which would offset somewhat since resources are freed up on data nodes). Apart from that, with Offline Nodes, there would be 2 additional downloads. Consider Segment Merges:

Offline Node would have to download the Segments to be Merged, today since the segments are already present in local, there is no download needed.
Once the Merged Segments are uploaded to Remote Store, the data node with corresponding Shard would download those merged segments

Not all the users would want to spin up separate nodes for background operations, so however we choose to implement/execute this, we would ensure status quo is maintained.
Resource consumption and throttling
Each Offline Node would monitor its resource consumption to be informed about current load at the node and would pick Task only if there are enough Resources to execute the Task. If not, it waits for currently executing Task to complete and free up some resources.
Related component
Storage

Meta Issue - https://github.com/opensearch-project/OpenSearch/issues/12725


Add IS_FINE_GRANIED to README.md

I was going through the README.md, and the actions.yml files and realized that the IS_FINE_GRANIED from the README table so raising this PR to add it.

Code is correct, but this PR's title has a typo. It should be IS_FINE_GRAINED. :)

Hey @BetaHuhn, are you still maintaining this repo?

:tada: This PR is included in version 1.21.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


when i capture image from camera my app freeze and gives this error F/crash_dump64(31859): crash_dump.cpp:460] failed to attach to thread 532: Permission denied

Steps to Reproduce

...
...
...

Logs

Logs

@kadnan0900,
You didn't provide any steps to replicate or code sample that shows the error you are reporting, so we can't address or make it actionable without any details.
When opening an issue, please try to provide all or some of the information indicated in the template.

Issue Template
If you are looking for support, please check out our documentation
or consider asking a question on Stack Overflow:
- https://flutter.dev/
- https://api.flutter.dev/
- https://stackoverflow.com/questions/tagged/flutter?sort=frequent

If you have found a bug or if our documentation doesn't have an answer
to what you're looking for, then fill our the template below. Please read
our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports

Steps to Reproduce

Please tell us exactly how to reproduce the problem you are running into.

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

If the problem is with your application's rendering, then please attach
a screenshot and explain what the problem is.

1. ...
2. ...
3. ...

Please tell us which target platform(s) the problem occurs (Android / iOS / Web / macOS / Linux / Windows)
Which target OS version, for Web, browser, is the test system running?
Does the problem occur on emulator/simulator as well as on physical devices?

Target Platform:
Target OS version/browser:
Devices:

Run your application with `flutter run --verbose` and attach all the
log output below between the lines with the backticks. If there is an
exception, please see if the error message includes enough information
to explain how to solve the issue.

Run `flutter analyze` and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.

Finally, paste the output of running `flutter doctor -v` here.

Closing this issue, since no information has been provided.
Thank you.


Responsive styles not working with SSR

Hey! I'm just getting started with the library and tried to setup a simple project with solito and tailwindcss-react-native. I couldn't get the responsive styles to work with SSR. I mean that styles that are being generated don't include media queries and the responsive part is being part is being evaluated at runtime so i get a mismatch of styles until I resize my screen.
Is this currently an issue or am I not setting up the library correctly?
Also, I created a POC a while ago and solved this issue with Postcss, maybe you've made your research and came across my solution (react-native-tailwindcss). I really like the idea of making this with work with babel and I know there is some work being done in react-native-web to support this natively.
I know there are many libraries trying to achieve the same thing, and I think this one has some really great potential!
Let me know if there is something I can help with and keep up the great work 🚀

Responsive styles refers to the styling of Server Side Rendered components before React hydration. So you will need to a compilation method that outputs a CSS StyleSheet to achieve this.
The simplest way to generate a CSS stylesheet is the official Tailwind CLI and simply using the styled HOC to create your components. Note that for styled to work with CSS StyleSheets you will need React Native Web 0.18 which is currently in preview. https://github.com/necolas/react-native-web/pull/2248 and you need to enable preview features https://tailwindcss-react-native.vercel.app/compilation/postcss-css#3-enable-preview-features.
I have an example of this working here https://github.com/marklawlor/solito-tailwind but it is using a pre-release version so the API is a bit different.

Also, I created a POC a while ago and solved this issue with Postcss

My understanding does that tailwind-react-native-classnames (or its successor twrnc) don't not support responsive styles for SSR and your application will appear incorrect until React hydration has completed. This makes RNW difficult to use with libraries like Next.js which focus on SSR.

I mean that styles that are being generated don't include media queries

Can you provide an example? This library is new so there could be some teething issues

Hey! Thanks for your reply 😃 Quick question, so for this to work i would need to use the styled api right and use RNW 0.18 right? I've been looking at the code base and understood that what this is doing is converting the tailwind output to a react native Stylesheet right?

so for this to work i would need to use the styled api right and use RNW 0.18 right

Yep that's right :)

doing is converting the tailwind output to a react native Stylesheet right

Correct and it also provides polyfills and fallbacks Tailwind classes that are not 100% out of the box.
I'm currently working on the DX aspect a bit (and trying to cover everything in tests) but there's a lot of features still on the roadmap :)

That's an interesting approach but I don't think it's needed because of RNW 0.18 support for className props on RN components.

With this you wouldn't need to evaluate the styles and create the styles at runtime

If you are using CSS there is no evaluating of styles or runtime component. You can use the offical Tailwind CLI to generate your stylesheet and the styled components just do a passthough https://github.com/marklawlor/tailwindcss-react-native/blob/next/src/use-tailwind.ts#L50-L55.
It looks a bit complicated because I'm trying to make the components universal - so they appear the same on all platforms but actually work very differently.

I've refactored the useTailwind hook so its a little clearer about how it works

RNW 0.18 support for className on RNW

With this you mean that RNW will support adding classnames natively? If so thats great

Yep, you can read more about it in the StyleSheet Extraction section of the 0.18 preview notes https://github.com/necolas/react-native-web/pull/2248


Book navigation

Created a "SelectList" similar to SelectGrid.
Got relatively far, hit a roadblock with the "Book, Chapter, and Verse" tabs at the top. They're in the same list format as the book collections.

@Jason-Lopez8 I like the list display.  However, you code is how of date with main and doesn't have the changes for switching themes and the SelectList isn't themed correctly.
You will need to rebase your code (get with me or @jakedcolbert on how to do this). Then look at @jakedcolbert PR on dropdown styles (and/or ask him for help) on theming the select list.
Also, the dropdown arrow next to the book name is not colored correctly.

@Jason-Lopez8 I have merged @jakedcolbert's PR on Dropdown Style.  You should rebase this PR on main and use what he suggests.  If you need help with the rebase, let me know.

@Jason-Lopez8 For the List, you need to use book names instead of the book abbreviations.
Anything else you are waiting on doing?


retract versions by publishing proper go.mod files

Hi there, this project use https://github.com/IBM/nzgo/v14 which is not a proper module. You can see this issue for more details.
I think you should retract versions by publishing proper go.mod files.

cc @sandippawar1412


"Missing Push Notification Entitlement" warning from iTunes connect when not using push

I uploaded an app to iTunes connect, and got the following email:

Dear developer,
We have discovered one or more issues with your recent delivery for "". Your delivery was successful, but you may wish to correct the following issues in your next delivery:
Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
Regards,
The App Store team

I have not done anything in my app to register with a push notification service, and I'm not using the Fuse.PushNotifications package. Here's the relevant section of my .unoproj:
  "Packages": [
  	"Fuse",
  	"FuseJS",
  	 "Fuse.Audio",
  	"Fuse.Vibration"
  ],

I have also seen this warning. Luckily it didn't mean anything with regards to actually releasing my app, as it sailed through smoothly.

We have merged a feature for this in Uno that lets people ad capabilities (and where possible 'entitlements' too) from the unoproj. This will be coming in a future release

Also encountered this.

Basic documentation for this have been written and merged, will be appearing on the site soon

https://www.fusetools.com/docs/native-interop/ios-capabilities


Error: Cannot find module

Describe the bug
I have a Nuxt project in which I have error.vue file and it uses @datadog/browser-rum library to record the sample sessions. When I run histoire build command it throws following error:
I am not even using error.vue file in histoire but it is automatically calling it in a build.
Error while collecting story /home/exampleFile.story.vue:
Error: Cannot find module /home/user/node_modules/@datadog/browser-rum/esm imported from file:///home/username/repo, file:///home/username/, file:///home/username/repo/_index.js, file:///home/username/node_modules
    at _resolve (file:///home/username/repo/node_modules/mlly/dist/index.mjs:2107:19)
    at resolveSync (file:///home/username/repo/node_modules/mlly/dist/index.mjs:2116:10)
    at resolvePathSync (file:///home/username/repo/node_modules/mlly/dist/index.mjs:2126:24)
    at resolvePath (file:///home/username/repo/node_modules/mlly/dist/index.mjs:2130:28)
    at isValidNodeImport (file:///home/username/repo/node_modules/mlly/dist/index.mjs:2602:30)
    at _shouldExternalize (file:///home/username/repo/node_modules/histoire/node_modules/vite-node/dist/server.mjs:78:32)
    at shouldExternalize (file:///home/username/repo/node_modules/histoire/node_modules/vite-node/dist/server.mjs:55:19)
    at ViteNodeServer.shouldExternalize (file:///home/username/repo/node_modules/histoire/node_modules/vite-node/dist/server.mjs:225:12)
    at ViteNodeServer._fetchModule (file:///home/username/repo/node_modules/histoire/node_modules/vite-node/dist/server.mjs:322:36)
    at ViteNodeServer.fetchModule (file:///home/username/repo/node_modules/histoire/node_modules/vite-node/dist/server.mjs:261:14)
    at Object.fetchModule (file:///home/username/repo/node_modules/histoire/dist/node/collect/index.js:50:37)
    at MessagePort.<anonymous> (file:///home/username/repo/node_modules/birpc/dist/index.mjs:16:41)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:761:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28)

I have tried to add following in histoire.config.ts but still same issue:
export default defineConfig({
  plugins: [HstVue(), HstNuxt()],
  storyIgnored: ['**/node_modules/**', '**/dist/**', 'error.vue'],
})

Reproduction
Install @datadog/browser-rum library and call it in a error.vue file and run yarn histoire build command
System Info
I am using Nuxt3 and versions are as follows:
"@histoire/plugin-nuxt": "^0.17.8"
"@histoire/plugin-vue": "^0.17.8"
"histoire": "^0.17.8"
"@datadog/browser-rum": "^5.9.0"

Used Package Manager
yarn
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

Having the same issue, but with lucide-vue-next
Error while collecting story /Users/user/Code/monorepos.frontend/modules/shared/ui/src/feedback/SelectionSummary.story.vue:
Error: Cannot find module /Users/user/Code/monorepos.frontend/modules/shared/ui/node_modules/.pnpm/lucide-vue-next<EMAIL_ADDRESS>imported from file:///Users/user/Code/monorepos.frontend/modules/shared/ui, file:///Users/user/Code/monorepos.frontend/modules/shared/, file:///Users/user/Code/monorepos.frontend/modules/shared/ui/_index.js, file:///Users/user/Code/monorepos.frontend/modules/shared/node_modules
    at _resolve (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/mlly@1.7.1/node_modules/mlly/dist/index.mjs:2102:19)
    at resolveSync (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/mlly@1.7.1/node_modules/mlly/dist/index.mjs:2111:10)
    at resolvePathSync (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/mlly@1.7.1/node_modules/mlly/dist/index.mjs:2121:24)
    at resolvePath (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/mlly@1.7.1/node_modules/mlly/dist/index.mjs:2125:28)
    at isValidNodeImport (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/mlly@1.7.1/node_modules/mlly/dist/index.mjs:2585:30)
    at _shouldExternalize (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/vite-node@0.34.7_@types+node@18.16.9_sass@1.62.1/node_modules/vite-node/dist/server.mjs:78:32)
    at shouldExternalize (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/vite-node@0.34.7_@types+node@18.16.9_sass@1.62.1/node_modules/vite-node/dist/server.mjs:55:19)
    at ViteNodeServer.shouldExternalize (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/vite-node@0.34.7_@types+node@18.16.9_sass@1.62.1/node_modules/vite-node/dist/server.mjs:225:12)
    at ViteNodeServer._fetchModule (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/vite-node@0.34.7_@types+node@18.16.9_sass@1.62.1/node_modules/vite-node/dist/server.mjs:322:36)
    at ViteNodeServer.fetchModule (file:///Users/user/Code/monorepos.frontend/node_modules/.pnpm/vite-node@0.34.7_@types+node@18.16.9_sass@1.62.1/node_modules/vite-node/dist/server.mjs:261:14)```

@harrynikolov-riskhub  I was able to resolve mine by using following solution: https://github.com/histoire-dev/histoire/issues/712


Avoid iterating on big databases when useless

This PR makes the prefix database updates to avoid iterating on big grenad files when it is unnecessary. We introduced this regression in #436 but it went unnoticed.

According to the following benchmark results, we take more time when we index documents in one run than before #436. It looks like it is probably due to the fact that, now, instead of computing the prefixes database by iterating on the LMDB we directly iterate on the grenad file. Those could be slower to iterate on and could be the slowdown cause.
I just pushed a commit that tests this branch with the new unreleased version of grenad where some work was done to speed up the iteration on grenad files. The benchmarks for this last commit are currently running. You can see the diff between the v0.4 and the unreleased v0.5 version of grenad.
  group                                                             indexing_benchmark-multi-batch-indexing-before-speed-up_45f52620    indexing_stop-iterating-on-big-grenad-files_ac8b85c4
  -----                                                             ----------------------------------------------------------------    ----------------------------------------------------
+ indexing/Indexing songs in three batches with default settings    1.12      57.7±2.14s        ? ?/sec                                 1.00      51.3±2.76s        ? ?/sec
- indexing/Indexing wiki                                            1.00    917.3±30.01s        ? ?/sec                                 1.10   1008.4±38.27s        ? ?/sec
+ indexing/Indexing wiki in three batches                           1.10   1091.2±32.73s        ? ?/sec                                 1.00    995.5±24.33s        ? ?/sec

bors merge


cytoid IOS

hi , glad to know this awesome simulator
already played for 2 days , but i hope cytoid can edit for song folder ( so we dont need to use itunes , or uninstall the apps to make a new song list)
good job dev

Sure thing! It is already on the works. :)

By the way would you press that button on the upper right corner for me?

😂😂😂 Anyway, thanks for the suggestion. Lots of people are requesting that!

sure , thank you dev <3


Make pluggable components in react native

Can i use react native to make pluggable components which can be inserted in to a native android app. The components should function by themselves. For example i make a search bar via react native. Is it possible to make a  component only with its concerned java files which can just be plugged into an android/ios app. If yes how exactly does one do it, Note i dont want to make an entire apk or ipa file.
My use case
I have a set of api for my website. A third party wants to integrate the apis as components, is it possible for me to just make JAR/ Java class files for the component i am making and then plug the code into their codebase..
Any help or lead would be useful.

This is a question for Stack Overflow.
You can easily make a react based npm package which uses Native Modules. Your external party would simply npm install this.


Clarify if 'Recommended Configurations' can be completed PRIOR to sysprep & upload

The recommended configuration section does not clearly state if each recommended item can be performed PRIOR to sysprep/generalization, during VM provisioning, or if it must be done AFTER provisioning.
For example 'ProvisionVMAgent' as a property of the VM deployment is determined at time of deployment. Does this hold true for uploaded generalized VHDs that didn't have the VM agent installed prior to sysprep

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

ID: 1b9c0d7a-bbf5-eccc-f2ca-a825bf42c82f
Version Independent ID: 58aa93af-4030-1541-a14c-c66c683ccf7c
Content: Prepare a Windows VHD to upload to Azure - Azure Virtual Machines
Content Source: articles/virtual-machines/windows/prepare-for-upload-vhd-image.md
Service: virtual-machines
Sub-service: disks
GitHub Login: @glimoli
Microsoft Alias: genli

Hello @CHDAFNI-MSFT
I have assigned the issue to the content author for further review and update the doc as appropriate.

Not sure I get the questions - but yes you can install the VM Agent before the sysprep/generalize, or after the new VM is provisioned from that image.
And if you're using the WindowsConfiguration / ProvisionVMAgent = true, then the VMAgent will be installed automatically by Azure during VM Provisioning.

Closing this for now, please feel free to reopen or open an new issue if you have further questions.
#please-close


Feature/60 integrate google test

Integrate google test.

@harshit496, I'm committing changes in the master. There is a problem of compiling with GCC compiler under Windows. But this might be a problem of my development environment.

Thanks for merging it. @aregtech just curious on where it was failing?

@harshit496 , sure :)
Compiled with CYGWIN GCC compiler in Visual Studio code:
[build] In file included from E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/gtest-message.h:55,
[build]                  from E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/gtest-assertion-result.h:46,
[build]                  from E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/gtest.h:60,
[build]                  from E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/src/gtest-all.cc:38:
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/internal/gtest-port.h: In function 'int testing::internal::posix::FileNo(FILE*)':
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/internal/gtest-port.h:1999:40: error: 'fileno' was not declared in this scope; did you mean 'FileNo'?
[build]  1999 | inline int FileNo(FILE* file) { return fileno(file); }
[build]       |                                        ^~~~~~
[build]       |                                        FileNo
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/internal/gtest-port.h: In function 'char* testing::internal::posix::StrDup(const char*)':
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/internal/gtest-port.h:2049:47: error: 'strdup' was not declared in this scope; did you mean 'StrDup'?
[build]  2049 | inline char* StrDup(const char* src) { return strdup(src); }
[build]       |                                               ^~~~~~
[build]       |                                               StrDup
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/internal/gtest-port.h: In function 'FILE* testing::internal::posix::FDOpen(int, const char*)':
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/include/gtest/internal/gtest-port.h:2092:56: error: 'fdopen' was not declared in this scope; did you mean 'fopen'?
[build]  2092 | inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); }
[build]       |                                                        ^~~~~~
[build]       |                                                        fopen
[build] In file included from E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/src/gtest-all.cc:45:
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/src/gtest-port.cc: In constructor 'testing::internal::CapturedStream::CapturedStream(int)':
[build] E:/Projects/aregtech/areg-sdk/thirdparty/googletest/googletest/src/gtest-port.cc:1102:31: error: '::mkstemp' has not been declared; did you mean 'mkdtemp'?
[build]  1102 |     const int captured_fd = ::mkstemp(const_cast<char*>(name_template.data()));
[build]       |                               ^~~~~~~
[build]       |                               mkdtemp
[build] make[2]: *** [thirdparty/googletest/googletest/CMakeFiles/gtest.dir/build.make:77: thirdparty/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj] Error 1
[build] make[1]: *** [CMakeFiles/Makefile2:1502: thirdparty/googletest/googletest/CMakeFiles/gtest.dir/all] Error 2
[build] make[1]: *** Waiting for unfinished jobs....

Probably I'm missing some switches.
But it compiled with MSVC compiler under Windows and GCC compiler under Linux.


Updated validations.py python script.

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@margamanterola I have updated the validations.py =>> function validate_user =>> modify to check if the username starts with non-alphabet

@googlebot I signed it!


[KDE/Wayland/fcitx5] Emoji picker appears and then vanishes immediately

Splitting this out from the conversation in #11:

ok the only thing i can imagine at this point is that there must be some kind of bug with KDE (wayland) + fcitx5 because fcitx immediately sends the deactivate event after the window opens (which is obviously wrong) and then it goes dark.
if i start the fcitx daemon with QT_QPA_PLATFORM=xcb it kinda works but that's obviously no solution.

Originally posted by @GaZaTu in https://github.com/GaZaTu/im-emoji-picker/issues/11#issuecomment-1657235748
I filed an upstream issue with @ fcitx/fcitx5#887, and the maintainer responded:

That's however, not a solvable issue from fcitx side.
Mainly it's because that the emoji picker itself embeds Qt and it will grab the focus away on wayland. that's why you see the deactivate event.

At this point, it's not clear to me where the issue lies - is this a kwin thing? Why do we not see the same behavior under X11?
For reference, here's my system configuration:
KWin version: 5.27.9
Qt Version: 5.15.10
Qt compile version: 5.15.10
XCB compile version: 1.16

fcitx version: 5.1.1
Kernel: 6.5.9

I also tried using latest HEAD from both fcitx + im-emoji-picker.

im wasted af rn but i know the issue: under @milas wayland qt always steals
focus which is bad in this case. if u want to use this prohect youll need
to create a window rule to disable focus for now
On Sat, Oct 28, 2023, 16:29 Milas Bowman @.***> wrote:

Splitting this out from the conversation in #11
https://github.com/GaZaTu/im-emoji-picker/issues/11:
ok the only thing i can imagine at this point is that there must be some
kind of bug with KDE (wayland) + fcitx5 because fcitx immediately sends the
deactivate event after the window opens (which is obviously wrong) and
then it goes dark.
if i start the fcitx daemon with QT_QPA_PLATFORM=xcb it kinda works but
that's obviously no solution.
Originally posted by @GaZaTu https://github.com/GaZaTu in #11 (comment)
https://github.com/GaZaTu/im-emoji-picker/issues/11#issuecomment-1657235748
I filed an upstream issue with fcitx5 @ fcitx/fcitx5#887
https://github.com/fcitx/fcitx5/issues/887, and the maintainer
responded:
That's however, not a solvable issue from fcitx side.
Mainly it's because that the emoji picker itself embeds Qt and it will
grab the focus away on wayland. that's why you see the deactivate event.

At this point, it's not clear to me where the issue lies - is this a kwin
thing? Why do we not see the same behavior under X11?
—
Reply to this email directly, view it on GitHub
https://github.com/GaZaTu/im-emoji-picker/issues/13, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEFP5YVACXHS45ILBTKQUYLYBUJF3AVCNFSM6AAAAAA6UECXYWVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DMNRRGY3DEMI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Any update on this? I think I'm facing same issue with ibus-wayland on kde too.

@shadmansaleh i did not look into this again but i doubt anything changed yet. There currently does not seem to be a way to tell Qt "open a new window but do not take focus" when using wayland.
So the only way for now seems to be a custom window rule in the KDE settings. (which is what i did)

For reference, here's what my ~/.config/kwinrulesrc looks like:
[1]
Description=Emoji Picker
acceptfocusrule=2
title=im-emoji-picker
titlematch=2
types=1

[General]
count=1
rules=1

Configuring it in the GUI:

Things are working well for me since applying that change on KDE 5.27.10 + Wayland (on NixOS unstable) using fcitx5.
Thanks for this, it's pretty great. Maybe Qt6 will fix things? 🫣 <-- emoji typed with im-emoji-picker

btw I had to launch Firefox under xwayland to respond to this issue. This issue literally breaks input on Firefox+Wayland for me. Specifically this issue. I can comment on other GitHub issues but not this one.
(This has nothing to do with im-emoji-picker. It happens even without fcitx5 running. I have no explanation and don't even know how to report that as a bug to Firefox, so I felt like sharing here 😛)

lol that is oddly specific. i did not have that happen before but i guess i don't comment on too many issues. and glad you're still enjoying the emoji picker 😙

@GaZaTu Sorry to resurrect a dead bug, but could we get a note about this in the README?
I spent some time trying to figure it out before stumbling across this closed bug.

done @zelch 👌

@joaociocca I don't think i can help you because vivaldi works for me.

thanks for trying <3 I really have no idea why it won't work here...
From Telegram, it works just fine - both the popup showing as the popup filling the chosen emojis

But on Vivaldi, the popup won't even show up =(


General fixes to all maps- map info window

o	Edit “Community Type” to read “Community Partner Type”
o	Edit “Number of project” to read “Number of Projects” - Some pop-up boxes show the number of projects and others don’t – I assume those that do NOT show number of projects are because that specific partner (within the community partner map) is a partner but hasn’t had projects associated with a specific campus partner yet – please confirm.
o	Remove county from the pop-up
o	Remove brackets and quotation marks around text

It is very difficult to select the different dots within one mission area because they all appear to be one dot – it would be much more user friendly if the dots had different transparencies so that you could see which partner was which on the map (see original map created on UNO website)

In the MAP filter:
o	Edit “All Community Types” to “All Community Partner Types”
o	Edit “All District” to “All Legislative Districts” - Move legislative district filter lower.
Name of the Maps -

Edit map title  “Maps: Community Partner” to read “Maps: Community Partners”
Edit map title from “Maps: Legislative District” to read “Maps: Legislative Districts”
Edit “Maps: Community Projects” to “Maps: Projects”

@kalpanajha Assigned as QA

@kalpanajha please proceed with testing and send back to Dev with any thing that stick out as incomplete.

General fixes to maps that are still remaining.
https://drive.google.com/open?id=1GlKLOoCzmrBKMdjdIY2J3-Daf_NlQB6t

Hey, @kalpanajha can you comment here what is pending in this ticket? I don't have access to the document you have shared. Also, this was not assigned to me so I had no clue about it although I was working on fixing all the issues.

Hey Vivek, I have shared you the link for the document. However, I am copy
pasting it in the email as well. I will check it again and will let you
know if anything is missing.
Ticket #527
General fixes to maps
Maps: Community Partners

“Community Type” needs to be changed to “Community Partner Type” in the
pop-ups
“County” needs to be removed from the pop-ups.

In Filters

Change “All Community Types” to “All Community Partner Types”.
“All Legislative Districts” filter needs to be moved lower
Maps: Legislative Districts

Need to edit Map title from “Maps: Legislative District” to “Maps:
Legislative Districts”.
“Community Type” needs to be changed to “Community Partner Type” in the
pop-ups

In Filters

Change “All Community Types” to “All Community Partner Types”.
“All Legislative Districts” filter needs to be moved lower
Maps: Community Partner Type

“Community Type” needs to be changed to “Community Partner Type” in the
pop-ups
Maps: Projects
The map is down right now so can’t test it.

filters
  “All College” to “All Colleges”

Thanks,
Kalpana Jha
On Sun, Apr 7, 2019 at 12:12 PM Vivek Bhat Hosmat<EMAIL_ADDRESS>wrote:

Hey, @kalpanajha
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_kalpanajha&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=e1ETXSw2aymaQuS5yJr5rkZ0fLYsLVSNUsJDiW-u9nY&m=GzdmUuNlUtY97Wtdo9mscOtPDu5wDiH1yVDFEXmTKAk&s=f3Z0Dy2z2UWMux_EsE3fIMNsTuGSI33npySH5JfyMao&e=
can you comment here what is pending in this ticket? I don't have access to
the document you have shared. Also, this was not assigned to me so I had no
clue about it although I was working on fixing all the issues.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_uno-2Disqa-2D8950_uno-2Dcpi_issues_527-23issuecomment-2D480611112&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=e1ETXSw2aymaQuS5yJr5rkZ0fLYsLVSNUsJDiW-u9nY&m=GzdmUuNlUtY97Wtdo9mscOtPDu5wDiH1yVDFEXmTKAk&s=he7g_BMPIHW93z6O1vQkxAdpxbDgyTM9eKSq5GWF3Ac&e=,
or mute the thread
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_Ad1b0K5r8sAPYZUuafUvKXIib5h5wHjuks5veib-2DgaJpZM4Z4adv&d=DwMCaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=e1ETXSw2aymaQuS5yJr5rkZ0fLYsLVSNUsJDiW-u9nY&m=GzdmUuNlUtY97Wtdo9mscOtPDu5wDiH1yVDFEXmTKAk&s=ORsiHu4wtxSF0wKjKDXUOJQkk_vUrgcHCV3nv69RnGA&e=
.

@vbhat0891 Please rename college filter to "All Colleges and Main Units".

@caadler This is done. @kalpanajha Please check for this as well when you are testing this ticket.

@kalpanajha I have addressed the issues, I would prefer to leave the legislative district filter on top because it is the "Legislative Districts map". Let me know if you think otherwise, we can discuss with the team on Wednesday about this.

General fixes to maps tested
https://drive.google.com/open?id=1LWWbPVU4NjzNWPZjCp8c2cX2wTjvDdvH


Alpha

This PR is the initial implementation of a semantic-release plugin to push files and folders to AWS S3 bucket. Bucket name and directory path are passed into the config, with the ability to remove the root directory of the defined path.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Notifications are not appearing on Windows 8+ when I distribute the app.

The app and notifications work perfectly on my development machine (Windows 10) and in my Notification settings I have something like this:

And when I'm disabling the toast app there are no more notifications. But when I'm trying it on another machine (Windows 8.1 for example) there are no notifications and no toast in the Notifications. Am I missing something?
(I integrated the node-notifier with Electron)

I have the following code:
  notifier.notify({
    title: title,
    message: message,
    sound: false,
    wait: true,
    data: data, // custom data
  }, function(error, response) {
    console.log('error', response);
    raygunClient.send(new Error('Notifier Error'), {error, response});
  });

here is the stacktrace and error if it's helpful:
    WindowsToaster.[anonymous] in C:\Users\User\AppData\Local\wire\app-2.2417\resources\app.asar\main.js:97
    unknown.[anonymous] in C:\Users\User\AppData\Local\wire\app-2.2417\resources\app.asar\node_modules\node-notifier\lib\utils.js:165
    unknown.[anonymous] in C:\Users\User\AppData\Local\wire\app-2.2417\resources\app.asar\node_modules\node-notifier\lib\utils.js:53
    ChildProcess.ChildProcess.exithandler in child_process.js:222
    Object.emitTwo in events.js:87
    ChildProcess.ChildProcess.emit in events.js:172
    Object.maybeClose in internal/child_process.js:817
    Process.Process.ChildProcess._handle.onexit in internal/child_process.js:211

error: {
  killed: false
  code:<PHONE_NUMBER>
  signal: undefined
  cmd: "C:\Users\User\AppData\Local\Temp\7EEA.tmp -sound false -data [object Object] -m foo -t bar -q true -w true"
}
response: ""

Are you using Electron? I'm having a similar problem in #76

I'm using the grunt-electron (which is using the electron-packager) and when I'm adding the asar: false then I'm getting the following error:

So I might have to wait for the asar support as well :/

The problem doesn't look to be with the packager, but because the file name is too long. Try shortening the file name to something like squirrel-installer and try to re-run the build.

If this doesn't work, let me know and i'll try to run you through using electron-packager by itself.

Duplicate of #76

You are right it's the grunt-electron-installer problem and I can see that the path or the file name or both are two long and that's why I put the whole thing in the root.. not sure if I can do anything more..

Changed the build directories.. but the same error:

Can you try running the command with --force? Let me know if that gives any errors.

Not much..

If you want, you could try running it through electron-packager in the command line.
https://github.com/maxogden/electron-packager#usage


Mapping in P:S not working here

cool nico: compare this example in Pattern:Script with the exact same example in PuzzleScript Next which won't work.

Also https://clementsparrow.github.io/Pattern-Script/src/editor.html?hack=09506b3fbeccc53e0ac6d404b57d1a64

Docs here: https://github.com/ClementSparrow/Pattern-Script/wiki#sprite-copy-and-transformations

I think this is the same issue as: https://github.com/david-pfx/PuzzleScriptNext/issues/65

Actually, it's not. This translate amounts not allowing a tag/mapping.

Fixed. Probably still some gaps in handling of mappings


Fix #1300 relation_return_type must take precedence if it is defined

Summary
The rrelation_return_type must take priority if it is defined so that the choice that the user imposes in the options is used without the automatic detection overloading it.
Currently, it is not possible to define a one relationship if somewhere in the name of the relationship object there is the word Many.
ex:
# Model
public function propertyManagementCompany(): Staudenmeir\EloquentHasManyDeep\HasOneDeep
    {
        return $this->hasOneDeep(PropertyManagementCompany::class, ['landlord_user', User::class, 'property_management_company_user']);
    }

# config/ide-helper.php
    'additional_relation_types' => [
        'hasOneDeep' => \Staudenmeir\EloquentHasManyDeep\HasOneDeep::class,
    ],
    'additional_relation_return_types' => [
        'hasOneDeep' => 'one', # No many, no morphTo, no falsy
    ],

# currently generate
/**
 * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\PropertyManagementCompany[] $propertyManagementCompany
 * @property-read int|null $property_management_company_count
 */

Type of change

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

Checklist

[x] Existing tests have been adapted and/or new tests have been added
[x] Add a CHANGELOG.md entry
[ ] Update the README.md
[x] Code style has been fixed via composer fix-style

Closing to trigger tests

Thanks


php Code highlighting

Writing div labels in PHP files highlights all divs
In HTML files, this is not the case

Write HTML tags in PHP files and highlight all divs when selected，It feels confusing.

https://github.com/Microsoft/vscode/issues/2915#issuecomment-403626500


Improved Russian translation.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Мы надеемся, что в конечном итоге это исправим, но эти рамки в настоящее время не поддерживаются для проектов D3.

Не рамки, а фреймворки :)

@freeCodeCamp/russian-language-editors Can we get this PR reviewed to validate that the translation matches the current English version of the challenge?  Thank you.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Moved pac-container up in z to be visible

Since inline modal uses a z-index of 1050.

Google Places API Container must be, at least, one level up 1051.

A new inspection was created.

A new inspection was created.

The inspection completed: No new issues

The inspection completed: No new issues

@promatik did you test the scenario I described in the issue ?
I think I had tested it before with this solution, and i could not close the options clicking outside of it (without selecting any).
Some stuff changed since I last tested, just want to be sure to don't find the same error again when testing 👍
Let me know,
Pedro

@promatik did you test the scenario I described in the issue ?
I think I had tested it before with this solution, and i could not close the options clicking outside of it (without selecting any).
Some stuff changed since I last tested, just want to be sure to don't find the same error again when testing 👍
Let me know,
Pedro

A new inspection was created.

A new inspection was created.

I could not close the options clicking outside of it (without selecting any)

@pxpm you were right, it had that bug, I just updated the PR with a new commit to fix that 👌

I could not close the options clicking outside of it (without selecting any)

@pxpm you were right, it had that bug, I just updated the PR with a new commit to fix that 👌

The inspection completed: No new issues

The inspection completed: No new issues

A new inspection was created.

The inspection completed: No new issues


Return artefact name when iterating through queue items

Problem
The Python service SDK does not return artefact names (or metadata) when retrieving data from a queue.
Request:
Return the artefact names with when retrieving artefacts from a queue.
Cause
Take the following code for reading artefacts from a queue:
https://github.com/ivcap-works/ivcap-service-sdk-python/blob/8f663d54b8e7efa8bd8fd31a3b072de1735557de/src/ivcap_sdk_service/cio/ivcap_io_adapter.py#L231-L273
A request is sent to a queue (e.g. urn:ivcap:queue:14bdf4a9-b952-426a-b8f0-b0123439154e) L240. The response contains the URN of an artefact in the queue. The response looks something like:
{'Location': 'http://artifact.local/urn:ivcap:artifact:81d9fffa-6086-4abe-93ae-10fc12a06d41', 'Server': 'Caddy', 'X-Ack-Token': 'a1e4cb18-789f-4bca-9cbb-7d109e08eaf5|f3e17b2b-dfcc-457d-a3f5-ec39959a84cc', 'X-Leased-Until': '2024-04-19T04:01:44Z', 'Date': 'Fri, 19 Apr 2024 03:51:44 GMT', 'Content-Length': '0'}

Data associated with the artefact URN (e.g. urn:ivcap:artifact:81d9fffa-6086-4abe-93ae-10fc12a06d41) is then retrieved on line L248. This is done by IvcapIOAdapter.read_external:
https://github.com/ivcap-works/ivcap-service-sdk-python/blob/8f663d54b8e7efa8bd8fd31a3b072de1735557de/src/ivcap_sdk_service/cio/ivcap_io_adapter.py#L69-L95
Note that the name argument is set to url on line L94.
If would be more useful if the artefact's file name was retrieved and set (there is an opportunity to preserve other metadata as well).
If we query the artefact (urn:ivcap:artifact:81d9fffa-6086-4abe-93ae-10fc12a06d41 )at the command-line, we see that the name is 10163_lab.png:
ivcap artifact get urn:ivcap:artifact:81d9fffa-6086-4abe-93ae-10fc12a06d41

         ID  urn:ivcap:artifact:81d9fffa-6086-4abe-93ae-10fc12a06d41 (@5)
       Name  10163_lab.png
     Status  ready
       Size  56 kB
  Mime-type  image/png
 Account ID  urn:ivcap:account:db525989-2178-4bb3-8a00-21422a0f1f97
   Metadata  ┌────┬──────────────────────────────────────────┐
             │ @1 │ urn:ivcap:schema:artifact.1              │
             │ @2 │ urn:ivcap:schema:artifact-usedBy-order.1 │
             │ @3 │ urn:ivcap:schema:artifact-usedBy-order.1 │
             │ @4 │ urn:ivcap:schema:artifact-usedBy-order.1 │
             └────┴──────────────────────────────────────────┘

Why is the name useful in a service? The name is just a human-friendly, but not guaranteed to be unique.
In other words, what's the use case?


Jedis Pool with Two Twemprxoy IP

Expected behavior
@marcosnils
Hi,
I have two twemproxy servers and i want to use in active active state programmatically through jedis. Is this the correct way to generate pool with two IP's of twemproxy or i need to do something to use twemproxy in active active state.
Write here what you're expecting ...
Actual behavior
Write here what happens instead ...
Steps to reproduce:
Please create a reproducible case of your problem. Make sure
that case repeats consistently and it's not random
1.
2.
3.
Redis / Jedis Configuration
Jedis version:
Redis version:
Java version:

Please ask this question in the mailing list. github is used for design discussions and bugs mainly.
http://groups.google.com/group/jedis_redis


How does sentry gets access to request body in the asgi middleware?

Hello, I was reading through the asgi middleware and it's not clear to me: how is the request data (i.e. the json payload of a POST request, for example) accessed to be sent by sentry, since all that's accessible there is the scope, passing receive and send downstream?
Thank you!

You are right, we are not doing that in the ASGI middleware. I think the docs may be wrong.

https://github.com/getsentry/sentry-docs/pull/3393

I see! Do you think there's a way to include that too? Or maybe @thomchristie does?

Unfortunately I don't think this is possible in a memory-efficient way. In framework integrations we can piggyback on the in-memory buffering of the framework itself but in a middleware we would have to wrap the bytestream and keep our own copy, which is expensive.

Thank you :)


OkHttpClient connection leak in OperationSupport / HttpResponse

Hi,
while checking our logs we observed a warning from the OkHttpClient that a connection was leaked. As you can see in the stack trace at the very bottom of this ticket our application tried to call BaseOperation.list(), but ran into an unauthorized error. Shortly after that the OkHttpClient reports a connection leak.
Looking at your code we can see that in case of an unsuccessful response OperationSupport.assertResponseCode() calls OperationSupport.createStatus() which in turn gets the HTTP body string by calling HttpResponse.bodyString(). The default implementation of bodyString() of the HttpResponse interface then gets one of the SupportedResponses.  In case of an input stream or reader this then calls IOHelpers.readFully. However the readFully does not close the stream that it is reading from. Our assumption is that in case of an error the SupportedResponses.INPUT_STREAM or SupportedResponses.READER is used. When looking at the OkHttpResponseImpl we see that the response body is closed in one case explicitly and for the string() and bytes() calls it is closed implicitly (according to the Kotlin sources of OkHttp). However, for the charStream() and byteStream() the response body should probably be closed be the consumer of the stream which is not happening in the SupportedResponses. And therefore the connection is leaked.
2022-12-31 22:08:19.788 WARN  [okhttp3.OkHttpClient] A connection to https://<IP_ADDRESS>/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);
2022-12-31 22:03:18.952 [...] WARN io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://<IP_ADDRESS>:443/api/v1/nodes?labelSelector=test%2Ftier%3Dapp. Message: Unauthorized! Configured service account doesn't have access. Service account may have been revoked. Unauthorized.
at io.fabric8.kubernetes.client.KubernetesClientException.copyAsCause(KubernetesClientException.java:238) ~[kubernetes-client-api-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.waitForResult(OperationSupport.java:536) ~[kubernetes-client-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:418) ~[kubernetes-client-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:383) ~[kubernetes-client-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:93) ~[kubernetes-client-6.3.1.jar:?]
[...]
Caused by: io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://<IP_ADDRESS>:443/api/v1/nodes?labelSelector=test%2Ftier%3Dapp. Message: Unauthorized! Configured service account doesn't have access. Service account may have been revoked. Unauthorized.
at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.requestFailure(OperationSupport.java:742) ~[kubernetes-client-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.requestFailure(OperationSupport.java:722) ~[kubernetes-client-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.assertResponseCode(OperationSupport.java:671) ~[kubernetes-client-6.3.1.jar:?]
at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.lambda$handleResponse$0(OperationSupport.java:601) ~[kubernetes-client-6.3.1.jar:?]
[...]

Sorry. Wrong project


Setting user agent consistently for all requests

I'm no expert in Python, I've seen this working at home though...

Any reason why this plugin uses urllib2 directly? I think we should use the requests library which is avaliable via task.requests?

I think someone mentioned in IRC they are working on a larger update to this plugin

It looks like the work in #648 is in a different file, so I think this is okay to merge.


Spawned containers (from queue-master) service should be on defined network

fixed https://github.com/ContainerSolutions/weaveDemo/commit/18b3e5f586f33462b1af806c76b8a9845d705ca9


JsonBodyFilters.replaceJsonStringProperty not replacing nested properties

Description

I configured my Logbook filtering for my servlet filter / clients with the following shared configuration:
public static final Logbook LOGBOOK = Logbook.builder()
            .queryFilter(QueryFilters.replaceQuery("password", REPLACEMENT_VALUE))
            .headerFilter(HeaderFilters.replaceHeaders(HttpClientConstants.X_JWT::equalsIgnoreCase, REPLACEMENT_VALUE))
            .headerFilter(HeaderFilters.replaceHeaders(HttpClientConstants.TOKEN_HEADER_KEY::equalsIgnoreCase, REPLACEMENT_VALUE))
            .bodyFilter(BodyFilters.replaceFormUrlEncodedProperty(ImmutableSet.of("Token", "password"), REPLACEMENT_VALUE))
            .bodyFilter(JsonBodyFilters.replaceJsonStringProperty(ImmutableSet.of("apiToken", "password", "result"), REPLACEMENT_VALUE))
            .sink(new DefaultSink(
                    new JsonHttpLogFormatter(),
                    new DefaultHttpLogWriter()))
            .build();

The docs for replaceJsonStringProperty say it should replace properties at any level within the JSON tree.
Expected Behavior
When presented with a nested json structure containing the property apiToken, it's value should be replaced.
Actual Behavior
apiToken value is still present and not obfuscated.
[https-jsse-nio-8086-exec-1] TRACE org.zalando.logbook.Logbook -
{"origin":"remote","type":"response","correlation":"bb410499c8a93486","duration":197,"protocol":"HTTP/1.1","status":200,"body":{"result":{"apiToken":"not-obfuscated??"},"httpStatus":"200 - OK"}}}

Interesting enough, I tried adding the "result" property to be obfuscated as well and that failed as well.
Last ditch effort I tried separating each body filter property replacement and that didn't work either.
Steps to Reproduce

Configure a logbook filter to replace custom json property
Execute request/response containing nested json property to be obfuscated
Observe not obfuscated in logs

Context
Im just trying to do basic obfuscation
Your Environment

Version used: logbook-bom 2.1.0

Fixed with #782 but I haven't released it yet

Cheers, cool. Hoping you release soon

I just released 2.1.1 with a fix.


Deprecate the Proxy class.

The Proxy class was originally created to insulate a user from TF dataset formatting and model restarts. As the project has evolved, this "wrapper" abstraction feels increasingly redundant and confusing. A cleaner approach would remove the Proxy class completely from the API and instead clearly document appropriate usage of the core PsychologicalEmbedding model.
One side-effect of removing the Proxy class is that that the Proxy class provides the only convenient method for computing the similarity between arbitrary points. This functionality would need to be provided elsewhere, perhaps in a standalone method.

Proxy class has been deprecated and removed. Users should create a model (via subclassing or the functional API) to compute pairwise similarity.


mem-cache: Do not require p.size and p.entry_size in IP template

This PR is adjusting the constructor to relax template
requirements. In this way child classes are free to provide
their own way of calculating the number of entries and the
shifting required to extract the set
Why do we need this?
Up to this patch we have been configuring the indexing policy
by setting up the cache/table size (in bytes) and the entry size.
Those parameters make a lot of sense in caching structures
where:
a) We want to configure the caching structure using
the amount of storage (in bytes) provided (e.g. 4kB of Cache)
b) the content of a single entry is addressable therefore
we need the entry size to know how many bits in the indexing
process we need to shift to extract the set
In those cases the number of cache entries is derived from the formula
num_entries = size / entry_size
The adoption of the IndexingPolicy for different kinds
of caching structures (e.g. prefetcher tables) make this
way of configuring the IP a bit quirky.
For some tables directly setting the number of entries is a far more
intuitive way of configuring the IP, instead of allocating the desired
number of entries by working things out with the formula above

I am not a fan of this PR, but the current way to instantiate indexing policy is indeed very confusing, so I will approve it.

I am not a fan of this PR, but the current way to instantiate indexing policy is indeed very confusing, so I will approve it.

Yeah I couldn't find a better way.. For a moment I thought about using enable_if and provide different constructors in base depending on whether p.size or p.num_entries were defined.. But it looked a bit over-engineered


Invalid block from relayer - gas exceeding limit

Hi everyone, my Goerli/Prater missed a block at Slot 3,748,745. I'm using Geth/Teku/Mevboost. Friends at Ethtaker says it's likely mev-boost proposed an invalid block but they are not 100% sure. Attached logs. And if someone can help me diagnose if the block from mev-boost was the issue. Thank you!
error_logs.txt

it does look like the flashbots builder provided a block that had the incorrect gas limit for the transactions given

Yep, the Goerli builder seems to have an issue, and the bad block went past the relay verification and was delivered. Thanks for the logs, they are very informative.
For reference, this is the bidtrace for the delivered block: https://builder-relay-goerli.flashbots.net/relay/v1/data/bidtraces/proposer_payload_delivered?slot=3748745

Updated the Goerli relay with additional verification, there was a short window with a debug mode enabled which let that block through the relay.


Split out health score as separate job that runs after test

also explicitly give check-writing permissions to this job, as health-score needs it.
needed for dependabot: https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#changing-github_token-permissions

Hmm I don't like that now TWO checks are written to the PR...


Simplify some call of String operation

Simplify some call of StringBuilder#append.
Simplify some call of String#substring.
Remove unnecessary call of #toString.

Nice cleanups!!


Address broken link in demo page

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: #51
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
The scope of this update corrects an issue with a broken link in the demo page. It also updates minor and patch dependency updates.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Docs and dependencies

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add delay option for autonomous paths

Creates a new chooser for delays (using Commands.waitSeconds(waitTime)) and builds the chosen auto to run after this wait command runs.
The default option is 10 seconds because that was found to work well during Salem to avoid running into alliance robots.

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

#31
#30  👈
#29
#28
#27
#25 : 1 other dependent PR (#26 )
#24
#23
#22
#21
main

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

Join @BruceMcRooster and the rest of your teammates on  Graphite


Improve UX by making the game always ready

It is a bit annoying to have to enter the player name everytime, it is best to assume default values and make the game playable from the start.
Additionally CategoryReady and CategoryNotReady are deleted because they are never used

Thank you!!!


Test TimelinePage: should how a tooltip on hover fails

The mentioned test sometimes passes and sometimes fails with the following message:
● TimelinePage › should show a tooltip on hover

    expect(element).not.toBeInTheDocument()

    expected document not to contain element, found

Deborah Knoll V

born in Lavamünd on March  1, 1918

died in Graz on February 21, 1936

lived in Untertilliach on June 29, 1927

stayed in Pitschgau on February  2, 1925

stayed in Neukirchen an der Enknach on October 23, 1932

statue erected in Arriach on January 28, 1950

Modi quo sapiente sunt repudiandae dolor maiores dolor. Non possimus provident perferendis tenetur dolores iure quia nemo neque. Enim neque aut ut voluptates ea molestias est. Sequi et in voluptatibus. Dolorem culpa minus tempora eaque. Eius quia dolorem deserunt voluptatem distinctio totam dolore occaecati debitis.

 instead

    Ignored nodes: comments,


Quick button taps lead to a weird screen stack when navigating back

Summary | Résumé
A user is able to tap multiple buttons quickly, opening each corresponding screen and ultimately leading to a weird stack when navigating backwards. If they quickly tap button 1 (opens screen 1) and then button 2 (opens screen 2), both screens open and the user is left on screen 2, but when navigating back to the main menu, will have to go through screen 1.

Steps to reproduce | Étapes à reproduire
Note

Most likely possible across the whole app, the steps below are for when the menu is available.

Steps

Tap to bring up the menu
Under Settings, quickly tap Change province or territory first then Change language second

Expected

After tapping Change province or territory the user isn't able to tap another button until the action is finished

Main menu > Change province or territory screen

Actual

After tapping Change province or territory the user is able to tap another button leading to a weird screen stack (refer to gif above)

Main menu > Change province or territory screen > Change language screen

Environment | Environnement logiciel

Android version 10
OnePlus 7 Pro (GM1917) | Oxygen OS 10.3.4.GM21AA
COVID Alert version 1.0.3

Closing this for now.  It's been added to our Trello inbox for further consideration / prioritization.


chore(NSQ): support job timeout

ref https://github.com/appleboy/queue/issues/16
Signed-off-by: Bo-Yi Wu<EMAIL_ADDRESS>

Codecov Report

Merging #25 (f42fab3) into master (6d3b0b9) will decrease coverage by 0.06%.
The diff coverage is 85.45%.

@@            Coverage Diff             @@
##           master      #25      +/-   ##
==========================================
- Coverage   82.04%   81.97%   -0.07%
==========================================
  Files           7        7
  Lines         362      405      +43
==========================================
+ Hits          297      332      +35
- Misses         47       52       +5
- Partials       18       21       +3

Impacted Files
Coverage Δ

nsq/nsq.go
81.66% <85.45%> (-0.16%)
:arrow_down:

Continue to review full report at Codecov.

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


Facelandmarker failed to load inside a module web worker

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
Yes
OS Platform and Distribution
Windows 10, Chrome 126
MediaPipe Tasks SDK version
0.10.14
Task name (e.g. Image classification, Gesture recognition etc.)
Face Landmarker
Programming Language and version (e.g. C++, Python, Java)
JavaScript
Describe the actual behavior
Module scripts don't support importScripts() so when you try to run  face landmarker in a module web worker it throws an error
Describe the expected behaviour
Should be able to run face landmarker in a module web worker
Standalone code/steps you may have used to try to get what you need
From the main thread:
const myWorker = new Worker("worker.js", { type: "module" });

--------------
worker.js:

import vision from<EMAIL_ADDRESS>const { FaceLandmarker, FilesetResolver, DrawingUtils } = vision;

async function createFaceLandmarker() {
  const filesetResolver = await FilesetResolver.forVisionTasks(
    "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>  );
  faceLandmarker = await FaceLandmarker.createFromOptions(filesetResolver, {
    baseOptions: {
      modelAssetPath: `https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task`,
      delegate: "GPU"
    },
    outputFaceBlendshapes: true,
    runningMode: "IMAGE",
    numFaces: 1
  });
}
createFaceLandmarker();

------

Error message:

vision_bundle.js:1 Uncaught (in promise) TypeError: Failed to execute 'importScripts' on 'WorkerGlobalScope': Module scripts don't support importScripts().
    at o (vision_bundle.js:1:452684)
    at Array.map (<anonymous>)
    at i (vision_bundle.js:1:452810)
    at createTaskRunner (vision_bundle.js:1:454548)
    at TaskRunner.createInstance (vision_bundle.js:1:454769)
    at VisionTaskRunner.createVisionInstance (vision_bundle.js:1:460257)
    at M.createFromOptions (vision_bundle.js:1:596091)
    at createFaceLandmarker (worker.js:10:47)

Other info / Complete Logs
The "runScript" helper function (https://github.com/google-ai-edge/mediapipe/blob/master/mediapipe/web/graph_runner/run_script_helper.ts.template) needs to get updated to support both the classic web workers and module web workers.

Hi @Hamed-Hassanzadeh,
Currently, the web worker is not very familiar with our task API. However, we are marking this as a feature request and will share it with the team to ensure it is on our radar. We will consider making it more user-friendly if there is more demand in the near future.
Thank you!!


"property reference" descriptions incorrectly says "holds a boolean value"

Hi,
I noticed that this page (https://docs.pivotal.io/tiledev/property-reference.html#property-blueprints) says that many properties hold boolean value. I think some of these might be incorrect. For instance, the description for uuid says "Holds a boolean value". I'd expect it to say something like "Holds a uuid (without hyphens) as a string".

Hi @kkallday We correct the https://docs.pivotal.io/tiledev/property-reference.html#property-blueprints page. Thanks for pointing out the issue!


Add new use_canonical_path option in rezconfig.py

Context:
It's because on windows, we can map some drive letter, to UNC network path.
To centralize packages but also software binaries.
Problem:
Some softwares like substance, vscode or RV, cannot be run on UNC path and will crash or freeze.
Solution:
Map a new drive letter on windows, using new-smbmapping for example, to avoid usage of unc path in PATH environment variable.
But, rez resolution plugin, use os.path.realpath directly in __init__ because of that, the path is convert back from our mapped drive letter to full unc path, so some binaries cannot be launched anymore.
Another solution, can be the usage of rez cache, but i found this solution not efficient rather than just execution of binary from network.
Final details:
It's why, i have created a new parameter in the rezconfig, to have an option to bypass the convertion of canonical path on resolution process, in case of mapped letter drive in packages_paths.
Obviously, by default i have set it to True, to not alterate the current behavior of rez resolution plugin.
Test:

I have locally reinstall rez with theses modifications, then i have set the property use_canonical_path to False in the rezconfig.py to test and here the result i got:

PS C:\Users\oargentieri> rez env vscode-1.82

You are now in a rez-configured environment.

resolved by oargentieri@<hostname> on Thu Sep 28 10:50:16 2023, using Rez v2.113.0

requested packages:
vscode-1.82
~platform==windows  (implicit)
~arch==AMD64        (implicit)
~os==windows-10.0   (implicit)

resolved packages:
platform-windows  X:\rez_package\platform\windows
vscode-1.82.2     X:\rez_package\vscode\1.82.2\platform-windows

And now vscode can be launched using rez env vscode -- code --disable-chromium-sandbox
Issue:

#1541

Also linked to this discussion

Thanks! I'm far from Windows expert so I'll let others chime in on if it's something we want or not. I'm also wondering why this has never come up before...

I've only skimmed, so I might be missing something, but...
Is this not essentially this issue manifesting? https://github.com/AcademySoftwareFoundation/rez/issues/1438
If so, I'm wondering if we shouldn't just apply this without a config value anyway?

I've only skimmed, so I might be missing something, but...
Is this not essentially this issue manifesting? #1438
If so, I'm wondering if we shouldn't just apply this without a config value anyway?

Actually I think it's related to  #1348
Introducing a variable listed in config will allow us to keep the behavior as it is, for example, on Linux, and to disable the canonicals path usage on Windows or if an unc path corresponds in packages_paths matcher to a mapped letter drive.
But yes, maybe we could actually fix this in another way.

Hi !
Do you have any update on this ?
Because this issue still exist in the new version of rez (tested with 3.0.0)
Thank you !

I think based on #1438 we should try to see if the solution proposed in TSC at the time is the correct step to take. I would prefer a configration-less solution if possible. I am going to start tinkering with this issue to see the effects of replacing the realpath calls and try to start to figure out what sort of testing might be needed.


Update README.md

Standards checklist:

[ ] The PR title is descriptive.
[ ] The PR doesn't replicate another PR which is already open.
[ ] I have read the contribution guide and followed all the instructions.
[ ] The code follows the code style guide detailed in the wiki.
[ ] The code is mine or it's from somewhere with an MIT-compatible license.
[ ] The code is efficient, to the best of my ability, and does not waste computer resources.
[ ] The code is stable and I have tested it myself, to the best of my abilities.
[ ] If the code introduces new aliases, I provide a valid use case for all plugin users down below.

Changes:

[...]

Other comments:
...

gdfg

kıul


feature: add pouch daemon config file

Signed-off-by: Ace-Tang<EMAIL_ADDRESS>
1.Describe what this PR did
Add daemon configuration file for pouch, so there is two ways for set config, command line and config file.
Notice that, a flag can not be set in two places simultaneously.
2.Does this pull request fix one issue?

3.Describe how you did it
4.Describe how to verify it
5.Special notes for reviews

@allencloud , conflict is resolved.

@HusterWan , @allencloud  , PTAL


Response with status: 0  for URL: null

I don't know why I can't get json from my nodejs server (express). I test so many browser and just with Internet Explorer and Microsoft Edge operate normally. Chorme, Firefox alway 'Response with status: 0  for URL: null'.
this my code:
import {Component, OnInit} from '@angular/core';
import {Injectable}    from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs';
@Injectable()
@Component({
selector: 'my-app',
template:
Hello {{name}}
,
})
export class AppComponent implements OnInit {
name: any;
constructor(private _http: Http) {
}
ngOnInit(): void {
try {
this.getAllData();
} catch (e) {
alert(e);
}
}
getData(): Observable {
return this._http.get('http://localhost:7000/')
.map((r: Response) => r.json());
}
getAllData() {
this.getData().subscribe(
data => this.name = data.data,
err => alert(err));
}

I'm sorry but this is not a QuickStart issue. Would be better on StackOverflow. Closing

I think best way is check if request is of type "OPTIONS" return 200 from middle ware. It worked for me.
express.use('*',(req,res,next) =>{
if (req.method == "OPTIONS") {
res.status(200);
res.send();
}else{
next();
}
});


⚠ Bofrost.be has degraded performance

In e0ff85c, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2038 ms

Resolved: Bofrost.be performance has improved in 8207184 after 9 minutes.


Websites with old jQuery versions

Just run into unresponsive behaviour from .select due to the jQuery version used by the website is quite outdated. I resolved it using the Nightmare version of select which doesn't rely on jquery.

Can you link to an example? What version of jQuery was in use, and what selector were you trying to use?

Sorry, my mistake. The problem has nothing to do with the jQuery version but with $(selector).val(value) not firing a change event on a <select> element.
Since the user interaction actually fires a change event when changing the value , I'll make another pull request that addresses that issue.


Can world.RemoveEntity and system.Remove recieve an interface (no backwards)

I really feel that the system Remove method should recieve an interface
type IDer interface{
   ID() uint64
}

func (s *__System) Remove(e IDer){
   id = e.ID()
   for i,item := range s.entities{
        if id == item.ID() {
            //remove code
        }
    }
    //remove code
}

I know this breaks backward compatability, but receiving interfaces is a good thing to do, and All Entities naturally have the ID method so it's slightly simpler both inside and outside of the package.
The Remove calls people have made will still work, but users Remove methods will need updating

What would be the advantage? Won't every entity have a BasicComponent which implements ID() any way?

No major actual advantage.
instead of typing s.Remove(ob.BasicEntity)
you now type s.Remove(ob)
It feels a bit better to me is all

this would be more handy with systems that store interfaces instead of creating new entities, (all the ones I make, as in those, I have to type.
s.Remove(*ob.GetBasicEntity())

I'm going to close this here, as it would have to be fixed on EngoEngine/ecs rather than engo


"Pietroasa, Chișcău, Cociuba Mică, Giulești, Gurani, Măgura, Moțești" are villages in "Pietroasa" commune, "BIHOR" county

Description
When an user search a location, this appear in the drop-down menu
according to the law

Precondition
The website is up an running.
Empty the search bar after every step

Steps 1
Write "Pietroasa"
Expected result
In the drop down menu you find "Pietroasa, BIHOR(Pietroasa)"
Test Data
Pietroasa

Steps 2
Write "Chișcău"
Expected result
In the drop down menu you find "Chișcău, BIHOR(Pietroasa)"
Test Data
Chișcău

Steps 3
Write "Cociuba Mică"
Expected result
In the drop down menu you find "Cociuba Mică, BIHOR(Pietroasa)"
Test Data
Cociuba Mică

Steps 4
Write "Giulești"
Expected result
In the drop down menu you find "Giulești, BIHOR(Pietroasa)"
Test Data
Giulești

Steps 5
Write "Gurani"
Expected result
In the drop down menu you find "Gurani, BIHOR(Pietroasa)"
Test Data
Gurani

Steps 6
Write "Măgura"
Expected result
In the drop down menu you find "Măgura, BIHOR(Pietroasa)"
Test Data
Măgura

Steps 7
Write "Moțești"
Expected result
In the drop down menu you find "Moțești, BIHOR(Pietroasa)"
Test Data
Moțești


IE Intranet

Weird. Travis is exploding. Your new test works fine on my localhost... let me try to figure this one out.


[RFC] mne/channels structure

Lately with #6461 mne/channels is growing and I don't really like the structure it has. I would like to separate the readers in channels, the functions and the objects.
WDYT:
mne/channels
├── channels.py
├── data
│   ├── layouts
│   │   ├─    ....
│   │   └── Vectorview-mag.lout
│   ├── montages
│   │   ├─    ....
│   │   └── standard_primed.elc
│   └── neighbors
│       ├─    ....
│       └──  neuromag306planar_neighb.mat
├── _dig_montage_utils.py
├── _readers
│   ├── layout
│   └── montage
├── __init__.py
├── interpolation.py
├── layout.py
├── montage.py
└── tests
    ├── __init__.py
    ├── test_channels.py
    ├── test_interpolation.py
    ├── test_layout.py
    ├── test_montage.py
    └── test_standard_montage.py

mne/channels
├── channels.py
├── data
│   ├── layouts
│   │   ├─    ....
│   │   └── Vectorview-mag.lout
│   ├── montages
│   │   ├─    ....
│   │   └── standard_primed.elc
│   └── neighbors
│       ├─    ....
│       └──  neuromag306planar_neighb.mat
├── __init__.py
├── interpolation.py
├── layout.py
├── montage
│   ├── base.py
│   ├── _dig_montage_utils.py
│   ├── _standard_montage_loaders.py
│   └── _readers.py
├── montage.py
└── tests
    ├── __init__.py
    ├── test_channels.py
    ├── test_interpolation.py
    ├── test_layout.py
    ├── test_montage.py
    └── test_standard_montage.py

to have an init similar to:
from .layout import (Layout, make_eeg_layout, make_grid_layout,
                     find_layout, generate_2d_layout)
from .montage import (Montage, DigMontage,
                      get_builtin_montages, make_dig_montage)
from .channels import (equalize_channels, rename_channels, fix_mag_coil_types,
                       read_ch_connectivity, _get_ch_type,
                       find_ch_connectivity, make_1020_channel_selections)

from ._readers.montage import (
    read_dig_egi, read_dig_captrack, read_dig_fif, read_polhemus_fastscan,
    read_dig_polhemus_isotrak,
)

from ._readers.layout import read_layout

__all__ = [
    # Objects
    Layout, DigMontage,

    # Readers
    read_dig_egi, read_dig_captrack, read_dig_fif, read_polhemus_fastscan,
    read_dig_polhemus_isotrak, read_layout,

    # Factory methods
    make_dig_montage, make_grid_layout, make_eeg_layout, load_standard_montage,

    # Helper functions
    find_ch_connectivity,
]

sounds good to me !

@massich I was going to say that we should do this as soon as 0.20 is out, but then backporting any fixes will be much harder. So maybe this should be done in 0.19.

I was planning to do that after the release. And maybe some bugs pop up. So I would let it for afterwards. Backported if we have to, and have a nice clean code by the end of next week.

Okay it can wait

:) neither do I I've been willing to that for a LONG time :)
plus merge all the kit and others...


Fix TM shoot framework cli flags description

How to categorize this PR?

/area testing
/kind bug
What this PR does / why we need it:
Fix TM shoot framework cli flags description
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Nice, thanks for the PR!
/lgtm
/retest

/approve


check --bare still outputs announcements

safety version: 2.3.4, 2.3.5
Python version: 3.9.18
Operating System: Ubuntu Linux

Description
Running safety check --bare used to only fail if there was a concrete advisory that need patching.
I could choose to temporarily ignore that advisory with --ignore=<advisory>
But the announcement about the curl vulnerability (https://safetycli.com/research/curl-cve-2023-38545-python) is always shown, even when running with --bare
Adding --ignore=special-advisory:-curl-high-severity-vulnerability:-https://bit.ly/3feapsm does not make safety exit without output, the announcement is still shown.
This breaks our (and i suspect others') CI pipelines.
I would expect --bare to work in such a way that its output could be silenced.
Currently, it seems there is no way for safety --bare to run without output.
What I Did
$ safety check --bare
special-advisory:-curl-high-severity-vulnerability:-https://bit.ly/3feapsm
$ safety check --bare --ignore=special-advisory:-curl-high-severity-vulnerability:-https://bit.ly/3feapsm
special-advisory:-curl-high-severity-vulnerability:-https://bit.ly/3feapsm
$ safety check --bare --ignore=special-advisory # try a variant
special-advisory:-curl-high-severity-vulnerability:-https://bit.ly/3feapsm

As a workaround, we filter out the annoucement with sed in CI:
python -m safety check --bare | sed 's/special-advisory:-curl-high-severity-vulnerability:-https:\/\/bit.ly\/3feapsm//g'

@khink, thank you for this issue report; we are evaluating the best behavior for announcements under a bare output. The ignore flag doesn't work for announcements, but it's an excellent idea to consider.
As an immediate solution, I asked the team to remove the announcement on Safety 2.x.

Hi @khink,
Thank you for bringing this issue to our attention and for your detailed report.
After careful consideration, we've decided to move this issue to the "wontfix" category. We'd like to provide some context for our decision:

Safety Scan Command: We have transitioned to recommending the safety scan command, which we believe offers a more robust and flexible solution for vulnerability checks. Significant feature development is focused on safety scan, and we encourage users to adopt this new command for their workflows.
Announcements in Bare Output: We understand the impact of announcements on CI pipelines and appreciate the workaround you shared. The --ignore flag not working for announcements is a known limitation, and while it's a great idea, it is not currently feasible within the safety check command.

We appreciate your understanding and encourage you to try the safety scan command, which is designed to address many of these concerns more effectively. Thank you for your contributions and continued support. If you have any further suggestions or reports, we'd love to hear from you!
Best Regards,
The Safety Team


CHOICE_MODE_MULTIPLE_MODAL don't work well when swipelayout in contextual menu

when I press long, system call AbsListView.performLongPress(), CHOICE_MODE_MULTIPLE_MODAL occur, but follow system call AbsListView.performItemClick(), app exit CHOICE_MODE_MULTIPLE_MODAL.  I don't know why system call AbsListView.performItemClick() after it call AbsListView.performLongPress().    How I fix it ?
thx for your help.

same problem here... any idea?

Same issue here... it works when you slightly slide the finger down after longPress is triggered.


Compatibility to EnergyPlus 8.9.0

The current version does not support EnergyPlus 8.9.0 (https://github.com/NREL/EnergyPlus/releases/tag/v8.9.0)

Merged to https://github.com/IBM/rl-testbed-for-energyplus/issues/8


Write a Scala program to print reverse of a number

Description
Write a Scala program to print reverse of a number
Reverse of a number is the number obtained by reversing the digits of the original number. For example, the reverse of 123 is 321. The reverse of 100 is 1. The reverse of 1000 is 1.
Input  : 123
Output : 321

How to contribute

Save the solution in program/printReverseOfANumber.scala file
Add printReverseOfANumber.scala file in print-reverse-of-a-number folder

!assign


Generalize and expand Haskell backend

Hi there,
In pursuit of #7
This PR:

expands the Haskell backend so that it can: run independent code blocks with runghc, run arbritrary code with ghci (which means you can even get type signatures and load packages in the interactive process) and runs cabal and stack targets.

I've only tested this for my own project and haven't updated the README to explain the new directive options. Key to the new options are just to let the author of the book send commands to the extension. I think this a better and simpler design than trying to discover the right project directory or something like that. This also allows for a user to run cabal repl or stack repl in a code block instead of ghci but I didn't test it.
Most of the changes should be fairly straightforward, but please do not hesitate if you have any questions.

Hi! Thanks so much for the PR. I'm glad to see a Haskell contribution, I'm only an amateur but it's my favourite language I've used so far!

Hey! No worries! I'll intern this in my own book because I want to keep developing the Haskell features. The next one on my list is to steal some code from docutils so I can have the book test the output of code blocks against the cached version. That way I can have CI for my own book.
But please don't feel pressured and absolutely put the PhD before this sort of work. I remember going through the final hoops of my PhD and I all the stress that entails. Best of luck!

Well, that's awkward; I squashed the commits and promptly pushed the wrong thing to your fork (some aspects of git are clearly still beyond me). Now the PR is closed (sorry), but I merged it into master anyway so you are now a contributor. 😅
Thanks! And of course, please feel free to take any or all of the code and use as you wish!


pyhon3Packages.deal: fix build by disabling test

Description of changes
Disable 'test_exception_hook'.
Since commit 6d9c72445899838d00828e85b2c5057b99ccc8b0 (pytest 7.1.3 -> 7.2.0) the test fails.
Official CI builds with pytest 7.1.2. There doesn't seem to be a way to submit an upstream issue.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1722

Result of nixpkgs-review pr 211262 run on x86_64-linux 1

6 packages built:

python310Packages.deal
python310Packages.icontract
python310Packages.pylddwrap
python311Packages.deal
python311Packages.icontract
python311Packages.pylddwrap


Problem in specifying server

//Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100), 8442);
Arduino: 1.8.3 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\kartiksingh00013\Documents\Arduino\New_WIFI_code\New_WIFI_code.ino: In function 'void setup()':
New_WIFI_code:25: error: 'IPAddress' was not declared in this scope
Blynk.begin(auth, wifi, ssid, pass, IPAddress(192,168,1,100),  8442);
                                                          ^

exit status 1
'IPAddress' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

@kartik00013 which exactly sketch did you use? can you provide sketch link?

@kartik00013 for ESP8266, you can only specify it like Blynk.begin(auth, wifi, ssid, pass, "your ip or domain address", 8442);

Thanks for your help. Can you also tell which IPAddres I need to define, if I am using local server

so that's IP of your local server


Strange physical effects

Issue Type: Bug Report
Version: <IP_ADDRESS>2
Platform: Please specify the platform where the issue is encountered (e.g., Windows 10, Android 9, etc.)
Describe the bug Two unusual physical effects have been observed when using a physics engine with rigid bodies:
The falling balls do not scatter as expected but instead form a wall. They only exhibit normal physical behavior when a larger ball is used to collide with them.

To Reproduce Steps to reproduce the behavior:
Launch the application.

Observe the behavior of the falling balls.
Specific steps to reproduce the problem:
For the issue with balls forming a wall: a. Place multiple balls at the top of the scene. b. Observe the balls falling and forming a wall. c. Collide with a larger ball to observe the change in physical behavior.
For the issue with balls stacking on top of each other: a.

The balls should not stack on top of each other when falling but should maintain some distance.
Logs and Callstacks If available, please attach any logs or callstacks here (preferably uploaded as a .txt file using GitHub’s drag-and-drop feature).
Additional context Add any other context about the problem here. For example, does the issue occur under specific conditions or is it related to certain settings?

Thank you for the detailed report!
The behavior you're observing is actually expected due to the nature of perfect spheres in physics simulations. A perfectly spherical object, when perfectly centered, will balance on top of another sphere without rolling off. This balance occurs because there are no external forces causing them to lose equilibrium.
(Their centers of mass are perfectly aligned with the Y-axis, so they can't generate X or Z reaction forces.)
To address the issues:

For scattering: Try introducing small offsets in positions or perpendicular forces to the spheres when they are spawned. This will break the perfect symmetry and encourage a more natural scattering effect.
Let it scatter: If you're using BEPU Physics, ensure that the spheres are marked as "awake" (either by setting awake = true; or defining the sleepThreshold to a negative value). Sometimes, objects may go to sleep in the physics engine to optimize performance, which can prevent them from losing balance or behaving dynamically.

These adjustments should help achieve the expected behavior. Let us know if further clarification or assistance is needed!

Thanks for your answer, I understand.
Next I will close the Issue.