ol.interaction.Modify needs to have 'multi' option in constructor like the Select interaction

Modify interaction currently doesn't play well with overlapping features. The Select interaction has 'multi' option that allows selecting only 1 of overlapping features, but it is impossible to drag only one feature with Modify interaction if overlapping exists. Please add the same 'multi' option/capability to Modify interaction as in ol.interaction.Select.

If you set the features collection of ol.interaction.Modify to the one of an ol.interaction.Select, you can achieve the desired behavior:
var select = new ol.interaction.Select({
  //...
});
var modify = new ol.interaction.Modify({
  features: select.getFeatures()
});

Thank you. I tried the solution and it mostly works for my case. Seems like with this work-around the user has to first select the feature by clicking and only then drag the feature. If only Modify interaction is set, then user can immediately drag the feature without first selecting it by click, which is the behavior I'm looking for.
Is there a way to use your work-around such that the user could immediately start dragging without first having to select a feature?


[SPARK-9918] [MLLIB] remove runs from k-means in the pipeline API

This requires some discussion. I'm not sure whether runs is a useful parameter. It certainly complicates the implementation. We might want to optimize the k-means implementation with block matrix operations. In this case, having runs may not be worth the trade-off. Also it increases the communication cost in a single job, which might cause other issues.
This PR also renames epsilon to tol to have consistent naming among algorithms. The Python constructor is updated to include all parameters.
@jkbradley @yu-iskw

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

LGTM, except that the Scala doc for class KMeans needs to be updated.

Er, and the test suite.

Merged build triggered.

Merged build started.

Test build #40699 has started for   PR 8148 at commit 3cc15b3.

LGTM pending tests.  Thanks for catching the typos!

LTGM

Test build #40699 has finished for   PR 8148 at commit 3cc15b3.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Found more issues. See the updated description.

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

test this please

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

test this please

Merged build triggered.

Merged build started.

Test build #40734 has started for   PR 8148 at commit 149b9e5.

Test build #40734 has finished for   PR 8148 at commit 149b9e5.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class KMeans(JavaEstimator, HasFeaturesCol, HasPredictionCol, HasMaxIter, HasTol, HasSeed):

Merged build finished. Test PASSed.

Thanks for catching all of these issues!

Merged into master and branch-1.5.


Godot 3.0 Linux compiling error

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Xubuntu 16.04
Issue description:
When compiling "os_unix_global_settings_path.gen.cpp" it says it can't find "OS_Unix::String get_global_settings_path() const".
Steps to reproduce:
I guess compile on any Linux OS.
All that I needed to do to fix this was add "virtual String get_global_settings_path() const;" as the last public method in "os_unix.h" I guess someone just forgot to add it.

You need to remove the (autogenerated) .gen files when give problems, are remnant of removed files on old compilations

Duplicate of #13076.


Add @parity/contracts

Pull Request Test Coverage Report for Build 91

0 of 328 (0.0%)  changed or added relevant lines in 14 files are covered.
188 unchanged lines in 8 files lost coverage.
Overall coverage decreased (-32.7%) to 45.818%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/contracts/src/code/index.ts
0
1
0.0%

packages/contracts/src/index.ts
0
2
0.0%

packages/contracts/src/utils/testHelpers.ts
0
6
0.0%

packages/contracts/src/code/wallet.ts
0
8
0.0%

packages/contracts/src/signaturereg.ts
0
10
0.0%

packages/contracts/src/tokenreg.ts
0
15
0.0%

packages/contracts/src/githubhint.ts
0
17
0.0%

packages/contracts/src/githubhint.spec.ts
0
24
0.0%

packages/contracts/src/dappreg.ts
0
27
0.0%

packages/contracts/src/registry.spec.ts
0
27
0.0%

Files with Coverage Reduction
New Missed Lines
%

packages/api/src/util/types.ts
1
0.0%

packages/api/src/util/sha3.ts
11
0.0%

packages/api/src/util/wei.ts
13
0.0%

packages/api/src/transport/TransportError.ts
15
0.0%

packages/api/src/format/input.ts
20
0.0%

packages/api/src/util/encode.ts
33
0.0%

packages/api/src/util/decode.ts
44
0.0%

packages/api/src/util/format.ts
51
0.0%

Totals

Change from base Build 78:
-32.7%

Covered Lines:
798

Relevant Lines:
1737

💛  - Coveralls

Coveralls decreased because @parity/api tests are skipped (WIP).


Allow to configure number of workers per core

