Phi-3 had its config.json changed by llm-compressor

Describe the bug
A clear and concise description of what the bug is.
Using llm-compressor to quantize Phi-3-medium-128k-instruct changes the config.json. Specifically, "rope_scaling" is changed from "type": "su" to "type": "longrope". This is not a problem with Phi-3-mini-128k-instruct for some reason (although the type is also changed), but for Phi-3-medium, this prevents evaluation of the model through lm eval harness.
To fix this issue, simply change the "type" in config back to "su".
The recipe I use is below:
recipe = """
quant_stage:
    quant_modifiers:
        QuantizationModifier:
            ignore: ["lm_head"]
            config_groups:
                group_0:
                    weights:
                        num_bits: 8
                        type: float
                        strategy: channel
                        dynamic: false
                        symmetric: true
                    input_activations:
                        num_bits: 8
                        type: float
                        strategy: token
                        dynamic: true
                        symmetric: true
                    targets: ["Linear"]
"""

Expected behavior
Successful evaluation through lm eval harness.
Environment
Include all relevant environment information:

OS [e.g. Ubuntu 18.04]: Ubuntu 22.04.4
Python version [e.g. 3.7]: 3.11.9
LLM Compressor version or commit hash [e.g. 0.1.0, f7245c8]: v0.1.0
ML framework version(s) [e.g. torch 1.7.1]: torch 2.4.0, transformers 4.40.2
Other Python package versions [e.g. SparseZoo, DeepSparse, numpy, ONNX]: lm_eval 0.4.3
Other relevant environment information [e.g. hardware, CUDA version]: CUDA 12.5

To Reproduce
Exact steps to reproduce the behavior:
Install lm eval harness, vllm,  and llm-compressor. Use the recipe above (https://github.com/vllm-project/llm-compressor/blob/main/examples/big_model_offloading/big_model_fp8.py) to quantize Phi-3-medium-128k-instruct (https://huggingface.co/microsoft/Phi-3-medium-128k-instruct).
Errors
If applicable, add a full print-out of any errors or exceptions that are raised or include screenshots to help explain your problem.
Additional context
Add any other context about the problem here. Also include any relevant files.
Tagging @robertgshaw2-neuralmagic

@horheynm can you take a look at this?

@horheynm can this be closed?


Show command output in quickfix list with :NeomakeSh.

Without this change, :NeomakeSh does not give any visible output unless the user manually set its errorformat before running the command.

Merging this since it is a really small change.


Multi-component failing on WIN10

I can't get multi-component setup working with any hie.yaml configuration that I've tried.
I just installed the latest ghcide with:
stack --resolver lts-15.15 install

Now , when I define hie.yaml like this:
cradle:
  stack:
    - path: "./src"
      component: "my-api:lib"
    - path: "./test"
      component: "my-api:test:integration-tests"

VSCode acts as if no ghcide installed. Its Output panel for ghcide gives me this:
https://pastebin.com/NZXCbAHH
Running ghcide in the project folder in Powershell terminal gives me this:
https://pastebin.com/wkMsuGT5
For the record, when I just specify the hie.yaml file as:
cradle: {stack: {component: "my-api:lib" }}

It works fine. But just for the lib files inside my src, not the test folder. Basically works as a single-component setup this way.
I'm on

WIN10
Vscode
stack, but specify project with a .cabal file

Based on discussions on Slack I suspect this may be a WIN10 specific problem.

Actually this might be #574 which is caused by stack not listing all the dependencies correctly for a component.

I don't think the first problem is actually a problem.

The second problem I suppose we can't do anything about.

@tuomohopia On the contrary, you can just prepare a patch to fix the issue in stack!
I don't think this is a WIN10 specific issue. i

@tuomohopia I cant reproduce the error in my windows 10 with lastest ghcide, so i am gonna to close this, feel free to reopen if you continue experiencing the issue


How do I uninstall this after I edited a fingerprint?

If you want to uninstall the module you can do that easily from the Magisk app.
But keep in mind that if you've used the module to change the device fingerprint it will revert to the stock print when the module is uninstalled.


Add ARM64 Architecture: RedHat.Podman-Desktop v1.11.1

Add the official ARM64 architecture installer to the manifest.  For full Windows on ARM support.
Checklist for Pull Requests

[X] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

https://github.com/microsoft/winget-pkgs/issues/142854


feat: module app hash checker after state import

Background
For testnets, we frequently modify exported genesis in some modules and import it.
There have been a number of hard-to-debug bugs where we either erroneously modify a state export or forget to export it in the right module.
Suggested Design
We should have a tool for checking the root hashes of relevant modules that we expect to match.
The process would be:

State export a node at height X
Import state into a node with different home folder
Using scripts, confirm that root hashes match for the relevant modules

Here are the tools that can be used for step 3:
Tooling: https://github.com/p0mvn/chdbg
Debugging guide: https://app.clickup.com/37420681/v/dc/13nzm9-23133/13nzm9-46933
Acceptance Criteria

Tool created
Automated in CI

CC: @czarcas7ic


Fly command

Currently to reach places high up, you must build, jump and delete blocks after to get to a location.
How would I add a /fly command, which simply disables falling when users press (or hold) a key (ex. f)?

Like this: a5e1d17e024baddb68b90e2843529312c28cca40
Btw, the movement code in ./js/player.js is very nice to play around with and modify. You could easily e.g. add a sprint option by finding out how to detect a "shift" press in javascript and then increase the speed here accordingly.
Here are the steps I took to actually run the project (a bit hidden imo):
$git clone this-repo
$npm install socket.io express
$node server

Then visit http://localhost:3000/multiplayer.html or http://localhost:3000/singleplayer.html in a browser (or replace localhost by your ip-adress)

Thanks, this has partially solved my solution as I cannot move any other direction except for up/down while holding the key to fly.


insert selected text don't proceed to the next line when wraping

When text is wrapped, the next line move of the insert-selected-text command (without selected text)  doesn't work.

Please retest again with platformio-atom-ide-terminal 2.9.0 is using node-pty-prebuilt instead unmaintained and outdated pty.js


Where is the examples source codes ?

I'm trying to understand the library by looking at https://tonejs.github.io/examples/sampler , but there is only the webpack JS output in the examples folder. I am not finding the sources files in this repository.
HTML is here: https://github.com/Tonejs/Tone.js/blob/master/examples/sampler.html
Webpack output JS is here: https://github.com/Tonejs/Tone.js/tree/master/examples/js

Maybe I am understanding you wrong, but the source code is in the HTML file you linked to, everything in the script tag.


StatusSimplified missing

StatusSimplified is not viewed.
I think your goal is an EXACT preview,
but sometimes pixels on the edges are visible in your (and others) preview,
but not on the real MI band 6.
Please add input fields for:
Alarm time
Alarm on (check box)
Alarm no time (check box)
TimeZone1 time (sunset)
TimeZone2 time (sunrise)
No time zone (check box)
km/Mi
Your preview image file is very good (small file size),
please create a small (110x352) image file too.

Alarm on (check box)
Already exists, check hat you're using latest version (1.0)

Alarm no time (check box)
Isn't this the same as "Alarm on"?

StatusSimplified is not viewed.
Can you please give an example watchface with this element?

Alarm on (check box): OK, sorry
Alarm no time (check box): it's for "ImageNoAlarm" in the json.
https://amazfitwatchfaces.com/mi-band-6/view/3439
https://amazfitwatchfaces.com/mi-band-5/view/450
I have updated my issue, see first posting.
Thanks for your fast answer.

Alarm on (check box): OK, sorry
Alarm no time (check box): it's for "ImageNoAlarm" in the json.
https://amazfitwatchfaces.com/mi-band-6/view/3439
https://amazfitwatchfaces.com/mi-band-5/view/450
I have updated my issue, see first posting.
Thanks for your fast answer.
2022-04-01 12:34 GMT+02:00, MelianMiko @.***>:

Alarm on (check box)
Already exists, check hat you're using latest version (1.0)

Alarm no time (check box)
Isn't this the same as "Alarm on"?

StatusSimplified is not viewed.
Can you please give an example watchface with this element?

--
Reply to this email directly or view it on GitHub:
https://github.com/melianmiko/mibandpreview/issues/2#issuecomment-1085733385
You are receiving this because you authored the thread.
Message ID: @.***>

Alarm no time (check box): it's for "ImageNoAlarm" in the json.
When "Alarm On" is unchecked, this image will also be displayed.

Added inputs: Timezone (time + disable checkbox), Alarm Time, Distance unit.
Added basic StatusSimplified support.
Will be available since version 1.1 release.


support timedelta for SEND_FILE_MAX_AGE_DEFAULT config variable

Support datetime.timedelta and seconds as int for SEND_FILE_MAX_AGE_DEFAULT config variable.
Refers Issue #1580
:beers:

Any feedback? Do you want me to change something?


Dependency is incorrect

This value works though: io.micronaut:micronaut-multitenancy

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

@easycheese the correct dependency is:
io.micronaut.multitenancy:micronaut-multitenancy


POSTGRES_XLOG_DIR to specify transaction log dir

Adds support for the POSTGRES_XLOG_DIR environment variable, which specifies where the postgres transaction log is stored.
For some use cases, being able to place the transaction log on a different volume is useful.
(Existing support for providing flags via $POSTGRES_INITDB_ARGS is inadequate because of the need to create and chown/chmod the directory prior to running initdb)

I just rebased on your latest changes, tests still pass. Please let me know if there is anything I can do to help get this merged.

When it's used, isn't this directory something the user ought to be persisting as well?

Definitely. I didn't add another VOLUME because VOLUMEs can't be undefined and not everyone will want multiple VOLUMEs for their data.
Additionally, users don't necessarily need another VOLUME to use this.
A user could define PGDATA to /var/lib/postgresql/data/pg_data, and POSTGRES_XLOG_DIR to /var/lib/postgresql/data/pg_xlog, and both would be persisted within that volume.
But it also gives them the option to attach different volumes to these mount points, or to volumes specified at runtime. The transaction log and the data files have different performance requirements/optimizations, and it's useful to be able to put them on mountpoints which take advantage of the required characteristics.

So in the case of the xlogdir being a subdirectory of $PGDATA, permissions are already covered by the existing code, right?
I'm kind of inclined to put the permissions responsibility for this in the hands of the user, since it's already possible to do so today without explicit support for this functionality.  To put it another way, if we accept this knob for this directory/flag, which initdb or postgres flag is going to come next?

The reason I created this fork/pull request is that I didn't find a way to have this work without modifying the upstream image.
I initially tried having xlogdir as a subdirectory of $PGDATA. Postgres refuses to allow initdb to occur unless the data directory is empty. This creates problems if you are trying to mount a different volume onto that directory, because then the xlogdir directory exists and it's not an empty directory.
I certainly understand the general concern about not wanting to cover every permutation of every use case. That's where things like POSTGRES_INITDB_ARGS allow users to customize the image for themselves at runtime.
Once users start having to manually fiddle with permissions just to launch a container, docker ceases to be something which removes administrative burden in the way it ought to, and I don't see away around it in this case.

@tianon I just rebased again.
I understand the desire to not have complicated support for every potential permutation of how Postgres is used, but I'd also point out that creating directories/setting permissions automatically so postgres can start without intervention does seem to be something that is seen as worth doing already - it's just that the current code doesn't work if you are using a custom transaction log directory.
If my commit can be merged as-is, yay! Or if you have alternative suggestions for how I could support this use case, or a more generalized merge-worthy approach I could implement which would cover my use case, I would be pleased to work towards having something which is merge-worthy.

Great. I've incorporated your proposed chances.
Additionally, I reworked things slightly to support secrets (file_env), which did not exist when I originally made these changes. If that doesn't make sense to you I left things without those changes on the master-nofileenv branch.

Thanks. Re-pushed.

@tianon ping

Sorry for the delay @DanielDent; I thought of another edge case (users who use --user rather than our auto-step-down code), so I updated the PR to include that. :+1:

Thanks for your patience!


Reward code UI update

Added the UI to show the reward codes

Awesome, @kenny-io !
One think I think we should adjust, is the colour of the link text in that body copy. The contrast is pretty low and I find it hard to see. Is there another colour in our palette that might give better contrast there? I originally suggested black for those links in order to get good contrast but not introduce another colour to the palette. But perhaps there is something else which suits?

@philhawksworth  Updated Links as requested


Regression: NaN when navigating back from current (latest) comic

This should be fixed.

Closed in #42.


Boosting: Visualization of loss optimal constants in leafs

When using trees as base-learner we use the loss optimal constant in the leaves as prediction. It would be nice to have a visualization for that.

this is depicted schematically on slide 2 of GB with trees II but we should have a proper data example for that (how does the prediction surface evolve with this correction of the terminal constant?)


Can't install focal - libcras/cras_client.h:1924:1: error: 'cfi-icall' attribute directive ignored [-Werror=attributes]

Hi,
Same issue as here : https://github.com/dnschneid/crouton/issues/4450
Anyone have a fix for it ?

Yes & no.
Yes, this is a dup of issue:

Linux not installing saying something like CRAS ·
Issue #4450 · dnschneid/crouton

No, it does not have a fix - yet.
No need to open another issue.
Closing, please track this issue at the link above.
-DennisLfromGA


Separate web/api server and runtime server (in k8s spawner)

Now, the k8s spawner spawns runtime on the same k8s cluster. We should separate them, because:

they serve very different purposes

web/api servers serves html/js/css and graphQL endpoints, and are crucial for app responsiveness
runtime server is stateless. It may come from different machines, e.g., our remote server, user's own server, user's browser via WASM (like JupyterLite)

the resource requirements are very different

web/api servers use small amount of resources
runtime servers use much more resources: e.g., 2 core 4GB instances
web/api servers load is more predictable in terms of number of concurrent users
runtime servers is much less predictable: a user could launch a large number of runtime instances

I might missed the k8s configuration for the Postgres database part, which calls for a persistent storage in k8s deployment.


Fix crash when when swallowed window is closed

Describe your PR, what does it fix/add?
Fixes a crash when a swallowed window is closed. From what I've discovered it happens randomly depending on which window is closed first, at least it appears to be the cause.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
I don't know if it's the right way to fix this crash, but it works.
Is it ready for merging, or does it need work?
Ready

should be fixed by #5548 I think

Yeah, compiled the PR and Hyprland no longer crashes, closing.


Readonly collection property corrupts normal collection property object references.

This issue is similar to #486, but read only collections are affected.
Class:
public class Parent
        {
            public IEnumerable<Child> ReadOnlyChildren
            {
                get
                {
                    return Children;
                }
            }

            public IEnumerable<Child> Children { get; set; }
        }

        public class Child
        {
            public int Id { get; set; }
        }

Serialization:
var parent = new Parent
            {
                Children = new[]
                {
                    new Child { Id = 1 },
                    new Child { Id = 2 },
                    new Child { Id = 3 }
                }
            };

            var settings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented,
                ObjectCreationHandling = ObjectCreationHandling.Replace,
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            };

            var json = JsonConvert.SerializeObject(parent, settings);

