good first time issues

Hey new to this repo and the react native ecosystem. what's the best way to get started?

Hi! We've been working on this project for a couple of months now, but it's not ready to use yet. I would describe its current state of readiness as "pre-alpha," so you almost certainly want to hold off on using it. We'll be making some announcements once that changes. Stay tuned!

Oh I'm sorry, I just re-read this and realized I misunderstood. If you want to contribute to the repo, you can look for issues tagged help wanted that no one has spoken for yet.


Event history table periodically sets scrollTop to 0

Describe the bug
After I scroll down on both sides:

They both scroll back up
On the left side, it appears that the first event is selected, but the last event is what's show on the right

https://user-images.githubusercontent.com/251288/155206196-f1ac9c8b-7968-4560-a8ac-6a60060547a2.mp4
Desktop (please complete the following information):

OS: [e.g. iOS] macOS
Browser [e.g. chrome, safari] Chrome
Version [e.g. 22] Is this viewable on the site? I used docker-compose-ui-experimental.yml

I noticed this the other day, it's swapping out DOM nodes when the API refresh is hit.

This should be solved by #271.


Error: EISDIR: illegal operation on a directory, read

Environment
Cloned repository on Windows 10 22H2 running Node v16.17.0
Reproduction
Change playground/composables/nested/index.ts to
export default function () {
  return 'from nested composables'
}

+ export * from './bar'

Describe the bug
https://github.com/unjs/unimport/blob/1be4b7baba7af772ea863f2bfe529daa2830bc12/src/scan-dirs.ts#L50-L59
scanExports is likely to assume that filepath is indeed a filepath while it can be a directory, and so readFile fails for the above example where the filepath is playground/composables/nested/bar (with no file extension lookup available for it).
Additional context
Options I can think of:

Check if equivalent /index exists.

https://github.com/unjs/unimport/blob/1be4b7baba7af772ea863f2bfe529daa2830bc12/src/scan-dirs.ts#L91-L94
if (existsSync(`${subfilepath}${ext}`)) {
  subfilepath = `${subfilepath}${ext}`
  break
+} else if (existsSync(`${subfilepath}/index${ext}`)) {
+  // 'foo' is a directory
+  subfilepath = `${subfilepath}/index${ext}`
+  break
+}

I also believed that recursion wouldn't be required, but rather forward the imports. https://github.com/unjs/unimport/pull/216#discussion_r1088354636

https://github.com/unjs/unimport/blob/1be4b7baba7af772ea863f2bfe529daa2830bc12/src/scan-dirs.ts#L104
- imports.push(...await scanExports(subfilepath, seen))
+ imports.push({ name: '*', from: subfilepath })

Logs
No response

Thanks! Would you recommend option 2? (could be more efficient)

We need option 1, exporting * won't help as we need to know all the export name


use strrpos() in getLineCharacterPositionFromPosition() as suggested in issue #71

Hi @villfa, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


🐛 [Bug] acc tracer doesn't handle torch.max(tensor).values correctly

Bug Description
acc tracer doesn't handle torch.max(tensor).values correctly
To Reproduce
import torch
import torch.nn as nn
import torch_tensorrt.fx.tracer.acc_tracer.acc_tracer as acc_tracer

device = torch.device("cuda")

class MyModule(nn.Module):
    def forward(self, x):
        a = torch.max(torch.abs(x), dim=1).values
        return a

# create an instance of the module
module = MyModule().to(device)

input_data = torch.randn(10, 10, device=device)
acc_tracer.trace(module, [input_data])

Error:
AssertionError:Expected torch.Tensor type for <class 'torch.return_types.max'>

If I switch to fx tracer, it works pretty fine.
Expected behavior
It runs okay.
Environment
trunk

@frank-wei Do you guys still use this tracer?
From our side this has basically been completely replaced by the dynamo stack so not particularly inclined to spend too much time fixing this if it is possible to move to dynamo @henrylhtsang.


Use K8S metric wrapper

Kubernetes implements a wrapper for Prometheus, providing several
additional features such as metric deprecation and stability
information.
The patch is using this wrapper to expose metrics.
This also works around breakage due to upgrade of apiserver.
Fixes #734
Fixes #662

The code doesn't meet go fmt, otherwise LGTM.
I found "Fixes #xx #xx" cannot close multiple issues. Instead, this might work according to https://help.github.com/en/enterprise/2.16/user/github/managing-your-work-on-github/closing-issues-using-keywords#closing-multiple-issues:
"Fixes #xx"
"Fixes #xx"

Thanks @tnqn I've addressed the above.

/test-all

/test-conformance

@antoninbas @srikartati tried to get rid of this, also getting rid of using prometheus.MustNewConstMetric() as the metrics wrapper offers its own implementation.
Both @tnqn and myself tried this...
Seems like wrapper implementation is incomplete with these methods.


Bugfix release/cdap 16670 oom

cherry-pick - https://github.com/data-integrations/google-cloud/pull/216


UI is broken after update

Environment data

VS Code version: 1.57.1
Jupyter Extension version (available under the Extensions sidebar): v2021.6.999662501
Python Extension version (available under the Extensions sidebar): v2021.6.944021595
OS (Windows | Mac | Linux distro) and version: Mac OS Big Sur
Python and/or Anaconda version: python3.7.3
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Jupyter server running: Local | Remote | N/A: Local or Remote

I am getting multiple issues after notebook has updated.

First of all, edges of cells are barely visible with Atom theme (they were visible before). The view is really strange and seems like I am getting less cells in my screen...
Numbers on Y and X axes are not visible
The most annoying thing which literally is breaking for me - a solid 0.5 second delay before starting scroll. Scroll feels laggy and irresponsive now.
Existed shortcuts were lost. My shift + enter doesn't work anymore

Is there's a way to downgrade? It is not usable by now. Really waiting for fixes, this UI might be pretty nice after resolving issues.
P.S. Hope cmd+z is fixed it this version

I just put my cursor on first variable and got this strange thing... Seems like a lot of UI bugs, or I don't understand something...

The last comment is a dupe of https://github.com/microsoft/vscode-jupyter/issues/5932

@ArgoHA This is the new notebook UI that is going to be rolling out to all customers over the next few months. Sorry about some of the pain moving forward, but this new UI is now natively provided by VS Code so it's going to end up being a lot more performance and consistent with VS Code versus the old UI implementation.

Existed shortcuts were lost. My shift + enter doesn't work anymore

Per this comment in the new UI each notebook cell is now a fully fledged VS Code document instance. Is it possible that you have a keybinding for shift+enter that might be overriding the notebook shift enter command?

Would love it to be with a lot more performance and consistent. Don't understand why I'm having delay at the start of the scroll though. Is my 15inch macbook from late 2016 too old?
Speaking of shift+enter maybe, here is what I've got. Could you show me correct way to use shift + enter to run the cell and go to next one?

And I also have some questions about customizing the view. Where can I find docs on that?
I would like to make border a little bit bolder or smth
And I would love to get rid of + Code +Markdown buttons under the cell and make padding between cells a little bit smaller

@ArgoHA  You can customize color tokens in your user settings.json like so:

You can find docs on notebook layout settings in the release notes: https://code.visualstudio.com/updates/v1_57#_notebook-layout-customization

@ArgoHA To remove the +Code +Markdown from under the cells, click the overflow menu in your notebook toolbar and select Customize Notebook Layout.

Then you'll want to change the setting below to your preferred version. You likely have the value "both" on as that is the default.

Existed shortcuts were lost. My shift + enter doesn't work anymore

Can you share what your shift+enter keybinding used to do?

Can you share what your shift+enter keybinding used to do?

Run the cell and jump to next one. cmd+enter now runs the cell but focus stays on it.

Then you'll want to change the setting below to your preferred version. You likely have the value "both" on as that is the default.

Thanks, I have it hidden now. So is it possible to make paddings between cells smaller?

Just to clarify, shift+enter is now opening a terminal instead of running the current cell and advancing?
If so that sounds like a bug in the Python extension

Just to clarify, shift+enter is now opening a terminal instead of running the current cell and advancing?

Yes, it does

Do you get the right behavior then?

Yes, I did actually get the right behaviour. What should I do nest?

Had you customized keybindings for those commands before? If not, we should open an issue in https://github.com/microsoft/vscode-python to review the when clauses for those keybindings.

Had you customized keybindings for those commands before?

Cant really remember. If I'm not mistaken, shift+enter was not default "run cell and advance" for VS code. It is for jupyter notebook, so when I transitioned to VS code I changed that
Will try to reset key shortcuts now

You might try "when": "editorTextFocus && !notebookEditorFocused && !notebookCellListFocused"

Thanks, I have it hidden now. So is it possible to make paddings between cells smaller?

@ArgoHA There is something else you could do here -- go back to the notebook layout settings and click the pencil to the right to edit the setting below. Changing this setting from left to hidden will remove the cell toolbar and in turn condense the space between cells. If you're ok with removing the actions in the cell toolbar and cell overflow menu this would give you what you're looking for I believe

@claudiaregio Thank you, that's what I needed
Should I close this issue?

This issue is also reproduced on the latest Release version of VS Code (1.69)
VS Code version: 1.69.0
OS (Windows | Mac | Linux distro) and version: Mac OS Big Sur/Monterey 12.4

@IanMatthewHuff This issue is also reproduced on the recently Release version of VS Code (1.69/1.70)
VS Code version: 1.69.0/1.70.2
OS (Windows | Mac | Linux distro) and version: Mac OS Big Sur/Monterey 12.4
Note：I am changed this cell toolbar setting from left to hidden as below picture according to the warkaround given by the comment of this issue, but this issue still reproduced. Then, I want to confirm that this issue will be fixed in the future?

@LuckyKang79 I've closed this issue as it's based off of the initial report from @ArgoHA. Your issue doesn't look like the same thing. Could you please open up a new issue on this? It will be easier for us to investigate as an independent issue without the old bug information in this issue.

