Allow types that have a default outOfBand custom format to be displayed in other formats without -Force

PR Summary
The intent of this PR is to allow objects that have a custom default outOfBand format to be displayed in other formats without requiring users to use -Force.
The outOfBand format flag is used to identify formatting that should be used when rendering objects in PowerShell, even if other objects are being rendered in a completely different format. For example, if you invoke a command that is returning objects that are rendered by default in a table format, and within that command you have data sent on non-standard output streams (verbose, warning, debug, or information messages, or errors), those objects are considered out of band, but their default format is used regardless.
To solve this problem and allow objects with default, explicit, outOfBand custom formats to be formatted in other ways when piping those objects to Format-List, Format-Table, etc. cmdlets without using the -Force parameter, PowerShell needs to have an extra conditional check: if the objects use an explicit outOfBand format, and if those objects are being written in standard output (i.e. not in the verbose, debug, warning, error, information, or progress streams), then treat those objects as if they are not out of band.
PR Context
Fixes #10408.
PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[X] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[X] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[X] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[X] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[X] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

The Codacy errors will not be addressed in this PR because they are part of the Pester tests in which they are contained.

@SteveL-MSFT This is another potential PR for preview 5. The changes are trivial, and the user experience improves significantly as a result.

@SteveL-MSFT Since preview 5 is out the door, this is a potential PR for preview 6. The changes are trivial, and the user experience improves significantly as a result. All it needs is some review time.

@iSazonov: When you mark some PRs as candidates for one of the previews, and not others, how do you make that call? For example, this PR. It removes one of the annoyances in PowerShell (users being forced to use -Force to get a certain format from ErrorRecord, Exception, and ScriptBlock instances), the changes are small/localized, and it includes automated tests, yet it seems to just sit idle, making me feel I need to campaign for it to be looked at. Why? What's the minimum bar for that tag?
@SteveL-MSFT Time on preview 6 is running out, and PR reviews seem to have slowed down to being almost unnoticeable (72 open PRs). I understand prioritization challenges, but in some cases community members can't even get an answer to a question to move something that you indicated would be a welcome PR from the community forward. Do you have plans to put some resources on PR reviews for preview 6 to try and get some of that work included in PS 7?

@KirkMunro I am very sorry that this is happening. I really like this project, but I am limited in my capabilities (time and understanding). Huge backlog (over 70 PRs) says that MSFT team too.
Current priority order is security, bugs, compatibility fixes, new kill features (like we get &&, ||), only then rest. So that many community PRs are in line for a long time. On the other hand, looking at the GitHub statistics, I wonder how much PRs we merge every month.
I think 70 PRs are in backlog too many for the project and the red line is at ~30 PRs. I hope we can achieve this.

@JamesWTruher can you please review this?

@JamesWTruher can you elaborate? This would be the first time anything pursuant to formatting has ever demanded an experimental feature, and it would not break any existing use cases that I can see.

i think this is pretty self-evident. For 15 years, folks have used -force to view these objects. This is a change to that behavior, and there may be issues not considered here. I want to protect our users from surprises like that.

I don't follow. Where's the surprise? Does this break -Force?

yes, in a way it does break force. It is as if -force was used when it was not. Now there will be no difference between -force and it's absence

Sure. But, again, this is a formatting difference, and simply makes things like $error | Format-List to function without -Force where before the operation appeared to do nothing.
I find it hard to believe anyone would depend on that behaviour... but I'm happy to be shown otherwise. 🙂

It would be nice to see samples/screenshots of popular scenarios with output before and after the change.


Encrypted Notes Motoko: replace HashMap with TrieMap

to get rid of warning about append performance

hi @yvonneanne. thank you for contribution. as this PR is quite outdated, I would like to close it. if you would still like to include this example, I encourage you to create a new PR. thank you for your understanding.


[T4A7][W09-B1]Jamos Tay

Based on the first few commits, you seem to have got the general approach right. Good job.
Please close the PR after reading comments.


Duplicated transaction check when queue of AbstractTransactionalMessageCheckListener.excuetorService is full

master1        | java.util.concurrent.RejectedExecutionException: Task org.apache.rocketmq.broker.transaction.AbstractTransactionalMessageCheckListener$2@1e179a79 rejected from java.util.concurrent.ThreadPoolExecutor@bb1ccc7[Running, pool size = 5, active threads = 4, queued tasks = 2000, completed tasks = 30247]
master1        | 	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
master1        | 	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
master1        | 	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
master1        | 	at org.apache.rocketmq.broker.transaction.AbstractTransactionalMessageCheckListener.resolveHalfMsg(AbstractTransactionalMessageCheckListener.java:80)
master1        | 	at org.apache.rocketmq.broker.transaction.queue.TransactionalMessageServiceImpl.check(TransactionalMessageServiceImpl.java:223)
master1        | 	at org.apache.rocketmq.broker.transaction.TransactionalMessageCheckService.onWaitEnd(TransactionalMessageCheckService.java:55)
master1        | 	at org.apache.rocketmq.common.ServiceThread.waitForRunning(ServiceThread.java:144)
master1        | 	at org.apache.rocketmq.broker.transaction.TransactionalMessageCheckService.run(TransactionalMessageCheckService.java:44)
master1        | 	at java.lang.Thread.run(Thread.java:748)

Because the queue of ExcuetorService (created in AbstractTransactionalMessageCheckListener) is full :
private static ExecutorService executorService = new ThreadPoolExecutor(2, 5, 100, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(2000), new ThreadFactory() {
        @Override
        public Thread newThread(Runnable r) {
            Thread thread = new Thread(r);
            thread.setName("Transaction-msg-check-thread");
            return thread;
        }
    });

When the exception occurs, the newOffset of TransactionalMessageServiceImpl.check is not update to ConsumeQueue, so lots of duplicated check occurs.

@areyouok in order to avoid lost check request, will not update new offset when rejected.

This PR include the fix
https://github.com/apache/rocketmq/pull/1544


🐛 BUG: Windows+node:fs=> ALL Pages uploads/updates fail with 2000+ files [ERROR EMFILE]

System tested
OS: Windows 64-bit
pm: nvm-windows
node.js: 16.7.0 (lowest supported), 16.16.0 (lts), 17.9.0, 18.5.0, 18.7.0 (latest), likely all versions affected
wrangler: 2.0.17, 2.0.23, likely all versions >2.0.6 affected
dependencies: all updated to "wanted" versions
ERROR src: -node:fs, -chokidar, -wrangler pages publish/upload code (eg lack of graceful fs queuing/retries)
Issue:
On win64, when publishing a few thousand files via wrangler pages publish, the uploads fail due to chronic ERROR EMFILE: too many files open '<C:\path\to\last\read\file>'  errors.
The uploads either fail:

during the dir walk/read/check stage if a previous deployment exceeds [6000-8000] files -> thus, one can't reliably update even a single file if larger previous deployments went through

OR

during the upload stage when the total batch of files is in the [2K-4K]+ range -> ie, even the first deployment will fail if you start with a larger batch

Similar bugs/fixes elsewhere:
#141 chokidar: Use graceful-fs to avoid EMFILE?
 #624 IPFS: upload directory with subdirectories [WIP]
