Exception thrown when setting link url in Firefox

Fairly closely following the example code to create a link via some selected text, it works fine in Chrome but throws an error in Firefox.

Here is a link to our implementation: https://github.com/loomio/loomio/blob/master/vue/src/components/lmo_textarea/lmo_textarea.vue#L171

+1

I can't reproduce this but I've changes something in the latest update. Please test again!


Display cell run history

Description
I'm working with a large dataset and occasionally running into OOM errors. When the process is killed, there no way on the frontend to determine the last run cell (or cell that was running before OOM)
Suggested solution

Clicking the broken link scrolls to the last cell
Some styling on the broken cell (just the red error might be fine)

Alternative
No response
Additional context
Happy to put this in myself, just leaving a bookmark. Small QOL improvement

I've wanted to add another helper panel that just lists out a history of all the cell executions and their times and status (success/failure) in a list. That might help solve this as well?

That absolutely works. LMK if there's an existing issue so I can merge it

I haven't seen one, but this relates: https://github.com/marimo-team/marimo/issues/974.
I am unsure if its a stack/history of runs or a flame graph (or both).

@Light2Dark i agree the top one is better. i could imagine each run being closed by default (except maybe the top one) and you can expand to see the cell that were run, times, and result (just like you have designed).
for the chart, I am not sure what libraries out there exist/would be good for this, but we do already use vega-lite internally. you could maybe create a chart using the vega spec. here is a sample chart
the keywords to look are little gantt chart or timeline chart.
in future, we could add zooming on the chart and panning to filter the list of cells.

The lib is good! Although the chart has to be built separately and then placed side-by-side to the trace rows. Can't really build it row by row like a react component afaik.

wow that looks great. i wonder if its would be better to stack them. it wouldn't be aligned then, but you would get:

you can pan and zoom the full graph to filter the individual cells below it.
scales way better, e.g. past 20 cells
more horizontal realstate for the chart itself. (we are rich on vertical realestate

You can also add higlight-on-hover synced when hovered over a bar or the cell summary

I was thinking the browser network tab is good inspo, which does both above and to the right. The above allows for pan/zoom. But i find the right-side is easier to parse (as you've done)

So maybe we do both, eventually, but start with one for now.

cool! I think it's similar to what I've done actly, since they clamp the total width.

thats great! sounds good

I found a very nice gantt chart that does a lot of what we want

Wow i can't believe this was all done with vega. thats pretty impressive. We should definitely use some of it if we can. We may end up hitting a roadblock when wanting to integrate it with some of our React components (tooltips, anchors, icons)


Keyboard input events still working when scene is paused

I've tried several solutions for this, it sems sprite .on('pointerdown') events are not able to be fired once a scene has been paused. It also seems as if scene.input.on(gameobjectdown) events are also not able to be fired if a scene is paused.
class Level1Scene extends Phaser.Scene {

  constructor() {
    super({
      key: 'Level1Scene'
    });
  }

  create() {
    console.log('creating Level1');
    this.setupPauseMenu();
    this.events.on('pause', this.pause, this);
    this.events.on('resume', this.resume, this);

    this.input.keyboard.on('keydown_X', () => { this.togglePause(); }, this); //This will work regardless of paused state
  }

  setupPauseMenu() {
    this.pauseMenuResume = this.add.image(this.sys.game.config.width/2, this.sys.game.config.height/2 -30, 'atlas', 'ui/pause/resume.png');
    this.pauseMenuResume.setInteractive();
    this.pauseMenuResume.on('pointerdown', () => { this.togglePause(); }, this); //This can only be fired if not paused

    this.pauseMenuResume.visible = false;
  }

  pause() {
    console.log('Before pause scene');
    this.scene.pause('Level1Scene');
    console.log('After pause scene');
    //Display pause menu
    this.pauseMenuResume.visible = true;
  }

  resume() {
    console.log('In Resume');
    this.pauseMenuResume.visible = false;
    console.log('Hidden menu');
    this.scene.resume('Level1Scene');
    console.log('resumed scene');
  }

  togglePause() {
    console.log('Toggling Pause');
    if (!this.scene.isActive('Level1Scene')) {
        console.log("Trying to resume");
        this.scene.resume('Level1Scene');
    } else {
      console.log("Trying to pause");
        this.scene.pause('Level1Scene');
    }
  }
}

As mentioned, I've also tried the following in the create() and while paused got nothing back
this.input.on('gameobjectup', function(pointer, gameObject) {
      console.log(gameObject);
    });

I've also tried a pointer down on a text object, however got the same result
The issue here is probably more likely that keydowns are working, rather than pointerdown/gameobjectdown are not working, as if the scene is paused, it should prevent all user interaction until unpaused?

fiddle 3.9.0

We discussed this on the community Discord when when we realized what was going on, if a scene is paused there should be a UI scene to manage its pause/unpausing/whatever else, still having any kind of input could let the users effect the game state while it should be paused.
The title works either way, depending on what way you view the problem, I originally pointerdown/gameobjectdown should be triggerable when paused, however after some discussion I thought it made more sense for a UI/Paused scene to handle this instead

This actually required a complete rewrite of the KeyboardManager. It was a global class before, not bound to a Scene, and therefore objects and events created on it applied to any Scene in your game, not just those in which they were defined.
I can see how it would be useful to have this on a Scene level though. So I have created an Input Plugin system, and moved the keyboard class to it, so it's now one of the new input plugins and self-registers with the Scene input system. This means every Scene has its own instance of the keyboard plugin, which means it won't emit events (or process Key objects) for sleeping / inactive Scenes, giving full separation. It also uses more resources, but you can disable it on a per-Scene basis using the Scene config, so if you've got a Scene that doesn't need input, or keyboard input, you can disable either / or.
This is now in the master branch.


Home

Learne

@Deepakstp I'm not sure what you mean by "learne?" If you are looking to learn about the Graph Engine please follow the links here: HTTP://www.graphengine.io. Other let's close this issue. Thanks!


Added examples and fixed other errors in swagger spec

In this PR, we have addressed all the validation errors in the swagger spec. The changes include:

Added x-ms-examples for all the operations.
Removed 'location' and 'tags' properties from 'CustomDomain' and 'EdgeNode' as we don't have these in our RP.
Added terminal response codes for long running operations.
Made 'tag' as an additional property for the 'Profiles_Update' operation.

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

instead of adding id, type & name properties to edgeNode & customDomain.. Define following models and do allOf on ProxyResource. For the top level resources do allOf on TrackedResource. You can refer traffic manager spec for example.
    "Resource": {
      "description": "The core properties of ARM resources",
      "properties": {
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}"
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "The name of the resource"
        },
        "type": {
          "readOnly": true,
          "type": "string",
          "description": "The type of the resource. Ex- Microsoft.Network/trafficmanagerProfiles."
        }
      },
      "x-ms-azure-resource": true
    },
    "TrackedResource": {
      "description": "The resource model definition for a ARM tracked top level resource",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "x-ms-mutability": [
            "read",
            "create",
            "update"
          ],
          "description": "Resource tags."
        },
        "location": {
          "type": "string",
          "x-ms-mutability": [
            "read",
            "create"
          ],
          "description": "The Azure Region where the resource lives"
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ]
    },
    "ProxyResource": {
      "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ]
    },

Thanks @anuchandy!  Addressed both comments.

@prakharsharma10 thank you!. Could you pls take a look at the model validation errors reported by CI here is the link to validation errors

@anuchandy The errors are mostly about adding examples for all the response codes while in this PR, we have added examples for each operation as we're only targeting the linter errors to meet the swagger violations KPI. We'll add the examples for all response codes in the next set of PRs. Thanks!

@prakharsharma10 sounds good! thanks for cleaning up the errors. To track model validation issue just have created a work item here. Merging this PR.

 https://github.com/Azure/azure-sdk-for-python/pull/1684

 https://github.com/Azure/azure-sdk-for-ruby/pull/1169


Add pastebin link to .bm command.

Description

I have recently been using the .bm command and noticed when bookmarking codeblocks it doesnt provide a pastebin link with it. It would be a nice feature to add this.
Reasoning

Provides an easier way to share / copy the code you bookmarked.
Would you like to implement this yourself?

[x] I'd like to implement this feature myself
[ ] Anyone can implement this feature

The pastebin only supports storing pastes for up to 30 days, so i'm not sure how well it fits with the bookmark command which is intended to store things indefinitely.


Add Windows 10 "Threshold" 9926 screenshot

Windows NT Prerelease 10.0.9926, January 2015
Using OTVDM in VMware Workstation. OS installed from a 7 year old burned DVD.

Threshold was such a cool name. Also, it was the name planet that Installation 04 orbited in the first Halo.


An additional env variable is needed when working under a non-English linux platform.

According to https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L20, sudo-prompt uses regular expression to detect whether to show a prompt dialog. But under different language environments this does not always work. So here is my temporary solution:
const SUDO_OPTION = {
    name: APP_NAME,
    process: {
        options: {
            env: { 'LANG': 'en_US.UTF-8' }
        }
    }
};

Thanks.
Would you please paste the full output of running the following in your locale with the different language:
sudo -k && sudo -n echo hello

Thanks.
Would you please paste the full output of running the following in your locale with the different language:
sudo -k && sudo -n echo hello

ppoffice@ppoffice-VirtualBox:~$ sudo -k & sudo -n echo hello
[1] 2070
sudo: 需要密码
[1]+  已完成               sudo -k

ppoffice@ppoffice-VirtualBox:~$ sudo -k & sudo -n echo hello
[1] 2070
sudo: 需要密码
[1]+  已完成               sudo -k

Should be fixed with https://github.com/jorangreef/sudo-prompt/commit/d08ec680f3317d1ebbdcc6ca990f9988a61b7cf2, please let me know if this works.
There may still be a locale language dependency on Linux (https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L168), but this should only affect the error message returned, an error should still be returned regardless of language, so I think that is fine for now.

Should be fixed with https://github.com/jorangreef/sudo-prompt/commit/d08ec680f3317d1ebbdcc6ca990f9988a61b7cf2, please let me know if this works.
There may still be a locale language dependency on Linux (https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L168), but this should only affect the error message returned, an error should still be returned regardless of language, so I think that is fine for now.

Thx :+1:

Thx :+1:


Switching maintainer in equipment inspector plugin

@botanicvelious do you give permission to @Waistcoat to take over this plugin?

Not sure who this is, checked his repo and its just a clone of mine, @Waistcoat if you are going to add things I don't mind transferring it, but at this point it looks like nothing has been changed.

FYI the best way to have multiple contributors on one plugin is to just add the 2nd person as a collaborator to the plugin instead of transferring ownership of the plugin around.