@IanMatthewHuff Thanks for the details info, I opened a new issue(https://github.com/microsoft/vscode/issues/159522) to track it.


feat: add content hook on validation nodes

#137  👈
main

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

Join @pevisscher and the rest of your teammates on  Graphite


After logging a game that's being played currently take users to the game page

Overview
After a game that's currently being played is logged the app stays on the log a game screen, which is confusing to the users because they don't know if the game got logged successfully or not.
AC

Take users to the game page after they logged a game that's currently played

Feedback

When I press log game, enter the players and want to play now pressing "done" in the end, I stay in the screen and have logged the game in the beginning multiple times because I didn't know it worked already. If the app would automatically swap to the play screen, perhaps with a minute count of my current play,  I would enjoy that.


142916443: Enhanced Scheduler performance

I'm curious... Does this have a significant, measured difference in performance? It looks like a maintenance nightmare to manually manage all of the dependencies and their versions. The versions managed by Spring Boot are, to an extent, tested and known to work well together. With the POM this way, modifying any dependency is likely to break the application due to incompatible versions.
Does this really make a difference for runtime performance, or is this purely for startup performance?

This is for startup performance.
I understand what you said however I wanted to reduce 'starter dependencies' because they were too many dependencies get downloaded and most are unused ones and results in increased startup time.

I changed back to starter dependencies and closing this PR.


update extension endpoints

@AllyW , is this statement true?

Statement updated, and example doc added

Some thoughts for this document, not this PR:
This document is difficult to maintain. Over time, it will gradually become misaligned with index.json. I'm unsure how many users care about the endpoint; if they do, we can offer a DIY step to find the URL in the --debug log instead of mapping all changes from index.json to this document.

@AllyW / @bebound , This PR was approved by Hang on Dec 19th. For additional changes to this conceptual doc, please create a new PR.


Enumify PIL.Image.mode options

We should explicitly declare the different image modes we can handle here:
https://github.com/airctic/icevision/blob/cb602f533c7e114280904e70eed6c1069931c13a/icevision/utils/imageio.py#L20-L32

Not enough bandwidth to implement.


After installing all the tools, the code does not respond properly

During the installation procedure, there was no problem; however, after the installation of discord and python tools, I was not able to run my code. There is no error inside of the editor, but it does not run properly. The code does not open the Terminal and starts to count errors between 700-900 lines of init and main parts of the python file.

[ ] Procedure of ongoing is not suitable for me.
[ ] After the installation procedure, my code is not working.

Dear user, appreciate your comment to enrich my project. Your issue is authentic - it is regular to see, but have you tried install the "requirement.txt" file before running your code? If it does not work, try to reinstall dotenv in your pc.

Dear user, appreciate your comment to enrich my project. Your issue is authentic - it is regular to see, but have you tried install the "requirement.txt" file before running your code? If it does not work, try to reinstall dotenv in your pc.

I'm so thankful for this help. The problem was about the dotenv version on the Mac. It was not updated from last year. Appreciate it 🙏

I am thankful to see your efforts to use my project in your Discord server.


Random facilities should utilize Swift's RandomNumberGenerator

I would love to see the Vapor project use Swift's new random features.

@Azoy +1 to this, I'm very excited to move to Swift's 4.2's new Random type. For the current release, I think the most we could do is offer an additional Random conformer that uses Swift's Random type internally. I don't think that would be of much use, though since it's APIs are already so nice to use.
Really what we want to do is remove all of Crypto's random protocols and code and rely directly on Swift's random types. The next major release of this package will have a Swift version minimum of 5.0, so that would be an appropriate time to do it.

CryptoKit 4 utilizes Swift 4.2 random now (#82) see: https://github.com/vapor/crypto/blob/master/Sources/CryptoKit/Random/Random.swift
If there's anything else we should add, let me know. Thanks :)

Fantastic!


table value is converting to  date time by default

I have a table like following in my features files:
Then I should see 'View' option on following rows
| version    | temp           | promote          |
| 17.0       |                      | 2020-08-14      |
| 17.1       | 2020-08-18  |                          |
| 17.2       |                      | 2020-09-14      |
| 17.2       | 2020-09-1 5 |                          |
| 17.3       |                      | 2020-09-18      |
| 17.4       | 2020-09-28  |                          |

And In Step definition I am using CreateDynamicSet from Specflow.Assist.Dynamic(1.4.2) to get the table value:
[Then(@"I should see '(.*)' option on following rows")]
    public void ThenIShouldSeeOptionOnFollowingRows(string actionType, Table table)
    {

         IEnumerable<dynamic> tableData = table.CreateDynamicSet();
        foreach(var row in tableData)
        {

            string wcspVersion = row.version.ToString();
            string temp = row.temp.ToString();
            string promote = row.promote.ToString();

            Console.WriteLine("Test2");
            Console.WriteLine($"wcspVersion = {wcspVersion}");
            Console.WriteLine($"temp ={temp}");
            Console.WriteLine($" promote ={promote}");

        }
    }

While printing the value having Date like 2020-08-14 it is converting to date like 18-Aug-20 12:00:00 AM.
And While converting 17.0 to string I am getting only 17

I don't want this kind conversion. I need to get the exact value that is in the feature files. How can I get the exact value from the feature file as string?

I am getting expected result while using CreateSet

 table.CreateDynamicSet(doTypeConversion: false) should work


backport the AIX.README from Marpa::R2 to libmarpa

This is a subtask from https://github.com/jeffreykegler/Marpa--R2/issues/278

Fixed as of https://github.com/jeffreykegler/libmarpa/commit/d20a39d59139747ef5b0d60014494a98d46a4987.  Further work will take place under https://github.com/jeffreykegler/Marpa--R2/issues/278.  Absent feedback to the contrary, I will close this in a week or so.

Closed as per https://github.com/jeffreykegler/libmarpa/issues/72#issuecomment-1100918293.


core 3.0 preview 6 broke COM Interop usage, compiles but raises System.TypeLoadException "The signature is incorrect" on runtime

Core 3.0 test project references and uses COM component.
Preview 5 does function without problems. Proven by uninstalling Preview 6 and installing Preview 5 without any Project/Code changes.

Hey @ericstj would you be the best person to help with this issue? If not, can you help redirect it?

@AaronRobinsonMSFT @jeffschwMSFT does this sound familiar?  @dude202 can you elaborate on the repro scenario?

@JeremyKuhne recently fixed a preview 6 regression with https://github.com/dotnet/winforms/pull/1254
We would need a repro to determine exactly what the issue is though.


Experiment with training on M1 Mac GPU, with MetalPerformanceShaders

PyTorch just announced  some support for training and inference on M1 Mac GPUs.  This is awesome!
Let's try to demo this.  It should hypothetically be as easy as swapping device = torch.device('mps') instead of either 'cuda' or 'cpu'.

Insights!

PyTorch does not (yet) support Double Precision tensors on mps
I got around that by turning all my tensors from double to single precision.

PyTorch does not (yet) support numpy-style boolean masking on mps.
I got around that by migrating to the torch.masked_select( ) pattern, which achieves the same goal.

long-integer style indexing appears not to work with mps (I think a numerical overflow problem).
This cropped up in a single pass hardcode in the init, so I simply did the operation in numpy and covert to PyTorch at the end.

Finally, I got to the sparse tensor logic of the code to find that:
4. PyTorch does not support sparse layouts on mps:
Expected behavior on CPU
device = torch.device('cpu').

i = torch.tensor([[0, 1, 1],
     [2, 0, 2]]).to(device)
v =  torch.tensor([3.0, 4.1, 5.2]).to(device)
s = torch.sparse_coo_tensor(i, v, size=(2, 3))

s.to_dense()

tensor([[0.0000, 0.0000, 3.0000],
        [4.1000, 0.0000, 5.2000]])

Doesn't work on M1 GPU
device = torch.device('mps')

i = torch.tensor([[0, 1, 1],
     [2, 0, 2]]).to(device)
v =  torch.tensor([3.0, 4.1, 5.2]).to(device)
s = torch.sparse_coo_tensor(i, v, size=(2, 3))

NotImplementedError: Unsupported device type for sparse layout: mps

See the linked Pull Request to see an example of these friction points and workarounds.


Implement SleepingData

SpongeAPI | SpongeCommon
Implementation of SleepingData.

[x] Registration of field getters and setters
[x] Accurately used the appropriate AbstractData implementation

Implementation of ImmutableSleepingData

[x] Accurately extended the appropriate AbstractImmutableData implementation
[x] Accurately instantiating final instance fields with an ImmutableValue counter part for any value getters
[x] If necessary, creating a new ImmutableValue for a value that should not be cached, or, using the existing caching utils.

Implementation of the ValueProcessor(s):

[x] Appropriately extended AbstractSpongeValueProcessor
[x] Individual processors for each source type possible (one for ItemStack/TileEntity/Entity as necessary).

Registration:

[x] Registered the Key correctly by IS_SLEEPING in the KeyRegistry
[x] Registered the DataProcessors and DataManipulatorBuilder in SpongeSerializationRegistry
[x] Registered the ValueProcessors in the SpongeSerializationRegistry

Test Plugin code:
//TODO

Is there a possible test case that we can verify the functionality works? If so, please make a test plugin with a command to perform that test in game (used only in development of course).

Setting Keys.SLEEPING to true on a player also seems to crash the server with a NullPointerException, since no one sets EntityPlayer.bedLocation.

@JBYoshi What happened to the implementation?

What do you mean?

This will need to be re-done and re-target api-8. Bleeding is no longer a valid branch.


Improve dependencies

Fixed a typo from the "No localhost" merge.
Modified the dependencies obtained in index.html to be entirely static (for offline development) with commented out versions of CDN requests below (to be used in production)

Currently, switching from development to production dependencies consists of adding/deleting a space before the comment blocks. In the future, can use Flask environment variable and let template do the logic.


V0.2 vm scheduling subscription and deployment id

Description

Update the data pipeline to add two more attributes of VM object.
Update VM object.
Update business engine to load new attributes. (subscription id and deployment id)

Linked issue(s)/Pull request(s)

issue_number

Type of Change

[ ] Non-breaking bug fix
[ ] Breaking bug fix
[x] New feature
[ ] Test
[ ] Doc update
[ ] Docker update

Related Component

[ ] Simulation toolkit
[ ] RL toolkit
[ ] Distributed toolkit

Has Been Tested

OS:

[ ] Windows
[ ] Mac OS
[ ] Linux

Python version:

[ ] 3.6
[ ] 3.7

Key information snapshot(s):

Needs Follow Up Actions

[ ] New release package
[ ] New docker image

Checklist

[ ] Add/update the related comments
[ ] Add/update the related tests
[ ] Add/update the related documentations
[ ] Update the dependent downstream modules usage

Codecov Report

Merging #238 (79131ea) into v0.2 (b1fd644) will decrease coverage by 0.04%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             v0.2     #238      +/-   ##
==========================================
- Coverage   64.89%   64.84%   -0.05%
==========================================
  Files         111      111
  Lines        5350     5354       +4
==========================================
  Hits         3472     3472
- Misses       1878     1882       +4

Flag
Coverage Δ

unittests
64.84% <0.00%> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...mulator/scenarios/vm_scheduling/business_engine.py
20.23% <0.00%> (-0.17%)
:arrow_down:

...mulator/scenarios/vm_scheduling/virtual_machine.py
33.33% <0.00%> (-2.39%)
: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 b1fd644...79131ea. Read the comment docs.


arm64 crash

Os: manjaro linux arm64 on android10 mobile phone installed by termux

9.2.2 didn't support arm64,please consider 9.2.3.
See here:#2644

9.2.2不支持arm64（请考虑9.2.3.
看看这里：#2644

How to build ghidra 9.2.3 use clion or idea?thank you.

Check out the DevGuide.  To general steps to produce a build are:
git clone git@github.com:NationalSecurityAgency/ghidra.git
cd ghidra
gradle --init-script gradle/support/fetchDependencies.gradle init
gradle buildGhidra

The build will be in build/dist/.

9.2.2不支持arm64（请考虑9.2.3.
看看这里：#2644

How to build ghidra 9.2.3 use clion or idea?thank you.

I's recommend to build using the command line, see guides above.

Check out the DevGuide. To general steps to produce a build are:
git clone git@github.com:NationalSecurityAgency/ghidra.git
cd ghidra
gradle --init-script gradle/support/fetchDependencies.gradle init
gradle buildGhidra

The build will be in build/dist/.

Thank you,i will try.

检查出 DevGuide. 一般的步骤，以产生一个建设是：
git clone git@github.com:NationalSecurityAgency/ghidra.git
cd ghidra
gradle --init-script gradle/support/fetchDependencies.gradle init
gradle buildGhidra

该建设将是在建立/dist/.

i can not install gradle on arm64, can you build it for me,thank you.

检查出 DevGuide. 一般的步骤，以产生一个建设是：
git clone git@github.com:NationalSecurityAgency/ghidra.git
cd ghidra
gradle --init-script gradle/support/fetchDependencies.gradle init
gradle buildGhidra

该建设将是在建立/dist/.

i can not install gradle on arm64, can you build it for me,thank you.

Do you know cross-build？ It's not necessary to build on arm64. You could also build on x86.

限 DevGuide. 一般的步骤，以产生一个建设是：
git clone git@github.com:NationalSecurityAgency/ghidra.git
cd ghidra
gradle --init-script gradle/support/fetchDependencies.gradle init
gradle buildGhidra

该建设将是在建立/dist/.

我不能安装摇篮上arm64（你可以建立它对我来说，谢谢你。

你知道跨建立？ 这是没有必要建立在arm64（. 你也可以建立在x86。
PS:不要尝试是免费的车手，否则你会学到什么。

Uploading SVID_20210415_105011_1.mp4…

My takeaway from your video is that our decompilers built for x86_64 Linux, Windows, and macOS platforms will not run on your arm64 Linux platform, which is the expected behavior. I suggest that we add some checks so we don't even try to run the native binaries on an unsupported architecture/platform, and report a more friendly error message.


Wrong naming of INTEGER vs. INT

Hey there,
I possibly found a issue regarding the naming of data types.
You are using INTEGER in this example in the documentation:
https://questdb.io/docs/reference/sql/alter-table-change-column-type/#examples
It should be INT as there is no INTEGER type (anymore?)
Change from:
ALTER TABLE employees ALTER COLUMN age TYPE INTEGER;

to:
ALTER TABLE employees ALTER COLUMN age TYPE INT;

Also in the text, there is the mention of INTEGER.
This issue should be used to find other occurances of INTEGER in the documentation, as there might be other examples where INTEGER is used instead of INT

I will like to work on this. Could you please assign this to me.


a11y fix for aria-controls

Close #1184

Thanks for making these updates! Aside from @mcoker's comment, I only found one other thing that needs tweaking.
In the Expandable Table example, the id attribute is rendered as table-expandable-row-content--id:
<div class="pf-c-table__expandable-row-content" table-expandable-row-content--id="expandable-table-content1">

@mcoker @jgiardino made those updates, thanks for reviewing!

@christiemolloy looks like you've got a conflict with src/patternfly/components/Page/examples/page-component-nav-vertical-example.hbs

@mcoker i think i fixed it :D

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feature: Add quick navigation to search items

Addresses CX-1761
Description
Adds quick navigation buttons (artworks and auction results) to artist auto-suggest search items.

Looks great 👌


fix(react-query-devtool): correct the noop entry for cjs

https://github.com/TanStack/query/pull/3884#issuecomment-1191264046
Sorry about the previous PR.
The current build system is actually somehow messy. We might need to tidy it up once v4 is stable.
@TkDodo

fully agree, thank you 🙏
we can track improvements here:

#3882


Text after example in Remarks section

I don't understand how the part beginning "Virtual properties behave like abstract methods..." and ending with "...uses the override modifier" is true or relevant. In what way does a virtual property "behave" like an abstract method, or resemble it at all for that matter? If there is any, this page does not positively state it. Is this an error where a comparison between virtual properties and virtual methods was instead intended? Whatever the intent, this first sentence is not clear, nor is it made clear by the bullet points that follow it, discussed below:
Aside from the basic and inherent differences between properties and methods, what reason is there to single out properties when discussing virtual and override? Certainly not what the two bullet points say, that static and virtual can't be mixed on properties (because this applies also to methods), and not that override can be used to override virtual inherited properties (because this also applies equally to methods).
If I am correct that the meaning of virtual does not change depending on whether it's applied to a property or to a method, then this little section has no place in this page. Any real inherent differences between properties and methods should be dealt with elsewhere, like on the page that defines what a property is.
If I am missing a subtlety and virtual really does mean something different for properties (that cannot be inferred from other knowledge about properties and methods), then this should be stated constructively and things which are the same (such as the prohibition of combining static and virtual) should not be presented as differences, or at all.

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

ID: 89022fe7-b2e3-5fb5-4930-d6bc5284081a
Version Independent ID: 6a4f3ec1-e2eb-e046-d840-1c442276b3fb
Content: virtual - C# Reference
Content Source: docs/csharp/language-reference/keywords/virtual.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for writing this up @geoff-m That section is confusing.
The preceding sections should clarify that the behavior of virtual and the syntax rules are identical for methods, properties, indexers, and events.
I'll add this to our backlog.

This was fixed in #15188


Error in gpm self-upgrade. Missing ZipArchive

Aloha,
Grav is currently on version: v1.6.19
OS is a unix system and up-to-date.
I tried to update grav with the admin panel and got the error:  Grav update failed rmdir(/var/www/grav/webserver-configs): Directory not empty. After that i tried to update grav with gpm but i got this error:
Preparing to upgrade to v1.6.31..
  |- Downloading upgrade [3.94M]...   100%
  |- Installing upgrade...  PHP Fatal error:  Uncaught Error: Class 'ZipArchive' not found in /var/www/grav/system/src/Grav/Common/GPM/Installer.php:175
Stack trace:
#0 /var/www/grav/system/src/Grav/Console/Gpm/SelfupgradeCommand.php(207): Grav\Common\GPM\Installer::unZip()
#1 /var/www/grav/system/src/Grav/Console/Gpm/SelfupgradeCommand.php(165): Grav\Console\Gpm\SelfupgradeCommand->upgrade()
#2 /var/www/grav/system/src/Grav/Console/ConsoleCommand.php(30): Grav\Console\Gpm\SelfupgradeCommand->serve()
#3 /var/www/grav/vendor/symfony/console/Command/Command.php(255): Grav\Console\ConsoleCommand->execute()
#4 /var/www/grav/vendor/symfony/console/Application.php(917): Symfony\Component\Console\Command\Command->run()
#5 /var/www/grav/vendor/symfony/console/Application.php(269): Symfony\Component\Console\Application->doRunCommand()
#6 /var/www/grav/vendor/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun()
#7 /var/www/grav/bin/gpm(72): Symfony\Component\Console\Application->run()
#8 {main}
  thrown in /var/www/grav/system/src/Grav/Common/GPM/Installer.php on line 175

Are more information needed? If yes how can i get the log messages?
Thanks for help :)

You need to install zip module for php.  That is a requirement for Grav.  How you install that depends on your Linux distro.

You need to install zip module for php.  That is a requirement for Grav.  How you install that depends on your Linux distro.

I see then this can be closed.

I see then this can be closed.


Add notifications to Team Chat

It would be useful if there was some kind of notification when a message is received through Team Chat. Maybe an audio notification, flashing taskbar icon, or a Windows notification?

Hi @danoliver1, thanks for the feedback! I think this is a great point, could you create this issue on the Team Chat repo so it gets properly addressed. Unfortunately, Live Share has no control over Team Chat behavior. // cc @arjun27
Thanks!

Thanks for the suggestion @danoliver1. I've created an issue (https://github.com/karigari/vscode-chat/issues/388) to track this.


More Unicode-savvy wordDelimiters

Description of the new feature/enhancement
"wordDelimiter" lists a couple of stop characters, such as ASCII quotation mark ", apostrophe ', hyphen/minus - and such.
However, special Unicode quotation marks like “, ”, apostrophes like ’ dashes –, —, box drawing characters, non-breaking spaces and so on an so forth remain word characters (selected on a double click) which is most likely not the best behavior, and adding such characters one by one to the set as the user encounters them is cumbersome.
Proposed technical implementation details
I think the default behavior should be based on Unicode character categories. On top of this there could be a way to add/remove certain characters to/from the set as exceptions. (Maybe even a way to add/remove entire character categories at once, although that might be an overkill.)

Notes from #14374 and #14392:

The variety here is staggering! 😄

Yeah, I was just experimenting with a few terminals I have on my test VM. This is what I established after a lot of double-clicking (might be a couple of errors, but you get the idea).
Xterm		"$'()*;<>[\]^`{|}
Gnome Terminal	!"$'()*:;<>[]^`{|}
Konsole		!"$'()*,;<>[\]^`{|}
Rxvt		&();<>|
Alacritty	"'(),:<>[]`{|}
Kitty		!"$'()*,:;<>[\]^`{|}

They do seem fairly consistent about avoiding the *nix path separator though, so that's perhaps something worth noting. Obviously they're less likely to care about the Windows path separator.
For the record, I couldn't care less.

I'm sorry for the entirely unrelated comment, but I think I just now realized how "crazy" those ASCII word delimiters are in an international setting. For instance this:

ねこはかわいい。

It consists of 3 words and a delimiter (ねこ , は , かわいい , 。) and your browser probably handles this correctly, whereas terminals are perpetually stuck in the "What do you mean there are people who don't speak English?". conhost's whitespace-only splitting doesn't feel any better in that regard. I feel like terminals are in a dire need of some UAX #29, Section 4.

[...] I think I just now realized how "crazy" those ASCII word delimiters are in an international setting. For instance this:

ねこはかわいい。

It consists of 3 words and a delimiter (ねこ , は , かわいい ,  。) and your browser probably handles this correctly, whereas terminals are perpetually stuck in the "What do you mean there are people who don't speak English?". conhost's whitespace-only splitting doesn't feel any better in that regard. I feel like terminals are in a dire need of some UAX #29, Section 4.

Proposed technical implementation details (optional)

Use this by default: unicode.org/reports/tr29/#Word_Boundaries
Use character-set splitting, if the user has configured wordDelimiters

and your browser probably handles this correctly

For the record, my browser (Firefox) does not.
And while I agree that it's worthwhile considering a more international-friendly approach, we also need to bear in mind that command-line text selection is possibly somewhat different from typical document text selection, so sticking strictly to the UAX#29 spec may not be ideal as a default (assuming we're considering changing the default).
For example, in a terminal, the decision as to whether a punctuation character should be treated as a separator or not is often based on the semantics of that characters in the shell (e.g. slash as a path separator, or colon as a drive letter suffix). I haven't looked at the UAX#29 spec in detail, but I suspect it is unlikely to categorize punctuation symbols in the same way.
And in your example above, if those characters were used in a path, and you were trying to select that path, would you really want the selection to stop at the word boundaries? I don't know. That's really a question for the people that speak the language, and in what situations they're most likely to be double clicking on strings of Japanese characters. But my point is that it's not necessarily obvious that UAX#29 would be best default.