Potential Fix/Solution:
The bug likely stems from use of the core node fs module and how files are watched and read in the pipeline. While chokidar+fsevents might be preventing EMFILE errors on Mac, no such mitigations appear to be used on Windows systems. Instead of queuing/waiting/retrying, the uploads fail entirely once a single EMFILE error is thrown, rendering Pages projects with a few thousand files impossible to maintain even though wrangler technically allows 20,000 files per upload. :((
Can a test build with graceful-fs +wrangler publish/upload code fs replacements be temporarily made available at least until a permanent Windows-specific fix is released? Thanks.

Ran into this myself today with a large project. graceful-fs seems to be a good drop-in replacement to queue up the calls and more gracefully handle EMFILE errors.


How to assign width and colour of line in linestring ?

Am Trying to adjust the width and colour in the linstring output , i tried svg() but getting invalid geometry error
below are the code snippet :
geo_df2 = geo_df.groupby('station')['geometry'].apply(lambda x: LineString([[a.x, a.y] for a in geo_df.geometry.values]).svg(stroke_color='#ff3333'))
geo_df2 = gpd.GeoDataFrame(geo_df2,geometry='geometry')
output:
TypeError: Input must be valid geometry objects:

Hi,
Is still relevant, please provide a minimal standalone snippet that shows your issue. Preferably, using only Shapely, without using GeoPandas.


before_batch_transfer and after_batch_transfer hooks in LightningDataModule

🚀 Feature
Can we have two additional hooks in LightningDataModule?
Something like before_batch_transfer_to_device, after_batch_transfer_to_device, although these can be renamed to something else.
Motivation

before_batch_transfer_to_device: This can help apply transformations or augmentations to a batch before it is transferred to the device.
after_batch_transfer_to_device: This can help apply transformations or augmentations to a batch after it is transferred to the device. For eg we can perform data augmentation in the GPU for a batch using Kornia.

Alternatives
As of now, it can be done by overriding the transfer_batch_to_device hook but a separate hook makes more sense here I think.
If approved I can send a PR :)

@williamFalcon @nateraw

love it.

Should I wait once you are done with refactors? @williamFalcon

@rohitgr7  I think you can go ahead, most of the reactors are done!

I need some suggestions with the API. I think wrapping up these 3 functions on_before_batch_transfer, transfer_batch_to_device and on_after_batch_transfer into a single one something like prepare_batch would be better here.
def prepare_batch(self, batch, device, *possible_args, **possible_kwargs):
    batch = self.on_before_batch_transfer(batch, *possible_args, **possible_kwargs)
    batch = self.transfer_batch_to_device(batch, device)
    batch = self.on_after_batch_transfer(batch, *possible_args, **possible_kwargs)

since transfer_batch_to_device is being called at multiple places already and adding these 2 additional calls everywhere isn't a good way.
Also move transfer_batch_to_device into a separate class DataDeviceHooks along with 2 new functions and use it as a parent class only for LightningDataModule??
What do you think @awaelchli @nateraw?
I am open to suggestions.

+1 for implementing a broader prepare_batch(self, batch, device) function
Also consider that right now transfer_batch_to_device isn't called when running on CPU.
This causes inconsistencies when debugging on local machines without a GPU.

@tchaton

Dear All,
Sounds like a great idea to add a prepare_batch (I would prefer a more explicit name such as prepare_batch_after_collate_fn) hooks made of sub-hooks. I think it should be easier with graphs and sparse pointclouds.
Best,
T.C

cc @tchaton

Thanks for adding these hooks! I would like to use these to apply transforms across my entire batch when training. How would I find out if a batch is part of the training, validation or test set? I want to make sure I'm only applying augmentations during training. I had a look to see I could get that from a state variable within the trainer, but I don't think I can access that within methods called by these hooks. Thank you again, it's really a joy porting my code to pytorch-lightning


[Feature request] Implement vault-find-token from hashi-helper.

The only reason I have hashi-helper installed is to search for specific tokens, see https://github.com/seatgeek/hashi-helper#vault-find-token.
It would be nice that I can do this from safe.

Which parts of vault-find-token are you interested in? I have plans to implement safe grep, effectively finding strings within values in the vault. Does that cover your typical use cases?

I've pretty much each filter option for vault-find-token. If safe grep implements those, yes, that would solve it :)


numpy.dual is dropped but it still occurs in dowhy

When operating from dowhy import gcm, it reported: No module named 'numpy.dual'.
Details are below:
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[26], line 1
----> 1 from dowhy import gcm

File d:\\PycharmProjects\\pythonProjectTest\\.venv\\Lib\\site-packages\\dowhy\\gcm\\__init__.py:12
     10 from .fitting_sampling import fit, draw_samples
     11 from .graph import StochasticModel, ConditionalStochasticModel, FunctionalCausalModel, DirectedGraph, is_root_node
---> 12 from .influence import arrow_strength, intrinsic_causal_influence
     13 from .stochastic_models import EmpiricalDistribution, BayesianGaussianMixtureDistribution, ScipyDistribution
     14 from .whatif import interventional_samples, counterfactual_samples, average_causal_effect

File d:\\PycharmProjects\\pythonProjectTest\\.venv\\Lib\\site-packages\\dowhy\\gcm\\influence.py:25
     23 from dowhy.gcm.shapley import ShapleyConfig, estimate_shapley_values
     24 from dowhy.gcm.stats import marginal_expectation
---> 25 from dowhy.gcm.uncertainty import estimate_entropy_of_probabilities, estimate_variance
     26 from dowhy.gcm.util.general import shape_into_2d, set_random_seed, is_categorical
     28 _logger = logging.getLogger(__name__)

File d:\\PycharmProjects\\pythonProjectTest\\.venv\\Lib\\site-packages\\dowhy\\gcm\\uncertainty.py:7
      1 \"\"\"Functions to estimate uncertainties such as entropy, KL divergence etc.
      2
      3 Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
      4 \"\"\"
      6 import numpy as np
----> 7 from numpy.dual import det
      8 from scipy.special import digamma
      9 from scipy.stats import entropy

ModuleNotFoundError: No module named 'numpy.dual'"

numpy.dual is dropped from numpy since 1.20.0(https://numpy.org/doc/stable/release/1.20.0-notes.html#deprecation-of-numpy-dual)

dowhy version: 0.8

Hi, can you try to update your DoWhy version? nump.dual is not used anymore in the newer DoWhy versions. The current version is 0.11.1.

My python version is not compatible, it installs dowhy 0.8. After changing py3.12 to py3.11,  I can install latest dowhy. Thanks for your suggestion, it helps a lot !


A Reactive UI Library

Scala's a really nice language to use for building GUIs and exploring new programming paradigms. One such paradigm is a UI based around change-propagation/FRP. There are several Javascript libraries such as AngularJS, Knockout.js and React which support this style of programming, as well as Scala libraries like Scala.Rx and Scalatags which are compatible with ScalaJS and can be used to build client-side GUIs.
It would be cool to explore the design space to see what kind of libraries and frameworks can be built around the idea of a Reactive UI in the browser using ScalaJS
Previous Discussion:
Angular-like bindings / UI-updating
facebook react
scala.js and reactjs

 form(
            inputBox,

not suppose to work if
 val inputBox = input(
    id:="new-todo",
    placeholder:="What needs to be done?",
    autofocus:=true
  ).render

already rendered in html


Cannot add integration through HACS

Cannot add integration through HACS, I'm using the (as of writing) latest version of HACS (version 1.15.2)
When clicking "Explore & Add Repositories" and searching for "Google Wifi", I get no response:

When trying to add the repository via "Custom Repositories", I cannot add it:

Unfortunately this appears to be an issue with your install of HACS.


[Question] Netflix Eureka, REST Clients, and Thrift Services production deployment

I am using Spring Cloud's Netflix Eureka, together with Ribbon and Zuul for a microservice architecture. Currently, the services look similar to the following:
Books
|
|- Books REST API
|- Books Backend
|- Books Datastore

The REST API  and the Backend are both Eureka Clients - they should both be able to consume and produce registrations to the Eureka Server.
The REST API uses Spring Boot, Ribbon and a LoadBalancingTcpClient to speak to the Backend (which is a Thrift server).
I currently have a single Eureka Server that also uses Zuul for routing in front of the services. So, whenever a user hits e.g. api.mystuff.com/books the request would actually get proxied by Zuul to wherever the books service is running (e.g. api.mystuff.com/books/titles -> internal.bookhost/titles).
I had the following few questions here:

In production, how would I expose the API publicly? Would I have yet another layer before the Eureka Server? Would I have something like HAProxy that forwards the requests to any number of synchronized Eureka Servers?

How does a typical multi-datacenter deployment of Eureka look like? Is there any synchronization and routing possible between data centers? How does Netflix do it? Do they simply use the various AWS regions as closed entities? If so, how do they synchronize their datastores?

Why are you concerned about having another layer infront of Eureka?  Do you mean Zuul?
I suggest you read this wiki page https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance.  Eureka can use peer replication to replicate instance data between zones.  I dont think Netflix recommends replicating information between regions though.

Hi, Thanks for the reply. As for your comments and questions:

It's not really a concern. I was only trying to figure out what parts would ideally be publicly exposed (i.e. Eureka Server? Just Zuul? Both?).

Very iInteresting information, thanks for the link!

I had an additional question, if I may:
For my Backend service (using Thrift), I was initially using Spring Boot and a Bean that starts a Thrift server at some port and registers it in a local cache for lookup. Ideally now, I would want the Thrift server to be registered to the Eureka Server so that I can open TCP connections to it directly instead of having two apps running.
However, something odd happens when I switch to a standalone Eureka Client discovery mechanism (i.e., no Spring Boot):
Injector injector = Guice.createInjector(Modules.override(new EurekaModule()).with(new MyEurekaModule()));  // override with non-AWS config
DiscoveryClient backendEurekaClient = injector.getInstance(DiscoveryClient.class);
In my eureka-client.properties, I have the following hostname setting:
eureka.instance.hostname=srv-dev.domain.local
However, the Eureka Client seems to register itself with just srv-dev. My REST API, which is a @SpringBootApplication, correctly registers itself with srv-dev.domain.local:${port}.
Some other settings as well, like eureka.instance.lease-renewal-interval-in-seconds=10, do not seem to be taken into consideration at all. Have you encountered this behaviour before?

I dont see any reason to expose Eureka.  If Zuul is serving as an API gateway than that would make sense to expose publicly.

Please open a separate issue for your other question.  However if the app is not using Spring Cloud and just using vanilla Eureka, I suggest you open an issue in the Eureka repo.

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.


test with dead relay

the out controller is no longer closed in relay manager.
Instead its in requests and relay manager closes the network stream _checkNetworkClose()
Not ideal because we need to check if the relay is still online.
Also changed the DEFAULT_WEB SOCKET_CONNECT_TIMEOUT to 4s so ndk startup is fast enough even if some relays are down

Important and much needed tests, nice job!


Fix npm package for .NET5

Fixes #3166
Just copies the binary to net50 directory
See https://github.com/RicoSuter/NSwag/pull/3115/files#r523072120
I realize this is a bit of a drive-by pull request. If it doesn't look obviously correct just let me know and I'll dig into it properly

Already fixed.

https://github.com/RicoSuter/NSwag/pull/3169


Update README.md

Hello Sir,
I have added the API boxes in the README.md file . Please take a look at my PR & after reviewing if possible please merge it under APERTRE'24

@eccentriccoder01 Please take a look at my PR & after reviewing if possible please merge it under APERTRE'24


Implement Google OAuth, update documentation, and fix requirements.

This PR got a bit more broader in scope than I intended, and as a result, has some merge conflicts, which I apologize for.
This addresses issues #3, #5, and #6.
Summary

Remove bcrypt and JWT flask extensions.
Add a minimal PASETO implementation by yours truly that only serves this purpose
Implement Google OAuth endpoints
Update requirements.txt to work on more platforms and only contain needed libraries. This is currently managed by poetry, which I didn't want to include in this project until further discussion.
Update documentation to include minimum python version, database setup instructions, new environment variables, and Google OAuth application set up. Also added a note on virtual environments.

Once this is merged, https://github.com/sinsniwal/iitm-server-bot/issues/17 can be implemented by creating new endpoints here.

Okay what just happened this is why I don't use the website for PRs. Closing this.


[UI] Change notification when swap fails due to low gas

This message could be improved to something like: "Insufficient balance (gas) to complete the  transaction. Please ensure you have enough gas to cover the transaction fees."
Ideally we also change the style sheet to be more in line with overall look and feel of the app.

Closing due to logic change, as errors get directly displayed in app before initiating the swap without the pop up error.


config and debug options ignored when show-cops

Expected behavior
Since --show-cops is meant to list "available cops and their configuration",
a) the --config option should be respected in order to accurately show cop configurations, and
b) the --debug option should be respected in order to verify which config files have been loaded.
Actual behavior
print_available_cops is called before the debug and config options are processed, so they cannot be used:
https://github.com/bbatsov/rubocop/blob/5ced1c5df51cad99475d9186d4d66a7508518fd1/lib/rubocop/cli.rb#L64-L72
Steps to reproduce the problem
$ cat ./other_rubocop.yml
Bundler/DuplicatedGem:
  Enabled: false
$ rubocop --debug --show-cops --config ./other_rubocop.yml | head -n5
# Available cops (347) + config for /path/to/the/thing:
# Department 'Bundler' (2):
Bundler/DuplicatedGem:
  Description: Checks for duplicate gem entries in Gemfile.
  Enabled: true

Note that no debug statements are printed and Bundler/DuplicatedGem is not disabled despite what's in the config file.
RuboCop version
$ rubocop -V
0.49.1 (using Parser <IP_ADDRESS>, running on ruby 2.1.0 x86_64-darwin14.0)

@Drenmi I was about to add a bug label, but feature request is OK. Either way, this is something we should fix IMO.

I was about to add a bug label, but feature request is OK. Either way, this is something we should fix IMO.

Was contemplating between the two. Both could apply, depending on the intent (or lack thereof) of previous authors. 🙂


Allow to convert worlds from vanilla

The best option would probably be releasing a standalone world converter.

I don't think this should be a requirement for a beta release. Having it asap would be nice, but it does not keep us from testing, which a beta is all about.

Closing as particlly functioning standalone converter already exists https://github.com/OpenCubicChunks/CubicChunksConverter


Add FPS monitor

Author the user story for this feature
As a developer, I want to be able to analyze performance (FPS) so I can make changes in configuration/implementation to improve performance.
Is your feature request related to a problem? Please describe.
There are a couple of ways of configuring deployments so we need to be able to have an ability to compare them using the data.
Describe the solution you'd like
Integrate statsfl plugin to the app. Choose how to toggle it (ON/OFF).
Describe alternatives you've considered

performance_fps
flutter_fps

Both have lower popularity/usage and can be considered as an alternative if there are any hard issues with statsfl.
Additional context
https://blog.gskinner.com/archives/2020/04/flutter-introducing-statsfl-an-fps-monitor-for-flutter.html

The statsfl plugin works well on the beta channel, but currently, our flutter version is 1.15.3, and I've faced some rendering issues with that plugin.
Alternatives:

performance_fps is not working on the web.
flutter_fps crashed with errors.

So to resolve this issue we need to wait to upgrade flutter version.


Added logic for users in zip codes with split congressional districts

Logic added for users in zip codes with split congressional districts.
Other things done in this PR:

Used Trans from i18n-next to interpolate i18n message resources containing links
Added clean-build-css script to package.json to do a clean CSS build from SCSS files
Changed LocationActionType to string-based enum to allow code completion in editor
A few additions/corrections to README.md

Please run yarn to install the new dependency rimraf and then yarn clean-build-css
to rebuild the CSS.
This PR is a partial implementation of issue #10 and a replacement for PR #32

The tslint script I added in commit 4511297 runs in the test script, so CircleCi will now fail when it runs yarn test and there are linting errors.

Testing this is bringing out some edge cases in location-finding:

Deny geolocation and get a backup from ipinfo, then reload the page. It looks like a timeout waits until browser geolocation fails again before fetching issues. We should fetch issues immediately if there's a location, then we can always refresh if we get a more accurate location later.

Regardless of browser location accept/deny, it looks like we're falling back and overriding manually-set location. For example, try entering a split zip (or any other zip) like 19444 - reload the page and the location with be reset to either browser location or ipinfo fallback. Manual location setting should never be overridden, in fact the codepath to try browser location or ipinfo fallback shouldn't even be attempted unless there's no existing location data.

@nickoneill the fixes to the issues you itemimzed above are in commit 5bdf517 (1) and commit 5470dec (2)

Looks great! Merge when ready


"Update onInit in PnPjsExampleWebPart.ts" text doesn't match code

Under Install and set up @pnp/sp the text states:

In the onInit method, update the code to appear as follows. Add the block after the super.onInit() call. We do this after the super.onInit to ensure that the framework has a chance to initialize anything required, and that we are setting up the library after those steps are completed.

but I don't think it matches with the layout or the functionality of the code shown.
I haven't tested it but would this be better?
/**
* Initialize the web part.
*/
protected onInit(): Promise<void> {
    return super.onInit()
      .then(() => {
        this._id = _instance++;

        const tagName: string = `ComponentElement-${this._id}`;
        this._componentElement = this._createComponentElement(tagName);
        this._registerComponent(tagName);

        // When web part description is changed, notify view model to update.
        this._koDescription.subscribe((newValue: string) => {
          this._shouter.notifySubscribers(newValue, 'description');
        });

        const bindings: IPnPjsExampleBindingContext = {
          description: this.properties.description,
          shouter: this._shouter
        };

        ko.applyBindings(bindings, this._componentElement);

        sp.setup({
          spfxContext: this.context
        });

        // optional, we are setting up the @pnp/logging for debugging
        Logger.activeLogLevel = LogLevel.Info;
        Logger.subscribe(new ConsoleListener());
      });
  }

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
ID: 4b19eb96-192d-2d8b-8d4e-0de787f22093
Version Independent ID: e2cbd2b2-8bb7-a95f-0768-15f1b045b4c4
Content: Use @pnp/sp (PnPJS) library with SharePoint Framework web parts
Content Source: docs/spfx/web-parts/guidance/use-sp-pnp-js-with-spfx-web-parts.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Thanks for the question. Since this is a PnPJs question, I suggest trying to ask the question over in the PnPJs GitHub. https://github.com/pnp/pnpjs/

I got an email notification for a reply - was it deleted?

@patrick-rodgers ... care to comment on this as it's related to a PNPJS doc?

@andrewconnell - we're not tracking this as it looks like it should be in PNP.

As mentioned (a long time ago), this is PNP related.


lstm: Update AVX / SSE support

This PR fixes issue #517. The detection code was tested with Mingw-w64 (which supports both the gcc and the MSVC specific code), but I cannot test builds with MSVC.

@zdenop, https://ci.appveyor.com/project/zdenop/tesseract/build/3.05.560 still includes 3.05 in the URL.

@stweil I change build version format to "{branch}.{build}" (from "3.05..{build}". Lets see if it helps.

Looks good, thank you.

Nice!
What about moving the SIMD detection code to a separate file?
(maybe to arch/simddetection.h)

Good idea. Done in PR #618.


refactor(RewardStreamerMP): keep track of maxMP instead of potentialMP

This commit changes the mechanics to ensure there are no more MP generated that what's allowed as per max limiting.
Previously we've kept track of potentialMP which would decrease as more MP are generated.
This made verifying certain rules on certora hard and/or impossible. So we decided to track maxMP instead, which only decreases when users unstake.
This commit also introduces a rule that ensures any accounts MP never exceed their max mp.
Closes #44
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[ ] Added natspec comments?
[x] Ran pnpm adorno?
[x] Ran pnpm verify?

Pinging @gravityblast


Send the edited request before the original request

When you working with the DELETE/PUT method to delete/update somethings, but if the original sent first, the record is gone so the edited request will fail. It would be nice if auth_analyzer have this option :D

Oh, I see the "Drop Original Requests". Thanks for the response.

Oh, I see the "Drop Original Requests". Thanks for the response.


vmap over composite out-of-place ops whose in-place variant is non-composite

The following operations:

index_add
index_copy
index_fill
masked_fill
masked_scatter
index_put

have this quirk where they are composite but their in-place variant has an autograd formula. For example,
Tensor index_fill(const Tensor & self, int64_t dim, const Tensor & index, const Scalar& source) {
  return self.clone(at::MemoryFormat::Preserve).index_fill_(dim, index, source);
}

We have trouble doing vmap(grad(foo)) where foo includes one of the above operations. This is because Autograd ends up decomposing e.g. index_fill into tensor.clone().index_fill_(...) and the in-place operation is not vmap-compatible.
I've brainstormed two ways to solve this. There are tradeoffs for each and I'm wondering if someone else has a preference.
Approach 1: DECOMPOSE_FUNCTIONAL
(cc @bdhirsh)
We use the functionalization pass to functionalize index_fill. Unfortunately this results in the following code:
self.clone(...).index_fill(dim, index, source)

which results in an unnecessary clone() which is not good for performance. IDK if we want to make the functionalization pass smarter in the future, this sounds complicated.
Approach 2: Add backward formulas for index_fill and all of the operations above (aka, turn them into primitive operations).
(cc @albanD)
This means that both index_fill and index_fill_ get backward formulas (Could we get away with only giving index_fill a backward formula?). This is a pretty simple solution, the tradeoff is that we need to duplicate the formulas and we are setting the precedence that "operations that have an out-of-place variant must have a backward formula defined on the out-of-place variant".
Discussion
I prefer Approach 2 for its simplicity. To address the code duplication we can put the formulas into helper functions. Thoughts?

The discussion here is probably relevant: https://github.com/pytorch/pytorch/pull/65993/files#r729912376
index_add will stop being a CompositeImplicitAutograd kernel after the above structured porting PR lands. I think the same will probably happen to the other ops on the list, once they're all eventually ported to structured.
I had the same question about index_add and index_add_ both getting backward formulas in that PR (currently in the PR, they do). @albanD I think the answer is that we still want a formula directly for index_add_ due to perf, right? Perf is only affected in cases where a user calls the inplace index_add_ op directly and uses it with autograd.
So my take (definitely open to other opinions, though), is that all of the above ops will stop having math-composite kernels at some point (once they're all structured). Maybe we should prioritize porting them if they're important to functorch.

Thanks for the link, @bdhirsh! It's very relevant.
It sounds like the solution is to have two sets of backward formulas, one for the out-of-place version (index_add) and one for the in-place version (index_add_) for perf reasons. Furthermore, it looks like that is also a prereq for making the operation structured.


False positive MD046 for long footnotes?

I had a search for this in the existing issues but couldn't find anything. https://github.com/DavidAnson/markdownlint/issues/599 was related but a different error.
In this file: https://github.com/PRQL/prql/blob/ee7679fca744e01df5e52626bdec2eb66739e782/DEVELOPMENT.md?plain=1#L33, we get:
DEVELOPMENT.md:33 MD046/code-block-style Code block style [Expected: fenced; Actual: indented]

...but it's not a code block, it's indented to make it part of the footnote. Is there a better way to make a multiline footnote?
Here's a screenshot of the md and the result; the location of the error is highlighted:

Thank you!

By CommonMark strict parsing rules, that warning is correct as seen by the parser:
http://markdown-it.github.io/#md3={"source"%3A"%23 Issue 689\n\nText[^5]\n\n```text\nCode\n```\n\n[^5]%3A\n    Text\n\n    - Item\n"%2C"defaults"%3A{"html"%3Afalse%2C"xhtmlOut"%3Afalse%2C"breaks"%3Afalse%2C"langPrefix"%3A"language-"%2C"linkify"%3Atrue%2C"typographer"%3Atrue%2C"_highlight"%3Atrue%2C"_strict"%3Atrue%2C"_view"%3A"html"}}
However, disabling strict mode behaves as you wish at the parser layer. I suspect the footnote gets handled by a markdown-it plugin which you could also include when linting and should silence the warning. (I can’t verify that from my phone right now, but think I’ve tried this before.)
PS: Probably this plugin: https://www.npmjs.com/package/markdown-it-footnote

Thanks — that does help — but we get a new set of errors:
markdownlint-cli2 v0.5.1 (markdownlint v0.26.2)
Finding: DEVELOPMENT.md
Linting: 1 file(s)
Summary: 10 error(s)
DEVELOPMENT.md:33:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]
DEVELOPMENT.md:37:1 MD007/ul-indent Unordered list indentation [Expected: 2; Actual: 6]
DEVELOPMENT.md:38:1 MD007/ul-indent Unordered list indentation [Expected: 2; Actual: 6]
DEVELOPMENT.md:39:1 MD007/ul-indent Unordered list indentation [Expected: 2; Actual: 6]
DEVELOPMENT.md:41:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]
DEVELOPMENT.md:154:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]
DEVELOPMENT.md:156:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]
DEVELOPMENT.md:159:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]
DEVELOPMENT.md:162:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]
DEVELOPMENT.md:166:1 MD007/ul-indent Unordered list indentation [Expected: 0; Actual: 4]