Serialized:
{
  "$id": "1",
  "ReadOnlyChildren": [
    {
      "$id": "2",
      "Id": 1
    },
    {
      "$id": "3",
      "Id": 2
    },
    {
      "$id": "4",
      "Id": 3
    }
  ],
  "Children": [
    {
      "$ref": "2"
    },
    {
      "$ref": "3"
    },
    {
      "$ref": "4"
    }
  ]
}

Deserialized:
{
  "$id": "1",
  "ReadOnlyChildren": [
    null,
    null,
    null
  ],
  "Children": [
    null,
    null,
    null
  ]
}

When ReferenceResolverProvider is defined then IReferenceResolver.AddReference is never invoked.

Issue #486 was overwritten by issue #703. So, this affects both Readonly collections and properties. #703 could be up for debate, but I would argue it is more correct to not set read only/computed properties. While it is true that the ability to change a public property or attribute of a Readonly property, I think it is more intuitive when mapping a data structure to a new one that while we follow the rules and principles of the new location, when mapping we should honor settings from a top down approach.
We are not copying each individual data point, we are copying the complete entity to the best mapping allowed.
I believe it to be more intuitive this way, and it is consistent with System.Web.Script.Serialization.JavaScriptSerializer functionality set by Microsoft.
For LINQPad(just change the serializer to Newtonsoft's to compare:
void Main()
{
	Compound theObject = new Compound() { MySimple = new Simple() { ValOne=1, ValTwo=2 }};
	theObject.Dump();

	System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

	string json = serializer.Serialize(theObject);
	json.Dump();

	"\n----This is where we set the changed json values on the equivelant of the Computed Property-----".Dump();
	json = "{\"MySimple\":{\"ValOne\":1,\"ValTwo\":2},\"SimpleComputation\":{\"ValOne\":5,\"ValTwo\":5}}";
	json.Dump();
	"\n".Dump();

	theObject = null;
	theObject.Dump();

	theObject = serializer.Deserialize<Compound>(json);
	theObject.Dump();
}

public class Compound
{
	public Simple MySimple {get;set;}
	public Simple SimpleComputation {get {return MySimple;}}
}

public class Simple
{
	public int ValOne {get;set;}
	public int ValTwo {get;set;}
}


Crash after starting using version 4.21.0

I just updated express to fix the latest reported CVEs, but the last version (4.21.0) is now causing crashes when loading express.
Crash happens when I call this:
const express = require("express")
Error is:
...\node_modules\path-to-regexp\index.js:68
  path = path.replace(
              ^

TypeError: path.replace is not a function
    at pathToRegexp (...\node_modules\path-to-regexp\index.js:68:15)
    at new Layer (...\node_modules\express\lib\router\layer.js:45:17)
    at Function.route (...\node_modules\express\lib\router\index.js:505:15)
    at app.<computed> [as put] (...\node_modules\express\lib\application.js:498:30)
    at Object.<anonymous> (...\js\index.js:69:9)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)

I realize this is not the express library, but express is the only user of path-to-regexp in my application, so it can't be any other culprit.
The exact same code on my side runs fine using for example express 4.19.2.

Seems to be caused by this:
https://github.com/pillarjs/path-to-regexp/commit/29b96b4a1de52824e1ca0f49a701183cc4ed476f
I would go into that module and change.
path = path.replace(

for:
path = String(path).replace(

Can be reproduced if the argument of routing path is not a string. For example, this crashes with the same stack trace:
app.get(1, (req, res) => res.sendStatus(200));

cc @blakeembrey let me know if the PR looks like the solution you want to go with.

@az-faro what are you using as input if it’s not a string, array, or regex?
This library shouldn’t be trying to coerce non-strings since that will hide important bugs in the users code. For example, I can’t think of any native object that could coerce and still match a real route.
If you have a legitimate use-case for something using this that isn’t a bug, I’d be happy to patch this back, but it wasn’t a part of the original API contract even if it may have worked accidentally.

@blakeembrey I don't even get far enough to use any input, it crashes directly when I call const express = require("express").

Actually I revoke my previous statement, I get the crash here:
app.put(express.raw({ type: '*/*' })); (where app is let app = express();)

we are also running into, and it appears to be becayse we are defining routes without a path at all, which should be allowed as defined in the docs Middleware callback function examples, specifically we are doing things like:
app.get(function (req, res, next) { next() })
app.get(function (req, res, next) { next() })

So that's specific to .use, and isn't supported in regular methods. Did you test these ever worked? If they were passed to path-to-regexp and generated routes it was just the route function ..., which doesn't seem like it would have worked before.

Oh wait, it's in your screenshot, this seems like a regression in Express and not path-to-regexp. Trying to coerce this in path-to-regexp would have hidden this bug.

yes this has worked for us for a long time.. and if you read that last sentence it explicetly says it should work for all METHODS
Even though the examples are for app.use(), they are also valid for app.use(), app.METHOD(), and app.all()

@wesleytodd Looks like it may be a regression in Express, I have a short call to jump to now but can investigate it afterward.

The same test in<EMAIL_ADDRESS>and I get a 404 instead of a throw. Were these routes actually being matched in the way you were using them in the past?

I guess what I should ask is, can you provide a functional reproduction of the how you expect this to work?

@wesleytodd who are you asking?

Anyone who is in this thread who is using this form of the api.

I wonder if this was a bug in the documentation instead of Express, I suspect it's never actually worked before since the path generated wouldn't have started with / (as it'd be String(function () {})).
That said, it's possible to "fix" this, but that might change the behavior of applications since they weren't actually working before and now they'd start working.

Yeah I suspect the same. The old behavior looks like it would never match these middleware and would then just pass on to following matched layers. So if we made it now match, that would be a breaking change. I need more information from the folks using this to help us decide what is the right thing to do next.

I'm doing this to be able to parse xml, it now fails on the second to last line (has worked before):
const express = require("express")
const bodyParser = require("body-parser")

require('body-parser-xml')(bodyParser)

// Create the express app
let app = express();

// Setup how to parse data
app.put(express.raw({ type: '*/*' }));  // <--- crash here
app.use(bodyParser.xml());

I get that we need to fix the new throw, but based on the test and investigating the code here I dont think express.raw would have been called. Can you create a full code example which I can run on<EMAIL_ADDRESS>which shows that the body is populated and that body-parser-xml is not the thing reading the raw body? We dont maintain that library, so I have no idea what it could be doine.

I think we understand that, but if you commented out app.put(express.raw({ type: '*/*' })) the application probably works, in which case I'd be inclined to say either the documentation is wrong and fix that, or Express is wrong and fix that instead. Either way, I think this exposed a bug in your code and isn't a bug in the libraries.
How do you expect app.put(function () {}) to work? Is it just that you want to run that one middleware on PUT only?
@wesleytodd I'm inclined to fix this in Express and make it work, since it was documented to work, and the fact that it may break existing users relying it being broken isn't a breaking change.

@blakeembrey ok, I removed app.put(express.raw({ type: '*/*' })); and indeed the program still works fine without it. It was written a while ago, so I can't say for certain why I thought it was needed, apparently it isn't.

yes i believe the intention is the middleware get applied to all requests to the specified METHOD. So updating express to start matching correctly seems the right approach. This would be a bug fix, not a breaking change since thats what the document says it should be doing.

@alewitt2 We agree, but your application will start doing something it didn't do before, which could break your application. For example, if you change app.put to app.use and it doesn't work, us fixing this will break your application. Would this be a bad outcome for you?

It does depend.
Did it ever work on v4? If it didn't, I would recommend against fixing, just prevent the crash and emit a warning.
Fix on v5 please, or ensure it works okay, and make a note on release as a breaking cache.
Nice work. My two cents.

yes understood. Not sure you want my opinion here 😆  as i am a bit of a purist when it comes to semver.. but since you asked, I don't think it matters if its a bad outcome for me. I think the feature is a good one and it should be fixed to work properly. and bug fixes arent breaking changes.

bug fixes arent breaking changes

I wish this was the case, but we have many times (like this one) had cases where what we considered a bug fix broke folks, and we always try to follow strict semver unless it is a critical security issue.

do what you think is best, but i would just fix it in 4x

also the "breaking change" is that people code would actually be getting called. I don't think thats a bad end result

also the "breaking change" is that people's code would actually be getting called. I don't think thats a bad end result

it certainly CAN be. when you put it that way, this seems like a strong argument for not changing behavior until a semver major

From looking over the various places that resulted in this bug, I believe this was never intended to work and the documentation is wrong. As a result, I'm working through these steps and you should remove these lines of code from your application since they didn't do anything before:

Introduce a clearer error in path-to-regexp
Remove this documentation from expressjs.com (which is under app.use, I believe it was a mistaken clarification)

If you want this code that previously did not run, to run, you can set the route to * as mentioned here: https://github.com/expressjs/express/issues/5955#issuecomment-2346874034

I will also push my test which proves this should error, and we can merge that after we update to the version with the new error.

sounds good 👍  thanks for digging into this everyone.

Ha, even better is that .get without a path is an alias for getting a setting. These variadic apis are so bad. We will be removing all of these going forward. This particular one I even tried to fix back in 2018 but it never landed.

In a more positive note, this helped uncover bugs in application code. So if you are landing on this issue with a similar problem, take a look at the behaviors you are expecting out of requests which hit these middleware and spend some time ensuring your application code is working as you intend. Sorry the docs were wrong and that we introduced a throw where it used to silently noop, but IMO this is as good an outcome as we could hope for.

Express.js paved the way for Node.js frameworks, and we’re taking that simplicity and scalability to the next level with mavro — a modern Node.js framework built on Koa and TypeScript. If you’ve worked with Express and are looking for the next evolution in backend development, join us! We’re contributing to both Koa and mavro, and we’d love your expertise in shaping these projects. Let’s build scalable, high-performance APIs together! 🚀 👉 Join our Discord

As it was documented on this way therefore  I assume thousands of developers are using it on this way in their apps. Then a minor release breaks it and most likely thousands of apps. I understand the reasoning behind the change but it seem to be a major breaking change and should have not be in a minor release..

but IMO this is as good an outcome as we could hope for.
No, this is the worst. This is why people start pinning modules and don't get potentially important CVE fixes, because libraries keep breaking with minor upgrades. This is nonsense. Add a warning, keep it as it was, increase major, but do not break with minor, please.

Yep, this would have errored in early 4.x releases the same way it does today, it looks like I inadvertently introduced coercion in pillarjs/path-to-regexp@943ceb7. It's possible someone saw it not erroring and assumed it worked, and updated the docs as a result.

« committed 10 years ago » Let that sink in.

but IMO this is as good an outcome as we could hope for.

No, this is the worst. This is why people start pinning modules and don't get potentially important CVE fixes, because libraries keep breaking with minor upgrades. This is nonsense. Add a warning, keep it as it was, increase major, but do not break with minor, please.

I've been doing a variety of things, based on each project working, or going kaboom, or being so big that I cannot check everything.

Patch it (as is) https://github.com/expressjs/express/issues/5955#issuecomment-2346248983
npm 8+ overrides

"overrides": {
  "encodeurl": "~2.0.0",
  "path-to-regexp": "^0.1.11"
},

See: https://github.com/pillarjs/send/pull/240 & https://github.com/expressjs/express/pull/5956 and you may want to add the following patch at your discretion:
diff --git a/node_modules/path-to-regexp/index.js b/node_modules/path-to-regexp/index.js
index 750c2bf..480fd9a 100644
--- a/node_modules/path-to-regexp/index.js
+++ b/node_modules/path-to-regexp/index.js
@@ -65,11 +65,11 @@ function pathToRegexp(path, keys, options) {
     return new RegExp(path.join('|'), flags);
   }

-  if (typeof path !== 'string') {
+  if (strict && typeof path !== 'string') {
     throw new TypeError('path must be a string, array of strings, or regular expression');
   }

-  path = path.replace(
+  path = String(path).replace(
     /\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,
     function (match, slash, format, key, capture, star, optional, offset) {
       pos = offset + match.length;

My two cents.

As it was documented on this way therefore I assume thousands of developers are using it on this way in their apps.

The old behavior meant the code did not run. It literally did not work. So “thousands of developers” never tested their code? You can just delete the lines that have this error and it works exactly the same.

Add a warning, keep it as it was, increase major, but do not break with minor, please.

In this world, what do you see as breaking? If we “fixed” the bug and made it work as documented, it might break much more because your code never ran before. And since it has never run, it probably isn’t being tested, so that could be much worse to run untested code for the first time than to expose an error.
Arguably it could keep silently failing but that isn’t good for anyone either. Code you write should work and should run as expected.

Hello,
Rather than patching a lib, #5975 describes similar issue with a proposed fix.
The way the app binds routes to a controller causes the bug. Small patch in middlewaring resolves the case.

but IMO this is as good an outcome as we could hope for.

No, this is the worst. This is why people start pinning modules and don't get potentially important CVE fixes, because libraries keep breaking with minor upgrades. This is nonsense. Add a warning, keep it as it was, increase major, but do not break with minor, please.

YES. See here for a real life example: https://github.com/wll8/mockm/commit/c06069bd6619b1e5346c65b3ec96d1629286dcd3#comments

I'm closing this out as it's resolved as best it can be done for now. This is a good reminder for libraries like Express to avoid generating methods that conflict with native JS methods. In Express 6 I recommend we remove the magical method generation and stick to shorthand for the common methods, allowing a longer .route("BIND", ...) if someone wants to use a BIND method.

See here for a real life example

For that specific real life example I fixed their dependency with https://github.com/httptoolkit/httpolyglot/pull/3, they just need to update.


Update mdo-email-entity-page.md

Removed the references to system override and added Primary Override and All Override in the doc.

Copy review - @VipulMSFT, kindly commit the minor suggested changes. Many thanks.

@JohanFreelancer9 - made the commits. Thank you!

@MSFTTracyP Please merge this Pr. Thanks

Hi @MSFTTracyP / @denisebmsft - can you please merge this PR.

Hi @MSFTTracyP / @denisebmsft - can you please merge this PR.

Hi @MSFTTracyP / @denisebmsft - pinging on this. Can you please help with merging this PR?


chore(#331): Update qulice version 0.22.2

Update qulice version 0.22.2.
Closes: #331
History:

chore(#331): update qulice version 0.22.2
chore(#331): fix all the rest qulice suggestions from 0.22.2 version

PR-Codex overview
This PR focuses on making classes final, adding @SuppressWarnings annotations, and renaming a field.
Detailed summary

Made classes final
Added @SuppressWarnings annotations
Renamed field text to msg

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 5min)


fix(types): check for nil Valset.Proposer.PubKey + valid commit.BlockID to avoid crashes

This change adds validation to avoid runtime panics for when:

ValidatorSet.GetProposer() returns nil or has a nil public key
Commit.BlockID is invalid and just causes a crash

all conditions which can be simply checked for upfront and not later on after doing lots of work and cause sudden panics.
Fixes #2626
Fixes #2627

Commit.BlockID It's verified in https://github.com/cometbft/cometbft/blob/732ca9ae88ccbbe7a08ed7e63168a1a6c7381297/internal/evidence/reactor.go#L246. I don't see a need to double-verify it.
ValidatorSet.GetProposer we never call this function with untrusted validators.

I will add some comments to the functions but I don't think we need to double-check blockID.


MudDialog - add support for Submitting on Enter key press with focus anywhere inside DialogContent

Feature request type
Enhance component
Component name
MudDialog
Is your feature request related to a problem?
MudDialog (and MudForm) is missing the option to submit the form while pressing Enter (or another) key while focus is anywhere inside the DialogContent.
Describe the solution you'd like
Same solution as with classic forms or Blazors EditForm - either pair the submit method with button with:
ButtonType="ButtonType.Submit"
button.
Or provide some MudForm API (method or property) to handle Enter/submit key press.
Have you seen this feature anywhere else?
EditForm or any classic form element implementation.
Describe alternatives you've considered
Considered workarounds mentioned here:
https://github.com/MudBlazor/MudBlazor/issues/4715
https://github.com/MudBlazor/MudBlazor/pull/4478
but they are not good enough and do not provide same functionality.
Also tried using EditForm inside MudDialog but because of mandatory  structure I wasn't able implement this solution.
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

See https://github.com/MudBlazor/MudBlazor/pull/9906 which allows to implement custom logic in <MudDialog OnKeyDown="...">. You can call your submit function there.


Openwrt Passwall Rules

Hi,
Please add tutorial for passwall on openwrt firmware.
Thanks a lot.

Help:
https://blog.vpngame.com/openwrt/cara-pisah-trafik-passwall/

Solved:
https://github.com/amirhosseinchoghaei/iran-iplist

anyone know how to use in passwall with sing-box core?


TA Review (Problem Statement & Development Plan):

Summary
The following feedback should be implemented:

[x] Fix American spellings.
[x] Fix Company spellings.
[x] Split up Git Sections into smaller sections.

Estimated Work Hours
0.5 Hours

all done


Guidance on how to implement Live Editing

Hi, I contacted you over on gitter also here:https://gitter.im/AvaloniaUI/Avalonia
I am investigating the possibility of adding a kind of Live editing mode, so you can edit the rendered html, and it will update the html source.
Its to form the basis of a kind of html based rich text control. Do you think you library could easily be extended to support this? Any pointers on how I could do it would be appreciated.

An interesting idea, but it seems that other contributors don't have time on this, and I can't tell you whether it's possible since I'm too not very familiar with the source now.
It may take time to investigate, but it's absolutely a thing i want to see it happen.


other strategies ?

what about twitter?
or how do we add custom auth providers?
thanks

Auth providers need a server-side component and a client side component. Twitter hadn't been requested yet, so this is what needs to be done:
On the server side: The passport.js plugin passport-twitter-token needs to be ported to ooth (similarly to ooth-google).
On the client side a "Connect to twitter" button needs to be created that performs the client-side steps of this flow then sends authentication info to the server (similarly to the login with google component).

I added the twitter login strategy, proof of concept here: https://staart.nmr.io
To activate twitter pull the last repo version and carefully compare .env with .env.dist files of the various microservices to see the configuration changes (a few other things changed as well because the previous setup was not mac compatible).

Thank you for that!
I tried clicking on the twitter button but nothing happens, console show a POST request with result but thats it, something maybe is missing.

Did you try on staart.nmr.io or on your own local app?

ok yes there is a problem with the client code, it works only with firefox.

It should be solved with the newest version of staart. Thanks for the feedback.

you welcome, will try to implment it in my app! thanks 👍


remove subdir from test config paths

fix for path not found in https://github.com/apache/beam/actions/runs/6628902519/job/18007023210 and https://github.com/apache/beam/actions/runs/6628928745/job/18007118069

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @Abacn


Implicit global variable in validation-common.js

Hi,
On line 994 and 1277, in validation-common.js you declare
regex = new RegExp(validator.pattern);

and
regex = new RegExp(validator.pattern, validator.patternFlag);

respectively.  Is this an error, or is it actually ment to be this way?
Johannes

Hello,
I could add it or leave it as is and nothing would change. The reason I use the patternFlag comes from the validation-rules.js, I specifially need to use it under these 2 validators: in_list and not_in_list. These 2 validators will always get called by the RegExp at line 1277 while at line 994 it's only used by Date validators which never use the patternFlag.
So to resume again, I could add the patternFlag at line 994 to be more consistent in my code, but it wouldn't change anything to the end result.
Does that answer your question? Did you encounter any issues related to that flag?
Thanks for the feedback anyway :)

Ok, I probably could have been clearer :-)
My issue isn't with the flag, but the fact that regex isn't declared in the function, and is an implicit global variable. That creates som problems for me. So I'm just wondering if its a feature or a bug :-)

Ah that's an error, they shouldn't be global. I just realized that when I refactored my code and made smaller functions; I forgot to redeclare the regex variable locally to each function. I could add the var regex to each function, rerun my protractor tests and push a new Revision if it's really a bug for you... let me know if it is.

That would be great, thanks :-)

Ok I just finished with the changes and tests. Please try it out on new Version 1.4.15
I'll reopen it if you have more problems related to it, but it looks good on my end
If you like the package/library, you can also click on Star on top. Thanks :)


Run django migrations as init container

Django migrations are currently run as a Kubernetes Job. This should be fixed to run as init container to ensure migrations always run before Django starts.

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


FORTECH-106: ArcSlider Component

Added ArcSlider components
Enact-DCO-1.0-Signed-off-by: Daniel Stoian<EMAIL_ADDRESS>

Depending on the props, the Arc was drawn incorrectly.
Case1) When endAngle is smaller than startAngle

Case 2) When max = 0 and min = 10

Case 3) When changing the step from 10 to 100 with min = 0, max= 100, and value=90, the value is still 90. In this case, do we have to update the value to 0 or 100?

Hello @ybsung, I need some guidance on what needs to be done for the cases you mentioned.

If endAngle < startAngle, then should an error be thrown? Or switch them in the logic(endAngle becomes startAngle). I assumed the user will put endAngle>startAngle
same for 1
3 This  happens also on the Slider component.
The step is not taken into the calculations on initial rendering for Arc, only when calculating a new value onMouseDown/onTouchStart.

Let me know your opinion

Hello @daniel-stoian-lgp
I think that agate/ArcSlider and ui/Slider have similar functions but different looks, so it would be better to adapt any policy in ui/Slider to agate/ArcSlider.

If endAngle < startAngle, then should an error be thrown? Or switch them in the logic(endAngle becomes startAngle). I assumed the user will put endAngle>startAngle
same for 1

Let's add validate functions like ui/Slider. By doing it, we could show warnings in a console.
https://github.com/enactjs/enact/blob/develop/packages/ui/Slider/PositionDecorator.js#L143
			if (__DEV__) {
				const {min, value = min, max, step} = this.props;
				const props = {min, value: value || min, max, step};

				validateRange(props);
				validateStepValue(props);
				validateStepMax(props);
			}

This happens also on the Slider component.
The step is not taken into the calculations on initial rendering for Arc, only when calculating a new value onMouseDown/onTouchStart.

Let's leave as-is. Thanks for letting me know the behavior on the Slider.
Here are some more comments.

It would be better to use events in Touchable instead of using onMouseDown and onTouchStart to handle mouse events and touch events separately.
We need to forward any events if those events are passed to components.
It might be better to rename calculateNewValue as emitChangeForPosition because we need to forward onChange event like Slider, Picker, Input, Keypad having a value
Please check the following diff.
https://github.com/enactjs/agate/compare/feature/FORTECH-106...feature/FORTECH-106-yb


cli: output table is splitted

not elegant
> create table x (x int)
created
> insert into x values (1)
1 rows inserted
> insert into x values (2)
1 rows inserted
> insert into x values (33333)
1 rows inserted
> select * from x;
+---+
| x |
+---+
| 1 |
+---+
+---+
| 2 |
+---+
+-------+
| 33333 |
+-------+

Does this happen in in-memory engine or secondary engine (or both)?

Only in-memory engine.

The table message is implemented in Display for DataChunk. But the output is Vec<DataChunk>. And currently we simply iterate the vec and print each chunk. So if there are multiple chunks in the result, the table will be splitted.
// in main.rs
for chunk in chunks {
    print_chunk(&chunk)
}

// in db.rs
output[0].set_header(column_names);

It seems that we should merge chunks together in main.rs before printing them out... As we don't expect users to use cli to print large amount of information, I think it's reasonable to do the fix.

i will try this


Call UpdatePatternLocations from a background thread

We have a number of theories why #12607 is happening, one of which is that
some GPU drivers somehow rely on Win32 messages or similar which we process
on the main thread. If we then try to acquire the console lock on the main
thread, while the GPU-driver thread itself is holding that lock, we've got
ourselves a deadlock. This PR makes this less likely by running the repeat
offender UpdatePatternLocations on a background thread instead.
We have a number of other locations which acquire the console lock on the
main thread and a thorough bug fix must be done in a different way.
Validation Steps Performed

After pasting an URL it gets underlined on hover ✅

Thinking about it, this is actually a good change in general. Reading the Terminal code it seems like updating the pattern locations involves nothing the main thread would be interested in, so there was no reason to ever do this on the main thread in the first place (AFAICS).

@msftbot merge this in 15 minutes


Make running program extension case insensitive

Closes #886
Concurrent of #861: solves problem with lowercase extension, but not solves different case in RustUp

Thanks!


Memory Card Game

Close #265
Added the memory card game and also the pictures used in it under GSSOC'23

Please refer the documentation. Checks have failed


zap2it.com

Source
https://tvlistings.zap2it.com/?aid=gapzap
Notes
Can you include this source please? It's pretty good. Thank you for the great work you have been doing.

bumping this, great source.

Bumping this again, they stopped using a national schedule, so I would recommend using DIRECTV New York (logos update and are HQ too)


Nckw add example teststat plots

Add example plots of test-stat distributions in part explaining limit calculation

Looks like I spoke too soon, the figures seem to appear inside the show/hide box in the preview on GitHub but don't seem to work on the docs page - any ideas?
https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/blob/main/docs/part3/commonstatsmethods.md?plain=1#L607-L615

Did you try a relative path (and maybe even the include syntax used elsewhere?), e.g.
![](images/exampleLHC.jpg)
I have a vague recollection that relative/absolute paths caused some problems at least with page links, so maybe worth a try?

It could be an issue with using the absolute path, I had issues with the paths being treated slightly differently in a local test and in a deployment previously.
When I inspect other images on that page in the browser, they are given by relative paths "../images/<img_name>.png", whereas, these ones are using the absolute path with "/docs" as the root.

Yeah for a standard image, the relative path is correct but this doesn't seem to work inside a  block (where it seems we have to use the html <img ... > think). I tried a few different versions and none of them seemed to work so what I have now (which does work at least) is the full raw path to the image. Unfortunately, it seems hard to test since the preview in GitHub doesn't show the behaviour of the html that gets built.

I set up a similar github.io page on my own github account for testing some of the other documentation updates. I can try using that one to make some tests and see what works.

Also, if its related to the  block, I wonder if it is handled properly with some of the updates that will come in as part of #839. There I added the pymdownx.blocks.details markdown extension, to make use of the
/// details | header name

contents
///

block style. I wonder if markdown then handles the image stuff properly. I can also check when I run a few tests shortly.

Right, if you can check whether using the pymdownx extension works, i'd
rather swap to using that here too. There's probably a few other places
where we might want to hide figures for ease of reading but if we get this
change in, that will make it easier to do. Thanks!
On Thu, Jul 6, 2023 at 10:37 AM kcormi @.***> wrote:

Also, if its related to the
block, I wonder if it is handled properly with some of the updates that
will come in as part of #839
https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/pull/839.
There I added the pymdownx.blocks.details markdown extension, to make use
of the
/// details | header name
contents
///
block style. I wonder if markdown then handles the image stuff properly. I
can also check when I run a few tests shortly.
—
Reply to this email directly, view it on GitHub
https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/pull/845#issuecomment-1623346949,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMEVW5ETZVYG7MW3I2TTITXO2BL5ANCNFSM6AAAAAAZZ3SYDA
.
You are receiving this because you modified the open/close state.Message
ID: @.***
com>

It seems to work using the details block extension:
https://kcormi.github.io/HiggsAnalysis-CombinedLimit/part3/commonstatsmethods/#complex-models
code is here:
https://github.com/kcormi/HiggsAnalysis-CombinedLimit/blob/docs_test_deploy/docs/part3/commonstatsmethods.md?plain=1#L607
It seems also possible to do it without the extension, but I also had to set the width explicitly in the img html block, otherwise it displayed very poorly. The code:
https://github.com/kcormi/HiggsAnalysis-CombinedLimit/commit/899a2af324b83c62590aa272f4674220a2af19dd#diff-e1cf5d8257ea3082032f066028c25c4e5134426b497d6f3f40042e955177759dR607
Also, for testing purposes, the behaviour I got using a local mkdocs build and just checking it in my browser seemed to reproduce the same results as the actual deployed page. I guess this makes sense that it is slightly different behaviour than what the github preview gives, both using markdown, but I guess with slightly different details.
Instructions on setting up a local environment for testing the documentation is in the contributing guide:
https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/blob/main/contributing.md#technical-details-of-the-documentation

Actually, the local mkdocs build also works with absolute paths, even though it doesn't on deployment. So that is one issue the local test won't catch. Hopefully its the only one, I'll add a note about that in the contributing guide.

Thanks Kyle - can we just add the extension to the main branch and use your
version of the code?
On Thu, Jul 6, 2023 at 11:20 AM kcormi @.***> wrote:

Actually, the local mkdocs build also works with absolute paths, even
though it doesn't on deployment. So that is one issue the local test won't
catch. Hopefully its the only one, I'll add a note about that in the
contributing guide.
—
Reply to this email directly, view it on GitHub
https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/pull/845#issuecomment-1623417184,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMEVW3FQRBWO62HHXLWUGTXO2GP7ANCNFSM6AAAAAAZZ3SYDA
.
You are receiving this because you modified the open/close state.Message
ID: @.***
com>


Unable to activate MangoHud

I am trying to enable MangoHud with following Launch Options in Steam:
MANGOHUD=1 gnome-terminal -- ./MinEdLauncher  %command%
sadly it has no effect.
It would be nice to define env. options in the config.
Running on linux

When you say has no effect, you mean that mango hud doesn't appear and not the game doesn't launch, right?
If the former, I'm not able to replicate this issue. Does mango hud appear if you don't use the min launcher (e.g. MANGOHUD=1 %command%)? Does it work if you globally enable mango hud (setting the var in /etc/environment)?
If the latter, can you post the contents of your log file?

I reinstalled mangohud with their installer on github and not with apt. It does work no. Sorry for bothering you.
But thanks for the great work! Really love your launcher.


test runs should have the option to not fail if a monitor can't connect to an external port

In the case of prometheus we can specify a monitor to extract data from prometheus, however if prometheus isn't available you get
Error: connect ECONNREFUSED <IP_ADDRESS>:9090
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1159:16)
Emitted 'error' event on ClientRequest instance at:
    at Socket.socketErrorListener (_http_client.js:475:9)
    at Socket.emit (events.js:400:28)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  errno: -111,
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '<IP_ADDRESS>',
  port: 9090
}

And caliper terminates.
This is really annoying because now I can't use a benchmark which defines a monitor for prometheus if I choose not to have prometheus running.
It should not fail the run, just report a warning or at least have an option that stops it from failing the run

there is no issue with a docker monitor and it also looks like from the code that if an attempt to push data to a prometheus push gateway fails then it will just log it, so I think that this is more of a bug than an enhancement, so changing to bug. The only thing is that from an integration test point of view if for some reason it is supposed to work but doesn't (eg url is wrong and so prometheus is not found) then the build would still pass.


DataGrid - Show Error When Empty

In my project , I am trying to using "Items.Clear()" on a DataGrid binding. I am getting errors.
So I run the demo app from UraniumUI, in SelectableDataGridPage, when removed all the item from Items, I am getting error message "System.InvalidOperationException: 'Collection was modified; enumeration operation may not execute.'

Clearing all the items one by one until no items remain occurs problem on the enumerator. ObservableCollection sends changes one by one. You can prevent enumerator usage by using for instead of foreach in your ViewModel, or just call Clear() command instead. After clear method usage, ObservableCollection sends all the deletion operations at once, so Datagrid will know all of them are removed and it can clear all the content at once instead of removing rows one by one.


task: test travis pr integration

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@524da8a). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   12.08%
  Complexity        ?       38