Update e2e test as IMDSv1 is disabled by default

What does this PR do?
This PR fixes E2E tests that rely on the hostname. IMDSv1 was disabled on the latest Ubuntu AMI.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Ran the failing e2e test.

/trigger-ci --variable RUN_ALL_BUILDS=true --variable RUN_KITCHEN_TESTS=true --variable RUN_E2E_TESTS=on --variable RUN_UNIT_TESTS=on --variable RUN_KMT_TESTS=on

/merge


Frame with Gap and structural Bars

Hi,
I commonly work with through flow ventilated machines, which generally have a gap between the stator and the frame. The gap is usually created by having rectangular bars between the stator and the frame. I noticed that it is possible to define a frame with a gap (though it doesn't seem to be possible using the GUI), but I could not find a way to define the geometry of the structural bars.
I would like to try to add that functionality. What would be the best way to implement this?
My plan was to add an additional class that inherits from Frame and has additional properties (Number of bars, Bar width) and methods (comp_height_gap).
Does this sound reasonable or is there a better/more preferred way to do it?
Cheers
Kevin

Hello Kevin,
your proposal is reasonable in my opinion. Depending on your actual needs, you may also try to use yoke notches (PR #376).
Do you need the frame and/or bars to be included in the FEA? This will require some further code extensions.
As for the GUI, I plan to release some extension to the GUI, that will allow editing generic pyleecan objects.
Hope this helps for now.
Best regrads,
Sebastian

Hi Sebastian,
There's a few things I would like to do with his type of machine:

Calculate some geometric parameters like the surface area of the gap (this could probably be achieved using the notches).
Couple it with a CAD package to create 3D parts.
Run thermal FEA on it.

To achieve 2+3 i would be useful to have the bars implemented, though it might take a while until I actually get to do these steps.
I can't imagine the bars will have any impact on the electromagnetic FEA, so I wouldn't need them to be included for that.
Thanks for your feedback, I'll have a go at implementing the new frame type and see how I get along.
Looking forward to the new GUI extension. I haven't really gotten my head around how the GUI is implemented yet.
Kind regards
Kevin

Hello Kevin,
To complete Sebastian's answer, the Frame class was intended to be a cylindrical Frame with Rint that matches the stator Rext. So a "frame gap" was not intended (hence why it is not available in the GUI) but it should be compatible. Creating a new class with bars would be great :) Do you have schematics or picture of this topology ? Maybe for later extensions we will have to make Frame abstract and rename the existing one to "FrameCirc" for instance. Anyway this class is not that much used so you should be able to add your modifications.
Regarding the "comp_height_gap", I think that it is important to define a precise definition/name for "gap". Indeed, pyleecan should be able to simulate machine with more than two laminations (most of the code is there, we just have never tried). So as a follow-up to issue #344 I would propose to have Airgap-X with X the id of the airgap starting at 0 inner to outer. Then the question would be: should the "frame gap" be Airgap-"X+1" or should we set a different name "AirgapFrame"? The first solution is more generic (so it should be the best) the question is mostly: do we need to differentiate a "lamination gap" from a "frame gap"? Depending on the answer, then we would have either machine.comp_height_gap(id) or machine.comp_height_gap_frame(). What do you think ?
Regarding 2 and 3: the geometry modeller of pyleecan should help you: https://pyleecan.org/icem.2020.html. The coupling with FEMM for Magnetics already exclude the frame but we should be able to add an option to Functions/FEMM/draw_FEMM to add the frame if we want to add it (if we extend the model for thermal computations). You can also take a look on pyleecan coupling with gmsh to generate the 3D FEA model.
@SebGue is your next modification to the GUI related to #58 ? Will it be in the "extended GUI" part ?
Sorry for the long delay without answer, the summer holidays have a bit "challenged" our planning but I should be able to come back more regularly to pyleecan. I'm still focusing on the label PR, the code is mostly ready, I'm working on correcting all the tests.
Best regards,
Pierre

@BonneelP Exactly. I will go to holidays tomorrow, so I hope to have some time there to cleanup my current code and to finally release it. This will also close #58 :-)
Best regards, Sebastian

No objection to rename the signal to a generic dataChanged. Anyway the signal connection context should be clean enough to know which kind of data have changed. Looking forward for your PR :)
Have a nice holiday :)
Best regards,
Pierre