I added him as a collaborator you can close this


Error trying to use "header: None" within catalog.yml

Description
Trying to read in a file from the catalog that is a text file using CSVDataSet causes the first line of data to become the header for the columns. When I try to use 'header: None', which is a valid argument, I get an error.
Context
I'm basically trying to tell pandas that there is no header and that there are no names so that all the columns default to just integer labels.
Steps to Reproduce

Place .txt file into the raw layer
Alter catalog to read in data file using the following:
raw_data:
type: pandas.CSVDataSet
filepath: data/a_raw/raw_data.txt
load_args:
sep: "|"
skiprows: 1
header: None
names: None
encoding: "ISO-8859-1"
quoting: 3
Save catalog.yml with changes
Run 'kedro ipython' from directory and within kedro environment
Run following commands:
x = catalog.load('raw_data')
Code produces error

Expected Result
Passing that list of arguments as load_args shouldn't cause an error. What should result is a dataframe with integers as column names and the raw data separated by '|' characters. I have done all this before using a local jupyter notebook.
Actual Result
I get an error with the 'header: None' parameter specifically.
ValueError: header must be integer or list of integers

DataSetError: Failed while loading data from data set CSVDataSet(filepath=C:\Users\<username>\Desktop\kedro_tutorial\data\a_raw\raw_data.txt, load_args={'encoding': ISO-8859-1, 'header': None, 'names': None, 'quoting': 3, 'sep': |, 'skiprows': 1}, protocol=file, save_args={'index': False}).
header must be integer or list of integers

Your Environment
Include as many relevant details about the environment in which you experienced the bug:

Kedro version used (pip show kedro or kedro -V): Version: 0.16.1
Python version used (python -V): Python 3.7.7
Operating system and version: Windows 10 Pro Version 10.0.17763 Build 17763

Can you provide a minimal working example with an example a.txt file? I (at least) can't reproduce this.
From what I can see, kedro is just bubbling up pandas's error. Do you get the same thing if you run pd.read_csv("data/a_raw/a.txt", header=None, names=None, ...)?

I have had no problems running this bit of code locally on my machine without kedro:
a_raw = pd.read_csv(
"C:\Users\\raw_data.txt",
sep="|",
skiprows=1,
header=None,
names=None,
encoding="ISO-8859-1",
quoting=3,
)
For context, the underlying data from the text file looks something like this:
DATA|123|2020-05-03|
As you can see it's pipe separated. The skiprows: 1 above is used to skip past a leading row on the file (I suspect that this is some sort of logging entry regarding when the data was pulled that isn't germane to the analysis I'm trying to do.)
Furthermore, passing 'header=None' into pandas is a valid argument. In fact, it's the only way to specify that you have no header (according to the documentation). Without header=None, the first row of data ends up becoming the names of the columns which isn't right.

@Burn1n9m4n
It seems YAML does not treat "None" as Python's None.
Instead, use "null", "Null", "NULL", or simply leave it empty like this:
raw_data:
  type: pandas.CSVDataSet
  filepath: data/a_raw/raw_data.txt
  load_args:
  sep: "|"
  skiprows: 1
  header:
  names:
  encoding: "ISO-8859-1"
  quoting: 3

Reference: https://yaml.org/type/null.html

@Minyus That fixed it! I just left them blank and it seems to have correctly addressed the issue. The output now looks as it should like this:
0         1            2
0 DATA     123   2020-05-03
Thanks!

Good catch Minyus, that completely slipped by me! I'll go ahead and close this issue. Thank you for raising it @Burn1n9m4n :)

@Burn1n9m4n
It seems YAML does not treat "None" as Python's None.
Instead, use "null", "Null", "NULL", or simply leave it empty like this:
raw_data:
  type: pandas.CSVDataSet
  filepath: data/a_raw/raw_data.txt
  load_args:
  sep: "|"
  skiprows: 1
  header:
  names:
  encoding: "ISO-8859-1"
  quoting: 3

Reference: https://yaml.org/type/null.html

Great catch @Minyus!  I tend to get confused with yaml as well.  When you take a minute to remember that yaml is a superset of JSON, for me at least, this issue makes a lot of sense.


Regarding the performance of SqueezeSAM

Dear author, I see you have released a new model SqueezeSAM. However, I couldn't find much information regarding its performance relative to the other EfficientSAM (Tiny, Small) in your paper or this repo's README. Can you shed some information on this?

@xiankgx, thanks for your interest. That model is not ready to release.


refactor!: Replace evm-types in our APIs with custom generic types

What I did
fixes: #1040
fixes: #1217
Fixes: APE-62
How I did it

Create out own CallTreeNode class that is more generic and have provider create those. This class also takes some of the logic and responsibilities from the CallTreeParser and now CallTreeParser is not needed.
Refactor more of a data-enrichment pattern. Now, the data is enriched as it goes along. The logic that did not move to CallTreeNode is now part of ape-ethereum.Ethereum which implements the new method enrich_calltree().

How to verify it

Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

There might be some merge conflicts with https://github.com/ApeWorX/ape/pull/1160 so I want to merge that one first before taking this out of draft

Does this mean we can remove ethpm-types as a dependency?

Does this mean we can remove ethpm-types as a dependency?

No, this is to reduce the reliance of ape core on evm-trace (which was maybe a typo)
We will still be using that package however for ape-ethereum (which is bundled with this package)

[ ] Ensure is good based on migration results from ape-hardhat

Let me do this final step. I have a hunch that something is iffy with transfer txns now and there are some good tests in ape-hardhat. Also, ape-hardhat relies on the TraceFrame approach so it is a good test in that regard.

Does this PR include events or is that another backlog PR?

That is separate work; it is being tracked already. I can do that next if we want!

More testing to do on my end before merging, just realized:

[ ] Ensure brownie dependency stuff all still works
[ ] Migrate ape-solidity
[ ] Migrate ape-etherscan

Does this PR include events or is that another backlog PR?

That is separate work; it is being tracked already. I can do that next if we want!

Would be nice to have eventually, especially in regard to the first comment here: https://github.com/ApeWorX/ape/pull/1239#issuecomment-1400663680


[feat] overhaul UI fixes

[ ] Standardizing content wrapper margins on mobile for all the pages .
Designed as 20px

On some pages margins are missing, because new design wasn't applied there yet.
Updated margins already:
https://teia.art/objkt/510549
https://teia.art/faq
Missing margins:
https://teia.art/
https://teia.art/about
https://teia.art/collaborate
https://teia.art/galleries/
https://teia.art/config
https://teia.art/dmt_vision (user profile tabs, manage assets)
https://teia.art/mint
https://teia.art/terms
https://teia.art/search

[ ] Minimizing large distance/margin between content and header
Especially on mobile

Please have a look suggested margins for the pages we are updating:
https://www.figma.com/file/R5sw1HcoHx4Aup1Yl7rGYA/UX%2FUI?node-id=1338%3A12652
Generally, you can find pink squares to check the sizes between the elements.

[ ] Minimizing disclaimer - smaller font and shorter sentence
Current disclaimer size is overlapping menu on smaller mobile devices.
Please apply font Small -

[ ] Updating disclaimer copy
This open-source, experimental dApp is developed and maintained by the Teia Community and powered by the Tezos blockchain.

[ ] Updating menu intro copy
Teia is an artwork made of artworks, an open, community owned digital platform for experimentation, trading ideas and works of creativity as OBJKT NFTs.

[ ] Improving menu scrolling on mobile
Currently I can't scroll the menu on iPhone - the content behind the menu is scrolling instead.

[x] Updating input fields and buttons on the reswap feature according to style

Styles: https://www.figma.com/file/R5sw1HcoHx4Aup1Yl7rGYA/UX%2FUI?node-id=1406%3A11773

[x] Removing black background on the TEIA swap label.
Transparent should be more suitable for light and dark modes.

@denscimonk Can we open a new UI issue updated from the current version since a lot changed from that time?
if not I'll reopen 😄

@denscimonk Can we open a new UI issue updated from the current version since a lot changed from that time? if not I'll reopen 😄

Some tasks are still actual, but yeah, I think I will create a new updated issue based on the current version.


Add use-def independence analysis to StraightLineVectorizer

Ah, slice analysis is what I want: https://github.com/llvm/llvm-project/blob/06927848dae4279267392b1000f71c55a65e2c49/mlir/include/mlir/Analysis/SliceAnalysis.h#L137C6-L137C22


[Safari] Mouse wheel zooming doesn't work outside the viewport area

On Safari, mouse wheel zooming doesn't work outside the viewport area.
Expected behaviour
Mouse wheel zooming feature should work on the entire area of the svg.
Actual behaviour
Mouse wheel zooming works fine on the viewport area, but it doesn't work outside.
Steps to reproduce the behaviour

Opening a this demo url in Safari
Using the mouse wheel to zoom in / out the svg. It works if the pointer is inside the viewport area, but doesn't zoom when moving the pointer outside.

Configuration

svg-pan-zoom version: 3.5.1
Browser(s): Safari 10.1.1 on Mac Mini
Operating system(s): OS X 10.11.6
Please refer to the image attached below.

This is not an issue of the svg-pan-zoom library itself but a Safari bug. The Mac OS X browser does not dispatch wheel events to the SVG element when there is no SVG content under the pointer.
I followed a workaround from this issue by adding a transparent rect element into the SVG content and it did the trick:
<rect width="100%" height="100%" fill="none"></rect>
It sounds a little bit tricky, but at least it works!

@dhqvinh Thank you for the insight and a solution!

https://bugs.webkit.org/show_bug.cgi?id=226683


Missing possibility to reset graph data (delete all graph points).

Sometimes it would be useful to reset graph data (for example Spark_Line) and start displaying data from scratch. For example if I would change units at a runtime, I would like to delete all previously submited data and start graph from scratch.

will add a clearData method that will reset the data.

Fixed with commit 1623e2de4d81f44adf2e612d104e4ffaa09111ab

Thank you for adding this new method clearData(), but I have some further suggestions. In the skin code, where you handle EventType.CLEAR_DATA event it would be better if you set Tile into state of current value instead of minValue, for example:
double value = clamp(minValue, maxValue, tile.getValue()); handleCurrentValue(value);.  If you would  use this code, when client would clear graph data, Tile would look the same as if it was firstly created via TileBuilder. Client should call your method for example like that: tile.setvalue(20d); tile.clearData(); Of course, the best option would be a separate method, for example, clearData(double value) where value would be a value of current graph value.


Version 8 doesn't completely scaffold Auth

Laravel Version: 8.0
PHP Version: 7.4
Database Driver & Version: Mysql 8

