PutTileAt sid wrong if layer does not use all tilesets

Version

Phaser Version: v3.60.0 Beta 3

Operating system: Windows 10

Browser: Chrome

Description

I am using a tilemap JSON file from Tiled with three embedded tilesets ("tileset1", "tileset2", "tileset3"). I have defined a new tile layer in Tiled "MyNewLayer" and recreated it in my game with:
map.createLayer(
      "MyNewLayer",
      [tileset3],
      0,
      0
    );

If I use map.putTileAt(tileGid, x, y, false, myNewLayer) the following error is thrown:
TypeError: Cannot read properties of undefined (reading 'tileWidth')
The issue is caused by var sid = tiles[index][2]; in PutTileAt.js. This tileset id is wrong if not all tilesets have been added to the layer. In my case Phaser assumes the sid is "2" when it should actually be "0".
So if I change my code accordingly, the error disappears:
map.createLayer(
      "MyNewLayer",
      [tileset1, tileset2, tileset3],
      0,
      0
    );

It is probably not the intention to require that all tilesets have to be added to all layers, so I think this is a bug.

What is your putTileAt() code exactly?

Hi @samme,
I have now created a repository with a minimal example: https://github.com/christianvoigt/phaser-issue-5931
The example is using a tiled tilemap from this tutorial. I have simply added two additional tilesets and an additional empty layer to the tiled file.
After installing all packages with npm install, use npm run watch to start the example. If you open the console in the project's browser window, you should see the error Uncaught TypeError: Cannot read properties of undefined (reading 'tileWidth').
Here is the code of the example:
import "phaser";

export default class Demo extends Phaser.Scene {
  constructor() {
    super("demo");
  }

  preload() {
    this.load.image("tiles2", "assets/tilesets/debug.png");
    this.load.tilemapTiledJSON("map", "assets/tilemaps/tuxemon-town.json");
  }

  create() {
    const map = this.make.tilemap({ key: "map" });
    const tileset2 = map.addTilesetImage("debug", "tiles2");
    const myNewLayer = map.createLayer("MyNewLayer", [tileset2], 0, 0);
    const tileGid = tileset2.firstgid;
    map.putTileAt(tileGid, 5, 5, false, myNewLayer);
  }
}

const config = {
  type: Phaser.AUTO,
  backgroundColor: "#125555",
  width: 800,
  height: 600,
  scene: Demo,
};

const game = new Phaser.Game(config);

I ran in to this as well and meant to open a PR, but instead just made a TODO in my code and as a workaround added each tileset to every layer so that sid are correct.
@christianvoigt I'll probably still open a quick PR for it if you aren't already

@fielding great, go ahead, I'm currently not working on the project where I use this.

I can't seem to get this working even with adding each tileset to every tilemap layer. :/

Any progress here? The same issue comes up if you create multiple tilesets and multiple layers. One of most frustrating Phaser tasks yet have been creating a tilemap NOT using Tiled...
the GID system is very unclear. It seems as if every added tileset stacks it's tiles/frames on top of the other, so if you add 3 tilesets of 50 frames each, tileset 1 will use frames 0-49, 2 will use 50-99, and 3 will use 100-149. I had this working briefly, just having to tell each tileset with it's first gid is:
const tileset3 = map.addTilesetImage('imgTileset3', undefined, undefined, undefined, 0, 0, 100);
then using it in the layer:
const layer3 = map.createBlankLayer("Layer3", tileset3);
layer3 ?.putTilesAt(2Darray-of-Indecies-100-149], 0, 0, false);

I recently had to introduce a 4th layer before the other 3, so I adjusted all the numbers, but no dice, constant error at the same place, when putTileAt() is used internally from calling putTilesAt().

This may be #6474 .
GIDs are "global" because they're unique within the tilemap (not a tileset). You assign GIDs with the gid argument in addTilesetImage(). You can make GIDs contiguous or not; as long as they don't overlap it's fine.

Yah I noted all of that, and it more-or-less would be fine on it's own, but causes this error when a particular layer is assigned not-all tilesets, hence having to assign all tilesets to all layers, making any assignment effectively meaningless.
I noticed while debugging with 4 tilesets and 4 layers, that if I assigned tilesets indexed 1 & 2 to layer 0,
map.createBlankLayer("Layer0", [tileset1, tileset2]);
and if I tried to putTile() from tileset 2, it would retrieve the "global" sid of 2, but try to use that to reference the "local" array that was passed in, now having indices 0 and 1. Thus, the error.
So it seems that you need to include at least every tileset from the start:
map.createBlankLayer("Layer anything up to index 2", [tileset0, tileset1, tileset2]);
map.createBlankLayer("Layer anything up to index 3", [tileset0, tileset1, tileset2, tileset3]);
etc.

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

@photonstorm
Hi.
I try this example https://labs.phaser.io/edit.html?src=src\tilemap\base%20tile%20size.js ( \tilemap\base tile size)
In console log I see:  Phaser v3.61.0-beta.1
In example I tried to use this code
layer.putTileAt(1,2,2);  ( just for example )
After this  line 26:
layer.randomize(0, 0, map.width, map.height, [ 0, 1, 2, 3, 4, 5, 6, 7 ]);
But in console I got error message:
Uncaught TypeError: layer.tilemaplayer is undefined
    PutTileAt https://labs.phaser.io/build/3.61.0-beta.1.js:223626
    putTileAt https://labs.phaser.io/build/3.61.0-beta.1.js:219734
    create https://labs.phaser.io/frame.html line 75 > eval:28
    create https://labs.phaser.io/build/3.61.0-beta.1.js:193457
    loadComplete https://labs.phaser.io/build/3.61.0-beta.1.js:193364
    emit https://labs.phaser.io/build/3.61.0-beta.1.js:200
    loadComplete https://labs.phaser.io/build/3.61.0-beta.1.js:118333
    fileProcessComplete https://labs.phaser.io/build/3.61.0-beta.1.js:118299
    onProcessComplete https://labs.phaser.io/build/3.61.0-beta.1.js:117098
    onload https://labs.phaser.io/build/3.61.0-beta.1.js:123375

@poodoff yeah someone told me on Discord, this is now fixed in main branch and will be in 3.61 Beta 2.


Gw 404 change organisations default sorting behaviour

What
Made the initial page view of Organisations (as super admin) sort the Orgs by Name in ascending alphabetic order instead of the previous sorting by creation date.
Also changed the sort order of the other columns so that they show the Orgs with the highest Ip count or most recently signed MOU etc. Thinking being that more recent is more interesting and bigger is better, so show those on first click.
Why
The initial sort order for the Organisations being based on creation date didn't make sense based on the usual use case when viewing organisations.

tidied this and created pr on another branch: https://github.com/alphagov/govwifi-admin/pull/1853


Doesn't seem to work in Mailable

Hello,
In an ordinary controller, this works fine, but when I call the exact same code in a Mailable class, it doesn't do the substitution, as:
$results = view(['template' => $body], ['unsubscribe' => 'click this link to unsubscribe']);
Any ideas?
Thanks

Hi, sorry just noticed the mail. Family medical emergency this week has the schedule all messed up.
I'm not sure it $result should be the generated template.  I'm assuming that you have confirmed the template contents is valid. Did you dd the $result and see what it creates?

Yes, I tried the exact line of code in a regular controller and it worked
fine.
The result had the template, but with the {{ $unsubscribe }} wasn't
interpolated.
It's nothing time-critical, take the time you need for the family
emergency. Family comes first. Thanks,
Brent
On Thu, Nov 10, 2016 at 6:57 PM, Terre Porter<EMAIL_ADDRESS>wrote:

Hi, sorry just noticed the mail. Family medical emergency this week has
the schedule all messed up.
I'm not sure it $result should be the generated template. I'm assuming
that you have confirmed the template contents is valid. Did you dd the
$result and see what it creates?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TerrePorter/StringBladeCompiler/issues/21#issuecomment-259843564,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADpAr4yysIpEXeeosNo3X30k_MtdZ13Sks5q869sgaJpZM4KuxVT
.

@ibrentlam Sorry it has taken me so long to get a chance to back to this. Did you get it figured out ?

Terre,
No, I haven't figured it out. Your help would be greatly appreciated, as
I'll be needing it in several other places.
Brent
On Wed, Dec 7, 2016 at 8:23 PM, Terre Porter<EMAIL_ADDRESS>wrote:

@ibrentlam https://github.com/ibrentlam Sorry it has taken me so long
to get a chance to back to this. Did you get it figured out ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/TerrePorter/StringBladeCompiler/issues/21#issuecomment-265625958,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADpAr5VWYbyWFM9xi8crm0CEz43K3pPrks5rF1v8gaJpZM4KuxVT
.