Hi Pierre,
Sure, I have some schematics of the machine type:
This shows a typical machine without the frame:

And here is a slice through the centre of the core (plus some thermal results):

I hope this helps with understanding what I am trying to model.
Regarding "comp_height_gap": I am not sure what the best approach is to be honest. My gut feeling ist that you might want to differentiate beween gaps between 2 laminations and gaps between a lamination and a frame at some point, so I would probably go with that. But I don't mind the other approach either.
I managed to implement some basic functionality by now, such as drawing the new frame type (view below) and calculating some basic properties:

I am not quite sure how to continue from here though. Particularly what I am supposed to implement for the testing is a bit unclear to me. Any advice on this?
Kind regards
Kevin

Hello Kevin,
After also discussing about it with my colleagues, we think that we can go with the "separate lamination airgap from frame airgap" and so we can go for machine.comp_height_gap_frame().
Regarding the Tests, here are some guidelines about Tests in pyleecan: https://pyleecan.org/tests_tutorials/test.contribution.Pyleecan.html
Long story short, the best would be to create:

Tests/Methods/Machine/test_frame.py to test each method
Tests/Plot/test_frame.py to plot/save the image from your post above.

The point is to make sure that the code that you have created won't be broken by the next developments. So you can write the test on a configuration that will match your usage.
If you want, you can open your pull request and we can guide you on writing/improving the tests.
Best regards,
Pierre

Hi Pierre,
Some guidance on the tests would be useful, thanks. I have openened the pull request.
Cheers
Kevin


Complete README,describe detail about MariaDB4j

MariaDB versions in each platform ?
Change logs ?

Hi @wenerme thanks for your interest!
You can see the exact current version of MariaDB used for each platform in https://github.com/vorburger/MariaDB4j/tree/master/src/main/resources/ch/vorburger/mariadb4j. Also note https://github.com/vorburger/MariaDB4j/issues/9 which I'll do one day (if you would like to contribute via a pull request, that would be cool).
Change log of MariaDB4j is in https://github.com/vorburger/MariaDB4j/blob/master/CHANGES.md. Change Log for MariaDB itself can be found somewhere on https://mariadb.org.
What other detail about MariaDB4j are you interested in?

can not custom mariadb parameter, no my.cnf can use.
I want to use this to test my replication protocol, but can not use grant.no replication user.can not set the binlog etc...
I also want to test the failover of my application, is't too complex to use real db.
Why I choose the mariadb4j, because it's special things I want to use , not only execute sql(H2 is best for test).
So, is this possible for mariadb4j ? any plan ?

@wenerme With https://github.com/vorburger/MariaDB4j/pull/23 it is now possible to add custom mariadb parameters! Does this solve your requirement? OK for you to close this issue (which is a bit generic, perhaps you could open more specific follow-up issues if you have other feedback) ?

Thanks,I'll try this feature.


Proposal: throttle QPS globally to mitigate back pressure effect

Hello,
Thanks again @bojand for the tool and your great support !
The proposal I have is quite small and easy to implement. More important is that it opens door for other improvements. I'm not sure that ghz will go that way but I think it's at least worth to discuss.
Proposal
Basically, let's have a single "ticker" for QPS which is shared by all the workers. The meaning of qps parameter should be changed accordingly.
Motivation
The one thing we need to ensure during the loadtest is that QPS produced by the tool is reliable. For instance, if we set qps = 100, each second we want 100 requests to be started, no matter what latency our service has. However now, if normal service latency is 2 seconds, you need at least concurrency = 200 to achieve this behavior (because threads wait for the answer). With this concurrency, you should set qps = 0.5 to have 100 qps as a result. It not only looks strange but doesn't guarantee anything: if server degrades and starts to answer slowly, workers will "skip" their tick and the load will lessen. Setting timeout=2s helps a bit but is not always applicable, f.e. if you want to measure the latency at 100 qps with the test.
With the proposed change, it would be possible to have more workers than qps. With high enough concurrency, there will always be a worker to process the tick and this back-pressure effect will not happen.
Opportunities
With the change, we can reliably answer if the service can handle qps=N or not. The next step could be to support changing qps during the test to find a breaking point. This can be achieved with line schedule (go from 1 qps to 1k qps in 5 min).
The chart looks like that:

There's a point for every second of the test. We take all requests which started at the same second and compute several metrics for the "bucket": ok and error qps, and percentiles. Timeout is set to 500ms, so when latency rises, we have client-side timeouts which are treated as qpsError. The breaking point is around 700 qps.
Similar behavior is implemented in other load testing tools, for example Yandex.Tank which is very convenient for testing HTTP services.
Further
Finding maximum stable qps with the given SLA on latency could be automated. Tool could analyze bucket metrics in real-time to judge if it needs to increase or lower the qps, allocating workers accordingly. As test output, we can have a single number - maximum reliable qps the server can handle.
As far as I know, there's no load tool which can do this now :) However I believe that's possible and will be very useful in the field.
MVP
Part with linear load and a chart in html output is implemented in criteo ghz fork, please try it out: https://github.com/criteo-forks/ghz/tree/v0.37.0-criteo.
It's of course not a production-ready design but shows that at least this is possible and works.