Description: No Login Controller is created and no trait.
From docs:

Now that you have routes and views setup for the included authentication controllers, you are ready to register and authenticate new users for your application! You may access your application in a browser since the authentication controllers already contain the logic (via their traits) to authenticate existing users and store new users in the database.

Steps To Reproduce:
Run php artisan jetstream:install livewire
And is laravel/ui deprecated, or will it work with v8 and future versions, nothing in the v8 docs about that?
Where are the traits the documentation refers to I like to be able to override some methods if possible.
I like to redirect depending on the role, like you could in UI.

@jimgwhit Just as a workaround.  You 100% can use laravel/ui with Laravel 8.  I just upgraded an app using that combo.  The only thing you'll need to do is use the work around for Auth::routes described here:  https://github.com/laravel/ui/issues/138

And is laravel/ui deprecated, or will it work with v8 and future versions, nothing in the v8 docs about that?

laravel/ui is indeed deprecated. But like @fylzero says you can use a workaround.
Please open this issue on the jetstream repo.

@jimgwhit Just as a workaround. You 100% can use laravel/ui with Laravel 8. I just
upgraded an app using that combo. The only thing you'll need to do is use the work
around for Auth::routes described here: https://github.com/laravel/ui/issues/138

This link leads to a 404. I am having the same issue in a container with Laravel 8.6.* running, and I cannot initiate VUE, because 'ui' is not recognized, not does it show up in 'php artisan list'

@mjbanvard I believe this is no longer an issue.  All of this was happening during a brief period after Jetstream was launched.  Laravel UI has continued support and is no longer officially deprecated.  So if you create a fresh Laravel 8 project and install Laravel UI, everything should be good to go.

@fylzero I'm working with a Laravel container, running in Docker on my local machine. When I type 'php artisan ui vue' I receive a message 'Command "ui" is not defined'

Did you composer require laravel/ui?

@devcircus Yes, I did. I'm running the Laravel framework 8.61.0


#107: adjust mobile app to new generic initial survey

Needs to wait for https://dev.azure.com/survey-project/Survey/_boards/board/t/Survey Team/Issues/?workitem=95 to be finished, and then we know  how to exactly adjust the endpoints, but the main logic is ready


Add a homebaked getline() which is probably not even half as efficient

as the real thing. But hey, Solaris users are people too!

It looks like there's a conflict with master, so I can't click the green button.

I made some changes to get this to compile, and I merged master into it: https://github.com/ggreer/the_silver_searcher/tree/igalic_bsd_getline

Getline fixes are in #18 now, so I'm closing this.


Too many open files.

I was trying to load test the php-lumen framework with influxDB. but anything above 128 concurrent php-curl requests (in a loop) makes the db go mad. I think 128 concurrent is not a big number. I tried similar load on databases before. They seems to work just fine.
Cofiguration:
Web Server: Nginx
Framework: Lumen
Server Language: PHP
OS: High Sierra
Processor: 2.5 GHz Intel Core i5
RAM: 12 GB 1600 MHz DDR3
Shell Output
Command to open influxdb
influxd -config /usr/local/etc/influxdb.conf
Output of ULimit: ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1064
virtual memory          (kbytes, -v) unlimited

Any clue? Whats going wrong in here. I just feel I need to increase the open files limit for OS. But if yes then is it a good practice?

Yes, you should look to increate the number of files that can concurrently be opened using ulimit.  There may be a tradeoff in terms of memory that will be utilized once you've done this.  This provides some general background on changing that setting and it's impact: https://serverfault.com/questions/48717/practical-maximum-open-file-descriptors-ulimit-n-for-a-high-volume-system

I'm encountering this issue while testing bulk ingest via python influxdb_client from a SQL database writing ~300 lines per call every ~2-3s
(2.0.0 rc)
A restart solved the issue. Is there a way to prevent this issue in influx OSS?


Update docker image to v1.0.6

In order to provide the latest version to users of the docker image update the image to download the 1.0.6 version instead of 1.0.0. Also update to alpine:3.4.
current state
# docker run --rm -ti janeczku/go-dnsmasq:release-1.0.6 --help
Unable to find image 'janeczku/go-dnsmasq:release-1.0.6' locally
release-1.0.6: Pulling from janeczku/go-dnsmasq
a01c74355a5f: Pull complete
459d93e10de1: Pull complete
c5e2efa27129: Pull complete
Digest: sha256:90739fce3aba549287cde96637e9edc2333b31905a7d2d0592c87d3157ba31a7
Status: Downloaded newer image for janeczku/go-dnsmasq:release-1.0.6
NAME:
   go-dnsmasq - Lightweight caching DNS server/forwarder

USAGE:
   go-dnsmasq [global options] command [command options] [arguments...]

VERSION:
   1.0.0
[...]

@mlafeldt FYI

I thought I was using the 1.0.6 release but I am not... merge please please

Thanks @Luzifer and sorry for taking so long to look at this. Merged.


Create ppc64el Debian Buster VM and run it, how?

Describe the issue
I'd like to create a VM for Debian Buster on ppc64el, and run it on Apple Silicon with UTM.
I started with debian-10.12.0-ppc64el-netinst.iso, dropped it into the virtual CD drive, and went through the manual installation.
I can boot the machine into single-user mode (append init=/bin/bash to the kernel line) but cannot proceed from there with CTRL-D; a "Guest Panic" results.
Without the addition, I get a black screen with no response.
(BTW, I had to hijack the qcow2 file from another VM, because sizing a new one didn't work as expected. This is probably completely unrelated.)
Configuration

UTM Version: 3.2.4
macOS Version: 12.5.1
Mac Chip (Intel, M1, ...): M1 (MB Air 2021)

Crash log
N/A
Debug log
Running:  -L /Applications/UTM.app/Contents/Resources/qemu -S -qmp tcp:<IP_ADDRESS>:4002,server,nowait -nodefaults -vga none -spice "unix=on,addr=/Users/stefgru/Library/Group Containers/WDNLXAD4W8.com.utmapp.UTM/48A14BDD-3B05-455D-8895-571BC4ADFF04.spice,disable-ticketing=on,image-compression=off,playback-compression=off,streaming-video=off,gl=off" -device cirrus-vga -smp cpus=2,sockets=1,cores=2,threads=1 -machine pseries-7.0, -accel tcg,tb-size=512 -boot menu=on -m 2048 -name "ppc64el Debian 10 Buster" -usb -device usb-tablet,bus=usb-bus.0 -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 -device ich9-usb-ehci1,id=usb-controller-0 -device ich9-usb-uhci1,masterbus=usb-controller-0.0,firstport=0,multifunction=on -device ich9-usb-uhci2,masterbus=usb-controller-0.0,firstport=2,multifunction=on -device ich9-usb-uhci3,masterbus=usb-controller-0.0,firstport=4,multifunction=on -chardev spicevmc,name=usbredir,id=usbredirchardev0 -device usb-redir,chardev=usbredirchardev0,id=usbredirdev0,bus=usb-controller-0.0 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=usb-controller-0.0 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=usb-controller-0.0 -device usb-storage,drive=cdrom0,removable=true,bootindex=0 -drive if=none,media=cdrom,id=cdrom0 -device usb-storage,drive=drive0,removable=false,bootindex=1 -drive "if=none,media=disk,id=drive0,file=/Users/stefgru/Library/Containers/com.utmapp.UTM/Data/Documents/ppc64el Debian 10 Buster.utm/Images/ppc64el-2.qcow2,discard=unmap,detect-zeroes=unmap" -device e1000e,mac=22:86:61:B2:7E:7A,netdev=net0 -netdev vmnet-shared,id=net0 -uuid 48A14BDD-3B05-455D-8895-571BC4ADFF04 -rtc base=localtime
qemu-ppc64-softmmu: warning: TCG doesn't support requested feature, cap-cfpc=workaround
qemu-ppc64-softmmu: warning: TCG doesn't support requested feature, cap-sbbc=workaround
qemu-ppc64-softmmu: warning: TCG doesn't support requested feature, cap-ibs=workaround
qemu-ppc64-softmmu: warning: TCG doesn't support requested feature, cap-ccf-assist=on
qemu-ppc64-softmmu: OS terminated: OS panic: Attempted to kill init! exitcode=0x00000000
Upload VM

ConfigurationVersion
2
Debug

DebugLog

Display

ConsoleBackgroundColor
#000000
ConsoleFont
Menlo-Regular
ConsoleFontSize
12
ConsoleOnly

ConsoleTextColor
#ffffff
ConsoleTheme
Default
DisplayCard
cirrus-vga
DisplayDownscaler
linear
DisplayFitScreen

DisplayUpscaler
nearest

Drives

DriveName
cdrom0
ImageType
cd
InterfaceType
usb
Removable

DriveName
drive0
ImagePath
ppc64el-2.qcow2
ImageType
disk
InterfaceType
usb

DriveName
driveE9B378D9-B663-4C42-9ABD-87955E896A76
ImagePath
ppc64el.qcow2
ImageType
none
InterfaceType

Info

Icon
debian
IconCustom

Input

InputLegacy

Networking

NetworkCard
e1000e
NetworkCardMAC
22:86:61:B2:7E:7A
NetworkMode
shared

Printing

Sharing

ClipboardSharing

DirectoryReadOnly

DirectorySharing

Usb3Support

UsbRedirectMax
3

Sound

SoundCard
sb16
SoundEnabled

System

Architecture
ppc64
BootDevice

BootUefi

CPU
default
CPUCount
2
ForcePS2Controller

JITCacheSize
0
Memory
2048
RTCUseLocalTime

RngEnabled

SystemUUID
48A14BDD-3B05-455D-8895-571BC4ADFF04
Target
pseries-7.0
UseHypervisor

ppc64el-guest-panic.log

ppc64el-guest-panic.log
config.plist.log

In the meantime, by switching to text console only, I've managed to get this installed and fired up. To access CD and disk, I had to switch to USB - certainly the set of working setup options is quite small (e.g., the default setup doesn't even have IDE etc.)

I can boot the machine into single-user mode (append init=/bin/bash to the kernel line)

@steve8x8 do you mind providing the steps in order to enter single-user mode? I'm unable to edit the boot option in order to edit GRUB ...

@nicolas-g Hitting "e" while GRUB presented its menu did the trick for me.
For those interested in the boot setup, this ppc64le.zip contains the two plist files defining my VM


feat: template completions powered by MDN reference

Codecov Report

Merging #118 (65f17ce) into master (5c40102) will decrease coverage by 0.35%.
The diff coverage is 57.81%.