Regardless, this doesn't seem like an issue with this library specifically, so I'll close this issue.
Thanks!


Updating the CONTRIBUTING.md page

Brief summary of the Pull Request, including any issues it may fix using the GitHub closing syntax:
The project CONTRIBUTING.md page is expanded in order to make it more beginner-friendly and a bit easier to navigate for potential contributors.

Thanks so much @longhdo  --- unfortunately there was another PR in the queue ahead of this to remove the CONTRIBUTING.md file in the root of the project --- the "main" contributing guide can be found here, instead:
https://github.com/qiime2/qiime2/blob/master/.github/CONTRIBUTING.md
Please let me know if you would like a hand with updating this PR to propose these changes on the .github/CONTRIBUTING.md file. Also, maybe you could coordinate with @yanmeng26 on this project? They have a similar PR in the queue ahead of you, it might be useful for the two of you to combine your efforts. Thanks!

This seems stale, so I'll just close it :)


Suggestion: More yoyo specific modifiers.

There are already some fun modifier s like shears or collecting etc and of course the base modifiers art her as well like quarts.
But I think there is a lot of potential in a spinning weapon to have some interesting modifiers.
Here are a few I came up with:
Tangled: applied with a lead and fishingroad makes the yoyo pull the mobs it hit towards the player when it retracts (fun combination with sponge to move animals around)
Explosive: makes the yoyo do a small explosion when it hits something (everyone loves explosion if they don’t break blocks)
Digging: adding a vanilla pickaxe or TiC pickaxe head gives the yoyo block breaking functions as long as it hits a block
Spiky: adding prismarine shards or swords to it can give it a damage boost by adding 4 spikes to the sides
Bouncy: the counterpart to sticky instead of sticking to blocks it will bounce of of blocks makes it fun in narrow places.
Sling throw: adding a bow to it makes the initial throw super fast and pierce trough mobs or maybe chargeable to give it an initial damage boos on the first hit.