Currently the number of workers per core is hardcoded (see the corresponding part: https://github.com/stackrox/berserker/blob/73d84999e4e716de20ad8a25b4449b5c35398aac/src/main.rs#L49)
Make it configurable via main part of the configuration.

Implemented in cb060616c663ab25804934bf9e7b21e0d4bb79a9


[KYUUBI #3805] [FOLLOWUP] transform PySparkTests from trait to class to enable @PySparkTest

Why are the changes needed?

Annotation @PySparkTest introduced in https://github.com/apache/incubator-kyuubi/pull/3832 is not working on trait PySparkTests.
In order to close #3805, transforming PySparkTests from trait to class,  to enable @PySparkTest for skipping tests in nighty builds correctly.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

the failure unit test is irrelevant, merging to master.
- JpsApplicationOperation with jstat *** FAILED ***
  null equaled null (JpsApplicationOperationSuite.scala:56)
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
 52.96   0.00  47.73  59.37  93.91  93.59     24    0.479     5    0.736    1.214
 52.96   0.00  51.81  59.37  93.91  93.59     24    0.479     5    0.736    1.214


Moved to Sass and updated styles

Moved to Sass, added keyboard functionality, changed styles a bit to work full screen across different devices.

https://ryandeegan.github.io/Swearing-Xylophone/

https://github.com/DaftLimmy/Swearing-Xylophone/pull/4 maybe drop the keyboard functionality part

maybe drop the keyboard functionality part

Hmm. I think keyboard-only users would appreciate a swearing xylophone. Comes as a standard when moving to the semantic buttons markup anyway.

I did the keyboard functionality too, Limmy's response to my pull request:

Sorry but I'm not going to include this, I just want it to be clicked or touched. Plus nobody would know you can use the number keys unless I put some words below the xylophone, and I don't want the clutter. My apologies!

Isn't adding Sass and a build step a bit unnecessary for such a tiny project?

Isn't adding Sass and a build step a bit unnecessary for such a tiny project?

Maybe, but bugger writing actual CSS. Wanted to mess about with the styes so moving to Sass was a definite for me, probably got carried away with the Gulp file but gives the project a good base if anyone wanted to expand on it in future. Just messing about, nae hassle if it gets declined.

Thanks but I don't know what Sass is or why you want to change it to it? Are you on commission? What's going on here?

Thanks but I don't know what Sass is or why you want to change it to it? Are you on commission? What's going on here?

Haha, naw. I wanted to change the styles a bit and bring in some more modern layout styles with flexbox, but I've not written plain CSS in years so used Sass. Sass is a language that lets you use things like variables and functions, before it gets compiled to a CSS file which you can serve.
e.g. in my Sass file (with the use of a mixin):
.button {
    cursor: pointer;
    width: 100%;
    height: 100%;
    border: none;

    @include backgroundColor(1, #00ccff);
    @include backgroundColor(2, #ffff00);
    @include backgroundColor(3, #00ff00);
    @include backgroundColor(4, #fa0096);
    @include backgroundColor(5, #0f4295);
}

compiles to:
.button {
  cursor: pointer;
  width: 100%;
  height: 100%;
  border: none; }
  .button:nth-child(1) {
    background-color: #00ccff; }
    .button:nth-child(1):focus, .button:nth-child(1):active {
      outline: none;
      background-color: #00a3cc; }
  .button:nth-child(2) {
    background-color: #ffff00; }
    .button:nth-child(2):focus, .button:nth-child(2):active {
      outline: none;
      background-color: #cccc00; }
  .button:nth-child(3) {
    background-color: #00ff00; }
    .button:nth-child(3):focus, .button:nth-child(3):active {
      outline: none;
      background-color: #00cc00; }
  .button:nth-child(4) {
    background-color: #fa0096; }
    .button:nth-child(4):focus, .button:nth-child(4):active {
      outline: none;
      background-color: #c70077; }
  .button:nth-child(5) {
    background-color: #0f4295; }
    .button:nth-child(5):focus, .button:nth-child(5):active {
      outline: none;
      background-color: #0a2d67; }

Even without mixins etc., the nesting for hover states and media queries makes it nice to work with.
There's too many benefits of Sass to get into here but it's worth having a look into if you're gonna do much CSS in future. Give me a shout though if you take an interest in it and have any questions. I think most CSS devs will use either Less or Sass as a pre-processor to CSS (mostly Sass, I think).
https://sass-lang.com/documentation (I'm not on commission!).


[BUG] <There are more than 8 configuration items in the generalcontext plugin and an error is reported.>

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Expected Behavior
Solution:
1.The size of the "handle" field in the "rule" table of the database is 1024. Should the capacity be expanded.
2.Compress the JSON string volume by shortening the field name (consider how to upgrade smoothly)
Steps To Reproduce
No response
Environment
ShenYu version(s): 2.4.2 and master.

Debug logs
No response
Anything else?
No response

it can be fixed?

I can fix it.
Consider optimizing from the following two points.

Increase the length of the database field.
Consider compress the JSON string volume by shortening the field name.


When choosing link in tables, show options

ask addi cuz idk

we don't do this anyway we just abstract the link out and just use the id of the router xd


.NET 6 support

There is a problem with .NET 6 version while loading DbContext metadata. Possibly there are other issues.
Need investigation

I've added branch with fix. It seems that it is working now. The main question is if we need to force using EF Core 6 version with .NET 6.0 but not 5.0 or set minimum version 5.0 for both targets?

About EF Core, I guess we should try to leave it as EF Core 5.0 and just test both cases:

With a .NET 6 app and EF Core 5
With a .NET 6 app and EF Core 6

Related issue about new date & time types #61

I think we can close it


Suport simple player

[ ] Add AVPlayerViewController
[ ] Video scaling mode
[ ] Loop count
[ ] Sound control

@toygar thank you, circle ci tests are not passing, I cannot merge. can u check the circle ci test?


Info2 in plant picker reporting incorrect info

In adventure levels 2/2 and 2/3, pressing info2 reports "day", though they are actually night levels (Source).

Hey, thanks for the report!
Just patched the code, will be fixed in the next update.

Talking about the info 2 button, it would be great if its purpose changed within the gameplay. Previously, verbalizing the element in the current tile was necessary because the mod didn't do it automatically. However, now that reading the element is automatic, we could say it is irrelevant.
I propose something else: that the info 2 button serves to determine how many waves of zombies there will be in the game or how many have been surpassed. As far as I know, this is something visually displayed for sighted players.
This way, in levels with 3 waves, it could be something like: "Wave 1 of 3," "Wave 2 of 3," "Wave 3 of 3."
Yes, I'm aware that info 4 informs both about progress and the wave... There's something I'd like to ask. Could you make the same information button behave differently if pressed twice? For example, if info 2 can't be used as I propose, could you make it so that quickly pressing info 4 twice tells you the wave progress instead of the level progress as a percentage?

Having the plant/object information read automatically is a user choice, and can be turned off.
Info2 might be irrelevant for some users, but others may prefer to only read the plant information when they press the button, so they can navigate the board without it interrupting the zombie sonar.
Funnily enough, wave progress is something I added literally while you were making that comment.
The way I added, Info4 will say something like: "37%, wave 1 of 3"
Is that fine, or would you prefer a double-tap to read just the wave number?

How do you manage to be so efficient? You scare me! Maybe the double press on info 4 isn't necessary. Perhaps it's something you could implement later. Maybe the double press feature could be better utilized in other accessibility elements.
Maybe not now, but it would be interesting to try out how it would work if, by quickly pressing the slot buttons twice, the amount of sun required for their use could be read, without having to hear the name of the plant first.
Maybe this sounds strange to you, but many blind individuals like to do things as quickly as possible and acquire important information as fast as they can. For example, when you made the elements in the tiles read automatically, you made them read before the coordinate of that tile. It could have easily been something like "a1 sunflower," but that would slow things down for us. By reading it backward, you allow the relevant information to be vocalized first: "sunflower a1."
By the way, thank you very much for doing so.

Haha, it was just good timing.
The next update will have the double-tap actions for info4 and plant slots. Maybe some of the other inputs would benefit from this too.
And that doesn't sound strange at all. It was something I also wanted, after trying to complete adventure mode without any visuals. Relaying important information as efficiently as possible is one of the project's core goals.

Thanks a lot for the quick response! I actually really like how information is structured and relayed. It takes some getting used to but I find it seriously efficient.

Beta 1.13 fixes the Info2 day/night info, includes wave progress, and allows you to double-tap slot hotkeys and info4 to skip narration ahead.


fixed syntax error in usage example

Coverage remained the same at 100.0% when pulling fdaedf9321dd631070d69f6a0081217c8b65129b on jodevsa:master into 5f27135617efdc0b350e984abdb4d977334343c2 on ethanselzer:master.

@jodevsa - Thank you very much!


Changed Navbar

issue: #23
Navbar colour and shadow changed.

Thank You 😃

Hey, so you won't merge the contribution? Like, to be counted for hacktoberfest? I'm new to this :)

Hey, so you won't merge the contribution? Like, to be counted for hacktoberfest? I'm new to this :)

Hello, For hacktoberfest you don't need it to be merged if it's labeled hacktoberfest-accepted as you can check I have given you the label, And also you can check it on your profile on hacktoberfest site.
As far as Merging I will do it once I solve the conflicts it's showing in your PR but don't worry it does not effect your hacktoberfest contribution.
Thank You

Oh that's great! Thank you so much @Nish251103. Good day


Handling multiple instances of component in same game object

Describe the bug
Having the following setup in the player prefab:

Will cause only the top (first) component of the same type to execute the command on the server when the client does the RPC.
Repro project
repro.zip
1- Run one editor instance in server mode.
2- Run one editor instance in client mode.
3- Press editor button in the second instance of the component.
Expected behavior
The same instance should receive the command and the bool should switch, not the first one of the game object.
Additional context
UNET behaves the same way. If this is expected behaviour would a fixed implementation be merged into mirror?

Thank you @uecarlos for reporting this issue.
Yes this issue was inherited from HLAPI,  but we can (and should) fix it in Mirror.
I cannot test it right now,  but can you please see if this build resolves the issue?
https://ci.appveyor.com/project/vis2k73562/hlapi-community-edition/builds/19645798/artifacts
if you validate it,  I will go ahead and fix ClientRPC, TargetRPC and NetworkEvents as well,  they suffer the same bug.

Thanks for the quick fix. I will try it on monday.

I validated your fix. Everything works as expected with that build 😄

I validated the fix. Everything works as expected 👍

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


🐛 Bug Report: Docker container gets closed quickly after starting, using server.py based on aiohttp version

Before You Proceed
To clarify and prevent any confusion:

openRuntimesVersion is set to v3 while running appwrite run function command in this issue. However, the problem is not related to the Open Runtimes version itself but is instead associated with an issue in server.py introduced in v4.

Why I Set openRuntimesVersion to v3:

I configured openRuntimesVersion to v3 due to a configuration issue within the container, as detailed in #322

Why I Am Not Using server.py from v3:

The server.py in v3 has its own code issues:

It utilizes WSGI instead of ASGI, leading to compatibility problems.
This mismatch causes silent failures and the server returns 500 status code.

Reproduction Steps:
These steps apply to both v4 and v3 environments using openRuntimesVersion in the Appwrite CLI.

Modify openRuntimesVersion Version:

Navigate to node_modules/appwrite-cli/lib/emulation/utils.js.
Change the openRuntimesVersion to v3.

Update Python Start Command:

In the same utils.js file, update the systemTools.python.startCommand to:python3 src/function/src/server.py

Ensure you are using the latest server.py placed in your src folder.

Have a look at the highlighted files

Run the Function:

Execute the command:appwrite run function

Select your desired function when prompted.

Observe Container Behavior:

The container will start, then close, start again, and close once more.
This rapid start-stop cycle may occur too quickly to notice unless closely monitored.

Expected Behavior:
The container should remain active and properly handle function executions without unexpected closures.

Actual Behavior:

v4: The container starts but closes automatically due to code issues in server.py.

Root Cause:

The primary issue stems from the event loop not running within the container. Without an active event loop, the container interprets all tasks as completed and proceeds to shut down. - I am talking about the latest version (server.py)

Additional Information:
Relevant Files:

v4 server.py

Environment:

Appwrite Version: v4
CLI Path: node_modules/appwrite-cli/lib/emulation/utils.js
Operating System: Windows

Thank you for addressing this issue!

PR Raised.


Fix error message being printed when importing an OBJ with no surfaces

An OBJ with no surfaces is valid, and typically happens when you import an OBJ mesh with no associated MTL file.
Previously, this was printed every time you imported such an OBJ:
ERROR: Index p_surface = -1 is out of bounds (surfaces.size() = 0).
   at: set_surface_name (./scene/resources/3d/importer_mesh.cpp:216)

Testing project: test_obj_import_no_surfaces.zip

Thanks!


Desktop.Team member: Implementation of Team member component

Needs to implement component according with design-mock-up

#26

Tested


Forwarding an album

In telethon, there is an events.Album to get the album, recently implemented.
I need to forward this album without breaking captions or into multiple messages. How can I do this?

garnet.events.Album is just a patched version of telethon.events.Album, not sure what could possible break. can you show traceback and code to reproduce?

There is nothing breaking, so basically no traceback/exceptions. It's just that it is not working as expected.
I'll share what I experienced, I have sent an album with two photos in a channel. But in updates, I'm receiving this one album as two separate mesages. My goal is to forward this album to another channel, and when I do that, it's landing as two separate images instead of one album

Is it working in telethon?

I don't have the code sample, but I did tried in telethon. It worked as expected (2 images in one post with captions as well).

Well, telethon depends on telethon. Install the newest telethon with garnet

@GauthamramRavichandran, how did it go, can we close this one for now?

@GauthamramRavichandran ping :ping_pong:

Sorry, couldn't check on this for a few days. This is the version I'm using (I even pulled out the latest master branch of telethon)
telegram-garnet==0.3.0
Telethon==1.14.0

I just tested now on garnet, send an album with two photos in a channel => bot is to forward the album but it forwarded as two separate photos
But in plain telethon, I tested which forwarded as an album

@GauthamramRavichandran, can you reproduce it with new garnet?


Breadcrumbs not included in uncaught exceptions

It seems like breadcrumbs logged with Bugsnag+leaveBreadcrumbWithMessage: is not included when logging uncaught nsexceptions.
Root cause seems to be that the breadcrumbs are only added to configuration.metaData in notify:withData:atSeverity:atDepth: which only seems to be used for manually reported exceptions.
When KSCrash calls serialize_bugsnag_data (as it's onCrash callback) for other exception types breadcrumbs will not be in the meta data struct.
Manually hacking the situation by calling [[Bugsnag performSelector:@selector(notifier)] performSelector:@selector(serializeBreadcrumbs)]; after each call to leaveBreadcrumbWithMessage seems to work around the issue.

Thank you for the report, @anderscarling. You are correct that the latest release does not include breadcrumbs with uncaught exceptions. However this issue has been resolved per #86, which should be released later this week.

Cool, thanks! Sorry that I didn't check recent changes before writing up an issue.

No problem, glad to help!


More language support

Same as #3 when doing Solidity development the plugin doesn't work.

Hi @NoahMarconi  what file extension do you when working with Solidity

*.sol

Plugin allows for Solidity files


Associative array support

Hello!
Does the tool support associative arrays?
I tried to define a task with arrays something like this one:
declare -A demo
demo["main"]="Main demo"
demo["json-min"]="JSON min"
demo["load-session"]="Load session"

for i in ${!demo[@]}; do
 	echo "$i-> ${demo[$i]}"
done

output of xc:
imgur｜ + demo='Main demo'
imgur｜ + demo='JSON min'
imgur｜ + demo='Load session'
imgur｜ + for i in ${!demo[@]}
imgur｜ + echo '0 -> Load session'
imgur｜ 0 -> Load session

The interpreter I use is https://github.com/mvdan/sh
Which should support this... I'll investigate.

I managed to get your example working with the following:
declare -A demo=()
demo["main"]="Main demo"
demo["json-min"]="JSON min"
demo["load-session"]="Load session"

for i in ${!demo[@]}; do
 	echo "$i-> ${demo[$i]}"
done

If that isn't sufficient then I recommend raising an issue on:
https://github.com/mvdan/sh

So my mistake was in the array declaration, got it, now it works, thanks!

Great! Thanks for reporting back!


Fix request body getting dropped when building PlayWebContext

Fix for issue 142 at https://github.com/pac4j/play-pac4j/issues/142

Thanks. I will test it.


Choose correct instance

Summary
Add an instance attribute to backend so when using get_backend(), the correct instance is chosen
fixes #409
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-1 of 3 (66.67%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 35.201%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit_ibm_provider/ibm_provider.py
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

qiskit_ibm_provider/ibm_provider.py
1
59.74%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
2689

Relevant Lines:
7639

💛  - Coveralls


Does not support projects without index.html

Thanks for your work on this!  It's really an incredible tool 🙌
Our apps have a requirement that they need to integrate with legacy code, so our setup imports main.ts as a module from a separate html file built by a django server, and the transformIndexHtml method of injection doesn't properly inject the devtools.
I noticed that the vite-plugin-vue-inspector project supports an appendTo config option, which supports our configuration.
Would it be possible for this project to support this config option as well?

##I believe this is the same issue I'm running into in #55 as we don't use an index.html file in our project either

Is there an example of how this can be used? I generate a manifest and inject the main module. Not sure how to find the right ID.


How do I create custom predicates?

I'm currently attempting to create custom predicates by writing this code:
require 'dry-validation'

module Predicates
  include Dry::Logic::Predicates

  predicate(:uuid?) do |value|
    !Types::UUID_REGEX.match(value.to_s).nil?
  end
end

class BaseContract < Dry::Validation::Contract
  include Predicates

  params do
    required(:aggregate_id)
    required(:section_id).filled(:uuid?)
  end
end

However, this code raises an exception:
dry-schema-0.5.1/lib/dry/schema/trace.rb:104:in `method_missing': uuid? predicate is not defined (ArgumentError)

What am I doing wrong here?
I couldn't find any documentation for this in dry-validation, or dry-logic.
 I would actually accept a PR that adds it (see https://github.com/dry-rb/dry-logic/issues/43)
In general, custom predicates will be discouraged in dry-validation 1.0.0 because schemas should be used for simple checks and rule should be used for other, for domain-specific validations.

Thanks @solnic.
So just to double check: we should definitely be using rules here instead of new predicates?

I’ve looked at #43 and the uuid-tools gem and the gem’s code is scary byte stuff with Ruby that I don’t want to tinker with. Braver souls might prevail.

So just to double check: we should definitely be using rules here instead of new predicates?

For a type-check like uuid? I would say a predicate makes sense but ie for checking if the value is unique (in the db sense) it should be a rule.

I’ve looked at #43 and the uuid-tools gem and the gem’s code is scary byte stuff with Ruby that I don’t want to tinker with. Braver souls might prevail.

Yeah UUIDs are actually more complex than some people may think 😄 Maybe we could add a simple regex-based check to cover the common case.


View page with JS off

Do you plan to create the homepage also in a mode when JS is off ?
I surf on the web with JS off by default and it would be nice to see your page also in JS off mode.

stale


Update tutorial.md

TODO:

Step "3. Rename the datasets" can be updated to specify why this is required.
"Warning: Not all browsers work!" can be updated to suggest some browsers that do work.

Some great catches here, thanks! Check the suggestions above and commit or change, and we should be able to review and merge this!


[#113996375] HA for Logsearch

What
The full write-up is available on pivotal.
This PR ensures that we have one instance of each Logsearch component in both Z1 and Z2 with ELBs to balance across each of the relevant services. It also splits ES across Z1, Z2, and Z3, with one master and one data node in each zone.
How to review
Spin up the cluster, then load kibana on http://kibana.[$ENV].dev.paas.alphagov.co.uk. You'll need to add a Kibana filter of *, then hit the Discover button. You should see data rolling in.
Head to the EC2 dashboard and kill an Ingestor node, you should still see data coming in. Do the same for a Kibana node and an Elasticsearch node. Everything should keep working.
If you kill a Parser node you'll still be getting data, but 50% of it will be missing unless the Ingestor is also killed. This is documented in the write-up.
Who can review
Not @jonty or @jimconner, as Jim is on holiday and Jonty is taking one after resolving so many merge conflicts.

I'm testing this on a branch that has been rebased against master to include the merged pipelines in #138. When you get a change could you rebase this PR?

@dcarley Rebased.

Stopped the following and it still seems to be working fine*:
/tmp/build/e55deab7 # bosh vms | grep stopped
Acting as user 'admin' on 'my-bosh'
| elasticsearch_data_z1/0 (3d61c47d-bb54-4c4e-9028-711ed58e60d9)            | stopped | n/a | medium_z1         | <IP_ADDRESS> |
| elasticsearch_master_z1/0 (34e8bfa1-309b-4cdb-8741-e28d93e6fbac)          | stopped | n/a | elastic_master_z1 | <IP_ADDRESS> |
| ingestor_z1/0 (00e981e8-904f-4853-aecc-9a00500c5a6a)                      | stopped | n/a | ingestor_z1       | <IP_ADDRESS> |

the histogram with auto-refresh enabled is still showing the same amount of data

Have resolved all comments, and pulled the Kibana HA work into a different branch to be merged when it has been SSL enabled.

Comments resolved and re-tested. As mentioned in Slack, I've added three commits for something that Jonty ran out of time to address - I'd like someone else to look at them (not necessarily test) and confirm that they make sense before I merge this.

Jonty Wareing [16:27]
dcarley: They look good to me!


BAU - Fix Go 1.18 bits

Description:

No need to add a GOPATH as we can use the golang docker image default

Renamed branch here https://github.com/alphagov/paas-rds-broker/pull/157


Implement a 'remote_host' matcher

I would like to see this module include a 'remote_host' matcher, similar to the one in the caddy-remote-host module. I'm running this within docker, so it'd be preferable to refer to the containers based on their names instead of their IPs.
Please also consider adding an option to include the hostname in the debug logs rather than just the IP.

The problem with that is it requires expensive DNS lookups in a hot path.

That may be fine; PRs welcome.


[FEAT]: simple installation script - like rustup

🌟 Feature Request
📝 Description
Create simple installation script that would autodetect the current OS, download the latest era-test-node and do the setup (similar to rustup)
🤔 Rationale
Makes it easier for the users.
📋 Additional Context
The base minimum is to download the latest era-test-node. Bonus points if it could also manage multiple versions (similar to rust).

For awareness, this is already covered with npx zksync-cli dev start


Starter project: arrow keys to pan map

Panning the map today uses the mouse to click and drag. Players also expect to use arrow keys. This is pretty simple to add to https://github.com/dabreegster/abstreet/blob/573edbd13e5aa4bedba0bd819d3d7b32dba11b59/ezgui/src/canvas.rs#L93, but the complication is that arrow keys are currently used in some GUI menus. I think there are cases where the menus are active, but the player can still drag around the map underneath. We should probably redesign that a bit first, or maybe just disable canvas map scrolling by arrow key in that case.

I could try this if still needed

Sure, this would still be useful! I think when popup menus using arrow keys are open now, the map underneath can't be interacted with at all, so there shouldn't usually be a conflict over the keys. Should be pretty straightforward -- let me know if not.


Caption included in headings

As raised on https://gitter.im/XGovFormBuilder/community - May 07 @16:25
The top level, or caption, has been included in the heading of the page, this is contrary to current GOV.UK Design System guidelines for a question page.
Expected behaviour
To follow GOV.UK Design System guidelines
Screenshots

Repository

designer and runner

Desktop (please complete the following information):
All of the below

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):
All of the below

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Raised on a recent accessibility report so would apply across all services

@alison0 Is this another issue with markup? The current design system has no problem with sections (e.g. https://design-system.service.gov.uk/patterns/question-pages/section-headings/index.html)

It is complaining about the Caption - 'Your details', but as you know this is on all the questions if we include a section. Has this been past as acceptable?
Report states "The top level, or caption, has been included in the heading of the page, this is contrary to
current GOV.UK Design System guidelines for a question page."
The report suggests - "The page heading should relate specifically to the information being asked for on the
current page, not any higher-level section the page is part of. The .govuk-caption should be
placed outside the ."
Is this contrary to what you are being told?

Apologies, not sure why that went big and bold!

it had put it as a h1 heading.

@superafroman has suggested moving section title outside of h1, since it is not semantically part of the question. I'll pick this up


Refactor (phase 1 - sample_table_loader) to remove the validation database

Summary Change Description
The refactors necessary to remove the validation database will be done in phases and will address the original reasons why the validation interface had to use a second database, primarily: load scripts have side-effects in dry-run mode and loading of the accucor data requires the sample load to have been completed.
This is phase 1 of a loading refactor, and it is specifically for the sample table load.  The requirements listed below are planned in phases.  At each phase, I plan to put out a PR for each load script where the listed requirements for that phase shown below are implemented.
 Load scripts generate as many actionable errors as possible in 1 run
[x] 2. If a load action in the script requires input involved in a previous error, skip that load action
[x] 3. Make it possible to control the verbosity of the loads
[x] 4. Raise error on unknown headers

accucor_data_loader

[ ] 1. Load scripts generate as many actionable errors as possible in 1 run
[ ] 2. If a load action in the script requires input involved in a previous error, skip that load action
[ ] 3. Make it possible to control the verbosity of the loads
[ ] 4. Raise error on unknown headers

Subsequent Phases

Phase 2

5. Make it possible to defer mass auto-updates outside of the load scripts (so it can be run by either load_study or load_study_set)

Phase 3

6. Dry-run mode has no database side-effects (when not run in --validate mode)

6.1. Wrap loading code in an atomic transaction

Phase 4

7. Validation page works by running in dry-run mode on the main database

Phase 5

8. Remove the validation database

8.1. Remove .using(db), .save(using=db), and if self.db == settings.TRACEBASE_DB: rec.full_clean()
8.2. Revert database settings
8.3. Update docs

Affected Issue Numbers

Partially addresses #580 - Implements phase 1 on sample table loading

Code Review Notes
I basically re-wrote the sample_table_loader.  I tried to encapsulate the load of each model.  I separated the check on the column headers from the check on the values extracted from a row.  If a required input to those methods is not present, that load is skipped.  Errors are all buffered and reported in a single AggregatedErrors exception.
I have not implemented the unchecked tests listed below, but given my efforts are split now on another project, I am being selective about the tests I implement.  Create an issue if you feel the tests I did not implement (or any other tests) should be added.

[x] 1. Load scripts generate as many actionable errors as possible in 1 run - test that self.errors can contain multiple errors
[ ] 2. If a load action in the script requires input involved in a previous error, skip that load action - test that (e.g.) a tissue error will not be followed by a sample error in the same run

Make it possible to control the verbosity of the loads - unnecessary test

[ ] 4. Raise error on unknown headers - input a bad header for an optional column and check that an error about it is raised

Checklist

[x] All issue requirements satisfied (or no linked issues)

Phase 1 for sample table loads

[x] Linting passes.
[x] Migrations created & committed (or no model changes)
Tests

[ ] Tests implemented (or no code changes)
[x] All multi_working tag tests pass locally
[x] All example load tests pass (remotely) (or their failures predated and are unrelated to this branch)

Well gee, the tests all passed locally. I'll fix this tomorrow.

Well gee, the tests all passed locally. I'll fix this tomorrow.

So this turned out to be a sample load in the yaml file (not in the unit tests).  The file being loaded didn't meet the new requirement of not having unknown headers (even if optional).  It had "Animal State", but the default config was "Feeding Status" (or similar), so it raised an exception.  I just fixed the header in the file to match the default config.

Changed the base branch to main. Still awaiting review...

This seems to clean up a lot of the loading code. I had a few small comments/questions inline.
One thing I would ask, however, is that this get tested with the data in https://github.com/PrincetonUniversity/tracebase-rabinowitz-data to make sure we understand any changes that might be needed and make sure we can still load the data properly. Once that is done, I'm ok to approve.

The only thing it may change is that it may find problems that were previously overlooked, but that's a reasonable request.

[ ] Run all the rabinowitz data

This seems to clean up a lot of the loading code. I had a few small comments/questions inline.
One thing I would ask, however, is that this get tested with the data in https://github.com/PrincetonUniversity/tracebase-rabinowitz-data to make sure we understand any changes that might be needed and make sure we can still load the data properly. Once that is done, I'm ok to approve.

The only thing it may change is that it may find problems that were previously overlooked, but that's a reasonable request.

[ ]  Run all the rabinowitz data

OK, I have a test load going of the current rabinowitz data on my machine...  I created a second clone of the tracebase repo so I could do other work while it ran...
# Create a new tracebase clone
git clone https://github.com/PrincetonUniversity/tracebase.git
mv tracebase-clone tracebase2
cd tracebase2
cp ../tracebase/TraceBase/.env TraceBase/
open -e TraceBase/.env    # Changed the database names to append "2"
# Checked out my latest branch

# Set up a new database
createdb -U postgres -O tracebase tracebase2
createdb -U postgres -O tracebase tracebase_validation2
python manage.py makemigrations
python manage.py migrate
python manage.py createcachetable
python manage.py migrate --database validation
python manage.py createcachetable --database validation

# Using my refreshed clone of github.com/PrincetonUniversity/tracebase-rabinowitz-data.git ...
python manage.py load_study_set ../tracebase-rabinowitz-data/study_set_list.txt

Already (before I submitted this comment), it has reported a conflict in the load data:
Aggregated error details:
	ERROR1: ConflictingValueError: Conflicting values encountered in Sample record [SH.refed.[U-13C]sodium lactate.M2_M2_SrTC1] for the [animal] field:
	database value: [SH.refed.[U-13C]sodium lactate.M2]
	load data value: [SH.refed.[U-13C]sodium lactate.M1].

It's from the fluxomics 2020 data and I confirmed there's a problem.  I just looked at the animals and samples spreadsheet and there is an identical sample name on 2 different rows belonging to 2 different animals:

This is a lot to chew on, and I would usually not try to merge something like this in immediately before a demo (couple weeks?).

As Lance and I previously agreed (though I think this was also discussed in a meeting), there is currently no intention to push any of these changes out to production, so we are on the same page there.  However, main is the bleeding edge and any quick changes that need to be pushed to production can be done in any case, regardless of the merging of the PRs in this phased series.

That being said , I definitely like the concepts of aggregated errors and some of the additional consistency checks.

🙏🏻

I am not too comfortable with updates being performed during loading, but perhaps I was confusing the augmentation of a "shell" record created/retrieved by unique name and the updating of a previously loaded record with a different set of attributes (created vs retrieved semantics).

You were correct WRT the current code in this PR, but my proposals under the other thread will change that so that previously loaded data is not updated.  It will also require a value for study description as a part of that (and eliminate the hacky empty string and revert Study.description.null back to False).

Might need to discuss those in group, though...
Made comments and questions that came to mind.

Thanks for the review!  I will be marching through the items directly.

This PR improves the error checking of the loading code, and thus, I think it can be merged, but only after any necessary changes are made to the data in tracebase-rabionowitz-data (PrincetonUniversity/tracebase-rabinowitz-data#57, PrincetonUniversity/tracebase-rabinowitz-data#58, PrincetonUniversity/tracebase-rabinowitz-data#59).

I concede, though I wouldn't necessarily hinge merging to main be based on the data repo updates.  I expect the data fixes will be addressed in short enough order, but I would think that the thing that would wait would be pushing these changes to production.  The example data was updated, which is what I would think would be necessary for the merge into main.

At some point, it might be helpful to discuss the overall approach to loading. To me, this code has become increasingly complex,

On the contrary, I think this PR made a significant step toward simplification, with 1 exception: buffering of exceptions and skipping of rows/tables with exceptions, which meets the goal of letting users know as much as needs fixed as possible on each check/fix iteration.  I have intentions for further simplification, as has been discussed in this PR:

Supply all fields to get_or_create
Base required columns on Model field properties
probably some others...

The code is much more organized, but I refrained from making changes that could have unanticipated consequences, or would change the raised (and currently caught) exceptions.

and while that might be necessary, I think some of the complexity could be mitigated by the approach. @fkang-pu has advocated for separate code to perform validation checks instead of relying on the model validity checks, which this PR now seems to at least partially implement. Perhaps, if we separate those two concerns we could simplify things.

I had actually considered creating a separate validate method to make the sample table loader consistent with the accucor data loader and had started to implement it, but quickly reversed course.  The validate method in the accucor data loader had side-effects and unintended database queries, and I address that in the next PR by putting it inside the atomic transaction block.  I realized it also would involve a lot of duplicate/unnecessary code to check the database for conflicting values, like is done under infusate.
So I think I would probably lean in the opposite direction and rely on the model checks where possible, except in cases that involve things like controlled nomenclature, such as researcher name spellings and other fields that allow anything, but we want consistent vocabulary.  The more we can rely on the model to check things, the less code we will need in the loader.

This PR improves the error checking of the loading code, and thus, I think it can be merged, but only after any necessary changes are made to the data in tracebase-rabionowitz-data (PrincetonUniversity/tracebase-rabinowitz-data#57, PrincetonUniversity/tracebase-rabinowitz-data#58, PrincetonUniversity/tracebase-rabinowitz-data#59).

I concede, though I wouldn't necessarily hinge merging to main be based on the data repo updates. I expect the data fixes will be addressed in short enough order, but I would think that the thing that would wait would be pushing these changes to production. The example data was updated, which is what I would think would be necessary for the merge into main.

That's a good point, and perhaps we shouldn't hold this up waiting to update the data. However, there are two things that make we want to hold things up.

We use the loading code on our dev machines to test the loading and the CI checks for the data use the main branch. While ideally we could work on the loading using the "production version", that's not how we currently do it.
I want to make sure that we address those data issues ASAP, and holding this up helps to ensure we do that.

Not totally great reasons, I agree, but nonetheless, I'd be more comfortable if we ensure that main is functional for our needs as much as we can.

So I think I would probably lean in the opposite direction and rely on the model checks where possible, except in cases that involve things like controlled nomenclature, such as researcher name spellings and other fields that allow anything, but we want consistent vocabulary. The more we can rely on the model to check things, the less code we will need in the loader.

I would agree that would be my preferred direction. When feasible, it's nice to have a single method of checking validity and not have to maintain two separate checks (the validation and the model). Regardless, these are design decisions that should we should discuss as a group.

We use the loading code on our dev machines to test the loading and the CI checks for the data use the main branch. While ideally we could work on the loading using the "production version", that's not how we currently do it.

Well, the good news is that PR #606 seems to have fixed the database side-effects in dry-run mode (at least for the sample loader), though now that I'm thinking about it, I should add a corresponding test of the accucor data loader and at least take a peak at the other load scripts (protocols, compounds, and tissues).

One idea I had, inspired by Fan's overall PR comment was regarding the pandas stage.  The check on sample name uniqueness would be simpler if it was just done on the samples sheet.  Instead, it's performed on a merge of the sample and Animal sheet.  And if there are animals in multiple studies on the animals sheet, the merged sample/animal data has legitimate duplicates, stemming from the multiple studies.  I'd have missed that if Fam hadn't created test data that had this case.

All issues are addressed.  Unless new issues arise in Nibal's review, this PR will be merged once the data issues in the data repo are fixed, as per previously agreed discussion in the comments.


Question: Correct way to load bootstrap-accessibility

I'm probably missing something really dumb here, but I don't understand the correct way to load this plugin.
The default instructions say just add to your scripts section after bootstrap.
However the plugin contains lots of DOM manipulation code like:
$('.alert').attr('role', 'alert')
This runs before our dom is ready so none of these DOM manipulations get applied.
What am I not understanding?
Thanks
Martin

Just to clarify, although Lazy-loading is an option, if this plugin is not Lazy-loaded, it must be inserted at the end of the <body> of the document, not in the <head>; the features do not work if the script is included in the <head>. The section in the README.md does not make this clear.
I'm surprised that all the initialization in this plugin isn't wrapped in a $(function(){...}), so it gets run on document ready; am I missing something?


Add Favorite Songs

Would love to be able to start/favorite songs :)
A simple version could be implemented using local storage? What do you think? I wouldn't mind trying to get something working.

What are you picturing? I could see a few things happening:

Favoriting a song in the extension makes it display differently if that song ever comes up on a station later, like a ❤ is shown next to it.
The user could view a list of their favorite songs on a new view in the extension. Maybe the favorites list is only accessible via the Options page, as a kind of export feature.
Users could connect with Last.fm or Spotify via OAuth and favoriting a song in the extension results in that song being loved on Last.fm or saved to your library on Spotify. This would require matching the song to one on Last.fm/Spotify, which can be hairy. We don't want to go saving some karaoke version, for example.

Points 1 and 2 pretty much described what I was thinking. I like to favorite songs on the soma website so it would be awesome if it could be done in the extension as well.

Nice feature. That what I'm missing now, probably will try to make a PR with this feature.


gzuncompress(): data error in kint.php on line 172

Lately when ever I try to call kint's class function d() on new server installs I often get the error message:
`Warning: gzuncompress(): data error in kint.php on line 172
Fatal error: Call to undefined function d() in test-kint-call.php on line 7`
I've read that the gzuncompress() function is outdated and it can trigger fatal errors on newer server configurations. Obviously I can't edit the obfuscated kint source to try other gzip decompression functions. This has also happened on client shared servers where I do not have root access so I can't update any ini or configs.
From what I've read gzdecode() should be used instead.
Is there any way this can be fixed or is there something I'm missing?
Thanks for any help.

Hmm - I presume you're putting the file on the server via FTP? Can you try transferring in binary mode?

Will do... oddly enough, when I try referencing kint from certain directories, it does work.. I will try to upload in bin mode and report back...

That sounds... Really weird... Anyway, the file I have here is md5 70de6386507bed4bd941c9e84f7dc5ea if you want to confirm via shell

Setting my ftp client to binary mode seams to fixes this issue. Any ideas why this would happen?
Also, should I be using binary mode all the time? Thanks for any info.

PHP files are typically text - so ASCII mode should be plenty to transfer stuff. However, the kint 2 build file contains a large binary string that's evalled so that I could fit it all in one file and still support 5.1 (Which doesn't support phar files) so you have bytes in there that flat out can't be represented with the limited ASCII set. (Typically your FTP client will automatically pick binary for images and ASCII for text but it got confused by a php file with binary data in it)
Additional differences are that ASCII mode will change line endings when you send files between windows/unix.
Since ASCII mode is only 12.5% lower bandwidth use than binary I personally always use binary to prevent issues like this one. I'd rather have my files show up on the server exactly the way I made them.
Glad I could help

Ahhh that makes total sense thanks!!


Teacher Dashboard UI

Use elements from the Material 3 Flutter samples app: https://flutter.github.io/samples/material_3.html
Color scheme is M3 Baseline


smbclient/gencache name caching can cause test failures

Ideally, the tests run like they do in the CI, once per cluster. But when developing and/or testing locally there are good reasons to reuse a k8s cluster. The tests don't tear down certain resources like smbclient. Unfortunately, using smbclient to connect to one dns name places a cache record in gencache.tdb that seems to outlive the TTL for the record as served up by Coredns in the k8s cluster.
This issues is more a reminder that the problem lurks rather than something that needs to be resolved immediately.

There's a hacky workaround in place, but we should do more to investigate this and understand better if this should be fixed at the container level.


Try solve failing windows CI

References and relevant issues
Description

At what point do we consider dropping PySide2, at least from pip installs?
It seems like there is no support outside commercial:
https://www.qt.io/blog/qt-5.15-extended-support-for-subscription-license-holders
hence no action on pypi.
Related issue: https://github.com/napari/napari/issues/6381
conda-forge is also beginning to fall behind:
https://anaconda.org/conda-forge/pyside2


Increase the dynamic endpoints (CON-666)

Hello,
I'm currently working on bridge-app examples to build bridge between matter and non-matter devices.
In the examples bridge-app/esp32 the max endpoints can be added is 16. Unable to find the macro configuration in the menuconfig.
Tried including the file <config/standalone/CHIPProjectConfig.h> and changing the macro value, but it is overridden as 16 endpoints.

CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT
CONFIG_ESP_MATTER_AGGREGATOR_ENDPOINT_COUNT

could you please tell the where the macros are defiend. unable to find macro definiton.
esp-idf:v4.4.3
matter:release/v1.0

@HARRYhelenH you can change the setting under Component config -> ESP Matter -> Maximum device types per endpoint by running idf.py menuconfig.

In the bridge-app/esp32 examples I don't have this configuration.
But the endpoints can be increased in the cmakelist file  by changing the count in the command:
idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++14;-Os;-DCHIP_HAVE_CONFIG_H;-DCHIP_DEVICE_CONFIG_DYNAMIC_ENDPOINT_COUNT=16" APPEND)


Updating password should be done in provision task

https://github.com/wttech/gradle-aem-plugin/blob/master/src/main/kotlin/com/cognifide/gradle/aem/common/instance/LocalInstance.kt#L308
the side effect possible is that when calling instanceUp task is implemented as  starting systemd service, then when instance is already up then there is no effective trigger that will cause updating password.
as a workaround now AEM instance need to be manually restarted in such case or additional instanceUp gradle task call need to be run to have desired password set up.
to be implemented as provisioner built-in step or explicitly defined
provisioner { updateAdminPassword() }
reported by @krzysztofadamowski

hmm or it could stay as is but password should be provided as environment variable passed to the VM via custom_data (cloud init) as mentioned in wttech-private/gat#235
and GAP should be able to read that value; e.g when there is no instance.default.password assigned GAP will read value from AEM_INSTANCE_PASSWORD

env var need to be somehow injected here if password is not explicitly defined as Java property


Fix casting in namedtuple ctor.

As title, sorts out literals in ctor args but types
in the ctor return type. Also fixes a bug in closure
inlining which incorrectly assumes a value is a string.
Fixes #3813

Looks good.  Just waiting for CI to pass.

CI passed. Marking for merge. Thanks for the review @sklam


Adds ffmpeg to  support OpenCV

ffmpeg is needed to build OpenCV
I have some doubts about enabling CUDA since then I must use the --enable-nonfree configure flag

@Halolegend94 , may I suggest to temporarily edit the cygnet file, to leave the "non-free" option commented out?
Then have a check on whether we can install the non-free component site-wide. If we can, you can turn the "non-free" option back on.
Possibly, can you check how the current ffmpeg on Topaz was installed?
thanks, M


Toolkit fails when one or more transactions are selected in account view.

Name of Defective Feature
-Toolkit fails when multiple transactions are clicked on (batches) in account view
System Settings (Required)

ToolKit Version: 2.7.1
Operating System (Mac/Windows/Etc): Ubuntu Linux 18.04 LTS
Browser (Chrome/Firefox/Safari): Chromium
Browser Version: 66.0.3359.181
Other Extensions:

Export of Toolkit Settings (Bottom Left of Settings Page)

Settings Export
PASTE SETTING EXPORT HERE

[{"key":"AccountsDisplayDensity","value":"0"},{"key":"AccountsEmphasizedOutflows","value":true},{"key":"AccountsStripedRows","value":true},{"key":"AdditionalColumns","value":true},{"key":"AdjustableColumnWidths","value":true},{"key":"AutoDistributeSplits","value":true},{"key":"BetterScrollbars","value":"0"},{"key":"BudgetCategoryFeatures","value":true},{"key":"BudgetProgressBars","value":"0"},{"key":"BudgetQuickSwitch","value":true},{"key":"CalendarFirstDay","value":"6"},{"key":"CategoryActivityCopy","value":true},{"key":"CategoryActivityPopupWidth","value":"0"},{"key":"ChangeEnterBehavior","value":true},{"key":"CheckCreditBalances","value":true},{"key":"CheckNumbers","value":false},{"key":"ClearSelection","value":true},{"key":"CollapseSideMenu","value":true},{"key":"ColourBlindMode","value":false},{"key":"CompactIncomeVsExpense","value":false},{"key":"CreditCardEmoji","value":false},{"key":"CurrentMonthIndicator","value":true},{"key":"CustomFlagNames","value":true},{"key":"DaysOfBuffering","value":true},{"key":"DaysOfBufferingHistoryLookup","value":"0"},{"key":"DisableToolkit","value":false},{"key":"DisplayTargetGoalAmount","value":"2"},{"key":"DisplayTotalMonthlyGoals","value":false},{"key":"DisplayUpcomingAmount","value":false},{"key":"EasyTransactionApproval","value":false},{"key":"EditAccountButton","value":"0"},{"key":"EnableRetroCalculator","value":true},{"key":"EnlargeCategoriesDropdown","value":true},{"key":"EnterToMove","value":true},{"key":"GoalIndicator","value":true},{"key":"GoalWarningColor","value":true},{"key":"GoogleFontsSelector","value":"0"},{"key":"HideAccountBalancesType","value":"0"},{"key":"HideAgeOfMoney","value":true},{"key":"HideHelp","value":true},{"key":"HideReferralBanner","value":true},{"key":"HighlightNegatives","value":true},{"key":"ImportNotification","value":"0"},{"key":"IncomeFromLastMonth","value":"0"},{"key":"IncomeVsExpenseHoverHighlight","value":true},{"key":"LargerClickableIcons","value":true},{"key":"MonthlyNotesPopupWidth","value":"0"},{"key":"NavDisplayDensity","value":"0"},{"key":"Pacing","value":"0"},{"key":"PrintingImprovements","value":true},{"key":"PrivacyMode","value":"0"},{"key":"QuickBudgetWarning","value":true},{"key":"ReconciledTextColor","value":"0"},{"key":"RemovePositiveHighlight","value":true},{"key":"RemoveZeroCategories","value":false},{"key":"ResizeInspector","value":true},{"key":"RightClickToEdit","value":true},{"key":"RowHeight","value":"0"},{"key":"RowsHeight","value":"0"},{"key":"RunningBalance","value":"1"},{"key":"SeamlessBudgetHeader","value":true},{"key":"ShowCategoryBalance","value":true},{"key":"ShowIntercom","value":true},{"key":"SpareChange","value":true},{"key":"SplitKeyboardShortcut","value":true},{"key":"SplitTransactionAutoAdjust","value":false},{"key":"SquareNegativeMode","value":true},{"key":"StealingFromFuture","value":true},{"key":"SwapClearedFlagged","value":false},{"key":"TargetBalanceWarning","value":true},{"key":"ToBeBudgetedWarning","value":true},{"key":"ToggleMasterCategories","value":true},{"key":"ToggleSplits","value":true},{"key":"ToggleTransactionFilters","value":"0"},{"key":"TransactionGridFeatures","value":true},{"key":"ViewZeroAsEmpty","value":false},{"key":"goalIndicator","value":true},{"key":"highlightNegativesNegative","value":true},{"key":"l10n","value":"0"},{"key":"pacing","value":"0"},{"key":"popupCalculator","value":true},{"key":"reports","value":true}]

Steps to Reproduce the Behavior

Open YNAB! webpage
Go to an accounts page
Click on the checkbox on more than one transaction

Expected Behavior

The transactions should be checked to form a batch of transactions for editing.
Actual Behavior

An error occurred in Toolkit for YNAB (a browser extension you installed to enhance YNAB). Click here to report the issue to the YNAB Toolkit project.

YNAB_VERSION: v1.21829
cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.4.1/rollbar.min.js:2 Handling an uncaught error. Version of YNAB (at build time): v1.21829
cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.4.1/rollbar.min.js:2 TypeError: Cannot read property 'replace' of undefined
at SpareChange.updateValue (chrome-extension://lmhdkkhepllpnondndgpgclfjnlofgjl/web-accessibles/ynab-toolkit.js:12727)
at SpareChange.updateSpareChangeHeader (chrome-extension://lmhdkkhepllpnondndgpgclfjnlofgjl/web-accessibles/ynab-toolkit.js:12674)
at SpareChange. (chrome-extension://lmhdkkhepllpnondndgpgclfjnlofgjl/web-accessibles/ynab-toolkit.js:12737)
at o.run (evergreen-production-youneedabudgetco.netdna-ssl.com/appmain.014f1aada53bc0ef35f1.js:13)
at evergreen-production-youneedabudgetco.netdna-ssl.com/appmain.014f1aada53bc0ef35f1.js:13
n.(anonymous function) @ cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.4.1/rollbar.min.js:2
cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.4.1/rollbar.min.js:2 Error successfully reported to Rollbar. UUID: e613b8e0-1a81-4a18-b286-916f643bb3d0
rollbar.min.js:2 Handling an uncaught error.  UUID: 65fbf657-df5a-4f50-89a9-6ee1e921b523

The problem is with the Spare Change feature. Turn it off for now to get around the problem.

I edited the header of this Issue to make it clear that the error can occur under multiple circumstances. My hope is to stop users from opening new Issues for this error which has already been fixed and is waiting for the next release. No guarantee but it might help.

Hey @formerflyboy the fix for this should be in our current release! If you notice the issue still exists and you're definitely running the newest version of the toolkit, please reopen! Thanks!
Please note, all browser can take up to an hour to provide updates to all users. You can force an update if it's available for you by going to chrome://extensions and clicking the "Update" button. Firefox users can go to about:addons, click the setting cog, and click "Check for updates...".


ngtools/webpack not work with angular 5.2

I used<EMAIL_ADDRESS>complier angular@4.3.1,all work fine,but when i upgrade ngtools/webpack to 1.9.4 and angular to 5.2. no error and waring output in complier process,the generator file only has pre line webpackJsonp([1],[function(n,exports){}],[0]); .below is my config
paclage.json
"@angular/compiler-cli": "^5.2.0",
    "@angular/platform-server": "^5.2.0",
    "@ngtools/webpack": "^1.9.4",
"webpack": "^3.5.4",
    "webpack-dev-server": "^2.6.1",
    "webpack-merge": "^4.1.0",
"@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",

webpack.config(only change below)
const AngularCompilerPlugin = require('@ngtools/webpack').AngularCompilerPlugin;
module: {
    rules: [
      {
        test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/,
        loader: '@ngtools/webpack',
      }
    ]
  },
plugins: [
    new AngularCompilerPlugin({
      tsConfigPath: helpers.root('tsconfig.aot.json'),
      entryModule: helpers.rootAngular('/ad/app/app.module#AppModule')
    })

tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "es2015",
      "es2016",
      "es2017",
      "dom"
    ],
    "noEmit": true,
    "skipDefaultLibCheck": true,
    "removeComments": true,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "node_modules/@types",
      "third-type-definitions"
    ]
  },
  "angularCompilerOptions": {
    "skipMetadataEmit": true
  },
  "compileOnSave": false,
  "buildOnSave": false,
  "exclude":["node_modules","output"]
}

main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
import {enableProdMode} from '@angular/core';
if (global['node_env'] !== 'development') {
    enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);

remove noEmit:true from tsconfig

I also encountered this issue. I can confirm that moving the bootstrap call to another file works around the problem.

I had the same issue here, I changed the AOTPlugin config. Instead of using entryModule, I'm using mainPath. It solved the issue.

+1

remove noEmit:true from tsconfig

it work for me,big thanks!

Looks like a problem with old version of the CLI. Let us close the issue for now. If it's still relevant, please open a new ticket with steps to reproduce and a minimal demo. Thanks!


Issue with $dirty in angularJS with ui-router

if I use the the ng-view directive inside the form element I can checked the is dirty like this with ngRoute and it is working fine as expected way.
http://plnkr.co/edit/fbq4VwwmUQBqsBPPu8S7?p=preview
But if I implement the same functionality with ui.router directive, it is unable to load to my main view.
http://plnkr.co/edit/HyuJtph8wuaNtecPxt1K?p=preview
But if I replace the html from (which is in the index.html) with div then it began to work. But thing is if I use the div tag I'm unable to check the $dirty for that controller. if this bug in ui-router or is these any other method to check the $dirty for my controller?
Thanks,
Erandika

https://gist.github.com/eddiemonge/f6a58169c2846731a1eb


react-native doesn't want crypto set to an empty module

This patch came from a conversation with @mafintosh, and is probably a useful provisional solution until sodium-native could be made to work on mobile devices.
React-Native is sort of like a browser, sort of a native environment. On react-native we don't have the browser's crypto implementation, so we need to require react-native-crypto. We can rewrite the module requirement to do that using the extraNodeModules feature in rn-cli.config.js, but the metro packager assumes that if there's a "browser" field in package.json that it's relevant to react-native libraries unless there's also a "react-native" field. Hurray.
Anyway, this silly little patch tells metro not to replace crypto with an empty module but actually to use whatever you currently have crypto set to (which is not solved here, so you'll still have to do that.)
This is necessary because randombytes.js does some complicated things to decide where to find a random bytes returning function and gets it wrong on react-native without this patch.

Neat!

0.5.5


Fix high disk space usage for local files

Hi,
I found out an app I'm developing was using 2.5G of disk space for its image cache even though every loaded images are from disk and I manage thumbnails myself, so literally no files should be in the SDWebImageCache folder.
It appears there is no detection of local files when downloading them with SDWebImageCache so I added a quick setting to prevent local images to be stored on disk.
Here is a preview of the commit in my fork dealing with this :
https://github.com/mariohahn/MHVideoPhotoGallery/commit/3543b75565e6b1dc38278de5e19f4c7914f943e4
Thanks for considering,
Stan

Awesome solution. I had the same problem :)


chore(deps): update common-dev-assets digest to 65fb570

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
5cf7d9c -> 65fb570

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline


[HOLD for payment 2024-11-29] [$62.50] Web - Chat - Error message not translated when changing language

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.59-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Log in to any account using two tabs
In the first tab, open any chat that contains a protected PDF
Click on the protected PDF, select "Enter password," and press Enter to trigger an error message
In the second tab, change the language to Spanish
Return to the first tab and observe the error message

Expected Result:
The error message should be translated to Spanish
Actual Result:
The error message remains in the original language and is not translated to Spanish
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/375f865d-3c0d-4a84-b457-43653ec4ca3e

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021854646700760207529
Upwork Job ID:<PHONE_NUMBER>760207529
Last Price Increase: 2024-11-07
Automatic offers:

Krishna2323 | Contributor | 104843295

Issue OwnerCurrent Issue Owner: @joekaufmanexpensify

Very minor bug in somewhat niche flow, but we should fix it. Adjusting bounty downwards to reflect that this is a minor bug.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01df91cefb9efad4cb

@Krishna2323's proposal looks good to me. Let's go with them.
🎀 👀 🎀 C+ reviewed

@Krishna2323 Is there an ETA for the PR here?

PR in review

@allroundexperts could you handle the checklist here?

As an fyi, I am OOO the rest of the week after today. Assuming the checklist is done by then, I will handle payment on Monday!

Bumped checklist in slack

BugZero Checklist:

[x] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[x] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production
[ ] 2b. Reported on staging (deploy blocker)
[x] 2c. Reported on both staging and production
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[x] 3d. QA
[ ] 3z. Other:

[x] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: We did not have the translations framework when the PR which added the text as an error was created. When translations were added later on, we never migrated this. As such, its not possible to point towards a PR that caused this.

[x] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A

[x] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Have an account with a chat that has a password protected pdf added as a message attachment.

Test:

Log in to any account using two tabs
In the first tab, open any chat that contains a protected PDF
Click on the protected PDF, select "Enter password," and press Enter to trigger an error message
In the second tab, change the language to Spanish
Return to the first tab and observe the error message

Verify that the error message is translated to Spanish
Do we agree 👍 or 👎

Regression test looks good to me. @joekaufmanexpensify Can we please get this added to testrail, thanks.

Hmm, translating an error message on a password-protected PDF feels like quite a niche flow. I'm not sure it's worth having our QA team testing this flow on every test run as I expect this will come up quite rarely. I vote we omit the test for now.
Going to go ahead with that, but please let me know if you guys disagree or think this will be valuable and happy to discuss further.

All set to pay here:

@Krishna2323 $62.50 for PR via Upwork.
@allroundexperts $62.50 for C+ via NewDot.

@Krishna2323 the automatic upwork offer here was $250, which was not correct. I paid out $62.50 of it per the job title and ended the contract. Please let me know if you have any questions!

Upwork job closed.

@allroundexperts please request payment via NewDot at your earliest convenience. Closing as this is otherwise all set!


Fix meson installation

Fix include directory name so include files get installed.
Flag library for installation on non-Windows platforms.

Thanks


Extra newline showing in the docs in the auto-completion window

Just a minor unwanted behavior i spotted:
In the auto-completion window, where it shows the docs of the function it suggests to complete, the function's signature and its doc are  both shown with an extra newline. Its useless and takes up more space from the window.
with "ide-python" 's completion:

and just for reference, with "autocomplete-python" 's completion:

Personalty I think the latter is the desired behavior.
I hope you agree.

This will hopefully be fixed by the language server in https://github.com/palantir/python-language-server/pull/348
Closing in favor of #95


WIP: Metrics

[x] Specification of metrics (uuid, title, abbreviation, description)
[x] Weights per metric per question
[x] Values per metric per answer
[x] Project phase (desirability) per question
[ ] Validation (referencing metrics, having values on answers where weight is specified)

[ ] Package info validation
[x] Package schema
[ ] Phases validation (phase colisions - lower under higher)
[ ] Metrics referencing

Validation will be done separately with new-approach based validator (separate from this repository, Python model & loader that could be used in other tools as well).


Manual C2C source template

Purpose of this pull request
Added manual C2C source template

Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions and updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, and new packages for the site, Gatsby, React, etc

@kimsauce, is this PR close to getting done?


Far Cry 2 unbootable

Please describe your issue as accurately as possible.
If you use Windows, please check the following page: https://github.com/doitsujin/dxvk/wiki/Windows
Software information
Game: Far Cry 2
DirectX: 10
Window: True
System information

GPU: NVIDIA GeForce GTX 1050
GPU: Intel(R) UHD Graphics 610
Driver: NVIDIA 536.23.0
Driver: Intel Corporation 103.67.0
Wine version: native Windows
DXVK version: 2.3

Apitrace file(s)

Put a link here

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace
Log files
FarCry2_dxgi.log

Which DLLs are you trying with. You have to use d3d10core, d3d11 and dxgi. Maybe it also wants d3d9 from dxvk at the same time but don't know.

Which DLLs are you trying with. You have to use d3d10core, d3d11 and dxgi. Maybe it also wants d3d9 from dxvk at the same time but don't know.

wtf,I put d3d9,d3d10core,d3d11 into the game directory and it worked! Thank you very much!


Display unit maintenance cost in URS Unit view

 Issue by vttale
Tuesday Dec 20, 2016 at 16:08 GMT
Originally opened as https://github.com/CQUI-Org/cqui/issues/177

It'd be great if the info for a selected unit showed both the absolute maintenance cost and its current maintenance cost as discounted by policy.

 Comment by chaorace
Saturday May 20, 2017 at 21:58 GMT

Updating this issue to specify where we'd like to show this information


repman uses /root/.composer/cache/ for checkout

even when running as www-data ( also installed as www-data) , git version uses /root/.composer/cache/

Can we write here what problems it generates?

permission denied errors on /root/.composer/cache/vcs unless one chmod's at least +rx for dirs and +wx for cache directory

Can we write here what problems it generates?
access denied on /root/.composer/cache/vcs unless one chmod*s at least +rx on the folders and +rw on the cache directory  for the web server user ( here www-data ) in self hosted variant

In fact, this can be a problem because we've always assumed isolation work (separate instance or docker). I will see what could be done in this matter.
Question from curiosity, what are the reasons for manual repman installation (instead of using one of the ready variants, for example ansible or docker)?.

Having frontend proxies already and a standardized container which  handles x-forwarded-for as real IP and offers per container busybox .. and trying to have a public machine since original composer speed just s**cks

Hey @bash-stack, is this issue still a problem or can we close this for the moment?

I close because of the lack of further information. If necessary, please open issue again.


Can't mount on Mac

I can't seem to mount de image file in Mac OS X...
how can I do this?

as I don't have a mac can you explain in detail what your issue is?

You'll need ext4fuse to do that. It has nothing to do with this script.


1.13.10 mockjax not working: Cannot set property 'logging' of undefined

All attempts to reference mockjax in test-helper throw errrors becuase mockjax and mockjaxSettings are not defined. Anyone else seen this?
import MockUpdateRequest from './mock-update-request';
import MockCreateRequest from './mock-create-request';
import MockGetRequest from './mock-get-request';
all seem to work though.
fails on line 13 of factory-guy-test-helper.js

fixed by copying and pasting code from fix mockjax import in master. any idea when that will filter into 1.13.10?

Having the same error. @Andrew-Max Why did you close this? The issue is not resolved.

Never mind. It is resolved. Installing 2.1.0 fixed it.


No colission on flag walls

It is possible to go out of the map throw the flag walls. Collision error

Tested on Android v1.0.4+369 and 1.0.5+370

Thanks for your feedback, this is a known issue.

1.0.6+371 has been released.


Windows 10 "Waiting for WinRM to become available"

Can't figure out a way to build a Win10 image using packer. I've tried building other versions like Win-Server2016 or 2012 and both work, but not Win10 even though i'm using a very similar script (json file).
Logs:
==> vmware-iso: Creating floppy disk...
vmware-iso: Copying files flatly from floppy_files
vmware-iso: Copying file: ../_general/answer_files/10_x64/Autounattend.xml
vmware-iso: Copying file: ../_general/scripts/microsoft-updates.bat
vmware-iso: Copying file: ../_general/scripts/openssh.ps1
vmware-iso: Copying file: ../_general/scripts/win-updates.ps1
vmware-iso: Copying file: ../_general/scripts/fixnetworks.ps1
vmware-iso: Done copying files from floppy_files
vmware-iso: Collecting paths from floppy_dirs
vmware-iso: Resulting paths from floppy_dirs : []
vmware-iso: Done copying paths from floppy_dirs
==> vmware-iso: Creating required virtual machine disks
==> vmware-iso: Building and writing VMX file
==> vmware-iso: Starting virtual machine...
vmware-iso: The VM will be run headless, without a GUI. If you want to
vmware-iso: view the screen of the VM, connect via VNC with the password "XuslUOet" to
vmware-iso: vnc://<IP_ADDRESS>:5994
==> vmware-iso: Waiting 2m0s for boot...
==> vmware-iso: Connecting to VM via VNC (<IP_ADDRESS>:5994)
==> vmware-iso: Typing the boot command over VNC...
==> vmware-iso: Using winrm communicator to connect: <IP_ADDRESS>
==> vmware-iso: Waiting for WinRM to become available...

P.S: I waited more than 48 hours but it still hang on the same step.


Operators built using Python

Is there any way to build an operator or plugin using python instead of java?

Hello, @Xorso
There is no operator API for Python yet.
How about py> operator?, It's a scriptable
https://docs.digdag.io/python_api.html#language-api-python

Yes it is working great and we are able to really implement our own operator. It would have just been nice to have the short hand for it. Thank you for the good work on DigDag. It is proving to be successful in our organization where others failed.


bucket not show on the url

Laravel 11
laravel-google-cloud-storage 2.3.0

I have the same issue

I have the same issue

GOOGLE_CLOUD_STORAGE_API_URI     set empty


Nginx rewrite rule in documentation is incorrect

The currently given rule in the example config is:
location ~ ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {
	try_files /index.php$is_args$args =404;
}

As was mentioned before in #572 (which was closed while unresolved) this doesn't work. The rule should instead be something like this:
location ~ ^/(config|content|vendor|composer) {
	rewrite /(.*)$ /index.php?$1;
}

That will redirect any requests to those directories or their contents to instead be handled by Pico as content paths

Yeah, a simply wrong sample config might explain why we see support requests for nginx all the time :see_no_evil: Apart from the regexes not being equivalent, can you elaborate why try_files doesn't work, but rewrite apparently does work? I don't use nginx myself, thus I can only read the docs, but I always thought that the only difference is that try_files won't pass the original URL to Pico (what is intentional actually).

Sure!
rewrite is basically like an internal redirect within nginx itself - it takes the request URL, changes it according to the rewrite rule, and passes it back to itself to actually process. Only the final rewritten version actually reaches the site.
try_files, as you might expect from the name, checks to see if files exists according to the list of parameters given and if so, returns them - except for the past parameter provided, which I forget the term for but is basically an internal rule. So what the root try_files $uri $uri/ /index.php$is_args$args directive does is take the uri, check if it's a path for a file, then check if it's a path for a directory, and then the last parameter is equivalent to a rewrite
So what try_files /index.php$is_args$args =404 does is check if the file index.php(?stuff) exists: if so, it returns index.php as a file; if not, it uses the =404 rule and returns a server 404 page. This means anything caught by the existing rule just returns Pico's index.php page as a file (because returning it from the try_files directive means it doesn't go through the .php fpm)
The other issue with the existing rule is that it only catches paths that are .json .lock or .phar files, meaning that the .yml config files can be just fetched directly.
So, since try_files is only used when you want to check for and potentially return files based on the uri, and we don't want to ever return any of the files in those folders but instead hand the uri to pico to handle, you want to use rewrite.

This means anything caught by the existing rule just returns Pico's index.php page as a file (because returning it as a file parameter from the try_files directive means it doesn't go through the .php fpm)

Ok, wow, this definitely explains why this doesn't work :see_no_evil:
Thank you very much for your explanation! Helped a lot to understand what is going on. :heart:
So try_files can't ever work here. I've some more questions:

Does rewrite send the original REQUEST_URI as env variable to php-fpm, or only the rewritten URL? I'm asking because appending the requested page to the rewritten URL (i.e. passing it as query parameter) is very error prone, especially in combination with other query parameters (e.g. for requests like https://example.com/pico/content/my-page?var1=foo&var2=bar)? That's why we switched from QUERY_STRING based URL rewriting to REQUEST_URI with Apache. If nginx only sends the rewritten URL to php-fpm, is there a way to change that? Pico isn't any special about this, AFAIK most CMS require it this way.

rewrite doesn't send a redirect to the user's browser, but rather rewrites the request internally (i.e. the user doesn't see the rewritten URL in the address bar), right?

The proposed alternative doesn't match the original regex's functionality (or at least what we tried to achieve with it, even though it apparently never worked). The new config must achieve the following:

Always send any request to the config/, content/, and vendor/ directories, as well as the composer.json, composer.lock, and composer.phar files, to Pico, no matter whether the file exists or not.
Always send any request to any file or directory starting with a . to Pico, no matter whether the file exists or not.
As an exception to no. 2, never send any request to the .well-known/ directory (or any .well-known/ deeper in the tree) to Pico.
If a file or directory actually exists on the filesystem, serve it as usual (i.e. don't send the request to Pico). In the original (broken) example config this was implemented with the location / section.
Send anything else to Pico. Again, originally implemented with the location / section.

The original regex ^/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) corresponds to the first three rules; here's a visualization of the regex (using Regexper):

Basically the nginx config is supposed to match Pico's default Apache config:
https://github.com/picocms/Pico/blob/09aa82578710d82dd7dc482febe32991be0ea307/.htaccess#L2-L14

I just tasked ChatGPT with this - and it failed miserably at first giving the instructions above, even after multiple correction loops :laughing: However, tasking it with adapting the Apache config for nginx at least provided something that looks promising. However, I did many tests with ChatGPT and it often creates stuff that looks promising, but is very wrong in reality. Can you take a look?
server {
  listen 80;
  server_name example.com;
  root /var/www/example.com;

  location / {
    index index.php;
    try_files $uri $uri/ /index.php?$args;
  }

  location ~ /(config|content|content-sample|lib|vendor)(/|$)|^(CHANGELOG\.md|composer\.(json|lock|phar))(/|$)|(^\.|/\.)(?!well-known(/|$)) {
    rewrite ^(.*)$ /index.php last;
  }

  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;  # Replace with appropriate PHP version and path
  }
}

Does rewrite send the original REQUEST_URI as env variable to php-fpm, or only the rewritten URL?

Ahhh, I missed that this is how it works! I'm a lot weaker on how Pico works than I am on how NGINX works and the docs I saw all seemed to use the path as a query parameter, so that's what I used when trying to fix it. 😅
You are right that rewrite changes the $request_uri when it runs. Preserving the original URI is possible but a little trickier, I'll get back to you on that.
Aside from that, here's a revision of what chat GPT gave you:
server {
  listen 80;
  server_name example.com;
  root /var/www/example.com;

  # this should be at the server level
  index index.php;

  # regex is not my strong point but i believe what you need is:
  # (^/(config|content|content-sample|lib|vendor)/) - match locations starting with (i.e. in) these directories
  # (^/(CHANGELOG\.md|composer\.(json|lock|phar))$) - match locations of these exact files
  # (/\.well-known/) - match locations containing this string anywhere
  # joined with | to match any of them
  location ~ (^/(config|content|content-sample|lib|vendor)/)|(^/(CHANGELOG\.md|composer\.(json|lock|phar))$)|(/\.well-known/) {
    # last means that it won't rewrite it again - it'll still get processed by fpm. it's necessary for situations where your rewrites might cause loops.
    # so it's not necessary here but doesn't hurt
    rewrite ^(.*)$ /index.php last;
  }

  # it doesn't matter as much here because regex locations get parsed first but it's good practice to remember not to put your root location at the top so it doesn't override all your other locations
  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Replace with appropriate PHP version and path
  }
}

All right, I tested this solution for the URI and it seems to work!
server {
  # the listen/server_name/etc directives
  set $original_request_uri $request_uri;

  # ...

  location ~\.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_param REQUEST_URI $original_request_uri; # use original URI
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Replace with appropriate PHP version and path
  }

I'll find some time to update my config and try

For conciseness, here's all of it in one place:
server {
  listen 80;
  server_name example.com;
  root /var/www/example.com;
  index index.php;

  set $original_request_uri $request_uri;

  location ~ (^/(config|content|content-sample|lib|vendor)/)|(^/(CHANGELOG\.md|composer\.(json|lock|phar))$)|(/\.well-known/) {
    rewrite .* /index.php$is_args$args last;
  }

  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_param REQUEST_URI $original_request_uri;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Replace with appropriate PHP version and path
  }
}

I've updated the regex, rewrite, and URI directives in my own configuration to match this and tried them out, and it's all working correctly. Normal pages show up normally, normal files show up normally (including a root config.txt I made just for this), and attempts to access any of the blocked locations are correctly returning Pico's own 404 pages.

Thanks again @InspectorCaracal! :heart:

  location ~ (^/(config|content|content-sample|lib|vendor)/)|(^/(CHANGELOG\.md|composer\.(json|lock|phar))$)|(/\.well-known/) {

I remember that there were some issues with specially crafted requests, requiring (/|$) after any path, no matter whether it's a directory or file. For files this was something about PATH_INFO support (even though Pico doesn't use it, PHP still fiddles with it; also see below), and for directories it's necessary because one can request a directory without the trailing /, too. I guess we better be safe than sorry. Also note that the .well-known part matches the directory, even though it is supposed to not match it, but any other file and directory starting with a dot. That's why the original regex uses a negative lookahead ((?!)). I believe that the following regex should be correct, can you please give it a try?
  location ~ ^/((config|content|content-sample|lib|vendor|CHANGELOG\.md|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) {

    rewrite .* /index.php$is_args$args last;

I guess we can make the regex even simpler (i.e. faster) with the following. Can you please give it a try?
    rewrite ^ /index.php$is_args$args last;

    try_files $uri $uri/ /index.php$is_args$args;

I guess appending a =404 just in case is a good idea, what do you think?
    try_files $uri $uri/ /index.php$is_args$args =404;

  location ~ \.php$ {

A few more questions and notes about this section:

The original config includes a try_files directive. I remember that there was some weird issue regarding PATH_INFO support that caused nginx and PHP to differ in which file was requested, causing possible security issues because PHP happily interpreted files it wasn't supposed to. Can you please take a look?
    try_files $uri =404;

The original config includes a fastcgi_index directive. Is this necessary?
    fastcgi_index index.php;

Why isn't fastcgi_param SCRIPT_FILENAME part of the params snippet? Is this a special value the common config doesn't include, like our original REQUEST_URI?

We should let Pico know that URL rewriting is available by adding the following:
    # Let Pico know about available URL rewriting
    fastcgi_param PICO_URL_REWRITING 1;

Last but not least: Do you want to open a PR to incorporate these changes on both our website (see _docs/config.md and in-depth/nginx.md) and Pico itself (see content-sample/index.md)?

I remember that there were some issues with specially crafted requests, requiring (/|$) after any path, no matter whether it's a directory or file. For files this was something about PATH_INFO support (even though Pico doesn't use it, PHP still fiddles with it;
I'll have to check, but I think the location block patterns are only used within NGINX itself and wouldn't affect the server PATH_INFO? I've never encountered patterns ending with (/|$) outside of this example, though, so it's not common practice.

I guess appending a =404 just in case is a good idea, what do you think?
That would break everything. 😅 Everything but the very last parameter in a try_files directive is treated as a file path to look up, so it'll read index.php$is_args$args as a file location and return index.php as a downloadable file every time. Pico itself already handles not finding pages and returns its own 404 page, anyway, which provides a more consistent end-user experience.

As for the rest of the php-fpm block: a lot of those directives you're suspecting are needed are needed - but they're boilerplate that are included in the fastcgi snippets that come packaged with nginx. It's why I have the one line running snippets/fastcgi.conf instead. It's expected to just use that and only set the parameters you personally need, like the URI or which version of PHP to run.
Here is an example of what that file contains. As you can see, the tedious do-every-time work like checking if the file exists and handling the PATH_INFO is already covered. This file is shipped with nginx when you install it and has been part of its default installation for a long time - a decade or so, I think? So you can definitely count on it being there.
And I'll be happy to do a PR! I'll get to that in the next couple days for sure.

Glad to see the Nginx config receiving some attention.  I got curious about some things, so I went digging in the commit history.  Apparently it's been SEVEN years since I wrote the initial draft for it.  No wonder I can't remember anything about it anymore!
Since I'm so out-of-touch with Nginx, I don't really have much to contribute here.  Just wanted to share some quick findings.
I looked at my own (very old and untouched) config.  It just uses return 404 for the forbidden stuff instead of try_files.  That's because at the time it was written, we weren't yet redirecting to Pico's internal 404 page.
So, I was looking through the file history and I found this commit: https://github.com/picocms/picocms.github.io/commit/8ccd6610646d31c950ee42f5c2c3b60878a824bc, where @PhrozenByte replaced large portions of the documentation.  This is where try_files came into play, though =404 wasn't added until a bit later.
So... uh... it's possible that the current config has never actually worked properly, since it sounds like, @PhrozenByte, you updated it purely by reading the docs and possibly never actually tested it? 🙈🫣
Anyway, thanks for all the help with this @InspectorCaracal. 😁
Since I wrote the original version of that page (long ago, on an enthusiastic Nginx-switching binge), I've felt pretty powerless, and a little guilty, seeing people struggle with Nginx more recently.
I've lost pretty much all the knowledge I once had on the subject though. 😅


wait for transition complete

How can i wait for animation (trasition) complete (like fade out)?

https://github.com/ysmood/rod/blob/842ba077344ad45c2d31ee7e99c3df136abe78cb/examples_test.go#L96-L116

its stops transition, but must waits..

default color of button is lightblue, when its clicks on button color chages to black and page freezes, i cant do nothing on page... must to close window and restart...

and sometime click() do not clicks, why? its misses on target element?

Need more information, if I can't reproduce your issue it's hard to tell. Can you provide minimal code that can reproduce your issue? If it's hard to code, a screen record video will be great.
Please don't use a screenshot if possible, it's hard for me to type your code and try it on my local.
Maybe it's better to use https://www.deepl.com/translator to translate your native language if it's hard for you to use English.

BTW, click problem is not related to this issue title, if you want to ask a lot of unrelated questions, maybe it's better to use the chat room: https://discord.gg/CpevuvY


Implement Homepage Gallery

@rileywho
http://wiki-playlist-staging.herokuapp.com/
Here it is on the staging url.

Titles need smaller type, or to be truncated

Let me know your design notes here. Thanks

[ ] Add Background Pattern to the homepage body
[ ] Add Background Pattern to the cards
[ ] Add profile image if possible.
[ ] Increase spacing between intro paragraph and gallery
[ ] Change text color to gray
[ ] Increase padding around the text in the cards
[ ] Move the cards down so there cut off sooner
[ ] Reduce font size to 21px (Playlist title)

Example of hover effect

@rileywho thanks riley

[ ] Increase Padding to 4rem (outlined in above comment)
[ ] Update paragraph text (outlined in above comment)
[ ] Rendered card increase the spacing between the image and the card title. 3 or 4 pixels.
[ ] Increase Title font-size to 24px (sorry)

Mobile

[ ] Wikipedia Playlist Title: Increase font-size to 35px
[ ] Increase Header Padding Top to 2 rem
[ ] Body Text: Font-size: 18px, line-height: 1.4, padding-top: 2rem, margin-bottom: 2rem (reduced from 3)
[ ] Remove px1 padding from the card blocks
[ ] Card block: Increase title font-size to 30px
[ ] Card Block: Add margin-bottom 15px