@@            Coverage Diff             @@
##           master     #118      +/-   ##
==========================================
- Coverage   55.53%   55.18%   -0.36%
==========================================
  Files          82       82
  Lines        5260     5491     +231
  Branches     1842     1949     +107
==========================================
+ Hits         2921     3030     +109
- Misses       2339     2461     +122

Impacted Files
Coverage Δ

packages/analyze/src/index.ts
75.00% <ø> (ø)

...ckages/analyze/src/project/ConfiguredVueProject.ts
0.00% <0.00%> (ø)

packages/analyze/src/project/VueProject.ts
76.92% <ø> (ø)

...es/compiler-tsx/src/transforms/transformElement.ts
63.71% <ø> (ø)

packages/template-ast-types/src/helpers.ts
50.87% <0.00%> (-8.31%)
:arrow_down:

...s/completions/TemplateContextCompletionProvider.ts
61.53% <ø> (ø)

...ompletions/TemplateExpressionCompletionProvider.ts
65.85% <ø> (ø)

...pt-plugin-vue/src/features/completions/abstract.ts
100.00% <ø> (ø)

...in-vue/src/features/completions/data/directives.ts
100.00% <ø> (ø)

...cript-plugin-vue/src/features/completions/index.ts
100.00% <ø> (ø)

... and 15 more

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 5c40102...65f17ce. Read the comment docs.


transitionEndEvent doesn't fire.

#angular version  : 1.3.15
#angular-ui-bootstrap version : 0.12.1
##when the transition would be end  ,it's never work ,so that the transitionEndHandler  can't call neigher,and the currentTransition can't be null;

plunkr please

$transition is being deprecated. This issue probably isn't valid now since the carousel ngAnimate PRs have been merged.


Use Conditions from apimachinery, specifically k8s.io/apimachinery/pk…

Use Conditions from apimachinery, specifically k8s.io/apimachinery/pkg/apis/meta/v1.Conditions
Probably try to merge #1646 and make all required pipeline changes before running this through the pipelines.
Release note:
This includes a small breaking change for consumers of the generated client code.

If consumers directly import one of the removed `Conditions` structs, they will need to import the `Condition` struct from the `k8s.io/apimachinery/pkg/apis/meta/v1` library.

I looked at what the merge conflicts would be in detail by running a trial merge and they aren't that bad, so I think we can go ahead and merge this now. I rebased main into the PR branch and will mark it for auto-merge.


Update PyPi package

I'd like to be able to run the baselines code by importing baselines and calling the run module function directly like so:
import gym_foo # registers my custom environments
from baselines.run import main

main()

This works fine when I clone baselines and use pip install -e . but not when I install the repository from PyPi because the current package version on PyPi predates the baselines/run.py file.

The pypi package is not maintained at the moment - partially due to number of recent backwards-incompatible changes, partially because we see baselines more as a starter for research and a collection of components that may need to be modified to suit one's needs than an immutable software library.
We may come back to maintaining the pypi package in the future; for now  if a one-liner installation is needed, I'd recommend pip install git+https://github.com/openai/baselines for the latest version, and pip install git+https://github.com/openai/baselines.git@<commit_hash> if a particular commit is needed.

@pzhokhov thanks for your response above. Request: could you remove it from pypi altogether? I tried installing baselines for another project using pip install baselines, and didn't realize I had such an outdated version that was causing errors.

let me see what I can do about that


Is it possible to reload a pretrained tfhub albert in tf2.0?

for example:
ALBERT_PATH = "xxx"   // a pretrained tfhub albert model
albert_layer = hub.KerasLayer(ALBERT_PATH , trainable=True)

https://github.com/kpe/bert-for-tf2

albert_layer = hub.KerasLayer("https://tfhub.dev/google/albert_xxlarge/2",
    trainable=True, signature='tokens', signature_outputs_as_dict=True)
input_ids = tf.keras.layers.Input(shape=(max_seq_length,),
                                  dtype=tf.int32, name="input_ids")
input_mask = tf.keras.layers.Input(shape=(max_seq_length,),
                                   dtype=tf.int32, name="input_mask")
segment_ids = tf.keras.layers.Input(shape=(max_seq_length,),
                                    dtype=tf.int32, name="segment_ids")
albert_inputs = [input_ids, input_mask, segment_ids]
outputs = albert_layer(inputs=dict(
      input_ids=input_ids,
      input_mask=input_mask,
      segment_ids=segment_ids,
    ))

I think the short answer is nope you can't.

You could load using tfhub however all parameters are not trainable as mentioned by Tony-Y.

(https://github.com/google-research/ALBERT/blob/master/modeling.py) need to be modified as

from tensorflow.contrib import layers as contrib_layers

won't work.

Sorry for the delayed response. This looks like a duplicate of #112
We only support ALBERT on TF1.15 at this time. We haven't really tested ALBERT in TF2.0 and don't have plans to release a TF2.0-compatible version of ALBERT modules (yet).


Solve NPM vulnerabilities

NPM audit reported: found 14 vulnerabilities (4 moderate, 10 high)
Main vulnerabilities:

https://www.npmjs.com/advisories/782
https://www.npmjs.com/advisories/788
https://www.npmjs.com/advisories/813
https://www.npmjs.com/advisories/1065

@SpartakusMd thank you for contribution :+1:


Reference the history of scholarly HTML as a term and concept

See http://blogs.plos.org/mfenner/2011/03/19/a-very-brief-history-of-scholarly-html/

Thanks! I've included the link. It might be worth updating the history at some point.


Correction for raw affiliation Western University, CA

Correction needed for raw affiliation Western University, CA
raw_affiliation_name: Western University, CA
new_rors: 02grkyz14
previous_rors: 05167c961
works_examples: W4383221454
contact: f95719cb6c4bc999888c3a2b8ff13864:e5cfa0fc40bb2a8e @ uwo.ca

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Style change question

If I changed the style to
apt_key: data="{{ lookup('file', '../../files/cephstable.asc') }}"
         state=present

instead of
apt_key: >
         data="{{ lookup('file', '../../files/cephstable.asc') }}"
         state=present

would you allow it?

Why would you want to do this? :)
It depends, it you do this for the entire repo or not :)
The more I look at ansbile repos the I see this kind of yaml syntax.
However I was more thinking at something like:
apt_key:
  data:"{{ lookup('file', '../../files/cephstable.asc') }}"
  state:present

I think that's a good compromise. :+1:
I submit a PR later today..

This is a huge refactor so thanks in advance.
Have a look at this repo: https://github.com/SamYaple/yaodu/tree/master/ansible/roles
The syntax is a good example to follow.

@msambol Any update on this?

Got a little distracted with work stuff, I'll submit a PR asap.

No worries it's not urgent, I was just checking in while looking at the opened issues :)

I'm refactoring the monitor role, and it's getting stuck in start_monitor.yml at collect admin and bootstrap keys. When I run the ceph-create-keys --id <hostname> I get the following error:
INFO:ceph-create-keys:ceph-mon admin socket not ready yet.
admin_socket: exception getting command descriptions: [Errno 2] No such file or directory

Have you seen this?

Looks like the monitor is not started thus there is not socket that can called. Check that the monitor successfully started.

@msambol are you planning on working on the other roles as well? Thanks!

Yes! It's done for monitor... I'll submit soon.

@msambol awesome, looking forward to seeing your PR.

@msambol thanks a lot!


Can't play demo after "The Armory" Update

Describe the bug
https://store.steampowered.com/news/app/730/view/4674264042200250912
When play demo, prompts 'Verify Integrity of Game Cache'

Demo links
No response
Steps to reproduce

Expected behavior
play demo
How often does this bug happen?
Every time
Log file
No response
Environment information

Additional context
No response

Me too

Managed to solve this by


Setup the new Send Money page and header titles

Details
Adds the Send Money Page container and updates the header title steps to reflect the new flow
Fixed Issues

$ https://github.com/Expensify/Expensify/issues/169170
$ https://github.com/Expensify/Expensify/issues/169174
Tests

Test the new route by going to /iou/send/{currentChatReportID}, e.g. /iou/send/182. Verify this opens up a new IOU Send modal.
Go through the flow of creating a new IOU
Verify the correct header titles appear, "Send Money" and "Send $amount". *the button text will be updated from "Request" to "Send" in a future PR.

QA Steps
Same as above. Will also test the full flow once the payment and DM/Global Create menu's are hooked up.
Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Unfortunately the deploy comments are not working right now. This was deployed to staging yesterday.


QueryStringConverterInstanceFactory is not thread safe