=========================================
  Files             ?        9
  Lines             ?       91
  Branches          ?        0
=========================================
  Hits              ?       11
  Misses            ?       80
  Partials          ?        0

Impacted Files
Coverage Δ
Complexity Δ

src/Handler/File.php
0% <ø> (ø)
7 <0> (?)

Continue to review full report at Codecov.

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


Add pyClamd to overrides

While the project has no Python 3 trove classifiers, it does purport to have Python 3 support on its homepage and there are checks for the Python version in the code.

Thanks! There's also a Python 3.4 wheel file as another marker.

Thanks! And sorry for the delay; I lost track of this PR.


Missing license file

The crate has "MIT/Apache-2.0" license but its missing on the repository itself

License files added, thanks.


PLT-8007 - Fixing mobile app links

Hey guys have a look, a minor fix for the links.
Ticket: https://mattermost.atlassian.net/browse/PLT-8007

@lindy65 - we can't merge this, I think it gets rid of the links to the pages? Please add the links somewhere else, we can't just remove them....

@lfbrock, I think this was a PR that you originally worked on where the links don't display properly.  Perhaps @asaadmahmood can take another look to see if he can fix them to look like the links in the screenshot of the ticket linked above?

@lfbrock Since those links are within that page, and clicking on these links takes you to the sections, wouldn't that be enough? Similar to other links that link to the respected section? Or do these also need the link specific for some reason?