Hello, thanks for putting this issue together. I finally got around to taking a look into it and thinking about some more, and was wondering if I could get some clarification.
My understanding is that at a high level there are three main points in this issue, that may be easier to think about as separate:

Allow a QPS parameter to basically mean "queries attempted per second". Basically this should be how many requests are attempted at a call. I agree the current QPS which just spaces out requests with a time duration is not intuitive and useful really.
In general allow for a step up behaviour, where we want to grow (new) QPS up to some limit at some rate or interval. The results should be recorded and reported in a useful manner like you have it in a screenshot where we can tell at what QPS point errors start occurring. Optionally we would have a starting QPS, that is min QPS where we start and max QPS.
Build in automatic mechanism where the tool finds a maximum reliable qps "sweet spot" that the service can handle. For sake of discussion on this issue let's ignore this last point and feature for now.

I looked at the code and I understand it also contains some of the behaviour for the step / growth functionality. I find some of the code a little bit confusing because it compares and does operations (differences) with both qps and qps2, so I am not sure I understand the connection between the two, as is in the code. Is it treating qps as the min / starting QPS?
Something else that's slightly unclear about what's asked is with regard to the new "QPS" param and its connection with the concurrency param. In the current implementation of ghz, it spaces out requests in each worker (specified by concurrency option). What seems to be desired is qps that represents "queries attempted at service that the service sees", so as you suggest qps is somewhat global regardless of concurrency. If you can elaborate on this and what the desired functionality is it would be helpful, as it's not super clear to me based on description above and code changes in the branch you linked.
What would help is perhaps some example CLI options and description of ideal behaviour and functionality, forgetting current options if necessary.
Looking forward to some more information. Thanks!

Hello @bojand, sorry for the delay :)
Yes, your high-level understanding is correct. The proposal could be separated in three different issues and I agree that the third one could be ignored for now.
So qps means "queries attempted from the client-side, per second". It doesn't say how many queries each worker should fire (so no connection with concurrency), just the total number of requests for the time period. Concurrency doesn't really matter in that case, as far as it is high enough. It only limits the number of requests which could be "in-flight" simultaneously.
For example, imagine qps = 100 and the server which always responds in 20 ms. In this case, the single worker is only able to make 50 queries per second (1 s / 20 ms), so concurrency should be at least 2 to reach desired load. It's of course ok to set concurrency to a higher value than 2. In that case, workers would sometimes be throttled and would wait before starting new request, as in the current implementation.
The difference is that "free" workers (which are throttled) could now help the "stuck" ones (which wait for the response longer than expected). In the above example, imagine that one request accidentally took 100 ms to complete. It means that one worker "missed" to start 4 requests because it waited for the answer. In the current implementation, these 4 requests would not be started resulting in 96 qps totally. But with the new impl, if concurrency is set to at least 3, there would be a "free" worker which back-ups the "stuck" one.
About the confusion between qps/qps2 in the linked branch: qps is intended to be the starting load and qps2 is the load when the test ends. The load will gradually change from qps to qps2 throughout the test, so it could be both increasing (qps < qps2) and decreasing (qps > qps2). It's definitely more complicated than it should be, as "decreasing" scenario is only reasonable with more complex schedule, f.e. when one wants to emulate "spiky" load.
Hope my explanation clears up things a bit :)

Just as a note, I was also looking for a feature to control the overall outgoing QPS, which is what the first part seems to allude to.
I am not sure about the connection to the workers (concurrency) though. Is it really desirable / not an issue to set them super high? (E.g. I want a QPS of 1000, maximum timeout is 2s, so I would need 2000 workers just to be safe no query is skipped.)

Hello, I think most of what's requested here (minus automatically detecting when errors start occurring) should be available in 0.70.0.


Add support for Tuya Switch TZ3000_18ejxno0

A proper support for Tuya 2G Zigbee Switch TZ3000_18ejxno0.
The brand of the switch is Moes.
Interestengly, when attempting to use existing MoesSwitchManufCluster (which is used for TS0601 switches) it doesn't bind lights at all, so I used a generic TuyaZBOnOffAttributeCluster for the switch.
Another thing is that the switch by default came with backlight_mode set to Light when On (number 1), which us useless.
After linking the switch I changed the backlight mode to Light when Off (number 2) through modifying cluster attributes within TuyaZBOnOffAttributeCluster in Home Assistant UI.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 71.621%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
5272

Relevant Lines:
7361

💛  - Coveralls

The MoesSwitchManufCluster is used in Tuya devices with a MCU controller. Tipically all the devices that have a TuyaManufacturerCluster (0xef00). Not the case for these devices.

For those who are interested, the signature of this (2 gang) device is the same as Tuya_Double_No_N but without the cluster TuyaZBE000Cluster on endpoint 2.
What a garden delight Tuya has mounted 🌹 🌷 🍄 💮

Thank you for the input @javicalle , I pushed the updated code to PR.

Failing tests not seems related to the PR.
@dmulcahey sorry to bother, test are failing with a Failed to restore Python virtual environment from cache error.

Codecov Report
Base: 71.60% // Head: 71.62% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (ea04b16) compared to base (a072ca3).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #1756      +/-   ##
==========================================
+ Coverage   71.60%   71.62%   +0.01%
==========================================
  Files         239      239
  Lines        7358     7361       +3
==========================================
+ Hits         5269     5272       +3
  Misses       2089     2089

Impacted Files
Coverage Δ

zhaquirks/tuya/ts001x.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


implement Cross-Entropy Method

It's nice to have a very simple baseline to compare against, so I think CEM is worth. I've implemented an agent and provided an example script for the cartpole environment. Works quite well.
I tried to stay as close to the API of the other agents as possible, but there are probably some tweaks we want to do to make things more consistent.
I added a new memory class for storing parameters & the rewards associated with them. It only supports storing whole episodes.
Happy for feedback on how to make this more compliant with implementations of other agents.

This is awesome! I'm currently traveling and will be doing so until next Saturday, so it will take until then before I can try it out properly.
In the meantime however, I've noticed a couple of minor things:

Please make sure that your code conforms to the PEP8 style guidelines. You can automatically test this, please refer to the "Test" section in the readme.
Please also add CEM to the readme file next to the other algorithms and please also add a reference to a book/paper, preferably the one that you used to implement it.
Why was clone_optimizer removed? This is needed in other places of the library. Please restore the util.py file to be up-to-date with master.

As I said, I'll have a closer look once I get back! Thanks again so much for implementing this, I'm excited to get it merged soon!

yep there's a little git issue with the util.py. Will fix that & make a few other improvements. Closing this for now and will submit a new PR soon.

You can just push your changes and this pull request will get update automatically, hence I'I reopening this one.

Also, can I do anything to help with this? Would really love to get CEM into keras-rl!

Cool! I will push some updates tomorrow and we can both try it out.

Thanks for fixing the style problems! I have briefly looked at it and tried it out myself, it seems to work pretty well! I haven't yet had time to properly review the code, I'll do that as soon as possible.

Cool! thanks for giving it a try. I need to think up some good tests to write to check this more thoroughly.

hey matt - thanks for checking this out. I've also spotted a bug and made some improvements. Will push some updates.

cool issues above should all be addressed - let me know if you spot anything else!

Could you please merge master into your branch since there's a merge conflict? I've recently changed some things in rl/util.py to fix a problem with clone_model. Resolving the conflict should be easy, just use whatever is on master currently.

Looks good to me, now merged in master! Thanks again for this contribution.


[LAB] Week1_Problem1_이성준

Problem
Week 1_Problem 1
Source Code
import torch
from random import random
from typing import Callable

##                        Problem 1                           ##
##                                                            ##
##         Arbitrary quadratic function will be given.        ##
## Return the optimal point(global minimum) of given function ##
##          Condition: highest order term is positive         ##
##                  Made by @jangyoujin0917                   ##
##                                                            ##

def test_func(x): # function for testing;function for evaluation will be different.
    return 3 * x ** 2 - 3.14 * x + 7

def solution(func: Callable, start_point: float): # DO NOT MODIFY FUNCTION NAME
    x0 = start_point
    while True:
        x1 = x0 - 0.01 * (((func(x0+1e-9) - func(x0))) / (1e-9))
        if abs(func(x0)-func(x1)) < 1e-6:
            return x0
        else:
            x0 = x1
    ### IMPLEMENT FROM HERE

if __name__ == '__main__':
    print(solution(test_func, 10*random()))

Description
numeral differentiation
Output (Optional)
No response

Set For-loop not While-loop

In addition, this code do not get good performance on re-scoring. (50/100)
I also recommend you to use for-loop.

Resolved from #68


Upgrade the Pipelines end-to-end tutorial to Kubeflow 0.5 including screenshots

Specific issue for the Pipelines end-to-end tutorial, as we need to test the tutorial using Kubeflow 0.5 and at the same time update the screenshots to use the new UI.
https://github.com/kubeflow/website/blob/master/content/docs/pipelines/tutorials/pipelines-tutorial.md
(Part of issue https://github.com/kubeflow/website/issues/505.)

/assign

I've read through the tutorial. The screenshot of the Kubeflow UI is a shared screenshot and thus is already updated, and we've also updated the single mention of kfctl to refer to the binary instead of the script. So we're good to go.
/close


[Doc] add required para to use cn

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[x] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[x] 2.5
[ ] 2.4

@mergify backport branch-3.1 branch-3.0 branch-2.5


Application crashes when trying to inspect global.process

Application crashes when trying to inspect global.process.
win8.1 x64, node 0.11.13 (for 0.10.* all works fine)
@bajtos , can you confirm this for Linux?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2917013-application-crashes-when-trying-to-inspect-global-process?utm_campaign=plugin&utm_content=tracker%2F195817&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F195817&utm_medium=issues&utm_source=github).

Can't confirm on 0.12.0


[ttGlyphPen] decompose components if transform overflows F2Dot14

Fixes #1200, with little cheat when transform scale is close or equal to 2.

Why only test for transformation[0] and transformation[3]? [1] and [2] have the exact same limitation.

also, wouldn't it be better to avoid direct comparison of floats with integers, and instead define some small epsilon value for the tolerance i.e. check abs(value - 2) <= epsilon
we also have an implementation of math.isclose in fontTools.misc.py23 which could come handy
https://docs.python.org/3/library/math.html#math.isclose

a good epsilon value could be the one we use for approximating a fixed-point number to the shortest decimal representation in fixedToFloat:
>> precisionBits = 14
>> scale = 1 << precisionBits
>> epsilon = 0.5 / scale
>> epsilon
3.0517578125e-05