That’s it for now I found these ideas fun maybe they are doable and you find them funny as well Tangled is my favorite among them.

I do like a lot of those, thanks for the suggestion!
Bouncy and sling throw would be really cool, but I can't think of an easy way to implement them right now.
I did have working code for digging yoyos, but I never got around to integrating it with the rest of the mod.
Tangled and explosive should be very doable, though! After I release the next bugfix I'll get working on those!


proposal: add new Question? label to issue tracker

Go doesn't currently allow questions on our GitHub issue tracker.
If we get a question, we reply with a link to https://golang.org/wiki/Questions in some stock answer explaining that Go is unlike some projects on GitHub that use their issue tracker as a forum and users should use a mailing list or slack or the Discourse web forum.
It's pretty sad to turn all those users away, though.
I've been thinking that we should just maybe start to allow the questions. We can automate away the email annoyance spam with bots pushing the Subscribe/Unsubscribe button automatically (for those who want the ~firehose minus questions) based on heuristics and labels (the community can label the issues as "Question").
What really drove this home was this same exchange happening to me recently in a non-Go project. I had filed a feature request bug with a project with a proposed way to implement it, and I was told to go away to a forum, where it rotted unseen & untracked.
The nice thing about questions in issue trackers is that they can be closed when they're resolved and you can search for open questions. That doesn't happen in forums.
I still don't think we'd want to promote the issue tracker as the canonical forum for questions, but I also think we should consider not turning people away who end up there.
Doing this, combined with #18517 (accept GitHub PRs), which @andybons has recently completed, seems like it'd make us a more welcoming project.