They are separate documents, not within the page. See https://docs.mattermost.com/mobile/mobile-overview.html.
To clarify:

The links currently work, they are links to separate documents
They look strange in the menu

We should either:

Fix the way they look in the menu
or
Remove the links from the title and put them within the text instead

@asaadmahmood if 1 isn't possible / not worth the work, @lindy65 can you make a pull request for option 2.

@asaadmahmood - I think you've fixed the way these types of links look in the docs before?  Let me know whether you can fix - if not, I'll make a PR for option 2. above.  Thanks!

@lindy65 I think lets just go with the second option.


Update 09/2020

[x] cleanup ❌
[x] update .gitignore file 🐞
[x] update linter 💅🏻
[x] update LICENSE 🗝
[x] use nyc over istanbul for coverage 💯
[x] update all deps. 🥡
[x] update test code (use koa 2) 🧪
[x] update ci pipeline 🎲
[x] improve the source code and the test code ✨
[x] remove the thenify ✨
[x] imporve the memory limiter by use async/await and class over prototype ✨
[x] improve the redis limiter by use  async-ratelimiter over ratelimiter ✨
[x] update README.md 📋
[x] better pkg.json 🎗

fix #53, please close this PR #39 and this Issue #40.
READY TO 5.0.0 🚀

@niftylettuce, @dead-horse plz check this PR !

