Declaring window.snowplow before script load

Hi there,
We are integrating Snowplow with our JS app by waiting for the page load before initialising the asynchronous script - to ensure all of our content is loaded before loading any third party scripts - this is something we've done with other trackers successfully.
We would use something like the below:
const loadSnowplow = () => {
   //snowplow init script here
}

window.addEventListener('load', loadSnowplow);

Unfortunately with this approach, occasionally we try to send custom events before the script has finished loading which obviously throw errors. We would like to queue up the events in an empty array until Snowplow gets loaded which then sends all the queued events.
The way we have solved this with other trackers and their recommendations was to declare the namespace before the event listener even fires to ensure it's always attached to the window.
The below code creates problems as the if(!p[i]) conditional statement in your code gets ignored as the scripts already assumes that the snowplow method is already loaded on the window - which is currently just an empty array rather than a function.
const snowplowNamespace = 'snowplow';

const loadSnowplow = () => {
     ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
     p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
     };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
     n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d1fc8wv8zag5ca.cloudfront.net/2.7.2/sp.js",snowplowNamespace));

    window.snowplow('trackPageView');
};

window[snowplowNamespace] = window[snowplowNamespace] || [];
window.addEventListener('load', loadSnowplow);

Do you have any solutions for this that don't require modifying your script?

Hi @liamtarpey - I'm assigning this to Anton for his thoughts.

Hi @alexanderdean & @chuwy
I've been deconstructing your snippet to try to understand it better.
From what I understand the script is doing two main things:

Creating a function q on window.snowplow which stores queued events until the script is loaded
Creating a script tag which injects the snowplow script