This QueryStringConverterInstanceFactory file is not thread safe. https://github.com/Microsoft/Docker.DotNet/blob/master/Docker.DotNet/QueryStringConverterInstanceFactory.cs
What version of Docker.DotNet?:
Latest NuGet version
Stacktrace:
Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at System.Collections.Generic.Dictionary2.set_Item(TKey key, TValue value)
at Docker.DotNet.QueryStringConverterInstanceFactory.GetConverterInstance(Type t)
at Docker.DotNet.QueryString1.GetKeyValuePairs()    at Docker.DotNet.QueryString1.GetQueryString()
at Docker.DotNet.HttpUtility.BuildUri(Uri baseUri, Version requestedApiVersion, String path, IQueryString queryString)
at Docker.DotNet.DockerClient.PrepareRequest(HttpMethod method, String path, IQueryString queryString, IDictionary2 headers, IRequestContent data)    at Docker.DotNet.DockerClient.MakeRequestInnerAsync(Nullable1 requestTimeout, HttpCompletionOption completionOption, HttpMethod method, String path, IQueryString queryString, IDictionary`2 headers, IRequestContent data, CancellationToken cancellationToken)
at Docker.DotNet.DockerClient.d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.DotNet.ContainerOperations.d__6.MoveNext()

@Ecroyd - I just submitted a PR to fix this. Thanks for pointing it out. Want to take a look and try it out?

@jterry75 - Looks good, can not reproduce issue


Write to console if no outputDir provided

I believe the the xunit report used to print to the console if an output directory wasn't provided.  That was actually useful for me.  Is there any reason that it can't do that going forward?  Maybe if not doing that by default, but via an option would be good too?

@dmfranko we still do that: https://github.com/webdriverio/wdio-junit-reporter/blob/master/lib/reporter.js#L132


Cloned repo, two tests failed

I wanted to add a feature that gives the user the option to have the Say Command wrap the text to multiple dialog boxes. As per the Contributions guide, I cloned the repo and ran all the tests before adding anything. Two of the tests failed.
Here is a screenshot: https://imgur.com/a/QHV115u

Can you provide some more detail on your build and version. I can get the Stop test to fail in build, but not editor but I cannot get the string sub test to fail at all.
In terms of adding and doing a PR I say put one through as long as it isn't causing any new failures.


Update graphiql to 0.11.11

The main thing I want from this update is rendering field description as
markdown
https://github.com/graphql/graphiql/commit/6398718c4111360f8c95fda3622bbcfa48cc0862,
but I imagine there's other stuff in the update that might be nice or on
the other hand might be breaking.  Thought I'd put this in to see if you
were open to the update, happy to do any other work needed to get this
through.  I didn't commit the changes from the build script since I
figured that might be part of your release process.

FWIW I ran the build script locally and am using the output with one of my local projects through https://github.com/absinthe-graphql/absinthe_plug and it seems to work great.


Make Gem compatible with with Ruby 3.0, Ruby 3.1 and Ruby 3.2

In the README.md file, it is stated that this Gem is compatible only with Ruby versions below (!) 3.0. Ruby version 3.0 was released back in 2020.
This makes this Gem unusable for our company. Can you please make this Gem compatible with latest Ruby versions?

Hi,
v0.5.0 passed the tests and just got published. Hope this helps!

Thanks @matthiez for quick reaction 👍
You forgot to fix the README.md file though, I left at comment at the respective line in your commit


Any api to drag over the content not to shift the content

Any api to drag left drawer over the content not to shift the content, similar to gmail android application.

Nope, sorry. Snap.js is pretty firmly in the business of sliding content to reveal drawers underneath.

I was able to get this to work properly simply by reversing the roles of the content and drawer and provide appropriate start values.
Like So:
<style>
	.snap-content {
		width: 80vw;
		left: -40vw;
		background-color: transparent;
		border: none;
		overflow-y: hidden;
		color: black;
	}
	.snap-content section{
		width: 50vw;
		height: 100%;
		background: linear-gradient(to right, rgba(0, 0, 0, 0.44) 0%,rgba(0, 0, 0, 0.33) 83%,rgba(0,0,0,0) 100%);
	}
	.snap-drawer {
		width: 100vw;
	}
</style>

<snap-drawer style="display: block !important;">
  Main Content

</snap-drawer>

<snap-content ng-init="options = {hyperextensible: false, maxPosition: ($root.screen.width * .4), minPosition: 0}" snap-options="options">
	<section>
		Drawer Content
	</section>
	<div snap-dragger style="height:0;width:0;">
	</div>
</snap-content>

I realize that I polluted the $rootScope too. But in this case I don't care. And the overflow-y: hidden may not be needed anymore. But if you still want to scroll then you should still be able to embed another scrollable inside.


chore: fix histogram aggregator update time

Which problem is this PR solving?
Timestamp in prometheus export is not updated over time
Short description of the changes

Did as every other aggregator toPoint methods do - update _lastUpdateTime on update call

tests are on the way

test is ready

fixed. probably worth to squash on merge


Revert "Fixed customer facing grammar and spelling"

This reverts commit a64394ece5f69596602bcdf12ad578caf5ea89b8.
Vendor commits cannot be made without updating the vendor file. Doing this to fix CI, the fix was already made upstream so going to look for an appropriate commit to commit to vendor to or cherry-pick to a fork.

See upstream commit https://github.com/go-yaml/yaml/pull/119/commits/0516c53462e633a479f3826e1d3557033413eeb8 from Aug 18 2015, our vendored version is from Jan 2015


Bug with bigint multiplication

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Write-Host "int: $([int]5 * [double]1.5)"
Write-Host "bigint: $([bigint]5 * [double]1.5)"

prints
int: 7.5
bigint: 5

using c# directly in PS prints the correct result
Add-Type -TypeDefinition @"
using System;
namespace DemoCode
{
    public class DemoClass
    {
        public static void Test()
        {
            int i = 5;
            System.Numerics.BigInteger bi = 5;
            double d = 1.5;

            double r = i * d;
            Console.WriteLine("bigint c#: " + r.ToString());
        }
    }
}
"@
[DemoCode.DemoClass]::Test()

prints
bigint c#: 7.5

Why is the multiplication directly in PS truncating the double?
It doesn't matter if I use 1.1, 1.5 or 1.9, the double gets truncated and then multiplied.
This bug happens in PowerShell 74.1 and 5
Expected behavior
PS> [bigint]5 * [double]1.5
7.5

Actual behavior
PS> [bigint]5 * [double]1.5
5

Error details
There was no error

Environment data
PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

The bug boils down to this:

While performing arithmetic operations with other integer types in combination with a [double] (or the rarely used [float]) yield a [double]-typed result, with [bigint], specifically, the respective other operand is forced to [bigint] too.

In other words:
[bigint] 5 * [double] 1.5

is currently - unexpectedly - the same as:
[bigint] 5 * [bigint] [double] 1.5

Since [bigint] 1.5 (same as: [bigint] [double] 1.5, given that a number literal with a decimal point is implicitly a [double])  is 1, the result is 5n (aka [bigint] 5)

The C# is not equivalent code because you are not multiplying an integer
You get a compiler error trying to multiply an integer with a double, eg
int i=5;
i+=1.5;

won't compile because the 1.5 can't be implicitly casted to an int in this case.
Because you have
double r=

it promotes everything on the right side to doubles to make the calculation, hence the expected result

@rhubarb-geek-nz:

Fundamentally, C# plays by different rules than PowerShell, so differing behavior isn't in and of itself relevant.

For that reason, my comment focused on how the observed behavior is inconsistent in the  realm of PowerShell - and that's what the conversation should focus on.

As an - inconsequential - aside: C# prevents mixing System.Numerics.BigInteger and System.Double in arithmetic expressions, so that, for instance, double r = (System.Numerics.BigInteger) 1 * 1.2; fails.

This then counts as the PowerShell inconsistency
PS> [int]5*1.5
7.5
PS> [bigint]5*1.5
5

You are right with C#, I made a mistake there.
But in PS, there should be an error also and not a wrong result.

there should be an error

I haven't looked at any technical challenges, but ideally the - PowerShell-idiomatic - behavior would be:
Automatically convert to [double], because that's what happens with all other integer types ([sbyte], [byte], [int16], [uint16], [int], [uint], [long], [uint64]).
Thus:
# 5n == [bigint] 5; 1.5 == [double] 1.5
5n * 1.5 | % {  [pscustomobject] @{ Result = $_; ResultType = $_.GetType() } }

SHOULD be:
Result ResultType
------ ----------
 7.500 System.Double

But currently is:
Result ResultType
------ ----------
     5 System.Numerics.BigInteger

However, the open-ended nature of [bigint] theoretically makes it possibly for the result not to fit into a [double] - something that cannot happen with the other integer types.
In that case, it would make sense to exhibit the same behavior as when trying too cast a too-large / too-small  [bigint] to a [double], which means: [double]::PositiveInfinity / [double]::NegativeInfinity
# Try to cast a [bigint] that is too large to fit into [double] to a [double]
[double] (Invoke-Expression ('9' * 1e3 + 'n'))
# Ditto for a negative number
[double] (iex ('-' + ('9' * 1e3 + 'n')))

The Engine WG reviewed this and we've decided this is by design. If bigint is specified, it's expected that very large numbers will be involved. If you need decimal places, we'd recommend converting the bigint to double before the operation.

How about a warning when using Set-StrictMode -Version Latest
At least you would know about this. I can accept that it's not working.
But failing without error or warning is not good.

@Tragen, speaking in no official capacity whatsoever:

I disagree with the WG decision: coercion to [double] - even if it situationally results in [double]::PositiveInfinity / [double]::NegativeInfinity -  amounts to behavior that is consistent with arithmetic with other types; receiving either of the two results allows you to infer what happened. Carving out an exception for [bigint] is a confusing exception that is likely to trip up users.

Set-StrictMode is problematic in general, given PowerShell's dynamic scoping: it affects not just the current scope, but also all descendent scopes, and therefore requires careful managing; note that Set-StrictMode hasn't seen updates since -Version 3.

Given the WG decision:

The behavior should be documented: however, going by past behavior, this likely won't happen until  a (non-team) user akes the initiative to ask that the Type conversion to accommodate result part of the docs be amended.

The best you can hope for is implementation of a PSSA rule, so that, for instance you'd get a design-time warning in Visual Studio Code - again, this will likely require user initiative.

I think also the decision is wrong.
You force all users to start searching why it isn't working until you find the documentation or the this bug.
It's unnecessary at makes more work.

I disagree with the WG decision: coercion to [double] - even if it situationally results in [double]::PositiveInfinity / [double]::NegativeInfinity -  amounts to behavior that is consistent with arithmetic with other types; receiving either of the two results allows you to infer what happened. Carving out an exception for [bigint] is a confusing exception that is likely to trip up users.

I would be more worried about loss of precision than hitting an actual limit. Neither choice is wrong here, we just think it's more likely to need precision if you've already specified a bigint. Also helps that it's the existing behavior at least as far back as 5.1 so no breaks.

I think also the decision is wrong. You force all users to start searching why it isn't working until you find the documentation or the this bug. It's unnecessary at makes more work.

Keep in mind that this would also apply if we changed it and someone was instead expecting precision. Short of becoming a strict language like C# where it would instead simply fail to compile, that isn't really avoidable.

And this is clearly wrong and it's also wrong because it works differently in C#. I would think that PowerShell is .Net and behaves the same way like C# so different behavior is just wrong for me imho.

In C# it just fails to compile, the example you had was double * int. See this SharpLab.io example.

I know. And I expect that to happen in PowerShell as well.
I would know much faster to use long or int or double or cast it if necessary.

@Tragen, it was never PowerShell's goal to be C#-compatible, and it intentionally deviates from C# in several ways, notably with respect to PowerShell's very flexible implicit type conversions:
Typically, these conversions are helpful and work as one would intuitively expect - pitfalls notwithstanding - and are a better fit for a "looser" shell scripting language vs. a compiled language such as C#.
In the context of PowerShell's existing behavior with integer type operands - coercion to [double] when an operand of that type is involved - I would have expected [bigint] to be treated the same way: it would make for consistent behavior in a PowerShell context.
As @SeeminglyScience points out, the behavior of unexpectedly forcing [double] operands to [bigint] - an inconsistency in the realm of PowerShell - goes back to Windows PowerShell, which would make changing the behavior a more serious breaking change than I originally thought.
Yet, breaking changes are still acceptable if they fall into bucket 3: a breaking change considered to be beneficial while deemed to be unlikely to impact existing code.
However, determining whether something falls into bucket 3 would require extensive analysis of real-world scripts.

@SeeminglyScience

more worried about loss of precision than hitting an actual limit.

While I can appreciate that perspective, note that loss of precision has always been and continues to be an ever-present danger in PowerShell, due to the implicit widening to [double] that occurs whenever an integer operand exceeds the range of [int] (System.Int32):
([int]::MaxValue + 1).GetType().Name # !! 'Double'

To give a concrete example of how loss of precision can occur in practice:
# !! -> $false, because [long]::MaxValue + 2 is coerced to [double], resulting in loss of precision
# !! The equivalent operation is the following - note the difference in the last digit.
# !!<PHONE_NUMBER>854775809ul -eq<PHONE_NUMBER>854775808ul
9223372036854775807ul + 2 -eq [ulong] ([long]::MaxValue + 2)

By contrast, number literals  more helpfully widen their types from [int] -> [long] -> [decimal] -> [double].
Suggesting that [decimal] transition to [bigint] instead is the subject of:

#13212.

@Tragen, let me attempt a pragmatic summary (speaking in no official capacity whatsoever):

It isn't PowerShell's goal to be consistent with C# - that won't change.

The WG decision is justifiable, especially from a backward-compatibility perspective.

The documentation should be amended to describe the existing [bigint] behavior; I've created an issue to bring that about:

https://github.com/MicrosoftDocs/PowerShell-Docs/issues/11004

I don't think that a strict-mode warning will be implemented; the next best thing (though not equivalent) is to get a design-time warning, via implementation of a PSSA rule, which notably would be surfaced via the PowerShell extension in Visual Studio Code.

If you feel strongly enough about this, I encourage you to open a new-rule feature request at https://github.com/PowerShell/PSScriptAnalyzer/issues/new/choose


Waifu2X support included + Code optimization

Added Comments: Added meaningful comments throughout the codebase to improve code readability and make it easier for other developers to understand the logic behind each section.

Fixed Variable Types: Corrected variable types where needed to ensure better type safety and prevent potential issues related to data type inconsistencies.

Updated UI & Settings: Made necessary updates to the user interface and settings to enhance the user experience and provide a more intuitive interface for interacting with Waifu2X.

Added Support for Waifu2X-Caffe: Incorporated support for Waifu2X-Caffe, allowing users to utilize this feature and take advantage of its capabilities.

Simple Fix: Addressed a specific issue with a simple fix to ensure smooth functionality.

Code Optimization: Optimized the codebase to improve performance and overall efficiency, resulting in faster execution times and reduced resource consumption.

I would like you to approve this request, because many people do not know how to use the Post Process. However, this will not change the load of the application if this function is not used, and it will become more convenient for many people.
I have enabled support Waifu2x-Caffe And Waifu2x-Vulkan
I also added more comments, which also do not load the system, but help beginners navigate the code faster to help in its development.

Only GUI


Change the "Git Clone" processor to do a shallow clone

Cloning a repository in a pipeline can take quite some time for bigger projects. Currently, there has been only one reason to clone a repository: to use one of the files in that repository. Using historical data hasn't come up yet, so we can significantly improve the clone speed by doing a shallow clone instead.
In the future, we might want to make this an option, but I don't think that's warranted right now.
see: https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt

Unfortunately, the libgit2 library (which the git2 crate uses) does not support shallow repositories.
I did do some testing locally, and performance differences are pretty significant, so it's still worth pursuing this.
Since we only really care about cloning, we should probably switch this processor to do a shell-out instead.
We need to take care of the following changes:

Extend the Error to tell the user if the git binary is unavailable.
Manually configure credentials if provided.
Shell out to perform a git clone --depth 1 ... using the correct repository and subpath to clone to.

Additionally, in the future we could also add support for git clone --filter so you can define exactly what files/paths in the repository you want to clone.
This feature is fairly new, and is not yet supported by most hosted Git servers (such as GitHub). It does work for local repositories though, so it could be possible for someone using Automaat to have a separate system that keeps a local copy of a big repository up-to-date in a local location, and then configure Automaat to clone from that local path, including the --filter option.

I'm going to close this issue. I'd still like to support shallow cloning, but not at the cost of having to do a shell-out in this processor.
If you need this, you can implement some logic in your own instance to have shallow-cloned local copies close to the server by using something like this:

#!/bin/sh
set -e

while true; do
	for repo in $LOCAL_REPOSITORIES_LIST; do
		location="/repositories/$repo"
		tmp="/tmp$location"

        # create a new fresh clone of the remote
        git clone --depth 1 --single-branch<EMAIL_ADDRESS>"$tmp"
        cd "$tmp" &&
            rm -rf .git &&
            git init . &&
            git add . &&
            git -c user.name='automaat' -c<EMAIL_ADDRESS>commit -m 'squash'

        # swap the current repository (if any) for the new one
        mkdir -p "$location" && rm -rf "$location" && mv "$tmp" "$location"
	done

	sleep 60
done

Running this in the background next to your server allows you to reference any repositories you added to LOCAL_REPOSITORIES_LIST by pointing the Git Clone processor url configuration to file:///repositories/my/repo.


Feature: active_time_interval

What did you do?
I Have to teams one  is dev and other is monitoring.
and I create a holidays time interval.
I can create a route were the devs receives alerts with mute times: holidays time intervals.
Now the feature I think is could we route to this monitoring team if the dev didn't received due mute_time interval?
I think one option is to have an active_time_interval where we can pass the holiday time interval.
What did you expect to see?
I expect to be able to have a team that have mute time intervals and only if that team is muted, send to a second team
implement active_time_interval:
route:
-devs
mute_time_intervals complicated_holidays_interval

montoring
active_time_interval: complicated_holidays_interval

What did you see instead? Under which circumstances?
I see that mute_time_interval don't allow me to setup another team that is only active when the other team is mute.
Environment

Alertmanager version:
insert output of alertmanager --version here (repeat for each alertmanager
version in your cluster, if relevant to the issue)

Prometheus version:
alertmanager, version 0.23.0 (branch: HEAD, revision: 61046b17771a57cfd4c4a51be370ab930a4d7d54)
build user:       root@114a4b3de710
build date:       20210825-10:48:44
go version:       go1.16.7

Alertmanager configuration file:

mute_time_intervals:

name: offhours
time_intervals:
Monday to Friday 5pm - 9:00 in UTC

weekdays: ['monday:friday']
times:

start_time: '00:00'
end_time: '13:00'
start_time: '21:00'
end_time: '24:00'

weekdays: ['saturday', 'sunday']
months: ['december']
days_of_month: ['24']
months: ['december']
days_of_month: ['25:31']
months: ['january']
days_of_month: ['1:2']
...
more times specific by year.

I will prepare with a different approach and a PR.


DisableIfHasHelmet not working bug

I'm using 1.18.2 papermc and the current comparison to determine if armorstands are wearing a helmet doesn't work. I recommend changing it to armorstand.getEquipment().getHelmet().getType() != Material.AIR for later versions of mc.

Alternatively, I'd prefer if this check instead ignores all armorstands that have an item in any slot.

Hi @kaxon-dev,
thanks again for the report... I fixed the problem
https://github.com/xSavior-of-God/ArmorStand-Limiter/blob/e298b2bb4c1140fafc935f313ceaf25bace7f8cb/src/main/java/com/xSavior_of_God/ArmorStandLimiter/Utilis.java#L96-L97
If you want to try it, download the latest artifact from here:
https://github.com/xSavior-of-God/ArmorStand-Limiter/actions/runs/2039578323


How about compile-time SQL generation?

Very easy to use crate, thanks for that!
it seems everytime I call execute, it creates a SQL query string in runtime with push_str functions:
pub async fn execute(self, db: &Surreal<impl Connection>) -> Result<Response, QueryError> {

        let mut query = String::from("SELECT");

        if self.fields.0.contains(&"*".to_string()) {
            query.push_str(" *")
        } else {
            let fields_str = self.fields.0.join(",");

            query.push_str(&format!(" {}", fields_str))
        }

        if self.id.is_some() {
            query.push_str(" FROM type::thing($tb, $id)")
        } else {
            query.push_str(" FROM type::table($tb)");
        }

        if !self.filters.is_empty() {
            query.push_str(" WHERE");

            for filter in &self.filters {
                query.push_str(&format!(" {}", filter.to_string()))
            }
        }

        //... goes on

How about achieving this with macros and generate SQL query in compile-time and just fill the variables(if exist) in runtime with format!()?
Example, run-time version:
let query = Query::new().from("test", None).field("test").execute(&db).await.unwrap();

compile-time version
let var1 = 10;
let field1 = "runtimefield1";
let var2 = 20;

// macro syntax is just an example, not the main point
let query = sql!(
    table: "test",
    fields: "{field1}, field2",
    filters: "field1 = {var1} and field2 < {var2}",
    limit: 10
);
// this generates a SQL query string inside a format! macro:
//   format!(
//        "SELECT {field1}, field2 FROM test WHERE field1={var1}, field2={var2} LIMIT 10",
//        field1 = field1,
//        var1 = var1,
//        var2 = var2
//    );

// Send the sql to the database
db.query(query).await.unwrap();

But to be sure, these two approach must be benchmarked. I don't know if the cost of format!() can pass or not the ifs and  push_str()s approach. In theory it should be more performant.
Also if there are no {} dynamic fields in sql!() macro, then it can directly become a &'static str for queries like "SELECT * FROM person"

Using format! for a query is like asking for vulnerabilities in your application.

Closing this issue the way the query builder is made/used has changed
Changed to a better way waiting for the full release of beta.11 for now


Bring wasm-strip back into the container image

It looks like the carton image (and hence the swift-action one, which is derived from it), doesn't have the wasm-strip binary anymore.
This PR brings back the binary into the image. While doing that, it also installs the different WebAssembly tools from Ubuntu repositories.

@flavio Sorry for the delayed review. Would mind clarifying how you're going to use wasm-strip? We've recently added a transformer pass to carton, which strips debug symbols, so wasm-strip is no longer needed for that. Having it in our scripts only makes installation and CI scripts run for longer time with no added benefit?

I have a WASI application that I'm compiling using the swiftwasm-action.
This GitHub action image is based on the carton one, that's why I made the PR to bring back wasm-strip.
The main reason is: I can't use carton to build my app, and I still need to strip the Wasm file before I run wasm-opt against it.
Would you prefer the PR to be made against https://github.com/swiftwasm/swiftwasm-action/blob/main/Dockerfile

Yes please, the swiftwasm-action repository would be more appropriate for this. Thanks!

@MaxDesiatov thanks for the guidance. I'm closing this PR in favor of https://github.com/swiftwasm/swiftwasm-action/pull/2


Is the project dead?

Is the project dead?
I've started removing this extension from my projects as it's unusable with the latest version of material design

The project isn't dead. It's missing development power at the moment to keep up with all breaking changes. Additionally, I personally like to wait for final releases, because I don't like to adapt APIs that may not be stable.


Switch to using BasePrimitiveJob for v2 primitives

What is the expected feature or enhancement?
V2 primitives run() method now returns an instance of BasePrimitiveJob, which does not inherit from JobV1. RuntimeJob needs to be updated to inherit this (plus JobV1 to support backend.run still, if the same class is used).
Acceptance criteria

Fixed by #1450


using submodules for local setup

PR Checklist

[x ] Leverages formatting as provided by https://squidfunk.github.io/mkdocs-material/reference/abbreviations/
[x ] Have viewed and verified edits in rendered form ensuring proper formatting

What are you changing?

updated to use submodules for repos
Anything the reviewer should know when reviewing this PR?

@kimberlyxdavis @bwendlandt-intel What do ya'll thinking about collapsing install RPS and install MPS to the same doc? I think it simplifies things and avoid confusion.

@kimberlyxdavis @bwendlandt-intel What do ya'll thinking about collapsing install RPS and install MPS to the same doc? I think it simplifies things and avoid confusion.

Quick Nitpick on Naming: I'll leave it to Kimberly to work out which is the best title for the sections.  Just a reminder that the legal-approved name is 'Open AMT Cloud Toolkit'. Two words, not one (OpenAMT vs Open AMT).  I'd also argue that we are alright on using the abbreviated version since the long version is seen in the site header, introduced on the home page, and used in the current pages diagram.
Thoughts on MPS/RPS merge: I'm a bit more hesitant to merge MPS/RPS steps for the local flow unless there is some possible simplification that you guys can do around reducing the .mpsrc and app.config.js config steps.  We initially had them placed together, but through DX people struggled to identify what MPS vs RPS did when questioned later in the flow.  My concern is that the brief, but reasonable RPS intro and arch diagram become too easy to ignore after scrolling through the large snippets for MPS config steps. Thoughts?

Quick Nitpick on Naming: I'll leave it to Kimberly to work out which is the best title for the sections.  Just a reminder that the legal-approved name is 'Open AMT Cloud Toolkit'. Two words, not one (OpenAMT vs Open AMT).  I'd also argue that we are alright on using the abbreviated version since the long version is seen in the site header, introduced on the home page, and used in the current pages diagram.
Thoughts on MPS/RPS merge: I'm a bit more hesitant to merge MPS/RPS steps for the local flow unless there is some possible simplification that you guys can do around reducing the .mpsrc and app.config.js config steps.  We initially had them placed together, but through DX people struggled to identify what MPS vs RPS did when questioned later in the flow.  My concern is that the brief, but reasonable RPS intro and arch diagram become too easy to ignore after scrolling through the large snippets for MPS config steps. Thoughts?

"That repo has git submodules that reference the other repos.. when the recursive flag is used, it also checks out mps, rps, docs, sample-web-ui, and ui-toolkit.. that way the developer doesn’t have to checkout each repo manually and it also preserves the folder structure."

For the GSG flow now, we should be able to remove the subsequent clone commands after the initial one in the MPS. We might want to clarify language that they are cloning the whole toolkit rather than just MPS, which I think is what Brian was trying to do as part of this PR. In the RPS/RPC sections, we only need to make sure steps are there to help people navigate to the correct directory rather than clone again. Does that clarify things?

"That repo has git submodules that reference the other repos.. when the recursive flag is used, it also checks out mps, rps, docs, sample-web-ui, and ui-toolkit.. that way the developer doesn’t have to checkout each repo manually and it also preserves the folder structure."

For the GSG flow now, we should be able to remove the subsequent clone commands after the initial one in the MPS. We might want to clarify language that they are cloning the whole toolkit rather than just MPS, which I think is what Brian was trying to do as part of this PR. In the RPS/RPC sections, we only need to make sure steps are there to help people navigate to the correct directory rather than clone again. Does that clarify things?

I'm starting to see the need for a quick start -- a doc that has a single page that gets everything up and running. Which then can lead to the microservices and the role each one has. I'm really trying to get us to a 1-2-3 GO! scenario for the 1.1 release that doesn't have 5-7 pages of intro/documentation. What do ya think of that?

I'm starting to see the need for a quick start -- a doc that has a single page that gets everything up and running. Which then can lead to the microservices and the role each one has. I'm really trying to get us to a 1-2-3 GO! scenario for the 1.1 release that doesn't have 5-7 pages of intro/documentation. What do ya think of that?

thank you for reviewing!

thank you for reviewing!

@brianosburn-intel please amend your commit message to follow conventional commits so we can merge this.

@brianosburn-intel please amend your commit message to follow conventional commits so we can merge this.


Only a single registry endpoint is supported

https://github.com/quobyte/quobyte-deploy/blob/master/kubernetes/client-ds.yaml#L24
does not work when specifying multiple registries.

Are these registries running out-side of Kubernetes?
The main idea here is that you specify the Quobyte registry service name (from kubernetes) e.q. registry and the this step resolves all pod IP's behind the service name/IP. I hope this helped you a little bit further.
Probably we could improve the documentation there.

Hi Johannes,
I think it would be helpful if we can also make it work with Quobyte running outside of k8s. Especially when testing people run into the problem that they don't have an SRV record configured. We could check for commas in the QUOBYTE_REGISTRY parameter and not do the address resolution if it contains commas?

This has been FIXED not closed, i used the wrong Github tag (sry for that).


Update troubleshooting docs to include params into --dry-run

@JoeyZwicker is this still needed?  What is the use case?

there are a number of workflows where users need to generate the manifest using dry run to troubleshoot and make sure things are getting set correctly. I think the impetus was document that somewhere. Not super important

I believe this needs to be done as part of #1226 , but people do seem to have uses for --dry-run beyond just deploying from a private registry
Omer Katz and Homme discussed this recently in slack: https://pachyderm-users.slack.com/archives/C3UN0S0Q0/p1508146446000362

related: #1833


Add MaxHeadersTotalLength parameter

Failure state: 431 Request Header Fields Too Large (ngnix returns 400 Bad Request)
"The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." RFC 6585
http.sys default MaxRequestBytes 16384
ngnix default large_client_header_buffers 4 * 8k = 32768
apache.tomcat default maxHttpHeaderSize 8192
Will currently be enforced by reverse proxy config (e.g. IIS/nginx) when deployed in recommended configuration - but not in pure Kestrel deployment.

See https://github.com/aspnet/KestrelHttpServer/issues/479#issuecomment-164325646

Question on whether not having a max url/start length (beyond total header size) would have any upstream issues?
Guessing it wouldn't have a great impact beyond anything else (like lots of headers)

Probably simpler code wise if there was only one param.

@blowdart ?

Work for me. We used to have this with IIS and UrlScan

@blowdart Is this required for RC2/RTM?   Or can we punt it to post RTM?

Yes

post-RC2

@muratg Moving to 1.0.0 and assigning to myself.

So do we want just a single parameter to limit request line + header length? No checking request line length individually and individual header lengths?
Ping @Tratcher @halter73 @blowdart @davidfowl

No, we want all the things.

So, rounding up the specific things we want:

Request line length
Request target length (I know @Tratcher would like this to be part of the previous one)
Request query length? I'd rather have it as part of target length.
Max single header length
Max total headers length
Max header count

What do you guys think?

There's a lot of overlap and a lot of knobs here. I think we only need:

Request line length
Max total headers length
Max header count

@cesarbs Before starting to work on it, can we have a table of the knobs, and default values in a table to review?
cc @davidfowl

I like @Tratcher's list, keeps things simple. Plus we risk regressing perfs if we're doing too many checks all over the request line/headers processing.
Here's a proposed list of limits, default and response status codes when limits are exceeded:

Limit
Default
Status code

Request line
16K
414 ("Request URI Too Long", but realistically that's 99% of legit cases where the request line would be rejected based on length limit)

Headers length
Default 16K
431

Header count
Default 64
431

Is the 16K "Headers length" limit per header meaning there would be a total limit of 1MB for all headers? Would we indicate to the client which type of header limit it ran into?

@halter73 No, not per header. It would be a length limit on all headers collectively.

Would be nice to add table columns showing the behavior of other servers, particularly IIS.

Would be nice to add table columns showing the behavior of other servers, particularly IIS.

@cesarbs numbers should be in all the closed linked bugs at top


Gamepad support

I'm not sure if I followed the existing style of the codebase exactly, but I'd recommend using https://prettier.io/ so no one has to think about it.

This is super cool, thank you! I will test this properly when I get some time.
I intent for this codebase (and jsnes) to conform to prettier, so feel free to run your code and any of mine over it. :)


Error if you hit submit on crop tool without making a selection.

It's not obvious from the UI that I'm supposed to make a selection on the image of the pdf that appears after I select a file. If I hit "Submit" because I don't know what I'm supposed to do, I get this error, which doesn't help me know what I am supposed to do:

After some trial and error, I figured out that I need to make a selection first.

This looks like it could be the missing repro for #1206.


Wrong Price in items explorer

What happened?
DOT price and usd price are not matched in shopping cart and in confirm purchase modal
USD price is 100X lower then it should be
Please reproduce in steps
1.go here:
/ahp/gallery/0-18
add it to shopping cart
USD price should be 100X more (in shopping cart)

go to any item in ahp explore
/ahp/explore/items?listed=true

click ' buy now"
USD price in the confirm purchase modal should be 100X more
Expected Behavior
matching price
What browsers are you seeing the problem on?
No response
At which address did you encounter bug?
No response
Are you logged in?
None
Which wallet you are using?
No response
At which chain did you encounter bug?
No response
Screenshots

Relevant log output
No response
Payment link for reward
https://kodadot.xyz/ksm/transfer/?target=<My_Kusama_Address_check_https://github.com/kodadot/nft-gallery/blob/main/CONTRIBUTING.md#creating-your-ksm-address>
Code of Conduct

[X] I agree to follow this project's Code of Conduct

related to https://github.com/kodadot/nft-gallery/issues/6943


Getting started friction log

Here's my stream of consciousness as I got started. Feel free to break it up into other issues, close because I'm a n00b, whatever :)
Hardware
I wasn't sure which device should get male headers or female
I looked at pictures on adafruit's site and both versions exist
I reasoned that I want to be able to read the oled display, so i put female headers on the esp8266 board
Consider adding a picture of the assembled hardware
Push sample
Started at 2:15 pm
Started from here - https://github.com/googlesamples/firebase-arduino
Didn't have ESP8266 set up, so went here - https://github.com/esp8266/Arduino#using-git-version-
Followed instructions
Opened push sample
Removed auth() call and pointed it to mimming.firebaseio-demo.com. I'll use a demo firebase and unauthenticated pushes
Tried to compile push sample, saw error
In file included from FirebasePush_ESP8266.ino:20:0:
/arduino-sketchbook/libraries/firebase-arduino/Firebase.h:24:25: fatal error: ESP8266WiFi.h: No such file or directory
 #include <ESP8266WiFi.h>
                         ^
compilation terminated.
Error compiling.

I suspect my ESP8266 installation is bunk
Find reveals that the library is in the sketchbook/hardware/esp8266com/…
$  find ./ | grep ESP8266WiFi.h
.//esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.h
Maybe it's because my Arduino SDK is out of date. It's 1.6.4. Time to update to 1.6.7
Time to try to build again
Not sure which board I have or stuff so I guessed (it'd help if you gave advice hewre)
Looks like it worked
Now… I have no idea what that sample is supposed to do.
It'd help if the readme described what it should do or had a picture or something
It's not doing anything
Oh it looks like wifi config is not set
It'd help if the readme gave step by step about everything that i need to change (so far firebase name, auth token, and wifi info)
Set SSID to MyOpenWifiNetwork
Not working yet  - wifi connect
Nothing in Firebase
Oh the code writes to serial. I'll look there next
I see that it's not connecting
(IT'd help if we had sample output on the docs)
Looks like it's having trouble connecting to GoogleGuest :(
Went to Google for help on wifi.connect - https://www.arduino.cc/en/Reference/WiFiConfig
Looks like I was running the function wrong. I thought it was taking "parameter name", "value"  turns out it was "SSID", "Password" :
Building again
3:00pm (45 min in)
It connects now! Yay!  But new problem
connecting........
connected: <IP_ADDRESS>
Firebase request failed
POST /logs.json: connection refused
0�~?�4�!�{�OAa�connecting......
connected: <IP_ADDRESS>
Firebase request failed
POST /logs.json: connection refused
0�~?�4�!�{�OAa�connecting....
connected: <IP_ADDRESS>
Firebase request failed
POST /logs.json: connection refused

Maybe it does not work on demo firebases?

Opened up the other sample, the stream one.
Attempted to compile
FirebaseStream_ESP8266/FirebaseStream_ESP8266.ino:22:30: fatal error: Adafruit_SSD1306.h: No such file or directory
 #include <Adafruit_SSD1306.h>
                              ^
compilation terminated.
exit status 1
Error compiling.

:(
Went to library manager, and installed it
It'd be cool to call out that dependency on the readme?
Yay it compiles!
But I'm getting gibberish on the serial :(  And the OLED isn't pretty :(
It prints a gibberish every 500ms, so I think it's trying to say connect
I added     Serial.print("hello"); before the display inits.  It looks like starting up the display is what distorts the serial
Moved the display init to bottom of setup
Still goes gibberish once the oled's begin is called
Commenting out all of the display code. I want to verify the firebase part works (just display data on serial)
Flashing again
I can see data on serial! Yay
data: {"path":"/_updated","data":"Tue Jan 26 2016 23:24:16 GMT+0000 (UTC)"}
event: 1
data: {"path":"/last","data":"389.82"}
event: 1
data: {"path":"/bid","data":"389.76"}
event: 1
data: {"path":"/ask","data":"389.96"}

Now to figure out what's up with the OLED
Taking a step back to verify the oled display works.  I'll go through - https://learn.adafruit.com/digital-display-badge
Saw in this code that OLED_RESET should probalby be 3 (since it's same PCB)
https://learn.adafruit.com/digital-display-badge/code
Chagned OLED_RESET from 10 to 3
Flashed
Yay it's fixed
Now I want to get it to work with some LEDs, maybe APA102s?  It worked really easy until I burned up my level shifter :D

Will file lots of issue based on your comments. Thanks a lot for taking the time to log this.
I few comments:

Maybe it does not work on demo firebases?

Yes, because they use a difference cert fingerprint, will should probably grew for -demo or allow to override the default fingerprint in the firebase constructor.

I believe we have bug for all the items described there. So let's close this report (feel free to open new issue for anything I missed).


Update Node versions in the docs

Instead of specifying both node.js and io.js, just say "node.js 0.10.x or above" now that node.js and io.js have merged.

The official name is actually Node.js, not node.js; would you mind reverting those changes and fixing the other changed descriptions where it was previously incorrect?

The official name is actually Node.js, not node.js

I knew I should have double-checked :grin:.  Fixed!

:ship:


Create a new branch feature/head

Create a new branch named feature/head based on the develop branch.

Done


[dotnet/dnceng] Replace Microsoft.Azure.Services.AppAuthentication with Azure.Identity

Split from https://github.com/dotnet/dnceng/issues/630

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[x] Internal Infrastructure Improvements

Release Note Description
No release notes necessary

Rolled out, closing.


Custom Filter column/grid Not Found

I'm trying to create a custom filter on a date column. I am getting an error that grid is not defined. It appears column is not defined either.
Here is the JS:
var CustomDateFilter = (function (base) {
    MvcGridExtends(CustomDateFilter, base);

    function CustomDateFilter(column) {
        base.call(this, column);

        this.methods = ['equals', 'earlier-than-or-equal', 'later-than-or-equal'];
        column.grid.lang.custom = { equals: 'TEST' };
    }

    return CustomDateFilter;
})(MvcGridDateFilter);

$('.mvc-grid').mvcgrid({
    filters: {
        'date': new CustomDateFilter
    }
});

Thanks in advance for your help.

Grid not found is most likely a sign that you have non grid html in your ajax grid partial.
If it's not the case you can put a breakpoint on that line and see why it happens.
Also it appears that you are mixing code from two different mvc grid versions.
Make sure you are using the same major or exact version as in examples or checkout older version.

Thanks, I was able to get this figured out. I didn't realize the nuget package had been updated and not the views/js.


Look into Silicon plug or equal to refill by the orginal filling ports

There has been a lot of inkjet cartridge refill over the years.
On inkjets you have the refill/factory fill port on the other side of the cartridge to the outlet normally.    From what I have see of videos/photo of the bob cassette  the two factory filling ports that are now fully plugged are in fact on the other side of the cartridge to the one way membrane and the electronics right out on the corners well away from the electronics.    I know its kind of scary to have to drill 2 holes to put in refill port plugs.   Yes from what I can see of the bob cassette when sitting in the machine the original filling ports will be up so leakage if plugs are not perfect is highly unlikely if they are converted by drilling into refill ports with silicon plugs inserted.
https://www.aliexpress.com/i/32841417076.html
Yes the refill port plugs for inkjet cartridges are mass made.   Yes its possible that if you have a inkjet refill store near that they would do the fitting of the plugs into a bob cassette.   Not like its going to need different drilling set up.  Just they will need to know where on the cassette are the valid locations to put the two holes and unless the cartridge has changed since the photos I can see the locations are really clearly marked as they did not even bother colour matching the closing ports plastic.
Other thing you will find is a cartridge will most likely have a max refill count before some part of it comes a risk to crack or other wise fail.    This is why its important to use refill ports and the like in attempts to make this as many cycles as possible.   Yes the refilling ports are likely to have a stronger band of plastic around it so when filling in the factory if the machine was a little off don't have a breakage.
The cassettes are similar to inkjet cartridges<<  Yes the i2c DRM on these cassettes are the same as early drm inkjet cartridge.   Some early inkjet cartridges also do use the one way membrane before changing to foam.    So these cassettes are very much early drm inkjet cartridges just filled with dish-washing chemicals.    To be correct inkjet cartridges where the tanks are split from the printer head.  Yes the filling ports of the factory also being really simple to spot is another thing of historic thing of early inkjet cartridges latter generations of inkjet cartridges where they started getting smart with their chips and hiding the correct refill ports.
This could turn into a wacky side job for a shop that does inkjet refills making bob cassettes properly refillable.

Hi everyone !
I also have a Bob dishwasher (in France ;) ), and I'm not very fond of poking through the silicone plug with a syringe.
I looked at my Bob cassette, and the silicone plugs can be easly removed with fingers (and maybe with gloves for safety) :

So I guess you do not need to use specific silicone plug to do what you want
I also found 2 other ports (maybe original refill ports ?), but I broke my nail trying to open one of them :) :

Nicely spotted, I didn't realise that the one-way membrane can be taken off. This certainly makes refilling the cassette easier, although I feel that the same part probably won’t survive many times of removal and insertion, so keeping it in place might make the cassette last longer.
Just a side note, in your photo, it seems that you put the detergent (yellow) in the left tank and rinse aid (blue) in the right, I think it's supposed to be the other way round, or maybe the colour of your detergents is just different? 🤔

It's very easy to remove the silicone membrane. I don't think removing it hurts the membrane very much.
But you are probably true. This membrane can't last forever. but I think it can last at least 20 or more refilings.
It's an unmodified Bob cassette, so 2 possibilities:

They use differents detergents
They mixed things up...

Side note:
After each wash, the detergent left white stains everywhere in Bob. Do you have the same thing ?
If no, it can be caused by the Bob cassette if detergent and rinse aid are switched

I just tried taking the memberine offI just tried taking the membrane off, it was pretty easy, but I did have to use a pair of pilers to get a better grip. Taking it on and off does seen to put a lot of stress on it though, so I still feel that it won’t last as long compared to “needle poking through membrane” method. The dishwasher itself has hoses poking though it, and they are much bigger.
I looked at a brand new unmodified cassette and drew out some liquid with a syringe. It was indeed a thick blue gel on the left tank, and a clear liquid detergent on right. You can even see the blue colour through the memberine. Not sure why your cassette is the other way 😅 maybe check the others if you have more.

As for the water stains, I have some on my lid too after a wash, I think it’s just from hard water.

I just tried taking the membrane off, it was pretty easy, but I did use a pair of pilers to get a better grip. Taking it on and off does seen to put a lot of stress on it though, so I still feel that it won’t last as long compared to “needle poking through membrane” method. The dishwasher itself has hoses poking though it, so it should handle a much smaller needle.

I will try both methods when I will have to refil my cassette (I ordered your "rewinder" ;) ). I don't have a syringe yet to "evaluate" the stress it can cause.

I looked at a brand new unmodified cassette and drew out some liquid with a syringe. It was indeed a thick blue gel in the left tank, and a clear liquid detergent in right. You can even see the blue colour through the memberine. Not sure why your cassette is the other way 😅 maybe check the others if you have more.

I only have one cassette. I will send a little mail to Daan to be sure :)

As for the water stains, I have some on my lid too after a wash, I think it’s just from hard water.

You are probably right, I have a quite hard water here (588 µS/cm)