Done, v5.0.0 released @ https://github.com/koajs/ratelimit/releases/tag/v5.0.0


SDK v0.2 (Smart Contract Clients)

Hi all.
Here's a PR for sharing the new suggested design for the SDK v0.2.
It is a work in progress and it is not supposed to be merged yet.
For context, the main SDK components are:

The Smart Contract clients.
The Subgraph client.
The UI example.

This PR addresses the Smart Contract clients - (1).
Feel free to take a look at the code (focus on the src folder), but if you prefer a higher-level overview of what's included, here you go:
Following the new "Identity Model", the SDK now provides an AddressAppClient that covers 100% of the AddressApp smart contract functions.
This is were you'll find most of the expected Drips functionality:

(scheduled drips, erc20 tokens, are supported)
All public API methods (for all clients) are documented allowing IntelliSense to do its magic:

The SDK now throws typed errors.
All DripsErrors have standard codes that the users of the SDK can check against and manage accordingly. The SDK documents when a method could throw an error and what is the type of that error.
The SDK also exposes a "lower level" client for interacting with the DripsHub smart contract that you can explicitly create, or access via an AddressAppClient instance:

This client covers the majority of the DripsHub smart contract's read API, although the main usage of the SDK, at this stage, will most probably be done via the AddressAppClient.
I'll submit a full PR as soon as the SubgraphClient and the UI examples are implemented.
Looking forward to your feedback, and sharing any thoughts, ideas, or concerns you may have!
Thanks!