https://github.com/fonttools/fonttools/blob/c9308d2abce6ba767288eecf9b7a6acd4d941f8d/Lib/fontTools/misc/fixedTools.py#L30

actually, even simpler would be converting the transform's floats to fixed-point numbers using our floatToFixed(value, 14), and check if we get +32768 (+0x8000) which would overflow our signed short, in which case we "cheat" and treat it as if we were passed a slightly smaller float 1.99994 (= the result of the floatToFixed(0x7FFF, 14)`).
Same for the decomposition, if we get a float which when converted to fixed-point number would become > 0x8000 or < -0x8000, then we decompose.

I still think that "shortest decimal" thing that fixedToFloat() does is a very bad idea :(
I expect fixedToFloat(0x7FFF, 14) to result in 1.99993896484375, not 1.99994. That's just bogus.

oh, I forgot there's also floatToFixedToFloat for "quantizing" floats to fixed-point numbers:
https://github.com/fonttools/fonttools/blob/c9308d2abce6ba767288eecf9b7a6acd4d941f8d/Lib/fontTools/varLib/mutator.py#L47-L48
https://github.com/fonttools/fonttools/blob/master/Lib/fontTools/misc/fixedTools.py#L55

"shortest decimal" thing that fixedToFloat() does is a very bad idea

I think it's good for pretty-printing fixed-point numbers as floats in the TTX dump without losing precision, and to be able to round-trip between the fixed-point number in the font binary and its float representation in the ttx file.
But it's a separate issue (https://github.com/fonttools/fonttools/issues/737)

taken on by #1205


[Torch] Restore class-aware NMS for detection models by graph rewrite

NMS used by PyTorch detection model actually performs multiclass NMS in one go, by adding different offsets to boxes from different classes so that two boxes from different classes never overlap. See
https://github.com/pytorch/vision/blob/3d60f498e71ba63b428edb184c9ac38fa3737fa6/torchvision/ops/boxes.py#L80-L89
But this means most of O(N**2) IOU tests we do in the NMS triangle loop are useless. The goal of this PR is to restore class indices which is one of the inputs to batched_nms function above and perform class-aware NMS for TVM-compiled detection models.
I did this by pattern matching and rewriting after model import. Specifically, I pattern match against this subgraph corresponding to PyTorch batched_nms used by maskrcnn / faster rcnn.
Unfortunately, this optimization didn't yield speedup I hoped: On GPU it only makes 70ms faster, and on CPU it actually makes it slightly slower (?) for some reason. I haven't looked into why it is not going much faster.
nvprof output from running MaskRCNN on GPU
Before
            Type  Time(%)      Time     Calls       Avg       Min       Max  Name
 GPU activities:   56.57%  711.34ms         2  355.67ms  15.296ms  696.05ms  fused_vision_non_max_suppression_kernel2
                   17.38%  218.54ms         1  218.54ms  218.54ms  218.54ms  fused_nn_dense_add_nn_relu_kernel0

After
            Type  Time(%)      Time     Calls       Avg       Min       Max  Name
 GPU activities:   54.52%  645.28ms         2  322.64ms  15.498ms  629.78ms  fused_vision_non_max_suppression_kernel2
                   18.44%  218.27ms         1  218.27ms  218.27ms  218.27ms  fused_nn_dense_add_nn_relu_kernel0

On CPU, the output from VM profiler:
Before
#OpName                         #InvokeCount    #Duration(us): Sum/Mean/Min/Max
...
fused_vision_non_max_suppression        2               7902.54/3951.27/339.03/7563.51

After
#OpName                         #InvokeCount    #Duration(us): Sum/Mean/Min/Max
fused_vision_non_max_suppression        2               8129.3/4064.65/304.878/7824.42

So performance wise this change doesn't matter much, but I hope this also serves as a non trivial use of pattern matching and rewrite.
cc @kevinthesun @mbrookhart @zhiics @t-vi What do you think?

@masahi Thanks for the perf improvement. Could you provide the CPU numbers as well?

@zhiics Sure updated the description. The regression is only 200 us on CPU, so it may be just a measurement noise.
I have no idea why I'm not getting good speed up. IOU tests, including memory access to boxes should be definitely reduced. The only additional overhead I think of is that the input to NMS is one column wider, due to storing class ids.
Performance is not great, but I believe having access to class ids should not be bad idea...

@masahi I think this is an plausible as well particularly it is only in the parser. @kevinthesun please help take a look as well. Thanks.

I should mention that this rewrite is not run by default, so there is no perf risk.

This is a bit of a shot in the dark.
I wonder if we're memory access limited, and so that's why you don't see a performance improvement.
When we do the nested loop, we always have to check if the id of instance k matches the id of instance j. Since the input shape is (batch_size, num_anchors, features), and features = 6 here, I wouldn't be surprised if checking the instance of k ends up reading all of the features of k into registers, and that memory read is the expensive operation. Once it's in memory, actually doing the iou calculation is relatively cheap, so skipping it doesn't help that much.

When we do the nested loop, we always have to check if the id of instance k matches the id of instance j. Since the input shape is (batch_size, num_anchors, features), and features = 6 here, I wouldn't be surprised if checking the instance of k ends up reading all of the features of k into registers, and that memory read is the expensive operation. Once it's in memory, actually doing the iou calculation is relatively cheap, so skipping it doesn't help that much.

That's highly possible. Looking at this if condition in the triangle inner loop:
https://github.com/apache/tvm/blob/9956b5b859a24c8f4dec1abf308723b1257ffc66/python/tvm/topi/cuda/nms.py#L535-L540
previously, force_suppress is always True, so this condition short circuit and access to out[base_idx + offset_k + id_index] and out[base_idx + offset_j + id_index] just below never happen. But now, to make NMS class aware, I had to change force_suppress to False, and now access to out[base_idx + offset_k + id_index] and out[base_idx + offset_j + id_index] always happen. This may be cancelling the speedup from reduced IOU tests. Storing the class IDs in a different 1D tensor may help.
That brings me to my pain point with our NMS API: I belieave our NMS API needs to be reworked. The current way of packing class ids and scores together with bbox coordinates is a design mistake that we inherited from MXNet. To store class ids, I have to cast ids to float32 and update and pass id_index appropriately. Since our NMS API also requires scores to be packed with bbox, all frontends except MXNet needs to do this concatenation. The worst part is that in NMS IR, the very first thing we do is the extraction 1D score tensor from packed data. So I see no good reason to pack score tensor and bbox coordinates.

Sorry for the delay in responding to this, I wanted to look at the frameworks more closely. We currently have 5 importers that leverage NMS:
MXNET does multibox_transform_loc and then NMS on the outputs. multi_box_transform loc converts a 3D array of scores with shape (batch_size, class_num, num_anchors) into a most likely class and score for that class, plus does some coordinate transforms on the box
ONNX takes a 3D tensor of (batch_size, class, num_anchors), does slicing/concatenating with the boxes, and then does a per-class get_valid_counts->non_max
Pytorch takes in a 1D tensor of scores and concats it with the boxes before performing get_valid_counts and nms. As @masahi shows in this PR, there is preprocessing to embed all classes into that 1D tensor.
TF takes a 1D tensor of scores and concats it to the boxes before performing get_valid_counts and nms. I'm not sure if the rest of the TF graph is handling the loop over batch size and classes.
TFlite takes a 3D score tensor of shape (batch size, num_anchors, class_id), reorders it to (batch_size, class_id, num_anchors), performs multibox_transform_loc->nms, and strangely does get_valid_counts after NMS.
It looks like we're doing pre-processing in every framework to reduce the amount of score information and convert it to the 5 or 6 D form the nms API wants, and then in at least TFLite and ONNX, we perform further spliting/slicing/concatenating to restore the separate class ids.
I think I agree with @masahi, we seem to be jumping through a lot of hoops in the importers to support a TVM NMS API that's out of line with the frameworks, and that might be hurting our overall performance.

I highly agree with you guys.
For class-aware NMS, the [batch, num_anchors, 6] format seems very inefficient. It means all anchors need to be checked just to see if the classes match. A [batch, num_classes, num_anchors, 5] format would give us a nicely defined slice of memory where the same-class anchors are located.

TF takes a 1D tensor of scores and concats it to the boxes before performing get_valid_counts and nms. I'm not sure if the rest of the TF graph is handling the loop over batch size and classes.

That's correct, TF's NMS is only for single class and single batch, so the TF graph loops over batches and classes. To do that, they use tf.map_fn so the execution of each NMS can actually still run in parallel. However, this turns into a mess of control flow operators and TensorArrays, so Relay isn't able to do the same parallelization. This PR's graph rewrite could actually benefit TF OD models as well, but the pattern is a lot more complicated for TF.

I highly agree with you guys.
For class-aware NMS, the [batch, num_anchors, 6] format seems very inefficient. It means all anchors need to be checked just to see if the classes match. A [batch, num_classes, num_anchors, 5] format would give us a nicely defined slice of memory where the same-class anchors are located.

TF takes a 1D tensor of scores and concats it to the boxes before performing get_valid_counts and nms. I'm not sure if the rest of the TF graph is handling the loop over batch size and classes.

That's correct, TF's NMS is only for single class and single batch, so the TF graph loops over batches and classes. To do that, they use tf.map_fn so the execution of each NMS can actually still run in parallel. However, this turns into a mess of control flow operators and TensorArrays, so Relay isn't able to do the same parallelization. This PR's graph rewrite could actually benefit TF OD models as well, but the pattern is a lot more complicated for TF.

@kevinthesun @zhiics @mbrookhart
As shown in my new NMS PR https://github.com/apache/tvm/pull/7257, this rewrite results in a better speed up with improved memory layout. Can we merge this? I have newer rewrites coming to further optimize PyTorch NMS and MaskRCNN / FasterRCNN

@kevinthesun @zhiics @mbrookhart
As shown in my new NMS PR https://github.com/apache/tvm/pull/7257, this rewrite results in a better speed up with improved memory layout. Can we merge this? I have newer rewrites coming to further optimize PyTorch NMS and MaskRCNN / FasterRCNN


SBML testsuite results

Great package.
Do you have any SBML testsuite results for this package to see which tests do pass?

I test against the test-suite, but I have not compiled a format list of which tests are passing and which ones are failing (but in the test directory the ones not passing can be inferred here.
Still having such a list in the docs would be helpful, so I will create a list (maybe a csv-file), and add it do the docs.

Perfect. Seems to support most of the things I am using.
I am leaving this open for now. It would be great to submit the results to the test suite results database. I could probably provide support here.  Disclaimer: I am just starting julia, but would be a good small addition.


nixos module for accepting licenses

A general module where nixpkgs related licenses can be accepted.
The module also helps to documents the available options.
For example, the "allowUnfree" nixpkgs option can now be accepted
by the following configuration in the "nixos/configuration.nix".
nixpkgs = {
licenses = {
allowUnfree = true;
};
};
The module also fixes the issue of passing "allowUnfree=true" to
the i686 package tree within x86_64 systems.
NOTE: The module only affects the evaluation of the system wide
configuration. User initiated "nix-env" commands are not in-
fluenced. A future "nixuser" program will take care of that.
As an example, the installation of oraclejdk is handled by the new
module.
The license of the oraclejdk{7,7psu,8} packages have been changed
to the "Oracle Binary Code License Agreement for the Java SE Platform
Products and JavaFX". The packages can now only be installed once the
license is accepted, e.g., within the "nixos/modules/misc/licenses.nix"
module.
To accept the license for nixos system wide evaluations, the following can
be added to the nixos/configuration.nix file:
nixpkgs = {
licenses = {
oracleBinaryCodeLicenseForJava = "accept";
};
};

Hm, I don't know. I don't really want us to start reproducing Nixpkgs config options in NixOS. I mean, you can already set
  nixpkgs.config.allowUnfree = true;

Please let me know what you think!
The need to better document license related options like, e.g., "allowUnfree" has been mentioned in #4493.
Also, by requiring to accept licenses explicitly, the concerns for making oraclejdk available through an automated download, as raised in #6557, should be addressed.

A naive, untested suggestion:
myoraclejdk = pkgs.oraclejdk.override { license = accepted; };
... or some mechanism outside of nixpkgs to override the src and the license attrs. That way nixpkgs has correct license information, and you can use a local repository of tarballs or whatever for the closed source, proprietary software.

@edolstra Hm, so what do you suggest, how should I expose, e.g., the oraclejavabcl to the user? Should I create an option in nixpkgs.config instead? Would that be better than going down the black-listing approach?
I understand that there is little benefit in what one can do from simply reproducing all nixpkgs.config options in NixOS, but sometimes I find it still very useful to have a proper NixOS option. For example, I very often consult http://nixos.org/nixos/options.html to check for options, and I think commonly used settings like, e.g., license related options should show up there as well. It's a great strength of NixOS to have such a powerful module system where, e.g., documented options can be centralized into one place, and with this PR I just try to extend the module system in that spirit---and of course to also make oraclejdk be downloaded automatically ;)
@jcumming Thank you very much for your thoughts, but ideally I want to get a solution for oraclejdk that works within nixpkgs. But maybe an integrated override option is the way to go!

Is this still being worked on?

@joachifm I'm still interested in a solution, but it doesn't have a high priority for me at the moment.

Closing for being very stale.


ok so i downloaded fabric and launched with fabric but the mod is still unavailable

it just loads normal minecraft, do i have to drag the mod into the fabric folder?

NVM i fixed it

NVM i fixed it
how i have the same problem

i have the same problem, any help?

for clarification i have the problem of, when i launch it it says that the mod is a fabric mod and cannot be loaded

Look online for tutorials on installing Fabric mods (or even specifically for installing Origins) or join the Discord if you need help with this.


Add stu.ahpu.edu.cn(Anhui Polytechnic University)

Institution/School Name :
Anhui Polytechnic University, Anhui, China
Official site : https://www.ahpu.edu.cn/
Wiki:https://en.wikipedia.org/wiki/Anhui_Polytechnic_University
Student email example<EMAIL_ADDRESS>This school has IT related majors, you can read the introduction in ：
https://www.ahpu.edu.cn/jsjyxxgc/5461/list.htm
I think these information can help your checking more easily.

@cufrancis Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!


Implement REPEAT Function

Codecov Report

Merging #352 (f0391aa) into main (0880d0a) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #352      +/-   ##
==========================================
+ Coverage   91.66%   91.69%   +0.02%
==========================================
  Files         137      138       +1
  Lines        8383     8413      +30
==========================================
+ Hits         7684     7714      +30
  Misses        699      699

Impacted Files
Coverage Δ

src/tests/mod.rs
100.00% <ø> (ø)

src/executor/evaluate/mod.rs
95.17% <100.00%> (+0.13%)
:arrow_up:

src/tests/function/repeat.rs
100.00% <100.00%> (ø)

src/translate/function.rs
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Replace twitter picture

Because Twitter images are unreliable — their URLs change, and it's a pain to keep track of them — this PR replaces the profile picture with a hosted image.
Closes #3
How to test

Open local server
See image working properly

LGTM!


Support gnome 3.40

New version of gnome 3.40, it's not supported actually.

A simple version bump seems to do the trick, no issues so far:

Open<EMAIL_ADDRESS>(different path when installed globally)
Change L11: "shell-version" to: "shell-version": ["3.36", "3.38", "40"],
Restart gnome ALT + F2 and "r"

Gnome shell versioning changed (40 instead of 3.40)

This is fixed now.


bhl parts as provided by biodiversity heritage library appear unsuited for reuse

with example of previously extracted part, original work and re-extracted part available in https://github.com/jhpoelen/Laidlaw1902 .

In conversation, it appears that the bhl "item" pdf should be tracked instead of the "part" . Then, using the page numbers (or some other way to select the part from the item), a subset of the item pdf needs to be generated somehow. This item -> part processing would redo work that BHL did to make an individual article.
So, instead of using -
TY  - JOUR
TI  - On a collection of dragon-flies made by members of the Skeat expedition in the Malay peninsula in 1899-1900
T2  - Proceedings of the Zoological Society of London
VL  - 1
UR  - https://www.biodiversitylibrary.org/part/145457
PB  - Academic Press, [etc.]
CY  - London
PY  - 1902
SP  - 63
EP  - 92
DO  - 10.1111/j.1469-7998.1902.tb08207.x
AU  - Laidlaw, Frank Fortescue
ER  -

you'd first want to get the associated item, then regenerate the subset from that item -
ItemID          98524
TitleID         44963
ThumbnailPageID 31575499
BarCode         proceedingsofzoo19021zool
MARCItemID      proceedingsofzoo19021zool
CallNumber
VolumeInfo      1902:v.1 (Jan.-Apr.)
ItemURL         https://www.biodiversitylibrary.org/item/98524
ItemTextURL     https://www.biodiversitylibrary.org/itemtext/98524
ItemPDFURL      https://www.biodiversitylibrary.org/itempdf/98524
ItemImagesURL   https://www.biodiversitylibrary.org/itemimages/98524
LocalID<PHONE_NUMBER>2185
Year            1902
InstitutionName Smithsonian Libraries and Archives
ZQuery          local=39088008472185
CreationDate    2010-07-11 00:08
CopyrightStatus Public domain. The BHL considers that this work is no longer under copyright protection.
RightsStatement
LicenseType
RightsHolder

One way to address the challenge of reprocessing the parts is to include the items as individual publication in addition to the existing parts. Then, for each "part" deposit, we'd be able to say - "this part was derived from that item" where the item is identified by a content id as well as some bhl identifier.


🐛 Update leaflet options

:bug: Update options to fix #329 and to fix #336
Signed-off-by: mathieu.brunot<EMAIL_ADDRESS>

@madmath03 thanks for the contribution. You'll need to rebase as I've merged a couple of conflicting PRs.
I think once we have some attribution for the waymarkedtrails overlays, this is good to go 👍

@madmath03 thanks for the contribution. You'll need to rebase as I've merged a couple of conflicting PRs.
I think once we have some attribution for the waymarkedtrails overlays, this is good to go 👍

Hi @mjjbell , the attributions were added for waymarkedtrails so it should be ready now.

LGTM 👍


Question - data with unit length

The paper mentiones the data (x) is of unit length. It even seems to be a requirement for using SoftTriplet.
Is this correct?
Thanks!

Hi,
The normalization is in Line 493 of model file (SoftTriple/net/bninception.py) as "x = F.normalize(x, p=2, dim=1)".


Google Docs issue

There are multiple "start timer" buttons in Google Docs. This is causing the page to move (incl. rows  are displaced when you edit them).

This should be resolved with the updated version of this extension (v<IP_ADDRESS>). Please feel free to reopen this issue if not!


RStudio %>% shortcuts

After I install this extension, I found shift +CMD+ M will not return %>%, and which return |> is not RStudio default settings.

See the Installation section of README.md. You can override the default by adding your own shortcuts and returning whatever text you want.


[AutoPR monitor/resource-manager] Adding 2018-01-01 version for metrics API

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2435

Replaced by https://github.com/Azure/azure-sdk-for-python/pull/2007


In the unit tests, windows appends double backslash instead of forward slash in os.path.join

In windows, the os.path.join use double backslash, thus this affect the assertion checks in the unit test that assumed forward slash in the output. (As seen below)
Unit Tests affected:

test_configloader

Suggestion:
To do a string replacement before assert statement to change double backslash into 1 forward slash

Closed. PR merged into dev


Additional build target for buildbot

Currently buildbot automatically merges the notebook test data appropriately when PRs are merged. Updating test data due to changes implemented directly on master is not easy to do yet. This isn't a big issue as we are moving to a PR based workflow so commits direct to master are becoming much rarer.
I propose to add a builder to buildbot (for use by devs only with buildbot credentials) for updating the test data on master (i.e by forcing a build). This should be fairly quick to implement as the steps are just a fairly simple variation of the current merge builder (which handles PR merges only).

Suppirting

Damned phone!
Supporting this seems OK, but if a change is going to affect the tests, it probably should be in a PR for that

Grr!
for that reason alone.

Would you like me to clean up this thread after your phone issues- we can delete comments if appropriate! :-)
I'm not sure a PR makes that much sense. This involves changes to buildbot which isn't (yet) tracked by this repository (and I'm not sure it should be). In addition, it is only going to affect test data contents in terms of how easy it is to regenerate and ensure new commits are being tested against the latest version of the reference data.
If our testing code/infrastructure instructions should go anywhere, it is probably on the master branch of the holoviews-data repository (censoring out our private tokens as appropriate).

I'm not sure we're talking about the same thing.  I just mean, if someone makes a change to holoviews itself that changes the test results, I'd think that ought to be in a PR where someone can check that it's ok, rather than as a direct commit.

Ah right! :-)
I agree and  had misunderstood what you meant there. That is exactly why setting up this builder isn't a big priority right now but it would be nice to have, just in case someone makes a commit to master that they think is harmless but does in fact change the test data somehow.

I've changed the issue title as there is at least two other simple targets I would like to see soon:

Flakes testing with flake8.
Possible PEP8 compliance check.

I wouldn't expect these to pass most of the time but I do want flakes to pass before releases. I'm not certain of the value of the PEP8 one as we certainly have a couple of our own conventions that aren't PEP8 compliant.
I'll work on getting the former running (should be quick!) as I want to check flakes is passing in order to release 1.4.2 tomorrow.

flake8 would be great, and I would think you could do PEP8 as long as it allows a finite set of checks to be omitted.  It would be perfect to say that it's PEP8-compliant, except for X and Y.

I agree that flake8 is important. PEP8 compliance (excluding a few things) would be nice but we don't want to find ourselves wasting time changing things due to style issues.
I'll also make a note to myself that I need to update the instructions on the buildbot page (outdated). This is something I'll do at the same time as getting flake8 configured.

I've added the flakes and pylint builders to buildbot:
http://buildbot.holoviews.org:8010/waterfall

This issue is pretty stale and I think we should move away from buildbot rather than migrating more tasks to it. The PR based workflow has been working well for years now as well so I see no need for this issue.


Add my new pixel

Checklist

[ x ] I ran npm test locally and it passed without errors.

[ x ] I only edited the _data/pixels.json file.

[ x ] I entered the username in the pixels.json that I'm also using to create this pull request.
[ x ] I acknowledge that all my contributions will be made under the project's license.

hi there @snowmann it looks like you've already contributed a pixel to this project. Since we cap it at one pixel per GitHub user, going to close out this pull request. Thanks for your contribution.


issue with CORS on oauth flow on browser

I cant make the oauth flow to work on the browser, the issue is very similar to this
I tried to follow those instructions but I think I am doing something wrong as I am still getting this CORS issue
my flow is as follow:

creating oauth url:

function createAuth1() {
  console.log("creating auth")
    const authenticationUrl = snoowrap.getAuthUrl({
      clientId: 'client_id_from_reddit(installed app)',
      scope: ['identity', 'wikiread', 'wikiedit'],
      redirectUri: 'http://<IP_ADDRESS>:3000/',
      permanent: false,
      state: 'fe211bebc52eb3da9bef8db6e63104d3' // a random string, this could be validated when the user is redirected back
    });
    window.location = authenticationUrl
}

after redirection extracting the code

const code = new URL(window.location.href).searchParams.get('code')

creating instance where token is the extracted code

function createInstance(token) {
  return new snoowrap({
    userAgent:"Bot",
    clientId:"client_id_from_reeddit(installed app)",
    clientSecret:"",
    refreshToken:token,
  })
}

trying to use it

const instance = createInstance(code)
console.log(await instance.getHot())

If you are using it in browser, do not use clientSecret. Instead, create an installed app on Reddit so it will use implicit flow. Then just provide clientSecret as empty string. Hopefully that should work :)