Considering the slowness and poor user experience of Google Groups (as reported by many of our users), I think this is a good idea. I've seen it work well for other projects, too.

My concern is that many more people read the forums, and they are far more likely to be able to actually answer the questions.  Questions about use of the language are easy enough to answer, but many questions are about unusual use cases and libraries, for which there are people who know the answer but they aren't  reading the issue tracker.  If we make this change we'll need some way to encourage the people already reading the forums to also read the issue tracker.

Spitballing, applying the Question tag (or something else?) could trigger a bot to email golang-nuts notifying the forums of an interesting issue tracker question. Or a different/new forum?
Assuming the details can be sorted out, this is an excellent idea. Meet your users where they are.

How about answering quick questions in the issue, but still closing the issue and redirecting them to the wiki? I agree that a quick close is off putting, but there's no additional noise as the answer/close would still happen.

How about answering quick questions in the issue

We don't want to require that the first-level triage-er have to write (or research!) an answer. They need to be able to add some metadata (or close) quickly. But adding the label "Question" is as quick as closing it. And then gopherbot can take over and unsubscribe all the bugs-only users who are only interested in actual bugs. It can even use the gmail API to remove it from our inbox. (I have existing gmail bots that that for other things.)

tl; dr: IMO is a bad idea. I'll elaborate

It's pretty sad to turn all those users away, though.

We're not turning them away. We are re-routing them to places (like forum.golangbridge.org or stackoverflow ) that are much better suited for questions, and where there are a lot of people reading questions and answering them.
If just pasting "for questions, see https://golang.org/wiki/Questions" feels "sad" (and I agree it doesn't feel nice), you just have to write a better pre-packaged reply once (one that is more verbose, and feels "nicer"), and insert that when you close the issue.

We can automate away the email annoyance spam with bots pushing the Subscribe/Unsubscribe button automatically

but you can't automate the questions away for the people gardening from the github user interface. Also this kind of "automation" would still rely to contributors gardening the issue tracker and labelling the questions as "questions", so I'm not convinced that it would be actually possible to keep the tracker tidy and clean for people not interested in answering questions.

What really drove this home was this same exchange happening to me recently in a non-Go project. I had filed a feature request bug with a project with a proposed way to implement it

Yours was not a question, then. We already allow feature requests in the tracker, and especially so the ones with concrete implementation ideas. I don't' kind this experience is that relevant since on this tracker your issue would still be open.

The nice thing about questions in issue trackers is that they can be closed when they're resolved and you can search for open questions. That doesn't happen in forums.

This is actually a bad thing. Because users won't search among closed issue to see if their question was answered in the past. Nobody cares or looks at closed issues. On the other hand, in a forum or on stackoverflow you usually don't "close" or "archive" valid questions, and all the threads are kept there, so people 1) actually use to search button to look for older threads, because they're not stacked away in a "closed" page 2) users resurrect old threads if they want to ask more things in topic with the thread

I still don't think we'd want to promote the issue tracker as the canonical forum for questions, but I also think we should consider not turning people away who end up there.

Having a centralized database of questions/answers is a valuable thing. That's why stackoverflow is widely used. At this point for most technologies you don't even have to actually "ask" a question. You just search and find a past thread with answers. Routing people to a couple of standard places (e.g. forum.golangbridge.org and stackoverflow) has two benefits 1) there's high chance of the question already having an answer, you just have to search 2) if that doesn't happen, the person asks the question there, enriching the questions/answers database.

Considering the slowness and poor user experience of Google Groups

You can fix this by closing nuts and routing people to forum.golangbridge.org and stackoverflow, so this shouldn't be used as an argument for allowing questions on the issue tracker.

My concern is that many more people read the forums, and they are far more likely to be able to actually answer the questions.

I agree. I have the feeling that the people answering go questions on stackoverflow and forum.golangbridge.org are not the same that "patrol" the issue tracker.
The current separation between the issue tracker (only for bugs and feature requests/proposal) and questions/answers forums is beneficial because it allows us to keep the issue tracker a somewhat tidy, clean place that the people working on go can visit to find things to do; and it permits the kind of people that answer questions and discuss about the language (and there are many many more of these) to visit places that are exactly meant for this kind of interaction.

GitHub is superior to Google Groups for discussing code and searching for past questions. The bi-directional issue linking is nice and other places don't have that. If a bug or proposal topic is generating many questions then that shows in the issue.
If a question can't be answered in a reasonable amount of time (such as for usage of a third party library) then somewhere like golang-nuts would be more appropriate and the issue can be closed as "don't know".

What about two issue trackers? One (golang/go) for bugs and one (maybe golang/questions) for questions? That way we can have the advantages of using issue tracker for questions as well as the separation of questions and bugs.

@cherrymui, the problem is we can't move bugs between repos, so people will file questions at golang/go anyway. This issue is about deciding how we handle questions that arrive at golang/go.

Is there a chance this could inflate the number of open "issues" people see when they look at the repo?

@as I don't think that needs to be a concern here.  There are currently over 3000 open issues; anybody making decisions on that basis is not going to be affected by this change.