Hey @jtourkos -- sorry for the delay on the review and super excited that v0.2 of the SDK is taking shape!
If it's okay, I'm going to share notes in the comments here as I read through the code file by file. With that in mind, one first thing I see is that it looks like the chainIdToNetworkProperiesMap in utils.ts probably should be updated to reflect the new networks for v0.2: https://github.com/radicle-dev/drips-js-sdk/blob/e19f97d0514a0d8aee1baa0626fbf8307522c485/src/utils.ts#L8
Right now v0.2 is only on Goerli, I think we should probably remove all of these other network configs for now, at least until we're on those other networks.

@jtourkos -- I'm sure there's a reason for it, but I don't understand why this second collectAll (ForAddress) method is needed. Using the AddressApp, how can someone ever collect funds for a user that is not the signer?

Okay I think I've gone through all of the code -- looks great overall!

Thanks, @gh0stwheel for your feedback!
I've made the changes you suggested and regarding your question, as we discussed, there is the possibility of some user B to collect for a user A so that Splits can flow.
I'm continuing with the Subgraph (and UI) changes and will create another PR for those as soon as it's ready.

Closing this as this PR was to get the initial idea; many things have been added since then.
A full PR on the v2 implementation will follow soon.


Expand GUI module.

Expand GUI based on OpenGL with modules:

Textfields
Buttons
Sliders

and more...

In last commit support for basic buttons was added (events has to be fixed as only very basic support is now present (skeleton)).
Current screenshot of GUI example (click to enlarge):

Support for:

text with custom fonts (loaded with FreeType2)
buttons (events to be implemented, customizable border, customizable inner text)

Changes:

added text input fields
added support for many GUI events (onKeyStroke, onMouseMove etc.)

In 771f1622a9941cbafc6679c4165063440c9a62c8 commit, checkboxes' implementation was added.
Demo:


Unable to layout item: JSHandle@node when cells have significant size

Hello,
I use the following on an up to date Ubuntu 19.10