@ibrentlam The way they have the mailer set it checks for a string name of a view so it fails when trying to send a full stringview object or even an array.
However, I was able to get this to work.
/**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view(
            [
                'html' => ['template' => ' {{ $token }} html version'],
                'text' => ['template' => ' {{ $token }} plain version']
            ],
            [
               'token' => 'test 1 : '. time()
            ]
        );
    }

It should also work even if your not passing the template data as part of the view statement.
Give it a shot and let me know how it goes.

@ibrentlam just checking to see if that worked for you ?

Thanks,
Haven't gotten a chance to try it out. Hopefully will early next week. I'll
keep you posted, Thanks
brent
On Thu, Jan 5, 2017 at 8:38 AM, Terre Porter<EMAIL_ADDRESS>wrote:

@ibrentlam https://github.com/ibrentlam just checking to see if that
worked for you ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/TerrePorter/StringBladeCompiler/issues/21#issuecomment-270645814,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADpAr9lZPzu_ZzrZNNwIDonFwoRRHkaHks5rPPJigaJpZM4KuxVT
.

@TerrePorter I tried this and it works.
Offtop: Why are there still not released version 3.4?

@Dimsanchuk Glad it worked. I've released a version for 3.4. I was just behind in everything.

Thanks.


Sort numbers as numbers

I was testing this out and noticed that numbers sort as strings. I plugged into the sortValueForCell() function and ran any value pulled from the DOM directly through a conversion function that will convert string numbers to numbers using parseFloat().
I left the custom sort return values alone, assuming that anyone writing a custom sort doesn't want their results processed any more than they already did in the custom sort lambda.

I'm using the most recent release and this doesn't seem to sort numbers properly. Am I missing something? Maybe a class on the <th> element?


Problem: State might be better called Runtime

Closing. State is a fixed name in SVM now. We might consider to add better docs for what that struct actually does.


Correction for raw affiliation King's University College at Western University, London, Canada

Correction needed for raw affiliation King's University College at Western University, London, Canada
raw_affiliation_name: King's University College at Western University, London, Canada
new_rors: ;02grkyz14
previous_rors: 048f5b183;02grkyz14
works_examples: W4319031149;W4323854287;W4362725590
contact: 655aa9f19120ad2839752a8105c07955:2bfaf3ef08e20beb @ uwo.ca

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


update manifests after renaming

this PR updates the documentation to

use the proper naming for resources
bump version to 0.7.0 (once it s released)

Fixed with #60


Sending template_id param

Hi, I am trying to find in the docs where to set the template_id using the nodejs client. Thanks!

Found..


Fix bug on vacancy review page

Fixes https://rollbar.com/dfe/teacher-vacancies/items/9962/?utm_campaign=new_item_message&utm_medium=slack&utm_source=rollbar-notification
NoMethodError: undefined method 'today?' for nil:NilClass

Closing as fixed by https://github.com/DFE-Digital/teaching-vacancies/pull/4025


refactor: migrate cli test

Refactor all tests in migration cli.

[x] New isolated tests for each migrate task, to check Listr context result for a given input options, as well as the file changes of the target project.
[x] New end to end test to run the actual command
[x] New tests for interactive mode, including prompted package selection, prompted action per file, prompt cancellation, etc.
[x] Cleanups

[x] Move logger from global into convert task, so that every task would share the same input param.
[x] Each task would accept injected context
[x] Fixed a few potential bug related to the basePath in git operations.

Fixes #654

@haochuan once the merge conflicts are complete this is good to go


add awesome urbit badge

This badge would make the list more discoverable to newcomers and people accidentally stumbling upon one of the listed projects

Thanks! merged


Conda recipe

Hi again!
Thanks for the release!
As we decided to rely on plum inside of NetKet, and we provide a conda recipe, we would like plum to be available in conda.
I already set up the recipe in this PR to conda-forge https://github.com/conda-forge/staged-recipes/pull/14653 .
If you want to be listed as a maintainer for the codna recipe (typicaly you have nothing to do, as new releases on PyPi will be picked up automatically, unless you change the dependencies in a sensible way), let me know (you should post a comment on the PR saying that 'I aknowledge I will be listed as a maintainer of this recipe').
I'm struggling with one error due to the way you package the cython extension...
What you are doing is that you are compiling function.py as a cython module, right?

The error I'm seeing is
  reading manifest template 'MANIFEST.in'
  writing manifest file 'plum_dispatch.egg-info/SOURCES.txt'
  running build_ext
  building 'plum.function' extension
  error: unknown file type '.py' (from 'plum/function.py')
  Building wheel for plum-dispatch (PEP 517): finished with status 'error'
  ERROR: Failed building wheel for plum-dispatch
Failed to build plum-dispatch
ERROR: Could not build wheels for plum-dispatch which use PEP 517 and cannot be installed directly
Exception information:
Traceback (most recent call last):
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 189, in _main
    status = self.run(options, args)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 178, in wrapper
    return func(self, options, args)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 361, in run
    ", ".join(pep517_build_failure_names)
pip._internal.exceptions.InstallationError: Could not build wheels for plum-dispatch which use PEP 517 and cannot be installed directly
Removed build tracker: '/tmp/pip-req-tracker-i_dtb1o7'

It's exciting to hear you've decided to use Plum within your project!
Thanks for setting up the Conda recipe. I've left a comment on the PR there.
Hmm, regarding the error, would you be able to run a
pip install --upgrade pip

before installing Plum? Plum compiles function.py with Cython. This isn't strictly necessary for the package to run, but it does reduce overhead significantly.

No you cant . The conda build system takes care of this for you...
However you have to specify the dependencies correctly (which sometimes its a pain...)
I think I just forgot to add Cython...

By the way, do you actually need such a recent version of Cython, or you just didn't bother setting the lower bound exactly?

By the way, one minor thing i noticed is that the license file you are packing is called LICENCE.txt, instead of the standard LICENCE.
That's not really an issue, it just means I had to specify the file name, but... yeah. Maybe you'd want to change it so it plays better with other packaging systems in the future.

@PhilipVinc, ah gotcha. After adding Cython, does it now build fine?

By the way (...) other packaging systems in the future.

Thanks for pointing that out! I'll rename the file to LICENCE.

Yes. The recipe has been merged.
In less than an hour you should see an invitation to the conda-forge organisation and membership of the plum repository there.
A few minutes later you will also be able to do conda install conda-forge::plum-dispatch
The repository is set up to monitor pypi for new releases of plum. Once you upload a new release to pypi he will open a PR to update the recipe automatically. If all is good it will be auto-merged.
Human intervention is only required if something breaks


Add image tag names for Containers in vim performance state.

Needed for #10677
Keep image tags in containers vim_performance_states
@gtanzillo@fryguy Please review
cc @simon3z
@miq-bot add_label providers/containers, chargeback

@gtanzillo Do vim_performance_states stay as long as Metrics do?
Meaning I can count on a Metric always having a VimPerformanceState with the same timestamp?

@miq-bot assign zeari

@zeari I think the states get purged with the metrics. The default age is 6 months. I'm trying to validated that in the code but have a difficult time finding where the states are being purged. I'll keep looking and let you know.

@zeari Did some more research and determined that we are not purging vim_performance_states at all. I'll be opening an issue for that. So, when we address it, we'll ensure that they will never be purged earlier than the metris_rollups to which they correspond. Therefore, you can rely on them being available for you.

@zeari Did some more research and determined that we are not purging vim_performance_states at all. I'll be opening an issue for that. So, when we address it, we'll ensure that they will never be purged earlier than the metris_rollups to which they correspond. Therefore, you can rely on them being available for you.

Thanks for the follow up @gtanzillo !

👍 LGTM

@gtanzillo This did not make it into Euwe branch.  Please label euwe/yes or euwe/no, as appropriate.

Euwe Backport details:
$ git log
commit bfff6011dfd816cfbda0838bd1f4009abd1fd33b
Author: Gregg Tanzillo<EMAIL_ADDRESS>Date:   Thu Sep 22 11:58:44 2016 -0400

    Merge pull request #11016 from zeari/add_image_tag_names_to_vim_performance_state

    Add image tag names for Containers in vim performance state.
    (cherry picked from commit d116db2e7eeb3877b93e83274668400b20165b2f)


Table info  isn't show on system.parts

I created table (for example XX), queried successfully.
How ever I can't see any info of table XX when I query info from system.parts.
When I run Select table from system.parts that didn't display XX. It displayed 4 names: cpu, cpu, cpu, tags.
Could I find the information of a table I created in database (such name, size,..)?

system.parts have information about parts of MergeTree tables.
If XX is empty it has no parts, and the size of the X is 0.
For engines *Log you can use OS utilities only [du -sh /var/lib/clickhouse/data/db/XX]
For engine Memory no way at all.

Very clear, thank you. @den-crane


Undefined Reference

Now, before redirecting me to some other stack overflow/git issue page, yes, I've seen them all, I've done nothing but google for an hour straight, please tell me why I get all those undefined reference errors, this is my make file, all the libs are in the same folder as the cpp files and exe, theres a folder in the root folder called include with the raylib.h and some other headers I made
exec = Raylib.exe
src = $(wildcard *.cpp)
obj = $(src:.cpp=.o)
DLL = -L. -lraylib -lraylibdll -lraylib -lopengl32 -lgdi32 -lwinmm
inc = -I include
$(exec): $(obj)
g++ -std=c++11 $(obj) $(DLL) -o $(exec)
core_basic_window.o: core_basic_window.cpp
g++ $(inc) -c core_basic_window.cpp
clean:
rm *.o
rm *.exe

if your askign why I added -Iraylib twice, my sleep deprived ass thought it would then include the dll and not the a

Starting out, what is it you are attempting to do?  What is the outcome you are after?

@factory-station-13 This issue is not related to a raylib malfunction or error, it's related to a custom user build configuration. For this kind of issues I recommend joining raylib Discord, there is a specific channel about raylib building.


Make recharts responsive on mobile

Might be as simple as wrapping the charts in the ResponsiveContainer that Recharts provides, but I haven't investigated.

Solo MMR Distribution

Is this chart to me made responsive?

  You can edit the DistributionsGraph file to see if the responsive container works for the MMR Distribution graph


HIVE-24093: Remove unused hive.debug.localtask

hive.debug.local.task was added in HIVE-1642. Even then, it was never used. It was possibly a leftover from development/debugging. There are no references to either HIVEDEBUGLOCALTASK or hive.debug.localtask in the codebase.
Change-Id: I27a385c264c362f6507eee4e29caf52f46e7dcba

+1


Closing Visual Studio Code does not remove the RPC information

Even if you close VS Code, you still will see information about the file and folder open.

it's an issue directly with Discord. just reload it. (Ctrl+R)

It's because the activity is not reset when VScode is closing, I'm looking for an event to handle it.

With the disposable client, the Rich Presence is reset, but it's still displaying "Playing Visual Studio Code".
To fix it, you need to add Visual Studio Code as a game

Discord says that is recomendable to send a shudown signal when the app closes, so the RPC server removes the status.

@justalemon May you have some docs about sending a shutdown signal, it could be helpfull

@maxerbox https://discordapp.com/developers/docs/rich-presence/how-to

Yeah, it is calling the  static void Destroy(BaseConnection*&); function,
https://github.com/discordapp/discord-rpc/blob/master/src/discord-rpc.cpp#L312
https://github.com/discordapp/discord-rpc/blob/master/src/connection_win.cpp#L66
It cannot be done with the discord-rpc server.

I hope it is fixed now ^^


Handle Cloud errors in AzureCloud

Some subscriptions in Azure could result in the following exception at line 123 in cloudmarker/clouds/azurecloud.py while iterating over the objects of any specified Azure provider.
msrestazure.azure_exceptions.CloudError: Azure Error: DisallowedOperation
Message: The current subscription type is not permitted to perform operations on any provider namespace. Please use a different subscription.

This commit aims to catch these exceptions and handle them gracefully by letting the code continue reading documents from other Azure subscriptions instead of exiting when any subscription throws the above exception.

Correction to my previous comment: Please keep the new commit in this pull request rebased on top of fixindent like it is right now. That way I can merge #42 first and then I can merge this (#43) as it was originally intended by you.

Updated the commit message.

Rebased over the latest master.


High CPU usage when processing certain rules

When mod_security is in SecRuleEngine DetectionOnly mode certain POSTs cause high CPU usage and a long delay on the return. This does not happen when mod_security is in SecRuleEngine On or mod_security is disabled.
I believe this may be the same bug referenced in #890
Below in the strace, you can see the gap in the times:

``[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 310) = 310
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 129) = 129
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 142) = 142
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 1136) = 1136
[pid 28139] 12:59:24 brk(0)             = 0x7fa129701000
[pid 28139] 12:59:24 brk(0x7fa129777000) = 0x7fa129777000
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 1136) = 1136
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 151) = 151
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 306) = 306
[pid 28139] 12:59:24 brk(0)             = 0x7fa129777000
[pid 28139] 12:59:24 brk(0x7fa1297ed000) = 0x7fa1297ed000
[pid 28139] 12:59:24 write(4, "[03/Mar/2017:12:59:24 --0500] [d"..., 1136) = 1136
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 149) = 149
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 147) = 147
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 140) = 140
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 149) = 149
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 315) = 315
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 137) = 137
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 143) = 143
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 1136) = 1136
[pid 28139] 13:00:43 brk(0)             = 0x7fa1297ed000
[pid 28139] 13:00:43 brk(0x7fa12982e000) = 0x7fa12982e000
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 1136) = 1136
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 151) = 151
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 312) = 312
[pid 28139] 13:00:43 brk(0)             = 0x7fa12982e000
[pid 28139] 13:00:43 brk(0x7fa12986f000) = 0x7fa12986f000
[pid 28139] 13:00:43 write(4, "[03/Mar/2017:13:00:43 --0500] [d"..., 1136) = 1136
[pid 28139] 13:01:07 write(4, "[03/Mar/2017:13:01:07 --0500] [d"..., 149) = 149
[pid 28139] 13:01:07 write(4, "[03/Mar/2017:13:01:07 --0500] [d"..., 139) = 139
[pid 28139] 13:01:07 write(4, "[03/Mar/2017:13:01:07 --0500] [d"..., 132) = 132
[pid 28139] 13:01:07 write(4, "[03/Mar/2017:13:01:07 --0500] [d"..., 150) = 150

mod_sec_debug log:
[03/Mar/2017:12:59:24 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][4] Executing operator "rx" with param ".+application/x-shockwave-flash|image/svg\\+xml|text/(css|html|ecmascript|javascript|vbscript|x-(javascript|scriptlet|vbscript)).+" against ARGS:__VIEWSTATE.
[03/Mar/2017:12:59:24 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][9] Target value: "/wepdwukltq3mjkwnte4ma9kfgjmd2qwcaibd2qwagibdw8wah4hvmlzawjszwdkfgrmdxychgnzcmmffs9pbwfnzxmvynrutg9nb3v0lmdpzmqcaq8pfgiebfrlehqfeejyywrszxkgqw5kzxjzb25kzaitdxapfgyedkrhdgfwywx1zuzpzwxkbqzjbhrfawqedurhdgfuzxh0rmllbgqfcgnsdf9uyw1lhgtfiurhdgfcb3vuzgdkebxwfxdebybob3qgu2vhcmnoiej5iensawvudbsxc3qgrevgru5trsbgsvjfifbst1rfq1rjt04lmybnienptvbbtlkqmzftvcbdifmgvcbxie0grb4zmvnuienjvklbtcbtvvbqt1juifvosvqglsbxtuqpm1mgsu5dt1jqt1jbveveezqtscbisuditeforevsienmvuinnc1iifdfu1rwsuxmrru0luggv09prfnjreugru1fukfmrfmtnc1ilcbdsevtve5vvcbhuk9wrra0lugsietftlqgq09vtlrzejqtscwguevbq0ggqkxpu1nptqs0mzygq0vtienfwbc0scbbrlrfuibtq0hpt0wgufjpr1jbtqtbicbiie1fvefmuxhbicbtifnquklos0xfuibdty4sieloqy4xqsbeifqgu0vdvvjjvfkgu0vsvkldrvmvqsbeifqgu0vdvvjjvfkgu1ltvevnduegrsbttuluscbjtkmfqsbfifqhqsbfifqgqybbieugvcbdic0gqurwievovklst05nru5uquwgvevdscbbieugvcbdic0gqurwievovklst05nru5uquwgvevdsbhbieygqsbquk9urunusvzfifnzu1rftvmzqsbhigfuzcbhifniruvuie1fvefmieloqxlbiecgribbierjvibpribcqvlfuibdt1jqfuegssagrfvqt05uielou1rjvfvurrhbiekgrfvqt05uie1j
[03/Mar/2017:13:00:43 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][4] Operator completed in 79125155 usec.

[03/Mar/2017:13:00:43 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][4] Executing operator "rx" with param ".+application/x-shockwave-flash|image/svg\\+xml|text/(css|html|ecmascript|javascript|vbscript|x-(javascript|scriptlet|vbscript)).+" against ARGS:__EVENTVALIDATION.
[03/Mar/2017:13:00:43 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][9] Target value: "/wedajgy1np0ac3ikctyaclthbnua8522fmrlxw+4lgs9we/rhs2vrai2b9x7vtf1ejpitzbxv+q7tpwwmxnbxqxfsazoskhxf52af0x9nmxzw/k/811xmg5big/+014k8wgnp5qxr/4ayz8iditnkw+aeo68n5gviltpxaeo32m1hqp7iwpz04oyurghwwhyala0bxpvv8pj7scjbcr7db3vj+mi3xi8y8kry33ovtfv4+mpjtctirr7k1fcy8bdyd+qheqhb5mlckhpfqkbk4gl6zgloufpisq1qxfz+dyftyutxt6qfj1mhp+tgyncia8ts5ynahvh+g6ygne5zdzjobfna/hgijh7v5szwle4qvbqxla/sg3b0ofimqrjfcr0j3r4wvuci3kmirpn84wgurk1t2gnssxkdycu2ptv6xjcgomrwa+0ioam6pvfn88g/+zpq2t0jxr0fbmu6fb6qcjmffvtrkqcyvim4itpxfgqgss7hwhbefl74dgteazbjpdsrfos2zjrpfueid8r7vzz6yocnsahboipdatc5nrcmqpvdvsrc7/eniumustjgurt6slpoc0aq+2qfyt6pl2/r8uvvslqheoltttuen70u8lkb55xu0ztarypzlsrx74iggrvyz/let62bla5o42xzn9a1jexzl3vbridabfk8ngv1yu9pbibij57f/ck8xvhntjfjfssdngsdnw+ppdyr7961vrfh0tnxrnmcprfdnp+7aknafwdz9qjhxen8fx/f9ipttu31c8t+eo2oqg9bw4rzchf9f0x5k0/z8v0emjy9s6lwsaq5lpjcl4er6afj8l9wquyqdk2pt//ywhtkr7gbntmrafxs1ym3tslptq0gilqdqeiwvgdui8kdhxoiux/wst+3sorwb007e6qgcconi+jeul0q0clabh+85xua22dlhx2iultf7xast4njqmzygrgn9maj0rg0igaez9joj45unaregscs3p
[03/Mar/2017:13:01:07 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][4] Operator completed in 24253922 usec.

Apache error_log:
[Fri Mar 03 11:44:53.464260 2017] [core:notice] [pid 13820] SELinux policy enabled; httpd running as context unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[Fri Mar 03 11:44:53.485086 2017] [suexec:notice] [pid 13820] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Mar 03 11:44:53.501678 2017] [:notice] [pid 13820] ModSecurity for Apache/2.7.3 (http://www.modsecurity.org/) configured.
[Fri Mar 03 11:44:53.501769 2017] [:notice] [pid 13820] ModSecurity: APR compiled version="1.4.8"; loaded version="1.4.8"
[Fri Mar 03 11:44:53.501828 2017] [:notice] [pid 13820] ModSecurity: PCRE compiled version="8.32 "; loaded version="8.32 2012-11-30"
[Fri Mar 03 11:44:53.501881 2017] [:notice] [pid 13820] ModSecurity: LUA compiled version="Lua 5.1"
[Fri Mar 03 11:44:53.501931 2017] [:notice] [pid 13820] ModSecurity: LIBXML compiled version="2.9.1"
[Fri Mar 03 11:44:53.579149 2017] [auth_digest:notice] [pid 13821] AH01757: generating secret for digest authentication ...
[Fri Mar 03 11:44:53.581706 2017] [lbmethod_heartbeat:notice] [pid 13821] AH02282: No slotmem from mod_heartmonitor
[Fri Mar 03 11:44:53.589947 2017] [mpm_prefork:notice] [pid 13821] AH00163: Apache/2.4.6 () OpenSSL/1.0.1e-fips configured -- resuming normal operations

System version and whatnot:
# cat /etc/oracle-release
Oracle Linux Server release 7.3

# httpd -V
Server version: Apache/2.4.6 ()
Server built:   Sep  5 2016 00:09:36
Server's Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

Thanks

@anderpups what's the complete SecRule/Action associated with that logging you shared?
[03/Mar/2017:12:59:24 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][4] Executing operator "rx" with param ".+application/x-shockwave-flash|image/svg\\+xml|text/(css|html|ecmascript|javascript|vbscript|x-(javascript|scriptlet|vbscript)).+" against ARGS:__VIEWSTATE.
[03/Mar/2017:12:59:24 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][9] Target value: "/wepdwukltq3mjkwnte4..........
[03/Mar/2017:13:00:43 --0500] [dsfstest.dti.state.de.us/sid#7fa12633a730][rid#7fa126414340][/dsfsSTUa0.aspx][4] Operator completed in 79125155 usec.

@bostrt thanks for the response. After more digging, we have figured out rule 973302 is causing this condition. I also realized that it can also be replicated with "SecRuleEngine On" so please disregard any reference to the different modes. There was some uniqueness to to the requests that I hadn't taken into consideration at first.
I still think this may be a bug since mod_security doesn't actually do any blocking of that rule, but the CPU pegs to 100% while inspecting the traffic when this rule is enabled.
Please let me know if you still need the SecRule/Action config. Thanks

@anderpups just noticed you ModSecurity version is almost 4 years old (v2.7.3). Can you reproduce on the latest 2.9.1?

@anderpups this is a function of the regular expression used in that rule, not the ModSecurity engine itself. That regular expression is really very poorly formed, and will undergo some very significant backtracking when comparing against a target of that size. It looks like you're using the old OWASP CRS v2; consider upgrading to v3 (https://github.com/SpiderLabs/owasp-modsecurity-crs/tree/v3.0/master), which was redesigned to avoid ugly expressions like this.

Thanks @bostrt and @p0pr0ck5. We were using what was available on the RHEL repo and have the latest version of that installed. I can reach out to them.


Allow requests references in batches

It should be possible to reference requests in a batch, see docu.
The sap OData v4 rap service implementation requires the Content-Id to be set, otherwise batch will fail with "Missing Content-ID header in request within a change set" error. Current api only allows to add the header to request headers but the required placement is following:
--batch_6b13-8381-9e3f
Content-Type: multipart/mixed; boundary=changeset_8b5d-8893-09f0

--changeset_8b5d-8893-09f0
Content-Type: application/http
Content-Transfer-Encoding: binary
**Content-Id: someId**

POST Entity HTTP/1.1
Content-Length: 7985

Allowing to specify Content-Id for request in batch would allow to overcome this issue. It would be possible to automatically generate batch-unique ids for for requests but it would not add new functionality, only suppress the rap 4v service requirement.

Since version 2.3.1 it is possible to set contentId property for each request in changeset and this will be used as Content-ID for the request. Not nicest api but it is working.
const changeSet = service.createChangeSet();
service.entitySet.post(entity);
changeSet.requests[0].contentId = `id`
```;


Add references only to factory definitions and only to container definitions

For example, FactoryReference and ContainerReference.

I don't think we need it but let's wait for requests.


xds: typed_struct doesn't work for upstream network filters

Upstream filter factory appears to unpack typed_config directly into empty config proto (see https://github.com/envoyproxy/envoy/blob/master/source/common/upstream/upstream_impl.cc#L776). What should happen is that the config needs to be converted first.

@yanavlasov FYI re: TypedStruct

@kyessenov did you mean converted from v2 to v3alpha?

I mean just having TypedStruct in typed_config doesn't work (conversion doesn't either I believe). PTAL at PR.


layout: Align show button to right in PasswordInput on Android API 28.

Fixes: #2814.
Now

I am glad that this fixes the issue.
Can you describe what change in API 28 made this break?

Closed because #2814 was fixed differently -- see there.


Grayscaled words (without colors)

Do you have an idea how to get?

I'm also interested in using a fixed color.
Were you able to do it, @AppWerft ? Or any tips, @wvengen ? I'm a newbie to d3js and javascript in general.


v2: duplicate URL checker endpoint

Context
We're building a "new data source" workflow in #252. When people are still in the form, and they have pasted a URL, we want to check to see if it's a duplicate in the background, and catch it before they try to submit.
Requirements

[ ] this endpoint should accept a url and check our database for duplicates, including URLs which have not been approved
[ ] it should return any matching (duplicate) urls with their approval_status and rejection_note
[ ] ideally, it should find near-duplicates (things like a trailing / at the end, http/www permutations within reason)

Tests
TBD
Docs
API docs

@josh-chamberlain It is worth noting that we already have some duplicate source_urls in our database right now! Specifically, we have:

94 urls that occur in two data sources
8 urls that occur in three data sources
4 urls that occur in four sources
2 urls that occur in five data sources
1 url that occurs in six data sources

Do we want to do anything about these right now? Does this impact our design?

A few other points worth noting; maybe not for this issue, but for others
URL Fragments
Occasionally, URLs contain a URL fragment (the "#some-content" section you see at the end of a url). These typically denote a specific position on a page or otherwise organize a sub-page. Some examples we have in the database include:

phillypolice.com/accountability/findings/#!#%2F_ga=2.88868763.1007266185.1596139754-12687582.1596139754, which seems to limit it to a specific search
https://www.muckrock.com/foi/detroit-314/shotspotter-policies-140369/#file-1067485, which directs to a specific location on the page (and is otherwise a duplicate with muckrock.com/foi/detroit-314/shotspotter-policies-140369/#files)
https://directives.chicagopolice.org/#search, which directs to a specific tab on a web page.
https://docs.google.com/spreadsheets/u/0/d/10tDQ5t7QHiOTw4eEZVCMkGvh5II0bSiHqGzioyfKUsc/htmlview#, which doesn't seem to impact the web page at all.
https://www.sjpd.org/records/crime-stats-maps/force-analysis-data#:~:text=The%20San%20Jose%20Police%20Department,on%20our%20public%20web%20site.&text=For%20additional%20information%2C%20please%20contact,at%20408%2D277%2D5200., where the fragment seems to be a remnant from a Google  search but which also doesn't direct to anything on the page.

These will further muddy the waters as far as duplicates go. Fortunately, in our current database, we only have about 33 where this is the case, but it's something worth taking into accont.
I could see us addressing that in a few ways:

Forbidding URLs which have a url fragment in them
Accepting them but removing everything after the url fragment (maybe with a check to make sure it's still valid).
Giving some sort of warning to users who submit urls with url fragments that they make it more difficult for us to organize/deduplicate and so could they pretty please remove it.

Google Docs Links
We sometimes have a link to Google Docs, which run into one of two issues:

As in docs.google.com/spreadsheets/d/1k-SBpcA0Qc0znWFYKu4JtqNfnFFNPf7Rhl6mT_bPjvU/edit#gid=0, we may need access to view it, which defeats the whole purpose of it in terms of transparency.
As in https://docs.google.com/spreadsheets/d/151J17PmQualbo7ONsLtei6I0jE_6C5Ut/edit?gid=264210893#gid=264210893, it's a lot of information, but there's not a trail of sources we can use. Whether it's a leak or just something someone did, it's a bit harder to validate it when it's not attached to anything specific.

Current plan is, as usual, creating a materialized view to make responses quicker
Materialized View Design
CREATE MATERIALIZED_VIEW IF NOT EXISTS public.distinct_source_urls
TABLESPACE pg_default
AS
	SELECT DISTINCT
		-- Remove trailing '/'
		RTRIM(
			-- Remove beginning https://, http://, and www.
			LTRIM(
				LTRIM(
					LTRIM(
						SOURCE_URL, 'https://'),
					'http://'
				),
				'www.'
			),
			'/'
		)
	FROM data_sources
	WHERE
		source_url is not NULL

@maxachis
Existing duplicates
Hmm, I wonder how many of these have already been un-approved? Anyway, I can deal with them in Airtable for now. There's a nifty extension, and I will add it as a nice-to-have on #32
URL fragments
This one is annoying, because many of them look like they should just be named anchors but actually cause a page load and go somewhere else. At most, we should give a warning, but there's not much else we should go out of our way to do I don't think.
Google docs links
Yeah, these are not ideal sources. As with any link, people would ideally make sure it works incognito before they send it to us. I rejected that one, as we had a better source for it anyway. That second one for non-haz citations is questionably useful, but I would argue not because it's a google doc. Links to random spreadsheets without context come in all shapes and sizes. That's why we have our database to provide context!

@josh-chamberlain One implementation detail I'd like your feedback on.
Using the power of Marshmallow Schemas, I'm able to ensure that URLs passed to this can check to see if the URLs provided are valid as well as whether they're duplicates. However, Marshmallow's url checking is quite strict -- it won't permit something that doesn't begin with a valid url schema, like https or http. So something like www.example.com would not be considered valid, but https://www.example.com would be.
Do we want to have that level of strictness (and do we want to have that in this endpoint)?

@joshuagraber For you, does this response format make sense?
{
  "duplicates": [
    "original_url": "https://www.example.com",
    "rejection_note: "Sample rejection note",
    "approval_status": "Rejected"
  ]
}

And related to the question I posed to @josh-chamberlain: What do you think makes sense in terms of url validation? And if we want url validation in this endpoint, how would you want that delivered?

hmm. Most browsers will load any old URL, trying https and then http. When we add URLs to the database, or when we do URL sweeps for our various purposes, we could be checking for SSL and then prepending http/https as necessary. In the case of checking for duplicates, I think we should ignore http:// and https://, i.e. whether or not those strings are different at the start of the URL, they should be considered a duplicate
Duplicates
https://www.example.com
http://www.example.com
www.example.com

@josh-chamberlain Got it! Easy enough to fix. Just made a quick update to account for that.


bug: "Type" autocomplete not working

I've just installed the Terraform 1.3.8 plugin for my VS Code 1.32.3 but the autocomplete for types is not happening.
I tested by typing the start of resource, tabbing part way through, it then highlights the type word, and I start typing (either a or g) and nothing is suggested.
If I manually type a valid type, e.g. google_compute_instance, a link gets put on for the Terraform docs page, so https://www.terraform.io/docs/providers/google/r/compute_instance.html in this case, but the autocomplete for listing the available types is not working.

Same here, autocomplete stopped working a while ago (right around the migration to 0.12). I also don't get links on resources anymore.

Any update on this? I have also this issue and I do not know why. Seems to work for others but I haven't figured out what is the problem.


Please sign Linux and source releases!

Starting with the upcoming 1.2 release, could you please start providing a gpg signature for Linux and source releases.
This doesn't have to be a detached sig for each individual file, you could provide sha512 hashsums in a text file and provide a detached sig file for that.

@lrebrown There is no source release that we distribute, but if you clone the Git repo you'll be getting the source securely over SSH.  That's the only official way to get source.

There is no source release that we distribute

See here:
https://github.com/adobe/brackets/releases
Sprints 1-31a and a few misc others are only available as source, each with small zip and tar.gz download options (presumably those are just auto-created by github), but for every other release since sprint 31a, there's a source .zip and a .tar.gz download available as proper large-ish links right alongside the deb, dmg and msi download links. Are these source archive downloads put together by yourselves, or is github auto generating these?

but if you clone the Git repo you'll be getting the source securely over SSH

Which is isn't sufficiently secure imo.
Why should I trust an SSH connection to github to securely obtain source of an application? I should only trust my SSH connection to github if I properly verify their public key through the WOT, which would similarly have to be done directly with yourselves otherwise, but, via github, then furthermore I must trust that yourself and every other Adobe-Brackets developer collectively have similarly gone to sufficient lengths to verify the github SSH fingerprint prior to setting up your SSH login with github, and then just hope that no github staff members are compromising the source repo, nor that any breaches of github security occur. Direct trust to yourselves is obviously much preferred.
As you probably already appreciate, any and every application you install has the potential to entirely compromise your machine, and being able to properly trust that source/binaries you have obtained at least truly come directly from the developer, without modification, is valuable towards maintaining system security. The best model for doing so is for a WOT to be setup which incorporates those developers. Obviously personally reviewing every line of code you download would be best, but is impractical.
Using that WOT, should you start offering signed binaries/source-archives, we users, as long as we trust that whoever posts the release has sufficiently verified every commit that has gone into it, have decent means available to us for ensuring that what we have obtained is the original copy generated by yourselves. Signed git tags/commits would also be excellent to have, providing obvious further benefits.

Yeah, all the .zip and .tar.gz files listed under Releases were auto-generated by GitHub.
I don't know how familiar you're with git, but actually every git commit hash (SHA1) is a checksum of the changes made in this commit, so by git clone-ing a repo, you can be sure that you have the exact same source that is on GitHub.

We recommend using git clone to get trusted Brackets source code. The source TARs are auto-generated by GitHub and thus don't have the signature.


Publish on crates.io

Hi, is it possible to update crates.io to the newest version?
Crates.io still lists 1.2 as the latest

@SWvheerden Hi, yup we are planning on fixing that this weekend (if not tonight)! There was a hiccup with the chrono library that was just resolved.

@here done


Incorrect Content-Length header when a URL is included in the body of the data parameter

When sending a request using "data" parameter which contains a url, it will encode the url and therefore calculate an incorrect content-length.
Problem
import primp
primp_session = primp.Client(verify=False, impersonate='chrome_130')
headers = {
    "Content-Type": "application/x-www-form-urlencoded",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/<IP_ADDRESS> Safari/537.36"
}
data_dict = {
    "username": "asd",
    "password": "123",
    "redirect": "https://example.com/dashboard",
    "token": "abc123",
    "session": "xyz789"
}
response = primp_session.post(url='https://httpbin.org/anything', headers=headers, data=data_dict)
print(response.text)

Content-Length output: 100, expected: 92
This is because content-length is being calculated with the body being encoded.
"username=asd&password=123&redirect=https%3A%2F%2Fexample.com%2Fdashboard&token=abc123&session=xyz789"
when it should be
"username=asd&password=123&redirect=https://example.com/dashboard&token=abc123&session=xyz789"
Simple workaround
import primp
primp_session = primp.Client(verify=False, impersonate='chrome_130')
headers = {
    "Content-Type": "application/x-www-form-urlencoded",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/<IP_ADDRESS> Safari/537.36"
}
data = 'username=asd&password=123&redirect=https://example.com/dashboard&token=abc123&session=xyz789'
response = primp_session.post(url='https://httpbin.org/anything', headers=headers, content=data.encode('utf-8'))
print(response.text)

I don't understand the problem.
import primp
import requests

data_dict = {
    "username": "qqq",
    "password": "www",
    "redirect": "https://eee.com/rrr",
    "token": "ttt123",
    "session": "yyy456",
}

resp = primp.post(
    'https://httpbin.org/anything',
    impersonate="chrome_130",
    data=data_dict,
)
print(resp.text)

resp = requests.post('https://httpbin.org/anything', data=data_dict)
print(resp.text)


doesn't works in kubuntu 19.04

I executed the downloaded file using a terminal, then appeared the GUI. I installed it, trying every profile, but it doesn't works. However it works fine in a windows 10.

It get fixed by this.


osu! commands

updated the existing osu! command to accept an optional game mode parameter.
added two new commands for viewing beatmap (song) stats, or a players top 5 scores.
these new commands require an API key, see https://github.com/ppy/osu-api/wiki
an example:

Can you PR dev branch, and remove .sln from PRs?
Otherwise looks ok-ish, and thanks!
I will fix the formatting a bit after accepting.


Invalid examples on acknowledgement message

waiting for branche https://github.com/hl7dk/dk-medcom/tree/1.0.3-ACK-VANSEnvCodes to be comitted before this can build.

Fixed in #199


Fixes to @JsonCodable.

Actually trying to compile the output (per my other PR with macro_tool) led to quite a pile of fixes needed, unsurprisingly :)

The output was still not quite correct, with a few more fixes it now works when moved to phase 2+3 as it should be :)


Release binaries

Getting this is installed is problematic:
issue #84
issue #85
Is bingo suited to being installed as a single binary?

Yes. But releasing binaries is a good idea anyway (:

All those issues were resolved. Let's reopen if release binaries will be still useful.


Populate gene_type in /search api results

It's coming back empty right now, but should get populated with soTermName from the index

I removed gene_type from the index also, another small step towards moving away from the prototype schema in ES to the BGI schema.


Issues with the order extends work

As I understand, extends seems to add the extended files at the end of the main file, and not at the beginning.
This is a little counter intuitive (since everywhere else, extend or include means "first use the content of the included file"), and causes issues when using anchors.
Example use case:
This is a valid YAML:
one: &one
  hello: world

menu:
  <<: *one

While this is not a valid YAML:
menu:
  <<: *one

one: &one
  hello: world

So, if I wish to provide "blocks of YAML" that can be used by other blocks, I cannot use the extend functionality. The below example is broken:
# test.rb
require 'yaml_extend'
data = YAML.ext_load_file 'child.yml'
puts data.to_yaml

# child.yml
extends:
- parent.yml

menu:
  <<: *one
  <<: *two

# parent.yml
one: &one
  hello: world

two: &two
  hi: world
  hey: world

I know there are other ways around it, but my use case was more naturally implemented with anchors, and now I know they cannot be used this way.
Is there any reason for the included content to come last and not first?

Hi @DannyBen, thank you very much for your issue ticket.

Is there any reason for the included content to come last and not first?

My assumption was that no one would use anchors with file inheritance anyway, as that would bring much more complexity. That's why I didn't consider anchors and the order here at all.
But you would do! ;-)
Then we not only have to adjust the order, but also update the anchors once everything is loaded, which means we have to parse the assembled YAML file again.
Does this suit your ideas or did I forget to consider something else?

Well, I vote for simplicity almost above all else. So unless this change is very simple to do, I would not do it.
What I had in mind initially - but perhaps I am wrong and it is NOT how yaml_extend works - is that it might be just a matter of changing the order of where you use yaml1.merge yaml2.
In any case, I would not do anything that is specific to anchors, since these are internal YAML constructs - so we let YAML handle it.
I was hoping that somewhere in your code, there is a #merge call that can be switched, perhaps to demonstrate:
require 'yaml'

yaml1 = { one: 1 }
yaml2 = { two: 2 }

p yaml1.merge yaml2
p yaml2.merge yaml1

#=> {:one=>1, :two=>2}
#=> {:two=>2, :one=>1}

As a side note - for my particular case, I solved it by having the main YAML file include ONLY extend directive, so the order of the files in the extend match the order of things as I want them. It is not exactly what I wanted, but it is sufficient.
I might take a look at your code later, to see if I can come up with something interesting.

I am closing this. I realize that since the YAML is evaluated to find its extends, it cannot contain anchors that reference not-yet-loaded definintions.


Error with non-Rancher-created containers on Rancher host

I'm getting the following error I think because I have containers running on a Rancher host that were not not created through Rancher itself, i.e. not part of a stack, but they are still somehow appearing in the list from getStacks.
2017-08-02 17:13:16,898 - DEBUG - Grab setting for stack dockertest
2017-08-02 17:13:16,899 - ERROR - Unattented error occur : 'dict' object has no attribute 'exportconfig'
2017-08-02 17:13:17,146 - ERROR - Traceback (most recent call last):
  File "/opt/backup/backup.py", line 229, in <module>
    listStacks = rancherService.getStacks()
  File "/opt/backup/fr/webcenter/backup/Rancher.py", line 83, in getStacks
    stack['settings'] = self._client.action(stack, 'exportconfig')
  File "/usr/lib/python2.7/site-packages/gdapi.py", line 400, in action
    url = getattr(obj.actions, action_name)
  File "/usr/lib/python2.7/site-packages/gdapi.py", line 112, in __getattr__
    return getattr(self.__dict__, k)
AttributeError: 'dict' object has no attribute 'exportconfig'

I had a separate Rancher environment where this actually was working great but now on this new one with non-Rancher containers floating around I'm running into this issue. Any ideas? Thanks!

I don't really understand the problem. The problem seems appear on the export stack (can you confirm ?)
But if your stack is created directly on host (not a Rancher stack), i doesn't understand why the Rancher API know them ?

Thanks for your reply. I'm sorry but I don't have this running any longer and I don't think I'll have any time to look back into this issue because we've moved on to a different backup solution. But I do recall that while I was digging into this before I posted the issue I was pretty sure I'd tracked it down to the fact that the Rancher API was enumerating all containers on the system and not just its own managed containers, and that seemed to be why the backup process was failing with that error message. I don't think I can give you any more information at this point, but I do still think it is a legitimate bug. Let me know if you have any other questions.

Hi,
I understand. I can reproduce this bug, but I think is link with older rancher version, because of in old API 'stack' mean 'service', but now 'stack' is the 'stack'.


@conda-forge-admin, please add bot automerge

Additional comment:
No response

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/labelme-feedstock#56.


Downloaded file contents are incorrect starting with version 1.9

Describe the bug
After upgrading from version 1.8 to 1.9, we ran into an issue where the translations were no longer working correctly inside of our application. (They are built on a separate repo and then downloaded when building the main app)
The hash of the file I am checking when downloaded (and extracted) through v1.8 is 03BFCE70E15EDC39B775E673B5E03FB2F71DAC16A216C4AB5A3803D8F36CE11E.
When using the same config and using v 1.9, the resulting hash is 0BB2FCC4A185967658AE3D3172E80CC713212659BB59DD8884EF193E336F238C.
To Reproduce
Steps to reproduce the behavior:

Download our latest translation release via version 1.8 and have it be extracted.
Then do the same with version 1.9.
Select the same file in both. You should specifically be comparing any of the .mo files as those are what we are having issues with.
Compare the hash of the selected files, they will be different.

I really don't understand where this issue could be coming from, but it's certainly causing us issues

I have a similar experience. Our CI workflow fails when upgrading to version 1.9.
We download a .zip with just one file and extract it. But somehow it appears that the extracted file does not have the correct content.

I did not double check but I also got trouble with downloaded and unzipped contents. Will check further and watch this issue.

I can confirm that the new version 1.9 breaks files. Reverting to 1.8 solves this. That's a bit unnerving.

That's a bit unnerving.

Indeed, we have now since replaced the action with shell commands so that we don't need to worry about extraction unexpectedly breaking

Apologies for the late response. A new release with a fix for this issue is now available. Please test this and let me know if it fixes it.

The issue was caused after upgrading the node runtime to v20, and the library used to extract zip files broke the functionality.

- uses<EMAIL_ADDRESS>  with:
    fileName: "foo.zip"
    latest: true
    extract: true


Story/csi 1449 unpublish vol no volume

If during unpublish volume already deleted OK should be returned
https://jira.xiv.ibm.com/browse/CSI-1449

If during unpublish volume already deleted OK should be returned
https://jira.xiv.ibm.com/browse/CSI-1449

@igorgonibm please remove internal link (you may keep the ticket number, if you think it's needed in addition to the branch and PR names)


Add chart to paddle operator.

Add chart to paddle operator.

Plz resolve the conflicts first. :)


Retire istio/api repo.

We've got general agreement on the team that having istio/api as a distinct repo is a burden with no significant upsides and many downsides. We should just merge its contents to an api directory in the istio/istio repo.
@louiscryan @smawson @linsun @costinm @hklai

There is auto-generated python code there now. What do we do about it?

Another thing to keep in mind: proxy depends on bazel build in istio/api. That's not going away anytime soon since envoy is committed to bazel. We'd need to bazelify istio/istio as a result of this.

You can mirror the contents of the api folder into istio/api. There is little need to draw in bazel back into istio/istio.

Mirroring is fine, but then you still need to get bazel files from somewhere, and they should come from the source, which is istio/istio.

if I copy istio/api into istio/istio, can I simply keep the bazel files within the api/ folder? if not, i nominate you for the task. :)

I think we thought you signed up for the task. You need to put bazel files in the root of the repo, since that's what bazel expects.

Proxy can create  "api" folder which is just the mirror of "istio/istio "api" folder.  Put bazel files inside the "api" folder.

@qiwzhang @geeknoid are we open to moving proxy into istio as well? We can go monorepo all the way.... Combining api and istio creates a vicious dependency cycle istio <-> proxy.

So what benefits do we get by the current split?
On Thu, Jun 14, 2018 at 2:38 PM Kuat<EMAIL_ADDRESS>wrote:

@qiwzhang https://github.com/qiwzhang @geeknoid
https://github.com/geeknoid are we open to moving proxy into istio as
well? We can go monorepo all the way.... Combining api and istio creates a
vicious dependency cycle istio <-> proxy.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/6267#issuecomment-397446548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVucHVZq1cu-rzxj4u329mqBY88fouohks5t8tfJgaJpZM4UnI1q
.

The most benefits is for people depends on API only and don't want to pull huge istio/istio repo for just APIs. Within istio that is proxy and I don't know if there are outside interests.
In last mail thread the general agreement is making istio/istio as source of truth, and have nightly job to sync it to istio/api.

Are we still going to pursue this?


FormItem Required field is throwing Exception and Red mark for required field is missing

Example : FormExample.zip
In FormItem if required is not added then the form is working fine,
But if I add required=true or required=false then the application is throwing Error :
and because of this exception index.html is blank if I removed the required from formItem then the form is working fine.
Uncaught TypeError: indicatorClass is not a constructor   (FormItem.js:737)

There are two Issues

Required in FormItem should work
Red mark for Required field

Like in Flex:

Use stringValidator

I got rid of the runtime error but there is still a problem in  my test as far as finding the image source.

@pashminakazi , please test


Make the example cmd fetch repositories in parallel

Add a flag to the ghsync sub cmd to download each repository in a goroutine.

See comment here.


⚠ Processors has degraded performance

In 48ef072, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: Processors performance has improved in 5e4570a.


[BUG] Motion Lighting at Night

🐛Bug Report
Describe the bug

Motion Lighting not working in evening in Hall & Kitchen

Expected behavior

Trigger light on

Fixed Node-RED Flow. Was somehow turning automation on instead of triggering


[MINOR] fixed typo

Signed-off-by: Sally MacFarlane<EMAIL_ADDRESS>

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


Updated compatibility checker

Work in progress. So far it just logs some stuff to TMPE.log - still got to do all the UI work which will probably take longest.
Once complete....
Fixes #697 :

[ ] Handle --continuelastsave launch option:
[x] > - Turn it off, but remember if it was set
[ ] > - Only if no compatibility issues found, load last save if applicable
[x] Decruft LoadingExtension by moving game version checks to new CompatibilityManager

Fixes #608 :

[x] Incompatible mods list moved in to .cs file; old incompatible_mods.txt resource removed
[x] Items in list now specify a Severity enum
[x] Severity enum allows better decision making:
[x] > - Critical items will always be scanned and must be completely unsubscribed
[x] > - Major and Minor items only scanned if enabled
[x] > - Minor items can be ignored at user discretion
[x] Updated mods list logger to include Severity markers and counts
[ ] Duplicate and zombie assembly detection
[ ] > - If duplicates are found, user asked to choose which to use
[ ] > - If zombies are found, user will be notified
[ ] > - In both cases, exit to desktop required to flush unwanted stuff from RAM
[x] More granular error catching and reporting

Fixes #439 :

[ ] Will exit to desktop (if necessary) after making changes to any mods
[ ] Disabled mods not scanned by default as Severity enum can be used to override that for Critical conflicts

Fixes #700 :

[x] List relevant DLC status in TMPE.log

UI & Translations:

[ ] Translate the game version warning
[ ] Mod remover UI (delete vs. disable)
[ ] Assembly chooser UI
[ ] Updates to global settings and translations
[ ] Exit to desktop UI?

New incompatible mods added:

[x] Building Anarchy (Severity.Critical)
[x] Terraform Tool v0.9 (Severity.Critical)
[x] AutoLineBudget (Severity.Critical)

@krzychu124 - looks like we need to update game version on appveyor or something?
  Compatibility\CompatibilityManager.cs(47,36): error CS0103: The name 'LauncherLoginData' does not exist in the current context [C:\projects\cities-skylines-traffic-manager-president-edition-labs\TLM\TLM\TLM.csproj]
  Compatibility\CompatibilityManager.cs(48,17): error CS0103: The name 'LauncherLoginData' does not exist in the current context [C:\projects\cities-skylines-traffic-manager-president-edition-labs\TLM\TLM\TLM.csproj]

LauncherLoginData class was added in recent launcher update.

Yeah, I completely forgot to update dependencies. I will fix it later today :wink:

@kvakvs @krzychu124 @kianzarrin
Can someone see where I'm going wrong in /Compatibilty/Check/Assemblies.cs, specifically the method at bottom which attempts to extract strings Version and BRANCH from the assembly?
I've never used reflection before so no clue how it really works, despite lots of RTFM I can't see where I'm going wrong.
To test:

Subscribe several versions of Traffic Manager from workshop
Disable them all (otherwise you'll be bombarded with incompatible mod dialogs from the recent versions)
Build this PR and enable it in Content Manager > Mods if necessary
Restart game to main menu if necessary to get a relatively clean log
Look in the TMPE.log where there will be a load of errors

Oh, wait, I need to pass the class in, not the assembly...? codes...

Pausing; going to wait for the form builder that kvakvs is working on before implementing the UI.


rustfmt incorrectly removing blank lines between non-doc comments and doc comments in struct definition

Using rustfmt 1.5.3-nightly (75726cae373 2023-06-28)
The following source:
/// Writes lines to the file
struct Foo {
  // Set during initialization, and not changed later:

  /// destination file path
  file_path: PathBuf

is formatted as:
/// Writes lines to the file
struct Foo {
  // Set during initialization, and not changed later:
  /// destination file path
  file_path: PathBuf

However, if an additional blank line is added, and another (empty) non-doc comment is used rustfmt doesn't change it:
/// Writes lines to the file
struct Foo {
  // Set during initialization, and not changed later:

  //
  /// destination file path
  file_path: PathBuf

If the non-doc comment is changed to a doc-comment, rustfmt also doesn't change it:
/// Writes lines to the file
struct Foo {
  /// Set during initialization, and not changed later:

  /// destination file path
  file_path: PathBuf

But then the comment is included in the documentation for the file_path field, which is not desired.

This appears to be similar to #4930 and #3716.  I suspect that all three are caused by not treating the doc comment that follows a comment as another comment, and so it's being removed to keep comments with the statements that they are meant to be about.

Thanks for reaching out. I believe this is a duplicate of the issues you've linked to above so I'll go ahead and close this one.


Prevent link opening on click outside Link

Details

Prevent link opening on click outside textLinkl
Fixed Issues

$ https://github.com/Expensify/App/issues/22979
PROPOSAL: https://github.com/Expensify/App/issues/22979#issuecomment-1637168904
Tests

log in to the application and navigate to any chat.
Send a link (e.g., www.google.com) in the chat.
In the link preview, click outside the link (next to it) instead of directly on the link itself.

[ ] Verify that the link is not open when you click next to it.
[ ] Verify that no errors appear in the JS console

Offline tests

log in to the application and navigate to any chat.
Send a link (e.g., www.google.com) in the chat.
Disable your network connection
In the link preview, click outside the link (next to it) instead of directly on the link itself.

[ ] Verify that the link is not open when you click next to it.
[ ] Verify that no errors appear in the JS console

QA Steps

log in to the application and navigate to any chat.
Send a link (e.g., www.google.com) in the chat.
In the link preview, click outside the link (next to it) instead of directly on the link itself.

[ ] Verify that the link is not open when you click next to it.
[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/21364901/0d9e0e0d-2398-4957-84af-a4487771d6b7

Mobile Web - Chrome

https://github.com/Expensify/App/assets/21364901/6f1e23ec-6218-4896-9281-6f15aef8d8b6

Mobile Web - Safari

https://github.com/Expensify/App/assets/21364901/75e9ae67-6d44-4318-a952-0b0702e07fa5

Desktop

https://github.com/Expensify/App/assets/21364901/aeeb5485-8498-438d-aab6-3021483f468c

iOS

https://github.com/Expensify/App/assets/21364901/d0734cac-0316-4ffb-bf3e-d238e3c82fd1

Android

https://github.com/Expensify/App/assets/21364901/95f70069-b0dd-42af-890f-4ac271f0d4a3

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/3069065/57355b91-2563-4093-a839-cf2c48463447

Mobile Web - Chrome
https://github.com/Expensify/App/assets/3069065/585f1d74-8fd5-49b8-88cd-b739ffcf1263

Mobile Web - Safari
https://github.com/Expensify/App/assets/3069065/257b583d-727a-4378-b120-f90fa4be025f

Desktop
https://github.com/Expensify/App/assets/3069065/87f4abe3-896a-428b-a5ec-38d35e24c4a8

iOS
https://github.com/Expensify/App/assets/3069065/5cd8ea99-98b1-4b52-8e06-b99079d53bc8

Android
https://github.com/Expensify/App/assets/3069065/8f74256d-df3f-4048-a0e0-4eab3a6564fd

@Gonals All yours.

: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.

🚀 Deployed to staging by https://github.com/Gonals in version: 1.3.50-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.50-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Gonals in version: 1.3.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.51-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Silent failures on batch out - Queue output

Related issue: https://github.com/Azure/azure-functions-dotnet-worker/issues/124
Very likely issue with the user code below:
using System;
using System.Collections.Generic;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace dotnet5Test
{
    public static class testqueue
    {
        [Function("testqueue")]
        public static IEnumerable<MyOutputType> Run([QueueTrigger("testqueue", Connection = "")] string myQueueItem,
            FunctionContext context)
        {
            var logger = context.GetLogger("testqueue");
            logger.LogInformation($"C# Queue trigger function processed: {myQueueItem}");

            return new List<MyOutputType>() {
                new MyOutputType()
                {
                    Name = "Sun"
                },
                new MyOutputType()
                {
                      Name = "Mon"
                }
            };
        }
    }

    public class MyOutputType
    {
        [QueueOutput("myQueue")]
        public string Name { get; set; }
    }
}

Function execution succeeds without errors and not writing to output queue

@mhoeger for awareness. Your changes should address this as well.

@pragnagopa, I think the way to define output binding in this case would be in the method. That combined with Marie's cardinality changes should light this up. --
public static class testqueue
{
    [Function("testqueue")]
    [QueueOutput("myQueue")]
    public static IEnumerable<MyPocoType> Run([QueueTrigger("testqueue", Connection = "")] string myQueueItem,
        FunctionContext context)
    {
        var logger = context.GetLogger("testqueue");
        logger.LogInformation($"C# Queue trigger function processed: {myQueueItem}");

        return new List<MyPocoType>() {
            new MyPocoType()
            {
                Name = "Sun"
            },
            new MyPocoType()
            {
                  Name = "Mon"
            }
        };
    }
}

public class MyPocoType
{
    public string Name { get; set; }
}

To use the property output binding, we would need to make sure that the return type matches the type defined for the property. so it should look like --
public static class testqueue
{
    [Function("testqueue")]
    public static MyOutputType Run([QueueTrigger("testqueue", Connection = "")] string myQueueItem,
        FunctionContext context)
    {
        ...
    }
public class MyOutputType
{
    [QueueOutput("myQueue")]
    public IEnumerable<MyOtherPoco> Name { get; set; }
}

But, we agree that we may need to add analyzers to throw an error here. Thanks for reporting!!

Completely missed the attribute in your POCO, but as @ankitkumarr mentioned, we'll have some validation for this.


Services for authorization

:tada: This issue has been resolved in version 1.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


remove word 'original' as this is confusing

The value in 'rs2' is not modified by the operation, thus the word "original" is confusing and implies there could be something besides the original value.

Shouldn't line 438 have the same change applied?

Isn't the word "original" necessary in case rs1 and rd are the same register?

Thanks, that is the thing I have been missing. I will reword things to make this more clear.

NACK on af87f42ea3badf1bce8de34d9110938a656fcfba. The rewording is unnecessary, overly verbose, and full of grammar errors/typos. I don't see anything confusing about the original.

I'm also fine with the original.

Thanks for the feedback. I've added a commentary section now to explain things a bit more in detail and clarify the behavior for the non-trivial case.
Since I'm not a native speaker, any help on grammar/spelling is appreciated.

I think Nick is right on the money.
The spec is different than a book that students use to understand
the corners of the architecture.
The Sail model is supposed to be the golden-model, since English can be so
ambiguous even when you're trying to be exact.
Andrew & Dave's book came to mind and of course the newer versions of
Hennessy and Patterson (Patterson and Hennessy? I've lost track) uses
RISC-V as examples.
That is a bit different than focusing on RISC-V though; that's focusing on
concept and RISC-V is incidental.
I know a college professor who is working on a book on RISC-V processor
design for undergraduates, and that might be what you're looking for.
On Wed, Nov 10, 2021 at 6:39 PM Axel Heider @.***>
wrote:

Closed #764 https://github.com/riscv/riscv-isa-manual/pull/764.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/pull/764#event-5601124170, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJX3PPNWFFP234XREHTULMUGZANCNFSM5HJL6VWA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Blind GM rolls can be seen by the player

Describe the bug
Blind GM rolls can be seen by the player
To Reproduce
Make a blind gm roll with a player
Version Numbers
2.0.4

I cannot reproduce this


Dan test fixes

@david-a-wheeler

Got imagesloaded installed via gem and removed local JS.
Only run minitest-retry on CI.
Refactored GithubBasicDetective#cleanup_license
Added default simple_form config so that it stops complaining every time rails console is run. Simple form is used by rails_db.
Created fake_production rake task to see impact of asset compilation locally.
Added wait_for_jquery test helper which helps with some flapping tests.
Switched CircleCI to use PhantomJS 2.1.1.
Restored CircleCI to lint full codebase on each commit.
Converted can_login_test.rb to use assert_match which produces much clearer failures, e.g.: 'Expected /result_symbol_dash/ to match "http://<IP_ADDRESS>:58345/assets/result_symbol_question-c18666e83fd716e2c14e3c11d2b2f9c7b5dec6a165f5698c14abe95d2b8176f3.png".'
Resolved flapping test in can_login_test.rb by adding a loop to ensure that Capybara really selects the 'Unmet' radio button.

There's one remaining issue of assert_select no longer working with CSS classes. See https://github.com/linuxfoundation/cii-best-practices-badge/blob/e92a146b320cef84fa12e44c75c30e6e3a35aee2/test/integration/users_manipulate_project_test.rb#L47-L52
It gives an error of:
Finished in 9.727570s, 10.0745 runs/s, 334.9243 assertions/s.

  1) Error:
UsersManipulateProjectTest#test_logged-in_user_adds_a_project:
ArgumentError: wrong number of arguments (given 3, expected 1)
    test/integration/users_manipulate_project_test.rb:49:in `block (2 levels) in <class:UsersManipulateProjectTest>'
    test/integration/users_manipulate_project_test.rb:19:in `block in <class:UsersManipulateProjectTest>'

98 runs, 3258 assertions, 0 failures, 1 errors, 0 skips

Oddly, running test/integration/users_manipulate_project_test.rb on its own doesn't break anything.
But, I'd like to merge and then we can revisit this error later.

Thanks!  Testing now...

@david-a-wheeler And I just added a fix to make rake test work on Chrome and Firefox, documented here: http://stackoverflow.com/a/36972401/1935918

Obviously, I tried every other approach first.

Again, you'd think this would be easier.  Thanks for persisting!
Commit e92a146b320cef84fa12e44c75c30e6e3a35aee2 (disabled assert_select for classes) is unfortunate, but you gotta do what you gotta do.  Makes sense.
The "simpler Phantomsjs upgrade" of commit 67332beac672e82b7a7c2befb488a685a7752f84 does have a downside - if someone subverts https://s3.amazonaws.com/circle-downloads/phantomjs-2.1.1 we get the maliciousness.  How well-protected is that?  Obviously that's a downside for anytime we download stuff, but I know a number of people watch rubygems.org.  Since it's a fixed file, I'm thinking we should check its cryptographic hash to see if it's the expected value.  I suspect that if a command returns "false" it'll stop, so intend to add that crypto hash check (it's one more line in circle.yml).  I'm also having a slow download of it right now; hopefully that's a problem on just my end.
I intend to add the cryptographic hash check and then merge it in.  Thanks!!

Um, change in order, I'll just merge this in first.
I've merged this from the command line and pushed to master.  THANKS!

David, could you please no longer do merges of my commits? I like to do
squash merges as my intermediate commits represent my trials and errors,
which I don't like seeing preserved in the commit log.
How about going forward, you just sign off on my commits in the pull
request, and I'll do the squash merges myself and close the branch?
On the phantomjs, the circle-downloads S3 bucket is controlled by CircleCI,
and so no less secure than the rest of their infrastructure. So, I wouldn't
bother with checking the hash.
Alternatively, I believe we could upgrade from precise to trusty, but they
don't have the heroku client configured, so it would be some extra work, so
I haven't bothered.
--
Dan Kohn<EMAIL_ADDRESS>Senior Advisor, Core Infrastructure Initiative
tel:+1-415-233-1000
On Sun, May 1, 2016 at 6:02 PM, David A. Wheeler<EMAIL_ADDRESS>wrote:

Again, you'd think this would be easier. Thanks for persisting!
Commit e92a146
https://github.com/linuxfoundation/cii-best-practices-badge/commit/e92a146b320cef84fa12e44c75c30e6e3a35aee2
(disabled assert_select for classes) is unfortunate, but you gotta do what
you gotta do. Makes sense.
The "simpler Phantomsjs upgrade" of commit 67332be
https://github.com/linuxfoundation/cii-best-practices-badge/commit/67332beac672e82b7a7c2befb488a685a7752f84
does have a downside - if someone subverts
https://s3.amazonaws.com/circle-downloads/phantomjs-2.1.1 we get the
maliciousness. How well-protected is that? Obviously that's a downside for
anytime we download stuff, but I know a number of people watch
rubygems.org. Since it's a fixed file, I'm thinking we should check its
cryptographic hash to see if it's the expected value. I suspect that if a
command returns "false" it'll stop, so intend to add that crypto hash check
(it's one more line in circle.yml). I'm also having a slow download of it
right now; hopefully that's a problem on just my end.
I intend to add the cryptographic hash check and then merge it in. Thanks!!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/linuxfoundation/cii-best-practices-badge/pull/299#issuecomment-216075905

Sure!  Is there a signoff process you prefer?  E.G., saying "signed off" in the pull request text area?

Sounds good, thanks.
--
Dan Kohn<EMAIL_ADDRESS>tel:+1-415-233-1000

On May 1, 2016, at 19:18, David A. Wheeler<EMAIL_ADDRESS>wrote:
Sure! Is there a signoff process you prefer? E.G., saying "signed off" in the pull request text area?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


solar_resource on_change callback not working

In the patch branch, I get the following notice when starting any kind of project:
Could not evaluate callback function:solar_resource->on_change
[23]: reference to unassigned variable:librarygetnumbermatches
[23]: error: _s
[22]: eval error in statement list
Might be related to commit c6a802f59

There is a new set of LK functions including librarygetnumbermatches() to access information from the library widget. This issue may have been caused by building SAM with out-of-date WEX or LK library.


Enable three.js treeshaking with three-minifier-rollup

This reduces the bundle size by a few hundred kb. I added the bundle both as ESM and UMD.
It would be nice if ngl itself could be treeshaken, e.g., the parsers and representations are quite large.

Thanks for this @milot-mirdita, it looks useful - I'll take a proper look next week.
Two quick points:

This renames ngl.js to ngl.bundle.umd.js and adds ngl.bundle.esm.js. I worry that people may just be using dist/ngl.js (rather than packaging mechanisms) and this will break workflows.
Also, what's the use-case for ngl.bundle.esm.js, as opposed to using ngl.esm.js as specified in package.json's module attribute?

As for tree-shaking NGL itself, I guess you'd need an entry point that exposed a minimal core and then you'd import those parsers, representations, writers etc that you wanted to use? Would be a nice addition.

* This renames ngl.js to ngl.bundle.umd.js and adds ngl.bundle.esm.js. I worry that people may just be using dist/ngl.js (rather than packaging mechanisms) and this will break workflows.
* Also, what's the use-case for ngl.bundle.esm.js, as opposed to using ngl.esm.js as specified in package.json's module attribute?

I wanted to be consistent and build both an umd and an esm version of the bundle with the tree-shaken three.js. I can leave the umd version with the old name and just add an esm version with a new name, or alternatively drop the esm version. But I think that esm is a prerequisite to tree-shaking (among others) if i understood it correctly.

As for tree-shaking NGL itself, I guess you'd need an entry point that exposed a minimal core and then you'd import those parsers, representations, writers etc that you wanted to use? Would be a nice addition.

Something like that would be great. NGL is currently the largest dependency, any byte helps :)

Right, getting back to this now.
Can you give me an example of how that bundle.esm would actually get used? Prior to this PR, the rollup.config.dist.js produces:

dist/ngl.umd.js  - Three not included. This is for importing via classic node var NGL = require("ngl") syntax, it's probably not used much tbh
dist/ngl.esm.js - Three not included. If you specify NGL as a dependency then npm/yarn/etc should install it to node_modules together with the dependencies we specify. Your build tool (rollup/webpack whatever) should include the correct version of those dependencies. In this case, you would want to include the three-minifier-rollup plugin in your downstream project's build configuration
dist/ngl.js - A UMD format "everything" build so you can just drop in a <script src="/path/to/that/file">  (this is what you've renamed dist/ngl.bundle.umd.js

I'm in favour of saving 300Kb in for option 3 (which is half your PR). I'm not so keen on the rename as it'll probably break stuff for other people using this.
I'm still not sure why dist/ngl.bundle.esm.js is necessary - it's not referenced in package.json so won't be picked up unless you manually point at it, but wouldn't you get the same benefit importing NGL as a module from your app and using three-minifier-rollup in your own build config?
I guess if you're using import/export directly in the browser you might want to split your app into a slowly-changing "NGL+immediate deps" ES6 module plus a faster-changing "my-app" module to make the most of browser caching - but this is a very specific point to draw the line and seems out of scope to have in the main NGL distribution?
Obviously if I'm completely missing the point please do tell me!

I mostly changed it for consistency, without much deeper thought.
I did later try to use ngl as a <script type="module"> in our CASP15 visualization but quickly gave up and used the umd version instead.