Hi, here are my thoughts on this issue as a Gopher and Gophers Slack Admin.
I agree with Brad that it's pretty sad to reject people and turn them away from Github when they have a question. It would be nice if people could ask questions here and then drive pages like FAQ, or may lead to creating new ones.
However, currently as far as community goes, there are far less people active here, potentially answering / helping others than on other mediums, like the GoBridge Forum or the golang-nuts ML.
There's also the problem that Github really doesn't make it easy to allow people interested in helping the community to help them as there's no way to subscribe to new issues only, you can either get all the e-mails or you have to manually subscribe to the issues you are interested in (or comment on them).
And, so far I haven't mentioned the elephant in the room.
While there are vastly different opinions on Slack, we currently have 24k members signed up, roughly between 1500 - 2000 weekly active users, and we usually generate about 30000 messages per week. Besides the idle chatter that happens at times, we have a lot of questions that we answer hourly, sometimes with a successful answer within minutes of the question being asked, with topics that sometimes span outside of Go itself, such as how to configure nginx or how to design APIs. The obvious disadvantage of that community is that we often repeat the same questions / answers and all the knowledge that we have as a collective is quickly replaced by the new stream of chat.
I leave out Reddit out of this, as despite the best efforts of the admins there, a whole thread can quickly turn bad for anyone having a question that needs to be answered.
I wonder if instead of the classic link to the questions wiki page, https://github.com/golang/go/wiki/Questions , a better answer could be to just answer with the contents of the page directly. Maybe a bot command could be added to open the issue on behalf of the user on the Forum and then link it here, add the rest of the reply, apply the Go Usage Question label, then close the issue and lock it down. That way the user would not need to necessarily open a new account on the forum, unless it wants to reply to questions, and people helping out in the forum could get a chance to reply to these questions.
Finally, this is also a problem of image. When you navigate on golang.org, it's pretty hard to figure out where to get help from, or even to find the Contributing page (I always have to google for that one). I would love to have a redesigned website which puts more emphasis on helping users discover these kind of places and provide recommendations for officially endorsed support channels.

Another thing to consider is that currently the issue tracker itself doesn't really like me too comments, see: https://github.com/golang/go/issues/19282#issuecomment-284068814 as an example. Part of opening up the tracker to generic Go issues will be dealing with those nonsensical comments (or people randomly commenting on closed issues with me too and so on.
This would create too much noise for maintainers / people helping out and the current Github tooling is pretty bad at this (as mentioned earlier).

The current search defaults are is:issue is:open:
is:issue distinguishes pull requests et. al, from issues.
is:open filters on open issues
Is a question an issue?
If a question is answered, is it closed?
If it's closed, would we instruct users to clear the search tag is:open to search for questions that have already been answered before asking a new one?

A middle ground might be agreeing on a template text we all use saying something like:

Sorry, this looks like a question. We don't really use this issue tracker for general discussion. We'll keep it up, though, but label it 'Question', but there aren't many people answering questions around here. There is a more active user community answering questions at: [LIST OF FORUMS]
This issue will be auto-closed in 30 days. If you get your answer elsewhere before then, please reply with a link to the answer and then close this bug.
If it turns out this is a bug and not a question, we can remove the 'Question' label and promote it to a bug.
Thanks!

Notably:

it tells them there are better forums
doesn't immediately close their issue
still lets people help for a bit

I'm still not sure what the best answer here is. I'm still spitballing.

Sounds good to proposal-review.

So what happened here? https://github.com/golang/go/issues/26901
Are questions allowed on the tracker or not?

Good question, I kind of forgot about this one.