Right, forgot myself for a second. So you should use snoowrap.fromAuthCode when you first authenticate. From then on you can use new snoowrap whenever you refresh
https://not-an-aardvark.github.io/snoowrap/snoowrap.html#.fromAuthCode__anchor

Thanks for super quick reply! So when I am using snoowrap.fromAuthCode for first authentication, it works great. Then I am trying to refresh the page and use instead:
function createInstance(token) {
  return new snoowrap({
    userAgent:"Bot",
    clientId:"client_id_from_reeddit(installed app)",
    clientSecret:"",
    refreshToken:token,
  })
}

and I am getting :
{
  "statusCode": 400,
  "body": {
    "message": "Bad Request",
    "error": 400
  },
  "headers": {
    "content-length": "40",
    "x-moose": "majestic",
    "content-type": "application/json; charset=UTF-8",
    "cache-control": "max-age=0, must-revalidate"
  },
  "request": {
    "method": "POST",
    "uri": {
      "protocol": "https:",
      "slashes": true,
      "auth": null,
      "host": "www.reddit.com",
      "port": null,
      "hostname": "www.reddit.com",
      "hash": null,
      "search": null,
      "query": null,
      "pathname": "/api/v1/access_token",
      "path": "/api/v1/access_token",
      "href": "https://www.reddit.com/api/v1/access_token"
    }
  }
}