node v12.18.1 (npm v6.14.5)
Asciidoctor PDF 1.0.0-alpha.8 using Asciidoctor.js 2.2.0 (Asciidoctor 2.0.10) [https://asciidoctor.org]
Runtime Environment (node v12.18.1 on linux)
CLI version 3.4.0

The install log of asciidoctor-web-pdf was :
install.log
If I try to generate example.txt, I get this errors:

mmelchiore:doc$ asciidoctor-pdf example.adoc
Unable to layout item:  JSHandle@node
Unable to find destination _a_section while generating PDF outline! This likely happened because an anchor link contained an > umlaut (https://bugs.chromium.org/p/chromium/issues/detail?id=985254).

I have done a bit of testing, and if you comment the last "Lorem...", the error goes away. So I guess something is up with the layout of big cells...

Paged.js has updated the logic to avoid infinite loop so now when the "layouter" cannot fit an element into the page, this element is left on the "invisible" column (on the right).
If you open the developer tools on the HTML page, you can see the table on the right:

And apparently Paged.js does not know how to break a cell but that's not an easy task!
I will open an issue upstream with your example.

Automatically breaking up the cells is the full feature required to fix my issue. I understand this requires much more work so I think we should aim for a shorter term workaround.
Diagnostic messages would help the author manually break up the cells. Currently, I only see a cryptic error with no information on the elements causing the problems.... and the document can be quite long...
FYI, asciidoctor-pdf does not implement automatic cell break on page boundaries either. This is something I need to manually fix, which is a pity since it is dependent on the currently active template

Diagnostic messages would help the author manually break up the cells. Currently, I only see a cryptic error with no information on the elements causing the problems.... and the document can be quite long...

The error is a bit better on the developer console:

I believe that our logger cannot create a string representation of a Node that's why we get JSHandle@node instead of <tr ...>.
Do you think that would be enough to troubleshoot? If not, what information should we add? Maybe the page number?
Unable to layout <tr> element on page 2

FYI, asciidoctor-pdf does not implement automatic cell break on page boundaries either. This is something I need to manually fix, which is a pity since it is dependent on the currently active template

It should be possible to do it with Paged.js but as mentioned there are a few things to consider.

We need to consider the target user profile, when troubleshooting:

End-users
We cannot expect them to know about the intermediate HTML code, it is an implementation details. Further, using chromium with the development console is burdensome and requires advanced skills. This is why logging is important for them. Here is the Cursor interface, which AsciidoctorJ uses to trace source location throughout the compilation pipeline.

Hackers
I don't miond using chromium and the development console to troubbleshoot. But, I am not familiar with those technlogies. Maybe, we should provide a debugging procedure ?

We need to consider the target user profile, when troubleshooting:
End-users
We cannot expect them to know about the intermediate HTML code, it is an implementation details. Further, using chromium with the development console is burdensome and requires advanced skills. This is why logging is important for them. Here is the Cursor interface, which AsciidoctorJ uses to trace source location throughout the compilation pipeline.

That's a good idea but it probably won't be easy to infer the line number in the AsciiDoc document from the Paged.js error.

Hackers
I don't miond using chromium and the development console to troubbleshoot. But, I am not familiar with those technlogies. Maybe, we should provide a debugging procedure ?

Yes that's a good idea.
We can start by adding documentation and improving the error messages. Feel free to suggest improvements and/or open pull request to update the documentation.
Here's the upstream issue for the table issue: https://gitlab.pagedmedia.org/tools/pagedjs/issues/227
Actually, there are several issues depending on which styles are applied to the table but even when using an unstyled table Paged.js does not chunk the table properly and some cells/columns are missing.
I will look into the "Unable to find destination _a_section while generating PDF outline!" issue.

I will look into the "Unable to find destination _a_section while generating PDF outline!" issue.

It's related to the table bug, the PDF generated (by Chrome) does not contain the Dest entry for "_a_section".

Also it happens when the table is very long and one page is not enough.
It gives Unable to layout item:  JSHandle@node for the element between the two pages.
As workaround I need to split the table and to fit manually the table "children" in different pages.

I'm moving @dgslos comment here since it's related:

I'm still getting this error. Downloaded the v1.0.0-alpha.14 release. Tried both linux and windows versions
Error:
Unable to layout item:  JSHandle@node
Unable to find destination _overview_size_of_the_subcollection_mostly_by_year_if_database_in_access while generating PDF > outline! This likely happened because an anchor link contained an umlaut (https://bugs.chromium.org/p/chromium/issues/detail?id=985254).
Unable to find destination _additional_questions while generating PDF outline! This likely happened because an anchor link  contained an umlaut (https://bugs.chromium.org/p/chromium/issues/detail?id=985254).
Unable to find destination _possible_improvements while generating PDF outline! This likely happened because an anchor link > contained an umlaut (https://bugs.chromium.org/p/chromium/issues/detail?id=985254).

https://github.com/Mogztter/asciidoctor-web-pdf/issues/340#issuecomment-978167274
I will open a pull request to remove the message:
This likely happened because an anchor link contained an umlaut (https://bugs.chromium.org/p/chromium/issues/detail?id=985254).

This message is misleading and the error is now fixed. I think we should replace it by:
This likely happened because Paged.js was unable to layout a portion of your document (i.e., missing from the output). It can happen when using tables that don't fit on one page.

What do you think?


Is https://chassis.app.modzy.com reachable to the public user ?

I was following the Modzy Day 1 Tutorial and ran into error when at the Connect to Chassis and test model step.

Error
{
	"name": "ConnectionError",
	"message": "HTTPSConnectionPool(host='chassis.app.modzy.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"<urllib3.connection.HTTPSConnection object at 0x15603d890>: Failed to resolve 'chassis.app.modzy.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
	"stack": "---------------------------------------------------------------------------
gaierror                                  Traceback (most recent call last)
File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connection.py:203, in HTTPConnection._new_conn(self)
    202 try:
--> 203     sock = connection.create_connection(
    204         (self._dns_host, self.port),
    205         self.timeout,
    206         source_address=self.source_address,
    207         socket_options=self.socket_options,
    208     )
    209 except socket.gaierror as e:

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/util/connection.py:60, in create_connection(address, timeout, source_address, socket_options)
     58     raise LocationParseError(f\"'{host}', label empty or too long\") from None
---> 60 for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
     61     af, socktype, proto, canonname, sa = res

File /usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/socket.py:962, in getaddrinfo(host, port, family, type, proto, flags)
    961 addrlist = []
--> 962 for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
    963     af, socktype, proto, canonname, sa = res

gaierror: [Errno 8] nodename nor servname provided, or not known

The above exception was the direct cause of the following exception:

NameResolutionError                       Traceback (most recent call last)
File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connectionpool.py:791, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)
    790 # Make the request on the HTTPConnection object
--> 791 response = self._make_request(
    792     conn,
    793     method,
    794     url,
    795     timeout=timeout_obj,
    796     body=body,
    797     headers=headers,
    798     chunked=chunked,
    799     retries=retries,
    800     response_conn=response_conn,
    801     preload_content=preload_content,
    802     decode_content=decode_content,
    803     **response_kw,
    804 )
    806 # Everything went great!

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connectionpool.py:492, in HTTPConnectionPool._make_request(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)
    491         new_e = _wrap_proxy_error(new_e, conn.proxy.scheme)
--> 492     raise new_e
    494 # conn.request() calls http.client.*.request, not the method in
    495 # urllib3.request. It also calls makefile (recv) on the socket.

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connectionpool.py:468, in HTTPConnectionPool._make_request(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)
    467 try:
--> 468     self._validate_conn(conn)
    469 except (SocketTimeout, BaseSSLError) as e:

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connectionpool.py:1097, in HTTPSConnectionPool._validate_conn(self, conn)
   1096 if conn.is_closed:
-> 1097     conn.connect()
   1099 if not conn.is_verified:

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connection.py:611, in HTTPSConnection.connect(self)
    610 sock: socket.socket | ssl.SSLSocket
--> 611 self.sock = sock = self._new_conn()
    612 server_hostname: str = self.host

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connection.py:210, in HTTPConnection._new_conn(self)
    209 except socket.gaierror as e:
--> 210     raise NameResolutionError(self.host, self, e) from e
    211 except SocketTimeout as e:

NameResolutionError: <urllib3.connection.HTTPSConnection object at 0x15603d890>: Failed to resolve 'chassis.app.modzy.com' ([Errno 8] nodename nor servname provided, or not known)

The above exception was the direct cause of the following exception:

MaxRetryError                             Traceback (most recent call last)
File ~/xxx/tutorial01/lib/python3.11/site-packages/requests/adapters.py:486, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies)
    485 try:
--> 486     resp = conn.urlopen(
    487         method=request.method,
    488         url=url,
    489         body=request.body,
    490         headers=request.headers,
    491         redirect=False,
    492         assert_same_host=False,
    493         preload_content=False,
    494         decode_content=False,
    495         retries=self.max_retries,
    496         timeout=timeout,
    497         chunked=chunked,
    498     )
    500 except (ProtocolError, OSError) as err:

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/connectionpool.py:845, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)
    843     new_e = ProtocolError(\"Connection aborted.\", new_e)
--> 845 retries = retries.increment(
    846     method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    847 )
    848 retries.sleep()

File ~/xxx/tutorial01/lib/python3.11/site-packages/urllib3/util/retry.py:515, in Retry.increment(self, method, url, response, error, _pool, _stacktrace)
    514     reason = error or ResponseError(cause)
--> 515     raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    517 log.debug(\"Incremented Retry for (url='%s'): %r\", url, new_retry)

MaxRetryError: HTTPSConnectionPool(host='chassis.app.modzy.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"<urllib3.connection.HTTPSConnection object at 0x15603d890>: Failed to resolve 'chassis.app.modzy.com' ([Errno 8] nodename nor servname provided, or not known)\"))

During handling of the above exception, another exception occurred:

ConnectionError                           Traceback (most recent call last)
/xxx/tutorial01/code.ipynb Cell 3 line 2
      1 # initialize Chassis client
----> 2 chassis_client = chassisml.ChassisClient(\"https://chassis.app.modzy.com\")
      4 # create Chassis model
      5 chassis_model = chassis_client.create_model(process_fn=process)

File ~/xxx/tutorial01/lib/python3.11/site-packages/chassisml/chassisml.py:385, in ChassisClient.__init__(self, base_url, auth_header, ssl_verification)
    383     res = requests.get(base_url,headers={'Authorization': self.auth_header},verify=self.ssl_verification)
    384 else:
--> 385     res = requests.get(base_url,verify=self.ssl_verification)
    387 version_route = base_url + \"/version\"
    388 if self.auth_header:

File ~/xxx/tutorial01/lib/python3.11/site-packages/requests/api.py:73, in get(url, params, **kwargs)
     62 def get(url, params=None, **kwargs):
     63     r\"\"\"Sends a GET request.
     64
     65     :param url: URL for the new :class:`Request` object.
   (...)
     70     :rtype: requests.Response
     71     \"\"\"
---> 73     return request(\"get\", url, params=params, **kwargs)

File ~/xxx/tutorial01/lib/python3.11/site-packages/requests/api.py:59, in request(method, url, **kwargs)
     55 # By using the 'with' statement we are sure the session is closed, thus we
     56 # avoid leaving sockets open which can trigger a ResourceWarning in some
     57 # cases, and look like a memory leak in others.
     58 with sessions.Session() as session:
---> 59     return session.request(method=method, url=url, **kwargs)

File ~/xxx/tutorial01/lib/python3.11/site-packages/requests/sessions.py:589, in Session.request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    584 send_kwargs = {
    585     \"timeout\": timeout,
    586     \"allow_redirects\": allow_redirects,
    587 }
    588 send_kwargs.update(settings)
--> 589 resp = self.send(prep, **send_kwargs)
    591 return resp

File ~/xxx/tutorial01/lib/python3.11/site-packages/requests/sessions.py:703, in Session.send(self, request, **kwargs)
    700 start = preferred_clock()
    702 # Send the request
--> 703 r = adapter.send(request, **kwargs)
    705 # Total elapsed time of the request (approximately)
    706 elapsed = preferred_clock() - start

File ~/xxx/tutorial01/lib/python3.11/site-packages/requests/adapters.py:519, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies)
    515     if isinstance(e.reason, _SSLError):
    516         # This branch is for urllib3 v1.22 and later.
    517         raise SSLError(e, request=request)
--> 519     raise ConnectionError(e, request=request)
    521 except ClosedPoolError as e:
    522     raise ConnectionError(e, request=request)

ConnectionError: HTTPSConnectionPool(host='chassis.app.modzy.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"<urllib3.connection.HTTPSConnection object at 0x15603d890>: Failed to resolve 'chassis.app.modzy.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
}

Environment
Python 3.11.6
OS: MacOS Big Sur 11.7.10

> pip list
Package                  Version
------------------------ ------------
accelerate               0.24.1
alembic                  1.12.1
appnope                  0.1.3
asttokens                2.4.1
blinker                  1.6.3
cachetools               5.3.2
certifi                  2023.7.22
cffi                     1.16.0
charset-normalizer       3.3.1
chassisml                1.4.13
click                    8.1.7
cloudpickle              2.2.1
comm                     0.1.4
contourpy                1.1.1
cryptography             41.0.5
cycler                   0.12.1
databricks-cli           0.18.0
debugpy                  1.8.0
decorator                5.1.1
docker                   6.1.3
entrypoints              0.4
executing                2.0.1
filelock                 3.13.1
Flask                    3.0.0
fonttools                4.43.1
fsspec                   2023.10.0
gitdb                    4.0.11
GitPython                3.1.40
google-api-core          2.8.2
google-auth              2.23.3
googleapis-common-protos 1.56.4
greenlet                 3.0.1
grpc-requests            0.1.7
grpcio                   1.59.2
grpcio-reflection        1.48.2
gunicorn                 21.2.0
huggingface-hub          0.17.3
idna                     3.4
importlib-metadata       6.8.0
ipykernel                6.26.0
ipython                  8.17.1
itsdangerous             2.1.2
jedi                     0.19.1
Jinja2                   3.1.2
joblib                   1.3.2
jupyter_client           8.5.0
jupyter_core             5.5.0
kiwisolver               1.4.5
Mako                     1.2.4
Markdown                 3.5
MarkupSafe               2.1.3
matplotlib               3.8.0
matplotlib-inline        0.1.6
mlflow                   2.8.0
mpmath                   1.3.0
nest-asyncio             1.5.8
networkx                 3.2.1
numpy                    1.26.1
oauthlib                 3.2.2
packaging                23.2
pandas                   2.1.2
parso                    0.8.3
pexpect                  4.8.0
Pillow                   10.1.0
pip                      23.2.1
platformdirs             3.11.0
prompt-toolkit           3.0.39
protobuf                 3.19.4
psutil                   5.9.6
ptyprocess               0.7.0
pure-eval                0.2.2
pyarrow                  13.0.0
pyasn1                   0.5.0
pyasn1-modules           0.3.0
pycparser                2.21
Pygments                 2.16.1
PyJWT                    2.8.0
pyparsing                3.1.1
python-dateutil          2.8.2
pytz                     2023.3.post1
PyYAML                   6.0.1
pyzmq                    25.1.1
querystring-parser       1.2.4
regex                    2023.10.3
requests                 2.31.0
rsa                      4.9
safetensors              0.4.0
scikit-learn             1.3.2
scipy                    1.11.3
setuptools               68.2.2
six                      1.16.0
smmap                    5.0.1
SQLAlchemy               2.0.22
sqlparse                 0.4.4
stack-data               0.6.3
sympy                    1.12
tabulate                 0.9.0
threadpoolctl            3.2.0
tokenizers               0.14.1
torch                    2.1.0
tornado                  6.3.3
tqdm                     4.66.1
traitlets                5.13.0
transformers             4.34.1
typing_extensions        4.8.0
tzdata                   2023.3
urllib3                  2.0.7
validators               0.22.0
wcwidth                  0.2.9
websocket-client         1.6.4
Werkzeug                 3.0.1
zipp                     3.17.0

Questions

Should I be able to call chassis.app.modzy.com or do I need some kind of api_key first ?

Hi @cch0 thanks for letting us know about this issue. With the latest version of chassis (v1.5) we now recommend local builds with Docker rather than via a central service. Unfortunately, the tutorial you referenced doesn't yet reflect the new recommended build approach, so it needs to get updated. Fixes are in the works as we speak. We'll let you know as soon as the tutorial has been fixed. Sorry for the inconvenience!

Thank you for taking a look.
I have been using the local build process. The issue I had with  chassis.app.modzy.com no longer exists anymore and both notebook and non-notebook examples are working fine now.

Hi @cch0 we updated the tutorial you tried to use so that it's compatible with v1.5 of Chassis. Hopefully this fixes your issue. Thanks again for raising the issue with us. Here's a link to the updated tutorial: https://docs.modzy.com/docs/package-model


Developer field not working for play_scraper.collection() with gl<>'us' and detailed=True

Edit : not a problem with the library, the webpage itself is wrong when using a non default gf. So I guess nothing you can do about it (by the way thanks for this very useful library). Workaround I used : going through the list of apps scraped a second time using gl='us'.
When using play_scraper.collection() with gl<>'us' (ex:gl='fr') and with detailed=True, the developer field is always 'Google Commerce Ltd'.
Developer field is correct when using default gl.

Edit : not a problem with the library, the webpage itself is wrong when using a non default gf. So I guess nothing you can do about it (by the way thanks for this very useful library). Workaround I used : going through the list of apps scraped a second time using gl='us'.

Oh, this is what happened in #11, which prompted me to add the hl and gl params.
However, I did a quick look and those language and country parameters aren't actually included in the app detail requests following a list request, so those results may end up different than expected. I'll get a fix for that if I get the chance.


Perform Percy snapshotting in end to end tests

Description/Context
Browserstack Percy is a product that takes snapshots of websites and performs automatic visual comparison, generating images that show the differences between two snapshots. We should add this to our end to end tests so visual comparisons can be made both from branch to branch and also from commit to commit if necessary.
Plan/Design

[ ] Add the @percy/cli and @percy/playwright to dev dependencies
[ ] Add Percy snapshots to the appropriate tests:

[ ] The main ocw-www home page
[ ] The search page
[ ] The course home page
[ ] A course content page

[ ] Make sure the proper env variables are set up in RC / production before merging PR's related to this

Here's some code that I wrote to do some experimental testing with Percy. This just takes a snapshot of the course home page:
import playwright from "playwright"
import { env } from "../../env"
import { test, expect } from "@playwright/test"
import { getFirstAfter, CoursePage } from "../util"
const percySnapshot = require('@percy/playwright')

const browsers = {
  "firefox": playwright.firefox,
  "chromium": playwright.chromium
}

test("Loads the course home page", async ({ browserName }) => {
  const browser = await browsers[browserName].launch()
  const page = await browser.newPage()
  const course = new CoursePage(page, "course")
  await course.goto()
  await percySnapshot(page, `Loads the course home page in ${browserName}`)
  await browser.close()
})

One peculiarity that I found while experimenting with this is that you need to run the browser.close() function in order for Percy to consider the session "finished" and take the snapshot, otherwise it will wait indefinitely. All of our tests only use the page fixture, which doesn't include the browser object. If I used the browser fixture and run browser.close() on that, I would get an error from the next test that "the browser has been closed" even though each Playwright test is supposed to spin up its own browser window and close it at the end. So, I found that the best way to do this if you want a Percy snapshot in the test is to explicitly create a browser in the manner above. Also, we would need to create a new package.json script that runs the e2e tests with Percy:
"test:e2e:percy": "yarn with-env --dev -- percy exec -- ./package_scripts/test_e2e.sh",

If we had added the tests as described here, what would have happened in a case like #1379?

One peculiarity that I found while experimenting with this is that you need to run the browser.close() function in order for Percy to consider the session "finished" and take the snapshot, otherwise it will wait indefinitely.

I wonder whether or not it works if we use page.close instead of browser.close.

If we had added the tests as described here, what would have happened in a case like #1379?

I'm not sure we would have caught this issue, because it requires a pretty specific scenario where the course description uses a shortcode and is also longer than 320 characters. If we had the testing in place before the issue happened, and added a playwright test to check truncation beforehand it's possible we would have noticed it. It's likely we would add a Percy snapshot to the course home page, so if there was a difference visually between the unexpanded descriptions between two branches then it would have been flagged. It's also possible that a Playwright test checking for unrendered markdown in the description could have seen this.


Fix Mac OS OpenSSL include DNS config file

Follow up to #7
!pric throws error on include openssl.dns.cnf in openssl.cnf config file on Mac OS:
+ openssl req -new -key ./output/localhost.key -config ./openssl.cnf -subj '/O=\!pric/CN=localhost' -out ./output/localhost.csr

error on line 368 of ./openssl.cnf
4409359852:error:0EFFF065:configuration file routines:CRYPTO_internal:missing equal sign:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.11.1/libressl-2.8/crypto/conf/conf_def.c:344:line 368

https://github.com/pric/pric/blob/1fe109a094334b82be77d99f01b6142dc250cefc/openssl.cnf#L368

We can remove include and concatenate files manually by creating final config file in output/openssl.cnf from 2 intermediate files:
cat ./openssl.cnf ./openssl.dns.cnf > ./output/openssl.cnf


PWA Store listing shows misleading information

I have successfully submitted a PWA application to the Microsoft store.
Here is what is shown in the store listings:

[!IMPORTANT]
This app can
Access all your files, peripheral devices, apps, programs and registry
Access your Internet connection
Microsoft.storeFilter.core.notSupported_8wekyb3d8bbwe

I believe that this information will lead clients to believe that the application cannot be installed safely.
Is there any way to avoid this or should I use UWP packaging with WebView2 instead?

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

ID: 510619b0-1ad1-47e6-b199-0cb99025d54b
Version Independent ID: 7d4432c8-45fa-7670-7b6b-1d9e289037b3
Content: The user experience of PWAs - Microsoft Edge Development
Content Source: microsoft-edge/progressive-web-apps-chromium/ux.md
Product: microsoft-edge
Technology: pwa
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Thanks for reaching out. Let me ask @aarongustafson for help here. Aaron, is there anything that needs to be changed, perhaps in the manifest, to improve the store listing?

Hi, I work on PWAs and the Store at Microsoft, I might be able to help.
PWAs in the Store use the Hosted App Model, where a host app (in this case, Edge) runs a client app (in this case, your PWA).
In this model, native executables are invoked, which means full trust is required.
That's why the Store says full trust is required: because it's launching a native executable (Edge) to run your app.
That said, we recognize this is misleading to users: PWAs run in the browser's security sandbox, and can't access all your files, the registry, other programs, and other privileged operations.
Because of this, on the Store team we're looking at making a special case for this: if the app is a PWA, the Store could display something less scary, e.g. "This app can ask for additional permissions at runtime" or something.
We'll keep you posted on what we decide.

@pdfisk
Speaking with the team about this, where are you seeing this?

[!IMPORTANT]
This app can
Access all your files, peripheral devices, apps, programs and registry
Access your Internet connection
Microsoft.storeFilter.core.notSupported_8wekyb3d8bbwe

Where are you seeing that?
Currently, in the Store client, I see:

Which is still problematic, though less so.

Update: the team has agreed to address this.


[Search v1] Date and Merchant value text isn't line with each other in the row

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: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: Unable to check
Found when validating PR : https://github.com/Expensify/App/pull/41672
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:
Precondition: Have at least one submitted expense.

Log in with an expensifail account
Navigate to Account settings - Troubleshoot - New Search Page

Expected Result:
The whole row should be in line.
Actual Result:
Date and Mearchant value text isn't line with each other in the row.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @Kicu

@zanyrenney I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

@Expensify/design  this looks like a bug, yeah? I think we can call this NAB cuz it's not very noticeable, thoughts?

You can only access the search page right now via the troubleshooting menu (or knowing the URL directly) until we add the bottom tab for Search to release it. So definitely not a deploy blocker. 👍 CC: @luacmartins

Two things for you to follow up on @luacmartins:
The line height of any font/text that is at a size of 13px should be using 16px. Right now it's 18px for some reason?
Then if we take the min-height off of the value, it should vertically center itself just fine.

So what we might want to consider is putting the min-height of 20px on the flex wrapper that wraps the value, and then make sure everything is vertically centered from there. Let me know if that makes sense!

Hey I will take care of this because I'm actively working on Search components and its cheaper to just add this small fix as part of another PR, than to create a whole new PR just for this.
thanks @shawnborton for pointing out the font sizes, I'll straighten this out.

Wonderful - thanks!

@shawnborton inside this PR I have updated text aligning: https://github.com/Expensify/App/pull/42248
You can check the screen or video, or run my branch if thats something you can do.
Not every font is the same size - for example names are smaller (I believe this is on purpose) but I expect things to look aligned/centered. Please tell me if this looks ok to you.

Sounds good, can you actually leave a similar comment on that PR too so we know to look for it during review? I'll spin up a test build on that PR as well. Thanks!

Just to confirm, the PR for Add sorting will take care of this issue, right?

Yup!

no payment due:

@Kicu does not require payment (Contractor)


Unable to activate theme

I am unable to active my custom theme. I cloned the Paper dark theme and just change the name and title. I added the theme to my composer file and ran update. The theme does not show on the admin panel as a selection.

@jwhulette You can find out more about custom theming in the official documentation.

I followed the documentation. The theme shows in my installed.json file but the admin interface never displays it. From my reading of the code, it should parse the installed.json file to display any themes. Is there a cache somewhere I need to clear. I have done composer dumpauotload, cache:clear, view:clear & optimize.

Thoughts on this @reliq?

Sorry, but it's been a long day. It was a vagrant issue. My local copy was not being synced. A vagrant restart resolved the issue.


QGIS 2.18.0 non available for Mac OS X!

Hi!
I try to download QGIS 2.18 for Mac OS X, but when I visit the download page, the latest version downloadable is 2.16.3 (that always crashes when I want to build maps...). Can you please put version 2.18.o for Mac OS X ?

hi,
It takes time to build QGIS for every supported platform. So no worry, 2.18 on MacOS will be available hopefully in next days.
What is strange is 2.16.3 crashing every time. I'm also on macOS and do not experiment that. This imho deserves a bug report at www.hub.qgis.org. See http://qgis.org/en/site/getinvolved/development/bugreporting.html#reporting-issues-on-qgis-applications for more explanation and needed details.

Hi DelazJ!
Thank you very much for your quick answer!
I also don't understand for the crash, because until Tuesday, it worked well! I will report it

Closing as 2.18 is available now for Mac


Shorten splash screen message

@binford2k How does that look?

I mean a word or two to explain why the password looks weird. :)