Without having to rewrite much of your script, the below solution would work for us:
const loadSnowplow = () => {
        ;(function(p,l,o,w,i,n,g){n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
        n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d1fc8wv8zag5ca.cloudfront.net/2.7.2/sp.js","snowplow"));
};

const attachSnowplow = () => {
  if(!window['snowplow']) {
    window.GlobalSnowplowNamespace = window.GlobalSnowplowNamespace || [];
    window.GlobalSnowplowNamespace.push('snowplow');
    window['snowplow'] = function() {
    ( window['snowplow'].q = window['snowplow'].q || []).push(arguments)
  };
  window['snowplow'].q = window['snowplow'].q || [];
}

attachSnowplow();
window.addEventListener('load', loadSnowplow);

Can you foresee any issues with us using this method?

Hello @liamtarpey. This indeed an interesting approach and I don't foresee any issues with splitting init script. In the end it repeats all same actions as far as I can see. You can even shorten loadSnowplow further. If you have more questions about what is in init tag - here's prettified version.
I'm closing this as it's not an issue. If you have any questions - please post on https://discourse.snowplowanalytics.com or file an issue on dedicated JS tracker repository: https://github.com/snowplow/snowplow-javascript-tracker/issues

Thanks @chuwy much appreciated :)


Add in fee structure for minting

Type

[x] Enhancement
[ ] Maintenance
[ ] Refactor

Description
Add in percent based fee to minting, that is paid in the collateral tokens
Definition of Done

[ ] add percent based fee to MintPositionTokens function
[ ] create needed functionality to allow us to transfer fee's collected out of the smart contract.

closing in deference to #203


adding changed-files: 'true' fails

Hi,
I'm using this config:
- name: Ruff lint
  continue-on-error: true
  uses: chartboost/ruff-action@e18ae971ccee1b2d7bbef113930f00c670b78da4 #https://github.com/ChartBoost/ruff-action/releases/tag/v1
    with:
      src: './scripts'
      args: 'format --check'
      changed-files: 'true'

But when running the action shows:
Warning: Unexpected input(s) 'changed-files', valid inputs are ['args', 'src', 'version']
Run chartboost/ruff-action@e18ae971ccee1b2d7bbef113930f00c670b78da4
  with:
    src: ./scripts
    args: format --check
    changed-files: true
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.10.14/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.14/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.14/x64
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.14/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.14/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.14/x64/lib

Any advice on how to proceed? Thanks!

Looks like v1/release hasn't been updated.  I'd look at updating the hash to a more recent version.

Yeah, I just changed to the latest commit hash and it works.
This one: https://github.com/ChartBoost/ruff-action/commit/491342200cdd1cf4d5132a30ddc546b3b5bc531b
uses: chartboost/ruff-action@491342200cdd1cf4d5132a30ddc546b3b5bc531b

Still keeping an eyes on this for when it'll stop warning.

WIll this be fixed in the near-future in a released version?

Relevant changes: https://github.com/astral-sh/ruff-action/pull/4 also take a look at the new repo.


[BUG] When using photo_upload method, instagram blocks account forever

Hey, I am trying to write a bot that add photo to story but anytime when i want post something acc got instant ban
from pathlib import Path
from PIL import Image
from instagrapi import Client

image = Image.open("C:\\Users\\idriz\\PycharmProjects\\Market\\app\\image.jpg")
image = image.convert("RGB")
new_image = image.resize((1080, 1080))
new_image.save("new_picture.jpg")

cl = Client()
cl.login_by_sessionid("52727933593%3A6nhS3VrqcIEEyK%3A20%3AAYfJ429lPHzgT9Gd1hlfQfl3s-XTZrWrJBbZWepA8Q")

phot_path = "new_picture.jpg"
phot_path = Path(phot_path)

cl.photo_upload(phot_path, "hello")

Cannot reproduce this issue


Publish to specific stateless instance

I had a look through the code and couldn't see how messages are published to specific stateless service instances.  Is that possible with this library?

I don't think that's possible with remoting.  IServiceProxyFactory.CreateServiceProxy allows us to set the TargetReplicaSelector, but the only option for stateless services is RandomInstance.  And that makes sense.  I don't think you're ever supposed to interact with a specific instance when working with a stateless service.  Perhaps you are looking for a partitioned stateful service?

@danadesrosiers Thanks for the response.  I asked as I'm currently using Actor Events to support messaging between back-end services and specific instances of a stateless service hosting SignalR.
I'm doing this to avoid the overhead of a standard backplane.  The service-fabric-pub-sub documentation states that it supports stateless services, therefore I assumed there may have been another way to achieve what I ended up using Actor Events for.

The library is designed to pass messages between different services, not different instances of the same service.  One queue is created per partition, which will be just one for a stateless service.  The message is published to a single instance at random.  Sounds like it's not what you need, unfortunately.


Fixes issue with missing authors on commits

Due to data inconsistencies on the github api side, some commits are missing an author object, meaning the check fails silently.
This adds a check for commits without author and filters them out in the comparison process.
Fixes: #29
Signed-off-by: Per Ploug<EMAIL_ADDRESS>

👍

Hey @fokusferit - if you have time, it is a minor check added to the commit comparison to fix an edge-case found in Kopf (test case added)

👍

Due to holidays I just saw this today.

👍


Pathfinder Community Sheet v1.798

Fixed an attribute naming conflict with Roll20 that prevented the "Delete All" option found in repeating rows from functioning.
Updated the NPC/Monster statblock to make it a little easier to use.
Fixed the Abilities sub-tab header so that it matches the currently selected tab.
Added ft/m (displays based on the metric setting) to NPC/Monster speed.
Added error highlighting on macro field validation in the NPC/Monster tab.

Changes / Comments
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Include a footer section

@vaibhavyadav-dev I have seen the website and it lacks a footer section. So i want to add it along with contact us part and social media icons.

@Anirban780 why don't you guys read contributing guidelines, you opened a issue without even looking at it ?
don't you know it's spam, you'll be permanently blocked from repos for such things.


Implement DownloadSingleArtifactsFile

I've missed the possibility to download a single file from a jobs artifacts archive, as I need it in another tool.
P.S.: I've checked the DownloadArtifactsFile while implementing this and I think that all variables should be escaped before building the url. Also project is currently escaped using url.QueryEscape, but as it is part of the url path url.PathEscape should be used.
u := fmt.Sprintf(
  "projects/%s/jobs/artifacts/%s/download?job=%s",
  url.PathEscape(project),
  url.PathEscape(refName),
  url.QueryEscape(job),
)

Thank you for the quick review, I've done the required changes.

Thanks again @MarkusFreitag! Looks great now 👍


iPhone click seen as hover

Hello, have you noticed the behavior of the tooltip on iPhone? It will prevent the click because on click it will first show the tooltip than you have to click again to actually do the action.
Do I have to configure something specific? Or what would be the best way to disable the tooltips on phone?
Thanks

I will have to double check that, thank you for your feedback!

I have a similar issue maybe. It is easy to test even in the Chrome Ipad simulation.
I have a click event on the parent element and v-tooltip in the child. The problem is, that v-tooltip captures click event and parent click isn't triggered. The event should not be captured.

I have been trying to replicate the behaviour
https://codepen.io/hekigan/pen/ZxYZpa
In the simulator with iPad, on click, I still get the "action" word showing up in the console.
Can you give me a piece of code that would show the problem?

@hekigan, in your codepen example, move @click to the parent element <p>. Then you will see the problem. It will not be triggered.

The only way you would lose the event is if you are using the manual or click mode.
And I am considering removing the preventDefault in there.

Same here. I dont want a tooltip when using ios/safari .
Option to disable tootlip when mobile device is used an idea maybe ??

Hi guys!
I took a long break because the family grew bigger  :)
So, I am not sure how many of you have been having trouble with this, but it's not a bug per say but a feature according to Safari's devs.
It is annoying to go around but at the same time I do understand the reason behind the limitation.
First click is for the hover event (either JS or CSS, this is important), the second confirms that you want to click and not just hover.
In the situation where you just have a normal tooltip (let's say for a pagination), you want to just display the tooltip on the first tap and then click it on the second one.
That's all well, but this tooltip lib can also be used to display interactive html content. And in this case, it means trouble because you don't want to click twice.
So for this specific reason and because I don't want to have a breaking change, I think that the most elegant solution is to add a .ios modifier (like .prevent for example).
What it will do is, on mobile safari on iOS, remove the hover event and substitute the click event for it. On other platform, it will retain the usual behaviour without any need for you to get involved.
I did test a first implementation and it fixed the issue for me.
I am planing to push the change maximum next week.

First of all Congrats!
Second, seems like a good fix!
Added a workaround for this issue myself by just disabling it on any ios device. Seems to work for now.

Ok, fixed and pushed:
https://github.com/hekigan/vue-directive-tooltip/releases/tag/v1.5.0


Unique names for files from Open in Editor

When opening a Tekton resource in the editor through "Open in Editor" action, the file names might appear confusing since they look like files form the user's workspace.
In the following example, petclinic-pipeline.yaml is a file in my workspace and petclinic-deploy.yaml is the Tekton resource that is live on the cluster:

It would be useful to distinguish the live resource file names e.g. appending a random string in the end.

One alternative would be to add a unique suffix to the name so that it differentiates from the files in my workspace

Hi @siamaksade I have open a file from the local filesystem and other from tekton tree with the same name and you can see in the image after the file name it show the path of the file.

Should we show the path in the full path format instead? For example /tmp/.../build-an-deploy.yaml

@siamaksade Unfortunately we cannot control that, that is the feature of vscode, and vscode do not provide API for that

We should show perhaps something else then that makes it clear that these objects are from the cluster. Name of the cluster perhaps? Anything else that we could add?

Hm, we can add cluster name as prefix for file name: /some/path/clustername-file-name.yaml so in editor tab will be only clustername-file-name.yaml

That sounds better

@sudhirverma Are you OK with this?

@evidolob  and @siamaksade I can add the cluster name before the file name but it will be too long name for the file.
for ex:
for me cluster name is api-sudhir-cluster-19-a0b1-p1-openshiftapps-com:6443 if I add clustername-file-name.yaml it will too long name for file.


[AL-2187] Fix transforms with processed scheduler

🚀 🚀 Pull Request
Checklist:

[ ]  My code follows the style guidelines of this project and the Contributing document
[ ]  I have commented my code, particularly in hard-to-understand areas
[ ]  I have kept the coverage-rate up
[ ]  I have performed a self-review of my own code and resolved any problems
[ ]  I have checked to ensure there aren't any other open Pull Requests for the same change
[ ]  I have described and made corresponding changes to the relevant documentation
[ ]  New and existing unit tests pass locally with my changes

Changes

Should not clear temp tensors in __setstate__ because they would be used by another process

@AbhinavTuli No they would be deleted after the sync. Also added test for it.


Add .BUILD extension to Python languages

You'll notice that files named BUILD are already supported, which is for Bazel. But there are also situations where BUILD files might be named something like closure_library.BUILD. We'd like to have those syntax highlighted too.
CC: @Dominator008

Does Google have a corporate SLA with GitHub? If not, I can't contribute this change.

@jart I think there's a way you can sign one.

@Dominator008 If you want to send this pull request yourself, it would probably be better. I can't sign CLAs.

@jart Sure. Is this extension official? Can you post a link to the related Bazel documentation if it is?

There are examples of it being used in the Bazel repository. For example: https://github.com/bazelbuild/bazel/blob/master/src/main/tools/jdk.BUILD Also it's the same as the name of the BUILD files.

https://github.com/github/linguist/pull/2930.


Client.loadCommand is not a function.

I get this error
(node:230) UnhandledPromiseRejectionWarning: TypeError: client.loadCommand is not a function
at /home/runner/testing/index.js:26:29
at Array.forEach ()
at init (/home/runner/testing/index.js:24:12)
(node:230) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:230) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Please join the server for technical support so we can best help you. https://discord.gg/4NE4bk7


qira.me/dl should be HTTPS

Fears of "paste into terminal to install" scripts are typically somewhat overblown, but these days I'd say HTTPS is a must.

@geohot You own the webserver, hopefully you can enable https.

On top of that, we should look at cleaning up the install scripts to assuage the frustrations some of the people who are more picky about how things are packaged (seen on a hackernews post). And it might be possible to get this in the default repos as a result.

Changed default install to be "1.2", which is much much larger than it needs to be and terrible. But I agree 1.0 has gone sort of stale.

@geohot It looks like qira.me isn't updated with the new instructions.

hmm, it should be, looks fine on my phone...refresh it

Yeah it was cached for me, sorry for the bogus complaint.


xBRRR staking program

[x] #241
[x] Decide log base for boost rewards calculation
[x] Display estimated APY based on users' booster multiplier and token prices
[ ] DAO proposal to unlock BRRR
[ ] Docs on staking and booster
[ ] User guide?
[ ] Announcement (Medium + Twitter)
[ ] Update farm to distribute BRRR
[ ] Test storage issue in testnet
[ ] Change logbase on Mainnet to 100
[ ] wNEAR rewards
[ ] Deploy the UX

@evgenykuzyakov to review latest PR, especially around APY calculation


Use go-kit logger

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Solved via https://github.com/umschlag/umschlag-api/pull/94


IsDirectory is required for this request

chrome os
when i use "getMetadata", i get error "IsDirectory is required for this request";
is my EntryMetadata form wrong?

What exactly are you doing to get this error? can you talk me through it?


Improve verbiage for web_environment, fixes #3691

The Problem/Issue/Bug:

#3691

How this PR Solves The Problem:
Improve verbiage
Manual Testing Instructions:
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

Looks good! :+1:


Add support for ClientsModule.register

When talking about ClientsModule, I mean the one exported from @nestjs/microservices package.
Currently, ClientsModule.register call does not support this package. It would be good to support it tho because it would make migrating between different message brokers very easy.
If agreed, I could make a PR that would add the support.

@dPreininger do you have any code example ? I am struggeling with creating a pub sub client with ClientsModule.register...

The important part is that you use the customClass property. Double check if the options are correct as I have written them by hand (didn't copy paste the actual code)
ClientsModule.register([     	{     	    name: 'injection-token-name',     	    cutomClass: GCPubSubClient,     	    options: {     	        topic: 'your-topic',     	        client: {     	            projectId: 'your-id',     	        },     	    },     	}     ]);


xdr: update using stellar/xdrgen#68

It improves XDR marshaling performance.
See stellar/xdrgen#68 for details

I was curious and run CPU profiler on Horizon 2.10.0 and master. Highlighted all xdr.* calls. TransactionProcessor is now faster then OperationProcessor on my machine! Great job @leighmcculloch and @2opremio!
horizon-v2.10.0

master

@bartekn is there a benchmark for that? If so, we should run it when optimizing Horizon. If not, I think we should create one.

I think we could have a benchmark for each transaction processor and one for ingestion in general.

I think benchmark makes sense but only with mocked DB to filter it out. I think we can do (in a separate PR) but we are constantly monitoring Horizon metrics so not sure if it's required.

It would be really helpful when working on profiling (not just for monitor how Horizon's performance is going). I think it would be useful even when running against a local DB.


passthru.updateScript is a little hard to use

Issue description
passthru.updateScript is documented as being an executable file, but what's not immediately obvious is that this file is copied into the nix store and therefore if it does anything relative to its own location, that's not going to be very effective.
Looking through the repo I found at least one script that appears to be broken by this behavior; namely, the dwarf-fortress update script writes to $(dirname "$0")/game.json, which presumably will fail if it's actually attempted because that path is going to be in the nix store when it really wants to write to the nixpkgs working copy.
It would have been nice if updateScript had a mechanism by which the current directory could be set to the package's directory, but there's no existing means to do that. After some experimentation I determined that I could write something like the following:
passthru.updateScript = writeScript "update-package" ''
  #!${runtimeShell}
  set -e
  cd ${lib.strings.escapeShellArg ./.}
  ./update.sh
'';

This writes a new file to the nix store whose only job is to cd back to the working tree so it can run the real update script from the correct directory. I feel like this sort of hack really shouldn't be necessary.
I feel like the ideal behavior here is for the update script to be invoked with the current directory set to the containing directory of the file that set the passthru.updateScript attribute (using builtins.unsafeGetAttrPos). However this would likely be a backwards-incompatible change as there probably exist some update scripts that assume the current directory is the root of the repo (even though that's not at all guaranteed as I could run the update script from a subdirectory; I haven't actually confirmed but I assume the current directory is whatever the current directory was when I ran nix-shell). I did find at least one script that uses git rev-parse --show-toplevel so that script wouldn't be broken by this, but I haven't done an exhaustive survey of update scripts.

It occurred to me this morning that if I set the updateScript to a string, it won't be moved into the nix store. Experimentally, the following seems to work:
passthru.updateScript = toString ./update.sh;

Of course, the script itself still needs to handle the $PWD being some arbitrary location, but at least it can then use "$(dirname "${BASH_SOURCE[0]}")" to find its containing folder.
In any case, this is non-obvious. It might be worth updating the manual to mention the behavioral distinction between providing a path and providing a string.

In buildPythonPackage we have essentially
passthru.updateScript = let
    filename = builtins.head (lib.splitString ":" self.meta.position);
  in [ update-python-libraries filename ];

where update-python-libraries is defined in all-packages.nix.

Another itch is the way we use nix-shell shebangs in a lot of the updater scripts - the nix-shell invoked there might use another <nixpkgs>.
In my case, I ended up with an update-source-version that didn't know how to parse nix 2.0-style hash output, resulting in
sha256 = "  got:    sha256:…";

lines.
I guess we should add some documentation/examples about how things should be used, and update the existing scripts to honor these recommendations.

Sorry, wanted to reply sooner but did not have time and then forgot about this.

passthru.updateScript is documented as being an executable file, but what's not immediately obvious is that this file is copied into the nix store and therefore if it does anything relative to its own location, that's not going to be very effective.

Yeah, this is something we are so accustomed that we do not even realize someone might not know that.
IMHO this feature of Nix makes sense to ensure consistency of build trees but benefits are dubious in case of single-file update scripts.

Looking through the repo I found at least one script that appears to be broken by this behavior; namely, the dwarf-fortress update script writes to $(dirname "$0")/game.json, which presumably will fail if it's actually attempted because that path is going to be in the nix store when it really wants to write to the nixpkgs working copy.

Hmm, can confirm nix-shell maintainers/scripts/update.nix --argstr path dwarf-fortress produces an error. Apparently, it is a side effect of JSONification from https://github.com/NixOS/nixpkgs/pull/50977/files#diff-068de29b3fc79aa673d4a7f25f8ee9fbR142 Maybe we should stringify the paths there first.

It would have been nice if updateScript had a mechanism by which the current directory could be set to the package's directory, but there's no existing means to do that. After some experimentation I determined that I could write something like the following:
passthru.updateScript = writeScript "update-package" ''
  #!${runtimeShell}
  set -e
  cd ${lib.strings.escapeShellArg ./.}
  ./update.sh
'';

Yeah, using Nix’s script-relative semantics would work for individual packages but not for high-order updaters (e.g. the one used by GNOME packages).

I feel like this sort of hack really shouldn't be necessary.

Indeed, update scripts and other service info should be as minimal as possible.

I feel like the ideal behavior here is for the update script to be invoked with the current directory set to the containing directory of the file that set the passthru.updateScript attribute (using builtins.unsafeGetAttrPos).

Actually, I would expect a bash script to work relative to PWD when run manually. But I can see how the knowledge of PWD can become blurred when it is invoked by another program.

However this would likely be a backwards-incompatible change as there probably exist some update scripts that assume the current directory is the root of the repo (even though that's not at all guaranteed as I could run the update script from a subdirectory; I haven't actually confirmed but I assume the current directory is whatever the current directory was when I ran nix-shell).

update-source-version expects to be called from nixpkgs root so this would break almost every update script. Though I am not against making common-updater-scrips work in subdirs and break BC if we specify the expected behaviour and fix all the in-tree updateScripts. If we do not want to introduce BC break, we could implement it using features from https://github.com/NixOS/nixpkgs/pull/59372.

I did find at least one script that uses git rev-parse --show-toplevel so that script wouldn't be broken by this, but I haven't done an exhaustive survey of update scripts.

Ideally, update.nix would work anywhere in the tree but since 99.9% of people will probably call it from the root, I am not sure making the scripts more robust will be worth the effort.

In any case, this is non-obvious. It might be worth updating the manual to mention the behavioral distinction between providing a path and providing a string.

It is documented in the manual:

Every attribute is passed as an environment variable to the builder. Attribute values are translated to environment variables as follows:

Strings and numbers are just passed verbatim.
A path (e.g., ../foo/sources.tar) causes the referenced file to be copied to the store; its location in the store is put in the environment variable. The idea is that all sources should reside in the Nix store, since all inputs to a derivation should reside in the Nix store.

I see this issue quite frequently: people miss some detail in Nix manual and then a part of nixpkgs that relies on that knowledge confounds them. Unfortunately, I do not see a solution; the Nix manual is huge and many people did not read it cover to cover (I certainly did not not). And you need to know 90% of Nix manual so we cannot just copy the relevant parts to nixpkgs manual.

Another itch is the way we use nix-shell shebangs in a lot of the updater scripts - the nix-shell invoked there might use another <nixpkgs>.

I have nixPath set up to point to my nixpkgs checkout and I actually had the opposite problem – some update scripts depended on a package I updated previously so building the updateScript was blocked until everything built. Then I was glad that updateScripts depended on NIX_PATH so I could point it to a cached revision. I agree though, that this behaviour is unintuitive and catering to my minor issue is probably not necessary.

I guess we should add some documentation/examples about how things should be used, and update the existing scripts to honor these recommendations.

:yes:

It's probably safe to say that we should stringify all updateScript paths when converting to JSON; I can't imagine any scenario where we'd actually want the update script to be copied into the Nix store, given that we're invoking it immediately (if we're invoking it at all) and so long-term storage or consistency is unnecessary.
On another note, I realized today that maintainers/scripts/update.nix doesn't provide overlays when it imports the nixpkgs root, meaning this script will go ahead and try to invoke any updateScript attributes defined in overlays. This isn't objectively a bad thing, but I'm inclined to say that the nixpkgs maintainer update script shouldn't be touching overlays.

It's probably safe to say that we should stringify all updateScript paths when converting to JSON; I can't imagine any scenario where we'd actually want the update script to be copied into the Nix store, given that we're invoking it immediately (if we're invoking it at all) and so long-term storage or consistency is unnecessary.

https://github.com/NixOS/nixpkgs/pull/62478

On another note, I realized today that maintainers/scripts/update.nix doesn't provide overlays when it imports the nixpkgs root, meaning this script will go ahead and try to invoke any updateScript attributes defined in overlays. This isn't objectively a bad thing, but I'm inclined to say that the nixpkgs maintainer update script shouldn't be touching overlays.

Yeah, it was designed before the advent of overlays. I can reproduce it by creating over/default.nix
self: super: {
  pkmbr = with super; stdenv.mkDerivation rec {
    version = "3.32.1";
    pname = "pkmbr";

    src = fetchurl {
      url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/libdazzle-${version}.tar.xz";
      sha256 = "0wprqgn480r31pcgmpyk9l6cfvlczfcx10fpqaq9pbn3vjgs3393";
    };

    passthru = {
      updateScript = gnome3.updateScript {
        packageName = "libdazzle";
        attrPath = pname;
      };
    };
  };

}

and then running env NIX_PATH="$NIX_PATH:nixpkgs-overlays=$PWD/over" nix-shell maintainers/scripts/update.nix --argstr path pkmbr

I realized there are some uses of passthru.updateScript outside of nixpkgs: https://github.com/mozilla/nixpkgs-mozilla/blob/2ff87ba7e9c2cea747a88545dfe13702e7386628/pkgs/servo/default.nix#L96-L101
so perhaps we do not want to limit maintainers/scripts/update.nix to nixpkgs as in https://github.com/NixOS/nixpkgs/commit/36b2012447b936a1a638e2ddae17507bab8fc839.
What do you think @garbas?

I realized the overlay updateScript issue tonight because I was writing my own command to update my overlays. I ended up picking a different attribute name to avoid problems, but my solution to detecting just the overlay update scripts was to reimport nixpkgs with every overlay wrapped in a function that copied the overlay attributes into a brand new top-level attribute set, so I could examine them later.
That said, if someone does want to update overlays with the maintainer script, maybe we could disable that by default but add a new argument that means “update overlays too”?

Apparently they use custom copy of maintainers/scripts/update.nix so we probably do not need to worry about overlays.

#62478 looks great and will solve most of this. I would still like the manual to explicitly mention that updateScript will be run from an arbitrary PWD (frequently, but not always, the root of nixpkgs).

I believe this was fixed by https://github.com/NixOS/nixpkgs/pull/62478. The script name is stringified and the manual was updated to note that it may be run from arbitrary locations.


Use "npm ci" instead of "npm install" to speed up CI

Read more: https://docs.npmjs.com/cli/ci

Resolved with PR #83 .


Within-document links

Links from one part of a document to are now easier to produce (with SELF_HYPERLINK) and work more cleanly.

See https://support.getgrist.com/functions/#self_hyperlink


Add Pine64-LTS board directory

based on Pine64 board directory
image size increased to ((3000 * 1000 * 1000))
use u-boot-sopine rather than u-boot-pine64 due to type of DRAM used
using the u-boot-pine64 fails to detect any DRAM in u-boot startup

Is there anything blocking this from review and/or merge?


Refactoring work: defining SSH params to reuse

Refactoring work: defining SSH params to reuse  (addressing Ritesh's comment)

fixing a typo in the testcase name checked in with #863
addressing remaining comment from #863

Testing Done: Yes (ran locally)
=== RUN   TestVolumeCreationFirstTime

creating volume [abc_1485154865] on VM[<IP_ADDRESS>]
destroying volume [abc_1485154865]--- PASS: TestVolumeCreationFirstTime (8.15s)
	createVolume_test.go:60:
		Testcase passed: successfully able to create volume [abc_1485154865
		]
PASS

Thanks @kerneltime for the quick review!


Ability to remove features from Feature Group seems to be missing

Rats!  Things seem to disappear right when I need them!

this is fixed on production long time age.

How come when I select more than 2 in my feature group, the remove button disappears in the green bar?


Feature add date time datatype

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

57 of 62 (91.94%)  changed or added relevant lines in 6 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.005%) to 95.735%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

include/rexsapi/Value.hxx
7
9
77.78%

include/rexsapi/XMLValueDecoder.hxx
7
10
70.0%

Files with Coverage Reduction
New Missed Lines
%

include/rexsapi/XMLValueDecoder.hxx
2
94.3%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
3502

Relevant Lines:
3658

💛  - Coveralls


Always exits 0 in monorepo

When running concurrently from a monorepo workspace, all commands exit 0.
From the root, things are fine:
package.json:
...
    "explicitfail": "concurrently npm:explicitfail:*",
    "explicitfail:fail": "exit 1",
...

Command:
npm run explicitfail && echo shouldnt show

Output:
> explicitfail
> concurrently npm:explicitfail:*

[fail]
[fail] > explicitfail:fail
[fail] > exit 1
[fail]
[fail] npm run explicitfail:fail exited with code 1

However, when I cd into packages/subpackage and have the same setup, it succeeds:
packages/subpackage/package.json: (same thing)
...
    "explicitfail": "concurrently npm:explicitfail:*",
    "explicitfail:fail": "exit 1",
...

Command:
npm run explicitfail && echo shouldnt show

Output:
><EMAIL_ADDRESS>explicitfail
> concurrently npm:explicitfail:*

[fail]
[fail] ><EMAIL_ADDRESS>explicitfail:fail
[fail] > exit 1
[fail]
[fail] npm ERR! Lifecycle script `explicitfail:fail` failed with error:
[fail] npm ERR! Error: command failed
npm ERR!   in workspace<EMAIL_ADDRESS>npm ERR!   at location: /path/to/repo/monorepo/packages/subpackage
[fail] npm run explicitfail:fail exited with code 0
shouldnt show

Interesting. Are you able to share a self-contained example repository?

I believe this was related to a turbo issue, so I think we're good here


login: capture error caused by expired refresh token

fix #856
Also simplify the parameter name from --subscription-or-id to --subscription. The old one is too verbose, and the description in help has called out both id and name can work

/CC:@derekbekoe @burtbiel @tjprescott

:shipit:


TypeError: Cannot read property 'resource' of undefined

TypeError: Cannot read property 'resource' of undefined
/vs/workbench/contrib/files/common/explorerService.ts#161:72
at Generator.next ()
/vs/base/common/errors.ts#184:9
at new Promise ()
/vs/base/common/errors.ts#184:9 (reveal)
/vs/workbench/contrib/files/common/explorerService.ts#151:29 (select)
/vs/workbench/contrib/files/common/explorerService.ts#190:8 (refresh)
/vs/workbench/contrib/files/browser/fileActions.ts#648:24
at process._tickCallback (:68:7)

https://ticino-errors.azurewebsites.net/Errors?bucketIdHash=8c593d86-0992-bb58-e0a1-83a1ae6981db

This is fixed in latest.


Support layer tint color for TiledMap

Tiled, in version 1.4, added an option called Tint Color ( https://doc.mapeditor.org/en/stable/manual/layers/#tinting-layers ). This allows mapmakers to add a color that is multiplied into all tiles in the layer. Supporting this would be useful in libgdx.
It is stored as an attribute on the layer, not as a property, so both the map loader and renderers need to be made aware of it. As far as I can tell, the implementation as it's done within the Tiled editor itself would be as easy as multiplying by this tint color in this line in each renderer: https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/maps/tiled/renderers/OrthogonalTiledMapRenderer.java#L69
I haven't tested this out yet but that's the first thing I'm going to try. I plan on opening a PR when I get around to this but I wanted to open this issue to track it and give anybody the chance to weigh in before I do so.

It might make sense to change MapLayer's internal opacity float to be a full tint Color, using the Color's alpha as the actual opacity in the getter and setter. This would avoid an odd duplication of alpha variables, unless that duplication is also present in Tiled. It does seem useful to be able to tint layers.
(I don't currently use Tiled, so feel free to disregard any suggestions I make.)

The duplication seems to be present in Tiled. There is an opacity float and a tint color, and they appear to be combined with multiplication within the editor.
The original author of the tint color PR did propose replacing the (older) opacity option with tint, but that's not how it's implemented as of now.  You can read the original discussion if interested: https://github.com/mapeditor/tiled/issues/2683

Implemented by #7076


⚠ Bofrost.nl has degraded performance

In c32196f, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1056 ms

Resolved: Bofrost.nl performance has improved in 2a82a45.


How to implement state multi-operation requests?

Ask your question here
The state management documentation  mentions the possibility of implementing multi-operation requests, i.e. atomic transactions. However, I couldn't find how to do this.
Could you please provide an example of how to do it?

Does this doc address your issue? If not please reopen and provide more details on the requested missing content


Element RandomInstanceInputEvent does not save its instances list

Adding instances to the instances list of the RandomInstanceInputEvent is not functional, they do not save. This renders it useless.
Steps to reproduce the behavior:

Add some instances with InstanceInputs in them.
Add a RandomInstanceInputEvent into the level.
In the element properties, click Manage Instances List(instances), and add some of the instances you placed earlier
Close the list window. Take note of how the RandomInstanceInputEvent does not actually link to the instances.

Fixed by #553


[WIP] making id verification an inline process

Related Issue or Background Info
Changing verify organizations to be an inline action rather than one
Changes Proposed

Moved the verify button inline and removed the global ID verify checkbox/verify flow
Combined edit/verification into one modal per design feedback that highlighted having editing/verification in two separate columns was redundant
Added a separate "Save details" CTA that allows for the support team to save without editing

Additional Information

Added functionality that checks for any changes not saved prior to submit on the event that someone fills out a form without saving then submits it
May want some better user feedback for "successfully edited" beyond just the screen changing with the new info
Ripped out the code that allowed for bulk verification in favor of the individual action in favor of individualized version.

Screenshots / Demos
https://user-images.githubusercontent.com/29645040/145445932-a15e4700-24c1-4922-be81-5c4a00a4ee40.mov
Checklist for Author and Reviewer

[ ] Looking at implementation within the PendingOrganizations.tsx, PendingOrganizationsContainer.tsx, and ConfirmOrgVerificationModal.tsx files
[ ] Checking the updated tests within PendingOrganizationsContainer.test.tsx to see if I've missed anything/wrote something badly
[ ] Give feedback to Bob about anything he didn't do correctly around the PR process (first real one to a code base this large! :D)

UI

[x ] Any changes to the UI/UX are approved by design
[x ] Any new or updated content (e.g. error messages) are approved by design

Testing

[ ] Ported over testing from the old UI to new flow. Check to see there aren't any glaring errors here
[ ] Added a few mocking Apollo calls, check to see there isn't anything glaring here

Changes are Backwards Compatible

[ ] Database changes are submitted as a separate PR

[ ] Any new tables that do not contain PII are accompanied by a GRANT SELECT to the no-PHI user
[ ] Any changes to tables that have custom no-PHI views are accompanied by changes to those views
(including re-granting permission to the no-PHI user if need be)
[ ] Liquibase rollback has been tested locally using ./gradlew liquibaseRollbackSQL or liquibaseRollback
[ ] Each new changeset has a corresponding tag

[ ] GraphQL schema changes are backward compatible with older version of the front-end

Security

[ ] Changes with security implications have been approved by a security engineer (changes to  authentication, encryption, handling of PII, etc.)
[ ] Any dependencies introduced have been vetted and discussed

Cloud

[ ] DevOps team has been notified if PR requires ops support
[ ] If there are changes that cannot be tested locally, this has been deployed to our Azure test, dev, or pentest environment for verification

This looks great! I'm a little confused by the texts of the buttons though. It's weird that "View details" actually brings up a modal to Edit/Verify. Maybe instead we could leave the header of that column blank and make the buttons say "Edit or verify identity" instead? And in the modal, it's not super clear to me which of the buttons will do which action. I'm thinking "Save details" should be "Update without verifying", and "Submit" should be "Verify". I'm not a designer/content person though - @Rebecca-LM or @vz3 what do you think?

@nickclyde thanks for flagging this stuff. We were working on this a bit with Bob and I didn't realize it was already going to production. I'd hoped to have another look before then!
I agree with removing the column header, then making the button "Edit/Verify". The button could be "Update only" and the other "Verify". If you could do a video or screenshot after it's always most helpful to see it in context to see if it works. Thanks!

@fzhao99 did you need my review on this? I can't see any changes on my end rn.

This looks great, would've loved to remove WIP from the PR name, since that's the commit message that ended up on main.


What font is recommended, sir? Can not display symbol correcttly.

Thank you.

You have several options, you can use Fira Code or any modified NERD Fonts available here
https://github.com/ryanoasis/nerd-fonts


Adding bundler plugin to generate OSGI manifest

While I was taking training for cassandra, I noticed that the driver driver did not contain the OSGI-manifest hence I added.  BTW, We (the company, where I work for) are using the hector and we will moving to CQL soon and our project is based on OSGI since I made change in the public repo so it will be useful for others.  The same needs to apply to version 1.x too.

Can one of the admins verify this patch?

Closing as this has already been addressed by JAVA-142, see #122. Thanks @skuppa!


how to simply make each 'slide' full screen ?

I couldn't easily see how to just set each view on this component 'full screen', so the user can simply swipe left / right. We don't want them to see a preview of the next slide etc. The snippet below is just to try different 'width' setting attempts. flex=1, or screen's width etc.  Is this actually possible or does this component require a preview of the next slide etc ?
         <Carousel
            style={{flex: 1}}
            sliderWidth={width}     //note: width = Dimensions.get('window') etc..
            itemWidth={width}
            containerCustomStyle={{flex: 1, width: width}}
            contentContainerCustomStyle={{flex: 1, width}}
          >
            <View
               style={{
                  flex: 1,
                  alignItems: 'center',
                  justifyContent: 'center',
                  backgroundColor: '#B27AF8'
               }}
            >
                  <Text style={{color: '#FFFFFF'}}>I'm the TermsAndPrivacy component</Text>
            </View>
            <View
               style={{
                  flex: 1,
                  alignItems: 'center',
                  justifyContent: 'center',
                  backgroundColor: 'green'
               }}
            >
                  <Text style={{color: '#FFFFFF'}}>I'm the TermsAndPrivacy component</Text>
            </View>
         </Carousel>

@ajonno Hi there!
I must admit that the plugin wasn't created with this use case in mind. Still, you should be able to achieve what you're after. Could you try the following and let me know if this works ?
<Carousel
  sliderWidth={Dimensions.get('window').width}
  itemWidth={Dimensions.get('window').width}
>
    <View style={{ flex: Dimensions.get('window').height }} />
    <View style={{ flex: Dimensions.get('window').height }} />
    <View style={{ flex: Dimensions.get('window').height }} />
</Carousel>

Hi, I was trying to do just the same, eventually I managed to get what I wanted with
const width = Dimensions.get('window').width;

return (
    <Carousel
      sliderWidth={width}
      itemWidth={width}
      inactiveSlideScale={1}
      slideStyle={{ width }}
    >
        <View style={{ flex: 1 }} />
        <View style={{ flex: 1 }} />
    </Carousel>
);

@piuccio Hi, thanks for sharing! I'm closing the issue since either your solution or mine should do the trick ;)

Brilliant thanks both for your help


Bottom settings menu bar stretches across ARC application window

Your description here
The gray settings menu bar at the bottom stretches out the entire app window.  This gets in the way of the "Send" button.
Expected outcome
What should happen?
The gray settings menu bar should stay with the left panel of the ARC app window.
Actual outcome
What happened?
The gray settings menu bar at the bottom stretches out the entire app window.  This usually gets in the way of the "Send" button or response content.  See screen shot.
Versions
App: <IP_ADDRESS>5-stable
Chrome: 59.0.3071.115
Platform: Mac OS X (10_12_5)
Steps to reproduce

Open ARC
Click on "HTTP Request" on the left navigation panel
Settings menu bar stretches across the entire application window

Looks like their are already bugs filed for this issue.
https://github.com/jarrodek/ChromeRestClient/issues/1000
https://github.com/jarrodek/ChromeRestClient/issues/1027


Only show Note Count text for directories in file pane

When the data type to show is Note Count, individual notes in the file pane all display themselves as 1n. I see the use for this for directories, but it seems unnecessary for single notes. I wonder if this should thus be displayed only on directories.

See #16. I have concerns about this but more and more people are requesting it. I'll give it another think.

Thanks. I've commented there to avoid duplicating features. Closing this duplicate issue but I appreciate you thinking about it more.

Update: In version 2.11.0, you can use the "Note count (folders only)" count option.


Support AWS NLB TLS termination

Container port needs to be configurable to allow config as in https://projectcontour.io/docs/v1.24.1/guides/deploy-aws-tls-nlb/

Handled in https://github.com/kadras-io/package-for-contour/pull/24


Feature request: Enable writing to console in Javascript

As far as I can tell, it isn't currently possible to write to the console from Javascript (typing console.log("test") has no effect. This would be a very useful feature to have.

Any progress on this? It would be much more in line typical notebook iterative development scenarios, as the output could then be preserved in the notebook - whereas the developer console in any web browser wouldn't.

Nothing has happened but we actually have been making some other improvements to our JS experience and I think this would fit right in.
However I am thinking it would be better to keep console.log as it is, and introduce a new function beaker.print() that has this new behavior.


There are untagged, merged release PRs outstanding - aborting

Hi,
I'm trying to configure a repository to use release-please to automate release process.
I've started with a dummy repository to play around with it:
https://github.com/CBenoit/actions-tests
I got the first release PR successfully: https://github.com/CBenoit/actions-tests/pull/1
However, now it's aborting with this message:
❯ Found pull request #1: 'chore: release main'
⚠ There are untagged, merged release PRs outstanding - aborting

See full logs here.
Notice that I have tagged the release commit: https://github.com/CBenoit/actions-tests/tags
That's the correct commit as seen on the main branch.
Also, I expected release-please to add the tags automatically instead of having to add them manually, maybe I missed something. The PR didn't get the tag autorelease: tagged which is suspicious.
I also tried to specify the last release SHA manually.
This might be related to https://github.com/googleapis/release-please/issues/1263 but I'm not too sure.
Do you have any idea?
Thank you!

The release-please binary has 2 commands: release-pr (opens a release pull request) and github-release (tags and creates a GitHub release for a merged release pull request).
It looks like you are running release-please manually via GitHub actions. If you do, you'll want to run the github-release command first, then the release-pr command after.
Alternatively (and probably more maintainable), you can use our pre-built action for running release-please: https://github.com/google-github-actions/release-please-action

Thank you, apparently I misread the documentation.
Have a great day!


do not strip "classpath:" when normalizing the path

Impact
This may or may not be a breaking change.

Description
This PR addresses the issue #5878 . It ensures that path "normalization" never strips the classpath: prefix when creating DatabaseChangeLog for child resources. The solution is submitted per @tati-qalified advise.
Things to be aware of
The altered method is static and is widely used across Liquibase. This may or may not be a breaking change.
Things to worry about
I don't fully understand the consequences of NOT stripping classpath: prefix when resolving relative paths for other implementations of ResourceAccessor. Quite possibly some of them will need to be updated as well. But it seems logical: in a hierarchy of resources, child resource resolution should follow the same algorithm as the root resource.
Additional Context
See #5878

Hi @andrus,
How are you doing? We very much appreciate you trying to fix #5878 and create this PR for it, but we can't merge it as it is. This PR is breaking some tests, but besides that, I have been discussing it with the team and we think this is a breaking change and we don't want to change the current behavior.
I think what we can do is define a new global configuration (you can have a look at src/main/java/liquibase/GlobalConfiguration.java to see some existent examples) and depending on the value set for this configuration then we can decide to strip/don't strip classpath: from the path. I think this way we would prevent breaking somebody else code.
If you have any questions/concerns about it please let us know and me or someone else from the team would be keen to help with you. Last thing, if you are keen to do address these modifications could you please add some unit tests to test the code changes made.
Thanks,
Daniel.

Hi @MalloD12 , I suspected we can't just change the policy globally. The suggested idea of doing it conditionally via GlobalConfiguration property should work. Not sure how hard it will be to write a test on the LB site, but I will definitely be happy to test it on Bootique side (and I already have unit tests there).

You can try adding the tests also in Liquibase repo and I can help with it, or you can share the scenarios you would like to add and I can assist you on adding them.
Thanks,
Daniel.

Let me poke around

@MalloD12,  I updated the PR. Now it has two commits:

c0d203b91310c610c9b5c880995fe4c72fc2d5a5 - a unit test that shows how relative paths do not work for a certain type of dynamic ResourceAccessors
94950cad34921f62bf1d5940b6f9e635e1148e76 - my original "fix" that will be replaced with GlobalConfiguration property as you suggested.

Hope this helps with that property implementation.

Hi @andrus,
I've been looking at this PR and it's still in a not mergeable state.  By removing:
if (filePath.startsWith("classpath:")) {
    filePath = filePath.substring("classpath:".length());
}

will change and break the current behavior which is what we are trying to avoid at the moment. I think it is a reasonable approach to create a new resource accessor class as you are doing and handling there the decision to according the global configuration we were discussing previously decide whether we want to remove or not the classpath: prefix from the path when normalizing.
The global configuration I was talking about would be something like:
INCLUDE_CLASSPATH_PREFIX = builder.define("includeClasspathPrefix", Boolean.class)
                .setDescription("If false Liquibase will remove 'classpath:' prefix when normalizing a resource path. By default, path will keep the classpath prefix")
                .setDefaultValue(true)
                .build();

Thanks,
Daniel.

Yes, this is what I said in my comment. The second commit in the PR is for information purposes so to speak. Anyways, I will remove it shortly to avoid any confusion.

Just updated the PR:

Removed the changes from DatabaseChangeLog
Moved the test ResourceAccessor into a top-level class as requested in the previous review.

Hey @andrus,
Are you keen to add the global configuration and make the necessary changes to the new resource accessor class you have already implemented?
Thanks,
Daniel.

I can give it a shot. But unfortunately the check can't be done inside a ResourceAccessor (otherwise I wouldn't have a need to patch Liquibase). The check will have to go in the DatabaseChangeLog.normalizePath(..) method, and depending on the config value, it would either strip the classpath: prefix or not. Is that ok?

Hi @MalloD12 , I just updated the PR to conditionally use preserveClasspathPrefixInNormalizedPaths GlobalConfiguration property, with default being the current behavior. Also extended the tests to verify multiple levels of nesting and check the outcome with different values of the above property.
Please let me know what you guys think. Looking forward to inclusion of this in one of the upcoming LB releases, as using LB 3.x has become untenable for the Bootique community. 😅

Hi @MalloD12 , wonder if you had a chance to take a look at this?

Hi @andrus,
Thank you for all your updates on this PR. I'll start looking at it tomorrow.
Thanks,
Daniel.

@MalloD12 thanks for the review and suggestions! Looks like we need one more approval Who can help with that?

Hey @andrus, yeap someone else from the team needs to review this as well. Another Dev and QA team will review it, we are releasing a patch this week, so I would think if everything is ok for the rest of the team this change will be part of our next release (4.30.0).
Thanks,
Daniel.

@MalloD12 could you create a documentation ticket for this PR?

Hi @andrus,
Could you please do us the favor of updating this PR description with the addition and usage of the newly introduced flag, so our docs team can update our docs accordingly?
Thanks,
Daniel.

PD-5137 has been created for docs update.
Thanks,
Daniel.

@MalloD12

Could you please do us the favor of updating this PR description with the addition and usage of the newly introduced flag, so our docs team can update our docs accordingly?

Just added a paragraph to the top description.

Hi folks. Do we need any extra approvals to get this merged?


Add reference to stylelint-custom-processor-loader to README

I think my Webpack loader is ready to see the light with core features etc. at least. I'd love to add it to the README here in a combination of shameless promotion of my own npm module and also just because I know I really wanted this when I started using our processor.
P.S: I stole your good idea of the gif in the README but upgraded it with the hot reloading webpack allows ;).

Coverage remained the same at 100.0% when pulling 10708f5f24902c537c22d070ed107386b6e536ce on readme/webpack-loader-reference into c9d51688515b5a760174e09de07ac5d468e4642c on master.

It looks great!

Thanks!

do you want to move that webpack loader over to this organisation?

I think I'll keep it separate for now, for one because while it was definitely written for Styled Components, I did see a void in general for custom processors of Stylelint, and it could be that there are some use cases for some of the other custom processors, or maybe new cool things like Styled Components will be invented in the future that might want to use it :).
And then I'm also a bit proud and protective of it as it's my first npm module so I think my pride wants to keep it on my page for now :P.
If at some point in the future it for some reason would make a lot of sense to migrate it I'd be open to it, but for now I also see reasons like the above to keep it separate :).

That make sense!


Support for 3.68

Could you add 3.68 support, please?
Thanks.

Could you add 3.68 support, please?

It seems that the offsets did not change, so please try this build and send me contents of ux0:ps4linkcontrols.log file.
https://github.com/nowrep/vita-ps4linkcontrols/releases/download/368/ps4linkcontrols.suprx

That build works fine for me.
I tested it in the PS4 menu, as well as .Hack//GU, and a PS2 Classic, and it worked on all of them!
Thanks!

Thanks!


[New Model]: SIS Shopfloor Information Model: SISReturn

Model Description
The shopfloor information results contains the forecasting information exchanged between the Modular Production and a second party (customer, logistical etc.).
The forecasting information gives an overview about the current processing state of a product and the estimated production date.
This information will be exchanged between the partners either on request, cyclic with a fixed cycle or on notification, if a forecast is changing.
Relevant Standards

Example Data

SMC
Property
mand./opt.
Semantic ID
Remark

header
RequestID
mandatory

CommunicationMode
mandatory
enum (synchronous, cyclic, notification)

body
ListOfForecastItems
mandatory
List of ForecastItems
list containing all order items

ForecastItem*

ProductionForecast
mandatory
datetime
Date of Production

ProductionStatus
mandatory
enum(orderReceived, orderPlanned, orderInProduction, orderCompleted, orderPostponed, orderCancelled)

ForecastDate
mandatory
datetime
Date of forecast calculation

ForecastCertainty
mandatory
Certainty for the  forecast date 0,0 .. 0,33 / 0.34 .. 0,6 / …

Reason4Delay
optional
enum(maschineFailure, supplyProblems)
not every factory will provide too many information

IterationNo
optional
int
this parameter is only required in the case of the notification mode. It  continiously counts the number of updates to gurantee that the notifications are in the correct order.

MS1 Criteria (already done in https://github.com/eclipse-tractusx/sldt-semantic-models/issues/180)

[x] The proposed aspect model does not exist already
[x] The proposed aspect model does not extend an existing aspect but introduces completely new functionality
[x] The proposal references a Catena-X use case
[x] Relevant standards are mentioned/linked
[x] A first draft of the data structure is provided in an example

modeling_team

MS1 already done in https://github.com/eclipse-tractusx/sldt-semantic-models/issues/180 separate ticket required track both models separately.


Fixing bug in stability of mergesort impl for StringArray

Motivation: for StringArray type legacy implementation of stable sort
computed result when sorting with ascending=False by reversing the
result of argsorting with ascending=True, which produces wrong order in
groups of elements with the same value. Implemented solution adds
new function argument 'ascening' and uses it when calling native function
impl via serial stable_sort.

Hello @kozlov-alexey! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/str_arr_ext.py:

Line 94:41: E128 continuation line under-indented for visual indent

As an exceptional case agreed to merge and include in the next release despite internal CI fails with python3.6.


Fix index.html links to manifest and apple-touch-icon

Bug: assets have incorrect paths
Proof:
git clone https://github.com/emilk/eframe_template.git && lychee .

  31/31 ━━━━━━━━━━━━━━━━━━━━ Finished extracting links                                                                                Issues found in 1 input. Find details below.

[./eframe_template/index.html]:
✗ [ERR] file:///tmp/tmp.xuDXKdo4H8/eframe_template/icon_ios_touch_192.png | Failed: Cannot find file
✗ [ERR] file:///tmp/tmp.xuDXKdo4H8/eframe_template/manifest.json | Failed: Cannot find file

🔍 31 Total (in 0s) ✅ 29 OK 🚫 2 Errors

Fix
change links to these assets
Related to

https://github.com/emilk/eframe_template/pull/137
related to https://github.com/rerun-io/ewebsock/pull/38#issuecomment-2150380393

Thanks!

After this commit I get this warning when trying to use eframe_template with trunk: Manifest: Line: 1, column: 1, Syntax error.
Looks to me like trunk (0.20.2) copies files specified using <link data-trunk rel="copy-file" href=" to the root of the dist directory.
So prepending assets/ to the manifest.json url breaks things.

After this commit I get this warning when trying to use eframe_template with trunk: Manifest: Line: 1, column: 1, Syntax error.
Looks to me like trunk (0.20.2) copies files specified using <link data-trunk rel="copy-file" href=" to the root of the dist directory. So prepending assets/ to the manifest.json url breaks things.

Thanks for reporting it

https://github.com/emilk/eframe_template/pull/146


fix(docs): add fill in the blank to challenge template

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Ref: https://github.com/freeCodeCamp/freeCodeCamp/issues/52304

As I'm sure you can imagine, my spidey sense started tingling when I read the title of this PR. Are these fill in the blank questions implemented anywhere so I can take a look at them?

They're part of the English curriculum we are creating @bbsmooth. Set the SHOW_UPCOMING_CHANGES to true to see the "A2 English for Developers" superblock. Several of the challenges in there are this "fill in the blank" style. It was just added. Your input on accessibility would be greatly appreciated. Note that we are trying to teach the English language with these challenges - there's going to be audio, images, and new challenge types. I have mentioned to the creators that many of these things may have issues with accessibility - but, when trying to teach a language, we may have to make some compromises in this regard. Let me know what you find.

I have mentioned to the creators that many of these things may have issues with accessibility - but, when trying to teach a language, we may have to make some compromises in this regard.

I don't think that needs to be the case. I don't see any reason why these can't be made fairly accessible. But I am of course open to hearing about specific concerns.
Is this the best place to start discussing accessibility issues about these fill in the blank questions? If not, please let me know what you think would be best and I'll do it. I will warn you, this is not going to be a simple fix, so there will be plenty of discussion involved.

I think we are probably safe to merge this with the one failing test. Let me know if not and I will update the branch.


Action.OpenUrl results in encoding of # to %23 in the URL

Copied bug from: https://github.com/microsoft/AdaptiveCards/issues/6839
Details from original post:
Platform
What platform is your issue or question related to?

iOS

Author
A bot installed into Microsoft teams, shares an adaptive card into Microsoft Teams channel.
Version of SDK
1.2
Issue
The following payload is sent in adaptive card for actions:-
"actions" : [
  {
  "type" : "Action.OpenUrl",
  "title" : "Launch in browser",
  "url" : "https://xyz.com/path?a=b#123"
  }
]
While clicking on "Launch in Browser" button on the adaptive card in the iOS mobile and tab devices , the "#" in URL gets encoded to "%23", as a result of which the website stops working.  The url open as "https://xyz.com/path?a=b%23123". This happens only in iOS and is working correctly in Android, Windows desktop and web version.
Document Details
⚠ Do not edit this section.It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3fb4394d-25b1-8752-3996-fe3a2934732d
Version Independent ID: 6d391381-89d0-117c-27cc-00043bd26a36
Content: Cards reference - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/cards-reference.md
Product: msteams
GitHub Login: @surbhigupta12
Microsoft Alias: surbhigupta12

We are looking into this issue. We will update you.

Closing this issue as the same is being discussed in the following thread - https://github.com/MicrosoftDocs/msteams-docs/issues/4839


Define How Notification Bubbling Behaves

Various models are flagged as notifiable but their notifications must be bubbled to any subscribers.
Example:
Character is notified of a payment to one of their invoices. This notification should be passed on to the User that owns the Character.

 Just make authenticated channels for all of them!
Dumb ass...


Validation issue with 112 (BR)

Please read the "guidelines for contributing" (linked above) and fill in the template below.
Country/region affected (e.g., "US"): BR
Example number(s) affected ("+1<PHONE_NUMBER>"): 112
The phone number range(s) to which the issue applies ("+1 555 555-XXXX"): +55 XX XXXX-XXXX
The type of the number(s) ("fixed-line", "mobile", "short code", etc.): short code
The cost, if applicable ("toll-free", "premium rate", "shared cost"):
Supporting evidence (for example, national numbering plan, announcement from mobile carrier, news article): IMPORTANT - anything posted here is made public. Read the guidelines first!
The 112 emergency short code should return as a  isValidShortNumber(): True and isValidShortNumberForRegion() : True.
112 is a valid short code in Brazil that redirects to 190.
https://en.wikipedia.org/wiki/Telephone_numbers_in_Brazil#Public_utility
link to demo
112 should return the same results as 911 currently does.
link to demo

@jlasley ,
Thanks for providing all the details we need! We've accepted this issue and
will fix this in an upcoming release. For your next metadata issue, we invite
you to file issues in Google's new Issue Tracker,
which we're currently testing.
Please note that you have submitted this information with the knowledge that we
may use, modify, reproduce, publicly display, and distribute the information in
accordance with our open source policies. Please let us know if you did not
intend to submit the information for such use.

This is fixed in release 8.5.0
http://libphonenumber.appspot.com/phonenumberparser?number=911&country=BR

http://libphonenumber.appspot.com/phonenumberparser?number=112&country=BR

Thanks for the fix.


Scheduler does not wake sleeping threads when multiple cores are available

When using multiple CPU cores, the scheduler does not wake sleeping threads once their sleep duration is over. I guess this happens because of the core-local scheduling, where the main core does not check for threads to be woken on other cores. But I have not verified this.
Simple reproducer:
#[cfg(target_os = "hermit")]
extern crate hermit_sys;

use std::thread;
use std::time;

fn main() {
    let mut children = vec![];

    let threadnum = 5;
    for i in 0..threadnum {
        println!("SPAWNING THREAD {}", i);
        children.push(thread::spawn(move || {
            println!("this is thread number {}", i);
            thread::sleep(time::Duration::from_millis(2000));
            println!("---------------THREAD DONE!---------- {}", i);
        }));
    }
    println!("SPAWNED THREADS");

    for child in children {
        let _ = child.join();
    }
}

My test project includes a cargo project, makefile and the rusty-loader: rusty-test-sleep.tar.gz.
The binary is build and started with make run. This also sets the correct QEMU options to reproduce the bug.

yeah, I think that this is the reason for issue #78

@tlambertz I think that I solved with #106 the issue. Unfortunately, #78 has another reason.

Yep, I can confirm the issue is fixed.


Allow merge conflicts to be resolved from the CMS UI

Is your feature request related to a problem? Please describe.

Merge conflicts are an inevitability, and cannot be resolved from within the CMS. As we advance into more complex functionality, the problem of merge conflicts will come to the forefront - for example, it should be possible for two edits of the same file to occur. Consider a single data file containing info about all authors. In the future we'll allow multiple files to move through the workflow as a single entity, so you could have two groups of files/changes, both of which add an author to the bottom of the authors file. Whichever changeset is published last will be unmergeable, and will require manual resolution.
This is also required to allow for scenarios where all edits don't take place in Netlify CMS.
Describe the solution you'd like

Provide a UI flow for resolving conflicts. Considerations:

We can't subject editors to an actual rebase of multiple commits over the base commit, so we'll simply compare the base blob to the head blob in the UI and replace all commits in the PR with the resulting commit.
There's a nice lib that can handle the actual diffing.
We would show a single field at a time, with the widget displayed twice side by side - one with the base value (non-editable) and one with the head value (editable).
An option should be provided to just go with one value or the other, as is.
Individual widgets would determine how to display the base and head values. For simple widgets like string, you would probably just show the values with no further treatment. For more complicated or lengthier values, detailed diff data passed into the widget can be used to visualize the specific changes within the value.
The editor should be notified when the target file in the base branch changes and the current changeset is unmergeable.
It should be possible to resolve conflicts at any time once a conflict is known, but it shouldn't be required until publishing is attempted.

Describe alternatives you've considered

Only allow one set of unpublished changes per file - this makes the case described above impossible to achieve, as data files for our purposes are like database tables, and you can't limit an entire table to only have one change in draft status.
Bypass all of this by using collaborative editing so every file only ever has a single state. This is extremely non-trivial, and requires an external service to arbitrate between concurrent editors. Not an option until we have a turnkey solution for that, and even then, it shouldn't be required, so we'd still need the ability to resolve merge conflicts.

Hey, has anyone managed to pick up this task so far?

Hi @mashedkeyboard no one has started working on this so far.
I think would need to start a discussion first on the UI/UX/Design aspects of this feature as it is no a small one.
Relevant to https://github.com/netlify/netlify-cms/issues/2557 as well

@erezrokah Do we support it should be possible for two edits of the same file to occur at the moment? From the code I have seen, there is only a single entryDraft object at a time in the state. Nor have I seen anything in the UI that suggests that there can be two edits at the same time. This will actually be a great feature to have as there are times when a small content fix needs to go out while a long running content edit is going on.

Hi @sidag95, I think by two edits of the same we mean two different CMS users editing the same file at the same time, then hitting save. I believe when that happens the latest save will override the former.

Right, got it. And as I understand, we do not have any plans to allow two different drafts for the same file simultaneously, right? I guess this feature will also depend on figuring out how to allow merge conflict to be resolved from the UI.

Right, got it. And as I understand, we do not have any plans to allow two different drafts for the same file simultaneously, right?

I think having two different drafts for the same file is one way of handling merge conflicts - e.g. the CMS detects a different user has an existing draft, suggests the current user to create a new draft or work on the current one.
Then at some point those will need to be merged like you said.

Yes makes sense, maybe I can give this a shot once I am able to complete my work on the other PR 😅
This feature is really great for teams where multiple users are responsible for different pieces of content in the same file.


FileFilter Do Not Affects In File.browseForOpen(..) Operation

Describe the bug
Output Platform: macOS
Tested On: macOS Monterey
File.browseForOpen(..) ignores provided FileFilter objects during its operation. Targeted file-type remains disabled/non-selectable during a file browsing operation.
To Reproduce
Demo Code:
private function openFile():Void
{
	var pathCheckingFile = new File();
	pathCheckingFile.addEventListener(Event.SELECT, onFileSelectHandler);
        pathCheckingFile.addEventListener(Event.CANCEL, onFileSelectCancelHandler);
        pathCheckingFile.browseForOpen("Open Text File", [new FileFilter("Open", "*.athx")]); // simple text file with different extension
}

Expected behavior
File browsing provide ability to select the file-types those provided in FileFilter objects.
OpenFL Targets
Openfl [git-9.3.0-Dev]

file.browseForOpen("Open", [new FileFilter("File", "ext")]);

Remove the *. from your extension string and it should work as expected. Let me know if you have any further issue with this.

Hey @Dimensionscape , thank you, for a quick response.
I tried by the way you suggested, but I still see targeted file-type is disabled in file-browser:
pathFile.browseForOpen("Open Text File", [new FileFilter("Open", "athx")]);

On a note, the FileFilter API suggests to use * in the documentation.

Hey @Dimensionscape , thank you, for a quick response.
I tried by the way you suggested, but I still see targeted file-type is disabled in file-browser: pathFile.browseForOpen("Open Text File", [new FileFilter("Open", "athx")]);

On a note, the FileFilter API suggests to use *. in the documentation.

You're correct *. should work based on the flash docs but it was omitted in the recent implementation by mistake. I'm fixing that now for the next patch release, however, it should work without it. There may be a lower level bug in our native file dialog lib or an incompatibility with newer versions of the macOS that needs to be looked at since it works for Windows. I'll look into it more.

@:noCompletion private function __getFilterTypes(typeFilter:Array<FileFilter>):String
	{
		var filter:String = null;

		if (typeFilter != null)
		{
			var filters = [];

			for (type in typeFilter)
			{
				filters.push(StringTools.replace(StringTools.replace(type.extension, "*.", ""), ";", ","));
			}

			filter = filters.join(";");
		}
		return filter;
	}

Actually, after further review, I didn't omit this. It should work with or without the asterisk+period. This points to an issue in Lime or the native library behind our file dialog in Lime.

This points to an issue in Lime or the native library behind our file dialog in Lime.

I've determined that, in Lime's FileDialog.cpp, the methods FileDialog::OpenFile, FileDialog::OpenFiles, and FileDialog::SaveFile all assume that the filter contains a single file extension only. The functions from tinyfiledialogs that we're using can actually accept more than one file extension, though.
While my memories of C++ have mostly faded away, I eventually came up with a fix for non-Windows platforms today. I'll try to get it working on Windows soon, and then I can commit the fix to Lime.

Alright, FileFilters should be fixed now. Until we release the next updates, if you want to use the fix, you'll need to use both Lime and OpenFL from Github.


Durable Entities - State Storage Location

Hi,
I'm testing out the new Azure SQL storage provider for Durable Functions, but I can't seem to find a table where the state of my Durable Entities is being persisted?
KR,
Dustyn

You can find entities in the [dt].[Instances] table in your database, just like where you find orchestrations. You'll know it's an entity because the InstanceID value starts with @.
SELECT TOP (10) [TaskHub], [Name], [InstanceID], [CreatedTime], [LastUpdatedTime]
FROM [DurableDB].[dt].[Instances]
WHERE [Name] = 'counter'

Hey @cgillum ,
Thanks very much for your response.
Ah I see now, Instance has an InputPayloadId field which relates to the Payloads table where I can find the current state of the entity in the Text field.

Ah, yes, sorry, I didn't realize it was the state payload you were looking for, otherwise I would have shared a query that included this. Looks like you found it on your own, though. :)


React Compatibiity

How can I use this plugin with React JS? I am already using this with jQuery but need the same with React

import * as iziToast from "izitoast/dist/js/izitoast";

iziToast["success"]({
    timeout: 3000,
    message: "Your changes are saved.",
    position: "bottomRight"
});


Clean up fabric_doc_open_revs tests

Use the TDEF_FE macro to save 2 lines per test.

Reviewer hint: since the diff involves de-indenting one level, the "ignore whitespace" option can help to see just the relevant changes.


Vlc freezes while sync play is running on Mac OS X El Captian.

If Vlc is closed from the menu or the dock, VLC freezes and closes if I force quit it or close syncplay.
I'm not sure if this is just happening on my end. Can someone please confirm?
Also I'm trying to find the problem in lua script.
Etoh suggested me to have a look at this part of the script.
There's two pieces of closing code, one from Syncplay's side and one from VLC's. It is the latter which causes the problem.
The code is at https://github.com/Syncplay/syncplay/blob/master/resources/lua/intf/syncplay.lua and the logic (in Lua) is as follows:
        local quitcheckcounter = 0

        ...

        quitcheckcounter = quitcheckcounter + 1

        if quitcheckcounter > quitcheckfrequency then
            if vlc.volume.get() == -256 then
                running = false
            end
            quitcheckcounter = 0
        end

I'm looking on how I can debug the script so I can find where the problem is happening. I tried commenting the above code and it still freezes, that means the problem is somewhere else.

This bug has annoyed me for years. The problem is that VLC on macOS does not set the volume to -256 when VLC is closed, so the lua script keeps running endlessly. I am desperately trying to find another variable in the (awful) VLC lua documentation that changes its state after VLC has been closed, so far with no luck.

Is there a way to detect it from Syncplay itself by running VLC in verbose logging mode, monitoring STDOUT, and looking for a telltale message like "core debug: exiting"? Unfortunately reading STDOUT from VLC3 doesn't work properly in Windows, but it might work on OS X.

Uhm... It is possible to detect it from STDOUT if VLC is ran with --verbose=2. However, I did not read the code of vlc.py that much to understand how to do that. What method can I use to monitor STDOUT and trigger a variable change in the lua script? A candidate message to monitor could be [syncplay] core interface debug: removing module "lua"

While there are some telltale lines printed out if I run VLC from terminal, if I capture these lines from the stderr.readline loop nothing shows up after quitting VLC. I already added a --verbose=2 flag in constants.py. Any idea?

Sorry I am posting and deleting comments, but I am figuring things out. How can I keep monitoring STDOUT and still let twisted.reactor start?

It stops paying attention to stdout/stderr once it gets confirmation it worked because else it'd just get into an infinite loop and block other stuff. One possibly way forwards is to create a daemon thread just to check and make it run self.__playerController.drop() if it detects if '[syncplay] core interface debug: removing module "lua"' in line. However, I've not tested to see if this is possible.

Oh, and in addition to adding --verbose=2 to the args when it is OSX you might also need to add --no-file-logging and/or --no-quiet to prevent VLC settings to save to a file from being able to steal messages from stdout/stderr.

Understood, but I do not know how to implement all this, I do not know anything about concurrent  threads in python. I will give another look on the __LIstener class tomorrow, but I do not expect to be able to have some code ready soon.

My guess is that if it is possible then it'd look something like this:
constants.py
constants.VLC_SLAVE_OSX_ARGS = VLC_SLAVE_OSX_ARGS = ['--verbose=2','--no-file-logging']
vlc.py
Replace 'if not sys.platform.startswith('darwin'):' before SLAVE_ARGS.extend(constants.VLC_SLAVE_NONOSX_ARGS)' with:
    if not sys.platform.startswith('darwin'):
         SLAVE_ARGS.extend(constants.VLC_SLAVE_NONOSX_ARGS)
    else:

Insert following below 'self._vlcVersion = None' or somewhere more sensible:
            def handle_vlcoutput(out):
                for line in iter(out.readline, b''):
                    if '[syncplay] core interface debug: removing module "lua"' in line:
                        self.__playerController.drop()
                out.close()

Replace 'self.__process.stderr = None' with:
                if not sys.platform.startswith('darwin'):
                    self.__process.stderr = None
                else:
                    vlcoutputthread = threading.Thread(target=handle_vlcoutput, args=(self.__process.stderr,))
                    vlcoutputthread.daemon = True
                    vlcoutputthread.start()

It might also want to break after self.__playerController.drop(), I'm not sure.

This works perfectly. I tested it on macOS 10.11+ on VLC 2.2.6 and 3. I just had to tweak some things a little and I am not entirely sure why. The implementation of the deamon is now:
        def handle_vlcoutput(self):             out = self.__process.stderr             for line in iter(out.readline, ''):                 if '[syncplay] core interface debug: removing module' in line:                     self.__playerController.drop()                     break             out.close()
And its initialization is:
vlcoutputthread = threading.Thread(target = self.handle_vlcoutput, args=())
I am not sure why it did not work with your code. if you think those changes are fine, I can open a PR. I am currently trying to measure the CPU/battery load introduced by this code.

The issue might be due to Unicode/ASCII/UTF-8 stuff which is platform/locale dependent. The important thing to check is that if you close via VLC or Syncplay it actually ends the process rather than just hiding VLC. If it does end the process then feel free to open the PR.

Solved by PR #151.


I want to deposit (top up) a channel with getting parameters

User Story
As Chris, I want to deposit (top up) a channel with getting parameters so that I can continue using a channel if it runs out of funds.
Acceptance criteria
Tasks
Story Points

@christianbrb this is also not possible at the moment.

Closing as we need to check, if it is a valid use case in future