After using fromAuthCode you need to get the refreshToken from it. You can use that together with clientId to get a new accessToken

My refreshToken prop was null on the instance created from fromAuthCode. But I noticed that I had prop accessToken there. So I tryed to use it with new snoowrap and it worked great! My
function createInstance(accessToken) {
  return new snoowrap({
    userAgent:"Bot",
    clientId:"client_id_from_reeddit(installed app)",
    clientSecret:"",
    accessToken: accessToken,
  })
}

Hmm.. I hope its the right way to do it! Thanks for the help! (:

IIRC refreshToken is not given if you authenticate for 1h instead of forever. refreshToken is the token that can retrieve a new accessToken one it has expired, which is quite useful so you don't have to re-authenticate so often

Yes I changed permanent: false to permanent: true and I can see it now. Well It's all looks good. Hope this is it! Thank you very much! (:

Sorry to re open this thread. But can you tell me what you meant by set permeant from false to true?

Sorry to re open this thread. But can you tell me what you meant by set permanent from false to true?

@Lermatroid Permanent being false means you only have access to the account for 1h. Permanent keeps the access forever as long as you have the tokens.
const authenticationUrl = snoowrap.getAuthUrl({
  clientId: 'client_id_from_reddit(installed app)',
  scope: ['identity', 'wikiread', 'wikiedit'],
  redirectUri: 'http://<IP_ADDRESS>:3000/',
  permanent: false, // @Lermatroid this one
  state: 'fe211bebc52eb3da9bef8db6e63104d3' // a random string, this could be validated when the user is redirected back
});

Sorry to reopen this again.... But I'm having the exact issue obiwankenoobi had two years ago. I'm able to follow the proposed changes and solutions 1:1:

creating OAuth URL:
var authenticationUrl = snoowrap.getAuthUrl({
    clientId: '<my client id>',
    scope: ["identity", "read"],
    redirectUri: 'http://localhost:3000/authed',
    permanent: true
});
window.location.href = authenticationUrl;

at the /authed endpoint, create a new snoowrap instance from the code reddit returns:
async function createInstance(token) {
    return new snoowrap({
	    userAgent: '<my user agent string>',
	    clientId: '<my cliend id>',
	    clientSecret: '', // empty!
	    refreshToken: token
    })
}

use that instance:
async function use_it() {
    var code = new URL(window.location.href).searchParams.get('code');
    const instance = await createInstance(code);

    try {
          console.log(await instance.getHot())
    } catch(e) {
          console.log(JSON.stringify(e, null, 2))
    }
}

The result is (predictably) the same as it was for obiwankenoobi:
{
  "statusCode": 400,
  "body": {
    "message": "Bad Request",
    "error": 400
  },
  "headers": {
    "content-length": "40",
    "x-moose": "majestic",
    "content-type": "application/json; charset=UTF-8",
    "cache-control": "max-age=0, must-revalidate"
  },
  "request": {
    "method": "POST",
    "uri": {
      "protocol": "https:",
      "slashes": true,
      "auth": null,
      "host": "www.reddit.com",
      "port": null,
      "hostname": "www.reddit.com",
      "hash": null,
      "search": null,
      "query": null,
      "pathname": "/api/v1/access_token",
      "path": "/api/v1/access_token",
      "href": "https://www.reddit.com/api/v1/access_token"
    }
  }
}

Changing refreshToken to accessToken (like obiwankenoobi menitioned), the response changes to
{
  "isTrusted": true
}

which seems good, but also comes with the same CORS error (Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://oauth.reddit.com/hot?raw_json=1&count=9999&t=. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).)

What am I missing here? I've been trying around for hours, and still no look. Any help would be appreciated.

Nevermind - figured it out. For anyone else with the same problem:
The auth-code used in fromAuthCode can only be used once.
Do Step 1 as above, then change step 2 to:
Snoowrap.fromAuthCode({
    code: code,
    userAgent: '<your user agent>,
    clientId: '<your client id>,
    clientSecret: '', //empty
    redirectUri: '<your redirect uri, same as in reddit application config>'
}).then(r => {
    const token = r.refreshToken; //this!! this is the refresh token!! not the code returned from reddit!!
    // do something with the token. I put it in localstorage.
    localStorage.setItem("refreshToken");
});

And now you can create a request object.
async function foo() {
    var token = await localStorage.getItem("refreshToken");
    const request = new Snoowrap({
        userAgent: '<your user agent>',
        clientId: '<your client id>',
        clientSecret: '', //empty
        refreshToken: token
    });
    return await session;
}


[Bug]: Downloading Unitydependencies error.

All of the following criteria must be met

[X] All Requirements must be installed.
[X] Full Latest.log file included. If no file exists then leave this unchecked and state so.

All of the following are optional to answer

[X] Tried reinstalling the Game.
[X] Tried reinstalling MelonLoader.
[X] Tried restarting PC.
[ ] Was able to see the Start Screen.

Describe the issue.
Latest.log
Did you attach your log file?

[X] Yes, I attached my log file to the text box above.
[ ] No, I could not find a log file at {Game_Directory}\MelonLoader\Latest.log

Closed due to being pirated.


Polish language has broken characters in web build

As seen in this web build (https://web.skyemu.app/commit/091c6f3efa69f6cdd0b33671fbbe7688871bdaf9/index.html), some accented characters display as question marks.

I believe adding Polish to the list of Unicode languages in localization.c will fix this.
https://github.com/skylersaleh/SkyEmu/blob/0accc32ac51972bdffd4c9485a3ab967e4b0570a/src/localization.c#L1992-L2006

Danish has the same issue: (https://web.skyemu.app/branch/dev/)


Use Effect.Tag for platform interfaces

Type

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
Converts /platform interfaces to utilize Effect.Tag.
Related

Related Issue #
Closes #

@tim-smart - upon further reflection, I think I agree with you. Too many landmines to explain to users.


Suggestion: Add skins from killerskins or potential to add custom skin files

Is it possible to add custom skins to the tool, for example skins from killer skins come in fantome format.

It is possible but R3nzSkin does not have such a purpose.

hi, could you please let me know how I can add it myself. I don't have much experience in this


Mod before truncate in shufle_group

Fixes #2730
This caused some rows to be missed during task-based shuffles

[x] Tests added / passed
[x] Passes flake8 dask
[x] Fully documented, including docs/source/changelog.rst for all changes
and one of the docs/source/*-api.rst files for new API

Thanks for the review @jcrist .  Resolved.


not parse body to json if already parsed

If use body-parser, body is already parsed to json.

LGTM!


Fix status bar alignment problem on native-ui theme

This PR solves the issue: https://github.com/platformio/platformio-atom-ide-terminal/issues/166
The fix is based on the solution provided by @sectsect in his comment.
I tested the change on Atom Dark, Atom Light, One Dark, One Light and it doesn't break things.

Thanks a lot!