If we do start allowing questions, we could easily provide a link by which the title of the issue is pre-populated. gopherbot can then do something sensible with it, which will catch most questions.
https://github.com/golang/go/issues/new?title=question:&body=
We could also provide a separate issue template for questions to ensure that people add as much relevant information as possible, structure things in a vaguely common way etc.
One request I would make; I, like a (small) number of folks, have the firehose of issues turned on, more for idle reading than anything. If questions can be asked via the GitHub issue tracker, the traffic will likely increase; by how much I'm unclear, but it would be fair to assume it will be some percentage of the existing traffic to golang-nuts, StackOverFlow, Twitter etc.
If gopherbot or something similar gained the ability to subscribe people to issues according to certain filter criteria, this would enable me to turn off the firehose, and folks more generally to more precisely specify the issue flow they are interested in. It would also help to eliminate the duplicate emails I get from GitHub about the PR associated with a Gerrit-bot linked CL (because you can't filter out PR emails from GitHub).

@myitcv It seems we need to do the following:

[ ] Standardize on a prefix (question: seems to be the right choice)
[ ] Create the Question label
[ ] If gopherbot sees a question: prefix it applies the Question label automatically
[ ] gopherbot should close idle question issues after 30 days
[ ] Add another issue template for questions

No one has worked on the above. Help is welcome.

@andybons, I agree except for your last bullet. An explicit design goal stated above is to not be the canonical place for questions. We don't want to encourage more on GitHub. But if people end up here with a question or a bug report that is actually a question, we don't want to turn them away.

It's now possible to transfer issues between repos — I strongly support having a dedicated questions repo (as @cherrymui suggested).
Not sure about API support, but it might be possible to have gopherbot automatically transfer any issues tagged/prefixed with question as well.

Oh, perfect. I saw that news but didn't think about using it for this. Great.
Yeah, I'm also down for a new "questions" or "help" (shorter) repo.

@bradfitz sounds good to me. Removed the last bullet.

@bradfitz ok then what are the rules of a new repo? Is there a repo we can emulate?

We have a bunch of misc repos under github.com/golang/*. None is like a help/Q&A site, though.
Let's just pick a name and then make it: "questions" or "help". I don't like "qa" for being too short and ambiguous with Quality Assurance and "q-and-a" etc are gross.
"questions" despite being longer is probably more encompassing, as many people are curious about something in the language or library design without it being a request for help and it's not a bug for golang/go.
Also possibilities: "discuss" or "user" or "forum".

My vote goes for "questions".
If we call it "help", we might get users who simply want others to help fix or review their code.
Is there a plan to have gopherbot close issues after inactivity, kinda like how old threads in a mailing list get buried under newer posts?

We should also update this repo's issue template saying that "if you are asking a question, please do this on the questions repo". Otherwise, the general tendency is to raise issues in the main repo itself.

Looks like we're somewhat live with this?
https://github.com/golang/go/issues?q=is%3Aopen+is%3Aissue+label%3AQuestion
I've also submitted the following feedback to GitHub. Do the Go team collect and surface this sort of stuff in a more official capacity?

https://github.com/notifications is an excellent way of handling notifications, thank you. I have one suggestion, however.
The golang/go repo has just started accepting questions via the issue tracker (although this will not be advertised as the main place for questions to be answered). Here is the label filter:
https://github.com/golang/go/issues?q=is%3Aopen+is%3Aissue+label%3AQuestion
I want to be able to configure my notifications screen to filter out questions, i.e. not have them appear in my notifications feed.
Are you are considering such a feature?

Just to add my two cents: I exclusively use this issue tracker, and almost never participate in any other forums or Slack. So for me, questions would be fine, since this is the only place I help out and can answer them.
Also, a question might indicate that the relevant documentation needs improvement, as long as the person who asked the question actually read the fine manual. So I consider that a question is often a documentation bug.
Just as a quick poll, anyone who uses this issue tracker exclusively like me, please give this message a thumbs up so we can see how many people out there only use this tracker and nothing else to interact with the Go community.

After thinking about this more (and taking into account the feedback above), I believe we should encourage the community to primarily (but not exclusively) ask questions on Stack Overflow.

The community on Stack Overflow is enormous, the SEO is quite good, and the product is designed for exactly this purpose. Adding another place to ask questions that doesn’t have adequate features to support it feels like adding unnecessary fragmentation
As @dlsniper mentioned above, the same conversations are repeated often in Slack, indicating an issue with discovery on closed-platform chat services. This also puts an oversized burden on those answering the same questions repeatedly
We can funnel SO questions with adequate granularity (modules-related issues, for example) into Slack/Discord channels using bots, allowing for people to monitor/contribute answers without asking people to move away from their platform of choice

What do people think?

As someone who doesn't currently use Stack Overflow, or Slack, or Discord, tell me more about what those bots could in principle do.  Thanks.

After thinking about this more (and taking into account the feedback above), I believe we should encourage the community to primarily (but not exclusively) ask questions on Stack Overflow.
What do people think?

I think this is a very good idea, for the reasons I already explained above (https://github.com/golang/go/issues/23745#issuecomment-364173236).
I would be very happy if we could return to a state where questions on the github issue tracker are simply immediately closed with a standardized, kind, friendly message. We can come up with one, and then the people active on the tracker can add it as a saved reply. So we can be polite be default when we re-route people and it'll only take literally two mouse clicks.

encourage the community to primarily (but not exclusively) ask questions on Stack Overflow.

Since for questions databases centralization is good, I also agree we could set for a main suggestion (e.g. stackoverflow). If we do that, it may be worth including a note like "remember to search if the question was already answered" in the saved reply.
I don't have any opinion on bots that bridge SO with slack&co, but I think that's a different issue. Regardless of what it could be done to make people that patrol SO or slack happy, closing questions on the issue tracker and re-routing people to a better Q&A platform remains a good idea (even if we end up not doing this slack/discord bot thing).

I believe we should encourage the community to primarily (but not exclusively) ask questions on Stack Overflow

That sounds like a reasonable conclusion based on the points you present above.
Related follow up question. Do you anticipate therefore, Stack Overflow becoming some sort of source of truth/reference point for certain questions and answers? Or will golang.org continue to be the go-to place for definitive answers?
My only suggestion would be that some effort is put into a mechanism whereby the core Go docs (i.e. those hosted on golang.org) can be improved over time by the questions and answers in various channels, of which Stack Overflow is one. Stack Overflow, Slack and indeed any platform can serve as a useful funnel for questions, themes etc. But having the source of truth being golang.org is important to my mind. Having good support for search, well laid-out docs etc is a critical part of this.

As someone who doesn't currently use Stack Overflow, or Slack, or Discord, tell me more about what those bots could in principle do. Thanks.

You could have a channel in Slack that a bot posts new questions tagged with the go label to. This would allow those who already hang out in Slack who already are answering questions to monitor that channel instead of having to remember to visit Stack Overflow as well.

I would be very happy if we could return to a state where questions on the github issue tracker are simply immediately closed with a standardized, kind, friendly message.

I agree. We need to find the right wording so that someone asking a question doesn’t feel “turned away” but more “pointed in a better direction.”

Related follow up question. Do you anticipate therefore, Stack Overflow becoming some sort of source of truth/reference point for certain questions and answers? Or will golang.org continue to be the go-to place for definitive answers?

I don’t think SO should replace quality documentation from authoritative sources. We should be using the questions we get on any medium to inform how the docs can be improved.

I don’t think SO should replace quality documentation from authoritative sources. We should be using the questions we get on any medium to inform how the docs on golang.org can be improved.

Great. Taking a specific example, I think it would be worth considering in what format the modules wiki could be promoted to the official docs. This does not imply/require that these docs be included as part of the official Go distribution (because I think the important bits have already made it across to the cmd/go docs), but that there should be a "sub section" of golang.org for this kind of thing: it's really a combination of FAQ, best practice, examples etc. Should be easy to navigate, search etc.
An equally important part of getting this issue "right" is the communication/messaging to those people kindly taking the time to answer these questions that the goal should be to promote the most common/best questions to this "sub section" of golang.org. If you can point people to an example of "oh and here's what we did with promoting the modules wiki" (which was driven superbly by @thepudds), then that will definitely help.

@andybons
FWIW, I think this is a good idea to turn the focus to Stack Overflow. Microsoft I think did something similar when they shut down some of their forums and asked people to move over to Stack Overflow.
Right now, my personal take is Stack Overflow answers for Go on at least some topics is typically of lower quality compared to what I see for other languages.
Having more savvy eyes on SO and encouraging the broader community to focus on improving the quality of answers there would very likely drive up the quality and end up being a virtuous circle, with more people relying on it for answers and contributing there.

We need to find the right wording so that someone asking a question doesn’t feel “turned away” but more “pointed in a better direction.”

Part of routinely hitting "very friendly" when asking someone to go elsewhere might be in-lining the friendliness into the issue comment itself in a canned way. (That would be in contrast to just trying to make the Questions wiki page be extra friendly, for example).
In an earlier semi-related discussion a couple years ago, @thaJeztah supplied what I thought was a great example of what I think is a 90% canned answer that was very friendly, and which I think comes close to your desire to not wanting people to feel “turned away” but more “pointed in a better direction”. This is a Docker issue response from @thaJeztah (from https://github.com/moby/moby/issues/35227#issuecomment-337217850):

You may want to have a look at multi-stage builds as well to move the build-artefacts from a build-stage to a new stage.
Please keep in mind that the GitHub issue tracker is not intended as a general support forum,
but for reporting bugs and feature requests. For other type of questions, consider using one of;

the Docker Support Forums - https://forums.docker.com
the Docker community Slack channel (register here: http://dockr.ly/community)
StackOverflow

I'm closing this issue because this is not a bug, but feel free to continue the conversation 👍

My interpretation is the first sentence there was a quick, lightweight, and partial answer that hints at specific topics that might help (but without supplying enormous detail), and then the rest of the answer I suspect is canned. The fact that the friendly canned response is "inlined" in the issue there I think helps as well.  Closing with an emoji is also a nice touch.
(Side note: I know open source maintainership is hard, there are a million issues to get through, taking longer to help person X means taking time away from helping person Y and Z, etc.).

Re the quality and approachability of StackOverflow and closed communities, the Rust forum uses Discourse. It seems to have pretty good support for both Q&A topics and threads and GitHub integration, and it apparently has both a managed option and an open-source implementation. That might be worth investigating.

@bcmills we already have a Go equivalent at https://forum.golangbridge.org/

@ALTree, thanks for the reminder. I took a look at the golangbridge forum again, and was pretty disappointed at the quality of the questions and answers compared to, say, typical questions and answers on golang-nuts.
The issue tracker (and SO) makes it relatively easy to retitle issues to properly reflect the question being asked. I don't know if such a thing is possible in Discourse (or if it is possible but not enabled for new users), but if it is, that feature seems to be significantly underutilized on the golangbridge forum. At the very least, if we send questions in that direction I think we will need to raise the standards of gardening to make it easier to find existing questions and their answers.

I also took another look at the go tag on SO. I noticed a few very unfortunate patterns there.

Many of the questions marked “unanswered” actually did have answers, but they had been entered as clarification comments instead, and there is no supported way to promote a comment to an answer. That makes searching much more difficult on both sides: as someone with a question to ask, it's hard to find related questions with answers, and as someone attempting to answer questions, it's hard to find questions that are ready for a response (that is, that both (a) do not have an answer and (b) are not awaiting clarification from the OP).

Many of the questions tagged go are at best only marginally Go-related. (For example, there are many questions about how to use specific databases or libraries in Go, or how to use Go to serve specific data for a program written in some other language to consume.) Specific sub-tags such as go-modules are a bit better, but relying on those would make it harder to find and route questions that don't have a more specific label.

It's not at all clear to me whether there is an equivalent to our WaitingForInfo label, but if there is it does not seem to be available to most users.

Closing as we are not going to be using GitHub issues for questions.

I don't mean to resurrect closed threads, but this is very relevant: https://news.ycombinator.com/item?id=22388639
Perhaps it would be a nice middle ground once it rolls out. It could allow us to keep discussions in a single place (this GitHub repository), while keeping questions and discussion separate from bug reports and proposals.


Fearture/jjin3/allow for missing ob type b

Allow filter for missing satellite radiance files in the final SWELL configurations, following @rtodling PR https://github.com/GEOS-ESM/swell/pull/400.  However, radiance observations with zero-sized input files are omitted in the final configurations because JEDI/IODA cannot read those zero-sized files.  In addition, filters for missing conventional and ozone observational files are omitted since an action of "error" is now assigned for those missing observations.

So far, these PR causes works for missing convectional and microwave radiance data. It crashes swell-3dfgat_atmos run when any of AIRS, IASI, CRIS-FSR, and AVHRR input files is missing.

@gmao-wgu  It turns out that JEDI crashes with this correlated IR observational error inflation filter when there aren't observational input files:
- filter: BlackList
  filter variables:
  - name: brightnessTemperature
    channels: *cris-fsr_n20_channels
  action:
    name: inflate error
    inflation variable:
      name: ObsFunction/ObsErrorFactorWavenumIR
      channels: *cris-fsr_n20_channels
      options:
        channels: *cris-fsr_n20_channels

UserError: Invalid prior filter requested
ObsErrorCrossVarCov: Obs error correlations not provided for 324 of 431 channels/variables in file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4. To see which channels, turn on OOPS_TRACE
OOPS Ending   2024-09-03 12:25:59 (UTC-0400)
I added a check of number of observations in /discover/nobackup/jjin3/jedi/jedi-work2/ufo/src/ufo/errors/ObsErrorCrossVarCov.cc.jj . However, that doesn't solve the issue.  JEDI still returns an error of "Invalid prior filter".  Any idea?

@gmao-jjin3 I will try to replicate your case and proceed from there.

@gmao-wgu  It turns out there is an issue to handle IASI files in JEDI/ioda.  There filter mentioned above is fine.  My other tests go through with missing AIRS and CRIS-FSR input observational files. Tests fail with missing IASI data only.  UFO filters are fine.
Reported the issue to the JCSDA team: https://github.com/JCSDA-internal/ioda/issues/1332

It turns out I had a minor update in UFO before I traced down the above issue in IODA.  Here is the UFO PR for the update: https://github.com/JCSDA-internal/ufo/pull/3455.

@gmao-jjin3 and @rtodling, is this ready to merge? I see the relevant PR in JEDI is merged.

@Dooruk No, the JEDI team is still looking into the issue that arises with missing IASI data.

@gmao-jjin3, please notice that the actual error message in your excerpt above is:
UserError: Invalid prior filter requested

which means you are probably adding a filter in the wrong section (pre, prior, post, please see https://github.com/JCSDA-internal/oops/blob/d77217323bbbd02ea41049fe1bd339f24a64f177/src/oops/base/ObsFilters.h#L41-L58 for more info), while
ObsErrorCrossVarCov: Obs error correlations not provided for 324 of 431 channels/variables in file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4. To see which channels, turn on OOPS_TRACE
OOPS Ending 2024-09-03 12:25:59 (UTC-0400)

is a warning message that the matrix you provided for CrIS-FSR doesn't have covariances for some channels (likely the ones you don't use).

@fabiolrdiniz  I noticed that before.  However, I don't think it is the real reason.  All the filters and their order are fine when the obs input file is available.

@fabiolrdiniz or @jianjunj, as I recall, there was an issue associated with the UFO filters in case the missing file action was used. Was that resolved? Can we go ahead and merge these changes?

@fabiolrdiniz or @jianjunj, as I recall, there was an issue associated with the UFO filters in case the missing file action was used. Was that resolved? Can we go ahead and merge these changes?

That's what I recall too and this was the associated fix https://github.com/JCSDA-internal/ufo/pull/3455. However, I remember @gmao-jjin3 reported elsewhere he was still having an issue that I couldn't reproduce on my side with fv3-jedi (gfs though). Same observation config (obs space, files, filters) but with different settings for the solver. I don't think the solver differences would play a role though.
I'm not the right person to say it's working on the swell environment, but it would be nice if someone could test it and report if indeed there is still an issue.

That's what I recall too and this was the associated fix JCSDA-internal/ufo#3455. However, I remember @gmao-jjin3 reported elsewhere he was still having an issue that I couldn't reproduce on my side with fv3-jedi (gfs though). Same observation config (obs space, files, filters) but with different settings for the solver. I don't think the solver differences would play a role though.

I'm not the right person to say it's working on the swell environment, but it would be nice if someone could test it and report if indeed there is still an issue.

@gmao-wgu or @gmao-yzhu you mentioned this issue was resolved but could you point the PR or Git Issue that resolved this issue before we merge this in? And @jianjunj if possible.

Thanks for the reminder. Let me contact Jianjun and I’ll get back to you later.
From: Doruk Ardağ @.>
Date: Tuesday, November 12, 2024 at 10:29 AM
To: GEOS-ESM/swell @.>
Cc: Zhu, Yanqiu (GSFC-6101) @.>, Mention @.>
Subject: [EXTERNAL] [BULK] Re: [GEOS-ESM/swell] Fearture/jjin3/allow for missing ob type b (PR #415)
CAUTION: This email originated from outside of NASA.  Please take care when clicking links or opening attachments.  Use the "Report Message" button to report suspicious messages to the NASA SOC.
That's what I recall too and this was the associated fix JCSDA-internal/ufo#3455https://github.com/JCSDA-internal/ufo/pull/3455. However, I remember @gmao-jjin3https://github.com/gmao-jjin3 reported elsewhere he was still having an issue that I couldn't reproduce on my side with fv3-jedi (gfs though). Same observation config (obs space, files, filters) but with different settings for the solver. I don't think the solver differences would play a role though.
I'm not the right person to say it's working on the swell environment, but it would be nice if someone could test it and report if indeed there is still an issue.
@gmao-wguhttps://github.com/gmao-wgu or @gmao-yzhuhttps://github.com/gmao-yzhu you mentioned this issue was resolved but could you point the PR or Git Issue that resolved this issue before we merge this in? And @jianjunjhttps://github.com/jianjunj if possible.
—
Reply to this email directly, view it on GitHubhttps://github.com/GEOS-ESM/swell/pull/415#issuecomment-2470843462, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARUMEBXDGRON4IDQXMS5RXT2AINHDAVCNFSM6AAAAABNLH4IK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZQHA2DGNBWGI.
You are receiving this because you were mentioned.Message ID: @.***>

@Dooruk  I generated a zero-length NC4 file for IASI-Metop-B and tested it with IASI-Metop-C observations. The run completed successfully. The results look good, so this issue has been resolved.


Setup a release system to surge

Create a build on release of both docs and src

run storybook build
run library build
copy library into storybook-static
insert library into the preview-head.html file


Request for task to be added for converting stable-diffusion-xl-turbo to onnx format using optimum-cli

Feature request
I tried using optimum-cli with task set as stable-diffusion-xl but the process was killed:
~/Downloads$ optimum-cli export onnx --model sdxl-turbo --task stable-diffusion-xl sdxl-turbo-onnx/
Framework not specified. Using pt to export to ONNX.
Keyword arguments {'subfolder': '', 'trust_remote_code': False} are not expected by StableDiffusionXLImg2ImgPipeline and will be ignored.
Loading pipeline components...: 100%|█████████████████████████████████████████████████████████████████████████████| 7/7 [00:05<00:00,  1.34it/s]
Using framework PyTorch: 2.1.1+cu121
/home/apps/anaconda3/envs/stable_diffusion_env/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:66: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if input_shape[-1] > 1 or self.sliding_window is not None:
/home/apps/anaconda3/envs/stable_diffusion_env/lib/python3.8/site-packages/transformers/modeling_attn_mask_utils.py:137: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if past_key_values_length > 0:
/home/apps/anaconda3/envs/stable_diffusion_env/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:273: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len):
/home/apps/anaconda3/envs/stable_diffusion_env/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:281: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if causal_attention_mask.size() != (bsz, 1, tgt_len, src_len):
/home/apps/anaconda3/envs/stable_diffusion_env/lib/python3.8/site-packages/transformers/models/clip/modeling_clip.py:313: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if attn_output.size() != (bsz * self.num_heads, tgt_len, self.head_dim):
/home/apps/.local/lib/python3.8/site-packages/torch/onnx/symbolic_opset9.py:5857: UserWarning: Exporting aten::index operator of advanced indexing in opset 14 is achieved by combination of multiple ONNX operators, including Reshape, Transpose, Concat, and Gather. If indices include negative values, the exported graph will produce incorrect results.
  warnings.warn(
Killed

Motivation
I think a lot of people would like to use stable-diffusion-xl-turbo in onnx format.
Your contribution
not sure how to submit a PR,but I could help if needed.

Hi @theoctopusride,
It looks like you're running out of memory during conversion (which is a memory-intensive step that can require up to multiple times your model size in space). If you are interested in the sdxl-turbo model, we recently added the ONNX model, that you should be able to load directly with the ORTStableDiffusionXLPipeline class

Hey there, do you know any public FP16 export of SDXL Turbo to ONNX? I am having trouble converting the .safetensors version because optimum-cli does not detect the local file and instead tries to fetch a HuggingFace repo.
Thanks in advance.

Closing as this issue seems solved :)


Add docstrings to views, update requirements

Add Docstrings to view functions in hello/views.py
Remove redundant code from hello/views.py
Update Django version to 2.1.2

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: xadahiya sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Ability to change y-axis of scatter plot to a different column

Cylinter implements a scatter plot that just uses channel-to-be-gated intensity on the x-axis, and Area of segmentation mask on y-axis.
Changing the y-axis to another marker in the quantification matrix can be beneficial. In cases where the markers are mutually exclusive (i.e. do not show co-expression), the orthogonality of the markers can provide better context than Area, and hopefully result in better gating decisions.

Hehe yeah this one I also had in mind.

done with https://github.com/melonora/napari-cell-gater/pull/12